From 06b957142723f81e6c2605ea42b32c10e696dfd9 Mon Sep 17 00:00:00 2001 From: Guillaume Chanson Date: Wed, 2 Nov 2016 10:22:13 +0100 Subject: [PATCH] Add U8glib library to Trampoline --- .../arduino/Makefile_specific.goilTemplate | 2 + goil/templates/config/avr/arduino/config.oil | 130 +- .../avr/arduino/libraries/U8glib/README.md | 30 + .../U8glib/examples/A2Printer/A2Printer.ino | 131 + .../U8glib/examples/Bitmap/Bitmap.ino | 172 + .../libraries/U8glib/examples/Chess/Chess.ino | 221 + .../U8glib/examples/Console/Console.ino | 272 + .../arduino/libraries/U8glib/examples/F/F.ino | 181 + .../libraries/U8glib/examples/FPS/FPS.ino | 404 + .../examples/GraphicsTest/GraphicsTest.ino | 307 + .../U8glib/examples/HelloWorld/HelloWorld.ino | 185 + .../libraries/U8glib/examples/Menu/Menu.ino | 272 + .../U8glib/examples/PrintTest/PrintTest.ino | 160 + .../U8glib/examples/Rotation/Rotation.ino | 194 + .../libraries/U8glib/examples/Scale/Scale.ino | 183 + .../U8glib/examples/TextRotX/TextRotX.ino | 196 + .../examples/Touch4WSetup/Touch4WSetup.ino | 354 + .../examples/Touch4WTest/Touch4WTest.ino | 341 + .../U8glib/examples/U8gLogo/U8gLogo.ino | 237 + .../libraries/U8glib/examples/XBM/XBM.ino | 178 + .../arduino/libraries/U8glib/extras/ChangeLog | 167 + .../libraries/U8glib/extras/INSTALL.TXT | 26 + .../libraries/U8glib/library.properties | 9 + .../avr/arduino/libraries/U8glib/license.txt | 81 + .../arduino/libraries/U8glib/src/U8glib.cpp | 80 + .../avr/arduino/libraries/U8glib/src/U8glib.h | 1305 + .../libraries/U8glib/src/clib/chessengine.c | 2392 + .../arduino/libraries/U8glib/src/clib/u8g.h | 2064 + .../libraries/U8glib/src/clib/u8g_bitmap.c | 177 + .../libraries/U8glib/src/clib/u8g_circle.c | 382 + .../libraries/U8glib/src/clib/u8g_clip.c | 156 + .../libraries/U8glib/src/clib/u8g_com_api.c | 173 + .../U8glib/src/clib/u8g_com_api_16gr.c | 94 + .../clib/u8g_com_arduino_attiny85_hw_spi.c | 160 + .../U8glib/src/clib/u8g_com_arduino_common.c | 75 + .../src/clib/u8g_com_arduino_fast_parallel.c | 254 + .../U8glib/src/clib/u8g_com_arduino_hw_spi.c | 438 + .../src/clib/u8g_com_arduino_hw_usart_spi.c | 159 + .../src/clib/u8g_com_arduino_no_en_parallel.c | 234 + .../src/clib/u8g_com_arduino_parallel.c | 184 + .../src/clib/u8g_com_arduino_port_d_wr.c | 177 + .../U8glib/src/clib/u8g_com_arduino_ssd_i2c.c | 212 + .../src/clib/u8g_com_arduino_st7920_custom.c | 330 + .../src/clib/u8g_com_arduino_st7920_hw_spi.c | 293 + .../src/clib/u8g_com_arduino_st7920_spi.c | 330 + .../src/clib/u8g_com_arduino_std_sw_spi.c | 143 + .../U8glib/src/clib/u8g_com_arduino_sw_spi.c | 301 + .../U8glib/src/clib/u8g_com_arduino_t6963.c | 403 + .../U8glib/src/clib/u8g_com_arduino_uc_i2c.c | 206 + .../U8glib/src/clib/u8g_com_atmega_hw_spi.c | 188 + .../U8glib/src/clib/u8g_com_atmega_parallel.c | 183 + .../src/clib/u8g_com_atmega_st7920_hw_spi.c | 217 + .../src/clib/u8g_com_atmega_st7920_spi.c | 170 + .../U8glib/src/clib/u8g_com_atmega_sw_spi.c | 141 + .../U8glib/src/clib/u8g_com_atxmega_hw_spi.c | 174 + .../src/clib/u8g_com_atxmega_st7920_hw_spi.c | 202 + .../libraries/U8glib/src/clib/u8g_com_i2c.c | 643 + .../libraries/U8glib/src/clib/u8g_com_io.c | 452 + .../U8glib/src/clib/u8g_com_linux_ssd_i2c.c | 168 + .../U8glib/src/clib/u8g_com_msp430_hw_spi.c | 221 + .../libraries/U8glib/src/clib/u8g_com_null.c | 63 + .../src/clib/u8g_com_psoc5_ssd_hw_parallel.c | 107 + .../src/clib/u8g_com_raspberrypi_hw_spi.c | 124 + .../src/clib/u8g_com_raspberrypi_ssd_i2c.c | 176 + .../U8glib/src/clib/u8g_com_std_sw_spi.c | 140 + .../libraries/U8glib/src/clib/u8g_cursor.c | 99 + .../libraries/U8glib/src/clib/u8g_delay.c | 323 + .../src/clib/u8g_dev_a2_micro_printer.c | 199 + .../U8glib/src/clib/u8g_dev_flipdisc_2x7.c | 92 + .../libraries/U8glib/src/clib/u8g_dev_gprof.c | 130 + .../U8glib/src/clib/u8g_dev_ht1632.c | 281 + .../src/clib/u8g_dev_ili9325d_320x240.c | 326 + .../U8glib/src/clib/u8g_dev_ks0108_128x64.c | 110 + .../U8glib/src/clib/u8g_dev_lc7981_160x80.c | 147 + .../U8glib/src/clib/u8g_dev_lc7981_240x128.c | 145 + .../U8glib/src/clib/u8g_dev_lc7981_240x64.c | 145 + .../U8glib/src/clib/u8g_dev_lc7981_320x64.c | 151 + .../U8glib/src/clib/u8g_dev_ld7032_60x32.c | 232 + .../libraries/U8glib/src/clib/u8g_dev_null.c | 67 + .../U8glib/src/clib/u8g_dev_pcd8544_84x48.c | 141 + .../U8glib/src/clib/u8g_dev_pcf8812_96x65.c | 138 + .../U8glib/src/clib/u8g_dev_sbn1661_122x32.c | 107 + .../U8glib/src/clib/u8g_dev_ssd1306_128x32.c | 303 + .../U8glib/src/clib/u8g_dev_ssd1306_128x64.c | 457 + .../U8glib/src/clib/u8g_dev_ssd1306_64x48.c | 201 + .../U8glib/src/clib/u8g_dev_ssd1309_128x64.c | 142 + .../src/clib/u8g_dev_ssd1322_nhd31oled_bw.c | 338 + .../src/clib/u8g_dev_ssd1322_nhd31oled_gr.c | 338 + .../src/clib/u8g_dev_ssd1325_nhd27oled_bw.c | 263 + .../clib/u8g_dev_ssd1325_nhd27oled_bw_new.c | 232 + .../src/clib/u8g_dev_ssd1325_nhd27oled_gr.c | 255 + .../clib/u8g_dev_ssd1325_nhd27oled_gr_new.c | 228 + .../src/clib/u8g_dev_ssd1327_96x96_gr.c | 299 + .../U8glib/src/clib/u8g_dev_ssd1351_128x128.c | 787 + .../U8glib/src/clib/u8g_dev_ssd1353_160x128.c | 425 + .../U8glib/src/clib/u8g_dev_st7565_64128n.c | 203 + .../U8glib/src/clib/u8g_dev_st7565_dogm128.c | 190 + .../U8glib/src/clib/u8g_dev_st7565_dogm132.c | 157 + .../U8glib/src/clib/u8g_dev_st7565_lm6059.c | 205 + .../U8glib/src/clib/u8g_dev_st7565_lm6063.c | 236 + .../src/clib/u8g_dev_st7565_nhd_c12832.c | 145 + .../src/clib/u8g_dev_st7565_nhd_c12864.c | 194 + .../U8glib/src/clib/u8g_dev_st7687_c144mvgd.c | 420 + .../U8glib/src/clib/u8g_dev_st7920_128x64.c | 175 + .../U8glib/src/clib/u8g_dev_st7920_192x32.c | 151 + .../U8glib/src/clib/u8g_dev_st7920_202x32.c | 154 + .../U8glib/src/clib/u8g_dev_t6963_128x128.c | 193 + .../U8glib/src/clib/u8g_dev_t6963_128x64.c | 191 + .../U8glib/src/clib/u8g_dev_t6963_240x128.c | 195 + .../U8glib/src/clib/u8g_dev_t6963_240x64.c | 195 + .../U8glib/src/clib/u8g_dev_tls8204_84x48.c | 115 + .../U8glib/src/clib/u8g_dev_uc1601_c128032.c | 201 + .../U8glib/src/clib/u8g_dev_uc1608_240x128.c | 200 + .../U8glib/src/clib/u8g_dev_uc1608_240x64.c | 168 + .../U8glib/src/clib/u8g_dev_uc1610_dogxl160.c | 290 + .../U8glib/src/clib/u8g_dev_uc1611_dogm240.c | 126 + .../U8glib/src/clib/u8g_dev_uc1611_dogxl240.c | 127 + .../U8glib/src/clib/u8g_dev_uc1701_dogs102.c | 157 + .../src/clib/u8g_dev_uc1701_mini12864.c | 158 + .../libraries/U8glib/src/clib/u8g_ellipse.c | 393 + .../libraries/U8glib/src/clib/u8g_font.c | 1512 + .../libraries/U8glib/src/clib/u8g_font_data.c | 87700 ++++++++++++++++ .../libraries/U8glib/src/clib/u8g_line.c | 90 + .../libraries/U8glib/src/clib/u8g_ll_api.c | 581 + .../libraries/U8glib/src/clib/u8g_page.c | 81 + .../libraries/U8glib/src/clib/u8g_pb.c | 191 + .../libraries/U8glib/src/clib/u8g_pb14v1.c | 200 + .../libraries/U8glib/src/clib/u8g_pb16h1.c | 213 + .../libraries/U8glib/src/clib/u8g_pb16h2.c | 208 + .../libraries/U8glib/src/clib/u8g_pb16v1.c | 200 + .../libraries/U8glib/src/clib/u8g_pb16v2.c | 172 + .../libraries/U8glib/src/clib/u8g_pb32h1.c | 208 + .../libraries/U8glib/src/clib/u8g_pb8h1.c | 389 + .../libraries/U8glib/src/clib/u8g_pb8h1f.c | 194 + .../libraries/U8glib/src/clib/u8g_pb8h2.c | 167 + .../libraries/U8glib/src/clib/u8g_pb8h8.c | 185 + .../libraries/U8glib/src/clib/u8g_pb8v1.c | 184 + .../libraries/U8glib/src/clib/u8g_pb8v2.c | 153 + .../libraries/U8glib/src/clib/u8g_pbxh16.c | 184 + .../libraries/U8glib/src/clib/u8g_pbxh24.c | 287 + .../libraries/U8glib/src/clib/u8g_polygon.c | 334 + .../libraries/U8glib/src/clib/u8g_rect.c | 232 + .../libraries/U8glib/src/clib/u8g_rot.c | 409 + .../libraries/U8glib/src/clib/u8g_scale.c | 188 + .../libraries/U8glib/src/clib/u8g_state.c | 159 + .../libraries/U8glib/src/clib/u8g_u16toa.c | 68 + .../libraries/U8glib/src/clib/u8g_u8toa.c | 68 + .../U8glib/src/clib/u8g_virtual_screen.c | 144 + make/Makefile | 2 +- 149 files changed, 125264 insertions(+), 3 deletions(-) create mode 100644 machines/avr/arduino/libraries/U8glib/README.md create mode 100644 machines/avr/arduino/libraries/U8glib/examples/A2Printer/A2Printer.ino create mode 100644 machines/avr/arduino/libraries/U8glib/examples/Bitmap/Bitmap.ino create mode 100644 machines/avr/arduino/libraries/U8glib/examples/Chess/Chess.ino create mode 100644 machines/avr/arduino/libraries/U8glib/examples/Console/Console.ino create mode 100644 machines/avr/arduino/libraries/U8glib/examples/F/F.ino create mode 100644 machines/avr/arduino/libraries/U8glib/examples/FPS/FPS.ino create mode 100644 machines/avr/arduino/libraries/U8glib/examples/GraphicsTest/GraphicsTest.ino create mode 100644 machines/avr/arduino/libraries/U8glib/examples/HelloWorld/HelloWorld.ino create mode 100644 machines/avr/arduino/libraries/U8glib/examples/Menu/Menu.ino create mode 100644 machines/avr/arduino/libraries/U8glib/examples/PrintTest/PrintTest.ino create mode 100644 machines/avr/arduino/libraries/U8glib/examples/Rotation/Rotation.ino create mode 100644 machines/avr/arduino/libraries/U8glib/examples/Scale/Scale.ino create mode 100644 machines/avr/arduino/libraries/U8glib/examples/TextRotX/TextRotX.ino create mode 100644 machines/avr/arduino/libraries/U8glib/examples/Touch4WSetup/Touch4WSetup.ino create mode 100644 machines/avr/arduino/libraries/U8glib/examples/Touch4WTest/Touch4WTest.ino create mode 100644 machines/avr/arduino/libraries/U8glib/examples/U8gLogo/U8gLogo.ino create mode 100644 machines/avr/arduino/libraries/U8glib/examples/XBM/XBM.ino create mode 100644 machines/avr/arduino/libraries/U8glib/extras/ChangeLog create mode 100644 machines/avr/arduino/libraries/U8glib/extras/INSTALL.TXT create mode 100644 machines/avr/arduino/libraries/U8glib/library.properties create mode 100644 machines/avr/arduino/libraries/U8glib/license.txt create mode 100644 machines/avr/arduino/libraries/U8glib/src/U8glib.cpp create mode 100644 machines/avr/arduino/libraries/U8glib/src/U8glib.h create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/chessengine.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g.h create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_bitmap.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_circle.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_clip.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_api.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_api_16gr.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_attiny85_hw_spi.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_common.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_fast_parallel.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_hw_spi.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_hw_usart_spi.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_no_en_parallel.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_parallel.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_port_d_wr.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_ssd_i2c.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_st7920_custom.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_st7920_hw_spi.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_st7920_spi.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_std_sw_spi.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_sw_spi.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_t6963.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_uc_i2c.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_atmega_hw_spi.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_atmega_parallel.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_atmega_st7920_hw_spi.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_atmega_st7920_spi.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_atmega_sw_spi.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_atxmega_hw_spi.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_atxmega_st7920_hw_spi.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_i2c.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_io.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_linux_ssd_i2c.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_msp430_hw_spi.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_null.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_psoc5_ssd_hw_parallel.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_raspberrypi_hw_spi.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_raspberrypi_ssd_i2c.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_std_sw_spi.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_cursor.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_delay.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_a2_micro_printer.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_flipdisc_2x7.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_gprof.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ht1632.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ili9325d_320x240.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ks0108_128x64.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_lc7981_160x80.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_lc7981_240x128.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_lc7981_240x64.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_lc7981_320x64.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ld7032_60x32.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_null.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_pcd8544_84x48.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_pcf8812_96x65.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_sbn1661_122x32.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ssd1306_128x32.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ssd1306_128x64.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ssd1306_64x48.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ssd1309_128x64.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ssd1322_nhd31oled_bw.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ssd1322_nhd31oled_gr.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ssd1325_nhd27oled_bw.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ssd1325_nhd27oled_bw_new.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ssd1325_nhd27oled_gr.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ssd1325_nhd27oled_gr_new.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ssd1327_96x96_gr.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ssd1351_128x128.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ssd1353_160x128.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_st7565_64128n.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_st7565_dogm128.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_st7565_dogm132.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_st7565_lm6059.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_st7565_lm6063.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_st7565_nhd_c12832.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_st7565_nhd_c12864.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_st7687_c144mvgd.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_st7920_128x64.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_st7920_192x32.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_st7920_202x32.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_t6963_128x128.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_t6963_128x64.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_t6963_240x128.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_t6963_240x64.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_tls8204_84x48.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_uc1601_c128032.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_uc1608_240x128.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_uc1608_240x64.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_uc1610_dogxl160.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_uc1611_dogm240.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_uc1611_dogxl240.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_uc1701_dogs102.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_uc1701_mini12864.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_ellipse.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_font.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_font_data.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_line.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_ll_api.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_page.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_pb.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_pb14v1.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_pb16h1.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_pb16h2.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_pb16v1.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_pb16v2.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_pb32h1.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_pb8h1.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_pb8h1f.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_pb8h2.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_pb8h8.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_pb8v1.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_pb8v2.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_pbxh16.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_pbxh24.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_polygon.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_rect.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_rot.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_scale.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_state.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_u16toa.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_u8toa.c create mode 100644 machines/avr/arduino/libraries/U8glib/src/clib/u8g_virtual_screen.c diff --git a/goil/templates/build/avr/arduino/Makefile_specific.goilTemplate b/goil/templates/build/avr/arduino/Makefile_specific.goilTemplate index 96a5520a0..624d2bcb7 100755 --- a/goil/templates/build/avr/arduino/Makefile_specific.goilTemplate +++ b/goil/templates/build/avr/arduino/Makefile_specific.goilTemplate @@ -55,6 +55,7 @@ EXTRA_PATH += $(ARDUINO_PATH)/hardware/libraries/EEPROM EXTRA_PATH += $(ARDUINO_PATH)/hardware/libraries/SoftwareSerial EXTRA_PATH += $(ARDUINO_PATH)/hardware/libraries/SPI EXTRA_PATH += $(ARDUINO_PATH)/hardware/libraries/Wire +EXTRA_PATH += $(ARDUINO_PATH)/libraries/U8glib/src INCLUDE_PATH += $(addprefix -I,$(EXTRA_PATH)) OPTIM_FLAGS = -Wall -Os -g @@ -82,6 +83,7 @@ SOURCES += USBCore.cpp SOURCES += WMath.cpp SOURCES += WString.cpp SOURCES += wiring_digital.c +SOURCES += wiring_analog.c SOURCES += wiring.c SOURCES += abi.cpp SOURCES += hooks.c diff --git a/goil/templates/config/avr/arduino/config.oil b/goil/templates/config/avr/arduino/config.oil index c356eb71a..1c40ac7ed 100755 --- a/goil/templates/config/avr/arduino/config.oil +++ b/goil/templates/config/avr/arduino/config.oil @@ -3,12 +3,137 @@ CPU avrArduino { PLATFORM_FILES arduinoBase { PATH = "avr/arduino"; CPPFILE = "main.cpp"; + CPPFILE = "libraries/U8glib/src/U8glib.cpp"; + + + CPPFILE = "libraries/U8glib/src/clib/chessengine.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_bitmap.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_circle.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_clip.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_com_api.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_com_api_16gr.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_com_arduino_attiny85_hw_spi.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_com_arduino_common.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_com_arduino_fast_parallel.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_com_arduino_hw_spi.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_com_arduino_hw_usart_spi.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_com_arduino_no_en_parallel.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_com_arduino_parallel.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_com_arduino_port_d_wr.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_com_arduino_ssd_i2c.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_com_arduino_st7920_custom.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_com_arduino_st7920_hw_spi.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_com_arduino_st7920_spi.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_com_arduino_std_sw_spi.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_com_arduino_sw_spi.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_com_arduino_t6963.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_com_arduino_uc_i2c.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_com_atmega_hw_spi.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_com_atmega_parallel.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_com_atmega_st7920_hw_spi.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_com_atmega_st7920_spi.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_com_atmega_sw_spi.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_com_atxmega_hw_spi.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_com_atxmega_st7920_hw_spi.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_com_i2c.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_com_io.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_com_linux_ssd_i2c.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_com_msp430_hw_spi.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_com_null.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_com_psoc5_ssd_hw_parallel.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_com_raspberrypi_hw_spi.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_com_raspberrypi_ssd_i2c.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_com_std_sw_spi.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_cursor.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_delay.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_dev_a2_micro_printer.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_dev_flipdisc_2x7.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_dev_gprof.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_dev_ht1632.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_dev_ili9325d_320x240.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_dev_ks0108_128x64.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_dev_lc7981_160x80.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_dev_lc7981_240x64.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_dev_lc7981_240x128.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_dev_lc7981_320x64.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_dev_ld7032_60x32.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_dev_null.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_dev_pcd8544_84x48.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_dev_pcf8812_96x65.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_dev_sbn1661_122x32.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_dev_ssd1306_64x48.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_dev_ssd1306_128x32.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_dev_ssd1306_128x64.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_dev_ssd1309_128x64.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_dev_ssd1322_nhd31oled_bw.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_dev_ssd1322_nhd31oled_gr.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_dev_ssd1325_nhd27oled_bw.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_dev_ssd1325_nhd27oled_bw_new.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_dev_ssd1325_nhd27oled_gr.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_dev_ssd1325_nhd27oled_gr_new.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_dev_ssd1327_96x96_gr.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_dev_ssd1351_128x128.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_dev_ssd1353_160x128.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_dev_st7565_64128n.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_dev_st7565_dogm128.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_dev_st7565_dogm132.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_dev_st7565_lm6059.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_dev_st7565_lm6063.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_dev_st7565_nhd_c12832.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_dev_st7565_nhd_c12864.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_dev_st7687_c144mvgd.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_dev_st7920_128x64.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_dev_st7920_192x32.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_dev_st7920_202x32.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_dev_t6963_128x64.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_dev_t6963_128x128.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_dev_t6963_240x64.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_dev_t6963_240x128.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_dev_tls8204_84x48.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_dev_uc1601_c128032.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_dev_uc1608_240x64.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_dev_uc1608_240x128.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_dev_uc1610_dogxl160.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_dev_uc1611_dogm240.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_dev_uc1611_dogxl240.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_dev_uc1701_dogs102.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_dev_uc1701_mini12864.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_ellipse.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_font.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_font_data.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_line.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_ll_api.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_page.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_pb.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_pb8h1.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_pb8h1f.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_pb8h2.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_pb8h8.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_pb8v1.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_pb8v2.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_pb14v1.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_pb16h1.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_pb16h2.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_pb16v1.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_pb16v2.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_pb32h1.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_pbxh16.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_pbxh24.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_polygon.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_rect.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_rot.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_scale.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_state.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_u8toa.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_u16toa.c"; + CPPFILE = "libraries/U8glib/src/clib/u8g_virtual_screen.c"; + }; BUILDOPTIONS buildOptionsForArduino { PRELDFLAGS = "-lm"; //math lib requied PREASFLAGS = "-x assembler-with-cpp"; - COMMONFLAGS = "-Wno-unused-but-set-variable"; + COMMONFLAGS = "-fpermissive -w -Wno-unused-but-set-variable -Wno-write-strings -Wno-narrowing"; }; PLATFORM_FILES arduinoBaseSerial { @@ -25,6 +150,7 @@ CPU avrArduino { CPPFILE = "WMath.cpp"; CPPFILE = "WString.cpp"; CFILE = "wiring_digital.c"; + CFILE = "wiring_analog.c"; CFILE = "wiring.c"; CPPFILE = "abi.cpp"; CFILE = "hooks.c"; @@ -66,7 +192,7 @@ IMPLEMENTATION Trampoline { //BOOLEAN TIME = FALSE; //BOOLEAN STANDARDWIRING = FALSE; //BOOLEAN EVOLVEARDUINO = FALSE; - //BOOLEAN LCDCRYSTAL = FALSE; + BOOLEAN LCDCRYSTAL = FALSE; //BOOLEAN STEPPER = FALSE; }, FALSE diff --git a/machines/avr/arduino/libraries/U8glib/README.md b/machines/avr/arduino/libraries/U8glib/README.md new file mode 100644 index 000000000..c624a7fe3 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/README.md @@ -0,0 +1,30 @@ + +# U8glib + +A graphics library with support for many different monochrome displays. + +![nhd_oled180.jpg](https://github.com/olikraus/u8glib/wiki/otherpic/nhd_oled180.jpg) ![dogs102_180.jpg](https://github.com/olikraus/u8glib/wiki/otherpic/dogs102_180.jpg) + +Left: NHD-2.7-12864 OLED (SSD1325), right: EA DOGS102 LCD (UC1701) + + * [Gallery](https://github.com/olikraus/u8glib/wiki/gallery) + * [Bintray](https://bintray.com/olikraus/u8glib) download links: + * [U8glib for Arduino](https://bintray.com/olikraus/u8glib/Arduino) + * [U8glib for AVR](https://bintray.com/olikraus/u8glib/AVR) + * [U8glib for ARM](https://bintray.com/olikraus/u8glib/ARM) + * Converter for BDF fonts: [bdf2u8g_101.exe on google drive](https://drive.google.com/folderview?id=0B5b6Dv0wCeCRLWJkYTh2TUlYVDg&usp=sharing). + * Supported environments: + * [Arduino (ATMEGA and ARM)](http://www.arduino.cc/) + * [AVR (ATMEGA)](https://github.com/olikraus/u8glib/wiki/avr) + * [ARM (with example for LPC1114)](https://github.com/olikraus/u8glib/wiki/lpc1114) + * Library for graphic LCDs and OLEDs + * [U8glib documentation and tutorials](https://github.com/olikraus/u8glib/wiki) + * Graphical user interface library (GUI) available: [M2tklib](http://code.google.com/p/m2tklib/) + * COM interfaces: Software SPI, Hardware SPI, 8Bit parallel + * Large number of [fonts](https://github.com/olikraus/u8glib/wiki/fontsize) + * Monospaced and proportional fonts + * Mouse-Cursor support + * Landscape and portrait mode + * Many supported [devices](https://github.com/olikraus/u8glib/wiki/device) (SSD1325, ST7565, ST7920, UC1608, UC1610, UC1701, PCD8544, PCF8812, KS0108, LC7981, SBN1661, SSD1306, SH1106, T6963, LD7032) + * Well-defined interface to the device subsystem + diff --git a/machines/avr/arduino/libraries/U8glib/examples/A2Printer/A2Printer.ino b/machines/avr/arduino/libraries/U8glib/examples/A2Printer/A2Printer.ino new file mode 100644 index 000000000..b101f9951 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/examples/A2Printer/A2Printer.ino @@ -0,0 +1,131 @@ +/* + + A2Printer.pde + + Special example code for the A2 Mciro Printer (https://www.sparkfun.com/products/10438) + + + Universal 8bit Graphics Library, https://github.com/olikraus/u8glib/ + + Copyright (c) 2013, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +*/ + + +#include "U8glib.h" + +// use this serial interface +#define PRINTER_SERIAL Serial +// #define PRINTER_SERIAL Serial1 + + +uint8_t u8g_com_uart(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) { + switch(msg) { + case U8G_COM_MSG_WRITE_BYTE: + PRINTER_SERIAL.write(arg_val); + break; + } + return 1; +} + +// setup u8g object, please remove comment from one of the following constructor calls + +// half resolution +//U8GLIB u8g(&u8g_dev_a2_micro_printer_192x120_ds, (u8g_com_fnptr)u8g_com_uart); + +// full resolution, requires to uncomment U8G_16BIT in u8g.h +//U8GLIB u8g(&u8g_dev_a2_micro_printer_384x240, (u8g_com_fnptr)u8g_com_uart); + +// half resolution, extra log, requires to uncomment U8G_16BIT in u8g.h +//U8GLIB u8g(&u8g_dev_a2_micro_printer_192x360_ds, (u8g_com_fnptr)u8g_com_uart); +U8GLIB u8g(&u8g_dev_a2_micro_printer_192x720_ds, (u8g_com_fnptr)u8g_com_uart); + + + +void drawLogo(uint8_t d) { + u8g.setFont(u8g_font_gdr25r); + u8g.drawStr(0+d, 30+d, "U"); + u8g.setFont(u8g_font_gdr30n); + u8g.drawStr90(23+d,10+d,"8"); + u8g.setFont(u8g_font_gdr25r); + u8g.drawStr(53+d,30+d,"g"); + + u8g.drawHLine(2+d, 35+d, 47); + u8g.drawVLine(45+d, 32+d, 12); +} + +void drawURL(void) { + u8g.setFont(u8g_font_4x6); + if ( u8g.getHeight() < 59 ) { + u8g.drawStr(53,9,"code.google.com"); + u8g.drawStr(77,18,"/p/u8glib"); + } + else { + u8g.drawStr(1,54,"code.google.com/p/u8glib"); + } +} + +void draw(void) { + // graphic commands to redraw the complete screen should be placed here + + drawLogo(0); + drawURL(); + u8g.drawFrame(0,0,u8g.getWidth(), u8g.getHeight()); + + u8g.setFont(u8g_font_helvR24r); + u8g.setPrintPos(0, 100); + u8g.print(u8g.getWidth(), DEC); + u8g.print("x"); + u8g.print(u8g.getHeight(), DEC); +} + +void setup(void) { + PRINTER_SERIAL.begin(19200); + + // flip screen, if required + // u8g.setRot180(); + + // assign default color value + u8g.setColorIndex(1); // pixel on +} + +void loop(void) { + + // picture loop: This will print the picture + u8g.firstPage(); + do { + draw(); + } while( u8g.nextPage() ); + + // send manual CR to the printer + PRINTER_SERIAL.write('\n'); + + // reprint the picture after 10 seconds + delay(10000); +} + diff --git a/machines/avr/arduino/libraries/U8glib/examples/Bitmap/Bitmap.ino b/machines/avr/arduino/libraries/U8glib/examples/Bitmap/Bitmap.ino new file mode 100644 index 000000000..fbe18ce36 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/examples/Bitmap/Bitmap.ino @@ -0,0 +1,172 @@ +/* + + Bitmap.pde + + Show simple bitmap + + >>> Before compiling: Please remove comment from the constructor of the + >>> connected graphics display (see below). + + Universal 8bit Graphics Library, https://github.com/olikraus/u8glib/ + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +*/ + + +#include "U8glib.h" + +// setup u8g object, please remove comment from one of the following constructor calls +// IMPORTANT NOTE: The following list is incomplete. The complete list of supported +// devices with all constructor calls is here: https://github.com/olikraus/u8glib/wiki/device +//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 +//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI +//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 +//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 +//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16 +//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 +//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 +//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 +//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16 +//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16 +//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED) +//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0); // I2C / TWI +//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST); // Fast I2C / TWI +//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send AC +//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // I2C / TWI +//U8GLIB_SSD1306_64X48 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1306_64X48 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_SSD1306_64X48 u8g(U8G_I2C_OPT_NONE); // I2C / TWI +//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED) +//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE); // I2C / TWI +//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST); // Dev 0, Fast I2C / TWI +//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send ACK +//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_UC1611_DOGM240 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 3, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=3, di/a0=17,rw=16 +//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_UC1611_DOGXL240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_UC1611_DOGXL240 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 3, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=3, di/a0=17,rw=16 +//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8); // SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8 (SW SPI Nano Board) +//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_HT1632_24X16 u8g(3, 2, 4); // WR = 3, DATA = 2, CS = 4 +//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) +//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) + +const uint8_t rook_bitmap[] PROGMEM = { + 0x00, // 00000000 + 0x55, // 01010101 + 0x7f, // 01111111 + 0x3e, // 00111110 + 0x3e, // 00111110 + 0x3e, // 00111110 + 0x3e, // 00111110 + 0x7f // 01111111 +}; + +void draw(void) { + // graphic commands to redraw the complete screen should be placed here + u8g.drawBitmapP( 0, 0, 1, 8, rook_bitmap); +} + +void setup(void) { +} + +void loop(void) { + // picture loop + u8g.firstPage(); + do { + draw(); + } while( u8g.nextPage() ); + + // rebuild the picture after some delay + delay(1000); +} + diff --git a/machines/avr/arduino/libraries/U8glib/examples/Chess/Chess.ino b/machines/avr/arduino/libraries/U8glib/examples/Chess/Chess.ino new file mode 100644 index 000000000..bb6ab9543 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/examples/Chess/Chess.ino @@ -0,0 +1,221 @@ +/* + + Chess.pde + + Little Rook Chess + + >>> Before compiling: Please remove comment from the constructor of the + >>> connected graphics display (see below). + + Universal 8bit Graphics Library, https://github.com/olikraus/u8glib/ + + Copyright (c) 2012, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +*/ + + +#include "U8glib.h" + +// setup u8g object, please remove comment from one of the following constructor calls +// IMPORTANT NOTE: The following list is incomplete. The complete list of supported +// devices with all constructor calls is here: https://github.com/olikraus/u8glib/wiki/device +//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 +//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI +//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 +//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 +//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16 +//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 +//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 +//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 +//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16 +//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16 +//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED) +//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0); // I2C / TWI +//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST); // Fast I2C / TWI +//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send AC +//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // I2C / TWI +//U8GLIB_SSD1306_64X48 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1306_64X48 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_SSD1306_64X48 u8g(U8G_I2C_OPT_NONE); // I2C / TWI +//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED) +//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE); // I2C / TWI +//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST); // Dev 0, Fast I2C / TWI +//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send ACK +//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_UC1611_DOGM240 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 3, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=3, di/a0=17,rw=16 +//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_UC1611_DOGXL240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_UC1611_DOGXL240 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 3, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=3, di/a0=17,rw=16 +//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8); // SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8 (SW SPI Nano Board) +//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_HT1632_24X16 u8g(3, 2, 4); // WR = 3, DATA = 2, CS = 4 +//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) +//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) + + +// DOGS102 shield configuration values +// uint8_t uiKeyPrev = 2; +// uint8_t uiKeyNext = 4; +// uint8_t uiKeySelect = 5; +// uint8_t uiKeyBack = 3; + +// DOGM128-Shield configuration values +// DOGXL60-Shield configuration values +uint8_t uiKeyPrev = 7; +uint8_t uiKeyNext = 3; +uint8_t uiKeySelect = 2; +uint8_t uiKeyBack = 8; + +uint8_t uiKeyCodeFirst = CHESS_KEY_NONE; +uint8_t uiKeyCodeSecond = CHESS_KEY_NONE; +uint8_t uiKeyCode = CHESS_KEY_NONE; + + +void uiSetup(void) { + // configure input keys +#if defined(ARDUINO) + pinMode(uiKeyPrev, INPUT_PULLUP); // set pin to input + pinMode(uiKeyNext, INPUT_PULLUP); // set pin to input + pinMode(uiKeySelect, INPUT_PULLUP); // set pin to input + pinMode(uiKeyBack, INPUT_PULLUP); // set pin to input +#endif +} + +void uiStep(void) +{ + uiKeyCodeSecond = uiKeyCodeFirst; +#if defined(ARDUINO) + if ( digitalRead(uiKeyPrev) == LOW ) + uiKeyCodeFirst = CHESS_KEY_PREV; + else if ( digitalRead(uiKeyNext) == LOW ) + uiKeyCodeFirst = CHESS_KEY_NEXT; + else if ( digitalRead(uiKeySelect) == LOW ) + uiKeyCodeFirst = CHESS_KEY_SELECT; + else if ( digitalRead(uiKeyBack) == LOW ) + uiKeyCodeFirst = CHESS_KEY_BACK; + else +#endif + uiKeyCodeFirst = CHESS_KEY_NONE; + + if ( uiKeyCodeSecond == uiKeyCodeFirst ) + uiKeyCode = uiKeyCodeFirst; + else + uiKeyCode = CHESS_KEY_NONE; +} + + +void setup() { + // rotate screen, if required + u8g.setRot180(); + + uiSetup(); + chess_Init(u8g.getU8g(), 0); +} + +void loop() { + uint8_t keyCode = CHESS_KEY_NONE; + + u8g.firstPage(); + do { + chess_Draw(); + uiStep(); + if ( uiKeyCode != CHESS_KEY_NONE ) + keyCode = uiKeyCode; + } while( u8g.nextPage() ); + + u8g_Delay(10); + chess_Step(keyCode); + uiStep(); + keyCode = uiKeyCode; +} + + diff --git a/machines/avr/arduino/libraries/U8glib/examples/Console/Console.ino b/machines/avr/arduino/libraries/U8glib/examples/Console/Console.ino new file mode 100644 index 000000000..b04274b34 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/examples/Console/Console.ino @@ -0,0 +1,272 @@ +/* + + Console.pde + + Read from serial monitor, output to display + + >>> Before compiling: Please remove comment from the constructor of the + >>> connected graphics display (see below). + + Universal 8bit Graphics Library, https://github.com/olikraus/u8glib/ + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +*/ + + +#include "U8glib.h" + +// setup u8g object, please remove comment from one of the following constructor calls +// IMPORTANT NOTE: The following list is incomplete. The complete list of supported +// devices with all constructor calls is here: https://github.com/olikraus/u8glib/wiki/device +//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 +//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI +//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 +//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 +//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16 +//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 +//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 +//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 +//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16 +//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16 +//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED) +//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0); // I2C / TWI +//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST); // Fast I2C / TWI +//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send AC +//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // I2C / TWI +//U8GLIB_SSD1306_64X48 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1306_64X48 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_SSD1306_64X48 u8g(U8G_I2C_OPT_NONE); // I2C / TWI +//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED) +//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE); // I2C / TWI +//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST); // Dev 0, Fast I2C / TWI +//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send ACK +//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_UC1611_DOGM240 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 3, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=3, di/a0=17,rw=16 +//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_UC1611_DOGXL240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_UC1611_DOGXL240 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 3, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=3, di/a0=17,rw=16 +//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8); // SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8 (SW SPI Nano Board) +//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_HT1632_24X16 u8g(3, 2, 4); // WR = 3, DATA = 2, CS = 4 +//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) +//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) + + +// setup input buffer +#define LINE_MAX 30 +uint8_t line_buf[LINE_MAX] = "U8GLIB Console"; +uint8_t line_pos = 0; + +// setup a text screen to support scrolling +#define ROW_MAX 12 + + +uint8_t screen[ROW_MAX][LINE_MAX]; +uint8_t rows, cols; + +// line height, which matches the selected font (5x7) +#define LINE_PIXEL_HEIGHT 7 + +// clear entire screen, called during setup +void clear_screen(void) { + uint8_t i, j; + for( i = 0; i < ROW_MAX; i++ ) + for( j = 0; j < LINE_MAX; j++ ) + screen[i][j] = 0; +} + +// append a line to the screen, scroll up +void add_line_to_screen(void) { + uint8_t i, j; + for( j = 0; j < LINE_MAX; j++ ) + for( i = 0; i < rows-1; i++ ) + screen[i][j] = screen[i+1][j]; + + for( j = 0; j < LINE_MAX; j++ ) + screen[rows-1][j] = line_buf[j]; +} + +// U8GLIB draw procedure: output the screen +void draw(void) { + uint8_t i, y; + // graphic commands to redraw the complete screen are placed here + y = 0; // reference is the top left -1 position of the string + y--; // correct the -1 position of the drawStr + for( i = 0; i < rows; i++ ) + { + u8g.drawStr( 0, y, (char *)(screen[i])); + y += u8g.getFontLineSpacing(); + } +} + +void exec_line(void) { + // echo line to the serial monitor + Serial.println((const char *)line_buf); + + // add the line to the screen + add_line_to_screen(); + + // U8GLIB picture loop + u8g.firstPage(); + do { + draw(); + } while( u8g.nextPage() ); +} + +// clear current input buffer +void reset_line(void) { + line_pos = 0; + line_buf[line_pos] = '\0'; +} + +// add a single character to the input buffer +void char_to_line(uint8_t c) { + line_buf[line_pos] = c; + line_pos++; + line_buf[line_pos] = '\0'; +} + +// check serial in and handle the character +void read_line(void) { + if ( Serial.available() ) + { + uint8_t c; + c = Serial.read(); + if ( line_pos >= cols-1 ) { + exec_line(); + reset_line(); + char_to_line(c); + } + else if ( c == '\n' ) { + // ignore '\n' + } + else if ( c == '\r' ) { + exec_line(); + reset_line(); + } + else { + char_to_line(c); + } + } +} + +// Arduino master setup +void setup(void) { + // set font for the console window + u8g.setFont(u8g_font_5x7); + //u8g.setFont(u8g_font_9x15); + + // set upper left position for the string draw procedure + u8g.setFontPosTop(); + + // calculate the number of rows for the display + rows = u8g.getHeight() / u8g.getFontLineSpacing(); + if ( rows > ROW_MAX ) + rows = ROW_MAX; + + // estimate the number of columns for the display + cols = u8g.getWidth() / u8g.getStrWidth("m"); + if ( cols > LINE_MAX-1 ) + cols = LINE_MAX-1; + + clear_screen(); // clear screen + delay(1000); // do some delay + Serial.begin(9600); // init serial + exec_line(); // place the input buffer into the screen + reset_line(); // clear input buffer +} + +// Arduino main loop +void loop(void) { + read_line(); +} + diff --git a/machines/avr/arduino/libraries/U8glib/examples/F/F.ino b/machines/avr/arduino/libraries/U8glib/examples/F/F.ino new file mode 100644 index 000000000..d631dbacc --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/examples/F/F.ino @@ -0,0 +1,181 @@ +/* + + F.pde + + Example code for the F() macro. + + >>> This example requires Arduino 1.0 and above. + + >>> Before compiling: Please remove comment from the constructor of the + >>> connected graphics display (see below). + + Universal 8bit Graphics Library, https://github.com/olikraus/u8glib/ + + Copyright (c) 2012, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +*/ + + +#include "U8glib.h" + +// setup u8g object, please remove comment from one of the following constructor calls +// IMPORTANT NOTE: The following list is incomplete. The complete list of supported +// devices with all constructor calls is here: https://github.com/olikraus/u8glib/wiki/device +//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 +//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI +//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 +//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 +//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16 +//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 +//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 +//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 +//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16 +//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16 +//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED) +//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0); // I2C / TWI +//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST); // Fast I2C / TWI +//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send AC +//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // I2C / TWI +//U8GLIB_SSD1306_64X48 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1306_64X48 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_SSD1306_64X48 u8g(U8G_I2C_OPT_NONE); // I2C / TWI +//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED) +//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE); // I2C / TWI +//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST); // Dev 0, Fast I2C / TWI +//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send ACK +//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_UC1611_DOGM240 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 3, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=3, di/a0=17,rw=16 +//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_UC1611_DOGXL240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_UC1611_DOGXL240 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 3, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=3, di/a0=17,rw=16 +//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8); // SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8 (SW SPI Nano Board) +//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_HT1632_24X16 u8g(3, 2, 4); // WR = 3, DATA = 2, CS = 4 +//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) +//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) + +void draw(void) { + // graphic commands to redraw the complete screen should be placed here + + // assign default font + u8g.setFont(u8g_font_unifont); + + // pointer to strings in flash memory can be stored in a special type + const __FlashStringHelper *flash_ptr; + + // the result of the F() macro can be assigned to this pointer + flash_ptr = F("Hello World!"); + + // this pointer can be used as argument to the draw procedures + u8g.drawStr( 0+1, 20+1, flash_ptr); + u8g.drawStr( 0, 20, flash_ptr); + + // of course, the F() macro can be used directly + u8g.drawStr( 0, 40, F("PROGMEM")); + +} + +void setup(void) { + // flip screen, if required + // u8g.setRot180(); +} + +void loop(void) { + // picture loop + u8g.firstPage(); + do { + draw(); + } while( u8g.nextPage() ); + + // rebuild the picture after some delay + delay(500); +} + diff --git a/machines/avr/arduino/libraries/U8glib/examples/FPS/FPS.ino b/machines/avr/arduino/libraries/U8glib/examples/FPS/FPS.ino new file mode 100644 index 000000000..89339a622 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/examples/FPS/FPS.ino @@ -0,0 +1,404 @@ +/* + + FPS.pde + + >>> Before compiling: Please remove comment from the constructor of the + >>> connected graphics display (see below). + + Universal 8bit Graphics Library, https://github.com/olikraus/u8glib/ + + Copyright (c) 2012, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + ST7920_192X32, SPI: FPS: Box=7.6 @=9.8 iFPS: Box=11.4 @=14.7 + ST7920_192X32, 8Bit: FPS: Box=6.2 @=7.5 iFPS: Box=9.3 @=11.2 + DOGM128 SW SPI: FPS: Box=5.1 @=5.9 Pix=2.6 iFPS: Box=10.2 @=11.8 Pix=5.2 + DOGM128 HW SPI: FPS: Box=5.5 @=6.3 iFPS: Box=11.0 @=12.6 + DOGXL160 SW SPI: FPS: Box=1.7 @=1.9 iFPS: Box=6.9 @=7.7 + DOGXL160 HW SPI: FPS: Box=1.8 @=2.1 + + NHD27OLED_BW, SW SPI: FPS: Box=3.0 @=3.7 + NHD27OLED_BW, HW SPI: FPS: Box=3.5 @=4.5 + NHD27OLED_2X_BW, SW SPI: FPS: Box=3.8 @=4.9 + NHD27OLED_2X_BW, HW SPI: FPS: Box=4.6 @=6.4 + + 30 Sep 2012 + NHD27OLED_BW, SW SPI: FPS: Clip=9.2 Box=3.9 @=4.4 NEW_CODE + NHD27OLED_BW, SW SPI: FPS: Clip=9.2 Box=3.6 @=4.5 + NHD27OLED_BW, HW SPI: FPS: Clip=16.3 Box=4.7 @=5.6 + NHD27OLED_2X_BW, SW SPI: FPS: Clip=9.7 Box=4.5 @=5.8 + NHD27OLED_2X_BW, SW SPI: FPS: Clip=18.0 Box=5.8 @=7.9 + + 1 Oct 2012 + ST7920_192X32, 8Bit: FPS: Box=7.2 @=10.0 + DOGM128 SW SPI: FPS: Box=5.2 @=6.6 Pix=2.6 + DOGM128 HW SPI: FPS: Clip=33.2 Box=5.5 @=7.1 + DOGXL160 SW SPI: FPS: Box=1.7 @=2.0 + DOGXL160 HW SPI: FPS: Box=1.8 @=2.2 + + DOGXL160 GR SW SPI: FPS: Box=1.1 @=1.3 + + 1 Mar 2013 + ST7920_192X32_1X, SPI: FPS: Clip=10.3 Box=5.5 @=7.2 Pix=3.9 + ST7920_192X32_4X, SPI: FPS: Clip=10.9 Box=6.7 @=8.8 Pix=7.4 + ST7920_192X32_1X, 8Bit: FPS: Clip=14.2 Box=6.1 @=8.4 Pix=4.2 + ST7920_192X32_4X, 8Bit: FPS: Clip=14.2 Box=7.8 @=10.7 Pix=8.7 + ST7920_192X32_1X, HW SPI: FPS: Clip=14.2 Box=6.3 @=8.7 Pix=4.3 + ST7920_192X32_4X, HW SPI: FPS: Clip=15.3 Box=8.0 @=11.2 Pix=9.0 + + 2 Jun 2013 + U8GLIB_DOGM128 SW SPI: FPS: Clip=23.9 Box=4.5 @=6.6 Pix=2.1 + U8GLIB_DOGM128_2X SW SPI: FPS: Clip=28.5 Box=6.6 @=9.7 Pix=3.9 + U8GLIB_DOGM128_2X HW SPI: FPS: Clip=40.8 Box=7.1 @=10.8 Pix=4.1 + + 3 Jun 2013 + U8GLIB_ST7920_192X32_1X -Os SW SPI FPS: Clip=11.0 Box=5.4 @=7.1 Pix=3.9 Size=11828 + U8GLIB_ST7920_192X32_1X -O3 SW SPI FPS: Clip=10.9 Box=5.6 @=7.5 Pix=4.0 Size=13800 + U8GLIB_ST7920_192X32_1X -Os SW SPI FPS: Clip=16.8 Box=6.7 @=9.6 Pix=4.5 Size=11858 (new seq data output) + U8GLIB_ST7920_192X32_1X -Os HW SPI FPS: Clip=25.7 Box=7.5 @=11.3 Pix=4.8 (new seq data output) + + 6 Jun 2013 + U8GLIB_DOGS102 u8g(13, 11, 10, 9); STD SW SPI FPS: Clip=9.5 Box=7.6 @=8.2 Pix=6.2 Size=15652 + U8GLIB_DOGS102 u8g(13, 11, 10, 9); SW SPI FPS: Clip=19.1 Box=12.8 @=14.0 Pix=9.2 Size=15532 + + + 12 Jun 2013 + SSD1351_128X128_332 SW SPI Clip=1.3 Box=0.7 @=0.9 Pix=0.4 + SSD1351_128X128_332 HW SPI Clip=3.6 Box=1.1 @=1.5 Pix=0.5 + + 24 Jun 2013 + Uno SSD1351_128X128_332 SW SPI Clip=1.4 Box=0.8 @=0.9 Pix=0.4 + + Uno SSD1351_128X128_332 HW SPI Clip=4.4 Box=1.2 @=1.6 Pix=0.5 + Uno SSD1351_128X128_HICOLOR HW SPI Clip=3.7 Box=0.8 @=1.0 Pix=0.3 + + Mega2560 SSD1351_128X128_332 HW SPI Clip=4.4 Box=1.2 @=1.6 Pix=0.5 + Mega2560 SSD1351_128X128_4X_332 HW SPI Clip=4.6 Box=2.3 @=2.8 Pix=1.5 + Mega2560 SSD1351_128X128_HICOLOR HW SPI Clip=3.6 Box=0.8 @=1.0 Pix=0.3 + Mega2560 SSD1351_128X128_4X_HICOLOR HW SPI Clip=4.2 Box=1.7 @=2.1 Pix=1.0 + + Due SSD1351_128X128_332 HW SPI Clip=24.6 Box=6.3 @=7.8 Pix=2.8 + Due SSD1351_128X128_4X_332 HW SPI Clip=28.1 Box=13.0 @=15.1 Pix=8.5 + Due SSD1351_128X128_HICOLOR HW SPI Clip=20.8 Box=3.4 @=4.5 Pix=1.4 + Due SSD1351_128X128_4X_HICOLOR HW SPI Clip=26.3 Box=8.9 @=11.1 Pix=4.8 + + Due SSD1351_128X128_4X_HICOLOR SW SPI Clip=0.4 Box=0.4 @=0.4 Pix=0.4 + + Due DOGS102 u8g(13, 11, 10, 9); SW SPI FPS: Clip=19.1 Box=13.1 @=14.3 Pix=9.4 + Due DOGS102 u8g(10, 9); HW SPI FPS: Clip=128.9 Box=30.7 @=40.6 Pix=15.4 + + Due NHD27OLED_BW u8g(10, 9) HW SPI FPS: Clip=53.0 Box=19.6 @=23.8 Pix=10.6 + Due NHD27OLED_2X_BW u8g(10, 9) HW SPI FPS: Clip=57.0 Box=25.3 @=31.7 Pix=18.1 + Due NHD27OLED_GR u8g(10, 9) HW SPI FPS: Clip=34.1 Box=11.7 @=13.7 Pix=5.6 + Due NHD27OLED_2X_GR u8g(10, 9) HW SPI FPS: Clip=38.1 Box=15.5 @=20.0 Pix=8.8 + +*/ + + +#include "U8glib.h" + +// setup u8g object, please remove comment from one of the following constructor calls +// IMPORTANT NOTE: The following list is incomplete. The complete list of supported +// devices with all constructor calls is here: https://github.com/olikraus/u8glib/wiki/device +//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 +//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI +//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 +//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 +//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16 +//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 +//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 +//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 +//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16 +//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16 +//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED) +//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0); // I2C / TWI +//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST); // Fast I2C / TWI +//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send AC +//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // I2C / TWI +//U8GLIB_SSD1306_64X48 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1306_64X48 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_SSD1306_64X48 u8g(U8G_I2C_OPT_NONE); // I2C / TWI +//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED) +//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE); // I2C / TWI +//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST); // Dev 0, Fast I2C / TWI +//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send ACK +//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_UC1611_DOGM240 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 3, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=3, di/a0=17,rw=16 +//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_UC1611_DOGXL240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_UC1611_DOGXL240 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 3, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=3, di/a0=17,rw=16 +//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8); // SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8 (SW SPI Nano Board) +//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_HT1632_24X16 u8g(3, 2, 4); // WR = 3, DATA = 2, CS = 4 +//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) +//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) + +#define SECONDS 10 +uint8_t flip_color = 0; +uint8_t draw_color = 1; + +void draw_set_screen(void) { + // graphic commands to redraw the complete screen should be placed here + if ( u8g.getMode() == U8G_MODE_HICOLOR ) { + if ( flip_color == 0 ) + u8g.setHiColorByRGB(0,0,0); + else + u8g.setHiColorByRGB(255,255,255); + } + else { + u8g.setColorIndex(flip_color); + } + u8g.drawBox( 0, 0, u8g.getWidth(), u8g.getHeight() ); +} + +void draw_clip_test(void) { + u8g_uint_t i, j, k; + char buf[3] = "AB"; + k = 0; + if ( u8g.getMode() == U8G_MODE_HICOLOR ) { + u8g.setHiColorByRGB(255,255,255); + } + else { + u8g.setColorIndex(draw_color); + } + u8g.setFont(u8g_font_6x10); + + for( i = 0; i < 6; i++ ) { + for( j = 1; j < 8; j++ ) { + u8g.drawHLine(i-3, k, j); + u8g.drawHLine(i-3+10, k, j); + + u8g.drawVLine(k+20, i-3, j); + u8g.drawVLine(k+20, i-3+10, j); + + k++; + } + } + u8g.drawStr(0-3, 50, buf); + u8g.drawStr180(0+3, 50, buf); + + u8g.drawStr(u8g.getWidth()-3, 40, buf); + u8g.drawStr180(u8g.getWidth()+3, 40, buf); + + u8g.drawStr90(u8g.getWidth()-10, 0-3, buf); + u8g.drawStr270(u8g.getWidth()-10, 3, buf); + + u8g.drawStr90(u8g.getWidth()-20, u8g.getHeight()-3, buf); + u8g.drawStr270(u8g.getWidth()-20, u8g.getHeight()+3, buf); + +} + +void draw_char(void) { + char buf[2] = "@"; + u8g_uint_t i, j; + // graphic commands to redraw the complete screen should be placed here + if ( u8g.getMode() == U8G_MODE_HICOLOR ) { + u8g.setHiColorByRGB(255,255,255); + } + else { + u8g.setColorIndex(draw_color); + } + u8g.setFont(u8g_font_6x10); + j = 8; + for(;;) { + i = 0; + for(;;) { + u8g.drawStr( i, j, buf); + i += 8; + if ( i > u8g.getWidth() ) + break; + } + j += 8; + if ( j > u8g.getHeight() ) + break; + } + +} + +void draw_pixel(void) { + u8g_uint_t x, y, w2, h2; + if ( u8g.getMode() == U8G_MODE_HICOLOR ) { + u8g.setHiColorByRGB(255,255,255); + } + else { + u8g.setColorIndex(draw_color); + } + w2 = u8g.getWidth(); + h2 = u8g.getHeight(); + w2 /= 2; + h2 /= 2; + for( y = 0; y < h2; y++ ) { + for( x = 0; x < w2; x++ ) { + if ( (x + y) & 1 ) { + u8g.drawPixel(x,y); + u8g.drawPixel(x,y+h2); + u8g.drawPixel(x+w2,y); + u8g.drawPixel(x+w2,y+h2); + } + } + } +} + +// returns unadjusted FPS +uint16_t picture_loop_with_fps(void (*draw_fn)(void)) { + uint16_t FPS10 = 0; + uint32_t time; + + time = millis() + SECONDS*1000; + + // picture loop + do { + u8g.firstPage(); + do { + draw_fn(); + } while( u8g.nextPage() ); + FPS10++; + flip_color = flip_color ^ 1; + } while( millis() < time ); + return FPS10; +} + +const char *convert_FPS(uint16_t fps) { + static char buf[6]; + strcpy(buf, u8g_u8toa( (uint8_t)(fps/10), 3)); + buf[3] = '.'; + buf[4] = (fps % 10) + '0'; + buf[5] = '\0'; + return buf; +} + +void show_result(const char *s, uint16_t fps) { + // assign default color value + if ( u8g.getMode() == U8G_MODE_HICOLOR ) { + u8g.setHiColorByRGB(255,255,255); + } + else { + u8g.setColorIndex(draw_color); + } + u8g.setFont(u8g_font_8x13B); + u8g.firstPage(); + do { + u8g.drawStr(0,12, s); + u8g.drawStr(0,24, convert_FPS(fps)); + } while( u8g.nextPage() ); +} + +void setup(void) { + // flip screen, if required + // u8g.setRot180(); + + // assign default color value + if ( u8g.getMode() == U8G_MODE_R3G3B2 ) + draw_color = 255; // white + else if ( u8g.getMode() == U8G_MODE_GRAY2BIT ) + draw_color = 3; // max intensity + else if ( u8g.getMode() == U8G_MODE_BW ) + draw_color = 1; // pixel on + else if ( u8g.getMode() == U8G_MODE_HICOLOR ) { + u8g.setHiColorByRGB(255,255,255); + } +} + +void loop(void) { + uint16_t fps; + fps = picture_loop_with_fps(draw_clip_test); + show_result("draw clip test", fps); + delay(5000); + fps = picture_loop_with_fps(draw_set_screen); + show_result("clear screen", fps); + delay(5000); + fps = picture_loop_with_fps(draw_char); + show_result("draw @", fps); + delay(5000); + fps = picture_loop_with_fps(draw_pixel); + show_result("draw pixel", fps); + delay(5000); +} + diff --git a/machines/avr/arduino/libraries/U8glib/examples/GraphicsTest/GraphicsTest.ino b/machines/avr/arduino/libraries/U8glib/examples/GraphicsTest/GraphicsTest.ino new file mode 100644 index 000000000..c25763b65 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/examples/GraphicsTest/GraphicsTest.ino @@ -0,0 +1,307 @@ +/* + + GraphicsTest.pde + + >>> Before compiling: Please remove comment from the constructor of the + >>> connected graphics display (see below). + + Universal 8bit Graphics Library, https://github.com/olikraus/u8glib/ + + Copyright (c) 2012, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +*/ + + +#include "U8glib.h" + +// setup u8g object, please remove comment from one of the following constructor calls +// IMPORTANT NOTE: The following list is incomplete. The complete list of supported +// devices with all constructor calls is here: https://github.com/olikraus/u8glib/wiki/device +//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 +//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI +//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 +//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 +//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16 +//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 +//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 +//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 +//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16 +//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16 +//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED) +//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0); // I2C / TWI +//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST); // Fast I2C / TWI +//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send AC +//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // I2C / TWI +//U8GLIB_SSD1306_64X48 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1306_64X48 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_SSD1306_64X48 u8g(U8G_I2C_OPT_NONE); // I2C / TWI +//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED) +//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE); // I2C / TWI +//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST); // Dev 0, Fast I2C / TWI +//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send ACK +//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_UC1611_DOGM240 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 3, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=3, di/a0=17,rw=16 +//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_UC1611_DOGXL240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_UC1611_DOGXL240 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 3, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=3, di/a0=17,rw=16 +//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8); // SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8 (SW SPI Nano Board) +//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_HT1632_24X16 u8g(3, 2, 4); // WR = 3, DATA = 2, CS = 4 +//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) +//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) + +void u8g_prepare(void) { + u8g.setFont(u8g_font_6x10); + u8g.setFontRefHeightExtendedText(); + u8g.setDefaultForegroundColor(); + u8g.setFontPosTop(); +} + +void u8g_box_frame(uint8_t a) { + u8g.drawStr( 0, 0, "drawBox"); + u8g.drawBox(5,10,20,10); + u8g.drawBox(10+a,15,30,7); + u8g.drawStr( 0, 30, "drawFrame"); + u8g.drawFrame(5,10+30,20,10); + u8g.drawFrame(10+a,15+30,30,7); +} + +void u8g_disc_circle(uint8_t a) { + u8g.drawStr( 0, 0, "drawDisc"); + u8g.drawDisc(10,18,9); + u8g.drawDisc(24+a,16,7); + u8g.drawStr( 0, 30, "drawCircle"); + u8g.drawCircle(10,18+30,9); + u8g.drawCircle(24+a,16+30,7); +} + +void u8g_r_frame(uint8_t a) { + u8g.drawStr( 0, 0, "drawRFrame/Box"); + u8g.drawRFrame(5, 10,40,30, a+1); + u8g.drawRBox(50, 10,25,40, a+1); +} + +void u8g_string(uint8_t a) { + u8g.drawStr(30+a,31, " 0"); + u8g.drawStr90(30,31+a, " 90"); + u8g.drawStr180(30-a,31, " 180"); + u8g.drawStr270(30,31-a, " 270"); +} + +void u8g_line(uint8_t a) { + u8g.drawStr( 0, 0, "drawLine"); + u8g.drawLine(7+a, 10, 40, 55); + u8g.drawLine(7+a*2, 10, 60, 55); + u8g.drawLine(7+a*3, 10, 80, 55); + u8g.drawLine(7+a*4, 10, 100, 55); +} + +void u8g_triangle(uint8_t a) { + uint16_t offset = a; + u8g.drawStr( 0, 0, "drawTriangle"); + u8g.drawTriangle(14,7, 45,30, 10,40); + u8g.drawTriangle(14+offset,7-offset, 45+offset,30-offset, 57+offset,10-offset); + u8g.drawTriangle(57+offset*2,10, 45+offset*2,30, 86+offset*2,53); + u8g.drawTriangle(10+offset,40+offset, 45+offset,30+offset, 86+offset,53+offset); +} + +void u8g_ascii_1() { + char s[2] = " "; + uint8_t x, y; + u8g.drawStr( 0, 0, "ASCII page 1"); + for( y = 0; y < 6; y++ ) { + for( x = 0; x < 16; x++ ) { + s[0] = y*16 + x + 32; + u8g.drawStr(x*7, y*10+10, s); + } + } +} + +void u8g_ascii_2() { + char s[2] = " "; + uint8_t x, y; + u8g.drawStr( 0, 0, "ASCII page 2"); + for( y = 0; y < 6; y++ ) { + for( x = 0; x < 16; x++ ) { + s[0] = y*16 + x + 160; + u8g.drawStr(x*7, y*10+10, s); + } + } +} + +void u8g_extra_page(uint8_t a) +{ + if ( u8g.getMode() == U8G_MODE_HICOLOR || u8g.getMode() == U8G_MODE_R3G3B2) { + /* draw background (area is 128x128) */ + u8g_uint_t r, g, b; + b = a << 5; + for( g = 0; g < 64; g++ ) + { + for( r = 0; r < 64; r++ ) + { + u8g.setRGB(r<<2, g<<2, b ); + u8g.drawPixel(g, r); + } + } + u8g.setRGB(255,255,255); + u8g.drawStr( 66, 0, "Color Page"); + } + else if ( u8g.getMode() == U8G_MODE_GRAY2BIT ) + { + u8g.drawStr( 66, 0, "Gray Level"); + u8g.setColorIndex(1); + u8g.drawBox(0, 4, 64, 32); + u8g.drawBox(70, 20, 4, 12); + u8g.setColorIndex(2); + u8g.drawBox(0+1*a, 4+1*a, 64-2*a, 32-2*a); + u8g.drawBox(74, 20, 4, 12); + u8g.setColorIndex(3); + u8g.drawBox(0+2*a, 4+2*a, 64-4*a, 32-4*a); + u8g.drawBox(78, 20, 4, 12); + } + else + { + u8g.drawStr( 0, 12, "setScale2x2"); + u8g.setScale2x2(); + u8g.drawStr( 0, 6+a, "setScale2x2"); + u8g.undoScale(); + } +} + + +uint8_t draw_state = 0; + +void draw(void) { + u8g_prepare(); + switch(draw_state >> 3) { + case 0: u8g_box_frame(draw_state&7); break; + case 1: u8g_disc_circle(draw_state&7); break; + case 2: u8g_r_frame(draw_state&7); break; + case 3: u8g_string(draw_state&7); break; + case 4: u8g_line(draw_state&7); break; + case 5: u8g_triangle(draw_state&7); break; + case 6: u8g_ascii_1(); break; + case 7: u8g_ascii_2(); break; + case 8: u8g_extra_page(draw_state&7); break; + } +} + +void setup(void) { + + // flip screen, if required + //u8g.setRot180(); + +#if defined(ARDUINO) + pinMode(13, OUTPUT); + digitalWrite(13, HIGH); +#endif +} + +void loop(void) { + + // picture loop + u8g.firstPage(); + do { + draw(); + } while( u8g.nextPage() ); + + // increase the state + draw_state++; + if ( draw_state >= 9*8 ) + draw_state = 0; + + // rebuild the picture after some delay + //delay(150); + +} + + diff --git a/machines/avr/arduino/libraries/U8glib/examples/HelloWorld/HelloWorld.ino b/machines/avr/arduino/libraries/U8glib/examples/HelloWorld/HelloWorld.ino new file mode 100644 index 000000000..b9a7f1cbc --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/examples/HelloWorld/HelloWorld.ino @@ -0,0 +1,185 @@ +/* + + HelloWorld.pde + + "Hello World!" example code. + + >>> Before compiling: Please remove comment from the constructor of the + >>> connected graphics display (see below). + + Universal 8bit Graphics Library, https://github.com/olikraus/u8glib/ + + Copyright (c) 2012, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +*/ + + +#include "U8glib.h" + +// setup u8g object, please remove comment from one of the following constructor calls +// IMPORTANT NOTE: The following list is incomplete. The complete list of supported +// devices with all constructor calls is here: https://github.com/olikraus/u8glib/wiki/device +//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 +//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI +//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 +//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 +//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16 +//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 +//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 +//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 +//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16 +//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16 +//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED) +//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0); // I2C / TWI +//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST); // Fast I2C / TWI +//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send AC +//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // I2C / TWI +//U8GLIB_SSD1306_64X48 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1306_64X48 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_SSD1306_64X48 u8g(U8G_I2C_OPT_NONE); // I2C / TWI +//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED) +//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE); // I2C / TWI +//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST); // Dev 0, Fast I2C / TWI +//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send ACK +//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_UC1611_DOGM240 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 3, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=3, di/a0=17,rw=16 +//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1611_DOGXL240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_UC1611_DOGXL240 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 3, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=3, di/a0=17,rw=16 +//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8); // SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8 (SW SPI Nano Board) +//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_HT1632_24X16 u8g(3, 2, 4); // WR = 3, DATA = 2, CS = 4 +//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) +//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) + + +void draw(void) { + // graphic commands to redraw the complete screen should be placed here + u8g.setFont(u8g_font_unifont); + //u8g.setFont(u8g_font_osb21); + u8g.drawStr( 0, 22, "Hello World!"); +} + +void setup(void) { + // flip screen, if required + // u8g.setRot180(); + + // set SPI backup if required + //u8g.setHardwareBackup(u8g_backup_avr_spi); + + // assign default color value + if ( u8g.getMode() == U8G_MODE_R3G3B2 ) { + u8g.setColorIndex(255); // white + } + else if ( u8g.getMode() == U8G_MODE_GRAY2BIT ) { + u8g.setColorIndex(3); // max intensity + } + else if ( u8g.getMode() == U8G_MODE_BW ) { + u8g.setColorIndex(1); // pixel on + } + else if ( u8g.getMode() == U8G_MODE_HICOLOR ) { + u8g.setHiColorByRGB(255,255,255); + } + + pinMode(8, OUTPUT); +} + +void loop(void) { + // picture loop + u8g.firstPage(); + do { + draw(); + } while( u8g.nextPage() ); + + // rebuild the picture after some delay + //delay(50); +} + diff --git a/machines/avr/arduino/libraries/U8glib/examples/Menu/Menu.ino b/machines/avr/arduino/libraries/U8glib/examples/Menu/Menu.ino new file mode 100644 index 000000000..edda1a0bd --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/examples/Menu/Menu.ino @@ -0,0 +1,272 @@ +/* + + Menu.pde + + Simple Menu Selection + + >>> Before compiling: Please remove comment from the constructor of the + >>> connected graphics display (see below). + + Universal 8bit Graphics Library, https://github.com/olikraus/u8glib/ + + Copyright (c) 2012, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +*/ + + +#include "U8glib.h" + +// setup u8g object, please remove comment from one of the following constructor calls +// IMPORTANT NOTE: The following list is incomplete. The complete list of supported +// devices with all constructor calls is here: https://github.com/olikraus/u8glib/wiki/device +//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 +//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI +//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 +//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 +//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16 +//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 +//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 +//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 +//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16 +//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16 +//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED) +//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0); // I2C / TWI +//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST); // Fast I2C / TWI +//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send AC +//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // I2C / TWI +//U8GLIB_SSD1306_64X48 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1306_64X48 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_SSD1306_64X48 u8g(U8G_I2C_OPT_NONE); // I2C / TWI +//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED) +//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE); // I2C / TWI +//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST); // Dev 0, Fast I2C / TWI +//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send ACK +//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_UC1611_DOGM240 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 3, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=3, di/a0=17,rw=16 +//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_UC1611_DOGXL240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_UC1611_DOGXL240 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 3, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=3, di/a0=17,rw=16 +//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8); // SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8 (SW SPI Nano Board) +//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_HT1632_24X16 u8g(3, 2, 4); // WR = 3, DATA = 2, CS = 4 +//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) +//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) + + +#define KEY_NONE 0 +#define KEY_PREV 1 +#define KEY_NEXT 2 +#define KEY_SELECT 3 +#define KEY_BACK 4 + +// DOGS102 shield configuration values +//uint8_t uiKeyPrev = 2; +//uint8_t uiKeyNext = 4; +//uint8_t uiKeySelect = 5; +//uint8_t uiKeyBack = 3; + +// DOGM128-Shield configuration values +// DOGXL60-Shield configuration values +uint8_t uiKeyPrev = 7; +uint8_t uiKeyNext = 3; +uint8_t uiKeySelect = 2; +uint8_t uiKeyBack = 8; + +uint8_t uiKeyCodeFirst = KEY_NONE; +uint8_t uiKeyCodeSecond = KEY_NONE; +uint8_t uiKeyCode = KEY_NONE; + + +void uiSetup(void) { + // configure input keys + + pinMode(uiKeyPrev, INPUT_PULLUP); // set pin to input with pullup + pinMode(uiKeyNext, INPUT_PULLUP); // set pin to input with pullup + pinMode(uiKeySelect, INPUT_PULLUP); // set pin to input with pullup + pinMode(uiKeyBack, INPUT_PULLUP); // set pin to input with pullup +} + +void uiStep(void) { + uiKeyCodeSecond = uiKeyCodeFirst; + if ( digitalRead(uiKeyPrev) == LOW ) + uiKeyCodeFirst = KEY_PREV; + else if ( digitalRead(uiKeyNext) == LOW ) + uiKeyCodeFirst = KEY_NEXT; + else if ( digitalRead(uiKeySelect) == LOW ) + uiKeyCodeFirst = KEY_SELECT; + else if ( digitalRead(uiKeyBack) == LOW ) + uiKeyCodeFirst = KEY_BACK; + else + uiKeyCodeFirst = KEY_NONE; + + if ( uiKeyCodeSecond == uiKeyCodeFirst ) + uiKeyCode = uiKeyCodeFirst; + else + uiKeyCode = KEY_NONE; +} + + +#define MENU_ITEMS 4 +const char *menu_strings[MENU_ITEMS] = { "First Line", "Second Item", "3333333", "abcdefg" }; + +uint8_t menu_current = 0; +uint8_t menu_redraw_required = 0; +uint8_t last_key_code = KEY_NONE; + + +void drawMenu(void) { + uint8_t i, h; + u8g_uint_t w, d; + + u8g.setFont(u8g_font_6x13); + u8g.setFontRefHeightText(); + u8g.setFontPosTop(); + + h = u8g.getFontAscent()-u8g.getFontDescent(); + w = u8g.getWidth(); + for( i = 0; i < MENU_ITEMS; i++ ) { + d = (w-u8g.getStrWidth(menu_strings[i]))/2; + u8g.setDefaultForegroundColor(); + if ( i == menu_current ) { + u8g.drawBox(0, i*h+1, w, h); + u8g.setDefaultBackgroundColor(); + } + u8g.drawStr(d, i*h, menu_strings[i]); + } +} + +void updateMenu(void) { + if ( uiKeyCode != KEY_NONE && last_key_code == uiKeyCode ) { + return; + } + last_key_code = uiKeyCode; + + switch ( uiKeyCode ) { + case KEY_NEXT: + menu_current++; + if ( menu_current >= MENU_ITEMS ) + menu_current = 0; + menu_redraw_required = 1; + break; + case KEY_PREV: + if ( menu_current == 0 ) + menu_current = MENU_ITEMS; + menu_current--; + menu_redraw_required = 1; + break; + } +} + + +void setup() { + // rotate screen, if required + // u8g.setRot180(); + + uiSetup(); // setup key detection and debounce algorithm + menu_redraw_required = 1; // force initial redraw +} + +void loop() { + + uiStep(); // check for key press + + if ( menu_redraw_required != 0 ) { + u8g.firstPage(); + do { + drawMenu(); + } while( u8g.nextPage() ); + menu_redraw_required = 0; + } + + updateMenu(); // update menu bar + +} diff --git a/machines/avr/arduino/libraries/U8glib/examples/PrintTest/PrintTest.ino b/machines/avr/arduino/libraries/U8glib/examples/PrintTest/PrintTest.ino new file mode 100644 index 000000000..6a64b1857 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/examples/PrintTest/PrintTest.ino @@ -0,0 +1,160 @@ +/* + + PrintTest.pde + + How to use the base class "Print" + + >>> Before compiling: Please remove comment from the constructor of the + >>> connected graphics display (see below). + + Universal 8bit Graphics Library, https://github.com/olikraus/u8glib/ + + Copyright (c) 2012, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +*/ + + +#include "U8glib.h" + +// setup u8g object, please remove comment from one of the following constructor calls +// IMPORTANT NOTE: The following list is incomplete. The complete list of supported +// devices with all constructor calls is here: https://github.com/olikraus/u8glib/wiki/device +//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 +//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI +//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 +//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 +//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16 +//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 +//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 +//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 +//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16 +//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16 +//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED) +//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0); // I2C / TWI +//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST); // Fast I2C / TWI +//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send AC +//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // I2C / TWI +//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED) +//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE); // I2C / TWI +//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST); // Dev 0, Fast I2C / TWI +//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send ACK +//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_UC1611_DOGXL240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8); // SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8 (SW SPI Nano Board) +//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_HT1632_24X16 u8g(3, 2, 4); // WR = 3, DATA = 2, CS = 4 +//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) +//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) + +void draw(void) { + // graphic commands to redraw the complete screen should be placed here + u8g.setFont(u8g_font_unifont); + u8g.setPrintPos(0, 20); + // call procedure from base class, http://arduino.cc/en/Serial/Print + u8g.print("Hello World!"); +} + +void setup(void) { + // flip screen, if required + // u8g.setRot180(); +} + +void loop(void) { + // picture loop + u8g.firstPage(); + do { + draw(); + } while( u8g.nextPage() ); + + // rebuild the picture after some delay + delay(500); +} + diff --git a/machines/avr/arduino/libraries/U8glib/examples/Rotation/Rotation.ino b/machines/avr/arduino/libraries/U8glib/examples/Rotation/Rotation.ino new file mode 100644 index 000000000..2c885ef78 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/examples/Rotation/Rotation.ino @@ -0,0 +1,194 @@ +/* + + Rotation.pde + + Example code for RotXXX functions. + + >>> Before compiling: Please remove comment from the constructor of the + >>> connected graphics display (see below). + + Universal 8bit Graphics Library, https://github.com/olikraus/u8glib/ + + Copyright (c) 2012, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +*/ + + +#include "U8glib.h" + +// setup u8g object, please remove comment from one of the following constructor calls +// IMPORTANT NOTE: The following list is incomplete. The complete list of supported +// devices with all constructor calls is here: https://github.com/olikraus/u8glib/wiki/device +//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 +//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI +//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 +//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 +//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16 +//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 +//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 +//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 +//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16 +//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16 +//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED) +//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0); // I2C / TWI +//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST); // Fast I2C / TWI +//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send AC +//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // I2C / TWI +//U8GLIB_SSD1306_64X48 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1306_64X48 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_SSD1306_64X48 u8g(U8G_I2C_OPT_NONE); // I2C / TWI +//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED) +//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE); // I2C / TWI +//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST); // Dev 0, Fast I2C / TWI +//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send ACK +//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_UC1611_DOGM240 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 3, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=3, di/a0=17,rw=16 +//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_UC1611_DOGXL240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_UC1611_DOGXL240 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 3, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=3, di/a0=17,rw=16 +//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8); // SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8 (SW SPI Nano Board) +//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_HT1632_24X16 u8g(3, 2, 4); // WR = 3, DATA = 2, CS = 4 +//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) +//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) + +uint8_t offset = 0; + +void draw(void) { + // graphic commands to redraw the complete screen should be placed here + u8g.setFont(u8g_font_unifont); + u8g.drawStr( 0+0, 20+0, "Hello!"); + u8g.drawStr( 0+2, 20+16, "Hello!"); + + u8g.drawBox(0, 0, 3, 3); + u8g.drawBox(u8g.getWidth()-6, 0, 6, 6); + u8g.drawBox(u8g.getWidth()-9, u8g.getHeight()-9, 9, 9); + u8g.drawBox(0, u8g.getHeight()-12, 12, 12); +} + +void setup(void) { +} + + +void rotate(void) { + static uint8_t dir = 0; + static unsigned long next_rotation = 0; + + if ( next_rotation < millis() ) + { + switch(dir) { + case 0: u8g.undoRotation(); break; + case 1: u8g.setRot90(); break; + case 2: u8g.setRot180(); break; + case 3: u8g.setRot270(); offset = ( offset + 1 ) & 0x0f; break; + } + + dir++; + dir &= 3; + next_rotation = millis(); + next_rotation += 1000; + } +} + +void loop(void) { + // screen rotation + rotate(); + + // picture loop + u8g.firstPage(); + do { + draw(); + } while( u8g.nextPage() ); + + // rebuild the picture after some delay + delay(100); +} + diff --git a/machines/avr/arduino/libraries/U8glib/examples/Scale/Scale.ino b/machines/avr/arduino/libraries/U8glib/examples/Scale/Scale.ino new file mode 100644 index 000000000..27e3944bc --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/examples/Scale/Scale.ino @@ -0,0 +1,183 @@ +/* + + Scale.pde + + Example code for the 2x2 scale function. + + >>> Before compiling: Please remove comment from the constructor of the + >>> connected graphics display (see below). + + Universal 8bit Graphics Library, https://github.com/olikraus/u8glib/ + + Copyright (c) 2012, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +*/ + + +#include "U8glib.h" + +// setup u8g object, please remove comment from one of the following constructor calls +// IMPORTANT NOTE: The following list is incomplete. The complete list of supported +// devices with all constructor calls is here: https://github.com/olikraus/u8glib/wiki/device +//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 +//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI +//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 +//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 +//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16 +//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 +//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 +//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 +//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16 +//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16 +//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED) +//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0); // I2C / TWI +//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST); // Fast I2C / TWI +//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send AC +//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // I2C / TWI +//U8GLIB_SSD1306_64X48 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1306_64X48 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_SSD1306_64X48 u8g(U8G_I2C_OPT_NONE); // I2C / TWI +//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED) +//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE); // I2C / TWI +//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST); // Dev 0, Fast I2C / TWI +//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send ACK +//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_UC1611_DOGM240 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 3, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=3, di/a0=17,rw=16 +//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_UC1611_DOGXL240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_UC1611_DOGXL240 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 3, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=3, di/a0=17,rw=16 +//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8); // SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8 (SW SPI Nano Board) +//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_HT1632_24X16 u8g(3, 2, 4); // WR = 3, DATA = 2, CS = 4 +//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) +//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) + + +void draw(void) { + // graphic commands to redraw the complete screen should be placed here + u8g.setFont(u8g_font_unifont); + u8g.setFontPosTop(); + u8g.drawStr(0, 1, "Hello"); + u8g.drawHLine(0, 1+14, 40); + u8g.setScale2x2(); // Scale up all draw procedures + u8g.drawStr(0, 12, "Hello"); // actual display position is (0,24) + u8g.drawHLine(0, 12+14, 40); // All other procedures are also affected + u8g.undoScale(); // IMPORTANT: Switch back to normal mode +} + +void setup(void) { + + // flip screen, if required + u8g.setRot180(); + + // set SPI backup if required + //u8g.setHardwareBackup(u8g_backup_avr_spi); + + // assign default color value + if ( u8g.getMode() == U8G_MODE_R3G3B2 ) + u8g.setColorIndex(255); // white + else if ( u8g.getMode() == U8G_MODE_GRAY2BIT ) + u8g.setColorIndex(3); // max intensity + else if ( u8g.getMode() == U8G_MODE_BW ) + u8g.setColorIndex(1); // pixel on +} + +void loop(void) { + // picture loop + u8g.firstPage(); + do { + draw(); + } while( u8g.nextPage() ); + + // rebuild the picture after some delay + delay(500); +} + diff --git a/machines/avr/arduino/libraries/U8glib/examples/TextRotX/TextRotX.ino b/machines/avr/arduino/libraries/U8glib/examples/TextRotX/TextRotX.ino new file mode 100644 index 000000000..5cec6a447 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/examples/TextRotX/TextRotX.ino @@ -0,0 +1,196 @@ +/* + + TextRotX.pde + + Text rotation example code. + + >>> Before compiling: Please remove comment from the constructor of the + >>> connected graphics display (see below). + + Universal 8bit Graphics Library, https://github.com/olikraus/u8glib/ + + Copyright (c) 2012, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +*/ + + +#include "U8glib.h" + +// setup u8g object, please remove comment from one of the following constructor calls +// IMPORTANT NOTE: The following list is incomplete. The complete list of supported +// devices with all constructor calls is here: https://github.com/olikraus/u8glib/wiki/device +//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 +//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI +//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 +//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 +//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16 +//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 +//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 +//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 +//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16 +//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16 +//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED) +//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0); // I2C / TWI +//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST); // Fast I2C / TWI +//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send AC +//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // I2C / TWI +//U8GLIB_SSD1306_64X48 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1306_64X48 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_SSD1306_64X48 u8g(U8G_I2C_OPT_NONE); // I2C / TWI +//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED) +//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE); // I2C / TWI +//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST); // Dev 0, Fast I2C / TWI +//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send ACK +//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_UC1611_DOGM240 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 3, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=3, di/a0=17,rw=16 +//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_UC1611_DOGXL240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_UC1611_DOGXL240 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 3, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=3, di/a0=17,rw=16 +//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8); // SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8 (SW SPI Nano Board) +//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_HT1632_24X16 u8g(3, 2, 4); // WR = 3, DATA = 2, CS = 4 +//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) +//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) + +// graphic commands to redraw the complete screen should be placed here +void draw(void) { + u8g_uint_t mx, my; + + mx = u8g.getWidth(); + mx >>= 1; + + my = u8g.getHeight(); + my >>= 1; + + u8g.drawStr( mx, my, "Ag"); + u8g.drawStr90( mx, my, "Ag"); + u8g.drawStr180( mx, my, "Ag"); + u8g.drawStr270( mx, my, "Ag"); +} + +void setup(void) { + u8g.setFont(u8g_font_9x18); +} + +void change_font_pos(void) { + static uint8_t dir = 0; + static unsigned long next = 0; + + if ( next < millis() ) + { + switch(dir) { + case 0: u8g.setFontPosBottom(); break; + case 1: u8g.setFontPosBaseline(); break; + case 2: u8g.setFontPosCenter(); break; + case 3: u8g.setFontPosTop(); break; + } + + dir++; + dir &= 3; + next = millis(); + next += 1000; + } +} + +void loop(void) { + // change the font position + change_font_pos(); + + // picture loop + u8g.firstPage(); + do { + draw(); + } while( u8g.nextPage() ); + + // rebuild the picture after some delay + delay(100); +} + diff --git a/machines/avr/arduino/libraries/U8glib/examples/Touch4WSetup/Touch4WSetup.ino b/machines/avr/arduino/libraries/U8glib/examples/Touch4WSetup/Touch4WSetup.ino new file mode 100644 index 000000000..0f4304193 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/examples/Touch4WSetup/Touch4WSetup.ino @@ -0,0 +1,354 @@ +/* + + Touch4WSetup.pde + + Use this example to figure out the ranges for of the active area of a 4-wire resistive + touch panel. + + >>> Before compiling: Please remove comment from the constructor of the + >>> connected graphics display (see below). + + Universal 8bit Graphics Library, https://github.com/olikraus/u8glib/ + + Copyright (c) 2012, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +*/ + + +#include "U8glib.h" + +// setup u8g object, please remove comment from one of the following constructor calls +// IMPORTANT NOTE: The following list is incomplete. The complete list of supported +// devices with all constructor calls is here: https://github.com/olikraus/u8glib/wiki/device +//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 +//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI +//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 +//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 +//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16 +//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 +//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 +//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 +//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16 +//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16 +//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED) +//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0); // I2C / TWI +//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST); // Fast I2C / TWI +//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send AC +//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // I2C / TWI +//U8GLIB_SSD1306_64X48 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1306_64X48 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_SSD1306_64X48 u8g(U8G_I2C_OPT_NONE); // I2C / TWI +//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED) +//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE); // I2C / TWI +//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST); // Dev 0, Fast I2C / TWI +//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send ACK +//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_UC1611_DOGM240 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 3, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=3, di/a0=17,rw=16 +//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_UC1611_DOGXL240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_UC1611_DOGXL240 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 3, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=3, di/a0=17,rw=16 +//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8); // SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8 (SW SPI Nano Board) +//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_HT1632_24X16 u8g(3, 2, 4); // WR = 3, DATA = 2, CS = 4 +//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) +//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) + +//================================================================ +// Setup 4-Wire Resistive Touch Panel + +uint8_t tp_left = A3; +uint8_t tp_right = A5; +uint8_t tp_top = A4; +uint8_t tp_bottom = A2; + +#define X_START 120 +#define X_END 140 +#define Y_START 120 +#define Y_END 140 + +#define PULLUP_THRESHOLD 235 + +//================================================================ +// Touch Panel Code + +/* touch panel dimension */ +struct tpd_struct +{ + /* raw value */ + uint8_t raw; + + /* calibration values */ + uint8_t start; + uint8_t end; + + /* user values */ + uint8_t range; /* result will have range fron 0..range (including the value of range) */ + + uint8_t result; /* output value: position [0...range] */ + uint8_t is_pressed; /* output value: pressed (=1) or not pressed (=0) */ + uint8_t is_update; /* will be set to 1 if result or is_pressed has been updated */ +}; + +struct tp_struct +{ + struct tpd_struct x; + struct tpd_struct y; + uint8_t is_pressed; /* combination of x.is_pressed && y.is_pressed */ + uint8_t is_update; +}; + +struct tp_struct tp; + +/* map raw value to 0...range (result) */ +void tpd_map_touch_position(struct tpd_struct *d, uint8_t raw) +{ + uint8_t is_pressed; + uint16_t p; + uint8_t start, end; + + d->raw = raw; + + start = d->start; + end = d->end; + + /* check if position is within active area; store result in "is_pressed" */ + is_pressed = 1; + if ( raw >= PULLUP_THRESHOLD ) + { + d->result = 0; + is_pressed = 0; + } + else + { + /* update start and end */ + if ( raw < start ) + { + start = raw; + d->start = raw; + } + if ( raw > end ) + { + end = raw; + d->end = raw; + } + } + + /* store "is_pressed" in the global structure, set update flag */ + if ( d->is_pressed != is_pressed ) + d->is_update = 1; + d->is_pressed = is_pressed; + + /* map "raw" value into target range */ + if ( is_pressed != 0 ) + { + p = raw; + p -= start; + p *= d->range; + end -= start; + p /= end; + + if ( d->result != p ) + d->is_update = 1; + d->result = p; + } +} + +void tp_Init(uint8_t width, uint8_t height) +{ + tp.x.start = X_START; + tp.x.end = X_END; + tp.x.range = width-1; + + tp.y.start = Y_START; + tp.y.end = Y_END; + tp.y.range = height-1; + + tp.is_update = 1; +} + +void setTouchRawValues(uint8_t x, uint8_t y) +{ + tpd_map_touch_position(&(tp.x), x); + tpd_map_touch_position(&(tp.y), y); + + tp.is_pressed = tp.x.is_pressed && tp.y.is_pressed; + if ( tp.x.is_update || tp.y.is_update ) + tp.is_update = 1; +} + + +uint8_t getTouchPos(uint8_t hiPin, uint8_t lowPin, uint8_t sensePin, uint8_t dcPin) +{ + uint8_t val; + pinMode(dcPin, INPUT); + pinMode(sensePin, INPUT_PULLUP); + pinMode(hiPin, OUTPUT); + pinMode(lowPin, OUTPUT); + + digitalWrite(hiPin, HIGH); + digitalWrite(lowPin, LOW); + delay(10); + val = analogRead(sensePin) >> 2; + pinMode(hiPin, INPUT); + pinMode(lowPin, INPUT); + delay(10); + return val; +} + +void updateTouchPanel(void) +{ + uint8_t tp_raw_x; + uint8_t tp_raw_y; + + tp_raw_x = getTouchPos(tp_right, tp_left, tp_bottom, tp_top); + tp_raw_y = getTouchPos(tp_top, tp_bottom, tp_left, tp_right); + + setTouchRawValues(tp_raw_x, tp_raw_y); +} + +//================================================================ +// graphics output and picture loop + +void center(u8g_uint_t y, const char *str) +{ + u8g_uint_t x; + x = u8g.getWidth(); + x -= u8g.getStrWidth(str); + x /= 2; + u8g.drawStr(x, y, str); +} + + +void draw(void) { + u8g.setFont(u8g_font_6x10); + center( 10, "Touch Panel Setup"); + u8g.setPrintPos(0, 20); u8g.print("x_start=");u8g.print((int)tp.x.start);u8g.print(" x_end=");u8g.print((int)tp.x.end); + u8g.setPrintPos(0, 30); u8g.print("y_start=");u8g.print((int)tp.y.start);u8g.print(" y_end=");u8g.print((int)tp.y.end); + u8g.setPrintPos(0, 40); u8g.print("x=");u8g.print((int)tp.x.raw); + u8g.setPrintPos(0, 50); u8g.print("y=");u8g.print((int)tp.y.raw); +} + +void setup(void) { + + // flip screen, if required + // u8g.setRot180(); + u8g.setCursorFont(u8g_font_cursor); + u8g.setCursorStyle(32); + + tp_Init(u8g.getWidth(), u8g.getHeight()); + + tp.is_update = 1; +} + +void loop(void) { + + // update touch panel and handle return values + updateTouchPanel(); + + if ( tp.is_pressed != 0 ) + u8g.enableCursor(); + else + u8g.disableCursor(); + + u8g.setCursorPos(tp.x.result, u8g.getHeight()-tp.y.result-1); + + // picture loop + if ( tp.is_update != 0 ) + { + tp.is_update = 0; + u8g.firstPage(); + do { + draw(); + } while( u8g.nextPage() ); + } + +} + diff --git a/machines/avr/arduino/libraries/U8glib/examples/Touch4WTest/Touch4WTest.ino b/machines/avr/arduino/libraries/U8glib/examples/Touch4WTest/Touch4WTest.ino new file mode 100644 index 000000000..b3f0c9fd5 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/examples/Touch4WTest/Touch4WTest.ino @@ -0,0 +1,341 @@ +/* + + Touch4WTest.pde + + >>> Before compiling: Please remove comment from the constructor of the + >>> connected graphics display (see below). + + Universal 8bit Graphics Library, https://github.com/olikraus/u8glib/ + + Copyright (c) 2012, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +*/ + + +#include "U8glib.h" + +// setup u8g object, please remove comment from one of the following constructor calls +// IMPORTANT NOTE: The following list is incomplete. The complete list of supported +// devices with all constructor calls is here: https://github.com/olikraus/u8glib/wiki/device +//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 +//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI +//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 +//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 +//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16 +//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 +//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 +//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 +//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16 +//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16 +//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED) +//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0); // I2C / TWI +//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST); // Fast I2C / TWI +//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send AC +//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // I2C / TWI +//U8GLIB_SSD1306_64X48 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1306_64X48 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_SSD1306_64X48 u8g(U8G_I2C_OPT_NONE); // I2C / TWI +//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED) +//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE); // I2C / TWI +//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST); // Dev 0, Fast I2C / TWI +//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send ACK +//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_UC1611_DOGM240 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 3, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=3, di/a0=17,rw=16 +//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_UC1611_DOGXL240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_UC1611_DOGXL240 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 3, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=3, di/a0=17,rw=16 +//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8); // SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8 (SW SPI Nano Board) +//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_HT1632_24X16 u8g(3, 2, 4); // WR = 3, DATA = 2, CS = 4 +//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) +//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) + +//================================================================ +// Setup 4-Wire Resistive Touch Panel + +uint8_t tp_left = A3; +uint8_t tp_right = A5; +uint8_t tp_top = A4; +uint8_t tp_bottom = A2; + +/* Run "Touch4WSetup" and enter values here */ +#define X_START 64 +#define X_END 200 +#define Y_START 105 +#define Y_END 160 + +//================================================================ +// Touch Panel Code + +/* touch panel dimension */ +struct tpd_struct +{ + /* raw value */ + uint8_t raw; + + /* calibration values */ + uint8_t start; + uint8_t end; + + /* user values */ + uint8_t range; /* result will have range fron 0..range (including the value of range) */ + + uint8_t result; /* output value: position [0...range] */ + uint8_t is_pressed; /* output value: pressed (=1) or not pressed (=0) */ + uint8_t is_update; /* will be set to 1 if result or is_pressed has been updated */ +}; + +struct tp_struct +{ + struct tpd_struct x; + struct tpd_struct y; + uint8_t is_pressed; /* combination of x.is_pressed && y.is_pressed */ + uint8_t is_update; +}; + +struct tp_struct tp; + +/* map raw value to 0...range (result) */ +void tpd_map_touch_position(struct tpd_struct *d, uint8_t raw) +{ + uint8_t is_pressed; + uint16_t p; + uint8_t start, end; + + d->raw = raw; + + start = d->start; + end = d->end; + + /* check if position is within active area; store result in "is_pressed" */ + is_pressed = 1; + if ( raw < start ) + { + d->result = 0; + is_pressed = 0; + } + if ( raw >= end ) + { + d->result = d->range; + is_pressed = 0; + } + + /* store "is_pressed" in the global structure, set update flag */ + if ( d->is_pressed != is_pressed ) + d->is_update = 1; + d->is_pressed = is_pressed; + + /* map "raw" value into target range */ + if ( is_pressed != 0 ) + { + p = raw; + p -= start; + p *= d->range; + end -= start; + p /= end; + + if ( d->result != p ) + d->is_update = 1; + d->result = p; + } +} + +void tp_Init(uint8_t width, uint8_t height) +{ + tp.x.start = X_START; + tp.x.end = X_END; + tp.x.range = width-1; + + tp.y.start = Y_START; + tp.y.end = Y_END; + tp.y.range = height-1; + + tp.is_update = 1; +} + +void setTouchRawValues(uint8_t x, uint8_t y) +{ + tpd_map_touch_position(&(tp.x), x); + tpd_map_touch_position(&(tp.y), y); + + tp.is_pressed = tp.x.is_pressed && tp.y.is_pressed; + if ( tp.x.is_update || tp.y.is_update ) + tp.is_update = 1; +} + + +uint8_t getTouchPos(uint8_t hiPin, uint8_t lowPin, uint8_t sensePin, uint8_t dcPin) +{ + uint8_t val; + pinMode(dcPin, INPUT); + pinMode(sensePin, INPUT_PULLUP); + pinMode(hiPin, OUTPUT); + pinMode(lowPin, OUTPUT); + + digitalWrite(hiPin, HIGH); + digitalWrite(lowPin, LOW); + delay(10); + val = analogRead(sensePin) >> 2; + pinMode(hiPin, INPUT); + pinMode(lowPin, INPUT); + delay(10); + return val; +} + +void updateTouchPanel(void) +{ + uint8_t tp_raw_x; + uint8_t tp_raw_y; + + tp_raw_x = getTouchPos(tp_right, tp_left, tp_bottom, tp_top); + tp_raw_y = getTouchPos(tp_top, tp_bottom, tp_left, tp_right); + + setTouchRawValues(tp_raw_x, tp_raw_y); +} + +//================================================================ +// graphics output and picture loop + +void center(u8g_uint_t y, const char *str) +{ + u8g_uint_t x; + x = u8g.getWidth(); + x -= u8g.getStrWidth(str); + x /= 2; + u8g.drawStr(x, y, str); +} + + +void draw(void) { + u8g.setFont(u8g_font_6x10); + center( 10, "Touch Panel Test"); + if ( tp.is_pressed != 0 ) + { + u8g.setPrintPos(0, 20); u8g.print("x=");u8g.print((int)tp.x.result); + u8g.setPrintPos(0, 30); u8g.print("y=");u8g.print((int)(u8g.getHeight()-tp.y.result-1)); + //u8g.setPrintPos(0, 40); u8g.print("x: ");u8g.print((int)tp.x.start);u8g.print("..");u8g.print((int)tp.x.end); + //u8g.setPrintPos(0, 50); u8g.print("y: ");u8g.print((int)tp.y.start);u8g.print("..");u8g.print((int)tp.y.end); + } +} + +void setup(void) { + + // flip screen, if required + // u8g.setRot180(); + u8g.setCursorFont(u8g_font_cursor); + u8g.setCursorStyle(32); + + tp_Init(u8g.getWidth(), u8g.getHeight()); +} + +void loop(void) { + + // update touch panel and handle return values + updateTouchPanel(); + + if ( tp.is_pressed != 0 ) + u8g.enableCursor(); + else + u8g.disableCursor(); + + u8g.setCursorPos(tp.x.result, u8g.getHeight()-tp.y.result-1); + + // picture loop + if ( tp.is_update != 0 ) { + tp.is_update = 0; + u8g.firstPage(); + do { + draw(); + } while( u8g.nextPage() ); + } + +} + diff --git a/machines/avr/arduino/libraries/U8glib/examples/U8gLogo/U8gLogo.ino b/machines/avr/arduino/libraries/U8glib/examples/U8gLogo/U8gLogo.ino new file mode 100644 index 000000000..41b3106f9 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/examples/U8gLogo/U8gLogo.ino @@ -0,0 +1,237 @@ +/* + + U8gLogo.pde + + Put the U8GLIB logo on the display. + + >>> Before compiling: Please remove comment from the constructor of the + >>> connected graphics display (see below). + + Universal 8bit Graphics Library, https://github.com/olikraus/u8glib/ + + Copyright (c) 2012, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +*/ + + +#include "U8glib.h" + +// setup u8g object, please remove comment from one of the following constructor calls +// IMPORTANT NOTE: The following list is incomplete. The complete list of supported +// devices with all constructor calls is here: https://github.com/olikraus/u8glib/wiki/device +//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 +//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI +//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 +//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 +//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16 +//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 +//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 +//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 +//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16 +//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16 +//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED) +//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0); // I2C / TWI +//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST); // Fast I2C / TWI +//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send AC +//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // I2C / TWI +//U8GLIB_SSD1306_64X48 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1306_64X48 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_SSD1306_64X48 u8g(U8G_I2C_OPT_NONE); // I2C / TWI +//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED) +//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE); // I2C / TWI +//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST); // Dev 0, Fast I2C / TWI +//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send ACK +//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_UC1611_DOGM240 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 3, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=3, di/a0=17,rw=16 +//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_UC1611_DOGXL240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_UC1611_DOGXL240 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 3, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=3, di/a0=17,rw=16 +//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8); // SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8 (SW SPI Nano Board) +//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_HT1632_24X16 u8g(3, 2, 4); // WR = 3, DATA = 2, CS = 4 +//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) +//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) + + +//#define MINI_LOGO + +void drawColorBox(void) +{ + u8g_uint_t w,h; + u8g_uint_t r, g, b; + + w = u8g.getWidth()/32; + h = u8g.getHeight()/8; + for( b = 0; b < 4; b++ ) + for( g = 0; g < 8; g++ ) + for( r = 0; r < 8; r++ ) + { + u8g.setColorIndex((r<<5) | (g<<2) | b ); + u8g.drawBox(g*w + b*w*8, r*h, w, h); + } +} + +void drawLogo(uint8_t d) +{ +#ifdef MINI_LOGO + u8g.setFont(u8g_font_gdr17r); + u8g.drawStr(0+d, 22+d, "U"); + u8g.setFont(u8g_font_gdr20n); + u8g.drawStr90(17+d,8+d,"8"); + u8g.setFont(u8g_font_gdr17r); + u8g.drawStr(39+d,22+d,"g"); + + u8g.drawHLine(2+d, 25+d, 34); + u8g.drawVLine(32+d, 22+d, 12); +#else + u8g.setFont(u8g_font_gdr25r); + u8g.drawStr(0+d, 30+d, "U"); + u8g.setFont(u8g_font_gdr30n); + u8g.drawStr90(23+d,10+d,"8"); + u8g.setFont(u8g_font_gdr25r); + u8g.drawStr(53+d,30+d,"g"); + + u8g.drawHLine(2+d, 35+d, 47); + u8g.drawVLine(45+d, 32+d, 12); +#endif +} + +void drawURL(void) +{ +#ifndef MINI_LOGO + u8g.setFont(u8g_font_4x6); + if ( u8g.getHeight() < 59 ) + { + u8g.drawStr(53,9,"code.google.com"); + u8g.drawStr(77,18,"/p/u8glib"); + } + else + { + u8g.drawStr(1,54,"code.google.com/p/u8glib"); + } +#endif +} + + +void draw(void) { + if ( u8g.getMode() == U8G_MODE_R3G3B2 ) { + drawColorBox(); + } + u8g.setColorIndex(1); + if ( U8G_MODE_GET_BITS_PER_PIXEL(u8g.getMode()) > 1 ) { + drawLogo(2); + u8g.setColorIndex(2); + drawLogo(1); + u8g.setColorIndex(3); + } + drawLogo(0); + drawURL(); + +} + +void setup(void) { + // flip screen, if required + //u8g.setRot180(); +} + +void loop(void) { + + // picture loop + u8g.firstPage(); + do { + draw(); + u8g.setColorIndex(1); + } while( u8g.nextPage() ); + + // rebuild the picture after some delay + delay(200); +} + diff --git a/machines/avr/arduino/libraries/U8glib/examples/XBM/XBM.ino b/machines/avr/arduino/libraries/U8glib/examples/XBM/XBM.ino new file mode 100644 index 000000000..c0227c456 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/examples/XBM/XBM.ino @@ -0,0 +1,178 @@ +/* + + XBM.pde + + drawXBM example code. + + >>> Before compiling: Please remove comment from the constructor of the + >>> connected graphics display (see below). + + Universal 8bit Graphics Library, https://github.com/olikraus/u8glib/ + + Copyright (c) 2012, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +*/ + + +#include "U8glib.h" + +// setup u8g object, please remove comment from one of the following constructor calls +// IMPORTANT NOTE: The following list is incomplete. The complete list of supported +// devices with all constructor calls is here: https://github.com/olikraus/u8glib/wiki/device +//U8GLIB_NHD27OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD27OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD27OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD27OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_NHD31OLED_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGS102 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGM132 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGM128 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGM128_2X u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_ST7920_128X64_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_128X64_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_128X64_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_128X64_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_192X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_192X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_192X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_192X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_192X32_1X u8g(13, 11, 10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10 +//U8GLIB_ST7920_192X32_4X u8g(10); // SPI Com: SCK = en = 13, MOSI = rw = 11, CS = di = 10, HW SPI +//U8GLIB_ST7920_202X32_1X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_202X32_4X u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, di=17,rw=16 +//U8GLIB_ST7920_202X32_1X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_ST7920_202X32_4X u8g(18, 16, 17); // SPI Com: SCK = en = 18, MOSI = rw = 16, CS = di = 17 +//U8GLIB_LM6059 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_LM6063 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_BW u8g(10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_2X_BW u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_DOGXL160_2X_GR u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_PCD8544 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 +//U8GLIB_PCF8812 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, Reset = 8 +//U8GLIB_KS0108_128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs1=14, cs2=15,di=17,rw=16 +//U8GLIB_LC7981_160X80 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 +//U8GLIB_LC7981_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 +//U8GLIB_LC7981_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=14 ,di=15,rw=17, reset = 16 +//U8GLIB_ILI9325D_320x240 u8g(18,17,19,U8G_PIN_NONE,16 ); // 8Bit Com: D0..D7: 0,1,2,3,4,5,6,7 en=wr=18, cs=17, rs=19, rd=U8G_PIN_NONE, reset = 16 +//U8GLIB_SBN1661_122X32 u8g(8,9,10,11,4,5,6,7,14,15, 17, U8G_PIN_NONE, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 cs1=14, cs2=15,di=17,rw=16,reset = 16 +//U8GLIB_SSD1306_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1306_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new white HalTec OLED) +//U8GLIB_SSD1306_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE|U8G_I2C_OPT_DEV_0); // I2C / TWI +//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_NO_ACK|U8G_I2C_OPT_FAST); // Fast I2C / TWI +//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send AC +//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1306_ADAFRUIT_128X64 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_SSD1306_128X32 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1306_128X32 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE); // I2C / TWI +//U8GLIB_SSD1306_64X48 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1306_64X48 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_SSD1306_64X48 u8g(U8G_I2C_OPT_NONE); // I2C / TWI +//U8GLIB_SH1106_128X64 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SH1106_128X64 u8g(4, 5, 6, 7); // SW SPI Com: SCK = 4, MOSI = 5, CS = 6, A0 = 7 (new blue HalTec OLED) +//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE); // I2C / TWI +//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST); // Dev 0, Fast I2C / TWI +//U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NO_ACK); // Display which does not send ACK +//U8GLIB_SSD1309_128X64 u8g(13, 11, 10, 9); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_SSD1327_96X96_GR u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_SSD1327_96X96_2X_GR u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_UC1611_DOGM240 u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_UC1611_DOGM240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_UC1611_DOGM240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_UC1611_DOGM240 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 3, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=3, di/a0=17,rw=16 +//U8GLIB_UC1611_DOGXL240 u8g(U8G_I2C_OPT_NONE); // I2C +//U8GLIB_UC1611_DOGXL240 u8g(13, 11, 10, 9); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9 +//U8GLIB_UC1611_DOGXL240 u8g(10, 9); // HW SPI Com: CS = 10, A0 = 9 (Hardware Pins are SCK = 13 and MOSI = 11) +//U8GLIB_UC1611_DOGXL240 u8g(8, 9, 10, 11, 4, 5, 6, 7, 18, 3, 17, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7 en=18, cs=3, di/a0=17,rw=16 +//U8GLIB_NHD_C12864 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_NHD_C12832 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_LD7032_60x32 u8g(13, 11, 10, 9, 8); // SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_LD7032_60x32 u8g(11, 12, 9, 10, 8); // SPI Com: SCK = 11, MOSI = 12, CS = 9, A0 = 10, RST = 8 (SW SPI Nano Board) +//U8GLIB_UC1608_240X64 u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(13, 11, 10, 9, 8); // SW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64 u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_UC1608_240X64_2X u8g(10, 9, 8); // HW SPI Com: SCK = 13, MOSI = 11, CS = 10, A0 = 9, RST = 8 +//U8GLIB_T6963_240X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_T6963_128X128 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_T6963_240X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_T6963_128X64 u8g(8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16); // 8Bit Com: D0..D7: 8,9,10,11,4,5,6,7, cs=14, a0=15, wr=17, rd=18, reset=16 +//U8GLIB_HT1632_24X16 u8g(3, 2, 4); // WR = 3, DATA = 2, CS = 4 +//U8GLIB_SSD1351_128X128_332 u8g(13, 11, 8, 9, 7); // Arduino UNO: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_332 u8g(76, 75, 8, 9, 7); // Arduino DUE: SW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_332 u8g(8, 9, 7); // Arduino: HW SPI Com: SCK = 13, MOSI = 11, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_HICOLOR u8g(76, 75, 8, 9, 7); // Arduino DUE, SW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (http://electronics.ilsoft.co.uk/ArduinoShield.aspx) +//U8GLIB_SSD1351_128X128GH_332 u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) +//U8GLIB_SSD1351_128X128GH_HICOLOR u8g(8, 9, 7); // Arduino, HW SPI Com: SCK = 76, MOSI = 75, CS = 8, A0 = 9, RESET = 7 (Freetronics OLED) + +#define u8g_logo_width 38 +#define u8g_logo_height 24 +//static unsigned char u8g_logo_bits[] = { +static unsigned char u8g_logo_bits[] U8G_PROGMEM = { + 0xff, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xe0, 0xe0, + 0xff, 0xff, 0x3f, 0xe3, 0xe1, 0xff, 0xff, 0x3f, 0xf3, 0xf1, 0xff, 0xff, + 0x3f, 0xf3, 0xf1, 0xfe, 0xbf, 0x37, 0xf3, 0x11, 0x1c, 0x1f, 0x30, 0xf3, + 0x01, 0x08, 0x8c, 0x20, 0xf3, 0x01, 0x00, 0xc0, 0x39, 0xf3, 0x81, 0xc7, + 0xc1, 0x39, 0xf3, 0xc1, 0xc7, 0xc9, 0x38, 0xf3, 0xc1, 0xc3, 0x19, 0x3c, + 0xe3, 0x89, 0x01, 0x98, 0x3f, 0xc7, 0x18, 0x00, 0x08, 0x3e, 0x0f, 0x3c, + 0x70, 0x1c, 0x30, 0x3f, 0xff, 0xfc, 0x87, 0x31, 0xff, 0xff, 0xbf, 0xc7, + 0x23, 0x01, 0x00, 0x00, 0xc6, 0x23, 0x03, 0x00, 0x00, 0x0e, 0x30, 0xff, + 0xff, 0x3f, 0x1f, 0x3c, 0xff, 0xff, 0x3f, 0xff, 0x3f, 0xff, 0xff, 0x3f, + 0xff, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x3f }; + +void draw(void) { + // graphic commands to redraw the complete screen should be placed here + u8g.drawXBMP( 0, 0, u8g_logo_width, u8g_logo_height, u8g_logo_bits); +} + +void setup(void) { + // flip screen, if required + // u8g.setRot180(); +} + +void loop(void) { + // picture loop + u8g.firstPage(); + do { + draw(); + } while( u8g.nextPage() ); + + // rebuild the picture after some delay + delay(500); +} + diff --git a/machines/avr/arduino/libraries/U8glib/extras/ChangeLog b/machines/avr/arduino/libraries/U8glib/extras/ChangeLog new file mode 100644 index 000000000..42b2bf96b --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/extras/ChangeLog @@ -0,0 +1,167 @@ + +u8glib ChangeLog + +2012-01-01 v0.01 Oliver Kraus + * first beta release for Arduino IDE with simple SSD1325 support +2012-01-04 v0.02 Oliver Kraus + * support for some more display types +2012-01-07 v0.03 Oliver Kraus + * fixed some bugs, added more examples +2012-01-07 v0.04 Oliver Kraus + * single font file +2012-01-08 v0.05 Oliver Kraus + * Cleanup + * More examples + * SSD1325 graylevel support +2012-01-15 v0.06 Oliver Kraus + * LM6063 support +2012-01-17 v0.07 Oliver Kraus + * LM6063 support (update) +2012-01-19 v0.08 Oliver Kraus + * ST7920 beta device +2012-01-21 v0.09 Oliver Kraus + * ST7920 fixed (192x32) + * fixed bug in com layer if pins are none + * str reference position +2012-01-22 v0.10 Oliver Kraus + * Experimental LM6059 +2012-01-24 v0.11 Oliver Kraus + * new st7920 memory layout for 128x64 lcd + * experimental st7920 SPI +2012-01-25 v0.12 Oliver Kraus + * fixed st7920 memory layout for 128x64 lcd + * ST7920 SPI performance improvement +2012-01-27 v0.13 Oliver Kraus + * LM6059 (Adafruit Display) fixed +2012-02-01 v0.14 Oliver Kraus + * undoRotation() + * setRot..() can be used without restrictions + * Class U8GLIB derived from Print class. New function "print" + * Fixed memory index bug in the page management procedures +2012-02-12 v1.00 Oliver Kraus + * XBM support + * F() macro support + * str-rotation commands support ref-height and ref-position +2012-03-17 v1.02 Oliver Kraus + * U8GLIB_ST7687_C144MVGD spi experimental + * U8GLIB_LC7981_160X80 8bit + * Intersection test for frame and box procedures + * 4L double memory architecture + * setContrast infrastructure implemented, but not available for all devices + * drawCircle, drawDisc + * Bugfix for drawStr270 + * New examples: Chess (ported from dogm128 lib) and GraphicsTest +2012-03-31 v1.03 Oliver Kraus + * experimental parallel mode atmega + * more unifont code pages + * double memory, for NHD OLED and DOGXL160 + * "Menu" example + * drawLine +2012-04-13 v1.04 Oliver Kraus + * Adjust U8grelease: Same version number with AVR and Arduino variant +2012-06-10 v1.05 Oliver Kraus + * m2icon font + * experimental lc7981_240x64 device + * experimental ssd1306 + * experimental ssd1322 + * Hardware state backup/restore procedure +2012-06-15 v1.06 Oliver Kraus + * SBN1661 (SED1520?) support + * SSD1306 support + * U8G_PROGMEM bugfix +2012-07-04 v1.07 Oliver Kraus + * Added Makefiles for AVR release (issue 77) + * Fixed examples for Arduino Environment (issue 78) +2012-10-02 v1.08 Oliver Kraus + * Improved delay calculation for strobe pulse (issue 20) + * Support Chipkit (issue 39) + * Improved speed for ST7920 parallel mode (issue 79) + * Overall speed optimization (new page intersection algorithm) + * Support for Displays Newhaven NHD-C12864, CrystalFontz GFAG20232, Seeedstudio 96x96 OLED + * Added SPI support for ST7920 with plain AVR (issue 85) + * Add more LC7981 devices +2012-12-23 v1.09 Oliver Kraus + * Support for Displaytech 64128n + * Support for MINI12864 + * HW SPI for ST7920 + * Add delay after sending a byte with (ST7920 com) + * Support ATTiny + * Support I2C for SSD1306 + * bdf2u8g, Windows executable released + * LC7981 320x64 + * Scalue up: u8g::setScale2x2 + * Added more bitmap fonts + * u8g::drawRBox(), u8g::drawRFrame() + * Support for CFAG20232 (st7920_202x32) + * Fixed ST7920 SW SPI for ChipKit + * Support for tls8204 +2013-02-02 v1.10 Oliver Kraus + * Support for SSD1309 + * Support for NHD-C12832A1Z + * Bugfix: Fixed reset controll in parallel modes + * Bugfix: Fixed calculation of cursor position + * Bugfix: ST7920 parallel mode +2013-03-2 v1.11 Oliver Kraus + * Support for T6963 + * Support for Arduino Due + * Sleep Mode + * 4x mode for ST7920 + * New C++ interface for ST7920 +2013-03-24 v1.12 Oliver Kraus + * Added touch panel examples +2013-06-30 v1.13 Oliver Kraus + * Fixed missing "Arduino.h" in u8g_delay.c + * Disable interrupt for port/pin access (AVR), issue 19 + * Support for HT1632: U8GLIB_HT1632_24X16 u8g(wr, data, cs), issue 165 + * Support for SSD1351 OLED, issue 168 + * Cleaned up several compiler warnings + * Fixed conflict with scheduler (Arduino Due), issue 155 + * HW SPI for Arduino Due, issue 180 + * Performance improvement for ST7920, issue 177 + * Added ":" to the "n"umeric variant of the fonts, issue 166 + * Added additional argument u8g_InitCom(). Use U8G_SPI_CLK_CYCLE_NONE by default. + * Added double buffer option for many ST7565 devices + * Tested with Arduino 1.0.5 +2013-10-03 v1.14 Oliver Kraus + * Support for ARM controller + * Support for the A2 micro printer (issue 191) + * Ellipse drawing primitive (issue 187) + * Added software reset for UC1701 + * Fixed compiler warning (issue 196) + * Support for Freetronics SSD1351 OLED (issue 195) + * Several other fixes and improvements +2014-01-25 v1.15 Oliver Kraus + * Fixed a bug with the rotation procs: Occupied too much flash ROM (issue 219) + * Fixed issue with more than one SPI controller (SW SPI, issue 227) + * Added "drawTriangle" (issue 226) + * Added support for UC1608 (issue 214) + * Added ProFont family of fonts (issue 234) + * SW SPI support for Teensy 3 (issue 230) + * Removed Arduino/AVR specific files from ARM port (issue 209) +2014-07-05 v1.16 Oliver Kraus + * Added support for LD7032 60x32 OLED + * Added support for SSD1306 OLED, which does not send I2C ACK (issue 239) + * Added support for SH1106 128x64 OLED + * Added support for T6963 128x128 displays + * Added U8GLIB_SSD1306_ADAFRUIT_128X64 constructor +2014-12-21 v1.17 Oliver Kraus + * Added U8GLIB_UC1611_DOGM240 constructor (Issue 284) + * Added U8GLIB_UC1611_DOGXL240 constructor + * Added support for UC1608 controller (Issue 300) + * Added U8GLIB_SSD1306_ADAFRUIT_128X64 for Adafruit OLEDs (Issue 289) + * Bufix in the sleep on/off sequence (CS has not been releases, issue 298) + * helvB and helvR number only fonts (Issue 271) + * 400KHz option for I2C with U8G_I2C_OPT_FAST available for Due and Uno (Issue 303) + * I2C support for Arduino Due. 100KHz/400KHz, TWI & TWI1, ACK will be ignored (issue 285) + * Unifont update (Issue 297) +2015-07-14 v1.18 Oliver Kraus + * Fixed contrast assignment for SSD1309 and UC1611 + * Fixed bug in u8g_DrawLine(), Github issue 343 + * Fixed bug in u8g_DrawStr90P(), Github issue 331 + * Support for SSD1306 with 64x48 pixel +2016-04-05 v1.19 + * Fixed contrast (brightness) setting for SH1106 and SSD1306 devices + * Fixed compiler warnings + + + diff --git a/machines/avr/arduino/libraries/U8glib/extras/INSTALL.TXT b/machines/avr/arduino/libraries/U8glib/extras/INSTALL.TXT new file mode 100644 index 000000000..efcedd03b --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/extras/INSTALL.TXT @@ -0,0 +1,26 @@ + +U8GLIB +http://code.google.com/p/u8glib/ + +Install instructions for the Arduino environment. + + 1. Start Arduino IDE + 2. In the Arduino IDE, import the library from the "Add Library" Menu. + +Alternative install instructions for the Arduino environment. + + 1. Unzip u8glib_arduino_vX.XX.zip into the "libraries" folder of the + Arduino install directory + 2. Start Arduino IDE + +Install instructions for the Chipkit (Arduino) environment. + + 1. cd /libraries + 2. unzip u8glib_arduino_vX.XX.zip + 3. cd ///hardware/pic32/libraries + 4. again: u8glib_arduino_vX.XX.zip + 5. Open hardware/pic32/cores/pic32/Print.h + Remove line + #define BYTE 0 + from the file, use PRINT_BYTE instead of BYTE. + \ No newline at end of file diff --git a/machines/avr/arduino/libraries/U8glib/library.properties b/machines/avr/arduino/libraries/U8glib/library.properties new file mode 100644 index 000000000..348033440 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/library.properties @@ -0,0 +1,9 @@ +name=U8glib +version=1.19.1 +author=oliver +maintainer=oliver +sentence=A library for monochrome TFTs and OLEDs +paragraph=Supported display controller: SSD1306, SSD1309, SSD1322, SSD1325, SSD1327, SH1106, UC1601, UC1610, UC1611, UC1701, ST7565, ST7920, KS0108, LC7981, PCD8544, PCF8812, SBN1661, TLS8204, T6963. +category=Display +url=https://github.com/olikraus/u8glib +architectures=avr,sam \ No newline at end of file diff --git a/machines/avr/arduino/libraries/U8glib/license.txt b/machines/avr/arduino/libraries/U8glib/license.txt new file mode 100644 index 000000000..f1a9615c7 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/license.txt @@ -0,0 +1,81 @@ + +The U8glib code (http://code.google.com/p/u8glib/) is licensed under the terms of +the new-bsd license (two-clause bsd license). +See also: http://www.opensource.org/licenses/bsd-license.php + +The repository and optionally the releases contain icons, which are +derived from the WPZOOM Developer Icon Set: +http://www.wpzoom.com/wpzoom/new-freebie-wpzoom-developer-icon-set-154-free-icons/ +WPZOOM Developer Icon Set by WPZOOM is licensed under a Creative Commons +Attribution-ShareAlike 3.0 Unported License. + +Fonts are licensed under different conditions. +See http://code.google.com/p/u8glib/wiki/fontgroup for +detailed information on the licensing conditions for each font. + +============ X11 Fonts COUR, HELV, NCEN, TIM, SYMB ============ + +For fonts derived from the following files, the license below applies. +COURB08.BDF COURB10.BDF COURB12.BDF COURB14.BDF COURB18.BDF +COURB24.BDF COURR08.BDF COURR10.BDF COURR12.BDF COURR14.BDF +COURR18.BDF COURR24.BDF HELVB08.BDF HELVB10.BDF HELVB12.BDF HELVB14.BDF +HELVB18.BDF HELVB24.BDF HELVR08.BDF HELVR10.BDF HELVR12.BDF HELVR14.BDF +HELVR18.BDF HELVR24.BDF NCENB08.BDF NCENB10.BDF NCENB12.BDF +NCENB14.BDF NCENB18.BDF NCENB24.BDF NCENR08.BDF NCENR10.BDF +NCENR12.BDF NCENR14.BDF NCENR18.BDF NCENR24.BDF SYMB08.BDF SYMB10.BDF +SYMB12.BDF SYMB14.BDF SYMB18.BDF SYMB24.BDF TIMB08.BDF TIMB10.BDF +TIMB12.BDF TIMB14.BDF TIMB18.BDF TIMB24.BDF TIMR08.BDF TIMR10.BDF +TIMR12.BDF TIMR14.BDF TIMR18.BDF TIMR24.BDF + +Copyright 1984-1989, 1994 Adobe Systems Incorporated. +Copyright 1988, 1994 Digital Equipment Corporation. + +Adobe is a trademark of Adobe Systems Incorporated which may be +registered in certain jurisdictions. +Permission to use these trademarks is hereby granted only in +association with the images described in this file. + +Permission to use, copy, modify, distribute and sell this software +and its documentation for any purpose and without fee is hereby +granted, provided that the above copyright notices appear in all +copies and that both those copyright notices and this permission +notice appear in supporting documentation, and that the names of +Adobe Systems and Digital Equipment Corporation not be used in +advertising or publicity pertaining to distribution of the software +without specific, written prior permission. Adobe Systems and +Digital Equipment Corporation make no representations about the +suitability of this software for any purpose. It is provided "as +is" without express or implied warranty. + + +============ BSD License for U8glib Code ============ + +Universal 8bit Graphics Library (http://code.google.com/p/u8glib/) + +Copyright (c) 2011, olikraus@gmail.com +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, +are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, +STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + diff --git a/machines/avr/arduino/libraries/U8glib/src/U8glib.cpp b/machines/avr/arduino/libraries/U8glib/src/U8glib.cpp new file mode 100644 index 000000000..c2cc479a3 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/U8glib.cpp @@ -0,0 +1,80 @@ +/* + + U8glib.cpp + + C++ Interface + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +*/ + +#include "U8glib.h" + + +#if defined(U8G_WITH_PINLIST) +uint8_t U8GLIB::initSPI(u8g_dev_t *dev, uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset) +{ + prepare(); + return u8g_InitSPI(&u8g, dev, sck, mosi, cs, a0, reset); +} + +uint8_t U8GLIB::initHWSPI(u8g_dev_t *dev, uint8_t cs, uint8_t a0, uint8_t reset) +{ + prepare(); + return u8g_InitHWSPI(&u8g, dev, cs, a0, reset); +} + +uint8_t U8GLIB::initI2C(u8g_dev_t *dev, uint8_t options) +{ + prepare(); + return u8g_InitI2C(&u8g, dev, options); +} + +uint8_t U8GLIB::init8Bit(u8g_dev_t *dev, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, + uint8_t en, uint8_t cs1, uint8_t cs2, uint8_t di, uint8_t rw, uint8_t reset) +{ + prepare(); + return u8g_Init8Bit(&u8g, dev, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, cs2, di, rw, reset); +} + +uint8_t U8GLIB::init8BitFixedPort(u8g_dev_t *dev, uint8_t en, uint8_t cs, uint8_t di, uint8_t rw, uint8_t reset) +{ + prepare(); + return u8g_Init8BitFixedPort(&u8g, dev, en, cs, di, rw, reset); +} + +uint8_t U8GLIB::initRW8Bit(u8g_dev_t *dev, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, + uint8_t cs, uint8_t a0, uint8_t wr, uint8_t rd, uint8_t reset) +{ + prepare(); + return u8g_InitRW8Bit(&u8g, dev, d0, d1, d2, d3, d4, d5, d6, d7, cs, a0, wr, rd, reset); +} +#endif + diff --git a/machines/avr/arduino/libraries/U8glib/src/U8glib.h b/machines/avr/arduino/libraries/U8glib/src/U8glib.h new file mode 100644 index 000000000..849d57b65 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/U8glib.h @@ -0,0 +1,1305 @@ +/* + + U8glib.h + + C++ Interface + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +*/ + +#ifndef _CPP_U8GLIB +#define _CPP_U8GLIB + +#include +#include "clib/u8g.h" + + +class U8GLIB : public Print +{ + private: + u8g_t u8g; + u8g_uint_t tx, ty; // current position for the Print base class procedures + uint8_t is_begin; + + void prepare(void) { tx = 0; ty = 0; is_begin = 0; } + void cbegin(void) { if ( is_begin == 0 ) { is_begin = 1; u8g_Begin(&u8g); } } + uint8_t initSPI(u8g_dev_t *dev, uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE); + uint8_t initHWSPI(u8g_dev_t *dev, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE); + uint8_t initI2C(u8g_dev_t *dev, uint8_t options); + protected: + uint8_t init8BitFixedPort(u8g_dev_t *dev, uint8_t en, uint8_t cs, uint8_t di, uint8_t rw, uint8_t reset); + private: + uint8_t init8Bit(u8g_dev_t *dev, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t en, uint8_t cs1, uint8_t cs2, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE); + uint8_t initRW8Bit(u8g_dev_t *dev, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t cs, uint8_t a0, uint8_t wr, uint8_t rd, uint8_t reset); + public: + + /* constructor */ + U8GLIB(void) + { } + U8GLIB(u8g_dev_t *dev) + { prepare(); u8g_Init(&u8g, dev); } + U8GLIB(u8g_dev_t *dev, u8g_com_fnptr com_fn) + { prepare(); u8g_InitComFn(&u8g, dev, com_fn); } + U8GLIB(u8g_dev_t *dev, uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset) + { initSPI(dev, sck, mosi, cs, a0, reset); } + U8GLIB(u8g_dev_t *dev, uint8_t cs, uint8_t a0, uint8_t reset) + { initHWSPI(dev, cs, a0, reset); } + U8GLIB(u8g_dev_t *dev, uint8_t options) + { initI2C(dev, options); } + U8GLIB(u8g_dev_t *dev, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t en, uint8_t cs1, uint8_t cs2, uint8_t di, uint8_t rw, uint8_t reset) + { init8Bit(dev, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, cs2, di, rw, reset); } + U8GLIB(u8g_dev_t *dev, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, uint8_t cs, uint8_t a0, uint8_t wr, uint8_t rd, uint8_t reset) + { initRW8Bit(dev, d0, d1, d2, d3, d4, d5, d6, d7, cs, a0, wr, rd, reset); } + + uint8_t begin(void) { is_begin = 1; return u8g_Begin(&u8g); } + + void setPrintPos(u8g_uint_t x, u8g_uint_t y) { tx = x; ty = y; } + u8g_t *getU8g(void) { return &u8g; } + u8g_uint_t getPrintCol(void) { return tx; } + u8g_uint_t getPrintRow(void) { return ty; } + + /* implementation of the write interface to the print class */ +#if defined(ARDUINO) && ARDUINO < 100 + void write(uint8_t c) { tx += u8g_DrawGlyph(&u8g, tx, ty, c); } +#else + size_t write(uint8_t c) { tx += u8g_DrawGlyph(&u8g, tx, ty, c); return 1;} +#endif + + /* screen rotation */ + void undoRotation(void) { u8g_UndoRotation(&u8g); } + void setRot90(void) { u8g_SetRot90(&u8g); } + void setRot180(void) { u8g_SetRot180(&u8g); } + void setRot270(void) { u8g_SetRot270(&u8g); } + + /* screen scaling */ + void undoScale(void) { u8g_UndoScale(&u8g); } + void setScale2x2(void) { u8g_SetScale2x2(&u8g); } + + /* picture loop */ + void firstPage(void) { cbegin(); u8g_FirstPage(&u8g); } + uint8_t nextPage(void) { return u8g_NextPage(&u8g); } + + /* system commands */ + uint8_t setContrast(uint8_t contrast) { cbegin(); return u8g_SetContrast(&u8g, contrast); } + void sleepOn(void) { u8g_SleepOn(&u8g); } + void sleepOff(void) { u8g_SleepOff(&u8g); } + + /* graphic primitives */ + void setColorEntry(uint8_t color_index, uint8_t r, uint8_t g, uint8_t b) { u8g_SetColorEntry(&u8g, color_index, r, g, b); } + void setHiColor(uint16_t rgb) { u8g_SetHiColor(&u8g, rgb); } + void setHiColorByRGB(uint8_t r, uint8_t g, uint8_t b) { u8g_SetHiColorByRGB(&u8g, r, g, b); } + void setRGB(uint8_t r, uint8_t g, uint8_t b) { u8g_SetRGB(&u8g, r, g, b); } + + void setColorIndex(uint8_t color_index) { u8g_SetColorIndex(&u8g, color_index); } + uint8_t getColorIndex(void) { return u8g_GetColorIndex(&u8g); } + + void setDefaultForegroundColor(void) { u8g_SetDefaultForegroundColor(&u8g); } + void setDefaultBackgroundColor(void) { u8g_SetDefaultBackgroundColor(&u8g); } + void setDefaultMidColor(void) { u8g_SetDefaultMidColor(&u8g); } + + u8g_uint_t getWidth(void) { return u8g_GetWidth(&u8g); } + u8g_uint_t getHeight(void) { return u8g_GetHeight(&u8g); } + uint8_t getMode(void) { return u8g_GetMode(&u8g); } + + void drawPixel(u8g_uint_t x, u8g_uint_t y) { return u8g_DrawPixel(&u8g, x, y); } + void drawHLine(u8g_uint_t x, u8g_uint_t y, u8g_uint_t w) { u8g_DrawHLine(&u8g, x, y, w); } + void drawVLine(u8g_uint_t x, u8g_uint_t y, u8g_uint_t h) { u8g_DrawVLine(&u8g, x, y, h); } + void drawLine(u8g_uint_t x1, u8g_uint_t y1, u8g_uint_t x2, u8g_uint_t y2) { u8g_DrawLine(&u8g, x1, y1, x2, y2); } + + void drawFrame(u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h) { u8g_DrawFrame(&u8g, x, y, w, h); } + void drawRFrame(u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h, u8g_uint_t r) { u8g_DrawRFrame(&u8g, x, y, w, h,r); } + void drawBox(u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h) { u8g_DrawBox(&u8g, x, y, w, h); } + void drawRBox(u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h, u8g_uint_t r) { u8g_DrawRBox(&u8g, x, y, w, h,r); } + + void drawCircle(u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t opt = U8G_DRAW_ALL) { u8g_DrawCircle(&u8g, x0, y0, rad, opt); } + void drawDisc(u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t opt = U8G_DRAW_ALL) { u8g_DrawDisc(&u8g, x0, y0, rad, opt); } + + void drawEllipse(u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rx, u8g_uint_t ry, uint8_t opt = U8G_DRAW_ALL) { u8g_DrawEllipse(&u8g, x0, y0, rx, ry, opt); } + void drawFilledEllipse(u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rx, u8g_uint_t ry, uint8_t opt = U8G_DRAW_ALL) { u8g_DrawFilledEllipse(&u8g, x0, y0, rx, ry, opt); } + + void drawTriangle(uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2) + { u8g_DrawTriangle(&u8g, x0, y0, x1, y1, x2, y2); } + + + + /* bitmap handling */ + void drawBitmap(u8g_uint_t x, u8g_uint_t y, u8g_uint_t cnt, u8g_uint_t h, const uint8_t *bitmap) + { u8g_DrawBitmap(&u8g, x, y, cnt, h, bitmap); } + void drawBitmapP(u8g_uint_t x, u8g_uint_t y, u8g_uint_t cnt, u8g_uint_t h, const u8g_pgm_uint8_t *bitmap) + { u8g_DrawBitmapP(&u8g, x, y, cnt, h, bitmap); } + + void drawXBM(u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h, const uint8_t *bitmap) + { u8g_DrawXBM(&u8g, x, y, w, h, bitmap); } + void drawXBMP(u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h, const u8g_pgm_uint8_t *bitmap) + { u8g_DrawXBMP(&u8g, x, y, w, h, bitmap); } + + + /* font handling */ + void setFont(const u8g_fntpgm_uint8_t *font) {u8g_SetFont(&u8g, font); } + int8_t getFontAscent(void) { return u8g_GetFontAscent(&u8g); } + int8_t getFontDescent(void) { return u8g_GetFontDescent(&u8g); } + int8_t getFontLineSpacing(void) { return u8g_GetFontLineSpacing(&u8g); } + + u8g_uint_t drawStr(u8g_uint_t x, u8g_uint_t y, const char *s) { return u8g_DrawStr(&u8g, x, y, s); } + u8g_uint_t drawStr90(u8g_uint_t x, u8g_uint_t y, const char *s) { return u8g_DrawStr90(&u8g, x, y, s); } + u8g_uint_t drawStr180(u8g_uint_t x, u8g_uint_t y, const char *s) { return u8g_DrawStr180(&u8g, x, y, s); } + u8g_uint_t drawStr270(u8g_uint_t x, u8g_uint_t y, const char *s) { return u8g_DrawStr270(&u8g, x, y, s); } + u8g_uint_t drawStrP(u8g_uint_t x, u8g_uint_t y, const u8g_pgm_uint8_t *s) { return u8g_DrawStrP(&u8g, x, y, s); } + u8g_uint_t drawStr90P(u8g_uint_t x, u8g_uint_t y, const u8g_pgm_uint8_t *s) { return u8g_DrawStr90P(&u8g, x, y, s); } + u8g_uint_t drawStr180P(u8g_uint_t x, u8g_uint_t y, const u8g_pgm_uint8_t *s) { return u8g_DrawStr180P(&u8g, x, y, s); } + u8g_uint_t drawStr270P(u8g_uint_t x, u8g_uint_t y, const u8g_pgm_uint8_t *s) { return u8g_DrawStr270P(&u8g, x, y, s); } + + void setFontPosBaseline(void) { u8g_SetFontPosBaseline(&u8g); } + void setFontPosBottom(void) { u8g_SetFontPosBottom(&u8g); } + void setFontPosCenter(void) { u8g_SetFontPosCenter(&u8g); } + void setFontPosTop(void) { u8g_SetFontPosTop(&u8g); } + + void setFontRefHeightText(void) { u8g_SetFontRefHeightText(&u8g); } + void setFontRefHeightExtendedText(void) { u8g_SetFontRefHeightExtendedText(&u8g); } + void setFontRefHeightAll(void) { u8g_SetFontRefHeightAll(&u8g); } + void setFontLineSpacingFactor(uint8_t factor) { u8g_SetFontLineSpacingFactor(&u8g, factor); } + + + u8g_uint_t getStrPixelWidth(const char *s) { return u8g_GetStrPixelWidth(&u8g, s); } + u8g_uint_t getStrPixelWidthP(u8g_pgm_uint8_t *s) { return u8g_GetStrPixelWidthP(&u8g, s); } + u8g_uint_t getStrWidth(const char *s) { return u8g_GetStrWidth(&u8g, s); } + u8g_uint_t getStrWidthP(u8g_pgm_uint8_t *s) { return u8g_GetStrWidthP(&u8g, s); } + + void setHardwareBackup(u8g_state_cb backup_cb) { u8g_SetHardwareBackup(&u8g, backup_cb); } + +#if defined(ARDUINO) && ARDUINO >= 100 + // support for the F() macro + + u8g_uint_t drawStr(u8g_uint_t x, u8g_uint_t y, const __FlashStringHelper *s) { return u8g_DrawStrP(&u8g, x, y, (u8g_pgm_uint8_t *)s); } + u8g_uint_t drawStr90(u8g_uint_t x, u8g_uint_t y, const __FlashStringHelper *s) { return u8g_DrawStr90P(&u8g, x, y, (u8g_pgm_uint8_t *)s); } + u8g_uint_t drawStr180(u8g_uint_t x, u8g_uint_t y, const __FlashStringHelper *s) { return u8g_DrawStr180P(&u8g, x, y, (u8g_pgm_uint8_t *)s); } + u8g_uint_t drawStr270(u8g_uint_t x, u8g_uint_t y, const __FlashStringHelper *s) { return u8g_DrawStr270P(&u8g, x, y, (u8g_pgm_uint8_t *)s); } + + u8g_uint_t getStrPixelWidth(const __FlashStringHelper *s) { return u8g_GetStrPixelWidthP(&u8g, (u8g_pgm_uint8_t *)s); } + u8g_uint_t getStrWidth(const __FlashStringHelper *s) { return u8g_GetStrWidthP(&u8g, (u8g_pgm_uint8_t *)s); } +#endif + + /* cursor handling */ + void setCursorFont(const u8g_pgm_uint8_t *cursor_font) { u8g_SetCursorFont(&u8g, cursor_font); } + void setCursorStyle(uint8_t encoding) { u8g_SetCursorStyle(&u8g, encoding); } + void setCursorPos(u8g_uint_t cursor_x, u8g_uint_t cursor_y) { u8g_SetCursorPos(&u8g, cursor_x, cursor_y); } + void setCursorColor(uint8_t fg, uint8_t bg) { u8g_SetCursorColor(&u8g, fg, bg); } + void enableCursor(void) { u8g_EnableCursor(&u8g); } + void disableCursor(void) { u8g_DisableCursor(&u8g); } + void drawCursor(void) { u8g_DrawCursor(&u8g); } + + /* virtual screen */ + + void setVirtualScreenDimension(u8g_uint_t width, u8g_uint_t height) { u8g_SetVirtualScreenDimension(&u8g, width, height); } + uint8_t addToVirtualScreen(u8g_uint_t x, u8g_uint_t y, U8GLIB &child_u8g) { return u8g_AddToVirtualScreen(&u8g, x, y, &child_u8g.u8g); } + +}; + + +class U8GLIB_DOGS102 : public U8GLIB +{ + public: + U8GLIB_DOGS102(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_uc1701_dogs102_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_DOGS102(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_uc1701_dogs102_hw_spi, cs, a0, reset) + { } +}; + +class U8GLIB_DOGS102_2X : public U8GLIB +{ + public: + U8GLIB_DOGS102_2X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_uc1701_dogs102_2x_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_DOGS102_2X(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_uc1701_dogs102_2x_hw_spi, cs, a0, reset) + { } +}; + +class U8GLIB_MINI12864 : public U8GLIB +{ + public: + U8GLIB_MINI12864(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_uc1701_mini12864_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_MINI12864(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_uc1701_mini12864_hw_spi, cs, a0, reset) + { } +}; + +class U8GLIB_MINI12864_2X : public U8GLIB +{ + public: + U8GLIB_MINI12864_2X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_uc1701_mini12864_2x_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_MINI12864_2X(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_uc1701_mini12864_2x_hw_spi, cs, a0, reset) + { } +}; + +class U8GLIB_DOGM132 : public U8GLIB +{ + public: + U8GLIB_DOGM132(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_st7565_dogm132_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_DOGM132(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_st7565_dogm132_hw_spi, cs, a0, reset) + { } +}; + +class U8GLIB_NHD_C12832 : public U8GLIB +{ + public: + U8GLIB_NHD_C12832(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_st7565_nhd_c12832_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_NHD_C12832(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_st7565_nhd_c12832_hw_spi, cs, a0, reset) + { } + U8GLIB_NHD_C12832(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, + uint8_t en, uint8_t cs1, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_st7565_nhd_c12832_parallel, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, U8G_PIN_NONE, di, rw, reset) + { } +}; + +class U8GLIB_NHD_C12832_USART : public U8GLIB +{ + public: + U8GLIB_NHD_C12832_USART(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_st7565_nhd_c12832_hw_usart_spi, cs, a0, reset) + { } +}; + +class U8GLIB_DOGM128 : public U8GLIB +{ + public: + U8GLIB_DOGM128(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_st7565_dogm128_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_DOGM128(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_st7565_dogm128_hw_spi, cs, a0, reset) + { } + U8GLIB_DOGM128(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, + uint8_t en, uint8_t cs1, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_st7565_dogm128_parallel, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, U8G_PIN_NONE, di, rw, reset) + { } +}; + +class U8GLIB_DOGM128_2X : public U8GLIB +{ + public: + U8GLIB_DOGM128_2X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_st7565_dogm128_2x_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_DOGM128_2X(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_st7565_dogm128_2x_hw_spi, cs, a0, reset) + { } + U8GLIB_DOGM128_2X(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, + uint8_t en, uint8_t cs1, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_st7565_dogm128_2x_parallel, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, U8G_PIN_NONE, di, rw, reset) + { } +}; + +class U8GLIB_LM6059 : public U8GLIB +{ + public: + U8GLIB_LM6059(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_st7565_lm6059_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_LM6059(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_st7565_lm6059_hw_spi, cs, a0, reset) + { } +}; + +class U8GLIB_LM6059_2X : public U8GLIB +{ + public: + U8GLIB_LM6059_2X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_st7565_lm6059_2x_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_LM6059_2X(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_st7565_lm6059_2x_hw_spi, cs, a0, reset) + { } +}; + +class U8GLIB_LM6063 : public U8GLIB +{ + public: + U8GLIB_LM6063(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_st7565_lm6063_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_LM6063(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_st7565_lm6063_hw_spi, cs, a0, reset) + { } +}; + +class U8GLIB_LM6063_2X : public U8GLIB +{ + public: + U8GLIB_LM6063_2X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_st7565_lm6063_2x_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_LM6063_2X(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_st7565_lm6063_2x_hw_spi, cs, a0, reset) + { } +}; + +class U8GLIB_64128N : public U8GLIB +{ + public: + U8GLIB_64128N(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_st7565_64128n_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_64128N(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_st7565_64128n_hw_spi, cs, a0, reset) + { } + U8GLIB_64128N(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, + uint8_t en, uint8_t cs1, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_st7565_64128n_parallel, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, U8G_PIN_NONE, di, rw, reset) + { } +}; + +class U8GLIB_64128N_2X : public U8GLIB +{ + public: + U8GLIB_64128N_2X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_st7565_64128n_2x_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_64128N_2X(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_st7565_64128n_2x_hw_spi, cs, a0, reset) + { } + U8GLIB_64128N_2X(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, + uint8_t en, uint8_t cs1, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_st7565_64128n_2x_parallel, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, U8G_PIN_NONE, di, rw, reset) + { } +}; + +class U8GLIB_NHD_C12864 : public U8GLIB +{ + public: + U8GLIB_NHD_C12864(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_st7565_nhd_c12864_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_NHD_C12864(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_st7565_nhd_c12864_hw_spi, cs, a0, reset) + { } +}; + +class U8GLIB_NHD_C12864_2X : public U8GLIB +{ + public: + U8GLIB_NHD_C12864_2X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_st7565_nhd_c12864_2x_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_NHD_C12864_2X(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_st7565_nhd_c12864_2x_hw_spi, cs, a0, reset) + { } +}; + +class U8GLIB_UC1601_C128032 : public U8GLIB +{ + public: + U8GLIB_UC1601_C128032(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_uc1601_c128032_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_UC1601_C128032(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_uc1601_c128032_hw_spi, cs, a0, reset) + { } +}; + +class U8GLIB_UC1601_C128032_2X : public U8GLIB +{ + public: + U8GLIB_UC1601_C128032_2X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_uc1601_c128032_2x_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_UC1601_C128032_2X(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_uc1601_c128032_2x_hw_spi, cs, a0, reset) + { } +}; + +class U8GLIB_UC1608_240X64 : public U8GLIB +{ + public: + U8GLIB_UC1608_240X64(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_uc1608_240x64_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_UC1608_240X64(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_uc1608_240x64_hw_spi, cs, a0, reset) + { } +}; + +class U8GLIB_UC1608_240X64_2X : public U8GLIB +{ + public: + U8GLIB_UC1608_240X64_2X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_uc1608_240x64_2x_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_UC1608_240X64_2X(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_uc1608_240x64_2x_hw_spi, cs, a0, reset) + { } +}; + +class U8GLIB_UC1608_240X128 : public U8GLIB +{ + public: + U8GLIB_UC1608_240X128(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_uc1608_240x128_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_UC1608_240X128(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_uc1608_240x128_hw_spi, cs, a0, reset) + { } +}; + +class U8GLIB_UC1608_240X128_2X : public U8GLIB +{ + public: + U8GLIB_UC1608_240X128_2X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_uc1608_240x128_2x_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_UC1608_240X128_2X(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_uc1608_240x128_2x_hw_spi, cs, a0, reset) + { } +}; + + +class U8GLIB_UC1611_DOGM240 : public U8GLIB +{ + public: + U8GLIB_UC1611_DOGM240(uint8_t options = U8G_I2C_OPT_NONE) + : U8GLIB(&u8g_dev_uc1611_dogm240_i2c, options) + {} + U8GLIB_UC1611_DOGM240(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_uc1611_dogm240_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_UC1611_DOGM240(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_uc1611_dogm240_hw_spi, cs, a0, reset) + { } + U8GLIB_UC1611_DOGM240(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, + uint8_t en, uint8_t cs1, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_uc1611_dogm240_8bit, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, U8G_PIN_NONE, di, rw, reset) // cs2 = U8G_PIN_NONE + { } +}; + +class U8GLIB_UC1611_DOGXL240 : public U8GLIB +{ + public: + U8GLIB_UC1611_DOGXL240(uint8_t options = U8G_I2C_OPT_NONE) + : U8GLIB(&u8g_dev_uc1611_dogxl240_i2c, options) + {} + U8GLIB_UC1611_DOGXL240(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_uc1611_dogxl240_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_UC1611_DOGXL240(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_uc1611_dogxl240_hw_spi, cs, a0, reset) + { } + U8GLIB_UC1611_DOGXL240(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, + uint8_t en, uint8_t cs1, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_uc1611_dogxl240_8bit, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, U8G_PIN_NONE, di, rw, reset) // cs2 = U8G_PIN_NONE + { } +}; + +class U8GLIB_ST7920_128X64 : public U8GLIB +{ + public: + U8GLIB_ST7920_128X64(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_st7920_128x64_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_ST7920_128X64(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_st7920_128x64_hw_spi, cs, a0, reset) + { } + U8GLIB_ST7920_128X64(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, + uint8_t en, uint8_t cs1, uint8_t cs2, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_st7920_128x64_8bit, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, cs2, di, rw, reset) + { } + // U8GLIB_ST7920_128X64(uint8_t cs) + // : U8GLIB(&u8g_dev_st7920_128x64_sw_spi, cs, U8G_PIN_NONE, U8G_PIN_NONE) + // { } +}; + +class U8GLIB_ST7920_128X64_1X : public U8GLIB +{ + public: + U8GLIB_ST7920_128X64_1X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_st7920_128x64_sw_spi, sck, mosi, cs, U8G_PIN_NONE, reset) // a0 = U8G_PIN_NONE + { } + U8GLIB_ST7920_128X64_1X(uint8_t cs, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_st7920_128x64_hw_spi, cs, U8G_PIN_NONE, reset) // a0 = U8G_PIN_NONE + { } + U8GLIB_ST7920_128X64_1X(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, + uint8_t en, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_st7920_128x64_8bit, d0, d1, d2, d3, d4, d5, d6, d7, en, U8G_PIN_NONE, U8G_PIN_NONE, di, rw, reset) // cs1 = cs2 = U8G_PIN_NONE + { } +}; + +class U8GLIB_ST7920_128X64_CUSTOM_1X : public U8GLIB +{ + public: + U8GLIB_ST7920_128X64_CUSTOM_1X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_st7920_128x64_custom, sck, mosi, cs, U8G_PIN_NONE, reset) // a0 = U8G_PIN_NONE + { } +}; + +class U8GLIB_ST7920_128X64_4X : public U8GLIB +{ + public: + U8GLIB_ST7920_128X64_4X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_st7920_128x64_4x_sw_spi, sck, mosi, cs, U8G_PIN_NONE, reset) // a0 = U8G_PIN_NONE + { } + U8GLIB_ST7920_128X64_4X(uint8_t cs, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_st7920_128x64_4x_hw_spi, cs, U8G_PIN_NONE, reset) // a0 = U8G_PIN_NONE + { } + U8GLIB_ST7920_128X64_4X(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, + uint8_t en, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_st7920_128x64_4x_8bit, d0, d1, d2, d3, d4, d5, d6, d7, en, U8G_PIN_NONE, U8G_PIN_NONE, di, rw, reset) // cs1 = cs2 = U8G_PIN_NONE + { } +}; + +class U8GLIB_ST7920_128X64_CUSTOM_4X : public U8GLIB +{ + public: + U8GLIB_ST7920_128X64_CUSTOM_4X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_st7920_128x64_4x_custom, sck, mosi, cs, U8G_PIN_NONE, reset) // a0 = U8G_PIN_NONE + { } +}; + + +class U8GLIB_ST7920_192X32 : public U8GLIB // OBSOLETE, use U8GLIB_ST7920_192X32_1X instead +{ + public: + U8GLIB_ST7920_192X32(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_st7920_192x32_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_ST7920_192X32(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_st7920_192x32_hw_spi, cs, a0, reset) + { } + U8GLIB_ST7920_192X32(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, + uint8_t en, uint8_t cs1, uint8_t cs2, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_st7920_192x32_8bit, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, cs2, di, rw, reset) + { } +}; + +class U8GLIB_ST7920_192X32_1X : public U8GLIB +{ + public: + U8GLIB_ST7920_192X32_1X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_st7920_192x32_sw_spi, sck, mosi, cs, U8G_PIN_NONE, reset) // a0 = U8G_PIN_NONE + { } + U8GLIB_ST7920_192X32_1X(uint8_t cs, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_st7920_192x32_hw_spi, cs, U8G_PIN_NONE, reset) // a0 = U8G_PIN_NONE + { } + U8GLIB_ST7920_192X32_1X(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, + uint8_t en, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_st7920_192x32_8bit, d0, d1, d2, d3, d4, d5, d6, d7, en, U8G_PIN_NONE, U8G_PIN_NONE, di, rw, reset) // cs1 = cs2 = U8G_PIN_NONE + { } +}; + +class U8GLIB_ST7920_192X32_4X : public U8GLIB +{ + public: + U8GLIB_ST7920_192X32_4X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_st7920_192x32_4x_sw_spi, sck, mosi, cs, U8G_PIN_NONE, reset) // a0 = U8G_PIN_NONE + { } + U8GLIB_ST7920_192X32_4X(uint8_t cs, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_st7920_192x32_4x_hw_spi, cs, U8G_PIN_NONE, reset) // a0 = U8G_PIN_NONE + { } + U8GLIB_ST7920_192X32_4X(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, + uint8_t en, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_st7920_192x32_4x_8bit, d0, d1, d2, d3, d4, d5, d6, d7, en, U8G_PIN_NONE, U8G_PIN_NONE, di, rw, reset) // cs1 = cs2 = U8G_PIN_NONE + { } +}; + + +class U8GLIB_ST7920_202X32 : public U8GLIB +{ + public: + U8GLIB_ST7920_202X32(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_st7920_202x32_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_ST7920_202X32(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_st7920_202x32_hw_spi, cs, a0, reset) + { } + U8GLIB_ST7920_202X32(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, + uint8_t en, uint8_t cs1, uint8_t cs2, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_st7920_202x32_8bit, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, cs2, di, rw, reset) + { } +}; + +class U8GLIB_ST7920_202X32_1X : public U8GLIB +{ + public: + U8GLIB_ST7920_202X32_1X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_st7920_202x32_sw_spi, sck, mosi, cs, U8G_PIN_NONE, reset) // a0 = U8G_PIN_NONE + { } + U8GLIB_ST7920_202X32_1X(uint8_t cs, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_st7920_202x32_hw_spi, cs, U8G_PIN_NONE, reset) // a0 = U8G_PIN_NONE + { } + U8GLIB_ST7920_202X32_1X(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, + uint8_t en, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_st7920_202x32_8bit, d0, d1, d2, d3, d4, d5, d6, d7, en, U8G_PIN_NONE, U8G_PIN_NONE, di, rw, reset) // cs1 = cs2 = U8G_PIN_NONE + { } +}; + +class U8GLIB_ST7920_202X32_4X : public U8GLIB +{ + public: + U8GLIB_ST7920_202X32_4X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_st7920_202x32_4x_sw_spi, sck, mosi, cs, U8G_PIN_NONE, reset) // a0 = U8G_PIN_NONE + { } + U8GLIB_ST7920_202X32_4X(uint8_t cs, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_st7920_202x32_4x_hw_spi, cs, U8G_PIN_NONE, reset) // a0 = U8G_PIN_NONE + { } + U8GLIB_ST7920_202X32_4X(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, + uint8_t en, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_st7920_202x32_4x_8bit, d0, d1, d2, d3, d4, d5, d6, d7, en, U8G_PIN_NONE, U8G_PIN_NONE, di, rw, reset) // cs1 = cs2 = U8G_PIN_NONE + { } +}; + + +class U8GLIB_LC7981_160X80 : public U8GLIB +{ + public: + U8GLIB_LC7981_160X80(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, + uint8_t en, uint8_t cs1, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_lc7981_160x80_8bit, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, U8G_PIN_NONE, di, rw, reset) + { } +}; + +class U8GLIB_LC7981_240X64 : public U8GLIB +{ + public: + U8GLIB_LC7981_240X64(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, + uint8_t en, uint8_t cs1, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_lc7981_240x64_8bit, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, U8G_PIN_NONE, di, rw, reset) + { } +}; + +class U8GLIB_LC7981_240X128 : public U8GLIB +{ + public: + U8GLIB_LC7981_240X128(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, + uint8_t en, uint8_t cs1, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_lc7981_240x128_8bit, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, U8G_PIN_NONE, di, rw, reset) + { } +}; + +// 16 bit mode required: Remove comment from "#define U8G_16BIT 1" in utility/clib/u8g.h +class U8GLIB_LC7981_320X64 : public U8GLIB +{ + public: + U8GLIB_LC7981_320X64(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, + uint8_t en, uint8_t cs1, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_lc7981_320x64_8bit, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, U8G_PIN_NONE, di, rw, reset) + { } +}; + + + +class U8GLIB_DOGXL160_BW : public U8GLIB +{ + public: + U8GLIB_DOGXL160_BW(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_uc1610_dogxl160_bw_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_DOGXL160_BW(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_uc1610_dogxl160_bw_hw_spi, cs, a0, reset) + { } +}; + +class U8GLIB_DOGXL160_GR : public U8GLIB +{ + public: + U8GLIB_DOGXL160_GR(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_uc1610_dogxl160_gr_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_DOGXL160_GR(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_uc1610_dogxl160_gr_hw_spi, cs, a0, reset) + { } +}; + +class U8GLIB_DOGXL160_2X_BW : public U8GLIB +{ + public: + U8GLIB_DOGXL160_2X_BW(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_uc1610_dogxl160_2x_bw_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_DOGXL160_2X_BW(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_uc1610_dogxl160_2x_bw_hw_spi, cs, a0, reset) + { } +}; + +class U8GLIB_DOGXL160_2X_GR : public U8GLIB +{ + public: + U8GLIB_DOGXL160_2X_GR(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_uc1610_dogxl160_2x_gr_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_DOGXL160_2X_GR(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_uc1610_dogxl160_2x_gr_hw_spi, cs, a0, reset) + { } +}; + + +class U8GLIB_NHD27OLED_BW : public U8GLIB +{ + public: + U8GLIB_NHD27OLED_BW(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ssd1325_nhd27oled_bw_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_NHD27OLED_BW(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ssd1325_nhd27oled_bw_hw_spi, cs, a0, reset) + { } + U8GLIB_NHD27OLED_BW(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, + uint8_t cs, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ssd1325_nhd27oled_bw_parallel, d0, d1, d2, d3, d4, d5, d6, d7, U8G_PIN_NONE, cs, U8G_PIN_NONE, di, rw, reset) + { } +}; + +class U8GLIB_NHD27OLED_2X_BW : public U8GLIB +{ + public: + U8GLIB_NHD27OLED_2X_BW(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ssd1325_nhd27oled_2x_bw_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_NHD27OLED_2X_BW(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ssd1325_nhd27oled_2x_bw_hw_spi, cs, a0, reset) + { } + U8GLIB_NHD27OLED_2X_BW(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, + uint8_t cs, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ssd1325_nhd27oled_2x_bw_parallel, d0, d1, d2, d3, d4, d5, d6, d7, U8G_PIN_NONE, cs, U8G_PIN_NONE, di, rw, reset) + { } +}; + +class U8GLIB_NHD31OLED_BW : public U8GLIB +{ + public: + U8GLIB_NHD31OLED_BW(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ssd1322_nhd31oled_bw_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_NHD31OLED_BW(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ssd1322_nhd31oled_bw_hw_spi, cs, a0, reset) + { } + U8GLIB_NHD31OLED_BW(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, + uint8_t cs, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ssd1322_nhd31oled_bw_parallel, d0, d1, d2, d3, d4, d5, d6, d7, U8G_PIN_NONE, cs, U8G_PIN_NONE, di, rw, reset) + { } +}; + +class U8GLIB_NHD31OLED_2X_BW : public U8GLIB +{ + public: + U8GLIB_NHD31OLED_2X_BW(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ssd1322_nhd31oled_2x_bw_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_NHD31OLED_2X_BW(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ssd1322_nhd31oled_2x_bw_hw_spi, cs, a0, reset) + { } +}; + +class U8GLIB_NHD31OLED_GR : public U8GLIB +{ + public: + U8GLIB_NHD31OLED_GR(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ssd1322_nhd31oled_gr_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_NHD31OLED_GR(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ssd1322_nhd31oled_gr_hw_spi, cs, a0, reset) + { } + U8GLIB_NHD31OLED_GR(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, + uint8_t cs, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ssd1322_nhd31oled_gr_parallel, d0, d1, d2, d3, d4, d5, d6, d7, U8G_PIN_NONE, cs, U8G_PIN_NONE, di, rw, reset) + { } +}; + +class U8GLIB_NHD31OLED_2X_GR : public U8GLIB +{ + public: + U8GLIB_NHD31OLED_2X_GR(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ssd1322_nhd31oled_2x_gr_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_NHD31OLED_2X_GR(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ssd1322_nhd31oled_2x_gr_hw_spi, cs, a0, reset) + { } +}; + + +class U8GLIB_SSD1306_128X64 : public U8GLIB +{ + public: + U8GLIB_SSD1306_128X64(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ssd1306_128x64_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_SSD1306_128X64(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ssd1306_128x64_hw_spi, cs, a0, reset) + { } + U8GLIB_SSD1306_128X64(uint8_t options = U8G_I2C_OPT_NONE) + : U8GLIB(&u8g_dev_ssd1306_128x64_i2c, options) + { } +}; + +class U8GLIB_SSD1306_ADAFRUIT_128X64 : public U8GLIB +{ + public: + U8GLIB_SSD1306_ADAFRUIT_128X64(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ssd1306_adafruit_128x64_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_SSD1306_ADAFRUIT_128X64(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ssd1306_adafruit_128x64_hw_spi, cs, a0, reset) + { } + U8GLIB_SSD1306_ADAFRUIT_128X64(uint8_t options = U8G_I2C_OPT_NONE) + : U8GLIB(&u8g_dev_ssd1306_adafruit_128x64_i2c, options) + { } +}; + + +class U8GLIB_SSD1306_128X64_2X : public U8GLIB +{ + public: + U8GLIB_SSD1306_128X64_2X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ssd1306_128x64_2x_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_SSD1306_128X64_2X(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ssd1306_128x64_2x_hw_spi, cs, a0, reset) + { } + U8GLIB_SSD1306_128X64_2X(uint8_t options = U8G_I2C_OPT_NONE) + : U8GLIB(&u8g_dev_ssd1306_128x64_2x_i2c, options) + { } +}; + +class U8GLIB_SH1106_128X64 : public U8GLIB +{ + public: + U8GLIB_SH1106_128X64(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_sh1106_128x64_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_SH1106_128X64(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_sh1106_128x64_hw_spi, cs, a0, reset) + { } + U8GLIB_SH1106_128X64(uint8_t options = U8G_I2C_OPT_NONE) + : U8GLIB(&u8g_dev_sh1106_128x64_i2c, options) + { } +}; + +class U8GLIB_SH1106_128X64_2X : public U8GLIB +{ + public: + U8GLIB_SH1106_128X64_2X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_sh1106_128x64_2x_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_SH1106_128X64_2X(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_sh1106_128x64_2x_hw_spi, cs, a0, reset) + { } + U8GLIB_SH1106_128X64_2X(uint8_t options = U8G_I2C_OPT_NONE) + : U8GLIB(&u8g_dev_sh1106_128x64_2x_i2c, options) + { } +}; + +class U8GLIB_SSD1309_128X64 : public U8GLIB +{ + public: + U8GLIB_SSD1309_128X64(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ssd1309_128x64_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_SSD1309_128X64(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ssd1309_128x64_hw_spi, cs, a0, reset) + { } + U8GLIB_SSD1309_128X64(uint8_t options = U8G_I2C_OPT_NONE) + : U8GLIB(&u8g_dev_ssd1309_128x64_i2c, options) + { } +}; + +class U8GLIB_SSD1306_128X32 : public U8GLIB +{ + public: + U8GLIB_SSD1306_128X32(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ssd1306_128x32_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_SSD1306_128X32(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ssd1306_128x32_hw_spi, cs, a0, reset) + { } + U8GLIB_SSD1306_128X32(uint8_t options = U8G_I2C_OPT_NONE) + : U8GLIB(&u8g_dev_ssd1306_128x32_i2c, options) + { } +}; + +class U8GLIB_SSD1306_128X32_2X : public U8GLIB +{ + public: + U8GLIB_SSD1306_128X32_2X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ssd1306_128x32_2x_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_SSD1306_128X32_2X(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ssd1306_128x32_2x_hw_spi, cs, a0, reset) + { } + U8GLIB_SSD1306_128X32_2X(uint8_t options = U8G_I2C_OPT_NONE) + : U8GLIB(&u8g_dev_ssd1306_128x32_2x_i2c, options) + { } +}; + +class U8GLIB_SSD1306_64X48 : public U8GLIB +{ + public: + U8GLIB_SSD1306_64X48(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ssd1306_64x48_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_SSD1306_64X48(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ssd1306_64x48_hw_spi, cs, a0, reset) + { } + U8GLIB_SSD1306_64X48(uint8_t options = U8G_I2C_OPT_NONE) + : U8GLIB(&u8g_dev_ssd1306_64x48_i2c, options) + { } +}; + +class U8GLIB_SSD1306_64X48_2X : public U8GLIB +{ + public: + U8GLIB_SSD1306_64X48_2X(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ssd1306_64x48_2x_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_SSD1306_64X48_2X(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ssd1306_64x48_2x_hw_spi, cs, a0, reset) + { } + U8GLIB_SSD1306_64X48_2X(uint8_t options = U8G_I2C_OPT_NONE) + : U8GLIB(&u8g_dev_ssd1306_64x48_2x_i2c, options) + { } +}; + + +class U8GLIB_NHD27OLED_GR : public U8GLIB +{ + public: + U8GLIB_NHD27OLED_GR(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ssd1325_nhd27oled_gr_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_NHD27OLED_GR(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ssd1325_nhd27oled_gr_hw_spi, cs, a0, reset) + { } +}; + +class U8GLIB_NHD27OLED_2X_GR : public U8GLIB +{ + public: + U8GLIB_NHD27OLED_2X_GR(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ssd1325_nhd27oled_2x_gr_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_NHD27OLED_2X_GR(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ssd1325_nhd27oled_2x_gr_hw_spi, cs, a0, reset) + { } +}; + +class U8GLIB_SSD1327_96X96_GR : public U8GLIB +{ + public: + U8GLIB_SSD1327_96X96_GR(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ssd1327_96x96_gr_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_SSD1327_96X96_GR(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ssd1327_96x96_gr_hw_spi, cs, a0, reset) + { } + U8GLIB_SSD1327_96X96_GR(uint8_t options = U8G_I2C_OPT_NONE) + : U8GLIB(&u8g_dev_ssd1327_96x96_gr_i2c, options) + { } +}; + +class U8GLIB_SSD1327_96X96_2X_GR : public U8GLIB +{ + public: + U8GLIB_SSD1327_96X96_2X_GR(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ssd1327_96x96_2x_gr_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_SSD1327_96X96_2X_GR(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ssd1327_96x96_2x_gr_hw_spi, cs, a0, reset) + { } + U8GLIB_SSD1327_96X96_2X_GR(uint8_t options = U8G_I2C_OPT_NONE) + : U8GLIB(&u8g_dev_ssd1327_96x96_2x_gr_i2c, options) + { } +}; + + +class U8GLIB_LD7032_60x32 : public U8GLIB +{ + public: + U8GLIB_LD7032_60x32(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ld7032_60x32_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_LD7032_60x32(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ld7032_60x32_hw_spi, cs, a0, reset) + { } + U8GLIB_LD7032_60x32(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, + uint8_t en, uint8_t cs1, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ld7032_60x32_parallel, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, U8G_PIN_NONE, di, rw, reset) + { } +}; + + + +class U8GLIB_HT1632_24X16 : public U8GLIB +{ + public: + U8GLIB_HT1632_24X16(uint8_t wr, uint8_t data, uint8_t cs) + : U8GLIB(&u8g_dev_ht1632_24x16, wr, data, cs, U8G_PIN_NONE, U8G_PIN_NONE) + { } +}; + + + +class U8GLIB_PCF8812 : public U8GLIB +{ + public: + U8GLIB_PCF8812(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_pcf8812_96x65_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_PCF8812(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_pcf8812_96x65_hw_spi, cs, a0, reset) + { } +}; + +class U8GLIB_PCD8544 : public U8GLIB +{ + public: + U8GLIB_PCD8544(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_pcd8544_84x48_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_PCD8544(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_pcd8544_84x48_hw_spi, cs, a0, reset) + { } +}; + +class U8GLIB_TLS8204_84X48 : public U8GLIB +{ + public: + U8GLIB_TLS8204_84X48(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_tls8204_84x48_sw_spi, sck, mosi, cs, a0, reset) + { } +}; + +class U8GLIB_KS0108_128 : public U8GLIB +{ + public: + U8GLIB_KS0108_128(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, + uint8_t en, uint8_t cs1, uint8_t cs2, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ks0108_128x64_fast, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, cs2, di, rw, reset) + { } +}; + +class U8GLIB_SBN1661_122X32 : public U8GLIB +{ + public: + U8GLIB_SBN1661_122X32(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, + uint8_t cs1, uint8_t cs2, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_sbn1661_122x32, d0, d1, d2, d3, d4, d5, d6, d7, U8G_PIN_NONE, cs1, cs2, di, rw, reset) + { } +}; + +class U8GLIB_T6963_240X128 : public U8GLIB +{ + public: + U8GLIB_T6963_240X128(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, + uint8_t cs, uint8_t a0, uint8_t wr, uint8_t rd, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_t6963_240x128_8bit, d0, d1, d2, d3, d4, d5, d6, d7, cs, a0, wr, rd, reset) + { } +}; + +class U8GLIB_T6963_128X128 : public U8GLIB +{ + public: + U8GLIB_T6963_128X128(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, + uint8_t cs, uint8_t a0, uint8_t wr, uint8_t rd, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_t6963_128x128_8bit, d0, d1, d2, d3, d4, d5, d6, d7, cs, a0, wr, rd, reset) + { } +}; + +class U8GLIB_T6963_240X64 : public U8GLIB +{ + public: + U8GLIB_T6963_240X64(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, + uint8_t cs, uint8_t a0, uint8_t wr, uint8_t rd, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_t6963_240x64_8bit, d0, d1, d2, d3, d4, d5, d6, d7, cs, a0, wr, rd, reset) + { } +}; + +class U8GLIB_T6963_128X64 : public U8GLIB +{ + public: + U8GLIB_T6963_128X64(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, + uint8_t cs, uint8_t a0, uint8_t wr, uint8_t rd, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_t6963_128x64_8bit, d0, d1, d2, d3, d4, d5, d6, d7, cs, a0, wr, rd, reset) + { } +}; + + +class U8GLIB_ST7687_C144MVGD: public U8GLIB +{ + public: + U8GLIB_ST7687_C144MVGD(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_st7687_c144mvgd_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_ST7687_C144MVGD(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, + uint8_t en, uint8_t cs, uint8_t a0, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ks0108_128x64_fast, d0, d1, d2, d3, d4, d5, d6, d7, en, cs, U8G_PIN_NONE, a0, rw, reset) + { } +}; + +class U8GLIB_ILI9325D_320x240 : public U8GLIB +{ + public: + /* + U8GLIB_ILI9325D_320x240(uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, + uint8_t en, uint8_t cs1, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ili9325d_320x240_8bit, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, U8G_PIN_NONE, di, rw, reset) + { } + */ + U8GLIB_ILI9325D_320x240( uint8_t en, uint8_t cs1, uint8_t di, uint8_t rw = U8G_PIN_NONE, uint8_t reset = U8G_PIN_NONE) + { init8BitFixedPort(&u8g_dev_ili9325d_320x240_8bit, en, cs1, di, rw, reset); } +}; + + + +class U8GLIB_SSD1351_128X128_332 : public U8GLIB +{ + public: + U8GLIB_SSD1351_128X128_332(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ssd1351_128x128_332_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_SSD1351_128X128_332(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ssd1351_128x128_332_hw_spi, cs, a0, reset) + { } +}; + +class U8GLIB_SSD1351_128X128_4X_332 : public U8GLIB +{ + public: + U8GLIB_SSD1351_128X128_4X_332(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ssd1351_128x128_4x_332_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_SSD1351_128X128_4X_332(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ssd1351_128x128_4x_332_hw_spi, cs, a0, reset) + { } +}; + +class U8GLIB_SSD1351_128X128GH_332 : public U8GLIB +{ + public: + U8GLIB_SSD1351_128X128GH_332(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ssd1351_128x128gh_332_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_SSD1351_128X128GH_332(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ssd1351_128x128gh_332_hw_spi, cs, a0, reset) + { } +}; + +class U8GLIB_SSD1351_128X128GH_4X_332 : public U8GLIB +{ + public: + U8GLIB_SSD1351_128X128GH_4X_332(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ssd1351_128x128gh_4x_332_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_SSD1351_128X128GH_4X_332(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ssd1351_128x128gh_4x_332_hw_spi, cs, a0, reset) + { } +}; + +class U8GLIB_SSD1351_128X128_IDX : public U8GLIB +{ + public: + U8GLIB_SSD1351_128X128_IDX(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ssd1351_128x128_idx_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_SSD1351_128X128_IDX(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ssd1351_128x128_idx_hw_spi, cs, a0, reset) + { } +}; + +class U8GLIB_SSD1351_128X128_HICOLOR : public U8GLIB +{ + public: + U8GLIB_SSD1351_128X128_HICOLOR(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ssd1351_128x128_hicolor_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_SSD1351_128X128_HICOLOR(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ssd1351_128x128_hicolor_hw_spi, cs, a0, reset) + { } +}; + +class U8GLIB_SSD1351_128X128_4X_HICOLOR : public U8GLIB +{ + public: + U8GLIB_SSD1351_128X128_4X_HICOLOR(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ssd1351_128x128_4x_hicolor_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_SSD1351_128X128_4X_HICOLOR(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ssd1351_128x128_4x_hicolor_hw_spi, cs, a0, reset) + { } +}; + +class U8GLIB_SSD1351_128X128GH_HICOLOR : public U8GLIB +{ + public: + U8GLIB_SSD1351_128X128GH_HICOLOR(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ssd1351_128x128gh_hicolor_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_SSD1351_128X128GH_HICOLOR(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ssd1351_128x128gh_hicolor_hw_spi, cs, a0, reset) + { } +}; + +class U8GLIB_SSD1351_128X128GH_4X_HICOLOR : public U8GLIB +{ + public: + U8GLIB_SSD1351_128X128GH_4X_HICOLOR(uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ssd1351_128x128gh_4x_hicolor_sw_spi, sck, mosi, cs, a0, reset) + { } + U8GLIB_SSD1351_128X128GH_4X_HICOLOR(uint8_t cs, uint8_t a0, uint8_t reset = U8G_PIN_NONE) + : U8GLIB(&u8g_dev_ssd1351_128x128gh_4x_hicolor_hw_spi, cs, a0, reset) + { } +}; + + +class U8GLIB_FLIPDISC_2X7 : public U8GLIB +{ + public: + U8GLIB_FLIPDISC_2X7(void) : U8GLIB(&u8g_dev_flipdisc_2x7) + { } +}; + +class U8GLIB_VS : public U8GLIB +{ + public: + U8GLIB_VS(void) : U8GLIB(&u8g_dev_vs) + { } +}; + + +#endif /* _CPP_U8GLIB */ diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/chessengine.c b/machines/avr/arduino/libraries/U8glib/src/clib/chessengine.c new file mode 100644 index 000000000..f86bf0687 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/chessengine.c @@ -0,0 +1,2392 @@ +/* + chessengine.c + + "Little Rook Chess" (lrc) + + Port to u8g library + + chess for embedded 8-Bit controllers + + Copyright (c) 2012, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + Note: + UNIX_MAIN --> unix console executable + + Current Rule Limitation + - no minor promotion, only "Queening" of the pawn + - threefold repetition is not detected (same board situation appears three times) + Note: Could be implemented, but requires tracking of the complete game + - Fifty-move rule is not checked (no pawn move, no capture within last 50 moves) + + Words + Ply a half move + + General Links + http://chessprogramming.wikispaces.com/ + + Arduino specific + http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1260055596 + + Prefixes + chess_ Generic Chess Application Interface + ce_ Chess engine, used internally, these function should not be called directly + cu_ Chess utility function + stack_ Internal function for stack handling + + Issues + 10.01.2011 + - castling to the right does not move the rook + --> done + - castling to the left: King can only move two squares + --> done + + 11.01.2011 + Next Steps: + - replace stack_NextCurrentPos with cu_NextPos, cleanup code according to the loop variable + --> done + - Castling: Need to check for fields under attack + --> done + + - Check for WIN / LOOSE situation, perhaps call ce_Eval() once on the top-level board setup + just after the real move + - cleanup cu_Move + --> almost done + - add some heuristics to the eval procedure + - add right side menu + --> done + - clean up chess_ManualMove + --> done + - finish menu (consider is_game_end, undo move) + - end condition: if KING is under attack and if KING can not move to a field which is under attack... + then the game is lost. What will be returned by the Eval procedure? is it -INF? + --> finished + + - reduce the use of variable color, all should be reduced to board_orientation and ply&1 + + - chess_GetNextMarked shoud make use of cu_NextPos + --> done + - chess_ManualMove: again cleanup, solve draw issue (KING is not in check and no legal moves are available) + --> done + 22.01.2011 + - simplify eval_t ce_Eval(void) + - position eval does not work, still moves side pawn :-( + maybe because all pieces are considered + --> done + +*/ + +#include "u8g.h" + +//#ifndef __unix__ +//#else +//#include +//#define U8G_NOINLINE +//#endif + +/* +SAN identifies each piece by a single upper case letter. The standard English +values: pawn = "P", knight = "N", bishop = "B", rook = "R", queen = "Q", and +king = "K". +*/ + +/* numbers for the various pieces */ +#define PIECE_NONE 0 +#define PIECE_PAWN 1 +#define PIECE_KNIGHT 2 +#define PIECE_BISHOP 3 +#define PIECE_ROOK 4 +#define PIECE_QUEEN 5 +#define PIECE_KING 6 + +/* color definitions */ +#define COLOR_WHITE 0 +#define COLOR_BLACK 1 + +/* a mask, which includes COLOR and PIECE number */ +#define COLOR_PIECE_MASK 0x01f + +#define CP_MARK_MASK 0x20 + +#define ILLEGAL_POSITION 255 + +/* This is the build in upper limit of the search stack */ +/* This value defines the amount of memory allocated for the search stack */ +/* The search depth of this chess engine can never exceed this value */ +#define STACK_MAX_SIZE 5 + +/* chess half move stack: twice the number of undo's, a user can do */ +#define CHM_USER_SIZE 6 + +/* the CHM_LIST_SIZE must be larger than the maximum search depth */ +/* the overall size of ste half move stack */ +#define CHM_LIST_SIZE (STACK_MAX_SIZE+CHM_USER_SIZE+2) + +typedef int16_t eval_t; /* a variable type to store results from the evaluation */ +//#define EVAL_T_LOST -32768 +#define EVAL_T_MIN -32767 +#define EVAL_T_MAX 32767 +//#define EVAL_T_WIN 32767 + +/* for maintainance of our own stack: this is the definition of one element on the stack */ +struct _stack_element_struct +{ + /* the current source position which is investigated */ + uint8_t current_pos; + uint8_t current_cp; + uint8_t current_color; /* COLOR_WHITE or COLOR_BLACK: must be predefines */ + + /* the move which belongs to that value, both values are game positions */ + uint8_t best_from_pos; + uint8_t best_to_pos; + /* the best value, which has been dicovered so far */ + eval_t best_eval; +}; +typedef struct _stack_element_struct stack_element_t; +typedef struct _stack_element_struct *stack_element_p; + +/* chess half move history */ +struct _chm_struct +{ + uint8_t main_cp; /* the main piece, which is moved */ + uint8_t main_src; /* the source position of the main piece */ + uint8_t main_dest; /* the destination of the main piece */ + + uint8_t other_cp; /* another piece: the captured one, the ROOK in case of castling or PIECE_NONE */ + uint8_t other_src; /* the delete position of other_cp. Often identical to main_dest except for e.p. and castling */ + uint8_t other_dest; /* only used for castling: ROOK destination pos */ + + /* the position of the last pawn, which did a double move forward */ + /* this is required to check en passant conditions */ + /* this array can be indexed by the color of the current player */ + /* this is the condition BEFORE the move was done */ + uint8_t pawn_dbl_move[2]; + + /* flags for the movement of rook and king; required for castling */ + /* a 1 means: castling is (still) possible */ + /* a 0 means: castling not possible */ + /* bit 0 left side white */ + /* bit 1 right side white */ + /* bit 2 left side black */ + /* bit 3 right side black */ + /* this is the condition BEFORE the move was done */ + uint8_t castling_possible; +}; + +typedef struct _chm_struct chm_t; +typedef struct _chm_struct *chm_p; + +/* little rook chess, main structure */ +struct _lrc_struct +{ + /* half-move (ply) counter: Counts the number of half-moves so far. Starts with 0 */ + /* the lowest bit is used to derive the color of the current player */ + /* will be set to zero in chess_SetupBoard() */ + uint8_t ply_count; + + /* the half move stack position counter, counts the number of elements in chm_list */ + uint8_t chm_pos; + + /* each element contains a colored piece, empty fields have value 0 */ + /* the field with index 0 is black (lower left) */ + uint8_t board[64]; + /* the position of the last pawn, which did a double move forward */ + /* this is required to check en passant conditions */ + /* this array can be indexed by the color of the current player */ + uint8_t pawn_dbl_move[2]; + + /* flags for the movement of rook and king; required for castling */ + /* a 1 means: castling is (still) possible */ + /* a 0 means: castling not possible */ + /* bit 0 left side white */ + /* bit 1 right side white */ + /* bit 2 left side black */ + /* bit 3 right side black */ + uint8_t castling_possible; + + /* board orientation */ + /* 0: white is below COLOR_WHITE */ + /* 1: black is below COLOR_BLACK */ + /* bascially, this can be used as a color */ + uint8_t orientation; + + /* exchange colors of the pieces */ + /* 0: white has an empty body, use this for bright background color */ + /* 1: black has an empty body, use this for dark backround color */ + uint8_t strike_out_color; + + /* 0, when the game is ongoing */ + /* 1, when the game is stopped (lost or draw) */ + uint8_t is_game_end; + /* the color of the side which lost the game */ + /* this value is only valid, when is_game_end is not 0 */ + /* values 0 and 1 represent WHITE and BLACK, 2 means a draw */ + uint8_t lost_side_color; + + + + /* checks are executed in ce_LoopRecur */ + /* these checks will put some marks on the board */ + /* this will be used by the interface to find out */ + /* legal moves */ + uint8_t check_src_pos; + uint8_t check_mode; /* CHECK_MODE_NONE, CHECK_MODE_MOVEABLE, CHECK_MODE_TARGET_MOVE */ + + + /* count of the attacking pieces, indexed by color */ + uint8_t find_piece_cnt[2]; + + /* sum of the attacking pieces, indexed by color */ + uint8_t find_piece_weight[2]; + + /* points to the current element of the search stack */ + /* this stack is NEVER empty. The value 0 points to the first element of the stack */ + /* actually "curr_depth" represent half-moves (plies) */ + uint8_t curr_depth; + uint8_t max_depth; + stack_element_p curr_element; + + /* allocated memory for the search stack */ + stack_element_t stack_memory[STACK_MAX_SIZE]; + + /* the half move stack, used for move undo and depth search, size is stored in chm_pos */ + chm_t chm_list[CHM_LIST_SIZE]; +}; +typedef struct _lrc_struct lrc_t; + +#define CHECK_MODE_NONE 0 +#define CHECK_MODE_MOVEABLE 1 +#define CHECK_MODE_TARGET_MOVE 2 + + + +/*==============================================================*/ +/* global variables */ +/*==============================================================*/ + +u8g_t *lrc_u8g; + +lrc_t lrc_obj; + + +/*==============================================================*/ +/* forward declarations */ +/*==============================================================*/ + +/* + apply no inline to some of the functions: + avr-gcc very often inlines functions, however not inline saves a lot of program memory! + On the other hand there are some really short procedures which should be inlined (like cp_GetColor) + These procedures are marked static to prevent the generation of the expanded procedure, which + also saves space. +*/ + +uint8_t stack_Push(uint8_t color) U8G_NOINLINE; +void stack_Pop(void) U8G_NOINLINE; +void stack_InitCurrElement(void) U8G_NOINLINE; +void stack_Init(uint8_t max) U8G_NOINLINE; +void stack_SetMove(eval_t val, uint8_t to_pos) U8G_NOINLINE; +uint8_t cu_NextPos(uint8_t pos) U8G_NOINLINE; +static uint8_t cu_gpos2bpos(uint8_t gpos); +static uint8_t cp_Construct(uint8_t color, uint8_t piece); +static uint8_t cp_GetPiece(uint8_t cp); +static uint8_t cp_GetColor(uint8_t cp); +uint8_t cp_GetFromBoard(uint8_t pos) U8G_NOINLINE; +void cp_SetOnBoard(uint8_t pos, uint8_t cp) U8G_NOINLINE; + +void cu_ClearBoard(void) U8G_NOINLINE; +void chess_SetupBoard(void) U8G_NOINLINE; +eval_t ce_Eval(void); + +void cu_ClearMoveHistory(void) U8G_NOINLINE; +void cu_ReduceHistoryByFullMove(void) U8G_NOINLINE; +void cu_UndoHalfMove(void) U8G_NOINLINE; +chm_p cu_PushHalfMove(void) U8G_NOINLINE; + + +void ce_CalculatePositionWeight(uint8_t pos); +uint8_t ce_GetPositionAttackWeight(uint8_t pos, uint8_t color); + +void chess_Thinking(void); +void ce_LoopPieces(void); + + +/*==============================================================*/ +/* search stack */ +/*==============================================================*/ + +/* get current element from stack */ +stack_element_p stack_GetCurrElement(void) +{ + return lrc_obj.curr_element; +} + +uint8_t stack_Push(uint8_t color) +{ + if ( lrc_obj.curr_depth == lrc_obj.max_depth ) + return 0; + lrc_obj.curr_depth++; + lrc_obj.curr_element = lrc_obj.stack_memory+lrc_obj.curr_depth; + + /* change view for the evaluation */ + color ^= 1; + stack_GetCurrElement()->current_color = color; + + return 1; +} + +void stack_Pop(void) +{ + lrc_obj.curr_depth--; + lrc_obj.curr_element = lrc_obj.stack_memory+lrc_obj.curr_depth; +} + +/* reset the current element on the stack */ +void stack_InitCurrElement(void) +{ + stack_element_p e = stack_GetCurrElement(); + e->best_eval = EVAL_T_MIN; + e->best_from_pos = ILLEGAL_POSITION; + e->best_to_pos = ILLEGAL_POSITION; +} + +/* resets the search stack (and the check mode) */ +void stack_Init(uint8_t max) +{ + lrc_obj.curr_depth = 0; + lrc_obj.curr_element = lrc_obj.stack_memory; + lrc_obj.max_depth = max; + lrc_obj.check_mode = CHECK_MODE_NONE; + stack_InitCurrElement(); + stack_GetCurrElement()->current_color = lrc_obj.ply_count; + stack_GetCurrElement()->current_color &= 1; +} + +/* assign evaluation value and store the move, if this is the best move */ +/* assumes, that current_pos contains the source position */ +void stack_SetMove(eval_t val, uint8_t to_pos) +{ + stack_element_p e = stack_GetCurrElement(); + if ( e->best_eval < val ) + { + e->best_eval = val; + e->best_from_pos = e->current_pos; + e->best_to_pos = to_pos; + } +} + +/* + calculate next position on a 0x88 board + loop is constructed in this way: + i = 0; + do + { + ... + i = cu_NextPos(i); + } while( i != 0 ); + + next pos might be started with an illegal position like 255 +*/ +uint8_t cu_NextPos(uint8_t pos) +{ + /* calculate next gpos */ + pos++; + if ( ( pos & 0x08 ) != 0 ) + { + pos+= 0x10; + pos&= 0xf0; + } + if ( ( pos & 0x80 ) != 0 ) + pos = 0; + return pos; +} + +uint8_t cu_PrevPos(uint8_t pos) +{ + /* calculate prev gpos */ + pos--; + if ( ( pos & 0x80 ) != 0 ) + pos = 0x077; + else if ( ( pos & 0x08 ) != 0 ) + { + pos &= 0xf0; + pos |= 0x07; + } + return pos; +} + + +/*==============================================================*/ +/* position transltion */ +/*==============================================================*/ +/* + there are two positions + 1. game position (gpos): BCD encoded x-y values + 2. board position (bpos): a number between 0 and 63, only used to access the board. +*/ +/* + gpos: game position value + returns: board position + note: does not do any checks +*/ +static uint8_t cu_gpos2bpos(uint8_t gpos) +{ + uint8_t bpos = gpos; + bpos &= 0xf0; + bpos >>= 1; + gpos &= 0x0f; + bpos |= gpos; + return bpos; +} + +#define gpos_IsIllegal(gpos) ((gpos) & 0x088) + + +/*==============================================================*/ +/* colored piece handling */ +/*==============================================================*/ + +#define cp_IsMarked(cp) ((cp) & CP_MARK_MASK) + + +/* + piece: one of PIECE_xxx + color: COLOR_WHITE or COLOR_BLACK + + returns: A colored piece +*/ +static uint8_t cp_Construct(uint8_t color, uint8_t piece) +{ + color <<= 4; + color |= piece; + return color; +} + +/* inline is better than a macro */ +static uint8_t cp_GetPiece(uint8_t cp) +{ + cp &= 0x0f; + return cp; +} + +/* + we could use a macro: + #define cp_GetColor(cp) (((cp) >> 4)&1) + however, inlined functions are sometimes much better +*/ +static uint8_t cp_GetColor(uint8_t cp) +{ + cp >>= 4; + cp &= 1; + return cp; +} + +/* + pos: game position + returns the colored piece at the given position +*/ +uint8_t cp_GetFromBoard(uint8_t pos) +{ + return lrc_obj.board[cu_gpos2bpos(pos)]; +} + +/* + pos: game position + cp: colored piece +*/ +void cp_SetOnBoard(uint8_t pos, uint8_t cp) +{ + /*printf("cp_SetOnBoard gpos:%02x cp:%02x\n", pos, cp);*/ + lrc_obj.board[cu_gpos2bpos(pos)] = cp; +} + +/*==============================================================*/ +/* global board access */ +/*==============================================================*/ + +void cu_ClearBoard(void) +{ + uint8_t i; + /* clear the board */ + for( i = 0; i < 64; i++ ) + lrc_obj.board[i] = PIECE_NONE; + + lrc_obj.ply_count = 0; + lrc_obj.orientation = COLOR_WHITE; + + lrc_obj.pawn_dbl_move[0] = ILLEGAL_POSITION; + lrc_obj.pawn_dbl_move[1] = ILLEGAL_POSITION; + + lrc_obj.castling_possible = 0x0f; + + lrc_obj.is_game_end = 0; + lrc_obj.lost_side_color = 0; + + /* clear half move history */ + cu_ClearMoveHistory(); + +} + +/* + test setup + white wins in one move +*/ +void chess_SetupBoardTest01(void) +{ + cu_ClearBoard(); + lrc_obj.board[7+7*8] = cp_Construct(COLOR_BLACK, PIECE_KING); + lrc_obj.board[7+5*8] = cp_Construct(COLOR_WHITE, PIECE_PAWN); + lrc_obj.board[3] = cp_Construct(COLOR_WHITE, PIECE_KING); + lrc_obj.board[0+7*8] = cp_Construct(COLOR_BLACK, PIECE_ROOK); + lrc_obj.board[6] = cp_Construct(COLOR_WHITE, PIECE_QUEEN); +} + +/* setup the global board */ +void chess_SetupBoard(void) +{ + uint8_t i; + register uint8_t bp, wp; + + /* clear the board */ + cu_ClearBoard(); + + /* precronstruct pawns */ + wp = cp_Construct(COLOR_WHITE, PIECE_PAWN); + bp = cp_Construct(COLOR_BLACK, PIECE_PAWN); + + /* setup pawn */ + for( i = 0; i < 8; i++ ) + { + lrc_obj.board[i+8] = wp; + lrc_obj.board[i+6*8] = bp; + } + + /* assign remaining pieces */ + + lrc_obj.board[0] = cp_Construct(COLOR_WHITE, PIECE_ROOK); + lrc_obj.board[1] = cp_Construct(COLOR_WHITE, PIECE_KNIGHT); + lrc_obj.board[2] = cp_Construct(COLOR_WHITE, PIECE_BISHOP); + lrc_obj.board[3] = cp_Construct(COLOR_WHITE, PIECE_QUEEN); + lrc_obj.board[4] = cp_Construct(COLOR_WHITE, PIECE_KING); + lrc_obj.board[5] = cp_Construct(COLOR_WHITE, PIECE_BISHOP); + lrc_obj.board[6] = cp_Construct(COLOR_WHITE, PIECE_KNIGHT); + lrc_obj.board[7] = cp_Construct(COLOR_WHITE, PIECE_ROOK); + + lrc_obj.board[0+7*8] = cp_Construct(COLOR_BLACK, PIECE_ROOK); + lrc_obj.board[1+7*8] = cp_Construct(COLOR_BLACK, PIECE_KNIGHT); + lrc_obj.board[2+7*8] = cp_Construct(COLOR_BLACK, PIECE_BISHOP); + lrc_obj.board[3+7*8] = cp_Construct(COLOR_BLACK, PIECE_QUEEN); + lrc_obj.board[4+7*8] = cp_Construct(COLOR_BLACK, PIECE_KING); + lrc_obj.board[5+7*8] = cp_Construct(COLOR_BLACK, PIECE_BISHOP); + lrc_obj.board[6+7*8] = cp_Construct(COLOR_BLACK, PIECE_KNIGHT); + lrc_obj.board[7+7*8] = cp_Construct(COLOR_BLACK, PIECE_ROOK); + + //chess_SetupBoardTest01(); + +} + + + +/*==============================================================*/ +/* checks */ +/*==============================================================*/ + +/* + checks if the position is somehow illegal +*/ +uint8_t cu_IsIllegalPosition(uint8_t pos, uint8_t my_color) +{ + uint8_t board_cp; + /* check, if the position is offboard */ + if ( gpos_IsIllegal(pos) != 0 ) + return 1; + /* get the piece from the board */ + board_cp = cp_GetFromBoard(pos); + /* check if hit our own pieces */ + if ( board_cp != 0 ) + if ( cp_GetColor(board_cp) == my_color ) + return 1; + /* all ok, we could go to this position */ + return 0; +} + +/*==============================================================*/ +/* evaluation procedure */ +/*==============================================================*/ + +/* + basic idea is to return a value between EVAL_T_MIN and EVAL_T_MAX +*/ + +/* + the weight table uses the PIECE number as index: + #define PIECE_NONE 0 + #define PIECE_PAWN 1 + #define PIECE_KNIGHT 2 + #define PIECE_BISHOP 3 + #define PIECE_ROOK 4 + #define PIECE_QUEEN 5 + #define PIECE_KING 6 + the king itself is not counted +*/ +uint8_t ce_piece_weight[] = { 0, 1, 3, 3, 5, 9, 0 }; +uint8_t ce_pos_weight[] = { 0, 1, 1, 2, 2, 1, 1, 0}; +/* + evaluate the current situation on the global board +*/ +eval_t ce_Eval(void) +{ + uint8_t cp; + uint8_t is_my_king_present = 0; + uint8_t is_opposit_king_present = 0; + eval_t material_my_color = 0; + eval_t material_opposit_color = 0; + eval_t position_my_color = 0; + eval_t position_opposit_color = 0; + eval_t result; + uint8_t pos; + + pos = 0; + do + { + /* get colored piece from the board */ + cp = cp_GetFromBoard(pos); + + if ( cp_GetPiece(cp) != PIECE_NONE ) + { + if ( stack_GetCurrElement()->current_color == cp_GetColor(cp) ) + { + /* this is our color */ + /* check if we found our king */ + if ( cp_GetPiece(cp) == PIECE_KING ) + is_my_king_present = 1; + material_my_color += ce_piece_weight[cp_GetPiece(cp)]; + if ( cp_GetPiece(cp) == PIECE_PAWN || cp_GetPiece(cp) == PIECE_KNIGHT ) + { + position_my_color += ce_pos_weight[pos&7]*ce_pos_weight[(pos>>4)&7]; + } + } + else + { + /* this is the opposit color */ + if ( cp_GetPiece(cp) == PIECE_KING ) + is_opposit_king_present = 1; + material_opposit_color += ce_piece_weight[cp_GetPiece(cp)]; + if ( cp_GetPiece(cp) == PIECE_PAWN || cp_GetPiece(cp) == PIECE_KNIGHT ) + { + position_opposit_color += ce_pos_weight[pos&7]*ce_pos_weight[(pos>>4)&7]; + } + } + } + pos = cu_NextPos(pos); + } while( pos != 0 ); + + + /* decide if we lost or won the game */ + if ( is_my_king_present == 0 ) + return EVAL_T_MIN; /*_LOST*/ + if ( is_opposit_king_present == 0 ) + return EVAL_T_MAX; /*_WIN*/ + + /* here is the evaluation function */ + + result = material_my_color - material_opposit_color; + result <<= 3; + result += position_my_color - position_opposit_color; + return result; +} + +/*==============================================================*/ +/* move backup and restore */ +/*==============================================================*/ + + +/* this procedure must be called to keep the size as low as possible */ +/* if the chm_list is large enough, it could hold the complete history */ +/* but for an embedded controler... it is deleted for every engine search */ +void cu_ClearMoveHistory(void) +{ + lrc_obj.chm_pos = 0; +} + +void cu_ReduceHistoryByFullMove(void) +{ + uint8_t i; + while( lrc_obj.chm_pos > CHM_USER_SIZE ) + { + i = 0; + for(;;) + { + if ( i+2 >= lrc_obj.chm_pos ) + break; + lrc_obj.chm_list[i] = lrc_obj.chm_list[i+2]; + i++; + } + lrc_obj.chm_pos -= 2; + } +} + +void cu_UndoHalfMove(void) +{ + chm_p chm; + + if ( lrc_obj.chm_pos == 0 ) + return; + + lrc_obj.chm_pos--; + + chm = lrc_obj.chm_list+lrc_obj.chm_pos; + + lrc_obj.pawn_dbl_move[0] = chm->pawn_dbl_move[0]; + lrc_obj.pawn_dbl_move[1] = chm->pawn_dbl_move[1]; + lrc_obj.castling_possible = chm->castling_possible; + + cp_SetOnBoard(chm->main_src, chm->main_cp); + cp_SetOnBoard(chm->main_dest, PIECE_NONE); + + if ( chm->other_src != ILLEGAL_POSITION ) + cp_SetOnBoard(chm->other_src, chm->other_cp); + if ( chm->other_dest != ILLEGAL_POSITION ) + cp_SetOnBoard(chm->other_dest, PIECE_NONE); + +} + +/* + assumes, that the following members of the returned chm structure are filled + uint8_t main_cp; the main piece, which is moved + uint8_t main_src; the source position of the main piece + uint8_t main_dest; the destination of the main piece + + uint8_t other_cp; another piece: the captured one, the ROOK in case of castling or PIECE_NONE + uint8_t other_src; the delete position of other_cp. Often identical to main_dest except for e.p. and castling + uint8_t other_dest; only used for castling: ROOK destination pos + +*/ +chm_p cu_PushHalfMove(void) +{ + chm_p chm; + + chm = lrc_obj.chm_list+lrc_obj.chm_pos; + if ( lrc_obj.chm_pos < CHM_LIST_SIZE-1) + lrc_obj.chm_pos++; + + chm->pawn_dbl_move[0] = lrc_obj.pawn_dbl_move[0]; + chm->pawn_dbl_move[1] = lrc_obj.pawn_dbl_move[1]; + chm->castling_possible = lrc_obj.castling_possible; + return chm; +} + + +char chess_piece_to_char[] = "NBRQK"; + +/* + simple moves on empty field: Ka1-b2 + capture moves: Ka1xb2 + castling: 0-0 or 0-0-0 +*/ + +static void cu_add_pos(char *s, uint8_t pos) U8G_NOINLINE; + +static void cu_add_pos(char *s, uint8_t pos) +{ + *s = pos; + *s >>= 4; + *s += 'a'; + s++; + *s = pos; + *s &= 15; + *s += '1'; +} + +const char *cu_GetHalfMoveStr(uint8_t idx) +{ + chm_p chm; + static char buf[7]; /*Ka1-b2*/ + char *p = buf; + chm = lrc_obj.chm_list+idx; + + if ( cp_GetPiece(chm->main_cp) != PIECE_NONE ) + { + if ( cp_GetPiece(chm->main_cp) > PIECE_PAWN ) + { + *p++ = chess_piece_to_char[cp_GetPiece(chm->main_cp)-2]; + } + cu_add_pos(p, chm->main_src); + p+=2; + if ( cp_GetPiece(chm->other_cp) == PIECE_NONE ) + *p++ = '-'; + else + *p++ = 'x'; + cu_add_pos(p, chm->main_dest); + p+=2; + } + *p = '\0'; + return buf; +} + + + + + +/*==============================================================*/ +/* move */ +/*==============================================================*/ + +/* + Move a piece from source position to a destination on the board + This function + - does not perform any checking + - however it processes "en passant" and casteling + - backup the move and allow 1x undo + + 2011-02-05: + - fill pawn_dbl_move[] for double pawn moves + --> done + - Implement casteling + --> done + - en passant + --> done + - pawn conversion/promotion + --> done + - half-move backup + --> done + - cleanup everything, minimize variables + --> done +*/ + +void cu_Move(uint8_t src, uint8_t dest) +{ + /* start backup structure */ + chm_p chm = cu_PushHalfMove(); + + /* these are the values from the board at the positions, provided as arguments to this function */ + uint8_t cp_src, cp_dest; + + /* Maybe a second position is cleared and one additional location is set */ + uint8_t clr_pos2; + uint8_t set_pos2; + uint8_t set_cp2; + + /* get values from board */ + cp_src = cp_GetFromBoard(src); + cp_dest = cp_GetFromBoard(dest); + + /* fill backup structure */ + + chm->main_cp = cp_src; + chm->main_src = src; + chm->main_dest = dest; + + chm->other_cp = cp_dest; /* prepace capture backup */ + chm->other_src = dest; + chm->other_dest = ILLEGAL_POSITION; + + /* setup results as far as possible with some suitable values */ + + clr_pos2 = ILLEGAL_POSITION; /* for en passant and castling, two positions might be cleared */ + set_pos2 = ILLEGAL_POSITION; /* only used for castling */ + set_cp2 = PIECE_NONE; /* ROOK for castling */ + + /* check for PAWN */ + if ( cp_GetPiece(cp_src) == PIECE_PAWN ) + { + + /* double step: is the distance 2 rows */ + if ( (src - dest == 32) || ( dest - src == 32 ) ) + { + /* remember the destination position */ + lrc_obj.pawn_dbl_move[cp_GetColor(cp_src)] = dest; + } + + /* check if the PAWN is able to promote */ + else if ( (dest>>4) == 0 || (dest>>4) == 7 ) + { + /* do simple "queening" */ + cp_src &= ~PIECE_PAWN; + cp_src |= PIECE_QUEEN; + } + + /* is it en passant capture? */ + /* check for side move */ + else if ( ((src + dest) & 1) != 0 ) + { + /* check, if target field is empty */ + if ( cp_GetPiece(cp_dest) == PIECE_NONE ) + { + /* this is en passant */ + /* no further checking required, because legal moves are assumed here */ + /* however... the captured pawn position must be valid */ + clr_pos2 = lrc_obj.pawn_dbl_move[cp_GetColor(cp_src) ^ 1]; + chm->other_src = clr_pos2; + chm->other_cp = cp_GetFromBoard(clr_pos2); + } + } + } + + /* check for the KING */ + else if ( cp_GetPiece(cp_src) == PIECE_KING ) + { + /* disallow castling, if the KING has moved */ + if ( cp_GetColor(cp_src) == COLOR_WHITE ) + { + /* if white KING has moved, disallow castling for white */ + lrc_obj.castling_possible &= 0x0c; + } + else + { + /* if black KING has moved, disallow castling for black */ + lrc_obj.castling_possible &= 0x03; + } + + /* has it been castling to the left? */ + if ( src - dest == 2 ) + { + /* let the ROOK move to pos2 */ + set_pos2 = src-1; + set_cp2 = cp_GetFromBoard(src-4); + + /* the ROOK must be cleared from the original position */ + clr_pos2 = src-4; + + chm->other_cp = set_cp2; + chm->other_src = clr_pos2; + chm->other_dest = set_pos2; + } + + /* has it been castling to the right? */ + else if ( dest - src == 2 ) + { + /* let the ROOK move to pos2 */ + set_pos2 = src+1; + set_cp2 = cp_GetFromBoard(src+3); + + /* the ROOK must be cleared from the original position */ + clr_pos2 = src+3; + + chm->other_cp = set_cp2; + chm->other_src = clr_pos2; + chm->other_dest = set_pos2; + + } + + } + + /* check for the ROOK */ + else if ( cp_GetPiece(cp_src) == PIECE_ROOK ) + { + /* disallow white left castling */ + if ( src == 0x00 ) + lrc_obj.castling_possible &= ~0x01; + /* disallow white right castling */ + if ( src == 0x07 ) + lrc_obj.castling_possible &= ~0x02; + /* disallow black left castling */ + if ( src == 0x70 ) + lrc_obj.castling_possible &= ~0x04; + /* disallow black right castling */ + if ( src == 0x77 ) + lrc_obj.castling_possible &= ~0x08; + } + + + /* apply new board situation */ + + cp_SetOnBoard(dest, cp_src); + + if ( set_pos2 != ILLEGAL_POSITION ) + cp_SetOnBoard(set_pos2, set_cp2); + + cp_SetOnBoard(src, PIECE_NONE); + + if ( clr_pos2 != ILLEGAL_POSITION ) + cp_SetOnBoard(clr_pos2, PIECE_NONE); + + +} + +/* + this subprocedure decides for evaluation of the current board situation or further (deeper) investigation + Argument pos is the new target position if the current piece + +*/ +uint8_t ce_LoopRecur(uint8_t pos) +{ + eval_t eval; + + /* 1. check if target position is occupied by the same player (my_color) */ + /* of if pos is somehow illegal or not valid */ + if ( cu_IsIllegalPosition(pos, stack_GetCurrElement()->current_color) != 0 ) + return 0; + + /* 2. move piece to the specified position, capture opponent piece if required */ + cu_Move(stack_GetCurrElement()->current_pos, pos); + + + /* 3. */ + /* if depth reached: evaluate */ + /* else: go down next level */ + /* no eval if there had been any valid half-moves, so the default value (MIN) will be returned. */ + if ( stack_Push(stack_GetCurrElement()->current_color) == 0 ) + { + eval = ce_Eval(); + } + else + { + /* init the element, which has been pushed */ + stack_InitCurrElement(); + /* start over with ntext level */ + ce_LoopPieces(); + /* get the best move from opponents view, so invert the result */ + eval = -stack_GetCurrElement()->best_eval; + stack_Pop(); + } + + /* 4. store result */ + stack_SetMove(eval, pos); + + /* 5. undo the move */ + cu_UndoHalfMove(); + + /* 6. check special modes */ + /* the purpose of these checks is to mark special pieces and positions on the board */ + /* these marks can be checked by the user interface to highlight special positions */ + if ( lrc_obj.check_mode != 0 ) + { + stack_element_p e = stack_GetCurrElement(); + if ( lrc_obj.check_mode == CHECK_MODE_MOVEABLE ) + { + cp_SetOnBoard(e->current_pos, e->current_cp | CP_MARK_MASK ); + } + else if ( lrc_obj.check_mode == CHECK_MODE_TARGET_MOVE ) + { + if ( e->current_pos == lrc_obj.check_src_pos ) + { + cp_SetOnBoard(pos, cp_GetFromBoard(pos) | CP_MARK_MASK ); + } + } + } + return 1; +} + +/*==============================================================*/ +/* move pieces which can move one or more steps into a direction */ +/*==============================================================*/ + +/* + subprocedure to generate various target positions for some pieces + special cases are handled in the piece specific sub-procedure + + Arguments: + d: a list of potential directions + is_multi_step: if the piece can only do one step (zero for KING and KNIGHT) +*/ +static const uint8_t ce_dir_offset_rook[] PROGMEM = { 1, 16, -16, -1, 0 }; +static const uint8_t ce_dir_offset_bishop[] PROGMEM = { 15, 17, -17, -15, 0 }; +static const uint8_t ce_dir_offset_queen[] PROGMEM = { 1, 16, -16, -1, 15, 17, -17, -15, 0 }; +static const uint8_t ce_dir_offset_knight[] PROGMEM = {14, -14, 18, -18, 31, -31, 33, -33, 0}; + +void ce_LoopDirsSingleMultiStep(const uint8_t *d, uint8_t is_multi_step) +{ + uint8_t loop_pos; + + /* with all directions */ + for(;;) + { + if ( u8g_pgm_read(d) == 0 ) + break; + + /* start again from the initial position */ + loop_pos = stack_GetCurrElement()->current_pos; + + /* check direction */ + do + { + /* check next position into one direction */ + loop_pos += u8g_pgm_read(d); + + /* + go further to ce_LoopRecur() + 0 will be returned if the target position is illegal or a piece of the own color + this is used to stop walking into one direction + */ + if ( ce_LoopRecur(loop_pos) == 0 ) + break; + + /* stop if we had hit another piece */ + if ( cp_GetPiece(cp_GetFromBoard(loop_pos)) != PIECE_NONE ) + break; + } while( is_multi_step ); + d++; + } +} + +void ce_LoopRook(void) +{ + ce_LoopDirsSingleMultiStep(ce_dir_offset_rook, 1); +} + +void ce_LoopBishop(void) +{ + ce_LoopDirsSingleMultiStep(ce_dir_offset_bishop, 1); +} + +void ce_LoopQueen(void) +{ + ce_LoopDirsSingleMultiStep(ce_dir_offset_queen, 1); +} + +void ce_LoopKnight(void) +{ + ce_LoopDirsSingleMultiStep(ce_dir_offset_knight, 0); +} + + + +/*==============================================================*/ +/* move king */ +/*==============================================================*/ + +uint8_t cu_IsKingCastling(uint8_t mask, int8_t direction, uint8_t cnt) U8G_NOINLINE; + +/* + checks, if the king can do castling + + Arguments: + mask: the bit-mask for the global "castling possible" flag + direction: left castling: -1, right castling 1 + cnt: number of fields to be checked: 3 or 2 +*/ +uint8_t cu_IsKingCastling(uint8_t mask, int8_t direction, uint8_t cnt) +{ + uint8_t pos; + uint8_t opponent_color; + + /* check if the current board state allows castling */ + if ( (lrc_obj.castling_possible & mask) == 0 ) + return 0; /* castling not allowed */ + + /* get the position of the KING, could be white or black king */ + pos = stack_GetCurrElement()->current_pos; + + /* calculate the color of the opponent */ + opponent_color = 1; + opponent_color -= stack_GetCurrElement()->current_color; + + /* if the KING itself is given check... */ + if ( ce_GetPositionAttackWeight(pos, opponent_color) > 0 ) + return 0; + + + /* check if fields in the desired direction are emtpy */ + for(;;) + { + /* go to the next field */ + pos += direction; + /* check for a piece */ + if ( cp_GetPiece(cp_GetFromBoard(pos)) != PIECE_NONE ) + return 0; /* castling not allowed */ + + /* if some of the fields are under attack */ + if ( ce_GetPositionAttackWeight(pos, opponent_color) > 0 ) + return 0; + + cnt--; + if ( cnt == 0 ) + break; + } + return 1; /* castling allowed */ +} + +void ce_LoopKing(void) +{ + /* + there is an interessting timing problem in this procedure + it must be checked for castling first and as second step the normal + KING movement. If we would first check for normal moves, than + any marks might be overwritten by the ROOK in the case of castling. + */ + + /* castling (this must be done before checking normal moves (see above) */ + if ( stack_GetCurrElement()->current_color == COLOR_WHITE ) + { + /* white left castling */ + if ( cu_IsKingCastling(1, -1, 3) != 0 ) + { + /* check for attacked fields */ + ce_LoopRecur(stack_GetCurrElement()->current_pos-2); + } + /* white right castling */ + if ( cu_IsKingCastling(2, 1, 2) != 0 ) + { + /* check for attacked fields */ + ce_LoopRecur(stack_GetCurrElement()->current_pos+2); + } + } + else + { + /* black left castling */ + if ( cu_IsKingCastling(4, -1, 3) != 0 ) + { + /* check for attacked fields */ + ce_LoopRecur(stack_GetCurrElement()->current_pos-2); + } + /* black right castling */ + if ( cu_IsKingCastling(8, 1, 2) != 0 ) + { + /* check for attacked fields */ + ce_LoopRecur(stack_GetCurrElement()->current_pos+2); + } + } + + /* reuse queen directions */ + ce_LoopDirsSingleMultiStep(ce_dir_offset_queen, 0); +} + + +/*==============================================================*/ +/* move pawn */ +/*==============================================================*/ + +/* + doppelschritt: nur von der grundlinie aus, beide (!) felder vor dem bauern müssen frei sein + en passant: nur unmittelbar nachdem ein doppelschritt ausgeführt wurde. +*/ +void ce_LoopPawnSideCapture(uint8_t loop_pos) +{ + if ( gpos_IsIllegal(loop_pos) == 0 ) + { + /* get the piece from the board */ + /* if the field is NOT empty */ + if ( cp_GetPiece(cp_GetFromBoard(loop_pos)) != PIECE_NONE ) + { + /* normal capture */ + ce_LoopRecur(loop_pos); + /* TODO: check for pawn conversion/promotion */ + } + else + { + /* check conditions for en passant capture */ + if ( stack_GetCurrElement()->current_color == COLOR_WHITE ) + { + if ( lrc_obj.pawn_dbl_move[COLOR_BLACK]+16 == loop_pos ) + { + ce_LoopRecur(loop_pos); + /* note: pawn conversion/promotion can not occur */ + } + } + else + { + if ( lrc_obj.pawn_dbl_move[COLOR_WHITE] == loop_pos+16 ) + { + ce_LoopRecur(loop_pos); + /* note: pawn conversion/promotion can not occur */ + } + } + } + } +} + +void ce_LoopPawn(void) +{ + uint8_t initial_pos = stack_GetCurrElement()->current_pos; + uint8_t my_color = stack_GetCurrElement()->current_color; + + uint8_t loop_pos; + uint8_t line; + + /* one step forward */ + + loop_pos = initial_pos; + line = initial_pos; + line >>= 4; + if ( my_color == COLOR_WHITE ) + loop_pos += 16; + else + loop_pos -= 16; + if ( gpos_IsIllegal(loop_pos) == 0 ) + { + /* if the field is empty */ + if ( cp_GetPiece(cp_GetFromBoard(loop_pos)) == PIECE_NONE ) + { + /* TODO: check for and loop through piece conversion/promotion */ + ce_LoopRecur(loop_pos); + + /* second step forward */ + + /* if pawn is on his starting line */ + if ( (my_color == COLOR_WHITE && line == 1) || (my_color == COLOR_BLACK && line == 6 ) ) + { + /* the place before the pawn is not occupied, so we can do double moves, see above */ + + if ( my_color == COLOR_WHITE ) + loop_pos += 16; + else + loop_pos -= 16; + if ( cp_GetPiece(cp_GetFromBoard(loop_pos)) == PIECE_NONE ) + { + /* this is a special case, other promotions of the pawn can not occur */ + ce_LoopRecur(loop_pos); + } + } + } + } + + /* capture */ + + loop_pos = initial_pos; + if ( my_color == COLOR_WHITE ) + loop_pos += 15; + else + loop_pos -= 15; + ce_LoopPawnSideCapture(loop_pos); + + + loop_pos = initial_pos; + if ( my_color == COLOR_WHITE ) + loop_pos += 17; + else + loop_pos -= 17; + ce_LoopPawnSideCapture(loop_pos); +} + +/*==============================================================*/ +/* attacked */ +/*==============================================================*/ + +/* + from a starting position, search for a piece, that might jump to that postion. + return: + the two global variables + lrc_obj.find_piece_weight[0]; + lrc_obj.find_piece_weight[1]; + will be increased by the weight of the attacked pieces of that color. + it is usually required to reset these global variables to zero, before using + this function. +*/ + +void ce_FindPieceByStep(uint8_t start_pos, uint8_t piece, const uint8_t *d, uint8_t is_multi_step) +{ + uint8_t loop_pos, cp; + + /* with all directions */ + for(;;) + { + if ( u8g_pgm_read(d) == 0 ) + break; + + /* start again from the initial position */ + loop_pos = start_pos; + + /* check direction */ + do + { + /* check next position into one direction */ + loop_pos += u8g_pgm_read(d); + + /* check if the board boundary has been crossed */ + if ( (loop_pos & 0x088) != 0 ) + break; + + /* get the colored piece from the board */ + cp = cp_GetFromBoard(loop_pos); + + /* stop if we had hit another piece */ + if ( cp_GetPiece(cp) != PIECE_NONE ) + { + /* if it is the piece we are looking for, then add the weight */ + if ( cp_GetPiece(cp) == piece ) + { + lrc_obj.find_piece_weight[cp_GetColor(cp)] += ce_piece_weight[piece]; + lrc_obj.find_piece_cnt[cp_GetColor(cp)]++; + } + /* in any case, break out of the inner loop */ + break; + } + } while( is_multi_step ); + d++; + } +} + +void ce_FindPawnPiece(uint8_t dest_pos, uint8_t color) +{ + uint8_t cp; + /* check if the board boundary has been crossed */ + if ( (dest_pos & 0x088) == 0 ) + { + /* get the colored piece from the board */ + cp = cp_GetFromBoard(dest_pos); + /* only if there is a pawn of the matching color */ + if ( cp_GetPiece(cp) == PIECE_PAWN ) + { + if ( cp_GetColor(cp) == color ) + { + /* the weight of the PAWN */ + lrc_obj.find_piece_weight[color] += 1; + lrc_obj.find_piece_cnt[color]++; + } + } + } +} + + +/* + find out, which pieces do attack a specified field + used to + - check if the KING can do castling + - check if the KING must move + + may be used in the eval procedure ... once... + + the result is stored in the global array + uint8_t lrc_obj.find_piece_weight[2]; + which is indexed with the color. + lrc_obj.find_piece_weight[COLOR_WHITE] is the sum of all white pieces + which can directly move to this field. + + example: + if the black KING is at "pos" and lrc_obj.find_piece_weight[COLOR_WHITE] is not zero + (after executing ce_CalculatePositionWeight(pos)) then the KING must be protected or moveed, because + the KING was given check. +*/ + +void ce_CalculatePositionWeight(uint8_t pos) +{ + + lrc_obj.find_piece_weight[0] = 0; + lrc_obj.find_piece_weight[1] = 0; + lrc_obj.find_piece_cnt[0] = 0; + lrc_obj.find_piece_cnt[1] = 0; + + if ( (pos & 0x088) != 0 ) + return; + + ce_FindPieceByStep(pos, PIECE_ROOK, ce_dir_offset_rook, 1); + ce_FindPieceByStep(pos, PIECE_BISHOP, ce_dir_offset_bishop, 1); + ce_FindPieceByStep(pos, PIECE_QUEEN, ce_dir_offset_queen, 1); + ce_FindPieceByStep(pos, PIECE_KNIGHT, ce_dir_offset_knight, 0); + ce_FindPieceByStep(pos, PIECE_KING, ce_dir_offset_queen, 0); + + ce_FindPawnPiece(pos+17, COLOR_BLACK); + ce_FindPawnPiece(pos+15, COLOR_BLACK); + ce_FindPawnPiece(pos-17, COLOR_WHITE); + ce_FindPawnPiece(pos-15, COLOR_WHITE); +} + +/* + calculate the summed weight of pieces with specified color which can move to a specified position + + argument: + pos: the position which should be analysed + color: the color of those pieces which should be analysed + e.g. if a black piece is at 'pos' and 'color' is white then this procedure returns the white atting count +*/ +uint8_t ce_GetPositionAttackWeight(uint8_t pos, uint8_t color) +{ + ce_CalculatePositionWeight(pos); + return lrc_obj.find_piece_weight[color]; +} + +uint8_t ce_GetPositionAttackCount(uint8_t pos, uint8_t color) +{ + ce_CalculatePositionWeight(pos); + return lrc_obj.find_piece_cnt[color]; +} + + +/*==============================================================*/ +/* depth search starts here: loop over all pieces of the current color on the board */ +/*==============================================================*/ + +void ce_LoopPieces(void) +{ + stack_element_p e = stack_GetCurrElement(); + /* start with lower left position (A1) */ + e->current_pos = 0; + do + { + e->current_cp = cp_GetFromBoard(e->current_pos); + /* check if the position on the board is empty */ + if ( e->current_cp != 0 ) + { + /* only generate moves for the current color */ + if ( e->current_color == cp_GetColor(e->current_cp) ) + { + chess_Thinking(); + + /* find out which piece is used */ + switch(cp_GetPiece(e->current_cp)) + { + case PIECE_NONE: + break; + case PIECE_PAWN: + ce_LoopPawn(); + break; + case PIECE_KNIGHT: + ce_LoopKnight(); + break; + case PIECE_BISHOP: + ce_LoopBishop(); + break; + case PIECE_ROOK: + ce_LoopRook(); + break; + case PIECE_QUEEN: + ce_LoopQueen(); + break; + case PIECE_KING: + ce_LoopKing(); + break; + } + } + } + e->current_pos = cu_NextPos(e->current_pos); + } while( e->current_pos != 0 ); +} + +/*==============================================================*/ +/* user interface */ +/*==============================================================*/ + +/* +eval_t chess_EvalCurrBoard(uint8_t color) +{ + stack_Init(0); + stack_GetCurrElement()->current_color = color; + ce_LoopPieces(); + return stack_GetCurrElement()->best_eval; +} +*/ + +/* clear any marks on the board */ +void chess_ClearMarks(void) +{ + uint8_t i; + for( i = 0; i < 64; i++ ) + lrc_obj.board[i] &= ~CP_MARK_MASK; +} + +/* + Mark all pieces which can do moves. This is done by setting flags on the global board +*/ +void chess_MarkMovable(void) +{ + stack_Init(0); + //stack_GetCurrElement()->current_color = color; + lrc_obj.check_mode = CHECK_MODE_MOVEABLE; + ce_LoopPieces(); +} + +/* + Checks, if the piece can move from src_pos to dest_pos + + src_pos: The game position of a piece on the chess board +*/ +void chess_MarkTargetMoves(uint8_t src_pos) +{ + stack_Init(0); + stack_GetCurrElement()->current_color = cp_GetColor(cp_GetFromBoard(src_pos)); + lrc_obj.check_src_pos = src_pos; + lrc_obj.check_mode = CHECK_MODE_TARGET_MOVE; + ce_LoopPieces(); +} + +/* + first call should start with 255 + this procedure will return 255 if + - there are no marks at all + - it has looped over all marks once +*/ +uint8_t chess_GetNextMarked(uint8_t arg, uint8_t is_prev) +{ + uint8_t i; + uint8_t pos = arg; + for(i = 0; i < 64; i++) + { + if ( is_prev != 0 ) + pos = cu_PrevPos(pos); + else + pos = cu_NextPos(pos); + if ( arg != 255 && pos == 0 ) + return 255; + if ( cp_IsMarked(cp_GetFromBoard(pos)) ) + return pos; + } + return 255; +} + + +/* make a manual move: this is a little bit more than cu_Move() */ +void chess_ManualMove(uint8_t src, uint8_t dest) +{ + uint8_t cp; + + /* printf("chess_ManualMove %02x -> %02x\n", src, dest); */ + + /* if all other things fail, this is the place where the game is to be decided: */ + /* ... if the KING is captured */ + cp = cp_GetFromBoard(dest); + if ( cp_GetPiece(cp) == PIECE_KING ) + { + lrc_obj.is_game_end = 1; + lrc_obj.lost_side_color = cp_GetColor(cp); + } + + /* clear ply history here, to avoid memory overflow */ + /* may be the last X moves can be kept here */ + cu_ReduceHistoryByFullMove(); + /* perform the move on the board */ + cu_Move(src, dest); + + /* update en passant double move positions: en passant position is removed after two half moves */ + lrc_obj.pawn_dbl_move[lrc_obj.ply_count&1] = ILLEGAL_POSITION; + + /* update the global half move counter */ + lrc_obj.ply_count++; + + + /* make a small check about the end of the game */ + /* use at least depth 1, because we must know if the king can still move */ + /* this is: King moves at level 0 and will be captured at level 1 */ + /* so we check if the king can move and will not be captured at search level 1 */ + + stack_Init(1); + ce_LoopPieces(); + + /* printf("chess_ManualMove/analysis best_from_pos %02x -> best_to_pos %02x\n", stack_GetCurrElement()->best_from_pos, stack_GetCurrElement()->best_to_pos); */ + + /* analyse the eval result */ + + /* check if the other player has any moves left */ + if ( stack_GetCurrElement()->best_from_pos == ILLEGAL_POSITION ) + { + uint8_t color; + /* conditions: */ + /* 1. no King, should never happen, opposite color has won */ + /* this is already checked above at the beginning if this procedure */ + /* 2. King is under attack, opposite color has won */ + /* 3. King is not under attack, game is a draw */ + + uint8_t i = 0; + color = lrc_obj.ply_count; + color &= 1; + do + { + cp = cp_GetFromBoard(i); + /* look for the King */ + if ( cp_GetPiece(cp) == PIECE_KING ) + { + if ( cp_GetColor(cp) == color ) + { + /* check if KING is attacked */ + if ( ce_GetPositionAttackCount(i, color^1) != 0 ) + { + /* KING is under attack (check) and can not move: Game is lost */ + lrc_obj.is_game_end = 1; + lrc_obj.lost_side_color = color; + } + else + { + /* KING is NOT under attack (check) but can not move: Game is a draw */ + lrc_obj.is_game_end = 1; + lrc_obj.lost_side_color = 2; + } + /* break out of the loop */ + break; + } + } + i = cu_NextPos(i); + } while( i != 0 ); + } +} + +/* let the computer do a move */ +void chess_ComputerMove(uint8_t depth) +{ + stack_Init(depth); + + //stack_GetCurrElement()->current_color = lrc_obj.ply_count; + //stack_GetCurrElement()->current_color &= 1; + + cu_ReduceHistoryByFullMove(); + ce_LoopPieces(); + + chess_ManualMove(stack_GetCurrElement()->best_from_pos, stack_GetCurrElement()->best_to_pos); +} + + +/*==============================================================*/ +/* unix code */ +/*==============================================================*/ + +#ifdef UNIX_MAIN + +#include +#include + +char *piece_str[] = { + /* 0x00 */ + " ", + "wP", + "wN", + "wB", + + /* 0x04 */ + "wR", + "wQ", + "wK", + "w?", + + /* 0x08 */ + "w?", + "w?", + "w?", + "w?", + + /* 0x0c */ + "w?", + "w?", + "w?", + "w?", + + /* 0x10 */ + "b ", + "bP", + "bN", + "bB", + "bR", + "bQ", + "bK", + "b?", + + "b?", + "b?", + "b?", + "b?", + "b?", + "b?", + "b?", + "b?" +}; + +void chess_Thinking(void) +{ + uint8_t i; + uint8_t cp = cp_GetPiece(stack_GetCurrElement()->current_cp); + + printf("Thinking: ", piece_str[cp], stack_GetCurrElement()->current_pos); + + for( i = 0; i <= lrc_obj.curr_depth; i++ ) + printf("%s ", piece_str[(lrc_obj.stack_memory+i)->current_cp]); + + printf(" \r"); +} + +void board_Show(void) +{ + uint8_t i, j, cp; + char buf[10]; + for ( i = 0; i < 8; i++ ) + { + printf("%1d ", 7-i); + for ( j = 0; j < 8; j++ ) + { + /* get piece from global board */ + cp = lrc_obj.board[(7-i)*8+j]; + strcpy(buf, piece_str[cp&COLOR_PIECE_MASK]); + + if ( (cp & CP_MARK_MASK) != 0 ) + { + buf[0] = '#'; + } + + /* mask out any bits except color and piece index */ + cp &= COLOR_PIECE_MASK; + printf("%s %02x ", buf, cp); + + } + printf("\n"); + } +} + +int main(void) +{ + uint8_t depth = 3; + chess_SetupBoard(); + board_Show(); + puts(""); + + + /* + chess_ClearMarks(); + chess_MarkMovable(COLOR_WHITE); + board_Show(); + */ + + chess_ManualMove(0x006, 0x066); + + printf("lrc_obj.is_game_end: %d\n" , lrc_obj.is_game_end); + printf("lrc_obj.lost_side_color: %d\n" , lrc_obj.lost_side_color); + + chess_ComputerMove(2); + + printf("lrc_obj.is_game_end: %d\n" , lrc_obj.is_game_end); + printf("lrc_obj.lost_side_color: %d\n" , lrc_obj.lost_side_color); + + board_Show(); + +} + + + +#else + +/*==============================================================*/ +/* display menu */ +/*==============================================================*/ + +//#define MNU_FONT font_5x7 +#define MNU_FONT u8g_font_5x8r +//#define MNU_FONT font_6x9 +#define MNU_ENTRY_HEIGHT 9 + +char *mnu_title = "Little Rook Chess"; +char *mnu_list[] = { "New Game (White)", "New Game (Black)", "Undo Move", "Return" }; +uint8_t mnu_pos = 0; +uint8_t mnu_max = 4; + +void mnu_DrawHome(uint8_t is_highlight) +{ + uint8_t x = lrc_u8g->width - 35; + uint8_t y = (lrc_u8g->height-1); + uint8_t t; + + u8g_SetFont(lrc_u8g, u8g_font_5x7r); + u8g_SetDefaultForegroundColor(lrc_u8g); + t = u8g_DrawStrP(lrc_u8g, x, y -1, U8G_PSTR("Options")); + + if ( is_highlight ) + u8g_DrawFrame(lrc_u8g, x-1, y - MNU_ENTRY_HEIGHT +1, t, MNU_ENTRY_HEIGHT); +} + +void mnu_DrawEntry(uint8_t y, char *str, uint8_t is_clr_background, uint8_t is_highlight) +{ + uint8_t t, x; + u8g_SetFont(lrc_u8g, MNU_FONT); + t = u8g_GetStrWidth(lrc_u8g, str); + x = u8g_GetWidth(lrc_u8g); + x -= t; + x >>= 1; + + if ( is_clr_background ) + { + u8g_SetDefaultBackgroundColor(lrc_u8g); + u8g_DrawBox(lrc_u8g, x-3, (lrc_u8g->height-1) - (y+MNU_ENTRY_HEIGHT-1+2), t+5, MNU_ENTRY_HEIGHT+4); + } + + u8g_SetDefaultForegroundColor(lrc_u8g); + u8g_DrawStr(lrc_u8g, x, (lrc_u8g->height-1) - y, str); + + if ( is_highlight ) + { + u8g_DrawFrame(lrc_u8g, x-1, (lrc_u8g->height-1) - y -MNU_ENTRY_HEIGHT +1, t, MNU_ENTRY_HEIGHT); + } +} + +void mnu_Draw(void) +{ + uint8_t i; + uint8_t t,y; + /* calculate hight of the complete menu */ + y = mnu_max; + y++; /* consider also some space for the title */ + y++; /* consider also some space for the title */ + y *= MNU_ENTRY_HEIGHT; + + /* calculate how much space will be left */ + t = u8g_GetHeight(lrc_u8g); + t -= y; + + /* topmost pos start half of that empty space from the top */ + t >>= 1; + y = u8g_GetHeight(lrc_u8g); + y -= t; + + y -= MNU_ENTRY_HEIGHT; + mnu_DrawEntry(y, mnu_title, 0, 0); + + y -= MNU_ENTRY_HEIGHT; + + + for( i = 0; i < mnu_max; i++ ) + { + y -= MNU_ENTRY_HEIGHT; + mnu_DrawEntry(y, mnu_list[i], 0, i == mnu_pos); + } +} + +void mnu_Step(uint8_t key_cmd) +{ + if ( key_cmd == CHESS_KEY_NEXT ) + { + if ( mnu_pos+1 < mnu_max ) + mnu_pos++; + } + else if ( key_cmd == CHESS_KEY_PREV ) + { + if ( mnu_pos > 0 ) + mnu_pos--; + } +} + + + + +uint8_t chess_key_code = 0; +uint8_t chess_key_cmd = 0; +#define CHESS_STATE_MENU 0 +#define CHESS_STATE_SELECT_START 1 +#define CHESS_STATE_SELECT_PIECE 2 +#define CHESS_STATE_SELECT_TARGET_POS 3 +#define CHESS_STATE_THINKING 4 +#define CHESS_STATE_GAME_END 5 +uint8_t chess_state = CHESS_STATE_MENU; +uint8_t chess_source_pos = 255; +uint8_t chess_target_pos = 255; + +const uint8_t chess_pieces_body_bm[] PROGMEM = +{ + /* PAWN */ 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, /* 0x00, 0x00, 0x00, 0x0c, 0x0c, 0x00, 0x00, 0x00, */ + /* KNIGHT */ 0x00, 0x00, 0x1c, 0x2c, 0x04, 0x04, 0x0e, 0x00, + /* BISHOP */ 0x00, 0x00, 0x1c, 0x1c, 0x1c, 0x08, 0x00, 0x00, /* 0x00, 0x00, 0x08, 0x1c, 0x1c, 0x08, 0x00, 0x00, */ + /* ROOK */ 0x00, 0x00, 0x00, 0x1c, 0x1c, 0x1c, 0x1c, 0x00, + /* QUEEN */ 0x00, 0x00, 0x14, 0x1c, 0x08, 0x1c, 0x08, 0x00, + /* KING */ 0x00, 0x00, 0x00, 0x08, 0x3e, 0x1c, 0x08, 0x00, +}; + +#ifdef NOT_REQUIRED +/* white pieces are constructed by painting black pieces and cutting out the white area */ +const uint8_t chess_white_pieces_bm[] PROGMEM = +{ + /* PAWN */ 0x00, 0x00, 0x0c, 0x12, 0x12, 0x0c, 0x1e, 0x00, + /* KNIGHT */ 0x00, 0x1c, 0x22, 0x52, 0x6a, 0x0a, 0x11, 0x1f, + /* BISHOP */ 0x00, 0x08, 0x14, 0x22, 0x22, 0x14, 0x08, 0x7f, + /* ROOK */ 0x00, 0x55, 0x7f, 0x22, 0x22, 0x22, 0x22, 0x7f, + /* QUEEN */ 0x00, 0x55, 0x2a, 0x22, 0x14, 0x22, 0x14, 0x7f, + /* KING */ 0x08, 0x1c, 0x49, 0x77, 0x41, 0x22, 0x14, 0x7f, +}; +#endif + +const uint8_t chess_black_pieces_bm[] PROGMEM = +{ + /* PAWN */ 0x00, 0x00, 0x18, 0x3c, 0x3c, 0x18, 0x3c, 0x00, /* 0x00, 0x00, 0x0c, 0x1e, 0x1e, 0x0c, 0x1e, 0x00, */ + /* KNIGHT */ 0x00, 0x1c, 0x3e, 0x7e, 0x6e, 0x0e, 0x1f, 0x1f, + /* BISHOP */ 0x00, 0x1c, 0x2e, 0x3e, 0x3e, 0x1c, 0x08, 0x7f, /*0x00, 0x08, 0x1c, 0x3e, 0x3e, 0x1c, 0x08, 0x7f,*/ + /* ROOK */ 0x00, 0x55, 0x7f, 0x3e, 0x3e, 0x3e, 0x3e, 0x7f, + /* QUEEN */ 0x00, 0x55, 0x3e, 0x3e, 0x1c, 0x3e, 0x1c, 0x7f, + /* KING -*/ 0x08, 0x1c, 0x49, 0x7f, 0x7f, 0x3e, 0x1c, 0x7f, +}; + + +#if defined(DOGXL160_HW_GR) +#define BOXSIZE 13 +#define BOXOFFSET 3 +#else +#define BOXSIZE 8 +#define BOXOFFSET 1 +#endif + +u8g_uint_t chess_low_edge; +uint8_t chess_boxsize = 8; +uint8_t chess_boxoffset = 1; + + +void chess_DrawFrame(uint8_t pos, uint8_t is_bold) +{ + u8g_uint_t x0, y0; + + x0 = pos; + x0 &= 15; + if ( lrc_obj.orientation != COLOR_WHITE ) + x0 ^= 7; + + y0 = pos; + y0>>= 4; + if ( lrc_obj.orientation != COLOR_WHITE ) + y0 ^= 7; + + x0 *= chess_boxsize; + y0 *= chess_boxsize; + + u8g_SetDefaultForegroundColor(lrc_u8g); + u8g_DrawFrame(lrc_u8g, x0, chess_low_edge - y0 - chess_boxsize+1, chess_boxsize, chess_boxsize); + + + if ( is_bold ) + { + x0--; + y0++; + + u8g_DrawFrame(lrc_u8g, x0, chess_low_edge - y0 - chess_boxsize +1, chess_boxsize+2, chess_boxsize+2); + } +} + + +void chess_DrawBoard(void) +{ + uint8_t i, j, cp; + const uint8_t *ptr; /* pointer into PROGMEM */ + + if ( U8G_MODE_GET_BITS_PER_PIXEL(u8g_GetMode(lrc_u8g)) > 1 ) + { + for( i = 0; i < 8; i++ ) + for( j = 0; j < 8; j++ ) + { + uint8_t x,y; + x = i; + x*=chess_boxsize; + y = j; + y*=chess_boxsize; + if ( ((i^j) & 1) == 0 ) + u8g_SetDefaultMidColor(lrc_u8g); + else + u8g_SetDefaultBackgroundColor(lrc_u8g); + u8g_DrawBox(lrc_u8g, x,chess_low_edge-y-chess_boxsize+1,chess_boxsize,chess_boxsize); + } + //u8g_SetDefaultForegroundColor(lrc_u8g); + } + else + { + uint8_t x_offset = 1; + u8g_SetDefaultForegroundColor(lrc_u8g); + for( i = 0; i < 8*8; i+=8 ) + { + for( j = 0; j < 8*8; j+=8 ) + { + if ( ((i^j) & 8) == 0 ) + { + u8g_DrawPixel(lrc_u8g, j+0+x_offset, chess_low_edge - i-0); + u8g_DrawPixel(lrc_u8g, j+0+x_offset, chess_low_edge - i-2); + u8g_DrawPixel(lrc_u8g, j+0+x_offset, chess_low_edge - i-4); + u8g_DrawPixel(lrc_u8g, j+0+x_offset, chess_low_edge - i-6); + u8g_DrawPixel(lrc_u8g, j+2+x_offset, chess_low_edge - i-0); + u8g_DrawPixel(lrc_u8g, j+2+x_offset, chess_low_edge - i-6); + u8g_DrawPixel(lrc_u8g, j+4+x_offset, chess_low_edge - i-0); + u8g_DrawPixel(lrc_u8g, j+4+x_offset, chess_low_edge - i-6); + u8g_DrawPixel(lrc_u8g, j+6+x_offset, chess_low_edge - i-0); + u8g_DrawPixel(lrc_u8g, j+6+x_offset, chess_low_edge - i-2); + u8g_DrawPixel(lrc_u8g, j+6+x_offset, chess_low_edge - i-4); + u8g_DrawPixel(lrc_u8g, j+6+x_offset, chess_low_edge - i-6); + } + } + } + } + + for ( i = 0; i < 8; i++ ) + { + for ( j = 0; j < 8; j++ ) + { + /* get piece from global board */ + if ( lrc_obj.orientation == COLOR_WHITE ) + { + cp = lrc_obj.board[i*8+j]; + } + else + { + cp = lrc_obj.board[(7-i)*8+7-j]; + } + if ( cp_GetPiece(cp) != PIECE_NONE ) + { + ptr = chess_black_pieces_bm; + ptr += (cp_GetPiece(cp)-1)*8; + u8g_SetDefaultForegroundColor(lrc_u8g); + u8g_DrawBitmapP(lrc_u8g, j*chess_boxsize+chess_boxoffset-1, chess_low_edge - (i*chess_boxsize+chess_boxsize-chess_boxoffset), 1, 8, ptr); + + if ( cp_GetColor(cp) == lrc_obj.strike_out_color ) + { + ptr = chess_pieces_body_bm; + ptr += (cp_GetPiece(cp)-1)*8; + u8g_SetDefaultBackgroundColor(lrc_u8g); + u8g_DrawBitmapP(lrc_u8g, j*chess_boxsize+chess_boxoffset-1, chess_low_edge - (i*chess_boxsize+chess_boxsize-chess_boxoffset), 1, 8, ptr); + } + } + } + } + + if ( (chess_source_pos & 0x88) == 0 ) + { + chess_DrawFrame(chess_source_pos, 1); + } + + if ( (chess_target_pos & 0x88) == 0 ) + { + chess_DrawFrame(chess_target_pos, 0); + } + +} + + +void chess_Thinking(void) +{ +} + +void chess_Init(u8g_t *u8g, uint8_t body_color) +{ + lrc_u8g = u8g; + + chess_low_edge = u8g_GetHeight(lrc_u8g); + chess_low_edge--; + + + if ( U8G_MODE_GET_BITS_PER_PIXEL(u8g_GetMode(lrc_u8g)) == 1 ) + { + + chess_boxsize = 8; + chess_boxoffset = 1; + } + else + { + + /* + if ( u8g_GetHeight(lrc_u8g) >= 12*8 ) + { + chess_boxsize = 12; + chess_boxoffset = 3; + } + else */ if ( u8g_GetHeight(lrc_u8g) >= 11*8 ) + { + chess_boxsize = 10; + chess_boxoffset = 2; + } + else + { + chess_boxsize = 8; + chess_boxoffset = 1; + } + + if ( u8g_GetHeight(lrc_u8g) > 64 ) + chess_low_edge -= (u8g_GetHeight(lrc_u8g)-chess_boxsize*8) / 2; + + } + + lrc_obj.strike_out_color = body_color; + chess_SetupBoard(); +} + + + +void chess_Draw(void) +{ + if ( chess_state == CHESS_STATE_MENU ) + { + if ( lrc_obj.ply_count == 0) + mnu_max = 2; + else + mnu_max = 4; + mnu_Draw(); + } + else + { + chess_DrawBoard(); + + { + uint8_t i; + uint8_t entries = lrc_obj.chm_pos; + if ( entries > 4 ) + entries = 4; + + u8g_SetFont(lrc_u8g, u8g_font_5x7); + u8g_SetDefaultForegroundColor(lrc_u8g); + for( i = 0; i < entries; i++ ) + { + +#if defined(DOGXL160_HW_GR) || defined(DOGXL160_HW_BW) + dog_DrawStr(u8g_GetWidth(lrc_u8g)-35, u8g_GetHeight(lrc_u8g)-8*(i+1), font_5x7, cu_GetHalfMoveStr(lrc_obj.chm_pos-entries+i)); +#else + u8g_DrawStr(lrc_u8g, u8g_GetWidth(lrc_u8g)-35, 8*(i+1), cu_GetHalfMoveStr(lrc_obj.chm_pos-entries+i)); +#endif + + } + + } + + if ( chess_state == CHESS_STATE_SELECT_PIECE ) + mnu_DrawHome(chess_source_pos == 255); + else if ( chess_state == CHESS_STATE_SELECT_TARGET_POS ) + mnu_DrawHome(chess_target_pos == 255); + else + mnu_DrawHome(0); + + if ( chess_state == CHESS_STATE_GAME_END ) + { + switch( lrc_obj.lost_side_color ) + { + case COLOR_WHITE: + mnu_DrawEntry(u8g_GetHeight(lrc_u8g) / 2-2, "Black wins", 1, 1); + break; + case COLOR_BLACK: + mnu_DrawEntry(u8g_GetHeight(lrc_u8g) / 2-2, "White wins", 1, 1); + break; + default: + mnu_DrawEntry(u8g_GetHeight(lrc_u8g) / 2-2, "Stalemate", 1, 1); + break; + } + } + } +} + + +void chess_Step(uint8_t keycode) +{ + if ( keycode == CHESS_KEY_NONE ) + { + chess_key_cmd = chess_key_code; + chess_key_code = CHESS_KEY_NONE; + } + else + { + chess_key_cmd = CHESS_KEY_NONE; + chess_key_code = keycode; + } + //chess_ComputerMove(2); + switch(chess_state) + { + case CHESS_STATE_MENU: + mnu_Step(chess_key_cmd); + if ( chess_key_cmd == CHESS_KEY_SELECT ) + { + if ( mnu_pos == 0 ) + { + chess_SetupBoard(); + lrc_obj.orientation = 0; + chess_state = CHESS_STATE_SELECT_START; + } + else if ( mnu_pos == 1 ) + { + chess_SetupBoard(); + lrc_obj.orientation = 1; + chess_state = CHESS_STATE_THINKING; + } + else if ( mnu_pos == 2 ) + { + if ( lrc_obj.ply_count >= 2 ) + { + cu_UndoHalfMove(); + cu_UndoHalfMove(); + lrc_obj.ply_count-=2; + if ( lrc_obj.ply_count == 0 ) + mnu_pos = 0; + } + chess_state = CHESS_STATE_SELECT_START; + } + else if ( mnu_pos == 3 ) + { + chess_state = CHESS_STATE_SELECT_START; + } + } + break; + case CHESS_STATE_SELECT_START: + chess_ClearMarks(); + chess_MarkMovable(); + chess_source_pos = chess_GetNextMarked(255, 0); + chess_target_pos = ILLEGAL_POSITION; + chess_state = CHESS_STATE_SELECT_PIECE; + break; + + case CHESS_STATE_SELECT_PIECE: + if ( chess_key_cmd == CHESS_KEY_NEXT ) + { + chess_source_pos = chess_GetNextMarked(chess_source_pos, 0); + } + else if ( chess_key_cmd == CHESS_KEY_PREV ) + { + chess_source_pos = chess_GetNextMarked(chess_source_pos, 1); + } + else if ( chess_key_cmd == CHESS_KEY_SELECT ) + { + if ( chess_source_pos == 255 ) + { + chess_state = CHESS_STATE_MENU; + } + else + { + chess_ClearMarks(); + chess_MarkTargetMoves(chess_source_pos); + chess_target_pos = chess_GetNextMarked(255, 0); + chess_state = CHESS_STATE_SELECT_TARGET_POS; + } + } + break; + case CHESS_STATE_SELECT_TARGET_POS: + if ( chess_key_cmd == CHESS_KEY_NEXT ) + { + chess_target_pos = chess_GetNextMarked(chess_target_pos, 0); + } + else if ( chess_key_cmd == CHESS_KEY_PREV ) + { + chess_target_pos = chess_GetNextMarked(chess_target_pos, 1); + } + else if ( chess_key_cmd == CHESS_KEY_BACK ) + { + chess_ClearMarks(); + chess_MarkMovable(); + chess_target_pos = ILLEGAL_POSITION; + chess_state = CHESS_STATE_SELECT_PIECE; + } + else if ( chess_key_cmd == CHESS_KEY_SELECT ) + { + chess_ManualMove(chess_source_pos, chess_target_pos); + if ( lrc_obj.is_game_end != 0 ) + chess_state = CHESS_STATE_GAME_END; + else + chess_state = CHESS_STATE_THINKING; + /* clear marks as some kind of feedback to the user... it simply looks better */ + chess_source_pos = ILLEGAL_POSITION; + chess_target_pos = ILLEGAL_POSITION; + chess_ClearMarks(); + } + break; + case CHESS_STATE_THINKING: + chess_ComputerMove(2); + if ( lrc_obj.is_game_end != 0 ) + chess_state = CHESS_STATE_GAME_END; + else + chess_state = CHESS_STATE_SELECT_START; + break; + case CHESS_STATE_GAME_END: + if ( chess_key_cmd != CHESS_KEY_NONE ) + { + chess_state = CHESS_STATE_MENU; + chess_SetupBoard(); + } + break; + } + +} + +#endif + + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g.h b/machines/avr/arduino/libraries/U8glib/src/clib/u8g.h new file mode 100644 index 000000000..fc92e5133 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g.h @@ -0,0 +1,2064 @@ +/* + + u8g.h + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +*/ + +#ifndef _U8G_H +#define _U8G_H + +/* uncomment the following line to support displays larger than 240x240 */ +//#define U8G_16BIT 1 + +/* comment the following line to generate more compact but interrupt unsafe code */ +#define U8G_INTERRUPT_SAFE 1 + + +#include + +#ifdef __18CXX +typedef unsigned char uint8_t; +typedef signed char int8_t; +typedef unsigned short uint16_t; +typedef signed short int16_t; +#else +#include +#endif + +#if defined(__AVR__) +#include +#endif + +/* + use the com interface directly on any systems which are not AVR or ARDUINO +*/ +#if defined(__AVR__) || defined(ARDUINO) || defined(__MSP430__) +#define U8G_WITH_PINLIST +#endif + + +#ifdef __cplusplus +extern "C" { +#endif + + +/*===============================================================*/ +#ifdef __GNUC__ +# define U8G_NOINLINE __attribute__((noinline)) +# define U8G_PURE __attribute__ ((pure)) +# define U8G_NOCOMMON __attribute__ ((nocommon)) +# define U8G_SECTION(name) __attribute__ ((section (name))) +# if defined(__MSPGCC__) +/* mspgcc does not have .progmem sections. Use -fdata-sections. */ +# define U8G_FONT_SECTION(name) +# endif +# if defined(__AVR__) +# define U8G_FONT_SECTION(name) U8G_SECTION(".progmem." name) +# endif +# if defined(__XTENSA__) +//# define U8G_FONT_SECTION(name) U8G_SECTION(".irom.text." name) +# define U8G_FONT_SECTION(name) U8G_SECTION(".irom0.text" ) +# endif +#else +# define U8G_NOINLINE +# define U8G_PURE +# define U8G_NOCOMMON +# define U8G_SECTION(name) +# define U8G_FONT_SECTION(name) +#endif + +#ifdef __MSP430__ +/* + Specifying a section will cause the MSP-GCC to put even const data to RAM + at least for the fonts. But as the fonts are consts we don't need to specify + it manually - the MSP-GCC seems to be smart enough to put it into the + flash memory. +*/ +# undef U8G_SECTION +# define U8G_SECTION(name) +#endif + +/*===============================================================*/ + +#ifndef U8G_FONT_SECTION +# define U8G_FONT_SECTION(name) +#endif + + +/*===============================================================*/ +/* flash memory access */ + +#if defined(__AVR__) +/* U8G_PROGMEM is used by the XBM example */ +#define U8G_PROGMEM U8G_SECTION(".progmem.data") +typedef uint8_t PROGMEM u8g_pgm_uint8_t; +typedef uint8_t u8g_fntpgm_uint8_t; +#define u8g_pgm_read(adr) pgm_read_byte_near(adr) +#define U8G_PSTR(s) ((u8g_pgm_uint8_t *)PSTR(s)) +#endif + +#if defined(__XTENSA__) +# ifndef PROGMEM +# define PROGMEM __attribute__ ((section (".irom0.text"))) +# endif +# define U8G_PROGMEM PROGMEM +typedef uint8_t u8g_pgm_uint8_t; +typedef uint8_t u8g_fntpgm_uint8_t; +# define u8g_pgm_read(adr) (*(const u8g_pgm_uint8_t *)(adr)) +# define U8G_PSTR(s) ((u8g_pgm_uint8_t *)(s)) +#endif + +#ifndef U8G_PROGMEM +# define U8G_PROGMEM +# define PROGMEM +typedef uint8_t u8g_pgm_uint8_t; +typedef uint8_t u8g_fntpgm_uint8_t; +# define u8g_pgm_read(adr) (*(const u8g_pgm_uint8_t *)(adr)) +# define U8G_PSTR(s) ((u8g_pgm_uint8_t *)(s)) +#endif + +/*===============================================================*/ +/* interrupt safe code */ +#if defined(U8G_INTERRUPT_SAFE) +# if defined(__AVR__) +extern uint8_t global_SREG_backup; /* u8g_state.c */ +# define U8G_ATOMIC_START() do { global_SREG_backup = SREG; cli(); } while(0) +# define U8G_ATOMIC_END() SREG = global_SREG_backup +# define U8G_ATOMIC_OR(ptr, val) do { uint8_t tmpSREG = SREG; cli(); (*(ptr) |= (val)); SREG = tmpSREG; } while(0) +# define U8G_ATOMIC_AND(ptr, val) do { uint8_t tmpSREG = SREG; cli(); (*(ptr) &= (val)); SREG = tmpSREG; } while(0) +# else +# define U8G_ATOMIC_OR(ptr, val) (*(ptr) |= (val)) +# define U8G_ATOMIC_AND(ptr, val) (*(ptr) &= (val)) +# define U8G_ATOMIC_START() +# define U8G_ATOMIC_END() +# endif /* __AVR__ */ +#else +# define U8G_ATOMIC_OR(ptr, val) (*(ptr) |= (val)) +# define U8G_ATOMIC_AND(ptr, val) (*(ptr) &= (val)) +# define U8G_ATOMIC_START() +# define U8G_ATOMIC_END() +#endif /* U8G_INTERRUPT_SAFE */ + + +/*===============================================================*/ +/* forward */ +typedef struct _u8g_t u8g_t; +typedef struct _u8g_dev_t u8g_dev_t; + +typedef struct _u8g_dev_arg_pixel_t u8g_dev_arg_pixel_t; +typedef struct _u8g_dev_arg_bbx_t u8g_dev_arg_bbx_t; +typedef struct _u8g_box_t u8g_box_t; +typedef struct _u8g_dev_arg_irgb_t u8g_dev_arg_irgb_t; + + +/*===============================================================*/ +/* generic */ +#if defined(U8G_16BIT) +typedef uint16_t u8g_uint_t; +typedef int16_t u8g_int_t; +#else +typedef uint8_t u8g_uint_t; +typedef int8_t u8g_int_t; +#endif + +#ifdef OBSOLETE +struct _u8g_box_t +{ + u8g_uint_t x0, y0, x1, y1; +}; +typedef struct _u8g_box_t u8g_box_t; +#endif /* OBSOLETE */ + + +/*===============================================================*/ +/* device structure */ + +#ifdef __XC8 +/* device prototype */ +typedef uint8_t (*u8g_dev_fnptr)(void *u8g, void *dev, uint8_t msg, void *arg); + +/* com prototype */ +typedef uint8_t (*u8g_com_fnptr)(void *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); +#else +/* device prototype */ +typedef uint8_t (*u8g_dev_fnptr)(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); + +/* com prototype */ +typedef uint8_t (*u8g_com_fnptr)(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); +#endif + + + +struct _u8g_dev_t +{ + u8g_dev_fnptr dev_fn; /* device procedure */ + void *dev_mem; /* device memory */ + u8g_com_fnptr com_fn; /* communication procedure */ +}; + + +/*===============================================================*/ +/* device list */ + +/* Size: 128x64 SDL, u8g_dev_sdl.c */ +extern u8g_dev_t u8g_dev_sdl_1bit; +extern u8g_dev_t u8g_dev_sdl_1bit_h; +extern u8g_dev_t u8g_dev_sdl_2bit; +extern u8g_dev_t u8g_dev_sdl_2bit_double_mem; +extern u8g_dev_t u8g_dev_sdl_8bit; +extern u8g_dev_t u8g_dev_sdl_hicolor; +extern u8g_dev_t u8g_dev_sdl_fullcolor; +int u8g_sdl_get_key(void); + +/* Size: 70x30 monochrom, stdout */ +extern u8g_dev_t u8g_dev_stdout; + +/* Size: monochrom, writes "u8g.pbm" */ +extern u8g_dev_t u8g_dev_pbm; +extern u8g_dev_t u8g_dev_pbm_8h1; +extern u8g_dev_t u8g_dev_pbm_8h2; /* grayscale simulation */ + +/* Size: 128x64 monochrom, no output, used for performance measure */ +extern u8g_dev_t u8g_dev_gprof; + +/* Display: EA DOGS102, Size: 102x64 monochrom */ +extern u8g_dev_t u8g_dev_uc1701_dogs102_sw_spi; +extern u8g_dev_t u8g_dev_uc1701_dogs102_hw_spi; + +extern u8g_dev_t u8g_dev_uc1701_dogs102_2x_sw_spi; +extern u8g_dev_t u8g_dev_uc1701_dogs102_2x_hw_spi; + +/* Display: Mini12864 (dealextreme), Size: 128x64 monochrom */ +extern u8g_dev_t u8g_dev_uc1701_mini12864_sw_spi; +extern u8g_dev_t u8g_dev_uc1701_mini12864_hw_spi; + +extern u8g_dev_t u8g_dev_uc1701_mini12864_2x_sw_spi; +extern u8g_dev_t u8g_dev_uc1701_mini12864_2x_hw_spi; + +/* Display: EA DOGM132, Size: 128x32 monochrom */ +extern u8g_dev_t u8g_dev_st7565_dogm132_sw_spi; +extern u8g_dev_t u8g_dev_st7565_dogm132_hw_spi; + +/* Display: EA DOGM128, Size: 128x64 monochrom */ +extern u8g_dev_t u8g_dev_st7565_dogm128_sw_spi; +extern u8g_dev_t u8g_dev_st7565_dogm128_hw_spi; +extern u8g_dev_t u8g_dev_st7565_dogm128_parallel; + +extern u8g_dev_t u8g_dev_st7565_dogm128_2x_sw_spi; +extern u8g_dev_t u8g_dev_st7565_dogm128_2x_hw_spi; +extern u8g_dev_t u8g_dev_st7565_dogm128_2x_parallel; + +/* EA DOGM 240-6 */ +extern u8g_dev_t u8g_dev_uc1611_dogm240_i2c; +extern u8g_dev_t u8g_dev_uc1611_dogm240_hw_spi; +extern u8g_dev_t u8g_dev_uc1611_dogm240_sw_spi; +extern u8g_dev_t u8g_dev_uc1611_dogm240_8bit; + +/* EA DOGXL 240 */ +extern u8g_dev_t u8g_dev_uc1611_dogxl240_i2c; +extern u8g_dev_t u8g_dev_uc1611_dogxl240_hw_spi; +extern u8g_dev_t u8g_dev_uc1611_dogxl240_sw_spi; +extern u8g_dev_t u8g_dev_uc1611_dogxl240_8bit; + +/* Display: Topway LM6059 128x64 (Adafruit) */ +extern u8g_dev_t u8g_dev_st7565_lm6059_sw_spi; +extern u8g_dev_t u8g_dev_st7565_lm6059_hw_spi; +extern u8g_dev_t u8g_dev_st7565_lm6059_2x_sw_spi; +extern u8g_dev_t u8g_dev_st7565_lm6059_2x_hw_spi; +/* Display: Topway LM6063 128x64 */ +extern u8g_dev_t u8g_dev_st7565_lm6063_sw_spi; +extern u8g_dev_t u8g_dev_st7565_lm6063_hw_spi; +extern u8g_dev_t u8g_dev_st7565_lm6063_2x_sw_spi; +extern u8g_dev_t u8g_dev_st7565_lm6063_2x_hw_spi; +/* Display: Newhaven NHD-C12864 */ +extern u8g_dev_t u8g_dev_st7565_nhd_c12864_sw_spi; +extern u8g_dev_t u8g_dev_st7565_nhd_c12864_hw_spi; +extern u8g_dev_t u8g_dev_st7565_nhd_c12864_2x_sw_spi; +extern u8g_dev_t u8g_dev_st7565_nhd_c12864_2x_hw_spi; + +/* Display: Newhaven NHD-C12832 */ +extern u8g_dev_t u8g_dev_st7565_nhd_c12832_sw_spi; +extern u8g_dev_t u8g_dev_st7565_nhd_c12832_hw_spi; +extern u8g_dev_t u8g_dev_st7565_nhd_c12832_parallel; +extern u8g_dev_t u8g_dev_st7565_nhd_c12832_hw_usart_spi; + +/* Display: Displaytech 64128N */ +extern u8g_dev_t u8g_dev_st7565_64128n_sw_spi; +extern u8g_dev_t u8g_dev_st7565_64128n_hw_spi; +extern u8g_dev_t u8g_dev_st7565_64128n_parallel; + +extern u8g_dev_t u8g_dev_st7565_64128n_2x_sw_spi; +extern u8g_dev_t u8g_dev_st7565_64128n_2x_hw_spi; +extern u8g_dev_t u8g_dev_st7565_64128n_2x_parallel; + +/* Display: LCD-AG-C128032R-DIW W/KK E6 PBF */ +extern u8g_dev_t u8g_dev_uc1601_c128032_sw_spi; +extern u8g_dev_t u8g_dev_uc1601_c128032_hw_spi; + +extern u8g_dev_t u8g_dev_uc1601_c128032_2x_sw_spi; +extern u8g_dev_t u8g_dev_uc1601_c128032_2x_hw_spi; + +/* East Rising/buy-display.com ERC24064-1 */ +extern u8g_dev_t u8g_dev_uc1608_240x64_sw_spi; +extern u8g_dev_t u8g_dev_uc1608_240x64_hw_spi; + +extern u8g_dev_t u8g_dev_uc1608_240x64_2x_sw_spi; +extern u8g_dev_t u8g_dev_uc1608_240x64_2x_hw_spi; + +/* UC1608 240x128 */ +extern u8g_dev_t u8g_dev_uc1608_240x128_sw_spi; +extern u8g_dev_t u8g_dev_uc1608_240x128_hw_spi; + +extern u8g_dev_t u8g_dev_uc1608_240x128_2x_sw_spi; +extern u8g_dev_t u8g_dev_uc1608_240x128_2x_hw_spi; + +/* dfrobot 128x64 Graphic LCD (SKU:FIT0021) */ +extern u8g_dev_t u8g_dev_st7920_128x64_sw_spi; +extern u8g_dev_t u8g_dev_st7920_128x64_hw_spi; +extern u8g_dev_t u8g_dev_st7920_128x64_8bit; +extern u8g_dev_t u8g_dev_st7920_128x64_custom; + +extern u8g_dev_t u8g_dev_st7920_128x64_4x_sw_spi; +extern u8g_dev_t u8g_dev_st7920_128x64_4x_hw_spi; +extern u8g_dev_t u8g_dev_st7920_128x64_4x_8bit; +extern u8g_dev_t u8g_dev_st7920_128x64_4x_custom; + +/* NHD-19232WG */ +extern u8g_dev_t u8g_dev_st7920_192x32_sw_spi; +extern u8g_dev_t u8g_dev_st7920_192x32_hw_spi; +extern u8g_dev_t u8g_dev_st7920_192x32_8bit; + +extern u8g_dev_t u8g_dev_st7920_192x32_4x_sw_spi; +extern u8g_dev_t u8g_dev_st7920_192x32_4x_hw_spi; +extern u8g_dev_t u8g_dev_st7920_192x32_4x_8bit; + +/* CrystalFontz CFAG20232 */ +extern u8g_dev_t u8g_dev_st7920_202x32_sw_spi; +extern u8g_dev_t u8g_dev_st7920_202x32_hw_spi; +extern u8g_dev_t u8g_dev_st7920_202x32_8bit; + +extern u8g_dev_t u8g_dev_st7920_202x32_4x_sw_spi; +extern u8g_dev_t u8g_dev_st7920_202x32_4x_hw_spi; +extern u8g_dev_t u8g_dev_st7920_202x32_4x_8bit; + +/* LC7981 160x80 display */ +extern u8g_dev_t u8g_dev_lc7981_160x80_8bit; +/* LC7981 240x64 display */ +extern u8g_dev_t u8g_dev_lc7981_240x64_8bit; +/* LC7981 240x128 display */ +extern u8g_dev_t u8g_dev_lc7981_240x128_8bit; +/* LC7981 320x64 display */ +extern u8g_dev_t u8g_dev_lc7981_320x64_8bit; + +/* T6963, all t6963 devices have double page (2x) */ +extern u8g_dev_t u8g_dev_t6963_240x128_8bit; +extern u8g_dev_t u8g_dev_t6963_128x128_8bit; +extern u8g_dev_t u8g_dev_t6963_240x64_8bit; +extern u8g_dev_t u8g_dev_t6963_128x64_8bit; + +/* Display: EA DOGXL160, Size: 160x104 monochrom & gray level */ +extern u8g_dev_t u8g_dev_uc1610_dogxl160_bw_sw_spi; +extern u8g_dev_t u8g_dev_uc1610_dogxl160_bw_hw_spi; +extern u8g_dev_t u8g_dev_uc1610_dogxl160_gr_sw_spi; +extern u8g_dev_t u8g_dev_uc1610_dogxl160_gr_hw_spi; + +extern u8g_dev_t u8g_dev_uc1610_dogxl160_2x_bw_sw_spi; +extern u8g_dev_t u8g_dev_uc1610_dogxl160_2x_bw_hw_spi; +extern u8g_dev_t u8g_dev_uc1610_dogxl160_2x_gr_sw_spi; +extern u8g_dev_t u8g_dev_uc1610_dogxl160_2x_gr_hw_spi; + +/* Display: Generic KS0108b, Size: 128x64 monochrom */ +extern u8g_dev_t u8g_dev_ks0108_128x64; /* official Arduino Library interface */ +extern u8g_dev_t u8g_dev_ks0108_128x64_fast; /* faster, but uses private tables from the Arduino Library */ + +/* Nokia 84x48 Display with PCD8544 */ +extern u8g_dev_t u8g_dev_pcd8544_84x48_sw_spi; +extern u8g_dev_t u8g_dev_pcd8544_84x48_hw_spi; +extern u8g_dev_t u8g_dev_tls8204_84x48_sw_spi; + +/* Nokia 96x65 Display with PCF8812 */ +extern u8g_dev_t u8g_dev_pcf8812_96x65_sw_spi; +extern u8g_dev_t u8g_dev_pcf8812_96x65_hw_spi; + +/* NHD-2.7-12864UCY3 OLED Display with SSD1325 Controller */ +extern u8g_dev_t u8g_dev_ssd1325_nhd27oled_bw_sw_spi; +extern u8g_dev_t u8g_dev_ssd1325_nhd27oled_bw_hw_spi; +extern u8g_dev_t u8g_dev_ssd1325_nhd27oled_bw_parallel; +extern u8g_dev_t u8g_dev_ssd1325_nhd27oled_gr_sw_spi; +extern u8g_dev_t u8g_dev_ssd1325_nhd27oled_gr_hw_spi; +extern u8g_dev_t u8g_dev_ssd1325_nhd27oled_gr_parallel; + +extern u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_bw_sw_spi; +extern u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_bw_hw_spi; +extern u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_bw_parallel; +extern u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_gr_sw_spi; +extern u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_gr_hw_spi; + +/* LY120 OLED with SSD1327 Controller (tested with Seeedstudio module) */ +extern u8g_dev_t u8g_dev_ssd1327_96x96_gr_sw_spi; +extern u8g_dev_t u8g_dev_ssd1327_96x96_gr_hw_spi; +extern u8g_dev_t u8g_dev_ssd1327_96x96_gr_i2c; + +extern u8g_dev_t u8g_dev_ssd1327_96x96_2x_gr_sw_spi; +extern u8g_dev_t u8g_dev_ssd1327_96x96_2x_gr_hw_spi; +extern u8g_dev_t u8g_dev_ssd1327_96x96_2x_gr_i2c; + +/* NHD-3.12-25664 OLED Display with SSD1322 Controller */ +extern u8g_dev_t u8g_dev_ssd1322_nhd31oled_bw_sw_spi; +extern u8g_dev_t u8g_dev_ssd1322_nhd31oled_bw_hw_spi; +extern u8g_dev_t u8g_dev_ssd1322_nhd31oled_bw_parallel; +extern u8g_dev_t u8g_dev_ssd1322_nhd31oled_2x_bw_sw_spi; +extern u8g_dev_t u8g_dev_ssd1322_nhd31oled_2x_bw_hw_spi; + +extern u8g_dev_t u8g_dev_ssd1322_nhd31oled_gr_sw_spi; +extern u8g_dev_t u8g_dev_ssd1322_nhd31oled_gr_hw_spi; +extern u8g_dev_t u8g_dev_ssd1322_nhd31oled_gr_parallel; +extern u8g_dev_t u8g_dev_ssd1322_nhd31oled_2x_gr_sw_spi; +extern u8g_dev_t u8g_dev_ssd1322_nhd31oled_2x_gr_hw_spi; + +/* OLED 128x64 Display with SSD1306 Controller */ +extern u8g_dev_t u8g_dev_ssd1306_128x64_sw_spi; +extern u8g_dev_t u8g_dev_ssd1306_128x64_hw_spi; +extern u8g_dev_t u8g_dev_ssd1306_128x64_i2c; + +extern u8g_dev_t u8g_dev_ssd1306_adafruit_128x64_sw_spi; +extern u8g_dev_t u8g_dev_ssd1306_adafruit_128x64_hw_spi; +extern u8g_dev_t u8g_dev_ssd1306_adafruit_128x64_i2c; + +extern u8g_dev_t u8g_dev_ssd1306_128x64_2x_sw_spi; +extern u8g_dev_t u8g_dev_ssd1306_128x64_2x_hw_spi; +extern u8g_dev_t u8g_dev_ssd1306_128x64_2x_i2c; + +/* OLED 128x64 Display with SH1106 Controller */ +extern u8g_dev_t u8g_dev_sh1106_128x64_sw_spi; +extern u8g_dev_t u8g_dev_sh1106_128x64_hw_spi; +extern u8g_dev_t u8g_dev_sh1106_128x64_i2c; + +extern u8g_dev_t u8g_dev_sh1106_128x64_2x_sw_spi; +extern u8g_dev_t u8g_dev_sh1106_128x64_2x_hw_spi; +extern u8g_dev_t u8g_dev_sh1106_128x64_2x_i2c; + +/* OLED 128x64 Display with SSD1309 Controller */ +extern u8g_dev_t u8g_dev_ssd1309_128x64_sw_spi; +extern u8g_dev_t u8g_dev_ssd1309_128x64_hw_spi; +extern u8g_dev_t u8g_dev_ssd1309_128x64_i2c; + +/* OLED 128x32 Display with SSD1306 Controller */ +extern u8g_dev_t u8g_dev_ssd1306_128x32_sw_spi; +extern u8g_dev_t u8g_dev_ssd1306_128x32_hw_spi; +extern u8g_dev_t u8g_dev_ssd1306_128x32_i2c; + +extern u8g_dev_t u8g_dev_ssd1306_128x32_2x_sw_spi; +extern u8g_dev_t u8g_dev_ssd1306_128x32_2x_hw_spi; +extern u8g_dev_t u8g_dev_ssd1306_128x32_2x_i2c; + +/* OLED 64x48 Display with SSD1306 Controller */ +extern u8g_dev_t u8g_dev_ssd1306_64x48_sw_spi; +extern u8g_dev_t u8g_dev_ssd1306_64x48_hw_spi; +extern u8g_dev_t u8g_dev_ssd1306_64x48_i2c; + +extern u8g_dev_t u8g_dev_ssd1306_64x48_2x_sw_spi; +extern u8g_dev_t u8g_dev_ssd1306_64x48_2x_hw_spi; +extern u8g_dev_t u8g_dev_ssd1306_64x48_2x_i2c; + +/* OLED 60x32 Display with LD7032 Controller */ +extern u8g_dev_t u8g_dev_ld7032_60x32_sw_spi; +extern u8g_dev_t u8g_dev_ld7032_60x32_hw_spi; +extern u8g_dev_t u8g_dev_ld7032_60x32_parallel; + +/* experimental 65K TFT with st7687 controller */ +extern u8g_dev_t u8g_dev_st7687_c144mvgd_sw_spi; +extern u8g_dev_t u8g_dev_st7687_c144mvgd_8bit; + +/* SBN1661/SED1520 display with 122x32 */ +extern u8g_dev_t u8g_dev_sbn1661_122x32; + +/* flip disc matrix */ +extern u8g_dev_t u8g_dev_flipdisc_2x7; +void u8g_SetFlipDiscCallback(u8g_t *u8g, void (*cb)(uint8_t id, uint8_t page, uint8_t width, uint8_t *row1, uint8_t *row2)); + +/* ILI9325D based TFT */ +extern u8g_dev_t u8g_dev_ili9325d_320x240_8bit; + + +/* SSD1351 OLED (breakout board from http://www.kickstarter.com/projects/ilsoftltd/colour-oled-breakout-board) */ +extern u8g_dev_t u8g_dev_ssd1351_128x128_332_sw_spi; +extern u8g_dev_t u8g_dev_ssd1351_128x128_332_hw_spi; +extern u8g_dev_t u8g_dev_ssd1351_128x128_4x_332_sw_spi; +extern u8g_dev_t u8g_dev_ssd1351_128x128_4x_332_hw_spi; +extern u8g_dev_t u8g_dev_ssd1351_128x128_idx_sw_spi; +extern u8g_dev_t u8g_dev_ssd1351_128x128_idx_hw_spi; +extern u8g_dev_t u8g_dev_ssd1351_128x128_hicolor_sw_spi; +extern u8g_dev_t u8g_dev_ssd1351_128x128_hicolor_hw_spi; +extern u8g_dev_t u8g_dev_ssd1351_128x128_4x_hicolor_sw_spi; +extern u8g_dev_t u8g_dev_ssd1351_128x128_4x_hicolor_hw_spi; + +/* SSD1351 OLED (Freetronics, GPIOs set to high level) */ +extern u8g_dev_t u8g_dev_ssd1351_128x128gh_332_sw_spi; +extern u8g_dev_t u8g_dev_ssd1351_128x128gh_332_hw_spi; +extern u8g_dev_t u8g_dev_ssd1351_128x128gh_4x_332_sw_spi; +extern u8g_dev_t u8g_dev_ssd1351_128x128gh_4x_332_hw_spi; +extern u8g_dev_t u8g_dev_ssd1351_128x128gh_hicolor_sw_spi; +extern u8g_dev_t u8g_dev_ssd1351_128x128gh_hicolor_hw_spi; +extern u8g_dev_t u8g_dev_ssd1351_128x128gh_4x_hicolor_sw_spi; +extern u8g_dev_t u8g_dev_ssd1351_128x128gh_4x_hicolor_hw_spi; + + +/* SSD1353 OLED Palmtronics */ +extern u8g_dev_t u8g_dev_ssd1353_160x128_332_hw_spi; +extern u8g_dev_t u8g_dev_ssd1353_160x128_hicolor_hw_spi; + +/* HT1632 */ +extern u8g_dev_t u8g_dev_ht1632_24x16; + +/* A2 Micro Printer */ +extern u8g_dev_t u8g_dev_a2_micro_printer_384x240; +extern u8g_dev_t u8g_dev_a2_micro_printer_192x120_ds; +extern u8g_dev_t u8g_dev_a2_micro_printer_192x360_ds; +extern u8g_dev_t u8g_dev_a2_micro_printer_192x720_ds; + +/* u8g_virtual_screen.c */ +extern u8g_dev_t u8g_dev_vs; + + +/*===============================================================*/ +/* device messages */ + +struct _u8g_dev_arg_pixel_t +{ + u8g_uint_t x, y; /* will be modified */ + uint8_t pixel; /* will be modified, pixel sequence or transparency value */ + uint8_t dir; + uint8_t color; /* color or index value, red value for true color mode */ + uint8_t hi_color; /* high byte for 64K color mode, low byte is in "color", green value for true color mode */ + uint8_t blue; /* blue value in true color mode */ +}; +/* typedef struct _u8g_dev_arg_pixel_t u8g_dev_arg_pixel_t; */ /* forward decl */ + +/* range for r,g,b: 0..255 */ +#define U8G_GET_HICOLOR_BY_RGB(r,g,b) (((uint16_t)((r)&0x0f8))<<8)|(((uint16_t)((g)&0x0fc))<<3)|(((uint16_t)((b)>>3))) + +struct _u8g_dev_arg_bbx_t +{ + u8g_uint_t x, y, w, h; +}; +/* typedef struct _u8g_dev_arg_bbx_t u8g_dev_arg_bbx_t; */ /* forward decl */ + +struct _u8g_box_t +{ + u8g_uint_t x0, y0, x1, y1; +}; +/* typedef struct _u8g_box_t u8g_box_t; */ /* forward decl */ + +struct _u8g_dev_arg_irgb_t +{ + u8g_uint_t idx, r, g, b; /* index with rgb value */ +}; +/* typedef struct _u8g_dev_arg_irgb_t u8g_dev_arg_irgb_t; */ /* forward decl */ + + + +#define U8G_DEV_MSG_INIT 10 +#define U8G_DEV_MSG_STOP 11 + +/* arg: pointer to uint8_t, contranst value between 0 and 255 */ +#define U8G_DEV_MSG_CONTRAST 15 + +#define U8G_DEV_MSG_SLEEP_ON 16 +#define U8G_DEV_MSG_SLEEP_OFF 17 + +#define U8G_DEV_MSG_PAGE_FIRST 20 +#define U8G_DEV_MSG_PAGE_NEXT 21 + +/* arg: u8g_dev_arg_bbx_t * */ +/* new algorithm with U8G_DEV_MSG_GET_PAGE_BOX makes this msg obsolete */ +/* #define U8G_DEV_MSG_IS_BBX_INTERSECTION 22 */ + +/* arg: u8g_box_t *, fill structure with current page properties */ +#define U8G_DEV_MSG_GET_PAGE_BOX 23 + +/* +#define U8G_DEV_MSG_PRIMITIVE_START 30 +#define U8G_DEV_MSG_PRIMITIVE_END 31 +*/ + +/* arg: u8g_dev_arg_pixel_t * */ +#define U8G_DEV_MSG_SET_TPIXEL 44 +#define U8G_DEV_MSG_SET_4TPIXEL 45 + +#define U8G_DEV_MSG_SET_PIXEL 50 +#define U8G_DEV_MSG_SET_8PIXEL 59 + +#define U8G_DEV_MSG_SET_COLOR_ENTRY 60 + +#define U8G_DEV_MSG_SET_XY_CB 61 + +#define U8G_DEV_MSG_GET_WIDTH 70 +#define U8G_DEV_MSG_GET_HEIGHT 71 +#define U8G_DEV_MSG_GET_MODE 72 + +/*===============================================================*/ +/* device modes */ +#define U8G_MODE(is_index_mode, is_color, bits_per_pixel) (((is_index_mode)<<6) | ((is_color)<<5)|(bits_per_pixel)) + +#define U8G_MODE_UNKNOWN 0 +#define U8G_MODE_BW U8G_MODE(0, 0, 1) +#define U8G_MODE_GRAY2BIT U8G_MODE(0, 0, 2) +#define U8G_MODE_R3G3B2 U8G_MODE(0, 1, 8) +#define U8G_MODE_INDEX U8G_MODE(1, 1, 8) +/* hicolor is R5G6B5 */ +#define U8G_MODE_HICOLOR U8G_MODE(0, 1, 16) +/* truecolor */ +#define U8G_MODE_TRUECOLOR U8G_MODE(0, 1, 24) + + +#define U8G_MODE_GET_BITS_PER_PIXEL(mode) ((mode)&31) +#define U8G_MODE_IS_COLOR(mode) (((mode)&32)==0?0:1) +#define U8G_MODE_IS_INDEX_MODE(mode) (((mode)&64)==0?0:1) + + +/*===============================================================*/ +/* com options */ + +/* uncomment the following line for Atmega HW SPI double speed, issue 89 */ +/* #define U8G_HW_SPI_2X 1 */ + +/* com messages */ + +#define U8G_COM_MSG_STOP 0 +#define U8G_COM_MSG_INIT 1 + +#define U8G_COM_MSG_ADDRESS 2 + +/* CHIP_SELECT argument: number of the chip which needs to be activated, so this is more like high active */ +#define U8G_COM_MSG_CHIP_SELECT 3 + +#define U8G_COM_MSG_RESET 4 + +#define U8G_COM_MSG_WRITE_BYTE 5 +#define U8G_COM_MSG_WRITE_SEQ 6 +#define U8G_COM_MSG_WRITE_SEQ_P 7 + + +/* com driver */ + +uint8_t u8g_com_null_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_null.c */ + +uint8_t u8g_com_std_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* requires U8G_WITH_PINLIST */ + + +uint8_t u8g_com_arduino_std_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_arduino_std_sw_spi.c */ +uint8_t u8g_com_arduino_hw_usart_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_atmega_hw_usart_spi.c */ +uint8_t u8g_com_arduino_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_arduino_sw_spi.c */ +uint8_t u8g_com_arduino_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_arduino_hw_spi.c */ +uint8_t u8g_com_arduino_ATtiny85_std_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_arduino_ATTiny85_std_hw_spi.c */ +uint8_t u8g_com_arduino_st7920_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_arduino_st7920_spi.c */ +uint8_t u8g_com_arduino_st7920_custom_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_arduino_st7920_custom.c */ +uint8_t u8g_com_arduino_st7920_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_arduino_st7920_hw_spi.c */ +uint8_t u8g_com_arduino_parallel_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_arduino_parallel.c */ +uint8_t u8g_com_arduino_fast_parallel_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_arduino_fast_parallel.c */ +uint8_t u8g_com_arduino_port_d_wr_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_arduino_port_d_wr.c */ +uint8_t u8g_com_arduino_no_en_parallel_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_arduino_no_en_parallel.c */ +uint8_t u8g_com_arduino_ssd_i2c_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_arduino_ssd_i2c.c */ +uint8_t u8g_com_arduino_uc_i2c_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); +uint8_t u8g_com_arduino_t6963_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_arduino_t6963.c */ + + +uint8_t u8g_com_atmega_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_atmega_hw_spi.c */ +uint8_t u8g_com_atmega_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_atmega_sw_spi.c */ +uint8_t u8g_com_atmega_st7920_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_atmega_st7920_spi.c */ +uint8_t u8g_com_atmega_st7920_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); +uint8_t u8g_com_atmega_parallel_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_atmega_parallel.c */ + +uint8_t u8g_com_atxmega_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_atxmega_hw_spi.c */ +uint8_t u8g_com_atxmega_st7920_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_atxmega_st7920_spi.c */ + +uint8_t u8g_com_msp430_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_msp430_hw_spi.c */ + +uint8_t u8g_com_raspberrypi_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_rasperrypi_hw_spi.c */ +uint8_t u8g_com_raspberrypi_ssd_i2c_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_raspberrypi_ssd_i2c.c */ + +uint8_t u8g_com_linux_ssd_i2c_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_linux_ssd_i2c.c */ + +uint8_t u8g_com_psoc5_ssd_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_psoc5_ssd_hw_spi.c */ +uint8_t u8g_com_psoc5_ssd_hw_parallel_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_psoc5_ssd_hw_parallel.c */ + +/* + Translation of system specific com drives to generic com names + At the moment, the following generic com drives are available + U8G_COM_HW_SPI + U8G_COM_SW_SPI + U8G_COM_PARALLEL + U8G_COM_T6963 + U8G_COM_FAST_PARALLEL + U8G_COM_SSD_I2C + U8G_COM_UC_I2C + +defined(__18CXX) || defined(__PIC32MX) + +*/ + +/* ==== HW SPI, msp430 ====*/ +#if defined(__MSP430__) +#define U8G_COM_HW_SPI u8g_com_msp430_hw_spi_fn +#define U8G_COM_ST7920_HW_SPI u8g_com_null_fn +#endif + +/* ==== HW SPI, Raspberry PI ====*/ +#if defined(U8G_RASPBERRY_PI) +#define U8G_COM_HW_SPI u8g_com_raspberrypi_hw_spi_fn +#define U8G_COM_SW_SPI u8g_com_null_fn + +/* I'm sure there must be some mad reason for needing this */ +#define U8G_COM_ST7920_SW_SPI u8g_com_null_fn +#define U8G_COM_ST7920_HW_SPI u8g_com_null_fn +#endif + +/* ==== HW SPI, Arduino ====*/ +#if defined(ARDUINO) +#if defined(__AVR__) + +#if defined(__AVR_ATtiny85__) +#define U8G_COM_HW_SPI u8g_com_arduino_ATtiny85_std_hw_spi_fn +#define U8G_COM_ST7920_HW_SPI u8g_com_null_fn +#else + +#define U8G_COM_HW_SPI u8g_com_arduino_hw_spi_fn +#if defined(__AVR_ATmega32U4__) +#define U8G_COM_HW_USART_SPI u8g_com_arduino_hw_usart_spi_fn +#endif /* __AVR_ATmega32U4__ */ +#define U8G_COM_ST7920_HW_SPI u8g_com_arduino_st7920_hw_spi_fn +#endif /* __AVR_ATtiny85__ */ + +#elif defined(__18CXX) || defined(__PIC32MX) +#define U8G_COM_HW_SPI u8g_com_null_fn +#define U8G_COM_ST7920_HW_SPI u8g_com_null_fn +#elif defined(__SAM3X8E__) /* Arduino Due */ +#define U8G_COM_HW_SPI u8g_com_arduino_hw_spi_fn +#define U8G_COM_ST7920_HW_SPI u8g_com_null_fn +#endif +#endif +/* ==== HW SPI, not Arduino ====*/ +#ifndef U8G_COM_HW_SPI +#if defined(__AVR_XMEGA__) +#define U8G_COM_HW_SPI u8g_com_atxmega_hw_spi_fn +#define U8G_COM_ST7920_HW_SPI u8g_com_atxmega_st7920_hw_spi_fn +#elif defined(__AVR__) +#define U8G_COM_HW_SPI u8g_com_atmega_hw_spi_fn +#define U8G_COM_ST7920_HW_SPI u8g_com_atmega_st7920_hw_spi_fn +#endif +#endif +#ifndef U8G_COM_HW_SPI +#define U8G_COM_HW_SPI u8g_com_null_fn +#define U8G_COM_ST7920_HW_SPI u8g_com_null_fn +#endif +#ifndef U8G_COM_HW_USART_SPI +#define U8G_COM_HW_USART_SPI u8g_com_null_fn +#endif + + +/* ==== SW SPI, Arduino ====*/ +#if defined(ARDUINO) +#if defined(__AVR__) +#define U8G_COM_SW_SPI u8g_com_arduino_sw_spi_fn +#define U8G_COM_ST7920_SW_SPI u8g_com_arduino_st7920_spi_fn +#elif defined(__18CXX) || defined(__PIC32MX) +#define U8G_COM_SW_SPI u8g_com_arduino_sw_spi_fn +#define U8G_COM_ST7920_SW_SPI u8g_com_arduino_st7920_spi_fn +#elif defined(__SAM3X8E__) /* Arduino Due */ +//#define U8G_COM_SW_SPI u8g_com_arduino_std_sw_spi_fn +#define U8G_COM_SW_SPI u8g_com_arduino_sw_spi_fn +#define U8G_COM_ST7920_SW_SPI u8g_com_arduino_st7920_spi_fn +#elif defined(__arm__) /* Teensy */ +#define U8G_COM_SW_SPI u8g_com_arduino_std_sw_spi_fn +#define U8G_COM_ST7920_SW_SPI u8g_com_arduino_st7920_spi_fn +#endif +#endif + +#ifndef U8G_COM_SW_SPI +/* ==== SW SPI, not Arduino ====*/ + +/* ==== SW SPI, msp430 ====*/ +#if defined(__MSP430__) +#define U8G_COM_SW_SPI u8g_com_std_sw_spi_fn +#define U8G_COM_ST7920_SW_SPI u8g_com_null_fn +#endif + +#if defined(__AVR__) +#define U8G_COM_SW_SPI u8g_com_atmega_sw_spi_fn +#define U8G_COM_ST7920_SW_SPI u8g_com_atmega_st7920_sw_spi_fn +#endif +#endif +#ifndef U8G_COM_SW_SPI +#define U8G_COM_SW_SPI u8g_com_null_fn +#define U8G_COM_ST7920_SW_SPI u8g_com_null_fn +#endif + +/* ==== Parallel interface, Arduino ====*/ +#if defined(ARDUINO) +#if defined(__AVR__) +#define U8G_COM_PARALLEL u8g_com_arduino_parallel_fn +#define U8G_COM_FAST_PARALLEL u8g_com_arduino_fast_parallel_fn +#define U8G_COM_T6963 u8g_com_arduino_t6963_fn +#else /* Arduino Due, Chipkit PIC32 */ +#define U8G_COM_PARALLEL u8g_com_arduino_parallel_fn +#define U8G_COM_FAST_PARALLEL u8g_com_arduino_parallel_fn +#define U8G_COM_T6963 u8g_com_null_fn +#endif +#endif +#ifndef U8G_COM_PARALLEL +#if defined(__AVR__) +#define U8G_COM_PARALLEL u8g_com_atmega_parallel_fn +#define U8G_COM_FAST_PARALLEL u8g_com_atmega_parallel_fn +#define U8G_COM_T6963 u8g_com_null_fn +#endif +#endif +#ifndef U8G_COM_PARALLEL +#define U8G_COM_PARALLEL u8g_com_null_fn +#define U8G_COM_FAST_PARALLEL u8g_com_null_fn +#define U8G_COM_T6963 u8g_com_null_fn +#endif + +#if defined(ARDUINO) +#if defined(__AVR__) +#define U8G_COM_SSD_I2C u8g_com_arduino_ssd_i2c_fn +#define U8G_COM_UC_I2C u8g_com_arduino_uc_i2c_fn +#endif +#endif + +#ifndef U8G_COM_SSD_I2C +#if defined(__AVR__) || defined(__SAM3X8E__) +/* AVR variant and also DUE can use the arduino version at the moment */ +#define U8G_COM_SSD_I2C u8g_com_arduino_ssd_i2c_fn +#endif +#endif + +#ifndef U8G_COM_SSD_I2C +#if defined(U8G_RASPBERRY_PI) +#define U8G_COM_SSD_I2C u8g_com_raspberrypi_ssd_i2c_fn +#endif +#endif +#ifndef U8G_COM_SSD_I2C +#if defined(U8G_LINUX) +#define U8G_COM_SSD_I2C u8g_com_linux_ssd_i2c_fn +#endif +#endif +#if defined(U8G_CYPRESS_PSOC5) +#define U8G_COM_HW_SPI u8g_com_psoc5_ssd_hw_spi_fn +#define U8G_COM_FAST_PARALLEL u8g_com_psoc5_ssd_hw_parallel_fn +#endif + +#ifndef U8G_COM_SSD_I2C +#define U8G_COM_SSD_I2C u8g_com_null_fn +#endif + +#ifndef U8G_COM_UC_I2C +#if defined(__AVR__) +/* AVR variant can use the arduino version at the moment */ +#define U8G_COM_UC_I2C u8g_com_arduino_uc_i2c_fn +#endif +#endif +#ifndef U8G_COM_UC_I2C +#define U8G_COM_UC_I2C u8g_com_null_fn +#endif + + +/*===============================================================*/ +/* com api */ + +#define U8G_SPI_CLK_CYCLE_50NS 1 +#define U8G_SPI_CLK_CYCLE_300NS 2 +#define U8G_SPI_CLK_CYCLE_400NS 3 +#define U8G_SPI_CLK_CYCLE_NONE 255 + +uint8_t u8g_InitCom(u8g_t *u8g, u8g_dev_t *dev, uint8_t clk_cycle_time); +void u8g_StopCom(u8g_t *u8g, u8g_dev_t *dev); +void u8g_EnableCom(u8g_t *u8g, u8g_dev_t *dev); /* obsolete */ +void u8g_DisableCom(u8g_t *u8g, u8g_dev_t *dev); /* obsolete */ +void u8g_SetChipSelect(u8g_t *u8g, u8g_dev_t *dev, uint8_t cs); +void u8g_SetResetLow(u8g_t *u8g, u8g_dev_t *dev); +void u8g_SetResetHigh(u8g_t *u8g, u8g_dev_t *dev); +void u8g_SetAddress(u8g_t *u8g, u8g_dev_t *dev, uint8_t address); +uint8_t u8g_WriteByte(u8g_t *u8g, u8g_dev_t *dev, uint8_t val); +uint8_t u8g_WriteSequence(u8g_t *u8g, u8g_dev_t *dev, uint8_t cnt, uint8_t *seq); +uint8_t u8g_WriteSequenceP(u8g_t *u8g, u8g_dev_t *dev, uint8_t cnt, const uint8_t *seq); + + + +#define U8G_ESC_DLY(x) 255, ((x) & 0x7f) +#define U8G_ESC_CS(x) 255, (0xd0 | ((x)&0x0f)) +#define U8G_ESC_ADR(x) 255, (0xe0 | ((x)&0x0f)) +#define U8G_ESC_RST(x) 255, (0xc0 | ((x)&0x0f)) +#define U8G_ESC_VCC(x) 255, (0xbe | ((x)&0x01)) +#define U8G_ESC_END 255, 254 +#define U8G_ESC_255 255, 255 +//uint8_t u8g_WriteEscSeqP(u8g_t *u8g, u8g_dev_t *dev, u8g_pgm_uint8_t *esc_seq); +uint8_t u8g_WriteEscSeqP(u8g_t *u8g, u8g_dev_t *dev, const uint8_t *esc_seq); + + +/* u8g_com_api_16gr.c */ +uint8_t u8g_WriteByteBWTo16GrDevice(u8g_t *u8g, u8g_dev_t *dev, uint8_t b); +uint8_t u8g_WriteSequenceBWTo16GrDevice(u8g_t *u8g, u8g_dev_t *dev, uint8_t cnt, uint8_t *ptr); +uint8_t u8g_WriteByte4LTo16GrDevice(u8g_t *u8g, u8g_dev_t *dev, uint8_t b); +uint8_t u8g_WriteSequence4LTo16GrDevice(u8g_t *u8g, u8g_dev_t *dev, uint8_t cnt, uint8_t *ptr); + + +/*===============================================================*/ +/* u8g_arduino_common.c */ +void u8g_com_arduino_digital_write(u8g_t *u8g, uint8_t pin_index, uint8_t value); +void u8g_com_arduino_assign_pin_output_high(u8g_t *u8g); + +/*===============================================================*/ +/* u8g_com_io.c */ + +/* create internal number from port and pin */ +uint8_t u8g_Pin(uint8_t port, uint8_t bitpos); +#define PN(port,bitpos) u8g_Pin(port,bitpos) + +/* low level procedures */ +void u8g_SetPinOutput(uint8_t internal_pin_number); +void u8g_SetPinLevel(uint8_t internal_pin_number, uint8_t level); +void u8g_SetPinInput(uint8_t internal_pin_number); +uint8_t u8g_GetPinLevel(uint8_t internal_pin_number); + +/* u8g level procedures, expect U8G_PI_xxx macro */ +void u8g_SetPIOutput(u8g_t *u8g, uint8_t pi); +void u8g_SetPILevel(u8g_t *u8g, uint8_t pi, uint8_t level); + + +/*===============================================================*/ +/* page */ +struct _u8g_page_t +{ + u8g_uint_t page_height; + u8g_uint_t total_height; + u8g_uint_t page_y0; + u8g_uint_t page_y1; + uint8_t page; +}; +typedef struct _u8g_page_t u8g_page_t; + +void u8g_page_First(u8g_page_t *p) U8G_NOINLINE; /* u8g_page.c */ +void u8g_page_Init(u8g_page_t *p, u8g_uint_t page_height, u8g_uint_t total_height ) U8G_NOINLINE; /* u8g_page.c */ +uint8_t u8g_page_Next(u8g_page_t *p) U8G_NOINLINE; /* u8g_page.c */ + +/*===============================================================*/ +/* page buffer (pb) */ + +struct _u8g_pb_t +{ + u8g_page_t p; + u8g_uint_t width; /* pixel width */ + void *buf; +}; +typedef struct _u8g_pb_t u8g_pb_t; + + +/* u8g_pb.c */ +void u8g_pb_Clear(u8g_pb_t *b); +uint8_t u8g_pb_IsYIntersection(u8g_pb_t *pb, u8g_uint_t v0, u8g_uint_t v1); +uint8_t u8g_pb_IsXIntersection(u8g_pb_t *b, u8g_uint_t v0, u8g_uint_t v1); +uint8_t u8g_pb_IsIntersection(u8g_pb_t *pb, u8g_dev_arg_bbx_t *bbx); +void u8g_pb_GetPageBox(u8g_pb_t *pb, u8g_box_t *box); +uint8_t u8g_pb_Is8PixelVisible(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel); +uint8_t u8g_pb_WriteBuffer(u8g_pb_t *b, u8g_t *u8g, u8g_dev_t *dev); + +/* + note on __attribute__ ((nocommon)) + AVR scripts often use --gc-sections on the linker to remove unused section. + This works fine for initialed data and text sections. In principle .bss is also + handled, but the name##_pb definition is not removed. Reason is, that + array definitions are placed in the COMMON section, by default + The attribute "nocommon" removes this automatic assignment to the + COMMON section and directly puts it into .bss. As a result, if more + than one buffer is defined in one file, then it will be removed with --gc-sections + + .. not sure if Arduino IDE uses -fno-common... if yes, then the attribute is + redundant. +*/ +#define U8G_PB_DEV(name, width, height, page_height, dev_fn, com_fn) \ +uint8_t name##_buf[width] U8G_NOCOMMON ; \ +u8g_pb_t name##_pb = { {page_height, height, 0, 0, 0}, width, name##_buf}; \ +u8g_dev_t name = { dev_fn, &name##_pb, com_fn } + + +void u8g_pb8v1_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) U8G_NOINLINE; +void u8g_pb8v1_Clear(u8g_pb_t *b) U8G_NOINLINE; + +uint8_t u8g_pb8v1_IsYIntersection(u8g_pb_t *b, u8g_uint_t v0, u8g_uint_t v1); +uint8_t u8g_pb8v1_IsXIntersection(u8g_pb_t *b, u8g_uint_t v0, u8g_uint_t v1); +uint8_t u8g_pb8v1_WriteBuffer(u8g_pb_t *b, u8g_t *u8g, u8g_dev_t *dev); + +uint8_t u8g_dev_pb8v1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); + +/* u8g_pb16v1.c */ +uint8_t u8g_dev_pb16v1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); + +/* u8g_pb14v1.c */ +uint8_t u8g_dev_pb14v1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); + +/* u8g_pb8v2.c */ +uint8_t u8g_dev_pb8v2_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); + +/* u8g_pb16v2.c (double memory of pb8v2) */ +uint8_t u8g_dev_pb16v2_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); + + +/* u8g_pb8h1.c */ +uint8_t u8g_dev_pb8h1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); + +/* u8g_pb16h1.c */ +uint8_t u8g_dev_pb16h1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); + +/* u8g_pb32h1.c */ +uint8_t u8g_dev_pb32h1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); + + +/* u8g_pb8h2.c 8 pixel rows, byte has horzontal orientation */ +uint8_t u8g_dev_pb8h2_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); + +/* u8g_pb16h2.c */ +uint8_t u8g_dev_pb16h2_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); + + + +/* u8g_pb8h1f.c */ +uint8_t u8g_dev_pb8h1f_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); + +/* u8g_pb8h8.c */ +uint8_t u8g_dev_pb8h8_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); + +/* u8g_pbxh16.c */ +uint8_t u8g_dev_pbxh16_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); + +/* u8g_pbxh24.c */ +uint8_t u8g_dev_pbxh24_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); + + +/*===============================================================*/ +/* u8g_ll_api.c */ + +/* cursor draw callback */ +typedef void (*u8g_draw_cursor_fn)(u8g_t *u8g); + +/* vertical reference point calculation callback */ +typedef u8g_uint_t (*u8g_font_calc_vref_fnptr)(u8g_t *u8g); + +/* state backup and restore procedure */ +typedef void (*u8g_state_cb)(uint8_t msg); + + +/* PI = Pin Index */ + +/* reset pin, usually optional */ +#define U8G_PI_RESET 0 + +/* address / data or instruction */ +#define U8G_PI_A0 1 +#define U8G_PI_DI 1 + +/* chip select line */ +#define U8G_PI_CS 2 +#define U8G_PI_CS1 2 +#define U8G_PI_CS2 3 +/* Feb 2013: A0 state moved from 7 to 3 for t6963 controller*/ +#define U8G_PI_A0_STATE 3 + +/* enable / clock signal */ +#define U8G_PI_EN 4 +#define U8G_PI_CS_STATE 4 +#define U8G_PI_SCK 4 +#define U8G_PI_SCL 4 +#define U8G_PI_RD 4 + + +/* data pins, shared with SPI and I2C pins */ +#define U8G_PI_D0 5 +#define U8G_PI_MOSI 5 +#define U8G_PI_SDA 5 +#define U8G_PI_D1 6 +#define U8G_PI_MISO 6 +#define U8G_PI_D2 7 +#define U8G_PI_D3 8 +#define U8G_PI_SET_A0 8 +#define U8G_PI_D4 9 +#define U8G_PI_D5 10 +#define U8G_PI_I2C_OPTION 11 +#define U8G_PI_D6 11 +#define U8G_PI_D7 12 + +/* read/write pin, must be the last pin in the list, this means U8G_PIN_LIST_LEN = U8G_PI_RW + 1*/ +#define U8G_PI_WR 13 +#define U8G_PI_RW 13 + +#define U8G_PIN_LIST_LEN 14 + + +#define U8G_PIN_DUMMY 254 +#define U8G_PIN_NONE 255 + +#define U8G_FONT_HEIGHT_MODE_TEXT 0 +#define U8G_FONT_HEIGHT_MODE_XTEXT 1 +#define U8G_FONT_HEIGHT_MODE_ALL 2 + +struct _u8g_t +{ + u8g_uint_t width; + u8g_uint_t height; + + + u8g_dev_t *dev; /* first device in the device chain */ + const u8g_pgm_uint8_t *font; /* regular font for all text procedures */ + const u8g_pgm_uint8_t *cursor_font; /* special font for cursor procedures */ + uint8_t cursor_fg_color, cursor_bg_color; + uint8_t cursor_encoding; + uint8_t mode; /* display mode, one of U8G_MODE_xxx */ + u8g_uint_t cursor_x; + u8g_uint_t cursor_y; + u8g_draw_cursor_fn cursor_fn; + + int8_t glyph_dx; + int8_t glyph_x; + int8_t glyph_y; + uint8_t glyph_width; + uint8_t glyph_height; + + u8g_font_calc_vref_fnptr font_calc_vref; + uint8_t font_height_mode; + int8_t font_ref_ascent; + int8_t font_ref_descent; + uint8_t font_line_spacing_factor; /* line_spacing = factor * (ascent - descent) / 64 */ + uint8_t line_spacing; + + u8g_dev_arg_pixel_t arg_pixel; + /* uint8_t color_index; */ + +#ifdef U8G_WITH_PINLIST + uint8_t pin_list[U8G_PIN_LIST_LEN]; +#endif + + u8g_state_cb state_cb; + + u8g_box_t current_page; /* current box of the visible page */ + +}; + +#define u8g_GetFontAscent(u8g) ((u8g)->font_ref_ascent) +#define u8g_GetFontDescent(u8g) ((u8g)->font_ref_descent) +#define u8g_GetFontLineSpacing(u8g) ((u8g)->line_spacing) + +uint8_t u8g_call_dev_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); + +uint8_t u8g_InitLL(u8g_t *u8g, u8g_dev_t *dev); +void u8g_FirstPageLL(u8g_t *u8g, u8g_dev_t *dev); +uint8_t u8g_NextPageLL(u8g_t *u8g, u8g_dev_t *dev); +uint8_t u8g_SetContrastLL(u8g_t *u8g, u8g_dev_t *dev, uint8_t contrast); +void u8g_DrawPixelLL(u8g_t *u8g, u8g_dev_t *dev, u8g_uint_t x, u8g_uint_t y); +void u8g_Draw8PixelLL(u8g_t *u8g, u8g_dev_t *dev, u8g_uint_t x, u8g_uint_t y, uint8_t dir, uint8_t pixel); +void u8g_Draw4TPixelLL(u8g_t *u8g, u8g_dev_t *dev, u8g_uint_t x, u8g_uint_t y, uint8_t dir, uint8_t pixel); +uint8_t u8g_IsBBXIntersectionLL(u8g_t *u8g, u8g_dev_t *dev, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h); /* obsolete */ +u8g_uint_t u8g_GetWidthLL(u8g_t *u8g, u8g_dev_t *dev); +u8g_uint_t u8g_GetHeightLL(u8g_t *u8g, u8g_dev_t *dev); + +void u8g_UpdateDimension(u8g_t *u8g); +uint8_t u8g_Begin(u8g_t *u8g); /* reset device, put it into default state and call u8g_UpdateDimension() */ +uint8_t u8g_Init(u8g_t *u8g, u8g_dev_t *dev); /* only usefull if the device only as hardcoded ports */ +uint8_t u8g_InitComFn(u8g_t *u8g, u8g_dev_t *dev, u8g_com_fnptr com_fn); /* Init procedure for anything which is not Arduino or AVR (e.g. ARM, but not Due, which is Arduino) */ + +#if defined(U8G_WITH_PINLIST) +uint8_t u8g_InitSPI(u8g_t *u8g, u8g_dev_t *dev, uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset); +uint8_t u8g_InitHWSPI(u8g_t *u8g, u8g_dev_t *dev, uint8_t cs, uint8_t a0, uint8_t reset); +uint8_t u8g_InitI2C(u8g_t *u8g, u8g_dev_t *dev, uint8_t options); /* use U8G_I2C_OPT_NONE as options */ +uint8_t u8g_Init8BitFixedPort(u8g_t *u8g, u8g_dev_t *dev, uint8_t en, uint8_t cs, uint8_t di, uint8_t rw, uint8_t reset); +uint8_t u8g_Init8Bit(u8g_t *u8g, u8g_dev_t *dev, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, + uint8_t en, uint8_t cs1, uint8_t cs2, uint8_t di, uint8_t rw, uint8_t reset); +uint8_t u8g_InitRW8Bit(u8g_t *u8g, u8g_dev_t *dev, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, + uint8_t cs, uint8_t a0, uint8_t wr, uint8_t rd, uint8_t reset); +#endif + +void u8g_FirstPage(u8g_t *u8g); +uint8_t u8g_NextPage(u8g_t *u8g); +uint8_t u8g_SetContrast(u8g_t *u8g, uint8_t contrast); +void u8g_SleepOn(u8g_t *u8g); +void u8g_SleepOff(u8g_t *u8g); +void u8g_DrawPixel(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y); +void u8g_Draw8Pixel(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t dir, uint8_t pixel); +void u8g_Draw4TPixel(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t dir, uint8_t pixel); +void u8g_Draw8ColorPixel(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t colpixel); + +uint8_t u8g_Stop(u8g_t *u8g); +void u8g_SetColorEntry(u8g_t *u8g, uint8_t idx, uint8_t r, uint8_t g, uint8_t b); +void u8g_SetColorIndex(u8g_t *u8g, uint8_t idx); +void u8g_SetHiColor(u8g_t *u8g, uint16_t rgb); +void u8g_SetHiColorByRGB(u8g_t *u8g, uint8_t r, uint8_t g, uint8_t b); +void u8g_SetRGB(u8g_t *u8g, uint8_t r, uint8_t g, uint8_t b); +uint8_t u8g_GetColorIndex(u8g_t *u8g); + +uint8_t u8g_GetDefaultForegroundColor(u8g_t *u8g); +void u8g_SetDefaultForegroundColor(u8g_t *u8g); + +uint8_t u8g_GetDefaultBackgroundColor(u8g_t *u8g); +void u8g_SetDefaultBackgroundColor(u8g_t *u8g); + +uint8_t u8g_GetDefaultMidColor(u8g_t *u8g); +void u8g_SetDefaultMidColor(u8g_t *u8g); + +#define u8g_GetWidth(u8g) ((u8g)->width) +#define u8g_GetHeight(u8g) ((u8g)->height) +#define u8g_GetMode(u8g) ((u8g)->mode) +/* + U8G_MODE_GET_BITS_PER_PIXEL(u8g_GetMode(u8g)) + U8G_MODE_IS_COLOR(u8g_GetMode(u8g)) +*/ + +/* u8g_state.c */ +#define U8G_STATE_ENV_IDX 0 +#define U8G_STATE_U8G_IDX 1 +#define U8G_STATE_RESTORE 0 +#define U8G_STATE_BACKUP 1 +#define U8G_STATE_MSG_COMPOSE(cmd,idx) (((cmd)<<1) | (idx)) + +#define U8G_STATE_MSG_RESTORE_ENV U8G_STATE_MSG_COMPOSE(U8G_STATE_RESTORE,U8G_STATE_ENV_IDX) +#define U8G_STATE_MSG_BACKUP_ENV U8G_STATE_MSG_COMPOSE(U8G_STATE_BACKUP,U8G_STATE_ENV_IDX) +#define U8G_STATE_MSG_RESTORE_U8G U8G_STATE_MSG_COMPOSE(U8G_STATE_RESTORE,U8G_STATE_U8G_IDX) +#define U8G_STATE_MSG_BACKUP_U8G U8G_STATE_MSG_COMPOSE(U8G_STATE_BACKUP,U8G_STATE_U8G_IDX) + +#define U8G_STATE_MSG_GET_IDX(msg) ((msg)&1) +#define U8G_STATE_MSG_IS_BACKUP(msg) ((msg)&2) + + + +void u8g_state_dummy_cb(uint8_t msg); +void u8g_backup_spi(uint8_t msg); /* backup SPI state controller */ +/* backward compatible definition */ +#define u8g_backup_avr_spi u8g_backup_spi + +void u8g_SetHardwareBackup(u8g_t *u8g, u8g_state_cb backup_cb); + +/* u8g_clip.c */ + +uint8_t u8g_IsBBXIntersection(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h); + + +/* u8g_rot.c */ + +void u8g_UndoRotation(u8g_t *u8g); +void u8g_SetRot90(u8g_t *u8g); +void u8g_SetRot180(u8g_t *u8g); +void u8g_SetRot270(u8g_t *u8g); + +/* u8g_scale.c */ + +void u8g_UndoScale(u8g_t *u8g); +void u8g_SetScale2x2(u8g_t *u8g); + + +/* u8g_font.c */ + +size_t u8g_font_GetSize(const void *font); +uint8_t u8g_font_GetFontStartEncoding(const void *font) U8G_NOINLINE; +uint8_t u8g_font_GetFontEndEncoding(const void *font) U8G_NOINLINE; + +void u8g_SetFont(u8g_t *u8g, const u8g_fntpgm_uint8_t *font); + +uint8_t u8g_GetFontBBXWidth(u8g_t *u8g); +uint8_t u8g_GetFontBBXHeight(u8g_t *u8g); +int8_t u8g_GetFontBBXOffX(u8g_t *u8g); +int8_t u8g_GetFontBBXOffY(u8g_t *u8g); +uint8_t u8g_GetFontCapitalAHeight(u8g_t *u8g); + +uint8_t u8g_IsGlyph(u8g_t *u8g, uint8_t requested_encoding); +int8_t u8g_GetGlyphDeltaX(u8g_t *u8g, uint8_t requested_encoding); + +int8_t u8g_draw_glyph(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding); /* used by u8g_cursor.c */ + +int8_t u8g_DrawGlyphDir(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t dir, uint8_t encoding); +int8_t u8g_DrawGlyph(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding); +int8_t u8g_DrawGlyph90(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding); +int8_t u8g_DrawGlyph180(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding); +int8_t u8g_DrawGlyph270(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding); +int8_t u8g_DrawGlyphFontBBX(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t dir, uint8_t encoding); + +u8g_uint_t u8g_DrawStr(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const char *s); +u8g_uint_t u8g_DrawStr90(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const char *s); +u8g_uint_t u8g_DrawStr180(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const char *s); +u8g_uint_t u8g_DrawStr270(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const char *s); + +u8g_uint_t u8g_DrawStrDir(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t dir, const char *s); + + +u8g_uint_t u8g_DrawStrP(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const u8g_pgm_uint8_t *s); +u8g_uint_t u8g_DrawStr90P(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const u8g_pgm_uint8_t *s); +u8g_uint_t u8g_DrawStr180P(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const u8g_pgm_uint8_t *s); +u8g_uint_t u8g_DrawStr270P(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const u8g_pgm_uint8_t *s); + + +void u8g_SetFontRefHeightText(u8g_t *u8g); +void u8g_SetFontRefHeightExtendedText(u8g_t *u8g); +void u8g_SetFontRefHeightAll(u8g_t *u8g); +void u8g_SetFontLineSpacingFactor(u8g_t *u8g, uint8_t factor); + +u8g_uint_t u8g_font_calc_vref_font(u8g_t *u8g); +u8g_uint_t u8g_font_calc_vref_bottom(u8g_t *u8g); +u8g_uint_t u8g_font_calc_vref_top(u8g_t *u8g); +u8g_uint_t u8g_font_calc_vref_center(u8g_t *u8g); + +void u8g_SetFontPosBaseline(u8g_t *u8g); +void u8g_SetFontPosBottom(u8g_t *u8g); +void u8g_SetFontPosCenter(u8g_t *u8g); +void u8g_SetFontPosTop(u8g_t *u8g); + + +u8g_uint_t u8g_GetStrPixelWidth(u8g_t *u8g, const char *s); +u8g_uint_t u8g_GetStrPixelWidthP(u8g_t *u8g, const u8g_pgm_uint8_t *s); +int8_t u8g_GetStrX(u8g_t *u8g, const char *s); +int8_t u8g_GetStrXP(u8g_t *u8g, const u8g_pgm_uint8_t *s); +u8g_uint_t u8g_GetStrWidth(u8g_t *u8g, const char *s) U8G_NOINLINE; +u8g_uint_t u8g_GetStrWidthP(u8g_t *u8g, const u8g_pgm_uint8_t *s); + +u8g_uint_t u8g_DrawStrFontBBX(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t dir, const char *s); + +void u8g_GetStrMinBox(u8g_t *u8g, const char *s, u8g_uint_t *x, u8g_uint_t *y, u8g_uint_t *width, u8g_uint_t *height); +void u8g_GetStrAMinBox(u8g_t *u8g, const char *s, u8g_uint_t *x, u8g_uint_t *y, u8g_uint_t *width, u8g_uint_t *height); + + +u8g_uint_t u8g_DrawAAStr(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const char *s); + +/* u8g_rect.c */ + +void u8g_draw_box(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h) U8G_NOINLINE; + +void u8g_DrawHLine(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w) U8G_NOINLINE; +void u8g_DrawVLine(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w) U8G_NOINLINE; +void u8g_DrawFrame(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h) U8G_NOINLINE; +void u8g_DrawBox(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h) U8G_NOINLINE; + +void u8g_DrawRFrame(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h, u8g_uint_t r) U8G_NOINLINE; +void u8g_DrawRBox(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h, u8g_uint_t r) U8G_NOINLINE; + +/* u8g_bitmap.c */ + +void u8g_DrawHBitmap(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t cnt, const uint8_t *bitmap); +void u8g_DrawHBitmapP(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t cnt, const u8g_pgm_uint8_t *bitmap); +void u8g_DrawBitmap(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t cnt, u8g_uint_t h, const uint8_t *bitmap); +void u8g_DrawBitmapP(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t cnt, u8g_uint_t h, const u8g_pgm_uint8_t *bitmap); + +void u8g_DrawXBM(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h, const uint8_t *bitmap); +void u8g_DrawXBMP(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h, const u8g_pgm_uint8_t *bitmap); + + +/* u8g_line.c */ +void u8g_DrawLine(u8g_t *u8g, u8g_uint_t x1, u8g_uint_t y1, u8g_uint_t x2, u8g_uint_t y2); + + +/* u8g_circle.c */ + +/* the following, commented code has been rewritten or is not yet finished +#define U8G_CIRC_UPPER_RIGHT 0x01 +#define U8G_CIRC_UPPER_LEFT 0x02 +#define U8G_CIRC_LOWER_LEFT 0x04 +#define U8G_CIRC_LOWER_RIGHT 0x08 +#define U8G_CIRC_ALL (U8G_CIRC_UPPER_RIGHT|U8G_CIRC_UPPER_LEFT|U8G_CIRC_LOWER_RIGHT|U8G_CIRC_LOWER_LEFT) +void u8g_DrawEmpCirc(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option); +void u8g_DrawFillCirc(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option); +void u8g_DrawEllipseRect(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t x1, u8g_uint_t y1); +*/ + +#define U8G_DRAW_UPPER_RIGHT 0x01 +#define U8G_DRAW_UPPER_LEFT 0x02 +#define U8G_DRAW_LOWER_LEFT 0x04 +#define U8G_DRAW_LOWER_RIGHT 0x08 +#define U8G_DRAW_ALL (U8G_DRAW_UPPER_RIGHT|U8G_DRAW_UPPER_LEFT|U8G_DRAW_LOWER_RIGHT|U8G_DRAW_LOWER_LEFT) + +void u8g_draw_circle(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option) U8G_NOINLINE; +void u8g_draw_disc(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option) U8G_NOINLINE; + +void u8g_DrawCircle(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option); +void u8g_DrawDisc(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option); + +/* u8g_ellipse.c */ +void u8g_DrawEllipse(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rx, u8g_uint_t ry, uint8_t option); +void u8g_DrawFilledEllipse(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rx, u8g_uint_t ry, uint8_t option); + +/* u8g_clip.c */ +uint8_t u8g_is_box_bbx_intersection(u8g_box_t *box, u8g_dev_arg_bbx_t *bbx); + + +/* u8g_cursor.c */ +void u8g_SetCursorFont(u8g_t *u8g, const u8g_pgm_uint8_t *cursor_font); +void u8g_SetCursorStyle(u8g_t *u8g, uint8_t encoding); +void u8g_SetCursorPos(u8g_t *u8g, u8g_uint_t cursor_x, u8g_uint_t cursor_y); +void u8g_SetCursorColor(u8g_t *u8g, uint8_t fg, uint8_t bg); +void u8g_EnableCursor(u8g_t *u8g); +void u8g_DisableCursor(u8g_t *u8g); +void u8g_DrawCursor(u8g_t *u8g); + +/* u8g_polygon.c */ + +typedef int16_t pg_word_t; + +#define PG_NOINLINE U8G_NOINLINE + +struct pg_point_struct +{ + pg_word_t x; + pg_word_t y; +}; + +typedef struct _pg_struct pg_struct; /* forward declaration */ + +struct pg_edge_struct +{ + pg_word_t x_direction; /* 1, if x2 is greater than x1, -1 otherwise */ + pg_word_t height; + pg_word_t current_x_offset; + pg_word_t error_offset; + + /* --- line loop --- */ + pg_word_t current_y; + pg_word_t max_y; + pg_word_t current_x; + pg_word_t error; + + /* --- outer loop --- */ + uint8_t (*next_idx_fn)(pg_struct *pg, uint8_t i); + uint8_t curr_idx; +}; + +/* maximum number of points in the polygon */ +/* can be redefined, but highest possible value is 254 */ +#define PG_MAX_POINTS 6 + +/* index numbers for the pge structures below */ +#define PG_LEFT 0 +#define PG_RIGHT 1 + + +struct _pg_struct +{ + struct pg_point_struct list[PG_MAX_POINTS]; + uint8_t cnt; + uint8_t is_min_y_not_flat; + pg_word_t total_scan_line_cnt; + struct pg_edge_struct pge[2]; /* left and right line draw structures */ +}; + +void pg_ClearPolygonXY(pg_struct *pg); +void pg_AddPolygonXY(pg_struct *pg, u8g_t *u8g, int16_t x, int16_t y); +void pg_DrawPolygon(pg_struct *pg, u8g_t *u8g); +void u8g_ClearPolygonXY(void); +void u8g_AddPolygonXY(u8g_t *u8g, int16_t x, int16_t y); +void u8g_DrawPolygon(u8g_t *u8g); +void u8g_DrawTriangle(u8g_t *u8g, int16_t x0, int16_t y0, int16_t x1, int16_t y1, int16_t x2, int16_t y2); + + +/*===============================================================*/ +/* u8g_virtual_screen.c */ +void u8g_SetVirtualScreenDimension(u8g_t *vs_u8g, u8g_uint_t width, u8g_uint_t height); +uint8_t u8g_AddToVirtualScreen(u8g_t *vs_u8g, u8g_uint_t x, u8g_uint_t y, u8g_t *child_u8g); + +/*===============================================================*/ +void st_Draw(uint8_t fps); +void st_Step(uint8_t player_pos, uint8_t is_auto_fire, uint8_t is_fire); + +/*===============================================================*/ +/* u8g_com_i2c.c */ + +/* options for u8g_i2c_init() */ +#define U8G_I2C_OPT_NONE 0 +#define U8G_I2C_OPT_NO_ACK 2 +#define U8G_I2C_OPT_DEV_0 0 +#define U8G_I2C_OPT_DEV_1 4 +#define U8G_I2C_OPT_FAST 16 + +/* retrun values from u8g_twi_get_error() */ +#define U8G_I2C_ERR_NONE 0x00 +/* the following values are bit masks */ +#define U8G_I2C_ERR_TIMEOUT 0x01 +#define U8G_I2C_ERR_BUS 0x02 + +void u8g_i2c_clear_error(void) U8G_NOINLINE; +uint8_t u8g_i2c_get_error(void) U8G_NOINLINE; +uint8_t u8g_i2c_get_err_pos(void) U8G_NOINLINE; +void u8g_i2c_init(uint8_t options) U8G_NOINLINE; /* use U8G_I2C_OPT_NONE as options */ +uint8_t u8g_i2c_wait(uint8_t mask, uint8_t pos) U8G_NOINLINE; +uint8_t u8g_i2c_start(uint8_t sla) U8G_NOINLINE; +uint8_t u8g_i2c_send_byte(uint8_t data) U8G_NOINLINE; +uint8_t u8g_i2c_send_mode(uint8_t mode) U8G_NOINLINE; +void u8g_i2c_stop(void) U8G_NOINLINE; + + +/*===============================================================*/ +/* u8g_u8toa.c */ +/* v = value, d = number of digits */ +const char *u8g_u8toa(uint8_t v, uint8_t d); + +/* u8g_u8toa.c */ +/* v = value, d = number of digits */ +const char *u8g_u16toa(uint16_t v, uint8_t d); + +/*===============================================================*/ +/* u8g_delay.c */ + +/* delay by the specified number of milliseconds */ +void u8g_Delay(uint16_t val); + +/* delay by one microsecond */ +void u8g_MicroDelay(void); + +/* delay by 10 microseconds */ +void u8g_10MicroDelay(void); + +/*===============================================================*/ +/* chessengine.c */ +#define CHESS_KEY_NONE 0 +#define CHESS_KEY_NEXT 1 +#define CHESS_KEY_PREV 2 +#define CHESS_KEY_SELECT 3 +#define CHESS_KEY_BACK 4 + +void chess_Init(u8g_t *u8g, uint8_t empty_body_color); +void chess_Draw(void); +void chess_Step(uint8_t keycode); + +/*===============================================================*/ +/* font definitions */ +extern const u8g_fntpgm_uint8_t u8g_font_m2icon_5[] U8G_FONT_SECTION("u8g_font_m2icon_5"); +extern const u8g_fntpgm_uint8_t u8g_font_m2icon_7[] U8G_FONT_SECTION("u8g_font_m2icon_7"); +extern const u8g_fntpgm_uint8_t u8g_font_m2icon_9[] U8G_FONT_SECTION("u8g_font_m2icon_9"); + +extern const u8g_fntpgm_uint8_t u8g_font_u8glib_4[] U8G_FONT_SECTION("u8g_font_u8glib_4"); +extern const u8g_fntpgm_uint8_t u8g_font_u8glib_4r[] U8G_FONT_SECTION("u8g_font_u8glib_4r"); + + +extern const u8g_fntpgm_uint8_t u8g_font_6x12_75r[] U8G_FONT_SECTION("u8g_font_6x12_75r"); +extern const u8g_fntpgm_uint8_t u8g_font_6x13_75r[] U8G_FONT_SECTION("u8g_font_6x13_75r"); +extern const u8g_fntpgm_uint8_t u8g_font_7x13_75r[] U8G_FONT_SECTION("u8g_font_7x13_75r"); +extern const u8g_fntpgm_uint8_t u8g_font_8x13_75r[] U8G_FONT_SECTION("u8g_font_8x13_75r"); +extern const u8g_fntpgm_uint8_t u8g_font_9x15_75r[] U8G_FONT_SECTION("u8g_font_9x15_75r"); +extern const u8g_fntpgm_uint8_t u8g_font_9x18_75r[] U8G_FONT_SECTION("u8g_font_9x18_75r"); +extern const u8g_fntpgm_uint8_t u8g_font_cu12_75r[] U8G_FONT_SECTION("u8g_font_cu12_75r"); +extern const u8g_fntpgm_uint8_t u8g_font_unifont_75r[] U8G_FONT_SECTION("u8g_font_unifont_75r"); +extern const u8g_fntpgm_uint8_t u8g_font_10x20_75r[] U8G_FONT_SECTION("u8g_font_10x20_75r"); + +extern const u8g_fntpgm_uint8_t u8g_font_10x20_67_75[] U8G_FONT_SECTION("u8g_font_10x20_67_75"); +extern const u8g_fntpgm_uint8_t u8g_font_10x20_78_79[] U8G_FONT_SECTION("u8g_font_10x20_78_79"); +extern const u8g_fntpgm_uint8_t u8g_font_10x20[] U8G_FONT_SECTION("u8g_font_10x20"); +extern const u8g_fntpgm_uint8_t u8g_font_10x20r[] U8G_FONT_SECTION("u8g_font_10x20r"); +extern const u8g_fntpgm_uint8_t u8g_font_4x6[] U8G_FONT_SECTION("u8g_font_4x6"); +extern const u8g_fntpgm_uint8_t u8g_font_4x6r[] U8G_FONT_SECTION("u8g_font_4x6r"); +//extern const u8g_fntpgm_uint8_t u8g_font_4x6n[] U8G_FONT_SECTION("u8g_font_4x6n"); +extern const u8g_fntpgm_uint8_t u8g_font_5x7[] U8G_FONT_SECTION("u8g_font_5x7"); +extern const u8g_fntpgm_uint8_t u8g_font_5x7r[] U8G_FONT_SECTION("u8g_font_5x7r"); +extern const u8g_fntpgm_uint8_t u8g_font_5x8[] U8G_FONT_SECTION("u8g_font_5x8"); +extern const u8g_fntpgm_uint8_t u8g_font_5x8r[] U8G_FONT_SECTION("u8g_font_5x8r"); +extern const u8g_fntpgm_uint8_t u8g_font_6x10[] U8G_FONT_SECTION("u8g_font_6x10"); +extern const u8g_fntpgm_uint8_t u8g_font_6x10r[] U8G_FONT_SECTION("u8g_font_6x10r"); +extern const u8g_fntpgm_uint8_t u8g_font_6x12_67_75[] U8G_FONT_SECTION("u8g_font_6x12_67_75"); +extern const u8g_fntpgm_uint8_t u8g_font_6x12_78_79[] U8G_FONT_SECTION("u8g_font_6x12_78_79"); +extern const u8g_fntpgm_uint8_t u8g_font_6x12[] U8G_FONT_SECTION("u8g_font_6x12"); +extern const u8g_fntpgm_uint8_t u8g_font_6x12r[] U8G_FONT_SECTION("u8g_font_6x12r"); +extern const u8g_fntpgm_uint8_t u8g_font_6x13_67_75[] U8G_FONT_SECTION("u8g_font_6x13_67_75"); +extern const u8g_fntpgm_uint8_t u8g_font_6x13_78_79[] U8G_FONT_SECTION("u8g_font_6x13_78_79"); +extern const u8g_fntpgm_uint8_t u8g_font_6x13B[] U8G_FONT_SECTION("u8g_font_6x13B"); +extern const u8g_fntpgm_uint8_t u8g_font_6x13Br[] U8G_FONT_SECTION("u8g_font_6x13Br"); +extern const u8g_fntpgm_uint8_t u8g_font_6x13[] U8G_FONT_SECTION("u8g_font_6x13"); +extern const u8g_fntpgm_uint8_t u8g_font_6x13r[] U8G_FONT_SECTION("u8g_font_6x13r"); +extern const u8g_fntpgm_uint8_t u8g_font_6x13O[] U8G_FONT_SECTION("u8g_font_6x13O"); +extern const u8g_fntpgm_uint8_t u8g_font_6x13Or[] U8G_FONT_SECTION("u8g_font_6x13Or"); +extern const u8g_fntpgm_uint8_t u8g_font_7x13_67_75[] U8G_FONT_SECTION("u8g_font_7x13_67_75"); +extern const u8g_fntpgm_uint8_t u8g_font_7x13_78_79[] U8G_FONT_SECTION("u8g_font_7x13_78_79"); +extern const u8g_fntpgm_uint8_t u8g_font_7x13B[] U8G_FONT_SECTION("u8g_font_7x13B"); +extern const u8g_fntpgm_uint8_t u8g_font_7x13Br[] U8G_FONT_SECTION("u8g_font_7x13Br"); +extern const u8g_fntpgm_uint8_t u8g_font_7x13[] U8G_FONT_SECTION("u8g_font_7x13"); +extern const u8g_fntpgm_uint8_t u8g_font_7x13r[] U8G_FONT_SECTION("u8g_font_7x13r"); +extern const u8g_fntpgm_uint8_t u8g_font_7x13O[] U8G_FONT_SECTION("u8g_font_7x13O"); +extern const u8g_fntpgm_uint8_t u8g_font_7x13Or[] U8G_FONT_SECTION("u8g_font_7x13Or"); +extern const u8g_fntpgm_uint8_t u8g_font_7x14B[] U8G_FONT_SECTION("u8g_font_7x14B"); +extern const u8g_fntpgm_uint8_t u8g_font_7x14Br[] U8G_FONT_SECTION("u8g_font_7x14Br"); +extern const u8g_fntpgm_uint8_t u8g_font_7x14[] U8G_FONT_SECTION("u8g_font_7x14"); +extern const u8g_fntpgm_uint8_t u8g_font_7x14r[] U8G_FONT_SECTION("u8g_font_7x14r"); +extern const u8g_fntpgm_uint8_t u8g_font_8x13_67_75[] U8G_FONT_SECTION("u8g_font_8x13_67_75"); +extern const u8g_fntpgm_uint8_t u8g_font_8x13B[] U8G_FONT_SECTION("u8g_font_8x13B"); +extern const u8g_fntpgm_uint8_t u8g_font_8x13Br[] U8G_FONT_SECTION("u8g_font_8x13Br"); +extern const u8g_fntpgm_uint8_t u8g_font_8x13[] U8G_FONT_SECTION("u8g_font_8x13"); +extern const u8g_fntpgm_uint8_t u8g_font_8x13r[] U8G_FONT_SECTION("u8g_font_8x13r"); +extern const u8g_fntpgm_uint8_t u8g_font_8x13O[] U8G_FONT_SECTION("u8g_font_8x13O"); +extern const u8g_fntpgm_uint8_t u8g_font_8x13Or[] U8G_FONT_SECTION("u8g_font_8x13Or"); + +extern const u8g_fntpgm_uint8_t u8g_font_9x15_67_75[] U8G_FONT_SECTION("u8g_font_9x15_67_75"); +extern const u8g_fntpgm_uint8_t u8g_font_9x15_78_79[] U8G_FONT_SECTION("u8g_font_9x15_78_79"); +extern const u8g_fntpgm_uint8_t u8g_font_9x15B[] U8G_FONT_SECTION("u8g_font_9x15B"); +extern const u8g_fntpgm_uint8_t u8g_font_9x15Br[] U8G_FONT_SECTION("u8g_font_9x15Br"); +extern const u8g_fntpgm_uint8_t u8g_font_9x15[] U8G_FONT_SECTION("u8g_font_9x15"); +extern const u8g_fntpgm_uint8_t u8g_font_9x15r[] U8G_FONT_SECTION("u8g_font_9x15r"); + +extern const u8g_fntpgm_uint8_t u8g_font_9x18_67_75[] U8G_FONT_SECTION("u8g_font_9x18_67_75"); +extern const u8g_fntpgm_uint8_t u8g_font_9x18_78_79[] U8G_FONT_SECTION("u8g_font_9x18_78_79"); +extern const u8g_fntpgm_uint8_t u8g_font_9x18B[] U8G_FONT_SECTION("u8g_font_9x18B"); +extern const u8g_fntpgm_uint8_t u8g_font_9x18[] U8G_FONT_SECTION("u8g_font_9x18"); +extern const u8g_fntpgm_uint8_t u8g_font_9x18Br[] U8G_FONT_SECTION("u8g_font_9x18Br"); +extern const u8g_fntpgm_uint8_t u8g_font_9x18r[] U8G_FONT_SECTION("u8g_font_9x18r"); + +extern const u8g_fntpgm_uint8_t u8g_font_cursor[] U8G_FONT_SECTION("u8g_font_cursor"); +extern const u8g_fntpgm_uint8_t u8g_font_cursorr[] U8G_FONT_SECTION("u8g_font_cursorr"); +extern const u8g_fntpgm_uint8_t u8g_font_micro[] U8G_FONT_SECTION("u8g_font_micro"); + +extern const u8g_fntpgm_uint8_t u8g_font_cu12_67_75[] U8G_FONT_SECTION("u8g_font_cu12_67_75"); +extern const u8g_fntpgm_uint8_t u8g_font_cu12_78_79[] U8G_FONT_SECTION("u8g_font_cu12_78_79"); +extern const u8g_fntpgm_uint8_t u8g_font_cu12[] U8G_FONT_SECTION("u8g_font_cu12"); + +/* + Free-Universal Bold + r: Reduced char set (codes 32 - 128) + n: Numbers (codes 42 - 57) + no char: Full set (codes 32 - 255) +*/ + +extern const u8g_fntpgm_uint8_t u8g_font_fub11[] U8G_FONT_SECTION("u8g_font_fub11"); +extern const u8g_fntpgm_uint8_t u8g_font_fub11r[] U8G_FONT_SECTION("u8g_font_fub11r"); +extern const u8g_fntpgm_uint8_t u8g_font_fub11n[] U8G_FONT_SECTION("u8g_font_fub11n"); +extern const u8g_fntpgm_uint8_t u8g_font_fub14[] U8G_FONT_SECTION("u8g_font_fub14"); +extern const u8g_fntpgm_uint8_t u8g_font_fub14r[] U8G_FONT_SECTION("u8g_font_fub14r"); +extern const u8g_fntpgm_uint8_t u8g_font_fub14n[] U8G_FONT_SECTION("u8g_font_fub14n"); +extern const u8g_fntpgm_uint8_t u8g_font_fub17[] U8G_FONT_SECTION("u8g_font_fub17"); +extern const u8g_fntpgm_uint8_t u8g_font_fub17r[] U8G_FONT_SECTION("u8g_font_fub17r"); +extern const u8g_fntpgm_uint8_t u8g_font_fub17n[] U8G_FONT_SECTION("u8g_font_fub17n"); +extern const u8g_fntpgm_uint8_t u8g_font_fub20[] U8G_FONT_SECTION("u8g_font_fub20"); +extern const u8g_fntpgm_uint8_t u8g_font_fub20r[] U8G_FONT_SECTION("u8g_font_fub20r"); +extern const u8g_fntpgm_uint8_t u8g_font_fub20n[] U8G_FONT_SECTION("u8g_font_fub20n"); +extern const u8g_fntpgm_uint8_t u8g_font_fub25[] U8G_FONT_SECTION("u8g_font_fub25"); +extern const u8g_fntpgm_uint8_t u8g_font_fub25r[] U8G_FONT_SECTION("u8g_font_fub25r"); +extern const u8g_fntpgm_uint8_t u8g_font_fub25n[] U8G_FONT_SECTION("u8g_font_fub25n"); +extern const u8g_fntpgm_uint8_t u8g_font_fub30[] U8G_FONT_SECTION("u8g_font_fub30"); +extern const u8g_fntpgm_uint8_t u8g_font_fub30r[] U8G_FONT_SECTION("u8g_font_fub30r"); +extern const u8g_fntpgm_uint8_t u8g_font_fub30n[] U8G_FONT_SECTION("u8g_font_fub30n"); +extern const u8g_fntpgm_uint8_t u8g_font_fub35n[] U8G_FONT_SECTION("u8g_font_fub35n"); +extern const u8g_fntpgm_uint8_t u8g_font_fub42n[] U8G_FONT_SECTION("u8g_font_fub42n"); +extern const u8g_fntpgm_uint8_t u8g_font_fub49n[] U8G_FONT_SECTION("u8g_font_fub49n"); + +/* + Free-Universal Regular + r: Reduced char set (codes 32 - 128) + n: Numbers (codes 42 - 57) + no char: Full set (codes 32 - 255) +*/ + +extern const u8g_fntpgm_uint8_t u8g_font_fur11[] U8G_FONT_SECTION("u8g_font_fur11"); +extern const u8g_fntpgm_uint8_t u8g_font_fur11r[] U8G_FONT_SECTION("u8g_font_fur11r"); +extern const u8g_fntpgm_uint8_t u8g_font_fur11n[] U8G_FONT_SECTION("u8g_font_fur11n"); +extern const u8g_fntpgm_uint8_t u8g_font_fur14[] U8G_FONT_SECTION("u8g_font_fur14"); +extern const u8g_fntpgm_uint8_t u8g_font_fur14r[] U8G_FONT_SECTION("u8g_font_fur14r"); +extern const u8g_fntpgm_uint8_t u8g_font_fur14n[] U8G_FONT_SECTION("u8g_font_fur14n"); +extern const u8g_fntpgm_uint8_t u8g_font_fur17[] U8G_FONT_SECTION("u8g_font_fur17"); +extern const u8g_fntpgm_uint8_t u8g_font_fur17r[] U8G_FONT_SECTION("u8g_font_fur17r"); +extern const u8g_fntpgm_uint8_t u8g_font_fur17n[] U8G_FONT_SECTION("u8g_font_fur17n"); +extern const u8g_fntpgm_uint8_t u8g_font_fur20[] U8G_FONT_SECTION("u8g_font_fur20"); +extern const u8g_fntpgm_uint8_t u8g_font_fur20r[] U8G_FONT_SECTION("u8g_font_fur20r"); +extern const u8g_fntpgm_uint8_t u8g_font_fur20n[] U8G_FONT_SECTION("u8g_font_fur20n"); +extern const u8g_fntpgm_uint8_t u8g_font_fur25[] U8G_FONT_SECTION("u8g_font_fur25"); +extern const u8g_fntpgm_uint8_t u8g_font_fur25r[] U8G_FONT_SECTION("u8g_font_fur25r"); +extern const u8g_fntpgm_uint8_t u8g_font_fur25n[] U8G_FONT_SECTION("u8g_font_fur25n"); +extern const u8g_fntpgm_uint8_t u8g_font_fur30[] U8G_FONT_SECTION("u8g_font_fur30"); +extern const u8g_fntpgm_uint8_t u8g_font_fur30r[] U8G_FONT_SECTION("u8g_font_fur30r"); +extern const u8g_fntpgm_uint8_t u8g_font_fur30n[] U8G_FONT_SECTION("u8g_font_fur30n"); +extern const u8g_fntpgm_uint8_t u8g_font_fur35n[] U8G_FONT_SECTION("u8g_font_fur35n"); +extern const u8g_fntpgm_uint8_t u8g_font_fur42n[] U8G_FONT_SECTION("u8g_font_fur42n"); +extern const u8g_fntpgm_uint8_t u8g_font_fur49n[] U8G_FONT_SECTION("u8g_font_fur49n"); + +/* + Gentium Bold + r: Reduced char set (codes 32 - 128) + n: Numbers (codes 42 - 57) + no char: Full set (codes 32 - 255) +*/ + +extern const u8g_fntpgm_uint8_t u8g_font_gdb11[] U8G_FONT_SECTION("u8g_font_gdb11"); +extern const u8g_fntpgm_uint8_t u8g_font_gdb12[] U8G_FONT_SECTION("u8g_font_gdb12"); +extern const u8g_fntpgm_uint8_t u8g_font_gdb14[] U8G_FONT_SECTION("u8g_font_gdb14"); +extern const u8g_fntpgm_uint8_t u8g_font_gdb17[] U8G_FONT_SECTION("u8g_font_gdb17"); +extern const u8g_fntpgm_uint8_t u8g_font_gdb20[] U8G_FONT_SECTION("u8g_font_gdb20"); +extern const u8g_fntpgm_uint8_t u8g_font_gdb25[] U8G_FONT_SECTION("u8g_font_gdb25"); +extern const u8g_fntpgm_uint8_t u8g_font_gdb30[] U8G_FONT_SECTION("u8g_font_gdb30"); + +extern const u8g_fntpgm_uint8_t u8g_font_gdb11r[] U8G_FONT_SECTION("u8g_font_gdb11r"); +extern const u8g_fntpgm_uint8_t u8g_font_gdb12r[] U8G_FONT_SECTION("u8g_font_gdb12r"); +extern const u8g_fntpgm_uint8_t u8g_font_gdb14r[] U8G_FONT_SECTION("u8g_font_gdb14r"); +extern const u8g_fntpgm_uint8_t u8g_font_gdb17r[] U8G_FONT_SECTION("u8g_font_gdb17r"); +extern const u8g_fntpgm_uint8_t u8g_font_gdb20r[] U8G_FONT_SECTION("u8g_font_gdb20r"); +extern const u8g_fntpgm_uint8_t u8g_font_gdb25r[] U8G_FONT_SECTION("u8g_font_gdb25r"); +extern const u8g_fntpgm_uint8_t u8g_font_gdb30r[] U8G_FONT_SECTION("u8g_font_gdb30r"); + +extern const u8g_fntpgm_uint8_t u8g_font_gdb11n[] U8G_FONT_SECTION("u8g_font_gdb11n"); +extern const u8g_fntpgm_uint8_t u8g_font_gdb12n[] U8G_FONT_SECTION("u8g_font_gdb12n"); +extern const u8g_fntpgm_uint8_t u8g_font_gdb14n[] U8G_FONT_SECTION("u8g_font_gdb14n"); +extern const u8g_fntpgm_uint8_t u8g_font_gdb17n[] U8G_FONT_SECTION("u8g_font_gdb17n"); +extern const u8g_fntpgm_uint8_t u8g_font_gdb20n[] U8G_FONT_SECTION("u8g_font_gdb20n"); +extern const u8g_fntpgm_uint8_t u8g_font_gdb25n[] U8G_FONT_SECTION("u8g_font_gdb25n"); +extern const u8g_fntpgm_uint8_t u8g_font_gdb30n[] U8G_FONT_SECTION("u8g_font_gdb30n"); + +/* + Gentium Regular + r: Reduced char set (codes 32 - 128) + n: Numbers (codes 42 - 57) + no char: Full set (codes 32 - 255) +*/ + +extern const u8g_fntpgm_uint8_t u8g_font_gdr9[] U8G_FONT_SECTION("u8g_font_gdr9"); +extern const u8g_fntpgm_uint8_t u8g_font_gdr10[] U8G_FONT_SECTION("u8g_font_gdr10"); +extern const u8g_fntpgm_uint8_t u8g_font_gdr11[] U8G_FONT_SECTION("u8g_font_gdr11"); +extern const u8g_fntpgm_uint8_t u8g_font_gdr12[] U8G_FONT_SECTION("u8g_font_gdr12"); +extern const u8g_fntpgm_uint8_t u8g_font_gdr14[] U8G_FONT_SECTION("u8g_font_gdr14"); +extern const u8g_fntpgm_uint8_t u8g_font_gdr17[] U8G_FONT_SECTION("u8g_font_gdr17"); +extern const u8g_fntpgm_uint8_t u8g_font_gdr20[] U8G_FONT_SECTION("u8g_font_gdr20"); +extern const u8g_fntpgm_uint8_t u8g_font_gdr25[] U8G_FONT_SECTION("u8g_font_gdr25"); +extern const u8g_fntpgm_uint8_t u8g_font_gdr30[] U8G_FONT_SECTION("u8g_font_gdr30"); + +extern const u8g_fntpgm_uint8_t u8g_font_gdr9r[] U8G_FONT_SECTION("u8g_font_gdr9r"); +extern const u8g_fntpgm_uint8_t u8g_font_gdr10r[] U8G_FONT_SECTION("u8g_font_gdr10r"); +extern const u8g_fntpgm_uint8_t u8g_font_gdr11r[] U8G_FONT_SECTION("u8g_font_gdr11r"); +extern const u8g_fntpgm_uint8_t u8g_font_gdr12r[] U8G_FONT_SECTION("u8g_font_gdr12r"); +extern const u8g_fntpgm_uint8_t u8g_font_gdr14r[] U8G_FONT_SECTION("u8g_font_gdr14r"); +extern const u8g_fntpgm_uint8_t u8g_font_gdr17r[] U8G_FONT_SECTION("u8g_font_gdr17r"); +extern const u8g_fntpgm_uint8_t u8g_font_gdr20r[] U8G_FONT_SECTION("u8g_font_gdr20r"); +extern const u8g_fntpgm_uint8_t u8g_font_gdr25r[] U8G_FONT_SECTION("u8g_font_gdr25r"); +extern const u8g_fntpgm_uint8_t u8g_font_gdr30r[] U8G_FONT_SECTION("u8g_font_gdr30r"); + +extern const u8g_fntpgm_uint8_t u8g_font_gdr9n[] U8G_FONT_SECTION("u8g_font_gdr9n"); +extern const u8g_fntpgm_uint8_t u8g_font_gdr10n[] U8G_FONT_SECTION("u8g_font_gdr10n"); +extern const u8g_fntpgm_uint8_t u8g_font_gdr11n[] U8G_FONT_SECTION("u8g_font_gdr11n"); +extern const u8g_fntpgm_uint8_t u8g_font_gdr12n[] U8G_FONT_SECTION("u8g_font_gdr12n"); +extern const u8g_fntpgm_uint8_t u8g_font_gdr14n[] U8G_FONT_SECTION("u8g_font_gdr14n"); +extern const u8g_fntpgm_uint8_t u8g_font_gdr17n[] U8G_FONT_SECTION("u8g_font_gdr17n"); +extern const u8g_fntpgm_uint8_t u8g_font_gdr20n[] U8G_FONT_SECTION("u8g_font_gdr20n"); +extern const u8g_fntpgm_uint8_t u8g_font_gdr25n[] U8G_FONT_SECTION("u8g_font_gdr25n"); +extern const u8g_fntpgm_uint8_t u8g_font_gdr30n[] U8G_FONT_SECTION("u8g_font_gdr30n"); + +/* + Old-Standard Bold + r: Reduced char set (codes 32 - 128) + n: Numbers (codes 42 - 57) + no char: Full set (codes 32 - 255) +*/ + +extern const u8g_fntpgm_uint8_t u8g_font_osb18[] U8G_FONT_SECTION("u8g_font_osb18"); +extern const u8g_fntpgm_uint8_t u8g_font_osb21[] U8G_FONT_SECTION("u8g_font_osb21"); +extern const u8g_fntpgm_uint8_t u8g_font_osb26[] U8G_FONT_SECTION("u8g_font_osb26"); +extern const u8g_fntpgm_uint8_t u8g_font_osb29[] U8G_FONT_SECTION("u8g_font_osb29"); +extern const u8g_fntpgm_uint8_t u8g_font_osb35[] U8G_FONT_SECTION("u8g_font_osb35"); + +extern const u8g_fntpgm_uint8_t u8g_font_osb18r[] U8G_FONT_SECTION("u8g_font_osb18r"); +extern const u8g_fntpgm_uint8_t u8g_font_osb21r[] U8G_FONT_SECTION("u8g_font_osb21r"); +extern const u8g_fntpgm_uint8_t u8g_font_osb26r[] U8G_FONT_SECTION("u8g_font_osb26r"); +extern const u8g_fntpgm_uint8_t u8g_font_osb29r[] U8G_FONT_SECTION("u8g_font_osb29r"); +extern const u8g_fntpgm_uint8_t u8g_font_osb35r[] U8G_FONT_SECTION("u8g_font_osb35r"); + +extern const u8g_fntpgm_uint8_t u8g_font_osb18n[] U8G_FONT_SECTION("u8g_font_osb18n"); +extern const u8g_fntpgm_uint8_t u8g_font_osb21n[] U8G_FONT_SECTION("u8g_font_osb21n"); +extern const u8g_fntpgm_uint8_t u8g_font_osb26n[] U8G_FONT_SECTION("u8g_font_osb26n"); +extern const u8g_fntpgm_uint8_t u8g_font_osb29n[] U8G_FONT_SECTION("u8g_font_osb29n"); +extern const u8g_fntpgm_uint8_t u8g_font_osb35n[] U8G_FONT_SECTION("u8g_font_osb35n"); + +/* + Old-Standard Regular + r: Reduced char set (codes 32 - 128) + n: Numbers (codes 42 - 57) + no char: Full set (codes 32 - 255) +*/ + +extern const u8g_fntpgm_uint8_t u8g_font_osr18[] U8G_FONT_SECTION("u8g_font_osr18"); +extern const u8g_fntpgm_uint8_t u8g_font_osr21[] U8G_FONT_SECTION("u8g_font_osr21"); +extern const u8g_fntpgm_uint8_t u8g_font_osr26[] U8G_FONT_SECTION("u8g_font_osr26"); +extern const u8g_fntpgm_uint8_t u8g_font_osr29[] U8G_FONT_SECTION("u8g_font_osr29"); +extern const u8g_fntpgm_uint8_t u8g_font_osr35[] U8G_FONT_SECTION("u8g_font_osr35"); + +extern const u8g_fntpgm_uint8_t u8g_font_osr18r[] U8G_FONT_SECTION("u8g_font_osr18r"); +extern const u8g_fntpgm_uint8_t u8g_font_osr21r[] U8G_FONT_SECTION("u8g_font_osr21r"); +extern const u8g_fntpgm_uint8_t u8g_font_osr26r[] U8G_FONT_SECTION("u8g_font_osr26r"); +extern const u8g_fntpgm_uint8_t u8g_font_osr29r[] U8G_FONT_SECTION("u8g_font_osr29r"); +extern const u8g_fntpgm_uint8_t u8g_font_osr35r[] U8G_FONT_SECTION("u8g_font_osr35r"); + +extern const u8g_fntpgm_uint8_t u8g_font_osr18n[] U8G_FONT_SECTION("u8g_font_osr18n"); +extern const u8g_fntpgm_uint8_t u8g_font_osr21n[] U8G_FONT_SECTION("u8g_font_osr21n"); +extern const u8g_fntpgm_uint8_t u8g_font_osr26n[] U8G_FONT_SECTION("u8g_font_osr26n"); +extern const u8g_fntpgm_uint8_t u8g_font_osr29n[] U8G_FONT_SECTION("u8g_font_osr29n"); +extern const u8g_fntpgm_uint8_t u8g_font_osr35n[] U8G_FONT_SECTION("u8g_font_osr35n"); + +//extern const u8g_fntpgm_uint8_t u8g_font_osr41[] U8G_FONT_SECTION("u8g_font_osr41"); + +/* GNU unifont */ + +extern const u8g_fntpgm_uint8_t u8g_font_unifont_18_19[] U8G_FONT_SECTION("u8g_font_unifont_18_19"); +extern const u8g_fntpgm_uint8_t u8g_font_unifont_72_73[] U8G_FONT_SECTION("u8g_font_unifont_72_73"); +extern const u8g_fntpgm_uint8_t u8g_font_unifont_67_75[] U8G_FONT_SECTION("u8g_font_unifont_67_75"); +extern const u8g_fntpgm_uint8_t u8g_font_unifont_76[] U8G_FONT_SECTION("u8g_font_unifont_76"); +extern const u8g_fntpgm_uint8_t u8g_font_unifont_77[] U8G_FONT_SECTION("u8g_font_unifont_77"); +extern const u8g_fntpgm_uint8_t u8g_font_unifont_78_79[] U8G_FONT_SECTION("u8g_font_unifont_78_79"); +extern const u8g_fntpgm_uint8_t u8g_font_unifont_86[] U8G_FONT_SECTION("u8g_font_unifont_86"); +extern const u8g_fntpgm_uint8_t u8g_font_unifont[] U8G_FONT_SECTION("u8g_font_unifont"); +extern const u8g_fntpgm_uint8_t u8g_font_unifontr[] U8G_FONT_SECTION("u8g_font_unifontr"); +extern const u8g_fntpgm_uint8_t u8g_font_unifont_0_8[] U8G_FONT_SECTION("u8g_font_unifont_0_8"); +extern const u8g_fntpgm_uint8_t u8g_font_unifont_2_3[] U8G_FONT_SECTION("u8g_font_unifont_2_3"); +extern const u8g_fntpgm_uint8_t u8g_font_unifont_4_5[] U8G_FONT_SECTION("u8g_font_unifont_4_5"); +extern const u8g_fntpgm_uint8_t u8g_font_unifont_8_9[] U8G_FONT_SECTION("u8g_font_unifont_8_9"); +extern const u8g_fntpgm_uint8_t u8g_font_unifont_12_13[] U8G_FONT_SECTION("u8g_font_unifont_12_13"); + + +/* 04b fonts */ + +extern const u8g_fntpgm_uint8_t u8g_font_04b_03b[] U8G_FONT_SECTION("u8g_font_04b_03b"); +extern const u8g_fntpgm_uint8_t u8g_font_04b_03bn[] U8G_FONT_SECTION("u8g_font_04b_03bn"); +extern const u8g_fntpgm_uint8_t u8g_font_04b_03br[] U8G_FONT_SECTION("u8g_font_04b_03br"); +extern const u8g_fntpgm_uint8_t u8g_font_04b_03[] U8G_FONT_SECTION("u8g_font_04b_03"); +extern const u8g_fntpgm_uint8_t u8g_font_04b_03n[] U8G_FONT_SECTION("u8g_font_04b_03n"); +extern const u8g_fntpgm_uint8_t u8g_font_04b_03r[] U8G_FONT_SECTION("u8g_font_04b_03r"); +extern const u8g_fntpgm_uint8_t u8g_font_04b_24[] U8G_FONT_SECTION("u8g_font_04b_24"); +extern const u8g_fntpgm_uint8_t u8g_font_04b_24n[] U8G_FONT_SECTION("u8g_font_04b_24n"); +extern const u8g_fntpgm_uint8_t u8g_font_04b_24r[] U8G_FONT_SECTION("u8g_font_04b_24r"); + +/* orgdot fonts */ + +extern const u8g_fntpgm_uint8_t u8g_font_orgv01[] U8G_FONT_SECTION("u8g_font_orgv01"); +extern const u8g_fntpgm_uint8_t u8g_font_orgv01r[] U8G_FONT_SECTION("u8g_font_orgv01r"); +extern const u8g_fntpgm_uint8_t u8g_font_orgv01n[] U8G_FONT_SECTION("u8g_font_orgv01n"); + +extern const u8g_fntpgm_uint8_t u8g_font_fixed_v0[] U8G_FONT_SECTION("u8g_font_fixed_v0"); +extern const u8g_fntpgm_uint8_t u8g_font_fixed_v0r[] U8G_FONT_SECTION("u8g_font_fixed_v0r"); +extern const u8g_fntpgm_uint8_t u8g_font_fixed_v0n[] U8G_FONT_SECTION("u8g_font_fixed_v0n"); + +extern const u8g_fntpgm_uint8_t u8g_font_tpssb[] U8G_FONT_SECTION("u8g_font_tpssb"); +extern const u8g_fntpgm_uint8_t u8g_font_tpssbr[] U8G_FONT_SECTION("u8g_font_tpssbr"); +extern const u8g_fntpgm_uint8_t u8g_font_tpssbn[] U8G_FONT_SECTION("u8g_font_tpssbn"); + +extern const u8g_fntpgm_uint8_t u8g_font_tpss[] U8G_FONT_SECTION("u8g_font_tpss"); +extern const u8g_fntpgm_uint8_t u8g_font_tpssr[] U8G_FONT_SECTION("u8g_font_tpssr"); +extern const u8g_fntpgm_uint8_t u8g_font_tpssn[] U8G_FONT_SECTION("u8g_font_tpssn"); + +/* contributed */ + +extern const u8g_fntpgm_uint8_t u8g_font_freedoomr25n[] U8G_FONT_SECTION("u8g_font_freedoomr25n"); +extern const u8g_fntpgm_uint8_t u8g_font_freedoomr10r[] U8G_FONT_SECTION("u8g_font_freedoomr10r"); + +/* adobe X11 */ +extern const u8g_fntpgm_uint8_t u8g_font_courB08[] U8G_FONT_SECTION("u8g_font_courB08"); +extern const u8g_fntpgm_uint8_t u8g_font_courB08r[] U8G_FONT_SECTION("u8g_font_courB08r"); +extern const u8g_fntpgm_uint8_t u8g_font_courB10[] U8G_FONT_SECTION("u8g_font_courB10"); +extern const u8g_fntpgm_uint8_t u8g_font_courB10r[] U8G_FONT_SECTION("u8g_font_courB10r"); +extern const u8g_fntpgm_uint8_t u8g_font_courB12[] U8G_FONT_SECTION("u8g_font_courB12"); +extern const u8g_fntpgm_uint8_t u8g_font_courB12r[] U8G_FONT_SECTION("u8g_font_courB12r"); +extern const u8g_fntpgm_uint8_t u8g_font_courB14[] U8G_FONT_SECTION("u8g_font_courB14"); +extern const u8g_fntpgm_uint8_t u8g_font_courB14r[] U8G_FONT_SECTION("u8g_font_courB14r"); +extern const u8g_fntpgm_uint8_t u8g_font_courB18[] U8G_FONT_SECTION("u8g_font_courB18"); +extern const u8g_fntpgm_uint8_t u8g_font_courB18r[] U8G_FONT_SECTION("u8g_font_courB18r"); +extern const u8g_fntpgm_uint8_t u8g_font_courB24[] U8G_FONT_SECTION("u8g_font_courB24"); +extern const u8g_fntpgm_uint8_t u8g_font_courB24r[] U8G_FONT_SECTION("u8g_font_courB24r"); +extern const u8g_fntpgm_uint8_t u8g_font_courB24n[] U8G_FONT_SECTION("u8g_font_courB24n"); + +extern const u8g_fntpgm_uint8_t u8g_font_courR08[] U8G_FONT_SECTION("u8g_font_courR08"); +extern const u8g_fntpgm_uint8_t u8g_font_courR08r[] U8G_FONT_SECTION("u8g_font_courR08r"); +extern const u8g_fntpgm_uint8_t u8g_font_courR10[] U8G_FONT_SECTION("u8g_font_courR10"); +extern const u8g_fntpgm_uint8_t u8g_font_courR10r[] U8G_FONT_SECTION("u8g_font_courR10r"); +extern const u8g_fntpgm_uint8_t u8g_font_courR12[] U8G_FONT_SECTION("u8g_font_courR12"); +extern const u8g_fntpgm_uint8_t u8g_font_courR12r[] U8G_FONT_SECTION("u8g_font_courR12r"); +extern const u8g_fntpgm_uint8_t u8g_font_courR14[] U8G_FONT_SECTION("u8g_font_courR14"); +extern const u8g_fntpgm_uint8_t u8g_font_courR14r[] U8G_FONT_SECTION("u8g_font_courR14r"); +extern const u8g_fntpgm_uint8_t u8g_font_courR18[] U8G_FONT_SECTION("u8g_font_courR18"); +extern const u8g_fntpgm_uint8_t u8g_font_courR18r[] U8G_FONT_SECTION("u8g_font_courR18r"); +extern const u8g_fntpgm_uint8_t u8g_font_courR24[] U8G_FONT_SECTION("u8g_font_courR24"); +extern const u8g_fntpgm_uint8_t u8g_font_courR24r[] U8G_FONT_SECTION("u8g_font_courR24r"); +extern const u8g_fntpgm_uint8_t u8g_font_courR24n[] U8G_FONT_SECTION("u8g_font_courR24n"); + +extern const u8g_fntpgm_uint8_t u8g_font_helvB08[] U8G_FONT_SECTION("u8g_font_helvB08"); +extern const u8g_fntpgm_uint8_t u8g_font_helvB08r[] U8G_FONT_SECTION("u8g_font_helvB08r"); +extern const u8g_fntpgm_uint8_t u8g_font_helvB08n[] U8G_FONT_SECTION("u8g_font_helvB08n"); +extern const u8g_fntpgm_uint8_t u8g_font_helvB10[] U8G_FONT_SECTION("u8g_font_helvB10"); +extern const u8g_fntpgm_uint8_t u8g_font_helvB10r[] U8G_FONT_SECTION("u8g_font_helvB10r"); +extern const u8g_fntpgm_uint8_t u8g_font_helvB10n[] U8G_FONT_SECTION("u8g_font_helvB10n"); +extern const u8g_fntpgm_uint8_t u8g_font_helvB12[] U8G_FONT_SECTION("u8g_font_helvB12"); +extern const u8g_fntpgm_uint8_t u8g_font_helvB12r[] U8G_FONT_SECTION("u8g_font_helvB12r"); +extern const u8g_fntpgm_uint8_t u8g_font_helvB12n[] U8G_FONT_SECTION("u8g_font_helvB12n"); +extern const u8g_fntpgm_uint8_t u8g_font_helvB14[] U8G_FONT_SECTION("u8g_font_helvB14"); +extern const u8g_fntpgm_uint8_t u8g_font_helvB14r[] U8G_FONT_SECTION("u8g_font_helvB14r"); +extern const u8g_fntpgm_uint8_t u8g_font_helvB14n[] U8G_FONT_SECTION("u8g_font_helvB14n"); +extern const u8g_fntpgm_uint8_t u8g_font_helvB18[] U8G_FONT_SECTION("u8g_font_helvB18"); +extern const u8g_fntpgm_uint8_t u8g_font_helvB18r[] U8G_FONT_SECTION("u8g_font_helvB18r"); +extern const u8g_fntpgm_uint8_t u8g_font_helvB18n[] U8G_FONT_SECTION("u8g_font_helvB18n"); +extern const u8g_fntpgm_uint8_t u8g_font_helvB24[] U8G_FONT_SECTION("u8g_font_helvB24"); +extern const u8g_fntpgm_uint8_t u8g_font_helvB24r[] U8G_FONT_SECTION("u8g_font_helvB24r"); +extern const u8g_fntpgm_uint8_t u8g_font_helvB24n[] U8G_FONT_SECTION("u8g_font_helvB24n"); + +extern const u8g_fntpgm_uint8_t u8g_font_helvR08[] U8G_FONT_SECTION("u8g_font_helvR08"); +extern const u8g_fntpgm_uint8_t u8g_font_helvR08r[] U8G_FONT_SECTION("u8g_font_helvR08r"); +extern const u8g_fntpgm_uint8_t u8g_font_helvR08n[] U8G_FONT_SECTION("u8g_font_helvR08n"); +extern const u8g_fntpgm_uint8_t u8g_font_helvR10[] U8G_FONT_SECTION("u8g_font_helvR10"); +extern const u8g_fntpgm_uint8_t u8g_font_helvR10r[] U8G_FONT_SECTION("u8g_font_helvR10r"); +extern const u8g_fntpgm_uint8_t u8g_font_helvR10n[] U8G_FONT_SECTION("u8g_font_helvR10n"); +extern const u8g_fntpgm_uint8_t u8g_font_helvR12[] U8G_FONT_SECTION("u8g_font_helvR12"); +extern const u8g_fntpgm_uint8_t u8g_font_helvR12r[] U8G_FONT_SECTION("u8g_font_helvR12r"); +extern const u8g_fntpgm_uint8_t u8g_font_helvR12n[] U8G_FONT_SECTION("u8g_font_helvR12n"); +extern const u8g_fntpgm_uint8_t u8g_font_helvR14[] U8G_FONT_SECTION("u8g_font_helvR14"); +extern const u8g_fntpgm_uint8_t u8g_font_helvR14r[] U8G_FONT_SECTION("u8g_font_helvR14r"); +extern const u8g_fntpgm_uint8_t u8g_font_helvR14n[] U8G_FONT_SECTION("u8g_font_helvR14n"); +extern const u8g_fntpgm_uint8_t u8g_font_helvR18[] U8G_FONT_SECTION("u8g_font_helvR18"); +extern const u8g_fntpgm_uint8_t u8g_font_helvR18r[] U8G_FONT_SECTION("u8g_font_helvR18r"); +extern const u8g_fntpgm_uint8_t u8g_font_helvR18n[] U8G_FONT_SECTION("u8g_font_helvR18n"); +extern const u8g_fntpgm_uint8_t u8g_font_helvR24[] U8G_FONT_SECTION("u8g_font_helvR24"); +extern const u8g_fntpgm_uint8_t u8g_font_helvR24r[] U8G_FONT_SECTION("u8g_font_helvR24r"); +extern const u8g_fntpgm_uint8_t u8g_font_helvR24n[] U8G_FONT_SECTION("u8g_font_helvR24n"); + +extern const u8g_fntpgm_uint8_t u8g_font_ncenB08[] U8G_FONT_SECTION("u8g_font_ncenB08"); +extern const u8g_fntpgm_uint8_t u8g_font_ncenB08r[] U8G_FONT_SECTION("u8g_font_ncenB08r"); +extern const u8g_fntpgm_uint8_t u8g_font_ncenB10[] U8G_FONT_SECTION("u8g_font_ncenB10"); +extern const u8g_fntpgm_uint8_t u8g_font_ncenB10r[] U8G_FONT_SECTION("u8g_font_ncenB10r"); +extern const u8g_fntpgm_uint8_t u8g_font_ncenB12[] U8G_FONT_SECTION("u8g_font_ncenB12"); +extern const u8g_fntpgm_uint8_t u8g_font_ncenB12r[] U8G_FONT_SECTION("u8g_font_ncenB12r"); +extern const u8g_fntpgm_uint8_t u8g_font_ncenB14[] U8G_FONT_SECTION("u8g_font_ncenB14"); +extern const u8g_fntpgm_uint8_t u8g_font_ncenB14r[] U8G_FONT_SECTION("u8g_font_ncenB14r"); +extern const u8g_fntpgm_uint8_t u8g_font_ncenB18[] U8G_FONT_SECTION("u8g_font_ncenB18"); +extern const u8g_fntpgm_uint8_t u8g_font_ncenB18r[] U8G_FONT_SECTION("u8g_font_ncenB18r"); +extern const u8g_fntpgm_uint8_t u8g_font_ncenB24[] U8G_FONT_SECTION("u8g_font_ncenB24"); +extern const u8g_fntpgm_uint8_t u8g_font_ncenB24r[] U8G_FONT_SECTION("u8g_font_ncenB24r"); +extern const u8g_fntpgm_uint8_t u8g_font_ncenB24n[] U8G_FONT_SECTION("u8g_font_ncenB24n"); + +extern const u8g_fntpgm_uint8_t u8g_font_ncenR08[] U8G_FONT_SECTION("u8g_font_ncenR08"); +extern const u8g_fntpgm_uint8_t u8g_font_ncenR08r[] U8G_FONT_SECTION("u8g_font_ncenR08r"); +extern const u8g_fntpgm_uint8_t u8g_font_ncenR10[] U8G_FONT_SECTION("u8g_font_ncenR10"); +extern const u8g_fntpgm_uint8_t u8g_font_ncenR10r[] U8G_FONT_SECTION("u8g_font_ncenR10r"); +extern const u8g_fntpgm_uint8_t u8g_font_ncenR12[] U8G_FONT_SECTION("u8g_font_ncenR12"); +extern const u8g_fntpgm_uint8_t u8g_font_ncenR12r[] U8G_FONT_SECTION("u8g_font_ncenR12r"); +extern const u8g_fntpgm_uint8_t u8g_font_ncenR14[] U8G_FONT_SECTION("u8g_font_ncenR14"); +extern const u8g_fntpgm_uint8_t u8g_font_ncenR14r[] U8G_FONT_SECTION("u8g_font_ncenR14r"); +extern const u8g_fntpgm_uint8_t u8g_font_ncenR18[] U8G_FONT_SECTION("u8g_font_ncenR18"); +extern const u8g_fntpgm_uint8_t u8g_font_ncenR18r[] U8G_FONT_SECTION("u8g_font_ncenR18r"); +extern const u8g_fntpgm_uint8_t u8g_font_ncenR24[] U8G_FONT_SECTION("u8g_font_ncenR24"); +extern const u8g_fntpgm_uint8_t u8g_font_ncenR24r[] U8G_FONT_SECTION("u8g_font_ncenR24r"); +extern const u8g_fntpgm_uint8_t u8g_font_ncenR24n[] U8G_FONT_SECTION("u8g_font_ncenR24n"); + +extern const u8g_fntpgm_uint8_t u8g_font_symb08[] U8G_FONT_SECTION("u8g_font_symb08"); +extern const u8g_fntpgm_uint8_t u8g_font_symb08r[] U8G_FONT_SECTION("u8g_font_symb08r"); +extern const u8g_fntpgm_uint8_t u8g_font_symb10[] U8G_FONT_SECTION("u8g_font_symb10"); +extern const u8g_fntpgm_uint8_t u8g_font_symb10r[] U8G_FONT_SECTION("u8g_font_symb10r"); +extern const u8g_fntpgm_uint8_t u8g_font_symb12[] U8G_FONT_SECTION("u8g_font_symb12"); +extern const u8g_fntpgm_uint8_t u8g_font_symb12r[] U8G_FONT_SECTION("u8g_font_symb12r"); +extern const u8g_fntpgm_uint8_t u8g_font_symb14[] U8G_FONT_SECTION("u8g_font_symb14"); +extern const u8g_fntpgm_uint8_t u8g_font_symb14r[] U8G_FONT_SECTION("u8g_font_symb14r"); +extern const u8g_fntpgm_uint8_t u8g_font_symb18[] U8G_FONT_SECTION("u8g_font_symb18"); +extern const u8g_fntpgm_uint8_t u8g_font_symb18r[] U8G_FONT_SECTION("u8g_font_symb18r"); +extern const u8g_fntpgm_uint8_t u8g_font_symb24[] U8G_FONT_SECTION("u8g_font_symb24"); +extern const u8g_fntpgm_uint8_t u8g_font_symb24r[] U8G_FONT_SECTION("u8g_font_symb24r"); + +extern const u8g_fntpgm_uint8_t u8g_font_timB08[] U8G_FONT_SECTION("u8g_font_timB08"); +extern const u8g_fntpgm_uint8_t u8g_font_timB08r[] U8G_FONT_SECTION("u8g_font_timB08r"); +extern const u8g_fntpgm_uint8_t u8g_font_timB10[] U8G_FONT_SECTION("u8g_font_timB10"); +extern const u8g_fntpgm_uint8_t u8g_font_timB10r[] U8G_FONT_SECTION("u8g_font_timB10r"); +extern const u8g_fntpgm_uint8_t u8g_font_timB12[] U8G_FONT_SECTION("u8g_font_timB12"); +extern const u8g_fntpgm_uint8_t u8g_font_timB12r[] U8G_FONT_SECTION("u8g_font_timB12r"); +extern const u8g_fntpgm_uint8_t u8g_font_timB14[] U8G_FONT_SECTION("u8g_font_timB14"); +extern const u8g_fntpgm_uint8_t u8g_font_timB14r[] U8G_FONT_SECTION("u8g_font_timB14r"); +extern const u8g_fntpgm_uint8_t u8g_font_timB18[] U8G_FONT_SECTION("u8g_font_timB18"); +extern const u8g_fntpgm_uint8_t u8g_font_timB18r[] U8G_FONT_SECTION("u8g_font_timB18r"); +extern const u8g_fntpgm_uint8_t u8g_font_timB24[] U8G_FONT_SECTION("u8g_font_timB24"); +extern const u8g_fntpgm_uint8_t u8g_font_timB24r[] U8G_FONT_SECTION("u8g_font_timB24r"); +extern const u8g_fntpgm_uint8_t u8g_font_timB24n[] U8G_FONT_SECTION("u8g_font_timB24n"); + +extern const u8g_fntpgm_uint8_t u8g_font_timR08[] U8G_FONT_SECTION("u8g_font_timR08"); +extern const u8g_fntpgm_uint8_t u8g_font_timR08r[] U8G_FONT_SECTION("u8g_font_timR08r"); +extern const u8g_fntpgm_uint8_t u8g_font_timR10[] U8G_FONT_SECTION("u8g_font_timR10"); +extern const u8g_fntpgm_uint8_t u8g_font_timR10r[] U8G_FONT_SECTION("u8g_font_timR10r"); +extern const u8g_fntpgm_uint8_t u8g_font_timR12[] U8G_FONT_SECTION("u8g_font_timR12"); +extern const u8g_fntpgm_uint8_t u8g_font_timR12r[] U8G_FONT_SECTION("u8g_font_timR12r"); +extern const u8g_fntpgm_uint8_t u8g_font_timR14[] U8G_FONT_SECTION("u8g_font_timR14"); +extern const u8g_fntpgm_uint8_t u8g_font_timR14r[] U8G_FONT_SECTION("u8g_font_timR14r"); +extern const u8g_fntpgm_uint8_t u8g_font_timR18[] U8G_FONT_SECTION("u8g_font_timR18"); +extern const u8g_fntpgm_uint8_t u8g_font_timR18r[] U8G_FONT_SECTION("u8g_font_timR18r"); +extern const u8g_fntpgm_uint8_t u8g_font_timR24[] U8G_FONT_SECTION("u8g_font_timR24"); +extern const u8g_fntpgm_uint8_t u8g_font_timR24r[] U8G_FONT_SECTION("u8g_font_timR24r"); +extern const u8g_fntpgm_uint8_t u8g_font_timR24n[] U8G_FONT_SECTION("u8g_font_timR24n"); + +/* fontstruct */ + +extern const u8g_fntpgm_uint8_t u8g_font_p01type[] U8G_FONT_SECTION("u8g_font_p01type"); +extern const u8g_fntpgm_uint8_t u8g_font_p01typer[] U8G_FONT_SECTION("u8g_font_p01typer"); +extern const u8g_fntpgm_uint8_t u8g_font_p01typen[] U8G_FONT_SECTION("u8g_font_p01typen"); + +extern const u8g_fntpgm_uint8_t u8g_font_lucasfont_alternate[] U8G_FONT_SECTION("u8g_font_lucasfont_alternate"); +extern const u8g_fntpgm_uint8_t u8g_font_lucasfont_alternater[] U8G_FONT_SECTION("u8g_font_lucasfont_alternater"); +extern const u8g_fntpgm_uint8_t u8g_font_lucasfont_alternaten[] U8G_FONT_SECTION("u8g_font_lucasfont_alternaten"); + +extern const u8g_fntpgm_uint8_t u8g_font_chikita[] U8G_FONT_SECTION("u8g_font_chikita"); +extern const u8g_fntpgm_uint8_t u8g_font_chikitar[] U8G_FONT_SECTION("u8g_font_chikitar"); +extern const u8g_fntpgm_uint8_t u8g_font_chikitan[] U8G_FONT_SECTION("u8g_font_chikitan"); + +extern const u8g_fntpgm_uint8_t u8g_font_pixelle_micro[] U8G_FONT_SECTION("u8g_font_pixelle_micro"); +extern const u8g_fntpgm_uint8_t u8g_font_pixelle_micror[] U8G_FONT_SECTION("u8g_font_pixelle_micror"); +extern const u8g_fntpgm_uint8_t u8g_font_pixelle_micron[] U8G_FONT_SECTION("u8g_font_pixelle_micron"); + +extern const u8g_fntpgm_uint8_t u8g_font_trixel_square[] U8G_FONT_SECTION("u8g_font_trixel_square"); +extern const u8g_fntpgm_uint8_t u8g_font_trixel_squarer[] U8G_FONT_SECTION("u8g_font_trixel_squarer"); +extern const u8g_fntpgm_uint8_t u8g_font_trixel_squaren[] U8G_FONT_SECTION("u8g_font_trixel_squaren"); + +extern const u8g_fntpgm_uint8_t u8g_font_robot_de_niro[] U8G_FONT_SECTION("u8g_font_robot_de_niro"); +extern const u8g_fntpgm_uint8_t u8g_font_robot_de_niror[] U8G_FONT_SECTION("u8g_font_robot_de_niror"); +extern const u8g_fntpgm_uint8_t u8g_font_robot_de_niron[] U8G_FONT_SECTION("u8g_font_robot_de_niron"); + +extern const u8g_fntpgm_uint8_t u8g_font_baby[] U8G_FONT_SECTION("u8g_font_baby"); +extern const u8g_fntpgm_uint8_t u8g_font_babyr[] U8G_FONT_SECTION("u8g_font_babyr"); +extern const u8g_fntpgm_uint8_t u8g_font_babyn[] U8G_FONT_SECTION("u8g_font_babyn"); + +extern const u8g_fntpgm_uint8_t u8g_font_blipfest_07[] U8G_FONT_SECTION("u8g_font_blipfest_07"); +extern const u8g_fntpgm_uint8_t u8g_font_blipfest_07r[] U8G_FONT_SECTION("u8g_font_blipfest_07r"); +extern const u8g_fntpgm_uint8_t u8g_font_blipfest_07n[] U8G_FONT_SECTION("u8g_font_blipfest_07n"); + +/* profont */ + +extern const u8g_fntpgm_uint8_t u8g_font_profont10[] U8G_FONT_SECTION("u8g_font_profont10"); +extern const u8g_fntpgm_uint8_t u8g_font_profont10r[] U8G_FONT_SECTION("u8g_font_profont10r"); +extern const u8g_fntpgm_uint8_t u8g_font_profont11[] U8G_FONT_SECTION("u8g_font_profont11"); +extern const u8g_fntpgm_uint8_t u8g_font_profont11r[] U8G_FONT_SECTION("u8g_font_profont11r"); +extern const u8g_fntpgm_uint8_t u8g_font_profont12[] U8G_FONT_SECTION("u8g_font_profont12"); +extern const u8g_fntpgm_uint8_t u8g_font_profont12r[] U8G_FONT_SECTION("u8g_font_profont12r"); +extern const u8g_fntpgm_uint8_t u8g_font_profont15[] U8G_FONT_SECTION("u8g_font_profont15"); +extern const u8g_fntpgm_uint8_t u8g_font_profont15r[] U8G_FONT_SECTION("u8g_font_profont15r"); +extern const u8g_fntpgm_uint8_t u8g_font_profont17[] U8G_FONT_SECTION("u8g_font_profont17"); +extern const u8g_fntpgm_uint8_t u8g_font_profont17r[] U8G_FONT_SECTION("u8g_font_profont17r"); +extern const u8g_fntpgm_uint8_t u8g_font_profont22[] U8G_FONT_SECTION("u8g_font_profont22"); +extern const u8g_fntpgm_uint8_t u8g_font_profont22r[] U8G_FONT_SECTION("u8g_font_profont22r"); +extern const u8g_fntpgm_uint8_t u8g_font_profont29[] U8G_FONT_SECTION("u8g_font_profont29"); +extern const u8g_fntpgm_uint8_t u8g_font_profont29r[] U8G_FONT_SECTION("u8g_font_profont29r"); + + +#ifdef __cplusplus +} +#endif + +#endif /* _U8G_H */ + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_bitmap.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_bitmap.c new file mode 100644 index 000000000..dc742d1d7 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_bitmap.c @@ -0,0 +1,177 @@ +/* + + u8g_bitmap.c + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +*/ + +#include "u8g.h" + +void u8g_DrawHBitmap(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t cnt, const uint8_t *bitmap) +{ + while( cnt > 0 ) + { + u8g_Draw8Pixel(u8g, x, y, 0, *bitmap); + bitmap++; + cnt--; + x+=8; + } +} + +void u8g_DrawBitmap(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t cnt, u8g_uint_t h, const uint8_t *bitmap) +{ + if ( u8g_IsBBXIntersection(u8g, x, y, cnt*8, h) == 0 ) + return; + while( h > 0 ) + { + u8g_DrawHBitmap(u8g, x, y, cnt, bitmap); + bitmap += cnt; + y++; + h--; + } +} + + +void u8g_DrawHBitmapP(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t cnt, const u8g_pgm_uint8_t *bitmap) +{ + while( cnt > 0 ) + { + u8g_Draw8Pixel(u8g, x, y, 0, u8g_pgm_read(bitmap)); + bitmap++; + cnt--; + x+=8; + } +} + +void u8g_DrawBitmapP(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t cnt, u8g_uint_t h, const u8g_pgm_uint8_t *bitmap) +{ + if ( u8g_IsBBXIntersection(u8g, x, y, cnt*8, h) == 0 ) + return; + while( h > 0 ) + { + u8g_DrawHBitmapP(u8g, x, y, cnt, bitmap); + bitmap += cnt; + y++; + h--; + } +} + +/*=========================================================================*/ + +static void u8g_DrawHXBM(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, const uint8_t *bitmap) +{ + uint8_t d; + x+=7; + while( w >= 8 ) + { + u8g_Draw8Pixel(u8g, x, y, 2, *bitmap); + bitmap++; + w-= 8; + x+=8; + } + if ( w > 0 ) + { + d = *bitmap; + x -= 7; + do + { + if ( d & 1 ) + u8g_DrawPixel(u8g, x, y); + x++; + w--; + d >>= 1; + } while ( w > 0 ); + } +} + +void u8g_DrawXBM(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h, const uint8_t *bitmap) +{ + u8g_uint_t b; + b = w; + b += 7; + b >>= 3; + + if ( u8g_IsBBXIntersection(u8g, x, y, w, h) == 0 ) + return; + + while( h > 0 ) + { + u8g_DrawHXBM(u8g, x, y, w, bitmap); + bitmap += b; + y++; + h--; + } +} + +static void u8g_DrawHXBMP(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, const u8g_pgm_uint8_t *bitmap) +{ + uint8_t d; + x+=7; + while( w >= 8 ) + { + u8g_Draw8Pixel(u8g, x, y, 2, u8g_pgm_read(bitmap)); + bitmap++; + w-= 8; + x+=8; + } + if ( w > 0 ) + { + d = u8g_pgm_read(bitmap); + x -= 7; + do + { + if ( d & 1 ) + u8g_DrawPixel(u8g, x, y); + x++; + w--; + d >>= 1; + } while ( w > 0 ); + } +} + +void u8g_DrawXBMP(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h, const u8g_pgm_uint8_t *bitmap) +{ + u8g_uint_t b; + b = w; + b += 7; + b >>= 3; + + if ( u8g_IsBBXIntersection(u8g, x, y, w, h) == 0 ) + return; + while( h > 0 ) + { + u8g_DrawHXBMP(u8g, x, y, w, bitmap); + bitmap += b; + y++; + h--; + } +} diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_circle.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_circle.c new file mode 100644 index 000000000..8f4a0525d --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_circle.c @@ -0,0 +1,382 @@ +/* + + u8g_circle.c + + Utility to draw empty and filled circles. + + Universal 8bit Graphics Library + + Copyright (c) 2011, bjthom@gmail.com + u8g_DrawCircle & u8g_DrawDisc by olikraus@gmail.com + + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + Addition to the U8G Library 02/25/12 + + +*/ + +#include "u8g.h" + +#ifdef OLD_CODE + +void circ_upperRight(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0) { + u8g_DrawPixel(u8g, x0 + x, y0 - y); + u8g_DrawPixel(u8g, x0 + y, y0 - x); +} + +void circ_upperLeft(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0) { + u8g_DrawPixel(u8g, x0 - x, y0 - y); + u8g_DrawPixel(u8g, x0 - y, y0 - x); +} + +void circ_lowerRight(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0) { + u8g_DrawPixel(u8g, x0 + x, y0 + y); + u8g_DrawPixel(u8g, x0 + y, y0 + x); +} + +void circ_lowerLeft(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0) { + u8g_DrawPixel(u8g, x0 - x, y0 + y); + u8g_DrawPixel(u8g, x0 - y, y0 + x); +} + +void circ_all(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0) { + circ_upperRight(u8g, x, y, x0, y0); + circ_upperLeft(u8g, x, y, x0, y0); + circ_lowerRight(u8g, x, y, x0, y0); + circ_lowerLeft(u8g, x, y, x0, y0); +} + +void u8g_DrawEmpCirc(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option) +{ + if ( u8g_IsBBXIntersection(u8g, x0-rad-1, y0-rad-1, 2*rad+1, 2*rad+1) == 0) + return; + + int f = 1 - rad; + int ddF_x = 1; + int ddF_y = -2*rad; + uint8_t x = 0; + uint8_t y = rad; + + void ( *circ_util )(u8g_t *, u8g_uint_t, u8g_uint_t, u8g_uint_t, u8g_uint_t); + + switch (option) + { + case U8G_CIRC_UPPER_RIGHT: + u8g_DrawPixel(u8g, x0, y0 - rad); + u8g_DrawPixel(u8g, x0 + rad, y0); + circ_util = circ_upperRight; + break; + case U8G_CIRC_UPPER_LEFT: + u8g_DrawPixel(u8g, x0, y0 - rad); + u8g_DrawPixel(u8g, x0 - rad, y0); + circ_util = circ_upperLeft; + break; + case U8G_CIRC_LOWER_RIGHT: + u8g_DrawPixel(u8g, x0, y0 + rad); + u8g_DrawPixel(u8g, x0 + rad, y0); + circ_util = circ_lowerRight; + break; + case U8G_CIRC_LOWER_LEFT: + u8g_DrawPixel(u8g, x0, y0 + rad); + u8g_DrawPixel(u8g, x0 - rad, y0); + circ_util = circ_lowerLeft; + break; + default: + case U8G_CIRC_ALL: + u8g_DrawPixel(u8g, x0, y0 + rad); + u8g_DrawPixel(u8g, x0, y0 - rad); + u8g_DrawPixel(u8g, x0 + rad, y0); + u8g_DrawPixel(u8g, x0 - rad, y0); + circ_util = circ_all; + break; + } + + while( x < y ) + { + if(f >= 0) + { + y--; + ddF_y += 2; + f += ddF_y; + } + x++; + ddF_x += 2; + f += ddF_x; + + circ_util(u8g, x, y, x0, y0); + } +} + + +void u8g_DrawFillCirc(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option) +{ + if ( u8g_IsBBXIntersection(u8g, x0-rad-1, y0-rad-1, 2*rad+1, 2*rad+1) == 0) + return; + + int f = 1 - rad; + int ddF_x = 1; + int ddF_y = -2*rad; + uint8_t x = 0; + uint8_t y = rad; + + // Draw vertical diameter at the horiz. center + // u8g_DrawVLine(u8g, x0, y0 - rad, 2*rad+1); + + if (option == U8G_CIRC_UPPER_LEFT || option == U8G_CIRC_UPPER_RIGHT) { + u8g_DrawVLine(u8g, x0, y0 - rad, rad+1); + } + else if (option == U8G_CIRC_LOWER_LEFT || option == U8G_CIRC_LOWER_RIGHT) { + u8g_DrawVLine(u8g, x0, y0, rad+1); + } + else { + u8g_DrawVLine(u8g, x0, y0 - rad, 2*rad+1); + } + + while( x < y ) + { + if(f >= 0) + { + y--; + ddF_y += 2; + f += ddF_y; + } + x++; + ddF_x += 2; + f += ddF_x; + + //Draw vertical lines from one point to another + + switch (option) + { + case U8G_CIRC_UPPER_RIGHT: + u8g_DrawVLine(u8g, x0+x, y0-y, y+1); + u8g_DrawVLine(u8g, x0+y, y0-x, x+1); + break; + case U8G_CIRC_UPPER_LEFT: + u8g_DrawVLine(u8g, x0-x, y0-y, y+1); + u8g_DrawVLine(u8g, x0-y, y0-x, x+1); + break; + case U8G_CIRC_LOWER_RIGHT: + u8g_DrawVLine(u8g, x0+x, y0, y+1); + u8g_DrawVLine(u8g, x0+y, y0, x+1); + break; + case U8G_CIRC_LOWER_LEFT: + u8g_DrawVLine(u8g, x0-x, y0, y+1); + u8g_DrawVLine(u8g, x0-y, y0, x+1); + break; + case U8G_CIRC_ALL: + u8g_DrawVLine(u8g, x0+x, y0-y, 2*y+1); + u8g_DrawVLine(u8g, x0-x, y0-y, 2*y+1); + u8g_DrawVLine(u8g, x0+y, y0-x, 2*x+1); + u8g_DrawVLine(u8g, x0-y, y0-x, 2*x+1); + break; + } + } +} + +#endif + +/*=========================================================================*/ + +static void u8g_draw_circle_section(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0, uint8_t option) U8G_NOINLINE; + +static void u8g_draw_circle_section(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0, uint8_t option) +{ + /* upper right */ + if ( option & U8G_DRAW_UPPER_RIGHT ) + { + u8g_DrawPixel(u8g, x0 + x, y0 - y); + u8g_DrawPixel(u8g, x0 + y, y0 - x); + } + + /* upper left */ + if ( option & U8G_DRAW_UPPER_LEFT ) + { + u8g_DrawPixel(u8g, x0 - x, y0 - y); + u8g_DrawPixel(u8g, x0 - y, y0 - x); + } + + /* lower right */ + if ( option & U8G_DRAW_LOWER_RIGHT ) + { + u8g_DrawPixel(u8g, x0 + x, y0 + y); + u8g_DrawPixel(u8g, x0 + y, y0 + x); + } + + /* lower left */ + if ( option & U8G_DRAW_LOWER_LEFT ) + { + u8g_DrawPixel(u8g, x0 - x, y0 + y); + u8g_DrawPixel(u8g, x0 - y, y0 + x); + } +} + +void u8g_draw_circle(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option) +{ + u8g_int_t f; + u8g_int_t ddF_x; + u8g_int_t ddF_y; + u8g_uint_t x; + u8g_uint_t y; + + f = 1; + f -= rad; + ddF_x = 1; + ddF_y = 0; + ddF_y -= rad; + ddF_y *= 2; + x = 0; + y = rad; + + u8g_draw_circle_section(u8g, x, y, x0, y0, option); + + while ( x < y ) + { + if (f >= 0) + { + y--; + ddF_y += 2; + f += ddF_y; + } + x++; + ddF_x += 2; + f += ddF_x; + + u8g_draw_circle_section(u8g, x, y, x0, y0, option); + } +} + +void u8g_DrawCircle(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option) +{ + /* check for bounding box */ + { + u8g_uint_t radp, radp2; + + radp = rad; + radp++; + radp2 = radp; + radp2 *= 2; + + if ( u8g_IsBBXIntersection(u8g, x0-radp, y0-radp, radp2, radp2) == 0) + return; + } + + /* draw circle */ + u8g_draw_circle(u8g, x0, y0, rad, option); +} + +static void u8g_draw_disc_section(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0, uint8_t option) U8G_NOINLINE; + +static void u8g_draw_disc_section(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0, uint8_t option) +{ + /* upper right */ + if ( option & U8G_DRAW_UPPER_RIGHT ) + { + u8g_DrawVLine(u8g, x0+x, y0-y, y+1); + u8g_DrawVLine(u8g, x0+y, y0-x, x+1); + } + + /* upper left */ + if ( option & U8G_DRAW_UPPER_LEFT ) + { + u8g_DrawVLine(u8g, x0-x, y0-y, y+1); + u8g_DrawVLine(u8g, x0-y, y0-x, x+1); + } + + /* lower right */ + if ( option & U8G_DRAW_LOWER_RIGHT ) + { + u8g_DrawVLine(u8g, x0+x, y0, y+1); + u8g_DrawVLine(u8g, x0+y, y0, x+1); + } + + /* lower left */ + if ( option & U8G_DRAW_LOWER_LEFT ) + { + u8g_DrawVLine(u8g, x0-x, y0, y+1); + u8g_DrawVLine(u8g, x0-y, y0, x+1); + } +} + +void u8g_draw_disc(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option) +{ + u8g_int_t f; + u8g_int_t ddF_x; + u8g_int_t ddF_y; + u8g_uint_t x; + u8g_uint_t y; + + f = 1; + f -= rad; + ddF_x = 1; + ddF_y = 0; + ddF_y -= rad; + ddF_y *= 2; + x = 0; + y = rad; + + u8g_draw_disc_section(u8g, x, y, x0, y0, option); + + while ( x < y ) + { + if (f >= 0) + { + y--; + ddF_y += 2; + f += ddF_y; + } + x++; + ddF_x += 2; + f += ddF_x; + + u8g_draw_disc_section(u8g, x, y, x0, y0, option); + } +} + +void u8g_DrawDisc(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option) +{ + /* check for bounding box */ + { + u8g_uint_t radp, radp2; + + radp = rad; + radp++; + radp2 = radp; + radp2 *= 2; + + if ( u8g_IsBBXIntersection(u8g, x0-radp, y0-radp, radp2, radp2) == 0) + return; + } + + /* draw disc */ + u8g_draw_disc(u8g, x0, y0, rad, option); +} + + + + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_clip.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_clip.c new file mode 100644 index 000000000..5f1209713 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_clip.c @@ -0,0 +1,156 @@ +/* + + u8g_clip.c + + procedures for clipping + taken over from procs in u8g_pb.c + + Universal 8bit Graphics Library + + Copyright (c) 2012, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + Notes + + This is one of the most critical parts of u8glib. It must be fast, but still reliable. + Based on the intersection program (see tools folder), there is minimized version of + the condition for the intersaction test: + minimized version + ---1----0 1 b1 <= a2 && b1 > b2 + -----1--0 1 b2 >= a1 && b1 > b2 + ---1-1--- 1 b1 <= a2 && b2 >= a1 + It includes the assumption, that a1 <= a2 is always true (correct, because + a1, a2 are the page dimensions. + + The direct implementation of the above result is done in: + uint8_t u8g_is_intersection_boolean(u8g_uint_t a0, u8g_uint_t a1, u8g_uint_t v0, u8g_uint_t v1) + However, this is slower than a decision tree version: + static uint8_t u8g_is_intersection_decision_tree(u8g_uint_t a0, u8g_uint_t a1, u8g_uint_t v0, u8g_uint_t v1) + Also suprising is, that the macro implementation is slower than the inlined version. + + The decision tree is based on the expansion of the truth table. + +*/ + +#include "u8g.h" + +#ifdef __GNUC__ +#define U8G_ALWAYS_INLINE __inline__ __attribute__((always_inline)) +#else +#define U8G_ALWAYS_INLINE +#endif + +/* + intersection assumptions: + a1 <= a2 is always true + + minimized version + ---1----0 1 b1 <= a2 && b1 > b2 + -----1--0 1 b2 >= a1 && b1 > b2 + ---1-1--- 1 b1 <= a2 && b2 >= a1 + */ + +#ifdef OLD_CODE_WHICH_IS_TOO_SLOW +static uint8_t u8g_is_intersection_boolean(u8g_uint_t a0, u8g_uint_t a1, u8g_uint_t v0, u8g_uint_t v1) +{ + uint8_t c1, c2, c3, tmp; + c1 = v0 <= a1; + c2 = v1 >= a0; + c3 = v0 > v1; + + tmp = c1; + c1 &= c2; + c2 &= c3; + c3 &= tmp; + c1 |= c2; + c1 |= c3; + return c1 & 1; +} +#endif + +#define U8G_IS_INTERSECTION_MACRO(a0,a1,v0,v1) ((uint8_t)( (v0) <= (a1) ) ? ( ( (v1) >= (a0) ) ? ( 1 ) : ( (v0) > (v1) ) ) : ( ( (v1) >= (a0) ) ? ( (v0) > (v1) ) : ( 0 ) )) + +//static uint8_t u8g_is_intersection_decision_tree(u8g_uint_t a0, u8g_uint_t a1, u8g_uint_t v0, u8g_uint_t v1) U8G_ALWAYS_INLINE; +static uint8_t U8G_ALWAYS_INLINE u8g_is_intersection_decision_tree(u8g_uint_t a0, u8g_uint_t a1, u8g_uint_t v0, u8g_uint_t v1) +{ + /* surprisingly the macro leads to larger code */ + /* return U8G_IS_INTERSECTION_MACRO(a0,a1,v0,v1); */ + if ( v0 <= a1 ) + { + if ( v1 >= a0 ) + { + return 1; + } + else + { + if ( v0 > v1 ) + { + return 1; + } + else + { + return 0; + } + } + } + else + { + if ( v1 >= a0 ) + { + if ( v0 > v1 ) + { + return 1; + } + else + { + return 0; + } + } + else + { + return 0; + } + } +} + + +uint8_t u8g_IsBBXIntersection(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h) +{ + register u8g_uint_t tmp; + tmp = y; + tmp += h; + tmp--; + if ( u8g_is_intersection_decision_tree(u8g->current_page.y0, u8g->current_page.y1, y, tmp) == 0 ) + return 0; + + tmp = x; + tmp += w; + tmp--; + return u8g_is_intersection_decision_tree(u8g->current_page.x0, u8g->current_page.x1, x, tmp); +} + + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_api.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_api.c new file mode 100644 index 000000000..0201808d7 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_api.c @@ -0,0 +1,173 @@ +/* + + u8g_com_api.c + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +*/ + +#include "u8g.h" + +uint8_t u8g_InitCom(u8g_t *u8g, u8g_dev_t *dev, uint8_t clk_cycle_time) +{ + return dev->com_fn(u8g, U8G_COM_MSG_INIT, clk_cycle_time, NULL); +} + +void u8g_StopCom(u8g_t *u8g, u8g_dev_t *dev) +{ + dev->com_fn(u8g, U8G_COM_MSG_STOP, 0, NULL); +} + +/* cs contains the chip number, which should be enabled */ +void u8g_SetChipSelect(u8g_t *u8g, u8g_dev_t *dev, uint8_t cs) +{ + dev->com_fn(u8g, U8G_COM_MSG_CHIP_SELECT, cs, NULL); +} + +void u8g_SetResetLow(u8g_t *u8g, u8g_dev_t *dev) +{ + dev->com_fn(u8g, U8G_COM_MSG_RESET, 0, NULL); +} + +void u8g_SetResetHigh(u8g_t *u8g, u8g_dev_t *dev) +{ + dev->com_fn(u8g, U8G_COM_MSG_RESET, 1, NULL); +} + + +void u8g_SetAddress(u8g_t *u8g, u8g_dev_t *dev, uint8_t address) +{ + dev->com_fn(u8g, U8G_COM_MSG_ADDRESS, address, NULL); +} + +uint8_t u8g_WriteByte(u8g_t *u8g, u8g_dev_t *dev, uint8_t val) +{ + return dev->com_fn(u8g, U8G_COM_MSG_WRITE_BYTE, val, NULL); +} + +uint8_t u8g_WriteSequence(u8g_t *u8g, u8g_dev_t *dev, uint8_t cnt, uint8_t *seq) +{ + return dev->com_fn(u8g, U8G_COM_MSG_WRITE_SEQ, cnt, seq); +} + +uint8_t u8g_WriteSequenceP(u8g_t *u8g, u8g_dev_t *dev, uint8_t cnt, const uint8_t *seq) +{ + return dev->com_fn(u8g, U8G_COM_MSG_WRITE_SEQ_P, cnt, (void *)seq); +} + +/* + sequence := { direct_value | escape_sequence } + direct_value := 0..254 + escape_sequence := value_255 | sequence_end | delay | adr | cs | not_used + value_255 := 255 255 + sequence_end = 255 254 + delay := 255 0..127 + adr := 255 0x0e0 .. 0x0ef + cs := 255 0x0d0 .. 0x0df + not_used := 255 101..254 + +#define U8G_ESC_DLY(x) 255, ((x) & 0x7f) +#define U8G_ESC_CS(x) 255, (0xd0 | ((x)&0x0f)) +#define U8G_ESC_ADR(x) 255, (0xe0 | ((x)&0x0f)) +#define U8G_ESC_VCC(x) 255, (0xbe | ((x)&0x01)) +#define U8G_ESC_END 255, 254 +#define U8G_ESC_255 255, 255 +#define U8G_ESC_RST(x) 255, (0xc0 | ((x)&0x0f)) + +*/ +uint8_t u8g_WriteEscSeqP(u8g_t *u8g, u8g_dev_t *dev, const uint8_t *esc_seq) +{ + uint8_t is_escape = 0; + uint8_t value; + for(;;) + { + value = u8g_pgm_read(esc_seq); + if ( is_escape == 0 ) + { + if ( value != 255 ) + { + if ( u8g_WriteByte(u8g, dev, value) == 0 ) + return 0; + } + else + { + is_escape = 1; + } + } + else + { + if ( value == 255 ) + { + if ( u8g_WriteByte(u8g, dev, value) == 0 ) + return 0; + } + else if ( value == 254 ) + { + break; + } + else if ( value >= 0x0f0 ) + { + /* not yet used, do nothing */ + } + else if ( value >= 0xe0 ) + { + u8g_SetAddress(u8g, dev, value & 0x0f); + } + else if ( value >= 0xd0 ) + { + u8g_SetChipSelect(u8g, dev, value & 0x0f); + } + else if ( value >= 0xc0 ) + { + u8g_SetResetLow(u8g, dev); + value &= 0x0f; + value <<= 4; + value+=2; + u8g_Delay(value); + u8g_SetResetHigh(u8g, dev); + u8g_Delay(value); + } + else if ( value >= 0xbe ) + { + /* not yet implemented */ + /* u8g_SetVCC(u8g, dev, value & 0x01); */ + } + else if ( value <= 127 ) + { + u8g_Delay(value); + } + is_escape = 0; + } + esc_seq++; + } + return 1; +} + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_api_16gr.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_api_16gr.c new file mode 100644 index 000000000..7ff03d865 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_api_16gr.c @@ -0,0 +1,94 @@ +/* + + u8g_com_api_16gr.c + + Extension of the com api for devices with 16 graylevels (4 bit per pixel). + This should fit to the 8h and 16h architectures (pb8v1, pb8v2, pb16v1, pb16v2), + mainly intended for SSD OLEDs + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +*/ + +#include "u8g.h" + +/* interpret b as a monochrome bit pattern, write value 15 for high bit and value 0 for a low bit */ +/* topbit (msb) is sent last */ +/* example: b = 0x083 will send 0xff, 0x00, 0x00, 0xf0 */ +uint8_t u8g_WriteByteBWTo16GrDevice(u8g_t *u8g, u8g_dev_t *dev, uint8_t b) +{ + static uint8_t buf[4]; + static uint8_t map[4] = { 0, 0x00f, 0x0f0, 0x0ff }; + buf [3] = map[b & 3]; + b>>=2; + buf [2] = map[b & 3]; + b>>=2; + buf [1] = map[b & 3]; + b>>=2; + buf [0] = map[b & 3]; + return dev->com_fn(u8g, U8G_COM_MSG_WRITE_SEQ, 4, buf); +} + +uint8_t u8g_WriteSequenceBWTo16GrDevice(u8g_t *u8g, u8g_dev_t *dev, uint8_t cnt, uint8_t *ptr) +{ + do + { + if ( u8g_WriteByteBWTo16GrDevice(u8g, dev, *ptr++) == 0 ) + return 0; + cnt--; + } while( cnt != 0 ); + return 1; +} + +/* interpret b as a 4L bit pattern, write values 0x000, 0x004, 0x008, 0x00c */ +uint8_t u8g_WriteByte4LTo16GrDevice(u8g_t *u8g, u8g_dev_t *dev, uint8_t b) +{ + //static uint8_t map[16] = { 0x000, 0x004, 0x008, 0x00c, 0x040, 0x044, 0x048, 0x04c, 0x080, 0x084, 0x088, 0x08c, 0x0c0, 0x0c4, 0x0c8, 0x0cc}; + //static uint8_t map[16] = { 0x000, 0x004, 0x00a, 0x00f, 0x040, 0x044, 0x04a, 0x04f, 0x0a0, 0x0a4, 0x0aa, 0x0af, 0x0f0, 0x0f4, 0x0fa, 0x0ff}; + static uint8_t map[16] = { 0x000, 0x040, 0x0a0, 0x0f0, 0x004, 0x044, 0x0a4, 0x0f4, 0x00a, 0x04a, 0x0aa, 0x0fa, 0x00f, 0x04f, 0x0af, 0x0ff}; + uint8_t bb; + bb = b; + bb &= 15; + b>>=4; + dev->com_fn(u8g, U8G_COM_MSG_WRITE_BYTE, map[bb], NULL); + return dev->com_fn(u8g, U8G_COM_MSG_WRITE_BYTE, map[b], NULL); +} + +uint8_t u8g_WriteSequence4LTo16GrDevice(u8g_t *u8g, u8g_dev_t *dev, uint8_t cnt, uint8_t *ptr) +{ + do + { + if ( u8g_WriteByte4LTo16GrDevice(u8g, dev, *ptr++) == 0 ) + return 0; + cnt--; + } while( cnt != 0 ); + return 1; +} diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_attiny85_hw_spi.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_attiny85_hw_spi.c new file mode 100644 index 000000000..9d0191eae --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_attiny85_hw_spi.c @@ -0,0 +1,160 @@ +/* + + u8g_arduino_ATtiny85_std_hw_spi.c + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +*/ + +// Uses code from tinySPI Written by Nick Gammon +// March 2013 + +// ATMEL ATTINY45 / ARDUINO pin mappings +// +// +-\/-+ +// RESET Ain0 (D 5) PB5 1| |8 Vcc +// CLK1 Ain3 (D 3) PB3 2| |7 PB2 (D 2) Ain1 SCK / USCK / SCL +// CLK0 Ain2 (D 4) PB4 3| |6 PB1 (D 1) pwm1 MISO / DO +// GND 4| |5 PB0 (D 0) pwm0 MOSI / DI / SDA +// +----+ + + +#include "u8g.h" + + +#if defined(ARDUINO) && defined(__AVR_ATtiny85__) + +#if ARDUINO < 100 +#include +#else +#include +#endif + +const byte DI = 0; // D0, pin 5 Data In +const byte DO = 1; // D1, pin 6 Data Out (this is *not* MOSI) +const byte USCK = 2; // D2, pin 7 Universal Serial Interface clock + +uint8_t u8g_arduino_ATtiny85_spi_out(uint8_t val) +{ + USIDR = val; // byte to output + USISR = _BV (USIOIF); // clear Counter Overflow Interrupt Flag, set count to zero + do + { + USICR = _BV (USIWM0) // 3-wire mode + | _BV (USICS1) | _BV (USICLK) // Software clock strobe + | _BV (USITC); // Toggle Clock Port Pin + } + while ((USISR & _BV (USIOIF)) == 0); // until Counter Overflow Interrupt Flag set + + return USIDR; // return read data +} + +uint8_t u8g_com_arduino_ATtiny85_std_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) +{ + switch(msg) + { + case U8G_COM_MSG_INIT: + u8g_com_arduino_digital_write(u8g, U8G_PI_CS, HIGH); // ensure SS stays high until needed + pinMode (USCK, OUTPUT); + pinMode (DO, OUTPUT); + pinMode (u8g->pin_list[U8G_PI_CS], OUTPUT); + pinMode (u8g->pin_list[U8G_PI_A0], OUTPUT); + USICR = _BV (USIWM0); // 3-wire mode + u8g_MicroDelay(); + break; + + case U8G_COM_MSG_STOP: + break; + + case U8G_COM_MSG_RESET: + if ( u8g->pin_list[U8G_PI_RESET] != U8G_PIN_NONE ) + u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val); + break; + + case U8G_COM_MSG_CHIP_SELECT: + if ( arg_val == 0 ) + { + /* disable */ + u8g_MicroDelay(); + u8g_com_arduino_digital_write(u8g, U8G_PI_CS, HIGH); + u8g_MicroDelay(); + } + else + { + /* enable */ + u8g_com_arduino_digital_write(u8g, U8G_PI_CS, LOW); + u8g_MicroDelay(); + } + break; + + case U8G_COM_MSG_WRITE_BYTE: + u8g_arduino_ATtiny85_spi_out(arg_val); + u8g_MicroDelay(); + break; + + case U8G_COM_MSG_WRITE_SEQ: + { + register uint8_t *ptr = arg_ptr; + while( arg_val > 0 ) + { + u8g_arduino_ATtiny85_spi_out(*ptr++); + arg_val--; + } + } + break; + + case U8G_COM_MSG_WRITE_SEQ_P: + { + register uint8_t *ptr = arg_ptr; + while( arg_val > 0 ) + { + u8g_arduino_ATtiny85_spi_out(u8g_pgm_read(ptr)); + ptr++; + arg_val--; + } + } + break; + + case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ + u8g_com_arduino_digital_write(u8g, U8G_PI_A0, arg_val); + u8g_MicroDelay(); + break; + } + return 1; +} + +#else /* ARDUINO */ + +uint8_t u8g_com_arduino_ATtiny85_std_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) +{ + return 1; +} + +#endif /* ARDUINO */ \ No newline at end of file diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_common.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_common.c new file mode 100644 index 000000000..ef0b2366e --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_common.c @@ -0,0 +1,75 @@ +/* + + u8g_com_arduino_common.c + + shared procedures for the arduino communication procedures + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +*/ + +#include "u8g.h" + +#if defined(ARDUINO) + +#if ARDUINO < 100 +#include +#else +#include +#endif + +void u8g_com_arduino_digital_write(u8g_t *u8g, uint8_t pin_index, uint8_t value) +{ + uint8_t pin; + pin = u8g->pin_list[pin_index]; + if ( pin != U8G_PIN_NONE ) + digitalWrite(pin, value); +} + +/* this procedure does not set the RW pin */ +void u8g_com_arduino_assign_pin_output_high(u8g_t *u8g) +{ + uint8_t i; + /* skip the RW pin, which is the last pin in the list */ + for( i = 0; i < U8G_PIN_LIST_LEN-1; i++ ) + { + if ( u8g->pin_list[i] != U8G_PIN_NONE ) + { + pinMode(u8g->pin_list[i], OUTPUT); + digitalWrite(u8g->pin_list[i], HIGH); + } + } +} + + +#endif + + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_fast_parallel.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_fast_parallel.c new file mode 100644 index 000000000..57d4410af --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_fast_parallel.c @@ -0,0 +1,254 @@ +/* + + u8g_arduino_fast_parallel.c + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + PIN_D0 8 + PIN_D1 9 + PIN_D2 10 + PIN_D3 11 + PIN_D4 4 + PIN_D5 5 + PIN_D6 6 + PIN_D7 7 + + PIN_CS1 14 + PIN_CS2 15 + PIN_RW 16 + PIN_DI 17 + PIN_EN 18 + + u8g_Init8Bit(u8g, dev, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, cs2, di, rw, reset) + u8g_Init8Bit(u8g, dev, 8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16, U8G_PIN_NONE) + + Update for ATOMIC operation done (01 Jun 2013) + U8G_ATOMIC_OR(ptr, val) + U8G_ATOMIC_AND(ptr, val) + U8G_ATOMIC_START(); + U8G_ATOMIC_END(); + +*/ + +#include "u8g.h" + +#if defined(ARDUINO) + +#if ARDUINO < 100 +//#include +#include +#include +#else +#include +#endif + + +#define PIN_D0 8 +#define PIN_D1 9 +#define PIN_D2 10 +#define PIN_D3 11 +#define PIN_D4 4 +#define PIN_D5 5 +#define PIN_D6 6 +#define PIN_D7 7 + +#define PIN_CS1 14 +#define PIN_CS2 15 +#define PIN_RW 16 +#define PIN_DI 17 +#define PIN_EN 18 + +//#define PIN_RESET + + +#if defined(__PIC32MX) +/* CHIPKIT PIC32 */ +static volatile uint32_t *u8g_data_port[8]; +static uint32_t u8g_data_mask[8]; +#else +static volatile uint8_t *u8g_data_port[8]; +static uint8_t u8g_data_mask[8]; +#endif + + + +static void u8g_com_arduino_fast_parallel_init(u8g_t *u8g) +{ + u8g_data_port[0] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D0])); + u8g_data_mask[0] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D0]); + u8g_data_port[1] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D1])); + u8g_data_mask[1] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D1]); + u8g_data_port[2] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D2])); + u8g_data_mask[2] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D2]); + u8g_data_port[3] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D3])); + u8g_data_mask[3] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D3]); + + u8g_data_port[4] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D4])); + u8g_data_mask[4] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D4]); + u8g_data_port[5] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D5])); + u8g_data_mask[5] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D5]); + u8g_data_port[6] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D6])); + u8g_data_mask[6] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D6]); + u8g_data_port[7] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D7])); + u8g_data_mask[7] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D7]); +} + +/* atomic protection must be done by calling function */ +static void u8g_com_arduino_fast_write_data_pin(uint8_t pin, uint8_t val) +{ + if ( val != 0 ) + *u8g_data_port[pin] |= u8g_data_mask[pin]; + else + *u8g_data_port[pin] &= ~u8g_data_mask[pin]; +} + + +void u8g_com_arduino_fast_parallel_write(u8g_t *u8g, uint8_t val) +{ + U8G_ATOMIC_START(); + u8g_com_arduino_fast_write_data_pin( 0, val&1 ); + val >>= 1; + u8g_com_arduino_fast_write_data_pin( 1, val&1 ); + val >>= 1; + u8g_com_arduino_fast_write_data_pin( 2, val&1 ); + val >>= 1; + u8g_com_arduino_fast_write_data_pin( 3, val&1 ); + val >>= 1; + + u8g_com_arduino_fast_write_data_pin( 4, val&1 ); + val >>= 1; + u8g_com_arduino_fast_write_data_pin( 5, val&1 ); + val >>= 1; + u8g_com_arduino_fast_write_data_pin( 6, val&1 ); + val >>= 1; + u8g_com_arduino_fast_write_data_pin( 7, val&1 ); + val >>= 1; + U8G_ATOMIC_END(); + + /* EN cycle time must be 1 micro second */ + u8g_com_arduino_digital_write(u8g, U8G_PI_EN, HIGH); + u8g_MicroDelay(); /* delay by 1000ns, reference: ST7920: 140ns, SBN1661: 100ns */ + u8g_com_arduino_digital_write(u8g, U8G_PI_EN, LOW); + u8g_10MicroDelay(); /* ST7920 commands: 72us */ + u8g_10MicroDelay(); /* ST7920 commands: 72us */ +} + + +uint8_t u8g_com_arduino_fast_parallel_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) +{ + switch(msg) + { + case U8G_COM_MSG_INIT: + u8g_com_arduino_fast_parallel_init(u8g); + /* setup the RW pin as output and force it to low */ + if ( u8g->pin_list[U8G_PI_RW] != U8G_PIN_NONE ) + { + pinMode(u8g->pin_list[U8G_PI_RW], OUTPUT); + u8g_com_arduino_digital_write(u8g, U8G_PI_RW, LOW); + } + /* set all pins (except RW pin) */ + u8g_com_arduino_assign_pin_output_high(u8g); + break; + case U8G_COM_MSG_STOP: + break; + + case U8G_COM_MSG_CHIP_SELECT: + if ( arg_val == 0 ) + { + /* disable */ + u8g_com_arduino_digital_write(u8g, U8G_PI_CS1, HIGH); + u8g_com_arduino_digital_write(u8g, U8G_PI_CS2, HIGH); + } + else if ( arg_val == 1 ) + { + /* enable */ + u8g_com_arduino_digital_write(u8g, U8G_PI_CS1, LOW); + u8g_com_arduino_digital_write(u8g, U8G_PI_CS2, HIGH); + } + else if ( arg_val == 2 ) + { + /* enable */ + u8g_com_arduino_digital_write(u8g, U8G_PI_CS1, HIGH); + u8g_com_arduino_digital_write(u8g, U8G_PI_CS2, LOW); + } + else + { + /* enable */ + u8g_com_arduino_digital_write(u8g, U8G_PI_CS1, LOW); + u8g_com_arduino_digital_write(u8g, U8G_PI_CS2, LOW); + } + break; + case U8G_COM_MSG_WRITE_BYTE: + u8g_com_arduino_fast_parallel_write(u8g, arg_val); + break; + case U8G_COM_MSG_WRITE_SEQ: + { + register uint8_t *ptr = arg_ptr; + while( arg_val > 0 ) + { + u8g_com_arduino_fast_parallel_write(u8g, *ptr++); + arg_val--; + } + } + break; + case U8G_COM_MSG_WRITE_SEQ_P: + { + register uint8_t *ptr = arg_ptr; + while( arg_val > 0 ) + { + u8g_com_arduino_fast_parallel_write(u8g, u8g_pgm_read(ptr)); + ptr++; + arg_val--; + } + } + break; + case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ + u8g_com_arduino_digital_write(u8g, U8G_PI_DI, arg_val); + break; + case U8G_COM_MSG_RESET: + if ( u8g->pin_list[U8G_PI_RESET] != U8G_PIN_NONE ) + u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val); + break; + + } + return 1; +} + +#else + + +uint8_t u8g_com_arduino_fast_parallel_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) +{ + return 1; +} + + +#endif /* ARDUINO */ + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_hw_spi.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_hw_spi.c new file mode 100644 index 000000000..3c0d34a48 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_hw_spi.c @@ -0,0 +1,438 @@ +/* + + u8g_com_arduino_hw_spi.c + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + SPI Clock Cycle Type + + SSD1351 50ns 20 MHz + SSD1322 300ns 3.3 MHz + SSD1327 300ns + SSD1306 300ns + ST7565 400ns 2.5 MHz + ST7920 400ns + + Arduino DUE + + PA25 MISO + PA26 MOSI 75 + PA27 SCLK 76 + + +typedef struct { + WoReg SPI_CR; (Spi Offset: 0x00) Control Register + RwReg SPI_MR; (Spi Offset: 0x04) Mode Register + RoReg SPI_RDR; (Spi Offset: 0x08) Receive Data Register + WoReg SPI_TDR; (Spi Offset: 0x0C) Transmit Data Register + RoReg SPI_SR; (Spi Offset: 0x10) Status Register + WoReg SPI_IER; (Spi Offset: 0x14) Interrupt Enable Register + WoReg SPI_IDR; (Spi Offset: 0x18) Interrupt Disable Register + RoReg SPI_IMR; (Spi Offset: 0x1C) Interrupt Mask Register + RoReg Reserved1[4]; + RwReg SPI_CSR[4]; (Spi Offset: 0x30) Chip Select Register + RoReg Reserved2[41]; + RwReg SPI_WPMR; (Spi Offset: 0xE4) Write Protection Control Register + RoReg SPI_WPSR; (Spi Offset: 0xE8) Write Protection Status Register +} Spi; + + Power Management Controller (PMC) + arduino-1.5.2/hardware/arduino/sam/system/CMSIS/Device/ATMEL/sam3xa/include/instance/instance_pmc.h + - enable PIO + + REG_PMC_PCER0 = 1UL << ID_PIOA + - enable SPI + REG_PMC_PCER0 = 1UL << ID_SPI0 + + + - enable PIOA and SPI0 + REG_PMC_PCER0 = (1UL << ID_PIOA) | (1UL << ID_SPI0); + + Parallel Input/Output Controller (PIO) + arduino-1.5.2/hardware/arduino/sam/system/CMSIS/Device/ATMEL/sam3xa/include/instance/instance_pioa.h + - enable special function of the pin: disable PIO on A26 and A27: + REG_PIOA_PDR = 0x0c000000 + PIOA->PIO_PDR = 0x0c000000 + + SPI + SPI0->SPI_CR = SPI_CR_SPIDIS + SPI0->SPI_CR = SPI_CR_SWRST ; + SPI0->SPI_CR = SPI_CR_SWRST ; + SPI0->SPI_CR = SPI_CR_SPIEN + + Bit 0: Master Mode = 1 (active) + Bit 1: Peripheral Select = 0 (fixed) + Bit 2: Chip Select Decode Mode = 1 (4 to 16) + Bit 4: Mode Fault Detection = 1 (disabled) + Bit 5: Wait Data Read = 0 (disabled) + Bit 7: Loop Back Mode = 0 (disabled) + Bit 16-19: Peripheral Chip Select = 0 (chip select 0) + SPI0->SPI_MR = SPI_MR_MSTR | SPI_MR_PCSDEC | SPI_MR_MODFDIS + + Bit 0: Clock Polarity = 0 + Bit 1: Clock Phase = 0 + Bit 4-7: Bits = 0 (8 Bit) + Bit 8-15: SCBR = 1 + SPI0->SPI_CSR[0] = SPI_CSR_SCBR(x) Serial Baud Rate + SCBR / 84000000 > 50 / 1000000000 + SCBR / 84 > 5 / 100 + SCBR > 50 *84 / 1000 --> SCBR=5 + SCBR > 300*84 / 1000 --> SCBR=26 + SCBR > 400*84 / 1000 --> SCBR=34 + + Arduino Due test code: + REG_PMC_PCER0 = (1UL << ID_PIOA) | (1UL << ID_SPI0); + REG_PIOA_PDR = 0x0c000000; + SPI0->SPI_CR = SPI_CR_SPIDIS; + SPI0->SPI_CR = SPI_CR_SWRST; + SPI0->SPI_CR = SPI_CR_SWRST; + SPI0->SPI_CR = SPI_CR_SPIEN; + SPI0->SPI_MR = SPI_MR_MSTR | SPI_MR_PCSDEC | SPI_MR_MODFDIS; + SPI0->SPI_CSR[0] = SPI_CSR_SCBR(30); + + for(;;) + { + while( (SPI0->SPI_SR & SPI_SR_TDRE) == 0 ) + ; + SPI0->SPI_TDR = 0x050; + } + +*/ + +#include "u8g.h" + +#if defined(ARDUINO) + +#if defined(__AVR__) +#define U8G_ARDUINO_ATMEGA_HW_SPI +/* remove the definition for attiny */ +#if __AVR_ARCH__ == 2 +#undef U8G_ARDUINO_ATMEGA_HW_SPI +#endif +#if __AVR_ARCH__ == 25 +#undef U8G_ARDUINO_ATMEGA_HW_SPI +#endif +#endif + +#if defined(U8G_ARDUINO_ATMEGA_HW_SPI) + +#include +#include + +#if ARDUINO < 100 +#include + +/* fixed pins */ +#if defined(__AVR_ATmega644P__) || defined(__AVR_ATmega1284P__) // Sanguino.cc board +#define PIN_SCK 7 +#define PIN_MISO 6 +#define PIN_MOSI 5 +#define PIN_CS 4 +#else // Arduino Board +#define PIN_SCK 13 +#define PIN_MISO 12 +#define PIN_MOSI 11 +#define PIN_CS 10 +#endif // (__AVR_ATmega644P__) || defined(__AVR_ATmega1284P__) + +#else + +#include + +/* use Arduino pin definitions */ +#define PIN_SCK SCK +#define PIN_MISO MISO +#define PIN_MOSI MOSI +#define PIN_CS SS + +#endif + + + +//static uint8_t u8g_spi_out(uint8_t data) U8G_NOINLINE; +static uint8_t u8g_spi_out(uint8_t data) +{ + /* unsigned char x = 100; */ + /* send data */ + SPDR = data; + /* wait for transmission */ + while (!(SPSR & (1<pin_list[U8G_PI_RESET] != U8G_PIN_NONE ) + u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val); + break; + + case U8G_COM_MSG_WRITE_BYTE: + u8g_spi_out(arg_val); + break; + + case U8G_COM_MSG_WRITE_SEQ: + { + register uint8_t *ptr = arg_ptr; + while( arg_val > 0 ) + { + u8g_spi_out(*ptr++); + arg_val--; + } + } + break; + case U8G_COM_MSG_WRITE_SEQ_P: + { + register uint8_t *ptr = arg_ptr; + while( arg_val > 0 ) + { + u8g_spi_out(u8g_pgm_read(ptr)); + ptr++; + arg_val--; + } + } + break; + } + return 1; +} + +/* #elif defined(__18CXX) || defined(__PIC32MX) */ + +#elif defined(__SAM3X8E__) // Arduino Due, maybe we should better check for __SAM3X8E__ + +#include + +/* use Arduino pin definitions */ +#define PIN_SCK SCK +#define PIN_MISO MISO +#define PIN_MOSI MOSI +#define PIN_CS SS + + +static uint8_t u8g_spi_out(uint8_t data) +{ + /* wait until tx register is empty */ + while( (SPI0->SPI_SR & SPI_SR_TDRE) == 0 ) + ; + /* send data */ + SPI0->SPI_TDR = (uint32_t)data; + return data; +} + + +uint8_t u8g_com_arduino_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) +{ + switch(msg) + { + case U8G_COM_MSG_STOP: + break; + + case U8G_COM_MSG_INIT: + u8g_com_arduino_assign_pin_output_high(u8g); + u8g_com_arduino_digital_write(u8g, U8G_PI_CS, HIGH); + + /* Arduino Due specific code */ + + /* enable PIOA and SPI0 */ + REG_PMC_PCER0 = (1UL << ID_PIOA) | (1UL << ID_SPI0); + + /* disable PIO on A26 and A27 */ + REG_PIOA_PDR = 0x0c000000; + + /* reset SPI0 (from sam lib) */ + SPI0->SPI_CR = SPI_CR_SPIDIS; + SPI0->SPI_CR = SPI_CR_SWRST; + SPI0->SPI_CR = SPI_CR_SWRST; + SPI0->SPI_CR = SPI_CR_SPIEN; + u8g_MicroDelay(); + + /* master mode, no fault detection, chip select 0 */ + SPI0->SPI_MR = SPI_MR_MSTR | SPI_MR_PCSDEC | SPI_MR_MODFDIS; + + /* Polarity, Phase, 8 Bit data transfer, baud rate */ + /* x * 1000 / 84 --> clock cycle in ns + 5 * 1000 / 84 = 58 ns + SCBR > 50 *84 / 1000 --> SCBR=5 + SCBR > 300*84 / 1000 --> SCBR=26 + SCBR > 400*84 / 1000 --> SCBR=34 + */ + + if ( arg_val <= U8G_SPI_CLK_CYCLE_50NS ) + { + SPI0->SPI_CSR[0] = SPI_CSR_SCBR(5) | 1; + } + else if ( arg_val <= U8G_SPI_CLK_CYCLE_300NS ) + { + SPI0->SPI_CSR[0] = SPI_CSR_SCBR(26) | 1; + } + else if ( arg_val <= U8G_SPI_CLK_CYCLE_400NS ) + { + SPI0->SPI_CSR[0] = SPI_CSR_SCBR(34) | 1; + } + else + { + SPI0->SPI_CSR[0] = SPI_CSR_SCBR(84) | 1; + } + + u8g_MicroDelay(); + break; + + case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ + u8g_com_arduino_digital_write(u8g, U8G_PI_A0, arg_val); + u8g_MicroDelay(); + break; + + case U8G_COM_MSG_CHIP_SELECT: + if ( arg_val == 0 ) + { + /* disable */ + u8g_MicroDelay(); /* this delay is required to avoid that the display is switched off too early --> DOGS102 with DUE */ + u8g_com_arduino_digital_write(u8g, U8G_PI_CS, HIGH); + u8g_MicroDelay(); + } + else + { + /* enable */ + //u8g_com_arduino_digital_write(u8g, U8G_PI_SCK, LOW); + u8g_com_arduino_digital_write(u8g, U8G_PI_CS, LOW); + u8g_MicroDelay(); + } + break; + + case U8G_COM_MSG_RESET: + if ( u8g->pin_list[U8G_PI_RESET] != U8G_PIN_NONE ) + u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val); + break; + + case U8G_COM_MSG_WRITE_BYTE: + u8g_spi_out(arg_val); + u8g_MicroDelay(); + break; + + case U8G_COM_MSG_WRITE_SEQ: + { + register uint8_t *ptr = arg_ptr; + while( arg_val > 0 ) + { + u8g_spi_out(*ptr++); + arg_val--; + } + } + break; + case U8G_COM_MSG_WRITE_SEQ_P: + { + register uint8_t *ptr = arg_ptr; + while( arg_val > 0 ) + { + u8g_spi_out(u8g_pgm_read(ptr)); + ptr++; + arg_val--; + } + } + break; + } + return 1; +} + + + +#else /* U8G_ARDUINO_ATMEGA_HW_SPI */ + +#endif /* U8G_ARDUINO_ATMEGA_HW_SPI */ + +#else /* ARDUINO */ + +uint8_t u8g_com_arduino_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) +{ + return 1; +} + +#endif /* ARDUINO */ + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_hw_usart_spi.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_hw_usart_spi.c new file mode 100644 index 000000000..27fd8d01c --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_hw_usart_spi.c @@ -0,0 +1,159 @@ +/* + + u8g_com_arduino_hw_usart_spi.c + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + SPI Clock Cycle Type + + SSD1351 50ns 20 MHz + SSD1322 300ns 3.3 MHz + SSD1327 300ns + SSD1306 300ns + ST7565 400ns 2.5 MHz + ST7920 400ns + +*/ + +#include "u8g.h" + +#if defined(ARDUINO) + +#if defined(__AVR_ATmega32U4__ ) + +#include +#include + +#if ARDUINO < 100 +#include +#else +#include +#endif + + + +static uint8_t u8g_usart_spi_out(uint8_t data) +{ + /* send data */ + UDR1 = data; + /* wait for empty transmit buffer */ + while(!(UCSR1A & (1 << UDRE1))); + + return UDR1; +} + + +uint8_t u8g_com_arduino_hw_usart_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) +{ + switch(msg) + { + case U8G_COM_MSG_STOP: + break; + + case U8G_COM_MSG_INIT: + /* SCK is already an output as we overwrite TXLED */ + u8g_com_arduino_assign_pin_output_high(u8g); + u8g_com_arduino_digital_write(u8g, U8G_PI_CS, HIGH); + + // Init interface at 2MHz + UBRR1 = 0x00; + UCSR1C = (1 << UMSEL11) | (1 << UMSEL10); + UCSR1B = (1 << TXEN1); + UBRR1 = 3; + + break; + + case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ + u8g_com_arduino_digital_write(u8g, U8G_PI_A0, arg_val); + break; + + case U8G_COM_MSG_CHIP_SELECT: + if ( arg_val == 0 ) + { + /* disable */ + u8g_com_arduino_digital_write(u8g, U8G_PI_CS, HIGH); + } + else + { + /* enable */ + u8g_com_arduino_digital_write(u8g, U8G_PI_CS, LOW); + } + break; + + case U8G_COM_MSG_RESET: + if ( u8g->pin_list[U8G_PI_RESET] != U8G_PIN_NONE ) + u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val); + break; + + case U8G_COM_MSG_WRITE_BYTE: + u8g_usart_spi_out(arg_val); + break; + + case U8G_COM_MSG_WRITE_SEQ: + { + register uint8_t *ptr = arg_ptr; + while( arg_val > 0 ) + { + u8g_usart_spi_out(*ptr++); + arg_val--; + } + } + break; + case U8G_COM_MSG_WRITE_SEQ_P: + { + register uint8_t *ptr = arg_ptr; + while( arg_val > 0 ) + { + u8g_usart_spi_out(u8g_pgm_read(ptr)); + ptr++; + arg_val--; + } + } + break; + } + return 1; +} + +/* #elif defined(__18CXX) || defined(__PIC32MX) */ +/* #elif defined(__arm__) // Arduino Due, maybe we should better check for __SAM3X8E__ */ + +#else /* __AVR_ATmega32U4__ */ + +#endif /* __AVR_ATmega32U4__ */ + +#else /* ARDUINO */ + +uint8_t u8g_com_arduino_hw_usart_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) +{ + return 1; +} + +#endif /* ARDUINO */ + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_no_en_parallel.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_no_en_parallel.c new file mode 100644 index 000000000..4edb30a46 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_no_en_parallel.c @@ -0,0 +1,234 @@ +/* + + u8g_arduino_no_en_parallel.c + + Universal 8bit Graphics Library + + Copyright (c) 2012, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + PIN_D0 8 + PIN_D1 9 + PIN_D2 10 + PIN_D3 11 + PIN_D4 4 + PIN_D5 5 + PIN_D6 6 + PIN_D7 7 + + PIN_CS1 14 + PIN_CS2 15 + PIN_RW 16 + PIN_DI 17 + PIN_EN 18 + + u8g_Init8Bit(u8g, dev, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, cs2, di, rw, reset) + u8g_Init8Bit(u8g, dev, 8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16, U8G_PIN_NONE) + Update for ATOMIC operation done (01 Jun 2013) + + U8G_ATOMIC_OR(ptr, val) + U8G_ATOMIC_AND(ptr, val) + U8G_ATOMIC_START(); + U8G_ATOMIC_END(); + +*/ + +#include "u8g.h" + +#if defined(ARDUINO) + +#if ARDUINO < 100 +//#include +#include +#include +#else +#include +#endif + +//#define PIN_RESET + +#if defined(__PIC32MX) +/* CHIPKIT PIC32 */ +static volatile uint32_t *u8g_data_port[8]; +static uint32_t u8g_data_mask[8]; +#else +static volatile uint8_t *u8g_data_port[8]; +static uint8_t u8g_data_mask[8]; +#endif + + + +static void u8g_com_arduino_no_en_parallel_init(u8g_t *u8g) +{ + u8g_data_port[0] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D0])); + u8g_data_mask[0] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D0]); + u8g_data_port[1] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D1])); + u8g_data_mask[1] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D1]); + u8g_data_port[2] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D2])); + u8g_data_mask[2] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D2]); + u8g_data_port[3] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D3])); + u8g_data_mask[3] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D3]); + + u8g_data_port[4] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D4])); + u8g_data_mask[4] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D4]); + u8g_data_port[5] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D5])); + u8g_data_mask[5] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D5]); + u8g_data_port[6] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D6])); + u8g_data_mask[6] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D6]); + u8g_data_port[7] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D7])); + u8g_data_mask[7] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D7]); +} + +/* No atomic protcetion. This is done by caller */ +static void u8g_com_arduino_no_en_write_data_pin(uint8_t pin, uint8_t val) +{ + if ( val != 0 ) + { + *u8g_data_port[pin] |= u8g_data_mask[pin]; + } + else + { + *u8g_data_port[pin] &= ~u8g_data_mask[pin]; + } +} + + +void u8g_com_arduino_no_en_parallel_write(u8g_t *u8g, uint8_t val) +{ + U8G_ATOMIC_START(); + u8g_com_arduino_no_en_write_data_pin( 0, val&1 ); + val >>= 1; + u8g_com_arduino_no_en_write_data_pin( 1, val&1 ); + val >>= 1; + u8g_com_arduino_no_en_write_data_pin( 2, val&1 ); + val >>= 1; + u8g_com_arduino_no_en_write_data_pin( 3, val&1 ); + val >>= 1; + + u8g_com_arduino_no_en_write_data_pin( 4, val&1 ); + val >>= 1; + u8g_com_arduino_no_en_write_data_pin( 5, val&1 ); + val >>= 1; + u8g_com_arduino_no_en_write_data_pin( 6, val&1 ); + val >>= 1; + u8g_com_arduino_no_en_write_data_pin( 7, val&1 ); + val >>= 1; + U8G_ATOMIC_END(); + + /* EN cycle time must be 1 micro second, digitalWrite is slow enough to do this */ + if ( u8g->pin_list[U8G_PI_CS_STATE] == 1 ) + { + u8g_MicroDelay(); + u8g_com_arduino_digital_write(u8g, U8G_PI_CS1, HIGH); + u8g_MicroDelay(); + u8g_com_arduino_digital_write(u8g, U8G_PI_CS1, LOW); + u8g_MicroDelay(); + } + else if ( u8g->pin_list[U8G_PI_CS_STATE] == 2 ) + { + u8g_MicroDelay(); + u8g_com_arduino_digital_write(u8g, U8G_PI_CS2, HIGH); + u8g_MicroDelay(); + u8g_com_arduino_digital_write(u8g, U8G_PI_CS2, LOW); + u8g_MicroDelay(); + } +} + + +uint8_t u8g_com_arduino_no_en_parallel_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) +{ + switch(msg) + { + case U8G_COM_MSG_INIT: + u8g_com_arduino_no_en_parallel_init(u8g); + /* setup the RW pin as output and force it to low */ + if ( u8g->pin_list[U8G_PI_RW] != U8G_PIN_NONE ) + { + pinMode(u8g->pin_list[U8G_PI_RW], OUTPUT); + u8g_com_arduino_digital_write(u8g, U8G_PI_RW, LOW); + } + /* set all pins (except RW pin) */ + u8g_com_arduino_assign_pin_output_high(u8g); + break; + case U8G_COM_MSG_STOP: + break; + + case U8G_COM_MSG_CHIP_SELECT: + /* + 0: nothing selected + 1: CS1 will be used as enable line + 2: CS2 will be used as enable line + this will be used in the u8g_com_arduino_no_en_parallel_write() procedure + */ + u8g->pin_list[U8G_PI_CS_STATE] = arg_val; + break; + case U8G_COM_MSG_WRITE_BYTE: + u8g_com_arduino_no_en_parallel_write(u8g, arg_val); + break; + case U8G_COM_MSG_WRITE_SEQ: + { + register uint8_t *ptr = arg_ptr; + while( arg_val > 0 ) + { + u8g_com_arduino_no_en_parallel_write(u8g, *ptr++); + arg_val--; + } + } + break; + case U8G_COM_MSG_WRITE_SEQ_P: + { + register uint8_t *ptr = arg_ptr; + while( arg_val > 0 ) + { + u8g_com_arduino_no_en_parallel_write(u8g, u8g_pgm_read(ptr)); + ptr++; + arg_val--; + } + } + break; + case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ + u8g_com_arduino_digital_write(u8g, U8G_PI_DI, arg_val); + break; + case U8G_COM_MSG_RESET: + if ( u8g->pin_list[U8G_PI_RESET] != U8G_PIN_NONE ) + u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val); + break; + } + return 1; +} + +#else + + +uint8_t u8g_com_arduino_no_en_parallel_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) +{ + return 1; +} + + +#endif /* ARDUINO */ + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_parallel.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_parallel.c new file mode 100644 index 000000000..d5d5dd755 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_parallel.c @@ -0,0 +1,184 @@ +/* + + u8g_com_arduino_parallel.c + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + PIN_D0 8 + PIN_D1 9 + PIN_D2 10 + PIN_D3 11 + PIN_D4 4 + PIN_D5 5 + PIN_D6 6 + PIN_D7 7 + + PIN_CS1 14 + PIN_CS2 15 + PIN_RW 16 + PIN_DI 17 + PIN_EN 18 + + u8g_Init8Bit(u8g, dev, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, cs2, di, rw, reset) + u8g_Init8Bit(u8g, dev, 8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16, U8G_PIN_NONE) + +*/ + +#include "u8g.h" + + +#if defined(ARDUINO) + +#if ARDUINO < 100 +#include +#else +#include +#endif + + + + + + +void u8g_com_arduino_parallel_write(u8g_t *u8g, uint8_t val) +{ + u8g_com_arduino_digital_write(u8g, U8G_PI_D0, val&1); + val >>= 1; + u8g_com_arduino_digital_write(u8g, U8G_PI_D1, val&1); + val >>= 1; + u8g_com_arduino_digital_write(u8g, U8G_PI_D2, val&1); + val >>= 1; + u8g_com_arduino_digital_write(u8g, U8G_PI_D3, val&1); + val >>= 1; + u8g_com_arduino_digital_write(u8g, U8G_PI_D4, val&1); + val >>= 1; + u8g_com_arduino_digital_write(u8g, U8G_PI_D5, val&1); + val >>= 1; + u8g_com_arduino_digital_write(u8g, U8G_PI_D6, val&1); + val >>= 1; + u8g_com_arduino_digital_write(u8g, U8G_PI_D7, val&1); + + /* EN cycle time must be 1 micro second, digitalWrite is slow enough to do this */ + u8g_com_arduino_digital_write(u8g, U8G_PI_EN, HIGH); + u8g_MicroDelay(); /* delay by 1000ns, reference: ST7920: 140ns, SBN1661: 100ns */ + u8g_com_arduino_digital_write(u8g, U8G_PI_EN, LOW); + u8g_10MicroDelay(); /* ST7920 commands: 72us */ +} + + +uint8_t u8g_com_arduino_parallel_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) +{ + switch(msg) + { + case U8G_COM_MSG_INIT: + /* setup the RW pin as output and force it to low */ + if ( u8g->pin_list[U8G_PI_RW] != U8G_PIN_NONE ) + { + pinMode(u8g->pin_list[U8G_PI_RW], OUTPUT); + u8g_com_arduino_digital_write(u8g, U8G_PI_RW, LOW); + } + /* set all pins (except RW pin) */ + u8g_com_arduino_assign_pin_output_high(u8g); + break; + case U8G_COM_MSG_STOP: + break; + case U8G_COM_MSG_CHIP_SELECT: + if ( arg_val == 0 ) + { + /* disable */ + u8g_com_arduino_digital_write(u8g, U8G_PI_CS1, HIGH); + u8g_com_arduino_digital_write(u8g, U8G_PI_CS2, HIGH); + } + else if ( arg_val == 1 ) + { + /* enable */ + u8g_com_arduino_digital_write(u8g, U8G_PI_CS1, LOW); + u8g_com_arduino_digital_write(u8g, U8G_PI_CS2, HIGH); + } + else if ( arg_val == 2 ) + { + /* enable */ + u8g_com_arduino_digital_write(u8g, U8G_PI_CS1, HIGH); + u8g_com_arduino_digital_write(u8g, U8G_PI_CS2, LOW); + } + else + { + /* enable */ + u8g_com_arduino_digital_write(u8g, U8G_PI_CS1, LOW); + u8g_com_arduino_digital_write(u8g, U8G_PI_CS2, LOW); + } + break; + case U8G_COM_MSG_WRITE_BYTE: + u8g_com_arduino_parallel_write(u8g, arg_val); + break; + case U8G_COM_MSG_WRITE_SEQ: + { + register uint8_t *ptr = arg_ptr; + while( arg_val > 0 ) + { + u8g_com_arduino_parallel_write(u8g, *ptr++); + arg_val--; + } + } + break; + case U8G_COM_MSG_WRITE_SEQ_P: + { + register uint8_t *ptr = arg_ptr; + while( arg_val > 0 ) + { + u8g_com_arduino_parallel_write(u8g, u8g_pgm_read(ptr)); + ptr++; + arg_val--; + } + } + break; + case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ + u8g_com_arduino_digital_write(u8g, U8G_PI_DI, arg_val); + break; + case U8G_COM_MSG_RESET: + if ( u8g->pin_list[U8G_PI_RESET] != U8G_PIN_NONE ) + u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val); + break; + + } + return 1; +} + +#else + + +uint8_t u8g_com_arduino_parallel_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) +{ + return 1; +} + +#endif /* ARDUINO */ + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_port_d_wr.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_port_d_wr.c new file mode 100644 index 000000000..64a8229e1 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_port_d_wr.c @@ -0,0 +1,177 @@ +/* + + u8g_arduino_port_d_wr.c + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + Assumes PORTD for 8 bit data transfer. + EN is assumed to be a low active write signal (WR) + + ILI9325D_320x240 from iteadstudio.com + RS=19, WR=18, CS=17, RST=16 + + + u8g_Init8Bit(u8g, dev, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, cs2, di, rw, reset) + u8g_Init8Bit(u8g, dev, 8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16, U8G_PIN_NONE) + + + Update for ATOMIC operation done (01 Jun 2013) + U8G_ATOMIC_OR(ptr, val) + U8G_ATOMIC_AND(ptr, val) + U8G_ATOMIC_START(); + U8G_ATOMIC_END(); + +*/ + +#include "u8g.h" + + +#if defined(ARDUINO) && defined(PORTD) + +#if ARDUINO < 100 +#include +#else +#include +#endif + + + + + + +static void u8g_com_arduino_port_d_8bit_wr(u8g_t *u8g, uint8_t val) +{ + PORTD = val; + + /* WR cycle time must be 1 micro second, digitalWrite is slow enough to do this */ + u8g_com_arduino_digital_write(u8g, U8G_PI_EN, LOW); + u8g_com_arduino_digital_write(u8g, U8G_PI_EN, HIGH); +} + + +uint8_t u8g_com_arduino_port_d_wr_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) +{ + + switch(msg) + { + case U8G_COM_MSG_INIT: + +#ifdef UCSR0B + UCSR0B = 0; // disable USART 0 +#endif + U8G_ATOMIC_START(); + DDRD = 0x0ff; + PORTD = 0x0ff; + U8G_ATOMIC_END(); + + /* setup the RW pin as output and force it to low */ + if ( u8g->pin_list[U8G_PI_RW] != U8G_PIN_NONE ) + { + pinMode(u8g->pin_list[U8G_PI_RW], OUTPUT); + u8g_com_arduino_digital_write(u8g, U8G_PI_RW, HIGH); + } + /* set all pins (except RW pin) */ + u8g_com_arduino_assign_pin_output_high(u8g); + u8g_com_arduino_digital_write(u8g, U8G_PI_EN, HIGH); + break; + case U8G_COM_MSG_STOP: + break; + case U8G_COM_MSG_CHIP_SELECT: + if ( arg_val == 0 ) + { + /* disable */ + u8g_com_arduino_digital_write(u8g, U8G_PI_CS1, HIGH); + u8g_com_arduino_digital_write(u8g, U8G_PI_CS2, HIGH); + } + else if ( arg_val == 1 ) + { + /* enable */ + u8g_com_arduino_digital_write(u8g, U8G_PI_CS1, LOW); + u8g_com_arduino_digital_write(u8g, U8G_PI_CS2, HIGH); + } + else if ( arg_val == 2 ) + { + /* enable */ + u8g_com_arduino_digital_write(u8g, U8G_PI_CS1, HIGH); + u8g_com_arduino_digital_write(u8g, U8G_PI_CS2, LOW); + } + else + { + /* enable */ + u8g_com_arduino_digital_write(u8g, U8G_PI_CS1, LOW); + u8g_com_arduino_digital_write(u8g, U8G_PI_CS2, LOW); + } + break; + case U8G_COM_MSG_WRITE_BYTE: + u8g_com_arduino_port_d_8bit_wr(u8g, arg_val); + break; + case U8G_COM_MSG_WRITE_SEQ: + { + register uint8_t *ptr = arg_ptr; + while( arg_val > 0 ) + { + u8g_com_arduino_port_d_8bit_wr(u8g, *ptr++); + arg_val--; + } + } + break; + case U8G_COM_MSG_WRITE_SEQ_P: + { + register uint8_t *ptr = arg_ptr; + while( arg_val > 0 ) + { + u8g_com_arduino_port_d_8bit_wr(u8g, u8g_pgm_read(ptr)); + ptr++; + arg_val--; + } + } + break; + case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ + u8g_com_arduino_digital_write(u8g, U8G_PI_DI, arg_val); + break; + case U8G_COM_MSG_RESET: + if ( u8g->pin_list[U8G_PI_RESET] != U8G_PIN_NONE ) + u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val); + break; + } + return 1; +} + +#else + + +uint8_t u8g_com_arduino_port_d_wr_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) +{ + return 1; +} + +#endif /* ARDUINO && PORTD */ + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_ssd_i2c.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_ssd_i2c.c new file mode 100644 index 000000000..84b24daad --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_ssd_i2c.c @@ -0,0 +1,212 @@ +/* + + u8g_com_arduino_ssd_i2c.c + + com interface for arduino (AND atmega) and the SSDxxxx chip (SOLOMON) variant + I2C protocol + + ToDo: Rename this to u8g_com_avr_ssd_i2c.c + + Universal 8bit Graphics Library + + Copyright (c) 2012, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + Special pin usage: + U8G_PI_I2C_OPTION additional options + U8G_PI_A0_STATE used to store the last value of the command/data register selection + U8G_PI_SET_A0 1: Signal request to update I2C device with new A0_STATE, 0: Do nothing, A0_STATE matches I2C device + U8G_PI_SCL clock line (NOT USED) + U8G_PI_SDA data line (NOT USED) + + U8G_PI_RESET reset line (currently disabled, see below) + + Protocol: + SLA, Cmd/Data Selection, Arguments + The command/data register is selected by a special instruction byte, which is sent after SLA + + The continue bit is always 0 so that a (re)start is equired for the change from cmd to/data mode +*/ + +#include "u8g.h" + +#if defined(U8G_WITH_PINLIST) + + +#define I2C_SLA (0x3c*2) +//#define I2C_CMD_MODE 0x080 +#define I2C_CMD_MODE 0x000 +#define I2C_DATA_MODE 0x040 + +uint8_t u8g_com_arduino_ssd_start_sequence(u8g_t *u8g) +{ + /* are we requested to set the a0 state? */ + if ( u8g->pin_list[U8G_PI_SET_A0] == 0 ) + return 1; + + /* setup bus, might be a repeated start */ + if ( u8g_i2c_start(I2C_SLA) == 0 ) + return 0; + if ( u8g->pin_list[U8G_PI_A0_STATE] == 0 ) + { + if ( u8g_i2c_send_byte(I2C_CMD_MODE) == 0 ) + return 0; + } + else + { + if ( u8g_i2c_send_byte(I2C_DATA_MODE) == 0 ) + return 0; + } + + u8g->pin_list[U8G_PI_SET_A0] = 0; + return 1; +} + +uint8_t u8g_com_arduino_ssd_i2c_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) +{ + switch(msg) + { + case U8G_COM_MSG_INIT: + //u8g_com_arduino_digital_write(u8g, U8G_PI_SCL, HIGH); + //u8g_com_arduino_digital_write(u8g, U8G_PI_SDA, HIGH); + //u8g->pin_list[U8G_PI_A0_STATE] = 0; /* inital RS state: unknown mode */ + + u8g_i2c_init(u8g->pin_list[U8G_PI_I2C_OPTION]); + + break; + + case U8G_COM_MSG_STOP: + break; + + case U8G_COM_MSG_RESET: + /* Currently disabled, but it could be enable. Previous restrictions have been removed */ + /* u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val); */ + break; + + case U8G_COM_MSG_CHIP_SELECT: + u8g->pin_list[U8G_PI_A0_STATE] = 0; + u8g->pin_list[U8G_PI_SET_A0] = 1; /* force a0 to set again, also forces start condition */ + if ( arg_val == 0 ) + { + /* disable chip, send stop condition */ + u8g_i2c_stop(); + } + else + { + /* enable, do nothing: any byte writing will trigger the i2c start */ + } + break; + + case U8G_COM_MSG_WRITE_BYTE: + //u8g->pin_list[U8G_PI_SET_A0] = 1; + if ( u8g_com_arduino_ssd_start_sequence(u8g) == 0 ) + return u8g_i2c_stop(), 0; + if ( u8g_i2c_send_byte(arg_val) == 0 ) + return u8g_i2c_stop(), 0; + // u8g_i2c_stop(); + break; + + case U8G_COM_MSG_WRITE_SEQ: + //u8g->pin_list[U8G_PI_SET_A0] = 1; + if ( u8g_com_arduino_ssd_start_sequence(u8g) == 0 ) + return u8g_i2c_stop(), 0; + { + register uint8_t *ptr = arg_ptr; + while( arg_val > 0 ) + { + if ( u8g_i2c_send_byte(*ptr++) == 0 ) + return u8g_i2c_stop(), 0; + arg_val--; + } + } + // u8g_i2c_stop(); + break; + + case U8G_COM_MSG_WRITE_SEQ_P: + //u8g->pin_list[U8G_PI_SET_A0] = 1; + if ( u8g_com_arduino_ssd_start_sequence(u8g) == 0 ) + return u8g_i2c_stop(), 0; + { + register uint8_t *ptr = arg_ptr; + while( arg_val > 0 ) + { + if ( u8g_i2c_send_byte(u8g_pgm_read(ptr)) == 0 ) + return 0; + ptr++; + arg_val--; + } + } + // u8g_i2c_stop(); + break; + + case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ + u8g->pin_list[U8G_PI_A0_STATE] = arg_val; + u8g->pin_list[U8G_PI_SET_A0] = 1; /* force a0 to set again */ + +#ifdef OLD_CODE + if ( i2c_state != 0 ) + { + u8g_i2c_stop(); + i2c_state = 0; + } + + if ( u8g_com_arduino_ssd_start_sequence(arg_val) == 0 ) + return 0; + + /* setup bus, might be a repeated start */ + /* + if ( u8g_i2c_start(I2C_SLA) == 0 ) + return 0; + if ( arg_val == 0 ) + { + i2c_state = 1; + + if ( u8g_i2c_send_byte(I2C_CMD_MODE) == 0 ) + return 0; + } + else + { + i2c_state = 2; + if ( u8g_i2c_send_byte(I2C_DATA_MODE) == 0 ) + return 0; + } + */ +#endif + break; + } + return 1; +} + +#else /* defined(U8G_WITH_PINLIST) */ + +uint8_t u8g_com_arduino_ssd_i2c_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) +{ + return 1; +} + +#endif /* defined(U8G_WITH_PINLIST) */ + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_st7920_custom.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_st7920_custom.c new file mode 100644 index 000000000..d157b9363 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_st7920_custom.c @@ -0,0 +1,330 @@ +/* + + u8g_com_arduino_st7920_custom.c + + Additional COM device, initially introduced for 3D Printer community + Implements a fast SW SPI com subsystem + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + A special SPI interface for ST7920 controller + + Update for ATOMIC operation done (01 Jun 2013) + U8G_ATOMIC_OR(ptr, val) + U8G_ATOMIC_AND(ptr, val) + U8G_ATOMIC_START(); + U8G_ATOMIC_END(); + + +*/ + +#include "u8g.h" + +#if defined(ARDUINO) + +#if ARDUINO < 100 +#include +#include "wiring_private.h" +#include "pins_arduino.h" + +#else +#include +#include "wiring_private.h" +#endif + +#if defined(__AVR__) + +static uint8_t u8g_bitData, u8g_bitNotData; +static uint8_t u8g_bitClock, u8g_bitNotClock; +static volatile uint8_t *u8g_outData; +static volatile uint8_t *u8g_outClock; + +static void u8g_com_arduino_init_shift_out(uint8_t dataPin, uint8_t clockPin) +{ + u8g_outData = portOutputRegister(digitalPinToPort(dataPin)); + u8g_outClock = portOutputRegister(digitalPinToPort(clockPin)); + u8g_bitData = digitalPinToBitMask(dataPin); + u8g_bitClock = digitalPinToBitMask(clockPin); + + u8g_bitNotClock = u8g_bitClock; + u8g_bitNotClock ^= 0x0ff; + + u8g_bitNotData = u8g_bitData; + u8g_bitNotData ^= 0x0ff; +} + +static void u8g_com_arduino_do_shift_out_msb_first(uint8_t val) U8G_NOINLINE; +static void u8g_com_arduino_do_shift_out_msb_first(uint8_t val) +{ + uint8_t cnt = 8; + uint8_t bitData = u8g_bitData; + uint8_t bitNotData = u8g_bitNotData; + uint8_t bitClock = u8g_bitClock; + uint8_t bitNotClock = u8g_bitNotClock; + volatile uint8_t *outData = u8g_outData; + volatile uint8_t *outClock = u8g_outClock; + + + U8G_ATOMIC_START(); + bitData |= *outData; + bitNotData &= *outData; + do + { + if ( val & 128 ) + *outData = bitData; + else + *outData = bitNotData; + + /* + *outClock |= bitClock; + val <<= 1; + cnt--; + *outClock &= bitNotClock; + */ + + val <<= 1; + *outClock &= bitNotClock; + cnt--; + // removed micro delays, because AVRs are too slow and the delay is not required + //u8g_MicroDelay(); + *outClock |= bitClock; + //u8g_MicroDelay(); + } while( cnt != 0 ); + U8G_ATOMIC_END(); +} + +#elif defined(__18CXX) || defined(__PIC32MX) + +uint16_t dog_bitData, dog_bitNotData; +uint16_t dog_bitClock, dog_bitNotClock; +volatile uint32_t *dog_outData; +volatile uint32_t *dog_outClock; +volatile uint32_t dog_pic32_spi_tmp; + +static void u8g_com_arduino_init_shift_out(uint8_t dataPin, uint8_t clockPin) +{ + dog_outData = portOutputRegister(digitalPinToPort(dataPin)); + dog_outClock = portOutputRegister(digitalPinToPort(clockPin)); + dog_bitData = digitalPinToBitMask(dataPin); + dog_bitClock = digitalPinToBitMask(clockPin); + + dog_bitNotClock = dog_bitClock; + dog_bitNotClock ^= 0x0ffff; + + dog_bitNotData = dog_bitData; + dog_bitNotData ^= 0x0ffff; +} + +static void u8g_com_arduino_do_shift_out_msb_first(uint8_t val) +{ + uint8_t cnt = 8; + U8G_ATOMIC_START(); + do + { + if ( val & 128 ) + *dog_outData |= dog_bitData; + else + *dog_outData &= dog_bitNotData; + val <<= 1; + //u8g_MicroDelay(); + //*dog_outClock |= dog_bitClock; + *dog_outClock &= dog_bitNotClock; + cnt--; + u8g_MicroDelay(); + //*dog_outClock &= dog_bitNotClock; + *dog_outClock |= dog_bitClock; + u8g_MicroDelay(); + + } while( cnt != 0 ); + U8G_ATOMIC_END(); +} + +#else + +/* default interface, Arduino DUE (__arm__) */ + +uint8_t u8g_data_custom_pin; +uint8_t u8g_clock_custom_pin; + +static void u8g_com_arduino_init_shift_out(uint8_t dataPin, uint8_t clockPin) +{ + u8g_data_custom_pin = dataPin; + u8g_clock_custom_pin = clockPin; +} + +static void u8g_com_arduino_do_shift_out_msb_first(uint8_t val) +{ + uint8_t cnt = 8; + do + { + if ( val & 128 ) + digitalWrite(u8g_data_custom_pin, HIGH); + else + digitalWrite(u8g_data_custom_pin, LOW); + val <<= 1; + //u8g_MicroDelay(); + digitalWrite(u8g_clock_custom_pin, LOW); + cnt--; + u8g_MicroDelay(); + digitalWrite(u8g_clock_custom_pin, HIGH); + u8g_MicroDelay(); + } while( cnt != 0 ); +} + +#endif + + +static void u8g_com_arduino_st7920_write_byte_seq(uint8_t rs, uint8_t *ptr, uint8_t len) +{ + uint8_t i; + + if ( rs == 0 ) + { + /* command */ + u8g_com_arduino_do_shift_out_msb_first(0x0f8); + } + else if ( rs == 1 ) + { + /* data */ + u8g_com_arduino_do_shift_out_msb_first(0x0fa); + } + + while( len > 0 ) + { + u8g_com_arduino_do_shift_out_msb_first(*ptr & 0x0f0); + u8g_com_arduino_do_shift_out_msb_first(*ptr << 4); + ptr++; + len--; + u8g_10MicroDelay(); + } + + for( i = 0; i < 4; i++ ) + u8g_10MicroDelay(); +} + +static void u8g_com_arduino_st7920_write_byte(uint8_t rs, uint8_t val) +{ + uint8_t i; + + if ( rs == 0 ) + { + /* command */ + u8g_com_arduino_do_shift_out_msb_first(0x0f8); + } + else if ( rs == 1 ) + { + /* data */ + u8g_com_arduino_do_shift_out_msb_first(0x0fa); + } + + u8g_com_arduino_do_shift_out_msb_first(val & 0x0f0); + u8g_com_arduino_do_shift_out_msb_first(val << 4); + + for( i = 0; i < 4; i++ ) + u8g_10MicroDelay(); + +} + + +uint8_t u8g_com_arduino_st7920_custom_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) +{ + switch(msg) + { + case U8G_COM_MSG_INIT: + u8g_com_arduino_assign_pin_output_high(u8g); + u8g_com_arduino_digital_write(u8g, U8G_PI_CS, LOW); + // u8g_com_arduino_digital_write(u8g, U8G_PI_SCK, LOW); + u8g_com_arduino_digital_write(u8g, U8G_PI_SCK, HIGH); + u8g_com_arduino_digital_write(u8g, U8G_PI_MOSI, LOW); + u8g_com_arduino_init_shift_out(u8g->pin_list[U8G_PI_MOSI], u8g->pin_list[U8G_PI_SCK]); + u8g->pin_list[U8G_PI_A0_STATE] = 0; /* inital RS state: command mode */ + break; + + case U8G_COM_MSG_STOP: + break; + + case U8G_COM_MSG_RESET: + if ( u8g->pin_list[U8G_PI_RESET] != U8G_PIN_NONE ) + u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val); + break; + + case U8G_COM_MSG_CHIP_SELECT: + if ( arg_val == 0 ) + { + /* disable, note: the st7920 has an active high chip select */ + u8g_com_arduino_digital_write(u8g, U8G_PI_CS, LOW); + } + else + { + /* enable */ + //u8g_com_arduino_digital_write(u8g, U8G_PI_SCK, HIGH); + u8g_com_arduino_digital_write(u8g, U8G_PI_CS, HIGH); + } + break; + + case U8G_COM_MSG_WRITE_BYTE: + u8g_com_arduino_st7920_write_byte( u8g->pin_list[U8G_PI_A0_STATE], arg_val); + //u8g->pin_list[U8G_PI_A0_STATE] = 2; + //u8g_arduino_sw_spi_shift_out(u8g->pin_list[U8G_PI_MOSI], u8g->pin_list[U8G_PI_SCK], arg_val); + break; + + case U8G_COM_MSG_WRITE_SEQ: + u8g_com_arduino_st7920_write_byte_seq(u8g->pin_list[U8G_PI_A0_STATE], (uint8_t *)arg_ptr, arg_val); + break; + + case U8G_COM_MSG_WRITE_SEQ_P: + { + register uint8_t *ptr = arg_ptr; + while( arg_val > 0 ) + { + u8g_com_arduino_st7920_write_byte(u8g->pin_list[U8G_PI_A0_STATE], u8g_pgm_read(ptr) ); + //u8g->pin_list[U8G_PI_A0_STATE] = 2; + ptr++; + arg_val--; + } + } + break; + + case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ + u8g->pin_list[U8G_PI_A0_STATE] = arg_val; + break; + } + return 1; +} + +#else /* ARDUINO */ + +uint8_t u8g_com_arduino_st7920_custom_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) +{ + return 1; +} + +#endif /* ARDUINO */ + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_st7920_hw_spi.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_st7920_hw_spi.c new file mode 100644 index 000000000..af44c7f86 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_st7920_hw_spi.c @@ -0,0 +1,293 @@ +/* + + u8g_com_arduino_st7920_hw_spi.c + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + A special HW SPI interface for ST7920 controller + +*/ + +#include "u8g.h" + +#if defined(ARDUINO) + +#if ARDUINO < 100 +#include +#include "wiring_private.h" +#include "pins_arduino.h" + +#else +#include +#include "wiring_private.h" +#endif + +#if defined(__AVR__) +#define U8G_ARDUINO_ATMEGA_HW_SPI + +/* remove the definition for attiny */ +#if __AVR_ARCH__ == 2 +#undef U8G_ARDUINO_ATMEGA_HW_SPI +#endif +#if __AVR_ARCH__ == 25 +#undef U8G_ARDUINO_ATMEGA_HW_SPI +#endif + +#endif + + +#if defined(U8G_ARDUINO_ATMEGA_HW_SPI) + +#include +#include + + +#if ARDUINO < 100 + +/* fixed pins */ +#if defined(__AVR_ATmega644P__) || defined(__AVR_ATmega1284P__) // Sanguino.cc board +#define PIN_SCK 7 +#define PIN_MISO 6 +#define PIN_MOSI 5 +#define PIN_CS 4 +#else // Arduino Board +#define PIN_SCK 13 +#define PIN_MISO 12 +#define PIN_MOSI 11 +#define PIN_CS 10 +#endif // (__AVR_ATmega644P__) || defined(__AVR_ATmega1284P__) + +#else + +/* use Arduino pin definitions */ +#define PIN_SCK SCK +#define PIN_MISO MISO +#define PIN_MOSI MOSI +#define PIN_CS SS + +#endif + + +static uint8_t u8g_arduino_st7920_hw_spi_shift_out(u8g_t *u8g, uint8_t val) U8G_NOINLINE; +static uint8_t u8g_arduino_st7920_hw_spi_shift_out(u8g_t *u8g, uint8_t val) +{ + /* send data */ + SPDR = val; + /* wait for transmission */ + while (!(SPSR & (1< 0 ) + { + u8g_arduino_st7920_hw_spi_shift_out(u8g, *ptr & 0x0f0); + u8g_arduino_st7920_hw_spi_shift_out(u8g, *ptr << 4); + ptr++; + len--; + u8g_10MicroDelay(); + } + + for( i = 0; i < 4; i++ ) + u8g_10MicroDelay(); +} + +static void u8g_com_arduino_st7920_write_byte_hw_spi(u8g_t *u8g, uint8_t rs, uint8_t val) U8G_NOINLINE; +static void u8g_com_arduino_st7920_write_byte_hw_spi(u8g_t *u8g, uint8_t rs, uint8_t val) +{ + uint8_t i; + + if ( rs == 0 ) + { + /* command */ + u8g_arduino_st7920_hw_spi_shift_out(u8g, 0x0f8); + } + else if ( rs == 1 ) + { + /* data */ + u8g_arduino_st7920_hw_spi_shift_out(u8g, 0x0fa); + } + else + { + /* do nothing, keep same state */ + } + + u8g_arduino_st7920_hw_spi_shift_out(u8g, val & 0x0f0); + u8g_arduino_st7920_hw_spi_shift_out(u8g, val << 4); + + for( i = 0; i < 4; i++ ) + u8g_10MicroDelay(); +} + + +uint8_t u8g_com_arduino_st7920_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) +{ + switch(msg) + { + case U8G_COM_MSG_INIT: + u8g_com_arduino_assign_pin_output_high(u8g); + + + /* code from u8g_com-arduino_hw_spi.c */ + pinMode(PIN_SCK, OUTPUT); + digitalWrite(PIN_SCK, LOW); + pinMode(PIN_MOSI, OUTPUT); + digitalWrite(PIN_MOSI, LOW); + /* pinMode(PIN_MISO, INPUT); */ + + pinMode(PIN_CS, OUTPUT); /* system chip select for the atmega board */ + digitalWrite(PIN_CS, HIGH); + + + //u8g_com_arduino_digital_write(u8g, U8G_PI_CS, LOW); + +#ifdef OBSOLETE + DDRB |= _BV(3); /* D0, MOSI */ + DDRB |= _BV(5); /* SCK */ + DDRB |= _BV(2); /* slave select */ + + PORTB &= ~_BV(3); /* D0, MOSI = 0 */ + PORTB &= ~_BV(5); /* SCK = 0 */ +#endif + + /* + SPR1 SPR0 + 0 0 fclk/4 + 0 1 fclk/16 + 1 0 fclk/64 + 1 1 fclk/128 + */ + SPCR = 0; + + /* 20 Dez 2012: set CPOL and CPHA to 1 !!! */ + SPCR = (1<pin_list[U8G_PI_A0_STATE] = 0; /* inital RS state: command mode */ + break; + + case U8G_COM_MSG_STOP: + break; + + case U8G_COM_MSG_RESET: + if ( u8g->pin_list[U8G_PI_RESET] != U8G_PIN_NONE ) + u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val); + break; + + case U8G_COM_MSG_CHIP_SELECT: + if ( arg_val == 0 ) + { + /* disable, note: the st7920 has an active high chip select */ + u8g_com_arduino_digital_write(u8g, U8G_PI_CS, LOW); + } + else + { + /* enable */ + //u8g_com_arduino_digital_write(u8g, U8G_PI_SCK, LOW); + u8g_com_arduino_digital_write(u8g, U8G_PI_CS, HIGH); + } + break; + + case U8G_COM_MSG_WRITE_BYTE: + u8g_com_arduino_st7920_write_byte_hw_spi(u8g, u8g->pin_list[U8G_PI_A0_STATE], arg_val); + // u8g->pin_list[U8G_PI_A0_STATE] = 2; + //u8g_arduino_sw_spi_shift_out(u8g->pin_list[U8G_PI_MOSI], u8g->pin_list[U8G_PI_SCK], arg_val); + break; + + case U8G_COM_MSG_WRITE_SEQ: + u8g_com_arduino_st7920_write_byte_hw_spi_seq(u8g, u8g->pin_list[U8G_PI_A0_STATE], (uint8_t *)arg_ptr, arg_val); + /* + { + register uint8_t *ptr = arg_ptr; + while( arg_val > 0 ) + { + u8g_com_arduino_st7920_write_byte_hw_spi(u8g, u8g->pin_list[U8G_PI_A0_STATE], *ptr++); + arg_val--; + } + } + */ + + break; + + case U8G_COM_MSG_WRITE_SEQ_P: + { + register uint8_t *ptr = arg_ptr; + while( arg_val > 0 ) + { + u8g_com_arduino_st7920_write_byte_hw_spi(u8g, u8g->pin_list[U8G_PI_A0_STATE], u8g_pgm_read(ptr) ); + // u8g->pin_list[U8G_PI_A0_STATE] = 2; + ptr++; + arg_val--; + } + } + break; + + case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ + u8g->pin_list[U8G_PI_A0_STATE] = arg_val; + break; + } + return 1; +} + +#else + +uint8_t u8g_com_arduino_st7920_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) +{ + return 1; +} +#endif + +#else /* ARDUINO */ + +uint8_t u8g_com_arduino_st7920_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) +{ + return 1; +} + +#endif /* ARDUINO */ + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_st7920_spi.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_st7920_spi.c new file mode 100644 index 000000000..9a5c2bef3 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_st7920_spi.c @@ -0,0 +1,330 @@ +/* + + u8g_com_arduino_st7920_spi.c + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + A special SPI interface for ST7920 controller + + Update for ATOMIC operation done (01 Jun 2013) + U8G_ATOMIC_OR(ptr, val) + U8G_ATOMIC_AND(ptr, val) + U8G_ATOMIC_START(); + U8G_ATOMIC_END(); + + +*/ + +#include "u8g.h" + +#if defined(ARDUINO) + +#if ARDUINO < 100 +#include +#include "wiring_private.h" +#include "pins_arduino.h" + +#else +#include +#include "wiring_private.h" +#endif + +#if defined(__AVR__) + +static uint8_t u8g_bitData, u8g_bitNotData; +static uint8_t u8g_bitClock, u8g_bitNotClock; +static volatile uint8_t *u8g_outData; +static volatile uint8_t *u8g_outClock; + +static void u8g_com_arduino_init_shift_out(uint8_t dataPin, uint8_t clockPin) +{ + u8g_outData = portOutputRegister(digitalPinToPort(dataPin)); + u8g_outClock = portOutputRegister(digitalPinToPort(clockPin)); + u8g_bitData = digitalPinToBitMask(dataPin); + u8g_bitClock = digitalPinToBitMask(clockPin); + + u8g_bitNotClock = u8g_bitClock; + u8g_bitNotClock ^= 0x0ff; + + u8g_bitNotData = u8g_bitData; + u8g_bitNotData ^= 0x0ff; +} + +static void u8g_com_arduino_do_shift_out_msb_first(uint8_t val) U8G_NOINLINE; +static void u8g_com_arduino_do_shift_out_msb_first(uint8_t val) +{ + uint8_t cnt = 8; + uint8_t bitData = u8g_bitData; + uint8_t bitNotData = u8g_bitNotData; + uint8_t bitClock = u8g_bitClock; + uint8_t bitNotClock = u8g_bitNotClock; + volatile uint8_t *outData = u8g_outData; + volatile uint8_t *outClock = u8g_outClock; + + + U8G_ATOMIC_START(); + bitData |= *outData; + bitNotData &= *outData; + do + { + if ( val & 128 ) + *outData = bitData; + else + *outData = bitNotData; + + /* + *outClock |= bitClock; + val <<= 1; + cnt--; + *outClock &= bitNotClock; + */ + + val <<= 1; + *outClock &= bitNotClock; + cnt--; + // removed micro delays, because AVRs are too slow and the delay is not required + //u8g_MicroDelay(); + *outClock |= bitClock; + //u8g_MicroDelay(); + } while( cnt != 0 ); + U8G_ATOMIC_END(); +} + +#elif defined(__18CXX) || defined(__PIC32MX) + +uint16_t dog_bitData, dog_bitNotData; +uint16_t dog_bitClock, dog_bitNotClock; +volatile uint32_t *dog_outData; +volatile uint32_t *dog_outClock; +volatile uint32_t dog_pic32_spi_tmp; + +static void u8g_com_arduino_init_shift_out(uint8_t dataPin, uint8_t clockPin) +{ + dog_outData = portOutputRegister(digitalPinToPort(dataPin)); + dog_outClock = portOutputRegister(digitalPinToPort(clockPin)); + dog_bitData = digitalPinToBitMask(dataPin); + dog_bitClock = digitalPinToBitMask(clockPin); + + dog_bitNotClock = dog_bitClock; + dog_bitNotClock ^= 0x0ffff; + + dog_bitNotData = dog_bitData; + dog_bitNotData ^= 0x0ffff; +} + +static void u8g_com_arduino_do_shift_out_msb_first(uint8_t val) +{ + uint8_t cnt = 8; + U8G_ATOMIC_START(); + do + { + if ( val & 128 ) + *dog_outData |= dog_bitData; + else + *dog_outData &= dog_bitNotData; + val <<= 1; + //u8g_MicroDelay(); + //*dog_outClock |= dog_bitClock; + *dog_outClock &= dog_bitNotClock; + cnt--; + u8g_MicroDelay(); + //*dog_outClock &= dog_bitNotClock; + *dog_outClock |= dog_bitClock; + u8g_MicroDelay(); + + } while( cnt != 0 ); + U8G_ATOMIC_END(); +} + +#else + +/* default interface, Arduino DUE (__arm__) */ + +uint8_t u8g_data_pin; +uint8_t u8g_clock_pin; + +static void u8g_com_arduino_init_shift_out(uint8_t dataPin, uint8_t clockPin) +{ + u8g_data_pin = dataPin; + u8g_clock_pin = clockPin; +} + +static void u8g_com_arduino_do_shift_out_msb_first(uint8_t val) +{ + uint8_t cnt = 8; + do + { + if ( val & 128 ) + digitalWrite(u8g_data_pin, HIGH); + else + digitalWrite(u8g_data_pin, LOW); + val <<= 1; + //u8g_MicroDelay(); + digitalWrite(u8g_clock_pin, LOW); + cnt--; + u8g_MicroDelay(); + digitalWrite(u8g_clock_pin, HIGH); + u8g_MicroDelay(); + } while( cnt != 0 ); +} + +#endif + + +static void u8g_com_arduino_st7920_write_byte_seq(uint8_t rs, uint8_t *ptr, uint8_t len) +{ + uint8_t i; + + if ( rs == 0 ) + { + /* command */ + u8g_com_arduino_do_shift_out_msb_first(0x0f8); + } + else if ( rs == 1 ) + { + /* data */ + u8g_com_arduino_do_shift_out_msb_first(0x0fa); + } + + while( len > 0 ) + { + u8g_com_arduino_do_shift_out_msb_first(*ptr & 0x0f0); + u8g_com_arduino_do_shift_out_msb_first(*ptr << 4); + ptr++; + len--; + u8g_10MicroDelay(); + } + + for( i = 0; i < 4; i++ ) + u8g_10MicroDelay(); +} + +static void u8g_com_arduino_st7920_write_byte(uint8_t rs, uint8_t val) +{ + uint8_t i; + + if ( rs == 0 ) + { + /* command */ + u8g_com_arduino_do_shift_out_msb_first(0x0f8); + } + else if ( rs == 1 ) + { + /* data */ + u8g_com_arduino_do_shift_out_msb_first(0x0fa); + } + + u8g_com_arduino_do_shift_out_msb_first(val & 0x0f0); + u8g_com_arduino_do_shift_out_msb_first(val << 4); + + for( i = 0; i < 4; i++ ) + u8g_10MicroDelay(); + +} + + +uint8_t u8g_com_arduino_st7920_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) +{ + switch(msg) + { + case U8G_COM_MSG_INIT: + u8g_com_arduino_assign_pin_output_high(u8g); + u8g_com_arduino_digital_write(u8g, U8G_PI_CS, LOW); + // u8g_com_arduino_digital_write(u8g, U8G_PI_SCK, LOW); + u8g_com_arduino_digital_write(u8g, U8G_PI_SCK, HIGH); + u8g_com_arduino_digital_write(u8g, U8G_PI_MOSI, LOW); + u8g_com_arduino_init_shift_out(u8g->pin_list[U8G_PI_MOSI], u8g->pin_list[U8G_PI_SCK]); + u8g->pin_list[U8G_PI_A0_STATE] = 0; /* inital RS state: command mode */ + break; + + case U8G_COM_MSG_STOP: + break; + + case U8G_COM_MSG_RESET: + if ( u8g->pin_list[U8G_PI_RESET] != U8G_PIN_NONE ) + u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val); + break; + + case U8G_COM_MSG_CHIP_SELECT: + if ( arg_val == 0 ) + { + /* disable, note: the st7920 has an active high chip select */ + u8g_com_arduino_digital_write(u8g, U8G_PI_CS, LOW); + } + else + { + /* enable */ + //u8g_com_arduino_digital_write(u8g, U8G_PI_SCK, HIGH); + u8g_com_arduino_digital_write(u8g, U8G_PI_CS, HIGH); + /* 28 Dec 2013 reassign pins, fixes issue with more than one display */ + /* issue 227 */ + u8g_com_arduino_init_shift_out(u8g->pin_list[U8G_PI_MOSI], u8g->pin_list[U8G_PI_SCK]); + } + break; + + case U8G_COM_MSG_WRITE_BYTE: + u8g_com_arduino_st7920_write_byte( u8g->pin_list[U8G_PI_A0_STATE], arg_val); + //u8g->pin_list[U8G_PI_A0_STATE] = 2; + //u8g_arduino_sw_spi_shift_out(u8g->pin_list[U8G_PI_MOSI], u8g->pin_list[U8G_PI_SCK], arg_val); + break; + + case U8G_COM_MSG_WRITE_SEQ: + u8g_com_arduino_st7920_write_byte_seq(u8g->pin_list[U8G_PI_A0_STATE], (uint8_t *)arg_ptr, arg_val); + break; + + case U8G_COM_MSG_WRITE_SEQ_P: + { + register uint8_t *ptr = arg_ptr; + while( arg_val > 0 ) + { + u8g_com_arduino_st7920_write_byte(u8g->pin_list[U8G_PI_A0_STATE], u8g_pgm_read(ptr) ); + //u8g->pin_list[U8G_PI_A0_STATE] = 2; + ptr++; + arg_val--; + } + } + break; + + case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ + u8g->pin_list[U8G_PI_A0_STATE] = arg_val; + break; + } + return 1; +} + +#else /* ARDUINO */ + +uint8_t u8g_com_arduino_st7920_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) +{ + return 1; +} + +#endif /* ARDUINO */ + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_std_sw_spi.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_std_sw_spi.c new file mode 100644 index 000000000..048ac1af3 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_std_sw_spi.c @@ -0,0 +1,143 @@ +/* + + u8g_arduino_std_sw_spi.c + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +*/ + +#include "u8g.h" + + +#if defined(ARDUINO) + +#if ARDUINO < 100 +#include +#else +#include +#endif + +void u8g_arduino_sw_spi_shift_out(uint8_t dataPin, uint8_t clockPin, uint8_t val) +{ + uint8_t i = 8; + do + { + if ( val & 128 ) + digitalWrite(dataPin, HIGH); + else + digitalWrite(dataPin, LOW); + val <<= 1; + u8g_MicroDelay(); /* 23 Sep 2012 */ + //delay(1); + digitalWrite(clockPin, HIGH); + u8g_MicroDelay(); /* 23 Sep 2012 */ + //delay(1); + digitalWrite(clockPin, LOW); + u8g_MicroDelay(); /* 23 Sep 2012 */ + //delay(1); + i--; + } while( i != 0 ); +} + +uint8_t u8g_com_arduino_std_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) +{ + switch(msg) + { + case U8G_COM_MSG_INIT: + u8g_com_arduino_assign_pin_output_high(u8g); + u8g_com_arduino_digital_write(u8g, U8G_PI_SCK, LOW); + u8g_com_arduino_digital_write(u8g, U8G_PI_MOSI, LOW); + break; + + case U8G_COM_MSG_STOP: + break; + + case U8G_COM_MSG_RESET: + if ( u8g->pin_list[U8G_PI_RESET] != U8G_PIN_NONE ) + u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val); + break; + + case U8G_COM_MSG_CHIP_SELECT: + if ( arg_val == 0 ) + { + /* disable */ + u8g_com_arduino_digital_write(u8g, U8G_PI_CS, HIGH); + } + else + { + /* enable */ + u8g_com_arduino_digital_write(u8g, U8G_PI_SCK, LOW); + u8g_com_arduino_digital_write(u8g, U8G_PI_CS, LOW); + } + break; + + case U8G_COM_MSG_WRITE_BYTE: + u8g_arduino_sw_spi_shift_out(u8g->pin_list[U8G_PI_MOSI], u8g->pin_list[U8G_PI_SCK], arg_val); + break; + + case U8G_COM_MSG_WRITE_SEQ: + { + register uint8_t *ptr = arg_ptr; + while( arg_val > 0 ) + { + u8g_arduino_sw_spi_shift_out(u8g->pin_list[U8G_PI_MOSI], u8g->pin_list[U8G_PI_SCK], *ptr++); + arg_val--; + } + } + break; + + case U8G_COM_MSG_WRITE_SEQ_P: + { + register uint8_t *ptr = arg_ptr; + while( arg_val > 0 ) + { + u8g_arduino_sw_spi_shift_out(u8g->pin_list[U8G_PI_MOSI], u8g->pin_list[U8G_PI_SCK], u8g_pgm_read(ptr)); + ptr++; + arg_val--; + } + } + break; + + case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ + u8g_com_arduino_digital_write(u8g, U8G_PI_A0, arg_val); + break; + } + return 1; +} + +#else /* ARDUINO */ + +uint8_t u8g_com_arduino_std_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) +{ + return 1; +} + +#endif /* ARDUINO */ + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_sw_spi.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_sw_spi.c new file mode 100644 index 000000000..7752adc82 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_sw_spi.c @@ -0,0 +1,301 @@ +/* + + u8g_arduino_sw_spi.c + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + Update for ATOMIC operation done (01 Jun 2013) + U8G_ATOMIC_OR(ptr, val) + U8G_ATOMIC_AND(ptr, val) + U8G_ATOMIC_START(); + U8G_ATOMIC_END(); + + +*/ + +#include "u8g.h" + +#if defined(ARDUINO) + +#if ARDUINO < 100 +#include +#include "wiring_private.h" +#include "pins_arduino.h" + +#else +#include +#include "wiring_private.h" +#endif + +/*=========================================================*/ +/* Arduino, AVR */ + +#if defined(__AVR__) + +uint8_t u8g_bitData, u8g_bitNotData; +uint8_t u8g_bitClock, u8g_bitNotClock; +volatile uint8_t *u8g_outData; +volatile uint8_t *u8g_outClock; + +static void u8g_com_arduino_init_shift_out(uint8_t dataPin, uint8_t clockPin) +{ + u8g_outData = portOutputRegister(digitalPinToPort(dataPin)); + u8g_outClock = portOutputRegister(digitalPinToPort(clockPin)); + u8g_bitData = digitalPinToBitMask(dataPin); + u8g_bitClock = digitalPinToBitMask(clockPin); + + u8g_bitNotClock = u8g_bitClock; + u8g_bitNotClock ^= 0x0ff; + + u8g_bitNotData = u8g_bitData; + u8g_bitNotData ^= 0x0ff; +} + +static void u8g_com_arduino_do_shift_out_msb_first(uint8_t val) U8G_NOINLINE; +static void u8g_com_arduino_do_shift_out_msb_first(uint8_t val) +{ + uint8_t cnt = 8; + uint8_t bitData = u8g_bitData; + uint8_t bitNotData = u8g_bitNotData; + uint8_t bitClock = u8g_bitClock; + uint8_t bitNotClock = u8g_bitNotClock; + volatile uint8_t *outData = u8g_outData; + volatile uint8_t *outClock = u8g_outClock; + U8G_ATOMIC_START(); + do + { + if ( val & 128 ) + *outData |= bitData; + else + *outData &= bitNotData; + + *outClock |= bitClock; + val <<= 1; + cnt--; + *outClock &= bitNotClock; + } while( cnt != 0 ); + U8G_ATOMIC_END(); +} + +/*=========================================================*/ +/* Arduino, Chipkit */ +#elif defined(__18CXX) || defined(__PIC32MX) + +uint16_t dog_bitData, dog_bitNotData; +uint16_t dog_bitClock, dog_bitNotClock; +volatile uint32_t *dog_outData; +volatile uint32_t *dog_outClock; +volatile uint32_t dog_pic32_spi_tmp; + +static void u8g_com_arduino_init_shift_out(uint8_t dataPin, uint8_t clockPin) +{ + dog_outData = portOutputRegister(digitalPinToPort(dataPin)); + dog_outClock = portOutputRegister(digitalPinToPort(clockPin)); + dog_bitData = digitalPinToBitMask(dataPin); + dog_bitClock = digitalPinToBitMask(clockPin); + + dog_bitNotClock = dog_bitClock; + dog_bitNotClock ^= 0x0ffff; + + dog_bitNotData = dog_bitData; + dog_bitNotData ^= 0x0ffff; +} + +static void u8g_com_arduino_do_shift_out_msb_first(uint8_t val) +{ + uint8_t cnt = 8; + U8G_ATOMIC_START(); + do + { + if ( val & 128 ) + *dog_outData |= dog_bitData; + else + *dog_outData &= dog_bitNotData; + val <<= 1; + /* + There must be some delay here. However + fetching the adress dog_outClock is enough delay, so + do not place dog_outClock in a local variable. This will + break the procedure + */ + *dog_outClock |= dog_bitClock; + cnt--; + *dog_outClock &= dog_bitNotClock; + /* + little additional delay after clk pulse, done by 3x32bit reads + from I/O. Optimized for PIC32 with 80 MHz. + */ + dog_pic32_spi_tmp = *dog_outClock; + dog_pic32_spi_tmp = *dog_outClock; + dog_pic32_spi_tmp = *dog_outClock; + } while( cnt != 0 ); + U8G_ATOMIC_END(); +} + +/*=========================================================*/ +/* Arduino Due */ +#elif defined(__SAM3X8E__) + +/* Due */ + +void u8g_digital_write_sam_high(uint8_t pin) +{ + PIO_Set( g_APinDescription[pin].pPort, g_APinDescription[pin].ulPin) ; +} + +void u8g_digital_write_sam_low(uint8_t pin) +{ + PIO_Clear( g_APinDescription[pin].pPort, g_APinDescription[pin].ulPin) ; +} + +static uint8_t u8g_sam_data_pin; +static uint8_t u8g_sam_clock_pin; + +static void u8g_com_arduino_init_shift_out(uint8_t dataPin, uint8_t clockPin) +{ + u8g_sam_data_pin = dataPin; + u8g_sam_clock_pin = clockPin; +} + +static void u8g_com_arduino_do_shift_out_msb_first(uint8_t val) +{ + uint8_t i = 8; + do + { + if ( val & 128 ) + u8g_digital_write_sam_high(u8g_sam_data_pin); + else + u8g_digital_write_sam_low(u8g_sam_data_pin); + val <<= 1; + //u8g_MicroDelay(); + u8g_digital_write_sam_high(u8g_sam_clock_pin); + u8g_MicroDelay(); + u8g_digital_write_sam_low(u8g_sam_clock_pin); + u8g_MicroDelay(); + i--; + } while( i != 0 ); +} + + +#else +/* empty interface */ + +static void u8g_com_arduino_init_shift_out(uint8_t dataPin, uint8_t clockPin) +{ +} + +static void u8g_com_arduino_do_shift_out_msb_first(uint8_t val) +{ +} + +#endif + + +uint8_t u8g_com_arduino_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) +{ + switch(msg) + { + case U8G_COM_MSG_INIT: + u8g_com_arduino_assign_pin_output_high(u8g); + u8g_com_arduino_digital_write(u8g, U8G_PI_SCK, LOW); + u8g_com_arduino_digital_write(u8g, U8G_PI_MOSI, LOW); + u8g_com_arduino_init_shift_out(u8g->pin_list[U8G_PI_MOSI], u8g->pin_list[U8G_PI_SCK]); + break; + + case U8G_COM_MSG_STOP: + break; + + case U8G_COM_MSG_RESET: + if ( u8g->pin_list[U8G_PI_RESET] != U8G_PIN_NONE ) + u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val); + break; + + case U8G_COM_MSG_CHIP_SELECT: + if ( arg_val == 0 ) + { + /* disable */ + u8g_com_arduino_digital_write(u8g, U8G_PI_CS, HIGH); + } + else + { + /* enable */ + u8g_com_arduino_digital_write(u8g, U8G_PI_SCK, LOW); + u8g_com_arduino_digital_write(u8g, U8G_PI_CS, LOW); + /* issue 227 */ + u8g_com_arduino_init_shift_out(u8g->pin_list[U8G_PI_MOSI], u8g->pin_list[U8G_PI_SCK]); + } + break; + + case U8G_COM_MSG_WRITE_BYTE: + u8g_com_arduino_do_shift_out_msb_first( arg_val ); + //u8g_arduino_sw_spi_shift_out(u8g->pin_list[U8G_PI_MOSI], u8g->pin_list[U8G_PI_SCK], arg_val); + break; + + case U8G_COM_MSG_WRITE_SEQ: + { + register uint8_t *ptr = arg_ptr; + while( arg_val > 0 ) + { + u8g_com_arduino_do_shift_out_msb_first(*ptr++); + // u8g_arduino_sw_spi_shift_out(u8g->pin_list[U8G_PI_MOSI], u8g->pin_list[U8G_PI_SCK], *ptr++); + arg_val--; + } + } + break; + + case U8G_COM_MSG_WRITE_SEQ_P: + { + register uint8_t *ptr = arg_ptr; + while( arg_val > 0 ) + { + u8g_com_arduino_do_shift_out_msb_first( u8g_pgm_read(ptr) ); + //u8g_arduino_sw_spi_shift_out(u8g->pin_list[U8G_PI_MOSI], u8g->pin_list[U8G_PI_SCK], u8g_pgm_read(ptr)); + ptr++; + arg_val--; + } + } + break; + + case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ + u8g_com_arduino_digital_write(u8g, U8G_PI_A0, arg_val); + break; + } + return 1; +} + +#else /* ARDUINO */ + +uint8_t u8g_com_arduino_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) +{ + return 1; +} + +#endif /* ARDUINO */ + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_t6963.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_t6963.c new file mode 100644 index 000000000..50e5e93ac --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_t6963.c @@ -0,0 +1,403 @@ +/* + + u8g_com_arduino_t6963.c + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + PIN_D0 8 + PIN_D1 9 + PIN_D2 10 + PIN_D3 11 + PIN_D4 4 + PIN_D5 5 + PIN_D6 6 + PIN_D7 7 + + PIN_CS 14 + PIN_A0 15 + PIN_RESET 16 + PIN_WR 17 + PIN_RD 18 + + u8g_InitRW8Bit(u8g, dev, d0, d1, d2, d3, d4, d5, d6, d7, cs, a0, wr, rd, reset) + u8g_InitRW8Bit(u8g, dev, 8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16) + + Update for ATOMIC operation done (01 Jun 2013) + U8G_ATOMIC_OR(ptr, val) + U8G_ATOMIC_AND(ptr, val) + U8G_ATOMIC_START(); + U8G_ATOMIC_END(); + + +*/ + +#include "u8g.h" + +#if defined(ARDUINO) + +#if ARDUINO < 100 +//#include +#include +#include +#else +#include +#endif + + +#if defined(__PIC32MX) +/* CHIPKIT PIC32 */ +static volatile uint32_t *u8g_output_data_port[8]; +static volatile uint32_t *u8g_input_data_port[8]; +static volatile uint32_t *u8g_mode_port[8]; +static uint32_t u8g_data_mask[8]; +#else +static volatile uint8_t *u8g_output_data_port[8]; +static volatile uint8_t *u8g_input_data_port[8]; +static volatile uint8_t *u8g_mode_port[8]; +static uint8_t u8g_data_mask[8]; +#endif + + + +static void u8g_com_arduino_t6963_init(u8g_t *u8g) +{ + u8g_output_data_port[0] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D0])); + u8g_input_data_port[0] = portInputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D0])); + u8g_mode_port[0] = portModeRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D0])); + u8g_data_mask[0] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D0]); + + u8g_output_data_port[1] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D1])); + u8g_input_data_port[1] = portInputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D1])); + u8g_mode_port[1] = portModeRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D1])); + u8g_data_mask[1] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D1]); + + u8g_output_data_port[2] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D2])); + u8g_input_data_port[2] = portInputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D2])); + u8g_mode_port[2] = portModeRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D2])); + u8g_data_mask[2] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D2]); + + u8g_output_data_port[3] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D3])); + u8g_input_data_port[3] = portInputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D3])); + u8g_mode_port[3] = portModeRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D3])); + u8g_data_mask[3] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D3]); + + u8g_output_data_port[4] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D4])); + u8g_input_data_port[4] = portInputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D4])); + u8g_mode_port[4] = portModeRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D4])); + u8g_data_mask[4] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D4]); + + u8g_output_data_port[5] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D5])); + u8g_input_data_port[5] = portInputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D5])); + u8g_mode_port[5] = portModeRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D5])); + u8g_data_mask[5] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D5]); + + u8g_output_data_port[6] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D6])); + u8g_input_data_port[6] = portInputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D6])); + u8g_mode_port[6] = portModeRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D6])); + u8g_data_mask[6] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D6]); + + u8g_output_data_port[7] = portOutputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D7])); + u8g_input_data_port[7] = portInputRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D7])); + u8g_mode_port[7] = portModeRegister(digitalPinToPort(u8g->pin_list[U8G_PI_D7])); + u8g_data_mask[7] = digitalPinToBitMask(u8g->pin_list[U8G_PI_D7]); +} + + +static void u8g_com_arduino_t6963_write_data_pin(uint8_t pin, uint8_t val) +{ + /* no ATOMIC protection required here, this is done by calling procedure */ + if ( val != 0 ) + *u8g_output_data_port[pin] |= u8g_data_mask[pin]; + else + *u8g_output_data_port[pin] &= ~u8g_data_mask[pin]; +} + +static void u8g_com_arduino_t6963_set_port_output(void) +{ + uint8_t i; + U8G_ATOMIC_START(); + for( i = 0; i < 8; i++ ) + { +#if defined(__PIC32MX) +/* CHIPKIT PIC32 */ + *u8g_mode_port[i] |= u8g_data_mask[i]; +#elif defined(__AVR__) + *u8g_mode_port[i] |= u8g_data_mask[i]; +#else + /* TODO: use generic Arduino API */ + *u8g_mode_port[i] |= u8g_data_mask[i]; +#endif + + } + U8G_ATOMIC_END(); +} + +static void u8g_com_arduino_t6963_set_port_input(void) +{ + uint8_t i; + U8G_ATOMIC_START(); + for( i = 0; i < 8; i++ ) + { +#if defined(__PIC32MX) +/* CHIPKIT PIC32 */ + *u8g_mode_port[i] &= ~u8g_data_mask[i]; +#elif defined(__AVR__) +/* avr */ + *u8g_mode_port[i] &= ~u8g_data_mask[i]; + *u8g_output_data_port[i] &= ~u8g_data_mask[i]; // no pullup +#else + /* TODO: use generic Arduino API */ + *u8g_mode_port[i] &= ~u8g_data_mask[i]; + *u8g_output_data_port[i] &= ~u8g_data_mask[i]; // no pullup +#endif + } + U8G_ATOMIC_END(); +} + + +static void u8g_com_arduino_t6963_write(u8g_t *u8g, uint8_t val) +{ + U8G_ATOMIC_START(); + + u8g_com_arduino_t6963_write_data_pin( 0, val&1 ); + val >>= 1; + u8g_com_arduino_t6963_write_data_pin( 1, val&1 ); + val >>= 1; + u8g_com_arduino_t6963_write_data_pin( 2, val&1 ); + val >>= 1; + u8g_com_arduino_t6963_write_data_pin( 3, val&1 ); + val >>= 1; + + u8g_com_arduino_t6963_write_data_pin( 4, val&1 ); + val >>= 1; + u8g_com_arduino_t6963_write_data_pin( 5, val&1 ); + val >>= 1; + u8g_com_arduino_t6963_write_data_pin( 6, val&1 ); + val >>= 1; + u8g_com_arduino_t6963_write_data_pin( 7, val&1 ); + val >>= 1; + U8G_ATOMIC_END(); + + u8g_com_arduino_digital_write(u8g, U8G_PI_WR, 0); + u8g_MicroDelay(); /* 80ns, reference: t6963 datasheet */ + u8g_com_arduino_digital_write(u8g, U8G_PI_WR, 1); + u8g_MicroDelay(); /* 10ns, reference: t6963 datasheet */ +} + +static uint8_t u8g_com_arduino_t6963_read(u8g_t *u8g) +{ + uint8_t val = 0; + + u8g_com_arduino_digital_write(u8g, U8G_PI_RD, 0); + u8g_MicroDelay(); /* 150ns, reference: t6963 datasheet */ + + U8G_ATOMIC_START(); + /* only read bits 0, 1 and 3 */ + if ( (*u8g_input_data_port[3] & u8g_data_mask[3]) != 0 ) + val++; + val <<= 1; + val <<= 1; + if ( (*u8g_input_data_port[1] & u8g_data_mask[1]) != 0 ) + val++; + val <<= 1; + if ( (*u8g_input_data_port[0] & u8g_data_mask[0]) != 0 ) + val++; + U8G_ATOMIC_END(); + + u8g_com_arduino_digital_write(u8g, U8G_PI_RD, 1); + u8g_MicroDelay(); /* 10ns, reference: t6963 datasheet */ + + return val; +} + +#define U8G_STATUS_TIMEOUT 50 + +static uint8_t u8g_com_arduino_t6963_until_01_ok(u8g_t *u8g) +{ + long x; + + u8g_com_arduino_t6963_set_port_input(); + x = millis(); + x += U8G_STATUS_TIMEOUT; + + for(;;) + { + if ( (u8g_com_arduino_t6963_read(u8g) & 3) == 3 ) + break; + if ( x < millis() ) + return 0; + } + u8g_com_arduino_t6963_set_port_output(); + return 1; +} + +static uint8_t u8g_com_arduino_t6963_until_3_ok(u8g_t *u8g) +{ + long x; + + u8g_com_arduino_t6963_set_port_input(); + x = millis(); + x += U8G_STATUS_TIMEOUT; + + for(;;) + { + if ( (u8g_com_arduino_t6963_read(u8g) & 8) == 8 ) + break; + if ( x < millis() ) + return 0; + } + u8g_com_arduino_t6963_set_port_output(); + return 1; +} + +static uint8_t u8g_com_arduino_t6963_write_cmd(u8g_t *u8g, uint8_t val) +{ + u8g_com_arduino_digital_write(u8g, U8G_PI_A0, 1); + if ( u8g_com_arduino_t6963_until_01_ok(u8g) == 0 ) + return 0; + u8g_com_arduino_digital_write(u8g, U8G_PI_A0, 1); + u8g_com_arduino_t6963_write(u8g, val); + return 1; +} + +static uint8_t u8g_com_arduino_t6963_write_data(u8g_t *u8g, uint8_t val) +{ + u8g_com_arduino_digital_write(u8g, U8G_PI_A0, 1); + if ( u8g_com_arduino_t6963_until_01_ok(u8g) == 0 ) + return 0; + u8g_com_arduino_digital_write(u8g, U8G_PI_A0, 0); + u8g_com_arduino_t6963_write(u8g, val); + return 1; +} + +static uint8_t u8g_com_arduino_t6963_write_auto_data(u8g_t *u8g, uint8_t val) +{ + u8g_com_arduino_digital_write(u8g, U8G_PI_A0, 1); + if ( u8g_com_arduino_t6963_until_3_ok(u8g) == 0 ) + return 0; + u8g_com_arduino_digital_write(u8g, U8G_PI_A0, 0); + u8g_com_arduino_t6963_write(u8g, val); + return 1; +} + + +uint8_t u8g_com_arduino_t6963_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) +{ + switch(msg) + { + case U8G_COM_MSG_INIT: + u8g->pin_list[U8G_PI_A0_STATE] = 0; + u8g_com_arduino_t6963_init(u8g); + /* setup the RW (equal to WR) pin as output and force it to high */ + if ( u8g->pin_list[U8G_PI_WR] != U8G_PIN_NONE ) + { + pinMode(u8g->pin_list[U8G_PI_WR], OUTPUT); + u8g_com_arduino_digital_write(u8g, U8G_PI_WR, HIGH); + } + /* set all pins (except WR pin) */ + u8g_com_arduino_assign_pin_output_high(u8g); + break; + case U8G_COM_MSG_STOP: + break; + + case U8G_COM_MSG_CHIP_SELECT: + if ( arg_val == 0 ) + { + /* disable, active low chip select */ + u8g_com_arduino_digital_write(u8g, U8G_PI_CS, HIGH); + } + else + { + /* enable */ + u8g_com_arduino_digital_write(u8g, U8G_PI_CS, LOW); + } + break; + case U8G_COM_MSG_WRITE_BYTE: + if ( u8g->pin_list[U8G_PI_A0_STATE] == 0 ) + { + u8g_com_arduino_t6963_write_data(u8g, arg_val); + } + else + { + u8g_com_arduino_t6963_write_cmd(u8g, arg_val); + } + break; + case U8G_COM_MSG_WRITE_SEQ: + { + register uint8_t *ptr = arg_ptr; + u8g_com_arduino_t6963_write_cmd(u8g, 0x0b0); /* auto write */ + while( arg_val > 0 ) + { + if ( u8g_com_arduino_t6963_write_auto_data(u8g, *ptr++) == 0 ) + break; + arg_val--; + } + u8g_com_arduino_t6963_write_cmd(u8g, 0x0b2); /* auto reset */ + } + break; + case U8G_COM_MSG_WRITE_SEQ_P: + { + register uint8_t *ptr = arg_ptr; + u8g_com_arduino_t6963_write_cmd(u8g, 0x0b0); /* auto write */ + while( arg_val > 0 ) + { + if ( u8g_com_arduino_t6963_write_auto_data(u8g, u8g_pgm_read(ptr)) == 0 ) + break; + ptr++; + arg_val--; + } + u8g_com_arduino_t6963_write_cmd(u8g, 0x0b2); /* auto reset */ + } + break; + case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 1) or data mode (arg_val = 0) */ + u8g->pin_list[U8G_PI_A0_STATE] = arg_val; + //u8g_com_arduino_digital_write(u8g, U8G_PI_DI, arg_val); + break; + case U8G_COM_MSG_RESET: + if ( u8g->pin_list[U8G_PI_RESET] != U8G_PIN_NONE ) + u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val); + break; + + } + return 1; +} + +#else + + +uint8_t u8g_com_arduino_t6963_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) +{ + return 1; +} + + +#endif /* ARDUINO */ + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_uc_i2c.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_uc_i2c.c new file mode 100644 index 000000000..263766818 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_arduino_uc_i2c.c @@ -0,0 +1,206 @@ +/* + + u8g_com_arduino_uc_i2c.c + + com interface for arduino (AND atmega) and the SSDxxxx chip (SOLOMON) variant + I2C protocol + + ToDo: Rename this to u8g_com_avr_ssd_i2c.c + + Universal 8bit Graphics Library + + Copyright (c) 2012, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + Special pin usage: + U8G_PI_I2C_OPTION additional options + U8G_PI_A0_STATE used to store the last value of the command/data register selection + U8G_PI_SET_A0 1: Signal request to update I2C device with new A0_STATE, 0: Do nothing, A0_STATE matches I2C device + U8G_PI_SCL clock line (NOT USED) + U8G_PI_SDA data line (NOT USED) + + U8G_PI_RESET reset line (currently disabled, see below) + + Protocol: + SLA, Cmd/Data Selection, Arguments + The command/data register is selected by a special instruction byte, which is sent after SLA + + The continue bit is always 0 so that a (re)start is equired for the change from cmd to/data mode +*/ + +#include "u8g.h" + +#if defined(U8G_WITH_PINLIST) + +#define DOGM240_SLA_CMD (0x38*2) +#define DOGM240_SLA_DATA (0x39*2) + +uint8_t u8g_com_arduino_uc_start_sequence(u8g_t *u8g) +{ + /* are we requested to set the a0 state? */ + if ( u8g->pin_list[U8G_PI_SET_A0] == 0 ) + return 1; + + if ( u8g->pin_list[U8G_PI_A0_STATE] == 0 ) + { + if ( u8g_i2c_start(DOGM240_SLA_CMD) == 0 ) + return 0; + } + else + { + if ( u8g_i2c_start(DOGM240_SLA_DATA) == 0 ) + return 0; + } + + u8g->pin_list[U8G_PI_SET_A0] = 0; + return 1; +} + +uint8_t u8g_com_arduino_uc_i2c_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) +{ + switch(msg) + { + case U8G_COM_MSG_INIT: + //u8g_com_arduino_digital_write(u8g, U8G_PI_SCL, HIGH); + //u8g_com_arduino_digital_write(u8g, U8G_PI_SDA, HIGH); + //u8g->pin_list[U8G_PI_A0_STATE] = 0; /* inital RS state: unknown mode */ + + u8g_i2c_init(u8g->pin_list[U8G_PI_I2C_OPTION]); + + break; + + case U8G_COM_MSG_STOP: + break; + + case U8G_COM_MSG_RESET: + /* Currently disabled, but it could be enable. Previous restrictions have been removed */ + /* u8g_com_arduino_digital_write(u8g, U8G_PI_RESET, arg_val); */ + break; + + case U8G_COM_MSG_CHIP_SELECT: + u8g->pin_list[U8G_PI_A0_STATE] = 0; + u8g->pin_list[U8G_PI_SET_A0] = 1; /* force a0 to set again, also forces start condition */ + if ( arg_val == 0 ) + { + /* disable chip, send stop condition */ + u8g_i2c_stop(); + } + else + { + /* enable, do nothing: any byte writing will trigger the i2c start */ + } + break; + + case U8G_COM_MSG_WRITE_BYTE: + //u8g->pin_list[U8G_PI_SET_A0] = 1; + if ( u8g_com_arduino_uc_start_sequence(u8g) == 0 ) + return u8g_i2c_stop(), 0; + if ( u8g_i2c_send_byte(arg_val) == 0 ) + return u8g_i2c_stop(), 0; + // u8g_i2c_stop(); + break; + + case U8G_COM_MSG_WRITE_SEQ: + //u8g->pin_list[U8G_PI_SET_A0] = 1; + if ( u8g_com_arduino_uc_start_sequence(u8g) == 0 ) + return u8g_i2c_stop(), 0; + { + register uint8_t *ptr = arg_ptr; + while( arg_val > 0 ) + { + if ( u8g_i2c_send_byte(*ptr++) == 0 ) + return u8g_i2c_stop(), 0; + arg_val--; + } + } + // u8g_i2c_stop(); + break; + + case U8G_COM_MSG_WRITE_SEQ_P: + //u8g->pin_list[U8G_PI_SET_A0] = 1; + if ( u8g_com_arduino_uc_start_sequence(u8g) == 0 ) + return u8g_i2c_stop(), 0; + { + register uint8_t *ptr = arg_ptr; + while( arg_val > 0 ) + { + if ( u8g_i2c_send_byte(u8g_pgm_read(ptr)) == 0 ) + return 0; + ptr++; + arg_val--; + } + } + // u8g_i2c_stop(); + break; + + case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ + u8g->pin_list[U8G_PI_A0_STATE] = arg_val; + u8g->pin_list[U8G_PI_SET_A0] = 1; /* force a0 to set again */ + +#ifdef OLD_CODE + if ( i2c_state != 0 ) + { + u8g_i2c_stop(); + i2c_state = 0; + } + + if ( u8g_com_arduino_uc_start_sequence(arg_val) == 0 ) + return 0; + + /* setup bus, might be a repeated start */ + /* + if ( u8g_i2c_start(I2C_SLA) == 0 ) + return 0; + if ( arg_val == 0 ) + { + i2c_state = 1; + + if ( u8g_i2c_send_byte(I2C_CMD_MODE) == 0 ) + return 0; + } + else + { + i2c_state = 2; + if ( u8g_i2c_send_byte(I2C_DATA_MODE) == 0 ) + return 0; + } + */ +#endif + break; + } + return 1; +} + +#else /* defined(U8G_WITH_PINLIST) */ + +uint8_t u8g_com_arduino_uc_i2c_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) +{ + return 1; +} + +#endif /* defined(U8G_WITH_PINLIST) */ + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_atmega_hw_spi.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_atmega_hw_spi.c new file mode 100644 index 000000000..ca2a0630a --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_atmega_hw_spi.c @@ -0,0 +1,188 @@ +/* + + u8g_com_atmega_hw_spi.c + + Universal 8bit Graphics Library + + Copyright (c) 2012, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + Assumes, that + MOSI is at PORTB, Pin 3 + and + SCK is at PORTB, Pin 5 + + Update for ATOMIC operation done (01 Jun 2013) + U8G_ATOMIC_OR(ptr, val) + U8G_ATOMIC_AND(ptr, val) + U8G_ATOMIC_START() + U8G_ATOMIC_END() + + + +*/ + +#include "u8g.h" + +#if defined(__AVR_XMEGA__) +#elif defined(__AVR__) +#define U8G_ATMEGA_HW_SPI + +/* remove the definition for attiny */ +#if __AVR_ARCH__ == 2 +#undef U8G_ATMEGA_HW_SPI +#endif +#if __AVR_ARCH__ == 25 +#undef U8G_ATMEGA_HW_SPI +#endif +#endif + + +#if defined(U8G_ATMEGA_HW_SPI) + +#include +#include + + +static uint8_t u8g_atmega_spi_out(uint8_t data) +{ + /* unsigned char x = 100; */ + /* send data */ + SPDR = data; + /* wait for transmission */ + while (!(SPSR & (1< 0 ) + { + u8g_atmega_spi_out(*ptr++); + arg_val--; + } + } + break; + case U8G_COM_MSG_WRITE_SEQ_P: + { + register uint8_t *ptr = arg_ptr; + while( arg_val > 0 ) + { + u8g_atmega_spi_out(u8g_pgm_read(ptr)); + ptr++; + arg_val--; + } + } + break; + } + return 1; +} + +#else + +uint8_t u8g_com_atmega_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) +{ + return 1; +} + +#endif + + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_atmega_parallel.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_atmega_parallel.c new file mode 100644 index 000000000..2b49b04fd --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_atmega_parallel.c @@ -0,0 +1,183 @@ +/* + + u8g_com_atmega_parallel.c + + Universal 8bit Graphics Library + + Copyright (c) 2012, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + PIN_D0 8 + PIN_D1 9 + PIN_D2 10 + PIN_D3 11 + PIN_D4 4 + PIN_D5 5 + PIN_D6 6 + PIN_D7 7 + + PIN_CS1 14 + PIN_CS2 15 + PIN_RW 16 + PIN_DI 17 + PIN_EN 18 + + u8g_Init8Bit(u8g, dev, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, cs2, di, rw, reset) + u8g_Init8Bit(u8g, dev, 8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16, U8G_PIN_NONE) + +*/ + +#include "u8g.h" + +#if defined(__AVR__) + +static void u8g_com_atmega_parallel_write(u8g_t *u8g, uint8_t val) U8G_NOINLINE; +static void u8g_com_atmega_parallel_write(u8g_t *u8g, uint8_t val) +{ + + u8g_SetPILevel(u8g, U8G_PI_D0, val&1); + val >>= 1; + u8g_SetPILevel(u8g, U8G_PI_D1, val&1); + val >>= 1; + u8g_SetPILevel(u8g, U8G_PI_D2, val&1); + val >>= 1; + u8g_SetPILevel(u8g, U8G_PI_D3, val&1); + val >>= 1; + u8g_SetPILevel(u8g, U8G_PI_D4, val&1); + val >>= 1; + u8g_SetPILevel(u8g, U8G_PI_D5, val&1); + val >>= 1; + u8g_SetPILevel(u8g, U8G_PI_D6, val&1); + val >>= 1; + u8g_SetPILevel(u8g, U8G_PI_D7, val&1); + + /* EN cycle time must be 1 micro second */ + u8g_SetPILevel(u8g, U8G_PI_EN, 1); + u8g_MicroDelay(); /* delay by 1000ns, reference: ST7920: 140ns, SBN1661: 100ns */ + u8g_SetPILevel(u8g, U8G_PI_EN, 0); + u8g_10MicroDelay(); /* ST7920 commands: 72us */ + u8g_10MicroDelay(); /* ST7920 commands: 72us */ +} + + +uint8_t u8g_com_atmega_parallel_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) +{ + switch(msg) + { + case U8G_COM_MSG_INIT: + /* setup the RW pin as output and force it to low */ + u8g_SetPIOutput(u8g, U8G_PI_RW); + u8g_SetPILevel(u8g, U8G_PI_RW, 0); + + u8g_SetPIOutput(u8g, U8G_PI_D0); + u8g_SetPIOutput(u8g, U8G_PI_D1); + u8g_SetPIOutput(u8g, U8G_PI_D2); + u8g_SetPIOutput(u8g, U8G_PI_D3); + u8g_SetPIOutput(u8g, U8G_PI_D4); + u8g_SetPIOutput(u8g, U8G_PI_D5); + u8g_SetPIOutput(u8g, U8G_PI_D6); + u8g_SetPIOutput(u8g, U8G_PI_D7); + u8g_SetPIOutput(u8g, U8G_PI_EN); + u8g_SetPIOutput(u8g, U8G_PI_CS1); + u8g_SetPIOutput(u8g, U8G_PI_CS2); + u8g_SetPIOutput(u8g, U8G_PI_DI); + u8g_SetPILevel(u8g, U8G_PI_CS1, 1); + u8g_SetPILevel(u8g, U8G_PI_CS2, 1); + + break; + case U8G_COM_MSG_STOP: + break; + case U8G_COM_MSG_CHIP_SELECT: + if ( arg_val == 0 ) + { + /* disable */ + u8g_SetPILevel(u8g, U8G_PI_CS1, 1); + u8g_SetPILevel(u8g, U8G_PI_CS2, 1); + } + else if ( arg_val == 1 ) + { + /* enable */ + u8g_SetPILevel(u8g, U8G_PI_CS1, 0); + u8g_SetPILevel(u8g, U8G_PI_CS2, 1); + } + else if ( arg_val == 2 ) + { + /* enable */ + u8g_SetPILevel(u8g, U8G_PI_CS1, 1); + u8g_SetPILevel(u8g, U8G_PI_CS2, 0); + } + else + { + /* enable */ + u8g_SetPILevel(u8g, U8G_PI_CS1, 0); + u8g_SetPILevel(u8g, U8G_PI_CS2, 0); + } + break; + case U8G_COM_MSG_WRITE_BYTE: + u8g_com_atmega_parallel_write(u8g, arg_val); + break; + case U8G_COM_MSG_WRITE_SEQ: + { + register uint8_t *ptr = arg_ptr; + while( arg_val > 0 ) + { + u8g_com_atmega_parallel_write(u8g, *ptr++); + arg_val--; + } + } + break; + case U8G_COM_MSG_WRITE_SEQ_P: + { + register uint8_t *ptr = arg_ptr; + while( arg_val > 0 ) + { + u8g_com_atmega_parallel_write(u8g, u8g_pgm_read(ptr)); + ptr++; + arg_val--; + } + } + break; + case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ + u8g_SetPILevel(u8g, U8G_PI_DI, arg_val); + break; + case U8G_COM_MSG_RESET: + u8g_SetPILevel(u8g, U8G_PI_RESET, arg_val); + break; + } + return 1; +} + +#else + +uint8_t u8g_com_atmega_parallel_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) +{ + return 1; +} + +#endif /* ARDUINO */ + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_atmega_st7920_hw_spi.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_atmega_st7920_hw_spi.c new file mode 100644 index 000000000..578579275 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_atmega_st7920_hw_spi.c @@ -0,0 +1,217 @@ +/* + + u8g_com_atmega_st7920_hw_spi.c + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + A special SPI interface for ST7920 controller with HW SPI Support + + Assumes, that + MOSI is at PORTB, Pin 3 + and + SCK is at PORTB, Pin 5 + + Update for ATOMIC operation done (01 Jun 2013) + U8G_ATOMIC_OR(ptr, val) + U8G_ATOMIC_AND(ptr, val) + U8G_ATOMIC_START() + U8G_ATOMIC_END() + + +*/ + +#include "u8g.h" + +#if defined(__AVR_XMEGA__) +#elif defined(__AVR__) +#define U8G_ATMEGA_HW_SPI + +/* remove the definition for attiny */ +#if __AVR_ARCH__ == 2 +#undef U8G_ATMEGA_HW_SPI +#endif +#if __AVR_ARCH__ == 25 +#undef U8G_ATMEGA_HW_SPI +#endif + +#endif + +#if defined(U8G_ATMEGA_HW_SPI) + +#include +#include + +static uint8_t u8g_atmega_st7920_hw_spi_shift_out(u8g_t *u8g, uint8_t val) U8G_NOINLINE; +static uint8_t u8g_atmega_st7920_hw_spi_shift_out(u8g_t *u8g, uint8_t val) +{ + /* send data */ + SPDR = val; + /* wait for transmission */ + while (!(SPSR & (1<pin_list[U8G_PI_A0_STATE] = 0; /* inital RS state: command mode */ + break; + + case U8G_COM_MSG_STOP: + break; + + case U8G_COM_MSG_RESET: + u8g_SetPILevel(u8g, U8G_PI_RESET, arg_val); + break; + + case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ + u8g->pin_list[U8G_PI_A0_STATE] = arg_val; + break; + + case U8G_COM_MSG_CHIP_SELECT: + if ( arg_val == 0 ) + { + /* disable, note: the st7920 has an active high chip select */ + u8g_SetPILevel(u8g, U8G_PI_CS, 0); + } + else + { + /* u8g_SetPILevel(u8g, U8G_PI_SCK, 0 ); */ + /* enable */ + u8g_SetPILevel(u8g, U8G_PI_CS, 1); /* CS = 1 (high active) */ + } + break; + + + case U8G_COM_MSG_WRITE_BYTE: + u8g_com_atmega_st7920_write_byte_hw_spi(u8g, u8g->pin_list[U8G_PI_A0_STATE], arg_val); + //u8g->pin_list[U8G_PI_A0_STATE] = 2; + break; + + case U8G_COM_MSG_WRITE_SEQ: + { + register uint8_t *ptr = arg_ptr; + while( arg_val > 0 ) + { + u8g_com_atmega_st7920_write_byte_hw_spi(u8g, u8g->pin_list[U8G_PI_A0_STATE], *ptr++); + //u8g->pin_list[U8G_PI_A0_STATE] = 2; + arg_val--; + } + } + break; + + case U8G_COM_MSG_WRITE_SEQ_P: + { + register uint8_t *ptr = arg_ptr; + while( arg_val > 0 ) + { + u8g_com_atmega_st7920_write_byte_hw_spi(u8g, u8g->pin_list[U8G_PI_A0_STATE], u8g_pgm_read(ptr)); + //u8g->pin_list[U8G_PI_A0_STATE] = 2; + ptr++; + arg_val--; + } + } + break; + } + return 1; +} + +#else + + +uint8_t u8g_com_atmega_st7920_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) +{ + return 1; +} + + +#endif + + \ No newline at end of file diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_atmega_st7920_spi.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_atmega_st7920_spi.c new file mode 100644 index 000000000..24e06028a --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_atmega_st7920_spi.c @@ -0,0 +1,170 @@ +/* + + u8g_com_atmega_st7920_spi.c + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + A special SPI interface for ST7920 controller + +*/ + +#include "u8g.h" + +#if defined(__AVR__) + +static void u8g_atmega_st7920_sw_spi_shift_out(u8g_t *u8g, uint8_t val) U8G_NOINLINE; +static void u8g_atmega_st7920_sw_spi_shift_out(u8g_t *u8g, uint8_t val) +{ + uint8_t i = 8; + do + { + u8g_SetPILevel(u8g, U8G_PI_MOSI, val & 128 ); + val <<= 1; + u8g_SetPILevel(u8g, U8G_PI_SCK, 1 ); + u8g_MicroDelay(); /* 15 Aug 2012: added for high speed uC */ + u8g_SetPILevel(u8g, U8G_PI_SCK, 0 ); + u8g_MicroDelay(); /* 15 Aug 2012: added for high speed uC */ + i--; + } while( i != 0 ); +} + +static void u8g_com_atmega_st7920_write_byte(u8g_t *u8g, uint8_t rs, uint8_t val) U8G_NOINLINE; +static void u8g_com_atmega_st7920_write_byte(u8g_t *u8g, uint8_t rs, uint8_t val) +{ + uint8_t i; + + if ( rs == 0 ) + { + /* command */ + u8g_atmega_st7920_sw_spi_shift_out(u8g, 0x0f8); + } + else if ( rs == 1 ) + { + /* data */ + u8g_atmega_st7920_sw_spi_shift_out(u8g, 0x0fa); + } + + u8g_atmega_st7920_sw_spi_shift_out(u8g, val & 0x0f0); + u8g_atmega_st7920_sw_spi_shift_out(u8g, val << 4); + + for( i = 0; i < 4; i++ ) + u8g_10MicroDelay(); +} + + +uint8_t u8g_com_atmega_st7920_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) +{ + switch(msg) + { + case U8G_COM_MSG_INIT: + u8g_SetPIOutput(u8g, U8G_PI_SCK); + u8g_SetPIOutput(u8g, U8G_PI_MOSI); + /* u8g_SetPIOutput(u8g, U8G_PI_A0); */ + u8g_SetPIOutput(u8g, U8G_PI_CS); + u8g_SetPIOutput(u8g, U8G_PI_RESET); + + u8g_SetPILevel(u8g, U8G_PI_SCK, 0 ); + u8g_SetPILevel(u8g, U8G_PI_MOSI, 0 ); + u8g_SetPILevel(u8g, U8G_PI_CS, 0 ); + /* u8g_SetPILevel(u8g, U8G_PI_A0, 0); */ + + u8g->pin_list[U8G_PI_A0_STATE] = 0; /* inital RS state: command mode */ + break; + + case U8G_COM_MSG_STOP: + break; + + case U8G_COM_MSG_RESET: + u8g_SetPILevel(u8g, U8G_PI_RESET, arg_val); + break; + + case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ + u8g->pin_list[U8G_PI_A0_STATE] = arg_val; + break; + + case U8G_COM_MSG_CHIP_SELECT: + if ( arg_val == 0 ) + { + /* disable, note: the st7920 has an active high chip select */ + u8g_SetPILevel(u8g, U8G_PI_CS, 0); + } + else + { + /* u8g_SetPILevel(u8g, U8G_PI_SCK, 0 ); */ + /* enable */ + u8g_SetPILevel(u8g, U8G_PI_CS, 1); /* CS = 1 (high active) */ + } + break; + + + case U8G_COM_MSG_WRITE_BYTE: + u8g_com_atmega_st7920_write_byte(u8g, u8g->pin_list[U8G_PI_A0_STATE], arg_val); + u8g->pin_list[U8G_PI_A0_STATE] = 2; + break; + + case U8G_COM_MSG_WRITE_SEQ: + { + register uint8_t *ptr = arg_ptr; + while( arg_val > 0 ) + { + u8g_com_atmega_st7920_write_byte(u8g, u8g->pin_list[U8G_PI_A0_STATE], *ptr++); + u8g->pin_list[U8G_PI_A0_STATE] = 2; + arg_val--; + } + } + break; + + case U8G_COM_MSG_WRITE_SEQ_P: + { + register uint8_t *ptr = arg_ptr; + while( arg_val > 0 ) + { + u8g_com_atmega_st7920_write_byte(u8g, u8g->pin_list[U8G_PI_A0_STATE], u8g_pgm_read(ptr)); + u8g->pin_list[U8G_PI_A0_STATE] = 2; + ptr++; + arg_val--; + } + } + break; + } + return 1; +} + +#else + + +uint8_t u8g_com_atmega_st7920_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) +{ + return 1; +} + + +#endif + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_atmega_sw_spi.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_atmega_sw_spi.c new file mode 100644 index 000000000..fde3153a5 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_atmega_sw_spi.c @@ -0,0 +1,141 @@ +/* + + u8g_com_atmega_sw_spi.c + + Universal 8bit Graphics Library + + Copyright (c) 2012, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +*/ + +#include "u8g.h" + +#if defined(__AVR__) + +static void u8g_atmega_sw_spi_shift_out(u8g_t *u8g, uint8_t val) U8G_NOINLINE; +static void u8g_atmega_sw_spi_shift_out(u8g_t *u8g, uint8_t val) +{ + uint8_t i = 8; + do + { + u8g_SetPILevel(u8g, U8G_PI_MOSI, val & 128 ); + val <<= 1; + u8g_SetPILevel(u8g, U8G_PI_SCK, 1 ); + u8g_MicroDelay(); /* 15 Aug 2012: added for high speed uC */ + u8g_SetPILevel(u8g, U8G_PI_SCK, 0 ); + u8g_MicroDelay(); /* 15 Aug 2012: added for high speed uC */ + i--; + } while( i != 0 ); +} + +uint8_t u8g_com_atmega_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) +{ + switch(msg) + { + case U8G_COM_MSG_INIT: + u8g_SetPIOutput(u8g, U8G_PI_SCK); + u8g_SetPIOutput(u8g, U8G_PI_MOSI); + u8g_SetPIOutput(u8g, U8G_PI_A0); + u8g_SetPIOutput(u8g, U8G_PI_CS); + u8g_SetPIOutput(u8g, U8G_PI_RESET); + + u8g_SetPILevel(u8g, U8G_PI_SCK, 0 ); + u8g_SetPILevel(u8g, U8G_PI_MOSI, 0 ); + u8g_SetPILevel(u8g, U8G_PI_CS, 1 ); + u8g_SetPILevel(u8g, U8G_PI_A0, 0); + break; + + case U8G_COM_MSG_STOP: + break; + + case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ + u8g_SetPILevel(u8g, U8G_PI_A0, arg_val); + break; + + case U8G_COM_MSG_CHIP_SELECT: + + if ( arg_val == 0 ) + { + /* disable */ + u8g_SetPILevel(u8g, U8G_PI_CS, 1); + } + else + { + u8g_SetPILevel(u8g, U8G_PI_SCK, 0 ); + /* enable */ + u8g_SetPILevel(u8g, U8G_PI_CS, 0); /* CS = 0 (low active) */ + } + break; + + case U8G_COM_MSG_RESET: + u8g_SetPILevel(u8g, U8G_PI_RESET, arg_val); + break; + + + case U8G_COM_MSG_WRITE_BYTE: + u8g_atmega_sw_spi_shift_out(u8g, arg_val); + break; + + case U8G_COM_MSG_WRITE_SEQ: + { + register uint8_t *ptr = arg_ptr; + while( arg_val > 0 ) + { + u8g_atmega_sw_spi_shift_out(u8g, *ptr++); + arg_val--; + } + } + break; + + case U8G_COM_MSG_WRITE_SEQ_P: + { + register uint8_t *ptr = arg_ptr; + while( arg_val > 0 ) + { + u8g_atmega_sw_spi_shift_out(u8g, u8g_pgm_read(ptr)); + ptr++; + arg_val--; + } + } + break; + } + return 1; +} + +#else + + +uint8_t u8g_com_atmega_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) +{ + return 1; +} + + +#endif + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_atxmega_hw_spi.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_atxmega_hw_spi.c new file mode 100644 index 000000000..7dcb796a6 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_atxmega_hw_spi.c @@ -0,0 +1,174 @@ +/* + + u8g_com_atxmega_hw_spi.c + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + Copyright (c) 2015, florianmenne@t-online.de + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + A special SPI interface for ST7920 controller with HW SPI Support + + Assumes, that + MOSI is at PORTB, Pin 3 + and + SCK is at PORTB, Pin 5 + + Update for ATOMIC operation done (01 Jun 2013) + U8G_ATOMIC_OR(ptr, val) + U8G_ATOMIC_AND(ptr, val) + U8G_ATOMIC_START() + U8G_ATOMIC_END() + + +*/ + +#include "u8g.h" + +#if defined(__AVR_XMEGA__) +#define U8G_ATXMEGA_HW_SPI +#endif + + +#if defined(U8G_ATXMEGA_HW_SPI) + +#include +#include + + +static uint8_t u8g_atxmega_spi_out(uint8_t data) +{ + /* send data */ + SPIC.DATA = data; + + /* wait for transmission */ + while(!(SPIC.STATUS & SPI_IF_bm)); + + /* clear the SPIF flag by reading SPDR */ + return SPIC.DATA; +} + + +uint8_t u8g_com_atxmega_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) +{ + switch(msg) + { + case U8G_COM_MSG_STOP: + break; + + case U8G_COM_MSG_INIT: + + u8g_SetPIOutput(u8g, U8G_PI_CS); + u8g_SetPIOutput(u8g, U8G_PI_A0); + u8g_SetPIOutput(u8g, U8G_PI_RESET); + + //U8G_ATOMIC_START(); + + PORTC.DIR |= PIN4_bm | PIN5_bm | PIN7_bm; + PORTC.DIR &= ~PIN6_bm; + + //U8G_ATOMIC_END(); + + u8g_SetPILevel(u8g, U8G_PI_CS, 1); + + SPIC.CTRL = 0; + SPIC.CTRL = SPI_PRESCALER_DIV4_gc | // SPI prescaler. + //SPI_CLK2X_bm | //SPI Clock double. + SPI_ENABLE_bm | //Enable SPI module. + //SPI_DORD_bm | //Data order. + SPI_MASTER_bm | //SPI master. + SPI_MODE_0_gc; // SPI mode. + +#ifdef U8G_HW_SPI_2X + SPIC.CTRL |= SPI_CLK2X_bm; /* double speed, issue 89 */ +#endif + + break; + + case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ + u8g_SetPILevel(u8g, U8G_PI_A0, arg_val); + break; + + case U8G_COM_MSG_CHIP_SELECT: + + if ( arg_val == 0 ) + { + /* disable */ + u8g_SetPILevel(u8g, U8G_PI_CS, 1); + } + else + { + //PORTB &= ~_BV(5); /* SCK = 0 */ + PORTC.OUT &= ~PIN7_bm; + /* enable */ + u8g_SetPILevel(u8g, U8G_PI_CS, 0); /* CS = 0 (low active) */ + } + + break; + + case U8G_COM_MSG_RESET: + u8g_SetPILevel(u8g, U8G_PI_RESET, arg_val); + break; + + case U8G_COM_MSG_WRITE_BYTE: + u8g_atxmega_spi_out(arg_val); + break; + + case U8G_COM_MSG_WRITE_SEQ: + { + register uint8_t *ptr = arg_ptr; + while( arg_val > 0 ) + { + u8g_atxmega_spi_out(*ptr++); + arg_val--; + } + } + break; + case U8G_COM_MSG_WRITE_SEQ_P: + { + register uint8_t *ptr = arg_ptr; + while( arg_val > 0 ) + { + u8g_atxmega_spi_out(u8g_pgm_read(ptr)); + ptr++; + arg_val--; + } + } + break; + } + return 1; +} + +#else + +uint8_t u8g_com_atxmega_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) +{ + return 1; +} + +#endif \ No newline at end of file diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_atxmega_st7920_hw_spi.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_atxmega_st7920_hw_spi.c new file mode 100644 index 000000000..14d5c5f95 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_atxmega_st7920_hw_spi.c @@ -0,0 +1,202 @@ +/* + + u8g_com_atxmega_st7920_hw_spi.c + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + Copyright (c) 2015, florianmenne@t-online.de + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + A special SPI interface for ST7920 controller with HW SPI Support + + Assumes, that + MOSI is at PORTB, Pin 3 + and + SCK is at PORTB, Pin 5 + + Update for ATOMIC operation done (01 Jun 2013) + U8G_ATOMIC_OR(ptr, val) + U8G_ATOMIC_AND(ptr, val) + U8G_ATOMIC_START() + U8G_ATOMIC_END() + + +*/ + +#include "u8g.h" + +#if defined(__AVR_XMEGA__) +#define U8G_ATXMEGA_HW_SPI +#endif + +#if defined(U8G_ATXMEGA_HW_SPI) + +#include +#include + +static uint8_t u8g_atxmega_st7920_hw_spi_shift_out(u8g_t *u8g, uint8_t val) U8G_NOINLINE; +static uint8_t u8g_atxmega_st7920_hw_spi_shift_out(u8g_t *u8g, uint8_t val) +{ + /* send data */ + SPIC.DATA = val; + + /* wait for transmission */ + while(!(SPIC.STATUS & SPI_IF_bm)); + + /* clear the SPIF flag by reading SPDR */ + return SPIC.DATA; +} + + +static void u8g_com_atxmega_st7920_write_byte_hw_spi(u8g_t *u8g, uint8_t rs, uint8_t val) U8G_NOINLINE; +static void u8g_com_atxmega_st7920_write_byte_hw_spi(u8g_t *u8g, uint8_t rs, uint8_t val) +{ + uint8_t i; + + if ( rs == 0 ) + { + /* command */ + u8g_atxmega_st7920_hw_spi_shift_out(u8g, 0x0f8); + } + else if ( rs == 1 ) + { + /* data */ + u8g_atxmega_st7920_hw_spi_shift_out(u8g, 0x0fa); + } + + u8g_atxmega_st7920_hw_spi_shift_out(u8g, val & 0x0f0); + u8g_atxmega_st7920_hw_spi_shift_out(u8g, val << 4); + + for( i = 0; i < 4; i++ ) + u8g_10MicroDelay(); +} + + +uint8_t u8g_com_atxmega_st7920_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) +{ + switch(msg) + { + case U8G_COM_MSG_INIT: + u8g_SetPIOutput(u8g, U8G_PI_CS); + //u8g_SetPIOutput(u8g, U8G_PI_A0); + + //U8G_ATOMIC_START(); + + PORTC.DIR |= PIN4_bm | PIN5_bm | PIN7_bm; + PORTC.DIR &= ~PIN6_bm; + + //U8G_ATOMIC_END(); + + u8g_SetPILevel(u8g, U8G_PI_CS, 1); + + SPIC.CTRL = 0; + SPIC.CTRL = SPI_PRESCALER_DIV4_gc | // SPI prescaler. + //SPI_CLK2X_bm | //SPI Clock double. + SPI_ENABLE_bm | //Enable SPI module. + //SPI_DORD_bm | //Data order. + SPI_MASTER_bm | //SPI master. + SPI_MODE_0_gc; // SPI mode. + +#ifdef U8G_HW_SPI_2X + SPIC.CTRL |= SPI_CLK2X_bm; /* double speed, issue 89 */ +#endif + + u8g->pin_list[U8G_PI_A0_STATE] = 0; /* inital RS state: command mode */ + break; + + case U8G_COM_MSG_STOP: + break; + + case U8G_COM_MSG_RESET: + u8g_SetPILevel(u8g, U8G_PI_RESET, arg_val); + break; + + case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ + u8g->pin_list[U8G_PI_A0_STATE] = arg_val; + break; + + case U8G_COM_MSG_CHIP_SELECT: + if ( arg_val == 0 ) + { + /* disable, note: the st7920 has an active high chip select */ + u8g_SetPILevel(u8g, U8G_PI_CS, 0); + } + else + { + /* u8g_SetPILevel(u8g, U8G_PI_SCK, 0 ); */ + /* enable */ + u8g_SetPILevel(u8g, U8G_PI_CS, 1); /* CS = 1 (high active) */ + } + break; + + + case U8G_COM_MSG_WRITE_BYTE: + u8g_com_atxmega_st7920_write_byte_hw_spi(u8g, u8g->pin_list[U8G_PI_A0_STATE], arg_val); + //u8g->pin_list[U8G_PI_A0_STATE] = 2; + break; + + case U8G_COM_MSG_WRITE_SEQ: + { + register uint8_t *ptr = arg_ptr; + while( arg_val > 0 ) + { + u8g_com_atxmega_st7920_write_byte_hw_spi(u8g, u8g->pin_list[U8G_PI_A0_STATE], *ptr++); + //u8g->pin_list[U8G_PI_A0_STATE] = 2; + arg_val--; + } + } + break; + + case U8G_COM_MSG_WRITE_SEQ_P: + { + register uint8_t *ptr = arg_ptr; + while( arg_val > 0 ) + { + u8g_com_atxmega_st7920_write_byte_hw_spi(u8g, u8g->pin_list[U8G_PI_A0_STATE], u8g_pgm_read(ptr)); + //u8g->pin_list[U8G_PI_A0_STATE] = 2; + ptr++; + arg_val--; + } + } + break; + } + return 1; +} + +#else + + +uint8_t u8g_com_atxmega_st7920_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) +{ + return 1; +} + + +#endif + + \ No newline at end of file diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_i2c.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_i2c.c new file mode 100644 index 000000000..f97595273 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_i2c.c @@ -0,0 +1,643 @@ +/* + + u8g_com_i2c.c + + generic i2c interface + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +*/ + + +#include "u8g.h" + +//#define U8G_I2C_WITH_NO_ACK + +static uint8_t u8g_i2c_err_code; +static uint8_t u8g_i2c_opt; /* U8G_I2C_OPT_NO_ACK, SAM: U8G_I2C_OPT_DEV_1 */ +/* + position values + 1: start condition + 2: sla transfer +*/ +static uint8_t u8g_i2c_err_pos; + + +void u8g_i2c_clear_error(void) +{ + u8g_i2c_err_code = U8G_I2C_ERR_NONE; + u8g_i2c_err_pos = 0; +} + +uint8_t u8g_i2c_get_error(void) +{ + return u8g_i2c_err_code; +} + +uint8_t u8g_i2c_get_err_pos(void) +{ + return u8g_i2c_err_pos; +} + + +#if defined(__AVR_XMEGA__) +#elif defined(__AVR__) + +static void u8g_i2c_set_error(uint8_t code, uint8_t pos) +{ + if ( u8g_i2c_err_code > 0 ) + return; + u8g_i2c_err_code |= code; + u8g_i2c_err_pos = pos; +} + +#define U8G_ATMEGA_HW_TWI + +/* remove the definition for attiny */ +#if __AVR_ARCH__ == 2 +#undef U8G_ATMEGA_HW_TWI +#endif +#if __AVR_ARCH__ == 25 +#undef U8G_ATMEGA_HW_TWI +#endif +#endif + +#if defined(U8G_ATMEGA_HW_TWI) + +#include +#include + + + +void u8g_i2c_init(uint8_t options) +{ + /* + TWBR: bit rate register + TWSR: status register (contains preselector bits) + + prescalar + 0 1 + 1 4 + 2 16 + 3 64 + + f = F_CPU/(16+2*TWBR*prescalar) + + F_CPU = 16MHz + TWBR = 152; + TWSR = 0; + --> 50KHz + + TWBR = 72; + TWSR = 0; + --> 100KHz + + TWBR = 12; + TWSR = 0; + --> 400KHz + + F_CPU/(2*100000)-8 --> calculate TWBR value for 100KHz +*/ + u8g_i2c_opt = options; + TWSR = 0; + if ( options & U8G_I2C_OPT_FAST ) + { + TWBR = F_CPU/(2*400000)-8; + } + else + { + TWBR = F_CPU/(2*100000)-8; + } + u8g_i2c_clear_error(); +} + +uint8_t u8g_i2c_wait(uint8_t mask, uint8_t pos) +{ + volatile uint16_t cnt = 2000; /* timout value should be > 280 for 50KHz Bus and 16 Mhz CPU, however the start condition might need longer */ + while( !(TWCR & mask) ) + { + if ( cnt == 0 ) + { + if ( u8g_i2c_opt & U8G_I2C_OPT_NO_ACK ) + { + return 1; /* all ok */ + } + else + { + u8g_i2c_set_error(U8G_I2C_ERR_TIMEOUT, pos); + return 0; /* error */ + } + } + cnt--; + } + return 1; /* all ok */ +} + +/* sla includes all 8 bits (with r/w bit), assums master transmit */ +uint8_t u8g_i2c_start(uint8_t sla) +{ + register uint8_t status; + + /* send start */ + TWCR = _BV(TWINT) | _BV(TWSTA) | _BV(TWEN); + + /* wait */ + if ( u8g_i2c_wait(_BV(TWINT), 1) == 0 ) + return 0; + + status = TW_STATUS; + + /* check status after start */ + if ( status != TW_START && status != TW_REP_START ) + { + u8g_i2c_set_error(U8G_I2C_ERR_BUS, 1); + return 0; + } + + /* set slave address */ + TWDR = sla; + + /* enable sla transfer */ + TWCR = _BV(TWINT) | _BV(TWEN); + + /* wait */ + if ( u8g_i2c_wait(_BV(TWINT), 2) == 0 ) + return 0; + + if ( u8g_i2c_opt & U8G_I2C_OPT_NO_ACK ) + { + /* do not check for ACK */ + } + else + { + status = TW_STATUS; + /* check status after sla */ + if ( status != TW_MT_SLA_ACK ) + { + u8g_i2c_set_error(U8G_I2C_ERR_BUS, 2); + return 0; + } + } + + return 1; +} + +uint8_t u8g_i2c_send_byte(uint8_t data) +{ + register uint8_t status; + TWDR = data; + TWCR = _BV(TWINT) | _BV(TWEN); + if ( u8g_i2c_wait(_BV(TWINT), 3) == 0 ) + return 0; + + if ( u8g_i2c_opt & U8G_I2C_OPT_NO_ACK ) + { + /* do not check for ACK */ + } + else + { + status = TW_STATUS; + if ( status != TW_MT_DATA_ACK ) + { + u8g_i2c_set_error(U8G_I2C_ERR_BUS, 3); + return 0; + } + } + + return 1; +} + +void u8g_i2c_stop(void) +{ + /* write stop */ + TWCR = _BV(TWINT) | _BV(TWEN) | _BV(TWSTO); + + /* no error is checked for the stop condition */ + u8g_i2c_wait(_BV(TWSTO), 4); + +} + +/* +void twi_send(uint8_t adr, uint8_t data1, uint8_t data2) +{ + u8g_i2c_start(adr<<1); + u8g_i2c_send_byte(data1); + u8g_i2c_send_byte(data2); + u8g_i2c_stop(); +} +*/ + +#elif defined(ARDUINO) && defined(__SAM3X8E__) +/* Arduino Due */ +#include "Arduino.h" +#include "sam.h" + +/* + +Controller + +TWI0 TWCK0 PA18 A DUE PCB: SCL1 +TWI0 TWD0 PA17 A DUE PCB: SDA1 +TWI1 TWCK1 PB13 A DUE PCB: SCL 21 +TWI1 TWD1 PB12 A DUE PCB: SDA 20 + +Arduino definitions + +#define PIN_WIRE_SDA (20u) +#define PIN_WIRE_SCL (21u) +#define WIRE_INTERFACE TWI1 +#define WIRE_INTERFACE_ID ID_TWI1 +#define WIRE_ISR_HANDLER TWI1_Handler + +#define PIN_WIRE1_SDA (70u) +#define PIN_WIRE1_SCL (71u) +#define WIRE1_INTERFACE TWI0 +#define WIRE1_INTERFACE_ID ID_TWI0 +#define WIRE1_ISR_HANDLER TWI0_Handler + + +*/ + +static void i2c_400KHz_delay(void) +{ + /* should be at least 4 */ + /* should be 5 for 100KHz transfer speed */ + + + /* + Arduino Due + 0x NOP: 470KHz + 4x NOP: 450KHz + 8x NOP: 430KHz + 16x NOP: 400KHz + */ + + __NOP(); + __NOP(); + __NOP(); + __NOP(); + + __NOP(); + __NOP(); + __NOP(); + __NOP(); + + __NOP(); + __NOP(); + __NOP(); + __NOP(); + + __NOP(); + __NOP(); + __NOP(); + __NOP(); +} + +static void i2c_100KHz_delay(void) +{ + /* + 1x u8g_MicroDelay() ca. 130KHz + 2x u8g_MicroDelay() ca. 80KHz + */ + u8g_MicroDelay(); + u8g_MicroDelay(); +} + + +uint32_t i2c_started = 0; +uint32_t i2c_scl_pin = 0; +uint32_t i2c_sda_pin = 0; +void (*i2c_delay)(void) = i2c_100KHz_delay; + +const PinDescription *i2c_scl_pin_desc; +const PinDescription *i2c_sda_pin_desc; + + +/* maybe this can be optimized */ +static void i2c_init(void) +{ + i2c_sda_pin_desc = &(g_APinDescription[i2c_sda_pin]); + i2c_scl_pin_desc = &(g_APinDescription[i2c_scl_pin]); + pinMode(i2c_sda_pin, OUTPUT); + digitalWrite(i2c_sda_pin, HIGH); + pinMode(i2c_scl_pin, OUTPUT); + digitalWrite(i2c_scl_pin, HIGH); + PIO_Configure( i2c_sda_pin_desc->pPort, PIO_OUTPUT_0, i2c_sda_pin_desc->ulPin, PIO_OPENDRAIN ); + PIO_Configure( i2c_scl_pin_desc->pPort, PIO_OUTPUT_0, i2c_scl_pin_desc->ulPin, PIO_OPENDRAIN ); + PIO_Clear( i2c_sda_pin_desc->pPort, i2c_sda_pin_desc->ulPin) ; + PIO_Clear( i2c_scl_pin_desc->pPort, i2c_scl_pin_desc->ulPin) ; + PIO_Configure( i2c_sda_pin_desc->pPort, PIO_INPUT, i2c_sda_pin_desc->ulPin, PIO_DEFAULT ) ; + PIO_Configure( i2c_scl_pin_desc->pPort, PIO_INPUT, i2c_scl_pin_desc->ulPin, PIO_DEFAULT ) ; + i2c_delay(); +} + +/* actually, the scl line is not observed, so this procedure does not return a value */ +static void i2c_read_scl_and_delay(void) +{ + uint32_t dwMask = i2c_scl_pin_desc->ulPin; + //PIO_Configure( i2c_scl_pin_desc->pPort, PIO_INPUT, i2c_scl_pin_desc->ulPin, PIO_DEFAULT ) ; + //PIO_SetInput( i2c_scl_pin_desc->pPort, i2c_scl_pin_desc->ulPin, PIO_DEFAULT ) ; + + /* set as input */ + i2c_scl_pin_desc->pPort->PIO_ODR = dwMask ; + i2c_scl_pin_desc->pPort->PIO_PER = dwMask ; + + i2c_delay(); +} + +static void i2c_clear_scl(void) +{ + uint32_t dwMask = i2c_scl_pin_desc->ulPin; + + /* set open collector and drive low */ + //PIO_Configure( i2c_scl_pin_desc->pPort, PIO_OUTPUT_0, i2c_scl_pin_desc->ulPin, PIO_OPENDRAIN ); + //PIO_SetOutput( i2c_scl_pin_desc->pPort, i2c_scl_pin_desc->ulPin, 0, 1, 0); + + /* open drain, zero default output */ + i2c_scl_pin_desc->pPort->PIO_MDER = dwMask; + i2c_scl_pin_desc->pPort->PIO_CODR = dwMask; + i2c_scl_pin_desc->pPort->PIO_OER = dwMask; + i2c_scl_pin_desc->pPort->PIO_PER = dwMask; + + //PIO_Clear( i2c_scl_pin_desc->pPort, i2c_scl_pin_desc->ulPin) ; +} + +static uint8_t i2c_read_sda(void) +{ + uint32_t dwMask = i2c_sda_pin_desc->ulPin; + //PIO_Configure( i2c_sda_pin_desc->pPort, PIO_INPUT, i2c_sda_pin_desc->ulPin, PIO_DEFAULT ) ; + //PIO_SetInput( i2c_sda_pin_desc->pPort, i2c_sda_pin_desc->ulPin, PIO_DEFAULT ) ; + + /* set as input */ + i2c_sda_pin_desc->pPort->PIO_ODR = dwMask ; + i2c_sda_pin_desc->pPort->PIO_PER = dwMask ; + + + return 1; +} + +static void i2c_clear_sda(void) +{ + uint32_t dwMask = i2c_sda_pin_desc->ulPin; + + /* set open collector and drive low */ + //PIO_Configure( i2c_sda_pin_desc->pPort, PIO_OUTPUT_0, i2c_sda_pin_desc->ulPin, PIO_OPENDRAIN ); + //PIO_SetOutput( i2c_sda_pin_desc->pPort, i2c_sda_pin_desc->ulPin, 0, 1, 0); + + /* open drain, zero default output */ + i2c_sda_pin_desc->pPort->PIO_MDER = dwMask ; + i2c_sda_pin_desc->pPort->PIO_CODR = dwMask ; + i2c_sda_pin_desc->pPort->PIO_OER = dwMask ; + i2c_sda_pin_desc->pPort->PIO_PER = dwMask ; + + //PIO_Clear( i2c_sda_pin_desc->pPort, i2c_sda_pin_desc->ulPin) ; +} + +static void i2c_start(void) +{ + if ( i2c_started != 0 ) + { + /* if already started: do restart */ + i2c_read_sda(); /* SDA = 1 */ + i2c_delay(); + i2c_read_scl_and_delay(); + } + i2c_read_sda(); + /* + if (i2c_read_sda() == 0) + { + // do something because arbitration is lost + } + */ + /* send the start condition, both lines go from 1 to 0 */ + i2c_clear_sda(); + i2c_delay(); + i2c_clear_scl(); + i2c_started = 1; +} + + +static void i2c_stop(void) +{ + /* set SDA to 0 */ + i2c_clear_sda(); + i2c_delay(); + + /* now release all lines */ + i2c_read_scl_and_delay(); + + /* set SDA to 1 */ + i2c_read_sda(); + i2c_delay(); + i2c_started = 0; +} + +static void i2c_write_bit(uint8_t val) +{ + if (val) + i2c_read_sda(); + else + i2c_clear_sda(); + + i2c_delay(); + i2c_read_scl_and_delay(); + i2c_clear_scl(); +} + +static uint8_t i2c_read_bit(void) +{ + uint8_t val; + /* do not drive SDA */ + i2c_read_sda(); + i2c_delay(); + i2c_read_scl_and_delay(); + val = i2c_read_sda(); + i2c_delay(); + i2c_clear_scl(); + return val; +} + +static uint8_t i2c_write_byte(uint8_t b) +{ + i2c_write_bit(b & 128); + i2c_write_bit(b & 64); + i2c_write_bit(b & 32); + i2c_write_bit(b & 16); + i2c_write_bit(b & 8); + i2c_write_bit(b & 4); + i2c_write_bit(b & 2); + i2c_write_bit(b & 1); + + /* read ack from client */ + /* 0: ack was given by client */ + /* 1: nothing happend during ack cycle */ + return i2c_read_bit(); +} + + + +void u8g_i2c_init(uint8_t options) +{ + u8g_i2c_opt = options; + u8g_i2c_clear_error(); + + if ( u8g_i2c_opt & U8G_I2C_OPT_FAST ) + { + i2c_delay = i2c_400KHz_delay; + } + else + { + i2c_delay = i2c_100KHz_delay; + } + + + if ( u8g_i2c_opt & U8G_I2C_OPT_DEV_1 ) + { + i2c_scl_pin = PIN_WIRE1_SCL; + i2c_sda_pin = PIN_WIRE1_SDA; + + //REG_PIOA_PDR = PIO_PB12A_TWD1 | PIO_PB13A_TWCK1; + } + else + { + + i2c_scl_pin = PIN_WIRE_SCL; + i2c_sda_pin = PIN_WIRE_SDA; + + //REG_PIOA_PDR = PIO_PA17A_TWD0 | PIO_PA18A_TWCK0; + } + + i2c_init(); + +} + +/* sla includes also the r/w bit */ +uint8_t u8g_i2c_start(uint8_t sla) +{ + i2c_start(); + i2c_write_byte(sla); + return 1; +} + +uint8_t u8g_i2c_send_byte(uint8_t data) +{ + return i2c_write_byte(data); +} + +void u8g_i2c_stop(void) +{ + i2c_stop(); +} + + +#elif defined(U8G_RASPBERRY_PI) + +#include +#include +#include +#include +#include + +#define I2C_SLA 0x3c + +static int fd=-1; +static uint8_t i2cMode = 0; + +void u8g_i2c_init(uint8_t options) { + u8g_i2c_clear_error(); + u8g_i2c_opt = options; + + if (wiringPiSetup() == -1) { + printf("wiringPi-Error\n"); + exit(1); + } + + fd = wiringPiI2CSetup(I2C_SLA); + if (fd < 0) { + printf ("Unable to open I2C device 0: %s\n", strerror (errno)) ; + exit (1) ; + } + //u8g_SetPIOutput(u8g, U8G_PI_RESET); + //u8g_SetPIOutput(u8g, U8G_PI_A0); +} +uint8_t u8g_i2c_start(uint8_t sla) { + u8g_i2c_send_mode(0); + + return 1; +} + +void u8g_i2c_stop(void) { +} + +uint8_t u8g_i2c_send_mode(uint8_t mode) { + i2cMode = mode; +} + +uint8_t u8g_i2c_send_byte(uint8_t data) { + wiringPiI2CWriteReg8(fd, i2cMode, data); + + return 1; +} + +uint8_t u8g_i2c_wait(uint8_t mask, uint8_t pos) +{ + return 1; +} + +#else + +/* empty interface */ + +void u8g_i2c_init(uint8_t options) +{ + u8g_i2c_clear_error(); +} + +uint8_t u8g_i2c_wait(uint8_t mask, uint8_t pos) +{ + return 1; +} + +uint8_t u8g_i2c_start(uint8_t sla) +{ + return 1; +} +uint8_t u8g_i2c_send_byte(uint8_t data) +{ + return 1; +} + +void u8g_i2c_stop(void) +{ +} + + +#endif + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_io.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_io.c new file mode 100644 index 000000000..829ca9139 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_io.c @@ -0,0 +1,452 @@ +/* + + u8g_com_io.c + + abstraction layer for low level i/o + + Universal 8bit Graphics Library + + Copyright (c) 2012, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + Update for ATOMIC operation done (01 Jun 2013) + U8G_ATOMIC_OR(ptr, val) + U8G_ATOMIC_AND(ptr, val) + U8G_ATOMIC_START(); + U8G_ATOMIC_END(); + + uint8_t u8g_Pin(uint8_t port, uint8_t bitpos) Convert to internal number: AVR: port*8+bitpos, ARM: port*16+bitpos + void u8g_SetPinOutput(uint8_t internal_pin_number) + void u8g_SetPinInput(uint8_t internal_pin_number) + void u8g_SetPinLevel(uint8_t internal_pin_number, uint8_t level) + uint8_t u8g_GetPinLevel(uint8_t internal_pin_number) + + +*/ + +#include "u8g.h" + +#if defined(__AVR__) + +#include +#include + +typedef volatile uint8_t * IO_PTR; + +/* create internal pin number */ +uint8_t u8g_Pin(uint8_t port, uint8_t bitpos) +{ + port <<= 3; + port += bitpos; + return port; +} + +#if defined(__AVR_XMEGA__) + +const IO_PTR u8g_avr_ddr_P[] PROGMEM = { +#ifdef PORTA + &PORTA.DIR, +#else + 0, +#endif + &PORTB.DIR, +#ifdef PORTC + &PORTC.DIR, +#ifdef PORTD + &PORTD.DIR, +#ifdef PORTE + &PORTE.DIR, +#ifdef PORTF + &PORTF.DIR, +#ifdef PORTR + &PORTR.DIR, +#endif +#endif +#endif +#endif +#endif +}; + + +const IO_PTR u8g_avr_port_P[] PROGMEM = { +#ifdef PORTA + &PORTA.OUT, +#else + 0, +#endif + &PORTB.OUT, +#ifdef PORTC + &PORTC.OUT, +#ifdef PORTD + &PORTD.OUT, +#ifdef PORTE + &PORTE.OUT, +#ifdef PORTF + &PORTF.OUT, +#ifdef PORTR + &PORTR.OUT, +#endif +#endif +#endif +#endif +#endif +}; + +const IO_PTR u8g_avr_pin_P[] PROGMEM = { +#ifdef PORTA + &PORTA.IN, +#else + 0, +#endif + &PORTB.IN, +#ifdef PORTC + &PORTC.IN, +#ifdef PORTD + &PORTD.IN, +#ifdef PORTE + &PORTE.IN, +#ifdef PORTF + &PORTF.IN, +#ifdef PORTR + &PORTR.IN, +#endif +#endif +#endif +#endif +#endif +}; + + +#else +const IO_PTR u8g_avr_ddr_P[] PROGMEM = { +#ifdef DDRA + &DDRA, +#else + 0, +#endif + &DDRB, +#ifdef DDRC + &DDRC, +#ifdef DDRD + &DDRD, +#ifdef DDRE + &DDRE, +#ifdef DDRF + &DDRF, +#ifdef DDRG + &DDRG, +#ifdef DDRH + &DDRH, +#endif +#endif +#endif +#endif +#endif +#endif +}; + + +const IO_PTR u8g_avr_port_P[] PROGMEM = { +#ifdef PORTA + &PORTA, +#else + 0, +#endif + &PORTB, +#ifdef PORTC + &PORTC, +#ifdef PORTD + &PORTD, +#ifdef PORTE + &PORTE, +#ifdef PORTF + &PORTF, +#ifdef PORTG + &PORTG, +#ifdef PORTH + &PORTH, +#endif +#endif +#endif +#endif +#endif +#endif +}; + +const IO_PTR u8g_avr_pin_P[] PROGMEM = { +#ifdef PINA + &PINA, +#else + 0, +#endif + &PINB, +#ifdef PINC + &PINC, +#ifdef PIND + &PIND, +#ifdef PINE + &PINE, +#ifdef PINF + &PINF, +#ifdef PING + &PING, +#ifdef PINH + &PINH, +#endif +#endif +#endif +#endif +#endif +#endif +}; +#endif + +static volatile uint8_t *u8g_get_avr_io_ptr(const IO_PTR *base, uint8_t offset) +{ + volatile uint8_t * tmp; + base += offset; + memcpy_P(&tmp, base, sizeof(volatile uint8_t *)); + return tmp; +} + +/* set direction to output of the specified pin (internal pin number) */ +void u8g_SetPinOutput(uint8_t internal_pin_number) +{ + *u8g_get_avr_io_ptr(u8g_avr_ddr_P, internal_pin_number>>3) |= _BV(internal_pin_number&7); +} + +void u8g_SetPinInput(uint8_t internal_pin_number) +{ + *u8g_get_avr_io_ptr(u8g_avr_ddr_P, internal_pin_number>>3) &= ~_BV(internal_pin_number&7); +} + +void u8g_SetPinLevel(uint8_t internal_pin_number, uint8_t level) +{ + volatile uint8_t * tmp = u8g_get_avr_io_ptr(u8g_avr_port_P, internal_pin_number>>3); + + if ( level == 0 ) + { + U8G_ATOMIC_AND(tmp, ~_BV(internal_pin_number&7)); + // *tmp &= ~_BV(internal_pin_number&7); + } + else + { + U8G_ATOMIC_OR(tmp, _BV(internal_pin_number&7)); + //*tmp |= _BV(internal_pin_number&7); + } + +} + +uint8_t u8g_GetPinLevel(uint8_t internal_pin_number) +{ + volatile uint8_t * tmp = u8g_get_avr_io_ptr(u8g_avr_pin_P, internal_pin_number>>3); + if ( ((*tmp) & _BV(internal_pin_number&7)) != 0 ) + return 1; + return 0; +} + +#elif defined (__MSP430__) +#include + +typedef volatile uint8_t * IO_PTR; + +// MSP430 F5XXX / F6XXX series. +const IO_PTR u8g_msp_ddr_P[] PROGMEM = { + &P1DIR + ,&P2DIR + ,&P3DIR + ,&P4DIR + ,&P5DIR + ,&P6DIR + ,&P7DIR + ,&P8DIR +#if defined (__MSP430_HAS_PORT9_R__) + ,&P9DIR +#if defined (__MSP430_HAS_PORT10_R__) + ,&P10DIR +#endif +#endif +}; + +const IO_PTR u8g_msp_port_P[] PROGMEM = { + &P1OUT + ,&P2OUT + ,&P3OUT + ,&P4OUT + ,&P5OUT + ,&P6OUT + ,&P7OUT + ,&P8OUT +#if defined (__MSP430_HAS_PORT9_R__) + ,&P9OUT +#if defined (__MSP430_HAS_PORT10_R__) + ,&P10OUT +#endif +#endif +}; + +const IO_PTR u8g_msp_pin_P[] PROGMEM = { + &P1IN + ,&P2IN + ,&P3IN + ,&P4IN + ,&P5IN + ,&P6IN + ,&P7IN + ,&P8IN +#if defined (__MSP430_HAS_PORT9_R__) + ,&P9IN +#if defined (__MSP430_HAS_PORT10_R__) + ,&P10IN +#endif +#endif +}; + +uint8_t u8g_Pin(uint8_t port, uint8_t bitpos) +{ + port <<= 3; + port += bitpos; + return port; +} + +void u8g_SetPinOutput(uint8_t internal_pin_number) +{ + uint8_t port = (internal_pin_number >> 3)-1; + uint8_t output = 1 << (internal_pin_number & 0x07); + *u8g_msp_ddr_P[port] |= output; +} + +void u8g_SetPinInput(uint8_t internal_pin_number) +{ + uint8_t port = (internal_pin_number >> 3)-1; + *u8g_msp_ddr_P[port] &= ~(1 << (internal_pin_number & 0x07)); +} + +void u8g_SetPinLevel(uint8_t internal_pin_number, uint8_t level) +{ + uint8_t port = (internal_pin_number >> 3)-1; + if (level == 0) + { + *u8g_msp_port_P[port] &= ~(1 << (internal_pin_number & 0x07)); + } + else + { + *u8g_msp_port_P[port]|= (1 << (internal_pin_number & 0x07)); + } +} + +uint8_t u8g_GetPinLevel(uint8_t internal_pin_number) +{ + uint8_t port = (internal_pin_number >> 3)-1; + uint8_t tmp = *u8g_msp_pin_P[port]; + if (tmp & (1 << (internal_pin_number & 0x07))) + { + return 1; + } + return 0; +} + +#elif defined(U8G_RASPBERRY_PI) + +#include +//#include "/usr/local/include/wiringPi.h" + +void u8g_SetPinOutput(uint8_t internal_pin_number) { + pinMode(internal_pin_number, OUTPUT); +} + +void u8g_SetPinInput(uint8_t internal_pin_number) { + pinMode(internal_pin_number, INPUT); +} + +void u8g_SetPinLevel(uint8_t internal_pin_number, uint8_t level) { + digitalWrite(internal_pin_number, level); +} + +uint8_t u8g_GetPinLevel(uint8_t internal_pin_number) { + return digitalRead(internal_pin_number); +} + + +#else + +/* convert "port" and "bitpos" to internal pin number */ +uint8_t u8g_Pin(uint8_t port, uint8_t bitpos) +{ + port <<= 3; + port += bitpos; + return port; +} + +void u8g_SetPinOutput(uint8_t internal_pin_number) +{ +} + +void u8g_SetPinInput(uint8_t internal_pin_number) +{ +} + +void u8g_SetPinLevel(uint8_t internal_pin_number, uint8_t level) +{ +} + +uint8_t u8g_GetPinLevel(uint8_t internal_pin_number) +{ + return 0; +} + +#endif + + +#if defined(U8G_WITH_PINLIST) + +void u8g_SetPIOutput(u8g_t *u8g, uint8_t pi) +{ + uint8_t pin; + pin = u8g->pin_list[pi]; + if ( pin != U8G_PIN_NONE ) + u8g_SetPinOutput(pin); +} + +void u8g_SetPILevel(u8g_t *u8g, uint8_t pi, uint8_t level) +{ + uint8_t pin; + pin = u8g->pin_list[pi]; + if ( pin != U8G_PIN_NONE ) + u8g_SetPinLevel(pin, level); +} + +#else /* defined(U8G_WITH_PINLIST) */ +void u8g_SetPIOutput(u8g_t *u8g, uint8_t pi) +{ +} + +void u8g_SetPILevel(u8g_t *u8g, uint8_t pi, uint8_t level) +{ +} + +#endif /* defined(U8G_WITH_PINLIST) */ diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_linux_ssd_i2c.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_linux_ssd_i2c.c new file mode 100644 index 000000000..bd5b735c4 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_linux_ssd_i2c.c @@ -0,0 +1,168 @@ +/* + + u8g_com_linux_ssd_i2c.c + + com interface for linux i2c-dev and the SSDxxxx chip (SOLOMON) variant + I2C protocol + + + Universal 8bit Graphics Library + + Copyright (c) 2012, olikraus@gmail.com + Copyright (c) 2015, daniel@redfelineninja.org.uk + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +*/ + +#include "u8g.h" + +#if defined(U8G_LINUX) + +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include + + +#define I2C_SLA 0x3c +#define I2C_CMD_MODE 0x80 +#define I2C_DATA_MODE 0x40 +#define MAX_PACKET 64 + +#ifndef U8G_WITH_PINLIST +#error U8G_WITH_PINLIST is mandatory for this driver +#endif + +static void set_cmd_mode(u8g_t *u8g, bool cmd_mode) +{ + u8g->pin_list[U8G_PI_A0_STATE] = cmd_mode; +} + +static bool get_cmd_mode(u8g_t *u8g) +{ + return u8g->pin_list[U8G_PI_A0_STATE]; +} + +static uint8_t send_data_burst(u8g_t *u8g, int fd, uint8_t *buf, size_t buflen) +{ + uint8_t i2cbuf[2*MAX_PACKET]; + uint8_t i2clen; + int res; + + /* ignore bursts when there is no file open */ + if (fd < 0) + return 0; + + if (get_cmd_mode(u8g)) { + i2clen = 0; + while (buflen > 0) { + i2cbuf[i2clen++] = I2C_CMD_MODE; + i2cbuf[i2clen++] = *buf++; + buflen--; + } + } else { + i2cbuf[0] = I2C_DATA_MODE; + memcpy(i2cbuf+1, buf, buflen); + i2clen = buflen + 1; + } + + res = write(fd, i2cbuf, i2clen); + if (res < 0) + fprintf(stderr, "I2C write failed (%s)\n", strerror(errno)); + else if (res != i2clen) + fprintf(stderr, "Incomplete I2C write (%d of %d packet)\n", res, i2clen); + + return res == i2clen; +} + +uint8_t u8g_com_linux_ssd_i2c_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) +{ + static int fd = -1; + char dev[24]; + + switch(msg) + { + case U8G_COM_MSG_INIT: + sprintf(dev, "/dev/i2c-%d", u8g->pin_list[U8G_PI_I2C_OPTION]); + fd = open(dev, O_RDWR); + if (fd < 0) { + fprintf(stderr, "cannot open %s (%s)\n", dev, strerror(errno)); + return 0; + } + + if (ioctl(fd, I2C_SLAVE, I2C_SLA) < 0) { + fprintf(stderr, "cannot set slave address (%s)\n", strerror(errno)); + return 0; + } + + break; + + case U8G_COM_MSG_STOP: + /* ignored - i2c-dev will automatically stop between writes */ + break; + + case U8G_COM_MSG_RESET: + /* ignored - no obvious means to reset an SSD via I2C */ + break; + + case U8G_COM_MSG_CHIP_SELECT: + set_cmd_mode(u8g, true); + break; + + case U8G_COM_MSG_WRITE_BYTE: + send_data_burst(u8g, fd, &arg_val, 1); + break; + + case U8G_COM_MSG_WRITE_SEQ: + case U8G_COM_MSG_WRITE_SEQ_P: /* no progmem in Linux */ + while (arg_val > MAX_PACKET) { + send_data_burst(u8g, fd, arg_ptr, MAX_PACKET); + arg_ptr += MAX_PACKET; + arg_val -= MAX_PACKET; + } + send_data_burst(u8g, fd, arg_ptr, arg_val); + break; + + case U8G_COM_MSG_ADDRESS: + /* choose cmd (arg_val = 0) or data mode (arg_val = 1) */ + set_cmd_mode(u8g, !arg_val); + break; + } + + return 1; +} + +#endif /* U8G_LINUX */ diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_msp430_hw_spi.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_msp430_hw_spi.c new file mode 100644 index 000000000..18c4d7752 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_msp430_hw_spi.c @@ -0,0 +1,221 @@ +/* + + u8g_com_msp430_hw_spi.c + + Universal 8bit Graphics Library + + Copyright (c) 2012, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +*/ + +#include "u8g.h" + +#if defined(__MSP430__) +#define U8G_MSP430_HW_SPI +#endif + +#if defined(U8G_MSP430_HW_SPI) + +#include + +#ifndef F_CPU +#error "Please specifiy actual master clock using F_CPU in HZ" +#endif +#ifndef F_SPI +#define F_SPI 1000000UL +#endif + +#define U8G_USE_USCIA0 1 +#define U8G_USE_USCIB0 2 +#define U8G_USE_USCIA1 3 +#define U8G_USE_USCIB1 4 +#define U8G_USE_USCIA2 5 +#define U8G_USE_USCIB2 6 +#define U8G_USE_USCIA3 7 +#define U8G_USE_USCIB3 8 + +#ifndef U8G_USE_USCI +#define U8G_USE_USCI U8G_USE_USCIB0 +#endif + +#if U8G_USE_USCI == 1 +#define UCIFG UCA0IFG +#define UCTXBUF UCA0TXBUF +#define UCSTAT UCA0STAT +#define UCCTL0 UCA0CTL0 +#define UCCTL1 UCA0CTL1 +#define UCBR0 UCA0BR0 +#define UCBR1 UCA0BR1 +#elif U8G_USE_USCI == 2 +#define UCIFG UCB0IFG +#define UCTXBUF UCB0TXBUF +#define UCSTAT UCB0STAT +#define UCCTL0 UCB0CTL0 +#define UCCTL1 UCB0CTL1 +#define UCBR0 UCB0BR0 +#define UCBR1 UCB0BR1 +#elif U8G_USE_USCI == 3 +#define UCIFG UCA1IFG +#define UCTXBUF UCA1TXBUF +#define UCSTAT UCA1STAT +#define UCCTL0 UCA1CTL0 +#define UCCTL1 UCA1CTL1 +#define UCBR0 UCA1BR0 +#define UCBR1 UCA1BR1 +#elif U8G_USE_USCI == 4 +#define UCIFG UCB1IFG +#define UCTXBUF UCB1TXBUF +#define UCSTAT UCB1STAT +#define UCCTL0 UCB1CTL0 +#define UCCTL1 UCB1CTL1 +#define UCBR0 UCB1BR0 +#define UCBR1 UCB1BR1 +#elif U8G_USE_USCI == 5 +#define UCIFG UCA2IFG +#define UCTXBUF UCA2TXBUF +#define UCSTAT UCA2STAT +#define UCCTL0 UCA2CTL0 +#define UCCTL1 UCA2CTL1 +#define UCBR0 UCA2BR0 +#define UCBR1 UCA2BR1 +#elif U8G_USE_USCI == 6 +#define UCIFG UCB2IFG +#define UCTXBUF UCB2TXBUF +#define UCSTAT UCB2STAT +#define UCCTL0 UCB2CTL0 +#define UCCTL1 UCB2CTL1 +#define UCBR0 UCB2BR0 +#define UCBR1 UCB2BR1 +#elif U8G_USE_USCI == 7 +#define UCIFG UCA3IFG +#define UCTXBUF UCA3TXBUF +#define UCSTAT UCA3STAT +#define UCCTL0 UCA3CTL0 +#define UCCTL1 UCA3CTL1 +#define UCBR0 UCA3BR0 +#define UCBR1 UCA3BR1 +#elif U8G_USE_USCI == 8 +#define UCIFG UCB3IFG +#define UCTXBUF UCB3TXBUF +#define UCSTAT UCB3STAT +#define UCCTL0 UCB3CTL0 +#define UCCTL1 UCB3CTL1 +#define UCBR0 UCB3BR0 +#define UCBR1 UCB3BR1 +#endif + +inline void u8g_msp430_spi_out(uint8_t data) +{ + while (!(UCIFG&UCTXIFG)); + UCTXBUF = data; +} + +uint8_t u8g_com_msp430_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) +{ + switch(msg) + { + case U8G_COM_MSG_STOP: + break; + + case U8G_COM_MSG_INIT: + /* + * on MSP430 you need to set PSEL alternative function which + * may not be required on other MCU's - should be handled + * by a low level u8g_SetPinAlternate(pin_number)... + */ + UCCTL1 |= UCSWRST; // **Put state machine in reset** + UCCTL0 |= UCMST|UCSYNC|UCCKPL|UCMSB; // 3-pin, 8-bit SPI master Clock polarity high, MSB + UCCTL1 |= UCSSEL_2; // SMCLK + UCBR0 = (unsigned char)(F_CPU/F_SPI); // + UCBR1 = 0; // + UCCTL1 &= ~UCSWRST; // **Initialize USCI state machine** + u8g_SetPILevel(u8g, U8G_PI_CS, 1); + u8g_SetPILevel(u8g, U8G_PI_A0, 1); + u8g_SetPILevel(u8g, U8G_PI_RESET, 1); + u8g_SetPIOutput(u8g, U8G_PI_CS); + u8g_SetPIOutput(u8g, U8G_PI_A0); + u8g_SetPIOutput(u8g, U8G_PI_RESET); + + break; + + case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ + u8g_SetPILevel(u8g, U8G_PI_A0, arg_val); + break; + + case U8G_COM_MSG_CHIP_SELECT: + + u8g_SetPILevel(u8g, U8G_PI_CS, (arg_val ? 0 : 1)); + break; + + case U8G_COM_MSG_RESET: + + u8g_SetPILevel(u8g, U8G_PI_RESET, arg_val); + break; + + case U8G_COM_MSG_WRITE_BYTE: + u8g_msp430_spi_out(arg_val); + while ((UCSTAT&UCBUSY)); + break; + + case U8G_COM_MSG_WRITE_SEQ: + { + register uint8_t *ptr = arg_ptr; + while( arg_val > 0 ) + { + u8g_msp430_spi_out(*ptr++); + arg_val--; + } + while ((UCSTAT&UCBUSY)); + } + break; + case U8G_COM_MSG_WRITE_SEQ_P: + { + register uint8_t *ptr = arg_ptr; + while( arg_val > 0 ) + { + u8g_msp430_spi_out(u8g_pgm_read(ptr)); + ptr++; + arg_val--; + } + while ((UCSTAT&UCBUSY)); + } + break; + } + return 1; +} + +#else + +uint8_t u8g_com_msp430_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) +{ + return 1; +} + +#endif + + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_null.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_null.c new file mode 100644 index 000000000..1d9deebff --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_null.c @@ -0,0 +1,63 @@ +/* + + u8g_com_null.c + + communication null device + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +*/ + +#include "u8g.h" + +uint8_t u8g_com_null_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) +{ + switch(msg) + { + case U8G_COM_MSG_INIT: + break; + case U8G_COM_MSG_STOP: + break; + + + case U8G_COM_MSG_CHIP_SELECT: + /* arg_val contains the chip number, which should be enabled */ + break; + + + case U8G_COM_MSG_WRITE_BYTE: + break; + case U8G_COM_MSG_WRITE_SEQ: + break; + } + return 1; +} + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_psoc5_ssd_hw_parallel.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_psoc5_ssd_hw_parallel.c new file mode 100644 index 000000000..668c61ba4 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_psoc5_ssd_hw_parallel.c @@ -0,0 +1,107 @@ +/* + + u8g_com_psoc5_ssd_hw_parallel.c + + com interface for Cypress PSoC5 and the SSDxxxx chip variant + I2C protocol + + Universal 8bit Graphics Library + + Copyright (c) 2015, olikraus@gmail.com, schmidt.ronny@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +*/ + +#include "u8g.h" + +#if defined(U8G_CYPRESS_PSOC5) + +#include + +static uint8 dc = 0; // need to store whether next write is data or command + +uint8_t u8g_com_psoc5_ssd_hw_parallel_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) +{ + switch(msg) + { + case U8G_COM_MSG_STOP: + // stop the device + GraphicLCDIntf_Stop(); + break; + + case U8G_COM_MSG_INIT: + // init hardware interfaces, timers, gpios, ... + GraphicLCDIntf_Init(); + break; + + case U8G_COM_MSG_ADDRESS: + // switch from cmd (arg_val = 0) to data mode (arg_val = 1) or vice versa + dc = arg_val; + break; + + case U8G_COM_MSG_CHIP_SELECT: + /* done by the hardware */ + break; + + case U8G_COM_MSG_RESET: + // toggle the reset pin of the display by value in arg_val + nRES_Write(0); + u8g_10MicroDelay(); + nRES_Write(1); + break; + + case U8G_COM_MSG_WRITE_BYTE: + // write byte to the device + GraphicLCDIntf_Write8(dc, arg_val); + break; + + case U8G_COM_MSG_WRITE_SEQ: + case U8G_COM_MSG_WRITE_SEQ_P: + { + // write a sequence of bytes to the device + register uint8_t *ptr = arg_ptr; + while (arg_val-- > 0) + { + GraphicLCDIntf_Write8(dc, *ptr++); + } + } + break; + + + } + return 1; +} + +#else + +uint8_t u8g_com_psoc5_ssd_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) +{ + return 1; +} + +#endif diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_raspberrypi_hw_spi.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_raspberrypi_hw_spi.c new file mode 100644 index 000000000..611391f54 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_raspberrypi_hw_spi.c @@ -0,0 +1,124 @@ +/* + + u8g_com_raspberrypi_hw_spi.c + + Universal 8bit Graphics Library + + Copyright (c) 2012, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + Assumes, that + MOSI is at PORTB, Pin 3 + and + SCK is at PORTB, Pin 5 + + Update for ATOMIC operation done (01 Jun 2013) + U8G_ATOMIC_OR(ptr, val) + U8G_ATOMIC_AND(ptr, val) + U8G_ATOMIC_START() + U8G_ATOMIC_END() + + + +*/ + +#include "u8g.h" + + + +#if defined(U8G_RASPBERRY_PI) + +#include +#include +#include +#include +#include + +uint8_t u8g_com_raspberrypi_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) +{ + switch(msg) + { + case U8G_COM_MSG_STOP: + break; + + case U8G_COM_MSG_INIT: + // check wiringPi setup + if (wiringPiSetup() == -1) + { + printf("wiringPi-Error\n"); + exit(1); + } + + if (wiringPiSPISetup (0, 100000) < 0) + { + printf ("Unable to open SPI device 0: %s\n", strerror (errno)) ; + exit (1) ; + } + + u8g_SetPIOutput(u8g, U8G_PI_RESET); + u8g_SetPIOutput(u8g, U8G_PI_A0); + + break; + + case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ + u8g_SetPILevel(u8g, U8G_PI_A0, arg_val); + break; + + case U8G_COM_MSG_CHIP_SELECT: + /* Done by the SPI hardware */ + break; + + case U8G_COM_MSG_RESET: + u8g_SetPILevel(u8g, U8G_PI_RESET, arg_val); + break; + + case U8G_COM_MSG_WRITE_BYTE: + wiringPiSPIDataRW (0, &arg_val, 1) ; + break; + + case U8G_COM_MSG_WRITE_SEQ: + wiringPiSPIDataRW (0, arg_ptr, arg_val); + break; + + case U8G_COM_MSG_WRITE_SEQ_P: + wiringPiSPIDataRW (0, arg_ptr, arg_val); + break; + } + return 1; +} + +#else + +uint8_t u8g_com_raspberrypi_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) +{ + return 1; +} + +#endif + + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_raspberrypi_ssd_i2c.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_raspberrypi_ssd_i2c.c new file mode 100644 index 000000000..88d85ded2 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_raspberrypi_ssd_i2c.c @@ -0,0 +1,176 @@ +/* + Special pin usage: + U8G_PI_I2C_OPTION additional options + U8G_PI_A0_STATE used to store the last value of the command/data register selection + U8G_PI_SET_A0 1: Signal request to update I2C device with new A0_STATE, 0: Do nothing, A0_STATE matches I2C device + U8G_PI_SCL clock line (NOT USED) + U8G_PI_SDA data line (NOT USED) + + U8G_PI_RESET reset line (currently disabled, see below) + + Protocol: + SLA, Cmd/Data Selection, Arguments + The command/data register is selected by a special instruction byte, which is sent after SLA + + The continue bit is always 0 so that a (re)start is equired for the change from cmd to/data mode +*/ + +#include "u8g.h" + +#if defined(U8G_RASPBERRY_PI) + +#include +#include +#include +#include +#include + +#define I2C_SLA 0x3c +#define I2C_CMD_MODE 0x000 +#define I2C_DATA_MODE 0x040 + +#if defined(U8G_WITH_PINLIST) + +uint8_t u8g_com_raspberrypi_ssd_start_sequence(u8g_t *u8g) +{ + /* are we requested to set the a0 state? */ + if ( u8g->pin_list[U8G_PI_SET_A0] == 0 ) + return 1; + + /* setup bus, might be a repeated start */ + if ( u8g_i2c_start(I2C_SLA) == 0 ) + return 0; + if ( u8g->pin_list[U8G_PI_A0_STATE] == 0 ) + { + if ( u8g_i2c_send_mode(I2C_CMD_MODE) == 0 ) + return 0; + } + else + { + if ( u8g_i2c_send_mode(I2C_DATA_MODE) == 0 ) + return 0; + } + + + u8g->pin_list[U8G_PI_SET_A0] = 0; + return 1; +} + +uint8_t u8g_com_raspberrypi_ssd_i2c_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) +{ + switch(msg) + { + case U8G_COM_MSG_INIT: + u8g_i2c_init(u8g->pin_list[U8G_PI_I2C_OPTION]); + u8g_SetPIOutput(u8g, U8G_PI_RESET); + u8g_SetPIOutput(u8g, U8G_PI_A0); + break; + + case U8G_COM_MSG_STOP: + break; + + case U8G_COM_MSG_RESET: + break; + + case U8G_COM_MSG_CHIP_SELECT: + u8g->pin_list[U8G_PI_A0_STATE] = 0; + u8g->pin_list[U8G_PI_SET_A0] = 1; /* force a0 to set again, also forces start condition */ + if ( arg_val == 0 ) + { + /* disable chip, send stop condition */ + u8g_i2c_stop(); + } + else + { + /* enable, do nothing: any byte writing will trigger the i2c start */ + } + break; + + case U8G_COM_MSG_WRITE_BYTE: + //u8g->pin_list[U8G_PI_SET_A0] = 1; + if ( u8g_com_raspberrypi_ssd_start_sequence(u8g) == 0 ) + return u8g_i2c_stop(), 0; + if ( u8g_i2c_send_byte(arg_val) == 0 ) + return u8g_i2c_stop(), 0; + // u8g_i2c_stop(); + break; + + case U8G_COM_MSG_WRITE_SEQ: + //u8g->pin_list[U8G_PI_SET_A0] = 1; + if ( u8g_com_raspberrypi_ssd_start_sequence(u8g) == 0 ) + return u8g_i2c_stop(), 0; + { + register uint8_t *ptr = (uint8_t *)arg_ptr; + while( arg_val > 0 ) + { + if ( u8g_i2c_send_byte(*ptr++) == 0 ) + return u8g_i2c_stop(), 0; + arg_val--; + } + } + // u8g_i2c_stop(); + break; + + case U8G_COM_MSG_WRITE_SEQ_P: + //u8g->pin_list[U8G_PI_SET_A0] = 1; + if ( u8g_com_raspberrypi_ssd_start_sequence(u8g) == 0 ) + return u8g_i2c_stop(), 0; + { + register uint8_t *ptr = (uint8_t *)arg_ptr; + while( arg_val > 0 ) + { + if ( u8g_i2c_send_byte(u8g_pgm_read(ptr)) == 0 ) + return 0; + ptr++; + arg_val--; + } + } + // u8g_i2c_stop(); + break; + + case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ + u8g->pin_list[U8G_PI_A0_STATE] = arg_val; + u8g->pin_list[U8G_PI_SET_A0] = 1; /* force a0 to set again */ + +#ifdef OLD_CODE + if ( i2c_state != 0 ) + { + u8g_i2c_stop(); + i2c_state = 0; + } + + if ( u8g_com_raspberrypi_ssd_start_sequence(arg_val) == 0 ) + return 0; + + /* setup bus, might be a repeated start */ + /* + if ( u8g_i2c_start(I2C_SLA) == 0 ) + return 0; + if ( arg_val == 0 ) + { + i2c_state = 1; + + if ( u8g_i2c_send_byte(I2C_CMD_MODE) == 0 ) + return 0; + } + else + { + i2c_state = 2; + if ( u8g_i2c_send_byte(I2C_DATA_MODE) == 0 ) + return 0; + } + */ +#endif + break; + } + return 1; +} + +#else /* defined(U8G_WITH_PINLIST) */ + +uint8_t u8g_com_raspberrypi_ssd_i2c_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) { + return 1; +} + +#endif /* defined(U8G_WITH_PINLIST) */ +#endif diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_std_sw_spi.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_std_sw_spi.c new file mode 100644 index 000000000..91f58aed4 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_com_std_sw_spi.c @@ -0,0 +1,140 @@ +/* + + u8g_com_std_sw_spi.c + + Universal 8bit Graphics Library + + Copyright (c) 2015, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +*/ + +#include "u8g.h" + +#if defined(U8G_WITH_PINLIST) + +static void u8g_sw_spi_shift_out(uint8_t dataPin, uint8_t clockPin, uint8_t val) +{ + uint8_t i = 8; + do + { + if ( val & 128 ) + u8g_SetPinLevel(dataPin, 1); + else + u8g_SetPinLevel(dataPin, 0); + val <<= 1; + u8g_MicroDelay(); /* 23 Sep 2012 */ + //delay(1); + u8g_SetPinLevel(clockPin, 1); + u8g_MicroDelay(); /* 23 Sep 2012 */ + //delay(1); + u8g_SetPinLevel(clockPin, 0); + u8g_MicroDelay(); /* 23 Sep 2012 */ + //delay(1); + i--; + } while( i != 0 ); +} + +uint8_t u8g_com_std_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) +{ + switch(msg) + { + case U8G_COM_MSG_INIT: + u8g_SetPIOutput(u8g, U8G_PI_SCK); + u8g_SetPIOutput(u8g, U8G_PI_MOSI); + u8g_SetPIOutput(u8g, U8G_PI_RESET); + u8g_SetPIOutput(u8g, U8G_PI_CS); + u8g_SetPIOutput(u8g, U8G_PI_A0); + u8g_SetPILevel(u8g, U8G_PI_SCK, 0); + u8g_SetPILevel(u8g, U8G_PI_MOSI, 0); + break; + + case U8G_COM_MSG_STOP: + break; + + case U8G_COM_MSG_RESET: + u8g_SetPILevel(u8g, U8G_PI_RESET, arg_val); + break; + + case U8G_COM_MSG_CHIP_SELECT: + if ( arg_val == 0 ) + { + /* disable */ + u8g_SetPILevel(u8g, U8G_PI_CS, 1); + } + else + { + /* enable */ + u8g_SetPILevel(u8g, U8G_PI_SCK, 0); + u8g_SetPILevel(u8g, U8G_PI_CS, 0); + } + break; + + case U8G_COM_MSG_WRITE_BYTE: + u8g_sw_spi_shift_out(u8g->pin_list[U8G_PI_MOSI], u8g->pin_list[U8G_PI_SCK], arg_val); + break; + + case U8G_COM_MSG_WRITE_SEQ: + { + register uint8_t *ptr = arg_ptr; + while( arg_val > 0 ) + { + u8g_sw_spi_shift_out(u8g->pin_list[U8G_PI_MOSI], u8g->pin_list[U8G_PI_SCK], *ptr++); + arg_val--; + } + } + break; + + case U8G_COM_MSG_WRITE_SEQ_P: + { + register uint8_t *ptr = arg_ptr; + while( arg_val > 0 ) + { + u8g_sw_spi_shift_out(u8g->pin_list[U8G_PI_MOSI], u8g->pin_list[U8G_PI_SCK], u8g_pgm_read(ptr)); + ptr++; + arg_val--; + } + } + break; + + case U8G_COM_MSG_ADDRESS: /* define cmd (arg_val = 0) or data mode (arg_val = 1) */ + u8g_SetPILevel(u8g, U8G_PI_A0, arg_val); + break; + } + return 1; +} + +#else + + +uint8_t u8g_com_std_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr) +{ + return 1; +} + + +#endif diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_cursor.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_cursor.c new file mode 100644 index 000000000..62075ba6e --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_cursor.c @@ -0,0 +1,99 @@ +/* + + u8g_cursor.c + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +*/ + +#include "u8g.h" + +void u8g_SetCursorFont(u8g_t *u8g, const u8g_pgm_uint8_t *cursor_font) +{ + u8g->cursor_font = cursor_font; +} + +void u8g_SetCursorStyle(u8g_t *u8g, uint8_t encoding) +{ + u8g->cursor_encoding = encoding; +} + +void u8g_SetCursorColor(u8g_t *u8g, uint8_t fg, uint8_t bg) +{ + u8g->cursor_bg_color = bg; + u8g->cursor_fg_color = fg; +} + +void u8g_SetCursorPos(u8g_t *u8g, u8g_uint_t cursor_x, u8g_uint_t cursor_y) +{ + u8g->cursor_x = cursor_x; + u8g->cursor_y = cursor_y; +} + +void u8g_EnableCursor(u8g_t *u8g) +{ + u8g->cursor_fn = u8g_DrawCursor; +} + +void u8g_DisableCursor(u8g_t *u8g) +{ + u8g->cursor_fn = (u8g_draw_cursor_fn)0; +} + +void u8g_DrawCursor(u8g_t *u8g) +{ + const u8g_pgm_uint8_t *font; + uint8_t color; + uint8_t encoding = u8g->cursor_encoding; + + /* get current values */ + color = u8g_GetColorIndex(u8g); + font = u8g->font; + + /* draw cursor */ + u8g->font = u8g->cursor_font; + encoding++; + u8g_SetColorIndex(u8g, u8g->cursor_bg_color); + /* 27. Jan 2013: replaced call to u8g_DrawGlyph with call to u8g_draw_glyph */ + /* required, because y adjustment should not happen to the cursor fonts */ + u8g_draw_glyph(u8g, u8g->cursor_x, u8g->cursor_y, encoding); + encoding--; + u8g_SetColorIndex(u8g, u8g->cursor_fg_color); + /* 27. Jan 2013: replaced call to u8g_DrawGlyph with call to u8g_draw_glyph */ + /* required, because y adjustment should not happen to the cursor fonts */ + /* u8g_DrawGlyph(u8g, u8g->cursor_x, u8g->cursor_y, encoding); */ + u8g_draw_glyph(u8g, u8g->cursor_x, u8g->cursor_y, encoding); + + /* restore previous values */ + u8g->font = font; + u8g_SetColorIndex(u8g, color); +} + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_delay.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_delay.c new file mode 100644 index 000000000..76137b274 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_delay.c @@ -0,0 +1,323 @@ +/* + + u8g_delay.c + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + void u8g_Delay(uint16_t val) Delay by "val" milliseconds + void u8g_MicroDelay(void) Delay be one microsecond + void u8g_10MicroDelay(void) Delay by 10 microseconds + + +*/ + + +#include "u8g.h" + +/*==== Part 1: Derive suitable delay procedure ====*/ + +#if defined(ARDUINO) + +# if ARDUINO < 100 +# include +# else +# include +# endif + +/* issue 353 */ +#if defined(ARDUINO_ARCH_SAMD) +# include +#endif + +# if defined(__AVR__) +# define USE_AVR_DELAY +# elif defined(__PIC32MX) +# define USE_PIC32_DELAY +# elif defined(__arm__) /* Arduino Due & Teensy */ +# define USE_ARDUINO_DELAY +# else +# define USE_ARDUINO_DELAY +# endif +#elif defined(_GNU_SOURCE) +# define USE_LINUX_DELAY +#elif defined(__MSP430__) +# define USE_MSP430_DELAY +#elif defined(U8G_RASPBERRY_PI) +# define USE_RASPBERRYPI_DELAY +#elif defined(__AVR__) +# define USE_AVR_DELAY +#elif defined(__18CXX) +# define USE_PIC18_DELAY +#elif defined(U8G_CYPRESS_PSOC5) +#define USE_PSOC5_DELAY +#elif defined(__arm__) +/* do not define anything, all procedures are expected to be defined outside u8glib */ + +/* +void u8g_Delay(uint16_t val); +void u8g_MicroDelay(void); +void u8g_10MicroDelay(void); +*/ + +#else +# define USE_DUMMY_DELAY +#endif + + + +/*==== Part 2: Definition of the delay procedures ====*/ + +/*== Raspberry Pi Delay ==*/ +#if defined (USE_RASPBERRYPI_DELAY) +#include +//#include "/usr/local/include/wiringPi.h" +void u8g_Delay(uint16_t val) { + //delay(val); + //usleep((uint32_t)val*(uint32_t)1000); + delayMicroseconds((uint32_t)val*(uint32_t)1000); +} +void u8g_MicroDelay(void) +{ + usleep(1); +} +void u8g_10MicroDelay(void) +{ + usleep(10); +} +#endif + +#if defined(USE_LINUX_DELAY) +void u8g_Delay(uint16_t val) { + //delay(val); + usleep((uint32_t)val*(uint32_t)1000); +} +void u8g_MicroDelay(void) +{ + usleep(1); +} +void u8g_10MicroDelay(void) +{ + usleep(10); +} +#endif + + + +/*== AVR Delay ==*/ + +#if defined(USE_AVR_DELAY) +#include +#include +#include + +/* + Delay by the provided number of milliseconds. + Thus, a 16 bit value will allow a delay of 0..65 seconds + Makes use of the _delay_loop_2 + + _delay_loop_2 will do a delay of n * 4 prozessor cycles. + with f = F_CPU cycles per second, + n = f / (1000 * 4 ) + with f = 16000000 the result is 4000 + with f = 1000000 the result is 250 + + the millisec loop, gcc requires the following overhead: + - movev 1 + - subwi 2x2 + - bne i 2 + ==> 7 cycles + ==> must be devided by 4, rounded up 7/4 = 2 +*/ +void u8g_Delay(uint16_t val) +{ + /* old version did a call to the arduino lib: delay(val); */ + while( val != 0 ) + { + _delay_loop_2( (F_CPU / 4000 ) -2); + val--; + } +} + +/* delay by one micro second */ +void u8g_MicroDelay(void) +{ +#if (F_CPU / 4000000 ) > 0 + _delay_loop_2( (F_CPU / 4000000 ) ); +#endif +} + +/* delay by 10 micro seconds */ +void u8g_10MicroDelay(void) +{ +#if (F_CPU / 400000 ) > 0 + _delay_loop_2( (F_CPU / 400000 ) ); +#endif +} + +#endif + + +/*== Delay for PIC18 (not tested) ==*/ + +#if defined(USE_PIC18_DELAY) +#include +#define GetSystemClock() (64000000ul) // Hz +#define GetInstructionClock() (GetSystemClock()/4) + +void u8g_Delay(uint16_t val) +{/* + unsigned int _iTemp = (val); + while(_iTemp--) + Delay1KTCYx((GetInstructionClock()+999999)/1000000); + */ +} +void u8g_MicroDelay(void) +{ + /* not implemented */ +} +void u8g_10MicroDelay(void) +{ + /* not implemented */ +} +#endif + + +/*== Arduino Delay ==*/ +#if defined(USE_ARDUINO_DELAY) +void u8g_Delay(uint16_t val) +{ +#if defined(__arm__) + delayMicroseconds((uint32_t)val*(uint32_t)1000); +#else + delay(val); +#endif +} +void u8g_MicroDelay(void) +{ + delayMicroseconds(1); +} +void u8g_10MicroDelay(void) +{ + delayMicroseconds(10); +} +#endif + +#if defined(USE_PIC32_DELAY) +/* + Assume chipkit here with F_CPU correctly defined + The problem was, that u8g_Delay() is called within the constructor. + It seems that the chipkit is not fully setup at this time, so a + call to delay() will not work. So here is my own implementation. + +*/ +#define CPU_COUNTS_PER_SECOND (F_CPU/2UL) +#define TICKS_PER_MILLISECOND (CPU_COUNTS_PER_SECOND/1000UL) +#include "plib.h" +void u8g_Delay(uint16_t val) +{ + uint32_t d; + uint32_t s; + d = val; + d *= TICKS_PER_MILLISECOND; + s = ReadCoreTimer(); + while ( (uint32_t)(ReadCoreTimer() - s) < d ) + ; +} + +void u8g_MicroDelay(void) +{ + uint32_t d; + uint32_t s; + d = TICKS_PER_MILLISECOND/1000; + s = ReadCoreTimer(); + while ( (uint32_t)(ReadCoreTimer() - s) < d ) + ; +} + +void u8g_10MicroDelay(void) +{ + uint32_t d; + uint32_t s; + d = TICKS_PER_MILLISECOND/100; + s = ReadCoreTimer(); + while ( (uint32_t)(ReadCoreTimer() - s) < d ) + ; +} + +#endif + +#if defined(USE_MSP430_DELAY) +#include + +#ifndef F_CPU +#define F_CPU 1000000UL +#endif + + +void u8g_Delay(uint16_t val) +{ + int t; + for (t=0; t < val; t++) + { + __delay_cycles(F_CPU/1000UL); + } +} +void u8g_MicroDelay(void) +{ + __delay_cycles(F_CPU/1000000UL); +} + +void u8g_10MicroDelay(void) +{ + __delay_cycles(F_CPU/100000UL); +} +#endif +#if defined USE_PSOC5_DELAY + #include + void u8g_Delay(uint16_t val) {CyDelay(val);}; + void u8g_MicroDelay(void) {CyDelay(1);}; + void u8g_10MicroDelay(void) {CyDelay(10);}; +#endif + + +/*== Any other systems: Dummy Delay ==*/ +#if defined(USE_DUMMY_DELAY) +void u8g_Delay(uint16_t val) +{ + /* do not know how to delay... */ +} +void u8g_MicroDelay(void) +{ +} +void u8g_10MicroDelay(void) +{ +} +#endif diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_a2_micro_printer.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_a2_micro_printer.c new file mode 100644 index 000000000..8968a26da --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_a2_micro_printer.c @@ -0,0 +1,199 @@ +/* + + u8g_dev_a2_micro_printer_ds.c + + Use DC2 bitmap command of the A2 Micro panel termal printer + double stroke + + Universal 8bit Graphics Library + + Copyright (c) 2013, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +*/ + +#include "u8g.h" + +#define LINE_DELAY 40 + + +uint8_t u8g_dev_a2_micro_printer_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_NONE); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + uint8_t y, i, j; + uint8_t *ptr; + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + + y = pb->p.page_y0; + ptr = pb->buf; + + u8g_WriteByte(u8g, dev, 27); /* ESC */ + u8g_WriteByte(u8g, dev, 55 ); /* parameter command */ + u8g_WriteByte(u8g, dev, 7); /* Max printing dots,Unit(8dots),Default:7(64 dots) 8*(x+1)*/ + u8g_WriteByte(u8g, dev, 160); /* 3-255 Heating time,Unit(10us),Default:80(800us) */ + u8g_WriteByte(u8g, dev, 20); /* 0-255 Heating interval,Unit(10us),Default:2(20us)*/ + + u8g_WriteByte(u8g, dev, 18); /* DC2 */ + u8g_WriteByte(u8g, dev, 42 ); /* * */ + u8g_WriteByte(u8g, dev, pb->p.page_height ); + u8g_WriteByte(u8g, dev, pb->width/8 ); + + for( i = 0; i < pb->p.page_height; i ++ ) + { + for( j = 0; j < pb->width/8; j++ ) + { + u8g_WriteByte(u8g, dev, *ptr); + ptr++; + } + u8g_Delay(LINE_DELAY); + y++; + } + + /* set parameters back to their default values */ + u8g_WriteByte(u8g, dev, 27); /* ESC */ + u8g_WriteByte(u8g, dev, 55 ); /* parameter command */ + u8g_WriteByte(u8g, dev, 7); /* Max printing dots,Unit(8dots),Default:7(64 dots) 8*(x+1)*/ + u8g_WriteByte(u8g, dev, 80); /* 3-255 Heating time,Unit(10us),Default:80(800us) */ + u8g_WriteByte(u8g, dev, 2); /* 0-255 Heating interval,Unit(10us),Default:2(20us)*/ + + } + break; + } + return u8g_dev_pb8h1_base_fn(u8g, dev, msg, arg); +} + +static uint8_t u8g_dev_expand4(uint8_t val) +{ + uint8_t a,b,c,d; + a = val&1; + b = (val&2)<<1; + c = (val&4)<<2; + d = (val&8)<<3; + a |=b; + a |=c; + a |=d; + a |= a<<1; + return a; +} + +uint8_t u8g_dev_a2_micro_printer_double_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_NONE); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_FIRST: + { + //u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + //u8g_WriteByte(u8g, dev, 18); /* DC2 */ + //u8g_WriteByte(u8g, dev, 42 ); /* * */ + //u8g_WriteByte(u8g, dev, pb->p.total_height*2 ); + //u8g_WriteByte(u8g, dev, pb->width/8*2 ); + } + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + uint8_t y, i, j; + uint8_t *ptr; + uint8_t *p2; + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + + y = pb->p.page_y0; + ptr = pb->buf; + //u8g_WriteByte(u8g, dev, 18); /* DC2 */ + //u8g_WriteByte(u8g, dev, 35 ); /* # */ + //u8g_WriteByte(u8g, dev, 0x0ff ); /* max */ + + u8g_WriteByte(u8g, dev, 27); /* ESC */ + u8g_WriteByte(u8g, dev, 55 ); /* parameter command */ + u8g_WriteByte(u8g, dev, 7); /* Max printing dots,Unit(8dots),Default:7(64 dots) 8*(x+1)*/ + u8g_WriteByte(u8g, dev, 160); /* 3-255 Heating time,Unit(10us),Default:80(800us) */ + u8g_WriteByte(u8g, dev, 20); /* 0-255 Heating interval,Unit(10us),Default:2(20us)*/ + + u8g_WriteByte(u8g, dev, 18); /* DC2 */ + u8g_WriteByte(u8g, dev, 42 ); /* * */ + u8g_WriteByte(u8g, dev, pb->p.page_height*2 ); + u8g_WriteByte(u8g, dev, pb->width/8*2 ); + + for( i = 0; i < pb->p.page_height; i ++ ) + { + p2 = ptr; + for( j = 0; j < pb->width/8; j++ ) + { + u8g_WriteByte(u8g, dev, u8g_dev_expand4(*p2 >> 4)); + u8g_WriteByte(u8g, dev, u8g_dev_expand4(*p2 & 15)); + p2++; + } + u8g_Delay(LINE_DELAY); + p2 = ptr; + for( j = 0; j < pb->width/8; j++ ) + { + u8g_WriteByte(u8g, dev, u8g_dev_expand4(*p2 >> 4)); + u8g_WriteByte(u8g, dev, u8g_dev_expand4(*p2 & 15)); + p2++; + } + u8g_Delay(LINE_DELAY); + ptr += pb->width/8; + y++; + } + + /* set parameters back to their default values */ + u8g_WriteByte(u8g, dev, 27); /* ESC */ + u8g_WriteByte(u8g, dev, 55 ); /* parameter command */ + u8g_WriteByte(u8g, dev, 7); /* Max printing dots,Unit(8dots),Default:7(64 dots) 8*(x+1)*/ + u8g_WriteByte(u8g, dev, 80); /* 3-255 Heating time,Unit(10us),Default:80(800us) */ + u8g_WriteByte(u8g, dev, 2); /* 0-255 Heating interval,Unit(10us),Default:2(20us)*/ + + } + break; + } + return u8g_dev_pb8h1_base_fn(u8g, dev, msg, arg); +} + +#if defined(U8G_16BIT) +U8G_PB_DEV(u8g_dev_a2_micro_printer_384x240, 384, 240, 8, u8g_dev_a2_micro_printer_fn, u8g_com_null_fn); +U8G_PB_DEV(u8g_dev_a2_micro_printer_192x360_ds, 192, 360, 8, u8g_dev_a2_micro_printer_double_fn, u8g_com_null_fn); +U8G_PB_DEV(u8g_dev_a2_micro_printer_192x720_ds, 192, 720, 8, u8g_dev_a2_micro_printer_double_fn, u8g_com_null_fn); +#else +U8G_PB_DEV(u8g_dev_a2_micro_printer_384x240, 240, 240, 8, u8g_dev_a2_micro_printer_fn, u8g_com_null_fn); +U8G_PB_DEV(u8g_dev_a2_micro_printer_192x360_ds, 192, 240, 8, u8g_dev_a2_micro_printer_double_fn, u8g_com_null_fn); +U8G_PB_DEV(u8g_dev_a2_micro_printer_192x720_ds, 192, 240, 8, u8g_dev_a2_micro_printer_double_fn, u8g_com_null_fn); +#endif + +U8G_PB_DEV(u8g_dev_a2_micro_printer_192x120_ds, 192, 120, 8, u8g_dev_a2_micro_printer_double_fn, u8g_com_null_fn); diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_flipdisc_2x7.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_flipdisc_2x7.c new file mode 100644 index 000000000..d86d08e05 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_flipdisc_2x7.c @@ -0,0 +1,92 @@ +/* + + u8g_dev_flipdisc.c + + 1-Bit (BW) Driver for flip disc matrix + 2x 7 pixel height + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +*/ + +#include "u8g.h" + +#define WIDTH 28 +#define HEIGHT 14 +#define PAGE_HEIGHT 14 + +/* + Write data to the flip disc matrix. + This procedure must be implemented by the user. + Arguments: + id: Id for the matrix. Currently always 0. + page: A page has a height of 14 pixel. For a matrix with HEIGHT == 14 this will be always 0 + width: The width of the flip disc matrix. Always equal to WIDTH + row1: first data line (7 pixel per byte) + row2: first data line (7 pixel per byte) +*/ +void writeFlipDiscMatrix(uint8_t id, uint8_t page, uint8_t width, uint8_t *row1, uint8_t *row2); + + + +void (*u8g_write_flip_disc_matrix)(uint8_t id, uint8_t page, uint8_t width, uint8_t *row1, uint8_t *row2); + +void u8g_SetFlipDiscCallback(u8g_t *u8g, void (*cb)(uint8_t id, uint8_t page, uint8_t width, uint8_t *row1, uint8_t *row2)) +{ + u8g_write_flip_disc_matrix = cb; +} + +uint8_t u8g_dev_flipdisc_2x7_bw_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + + /* current page: pb->p.page */ + /* ptr to the buffer: pb->buf */ + + (*u8g_write_flip_disc_matrix)(0, pb->p.page, WIDTH, pb->buf, (uint8_t *)(pb->buf)+WIDTH); + } + break; + case U8G_DEV_MSG_CONTRAST: + return 1; + } + return u8g_dev_pb14v1_base_fn(u8g, dev, msg, arg); +} + +uint8_t u8g_dev_flipdisc_2x7_bw_buf[WIDTH*2] U8G_NOCOMMON ; +u8g_pb_t u8g_dev_flipdisc_2x7_bw_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_flipdisc_2x7_bw_buf}; +u8g_dev_t u8g_dev_flipdisc_2x7 = { u8g_dev_flipdisc_2x7_bw_fn, &u8g_dev_flipdisc_2x7_bw_pb, u8g_com_null_fn }; diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_gprof.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_gprof.c new file mode 100644 index 000000000..cb2342ac4 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_gprof.c @@ -0,0 +1,130 @@ +/* + + u8g_dev_gprof.c + + Device for performance measurement with gprof. + Does not write any data, but uses a buffer. + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + +*/ + +#include "u8g.h" + + +#define WIDTH 128 +#define HEIGHT 64 +#define PAGE_HEIGHT 8 + +uint8_t u8g_dev_gprof_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); + +uint8_t u8g_pb_dev_gprof_buf[WIDTH]; +u8g_pb_t u8g_pb_dev_gprof = { {PAGE_HEIGHT, HEIGHT, 0, 0, 0}, WIDTH, u8g_pb_dev_gprof_buf }; + +u8g_dev_t u8g_dev_gprof = { u8g_dev_gprof_fn, &u8g_pb_dev_gprof, NULL }; + +uint8_t u8g_dev_gprof_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + + switch(msg) + { + case U8G_DEV_MSG_INIT: + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_FIRST: + u8g_pb_Clear(pb); + u8g_page_First(&(pb->p)); + break; + case U8G_DEV_MSG_PAGE_NEXT: + /* + { + uint8_t i, j; + uint8_t page_height; + page_height = pb->p.page_y1; + page_height -= pb->p.page_y0; + page_height++; + for( j = 0; j < page_height; j++ ) + { + printf("%02d ", j); + for( i = 0; i < WIDTH; i++ ) + { + if ( (u8g_pb_dev_stdout_buf[i] & (1<p)) == 0 ) + { + //printf("\n"); + return 0; + } + u8g_pb_Clear(pb); + break; +#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION + case U8G_DEV_MSG_IS_BBX_INTERSECTION: + { + u8g_dev_arg_bbx_t *bbx = (u8g_dev_arg_bbx_t *)arg; + u8g_uint_t x2, y2; + + y2 = bbx->y; + y2 += bbx->h; + y2--; + + if ( u8g_pb_IsYIntersection(pb, bbx->y, y2) == 0 ) + return 0; + + /* maybe this one can be skiped... probability is very high to have an intersection, so it would be ok to always return 1 */ + x2 = bbx->x; + x2 += bbx->w; + x2--; + + if ( u8g_pb_IsXIntersection(pb, bbx->x, x2) == 0 ) + return 0; + } + return 1; +#endif + case U8G_DEV_MSG_GET_PAGE_BOX: + u8g_pb_GetPageBox(pb, (u8g_box_t *)arg); + break; + case U8G_DEV_MSG_SET_COLOR_ENTRY: + break; + case U8G_DEV_MSG_SET_XY_CB: + break; + } + return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); +} diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ht1632.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ht1632.c new file mode 100644 index 000000000..4977793f1 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ht1632.c @@ -0,0 +1,281 @@ +/* + + u8g_dev_ht1632.c + + 1-Bit (BW) Driver for HT1632 controller + + Universal 8bit Graphics Library + + Copyright (c) 2013, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + + U8G_PIN_NONE can be used as argument + + uint8_t u8g_InitSPI(u8g_t *u8g, u8g_dev_t *dev, uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset) + { + ... + u8g->pin_list[U8G_PI_SCK] = sck; + u8g->pin_list[U8G_PI_MOSI] = mosi; + u8g->pin_list[U8G_PI_CS] = cs; + u8g->pin_list[U8G_PI_A0] = a0; + u8g->pin_list[U8G_PI_RESET] = reset; + +mapping + +#define DATA_PIN --> U8G_PI_MOSI +#define WR_PIN --> U8G_PI_SCK +#define CS_PIN --> U8G_PI_CS + U8G_PI_A0 --> not used + U8G_PI_RESET --> not used + +Usage: + + u8g_InitSPI(&u8g, &u8g_dev_ht1632_24x16, WR_PIN, DATA_IN, CS_PIN, U8G_PIN_NONE, U8G_PIN_NONE) + +*/ + +#include "u8g.h" + +#define WIDTH 24 +#define HEIGHT 16 +#define PAGE_HEIGHT 16 + +/* http://forum.arduino.cc/index.php?topic=168537.0 */ + +#define HT1632_CMD_SYSDIS 0x00 // CMD= 0000-0000-x Turn off oscil +#define HT1632_CMD_SYSON 0x01 // CMD= 0000-0001-x Enable system oscil +#define HT1632_CMD_LEDOFF 0x02 // CMD= 0000-0010-x LED duty cycle gen off +#define HT1632_CMD_LEDON 0x03 // CMD= 0000-0011-x LEDs ON +#define HT1632_CMD_BLOFF 0x08 // CMD= 0000-1000-x Blink OFF +#define HT1632_CMD_BLON 0x09 // CMD= 0000-1001-x Blink On +#define HT1632_CMD_SLVMD 0x10 // CMD= 0001-00xx-x Slave Mode +#define HT1632_CMD_MSTMD 0x14 // CMD= 0001-01xx-x Master Mode +#define HT1632_CMD_RCCLK 0x18 // CMD= 0001-10xx-x Use on-chip clock +#define HT1632_CMD_EXTCLK 0x1C // CMD= 0001-11xx-x Use external clock +#define HT1632_CMD_COMS00 0x20 // CMD= 0010-ABxx-x commons options +#define HT1632_CMD_COMS01 0x24 // CMD= 0010-ABxx-x commons options +#define HT1632_CMD_COMS10 0x28 // CMD= 0010-ABxx-x commons options +#define HT1632_CMD_COMS11 0x2C // P-MOS OUTPUT AND 16COMMON OPTION +#define HT1632_CMD_PWM 0xA0 // CMD= 101x-PPPP-x PWM duty cycle + +#define HT1632_ID_CMD 4 /* ID = 100 - Commands */ +#define HT1632_ID_RD 6 /* ID = 110 - Read RAM */ +#define HT1632_ID_WR 5 /* ID = 101 - Write RAM */ + +#define HT1632_ID_LEN 3 // IDs are 3 bits +#define HT1632_CMD_LEN 8 // CMDs are 8 bits +#define HT1632_DATA_LEN 8 // Data are 4*2 bits +#define HT1632_ADDR_LEN 7 // Address are 7 bits + +#if defined(ARDUINO) + +#if ARDUINO < 100 +#include +#else +#include +#endif + +//#define WR_PIN 3 +//#define DATA_PIN 2 +//#define CS_PIN 4 + +void ht1632_write_data_MSB(u8g_t *u8g, uint8_t cnt, uint8_t data, uint8_t extra) +{ + int8_t i; + uint8_t data_pin = u8g->pin_list[U8G_PI_MOSI]; + uint8_t wr_pin = u8g->pin_list[U8G_PI_SCK]; + + for(i = cnt - 1; i >= 0; i--) + { + if ((data >> i) & 1) + { + digitalWrite(data_pin, HIGH); + } + else + { + digitalWrite(data_pin, LOW); + } + + digitalWrite(wr_pin, LOW); + u8g_MicroDelay(); + digitalWrite(wr_pin, HIGH); + u8g_MicroDelay(); + } + + // Send an extra bit + if (extra) + { + digitalWrite(data_pin, HIGH); + digitalWrite(wr_pin, LOW); + u8g_MicroDelay(); + digitalWrite(wr_pin, HIGH); + u8g_MicroDelay(); + } +} + +void ht1632_write_data(u8g_t *u8g, uint8_t cnt, uint8_t data) +{ + uint8_t i; + uint8_t data_pin = u8g->pin_list[U8G_PI_MOSI]; + uint8_t wr_pin = u8g->pin_list[U8G_PI_SCK]; + for (i = 0; i < cnt; i++) + { + + if ((data >> i) & 1) { + digitalWrite(data_pin, HIGH); + } + else { + digitalWrite(data_pin, LOW); + } + + digitalWrite(wr_pin, LOW); + u8g_MicroDelay(); + digitalWrite(wr_pin, HIGH); + u8g_MicroDelay(); + } +} + + +void ht1632_init(u8g_t *u8g) +{ + //uint8_t i; + uint8_t data_pin = u8g->pin_list[U8G_PI_MOSI]; + uint8_t wr_pin = u8g->pin_list[U8G_PI_SCK]; + uint8_t cs_pin = u8g->pin_list[U8G_PI_CS]; + pinMode(data_pin, OUTPUT); + pinMode(wr_pin, OUTPUT); + pinMode(cs_pin, OUTPUT); + + digitalWrite(data_pin, HIGH); + digitalWrite(wr_pin, HIGH); + digitalWrite(cs_pin, HIGH); + + digitalWrite(cs_pin, LOW); + /* init display once after startup */ + ht1632_write_data_MSB(u8g, 3, HT1632_ID_CMD, false); // IDs are 3 bits + ht1632_write_data_MSB(u8g, 8, HT1632_CMD_SYSDIS, true); // 8 bits + ht1632_write_data_MSB(u8g, 8, HT1632_CMD_SYSON, true); // 8 bits + ht1632_write_data_MSB(u8g, 8, HT1632_CMD_COMS11, true); // 8 bits + ht1632_write_data_MSB(u8g, 8, HT1632_CMD_LEDON, true); // 8 bits + ht1632_write_data_MSB(u8g, 8, HT1632_CMD_BLOFF, true); // 8 bits + ht1632_write_data_MSB(u8g, 8, HT1632_CMD_PWM+15, true); // 8 bits + digitalWrite(cs_pin, HIGH); + + /* removed following (debug) code */ + /* + digitalWrite(cs_pin, LOW); + ht1632_write_data_MSB(u8g, 3, HT1632_ID_WR, false); // Send "write to display" command + ht1632_write_data_MSB(u8g, 7, 0, false); + for(i = 0; i<48; ++i) + { + ht1632_write_data(u8g, 8, 0xFF); + } + digitalWrite(cs_pin, HIGH); + */ +} + +/* + page: 0=data contain lines 0..16, 1=data contain lines 16..32 (a 24x16 display will only have page 0) + cnt: width of the display + data: pointer to a buffer with 2*cnt bytes. +*/ +void ht1632_transfer_data(u8g_t *u8g, uint8_t page, uint8_t cnt, uint8_t *data) +{ + uint8_t addr; + uint8_t cs_pin = u8g->pin_list[U8G_PI_CS]; + /* send data to the ht1632 */ + digitalWrite(cs_pin, LOW); + ht1632_write_data_MSB(u8g, 3, HT1632_ID_WR, false); // Send "write to display" command + ht1632_write_data_MSB(u8g, 7, page*2*cnt, false); + + // Operating in progressive addressing mode + for (addr = 0; addr < cnt; addr++) + { + ht1632_write_data(u8g, 8, data[addr]); + ht1632_write_data(u8g, 8, data[addr+cnt]); + } + digitalWrite(cs_pin, HIGH); +} + +/* value is between 0...15 */ +void ht1632_set_contrast(u8g_t *u8g, uint8_t value) +{ + uint8_t cs_pin = u8g->pin_list[U8G_PI_CS]; + digitalWrite(cs_pin, LOW); + ht1632_write_data_MSB(u8g, 3, HT1632_ID_CMD, false); + ht1632_write_data_MSB(u8g, 8, HT1632_CMD_PWM + value, false); + digitalWrite(cs_pin, HIGH); +} + +#else +void ht1632_init(u8g_t *u8g) +{ +} + +void ht1632_transfer_data(u8g_t *u8g, uint8_t page, uint8_t cnt, uint8_t *data) +{ +} + +void ht1632_set_contrast(u8g_t *u8g, uint8_t value) +{ +} + +#endif /* ARDUINO */ + + +uint8_t u8g_dev_ht1632_24x16_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + ht1632_init(u8g); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + + /* current page: pb->p.page */ + /* ptr to the buffer: pb->buf */ + ht1632_transfer_data(u8g, pb->p.page, WIDTH, pb->buf); + } + break; + case U8G_DEV_MSG_CONTRAST: + /* values passed to SetContrast() are between 0 and 255, scale down to 0...15 */ + ht1632_set_contrast(u8g, (*(uint8_t *)arg) >> 4); + return 1; + } + return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg); +} + +uint8_t u8g_dev_ht1632_24x16_buf[WIDTH*2] U8G_NOCOMMON ; +u8g_pb_t u8g_dev_ht1632_24x16_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_ht1632_24x16_buf}; +u8g_dev_t u8g_dev_ht1632_24x16 = { u8g_dev_ht1632_24x16_fn, &u8g_dev_ht1632_24x16_pb, u8g_com_null_fn }; + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ili9325d_320x240.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ili9325d_320x240.c new file mode 100644 index 000000000..35db466b2 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ili9325d_320x240.c @@ -0,0 +1,326 @@ +/* + + u8g_dev_ili9325d_320x240.c + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + Color format + Red: 5 Bit + Green: 6 Bit + Blue: 5 Bit + + +*/ + +#include "u8g.h" + +#define WIDTH 240 + +#if defined(U8G_16BIT) +#define HEIGHT 320 +#else +/* if the user tries to compile the 8Bit version of the lib, then restrict the height to something which fits to 8Bit */ +#define HEIGHT 240 +#endif +#define PAGE_HEIGHT 4 + + +/* + reference board for this device: + http://iteadstudio.com/store/index.php?main_page=product_info&cPath=57_58&products_id=55 + documentation: + http://iteadstudio.com/Downloadfile/ITDB02_material.rar + datasheet + http://www.newhavendisplay.com/app_notes/ILI9325D.pdf + other libs + http://henningkarlsen.com/electronics/library.php + init sequence + http://code.google.com/p/itdb02/, ITDB02.cpp, iteadstudio.com +*/ + +static const uint8_t u8g_dev_ili9325d_320x240_init_seq[] PROGMEM = { + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_DLY(50), /* delay 50 ms */ + U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ + U8G_ESC_DLY(50), /* delay 50 ms */ + U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ + U8G_ESC_DLY(50), /* delay 50 ms */ + U8G_ESC_CS(1), /* enable chip */ + U8G_ESC_DLY(50), /* delay 50 ms */ + + + //U8G_ESC_ADR(0), 0x000, 0x0E5, /* only used for none D version: set SRAM internal timing */ + //U8G_ESC_ADR(1), 0x078, 0x0f0, + U8G_ESC_ADR(0), 0x000, 0x001, /* Driver Output Control, bits 8 & 10 */ + U8G_ESC_ADR(1), 0x001, 0x000, + U8G_ESC_ADR(0), 0x000, 0x002, /* LCD Driving Wave Control, bit 9: Set line inversion */ + U8G_ESC_ADR(1), 0x002, 0x000, /* ITDB02 none D verion: 0x007, 0x000 */ + U8G_ESC_ADR(0), 0x000, 0x003, /* Entry Mode, GRAM write direction and BGR=1 */ + U8G_ESC_ADR(1), 0x010, 0x030, + U8G_ESC_ADR(0), 0x000, 0x004, /* Resize register */ + U8G_ESC_ADR(1), 0x000, 0x000, + U8G_ESC_ADR(0), 0x000, 0x008, /* Display Control 2: set the back porch and front porch */ + U8G_ESC_ADR(1), 0x002, 0x007, + + U8G_ESC_ADR(0), 0x000, 0x009, /* Display Control 3 */ + U8G_ESC_ADR(1), 0x000, 0x000, + + U8G_ESC_ADR(0), 0x000, 0x00a, /* Display Control 4: FMARK */ + U8G_ESC_ADR(1), 0x000, 0x000, + U8G_ESC_ADR(0), 0x000, 0x00c, /* RGB Display Interface Control 1 */ + U8G_ESC_ADR(1), 0x000, 0x000, + U8G_ESC_ADR(0), 0x000, 0x00d, /* Frame Maker Position */ + U8G_ESC_ADR(1), 0x000, 0x000, + U8G_ESC_ADR(0), 0x000, 0x00f, /* RGB Display Interface Control 2 */ + U8G_ESC_ADR(1), 0x000, 0x000, + U8G_ESC_ADR(0), 0x000, 0x010, /* Power Control 1: SAP, BT[3:0], AP, DSTB, SLP, STB */ + U8G_ESC_ADR(1), 0x000, 0x000, + U8G_ESC_ADR(0), 0x000, 0x011, /* Power Control 2: DC1[2:0], DC0[2:0], VC[2:0] */ + U8G_ESC_ADR(1), 0x000, 0x007, + U8G_ESC_ADR(0), 0x000, 0x012, /* Power Control 3: VREG1OUT voltage */ + U8G_ESC_ADR(1), 0x000, 0x000, + U8G_ESC_ADR(0), 0x000, 0x013, /* Power Control 4: VDV[4:0] for VCOM amplitude */ + U8G_ESC_ADR(1), 0x000, 0x000, + U8G_ESC_ADR(0), 0x000, 0x007, /* Display Control 1: Operate, but do not display */ + U8G_ESC_ADR(1), 0x000, 0x001, + + U8G_ESC_DLY(100), /* delay 100 ms */ /* ITDB02 none D verion: 50ms */ + U8G_ESC_DLY(100), /* delay 100 ms */ + + U8G_ESC_ADR(0), 0x000, 0x010, /* Power Control 1: SAP, BT[3:0], AP, DSTB, SLP, STB */ + U8G_ESC_ADR(1), 0x016, 0x090, /* ITDB02 none D verion: 0x010, 0x090 */ + U8G_ESC_ADR(0), 0x000, 0x011, /* Power Control 2: SAP, BT[3:0], AP, DSTB, SLP, STB */ + U8G_ESC_ADR(1), 0x002, 0x027, + + U8G_ESC_DLY(50), /* delay 50 ms */ + + U8G_ESC_ADR(0), 0x000, 0x012, /* Power Control 3: VCI: External, VCI*1.80 */ + U8G_ESC_ADR(1), 0x000, 0x00d, /* ITDB02 none D verion: 0x000, 0x01f */ + + U8G_ESC_DLY(50), /* delay 50 ms */ + + U8G_ESC_ADR(0), 0x000, 0x013, /* Power Control 4: VDV[4:0] for VCOM amplitude */ + U8G_ESC_ADR(1), 0x012, 0x000, /* ITDB02 none D verion: 0x015, 0x000 */ + U8G_ESC_ADR(0), 0x000, 0x029, /* Power Control 7 */ + U8G_ESC_ADR(1), 0x000, 0x00a, /* ITDB02 none D verion: 0x000, 0x027 */ + U8G_ESC_ADR(0), 0x000, 0x02b, /* Frame Rate: 83 */ + U8G_ESC_ADR(1), 0x000, 0x00d, + + U8G_ESC_DLY(50), /* delay 50 ms */ + + U8G_ESC_ADR(0), 0x000, 0x020, /* Horizontal GRAM Address Set */ + U8G_ESC_ADR(1), 0x000, 0x000, + U8G_ESC_ADR(0), 0x000, 0x021, /* Vertical GRAM Address Set */ + U8G_ESC_ADR(1), 0x000, 0x000, + + /* gamma control */ + U8G_ESC_ADR(0), 0x000, 0x030, + U8G_ESC_ADR(1), 0x000, 0x000, + U8G_ESC_ADR(0), 0x000, 0x031, + U8G_ESC_ADR(1), 0x004, 0x004, + U8G_ESC_ADR(0), 0x000, 0x032, + U8G_ESC_ADR(1), 0x000, 0x003, + U8G_ESC_ADR(0), 0x000, 0x035, + U8G_ESC_ADR(1), 0x004, 0x005, + U8G_ESC_ADR(0), 0x000, 0x036, + U8G_ESC_ADR(1), 0x008, 0x008, + U8G_ESC_ADR(0), 0x000, 0x037, + U8G_ESC_ADR(1), 0x004, 0x007, + U8G_ESC_ADR(0), 0x000, 0x038, + U8G_ESC_ADR(1), 0x003, 0x003, + U8G_ESC_ADR(0), 0x000, 0x039, + U8G_ESC_ADR(1), 0x007, 0x007, + U8G_ESC_ADR(0), 0x000, 0x03c, + U8G_ESC_ADR(1), 0x005, 0x004, + U8G_ESC_ADR(0), 0x000, 0x03d, + U8G_ESC_ADR(1), 0x008, 0x008, + + U8G_ESC_ADR(0), 0x000, 0x050, /* Horizontal GRAM Start Address */ + U8G_ESC_ADR(1), 0x000, 0x000, + U8G_ESC_ADR(0), 0x000, 0x051, /* Horizontal GRAM End Address: 239 */ + U8G_ESC_ADR(1), 0x000, 0x0EF, + U8G_ESC_ADR(0), 0x000, 0x052, /* Vertical GRAM Start Address */ + U8G_ESC_ADR(1), 0x000, 0x000, + U8G_ESC_ADR(0), 0x000, 0x053, /* Vertical GRAM End Address: 319 */ + U8G_ESC_ADR(1), 0x001, 0x03F, + + U8G_ESC_ADR(0), 0x000, 0x060, /* Driver Output Control 2 */ + U8G_ESC_ADR(1), 0x0a7, 0x000, + U8G_ESC_ADR(0), 0x000, 0x061, /* Base Image Display Control: NDL,VLE, REV */ + U8G_ESC_ADR(1), 0x000, 0x001, + U8G_ESC_ADR(0), 0x000, 0x06a, /* Vertical Scroll Control */ + U8G_ESC_ADR(1), 0x000, 0x000, + + U8G_ESC_ADR(0), 0x000, 0x080, /* Partial Image 1 Display Position */ + U8G_ESC_ADR(1), 0x000, 0x000, + U8G_ESC_ADR(0), 0x000, 0x081, /* Partial Image 1 RAM Start Address */ + U8G_ESC_ADR(1), 0x000, 0x000, + U8G_ESC_ADR(0), 0x000, 0x082, /* Partial Image 1 RAM End Address */ + U8G_ESC_ADR(1), 0x000, 0x000, + U8G_ESC_ADR(0), 0x000, 0x083, /* Partial Image 2 Display Position */ + U8G_ESC_ADR(1), 0x000, 0x000, + U8G_ESC_ADR(0), 0x000, 0x084, /* Partial Image 2 RAM Start Address */ + U8G_ESC_ADR(1), 0x000, 0x000, + U8G_ESC_ADR(0), 0x000, 0x085, /* Partial Image 2 RAM End Address */ + U8G_ESC_ADR(1), 0x000, 0x000, + + U8G_ESC_ADR(0), 0x000, 0x090, /* Panel Interface Control 1 */ + U8G_ESC_ADR(1), 0x000, 0x010, + U8G_ESC_ADR(0), 0x000, 0x092, /* Panel Interface Control 2 */ + U8G_ESC_ADR(1), 0x000, 0x000, /* 0x006, 0x000 */ + + U8G_ESC_ADR(0), 0x000, 0x007, /* Display Control 1: Operate, display ON */ + U8G_ESC_ADR(1), 0x001, 0x033, + + U8G_ESC_DLY(10), /* delay 10 ms */ + + /* write test pattern */ + U8G_ESC_ADR(0), 0x000, 0x020, /* Horizontal GRAM Address Set */ + U8G_ESC_ADR(1), 0x000, 0x000, + U8G_ESC_ADR(0), 0x000, 0x021, /* Vertical GRAM Address Set */ + U8G_ESC_ADR(1), 0x000, 0x010, + U8G_ESC_ADR(0), 0x000, 0x022, /* Write Data to GRAM */ + U8G_ESC_ADR(1), 0x0fe, 0x0fe, + 0x000, 0x000, + 0x0fe, 0x0fe, + 0x000, 0x000, + 0x0fe, 0x0fe, + 0x000, 0x000, + 0x0fe, 0x0fe, + 0x000, 0x000, + 0x0fe, 0x0fe, + 0x000, 0x000, + 0x0fe, 0x0fe, + 0x000, 0x000, + 0x0fe, 0x0fe, + 0x000, 0x000, + 0x0fe, 0x0fe, + 0x000, 0x000, + 0x0fe, 0x0fe, + + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_END /* end of sequence */ +}; + + +static const uint8_t u8g_dev_ili9325d_320x240_page_seq[] PROGMEM = { + U8G_ESC_CS(1), /* enable chip */ + U8G_ESC_ADR(0), 0x000, 0x020, /* Horizontal GRAM Address Set */ + U8G_ESC_ADR(1), 0x000, 0x000, + U8G_ESC_ADR(0), 0x000, 0x021, /* Vertical GRAM Address Set */ + U8G_ESC_ADR(1), + U8G_ESC_END /* end of sequence */ +}; + +/* convert the internal RGB 332 to 65K high byte */ +static uint8_t u8g_dev_ili9325d_get_65K_high_byte(uint8_t color) +{ + uint8_t h; + h = color; + h &= 0x0e0; + h |= h>>3; + h &= 0x0f8; + color>>=2; + color &= 7; + h |= color; + return h; +} + +/* convert the internal RGB 332 to 65K high byte */ +static uint8_t u8g_dev_ili9325d_get_65K_low_byte(uint8_t color) +{ + uint8_t l; + l = color; + l <<= 3; + color &= 3; + color <<= 1; + l |= color; + return l; +} + + +uint8_t u8g_dev_ili9325d_320x240_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_50NS); + //for(;;) + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ili9325d_320x240_init_seq); + + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + uint8_t i; + uint16_t y, j; + uint8_t *ptr; + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + + y = pb->p.page_y0; + ptr = pb->buf; + for( i = 0; i < pb->p.page_height; i ++ ) + { + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ili9325d_320x240_page_seq); + u8g_WriteByte(u8g, dev, y >> 8 ); /* display ram (cursor) address high byte */ + u8g_WriteByte(u8g, dev, y & 255 ); /* display ram (cursor) address low byte */ + + u8g_SetAddress(u8g, dev, 0); /* cmd mode */ + u8g_WriteByte(u8g, dev, 0 ); + u8g_WriteByte(u8g, dev, 0x022 ); /* start gram data */ + + u8g_SetAddress(u8g, dev, 1); /* data mode */ + + for( j = 0; j < pb->width; j++ ) + { + u8g_WriteByte(u8g, dev, u8g_dev_ili9325d_get_65K_high_byte(*ptr) ); + u8g_WriteByte(u8g, dev, u8g_dev_ili9325d_get_65K_low_byte(*ptr) ); + + ptr++; + } + y++; + } + u8g_SetChipSelect(u8g, dev, 0); + } + break; + } + return u8g_dev_pb8h8_base_fn(u8g, dev, msg, arg); +} + +uint8_t u8g_ili9325d_320x240_8h8_buf[WIDTH*PAGE_HEIGHT] U8G_NOCOMMON ; +u8g_pb_t u8g_ili9325d_320x240_8h8_pb U8G_NOCOMMON = { {PAGE_HEIGHT, HEIGHT, 0, 0, 0}, WIDTH, u8g_ili9325d_320x240_8h8_buf}; +u8g_dev_t u8g_dev_ili9325d_320x240_8bit U8G_NOCOMMON = { u8g_dev_ili9325d_320x240_fn, &u8g_ili9325d_320x240_8h8_pb, u8g_com_arduino_port_d_wr_fn }; +//u8g_dev_t u8g_dev_ili9325d_320x240_8bit = { u8g_dev_ili9325d_320x240_fn, &u8g_ili9325d_320x240_8h8_pb, u8g_com_arduino_parallel_fn }; + +//U8G_PB_DEV(u8g_dev_ili9325d_320x240_8bit, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ili9325d_320x240_fn, U8G_COM_PARALLEL); + + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ks0108_128x64.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ks0108_128x64.c new file mode 100644 index 000000000..f30f8a38c --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ks0108_128x64.c @@ -0,0 +1,110 @@ +/* + + u8g_dev_ks0108_128x64.c + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + ADDRESS = 0 (Command Mode) + 0x03f Display On + 0x0c0 Start Display at line 0 + 0x040 | y write to y address (y:0..63) + 0x0b8 | x write to page [0..7] + + + u8g_Init8Bit(u8g, dev, d0, d1, d2, d3, d4, d5, d6, d7, en, cs1, cs2, di, rw, reset) + u8g_Init8Bit(u8g, dev, 8, 9, 10, 11, 4, 5, 6, 7, 18, 14, 15, 17, 16, U8G_PIN_NONE) + +*/ + +#include "u8g.h" + +#define WIDTH 128 +#define HEIGHT 64 +#define PAGE_HEIGHT 8 + +static const uint8_t u8g_dev_ks0108_128x64_init_seq[] PROGMEM = { + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ + U8G_ESC_CS(1), /* enable chip 1 */ + 0x03f, /* display on */ + 0x0c0, /* start at line 0 */ + U8G_ESC_DLY(20), /* delay 20 ms */ + U8G_ESC_CS(2), /* enable chip 2 */ + 0x03f, /* display on */ + 0x0c0, /* start at line 0 */ + U8G_ESC_DLY(20), /* delay 20 ms */ + U8G_ESC_CS(0), /* disable all chips */ + U8G_ESC_END /* end of sequence */ +}; + + +uint8_t u8g_dev_ks0108_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_NONE); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ks0108_128x64_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + + u8g_SetAddress(u8g, dev, 0); /* command mode */ + u8g_SetChipSelect(u8g, dev, 2); + u8g_WriteByte(u8g, dev, 0x0b8 | pb->p.page); /* select current page (KS0108b) */ + u8g_WriteByte(u8g, dev, 0x040 ); /* set address 0 */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + u8g_WriteSequence(u8g, dev, 64, pb->buf); + u8g_SetChipSelect(u8g, dev, 0); + + u8g_SetAddress(u8g, dev, 0); /* command mode */ + u8g_SetChipSelect(u8g, dev, 1); + u8g_WriteByte(u8g, dev, 0x0b8 | pb->p.page); /* select current page (KS0108b) */ + u8g_WriteByte(u8g, dev, 0x040 ); /* set address 0 */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + u8g_WriteSequence(u8g, dev, 64, 64+(uint8_t *)pb->buf); + u8g_SetChipSelect(u8g, dev, 0); + + } + break; + } + return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); +} + +U8G_PB_DEV(u8g_dev_ks0108_128x64, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ks0108_128x64_fn, U8G_COM_PARALLEL); +U8G_PB_DEV(u8g_dev_ks0108_128x64_fast, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ks0108_128x64_fn, U8G_COM_FAST_PARALLEL); + + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_lc7981_160x80.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_lc7981_160x80.c new file mode 100644 index 000000000..3de209926 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_lc7981_160x80.c @@ -0,0 +1,147 @@ +/* + + u8g_dev_lc7981_160x80.c + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +*/ + +#include "u8g.h" + +#define WIDTH 160 +#define HEIGHT 80 +#define PAGE_HEIGHT 8 + + +/* + code ideas: + https://github.com/vsergeev/embedded-drivers/tree/master/avr-lc7981 + data sheets: + http://www.lcd-module.de/eng/pdf/zubehoer/lc7981.pdf + http://www.lcd-module.de/pdf/grafik/w160-6.pdf +*/ + +static const uint8_t u8g_dev_lc7981_160x80_init_seq[] PROGMEM = { + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_ADR(1), /* instruction mode */ + U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ + U8G_ESC_CS(1), /* enable chip */ + U8G_ESC_DLY(50), /* delay 50 ms */ + + + U8G_ESC_ADR(1), /* instruction mode */ + 0x000, /* mode register */ + U8G_ESC_ADR(0), /* data mode */ + 0x032, /* display on (bit 5), master mode on (bit 4), graphics mode on (bit 1)*/ + + U8G_ESC_ADR(1), /* instruction mode */ + 0x001, /* character/bits per pixel pitch */ + U8G_ESC_ADR(0), /* data mode */ + 0x007, /* 8 bits per pixel */ + + U8G_ESC_ADR(1), /* instruction mode */ + 0x002, /* number of chars/byte width of the screen */ + U8G_ESC_ADR(0), /* data mode */ + WIDTH/8-1, /* 8 bits per pixel */ + + U8G_ESC_ADR(1), /* instruction mode */ + 0x003, /* time division */ + U8G_ESC_ADR(0), /* data mode */ + 0x050, /* Oct 2015: Changed from 7f to 50 (1/80 duty cycle) */ + + U8G_ESC_ADR(1), /* instruction mode */ + 0x008, /* display start low */ + U8G_ESC_ADR(0), /* data mode */ + 0x000, /* */ + + U8G_ESC_ADR(1), /* instruction mode */ + 0x009, /* display start high */ + U8G_ESC_ADR(0), /* data mode */ + 0x000, /* */ + + U8G_ESC_DLY(10), /* delay 10 ms */ + + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_END /* end of sequence */ +}; + +uint8_t u8g_dev_lc7981_160x80_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_NONE); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_lc7981_160x80_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + uint8_t y, i; + uint16_t disp_ram_adr; + uint8_t *ptr; + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + + u8g_SetAddress(u8g, dev, 1); /* cmd mode */ + u8g_SetChipSelect(u8g, dev, 1); + y = pb->p.page_y0; + ptr = pb->buf; + disp_ram_adr = WIDTH/8; + disp_ram_adr *= y; + for( i = 0; i < 8; i ++ ) + { + u8g_SetAddress(u8g, dev, 1); /* cmd mode */ + u8g_WriteByte(u8g, dev, 0x00a ); /* display ram (cursor) address low byte */ + u8g_SetAddress(u8g, dev, 0); /* data mode */ + u8g_WriteByte(u8g, dev, disp_ram_adr & 0x0ff ); + + u8g_SetAddress(u8g, dev, 1); /* cmd mode */ + u8g_WriteByte(u8g, dev, 0x00b ); /* display ram (cursor) address hight byte */ + u8g_SetAddress(u8g, dev, 0); /* data mode */ + u8g_WriteByte(u8g, dev, disp_ram_adr >> 8 ); + + u8g_SetAddress(u8g, dev, 1); /* cmd mode */ + u8g_WriteByte(u8g, dev, 0x00c ); /* write data */ + u8g_SetAddress(u8g, dev, 0); /* data mode */ + u8g_WriteSequence(u8g, dev, WIDTH/8, ptr); + ptr += WIDTH/8; + disp_ram_adr += WIDTH/8; + } + u8g_SetChipSelect(u8g, dev, 0); + } + break; + } + return u8g_dev_pb8h1f_base_fn(u8g, dev, msg, arg); +} + +U8G_PB_DEV(u8g_dev_lc7981_160x80_8bit, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_lc7981_160x80_fn, U8G_COM_FAST_PARALLEL); + + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_lc7981_240x128.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_lc7981_240x128.c new file mode 100644 index 000000000..f0b9c3148 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_lc7981_240x128.c @@ -0,0 +1,145 @@ +/* + + u8g_dev_lc7981_240x128.c + + Hitachi Display SP14N002 + + Universal 8bit Graphics Library + + Copyright (c) 2012, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +*/ + +#include "u8g.h" + +#define WIDTH 240 +#define HEIGHT 128 +#define PAGE_HEIGHT 8 + + +/* + http://www.mark-products.com/graphics.htm#240x128%20Pixel%20Format +*/ + +static const uint8_t u8g_dev_lc7981_240x128_init_seq[] PROGMEM = { + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_ADR(1), /* instruction mode */ + U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ + U8G_ESC_CS(1), /* enable chip */ + U8G_ESC_DLY(50), /* delay 50 ms */ + + + U8G_ESC_ADR(1), /* instruction mode */ + 0x000, /* mode register */ + U8G_ESC_ADR(0), /* data mode */ + 0x032, /* display on (bit 5), master mode on (bit 4), graphics mode on (bit 1)*/ + + U8G_ESC_ADR(1), /* instruction mode */ + 0x001, /* character/bits per pixel pitch */ + U8G_ESC_ADR(0), /* data mode */ + 0x007, /* 8 bits per pixel */ + + U8G_ESC_ADR(1), /* instruction mode */ + 0x002, /* number of chars/byte width of the screen */ + U8G_ESC_ADR(0), /* data mode */ + WIDTH/8-1, /* 8 bits per pixel */ + + U8G_ESC_ADR(1), /* instruction mode */ + 0x003, /* time division */ + U8G_ESC_ADR(0), /* data mode */ + 0x07f, /* */ + + U8G_ESC_ADR(1), /* instruction mode */ + 0x008, /* display start low */ + U8G_ESC_ADR(0), /* data mode */ + 0x000, /* */ + + U8G_ESC_ADR(1), /* instruction mode */ + 0x009, /* display start high */ + U8G_ESC_ADR(0), /* data mode */ + 0x000, /* */ + + U8G_ESC_DLY(10), /* delay 10 ms */ + + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_END /* end of sequence */ +}; + +uint8_t u8g_dev_lc7981_240x128_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_NONE); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_lc7981_240x128_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + uint8_t y, i; + uint16_t disp_ram_adr; + uint8_t *ptr; + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + + u8g_SetAddress(u8g, dev, 1); /* cmd mode */ + u8g_SetChipSelect(u8g, dev, 1); + y = pb->p.page_y0; + ptr = pb->buf; + disp_ram_adr = WIDTH/8; + disp_ram_adr *= y; + for( i = 0; i < 8; i ++ ) + { + u8g_SetAddress(u8g, dev, 1); /* cmd mode */ + u8g_WriteByte(u8g, dev, 0x00a ); /* display ram (cursor) address low byte */ + u8g_SetAddress(u8g, dev, 0); /* data mode */ + u8g_WriteByte(u8g, dev, disp_ram_adr & 0x0ff ); + + u8g_SetAddress(u8g, dev, 1); /* cmd mode */ + u8g_WriteByte(u8g, dev, 0x00b ); /* display ram (cursor) address hight byte */ + u8g_SetAddress(u8g, dev, 0); /* data mode */ + u8g_WriteByte(u8g, dev, disp_ram_adr >> 8 ); + + u8g_SetAddress(u8g, dev, 1); /* cmd mode */ + u8g_WriteByte(u8g, dev, 0x00c ); /* write data */ + u8g_SetAddress(u8g, dev, 0); /* data mode */ + u8g_WriteSequence(u8g, dev, WIDTH/8, ptr); + ptr += WIDTH/8; + disp_ram_adr += WIDTH/8; + } + u8g_SetChipSelect(u8g, dev, 0); + } + break; + } + return u8g_dev_pb8h1f_base_fn(u8g, dev, msg, arg); +} + +U8G_PB_DEV(u8g_dev_lc7981_240x128_8bit, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_lc7981_240x128_fn, U8G_COM_FAST_PARALLEL); + + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_lc7981_240x64.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_lc7981_240x64.c new file mode 100644 index 000000000..9464b52ae --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_lc7981_240x64.c @@ -0,0 +1,145 @@ +/* + + u8g_dev_lc7981_240x64.c + + Tested with Nan Ya LM_J6_003_ + + Universal 8bit Graphics Library + + Copyright (c) 2012, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +*/ + +#include "u8g.h" + +#define WIDTH 240 +#define HEIGHT 64 +#define PAGE_HEIGHT 8 + + +/* + http://www.mark-products.com/graphics.htm#240x64%20Pixel%20Format +*/ + +static const uint8_t u8g_dev_lc7981_240x64_init_seq[] PROGMEM = { + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_ADR(1), /* instruction mode */ + U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ + U8G_ESC_CS(1), /* enable chip */ + U8G_ESC_DLY(50), /* delay 50 ms */ + + + U8G_ESC_ADR(1), /* instruction mode */ + 0x000, /* mode register */ + U8G_ESC_ADR(0), /* data mode */ + 0x032, /* display on (bit 5), master mode on (bit 4), graphics mode on (bit 1)*/ + + U8G_ESC_ADR(1), /* instruction mode */ + 0x001, /* character/bits per pixel pitch */ + U8G_ESC_ADR(0), /* data mode */ + 0x007, /* 8 bits per pixel */ + + U8G_ESC_ADR(1), /* instruction mode */ + 0x002, /* number of chars/byte width of the screen */ + U8G_ESC_ADR(0), /* data mode */ + WIDTH/8-1, /* 8 bits per pixel */ + + U8G_ESC_ADR(1), /* instruction mode */ + 0x003, /* time division */ + U8G_ESC_ADR(0), /* data mode */ + 0x07f, /* */ + + U8G_ESC_ADR(1), /* instruction mode */ + 0x008, /* display start low */ + U8G_ESC_ADR(0), /* data mode */ + 0x000, /* */ + + U8G_ESC_ADR(1), /* instruction mode */ + 0x009, /* display start high */ + U8G_ESC_ADR(0), /* data mode */ + 0x000, /* */ + + U8G_ESC_DLY(10), /* delay 10 ms */ + + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_END /* end of sequence */ +}; + +uint8_t u8g_dev_lc7981_240x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_NONE); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_lc7981_240x64_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + uint8_t y, i; + uint16_t disp_ram_adr; + uint8_t *ptr; + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + + u8g_SetAddress(u8g, dev, 1); /* cmd mode */ + u8g_SetChipSelect(u8g, dev, 1); + y = pb->p.page_y0; + ptr = pb->buf; + disp_ram_adr = WIDTH/8; + disp_ram_adr *= y; + for( i = 0; i < 8; i ++ ) + { + u8g_SetAddress(u8g, dev, 1); /* cmd mode */ + u8g_WriteByte(u8g, dev, 0x00a ); /* display ram (cursor) address low byte */ + u8g_SetAddress(u8g, dev, 0); /* data mode */ + u8g_WriteByte(u8g, dev, disp_ram_adr & 0x0ff ); + + u8g_SetAddress(u8g, dev, 1); /* cmd mode */ + u8g_WriteByte(u8g, dev, 0x00b ); /* display ram (cursor) address hight byte */ + u8g_SetAddress(u8g, dev, 0); /* data mode */ + u8g_WriteByte(u8g, dev, disp_ram_adr >> 8 ); + + u8g_SetAddress(u8g, dev, 1); /* cmd mode */ + u8g_WriteByte(u8g, dev, 0x00c ); /* write data */ + u8g_SetAddress(u8g, dev, 0); /* data mode */ + u8g_WriteSequence(u8g, dev, WIDTH/8, ptr); + ptr += WIDTH/8; + disp_ram_adr += WIDTH/8; + } + u8g_SetChipSelect(u8g, dev, 0); + } + break; + } + return u8g_dev_pb8h1f_base_fn(u8g, dev, msg, arg); +} + +U8G_PB_DEV(u8g_dev_lc7981_240x64_8bit, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_lc7981_240x64_fn, U8G_COM_FAST_PARALLEL); + + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_lc7981_320x64.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_lc7981_320x64.c new file mode 100644 index 000000000..fe28f942e --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_lc7981_320x64.c @@ -0,0 +1,151 @@ +/* + + u8g_dev_lc7981_320x64.c + + Note: Requires 16 bit mode (Must be enabled in u8g.h) + + Tested with Varitronix MGLS32064-03.pdf + + Universal 8bit Graphics Library + + Copyright (c) 2012, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +*/ + +#include "u8g.h" + +#ifdef U8G_16BIT +#define WIDTH 320 +#else +#define WIDTH 240 +#endif + +#define HEIGHT 64 +#define PAGE_HEIGHT 8 + + +/* + http://www.gaw.ru/pdf/lcd/lcm/Varitronix/graf/MGLS32064-03.pdf +*/ + +static const uint8_t u8g_dev_lc7981_320x64_init_seq[] PROGMEM = { + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_ADR(1), /* instruction mode */ + U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ + U8G_ESC_CS(1), /* enable chip */ + U8G_ESC_DLY(50), /* delay 50 ms */ + + + U8G_ESC_ADR(1), /* instruction mode */ + 0x000, /* mode register */ + U8G_ESC_ADR(0), /* data mode */ + 0x032, /* display on (bit 5), master mode on (bit 4), graphics mode on (bit 1)*/ + + U8G_ESC_ADR(1), /* instruction mode */ + 0x001, /* character/bits per pixel pitch */ + U8G_ESC_ADR(0), /* data mode */ + 0x007, /* 8 bits per pixel */ + + U8G_ESC_ADR(1), /* instruction mode */ + 0x002, /* number of chars/byte width of the screen */ + U8G_ESC_ADR(0), /* data mode */ + WIDTH/8-1, /* 8 bits per pixel */ + + U8G_ESC_ADR(1), /* instruction mode */ + 0x003, /* time division */ + U8G_ESC_ADR(0), /* data mode */ + 0x07f, /* */ + + U8G_ESC_ADR(1), /* instruction mode */ + 0x008, /* display start low */ + U8G_ESC_ADR(0), /* data mode */ + 0x000, /* */ + + U8G_ESC_ADR(1), /* instruction mode */ + 0x009, /* display start high */ + U8G_ESC_ADR(0), /* data mode */ + 0x000, /* */ + + U8G_ESC_DLY(10), /* delay 10 ms */ + + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_END /* end of sequence */ +}; + +uint8_t u8g_dev_lc7981_320x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_NONE); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_lc7981_320x64_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + uint8_t y, i; + uint16_t disp_ram_adr; + uint8_t *ptr; + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + + u8g_SetAddress(u8g, dev, 1); /* cmd mode */ + u8g_SetChipSelect(u8g, dev, 1); + y = pb->p.page_y0; + ptr = pb->buf; + disp_ram_adr = WIDTH/8; + disp_ram_adr *= y; + for( i = 0; i < 8; i ++ ) + { + u8g_SetAddress(u8g, dev, 1); /* cmd mode */ + u8g_WriteByte(u8g, dev, 0x00a ); /* display ram (cursor) address low byte */ + u8g_SetAddress(u8g, dev, 0); /* data mode */ + u8g_WriteByte(u8g, dev, disp_ram_adr & 0x0ff ); + + u8g_SetAddress(u8g, dev, 1); /* cmd mode */ + u8g_WriteByte(u8g, dev, 0x00b ); /* display ram (cursor) address hight byte */ + u8g_SetAddress(u8g, dev, 0); /* data mode */ + u8g_WriteByte(u8g, dev, disp_ram_adr >> 8 ); + + u8g_SetAddress(u8g, dev, 1); /* cmd mode */ + u8g_WriteByte(u8g, dev, 0x00c ); /* write data */ + u8g_SetAddress(u8g, dev, 0); /* data mode */ + u8g_WriteSequence(u8g, dev, WIDTH/8, ptr); + ptr += WIDTH/8; + disp_ram_adr += WIDTH/8; + } + u8g_SetChipSelect(u8g, dev, 0); + } + break; + } + return u8g_dev_pb8h1f_base_fn(u8g, dev, msg, arg); +} + +U8G_PB_DEV(u8g_dev_lc7981_320x64_8bit, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_lc7981_320x64_fn, U8G_COM_FAST_PARALLEL); + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ld7032_60x32.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ld7032_60x32.c new file mode 100644 index 000000000..596d95898 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ld7032_60x32.c @@ -0,0 +1,232 @@ +/* + + u8g_dev_ld7032_60x32.c + + 60x32 OLED display + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +*/ + +#include "u8g.h" + +/* define width as 64, so that it is a multiple of 8 */ +#define WIDTH 64 +#define HEIGHT 32 +#define PAGE_HEIGHT 8 + +static const uint8_t u8g_dev_ld7032_60x32_init_seq[] PROGMEM = { + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_DLY(1), /* delay 1 ms */ + U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ + U8G_ESC_CS(1), /* enable chip */ + + + U8G_ESC_ADR(0), /* instruction mode */ + 0x002, /* Dot Matrix Display ON/OFF */ + U8G_ESC_ADR(1), /* data mode */ + 0x001, /* ON */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0x014, /* Dot Matrix Display Stand-by ON/OFF */ + U8G_ESC_ADR(1), /* data mode */ + 0x000, /* ON */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0x01a, /* Dot Matrix Frame Rate */ + U8G_ESC_ADR(1), /* data mode */ + 0x004, /* special value for this OLED from manual */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0x01d, /* Graphics Memory Writing Direction */ + U8G_ESC_ADR(1), /* data mode */ + 0x000, /* reset default (right down, horizontal) */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0x009, /* Display Direction */ + U8G_ESC_ADR(1), /* data mode */ + 0x000, /* reset default (x,y: min --> max) */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0x030, /* Display Size X */ + U8G_ESC_ADR(1), /* data mode */ + 0x000, /* Column Start Output */ + 0x03b, /* Column End Output */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0x032, /* Display Size Y */ + U8G_ESC_ADR(1), /* data mode */ + 0x000, /* Row Start Output */ + 0x01f, /* Row End Output */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0x010, /* Peak Pulse Width Set */ + U8G_ESC_ADR(1), /* data mode */ + 0x000, /* 0 SCLK */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0x016, /* Peak Pulse Delay Set */ + U8G_ESC_ADR(1), /* data mode */ + 0x000, /* 0 SCLK */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0x012, /* Dot Matrix Current Level Set */ + U8G_ESC_ADR(1), /* data mode */ + 0x050, /* 0x050 * 1 uA = 80 uA */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0x018, /* Pre-Charge Pulse Width */ + U8G_ESC_ADR(1), /* data mode */ + 0x003, /* 3 SCLK */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0x044, /* Pre-Charge Mode */ + U8G_ESC_ADR(1), /* data mode */ + 0x002, /* Every Time */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0x048, /* Row overlap timing */ + U8G_ESC_ADR(1), /* data mode */ + 0x003, /* Pre-Charge + Peak Delay + Peak boot Timing */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0x03f, /* VCC_R_SEL */ + U8G_ESC_ADR(1), /* data mode */ + 0x011, /* ??? */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0x03d, /* VSS selection */ + U8G_ESC_ADR(1), /* data mode */ + 0x000, /* 2.8V */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0x002, /* Dot Matrix Display ON/OFF */ + U8G_ESC_ADR(1), /* data mode */ + 0x001, /* ON */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0x008, /* write data */ + + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_END /* end of sequence */ +}; + +/* use box commands to set start adr */ +static const uint8_t u8g_dev_ld7032_60x32_data_start[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + + + U8G_ESC_ADR(0), /* instruction mode */ + 0x034, /* box x start */ + U8G_ESC_ADR(1), /* data mode */ + 0x000, /* 0 */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0x035, /* box x end */ + U8G_ESC_ADR(1), /* data mode */ + 0x007, /* */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0x037, /* box y end */ + U8G_ESC_ADR(1), /* data mode */ + 0x01f, /* */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0x036, /* box y start */ + U8G_ESC_ADR(1), /* data mode */ + + U8G_ESC_END /* end of sequence */ +}; + +static const uint8_t u8g_dev_ld7032_60x32_sleep_on[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + /* ... */ + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_END /* end of sequence */ +}; + +static const uint8_t u8g_dev_ld7032_60x32_sleep_off[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + /* ... */ + U8G_ESC_DLY(50), /* delay 50 ms */ + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_END /* end of sequence */ +}; + +uint8_t u8g_dev_ld7032_60x32_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ld7032_60x32_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ld7032_60x32_data_start); + u8g_WriteByte(u8g, dev, pb->p.page_y0); /* y start */ + u8g_SetAddress(u8g, dev, 0); /* instruction mode */ + u8g_WriteByte(u8g, dev, 0x008); + u8g_SetAddress(u8g, dev, 1); /* data mode */ + if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) + return 0; + u8g_SetChipSelect(u8g, dev, 0); + } + break; + case U8G_DEV_MSG_CONTRAST: + u8g_SetChipSelect(u8g, dev, 1); + u8g_SetAddress(u8g, dev, 0); /* instruction mode */ + u8g_WriteByte(u8g, dev, 0x081); + u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); + u8g_SetChipSelect(u8g, dev, 0); + return 1; + case U8G_DEV_MSG_SLEEP_ON: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ld7032_60x32_sleep_on); + return 1; + case U8G_DEV_MSG_SLEEP_OFF: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ld7032_60x32_sleep_off); + return 1; + } + return u8g_dev_pb8h1_base_fn(u8g, dev, msg, arg); +} + +U8G_PB_DEV(u8g_dev_ld7032_60x32_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ld7032_60x32_fn, U8G_COM_SW_SPI); +U8G_PB_DEV(u8g_dev_ld7032_60x32_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ld7032_60x32_fn, U8G_COM_HW_SPI); +U8G_PB_DEV(u8g_dev_ld7032_60x32_parallel, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ld7032_60x32_fn, U8G_COM_PARALLEL); +U8G_PB_DEV(u8g_dev_ld7032_60x32_hw_usart_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ld7032_60x32_fn, U8G_COM_HW_USART_SPI); + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_null.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_null.c new file mode 100644 index 000000000..c41380e8c --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_null.c @@ -0,0 +1,67 @@ +/* + + u8g_dev_null.c + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +*/ + +#include "u8g.h" + +uint8_t u8g_dev_null(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_SET_8PIXEL: /* most often used command */ + break; + case U8G_DEV_MSG_SET_PIXEL: + break; + case U8G_DEV_MSG_INIT: + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_FIRST: + break; + case U8G_DEV_MSG_PAGE_NEXT: + break; +#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION + case U8G_DEV_MSG_IS_BBX_INTERSECTION: + return 1; +#endif + case U8G_DEV_MSG_GET_PAGE_BOX: + break; + case U8G_DEV_MSG_SET_COLOR_ENTRY: + break; + case U8G_DEV_MSG_SET_XY_CB: + break; + } + return 1; +} diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_pcd8544_84x48.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_pcd8544_84x48.c new file mode 100644 index 000000000..dbebd7cd0 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_pcd8544_84x48.c @@ -0,0 +1,141 @@ +/* + + u8g_dev_pcd8544_84x48.c + + Display: Nokia 84x48 + + Status: Tested with PCF8812 Display + + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +*/ + +#include "u8g.h" + +#define WIDTH 84 +#define HEIGHT 48 +#define PAGE_HEIGHT 8 + + +static const uint8_t u8g_dev_pcd8544_init_seq[] PROGMEM = { + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ + U8G_ESC_CS(1), /* enable chip */ + 0x021, /* activate chip (PD=0), horizontal increment (V=0), enter extended command set (H=1) */ + 0x006, /* temp. control: b10 = 2 */ + 0x013, /* bias system 1:48 */ + 0x0c0, /* medium Vop */ + 0x020, /* activate chip (PD=0), horizontal increment (V=0), enter normal command set (H=0) */ + 0x00c, /* display on, normal operation */ + U8G_ESC_DLY(100), /* delay 100 ms */ + 0x020, /* activate chip (PD=0), horizontal increment (V=0), enter normal command set (H=0) */ + 0x00d, /* display on, invert */ + U8G_ESC_DLY(100), /* delay 100 ms */ + U8G_ESC_DLY(100), /* delay 100 ms */ + 0x020, /* activate chip (PD=0), horizontal increment (V=0), enter normal command set (H=0) */ + 0x00c, /* display on, normal */ + U8G_ESC_DLY(100), /* delay 100 ms */ + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_END /* end of sequence */ +}; + + +static const uint8_t u8g_dev_pcd8544_sleep_on[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + + 0x020, /* activate chip (PD=0), horizontal increment (V=0), enter normal command set (H=0) */ + 0x00c, /* display on, normal */ + U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ + U8G_ESC_END /* end of sequence */ +}; + +static const uint8_t u8g_dev_pcd8544_sleep_off[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + 0x020, /* activate chip (PD=0), horizontal increment (V=0), enter normal command set (H=0) */ + 0x008, /* display blank */ + 0x024, /* power down (PD=1), horizontal increment (V=0), enter normal command set (H=0) */ + + U8G_ESC_DLY(50), /* delay 50 ms */ + U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ + U8G_ESC_END /* end of sequence */ +}; + + +uint8_t u8g_dev_pcd8544_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_pcd8544_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + u8g_SetAddress(u8g, dev, 0); /* command mode */ + u8g_SetChipSelect(u8g, dev, 1); + u8g_WriteByte(u8g, dev, 0x020 ); /* activate chip (PD=0), horizontal increment (V=0), enter normal command set (H=0) */ + u8g_WriteByte(u8g, dev, 0x080 ); /* set X address */ + u8g_WriteByte(u8g, dev, 0x040 | pb->p.page); /* set Y address */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) + return 0; + u8g_SetChipSelect(u8g, dev, 0); + } + break; + case U8G_DEV_MSG_CONTRAST: + /* the contrast adjustment does not work, needs to be analysed */ + u8g_SetAddress(u8g, dev, 0); /* instruction mode */ + u8g_SetChipSelect(u8g, dev, 1); + u8g_WriteByte(u8g, dev, 0x021); /* command mode, extended function set */ + u8g_WriteByte(u8g, dev, 0x080 | ( (*(uint8_t *)arg) >> 1 ) ); + u8g_SetChipSelect(u8g, dev, 0); + return 1; + case U8G_DEV_MSG_SLEEP_ON: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_pcd8544_sleep_on); + return 1; + case U8G_DEV_MSG_SLEEP_OFF: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_pcd8544_sleep_off); + return 1; + } + return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); +} + + +U8G_PB_DEV(u8g_dev_pcd8544_84x48_sw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_pcd8544_fn, U8G_COM_SW_SPI); +U8G_PB_DEV(u8g_dev_pcd8544_84x48_hw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_pcd8544_fn, U8G_COM_HW_SPI); + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_pcf8812_96x65.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_pcf8812_96x65.c new file mode 100644 index 000000000..380128446 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_pcf8812_96x65.c @@ -0,0 +1,138 @@ +/* + + u8g_dev_pcf8812_96x65.c + + Display: Nokia 96x65 + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + + om6206 comaptible to pcf8812 ? + + Status: Tested + + + Display Controller Seen in + LPH7366 (9 pins, 84x48) PCD8544 Nokia 5110 / 5120 / 5130 / 5160 / 6110 / 6150 + LPH7677 (8 pins, 84x48) PCD8544 Nokia 3210 + LPH7779 (8 pins, 84x48) PCD8544 Nokia 3310 / 3315 / 3330 / 3110, also 3410? + ??? PCD8544 Nokia 5110 / 6110 + LPH7690 ? (96x65) PCF8455/OM6202 Nokia 3410 + LPH7690 ? (96x65?) SED1565/S1D15605 Nokia 7110 / 3510? + LPH7690 ??? Nokia 6210 + + + +*/ + +#include "u8g.h" + +#define WIDTH 96 +#define HEIGHT 65 +#define PAGE_HEIGHT 8 + + +static const uint8_t u8g_dev_pcf8812_init_seq[] PROGMEM = { + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ + U8G_ESC_CS(1), /* enable chip */ + 0x021, /* activate chip (PD=0), horizontal increment (V=0), enter extended command set (H=1) */ + 0x006, /* temp. control: b10 = 2 */ + 0x013, /* bias system 1:48 */ + 0x080 | 0x040, /* medium Vop */ + 0x020, /* activate chip (PD=0), horizontal increment (V=0), enter normal command set (H=0) */ + 0x00c, /* display on, normal operation */ + U8G_ESC_DLY(100), /* delay 100 ms */ + 0x020, /* activate chip (PD=0), horizontal increment (V=0), enter normal command set (H=0) */ + 0x00d, /* display on, invert */ + U8G_ESC_DLY(100), /* delay 100 ms */ + U8G_ESC_DLY(100), /* delay 100 ms */ + 0x020, /* activate chip (PD=0), horizontal increment (V=0), enter normal command set (H=0) */ + 0x00c, /* display on, normal */ + U8G_ESC_DLY(100), /* delay 100 ms */ + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_END /* end of sequence */ +}; + +uint8_t u8g_dev_pcf8812_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_pcf8812_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + u8g_SetAddress(u8g, dev, 0); /* command mode */ + u8g_SetChipSelect(u8g, dev, 1); + u8g_WriteByte(u8g, dev, 0x020 ); /* activate chip (PD=0), horizontal increment (V=0), enter normal command set (H=0) */ + u8g_WriteByte(u8g, dev, 0x080 ); /* set X address */ + u8g_WriteByte(u8g, dev, 0x040 | pb->p.page); /* set Y address */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) + return 0; + + /* mirrored output, not tested*/ + /* + { + uint8_t i = pb->width; + while( i > 0 ) + { + i--; + u8g_WriteByte(u8g, dev, ((unsigned char *)pb->buf)[i] ); + } + } + */ + + + u8g_SetChipSelect(u8g, dev, 0); + } + break; + case U8G_DEV_MSG_CONTRAST: + /* the contrast adjustment does not work, needs to be analysed */ + u8g_SetAddress(u8g, dev, 0); /* instruction mode */ + u8g_SetChipSelect(u8g, dev, 1); + u8g_WriteByte(u8g, dev, 0x021); /* command mode, extended function set */ + u8g_WriteByte(u8g, dev, 0x080 | ( (*(uint8_t *)arg) >> 1 ) ); + u8g_SetChipSelect(u8g, dev, 0); + return 1; + } + return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); +} + +/* u8g_com_arduino_sw_spi_fn does not work, too fast??? */ +U8G_PB_DEV(u8g_dev_pcf8812_96x65_sw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_pcf8812_fn, U8G_COM_SW_SPI); +U8G_PB_DEV(u8g_dev_pcf8812_96x65_hw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_pcf8812_fn, U8G_COM_HW_SPI); diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_sbn1661_122x32.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_sbn1661_122x32.c new file mode 100644 index 000000000..a8552cb40 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_sbn1661_122x32.c @@ -0,0 +1,107 @@ +/* + + u8g_dev_sbn1661_122x32.c + + WG12232 display with 2xSBN1661 / SED1520 controller (122x32 display) + At the moment only available in the Arduino Environment + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +*/ + +#include "u8g.h" + +#define WIDTH 122 +#define HEIGHT 32 +#define PAGE_HEIGHT 8 + + +static const uint8_t u8g_dev_sbn1661_122x32_init_seq[] PROGMEM = { + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds */ + U8G_ESC_CS(1), /* enable chip 1 */ + 0x0af, /* display on */ + 0x0c0, /* display start at line 0 */ + 0x0a0, /* a0: ADC forward, a1: ADC reverse */ + 0x0a9, /* a8: 1/16, a9: 1/32 duty */ + U8G_ESC_CS(2), /* enable chip 2 */ + 0x0af, /* display on */ + 0x0c0, /* display start at line 0 */ + 0x0a0, /* a0: ADC forward, a1: ADC reverse */ + 0x0a9, /* a8: 1/16, a9: 1/32 duty */ + + U8G_ESC_CS(0), /* disable chip */ + + + U8G_ESC_END /* end of sequence */ +}; + +uint8_t u8g_dev_sbn1661_122x32_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_NONE); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_sbn1661_122x32_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + + u8g_SetAddress(u8g, dev, 0); /* command mode */ + u8g_SetChipSelect(u8g, dev, 1); + u8g_WriteByte(u8g, dev, 0x0b8 | pb->p.page); /* select current page (SBN1661/SED1520) */ + u8g_WriteByte(u8g, dev, 0x000 ); /* set X address */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + u8g_WriteSequence(u8g, dev, WIDTH/2, pb->buf); + + u8g_SetAddress(u8g, dev, 0); /* command mode */ + u8g_SetChipSelect(u8g, dev, 2); + u8g_WriteByte(u8g, dev, 0x0b8 | pb->p.page); /* select current page (SBN1661/SED1520) */ + u8g_WriteByte(u8g, dev, 0x000 ); /* set X address */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + u8g_WriteSequence(u8g, dev, WIDTH/2, WIDTH/2+(uint8_t *)pb->buf); + + u8g_SetChipSelect(u8g, dev, 0); + + } + break; + case U8G_DEV_MSG_CONTRAST: + break; + } + return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); +} + +/* u8g_com_arduino_sw_spi_fn does not work, too fast??? */ +U8G_PB_DEV(u8g_dev_sbn1661_122x32 , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_sbn1661_122x32_fn, u8g_com_arduino_no_en_parallel_fn); diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ssd1306_128x32.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ssd1306_128x32.c new file mode 100644 index 000000000..ff516ff66 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ssd1306_128x32.c @@ -0,0 +1,303 @@ +/* + + u8g_dev_ssd1306_128x32.c + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + 23 Feb 2013: Fixed, Issue 147 + +*/ + + +#include "u8g.h" + +#define WIDTH 128 +#define HEIGHT 32 +#define PAGE_HEIGHT 8 + + +/* init sequence adafruit 128x32 OLED (NOT TESTED) */ +static const uint8_t u8g_dev_ssd1306_128x32_adafruit1_init_seq[] PROGMEM = { + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ + U8G_ESC_CS(1), /* enable chip */ + + 0x0ae, /* display off, sleep mode */ + 0x0d5, 0x080, /* clock divide ratio (0x00=1) and oscillator frequency (0x8) */ + 0x0a8, 0x03f, /* */ + + 0x0d3, 0x000, /* */ + + 0x040, /* start line */ + + 0x08d, 0x010, /* [1] charge pump setting (p62): 0x014 enable, 0x010 disable */ + + 0x020, 0x000, /* */ + 0x0a1, /* segment remap a0/a1*/ + 0x0c8, /* c0: scan dir normal, c8: reverse */ + 0x0da, 0x012, /* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5) */ + 0x081, 0x09f, /* [1] set contrast control */ + 0x0d9, 0x022, /* [1] pre-charge period 0x022/f1*/ + 0x0db, 0x040, /* vcomh deselect level */ + + 0x02e, /* 2012-05-27: Deactivate scroll */ + 0x0a4, /* output ram to display */ + 0x0a6, /* none inverted normal display mode */ + 0x0af, /* display on */ + + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_END /* end of sequence */ +}; + + +/* init sequence adafruit 128x32 OLED (NOT TESTED) */ +static const uint8_t u8g_dev_ssd1306_128x32_adafruit2_init_seq[] PROGMEM = { + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ + U8G_ESC_CS(1), /* enable chip */ + + 0x0ae, /* display off, sleep mode */ + 0x0d5, 0x080, /* clock divide ratio (0x00=1) and oscillator frequency (0x8) */ + 0x0a8, 0x03f, /* */ + + 0x0d3, 0x000, /* */ + + 0x040, /* start line */ + + 0x08d, 0x014, /* [2] charge pump setting (p62): 0x014 enable, 0x010 disable */ + + 0x020, 0x000, /* */ + 0x0a1, /* segment remap a0/a1*/ + 0x0c8, /* c0: scan dir normal, c8: reverse */ + 0x0da, 0x012, /* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5) */ + 0x081, 0x0cf, /* [2] set contrast control */ + 0x0d9, 0x0f1, /* [2] pre-charge period 0x022/f1*/ + 0x0db, 0x040, /* vcomh deselect level */ + + 0x02e, /* 2012-05-27: Deactivate scroll */ + 0x0a4, /* output ram to display */ + 0x0a6, /* none inverted normal display mode */ + 0x0af, /* display on */ + + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_END /* end of sequence */ +}; + + +/* init sequence adafruit 128x32 OLED (TESTED - WORKING 23.02.13), like adafruit3, but with page addressing mode */ +static const uint8_t u8g_dev_ssd1306_128x32_adafruit3_init_seq[] PROGMEM = { + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ + U8G_ESC_CS(1), /* enable chip */ + + 0x0ae, /* display off, sleep mode */ + 0x0d5, 0x080, /* clock divide ratio (0x00=1) and oscillator frequency (0x8) */ + 0x0a8, 0x01f, /* Feb 23, 2013: 128x32 OLED: 0x01f, 128x32 OLED 0x03f */ + + 0x0d3, 0x000, /* */ + + 0x040, /* start line */ + + 0x08d, 0x014, /* [2] charge pump setting (p62): 0x014 enable, 0x010 disable */ + + 0x020, 0x002, /* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5), Feb 23, 2013: 128x32 OLED: 0x002, 128x32 OLED 0x012 */ + 0x0a1, /* segment remap a0/a1*/ + 0x0c8, /* c0: scan dir normal, c8: reverse */ + 0x0da, 0x002, /* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5) */ + 0x081, 0x0cf, /* [2] set contrast control */ + 0x0d9, 0x0f1, /* [2] pre-charge period 0x022/f1*/ + 0x0db, 0x040, /* vcomh deselect level */ + + 0x02e, /* 2012-05-27: Deactivate scroll */ + 0x0a4, /* output ram to display */ + 0x0a6, /* none inverted normal display mode */ + 0x0af, /* display on */ + + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_END /* end of sequence */ +}; + + +/* init sequence Univision datasheet (NOT TESTED) */ +static const uint8_t u8g_dev_ssd1306_128x32_univision_init_seq[] PROGMEM = { + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ + U8G_ESC_CS(1), /* enable chip */ + + 0x0ae, /* display off, sleep mode */ + 0x0d5, 0x080, /* clock divide ratio (0x00=1) and oscillator frequency (0x8) */ + 0x0a8, 0x03f, /* multiplex ratio */ + 0x0d3, 0x000, /* display offset */ + 0x040, /* start line */ + 0x08d, 0x010, /* charge pump setting (p62): 0x014 enable, 0x010 disable */ + 0x0a1, /* segment remap a0/a1*/ + 0x0c8, /* c0: scan dir normal, c8: reverse */ + 0x0da, 0x012, /* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5) */ + 0x081, 0x09f, /* set contrast control */ + 0x0d9, 0x022, /* pre-charge period */ + 0x0db, 0x040, /* vcomh deselect level */ + 0x022, 0x000, /* page addressing mode WRONG: 3 byte cmd! */ + 0x0a4, /* output ram to display */ + 0x0a6, /* none inverted normal display mode */ + 0x0af, /* display on */ + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_END /* end of sequence */ +}; + + +/* select one init sequence here */ +//define u8g_dev_ssd1306_128x32_init_seq u8g_dev_ssd1306_128x32_univision_init_seq +//define u8g_dev_ssd1306_128x32_init_seq u8g_dev_ssd1306_128x32_adafruit1_init_seq +//define u8g_dev_ssd1306_128x32_init_seq u8g_dev_ssd1306_128x32_adafruit2_init_seq +#define u8g_dev_ssd1306_128x32_init_seq u8g_dev_ssd1306_128x32_adafruit3_init_seq + + +static const uint8_t u8g_dev_ssd1306_128x32_data_start[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + 0x010, /* set upper 4 bit of the col adr. to 0 */ + 0x000, /* set lower 4 bit of the col adr. to 4 */ + U8G_ESC_END /* end of sequence */ +}; + +static const uint8_t u8g_dev_ssd13xx_sleep_on[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + 0x0ae, /* display off */ + U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ + U8G_ESC_END /* end of sequence */ +}; + +static const uint8_t u8g_dev_ssd13xx_sleep_off[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + 0x0af, /* display on */ + U8G_ESC_DLY(50), /* delay 50 ms */ + U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ + U8G_ESC_END /* end of sequence */ +}; + +uint8_t u8g_dev_ssd1306_128x32_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_128x32_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_128x32_data_start); + u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (SSD1306) */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) + return 0; + u8g_SetChipSelect(u8g, dev, 0); + } + break; + case U8G_DEV_MSG_CONTRAST: + u8g_SetChipSelect(u8g, dev, 1); + u8g_SetAddress(u8g, dev, 0); /* instruction mode */ + u8g_WriteByte(u8g, dev, 0x081); + u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) ); /* 11 Jul 2015: fixed contrast calculation */ + u8g_SetChipSelect(u8g, dev, 0); + return 1; + case U8G_DEV_MSG_SLEEP_ON: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on); + return 1; + case U8G_DEV_MSG_SLEEP_OFF: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off); + return 1; +} + + return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); +} + +uint8_t u8g_dev_ssd1306_128x32_2x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_128x32_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_128x32_data_start); + u8g_WriteByte(u8g, dev, 0x0b0 | (pb->p.page*2)); /* select current page (SSD1306) */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + u8g_WriteSequence(u8g, dev, pb->width, pb->buf); + u8g_SetChipSelect(u8g, dev, 0); + + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_128x32_data_start); + u8g_WriteByte(u8g, dev, 0x0b0 | (pb->p.page*2+1)); /* select current page (SSD1306) */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)(pb->buf)+pb->width); + u8g_SetChipSelect(u8g, dev, 0); + } + break; + case U8G_DEV_MSG_CONTRAST: + u8g_SetChipSelect(u8g, dev, 1); + u8g_SetAddress(u8g, dev, 0); /* instruction mode */ + u8g_WriteByte(u8g, dev, 0x081); + u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) ); /* 11 Jul 2015: fixed contrast calculation */ + u8g_SetChipSelect(u8g, dev, 0); + return 1; + case U8G_DEV_MSG_SLEEP_ON: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on); + return 1; + case U8G_DEV_MSG_SLEEP_OFF: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off); + return 1; + } + return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg); +} + +U8G_PB_DEV(u8g_dev_ssd1306_128x32_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1306_128x32_fn, U8G_COM_SW_SPI); +U8G_PB_DEV(u8g_dev_ssd1306_128x32_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1306_128x32_fn, U8G_COM_HW_SPI); +U8G_PB_DEV(u8g_dev_ssd1306_128x32_i2c, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1306_128x32_fn, U8G_COM_SSD_I2C); + +uint8_t u8g_dev_ssd1306_128x32_2x_buf[WIDTH*2] U8G_NOCOMMON ; +u8g_pb_t u8g_dev_ssd1306_128x32_2x_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_ssd1306_128x32_2x_buf}; +u8g_dev_t u8g_dev_ssd1306_128x32_2x_sw_spi = { u8g_dev_ssd1306_128x32_2x_fn, &u8g_dev_ssd1306_128x32_2x_pb, U8G_COM_SW_SPI }; +u8g_dev_t u8g_dev_ssd1306_128x32_2x_hw_spi = { u8g_dev_ssd1306_128x32_2x_fn, &u8g_dev_ssd1306_128x32_2x_pb, U8G_COM_HW_SPI }; +u8g_dev_t u8g_dev_ssd1306_128x32_2x_i2c = { u8g_dev_ssd1306_128x32_2x_fn, &u8g_dev_ssd1306_128x32_2x_pb, U8G_COM_SSD_I2C }; diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ssd1306_128x64.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ssd1306_128x64.c new file mode 100644 index 000000000..1b67fbb48 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ssd1306_128x64.c @@ -0,0 +1,457 @@ +/* + + u8g_dev_ssd1306_128x64.c + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +*/ + +#include "u8g.h" + +#define WIDTH 128 +#define HEIGHT 64 +#define PAGE_HEIGHT 8 + +/* init sequence adafruit 128x64 OLED (NOT TESTED) */ +static const uint8_t u8g_dev_ssd1306_128x64_adafruit1_init_seq[] PROGMEM = { + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ + U8G_ESC_CS(1), /* enable chip */ + + 0x0ae, /* display off, sleep mode */ + 0x0d5, 0x080, /* clock divide ratio (0x00=1) and oscillator frequency (0x8) */ + 0x0a8, 0x03f, /* */ + + 0x0d3, 0x000, /* */ + + 0x040, /* start line */ + + 0x08d, 0x010, /* [1] charge pump setting (p62): 0x014 enable, 0x010 disable */ + + 0x020, 0x000, /* */ + 0x0a1, /* segment remap a0/a1*/ + 0x0c8, /* c0: scan dir normal, c8: reverse */ + 0x0da, 0x012, /* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5) */ + 0x081, 0x09f, /* [1] set contrast control */ + 0x0d9, 0x022, /* [1] pre-charge period 0x022/f1*/ + 0x0db, 0x040, /* vcomh deselect level */ + + 0x02e, /* 2012-05-27: Deactivate scroll */ + 0x0a4, /* output ram to display */ + 0x0a6, /* none inverted normal display mode */ + 0x0af, /* display on */ + + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_END /* end of sequence */ +}; + +/* init sequence adafruit 128x64 OLED (NOT TESTED) */ +static const uint8_t u8g_dev_ssd1306_128x64_adafruit2_init_seq[] PROGMEM = { + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ + U8G_ESC_CS(1), /* enable chip */ + + 0x0ae, /* display off, sleep mode */ + 0x0d5, 0x080, /* clock divide ratio (0x00=1) and oscillator frequency (0x8) */ + 0x0a8, 0x03f, /* */ + + 0x0d3, 0x000, /* */ + + 0x040, /* start line */ + + 0x08d, 0x014, /* [2] charge pump setting (p62): 0x014 enable, 0x010 disable */ + + 0x020, 0x000, /* */ + 0x0a1, /* segment remap a0/a1*/ + 0x0c8, /* c0: scan dir normal, c8: reverse */ + 0x0da, 0x012, /* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5) */ + 0x081, 0x0cf, /* [2] set contrast control */ + 0x0d9, 0x0f1, /* [2] pre-charge period 0x022/f1*/ + 0x0db, 0x040, /* vcomh deselect level */ + + 0x02e, /* 2012-05-27: Deactivate scroll */ + 0x0a4, /* output ram to display */ + 0x0a6, /* none inverted normal display mode */ + 0x0af, /* display on */ + + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_END /* end of sequence */ +}; + +/* init sequence adafruit 128x64 OLED (NOT TESTED), like adafruit3, but with page addressing mode */ +static const uint8_t u8g_dev_ssd1306_128x64_adafruit3_init_seq[] PROGMEM = { + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ + U8G_ESC_CS(1), /* enable chip */ + + 0x0ae, /* display off, sleep mode */ + 0x0d5, 0x080, /* clock divide ratio (0x00=1) and oscillator frequency (0x8) */ + 0x0a8, 0x03f, /* */ + + 0x0d3, 0x000, /* */ + + 0x040, /* start line */ + + 0x08d, 0x014, /* [2] charge pump setting (p62): 0x014 enable, 0x010 disable */ + + 0x020, 0x002, /* 2012-05-27: page addressing mode */ + 0x0a1, /* segment remap a0/a1*/ + 0x0c8, /* c0: scan dir normal, c8: reverse */ + 0x0da, 0x012, /* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5) */ + 0x081, 0x0cf, /* [2] set contrast control */ + 0x0d9, 0x0f1, /* [2] pre-charge period 0x022/f1*/ + 0x0db, 0x040, /* vcomh deselect level */ + + 0x02e, /* 2012-05-27: Deactivate scroll */ + 0x0a4, /* output ram to display */ + 0x0a6, /* none inverted normal display mode */ + 0x0af, /* display on */ + + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_END /* end of sequence */ +}; + +/* init sequence Univision datasheet (NOT TESTED) */ +static const uint8_t u8g_dev_ssd1306_128x64_univision_init_seq[] PROGMEM = { + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ + U8G_ESC_CS(1), /* enable chip */ + + 0x0ae, /* display off, sleep mode */ + 0x0d5, 0x080, /* clock divide ratio (0x00=1) and oscillator frequency (0x8) */ + 0x0a8, 0x03f, /* multiplex ratio */ + 0x0d3, 0x000, /* display offset */ + 0x040, /* start line */ + 0x08d, 0x010, /* charge pump setting (p62): 0x014 enable, 0x010 disable */ + 0x0a1, /* segment remap a0/a1*/ + 0x0c8, /* c0: scan dir normal, c8: reverse */ + 0x0da, 0x012, /* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5) */ + 0x081, 0x09f, /* set contrast control */ + 0x0d9, 0x022, /* pre-charge period */ + 0x0db, 0x040, /* vcomh deselect level */ + 0x022, 0x000, /* page addressing mode WRONG: 3 byte cmd! */ + 0x0a4, /* output ram to display */ + 0x0a6, /* none inverted normal display mode */ + 0x0af, /* display on */ + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_END /* end of sequence */ +}; + +/* select one init sequence here */ +//#define u8g_dev_ssd1306_128x64_init_seq u8g_dev_ssd1306_128x64_univision_init_seq +//#define u8g_dev_ssd1306_128x64_init_seq u8g_dev_ssd1306_128x64_adafruit1_init_seq +// 26. Apr 2014: in this thead: http://forum.arduino.cc/index.php?topic=234930.msg1696754;topicseen#msg1696754 +// it is mentiond, that adafruit2_init_seq works better --> this will be used by the ssd1306_adafruit device +//#define u8g_dev_ssd1306_128x64_init_seq u8g_dev_ssd1306_128x64_adafruit2_init_seq + +#define u8g_dev_ssd1306_128x64_init_seq u8g_dev_ssd1306_128x64_adafruit3_init_seq + + +static const uint8_t u8g_dev_ssd1306_128x64_data_start[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + 0x010, /* set upper 4 bit of the col adr to 0 */ + 0x000, /* set lower 4 bit of the col adr to 0 */ + U8G_ESC_END /* end of sequence */ +}; + +/* the sh1106 is compatible to the ssd1306, but is 132x64. display seems to be centered */ +static const uint8_t u8g_dev_sh1106_128x64_data_start[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + 0x010, /* set upper 4 bit of the col adr to 0 */ + 0x002, /* set lower 4 bit of the col adr to 2 (centered display with sh1106) */ + U8G_ESC_END /* end of sequence */ +}; + +static const uint8_t u8g_dev_ssd13xx_sleep_on[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + 0x0ae, /* display off */ + U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ + U8G_ESC_END /* end of sequence */ +}; + +static const uint8_t u8g_dev_ssd13xx_sleep_off[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + 0x0af, /* display on */ + U8G_ESC_DLY(50), /* delay 50 ms */ + U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ + U8G_ESC_END /* end of sequence */ +}; + +uint8_t u8g_dev_ssd1306_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_128x64_adafruit2_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_128x64_data_start); + u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (SSD1306) */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) + return 0; + u8g_SetChipSelect(u8g, dev, 0); + } + break; + case U8G_DEV_MSG_SLEEP_ON: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on); + return 1; + case U8G_DEV_MSG_SLEEP_OFF: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off); + return 1; + case U8G_DEV_MSG_CONTRAST: + { + u8g_SetChipSelect(u8g, dev, 1); + u8g_SetAddress(u8g, dev, 0); /* instruction mode */ + u8g_WriteByte(u8g, dev, 0x81); + u8g_WriteByte(u8g, dev, *(uint8_t *) arg); + u8g_SetChipSelect(u8g, dev, 0); + return 1; + } + } + return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); +} + +uint8_t u8g_dev_ssd1306_adafruit_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_128x64_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_128x64_data_start); + u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (SSD1306) */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) + return 0; + u8g_SetChipSelect(u8g, dev, 0); + } + break; + case U8G_DEV_MSG_SLEEP_ON: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on); + return 1; + case U8G_DEV_MSG_SLEEP_OFF: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off); + return 1; + case U8G_DEV_MSG_CONTRAST: + { + u8g_SetChipSelect(u8g, dev, 1); + u8g_SetAddress(u8g, dev, 0); /* instruction mode */ + u8g_WriteByte(u8g, dev, 0x81); + u8g_WriteByte(u8g, dev, *(uint8_t *) arg); + u8g_SetChipSelect(u8g, dev, 0); + return 1; + } + } + return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); +} + +uint8_t u8g_dev_sh1106_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_128x64_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_sh1106_128x64_data_start); + u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (SSD1306) */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) + return 0; + u8g_SetChipSelect(u8g, dev, 0); + } + break; + case U8G_DEV_MSG_SLEEP_ON: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on); + return 1; + case U8G_DEV_MSG_SLEEP_OFF: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off); + return 1; + case U8G_DEV_MSG_CONTRAST: + { + u8g_SetChipSelect(u8g, dev, 1); + u8g_SetAddress(u8g, dev, 0); /* instruction mode */ + u8g_WriteByte(u8g, dev, 0x81); + u8g_WriteByte(u8g, dev, *(uint8_t *) arg); + u8g_SetChipSelect(u8g, dev, 0); + return 1; + } + } + return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); +} + + +uint8_t u8g_dev_ssd1306_128x64_2x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_128x64_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_128x64_data_start); + u8g_WriteByte(u8g, dev, 0x0b0 | (pb->p.page*2)); /* select current page (SSD1306) */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + u8g_WriteSequence(u8g, dev, pb->width, pb->buf); + u8g_SetChipSelect(u8g, dev, 0); + + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_128x64_data_start); + u8g_WriteByte(u8g, dev, 0x0b0 | (pb->p.page*2+1)); /* select current page (SSD1306) */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)(pb->buf)+pb->width); + u8g_SetChipSelect(u8g, dev, 0); + } + break; + case U8G_DEV_MSG_SLEEP_ON: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on); + return 1; + case U8G_DEV_MSG_SLEEP_OFF: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off); + return 1; + case U8G_DEV_MSG_CONTRAST: + { + u8g_SetChipSelect(u8g, dev, 1); + u8g_SetAddress(u8g, dev, 0); /* instruction mode */ + u8g_WriteByte(u8g, dev, 0x81); + u8g_WriteByte(u8g, dev, *(uint8_t *) arg); + u8g_SetChipSelect(u8g, dev, 0); + return 1; + } + } + return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg); +} + +uint8_t u8g_dev_sh1106_128x64_2x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_128x64_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + + u8g_WriteEscSeqP(u8g, dev, u8g_dev_sh1106_128x64_data_start); + u8g_WriteByte(u8g, dev, 0x0b0 | (pb->p.page*2)); /* select current page (SSD1306) */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + u8g_WriteSequence(u8g, dev, pb->width, pb->buf); + u8g_SetChipSelect(u8g, dev, 0); + + u8g_WriteEscSeqP(u8g, dev, u8g_dev_sh1106_128x64_data_start); + u8g_WriteByte(u8g, dev, 0x0b0 | (pb->p.page*2+1)); /* select current page (SSD1306) */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)(pb->buf)+pb->width); + u8g_SetChipSelect(u8g, dev, 0); + } + break; + case U8G_DEV_MSG_SLEEP_ON: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on); + return 1; + case U8G_DEV_MSG_SLEEP_OFF: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off); + return 1; + case U8G_DEV_MSG_CONTRAST: + { + u8g_SetChipSelect(u8g, dev, 1); + u8g_SetAddress(u8g, dev, 0); /* instruction mode */ + u8g_WriteByte(u8g, dev, 0x81); + u8g_WriteByte(u8g, dev, *(uint8_t *) arg); + u8g_SetChipSelect(u8g, dev, 0); + return 1; + } + } + return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg); +} + + + + +U8G_PB_DEV(u8g_dev_ssd1306_128x64_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1306_128x64_fn, U8G_COM_SW_SPI); +U8G_PB_DEV(u8g_dev_ssd1306_128x64_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1306_128x64_fn, U8G_COM_HW_SPI); +U8G_PB_DEV(u8g_dev_ssd1306_128x64_i2c, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1306_128x64_fn, U8G_COM_SSD_I2C); + +U8G_PB_DEV(u8g_dev_ssd1306_adafruit_128x64_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1306_adafruit_128x64_fn, U8G_COM_SW_SPI); +U8G_PB_DEV(u8g_dev_ssd1306_adafruit_128x64_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1306_adafruit_128x64_fn, U8G_COM_HW_SPI); +U8G_PB_DEV(u8g_dev_ssd1306_adafruit_128x64_i2c, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1306_adafruit_128x64_fn, U8G_COM_SSD_I2C); + + +uint8_t u8g_dev_ssd1306_128x64_2x_buf[WIDTH*2] U8G_NOCOMMON ; +u8g_pb_t u8g_dev_ssd1306_128x64_2x_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_ssd1306_128x64_2x_buf}; +u8g_dev_t u8g_dev_ssd1306_128x64_2x_sw_spi = { u8g_dev_ssd1306_128x64_2x_fn, &u8g_dev_ssd1306_128x64_2x_pb, U8G_COM_SW_SPI }; +u8g_dev_t u8g_dev_ssd1306_128x64_2x_hw_spi = { u8g_dev_ssd1306_128x64_2x_fn, &u8g_dev_ssd1306_128x64_2x_pb, U8G_COM_HW_SPI }; +u8g_dev_t u8g_dev_ssd1306_128x64_2x_i2c = { u8g_dev_ssd1306_128x64_2x_fn, &u8g_dev_ssd1306_128x64_2x_pb, U8G_COM_SSD_I2C }; + + +U8G_PB_DEV(u8g_dev_sh1106_128x64_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_sh1106_128x64_fn, U8G_COM_SW_SPI); +U8G_PB_DEV(u8g_dev_sh1106_128x64_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_sh1106_128x64_fn, U8G_COM_HW_SPI); +U8G_PB_DEV(u8g_dev_sh1106_128x64_i2c, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_sh1106_128x64_fn, U8G_COM_SSD_I2C); + +uint8_t u8g_dev_sh1106_128x64_2x_buf[WIDTH*2] U8G_NOCOMMON ; +u8g_pb_t u8g_dev_sh1106_128x64_2x_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_sh1106_128x64_2x_buf}; +u8g_dev_t u8g_dev_sh1106_128x64_2x_sw_spi = { u8g_dev_sh1106_128x64_2x_fn, &u8g_dev_sh1106_128x64_2x_pb, U8G_COM_SW_SPI }; +u8g_dev_t u8g_dev_sh1106_128x64_2x_hw_spi = { u8g_dev_sh1106_128x64_2x_fn, &u8g_dev_sh1106_128x64_2x_pb, U8G_COM_HW_SPI }; +u8g_dev_t u8g_dev_sh1106_128x64_2x_i2c = { u8g_dev_sh1106_128x64_2x_fn, &u8g_dev_sh1106_128x64_2x_pb, U8G_COM_SSD_I2C }; + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ssd1306_64x48.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ssd1306_64x48.c new file mode 100644 index 000000000..b9bdb1d18 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ssd1306_64x48.c @@ -0,0 +1,201 @@ +/* + + u8g_dev_ssd1306_64x48.c + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + +*/ + + +#include "u8g.h" + +#define WIDTH 64 +#define HEIGHT 48 +#define PAGE_HEIGHT 8 + + + +/* init sequence buydisplay.com 0.66" 64x48 OLED */ +/* http://www.buydisplay.com/download/manual/ER-OLED0.66-1_Series_Datasheet.pdf */ +static const uint8_t u8g_dev_ssd1306_64x48_init_seq[] PROGMEM = { + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ + U8G_ESC_CS(1), /* enable chip */ + + 0x0ae, /* display off, sleep mode */ + 0x0d5, 0x080, /* clock divide ratio (0x00=1) and oscillator frequency (0x8) */ + 0x0a8, 0x02f, /* Multiplex Ration, Jul 12, 2015: From 0.66" OLED datasheet */ + + 0x0d3, 0x000, /* */ + + 0x040, /* start line */ + + 0x08d, 0x014, /* charge pump setting (p62): 0x014 enable, 0x010 disable */ + + //0x020, 0x002, /* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5), Feb 23, 2013: 64x48 OLED: 0x002, 64x48 OLED 0x012 */ + 0x0a1, /* segment remap a0/a1*/ + 0x0c8, /* c0: scan dir normal, c8: reverse */ + 0x0da, 0x012, /* com pin HW config, sequential com pin config (bit 4), disable left/right remap (bit 5), Jul 12, 2015: From 0.66" OLED datasheet */ + 0x081, 0x0cf, /* set contrast control */ + 0x0d9, 0x022, /* pre-charge period 0x022/f1, from 0.66" OLED datasheet */ + 0x0db, 0x000, /* vcomh deselect level, from 0.66" OLED datasheet */ + + 0x02e, /* 2012-05-27: Deactivate scroll */ + 0x0a4, /* output ram to display */ + 0x0a6, /* none inverted normal display mode */ + 0x0af, /* display on */ + + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_END /* end of sequence */ +}; + + + + +static const uint8_t u8g_dev_ssd1306_64x48_data_start[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + 0x010+2, /* set upper 4 bit of the col adr. to 0, 0.66" OLED starts with offset 32 */ + 0x000, /* set lower 4 bit of the col adr. to 4 */ + U8G_ESC_END /* end of sequence */ +}; + +static const uint8_t u8g_dev_ssd13xx_sleep_on[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + 0x0ae, /* display off */ + U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ + U8G_ESC_END /* end of sequence */ +}; + +static const uint8_t u8g_dev_ssd13xx_sleep_off[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + 0x0af, /* display on */ + U8G_ESC_DLY(50), /* delay 50 ms */ + U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ + U8G_ESC_END /* end of sequence */ +}; + +uint8_t u8g_dev_ssd1306_64x48_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_64x48_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_64x48_data_start); + u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (SSD1306) */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) + return 0; + u8g_SetChipSelect(u8g, dev, 0); + } + break; + case U8G_DEV_MSG_CONTRAST: + u8g_SetChipSelect(u8g, dev, 1); + u8g_SetAddress(u8g, dev, 0); /* instruction mode */ + u8g_WriteByte(u8g, dev, 0x081); + u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) ); /* 11 Jul 2015: fixed contrast calculation */ + u8g_SetChipSelect(u8g, dev, 0); + return 1; + case U8G_DEV_MSG_SLEEP_ON: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on); + return 1; + case U8G_DEV_MSG_SLEEP_OFF: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off); + return 1; +} + + return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); +} + +uint8_t u8g_dev_ssd1306_64x48_2x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_64x48_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_64x48_data_start); + u8g_WriteByte(u8g, dev, 0x0b0 | (pb->p.page*2)); /* select current page (SSD1306) */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + u8g_WriteSequence(u8g, dev, pb->width, pb->buf); + u8g_SetChipSelect(u8g, dev, 0); + + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_64x48_data_start); + u8g_WriteByte(u8g, dev, 0x0b0 | (pb->p.page*2+1)); /* select current page (SSD1306) */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)(pb->buf)+pb->width); + u8g_SetChipSelect(u8g, dev, 0); + } + break; + case U8G_DEV_MSG_CONTRAST: + u8g_SetChipSelect(u8g, dev, 1); + u8g_SetAddress(u8g, dev, 0); /* instruction mode */ + u8g_WriteByte(u8g, dev, 0x081); + u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) ); /* 11 Jul 2015: fixed contrast calculation */ + u8g_SetChipSelect(u8g, dev, 0); + return 1; + case U8G_DEV_MSG_SLEEP_ON: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on); + return 1; + case U8G_DEV_MSG_SLEEP_OFF: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off); + return 1; + } + return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg); +} + +U8G_PB_DEV(u8g_dev_ssd1306_64x48_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1306_64x48_fn, U8G_COM_SW_SPI); +U8G_PB_DEV(u8g_dev_ssd1306_64x48_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1306_64x48_fn, U8G_COM_HW_SPI); +U8G_PB_DEV(u8g_dev_ssd1306_64x48_i2c, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1306_64x48_fn, U8G_COM_SSD_I2C); + +uint8_t u8g_dev_ssd1306_64x48_2x_buf[WIDTH*2] U8G_NOCOMMON ; +u8g_pb_t u8g_dev_ssd1306_64x48_2x_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_ssd1306_64x48_2x_buf}; +u8g_dev_t u8g_dev_ssd1306_64x48_2x_sw_spi = { u8g_dev_ssd1306_64x48_2x_fn, &u8g_dev_ssd1306_64x48_2x_pb, U8G_COM_SW_SPI }; +u8g_dev_t u8g_dev_ssd1306_64x48_2x_hw_spi = { u8g_dev_ssd1306_64x48_2x_fn, &u8g_dev_ssd1306_64x48_2x_pb, U8G_COM_HW_SPI }; +u8g_dev_t u8g_dev_ssd1306_64x48_2x_i2c = { u8g_dev_ssd1306_64x48_2x_fn, &u8g_dev_ssd1306_64x48_2x_pb, U8G_COM_SSD_I2C }; diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ssd1309_128x64.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ssd1309_128x64.c new file mode 100644 index 000000000..5402febe9 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ssd1309_128x64.c @@ -0,0 +1,142 @@ +/* + + u8g_dev_ssd1309_128x64.c + + Universal 8bit Graphics Library + + Copyright (c) 2012, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +*/ + +#include "u8g.h" + +#define WIDTH 128 +#define HEIGHT 64 +#define PAGE_HEIGHT 8 + + +/* ssd1309 ini sequence*/ +static const uint8_t u8g_dev_ssd1309_128x64_init_seq[] PROGMEM={ + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ + U8G_ESC_CS(1), /* enable chip */ + + 0xfd,0x12, /*Command Lock */ + 0xae, /*Set Display Off */ + 0xd5,0xa0, /*set Display Clock Divide Ratio/Oscillator Frequency */ + 0xa8,0x3f, /*Set Multiplex Ratio */ + 0x3d,0x00, /*Set Display Offset*/ + 0x40, /*Set Display Start Line*/ + 0xa1, /*Set Segment Re-Map*/ + 0xc8, /*Set COM Output Scan Direction*/ + 0xda,0x12, /*Set COM Pins Hardware Configuration*/ + 0x81,0xdf, /*Set Current Control */ + 0xd9,0x82, /*Set Pre-Charge Period */ + 0xdb,0x34, /*Set VCOMH Deselect Level */ + 0xa4, /*Set Entire Display On/Off */ + 0xa6, /*Set Normal/Inverse Display*/ + U8G_ESC_VCC(1), /*Power up VCC & Stabilized */ + U8G_ESC_DLY(50), + 0xaf, /*Set Display On */ + U8G_ESC_DLY(50), + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_END /* end of sequence */ +}; + +/* select one init sequence here */ + #define u8g_dev_ssd1309_128x64_init_seq u8g_dev_ssd1309_128x64_init_seq + + + static const uint8_t u8g_dev_ssd1309_128x64_data_start[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + 0x010, /* set upper 4 bit of the col adr to 0 */ + 0x000, /* set lower 4 bit of the col adr to 4 */ + U8G_ESC_END /* end of sequence */ +}; + +static const uint8_t u8g_dev_ssd13xx_sleep_on[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + 0x0ae, /* display off */ + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_END /* end of sequence */ +}; + +static const uint8_t u8g_dev_ssd13xx_sleep_off[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + 0x0af, /* display on */ + U8G_ESC_DLY(50), /* delay 50 ms */ + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_END /* end of sequence */ +}; + +uint8_t u8g_dev_ssd1309_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1309_128x64_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1309_128x64_data_start); + u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (SSD1306) */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) + return 0; + u8g_SetChipSelect(u8g, dev, 0); + } + break; + case U8G_DEV_MSG_CONTRAST: + u8g_SetChipSelect(u8g, dev, 1); + u8g_SetAddress(u8g, dev, 0); /* instruction mode */ + u8g_WriteByte(u8g, dev, 0x081); + u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) ); /* 11 Jul 2015: fixed contrast calculation */ + u8g_SetChipSelect(u8g, dev, 0); + return 1; + case U8G_DEV_MSG_SLEEP_ON: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on); + return 1; + case U8G_DEV_MSG_SLEEP_OFF: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off); + return 1; + } + return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); +} + +U8G_PB_DEV(u8g_dev_ssd1309_128x64_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1309_128x64_fn, U8G_COM_HW_SPI); +U8G_PB_DEV(u8g_dev_ssd1309_128x64_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1309_128x64_fn, U8G_COM_SW_SPI); +U8G_PB_DEV(u8g_dev_ssd1309_128x64_i2c, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1309_128x64_fn, U8G_COM_SSD_I2C); diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ssd1322_nhd31oled_bw.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ssd1322_nhd31oled_bw.c new file mode 100644 index 000000000..4db96270d --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ssd1322_nhd31oled_bw.c @@ -0,0 +1,338 @@ +/* + + u8g_dev_ssd1322_nhd31oled_bw.c + + 1-Bit (BW) Driver for SSD1322 Controller (OLED Display) + Tested with NHD-3.12-25664 + + Universal 8bit Graphics Library + + Copyright (c) 2012, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + SSD130x Monochrom OLED Controller + SSD131x Character OLED Controller + SSD132x Graylevel OLED Controller + SSD1331 Color OLED Controller + +*/ + +#include "u8g.h" + +/* width must be multiple of 8, largest value is 248 unless u8g 16 bit mode is enabled */ +#if defined(U8G_16BIT) +#define WIDTH 256 +#else +#define WIDTH 248 +#endif +#define HEIGHT 64 +#define PAGE_HEIGHT 8 + +/* + http://www.newhavendisplay.com/app_notes/OLED_25664.txt + http://www.newhavendisplay.com/forum/viewtopic.php?f=15&t=3758 +*/ + +static const uint8_t u8g_dev_ssd1322_1bit_nhd_312_init_seq[] PROGMEM = { + U8G_ESC_DLY(10), /* delay 10 ms */ + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ + U8G_ESC_CS(1), /* enable chip */ + + U8G_ESC_DLY(100), /* delay 100 ms */ + U8G_ESC_DLY(100), /* delay 100 ms */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0x0fd, /* lock command */ + U8G_ESC_ADR(1), /* data mode */ + 0x012, /* unlock */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0x0ae, /* display off, sleep mode */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0x0b3, + U8G_ESC_ADR(1), /* data mode */ + 0x091, /* set display clock divide ratio/oscillator frequency (set clock as 80 frames/sec) */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0x0ca, /* multiplex ratio */ + U8G_ESC_ADR(1), /* data mode */ + 0x03f, /* 1/64 Duty (0x0F~0x3F) */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0x0a2, + U8G_ESC_ADR(1), /* data mode */ + 0x000, /* display offset, shift mapping ram counter */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0x0a1, + U8G_ESC_ADR(1), /* data mode */ + 0x000, /* display start line */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0x0a0, /* Set Re-Map / Dual COM Line Mode */ + U8G_ESC_ADR(1), /* data mode */ + 0x014, /* was 0x014 */ + 0x011, /* was 0x011 */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0x0ab, + U8G_ESC_ADR(1), /* data mode */ + 0x001, /* Enable Internal VDD Regulator */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0x0b4, /* Display Enhancement A */ + U8G_ESC_ADR(1), /* data mode */ + 0x0a0, + 0x005|0x0fd, + + U8G_ESC_ADR(0), /* instruction mode */ + 0x0c1, /* contrast */ + U8G_ESC_ADR(1), /* data mode */ + 0x09f, + + U8G_ESC_ADR(0), /* instruction mode */ + 0x0c7, /* Set Scale Factor of Segment Output Current Control */ + U8G_ESC_ADR(1), /* data mode */ + 0x00f, + + U8G_ESC_ADR(0), /* instruction mode */ + 0x0b9, /* linear gray scale */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0x0b1, /* Phase 1 (Reset) & Phase 2 (Pre-Charge) Period Adjustment */ + U8G_ESC_ADR(1), /* data mode */ + 0x0e2, + + U8G_ESC_ADR(0), /* instruction mode */ + 0x0d1, /* Display Enhancement B */ + U8G_ESC_ADR(1), /* data mode */ + 0x082|0x020, + 0x020, + + U8G_ESC_ADR(0), /* instruction mode */ + 0x0bb, /* precharge voltage */ + U8G_ESC_ADR(1), /* data mode */ + 0x01f, + + U8G_ESC_ADR(0), /* instruction mode */ + 0x0b6, /* precharge period */ + U8G_ESC_ADR(1), /* data mode */ + 0x008, + + U8G_ESC_ADR(0), /* instruction mode */ + 0x0be, /* vcomh */ + U8G_ESC_ADR(1), /* data mode */ + 0x007, + + U8G_ESC_ADR(0), /* instruction mode */ + 0x0a6, /* normal display */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0x0a9, /* exit partial display */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0x0af, /* display on */ + + + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_END /* end of sequence */ +}; + +static const uint8_t u8g_dev_ssd1322_1bit_nhd_312_prepare_page_seq[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + 0x015, /* column address... */ + U8G_ESC_ADR(1), /* data mode */ + 0x01c, /* start at column 0 */ + 0x05b, /* end column */ + U8G_ESC_ADR(0), /* instruction mode */ + 0x075, /* row address... */ + U8G_ESC_ADR(1), /* data mode */ + U8G_ESC_END /* end of sequence */ +}; + +static void u8g_dev_ssd1322_1bit_prepare_row(u8g_t *u8g, u8g_dev_t *dev, uint8_t delta_row) +{ + uint8_t row = ((u8g_pb_t *)(dev->dev_mem))->p.page; + + row *= ((u8g_pb_t *)(dev->dev_mem))->p.page_height; + row += delta_row; + + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1322_1bit_nhd_312_prepare_page_seq); + + u8g_WriteByte(u8g, dev, row); /* start at the selected row */ + u8g_WriteByte(u8g, dev, row+1); /* end within the selected row */ + + u8g_SetAddress(u8g, dev, 0); /* instruction mode mode */ + u8g_WriteByte(u8g, dev, 0x05c); /* write to ram */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ +} + +static const uint8_t u8g_dev_ssd13xx_sleep_on[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + 0x0ae, /* display off */ + U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ + U8G_ESC_END /* end of sequence */ +}; + +static const uint8_t u8g_dev_ssd13xx_sleep_off[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + 0x0af, /* display on */ + U8G_ESC_DLY(50), /* delay 50 ms */ + U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ + U8G_ESC_END /* end of sequence */ +}; + + +uint8_t u8g_dev_ssd1322_nhd31oled_bw_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1322_1bit_nhd_312_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + uint8_t i; + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + uint8_t *p = pb->buf; + u8g_uint_t cnt; + cnt = pb->width; + cnt >>= 3; + + for( i = 0; i < pb->p.page_height; i++ ) + { + u8g_dev_ssd1322_1bit_prepare_row(u8g, dev, i); /* this will also enable chip select */ +#if !defined(U8G_16BIT) + u8g_WriteByte(u8g, dev, 0x0ff); + u8g_WriteByte(u8g, dev, 0x0ff); +#endif + u8g_WriteSequenceBWTo16GrDevice(u8g, dev, cnt, p); +#if !defined(U8G_16BIT) + u8g_WriteByte(u8g, dev, 0x0ff); + u8g_WriteByte(u8g, dev, 0x0ff); +#endif + u8g_MicroDelay(); // for DUE? + u8g_SetChipSelect(u8g, dev, 0); + p+=cnt; + } + } + break; + case U8G_DEV_MSG_CONTRAST: + u8g_SetChipSelect(u8g, dev, 1); + u8g_SetAddress(u8g, dev, 0); /* instruction mode */ + u8g_WriteByte(u8g, dev, 0x081); + u8g_SetAddress(u8g, dev, 1); /* data mode */ + u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); + u8g_MicroDelay(); // for DUE? + u8g_SetChipSelect(u8g, dev, 0); + break; + case U8G_DEV_MSG_SLEEP_ON: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on); + return 1; + case U8G_DEV_MSG_SLEEP_OFF: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off); + return 1; + } + return u8g_dev_pb8h1_base_fn(u8g, dev, msg, arg); +} + + +uint8_t u8g_dev_ssd1322_nhd31oled_2x_bw_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1322_1bit_nhd_312_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + uint8_t i; + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + uint8_t *p = pb->buf; + u8g_uint_t cnt; + cnt = pb->width; + cnt >>= 3; + + for( i = 0; i < pb->p.page_height; i++ ) + { + u8g_dev_ssd1322_1bit_prepare_row(u8g, dev, i); /* this will also enable chip select */ +#if !defined(U8G_16BIT) + u8g_WriteByte(u8g, dev, 0x0ff); + u8g_WriteByte(u8g, dev, 0x0ff); +#endif + u8g_WriteSequenceBWTo16GrDevice(u8g, dev, cnt, p); +#if !defined(U8G_16BIT) + u8g_WriteByte(u8g, dev, 0x0ff); + u8g_WriteByte(u8g, dev, 0x0ff); +#endif + u8g_MicroDelay(); // for DUE? + u8g_SetChipSelect(u8g, dev, 0); + p+=cnt; + } + } + break; + case U8G_DEV_MSG_CONTRAST: + u8g_SetChipSelect(u8g, dev, 1); + u8g_SetAddress(u8g, dev, 0); /* instruction mode */ + u8g_WriteByte(u8g, dev, 0x0c1); /* 21 May 2013, fixed contrast command */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); + u8g_SetChipSelect(u8g, dev, 0); + break; + case U8G_DEV_MSG_SLEEP_ON: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on); + return 1; + case U8G_DEV_MSG_SLEEP_OFF: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off); + return 1; + } + return u8g_dev_pb16h1_base_fn(u8g, dev, msg, arg); +} + + +U8G_PB_DEV(u8g_dev_ssd1322_nhd31oled_bw_sw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1322_nhd31oled_bw_fn, U8G_COM_SW_SPI); +U8G_PB_DEV(u8g_dev_ssd1322_nhd31oled_bw_hw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1322_nhd31oled_bw_fn, U8G_COM_HW_SPI); +U8G_PB_DEV(u8g_dev_ssd1322_nhd31oled_bw_parallel , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1322_nhd31oled_bw_fn, U8G_COM_FAST_PARALLEL); + +#define DWIDTH (WIDTH*2) +uint8_t u8g_dev_ssd1322_nhd31oled_2x_bw_buf[DWIDTH] U8G_NOCOMMON ; +u8g_pb_t u8g_dev_ssd1322_nhd31oled_2x_bw_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_ssd1322_nhd31oled_2x_bw_buf}; +u8g_dev_t u8g_dev_ssd1322_nhd31oled_2x_bw_sw_spi = { u8g_dev_ssd1322_nhd31oled_2x_bw_fn, &u8g_dev_ssd1322_nhd31oled_2x_bw_pb, U8G_COM_SW_SPI }; +u8g_dev_t u8g_dev_ssd1322_nhd31oled_2x_bw_hw_spi = { u8g_dev_ssd1322_nhd31oled_2x_bw_fn, &u8g_dev_ssd1322_nhd31oled_2x_bw_pb, U8G_COM_HW_SPI }; + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ssd1322_nhd31oled_gr.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ssd1322_nhd31oled_gr.c new file mode 100644 index 000000000..61f0b1922 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ssd1322_nhd31oled_gr.c @@ -0,0 +1,338 @@ +/* + + u8g_dev_ssd1322_nhd31oled_gr.c + + 2-Bit (4L) Driver for SSD1322 Controller (OLED Display) + Tested with NHD-3.12-25664 + + Universal 8bit Graphics Library + + Copyright (c) 2012, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + SSD130x Monochrom OLED Controller + SSD131x Character OLED Controller + SSD132x Graylevel OLED Controller + SSD1331 Color OLED Controller + +*/ + +#include "u8g.h" + +/* width must be multiple of 8, largest value is 248 unless u8g 16 bit mode is enabled */ +#if defined(U8G_16BIT) +#define WIDTH 256 +#else +#define WIDTH 248 +#endif +#define HEIGHT 64 +//#define PAGE_HEIGHT 8 + +/* + http://www.newhavendisplay.com/app_notes/OLED_25664.txt + http://www.newhavendisplay.com/forum/viewtopic.php?f=15&t=3758 +*/ + +static const uint8_t u8g_dev_ssd1322_2bit_nhd_312_init_seq[] PROGMEM = { + U8G_ESC_DLY(10), /* delay 10 ms */ + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ + U8G_ESC_CS(1), /* enable chip */ + + U8G_ESC_DLY(100), /* delay 100 ms */ + U8G_ESC_DLY(100), /* delay 100 ms */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0x0fd, /* lock command */ + U8G_ESC_ADR(1), /* data mode */ + 0x012, /* unlock */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0x0ae, /* display off, sleep mode */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0x0b3, + U8G_ESC_ADR(1), /* data mode */ + 0x091, /* set display clock divide ratio/oscillator frequency (set clock as 80 frames/sec) */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0x0ca, /* multiplex ratio */ + U8G_ESC_ADR(1), /* data mode */ + 0x03f, /* 1/64 Duty (0x0F~0x3F) */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0x0a2, + U8G_ESC_ADR(1), /* data mode */ + 0x000, /* display offset, shift mapping ram counter */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0x0a1, + U8G_ESC_ADR(1), /* data mode */ + 0x000, /* display start line */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0x0a0, /* Set Re-Map / Dual COM Line Mode */ + U8G_ESC_ADR(1), /* data mode */ + 0x014, /* was 0x014 */ + 0x011, /* was 0x011 */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0x0ab, + U8G_ESC_ADR(1), /* data mode */ + 0x001, /* Enable Internal VDD Regulator */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0x0b4, /* Display Enhancement A */ + U8G_ESC_ADR(1), /* data mode */ + 0x0a0, + 0x005|0x0fd, + + U8G_ESC_ADR(0), /* instruction mode */ + 0x0c1, /* contrast */ + U8G_ESC_ADR(1), /* data mode */ + 0x09f, + + U8G_ESC_ADR(0), /* instruction mode */ + 0x0c7, /* Set Scale Factor of Segment Output Current Control */ + U8G_ESC_ADR(1), /* data mode */ + 0x00f, + + U8G_ESC_ADR(0), /* instruction mode */ + 0x0b9, /* linear gray scale */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0x0b1, /* Phase 1 (Reset) & Phase 2 (Pre-Charge) Period Adjustment */ + U8G_ESC_ADR(1), /* data mode */ + 0x0e2, + + U8G_ESC_ADR(0), /* instruction mode */ + 0x0d1, /* Display Enhancement B */ + U8G_ESC_ADR(1), /* data mode */ + 0x082|0x020, + 0x020, + + U8G_ESC_ADR(0), /* instruction mode */ + 0x0bb, /* precharge voltage */ + U8G_ESC_ADR(1), /* data mode */ + 0x01f, + + U8G_ESC_ADR(0), /* instruction mode */ + 0x0b6, /* precharge period */ + U8G_ESC_ADR(1), /* data mode */ + 0x008, + + U8G_ESC_ADR(0), /* instruction mode */ + 0x0be, /* vcomh */ + U8G_ESC_ADR(1), /* data mode */ + 0x007, + + U8G_ESC_ADR(0), /* instruction mode */ + 0x0a6, /* normal display */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0x0a9, /* exit partial display */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0x0af, /* display on */ + + + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_END /* end of sequence */ +}; + +static const uint8_t u8g_dev_ssd1322_2bit_nhd_312_prepare_page_seq[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + 0x015, /* column address... */ + U8G_ESC_ADR(1), /* data mode */ + 0x01c, /* start at column 0 */ + 0x05b, /* end column */ + U8G_ESC_ADR(0), /* instruction mode */ + 0x075, /* row address... */ + U8G_ESC_ADR(1), /* data mode */ + U8G_ESC_END /* end of sequence */ +}; + +static void u8g_dev_ssd1322_2bit_prepare_row(u8g_t *u8g, u8g_dev_t *dev, uint8_t delta_row) +{ + uint8_t row = ((u8g_pb_t *)(dev->dev_mem))->p.page; + + row *= ((u8g_pb_t *)(dev->dev_mem))->p.page_height; + row += delta_row; + + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1322_2bit_nhd_312_prepare_page_seq); + + u8g_WriteByte(u8g, dev, row); /* start at the selected row */ + u8g_WriteByte(u8g, dev, row+1); /* end within the selected row */ + + u8g_SetAddress(u8g, dev, 0); /* instruction mode mode */ + u8g_WriteByte(u8g, dev, 0x05c); /* write to ram */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ +} + +static const uint8_t u8g_dev_ssd13xx_sleep_on[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + 0x0ae, /* display off */ + U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ + U8G_ESC_END /* end of sequence */ +}; + +static const uint8_t u8g_dev_ssd13xx_sleep_off[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + 0x0af, /* display on */ + U8G_ESC_DLY(50), /* delay 50 ms */ + U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ + U8G_ESC_END /* end of sequence */ +}; + +uint8_t u8g_dev_ssd1322_nhd31oled_gr_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1322_2bit_nhd_312_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + uint8_t i; + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + uint8_t *p = pb->buf; + u8g_uint_t cnt; + cnt = pb->width; + cnt >>= 2; + + for( i = 0; i < pb->p.page_height; i++ ) + { + u8g_dev_ssd1322_2bit_prepare_row(u8g, dev, i); /* this will also enable chip select */ +#if !defined(U8G_16BIT) + u8g_WriteByte(u8g, dev, 0x00); + u8g_WriteByte(u8g, dev, 0x00); +#endif + u8g_WriteSequence4LTo16GrDevice(u8g, dev, cnt, p); +#if !defined(U8G_16BIT) + u8g_WriteByte(u8g, dev, 0x00); + u8g_WriteByte(u8g, dev, 0x00); +#endif + u8g_MicroDelay(); // for DUE? + u8g_SetChipSelect(u8g, dev, 0); + p+=cnt; + } + } + break; + case U8G_DEV_MSG_CONTRAST: + u8g_SetChipSelect(u8g, dev, 1); + u8g_SetAddress(u8g, dev, 0); /* instruction mode */ + u8g_WriteByte(u8g, dev, 0x081); + u8g_SetAddress(u8g, dev, 1); /* data mode */ + u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); + u8g_MicroDelay(); // for DUE? + u8g_SetChipSelect(u8g, dev, 0); + break; + case U8G_DEV_MSG_SLEEP_ON: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on); + return 1; + case U8G_DEV_MSG_SLEEP_OFF: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off); + return 1; + } + return u8g_dev_pb8h2_base_fn(u8g, dev, msg, arg); +} + + +uint8_t u8g_dev_ssd1322_nhd31oled_2x_gr_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1322_2bit_nhd_312_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + uint8_t i; + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + uint8_t *p = pb->buf; + u8g_uint_t cnt; + cnt = pb->width; + cnt >>= 2; /* 23 Oct 2013, changed to 2 */ + + for( i = 0; i < pb->p.page_height; i++ ) + { + u8g_dev_ssd1322_2bit_prepare_row(u8g, dev, i); /* this will also enable chip select */ +#if !defined(U8G_16BIT) + u8g_WriteByte(u8g, dev, 0x00); + u8g_WriteByte(u8g, dev, 0x00); +#endif + u8g_WriteSequence4LTo16GrDevice(u8g, dev, cnt, p); +#if !defined(U8G_16BIT) + u8g_WriteByte(u8g, dev, 0x00); + u8g_WriteByte(u8g, dev, 0x00); +#endif + u8g_MicroDelay(); // for DUE? + u8g_SetChipSelect(u8g, dev, 0); + p+=cnt; + } + } + break; + case U8G_DEV_MSG_CONTRAST: + u8g_SetChipSelect(u8g, dev, 1); + u8g_SetAddress(u8g, dev, 0); /* instruction mode */ + u8g_WriteByte(u8g, dev, 0x081); + u8g_SetAddress(u8g, dev, 1); /* data mode */ + u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); + u8g_SetChipSelect(u8g, dev, 0); + break; + case U8G_DEV_MSG_SLEEP_ON: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on); + return 1; + case U8G_DEV_MSG_SLEEP_OFF: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off); + return 1; + } + return u8g_dev_pb16h2_base_fn(u8g, dev, msg, arg); +} + + +U8G_PB_DEV(u8g_dev_ssd1322_nhd31oled_gr_sw_spi , WIDTH, HEIGHT, 4, u8g_dev_ssd1322_nhd31oled_gr_fn, U8G_COM_SW_SPI); +U8G_PB_DEV(u8g_dev_ssd1322_nhd31oled_gr_hw_spi , WIDTH, HEIGHT, 4, u8g_dev_ssd1322_nhd31oled_gr_fn, U8G_COM_HW_SPI); +U8G_PB_DEV(u8g_dev_ssd1322_nhd31oled_gr_parallel , WIDTH, HEIGHT, 4, u8g_dev_ssd1322_nhd31oled_gr_fn, U8G_COM_FAST_PARALLEL); + + +#define DWIDTH (WIDTH*2) +uint8_t u8g_dev_ssd1322_nhd31oled_2x_gr_buf[DWIDTH] U8G_NOCOMMON ; +u8g_pb_t u8g_dev_ssd1322_nhd31oled_2x_gr_pb = { {8, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_ssd1322_nhd31oled_2x_gr_buf}; +u8g_dev_t u8g_dev_ssd1322_nhd31oled_2x_gr_sw_spi = { u8g_dev_ssd1322_nhd31oled_2x_gr_fn, &u8g_dev_ssd1322_nhd31oled_2x_gr_pb, U8G_COM_SW_SPI }; +u8g_dev_t u8g_dev_ssd1322_nhd31oled_2x_gr_hw_spi = { u8g_dev_ssd1322_nhd31oled_2x_gr_fn, &u8g_dev_ssd1322_nhd31oled_2x_gr_pb, U8G_COM_HW_SPI }; + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ssd1325_nhd27oled_bw.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ssd1325_nhd27oled_bw.c new file mode 100644 index 000000000..d8895391e --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ssd1325_nhd27oled_bw.c @@ -0,0 +1,263 @@ +/* + + u8g_dev_ssd1325_nhd27oled_bw.c + + 1-Bit (BW) Driver for SSD1325 Controller (OLED Display) + Tested with NHD-2.7-12864UCY3 + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + SSD130x Monochrom OLED Controller + SSD131x Character OLED Controller + SSD132x Graylevel OLED Controller + SSD1331 Color OLED Controller + +*/ + +#ifdef OBSOLETE_CODE + +#include "u8g.h" + +#define WIDTH 128 +#define HEIGHT 64 +#define PAGE_HEIGHT 8 + +/* http://www.newhavendisplay.com/app_notes/OLED_2_7_12864.txt */ +static const uint8_t u8g_dev_ssd1325_1bit_nhd_27_12864ucy3_init_seq[] PROGMEM = { + U8G_ESC_DLY(10), /* delay 10 ms */ + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ + U8G_ESC_CS(1), /* enable chip */ + 0x0ae, /* display off, sleep mode */ + 0x0b3, 0x091, /* set display clock divide ratio/oscillator frequency (set clock as 135 frames/sec) */ + 0x0a8, 0x03f, /* multiplex ratio: 0x03f * 1/64 duty */ + 0x0a2, 0x04c, /* display offset, shift mapping ram counter */ + 0x0a1, 0x000, /* display start line */ + 0x0ad, 0x002, /* master configuration: disable embedded DC-DC, enable internal VCOMH */ + 0x0a0, 0x056, /* remap configuration, vertical address increment, enable nibble remap (upper nibble is left) */ + 0x086, /* full current range (0x084, 0x085, 0x086) */ + 0x0b8, /* set gray scale table */ + 0x01, 0x011, 0x022, 0x032, 0x043, 0x054, 0x065, 0x076, + 0x081, 0x070, /* contrast, brightness, 0..128, Newhaven: 0x040 */ + 0x0b2, 0x051, /* frame frequency (row period) */ + 0x0b1, 0x055, /* phase length */ + 0x0bc, 0x010, /* pre-charge voltage level */ + 0x0b4, 0x002, /* set pre-charge compensation level (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */ + 0x0b0, 0x028, /* enable pre-charge compensation (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */ + 0x0be, 0x01c, /* VCOMH voltage */ + 0x0bf, 0x002|0x00d, /* VSL voltage level (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */ + 0x0a5, /* all pixel on */ + 0x0af, /* display on */ + U8G_ESC_DLY(100), /* delay 100 ms */ + U8G_ESC_DLY(100), /* delay 100 ms */ + 0x0a4, /* normal display mode */ + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_END /* end of sequence */ +}; + +static const uint8_t u8g_dev_ssd1325_1bit_nhd_27_12864ucy3_prepare_page_seq[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + 0x015, /* column address... */ + 0x000, /* start at column 0 */ + 0x03f, /* end at column 63 (which is y == 127), because there are two pixel in one column */ + 0x075, /* row address... */ + U8G_ESC_END /* end of sequence */ +}; + + +static void u8g_dev_ssd1325_1bit_prepare_page(u8g_t *u8g, u8g_dev_t *dev) +{ + uint8_t page = ((u8g_pb_t *)(dev->dev_mem))->p.page; + + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_1bit_nhd_27_12864ucy3_prepare_page_seq); + + page <<= 3; + u8g_WriteByte(u8g, dev, page); /* start at the selected page */ + page += 7; + u8g_WriteByte(u8g, dev, page); /* end within the selected page */ + + u8g_SetAddress(u8g, dev, 1); /* data mode */ +} + +static void u8g_dev_ssd1325_1bit_2x_prepare_page(u8g_t *u8g, u8g_dev_t *dev, uint8_t is_odd) +{ + uint8_t page = ((u8g_pb_t *)(dev->dev_mem))->p.page; + + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_1bit_nhd_27_12864ucy3_prepare_page_seq); + + page <<= 1; + page += is_odd; + + page <<= 3; + u8g_WriteByte(u8g, dev, page); /* start at the selected page */ + page += 7; + u8g_WriteByte(u8g, dev, page); /* end within the selected page */ + + u8g_SetAddress(u8g, dev, 1); /* data mode */ +} + +/* assumes row autoincrement and activated nibble remap */ +#ifdef OLD +static void _OLD_u8g_dev_ssd1325_1bit_write_16_pixel(u8g_t *u8g, u8g_dev_t *dev, uint8_t left, uint8_t right) +{ + uint8_t d, cnt; + cnt = 8; + do + { + d = 0; + if ( left & 1 ) + d |= 0x0f0; + if ( right & 1 ) + d |= 0x00f; + u8g_WriteByte(u8g, dev, d); + left >>= 1; + right >>= 1; + cnt--; + }while ( cnt > 0 ); +} +#endif + +static void u8g_dev_ssd1325_1bit_write_16_pixel(u8g_t *u8g, u8g_dev_t *dev, uint8_t left, uint8_t right) +{ + uint8_t d, cnt; + static uint8_t buf[8]; + cnt = 8; + do + { + d = 0; + if ( left & 128 ) + d |= 0x0f0; + if ( right & 128 ) + d |= 0x00f; + cnt--; + buf[cnt] = d; + left <<= 1; + right <<= 1; + }while ( cnt > 0 ); + u8g_WriteSequence(u8g, dev, 8, buf); +} + +static void u8g_dev_ssd1325_1bit_write_buffer(u8g_t *u8g, u8g_dev_t *dev, uint8_t is_odd) +{ + uint8_t cnt, left, right; + uint8_t *ptr; + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + + ptr = pb->buf; + cnt = pb->width; + if ( is_odd ) + ptr += cnt; + cnt >>= 1; + do + { + left = *ptr++; + right = *ptr++; + u8g_dev_ssd1325_1bit_write_16_pixel(u8g, dev, left, right); + cnt--; + } while( cnt > 0 ); +} + +uint8_t u8g_dev_ssd1325_nhd27oled_bw_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_1bit_nhd_27_12864ucy3_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + u8g_dev_ssd1325_1bit_prepare_page(u8g, dev); + u8g_dev_ssd1325_1bit_write_buffer(u8g, dev, 0); + u8g_SetChipSelect(u8g, dev, 0); + } + break; + case U8G_DEV_MSG_CONTRAST: + u8g_SetChipSelect(u8g, dev, 1); + u8g_SetAddress(u8g, dev, 0); /* instruction mode */ + u8g_WriteByte(u8g, dev, 0x081); + u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); + u8g_SetChipSelect(u8g, dev, 0); + break; + } + return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); +} + +uint8_t u8g_dev_ssd1325_nhd27oled_2x_bw_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_1bit_nhd_27_12864ucy3_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + u8g_dev_ssd1325_1bit_2x_prepare_page(u8g, dev, 0); + u8g_dev_ssd1325_1bit_write_buffer(u8g, dev, 0); + u8g_dev_ssd1325_1bit_2x_prepare_page(u8g, dev, 1); + u8g_dev_ssd1325_1bit_write_buffer(u8g, dev, 1); + u8g_SetChipSelect(u8g, dev, 0); + } + break; + case U8G_DEV_MSG_CONTRAST: + u8g_SetChipSelect(u8g, dev, 1); + u8g_SetAddress(u8g, dev, 0); /* instruction mode */ + u8g_WriteByte(u8g, dev, 0x081); + u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); + u8g_SetChipSelect(u8g, dev, 0); + break; + } + return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg); +} + +/* disabled, see bw_new.c */ +/* +U8G_PB_DEV(u8g_dev_ssd1325_nhd27oled_bw_sw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1325_nhd27oled_bw_fn, U8G_COM_SW_SPI); +U8G_PB_DEV(u8g_dev_ssd1325_nhd27oled_bw_hw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1325_nhd27oled_bw_fn, U8G_COM_HW_SPI); +U8G_PB_DEV(u8g_dev_ssd1325_nhd27oled_bw_parallel , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1325_nhd27oled_bw_fn, U8G_COM_FAST_PARALLEL); +*/ + +/* +uint8_t u8g_dev_ssd1325_nhd27oled_2x_bw_buf[WIDTH*2] U8G_NOCOMMON ; +u8g_pb_t u8g_dev_ssd1325_nhd27oled_2x_bw_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_ssd1325_nhd27oled_2x_bw_buf}; +u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_bw_sw_spi = { u8g_dev_ssd1325_nhd27oled_2x_bw_fn, &u8g_dev_ssd1325_nhd27oled_2x_bw_pb, U8G_COM_SW_SPI }; +u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_bw_hw_spi = { u8g_dev_ssd1325_nhd27oled_2x_bw_fn, &u8g_dev_ssd1325_nhd27oled_2x_bw_pb, U8G_COM_HW_SPI }; +u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_bw_parallel = { u8g_dev_ssd1325_nhd27oled_2x_bw_fn, &u8g_dev_ssd1325_nhd27oled_2x_bw_pb, U8G_COM_FAST_PARALLEL }; +*/ + +#endif + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ssd1325_nhd27oled_bw_new.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ssd1325_nhd27oled_bw_new.c new file mode 100644 index 000000000..7d26b2fee --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ssd1325_nhd27oled_bw_new.c @@ -0,0 +1,232 @@ +/* + + u8g_dev_ssd1325_nhd27oled_bw.c + + 1-Bit (BW) Driver for SSD1325 Controller (OLED Display) + Horizontal architecture, completly rewritten + Tested with NHD-2.7-12864UCY3 + + Universal 8bit Graphics Library + + Copyright (c) 2012, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + SSD130x Monochrom OLED Controller + SSD131x Character OLED Controller + SSD132x Graylevel OLED Controller + SSD1331 Color OLED Controller + +*/ + +#include "u8g.h" + +/* width must be multiple of 8, largest value is 248 unless u8g 16 bit mode is enabled */ +#define WIDTH 128 +#define HEIGHT 64 + +/* http://www.newhavendisplay.com/app_notes/OLED_2_7_12864.txt */ +static const uint8_t u8g_dev_ssd1325_nhd_27_12864_init_seq[] PROGMEM = { + U8G_ESC_DLY(10), /* delay 10 ms */ + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ + U8G_ESC_CS(1), /* enable chip */ + 0x0ae, /* display off, sleep mode */ + 0x0b3, 0x091, /* set display clock divide ratio/oscillator frequency (set clock as 135 frames/sec) */ + 0x0a8, 0x03f, /* multiplex ratio: 0x03f * 1/64 duty */ + 0x0a2, 0x04c, /* display offset, shift mapping ram counter */ + 0x0a1, 0x000, /* display start line */ + 0x0ad, 0x002, /* master configuration: disable embedded DC-DC, enable internal VCOMH */ + 0x0a0, 0x052, /* remap configuration, horizontal address increment (bit 2 = 0), enable nibble remap (upper nibble is left, bit 1 = 1) */ + 0x086, /* full current range (0x084, 0x085, 0x086) */ + 0x0b8, /* set gray scale table */ + 0x01, 0x011, 0x022, 0x032, 0x043, 0x054, 0x065, 0x076, + + 0x081, 0x070, /* contrast, brightness, 0..128, Newhaven: 0x040 */ + 0x0b2, 0x051, /* frame frequency (row period) */ + 0x0b1, 0x055, /* phase length */ + 0x0bc, 0x010, /* pre-charge voltage level */ + 0x0b4, 0x002, /* set pre-charge compensation level (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */ + 0x0b0, 0x028, /* enable pre-charge compensation (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */ + 0x0be, 0x01c, /* VCOMH voltage */ + 0x0bf, 0x002|0x00d, /* VSL voltage level (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */ + 0x0a4, /* normal display mode */ + 0x0af, /* display on */ + U8G_ESC_DLY(50), /* delay 50 ms */ + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_END /* end of sequence */ +}; + +static const uint8_t u8g_dev_ssd1325_prepare_row_seq[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + 0x015, /* column address... */ + 0x000, /* start at column 0 */ + 0x03f, /* end at column 63 (which is y == 127), because there are two pixel in one column */ + 0x075, /* row address... */ + U8G_ESC_END /* end of sequence */ +}; + +static void u8g_dev_ssd1325_prepare_row(u8g_t *u8g, u8g_dev_t *dev, uint8_t delta_row) +{ + uint8_t row = ((u8g_pb_t *)(dev->dev_mem))->p.page; + + row *= ((u8g_pb_t *)(dev->dev_mem))->p.page_height; + row += delta_row; + + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_prepare_row_seq); + + u8g_WriteByte(u8g, dev, row); /* start at the selected row */ + u8g_WriteByte(u8g, dev, row+1); /* end within the selected row */ + + //u8g_SetAddress(u8g, dev, 0); /* instruction mode mode */ + //u8g_WriteByte(u8g, dev, 0x05c); /* write to ram */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ +} + +static const uint8_t u8g_dev_ssd13xx_sleep_on[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + 0x0ae, /* display off */ + U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ + U8G_ESC_END /* end of sequence */ +}; + +static const uint8_t u8g_dev_ssd13xx_sleep_off[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + 0x0af, /* display on */ + U8G_ESC_DLY(50), /* delay 50 ms */ + U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ + U8G_ESC_END /* end of sequence */ +}; + + +static uint8_t u8g_dev_ssd1325_nhd27oled_bw_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + //case U8G_DEV_MSG_IS_BBX_INTERSECTION: + // return u8g_pb_IsIntersection((u8g_pb_t *)(dev->dev_mem), (u8g_dev_arg_bbx_t *)arg); + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_nhd_27_12864_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + uint8_t i; + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + uint8_t *p = pb->buf; + u8g_uint_t cnt; + cnt = pb->width; + cnt >>= 3; + + for( i = 0; i < pb->p.page_height; i++ ) + { + u8g_dev_ssd1325_prepare_row(u8g, dev, i); /* this will also enable chip select */ + u8g_WriteSequenceBWTo16GrDevice(u8g, dev, cnt, p); + u8g_SetChipSelect(u8g, dev, 0); + p+=cnt; + } + } + break; + case U8G_DEV_MSG_CONTRAST: + u8g_SetChipSelect(u8g, dev, 1); + u8g_SetAddress(u8g, dev, 0); /* instruction mode */ + u8g_WriteByte(u8g, dev, 0x081); + u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); + u8g_SetChipSelect(u8g, dev, 0); + break; + case U8G_DEV_MSG_SLEEP_ON: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on); + return 1; + case U8G_DEV_MSG_SLEEP_OFF: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off); + return 1; + } + return u8g_dev_pb8h1_base_fn(u8g, dev, msg, arg); +} + +static uint8_t u8g_dev_ssd1325_nhd27oled_2x_bw_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_nhd_27_12864_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + uint8_t i; + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + uint8_t *p = pb->buf; + u8g_uint_t cnt; + cnt = pb->width; + cnt >>= 3; + + for( i = 0; i < pb->p.page_height; i++ ) + { + u8g_dev_ssd1325_prepare_row(u8g, dev, i); /* this will also enable chip select */ + u8g_WriteSequenceBWTo16GrDevice(u8g, dev, cnt, p); + u8g_SetChipSelect(u8g, dev, 0); + p+=cnt; + } + } + break; + case U8G_DEV_MSG_CONTRAST: + u8g_SetChipSelect(u8g, dev, 1); + u8g_SetAddress(u8g, dev, 0); /* instruction mode */ + u8g_WriteByte(u8g, dev, 0x081); + u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); + u8g_SetChipSelect(u8g, dev, 0); + break; + case U8G_DEV_MSG_SLEEP_ON: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on); + return 1; + case U8G_DEV_MSG_SLEEP_OFF: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off); + return 1; + } + return u8g_dev_pb16h1_base_fn(u8g, dev, msg, arg); +} + + + +U8G_PB_DEV(u8g_dev_ssd1325_nhd27oled_bw_sw_spi , WIDTH, HEIGHT, 8, u8g_dev_ssd1325_nhd27oled_bw_fn, U8G_COM_SW_SPI); +U8G_PB_DEV(u8g_dev_ssd1325_nhd27oled_bw_hw_spi , WIDTH, HEIGHT, 8, u8g_dev_ssd1325_nhd27oled_bw_fn, U8G_COM_HW_SPI); +U8G_PB_DEV(u8g_dev_ssd1325_nhd27oled_bw_parallel , WIDTH, HEIGHT, 8, u8g_dev_ssd1325_nhd27oled_bw_fn, U8G_COM_FAST_PARALLEL); + +uint8_t u8g_dev_ssd1325_nhd27oled_2x_bw_buf[WIDTH*2] U8G_NOCOMMON ; +u8g_pb_t u8g_dev_ssd1325_nhd27oled_2x_bw_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_ssd1325_nhd27oled_2x_bw_buf}; +u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_bw_sw_spi = { u8g_dev_ssd1325_nhd27oled_2x_bw_fn, &u8g_dev_ssd1325_nhd27oled_2x_bw_pb, U8G_COM_SW_SPI }; +u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_bw_hw_spi = { u8g_dev_ssd1325_nhd27oled_2x_bw_fn, &u8g_dev_ssd1325_nhd27oled_2x_bw_pb, U8G_COM_HW_SPI }; +u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_bw_parallel = { u8g_dev_ssd1325_nhd27oled_2x_bw_fn, &u8g_dev_ssd1325_nhd27oled_2x_bw_pb, U8G_COM_FAST_PARALLEL }; + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ssd1325_nhd27oled_gr.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ssd1325_nhd27oled_gr.c new file mode 100644 index 000000000..6ab48135f --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ssd1325_nhd27oled_gr.c @@ -0,0 +1,255 @@ +/* + + u8g_dev_ssd1325_nhd27oled_gr.c + + 2-Bit (gray level) Driver for SSD1325 Controller (OLED Display) + Tested with NHD-2.7-12864UCY3 + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + SSD130x Monochrom OLED Controller + SSD131x Character OLED Controller + SSD132x Graylevel OLED Controller + SSD1331 Color OLED Controller + +*/ + +#ifdef OBSOLETE_CODE + +#include "u8g.h" + +#define WIDTH 128 +#define HEIGHT 64 + +/* http://www.newhavendisplay.com/app_notes/OLED_2_7_12864.txt */ +static const uint8_t u8g_dev_ssd1325_2bit_nhd_27_12864ucy3_init_seq[] PROGMEM = { + U8G_ESC_DLY(10), /* delay 10 ms */ + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ + U8G_ESC_CS(1), /* enable chip */ + 0x0ae, /* display off, sleep mode */ + 0x0b3, 0x091, /* set display clock divide ratio/oscillator frequency (set clock as 135 frames/sec) */ + 0x0a8, 0x03f, /* multiplex ratio: 0x03f * 1/64 duty */ + 0x0a2, 0x04c, /* display offset, shift mapping ram counter */ + 0x0a1, 0x000, /* display start line */ + 0x0ad, 0x002, /* master configuration: disable embedded DC-DC, enable internal VCOMH */ + 0x0a0, 0x056, /* remap configuration, vertical address increment, enable nibble remap (upper nibble is left) */ + 0x086, /* full current range (0x084, 0x085, 0x086) */ + 0x0b8, /* set gray scale table */ + //0x01, 0x011, 0x022, 0x032, 0x043, 0x054, 0x065, 0x076, + 0x01, 0x011, 0x022, 0x032, 0x043, 0x054, 0x077, 0x077, // 4L mode uses 0, 2, 4, 7 + 0x081, 0x070, /* contrast, brightness, 0..128, Newhaven: 0x040 */ + 0x0b2, 0x051, /* frame frequency (row period) */ + 0x0b1, 0x055, /* phase length */ + 0x0bc, 0x010, /* pre-charge voltage level */ + 0x0b4, 0x002, /* set pre-charge compensation level (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */ + 0x0b0, 0x028, /* enable pre-charge compensation (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */ + 0x0be, 0x01c, /* VCOMH voltage */ + 0x0bf, 0x002|0x00d, /* VSL voltage level (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */ + 0x0a5, /* all pixel on */ + 0x0af, /* display on */ + U8G_ESC_DLY(100), /* delay 100 ms */ + U8G_ESC_DLY(100), /* delay 100 ms */ + 0x0a4, /* normal display mode */ + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_END /* end of sequence */ +}; + +static const uint8_t u8g_dev_ssd1325_2bit_nhd_27_12864ucy3_prepare_page_seq[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + 0x015, /* column address... */ + 0x000, /* start at column 0 */ + 0x03f, /* end at column 63 (which is y == 127), because there are two pixel in one column */ + 0x075, /* row address... */ + U8G_ESC_END /* end of sequence */ +}; + + +static void u8g_dev_ssd1325_2bit_prepare_page(u8g_t *u8g, u8g_dev_t *dev) +{ + uint8_t page = ((u8g_pb_t *)(dev->dev_mem))->p.page; + + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_2bit_nhd_27_12864ucy3_prepare_page_seq); + + page <<= 2; + u8g_WriteByte(u8g, dev, page); /* start at the selected page */ + page += 3; + u8g_WriteByte(u8g, dev, page); /* end within the selected page */ + + u8g_SetAddress(u8g, dev, 1); /* data mode */ +} + +static void u8g_dev_ssd1325_2bit_2x_prepare_page(u8g_t *u8g, u8g_dev_t *dev, uint8_t is_odd) +{ + uint8_t page = ((u8g_pb_t *)(dev->dev_mem))->p.page; + + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_2bit_nhd_27_12864ucy3_prepare_page_seq); + + page <<= 1; + page += is_odd; + + + page <<= 2; + u8g_WriteByte(u8g, dev, page); /* start at the selected page */ + page += 3; + u8g_WriteByte(u8g, dev, page); /* end within the selected page */ + + u8g_SetAddress(u8g, dev, 1); /* data mode */ +} + +/* assumes row autoincrement and activated nibble remap */ +static void u8g_dev_ssd1325_2bit_write_4_pixel(u8g_t *u8g, u8g_dev_t *dev, uint8_t left, uint8_t right) +{ + uint8_t d, tmp, cnt; + cnt = 4; + do + { + d = left; + d &= 3; + d <<= 4; + tmp = right; + tmp &= 3; + d |= tmp; + d <<= 2; + u8g_WriteByte(u8g, dev, d); + left >>= 2; + right >>= 2; + cnt--; + }while ( cnt > 0 ); +} + +static void u8g_dev_ssd1325_2bit_write_buffer(u8g_t *u8g, u8g_dev_t *dev) +{ + uint8_t cnt, left, right; + uint8_t *ptr; + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + + cnt = pb->width; + cnt >>= 1; + ptr = pb->buf; + do + { + left = *ptr++; + right = *ptr++; + u8g_dev_ssd1325_2bit_write_4_pixel(u8g, dev, left, right); + cnt--; + } while( cnt > 0 ); +} + +static void u8g_dev_ssd1325_2bit_2x_write_buffer(u8g_t *u8g, u8g_dev_t *dev, uint8_t is_odd) +{ + uint8_t cnt, left, right; + uint8_t *ptr; + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + + ptr = pb->buf; + cnt = pb->width; + if ( is_odd ) + ptr += cnt; + cnt >>= 1; + do + { + left = *ptr++; + right = *ptr++; + u8g_dev_ssd1325_2bit_write_4_pixel(u8g, dev, left, right); + cnt--; + } while( cnt > 0 ); +} + +static uint8_t u8g_dev_ssd1325_nhd27oled_gr_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_2bit_nhd_27_12864ucy3_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + u8g_dev_ssd1325_2bit_prepare_page(u8g, dev); + u8g_dev_ssd1325_2bit_write_buffer(u8g, dev); + u8g_SetChipSelect(u8g, dev, 0); + } + break; + case U8G_DEV_MSG_CONTRAST: + u8g_SetChipSelect(u8g, dev, 1); + u8g_SetAddress(u8g, dev, 0); /* instruction mode */ + u8g_WriteByte(u8g, dev, 0x081); + u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); + u8g_SetChipSelect(u8g, dev, 0); + return 1; + } + return u8g_dev_pb8v2_base_fn(u8g, dev, msg, arg); +} + +static uint8_t u8g_dev_ssd1325_nhd27oled_2x_gr_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_2bit_nhd_27_12864ucy3_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + u8g_dev_ssd1325_2bit_2x_prepare_page(u8g, dev, 0); + u8g_dev_ssd1325_2bit_2x_write_buffer(u8g, dev, 0); + u8g_dev_ssd1325_2bit_2x_prepare_page(u8g, dev, 1); + u8g_dev_ssd1325_2bit_2x_write_buffer(u8g, dev, 1); + u8g_SetChipSelect(u8g, dev, 0); + } + break; + case U8G_DEV_MSG_CONTRAST: + u8g_SetChipSelect(u8g, dev, 1); + u8g_SetAddress(u8g, dev, 0); /* instruction mode */ + u8g_WriteByte(u8g, dev, 0x081); + u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); + u8g_SetChipSelect(u8g, dev, 0); + return 1; + } + return u8g_dev_pb16v2_base_fn(u8g, dev, msg, arg); +} + +//U8G_PB_DEV(u8g_dev_ssd1325_nhd27oled_gr_sw_spi , WIDTH, HEIGHT, 4, u8g_dev_ssd1325_nhd27oled_gr_fn, U8G_COM_SW_SPI); +//U8G_PB_DEV(u8g_dev_ssd1325_nhd27oled_gr_hw_spi , WIDTH, HEIGHT, 4, u8g_dev_ssd1325_nhd27oled_gr_fn, U8G_COM_HW_SPI); + +//uint8_t u8g_dev_ssd1325_nhd27oled_2x_buf[WIDTH*2] U8G_NOCOMMON ; +//u8g_pb_t u8g_dev_ssd1325_nhd27oled_2x_pb = { {8, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_ssd1325_nhd27oled_2x_buf}; +//u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_gr_sw_spi = { u8g_dev_ssd1325_nhd27oled_2x_gr_fn, &u8g_dev_ssd1325_nhd27oled_2x_pb, U8G_COM_SW_SPI }; +//u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_gr_hw_spi = { u8g_dev_ssd1325_nhd27oled_2x_gr_fn, &u8g_dev_ssd1325_nhd27oled_2x_pb, U8G_COM_HW_SPI }; + + +#endif /* OBSOLETE_CODE */ diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ssd1325_nhd27oled_gr_new.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ssd1325_nhd27oled_gr_new.c new file mode 100644 index 000000000..0667ca3c8 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ssd1325_nhd27oled_gr_new.c @@ -0,0 +1,228 @@ +/* + + u8g_dev_ssd1325_nhd27oled_gr.c + + 2-Bit (gray level) Driver for SSD1325 Controller (OLED Display) + Rewritten with new architecture + Tested with NHD-2.7-12864UCY3 + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + SSD130x Monochrom OLED Controller + SSD131x Character OLED Controller + SSD132x Graylevel OLED Controller + SSD1331 Color OLED Controller + +*/ + +#include "u8g.h" + +#define WIDTH 128 +#define HEIGHT 64 + +/* http://www.newhavendisplay.com/app_notes/OLED_2_7_12864.txt */ +static const uint8_t u8g_dev_ssd1325_2bit_nhd_27_12864ucy3_init_seq[] PROGMEM = { + U8G_ESC_DLY(10), /* delay 10 ms */ + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ + U8G_ESC_CS(1), /* enable chip */ + 0x0ae, /* display off, sleep mode */ + 0x0b3, 0x091, /* set display clock divide ratio/oscillator frequency (set clock as 135 frames/sec) */ + 0x0a8, 0x03f, /* multiplex ratio: 0x03f * 1/64 duty */ + 0x0a2, 0x04c, /* display offset, shift mapping ram counter */ + 0x0a1, 0x000, /* display start line */ + 0x0ad, 0x002, /* master configuration: disable embedded DC-DC, enable internal VCOMH */ + 0x0a0, 0x052, /* remap configuration, horizontal address increment (bit 2 = 0), enable nibble remap (upper nibble is left, bit 1 = 1), old values: 0x0a0 0x0a6 */ + 0x086, /* full current range (0x084, 0x085, 0x086) */ + 0x0b8, /* set gray scale table */ + //0x01, 0x011, 0x022, 0x032, 0x043, 0x054, 0x065, 0x076, + 0x01, 0x011, 0x022, 0x032, 0x043, 0x054, 0x077, 0x077, // 4L mode uses 0, 2, 4, 7 + 0x081, 0x070, /* contrast, brightness, 0..128, Newhaven: 0x040 */ + 0x0b2, 0x051, /* frame frequency (row period) */ + 0x0b1, 0x055, /* phase length */ + 0x0bc, 0x010, /* pre-charge voltage level */ + 0x0b4, 0x002, /* set pre-charge compensation level (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */ + 0x0b0, 0x028, /* enable pre-charge compensation (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */ + 0x0be, 0x01c, /* VCOMH voltage */ + 0x0bf, 0x002|0x00d, /* VSL voltage level (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */ + 0x0a4, /* normal display mode */ + 0x0af, /* display on */ + U8G_ESC_DLY(50), /* delay 50 ms */ + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_END /* end of sequence */ +}; + +static const uint8_t u8g_dev_ssd1325_2bit_nhd_27_12864ucy3_prepare_page_seq[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + 0x015, /* column address... */ + 0x000, /* start at column 0 */ + 0x03f, /* end at column 63 (which is y == 127), because there are two pixel in one column */ + 0x075, /* row address... */ + U8G_ESC_END /* end of sequence */ +}; + +static void u8g_dev_ssd1325_gr_prepare_row(u8g_t *u8g, u8g_dev_t *dev, uint8_t delta_row) +{ + uint8_t row = ((u8g_pb_t *)(dev->dev_mem))->p.page; + + row *= ((u8g_pb_t *)(dev->dev_mem))->p.page_height; + row += delta_row; + + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_2bit_nhd_27_12864ucy3_prepare_page_seq); + + u8g_WriteByte(u8g, dev, row); /* start at the selected row */ + u8g_WriteByte(u8g, dev, row+1); /* end within the selected row */ + + //u8g_SetAddress(u8g, dev, 0); /* instruction mode mode */ + //u8g_WriteByte(u8g, dev, 0x05c); /* write to ram */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ +} + +static const uint8_t u8g_dev_ssd13xx_sleep_on[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + 0x0ae, /* display off */ + U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ + U8G_ESC_END /* end of sequence */ +}; + +static const uint8_t u8g_dev_ssd13xx_sleep_off[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + 0x0af, /* display on */ + U8G_ESC_DLY(50), /* delay 50 ms */ + U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ + U8G_ESC_END /* end of sequence */ +}; + + + +static uint8_t u8g_dev_ssd1325_nhd27oled_gr_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_2bit_nhd_27_12864ucy3_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + uint8_t i; + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + uint8_t *p = pb->buf; + u8g_uint_t cnt; + cnt = pb->width; + cnt >>= 2; + + for( i = 0; i < pb->p.page_height; i++ ) + { + u8g_dev_ssd1325_gr_prepare_row(u8g, dev, i); /* this will also enable chip select */ + u8g_WriteSequence4LTo16GrDevice(u8g, dev, cnt, p); + u8g_SetChipSelect(u8g, dev, 0); + p+=cnt; + } + } + break; + case U8G_DEV_MSG_CONTRAST: + u8g_SetChipSelect(u8g, dev, 1); + u8g_SetAddress(u8g, dev, 0); /* instruction mode */ + u8g_WriteByte(u8g, dev, 0x081); + u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); + u8g_SetChipSelect(u8g, dev, 0); + return 1; + case U8G_DEV_MSG_SLEEP_ON: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on); + return 1; + case U8G_DEV_MSG_SLEEP_OFF: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off); + return 1; + } + return u8g_dev_pb8h2_base_fn(u8g, dev, msg, arg); +} + + + +static uint8_t u8g_dev_ssd1325_nhd27oled_2x_gr_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_2bit_nhd_27_12864ucy3_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + uint8_t i; + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + uint8_t *p = pb->buf; + u8g_uint_t cnt; + cnt = pb->width; + cnt >>= 2; + + for( i = 0; i < pb->p.page_height; i++ ) + { + u8g_dev_ssd1325_gr_prepare_row(u8g, dev, i); /* this will also enable chip select */ + u8g_WriteSequence4LTo16GrDevice(u8g, dev, cnt, p); + u8g_SetChipSelect(u8g, dev, 0); + p+=cnt; + } + } + break; + case U8G_DEV_MSG_CONTRAST: + u8g_SetChipSelect(u8g, dev, 1); + u8g_SetAddress(u8g, dev, 0); /* instruction mode */ + u8g_WriteByte(u8g, dev, 0x081); + u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); + u8g_SetChipSelect(u8g, dev, 0); + return 1; + case U8G_DEV_MSG_SLEEP_ON: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on); + return 1; + case U8G_DEV_MSG_SLEEP_OFF: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off); + return 1; + } + return u8g_dev_pb16h2_base_fn(u8g, dev, msg, arg); +} + +U8G_PB_DEV(u8g_dev_ssd1325_nhd27oled_gr_sw_spi , WIDTH, HEIGHT, 4, u8g_dev_ssd1325_nhd27oled_gr_fn, U8G_COM_SW_SPI); +U8G_PB_DEV(u8g_dev_ssd1325_nhd27oled_gr_hw_spi , WIDTH, HEIGHT, 4, u8g_dev_ssd1325_nhd27oled_gr_fn, U8G_COM_HW_SPI); +U8G_PB_DEV(u8g_dev_ssd1325_nhd27oled_gr_parallel , WIDTH, HEIGHT, 4, u8g_dev_ssd1325_nhd27oled_gr_fn, U8G_COM_FAST_PARALLEL); + +uint8_t u8g_dev_ssd1325_nhd27oled_2x_buf[WIDTH*2] U8G_NOCOMMON ; +u8g_pb_t u8g_dev_ssd1325_nhd27oled_2x_pb = { {8, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_ssd1325_nhd27oled_2x_buf}; +u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_gr_sw_spi = { u8g_dev_ssd1325_nhd27oled_2x_gr_fn, &u8g_dev_ssd1325_nhd27oled_2x_pb, U8G_COM_SW_SPI }; +u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_gr_hw_spi = { u8g_dev_ssd1325_nhd27oled_2x_gr_fn, &u8g_dev_ssd1325_nhd27oled_2x_pb, U8G_COM_HW_SPI }; diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ssd1327_96x96_gr.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ssd1327_96x96_gr.c new file mode 100644 index 000000000..3a11e2942 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ssd1327_96x96_gr.c @@ -0,0 +1,299 @@ +/* + + u8g_dev_ssd1327_96x96_gr.c + + 2-Bit (graylevel) Driver for SSD1327 Controller (OLED Display) + Tested with Seedstudio 96x96 Oled (LY120) + http://www.seeedstudio.com/wiki/index.php?title=Twig_-_OLED_96x96 + + Universal 8bit Graphics Library + + Copyright (c) 2012, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + SSD130x Monochrom OLED Controller + SSD131x Character OLED Controller + SSD132x Graylevel OLED Controller + SSD1331 Color OLED Controller + +*/ + +#include "u8g.h" + +#define WIDTH 96 +#define HEIGHT 96 +#define XOFFSET 8 + +/* + http://www.seeedstudio.com/wiki/index.php?title=Twig_-_OLED_96x96 +*/ +static const uint8_t u8g_dev_ssd1327_2bit_96x96_init_seq[] PROGMEM = { + U8G_ESC_DLY(10), /* delay 10 ms */ + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ + U8G_ESC_CS(1), /* enable chip */ + 0x0fd, 0x012, /* unlock display, usually not required because the display is unlocked after reset */ + 0x0ae, /* display off, sleep mode */ + 0x0a8, 0x05f, /* multiplex ratio: 0x05f * 1/64 duty */ + 0x0a1, 0x000, /* display start line */ + 0x0a2, 0x060, /* display offset, shift mapping ram counter */ + //0x0a2, 0x04c, /* NHD: display offset, shift mapping ram counter */ + 0x0a0, 0x046, /* remap configuration, vertical address increment, enable nibble remap (upper nibble is left) */ + //0x0a0, 0x056, /* NHD: remap configuration, vertical address increment, enable nibble remap (upper nibble is left) */ + 0x0ab, 0x001, /* Enable internal VDD regulator (RESET) */ + 0x081, 0x053, /* contrast, brightness, 0..128, Newhaven: 0x040, LY120 0x053, 0x070 seems also ok */ + 0x0b1, 0x051, /* phase length */ + 0x0b3, 0x001, /* set display clock divide ratio/oscillator frequency */ + 0x0b9, /* use linear lookup table */ +#if 0 + 0x0b8, /* set gray scale table */ + //0x01, 0x011, 0x022, 0x032, 0x043, 0x054, 0x065, 0x076, + 0x01, 0x011, 0x022, 0x032, 0x043, 0x054, 0x077, 0x077, // 4L mode uses 0, 2, 4, 7 +#endif + 0x0bc, 0x008, /* pre-charge voltage level */ + 0x0be, 0x007, /* VCOMH voltage */ + 0x0b6, 0x001, /* second precharge */ + 0x0d5, 0x062, /* enable second precharge, internal vsl (bit0 = 0) */ + +#if 0 + // the following commands are not used by the SeeedGrayOLED sequence */ + 0x0ad, 0x002, /* master configuration: disable embedded DC-DC, enable internal VCOMH */ + 0x086, /* full current range (0x084, 0x085, 0x086) */ + 0x0b2, 0x051, /* frame frequency (row period) */ + 0x0b4, 0x002, /* set pre-charge compensation level (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */ + 0x0b0, 0x028, /* enable pre-charge compensation (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */ + 0x0bf, 0x002|0x00d, /* VSL voltage level (not documented in the SDD1325 datasheet, but used in the NHD init seq.) */ +#endif + + 0x0a5, /* all pixel on */ + //0x02e, /* no scroll (according to SeeedGrayOLED sequence) */ + 0x0af, /* display on */ + U8G_ESC_DLY(100), /* delay 100 ms */ + 0x0a4, /* normal display mode */ + U8G_ESC_DLY(100), /* delay 100 ms */ + 0x0a5, /* all pixel on */ + 0x0af, /* display on */ + U8G_ESC_DLY(100), /* delay 100 ms */ + 0x0a4, /* normal display mode */ + + 0x015, /* column address... */ + 0x008, /* start at column 8, special for the LY120 ??? */ + 0x037, /* end at column 55, note: there are two pixel in one column */ + + 0x075, /* row address... */ + 0x008, + 0x05f, + + U8G_ESC_ADR(1), /* data mode */ + 0x000f, 0x000f, 0x0000, 0x0000, 0x000f,0x000f,0x0000,0x0000, + 0x000f, 0x000f, 0x0000, 0x0000, 0x000f,0x000f,0x0000,0x0000, + 0x000f, 0x000f, 0x0000, 0x0000, 0x000f,0x000f,0x0000,0x0000, + 0x000f, 0x000f, 0x0000, 0x0000, 0x000f,0x000f,0x0000,0x0000, + + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_END /* end of sequence */ +}; + +static const uint8_t u8g_dev_ssd1327_2bit_96x96_prepare_page_seq[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + 0x015, /* column address... */ + XOFFSET, /* start at column 8, special for the LY120 ??? */ + 0x037, /* end at column 55, note: there are two pixel in one column */ + 0x075, /* row address... */ + U8G_ESC_END /* end of sequence */ +}; + + +static void u8g_dev_ssd1327_2bit_prepare_page(u8g_t *u8g, u8g_dev_t *dev) +{ + uint8_t page = ((u8g_pb_t *)(dev->dev_mem))->p.page; + + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1327_2bit_96x96_prepare_page_seq); + + page <<= 2; + u8g_WriteByte(u8g, dev, page); /* start at the selected page */ + page += 3; + u8g_WriteByte(u8g, dev, page); /* end within the selected page */ + + u8g_SetAddress(u8g, dev, 1); /* data mode */ +} + +static void u8g_dev_ssd1327_2bit_2x_prepare_page(u8g_t *u8g, u8g_dev_t *dev, uint8_t is_odd) +{ + uint8_t page = ((u8g_pb_t *)(dev->dev_mem))->p.page; + + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1327_2bit_96x96_prepare_page_seq); + + page <<= 1; + page += is_odd; + + page <<= 2; + u8g_WriteByte(u8g, dev, page); /* start at the selected page */ + page += 3; + u8g_WriteByte(u8g, dev, page); /* end within the selected page */ + + u8g_SetAddress(u8g, dev, 1); /* data mode */ +} + +/* assumes row autoincrement and activated nibble remap */ +static void u8g_dev_ssd1327_2bit_write_4_pixel(u8g_t *u8g, u8g_dev_t *dev, uint8_t left, uint8_t right) +{ + uint8_t d, tmp, cnt; + static uint8_t buf[4]; + buf[0] = 0; + buf[1] = 0; + buf[2] = 0; + buf[3] = 0; + cnt = 0; + do + { + if ( left == 0 && right == 0 ) + break; + d = left; + d &= 3; + d <<= 4; + tmp = right; + tmp &= 3; + d |= tmp; + d <<= 2; + buf[cnt] = d; + left >>= 2; + right >>= 2; + cnt++; + }while ( cnt < 4 ); + u8g_WriteSequence(u8g, dev, 4, buf); +} + +static void u8g_dev_ssd1327_2bit_write_buffer(u8g_t *u8g, u8g_dev_t *dev) +{ + uint8_t cnt, left, right; + uint8_t *ptr; + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + + cnt = pb->width; + cnt >>= 1; + ptr = pb->buf; + do + { + left = *ptr++; + right = *ptr++; + u8g_dev_ssd1327_2bit_write_4_pixel(u8g, dev, left, right); + cnt--; + } while( cnt > 0 ); +} + +static void u8g_dev_ssd1327_2bit_2x_write_buffer(u8g_t *u8g, u8g_dev_t *dev, uint8_t is_odd) +{ + uint8_t cnt, left, right; + uint8_t *ptr; + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + + ptr = pb->buf; + cnt = pb->width; + if ( is_odd ) + ptr += cnt; + cnt >>= 1; + do + { + left = *ptr++; + right = *ptr++; + u8g_dev_ssd1327_2bit_write_4_pixel(u8g, dev, left, right); + cnt--; + } while( cnt > 0 ); +} + +uint8_t u8g_dev_ssd1327_96x96_gr_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1327_2bit_96x96_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + u8g_dev_ssd1327_2bit_prepare_page(u8g, dev); + u8g_dev_ssd1327_2bit_write_buffer(u8g, dev); + u8g_SetChipSelect(u8g, dev, 0); + } + break; + case U8G_DEV_MSG_CONTRAST: + u8g_SetChipSelect(u8g, dev, 1); + u8g_SetAddress(u8g, dev, 0); /* instruction mode */ + u8g_WriteByte(u8g, dev, 0x081); + u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); + u8g_SetChipSelect(u8g, dev, 0); + return 1; + } + return u8g_dev_pb8v2_base_fn(u8g, dev, msg, arg); +} + +uint8_t u8g_dev_ssd1327_96x96_2x_gr_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1327_2bit_96x96_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + u8g_dev_ssd1327_2bit_2x_prepare_page(u8g, dev, 0); + u8g_dev_ssd1327_2bit_2x_write_buffer(u8g, dev, 0); + u8g_dev_ssd1327_2bit_2x_prepare_page(u8g, dev, 1); + u8g_dev_ssd1327_2bit_2x_write_buffer(u8g, dev, 1); + u8g_SetChipSelect(u8g, dev, 0); + } + break; + case U8G_DEV_MSG_CONTRAST: + u8g_SetChipSelect(u8g, dev, 1); + u8g_SetAddress(u8g, dev, 0); /* instruction mode */ + u8g_WriteByte(u8g, dev, 0x081); + u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); + u8g_SetChipSelect(u8g, dev, 0); + return 1; + } + return u8g_dev_pb16v2_base_fn(u8g, dev, msg, arg); +} + +U8G_PB_DEV(u8g_dev_ssd1327_96x96_gr_sw_spi , WIDTH, HEIGHT, 4, u8g_dev_ssd1327_96x96_gr_fn, U8G_COM_SW_SPI); +U8G_PB_DEV(u8g_dev_ssd1327_96x96_gr_hw_spi , WIDTH, HEIGHT, 4, u8g_dev_ssd1327_96x96_gr_fn, U8G_COM_HW_SPI); +U8G_PB_DEV(u8g_dev_ssd1327_96x96_gr_i2c , WIDTH, HEIGHT, 4, u8g_dev_ssd1327_96x96_gr_fn, U8G_COM_SSD_I2C); + +#define DWIDTH (2*WIDTH) +uint8_t u8g_dev_ssd1327_96x96_2x_buf[DWIDTH] U8G_NOCOMMON ; +u8g_pb_t u8g_dev_ssd1327_96x96_2x_pb = { {8, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_ssd1327_96x96_2x_buf}; +u8g_dev_t u8g_dev_ssd1327_96x96_2x_gr_sw_spi = { u8g_dev_ssd1327_96x96_2x_gr_fn, &u8g_dev_ssd1327_96x96_2x_pb, U8G_COM_SW_SPI }; +u8g_dev_t u8g_dev_ssd1327_96x96_2x_gr_hw_spi = { u8g_dev_ssd1327_96x96_2x_gr_fn, &u8g_dev_ssd1327_96x96_2x_pb, U8G_COM_HW_SPI }; +u8g_dev_t u8g_dev_ssd1327_96x96_2x_gr_i2c = { u8g_dev_ssd1327_96x96_2x_gr_fn, &u8g_dev_ssd1327_96x96_2x_pb, U8G_COM_SSD_I2C }; + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ssd1351_128x128.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ssd1351_128x128.c new file mode 100644 index 000000000..5c82b9b30 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ssd1351_128x128.c @@ -0,0 +1,787 @@ +/* + + u8g_dev_ssd1351_128x128.c + + Universal 8bit Graphics Library + + Copyright (c) 2013, jamjardavies@gmail.com + Copyright (c) 2013, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + History: + Initial version 20 May 2013 jamjardavies@gmail.com + indexed device 22 May 2013 olikraus@gmail.com + +*/ + +#include "u8g.h" + +#define WIDTH 128 +#define HEIGHT 128 +#define PAGE_HEIGHT 8 + +static const uint8_t u8g_dev_ssd1351_128x128_init_seq[] PROGMEM = { + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_DLY(50), + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ + U8G_ESC_CS(1), /* enable chip */ + U8G_ESC_DLY(50), + + 0xfd, /* Command Lock */ + U8G_ESC_ADR(1), + 0x12, + + U8G_ESC_ADR(0), /* instruction mode */ + 0xfd, + U8G_ESC_ADR(1), + 0xb1, /* Command Lock */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0xae, /* Set Display Off */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0xb3, + U8G_ESC_ADR(1), + 0xf1, /* Front Clock Div */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0xca, + U8G_ESC_ADR(1), + 0x7f, /* Set Multiplex Ratio */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0xa0, + U8G_ESC_ADR(1), + 0xb4, /* Set Colour Depth */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0x15, + U8G_ESC_ADR(1), + 0x00, 0x7f, /* Set Column Address */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0x75, + U8G_ESC_ADR(1), + 0x00, 0x7f, /* Set Row Address */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0xa1, + U8G_ESC_ADR(1), + 0x00, /* Set Display Start Line */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0xa2, + U8G_ESC_ADR(1), + 0x00, /* Set Display Offset */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0xb5, + U8G_ESC_ADR(1), + 0x00, /* Set GPIO */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0xab, + U8G_ESC_ADR(1), + 0x01, /* Set Function Selection */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0xb1, + U8G_ESC_ADR(1), + 0x32, /* Set Phase Length */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0xb4, + U8G_ESC_ADR(1), + 0xa0, 0xb5, 0x55, /* Set Segment Low Voltage */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0xbb, + U8G_ESC_ADR(1), + 0x17, /* Set Precharge Voltage */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0xbe, + U8G_ESC_ADR(1), + 0x05, /* Set VComH Voltage */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0xc1, + U8G_ESC_ADR(1), + 0xc8, 0x80, 0xc8, /* Set Contrast */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0xc7, + U8G_ESC_ADR(1), + 0x0f, /* Set Master Contrast */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0xb6, + U8G_ESC_ADR(1), + 0x01, /* Set Second Precharge Period */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0xa6, /* Set Display Mode Reset */ + + + U8G_ESC_ADR(0), /* instruction mode */ + 0xb8, /* Set CMD Grayscale Lookup */ + U8G_ESC_ADR(1), + 0x05, + 0x06, + 0x07, + 0x08, + 0x09, + 0x0a, + 0x0b, + 0x0c, + 0x0D, + 0x0E, + 0x0F, + 0x10, + 0x11, + 0x12, + 0x13, + 0x14, + 0x15, + 0x16, + 0x18, + 0x1a, + 0x1b, + 0x1C, + 0x1D, + 0x1F, + 0x21, + 0x23, + 0x25, + 0x27, + 0x2A, + 0x2D, + 0x30, + 0x33, + 0x36, + 0x39, + 0x3C, + 0x3F, + 0x42, + 0x45, + 0x48, + 0x4C, + 0x50, + 0x54, + 0x58, + 0x5C, + 0x60, + 0x64, + 0x68, + 0x6C, + 0x70, + 0x74, + 0x78, + 0x7D, + 0x82, + 0x87, + 0x8C, + 0x91, + 0x96, + 0x9B, + 0xA0, + 0xA5, + 0xAA, + 0xAF, + 0xB4, + + U8G_ESC_ADR(0), + 0xaf, /* Set Display On */ + 0x5c, + U8G_ESC_DLY(50), + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_ADR(1), + U8G_ESC_END /* end of sequence */ +}; + + +/* set gpio to high */ +static const uint8_t u8g_dev_ssd1351_128x128gh_init_seq[] PROGMEM = { + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_DLY(50), + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ + U8G_ESC_CS(1), /* enable chip */ + U8G_ESC_DLY(50), + + 0xfd, /* Command Lock */ + U8G_ESC_ADR(1), + 0x12, + + U8G_ESC_ADR(0), /* instruction mode */ + 0xfd, + U8G_ESC_ADR(1), + 0xb1, /* Command Lock */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0xae, /* Set Display Off */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0xb3, + U8G_ESC_ADR(1), + 0xf1, /* Front Clock Div */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0xca, + U8G_ESC_ADR(1), + 0x7f, /* Set Multiplex Ratio */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0xa0, + U8G_ESC_ADR(1), + 0xb4, /* Set Colour Depth */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0x15, + U8G_ESC_ADR(1), + 0x00, 0x7f, /* Set Column Address */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0x75, + U8G_ESC_ADR(1), + 0x00, 0x7f, /* Set Row Address */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0xa1, + U8G_ESC_ADR(1), + 0x00, /* Set Display Start Line */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0xa2, + U8G_ESC_ADR(1), + 0x00, /* Set Display Offset */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0xb5, + U8G_ESC_ADR(1), + 0x03, /* Set GPIO to High Level */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0xab, + U8G_ESC_ADR(1), + 0x01, /* Set Function Selection */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0xb1, + U8G_ESC_ADR(1), + 0x32, /* Set Phase Length */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0xb4, + U8G_ESC_ADR(1), + 0xa0, 0xb5, 0x55, /* Set Segment Low Voltage */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0xbb, + U8G_ESC_ADR(1), + 0x17, /* Set Precharge Voltage */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0xbe, + U8G_ESC_ADR(1), + 0x05, /* Set VComH Voltage */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0xc1, + U8G_ESC_ADR(1), + 0xc8, 0x80, 0xc8, /* Set Contrast */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0xc7, + U8G_ESC_ADR(1), + 0x0f, /* Set Master Contrast */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0xb6, + U8G_ESC_ADR(1), + 0x01, /* Set Second Precharge Period */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0xa6, /* Set Display Mode Reset */ + + + U8G_ESC_ADR(0), /* instruction mode */ + 0xb8, /* Set CMD Grayscale Lookup */ + U8G_ESC_ADR(1), + 0x05, + 0x06, + 0x07, + 0x08, + 0x09, + 0x0a, + 0x0b, + 0x0c, + 0x0D, + 0x0E, + 0x0F, + 0x10, + 0x11, + 0x12, + 0x13, + 0x14, + 0x15, + 0x16, + 0x18, + 0x1a, + 0x1b, + 0x1C, + 0x1D, + 0x1F, + 0x21, + 0x23, + 0x25, + 0x27, + 0x2A, + 0x2D, + 0x30, + 0x33, + 0x36, + 0x39, + 0x3C, + 0x3F, + 0x42, + 0x45, + 0x48, + 0x4C, + 0x50, + 0x54, + 0x58, + 0x5C, + 0x60, + 0x64, + 0x68, + 0x6C, + 0x70, + 0x74, + 0x78, + 0x7D, + 0x82, + 0x87, + 0x8C, + 0x91, + 0x96, + 0x9B, + 0xA0, + 0xA5, + 0xAA, + 0xAF, + 0xB4, + + U8G_ESC_ADR(0), + 0xaf, /* Set Display On */ + 0x5c, + U8G_ESC_DLY(50), + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_ADR(1), + U8G_ESC_END /* end of sequence */ +}; + +#define u8g_dev_ssd1351_128x128_init_seq u8g_dev_ssd1351_128x128_init_seq + +static const uint8_t u8g_dev_ssd1351_128x128_column_seq[] PROGMEM = { + U8G_ESC_CS(1), + U8G_ESC_ADR(0), 0x15, + U8G_ESC_ADR(1), 0x00, 0x7f, + U8G_ESC_ADR(0), 0x75, + U8G_ESC_ADR(1), 0x00, 0x7f, + U8G_ESC_ADR(0), 0x5c, + U8G_ESC_ADR(1), + U8G_ESC_CS(0), + U8G_ESC_END +}; + +#define RGB332_STREAM_BYTES 8 +static uint8_t u8g_ssd1351_stream_bytes[RGB332_STREAM_BYTES*3]; + +void u8g_ssd1351_to_stream(uint8_t *ptr) +{ + uint8_t cnt = RGB332_STREAM_BYTES; + uint8_t val; + uint8_t *dest = u8g_ssd1351_stream_bytes; + for( cnt = 0; cnt < RGB332_STREAM_BYTES; cnt++ ) + { + val = *ptr++; + *dest++ = ((val & 0xe0) >> 2); + *dest++ = ((val & 0x1c) << 1); + *dest++ = ((val & 0x03) << 4); + } +} + + +#ifdef OBSOLETE +// Convert the internal RGB 332 to R +static uint8_t u8g_ssd1351_get_r(uint8_t colour) +{ + //return ((colour & 0xe0) >> 5) * 9; + //return ((colour & 0xe0) >> 5) * 8; + return ((colour & 0xe0) >> 2) ; +} + +// Convert the internal RGB 332 to G +static uint8_t u8g_ssd1351_get_g(uint8_t colour) +{ + //return ((colour & 0x1c) >> 2) * 9; + //return ((colour & 0x1c) >> 2) * 8; + return ((colour & 0x1c) << 1); +} + +// Convert the internal RGB 332 to B +static uint8_t u8g_ssd1351_get_b(uint8_t colour) +{ + //return (colour & 0x03) * 21; + return (colour & 0x03) * 16; +} +#endif + + +uint8_t u8g_dev_ssd1351_128x128_332_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ +// u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_50NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1351_128x128_init_seq); + break; + + case U8G_DEV_MSG_STOP: + break; + + case U8G_DEV_MSG_PAGE_FIRST: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1351_128x128_column_seq); + break; + + case U8G_DEV_MSG_PAGE_NEXT: + { + u8g_uint_t x; + uint8_t page_height; + uint8_t i; + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + uint8_t *ptr = pb->buf; + + u8g_SetChipSelect(u8g, dev, 1); + + page_height = pb->p.page_y1; + page_height -= pb->p.page_y0; + page_height++; + for( i = 0; i < page_height; i++ ) + { + + for (x = 0; x < pb->width; x+=RGB332_STREAM_BYTES) + { + u8g_ssd1351_to_stream(ptr); + u8g_WriteSequence(u8g, dev, RGB332_STREAM_BYTES*3, u8g_ssd1351_stream_bytes); + ptr += RGB332_STREAM_BYTES; + } + } + u8g_SetChipSelect(u8g, dev, 0); + } + + break; + case U8G_DEV_MSG_GET_MODE: + return U8G_MODE_R3G3B2; + } + + return u8g_dev_pb8h8_base_fn(u8g, dev, msg, arg); +} + +uint8_t u8g_dev_ssd1351_128x128gh_332_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ +// u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_50NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1351_128x128gh_init_seq); + break; + + case U8G_DEV_MSG_STOP: + break; + + case U8G_DEV_MSG_PAGE_FIRST: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1351_128x128_column_seq); + break; + + case U8G_DEV_MSG_PAGE_NEXT: + { + u8g_uint_t x; + uint8_t page_height; + uint8_t i; + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + uint8_t *ptr = pb->buf; + + u8g_SetChipSelect(u8g, dev, 1); + + page_height = pb->p.page_y1; + page_height -= pb->p.page_y0; + page_height++; + for( i = 0; i < page_height; i++ ) + { + + for (x = 0; x < pb->width; x+=RGB332_STREAM_BYTES) + { + u8g_ssd1351_to_stream(ptr); + u8g_WriteSequence(u8g, dev, RGB332_STREAM_BYTES*3, u8g_ssd1351_stream_bytes); + ptr += RGB332_STREAM_BYTES; + } + } + u8g_SetChipSelect(u8g, dev, 0); + } + + break; + case U8G_DEV_MSG_GET_MODE: + return U8G_MODE_R3G3B2; + } + + return u8g_dev_pb8h8_base_fn(u8g, dev, msg, arg); +} + +static uint8_t u8g_dev_ssd1351_128x128_r[256]; +static uint8_t u8g_dev_ssd1351_128x128_g[256]; +static uint8_t u8g_dev_ssd1351_128x128_b[256]; + +uint8_t u8g_dev_ssd1351_128x128_idx_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ +// u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_50NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1351_128x128_init_seq); + break; + + case U8G_DEV_MSG_STOP: + break; + + case U8G_DEV_MSG_SET_COLOR_ENTRY: + u8g_dev_ssd1351_128x128_r[ ((u8g_dev_arg_irgb_t *)arg)->idx ] = ((u8g_dev_arg_irgb_t *)arg)->r; + u8g_dev_ssd1351_128x128_g[ ((u8g_dev_arg_irgb_t *)arg)->idx ] = ((u8g_dev_arg_irgb_t *)arg)->g; + u8g_dev_ssd1351_128x128_b[ ((u8g_dev_arg_irgb_t *)arg)->idx ] = ((u8g_dev_arg_irgb_t *)arg)->b; + break; + + case U8G_DEV_MSG_PAGE_FIRST: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1351_128x128_column_seq); + break; + + case U8G_DEV_MSG_PAGE_NEXT: + { + int x; + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + uint8_t *ptr = pb->buf; + + u8g_SetChipSelect(u8g, dev, 1); + + for (x = 0; x < pb->width; x++) + { + u8g_WriteByte(u8g, dev, u8g_dev_ssd1351_128x128_r[(*ptr)>>2]); + u8g_WriteByte(u8g, dev, u8g_dev_ssd1351_128x128_g[(*ptr)>>2]); + u8g_WriteByte(u8g, dev, u8g_dev_ssd1351_128x128_b[(*ptr)>>2]); + + ptr++; + } + + u8g_SetChipSelect(u8g, dev, 0); + } + + break; + case U8G_DEV_MSG_GET_MODE: + return U8G_MODE_INDEX; + } + + return u8g_dev_pb8h8_base_fn(u8g, dev, msg, arg); +} + +void u8g_ssd1351_hicolor_to_stream(uint8_t *ptr) +{ + register uint8_t cnt = RGB332_STREAM_BYTES; + register uint8_t low, high, r, g, b; + uint8_t *dest = u8g_ssd1351_stream_bytes; + for( cnt = 0; cnt < RGB332_STREAM_BYTES; cnt++ ) + { + low = *ptr++; + high = *ptr++; + + r = high & ~7; + r >>= 2; + b = low & 31; + b <<= 1; + g = high & 7; + g <<= 3; + g |= (low>>5)&7; + + *dest++ = r; + *dest++ = g; + *dest++ = b; + } +} + + +uint8_t u8g_dev_ssd1351_128x128_hicolor_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_50NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1351_128x128_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_FIRST: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1351_128x128_column_seq); + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + uint8_t i, j; + uint8_t page_height; + uint8_t *ptr = pb->buf; + + u8g_SetChipSelect(u8g, dev, 1); + + page_height = pb->p.page_y1; + page_height -= pb->p.page_y0; + page_height++; + for( j = 0; j < page_height; j++ ) + { + for (i = 0; i < pb->width; i+=RGB332_STREAM_BYTES) + { + u8g_ssd1351_hicolor_to_stream(ptr); + u8g_WriteSequence(u8g, dev, RGB332_STREAM_BYTES*3, u8g_ssd1351_stream_bytes); + ptr += RGB332_STREAM_BYTES*2; + } + + } + + u8g_SetChipSelect(u8g, dev, 0); + + } + break; /* continue to base fn */ + case U8G_DEV_MSG_GET_MODE: + return U8G_MODE_HICOLOR; + } + return u8g_dev_pbxh16_base_fn(u8g, dev, msg, arg); +} + +uint8_t u8g_dev_ssd1351_128x128gh_hicolor_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_50NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1351_128x128gh_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_FIRST: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1351_128x128_column_seq); + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + uint8_t i, j; + uint8_t page_height; + uint8_t *ptr = pb->buf; + + u8g_SetChipSelect(u8g, dev, 1); + + page_height = pb->p.page_y1; + page_height -= pb->p.page_y0; + page_height++; + for( j = 0; j < page_height; j++ ) + { + for (i = 0; i < pb->width; i+=RGB332_STREAM_BYTES) + { + u8g_ssd1351_hicolor_to_stream(ptr); + u8g_WriteSequence(u8g, dev, RGB332_STREAM_BYTES*3, u8g_ssd1351_stream_bytes); + ptr += RGB332_STREAM_BYTES*2; + } + + } + + u8g_SetChipSelect(u8g, dev, 0); + + } + break; /* continue to base fn */ + case U8G_DEV_MSG_GET_MODE: + return U8G_MODE_HICOLOR; + } + return u8g_dev_pbxh16_base_fn(u8g, dev, msg, arg); +} + + +uint8_t u8g_dev_ssd1351_128x128_byte_buf[WIDTH*PAGE_HEIGHT] U8G_NOCOMMON ; + +u8g_pb_t u8g_dev_ssd1351_128x128_byte_pb = { {PAGE_HEIGHT, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_ssd1351_128x128_byte_buf}; +u8g_dev_t u8g_dev_ssd1351_128x128_332_sw_spi = { u8g_dev_ssd1351_128x128_332_fn, &u8g_dev_ssd1351_128x128_byte_pb, U8G_COM_SW_SPI }; +u8g_dev_t u8g_dev_ssd1351_128x128_332_hw_spi = { u8g_dev_ssd1351_128x128_332_fn, &u8g_dev_ssd1351_128x128_byte_pb, U8G_COM_HW_SPI }; +u8g_dev_t u8g_dev_ssd1351_128x128gh_332_sw_spi = { u8g_dev_ssd1351_128x128gh_332_fn, &u8g_dev_ssd1351_128x128_byte_pb, U8G_COM_SW_SPI }; +u8g_dev_t u8g_dev_ssd1351_128x128gh_332_hw_spi = { u8g_dev_ssd1351_128x128gh_332_fn, &u8g_dev_ssd1351_128x128_byte_pb, U8G_COM_HW_SPI }; + +//u8g_dev_t u8g_dev_ssd1351_128x128_idx_sw_spi = { u8g_dev_ssd1351_128x128_idx_fn, &u8g_dev_ssd1351_128x128_byte_pb, U8G_COM_SW_SPI }; +//u8g_dev_t u8g_dev_ssd1351_128x128_idx_hw_spi = { u8g_dev_ssd1351_128x128_idx_fn, &u8g_dev_ssd1351_128x128_byte_pb, U8G_COM_HW_SPI }; + + +/* only half of the height, because two bytes are needed for one pixel */ +u8g_pb_t u8g_dev_ssd1351_128x128_hicolor_byte_pb = { {PAGE_HEIGHT/2, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_ssd1351_128x128_byte_buf}; +u8g_dev_t u8g_dev_ssd1351_128x128_hicolor_sw_spi = { u8g_dev_ssd1351_128x128_hicolor_fn, &u8g_dev_ssd1351_128x128_hicolor_byte_pb, U8G_COM_SW_SPI }; +u8g_dev_t u8g_dev_ssd1351_128x128_hicolor_hw_spi = { u8g_dev_ssd1351_128x128_hicolor_fn, &u8g_dev_ssd1351_128x128_hicolor_byte_pb, U8G_COM_HW_SPI }; +u8g_dev_t u8g_dev_ssd1351_128x128gh_hicolor_sw_spi = { u8g_dev_ssd1351_128x128gh_hicolor_fn, &u8g_dev_ssd1351_128x128_hicolor_byte_pb, U8G_COM_SW_SPI }; +u8g_dev_t u8g_dev_ssd1351_128x128gh_hicolor_hw_spi = { u8g_dev_ssd1351_128x128gh_hicolor_fn, &u8g_dev_ssd1351_128x128_hicolor_byte_pb, U8G_COM_HW_SPI }; + + +uint8_t u8g_dev_ssd1351_128x128_4x_byte_buf[WIDTH*PAGE_HEIGHT*4] U8G_NOCOMMON ; + +u8g_pb_t u8g_dev_ssd1351_128x128_4x_332_byte_pb = { {PAGE_HEIGHT*4, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_ssd1351_128x128_4x_byte_buf}; +u8g_dev_t u8g_dev_ssd1351_128x128_4x_332_sw_spi = { u8g_dev_ssd1351_128x128_332_fn, &u8g_dev_ssd1351_128x128_4x_332_byte_pb, U8G_COM_SW_SPI }; +u8g_dev_t u8g_dev_ssd1351_128x128_4x_332_hw_spi = { u8g_dev_ssd1351_128x128_332_fn, &u8g_dev_ssd1351_128x128_4x_332_byte_pb, U8G_COM_HW_SPI }; +u8g_dev_t u8g_dev_ssd1351_128x128gh_4x_332_sw_spi = { u8g_dev_ssd1351_128x128gh_332_fn, &u8g_dev_ssd1351_128x128_4x_332_byte_pb, U8G_COM_SW_SPI }; +u8g_dev_t u8g_dev_ssd1351_128x128gh_4x_332_hw_spi = { u8g_dev_ssd1351_128x128gh_332_fn, &u8g_dev_ssd1351_128x128_4x_332_byte_pb, U8G_COM_HW_SPI }; + +u8g_pb_t u8g_dev_ssd1351_128x128_4x_hicolor_byte_pb = { {PAGE_HEIGHT/2*4, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_ssd1351_128x128_4x_byte_buf}; +u8g_dev_t u8g_dev_ssd1351_128x128_4x_hicolor_sw_spi = { u8g_dev_ssd1351_128x128_hicolor_fn, &u8g_dev_ssd1351_128x128_4x_hicolor_byte_pb, U8G_COM_SW_SPI }; +u8g_dev_t u8g_dev_ssd1351_128x128_4x_hicolor_hw_spi = { u8g_dev_ssd1351_128x128_hicolor_fn, &u8g_dev_ssd1351_128x128_4x_hicolor_byte_pb, U8G_COM_HW_SPI }; +u8g_dev_t u8g_dev_ssd1351_128x128gh_4x_hicolor_sw_spi = { u8g_dev_ssd1351_128x128gh_hicolor_fn, &u8g_dev_ssd1351_128x128_4x_hicolor_byte_pb, U8G_COM_SW_SPI }; +u8g_dev_t u8g_dev_ssd1351_128x128gh_4x_hicolor_hw_spi = { u8g_dev_ssd1351_128x128gh_hicolor_fn, &u8g_dev_ssd1351_128x128_4x_hicolor_byte_pb, U8G_COM_HW_SPI }; + + +/* +U8G_PB_DEV(u8g_dev_ssd1351_128x128_332_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1351_128x128_332_fn, U8G_COM_SW_SPI); +U8G_PB_DEV(u8g_dev_ssd1351_128x128_332_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1351_128x128_332_fn, U8G_COM_HW_SPI); + +U8G_PB_DEV(u8g_dev_ssd1351_128x128_idx_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1351_128x128_idx_fn, U8G_COM_SW_SPI); +U8G_PB_DEV(u8g_dev_ssd1351_128x128_idx_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_ssd1351_128x128_idx_fn, U8G_COM_HW_SPI); +*/ + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ssd1353_160x128.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ssd1353_160x128.c new file mode 100644 index 000000000..76283a4e5 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_ssd1353_160x128.c @@ -0,0 +1,425 @@ +/* + u8g_dev_ssd1353_160x128.c + + Universal 8bit Graphics Library + + Copyright (c) 2015, hugodan3@googlemail.com + Copyright (c) 2013, jamjardavies@gmail.com + Copyright (c) 2013, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + History: + Initial version 8 Mar 2015 hugodan3@googlemail.com. This version has + been derived from the ssd1351 driver by jamjarda. It has + been improved by in-lining time critical functions. + + + +*/ + +#include "u8g.h" + +#define WIDTH 160 +#define HEIGHT 128 +#define PAGE_HEIGHT 8 + +#define USE_GREY_TABLE 0 + +static const uint8_t u8g_dev_ssd1353_160x128_init_seq[] PROGMEM = { + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_DLY(50), + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ + U8G_ESC_DLY(50), + U8G_ESC_CS(1), /* enable chip */ + + 0xFD, /* Command unlock */ + U8G_ESC_ADR(1), + 0x12, + + U8G_ESC_ADR(0), + 0xAE, /* Set Display Off */ + + U8G_ESC_ADR(0), + 0xA8, + U8G_ESC_ADR(1), + 0x7F, /* Set Multiplex Ratio */ + + U8G_ESC_ADR(0), + 0xA0, + U8G_ESC_ADR(1), + 0xB4, /* Set remapping */ + + U8G_ESC_ADR(0), + 0xA1, + U8G_ESC_ADR(1), + 0x00, /* Set Display Start Line */ + + U8G_ESC_ADR(0), + 0xA2, + U8G_ESC_ADR(1), + 0x00, /* Set Display Offset */ + + U8G_ESC_ADR(0), + 0xB1, + U8G_ESC_ADR(1), + 0x32, /* Set Phase Length */ + + U8G_ESC_ADR(0), + 0xB4, + U8G_ESC_ADR(1), + 0x04, /* Set Second Precharge Period */ + + U8G_ESC_ADR(0), + 0xA4, /* Set Display Mode ON */ + + U8G_ESC_ADR(0), + 0xB3, + U8G_ESC_ADR(1), /* frame rate */ + 0x40, + + U8G_ESC_ADR(0), + 0xBB, + U8G_ESC_ADR(1), /* pre-charge level */ + 0x08, + + U8G_ESC_ADR(0), + 0xBE, + U8G_ESC_ADR(1), /* vcomh */ + 0x3C, + + /* color adjustments */ +#if USE_GREY_TABLE != 1 + U8G_ESC_ADR(0), /* instruction mode */ + 0x81, + U8G_ESC_ADR(1), + 0xC8, /* Set Contrast Color 1*/ + U8G_ESC_ADR(0), /* instruction mode */ + 0x82, + U8G_ESC_ADR(1), + 0x80, /* Set Contrast Color 2*/ + U8G_ESC_ADR(0), /* instruction mode */ + 0x83, + U8G_ESC_ADR(1), + 0xF8, /* Set Contrast Color 3*/ + U8G_ESC_ADR(0), /* instruction mode */ + 0x87, + U8G_ESC_ADR(1), + 0x09, /* Set Master Contrast MAX */ + U8G_ESC_ADR(0), /* instruction mode */ + 0xB9, /* Set CMD Grayscale Linear */ +#else + U8G_ESC_ADR(0), /* instruction mode */ + 0x81, + U8G_ESC_ADR(1), + 0xC8, /* Set Contrast Color 1*/ + U8G_ESC_ADR(0), /* instruction mode */ + 0x82, + U8G_ESC_ADR(1), + 0xA0, /* Set Contrast Color 2*/ + U8G_ESC_ADR(0), /* instruction mode */ + 0x83, + U8G_ESC_ADR(1), + 0xB0, /* Set Contrast Color 3*/ + U8G_ESC_ADR(0), /* instruction mode */ + 0x87, + U8G_ESC_ADR(1), + 0x0F, /* Set Master Contrast MAX */ + + U8G_ESC_ADR(0), /* instruction mode */ + 0xB8, /* Set CMD Grayscale Lookup */ + U8G_ESC_ADR(1), + 0x05, 0x06, 0x07, 0x08, + 0x09, 0x0a, 0x0b, 0x0c, + 0x0D, 0x0E, 0x0F, 0x10, + 0x11, 0x12, 0x13, 0x14, + 0x15, 0x16, 0x18, 0x1a, + 0x1b, 0x1C, 0x1D, 0x1F, + 0x21, 0x23, 0x25, 0x27, + 0x2A, 0x2D, 0x30, 0x33, + 0x36, 0x39, 0x3C, 0x3F, + 0x42, 0x45, 0x48, 0x4C, + 0x50, 0x54, 0x58, 0x5C, + 0x60, 0x64, 0x68, 0x6C, + 0x70, 0x74, 0x78, 0x7D, + 0x82, 0x87, 0x8C, 0x91, + 0x96, 0x9B, 0xA0, 0xA5, + 0xAA, 0xAF, 0xB4, +#endif + U8G_ESC_ADR(0), + 0xAF, /* Set Display On */ + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_ADR(1), + U8G_ESC_END /* end of sequence */ +}; + + +static const uint8_t u8g_dev_ssd1353_160x128_column_seq[] PROGMEM = { + U8G_ESC_CS(1), + U8G_ESC_ADR(0), 0x15, + U8G_ESC_ADR(1), 0x00, 0x9f, + U8G_ESC_ADR(0), 0x75, + U8G_ESC_ADR(1), 0x00, 0x7f, + U8G_ESC_ADR(0), 0x5c, + U8G_ESC_ADR(1), + U8G_ESC_CS(0), + U8G_ESC_END +}; + +static const uint8_t u8g_dev_ssd1353_160x128_sleep_on[] PROGMEM = { + U8G_ESC_CS(1), + U8G_ESC_ADR(0), 0xAE, + U8G_ESC_CS(0), + U8G_ESC_END +}; + +static const uint8_t u8g_dev_ssd1353_160x128_sleep_off[] PROGMEM = { + U8G_ESC_CS(1), + U8G_ESC_ADR(0), 0xAF, + U8G_ESC_CS(0), + U8G_ESC_END +}; + + +#define RGB332_STREAM_BYTES 8 +static uint8_t u8g_ssd1353_stream_bytes[RGB332_STREAM_BYTES*3]; + +uint8_t u8g_dev_ssd1353_160x128_332_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_50NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1353_160x128_init_seq); + break; + + case U8G_DEV_MSG_STOP: + break; + + case U8G_DEV_MSG_PAGE_FIRST: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1353_160x128_column_seq); + break; + + case U8G_DEV_MSG_PAGE_NEXT: + { + u8g_uint_t x; + uint8_t page_height; + uint8_t i; + uint8_t cnt; + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + uint8_t *ptr = pb->buf; + + u8g_SetChipSelect(u8g, dev, 1); + + page_height = pb->p.page_y1; + page_height -= pb->p.page_y0; + page_height++; + for( i = 0; i < page_height; i++ ) + { + + for (x = 0; x < pb->width; x+=RGB332_STREAM_BYTES) + { + /* inline operation for better perf */ + uint8_t *dest = u8g_ssd1353_stream_bytes; + for( cnt = 0; cnt < RGB332_STREAM_BYTES; cnt++ ) + { + uint8_t val = *ptr++; + *dest++ = ((val & 0xe0) >> 2); + *dest++ = ((val & 0x1c) << 1); + *dest++ = ((val & 0x03) << 4); + } + u8g_WriteSequence(u8g, dev, RGB332_STREAM_BYTES*3, u8g_ssd1353_stream_bytes); + } + } + u8g_SetChipSelect(u8g, dev, 0); + } + + break; + + case U8G_DEV_MSG_SLEEP_ON: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1353_160x128_sleep_on); + break; + case U8G_DEV_MSG_SLEEP_OFF: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1353_160x128_sleep_off); + break; + } + + return u8g_dev_pb8h8_base_fn(u8g, dev, msg, arg); +} + +/* + * not tested and not released, just taken from ssd1351 + */ +static uint8_t u8g_dev_ssd1353_160x128_r[256]; +static uint8_t u8g_dev_ssd1353_160x128_g[256]; +static uint8_t u8g_dev_ssd1353_160x128_b[256]; + +uint8_t u8g_dev_ssd1353_160x128_idx_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ +// u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_50NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1353_160x128_init_seq); + break; + + case U8G_DEV_MSG_STOP: + break; + + case U8G_DEV_MSG_SET_COLOR_ENTRY: + u8g_dev_ssd1353_160x128_r[ ((u8g_dev_arg_irgb_t *)arg)->idx ] = ((u8g_dev_arg_irgb_t *)arg)->r; + u8g_dev_ssd1353_160x128_g[ ((u8g_dev_arg_irgb_t *)arg)->idx ] = ((u8g_dev_arg_irgb_t *)arg)->g; + u8g_dev_ssd1353_160x128_b[ ((u8g_dev_arg_irgb_t *)arg)->idx ] = ((u8g_dev_arg_irgb_t *)arg)->b; + break; + + case U8G_DEV_MSG_PAGE_FIRST: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1353_160x128_column_seq); + break; + + case U8G_DEV_MSG_PAGE_NEXT: + { + int x; + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + uint8_t *ptr = pb->buf; + + u8g_SetChipSelect(u8g, dev, 1); + + for (x = 0; x < pb->width; x++) + { + u8g_WriteByte(u8g, dev, u8g_dev_ssd1353_160x128_r[(*ptr)>>2]); + u8g_WriteByte(u8g, dev, u8g_dev_ssd1353_160x128_g[(*ptr)>>2]); + u8g_WriteByte(u8g, dev, u8g_dev_ssd1353_160x128_b[(*ptr)>>2]); + + ptr++; + } + + u8g_SetChipSelect(u8g, dev, 0); + } + + break; + case U8G_DEV_MSG_GET_MODE: + return U8G_MODE_INDEX; + } + + return u8g_dev_pb8h8_base_fn(u8g, dev, msg, arg); +} + +uint8_t u8g_dev_ssd1353_160x128_hicolor_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_50NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1353_160x128_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_FIRST: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1353_160x128_column_seq); + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + uint8_t i, j; + uint8_t page_height; + uint8_t *ptr = pb->buf; + + u8g_SetChipSelect(u8g, dev, 1); + + page_height = pb->p.page_y1; + page_height -= pb->p.page_y0; + page_height++; + for( j = 0; j < page_height; j++ ) + { + for (i = 0; i < pb->width; i+=RGB332_STREAM_BYTES) + { + register uint8_t cnt, low, high, r, g, b; + uint8_t *dest = u8g_ssd1353_stream_bytes; + for( cnt = 0; cnt < RGB332_STREAM_BYTES; cnt++ ) + { + low = *ptr++; + high = *ptr++; + + r = high & ~7; + r >>= 2; + b = low & 31; + b <<= 1; + g = high & 7; + g <<= 3; + g |= (low>>5)&7; + + *dest++ = r; + *dest++ = g; + *dest++ = b; + } + u8g_WriteSequence(u8g, dev, RGB332_STREAM_BYTES*3, u8g_ssd1353_stream_bytes); + } + } + u8g_SetChipSelect(u8g, dev, 0); + } + break; /* continue to base fn */ + case U8G_DEV_MSG_SLEEP_ON: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1353_160x128_sleep_on); + break; + case U8G_DEV_MSG_SLEEP_OFF: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1353_160x128_sleep_off); + break; + } + return u8g_dev_pbxh16_base_fn(u8g, dev, msg, arg); +} + + +uint8_t u8g_dev_ssd1353_160x128_byte_buf[WIDTH*PAGE_HEIGHT] U8G_NOCOMMON ; + +u8g_pb_t u8g_dev_ssd1353_160x128_byte_pb = { {PAGE_HEIGHT, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_ssd1353_160x128_byte_buf}; +u8g_dev_t u8g_dev_ssd1353_160x128_332_sw_spi = { u8g_dev_ssd1353_160x128_332_fn, &u8g_dev_ssd1353_160x128_byte_pb, U8G_COM_SW_SPI }; +u8g_dev_t u8g_dev_ssd1353_160x128_332_hw_spi = { u8g_dev_ssd1353_160x128_332_fn, &u8g_dev_ssd1353_160x128_byte_pb, U8G_COM_HW_SPI }; + +//u8g_dev_t u8g_dev_ssd1353_160x128_idx_sw_spi = { u8g_dev_ssd1353_160x128_idx_fn, &u8g_dev_ssd1353_160x128_byte_pb, U8G_COM_SW_SPI }; +//u8g_dev_t u8g_dev_ssd1353_160x128_idx_hw_spi = { u8g_dev_ssd1353_160x128_idx_fn, &u8g_dev_ssd1353_160x128_byte_pb, U8G_COM_HW_SPI }; + + +/* only half of the height, because two bytes are needed for one pixel */ +u8g_pb_t u8g_dev_ssd1353_160x128_hicolor_byte_pb = { {PAGE_HEIGHT/2, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_ssd1353_160x128_byte_buf}; +u8g_dev_t u8g_dev_ssd1353_160x128_hicolor_sw_spi = { u8g_dev_ssd1353_160x128_hicolor_fn, &u8g_dev_ssd1353_160x128_hicolor_byte_pb, U8G_COM_SW_SPI }; +u8g_dev_t u8g_dev_ssd1353_160x128_hicolor_hw_spi = { u8g_dev_ssd1353_160x128_hicolor_fn, &u8g_dev_ssd1353_160x128_hicolor_byte_pb, U8G_COM_HW_SPI }; + + +/* the 4x buffer is removed since it does not fit the RAM space of very small MCUs */ +#if 0 +uint8_t u8g_dev_ssd1353_160x128_4x_byte_buf[WIDTH*PAGE_HEIGHT*4] U8G_NOCOMMON ; + +u8g_pb_t u8g_dev_ssd1353_160x128_4x_332_byte_pb = { {PAGE_HEIGHT*4, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_ssd1353_160x128_4x_byte_buf}; +u8g_dev_t u8g_dev_ssd1353_160x128_4x_332_sw_spi = { u8g_dev_ssd1353_160x128_332_fn, &u8g_dev_ssd1353_160x128_4x_332_byte_pb, U8G_COM_SW_SPI }; +u8g_dev_t u8g_dev_ssd1353_160x128_4x_332_hw_spi = { u8g_dev_ssd1353_160x128_332_fn, &u8g_dev_ssd1353_160x128_4x_332_byte_pb, U8G_COM_HW_SPI }; + +u8g_pb_t u8g_dev_ssd1353_160x128_4x_hicolor_byte_pb = { {PAGE_HEIGHT/2*4, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_ssd1353_160x128_4x_byte_buf}; +u8g_dev_t u8g_dev_ssd1353_160x128_4x_hicolor_sw_spi = { u8g_dev_ssd1353_160x128_hicolor_fn, &u8g_dev_ssd1353_160x128_4x_hicolor_byte_pb, U8G_COM_SW_SPI }; +u8g_dev_t u8g_dev_ssd1353_160x128_4x_hicolor_hw_spi = { u8g_dev_ssd1353_160x128_hicolor_fn, &u8g_dev_ssd1353_160x128_4x_hicolor_byte_pb, U8G_COM_HW_SPI }; +#endif diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_st7565_64128n.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_st7565_64128n.c new file mode 100644 index 000000000..ff909c5e9 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_st7565_64128n.c @@ -0,0 +1,203 @@ +/* + + u8g_dev_st7565_64128n.c (Displaytech) + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +*/ + +#include "u8g.h" + +#define WIDTH 128 +#define HEIGHT 64 +#define PAGE_HEIGHT 8 + +/* init sequence from https://github.com/adafruit/ST7565-LCD/blob/master/ST7565/ST7565.cpp */ +static const uint8_t u8g_dev_st7565_64128n_init_seq[] PROGMEM = { + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ + + 0x0A2, /* 0x0a2: LCD bias 1/9 (according to Displaytech 64128N datasheet) */ + 0x0A0, /* Normal ADC Select (according to Displaytech 64128N datasheet) */ + + 0x0c8, /* common output mode: set scan direction normal operation/SHL Select, 0x0c0 --> SHL = 0, normal, 0x0c8 --> SHL = 1 */ + 0x040, /* Display start line for Displaytech 64128N */ + + 0x028 | 0x04, /* power control: turn on voltage converter */ + U8G_ESC_DLY(50), /* delay 50 ms */ + + 0x028 | 0x06, /* power control: turn on voltage regulator */ + U8G_ESC_DLY(50), /* delay 50 ms */ + + 0x028 | 0x07, /* power control: turn on voltage follower */ + U8G_ESC_DLY(50), /* delay 50 ms */ + + 0x010, /* Set V0 voltage resistor ratio. Setting for controlling brightness of Displaytech 64128N */ + + 0x0a6, /* display normal, bit val 0: LCD pixel off. */ + + 0x081, /* set contrast */ + 0x01e, /* Contrast value. Setting for controlling brightness of Displaytech 64128N */ + + + 0x0af, /* display on */ + + U8G_ESC_DLY(100), /* delay 100 ms */ + 0x0a5, /* display all points, ST7565 */ + U8G_ESC_DLY(100), /* delay 100 ms */ + U8G_ESC_DLY(100), /* delay 100 ms */ + 0x0a4, /* normal display */ + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_END /* end of sequence */ +}; + +static const uint8_t u8g_dev_st7565_64128n_data_start[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + 0x010, /* set upper 4 bit of the col adr to 0x10 */ + 0x000, /* set lower 4 bit of the col adr to 0x00. Changed for DisplayTech 64128N */ + U8G_ESC_END /* end of sequence */ +}; + +static const uint8_t u8g_dev_st7565_64128n_sleep_on[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + 0x0ac, /* static indicator off */ + 0x000, /* indicator register set (not sure if this is required) */ + 0x0ae, /* display off */ + 0x0a5, /* all points on */ + U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ + U8G_ESC_END /* end of sequence */ +}; + +static const uint8_t u8g_dev_st7565_64128n_sleep_off[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + 0x0a4, /* all points off */ + 0x0af, /* display on */ + U8G_ESC_DLY(50), /* delay 50 ms */ + U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ + U8G_ESC_END /* end of sequence */ +}; + +uint8_t u8g_dev_st7565_64128n_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_64128n_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_64128n_data_start); + u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (ST7565R) */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) + return 0; + u8g_SetChipSelect(u8g, dev, 0); + } + break; + case U8G_DEV_MSG_CONTRAST: + u8g_SetChipSelect(u8g, dev, 1); + u8g_SetAddress(u8g, dev, 0); /* instruction mode */ + u8g_WriteByte(u8g, dev, 0x081); + u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); + u8g_SetChipSelect(u8g, dev, 0); + return 1; + case U8G_DEV_MSG_SLEEP_ON: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_64128n_sleep_on); + return 1; + case U8G_DEV_MSG_SLEEP_OFF: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_64128n_sleep_off); + return 1; + } + return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); +} + +uint8_t u8g_dev_st7565_64128n_2x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_64128n_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + + u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_64128n_data_start); + u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page)); /* select current page (ST7565R) */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + u8g_WriteSequence(u8g, dev, pb->width, pb->buf); + u8g_SetChipSelect(u8g, dev, 0); + + u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_64128n_data_start); + u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page+1)); /* select current page (ST7565R) */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)(pb->buf)+pb->width); + u8g_SetChipSelect(u8g, dev, 0); + } + break; + case U8G_DEV_MSG_CONTRAST: + u8g_SetChipSelect(u8g, dev, 1); + u8g_SetAddress(u8g, dev, 0); /* instruction mode */ + u8g_WriteByte(u8g, dev, 0x081); + u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); + u8g_SetChipSelect(u8g, dev, 0); + return 1; + case U8G_DEV_MSG_SLEEP_ON: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_64128n_sleep_on); + return 1; + case U8G_DEV_MSG_SLEEP_OFF: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_64128n_sleep_off); + return 1; + } + return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg); +} + +U8G_PB_DEV(u8g_dev_st7565_64128n_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_64128n_fn, U8G_COM_SW_SPI); +U8G_PB_DEV(u8g_dev_st7565_64128n_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_64128n_fn, U8G_COM_HW_SPI); +U8G_PB_DEV(u8g_dev_st7565_64128n_parallel, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_64128n_fn, U8G_COM_PARALLEL); + +uint8_t u8g_dev_st7565_64128n_2x_buf[WIDTH*2] U8G_NOCOMMON ; +u8g_pb_t u8g_dev_st7565_64128n_2x_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_st7565_64128n_2x_buf}; +u8g_dev_t u8g_dev_st7565_64128n_2x_sw_spi = { u8g_dev_st7565_64128n_2x_fn, &u8g_dev_st7565_64128n_2x_pb, U8G_COM_SW_SPI }; +u8g_dev_t u8g_dev_st7565_64128n_2x_hw_spi = { u8g_dev_st7565_64128n_2x_fn, &u8g_dev_st7565_64128n_2x_pb, U8G_COM_HW_SPI }; +u8g_dev_t u8g_dev_st7565_64128n_2x_hw_parallel = { u8g_dev_st7565_64128n_2x_fn, &u8g_dev_st7565_64128n_2x_pb, U8G_COM_PARALLEL }; diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_st7565_dogm128.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_st7565_dogm128.c new file mode 100644 index 000000000..e73f06153 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_st7565_dogm128.c @@ -0,0 +1,190 @@ +/* + + u8g_dev_st7565_dogm128.c + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +*/ + +#include "u8g.h" + +#define WIDTH 128 +#define HEIGHT 64 +#define PAGE_HEIGHT 8 + +const uint8_t u8g_dev_st7565_dogm128_init_seq[] PROGMEM = { + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ + U8G_ESC_CS(1), /* enable chip */ + + 0x040, /* set display start line */ + 0x0a1, /* ADC set to reverse */ + 0x0c0, /* common output mode: set scan direction normal operation */ + 0x0a6, /* display normal (none reverse) */ + 0x0a2, /* LCD bias 1/9 */ + 0x02f, /* all power control circuits on */ + 0x0f8, /* set booster ratio to */ + 0x000, /* 4x */ + 0x027, /* set V0 voltage resistor ratio to large */ + 0x081, /* set contrast */ + 0x018, /* contrast value, EA default: 0x016 */ + 0x0ac, /* indicator */ + 0x000, /* disable */ + 0x0a4, /* normal display (not all on) */ + 0x0af, /* display on */ + U8G_ESC_DLY(50), /* delay 50 ms */ + + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_END /* end of sequence */ +}; + +static const uint8_t u8g_dev_st7565_dogm128_data_start[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + 0x010, /* set upper 4 bit of the col adr to 0 */ + 0x000, /* set lower 4 bit of the col adr to 0 */ + U8G_ESC_END /* end of sequence */ +}; + +static const uint8_t u8g_dev_st7565_dogm128_sleep_on[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + 0x0ac, /* static indicator off */ + 0x000, /* indicator register set (not sure if this is required) */ + 0x0ae, /* display off */ + 0x0a5, /* all points on */ + U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ + U8G_ESC_END /* end of sequence */ +}; + +static const uint8_t u8g_dev_st7565_dogm128_sleep_off[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + 0x0a4, /* all points off */ + 0x0af, /* display on */ + U8G_ESC_DLY(50), /* delay 50 ms */ + U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ + U8G_ESC_END /* end of sequence */ +}; + +uint8_t u8g_dev_st7565_dogm128_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_dogm128_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_dogm128_data_start); + u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (ST7565R) */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) + return 0; + u8g_SetChipSelect(u8g, dev, 0); + } + break; + case U8G_DEV_MSG_CONTRAST: + u8g_SetChipSelect(u8g, dev, 1); + u8g_SetAddress(u8g, dev, 0); /* instruction mode */ + u8g_WriteByte(u8g, dev, 0x081); + u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); + u8g_SetChipSelect(u8g, dev, 0); + return 1; + case U8G_DEV_MSG_SLEEP_ON: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_dogm128_sleep_on); + return 1; + case U8G_DEV_MSG_SLEEP_OFF: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_dogm128_sleep_off); + return 1; + } + return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); +} + +uint8_t u8g_dev_st7565_dogm128_2x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_dogm128_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_dogm128_data_start); + u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page)); /* select current page (ST7565R) */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + u8g_WriteSequence(u8g, dev, pb->width, pb->buf); + u8g_SetChipSelect(u8g, dev, 0); + + u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_dogm128_data_start); + u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page+1)); /* select current page (ST7565R) */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)(pb->buf)+pb->width); + u8g_SetChipSelect(u8g, dev, 0); + + } + break; + case U8G_DEV_MSG_CONTRAST: + u8g_SetChipSelect(u8g, dev, 1); + u8g_SetAddress(u8g, dev, 0); /* instruction mode */ + u8g_WriteByte(u8g, dev, 0x081); + u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); + u8g_SetChipSelect(u8g, dev, 0); + return 1; + case U8G_DEV_MSG_SLEEP_ON: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_dogm128_sleep_on); + return 1; + case U8G_DEV_MSG_SLEEP_OFF: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_dogm128_sleep_off); + return 1; + } + return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg); +} + +U8G_PB_DEV(u8g_dev_st7565_dogm128_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_dogm128_fn, U8G_COM_SW_SPI); +U8G_PB_DEV(u8g_dev_st7565_dogm128_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_dogm128_fn, U8G_COM_HW_SPI); +U8G_PB_DEV(u8g_dev_st7565_dogm128_parallel, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_dogm128_fn, U8G_COM_PARALLEL); + + +uint8_t u8g_dev_st7565_dogm128_2x_buf[WIDTH*2] U8G_NOCOMMON ; +u8g_pb_t u8g_dev_st7565_dogm128_2x_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_st7565_dogm128_2x_buf}; +u8g_dev_t u8g_dev_st7565_dogm128_2x_sw_spi = { u8g_dev_st7565_dogm128_2x_fn, &u8g_dev_st7565_dogm128_2x_pb, U8G_COM_SW_SPI }; +u8g_dev_t u8g_dev_st7565_dogm128_2x_hw_spi = { u8g_dev_st7565_dogm128_2x_fn, &u8g_dev_st7565_dogm128_2x_pb, U8G_COM_HW_SPI }; +u8g_dev_t u8g_dev_st7565_dogm128_2x_parallel = { u8g_dev_st7565_dogm128_2x_fn, &u8g_dev_st7565_dogm128_2x_pb, U8G_COM_PARALLEL }; diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_st7565_dogm132.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_st7565_dogm132.c new file mode 100644 index 000000000..26de53924 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_st7565_dogm132.c @@ -0,0 +1,157 @@ +/* + + u8g_dev_st7565_dogm132.c + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +*/ + +#include "u8g.h" + +#define WIDTH 132 +#define HEIGHT 32 +#define PAGE_HEIGHT 8 + +static const uint8_t u8g_dev_st7565_dogm132_init_seq[] PROGMEM = { + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ + U8G_ESC_CS(1), /* enable chip */ + + 0x040, /* set display start line to 0 */ + 0x0a1, /* ADC set to reverse */ + 0x0c0, /* common output mode */ + 0x0a6, /* display normal, bit val 0: LCD pixel off. */ + 0x0a2, /* LCD bias 1/9 */ + 0x02f, /* all power control circuits on */ + 0x0f8, /* set booster ratio to */ + 0x000, /* 4x */ + 0x023, /* set V0 voltage resistor ratio to large */ + 0x081, /* set contrast */ + 0x01f, /* contrast value, EA default: 0x01f */ + 0x0ac, /* indicator */ + 0x000, /* disable */ + 0x0af, /* display on */ + +#ifdef OBSOLETE_DOGM128 + 0x040, /* set display start line */ + 0x0c8, /* set scan direction inverse operation */ + 0x0a2, /* LCD bias 1/9 */ + 0x02f, /* all power control circuits on */ + 0x0f8, /* set booster ratio to */ + 0x000, /* 4x */ + 0x027, /* set V0 voltage resistor ratio to large */ + 0x081, /* set contrast */ + 0x018, /* contrast value, EA default: 0x016 */ + 0x0ac, /* indicator */ + 0x000, /* disable */ + 0x0af, /* display on */ +#endif + + + U8G_ESC_DLY(100), /* delay 100 ms */ + 0x0a5, /* display all points, ST7565 */ + U8G_ESC_DLY(100), /* delay 100 ms */ + U8G_ESC_DLY(100), /* delay 100 ms */ + 0x0a4, /* normal display */ + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_END /* end of sequence */ +}; + +static const uint8_t u8g_dev_st7565_dogm132_data_start[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + 0x010, /* set upper 4 bit of the col adr to 0 */ + 0x000, /* set lower 4 bit of the col adr to 0 */ + U8G_ESC_END /* end of sequence */ +}; + +static const uint8_t u8g_dev_st7565_dogm132_sleep_on[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + 0x0ac, /* static indicator off */ + 0x000, /* indicator register set (not sure if this is required) */ + 0x0ae, /* display off */ + 0x0a5, /* all points on */ + U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ + U8G_ESC_END /* end of sequence */ +}; + +static const uint8_t u8g_dev_st7565_dogm132_sleep_off[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + 0x0a4, /* all points off */ + 0x0af, /* display on */ + U8G_ESC_DLY(50), /* delay 50 ms */ + U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ + U8G_ESC_END /* end of sequence */ +}; + +uint8_t u8g_dev_st7565_dogm132_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_dogm132_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_dogm132_data_start); + u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (ST7565R) */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) + return 0; + u8g_SetChipSelect(u8g, dev, 0); + } + break; + case U8G_DEV_MSG_CONTRAST: + u8g_SetChipSelect(u8g, dev, 1); + u8g_SetAddress(u8g, dev, 0); /* instruction mode */ + u8g_WriteByte(u8g, dev, 0x081); + u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); + u8g_SetChipSelect(u8g, dev, 0); + return 1; + case U8G_DEV_MSG_SLEEP_ON: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_dogm132_sleep_on); + return 1; + case U8G_DEV_MSG_SLEEP_OFF: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_dogm132_sleep_off); + return 1; + } + return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); +} + +U8G_PB_DEV(u8g_dev_st7565_dogm132_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_dogm132_fn, U8G_COM_SW_SPI); +U8G_PB_DEV(u8g_dev_st7565_dogm132_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_dogm132_fn, U8G_COM_HW_SPI); diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_st7565_lm6059.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_st7565_lm6059.c new file mode 100644 index 000000000..165c39097 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_st7565_lm6059.c @@ -0,0 +1,205 @@ +/* + + u8g_dev_st7565_lm6059.c (Adafruit display) + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +*/ + +#include "u8g.h" + +#define WIDTH 128 +#define HEIGHT 64 +#define PAGE_HEIGHT 8 + +/* init sequence from https://github.com/adafruit/ST7565-LCD/blob/master/ST7565/ST7565.cpp */ +static const uint8_t u8g_dev_st7565_lm6059_init_seq[] PROGMEM = { + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ + + 0x0a3, /* 0x0a2: LCD bias 1/9 (suggested for the LM6063), 0x0a3: Used by Adafruit, 0x0a2 does not work */ + /* the LM6059 vs LM6063, ADC and SHL have inverted settings */ + 0x0a0, /* 0x0a1: ADC set to normal (suggested for the LM6059), 0x0a0: Used by Adafruit -> normal mode */ + 0x0c8, /* common output mode: set scan direction normal operation/SHL Select, 0x0c0 --> SHL = 0, normal, 0x0c8 --> SHL = 1 */ + 0x060, /* set display start line */ + + 0x028 | 0x04, /* power control: turn on voltage converter */ + U8G_ESC_DLY(50), /* delay 50 ms */ + + 0x028 | 0x06, /* power control: turn on voltage regulator */ + U8G_ESC_DLY(50), /* delay 50 ms */ + + 0x028 | 0x07, /* power control: turn on voltage follower */ + U8G_ESC_DLY(50), /* delay 50 ms */ + + 0x026, /* set V0 voltage resistor ratio to 6 (Adafruit Value, no info from LM6063 Manual) */ + + 0x0a6, /* display normal, bit val 0: LCD pixel off. */ + + 0x081, /* set contrast */ + 0x018, /* contrast value*/ + + /*0x0ac,*/ /* indicator */ + /*0x000,*/ /* disable */ + + 0x0af, /* display on */ + + U8G_ESC_DLY(100), /* delay 100 ms */ + 0x0a5, /* display all points, ST7565 */ + U8G_ESC_DLY(100), /* delay 100 ms */ + U8G_ESC_DLY(100), /* delay 100 ms */ + 0x0a4, /* normal display */ + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_END /* end of sequence */ +}; + +static const uint8_t u8g_dev_st7565_lm6059_data_start[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + 0x010, /* set upper 4 bit of the col adr to 0 */ + 0x001, /* set lower 4 bit of the col adr */ + U8G_ESC_END /* end of sequence */ +}; + +static const uint8_t u8g_dev_st7565_lm6059_sleep_on[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + 0x0ac, /* static indicator off */ + 0x000, /* indicator register set (not sure if this is required) */ + 0x0ae, /* display off */ + 0x0a5, /* all points on */ + U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ + U8G_ESC_END /* end of sequence */ +}; + +static const uint8_t u8g_dev_st7565_lm6059_sleep_off[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + 0x0a4, /* all points off */ + 0x0af, /* display on */ + U8G_ESC_DLY(50), /* delay 50 ms */ + U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ + U8G_ESC_END /* end of sequence */ +}; + + +uint8_t u8g_dev_st7565_lm6059_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6059_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6059_data_start); + u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (ST7565R) */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) + return 0; + u8g_SetChipSelect(u8g, dev, 0); + } + break; + case U8G_DEV_MSG_CONTRAST: + u8g_SetChipSelect(u8g, dev, 1); + u8g_SetAddress(u8g, dev, 0); /* instruction mode */ + u8g_WriteByte(u8g, dev, 0x081); + u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); + u8g_SetChipSelect(u8g, dev, 0); + return 1; + case U8G_DEV_MSG_SLEEP_ON: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6059_sleep_on); + return 1; + case U8G_DEV_MSG_SLEEP_OFF: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6059_sleep_off); + return 1; + } + return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); +} + +uint8_t u8g_dev_st7565_lm6059_2x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6059_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + + u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6059_data_start); + u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page)); /* select current page (ST7565R) */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + u8g_WriteSequence(u8g, dev, pb->width, pb->buf); + u8g_SetChipSelect(u8g, dev, 0); + + u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6059_data_start); + u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page+1)); /* select current page (ST7565R) */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)(pb->buf)+pb->width); + u8g_SetChipSelect(u8g, dev, 0); + } + break; + case U8G_DEV_MSG_CONTRAST: + u8g_SetChipSelect(u8g, dev, 1); + u8g_SetAddress(u8g, dev, 0); /* instruction mode */ + u8g_WriteByte(u8g, dev, 0x081); + u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); + u8g_SetChipSelect(u8g, dev, 0); + return 1; + case U8G_DEV_MSG_SLEEP_ON: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6059_sleep_on); + return 1; + case U8G_DEV_MSG_SLEEP_OFF: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6059_sleep_off); + return 1; + } + return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg); +} + +U8G_PB_DEV(u8g_dev_st7565_lm6059_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_lm6059_fn, U8G_COM_SW_SPI); +U8G_PB_DEV(u8g_dev_st7565_lm6059_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_lm6059_fn, U8G_COM_HW_SPI); + + +uint8_t u8g_dev_st7565_lm6059_2x_buf[WIDTH*2] U8G_NOCOMMON ; +u8g_pb_t u8g_dev_st7565_lm6059_2x_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_st7565_lm6059_2x_buf}; +u8g_dev_t u8g_dev_st7565_lm6059_2x_sw_spi = { u8g_dev_st7565_lm6059_2x_fn, &u8g_dev_st7565_lm6059_2x_pb, U8G_COM_SW_SPI }; +u8g_dev_t u8g_dev_st7565_lm6059_2x_hw_spi = { u8g_dev_st7565_lm6059_2x_fn, &u8g_dev_st7565_lm6059_2x_pb, U8G_COM_HW_SPI }; diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_st7565_lm6063.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_st7565_lm6063.c new file mode 100644 index 000000000..d0b8c816d --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_st7565_lm6063.c @@ -0,0 +1,236 @@ +/* + + u8g_dev_st7565_lm6063.c + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +*/ + +#include "u8g.h" + +#define WIDTH 128 +#define HEIGHT 64 +#define PAGE_HEIGHT 8 + +#ifdef OLD_ADAFRUIT_CODE +static const uint8_t OLD_u8g_dev_st7565_lm6063_init_seq[] PROGMEM = { + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ + U8G_ESC_CS(1), /* enable chip */ + + 0x040, /* set display start line */ + 0x0a1, /* ADC set to reverse */ + 0x0c8, /* common output mode: set scan direction normal operation/SHL Select / 17 Jan: seems to be a bug, must be 0x0c0 */ + 0x0a6, /* display normal, bit val 0: LCD pixel off. */ + 0x0a2, /* LCD bias 1/9 */ + 0x02f, /* all power control circuits on */ + /*0x0f8,*/ /* set booster ratio to */ + /*0x000, */ /* 4x */ + /*0x027,*/ /* set V0 voltage resistor ratio to large */ + 0x081, /* set contrast */ + 0x018, /* contrast value*/ + 0x0ac, /* indicator */ + 0x000, /* disable */ + 0x0af, /* display on */ + + U8G_ESC_DLY(100), /* delay 100 ms */ + 0x0a5, /* display all points, ST7565 */ + U8G_ESC_DLY(100), /* delay 100 ms */ + U8G_ESC_DLY(100), /* delay 100 ms */ + 0x0a4, /* normal display */ + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_END /* end of sequence */ +}; +#endif + +/* init sequence from https://github.com/adafruit/ST7565-LCD/blob/master/ST7565/ST7565.cpp */ +static const uint8_t u8g_dev_st7565_lm6063_init_seq[] PROGMEM = { + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ + + 0x0a3, /* 0x0a2: LCD bias 1/9 (suggested for the LM6063), 0x0a3: Used by Adafruit */ + 0x0a1, /* 0x0a1: ADC set to reverse (suggested for the LM6063), 0x0a0: Used by Adafruit -> normal mode */ + 0x0c0, /* common output mode: set scan direction normal operation/SHL Select, 0x0c0 --> SHL = 0, normal, 0x0c8 --> SHL = 1 */ + 0x040, /* set display start line */ + + 0x028 | 0x04, /* power control: turn on voltage converter */ + U8G_ESC_DLY(50), /* delay 50 ms */ + + 0x028 | 0x06, /* power control: turn on voltage regulator */ + U8G_ESC_DLY(50), /* delay 50 ms */ + + 0x028 | 0x07, /* power control: turn on voltage follower */ + U8G_ESC_DLY(50), /* delay 50 ms */ + + 0x026, /* set V0 voltage resistor ratio to 6 (Adafruit Value, no info from LM6063 Manual) */ + + 0x0a6, /* display normal, bit val 0: LCD pixel off. */ + + 0x081, /* set contrast */ + 0x018, /* contrast value*/ + + /*0x0ac,*/ /* indicator */ + /*0x000,*/ /* disable */ + + 0x0af, /* display on */ + + U8G_ESC_DLY(100), /* delay 100 ms */ + 0x0a5, /* display all points, ST7565 */ + U8G_ESC_DLY(100), /* delay 100 ms */ + U8G_ESC_DLY(100), /* delay 100 ms */ + 0x0a4, /* normal display */ + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_END /* end of sequence */ +}; + +static const uint8_t u8g_dev_st7565_lm6063_data_start[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + 0x010, /* set upper 4 bit of the col adr to 0 */ + 0x000, /* set lower 4 bit of the col adr to 0 */ + U8G_ESC_END /* end of sequence */ +}; + +static const uint8_t u8g_dev_st7565_st7565_sleep_on[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + 0x0ac, /* static indicator off */ + 0x000, /* indicator register set (not sure if this is required) */ + 0x0ae, /* display off */ + 0x0a5, /* all points on */ + U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ + U8G_ESC_END /* end of sequence */ +}; + +static const uint8_t u8g_dev_st7565_st7565_sleep_off[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + 0x0a4, /* all points off */ + 0x0af, /* display on */ + U8G_ESC_DLY(50), /* delay 50 ms */ + U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ + U8G_ESC_END /* end of sequence */ +}; + + +uint8_t u8g_dev_st7565_lm6063_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6063_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6063_data_start); + u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (ST7565R) */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) + return 0; + u8g_SetChipSelect(u8g, dev, 0); + } + break; + case U8G_DEV_MSG_CONTRAST: + u8g_SetChipSelect(u8g, dev, 1); + u8g_SetAddress(u8g, dev, 0); /* instruction mode */ + u8g_WriteByte(u8g, dev, 0x081); + u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); + u8g_SetChipSelect(u8g, dev, 0); + return 1; + case U8G_DEV_MSG_SLEEP_ON: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_st7565_sleep_on); + return 1; + case U8G_DEV_MSG_SLEEP_OFF: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_st7565_sleep_off); + return 1; + } + return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); +} + +uint8_t u8g_dev_st7565_lm6063_2x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6063_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + + u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6063_data_start); + u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page)); /* select current page (ST7565R) */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + u8g_WriteSequence(u8g, dev, pb->width, pb->buf); + u8g_SetChipSelect(u8g, dev, 0); + + u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6063_data_start); + u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page+1)); /* select current page (ST7565R) */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)(pb->buf)+pb->width); + u8g_SetChipSelect(u8g, dev, 0); + } + break; + case U8G_DEV_MSG_CONTRAST: + u8g_SetChipSelect(u8g, dev, 1); + u8g_SetAddress(u8g, dev, 0); /* instruction mode */ + u8g_WriteByte(u8g, dev, 0x081); + u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); + u8g_SetChipSelect(u8g, dev, 0); + return 1; + case U8G_DEV_MSG_SLEEP_ON: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_st7565_sleep_on); + return 1; + case U8G_DEV_MSG_SLEEP_OFF: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_st7565_sleep_off); + return 1; + } + return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg); +} + +U8G_PB_DEV(u8g_dev_st7565_lm6063_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_lm6063_fn, U8G_COM_SW_SPI); +U8G_PB_DEV(u8g_dev_st7565_lm6063_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_lm6063_fn, U8G_COM_HW_SPI); + +uint8_t u8g_dev_st7565_lm6063_2x_buf[WIDTH*2] U8G_NOCOMMON ; +u8g_pb_t u8g_dev_st7565_lm6063_2x_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_st7565_lm6063_2x_buf}; +u8g_dev_t u8g_dev_st7565_lm6063_2x_sw_spi = { u8g_dev_st7565_lm6063_2x_fn, &u8g_dev_st7565_lm6063_2x_pb, U8G_COM_SW_SPI }; +u8g_dev_t u8g_dev_st7565_lm6063_2x_hw_spi = { u8g_dev_st7565_lm6063_2x_fn, &u8g_dev_st7565_lm6063_2x_pb, U8G_COM_HW_SPI }; + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_st7565_nhd_c12832.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_st7565_nhd_c12832.c new file mode 100644 index 000000000..ed8dca2e0 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_st7565_nhd_c12832.c @@ -0,0 +1,145 @@ +/* + + u8g_dev_st7565_nhd_c12832.c + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +*/ + +#include "u8g.h" + +#define WIDTH 128 +#define HEIGHT 32 +#define PAGE_HEIGHT 8 + +static const uint8_t u8g_dev_st7565_c12832_init_seq[] PROGMEM = { + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ + U8G_ESC_CS(1), /* enable chip */ + + 0x040, /* set display start line to 0 */ + 0x0a0, /* ADC set, values: a0=normal, a1=reverse */ + 0x0c8, /* common output mode: c0=normal, c8=reverse */ + 0x0a6, /* display normal, bit val 0: LCD pixel off. */ + 0x0a2, /* LCD bias 1/9 */ + 0x02f, /* all power control circuits on */ + 0x0f8, /* set booster ratio to */ + 0x000, /* 4x */ + 0x023, /* set V0 voltage resistor ratio to large */ + 0x081, /* set contrast */ + 0x00a, /* contrast value */ + 0x0ac, /* indicator */ + 0x000, /* disable */ + 0x0af, /* display on */ + + + U8G_ESC_DLY(100), /* delay 100 ms */ + 0x0a5, /* display all points, ST7565 */ + U8G_ESC_DLY(100), /* delay 100 ms */ + U8G_ESC_DLY(100), /* delay 100 ms */ + 0x0a4, /* normal display */ + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_END /* end of sequence */ +}; + +static const uint8_t u8g_dev_st7565_c12832_data_start[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + 0x010, /* set upper 4 bit of the col adr to 0 */ + 0x000, /* set lower 4 bit of the col adr to 0 */ + U8G_ESC_END /* end of sequence */ +}; + +static const uint8_t u8g_dev_st7565_c12832_sleep_on[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + 0x0ac, /* static indicator off */ + 0x000, /* indicator register set (not sure if this is required) */ + 0x0ae, /* display off */ + 0x0a5, /* all points on */ + U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ + U8G_ESC_END /* end of sequence */ +}; + +static const uint8_t u8g_dev_st7565_c12832_sleep_off[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + 0x0a4, /* all points off */ + 0x0af, /* display on */ + U8G_ESC_DLY(50), /* delay 50 ms */ + U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ + U8G_ESC_END /* end of sequence */ +}; + +uint8_t u8g_dev_st7565_c12832_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_c12832_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_c12832_data_start); + u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (ST7565R) */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) + return 0; + u8g_SetChipSelect(u8g, dev, 0); + } + break; + case U8G_DEV_MSG_CONTRAST: + u8g_SetChipSelect(u8g, dev, 1); + u8g_SetAddress(u8g, dev, 0); /* instruction mode */ + u8g_WriteByte(u8g, dev, 0x081); + u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); + u8g_SetChipSelect(u8g, dev, 0); + return 1; + case U8G_DEV_MSG_SLEEP_ON: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_c12832_sleep_on); + return 1; + case U8G_DEV_MSG_SLEEP_OFF: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_c12832_sleep_off); + return 1; + } + return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); +} + +U8G_PB_DEV(u8g_dev_st7565_nhd_c12832_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_c12832_fn, U8G_COM_SW_SPI); +U8G_PB_DEV(u8g_dev_st7565_nhd_c12832_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_c12832_fn, U8G_COM_HW_SPI); +U8G_PB_DEV(u8g_dev_st7565_nhd_c12832_parallel, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_c12832_fn, U8G_COM_PARALLEL); +U8G_PB_DEV(u8g_dev_st7565_nhd_c12832_hw_usart_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_c12832_fn, U8G_COM_HW_USART_SPI); + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_st7565_nhd_c12864.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_st7565_nhd_c12864.c new file mode 100644 index 000000000..eeb5c0987 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_st7565_nhd_c12864.c @@ -0,0 +1,194 @@ +/* + + u8g_dev_st7565_nhd_c12864.c + + Support for the NHD-C12864A1Z-FSB-FBW (Newhaven Display) + + Universal 8bit Graphics Library + + Copyright (c) 2012, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +*/ + +#include "u8g.h" + +#define WIDTH 128 +#define HEIGHT 64 +#define PAGE_HEIGHT 8 + +const uint8_t u8g_dev_st7565_nhd_c12864_init_seq[] PROGMEM = { + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_RST(10), /* do reset low pulse with (10*16)+2 milliseconds */ + U8G_ESC_CS(1), /* enable chip */ + + 0x040, /* set display start line */ + 0x0a1, /* ADC set to reverse */ + 0x0c0, /* common output mode: set scan direction normal operation */ + 0x0a6, /* display normal, bit val 0: LCD pixel off. */ + 0x0a2, /* LCD bias 1/9 */ + 0x02f, /* all power control circuits on */ + 0x0f8, /* set booster ratio to */ + 0x000, /* 4x */ + 0x027, /* set V0 voltage resistor ratio to large */ + 0x081, /* set contrast */ + 0x008, /* contrast: 0x008 is a good value for NHD C12864, Nov 2012: User reports that 0x1a is much better */ + 0x0ac, /* indicator */ + 0x000, /* disable */ + 0x0af, /* display on */ + + U8G_ESC_DLY(100), /* delay 100 ms */ + 0x0a5, /* display all points, ST7565 */ + U8G_ESC_DLY(100), /* delay 100 ms */ + U8G_ESC_DLY(100), /* delay 100 ms */ + 0x0a4, /* normal display */ + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_END /* end of sequence */ +}; + +static const uint8_t u8g_dev_st7565_nhd_c12864_data_start[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + 0x010, /* set upper 4 bit of the col adr to 0 */ + 0x004, /* set lower 4 bit of the col adr to 4 (NHD C12864) */ + U8G_ESC_END /* end of sequence */ +}; + +static const uint8_t u8g_dev_st7565_c12864_sleep_on[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + 0x0ac, /* static indicator off */ + 0x000, /* indicator register set (not sure if this is required) */ + 0x0ae, /* display off */ + 0x0a5, /* all points on */ + U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ + U8G_ESC_END /* end of sequence */ +}; + +static const uint8_t u8g_dev_st7565_c12864_sleep_off[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + 0x0a4, /* all points off */ + 0x0af, /* display on */ + U8G_ESC_DLY(50), /* delay 50 ms */ + U8G_ESC_CS(0), /* disable chip, bugfix 12 nov 2014 */ + U8G_ESC_END /* end of sequence */ +}; + +uint8_t u8g_dev_st7565_nhd_c12864_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_nhd_c12864_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_nhd_c12864_data_start); + u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (ST7565R) */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) + return 0; + u8g_SetChipSelect(u8g, dev, 0); + } + break; + case U8G_DEV_MSG_CONTRAST: + u8g_SetChipSelect(u8g, dev, 1); + u8g_SetAddress(u8g, dev, 0); /* instruction mode */ + u8g_WriteByte(u8g, dev, 0x081); + u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); + u8g_SetChipSelect(u8g, dev, 0); + return 1; + case U8G_DEV_MSG_SLEEP_ON: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_c12864_sleep_on); + return 1; + case U8G_DEV_MSG_SLEEP_OFF: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_c12864_sleep_off); + return 1; + } + return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); +} + +uint8_t u8g_dev_st7565_nhd_c12864_2x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_nhd_c12864_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + + u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_nhd_c12864_data_start); + u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page)); /* select current page (ST7565R) */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + u8g_WriteSequence(u8g, dev, pb->width, pb->buf); + u8g_SetChipSelect(u8g, dev, 0); + + u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_nhd_c12864_data_start); + u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page+1)); /* select current page (ST7565R) */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)(pb->buf)+pb->width); + u8g_SetChipSelect(u8g, dev, 0); + } + break; + case U8G_DEV_MSG_CONTRAST: + u8g_SetChipSelect(u8g, dev, 1); + u8g_SetAddress(u8g, dev, 0); /* instruction mode */ + u8g_WriteByte(u8g, dev, 0x081); + u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); + u8g_SetChipSelect(u8g, dev, 0); + return 1; + case U8G_DEV_MSG_SLEEP_ON: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_c12864_sleep_on); + return 1; + case U8G_DEV_MSG_SLEEP_OFF: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_c12864_sleep_off); + return 1; + } + return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg); +} + +U8G_PB_DEV(u8g_dev_st7565_nhd_c12864_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_nhd_c12864_fn, U8G_COM_SW_SPI); +U8G_PB_DEV(u8g_dev_st7565_nhd_c12864_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7565_nhd_c12864_fn, U8G_COM_HW_SPI); + + +uint8_t u8g_dev_st7565_nhd_c12864_2x_buf[WIDTH*2] U8G_NOCOMMON ; +u8g_pb_t u8g_dev_st7565_nhd_c12864_2x_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_st7565_nhd_c12864_2x_buf}; +u8g_dev_t u8g_dev_st7565_nhd_c12864_2x_sw_spi = { u8g_dev_st7565_nhd_c12864_2x_fn, &u8g_dev_st7565_nhd_c12864_2x_pb, U8G_COM_SW_SPI }; +u8g_dev_t u8g_dev_st7565_nhd_c12864_2x_hw_spi = { u8g_dev_st7565_nhd_c12864_2x_fn, &u8g_dev_st7565_nhd_c12864_2x_pb, U8G_COM_HW_SPI }; + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_st7687_c144mvgd.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_st7687_c144mvgd.c new file mode 100644 index 000000000..a11d3bc7d --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_st7687_c144mvgd.c @@ -0,0 +1,420 @@ +/* + + u8g_dev_st7687_c144mvgd.c (1.44" TFT) + + Status: Started, but not finished + + Universal 8bit Graphics Library + + Copyright (c) 2012, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +*/ + +#include "u8g.h" + +#define WIDTH 128 +#define HEIGHT 128 +#define PAGE_HEIGHT 8 + + +#ifdef FIRST_VERSION +/* +see also: read.pudn.com/downloads115/sourcecode/app/484503/LCM_Display.c__.htm +http://en.pudn.com/downloads115/sourcecode/app/detail484503_en.html +*/ + +static const uint8_t u8g_dev_st7687_c144mvgd_init_seq[] PROGMEM = { + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ + + 0x001, /* A0=0, SW reset */ + U8G_ESC_DLY(200), /* delay 200 ms */ + + 0x0d7, /* EEPROM data auto re-load control */ + U8G_ESC_ADR(1), /* data mode */ + 0x09f, /* ARD = 1 */ + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_DLY(100), /* delay 100 ms */ + + 0x0e0, /* EEPROM control in */ + U8G_ESC_ADR(1), /* data mode */ + 0x000, /* */ + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_DLY(100), /* delay 100 ms */ + +#ifdef NOT_REQUIRED + 0x0fa, /* EEPROM function selection 8.1.66 */ + U8G_ESC_ADR(1), /* data mode */ + 0x000, /* */ + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_DLY(100), /* delay 100 ms */ +#endif + + 0x0e3, /* Read from EEPROM, 8.1.55 */ + U8G_ESC_DLY(100), /* delay 100 ms */ + + 0x0e1, /* EEPROM control out, 8.1.53 */ + U8G_ESC_DLY(100), /* delay 100 ms */ + + //0x028, /* display off */ + 0x011, /* Sleep out & booster on */ + U8G_ESC_DLY(100), /* delay 100 ms */ + + 0x0c0, /* Vop setting, 8.1.42 */ + U8G_ESC_ADR(1), /* data mode */ + 0x000, /* */ + 0x001, /* 3.6 + 256*0.04 = 13.84 Volt */ + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_DLY(100), /* delay 100 ms */ + + 0x0c3, /* Bias selection, 8.1.45 */ + U8G_ESC_ADR(1), /* data mode */ + 0x003, + U8G_ESC_ADR(0), /* instruction mode */ + + 0x0c4, /* Booster setting 8.1.46 */ + U8G_ESC_ADR(1), /* data mode */ + 0x007, + U8G_ESC_ADR(0), /* instruction mode */ + + 0x0c5, /* ??? */ + U8G_ESC_ADR(1), /* data mode */ + 0x001, + U8G_ESC_ADR(0), /* instruction mode */ + + 0x0cb, /* FV3 with Booster x2 control, 8.1.47 */ + U8G_ESC_ADR(1), /* data mode */ + 0x001, + U8G_ESC_ADR(0), /* instruction mode */ + + 0x036, /* Memory data access control, 8.1.28 */ + U8G_ESC_ADR(1), /* data mode */ + 0x080, + U8G_ESC_ADR(0), /* instruction mode */ + + 0x0b5, /* N-line control, 8.1.37 */ + U8G_ESC_ADR(1), /* data mode */ + 0x089, + U8G_ESC_ADR(0), /* instruction mode */ + + + 0x0d0, /* Analog circuit setting, 8.1.49 */ + U8G_ESC_ADR(1), /* data mode */ + 0x01d, + U8G_ESC_ADR(0), /* instruction mode */ + + 0x0b7, /* Com/Seg Scan Direction, 8.1.38 */ + U8G_ESC_ADR(1), /* data mode */ + 0x040, + U8G_ESC_ADR(0), /* instruction mode */ + + 0x025, /* Write contrast, 8.1.17 */ + U8G_ESC_ADR(1), /* data mode */ + 0x03f, + U8G_ESC_ADR(0), /* instruction mode */ + + 0x03a, /* Interface pixel format, 8.1.32 */ + U8G_ESC_ADR(1), /* data mode */ + 0x004, /* 3: 12 bit per pixel Type A, 4: 12 bit Type B, 5: 16bit per pixel */ + U8G_ESC_ADR(0), /* instruction mode */ + + 0x0b0, /* Display Duty setting, 8.1.34 */ + U8G_ESC_ADR(1), /* data mode */ + 0x07f, + U8G_ESC_ADR(0), /* instruction mode */ + + 0x0f0, /* Frame Freq. in Temp range A,B,C and D, 8.1.59 */ + U8G_ESC_ADR(1), /* data mode */ + 0x007, + 0x00c, + 0x00c, + 0x015, + U8G_ESC_ADR(0), /* instruction mode */ + + 0x0f9, /* Frame RGB Value, 8.1.65 */ + U8G_ESC_ADR(1), /* data mode */ + 0x000, + 0x005, + 0x008, + 0x00a, + 0x00c, + 0x00e, + 0x010, + 0x011, + 0x012, + 0x013, + 0x014, + 0x015, + 0x016, + 0x018, + 0x01a, + 0x01b, + U8G_ESC_ADR(0), /* instruction mode */ + + 0x0f9, /* Frame RGB Value, 8.1.65 */ + U8G_ESC_ADR(1), /* data mode */ + 0x000, + 0x000, + 0x000, + 0x000, + 0x033, + 0x055, + 0x055, + 0x055, + U8G_ESC_ADR(0), /* instruction mode */ + + 0x029, /* display on */ + + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_END /* end of sequence */ + +}; + +#else + +/* +http://www.waitingforfriday.com/images/e/e3/FTM144D01N_test.zip +*/ + +static const uint8_t u8g_dev_st7687_c144mvgd_init_seq[] PROGMEM = { + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ + + 0x011, /* Sleep out & booster on */ + U8G_ESC_DLY(5), /* delay 5 ms */ + + 0x03a, /* Interface pixel format, 8.1.32 */ + U8G_ESC_ADR(1), /* data mode */ + 0x004, /* 3: 12 bit per pixel Type A, 4: 12 bit Type B, 5: 16bit per pixel */ + U8G_ESC_ADR(0), /* instruction mode */ + + + 0x026, /* SET_GAMMA_CURVE */ + U8G_ESC_ADR(1), /* data mode */ + 0x004, + U8G_ESC_ADR(0), /* instruction mode */ + + 0x0f2, /* GAM_R_SEL */ + U8G_ESC_ADR(1), /* data mode */ + 0x001, /* enable gamma adj */ + U8G_ESC_ADR(0), /* instruction mode */ + + + 0x0e0, /* POSITIVE_GAMMA_CORRECT */ + U8G_ESC_ADR(1), /* data mode */ + 0x3f, + 0x25, + 0x1c, + 0x1e, + 0x20, + 0x12, + 0x2a, + 0x90, + 0x24, + 0x11, + 0x00, + 0x00, + 0x00, + 0x00, + 0x00, + U8G_ESC_ADR(0), /* instruction mode */ + + 0x0e1, /* NEGATIVE_GAMMA_CORRECT */ + U8G_ESC_ADR(1), /* data mode */ + 0x20, + 0x20, + 0x20, + 0x20, + 0x05, + 0x00, + 0x15, + 0xa7, + 0x3d, + 0x18, + 0x25, + 0x2a, + 0x2b, + 0x2b, + 0x3a, + U8G_ESC_ADR(0), /* instruction mode */ + + 0x0b1, /* FRAME_RATE_CONTROL1 */ + U8G_ESC_ADR(1), /* data mode */ + 0x008, /* DIVA = 8 */ + 0x008, /* VPA = 8 */ + U8G_ESC_ADR(0), /* instruction mode */ + + + 0x0b4, /* DISPLAY_INVERSION */ + U8G_ESC_ADR(1), /* data mode */ + 0x007, /* NLA = 1, NLB = 1, NLC = 1 (all on Frame Inversion) */ + U8G_ESC_ADR(0), /* instruction mode */ + + 0x0c0, /* POWER_CONTROL1 */ + U8G_ESC_ADR(1), /* data mode */ + 0x00a, /* VRH = 10: GVDD = 4.30 */ + 0x002, /* VC = 2: VCI1 = 2.65 */ + U8G_ESC_ADR(0), /* instruction mode */ + + 0x0c1, /* POWER_CONTROL2 */ + U8G_ESC_ADR(1), /* data mode */ + 0x002, /* BT = 2: AVDD = 2xVCI1, VCL = -1xVCI1, VGH = 5xVCI1, VGL = -2xVCI1 */ + U8G_ESC_ADR(0), /* instruction mode */ + + 0x0c5, /* VCOM_CONTROL1 */ + U8G_ESC_ADR(1), /* data mode */ + 0x050, /* VMH = 80: VCOMH voltage = 4.5 */ + 0x05b, /* VML = 91: VCOML voltage = -0.225 */ + U8G_ESC_ADR(0), /* instruction mode */ + + 0x0c7, /* VCOM_OFFSET_CONTROL */ + U8G_ESC_ADR(1), /* data mode */ + 0x040, /* nVM = 0, VMF = 64: VCOMH output = VMH, VCOML output = VML */ + U8G_ESC_ADR(0), /* instruction mode */ + + 0x02a, /* SET_COLUMN_ADDRESS */ + U8G_ESC_ADR(1), /* data mode */ + 0x000, /* */ + 0x000, /* */ + 0x000, /* */ + 0x07f, /* */ + U8G_ESC_ADR(0), /* instruction mode */ + + 0x02b, /* SET_PAGE_ADDRESS */ + U8G_ESC_ADR(1), /* data mode */ + 0x000, /* */ + 0x000, /* */ + 0x000, /* */ + 0x07f, /* */ + U8G_ESC_ADR(0), /* instruction mode */ + + 0x036, /* SET_ADDRESS_MODE */ + U8G_ESC_ADR(1), /* data mode */ + 0x000, /* Select display orientation */ + U8G_ESC_ADR(0), /* instruction mode */ + + + 0x029, /* display on */ + + 0x02c, /* write start */ + + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_END /* end of sequence */ + +}; + +#endif + + + + +/* calculate bytes for Type B 4096 color display */ +static uint8_t get_byte_1(uint8_t v) +{ + v >>= 4; + v &= 0x0e; + return v; +} + +static uint8_t get_byte_2(uint8_t v) +{ + uint8_t w; + w = v; + w &= 3; + w = (w<<2) | w; + v <<= 3; + v &= 0x0e0; + w |= v; + return w; +} + +uint8_t u8g_dev_st7687_c144mvgd_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7687_c144mvgd_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + uint8_t y, i, j; + uint8_t *ptr; + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + + u8g_SetAddress(u8g, dev, 0); /* cmd mode */ + u8g_SetChipSelect(u8g, dev, 1); + y = pb->p.page_y0; + ptr = pb->buf; + + u8g_SetAddress(u8g, dev, 0); /* cmd mode */ + u8g_WriteByte(u8g, dev, 0x02a ); /* Column address set 8.1.20 */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + u8g_WriteByte(u8g, dev, 0x000 ); /* x0 */ + u8g_WriteByte(u8g, dev, WIDTH-1 ); /* x1 */ + u8g_SetAddress(u8g, dev, 0); /* cmd mode */ + u8g_WriteByte(u8g, dev, 0x02b ); /* Row address set 8.1.21 */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + u8g_WriteByte(u8g, dev, y ); /* y0 */ + u8g_WriteByte(u8g, dev, y+PAGE_HEIGHT-1 ); /* y1 */ + u8g_SetAddress(u8g, dev, 0); /* cmd mode */ + u8g_WriteByte(u8g, dev, 0x02c ); /* Memory write 8.1.22 */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + + for( i = 0; i < PAGE_HEIGHT; i ++ ) + { + + for( j = 0; j < WIDTH; j ++ ) + { + u8g_WriteByte(u8g, dev, get_byte_1(*ptr) ); + u8g_WriteByte(u8g, dev, get_byte_2(*ptr) ); + ptr++; + } + } + u8g_SetAddress(u8g, dev, 0); /* cmd mode */ + u8g_SetChipSelect(u8g, dev, 0); + } + break; + } + return u8g_dev_pb8h8_base_fn(u8g, dev, msg, arg); +} + + +uint8_t u8g_st7687_c144mvgd_8h8_buf[WIDTH*8] U8G_NOCOMMON ; +u8g_pb_t u8g_st7687_c144mvgd_8h8_pb = { {8, HEIGHT, 0, 0, 0}, WIDTH, u8g_st7687_c144mvgd_8h8_buf}; + +u8g_dev_t u8g_dev_st7687_c144mvgd_sw_spi = { u8g_dev_st7687_c144mvgd_fn, &u8g_st7687_c144mvgd_8h8_pb, u8g_com_arduino_sw_spi_fn }; + +u8g_dev_t u8g_dev_st7687_c144mvgd_8bit = { u8g_dev_st7687_c144mvgd_fn, &u8g_st7687_c144mvgd_8h8_pb, U8G_COM_PARALLEL }; diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_st7920_128x64.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_st7920_128x64.c new file mode 100644 index 000000000..29e63134c --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_st7920_128x64.c @@ -0,0 +1,175 @@ +/* + + u8g_dev_st7920_128x64.c + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +*/ + +#include "u8g.h" + +#define WIDTH 128 +#define HEIGHT 64 +#define PAGE_HEIGHT 8 + + +/* init sequence from https://github.com/adafruit/ST7565-LCD/blob/master/ST7565/ST7565.cpp */ +static const uint8_t u8g_dev_st7920_128x64_init_seq[] PROGMEM = { + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ + U8G_ESC_DLY(100), /* 8 Dez 2012: additional delay 100 ms because of reset*/ + U8G_ESC_CS(1), /* enable chip */ + U8G_ESC_DLY(50), /* delay 50 ms */ + + 0x038, /* 8 Bit interface (DL=1), basic instruction set (RE=0) */ + 0x00c, /* display on, cursor & blink off; 0x08: all off */ + 0x006, /* Entry mode: Cursor move to right ,DDRAM address counter (AC) plus 1, no shift */ + 0x002, /* disable scroll, enable CGRAM adress */ + 0x001, /* clear RAM, needs 1.6 ms */ + U8G_ESC_DLY(100), /* delay 100 ms */ + + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_END /* end of sequence */ +}; + +uint8_t u8g_dev_st7920_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7920_128x64_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + uint8_t y, i; + uint8_t *ptr; + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + + u8g_SetAddress(u8g, dev, 0); /* cmd mode */ + u8g_SetChipSelect(u8g, dev, 1); + y = pb->p.page_y0; + ptr = pb->buf; + for( i = 0; i < 8; i ++ ) + { + u8g_SetAddress(u8g, dev, 0); /* cmd mode */ + u8g_WriteByte(u8g, dev, 0x03e ); /* enable extended mode */ + + if ( y < 32 ) + { + u8g_WriteByte(u8g, dev, 0x080 | y ); /* y pos */ + u8g_WriteByte(u8g, dev, 0x080 ); /* set x pos to 0*/ + } + else + { + u8g_WriteByte(u8g, dev, 0x080 | (y-32) ); /* y pos */ + u8g_WriteByte(u8g, dev, 0x080 | 8); /* set x pos to 64*/ + } + + u8g_SetAddress(u8g, dev, 1); /* data mode */ + u8g_WriteSequence(u8g, dev, WIDTH/8, ptr); + ptr += WIDTH/8; + y++; + } + u8g_SetChipSelect(u8g, dev, 0); + } + break; + } + return u8g_dev_pb8h1_base_fn(u8g, dev, msg, arg); +} + +uint8_t u8g_dev_st7920_128x64_4x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7920_128x64_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + uint8_t y, i; + uint8_t *ptr; + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + + u8g_SetAddress(u8g, dev, 0); /* cmd mode */ + u8g_SetChipSelect(u8g, dev, 1); + y = pb->p.page_y0; + ptr = pb->buf; + for( i = 0; i < 32; i ++ ) + { + u8g_SetAddress(u8g, dev, 0); /* cmd mode */ + u8g_WriteByte(u8g, dev, 0x03e ); /* enable extended mode */ + + if ( y < 32 ) + { + u8g_WriteByte(u8g, dev, 0x080 | y ); /* y pos */ + u8g_WriteByte(u8g, dev, 0x080 ); /* set x pos to 0*/ + } + else + { + u8g_WriteByte(u8g, dev, 0x080 | (y-32) ); /* y pos */ + u8g_WriteByte(u8g, dev, 0x080 | 8); /* set x pos to 64*/ + } + + u8g_SetAddress(u8g, dev, 1); /* data mode */ + u8g_WriteSequence(u8g, dev, WIDTH/8, ptr); + ptr += WIDTH/8; + y++; + } + u8g_SetChipSelect(u8g, dev, 0); + } + break; + } + return u8g_dev_pb32h1_base_fn(u8g, dev, msg, arg); +} + +U8G_PB_DEV(u8g_dev_st7920_128x64_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7920_128x64_fn, U8G_COM_ST7920_SW_SPI); +U8G_PB_DEV(u8g_dev_st7920_128x64_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7920_128x64_fn, U8G_COM_ST7920_HW_SPI); +U8G_PB_DEV(u8g_dev_st7920_128x64_8bit, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7920_128x64_fn, U8G_COM_FAST_PARALLEL); +U8G_PB_DEV(u8g_dev_st7920_128x64_custom, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7920_128x64_fn, u8g_com_arduino_st7920_custom_fn); + + + +#define QWIDTH (WIDTH*4) +uint8_t u8g_dev_st7920_128x64_4x_buf[QWIDTH] U8G_NOCOMMON ; +u8g_pb_t u8g_dev_st7920_128x64_4x_pb = { {32, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_st7920_128x64_4x_buf}; +u8g_dev_t u8g_dev_st7920_128x64_4x_sw_spi = { u8g_dev_st7920_128x64_4x_fn, &u8g_dev_st7920_128x64_4x_pb, U8G_COM_ST7920_SW_SPI }; +u8g_dev_t u8g_dev_st7920_128x64_4x_hw_spi = { u8g_dev_st7920_128x64_4x_fn, &u8g_dev_st7920_128x64_4x_pb, U8G_COM_ST7920_HW_SPI }; +u8g_dev_t u8g_dev_st7920_128x64_4x_8bit = { u8g_dev_st7920_128x64_4x_fn, &u8g_dev_st7920_128x64_4x_pb, U8G_COM_FAST_PARALLEL }; +u8g_dev_t u8g_dev_st7920_128x64_4x_custom = { u8g_dev_st7920_128x64_4x_fn, &u8g_dev_st7920_128x64_4x_pb, u8g_com_arduino_st7920_custom_fn }; + + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_st7920_192x32.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_st7920_192x32.c new file mode 100644 index 000000000..736b08289 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_st7920_192x32.c @@ -0,0 +1,151 @@ +/* + + u8g_dev_st7920_192x32.c + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +*/ + +#include "u8g.h" + +#define WIDTH 192 +#define HEIGHT 32 + + +/* init sequence from https://github.com/adafruit/ST7565-LCD/blob/master/ST7565/ST7565.cpp */ +static const uint8_t u8g_dev_st7920_192x32_init_seq[] PROGMEM = { + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ + U8G_ESC_DLY(100), /* 8 Dez 2012: additional delay 100 ms because of reset*/ + U8G_ESC_CS(1), /* enable chip */ + U8G_ESC_DLY(50), /* delay 50 ms */ + + 0x038, /* 8 Bit interface (DL=1), basic instruction set (RE=0) */ + 0x00c, /* display on, cursor & blink off; 0x08: all off */ + 0x006, /* Entry mode: Cursor move to right ,DDRAM address counter (AC) plus 1, no shift */ + 0x002, /* disable scroll, enable CGRAM adress */ + 0x001, /* clear RAM, needs 1.6 ms */ + U8G_ESC_DLY(100), /* delay 10 ms */ + + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_END /* end of sequence */ +}; + +uint8_t u8g_dev_st7920_192x32_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7920_192x32_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + uint8_t y, i; + uint8_t *ptr; + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + + u8g_SetAddress(u8g, dev, 0); /* cmd mode */ + u8g_SetChipSelect(u8g, dev, 1); + y = pb->p.page_y0; + ptr = pb->buf; + for( i = 0; i < 8; i ++ ) + { + u8g_SetAddress(u8g, dev, 0); /* cmd mode */ + u8g_WriteByte(u8g, dev, 0x03e ); /* enable extended mode */ + u8g_WriteByte(u8g, dev, 0x080 | y ); /* y pos */ + u8g_WriteByte(u8g, dev, 0x080 ); /* set x pos to 0*/ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + u8g_WriteSequence(u8g, dev, WIDTH/8, ptr); + ptr += WIDTH/8; + y++; + } + u8g_SetChipSelect(u8g, dev, 0); + } + break; + } + return u8g_dev_pb8h1_base_fn(u8g, dev, msg, arg); +} + +uint8_t u8g_dev_st7920_192x32_4x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7920_192x32_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + uint8_t y, i; + uint8_t *ptr; + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + + u8g_SetAddress(u8g, dev, 0); /* cmd mode */ + u8g_SetChipSelect(u8g, dev, 1); + y = pb->p.page_y0; + ptr = pb->buf; + for( i = 0; i < 32; i ++ ) + { + u8g_SetAddress(u8g, dev, 0); /* cmd mode */ + u8g_WriteByte(u8g, dev, 0x03e ); /* enable extended mode */ + u8g_WriteByte(u8g, dev, 0x080 | y ); /* y pos */ + u8g_WriteByte(u8g, dev, 0x080 ); /* set x pos to 0*/ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + u8g_WriteSequence(u8g, dev, WIDTH/8, ptr); + ptr += WIDTH/8; + y++; + } + u8g_SetChipSelect(u8g, dev, 0); + } + break; + } + return u8g_dev_pb32h1_base_fn(u8g, dev, msg, arg); +} + + +U8G_PB_DEV(u8g_dev_st7920_192x32_sw_spi, WIDTH, HEIGHT, 8, u8g_dev_st7920_192x32_fn, U8G_COM_ST7920_SW_SPI); +U8G_PB_DEV(u8g_dev_st7920_192x32_hw_spi, WIDTH, HEIGHT, 8, u8g_dev_st7920_192x32_fn, U8G_COM_ST7920_HW_SPI); +U8G_PB_DEV(u8g_dev_st7920_192x32_8bit, WIDTH, HEIGHT, 8, u8g_dev_st7920_192x32_fn, U8G_COM_FAST_PARALLEL); + + +#define QWIDTH (WIDTH*4) +uint8_t u8g_dev_st7920_192x32_4x_buf[QWIDTH] U8G_NOCOMMON ; +u8g_pb_t u8g_dev_st7920_192x32_4x_pb = { {32, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_st7920_192x32_4x_buf}; +u8g_dev_t u8g_dev_st7920_192x32_4x_sw_spi = { u8g_dev_st7920_192x32_4x_fn, &u8g_dev_st7920_192x32_4x_pb, U8G_COM_ST7920_SW_SPI }; +u8g_dev_t u8g_dev_st7920_192x32_4x_hw_spi = { u8g_dev_st7920_192x32_4x_fn, &u8g_dev_st7920_192x32_4x_pb, U8G_COM_ST7920_HW_SPI }; +u8g_dev_t u8g_dev_st7920_192x32_4x_8bit = { u8g_dev_st7920_192x32_4x_fn, &u8g_dev_st7920_192x32_4x_pb, U8G_COM_FAST_PARALLEL }; + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_st7920_202x32.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_st7920_202x32.c new file mode 100644 index 000000000..b36b7abca --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_st7920_202x32.c @@ -0,0 +1,154 @@ +/* + + u8g_dev_st7920_202x32.c + tested with CFAG20232 + + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +*/ + +#include "u8g.h" + +#define WIDTH 202 +#define HEIGHT 32 +#define PAGE_HEIGHT 8 + + +/* init sequence from https://github.com/adafruit/ST7565-LCD/blob/master/ST7565/ST7565.cpp */ +static const uint8_t u8g_dev_st7920_202x32_init_seq[] PROGMEM = { + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ + U8G_ESC_DLY(100), /* 8 Dez 2012: additional delay 100 ms because of reset*/ + U8G_ESC_CS(1), /* enable chip */ + U8G_ESC_DLY(50), /* delay 50 ms */ + + 0x038, /* 8 Bit interface (DL=1), basic instruction set (RE=0) */ + 0x00c, /* display on, cursor & blink off; 0x08: all off */ + 0x006, /* Entry mode: Cursor move to right ,DDRAM address counter (AC) plus 1, no shift */ + 0x002, /* disable scroll, enable CGRAM adress */ + 0x001, /* clear RAM, needs 1.6 ms */ + U8G_ESC_DLY(100), /* delay 10 ms */ + + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_END /* end of sequence */ +}; + +uint8_t u8g_dev_st7920_202x32_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7920_202x32_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + uint8_t y, i; + uint8_t *ptr; + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + + u8g_SetAddress(u8g, dev, 0); /* cmd mode */ + u8g_SetChipSelect(u8g, dev, 1); + y = pb->p.page_y0; + ptr = pb->buf; + for( i = 0; i < 8; i ++ ) + { + u8g_SetAddress(u8g, dev, 0); /* cmd mode */ + u8g_WriteByte(u8g, dev, 0x03e ); /* enable extended mode */ + u8g_WriteByte(u8g, dev, 0x080 | y ); /* y pos */ + u8g_WriteByte(u8g, dev, 0x080 ); /* set x pos to 0*/ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + u8g_WriteSequence(u8g, dev, WIDTH/8, ptr); + ptr += WIDTH/8; + y++; + } + u8g_SetChipSelect(u8g, dev, 0); + } + break; + } + return u8g_dev_pb8h1_base_fn(u8g, dev, msg, arg); +} + +uint8_t u8g_dev_st7920_202x32_4x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7920_202x32_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + uint8_t y, i; + uint8_t *ptr; + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + + u8g_SetAddress(u8g, dev, 0); /* cmd mode */ + u8g_SetChipSelect(u8g, dev, 1); + y = pb->p.page_y0; + ptr = pb->buf; + for( i = 0; i < 32; i ++ ) + { + u8g_SetAddress(u8g, dev, 0); /* cmd mode */ + u8g_WriteByte(u8g, dev, 0x03e ); /* enable extended mode */ + u8g_WriteByte(u8g, dev, 0x080 | y ); /* y pos */ + u8g_WriteByte(u8g, dev, 0x080 ); /* set x pos to 0*/ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + u8g_WriteSequence(u8g, dev, WIDTH/8, ptr); + ptr += WIDTH/8; + y++; + } + u8g_SetChipSelect(u8g, dev, 0); + } + break; + } + return u8g_dev_pb32h1_base_fn(u8g, dev, msg, arg); +} + + +U8G_PB_DEV(u8g_dev_st7920_202x32_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7920_202x32_fn, U8G_COM_ST7920_SW_SPI); +U8G_PB_DEV(u8g_dev_st7920_202x32_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7920_202x32_fn, U8G_COM_ST7920_HW_SPI); +U8G_PB_DEV(u8g_dev_st7920_202x32_8bit, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_st7920_202x32_fn, U8G_COM_FAST_PARALLEL); + +#define QWIDTH (WIDTH*4) +uint8_t u8g_dev_st7920_202x32_4x_buf[QWIDTH] U8G_NOCOMMON ; +u8g_pb_t u8g_dev_st7920_202x32_4x_pb = { {32, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_st7920_202x32_4x_buf}; +u8g_dev_t u8g_dev_st7920_202x32_4x_sw_spi = { u8g_dev_st7920_202x32_4x_fn, &u8g_dev_st7920_202x32_4x_pb, U8G_COM_ST7920_SW_SPI }; +u8g_dev_t u8g_dev_st7920_202x32_4x_hw_spi = { u8g_dev_st7920_202x32_4x_fn, &u8g_dev_st7920_202x32_4x_pb, U8G_COM_ST7920_HW_SPI }; +u8g_dev_t u8g_dev_st7920_202x32_4x_8bit = { u8g_dev_st7920_202x32_4x_fn, &u8g_dev_st7920_202x32_4x_pb, U8G_COM_FAST_PARALLEL }; + + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_t6963_128x128.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_t6963_128x128.c new file mode 100644 index 000000000..15f618c5f --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_t6963_128x128.c @@ -0,0 +1,193 @@ +/* + + u8g_dev_t6963_128x128.c + + Universal 8bit Graphics Library + + Copyright (c) 2013, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + Application Notes for the MGLS 128x128 + www.baso.no/content/pdf/T6963C_Application.pdf + + Hitachi App Notes: + https://www.sparkfun.com/datasheets/LCD/Monochrome/AN-029-Toshiba_T6963C.pdf + + Notes: + The font selection pins should generate the 8x8 font. + For the MGLS240128TZ only FS1 is available on pin 18. + FS1 must be low to generate the 8x8 font. + + +*/ + +#include "u8g.h" + +#define WIDTH 128 +#define HEIGHT 128 +#define PAGE_HEIGHT 16 + + +/* + http://www.mark-products.com/graphics.htm#240x64%20Pixel%20Format +*/ + +/* text is not used, so settings are not relevant */ +static const uint8_t u8g_dev_t6963_128x128_init_seq[] PROGMEM = { + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_ADR(0), /* data mode */ + U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ + + U8G_ESC_CS(1), /* enable chip */ + U8G_ESC_DLY(50), /* delay 50 ms */ + + U8G_ESC_ADR(0), /* data mode */ + 0x000, /* low byte */ + 0x000, /* height byte */ + U8G_ESC_ADR(1), /* instruction mode */ + 0x021, /* set cursor position */ + + U8G_ESC_ADR(0), /* data mode */ + 0x000, /* low byte */ + 0x000, /* height byte */ + U8G_ESC_ADR(1), /* instruction mode */ + 0x022, /* set offset */ + + U8G_ESC_ADR(0), /* data mode */ + 0x000, /* low byte */ + 0x000, /* height byte */ + U8G_ESC_ADR(1), /* instruction mode */ + 0x040, /* text home */ + + U8G_ESC_ADR(0), /* data mode */ + WIDTH/8, /* low byte */ + 0x000, /* height byte */ + U8G_ESC_ADR(1), /* instruction mode */ + 0x041, /* text columns */ + + U8G_ESC_ADR(0), /* data mode */ + 0x000, /* low byte */ + 0x000, /* height byte */ + U8G_ESC_ADR(1), /* instruction mode */ + 0x042, /* graphics home */ + + U8G_ESC_ADR(0), /* data mode */ + WIDTH/8, /* low byte */ + 0x000, /* height byte */ + U8G_ESC_ADR(1), /* instruction mode */ + 0x043, /* graphics columns */ + + // mode set + // 0x080: Internal CG, OR Mode + // 0x081: Internal CG, EXOR Mode + // 0x083: Internal CG, AND Mode + // 0x088: External CG, OR Mode + // 0x089: External CG, EXOR Mode + // 0x08B: External CG, AND Mode + U8G_ESC_ADR(1), /* instruction mode */ + 0x080, /* mode register: OR Mode, Internal Character Mode */ + + U8G_ESC_ADR(1), /* instruction mode */ + // display mode + // 0x090: Display off + // 0x094: Graphic off, text on, cursor off, blink off + // 0x096: Graphic off, text on, cursor on, blink off + // 0x097: Graphic off, text on, cursor on, blink on + // 0x098: Graphic on, text off, cursor off, blink off + // 0x09a: Graphic on, text off, cursor on, blink off + // ... + // 0x09c: Graphic on, text on, cursor off, blink off + // 0x09f: Graphic on, text on, cursor on, blink on + 0x098, /* mode register: Display Mode, Graphics on, Text off, Cursor off */ + + U8G_ESC_ADR(0), /* data mode */ + 0x000, /* low byte */ + 0x000, /* height byte */ + U8G_ESC_ADR(1), /* instruction mode */ + 0x024, /* set adr pointer */ + + + U8G_ESC_DLY(100), /* delay 100 ms */ + + U8G_ESC_ADR(0), /* data mode */ + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_END /* end of sequence */ +}; + +uint8_t u8g_dev_t6963_128x128_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_NONE); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_t6963_128x128_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + uint8_t y, i; + uint16_t disp_ram_adr; + uint8_t *ptr; + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + + + u8g_SetAddress(u8g, dev, 0); /* data mode */ + u8g_SetChipSelect(u8g, dev, 1); + y = pb->p.page_y0; + ptr = pb->buf; + disp_ram_adr = WIDTH/8; + disp_ram_adr *= y; + for( i = 0; i < PAGE_HEIGHT; i ++ ) + { + u8g_SetAddress(u8g, dev, 0); /* data mode */ + u8g_WriteByte(u8g, dev, disp_ram_adr&255 ); /* address low byte */ + u8g_WriteByte(u8g, dev, disp_ram_adr>>8 ); /* address hight byte */ + u8g_SetAddress(u8g, dev, 1); /* cmd mode */ + u8g_WriteByte(u8g, dev, 0x024 ); /* set adr ptr */ + + u8g_WriteSequence(u8g, dev, WIDTH/8, ptr); + + ptr += WIDTH/8; + disp_ram_adr += WIDTH/8; + } + u8g_SetAddress(u8g, dev, 0); /* data mode */ + u8g_SetChipSelect(u8g, dev, 0); + } + break; + } + return u8g_dev_pb16h1_base_fn(u8g, dev, msg, arg); +} + +// U8G_PB_DEV(u8g_dev_t6963_128x128_8bit, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_t6963_128x128_fn, U8G_COM_T6963); + +uint8_t u8g_dev_t6963_128x128_2x_bw_buf[WIDTH/8*PAGE_HEIGHT] U8G_NOCOMMON ; +u8g_pb_t u8g_dev_t6963_128x128_2x_bw_pb = { {PAGE_HEIGHT, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_t6963_128x128_2x_bw_buf}; +u8g_dev_t u8g_dev_t6963_128x128_8bit = { u8g_dev_t6963_128x128_fn, &u8g_dev_t6963_128x128_2x_bw_pb, U8G_COM_T6963 }; + + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_t6963_128x64.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_t6963_128x64.c new file mode 100644 index 000000000..97e158332 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_t6963_128x64.c @@ -0,0 +1,191 @@ +/* + + u8g_dev_t6963_128x64.c + + Tested with Varitronix MGLS240128TZ + + Universal 8bit Graphics Library + + Copyright (c) 2013, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + Application Notes for the MGLS 240x128 + www.baso.no/content/pdf/T6963C_Application.pdf + + Hitachi App Notes: + https://www.sparkfun.com/datasheets/LCD/Monochrome/AN-029-Toshiba_T6963C.pdf + + Notes: + The font selection pins should generate the 8x8 font. + For the MGLS240128TZ only FS1 is available on pin 18. + FS1 must be low to generate the 8x8 font. + + +*/ + +#include "u8g.h" + +#define WIDTH 128 +#define HEIGHT 64 +#define PAGE_HEIGHT 16 + + +/* text is not used, so settings are not relevant */ +static const uint8_t u8g_dev_t6963_128x64_init_seq[] PROGMEM = { + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_ADR(0), /* data mode */ + U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ + + U8G_ESC_CS(1), /* enable chip */ + U8G_ESC_DLY(50), /* delay 50 ms */ + + U8G_ESC_ADR(0), /* data mode */ + 0x000, /* low byte */ + 0x000, /* height byte */ + U8G_ESC_ADR(1), /* instruction mode */ + 0x021, /* set cursor position */ + + U8G_ESC_ADR(0), /* data mode */ + 0x000, /* low byte */ + 0x000, /* height byte */ + U8G_ESC_ADR(1), /* instruction mode */ + 0x022, /* set offset */ + + U8G_ESC_ADR(0), /* data mode */ + 0x000, /* low byte */ + 0x000, /* height byte */ + U8G_ESC_ADR(1), /* instruction mode */ + 0x040, /* text home */ + + U8G_ESC_ADR(0), /* data mode */ + WIDTH/8, /* low byte */ + 0x000, /* height byte */ + U8G_ESC_ADR(1), /* instruction mode */ + 0x041, /* text columns */ + + U8G_ESC_ADR(0), /* data mode */ + 0x000, /* low byte */ + 0x000, /* height byte */ + U8G_ESC_ADR(1), /* instruction mode */ + 0x042, /* graphics home */ + + U8G_ESC_ADR(0), /* data mode */ + WIDTH/8, /* low byte */ + 0x000, /* height byte */ + U8G_ESC_ADR(1), /* instruction mode */ + 0x043, /* graphics columns */ + + // mode set + // 0x080: Internal CG, OR Mode + // 0x081: Internal CG, EXOR Mode + // 0x083: Internal CG, AND Mode + // 0x088: External CG, OR Mode + // 0x089: External CG, EXOR Mode + // 0x08B: External CG, AND Mode + U8G_ESC_ADR(1), /* instruction mode */ + 0x080, /* mode register: OR Mode, Internal Character Mode */ + + U8G_ESC_ADR(1), /* instruction mode */ + // display mode + // 0x090: Display off + // 0x094: Graphic off, text on, cursor off, blink off + // 0x096: Graphic off, text on, cursor on, blink off + // 0x097: Graphic off, text on, cursor on, blink on + // 0x098: Graphic on, text off, cursor off, blink off + // 0x09a: Graphic on, text off, cursor on, blink off + // ... + // 0x09c: Graphic on, text on, cursor off, blink off + // 0x09f: Graphic on, text on, cursor on, blink on + 0x098, /* mode register: Display Mode, Graphics on, Text off, Cursor off */ + + U8G_ESC_ADR(0), /* data mode */ + 0x000, /* low byte */ + 0x000, /* height byte */ + U8G_ESC_ADR(1), /* instruction mode */ + 0x024, /* set adr pointer */ + + + U8G_ESC_DLY(100), /* delay 100 ms */ + + U8G_ESC_ADR(0), /* data mode */ + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_END /* end of sequence */ +}; + +uint8_t u8g_dev_t6963_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_NONE); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_t6963_128x64_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + uint8_t y, i; + uint16_t disp_ram_adr; + uint8_t *ptr; + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + + + u8g_SetAddress(u8g, dev, 0); /* data mode */ + u8g_SetChipSelect(u8g, dev, 1); + y = pb->p.page_y0; + ptr = pb->buf; + disp_ram_adr = WIDTH/8; + disp_ram_adr *= y; + for( i = 0; i < PAGE_HEIGHT; i ++ ) + { + u8g_SetAddress(u8g, dev, 0); /* data mode */ + u8g_WriteByte(u8g, dev, disp_ram_adr&255 ); /* address low byte */ + u8g_WriteByte(u8g, dev, disp_ram_adr>>8 ); /* address hight byte */ + u8g_SetAddress(u8g, dev, 1); /* cmd mode */ + u8g_WriteByte(u8g, dev, 0x024 ); /* set adr ptr */ + + u8g_WriteSequence(u8g, dev, WIDTH/8, ptr); + + ptr += WIDTH/8; + disp_ram_adr += WIDTH/8; + } + u8g_SetAddress(u8g, dev, 0); /* data mode */ + u8g_SetChipSelect(u8g, dev, 0); + } + break; + } + return u8g_dev_pb16h1_base_fn(u8g, dev, msg, arg); +} + +// U8G_PB_DEV(u8g_dev_t6963_128x64_8bit, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_t6963_128x64_fn, U8G_COM_T6963); + +uint8_t u8g_dev_t6963_128x64_2x_bw_buf[WIDTH/8*PAGE_HEIGHT] U8G_NOCOMMON ; +u8g_pb_t u8g_dev_t6963_128x64_2x_bw_pb = { {PAGE_HEIGHT, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_t6963_128x64_2x_bw_buf}; +u8g_dev_t u8g_dev_t6963_128x64_8bit = { u8g_dev_t6963_128x64_fn, &u8g_dev_t6963_128x64_2x_bw_pb, U8G_COM_T6963 }; + + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_t6963_240x128.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_t6963_240x128.c new file mode 100644 index 000000000..7373f3888 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_t6963_240x128.c @@ -0,0 +1,195 @@ +/* + + u8g_dev_t6963_240x128.c + + Tested with Varitronix MGLS240128TZ + + Universal 8bit Graphics Library + + Copyright (c) 2013, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + Application Notes for the MGLS 240x128 + www.baso.no/content/pdf/T6963C_Application.pdf + + Hitachi App Notes: + https://www.sparkfun.com/datasheets/LCD/Monochrome/AN-029-Toshiba_T6963C.pdf + + Notes: + The font selection pins should generate the 8x8 font. + For the MGLS240128TZ only FS1 is available on pin 18. + FS1 must be low to generate the 8x8 font. + + +*/ + +#include "u8g.h" + +#define WIDTH 240 +#define HEIGHT 128 +#define PAGE_HEIGHT 16 + + +/* + http://www.mark-products.com/graphics.htm#240x64%20Pixel%20Format +*/ + +/* text is not used, so settings are not relevant */ +static const uint8_t u8g_dev_t6963_240x128_init_seq[] PROGMEM = { + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_ADR(0), /* data mode */ + U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ + + U8G_ESC_CS(1), /* enable chip */ + U8G_ESC_DLY(50), /* delay 50 ms */ + + U8G_ESC_ADR(0), /* data mode */ + 0x000, /* low byte */ + 0x000, /* height byte */ + U8G_ESC_ADR(1), /* instruction mode */ + 0x021, /* set cursor position */ + + U8G_ESC_ADR(0), /* data mode */ + 0x000, /* low byte */ + 0x000, /* height byte */ + U8G_ESC_ADR(1), /* instruction mode */ + 0x022, /* set offset */ + + U8G_ESC_ADR(0), /* data mode */ + 0x000, /* low byte */ + 0x000, /* height byte */ + U8G_ESC_ADR(1), /* instruction mode */ + 0x040, /* text home */ + + U8G_ESC_ADR(0), /* data mode */ + WIDTH/8, /* low byte */ + 0x000, /* height byte */ + U8G_ESC_ADR(1), /* instruction mode */ + 0x041, /* text columns */ + + U8G_ESC_ADR(0), /* data mode */ + 0x000, /* low byte */ + 0x000, /* height byte */ + U8G_ESC_ADR(1), /* instruction mode */ + 0x042, /* graphics home */ + + U8G_ESC_ADR(0), /* data mode */ + WIDTH/8, /* low byte */ + 0x000, /* height byte */ + U8G_ESC_ADR(1), /* instruction mode */ + 0x043, /* graphics columns */ + + // mode set + // 0x080: Internal CG, OR Mode + // 0x081: Internal CG, EXOR Mode + // 0x083: Internal CG, AND Mode + // 0x088: External CG, OR Mode + // 0x089: External CG, EXOR Mode + // 0x08B: External CG, AND Mode + U8G_ESC_ADR(1), /* instruction mode */ + 0x080, /* mode register: OR Mode, Internal Character Mode */ + + U8G_ESC_ADR(1), /* instruction mode */ + // display mode + // 0x090: Display off + // 0x094: Graphic off, text on, cursor off, blink off + // 0x096: Graphic off, text on, cursor on, blink off + // 0x097: Graphic off, text on, cursor on, blink on + // 0x098: Graphic on, text off, cursor off, blink off + // 0x09a: Graphic on, text off, cursor on, blink off + // ... + // 0x09c: Graphic on, text on, cursor off, blink off + // 0x09f: Graphic on, text on, cursor on, blink on + 0x098, /* mode register: Display Mode, Graphics on, Text off, Cursor off */ + + U8G_ESC_ADR(0), /* data mode */ + 0x000, /* low byte */ + 0x000, /* height byte */ + U8G_ESC_ADR(1), /* instruction mode */ + 0x024, /* set adr pointer */ + + + U8G_ESC_DLY(100), /* delay 100 ms */ + + U8G_ESC_ADR(0), /* data mode */ + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_END /* end of sequence */ +}; + +uint8_t u8g_dev_t6963_240x128_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_NONE); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_t6963_240x128_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + uint8_t y, i; + uint16_t disp_ram_adr; + uint8_t *ptr; + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + + + u8g_SetAddress(u8g, dev, 0); /* data mode */ + u8g_SetChipSelect(u8g, dev, 1); + y = pb->p.page_y0; + ptr = pb->buf; + disp_ram_adr = WIDTH/8; + disp_ram_adr *= y; + for( i = 0; i < PAGE_HEIGHT; i ++ ) + { + u8g_SetAddress(u8g, dev, 0); /* data mode */ + u8g_WriteByte(u8g, dev, disp_ram_adr&255 ); /* address low byte */ + u8g_WriteByte(u8g, dev, disp_ram_adr>>8 ); /* address hight byte */ + u8g_SetAddress(u8g, dev, 1); /* cmd mode */ + u8g_WriteByte(u8g, dev, 0x024 ); /* set adr ptr */ + + u8g_WriteSequence(u8g, dev, WIDTH/8, ptr); + + ptr += WIDTH/8; + disp_ram_adr += WIDTH/8; + } + u8g_SetAddress(u8g, dev, 0); /* data mode */ + u8g_SetChipSelect(u8g, dev, 0); + } + break; + } + return u8g_dev_pb16h1_base_fn(u8g, dev, msg, arg); +} + +// U8G_PB_DEV(u8g_dev_t6963_240x128_8bit, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_t6963_240x128_fn, U8G_COM_T6963); + +uint8_t u8g_dev_t6963_240x128_2x_bw_buf[WIDTH/8*PAGE_HEIGHT] U8G_NOCOMMON ; +u8g_pb_t u8g_dev_t6963_240x128_2x_bw_pb = { {PAGE_HEIGHT, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_t6963_240x128_2x_bw_buf}; +u8g_dev_t u8g_dev_t6963_240x128_8bit = { u8g_dev_t6963_240x128_fn, &u8g_dev_t6963_240x128_2x_bw_pb, U8G_COM_T6963 }; + + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_t6963_240x64.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_t6963_240x64.c new file mode 100644 index 000000000..d0c4fd230 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_t6963_240x64.c @@ -0,0 +1,195 @@ +/* + + u8g_dev_t6963_240x64.c + + Tested with Varitronix MGLS240128TZ + + Universal 8bit Graphics Library + + Copyright (c) 2013, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + Application Notes for the MGLS 240x128 + www.baso.no/content/pdf/T6963C_Application.pdf + + Hitachi App Notes: + https://www.sparkfun.com/datasheets/LCD/Monochrome/AN-029-Toshiba_T6963C.pdf + + Notes: + The font selection pins should generate the 8x8 font. + For the MGLS240128TZ only FS1 is available on pin 18. + FS1 must be low to generate the 8x8 font. + + +*/ + +#include "u8g.h" + +#define WIDTH 240 +#define HEIGHT 64 +#define PAGE_HEIGHT 16 + + +/* + http://www.mark-products.com/graphics.htm#240x64%20Pixel%20Format +*/ + +/* text is not used, so settings are not relevant */ +static const uint8_t u8g_dev_t6963_240x64_init_seq[] PROGMEM = { + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_ADR(0), /* data mode */ + U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ + + U8G_ESC_CS(1), /* enable chip */ + U8G_ESC_DLY(50), /* delay 50 ms */ + + U8G_ESC_ADR(0), /* data mode */ + 0x000, /* low byte */ + 0x000, /* height byte */ + U8G_ESC_ADR(1), /* instruction mode */ + 0x021, /* set cursor position */ + + U8G_ESC_ADR(0), /* data mode */ + 0x000, /* low byte */ + 0x000, /* height byte */ + U8G_ESC_ADR(1), /* instruction mode */ + 0x022, /* set offset */ + + U8G_ESC_ADR(0), /* data mode */ + 0x000, /* low byte */ + 0x000, /* height byte */ + U8G_ESC_ADR(1), /* instruction mode */ + 0x040, /* text home */ + + U8G_ESC_ADR(0), /* data mode */ + WIDTH/8, /* low byte */ + 0x000, /* height byte */ + U8G_ESC_ADR(1), /* instruction mode */ + 0x041, /* text columns */ + + U8G_ESC_ADR(0), /* data mode */ + 0x000, /* low byte */ + 0x000, /* height byte */ + U8G_ESC_ADR(1), /* instruction mode */ + 0x042, /* graphics home */ + + U8G_ESC_ADR(0), /* data mode */ + WIDTH/8, /* low byte */ + 0x000, /* height byte */ + U8G_ESC_ADR(1), /* instruction mode */ + 0x043, /* graphics columns */ + + // mode set + // 0x080: Internal CG, OR Mode + // 0x081: Internal CG, EXOR Mode + // 0x083: Internal CG, AND Mode + // 0x088: External CG, OR Mode + // 0x089: External CG, EXOR Mode + // 0x08B: External CG, AND Mode + U8G_ESC_ADR(1), /* instruction mode */ + 0x080, /* mode register: OR Mode, Internal Character Mode */ + + U8G_ESC_ADR(1), /* instruction mode */ + // display mode + // 0x090: Display off + // 0x094: Graphic off, text on, cursor off, blink off + // 0x096: Graphic off, text on, cursor on, blink off + // 0x097: Graphic off, text on, cursor on, blink on + // 0x098: Graphic on, text off, cursor off, blink off + // 0x09a: Graphic on, text off, cursor on, blink off + // ... + // 0x09c: Graphic on, text on, cursor off, blink off + // 0x09f: Graphic on, text on, cursor on, blink on + 0x098, /* mode register: Display Mode, Graphics on, Text off, Cursor off */ + + U8G_ESC_ADR(0), /* data mode */ + 0x000, /* low byte */ + 0x000, /* height byte */ + U8G_ESC_ADR(1), /* instruction mode */ + 0x024, /* set adr pointer */ + + + U8G_ESC_DLY(100), /* delay 100 ms */ + + U8G_ESC_ADR(0), /* data mode */ + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_END /* end of sequence */ +}; + +uint8_t u8g_dev_t6963_240x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_NONE); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_t6963_240x64_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + uint8_t y, i; + uint16_t disp_ram_adr; + uint8_t *ptr; + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + + + u8g_SetAddress(u8g, dev, 0); /* data mode */ + u8g_SetChipSelect(u8g, dev, 1); + y = pb->p.page_y0; + ptr = pb->buf; + disp_ram_adr = WIDTH/8; + disp_ram_adr *= y; + for( i = 0; i < PAGE_HEIGHT; i ++ ) + { + u8g_SetAddress(u8g, dev, 0); /* data mode */ + u8g_WriteByte(u8g, dev, disp_ram_adr&255 ); /* address low byte */ + u8g_WriteByte(u8g, dev, disp_ram_adr>>8 ); /* address hight byte */ + u8g_SetAddress(u8g, dev, 1); /* cmd mode */ + u8g_WriteByte(u8g, dev, 0x024 ); /* set adr ptr */ + + u8g_WriteSequence(u8g, dev, WIDTH/8, ptr); + + ptr += WIDTH/8; + disp_ram_adr += WIDTH/8; + } + u8g_SetAddress(u8g, dev, 0); /* data mode */ + u8g_SetChipSelect(u8g, dev, 0); + } + break; + } + return u8g_dev_pb16h1_base_fn(u8g, dev, msg, arg); +} + +// U8G_PB_DEV(u8g_dev_t6963_240x64_8bit, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_t6963_240x64_fn, U8G_COM_T6963); + +uint8_t u8g_dev_t6963_240x64_2x_bw_buf[WIDTH/8*PAGE_HEIGHT] U8G_NOCOMMON ; +u8g_pb_t u8g_dev_t6963_240x64_2x_bw_pb = { {PAGE_HEIGHT, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_t6963_240x64_2x_bw_buf}; +u8g_dev_t u8g_dev_t6963_240x64_8bit = { u8g_dev_t6963_240x64_fn, &u8g_dev_t6963_240x64_2x_bw_pb, U8G_COM_T6963 }; + + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_tls8204_84x48.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_tls8204_84x48.c new file mode 100644 index 000000000..d8f423666 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_tls8204_84x48.c @@ -0,0 +1,115 @@ +/* + + u8g_dev_tls8204_84x48.c + + Display: Nokia 84x48 + + Status: Tested with TLS8204V12 Display by Olimex MOD-LCD3310 + + Contributed: http://code.google.com/p/u8glib/issues/detail?id=126 + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +*/ + +#include "u8g.h" + +#define WIDTH 84 +#define HEIGHT 48 +#define PAGE_HEIGHT 8 + + +static const uint8_t u8g_dev_tls8204_init_seq[] PROGMEM = { + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ + U8G_ESC_CS(1), /* enable chip */ + 0x021, /* activate chip (PD=0), horizontal increment (V=0), enter extended command set (H=1) */ + 0x006, /* temp. control: b10 = 2 */ + 0x04 | !!((66-1)&(1u<<6)), + 0x40 | ((66-2) & ((1u<<6)-1)), + 0x013, /* bias system 1:48 */ + 0x0c0, /* medium Vop */ + 0x020, /* activate chip (PD=0), horizontal increment (V=0), enter normal command set (H=0) */ + 0x00c, /* display on, normal operation */ + U8G_ESC_DLY(100), /* delay 100 ms */ + 0x020, /* activate chip (PD=0), horizontal increment (V=0), enter normal command set (H=0) */ + 0x00d, /* display on, invert */ + U8G_ESC_DLY(100), /* delay 100 ms */ + U8G_ESC_DLY(100), /* delay 100 ms */ + 0x020, /* activate chip (PD=0), horizontal increment (V=0), enter normal command set (H=0) */ + 0x00c, /* display on, normal */ + U8G_ESC_DLY(100), /* delay 100 ms */ + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_END /* end of sequence */ +}; + + +uint8_t u8g_dev_tls8204_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_tls8204_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + u8g_SetAddress(u8g, dev, 0); /* command mode */ + u8g_SetChipSelect(u8g, dev, 1); + u8g_WriteByte(u8g, dev, 0x020 ); /* activate chip (PD=0), horizontal increment (V=0), enter normal command set (H=0) */ + u8g_WriteByte(u8g, dev, 0x080 ); /* set X address */ + u8g_WriteByte(u8g, dev, 0x040 | pb->p.page); /* set Y address */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) + return 0; + u8g_SetChipSelect(u8g, dev, 0); + } + break; + case U8G_DEV_MSG_CONTRAST: + /* the contrast adjustment does not work, needs to be analysed */ + u8g_SetAddress(u8g, dev, 0); /* instruction mode */ + u8g_SetChipSelect(u8g, dev, 1); + u8g_WriteByte(u8g, dev, 0x021); /* command mode, extended function set */ + u8g_WriteByte(u8g, dev, 0x080 | ( (*(uint8_t *)arg) >> 1 ) ); + u8g_WriteByte(u8g, dev, 0x020); /* command mode, extended function set */ + u8g_SetChipSelect(u8g, dev, 0); + return 1; + } + return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); +} + + +U8G_PB_DEV(u8g_dev_tls8204_84x48_sw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_tls8204_fn, U8G_COM_SW_SPI); + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_uc1601_c128032.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_uc1601_c128032.c new file mode 100644 index 000000000..015156676 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_uc1601_c128032.c @@ -0,0 +1,201 @@ +/* + + u8g_dev_uc1601_c128032.c + + LCD-AG-C128032R-DIW W/KK E6 PBF from http://www.artronic.pl/o_produkcie.php?id=1343 + + Universal 8bit Graphics Library + + Copyright (c) 2013, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +*/ + +#include "u8g.h" + +#define WIDTH 128 +#define HEIGHT 32 +#define PAGE_HEIGHT 8 + +/* init sequence */ +static const uint8_t u8g_dev_uc1601_c128032_init_seq[] PROGMEM = { + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + U8G_ESC_RST(15), /* do reset low pulse with (15*16)+2 milliseconds (=maximum delay)*/ + + 0x0a3, /* 0x0a3: LCD bias 1/7 , 0x0a2: LCD bias 1/9 */ + 0x0a0, /* 0x0a0: ADC set to normal, 0x0a1 ADC set to inverted */ + 0x0c8, /* common output mode: set scan direction normal operation/SHL Select, 0x0c0 --> SHL = 0, normal, 0x0c8 --> SHL = 1 */ + 0x0c2, /* 22 May 2013: mirror x */ + + 0x040, /* set display start line */ + + 0x028 | 0x04, /* power control: turn on voltage converter */ + U8G_ESC_DLY(50), /* delay 50 ms */ + + 0x028 | 0x06, /* power control: turn on voltage regulator */ + U8G_ESC_DLY(50), /* delay 50 ms */ + + 0x028 | 0x07, /* power control: turn on voltage follower */ + U8G_ESC_DLY(10), /* delay 10 ms */ + + 0x020| 0x06, /* set V0 voltage resistor ratio to 6 */ + + 0x0af, /* display on */ + + //0x081, /* set contrast */ + //0x018, /* contrast value*/ + + 0x0a6, /* display normal, bit val 0: LCD pixel off. */ + + U8G_ESC_DLY(100), /* delay 100 ms */ + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_END /* end of sequence */ +}; + +static const uint8_t u8g_dev_uc1601_c128032_data_start[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + 0x010, /* set upper 4 bit of the col adr to 0 */ + 0x004, /* set lower 4 bit of the col adr */ + U8G_ESC_END /* end of sequence */ +}; + +static const uint8_t u8g_dev_uc1601_c128032_sleep_on[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + 0x0ac, /* static indicator off */ + 0x000, /* indicator register set (not sure if this is required) */ + 0x0ae, /* display off */ + 0x0a5, /* all points on */ + U8G_ESC_CS(1), /* disable chip */ + U8G_ESC_END /* end of sequence */ +}; + +static const uint8_t u8g_dev_uc1601_c128032_sleep_off[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + 0x0a4, /* all points off */ + 0x0af, /* display on */ + U8G_ESC_DLY(50), /* delay 50 ms */ + U8G_ESC_CS(1), /* disable chip */ + U8G_ESC_END /* end of sequence */ +}; + + +uint8_t u8g_dev_uc1601_c128032_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1601_c128032_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1601_c128032_data_start); + u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (UC1601) */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) + return 0; + u8g_SetChipSelect(u8g, dev, 0); + } + break; + case U8G_DEV_MSG_CONTRAST: + u8g_SetChipSelect(u8g, dev, 1); + u8g_SetAddress(u8g, dev, 0); /* instruction mode */ + u8g_WriteByte(u8g, dev, 0x081); + u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); + u8g_SetChipSelect(u8g, dev, 0); + return 1; + case U8G_DEV_MSG_SLEEP_ON: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1601_c128032_sleep_on); + return 1; + case U8G_DEV_MSG_SLEEP_OFF: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1601_c128032_sleep_off); + return 1; + } + return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); +} + +uint8_t u8g_dev_uc1601_c128032_2x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1601_c128032_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + + u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1601_c128032_data_start); + u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page)); /* select current page (UC1601) */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + u8g_WriteSequence(u8g, dev, pb->width, pb->buf); + u8g_SetChipSelect(u8g, dev, 0); + + u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1601_c128032_data_start); + u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page+1)); /* select current page (UC1601) */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)(pb->buf)+pb->width); + u8g_SetChipSelect(u8g, dev, 0); + } + break; + case U8G_DEV_MSG_CONTRAST: + u8g_SetChipSelect(u8g, dev, 1); + u8g_SetAddress(u8g, dev, 0); /* instruction mode */ + u8g_WriteByte(u8g, dev, 0x081); + u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); + u8g_SetChipSelect(u8g, dev, 0); + return 1; + case U8G_DEV_MSG_SLEEP_ON: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1601_c128032_sleep_on); + return 1; + case U8G_DEV_MSG_SLEEP_OFF: + u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1601_c128032_sleep_off); + return 1; + } + return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg); +} + +U8G_PB_DEV(u8g_dev_uc1601_c128032_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_uc1601_c128032_fn, U8G_COM_SW_SPI); +U8G_PB_DEV(u8g_dev_uc1601_c128032_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_uc1601_c128032_fn, U8G_COM_HW_SPI); + +uint8_t u8g_dev_uc1601_c128032_2x_buf[WIDTH*2] U8G_NOCOMMON ; +u8g_pb_t u8g_dev_uc1601_c128032_2x_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_uc1601_c128032_2x_buf}; +u8g_dev_t u8g_dev_uc1601_c128032_2x_sw_spi = { u8g_dev_uc1601_c128032_2x_fn, &u8g_dev_uc1601_c128032_2x_pb, U8G_COM_SW_SPI }; +u8g_dev_t u8g_dev_uc1601_c128032_2x_hw_spi = { u8g_dev_uc1601_c128032_2x_fn, &u8g_dev_uc1601_c128032_2x_pb, U8G_COM_HW_SPI }; + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_uc1608_240x128.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_uc1608_240x128.c new file mode 100644 index 000000000..d43d78e11 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_uc1608_240x128.c @@ -0,0 +1,200 @@ +/* + + + + u8g_dev_uc1608_240x128.c + + Universal 8bit Graphics Library + + Copyright (c) 2013, olikraus@gmail.com (original 240x64 library) + Modified by thieringpeti@gmail.com for Raystar rx240128 family displays + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +*/ + +/* +Display: http://www.tme.eu/en/details/rx240128a-ghw/lcd-graphic-displays/raystar-optronics/ +Connection: HW / SW SPI. +To get this display working, You need some extra capacitors: + +connect 4.7uF caps between: + PIN1 & PIN2 VB1 +- + PIN3 & PIN4 VB0 -+ +connect 0.1uF caps between: + VLCD and VSS + VBIAS and VSS +You can find some schematics with a 10M resistor parallellized with the VLCD capacitor. + +Select 4-bit SPI mode. + +Connect D7 (PIN9) To VDD (+3.3V) +Connect D1, D2, D4, D5, D6 to GND (PINS 10,11,12,14,15) +Connect WR0, WR1, BM0, BM1 to GND (PINS 17,18,22,23) + +D0: (PIN16) AVR's SCK pin (HW SPI) +D3: (PIN13) AVR's MOSI pin (HW SPI) +CD: (PIN19) used as A0 in the library +CS: (PIN21) Connect to the defined CS pin, and You can re-use the HW SPI in different routines. +RST: (PIN20) optional reset, can be defined in the function, resets on initialization. + +Adjust contrast if necessary. Default: 0x072. + +*/ + +#include "u8g.h" + +#define WIDTH 240 +#define HEIGHT 128 +#define PAGE_HEIGHT 8 + +/* see also ERC24064-1 for init sequence example */ +static const uint8_t u8g_dev_uc1608_240x128_init_seq[] PROGMEM = { + U8G_ESC_CS(1), /* disable chip (UC1608 has positive logic for CS) */ + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_RST(1), /* do reset low pulse with (15*16)+2 milliseconds */ + + + U8G_ESC_CS(0), /* enable chip */ + 0x0e2, /* soft reset */ + + U8G_ESC_DLY(100), /* delay 100 ms */ + U8G_ESC_DLY(100), /* delay 100 ms */ + 0x026, /* MUX rate and temperature compensation */ + + 0x0c8, /* Map control, Bit 3: MY=1, Bit 2: MX=0, Bit 0: MSF =0 */ + + 0x0eb, /* LCD bias Bits 0/1: 00=10.7 01=10.3, 10=12.0, 11=12.7*/ + /* default 0x0ea for 240x128 */ + 0x081, /* set contrast (bits 0..5) and gain (bits 6/7) */ + 0x072, /* default for 240x128 displays: 0x072*/ + + 0x02f, /* power on, Bit 2 PC2=1 (internal charge pump), Bits 0/1: cap of panel */ + U8G_ESC_DLY(50), /* delay 50 ms */ + + 0x040, /* set display start line to 0 */ + 0x090, /* no fixed lines */ + 0x089, /* RAM access control */ + + 0x0af, /* disable sleep mode */ + 0x0a4, /* normal display */ + 0x0a5, /* display all points, ST7565, UC1610 */ + // 0x0a7, /* inverse display */ + 0x0a6, /* normal display */ + + U8G_ESC_DLY(100), /* delay 100 ms */ + 0x0a4, /* normal display */ + U8G_ESC_CS(1), /* disable chip */ + U8G_ESC_END /* end of sequence */ +}; + +static const uint8_t u8g_dev_uc1608_240x128_data_start[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(0), /* enable chip */ + 0x010, /* set upper 4 bit of the col adr to 0 (UC1608) */ + 0x000, /* set lower 4 bit of the col adr to 0 */ + U8G_ESC_END /* end of sequence */ +}; + +uint8_t u8g_dev_uc1608_240x128_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1608_240x128_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1608_240x128_data_start); + u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (UC1608) */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) + return 0; + u8g_SetChipSelect(u8g, dev, 1); + } + break; + case U8G_DEV_MSG_CONTRAST: + u8g_SetChipSelect(u8g, dev, 0); + u8g_SetAddress(u8g, dev, 0); /* instruction mode */ + u8g_WriteByte(u8g, dev, 0x081); + u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); /* set contrast from, keep gain at 0 */ + u8g_SetChipSelect(u8g, dev, 1); + return 1; + } + return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); +} + +uint8_t u8g_dev_uc1608_240x128_2x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1608_240x128_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + + u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1608_240x128_data_start); + u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page)); /* select current page (ST7565R) */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + u8g_WriteSequence(u8g, dev, pb->width, pb->buf); + u8g_SetChipSelect(u8g, dev, 0); + + u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1608_240x128_data_start); + u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page+1)); /* select current page (ST7565R) */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)(pb->buf)+pb->width); + u8g_SetChipSelect(u8g, dev, 0); + } + break; + case U8G_DEV_MSG_CONTRAST: + u8g_SetChipSelect(u8g, dev, 1); + u8g_SetAddress(u8g, dev, 0); /* instruction mode */ + u8g_WriteByte(u8g, dev, 0x081); + u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); + u8g_SetChipSelect(u8g, dev, 0); + return 1; + } + return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg); +} + +U8G_PB_DEV(u8g_dev_uc1608_240x128_sw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_uc1608_240x128_fn, U8G_COM_SW_SPI); +U8G_PB_DEV(u8g_dev_uc1608_240x128_hw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_uc1608_240x128_fn, U8G_COM_HW_SPI); + +uint8_t u8g_dev_uc1608_240x128_2x_buf[WIDTH*2] U8G_NOCOMMON ; +u8g_pb_t u8g_dev_uc1608_240x128_2x_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_uc1608_240x128_2x_buf}; +u8g_dev_t u8g_dev_uc1608_240x128_2x_sw_spi = { u8g_dev_uc1608_240x128_2x_fn, &u8g_dev_uc1608_240x128_2x_pb, U8G_COM_SW_SPI }; +u8g_dev_t u8g_dev_uc1608_240x128_2x_hw_spi = { u8g_dev_uc1608_240x128_2x_fn, &u8g_dev_uc1608_240x128_2x_pb, U8G_COM_HW_SPI }; + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_uc1608_240x64.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_uc1608_240x64.c new file mode 100644 index 000000000..6a99c6ba8 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_uc1608_240x64.c @@ -0,0 +1,168 @@ +/* + + u8g_dev_uc1608_240x64.c + + Universal 8bit Graphics Library + + Copyright (c) 2013, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +*/ + +#include "u8g.h" + +#define WIDTH 240 +#define HEIGHT 64 +#define PAGE_HEIGHT 8 + +/* see also ERC24064-1 for init sequence example */ +static const uint8_t u8g_dev_uc1608_240x64_init_seq[] PROGMEM = { + U8G_ESC_CS(1), /* disable chip (UC1608 has positive logic for CS) */ + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_RST(1), /* do reset low pulse with (15*16)+2 milliseconds */ + + + U8G_ESC_CS(0), /* enable chip */ + 0x0e2, /* soft reset */ + + U8G_ESC_DLY(100), /* delay 100 ms */ + U8G_ESC_DLY(100), /* delay 100 ms */ +#if HEIGHT <= 96 + 0x023, /* Bit 0/1: Temp compenstation, Bit 2: Multiplex Rate 0=96, 1=128 */ +#else + /* 30 Nov 2013: not tested */ + 0x027, /* Bit 0/1: Temp compenstation, Bit 2: Multiplex Rate 0=96, 1=128 */ +#endif + 0x0c8, /* Map control, Bit 3: MY=1, Bit 2: MX=0, Bit 0: MSF =0 */ + 0x0e8, /* LCD bias Bits 0/1: 00=10.7 01=10.3, 10=12.0, 11=12.7*/ + + 0x081, /* set contrast (bits 0..5) and gain (bits 6/7) */ + 0x014, /* ECR24064-1 default: 0x040*/ + + 0x02f, /* power on, Bit 2 PC2=1 (internal charge pump), Bits 0/1: cap of panel */ + U8G_ESC_DLY(50), /* delay 50 ms */ + + 0x040, /* set display start line to 0 */ + 0x090, /* no fixed lines */ + 0x089, /* RAM access control */ + + 0x0af, /* disable sleep mode */ + 0x0a4, /* normal display */ + 0x0a5, /* display all points, ST7565, UC1610 */ + U8G_ESC_DLY(100), /* delay 100 ms */ + 0x0a4, /* normal display */ + U8G_ESC_CS(1), /* disable chip */ + U8G_ESC_END /* end of sequence */ +}; + +static const uint8_t u8g_dev_uc1608_240x64_data_start[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(0), /* enable chip */ + 0x010, /* set upper 4 bit of the col adr to 0 (UC1608) */ + 0x000, /* set lower 4 bit of the col adr to 0 */ + U8G_ESC_END /* end of sequence */ +}; + +uint8_t u8g_dev_uc1608_240x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1608_240x64_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1608_240x64_data_start); + u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (UC1608) */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) + return 0; + u8g_SetChipSelect(u8g, dev, 1); + } + break; + case U8G_DEV_MSG_CONTRAST: + u8g_SetChipSelect(u8g, dev, 0); + u8g_SetAddress(u8g, dev, 0); /* instruction mode */ + u8g_WriteByte(u8g, dev, 0x081); + u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); /* set contrast from, keep gain at 0 */ + u8g_SetChipSelect(u8g, dev, 1); + return 1; + } + return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); +} + +uint8_t u8g_dev_uc1608_240x64_2x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1608_240x64_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + + u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1608_240x64_data_start); + u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page)); /* select current page (ST7565R) */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + u8g_WriteSequence(u8g, dev, pb->width, pb->buf); + u8g_SetChipSelect(u8g, dev, 0); + + u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1608_240x64_data_start); + u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page+1)); /* select current page (ST7565R) */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)(pb->buf)+pb->width); + u8g_SetChipSelect(u8g, dev, 0); + } + break; + case U8G_DEV_MSG_CONTRAST: + u8g_SetChipSelect(u8g, dev, 1); + u8g_SetAddress(u8g, dev, 0); /* instruction mode */ + u8g_WriteByte(u8g, dev, 0x081); + u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); + u8g_SetChipSelect(u8g, dev, 0); + return 1; + } + return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg); +} + +U8G_PB_DEV(u8g_dev_uc1608_240x64_sw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_uc1608_240x64_fn, U8G_COM_SW_SPI); +U8G_PB_DEV(u8g_dev_uc1608_240x64_hw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_uc1608_240x64_fn, U8G_COM_HW_SPI); + +uint8_t u8g_dev_uc1608_240x64_2x_buf[WIDTH*2] U8G_NOCOMMON ; +u8g_pb_t u8g_dev_uc1608_240x64_2x_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_uc1608_240x64_2x_buf}; +u8g_dev_t u8g_dev_uc1608_240x64_2x_sw_spi = { u8g_dev_uc1608_240x64_2x_fn, &u8g_dev_uc1608_240x64_2x_pb, U8G_COM_SW_SPI }; +u8g_dev_t u8g_dev_uc1608_240x64_2x_hw_spi = { u8g_dev_uc1608_240x64_2x_fn, &u8g_dev_uc1608_240x64_2x_pb, U8G_COM_HW_SPI }; + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_uc1610_dogxl160.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_uc1610_dogxl160.c new file mode 100644 index 000000000..4f361664d --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_uc1610_dogxl160.c @@ -0,0 +1,290 @@ +/* + + u8g_dev_uc1610_dogxl160.c + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +*/ + +#include "u8g.h" + +#define WIDTH 160 +#define HEIGHT 104 + +static const uint8_t u8g_dev_uc1610_dogxl160_init_seq[] PROGMEM = { + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ + U8G_ESC_CS(1), /* enable chip */ + 0x0f1, /* set display height-1 */ + 0x067, /* */ + 0x0c0, /* SEG & COM normal */ + 0x040, /* set display start line */ + 0x050, /* */ + 0x02b, /* set panelloading */ + 0x0eb, /* set bias 1/2 */ + 0x081, /* set contrast */ + 0x05f, /* */ + 0x089, /* set auto increment */ + 0x0a6, /* normal pixel mode */ + 0x0d3, /* 0xd3=40% RMS separation for gray levels */ + 0x0af, /* display on */ + U8G_ESC_DLY(100), /* delay 100 ms */ + 0x0a5, /* display all points, ST7565, UC1610 */ + U8G_ESC_DLY(100), /* delay 100 ms */ + U8G_ESC_DLY(100), /* delay 100 ms */ + 0x0a4, /* normal display */ + + + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_END /* end of sequence */ +}; + +static const uint8_t u8g_dev_uc1610_dogxl160_data_start[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + 0x010, /* set upper 4 bit of the col adr to 0 */ + 0x000, /* set lower 4 bit of the col adr to 0 */ + U8G_ESC_END /* end of sequence */ +}; + +static uint8_t u8g_dev_1to2(uint8_t n) +{ + register uint8_t a,b,c; + a = n; + a &= 1; + n <<= 1; + b = n; + b &= 4; + n <<= 1; + c = n; + c &= 16; + n <<= 1; + n &= 64; + n |= a; + n |= b; + n |= c; + n |= n << 1; + return n; +} + +uint8_t u8g_dev_uc1610_dogxl160_bw_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + int i; + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_data_start); + u8g_WriteByte(u8g, dev, 0x060 | (pb->p.page*2) ); /* select current page 1/2 (UC1610) */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + for( i = 0; i < WIDTH; i++ ) + { + u8g_WriteByte(u8g, dev, u8g_dev_1to2( ((uint8_t *)(pb->buf))[i] ) ); + } + + u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_data_start); + u8g_WriteByte(u8g, dev, 0x060 | (pb->p.page*2+1) ); /* select current page 2/2 (UC1610) */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + for( i = 0; i < WIDTH; i++ ) + { + u8g_WriteByte(u8g, dev, u8g_dev_1to2( ((uint8_t *)(pb->buf))[i] >> 4 ) ); + } + + u8g_SetChipSelect(u8g, dev, 0); + } + break; + case U8G_DEV_MSG_CONTRAST: + u8g_SetChipSelect(u8g, dev, 1); + u8g_SetAddress(u8g, dev, 0); /* instruction mode */ + u8g_WriteByte(u8g, dev, 0x081); + u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); + u8g_SetChipSelect(u8g, dev, 0); + return 1; + } + return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); +} + +uint8_t u8g_dev_uc1610_dogxl160_gr_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_data_start); + u8g_WriteByte(u8g, dev, 0x060 | (pb->p.page) ); /* select current page (UC1610) */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) + return 0; + u8g_SetChipSelect(u8g, dev, 0); + } + break; + case U8G_DEV_MSG_CONTRAST: + u8g_SetChipSelect(u8g, dev, 1); + u8g_SetAddress(u8g, dev, 0); /* instruction mode */ + u8g_WriteByte(u8g, dev, 0x081); + u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); + u8g_SetChipSelect(u8g, dev, 0); + return 1; + } + return u8g_dev_pb8v2_base_fn(u8g, dev, msg, arg); +} + +uint8_t u8g_dev_uc1610_dogxl160_2x_bw_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + int i; + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + + u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_data_start); + u8g_WriteByte(u8g, dev, 0x060 | (pb->p.page*4) ); /* select current page 1/2 (UC1610) */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + for( i = 0; i < WIDTH; i++ ) + { + u8g_WriteByte(u8g, dev, u8g_dev_1to2( ((uint8_t *)(pb->buf))[i] ) ); + } + + u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_data_start); + u8g_WriteByte(u8g, dev, 0x060 | (pb->p.page*4+1) ); /* select current page 2/2 (UC1610) */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + for( i = 0; i < WIDTH; i++ ) + { + u8g_WriteByte(u8g, dev, u8g_dev_1to2( ((uint8_t *)(pb->buf))[i] >> 4 ) ); + } + + u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_data_start); + u8g_WriteByte(u8g, dev, 0x060 | (pb->p.page*4+2) ); /* select current page 1/2 (UC1610) */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + for( i = 0; i < WIDTH; i++ ) + { + u8g_WriteByte(u8g, dev, u8g_dev_1to2( ((uint8_t *)((uint8_t *)(pb->buf)+WIDTH))[i] ) ); + } + + u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_data_start); + u8g_WriteByte(u8g, dev, 0x060 | (pb->p.page*4+3) ); /* select current page 2/2 (UC1610) */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + for( i = 0; i < WIDTH; i++ ) + { + u8g_WriteByte(u8g, dev, u8g_dev_1to2( ((uint8_t *)((uint8_t *)(pb->buf)+WIDTH))[i] >> 4 ) ); + } + + u8g_SetChipSelect(u8g, dev, 0); + } + break; + case U8G_DEV_MSG_CONTRAST: + u8g_SetChipSelect(u8g, dev, 1); + u8g_SetAddress(u8g, dev, 0); /* instruction mode */ + u8g_WriteByte(u8g, dev, 0x081); + u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); + u8g_SetChipSelect(u8g, dev, 0); + return 1; + } + return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg); +} + +uint8_t u8g_dev_uc1610_dogxl160_2x_gr_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + + u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_data_start); + u8g_WriteByte(u8g, dev, 0x060 | (pb->p.page*2) ); /* select current page (UC1610) */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + if ( u8g_WriteSequence(u8g, dev, WIDTH, pb->buf) == 0 ) + return 0; + + u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_data_start); + u8g_WriteByte(u8g, dev, 0x060 | (pb->p.page*2+1) ); /* select current page (UC1610) */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + if ( u8g_WriteSequence(u8g, dev, WIDTH, (uint8_t *)(pb->buf)+WIDTH) == 0 ) + return 0; + + u8g_SetChipSelect(u8g, dev, 0); + } + break; + case U8G_DEV_MSG_CONTRAST: + u8g_SetChipSelect(u8g, dev, 1); + u8g_SetAddress(u8g, dev, 0); /* instruction mode */ + u8g_WriteByte(u8g, dev, 0x081); + u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1); + u8g_SetChipSelect(u8g, dev, 0); + return 1; + } + return u8g_dev_pb16v2_base_fn(u8g, dev, msg, arg); +} + +U8G_PB_DEV(u8g_dev_uc1610_dogxl160_bw_sw_spi, WIDTH, HEIGHT, 8, u8g_dev_uc1610_dogxl160_bw_fn, U8G_COM_SW_SPI); +U8G_PB_DEV(u8g_dev_uc1610_dogxl160_bw_hw_spi, WIDTH, HEIGHT, 8, u8g_dev_uc1610_dogxl160_bw_fn, U8G_COM_HW_SPI); + +U8G_PB_DEV(u8g_dev_uc1610_dogxl160_gr_sw_spi, WIDTH, HEIGHT, 4, u8g_dev_uc1610_dogxl160_gr_fn, U8G_COM_SW_SPI); +U8G_PB_DEV(u8g_dev_uc1610_dogxl160_gr_hw_spi, WIDTH, HEIGHT, 4, u8g_dev_uc1610_dogxl160_gr_fn, U8G_COM_HW_SPI); + +uint8_t u8g_dev_uc1610_dogxl160_2x_bw_buf[WIDTH*2] U8G_NOCOMMON ; +u8g_pb_t u8g_dev_uc1610_dogxl160_2x_bw_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_uc1610_dogxl160_2x_bw_buf}; +u8g_dev_t u8g_dev_uc1610_dogxl160_2x_bw_sw_spi = { u8g_dev_uc1610_dogxl160_2x_bw_fn, &u8g_dev_uc1610_dogxl160_2x_bw_pb, U8G_COM_SW_SPI }; +u8g_dev_t u8g_dev_uc1610_dogxl160_2x_bw_hw_spi = { u8g_dev_uc1610_dogxl160_2x_bw_fn, &u8g_dev_uc1610_dogxl160_2x_bw_pb, U8G_COM_HW_SPI }; + +uint8_t u8g_dev_uc1610_dogxl160_2x_gr_buf[WIDTH*2] U8G_NOCOMMON ; +u8g_pb_t u8g_dev_uc1610_dogxl160_2x_gr_pb = { {8, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_uc1610_dogxl160_2x_gr_buf}; +u8g_dev_t u8g_dev_uc1610_dogxl160_2x_gr_sw_spi = { u8g_dev_uc1610_dogxl160_2x_gr_fn, &u8g_dev_uc1610_dogxl160_2x_gr_pb, U8G_COM_SW_SPI }; +u8g_dev_t u8g_dev_uc1610_dogxl160_2x_gr_hw_spi = { u8g_dev_uc1610_dogxl160_2x_gr_fn, &u8g_dev_uc1610_dogxl160_2x_gr_pb, U8G_COM_HW_SPI }; diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_uc1611_dogm240.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_uc1611_dogm240.c new file mode 100644 index 000000000..e0f660914 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_uc1611_dogm240.c @@ -0,0 +1,126 @@ +/* + + u8g_dev_uc1611_dogm240.c + + Universal 8bit Graphics Library + + Copyright (c) 2014, dev.menges.jonas@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +*/ + +#include "u8g.h" + + +#define WIDTH 240 +#define HEIGHT 64 +#define PAGE_HEIGHT 8 + + +static const uint8_t u8g_dev_uc1611_dogm240_init_seq[] PROGMEM = { + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ + U8G_ESC_DLY(200), + U8G_ESC_CS(1), // enable chip + U8G_ESC_ADR(0), // instruction mode + 0xe2, // system reset + U8G_ESC_DLY(1), + 0x2f, // enable internal charge pump + + 0xF1, // set last COM electrode + 0x3F, // 64-1=63 + 0xF2, // set display start line + 0x00, // 0 + 0xF3, // set display end line + 0x3F, // 64-1=63 + 0x81, // set contrast (0-255) + 0xB7, // 183 + 0xC0, // set view + //0x04, // topview + 0x02, // bottomview + 0xA3, // set line rate (9.4k) + 0xE9, // set bias ratio (10) + 0xA9, // enable display + 0xD1, // set black and white mode + U8G_ESC_CS(0), // disable chip + U8G_ESC_END // end of sequence +}; + +static void setPage(u8g_t *u8g, u8g_dev_t *dev, unsigned char page) +{ + u8g_WriteByte(u8g, dev, 0x70 + (page>>4)); + u8g_WriteByte(u8g, dev, 0x60 + (page&0x0F)); +} + +static const uint8_t u8g_dev_uc1611_dogm240_data_start[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + 0x10, /* set upper 4 bit of the col adr to 0 */ + 0x00, /* set lower 4 bit of the col adr to 0 */ + U8G_ESC_END /* end of sequence */ +}; + +uint8_t u8g_dev_uc1611_dogm240_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1611_dogm240_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1611_dogm240_data_start); + setPage(u8g, dev, pb->p.page); /* select current page (uc1611) */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) + return 0; + u8g_SetChipSelect(u8g, dev, 0); + } + break; + case U8G_DEV_MSG_CONTRAST: + u8g_SetChipSelect(u8g, dev, 1); + u8g_SetAddress(u8g, dev, 0); /* instruction mode */ + u8g_WriteByte(u8g, dev, 0x81); + /* 11 Jul 2015: bugfix, github issue 339 */ + u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) ); /* set contrast from, keep gain at 0 */ + u8g_SetChipSelect(u8g, dev, 0); + return 1; + } + return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); +} + +U8G_PB_DEV(u8g_dev_uc1611_dogm240_i2c , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_uc1611_dogm240_fn, U8G_COM_UC_I2C); +U8G_PB_DEV(u8g_dev_uc1611_dogm240_sw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_uc1611_dogm240_fn, U8G_COM_SW_SPI); +U8G_PB_DEV(u8g_dev_uc1611_dogm240_hw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_uc1611_dogm240_fn, U8G_COM_HW_SPI); +U8G_PB_DEV(u8g_dev_uc1611_dogm240_8bit , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_uc1611_dogm240_fn, U8G_COM_FAST_PARALLEL); + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_uc1611_dogxl240.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_uc1611_dogxl240.c new file mode 100644 index 000000000..1eaa45700 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_uc1611_dogxl240.c @@ -0,0 +1,127 @@ +/* + + u8g_dev_uc1611_dogxl240.c + + Universal 8bit Graphics Library + + Copyright (c) 2014, dev.menges.jonas@gmail.com, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +*/ + +#include "u8g.h" + + +#define WIDTH 240 +#define HEIGHT 128 +#define PAGE_HEIGHT 8 + + +static const uint8_t u8g_dev_uc1611_dogxl240_init_seq[] PROGMEM = { + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ + U8G_ESC_DLY(200), + U8G_ESC_CS(1), // enable chip + U8G_ESC_ADR(0), // instruction mode + + 0xe2, // system reset + U8G_ESC_DLY(1), + 0x2f, // enable internal charge pump + + 0xF1, // set last COM electrode + 0x7F, // DOGXL240 + 0xF2, // set display start line + 0x00, // 0 + 0xF3, // set display end line + 0x7F, // DOGXL240 + 0x81, // set contrast (0-255) + 0xAA, // DOGXL240 + 0xC0, // set view + //0x04, // topview + 0x02, // bottomview + 0xA3, // set line rate (9.4k) + 0xE9, // set bias ratio (10) + 0xA9, // enable display + 0xD1, // set black and white mode + U8G_ESC_CS(0), // disable chip + U8G_ESC_END // end of sequence +}; + +static void u8g_dev_dogxl240_set_page(u8g_t *u8g, u8g_dev_t *dev, unsigned char page) +{ + u8g_WriteByte(u8g, dev, 0x70); + u8g_WriteByte(u8g, dev, 0x60 + (page&0x0F)); +} + +static const uint8_t u8g_dev_uc1611_dogxl240_data_start[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + 0x10, /* set upper 4 bit of the col adr to 0 */ + 0x00, /* set lower 4 bit of the col adr to 0 */ + U8G_ESC_END /* end of sequence */ +}; + +static uint8_t u8g_dev_uc1611_dogxl240_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1611_dogxl240_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1611_dogxl240_data_start); + u8g_dev_dogxl240_set_page(u8g, dev, pb->p.page); /* select current page (uc1611) */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) + return 0; + u8g_SetChipSelect(u8g, dev, 0); + } + break; + case U8G_DEV_MSG_CONTRAST: + u8g_SetChipSelect(u8g, dev, 1); + u8g_SetAddress(u8g, dev, 0); /* instruction mode */ + u8g_WriteByte(u8g, dev, 0x81); + /* 11 Jul 2015: bugfix, github issue 339 */ + u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) ); /* set contrast from, keep gain at 0 */ + u8g_SetChipSelect(u8g, dev, 0); + return 1; + } + return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); +} + +U8G_PB_DEV(u8g_dev_uc1611_dogxl240_i2c , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_uc1611_dogxl240_fn, U8G_COM_UC_I2C); +U8G_PB_DEV(u8g_dev_uc1611_dogxl240_sw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_uc1611_dogxl240_fn, U8G_COM_SW_SPI); +U8G_PB_DEV(u8g_dev_uc1611_dogxl240_hw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_uc1611_dogxl240_fn, U8G_COM_HW_SPI); +U8G_PB_DEV(u8g_dev_uc1611_dogxl240_8bit , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_uc1611_dogxl240_fn, U8G_COM_FAST_PARALLEL); + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_uc1701_dogs102.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_uc1701_dogs102.c new file mode 100644 index 000000000..5161ef95f --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_uc1701_dogs102.c @@ -0,0 +1,157 @@ +/* + + u8g_dev_uc1701_dogs102.c + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +*/ + +#include "u8g.h" + +#define WIDTH 102 +#define HEIGHT 64 +#define PAGE_HEIGHT 8 + +static const uint8_t u8g_dev_dogs102_init_seq[] PROGMEM = { + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ + U8G_ESC_CS(1), /* enable chip */ + + 0x0e2, /* soft reset */ + 0x040, /* set display start line to 0 */ + 0x0a1, /* ADC set to reverse */ + 0x0c0, /* common output mode */ + 0x0a6, /* display normal, bit val 0: LCD pixel off. */ + 0x0a2, /* LCD bias 1/9 */ + 0x02f, /* all power control circuits on */ + 0x027, /* regulator, booster and follower */ + 0x081, /* set contrast */ + 0x00e, /* contrast value, EA default: 0x010, previous value for S102: 0x0e */ + 0x0fa, /* Set Temp compensation */ + 0x090, /* 0.11 deg/c WP Off WC Off*/ + 0x0a4, /* normal display */ + 0x0af, /* display on */ + U8G_ESC_DLY(100), /* delay 100 ms */ + 0x0a5, /* display all points, ST7565, UC1610 */ + U8G_ESC_DLY(100), /* delay 100 ms */ + U8G_ESC_DLY(100), /* delay 100 ms */ + 0x0a4, /* normal display */ + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_END /* end of sequence */ +}; + +static const uint8_t u8g_dev_dogs102_data_start[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + 0x010, /* set upper 4 bit of the col adr to 0 */ + 0x000, /* set lower 4 bit of the col adr to 0 */ + U8G_ESC_END /* end of sequence */ +}; + +uint8_t u8g_dev_dogs102_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_dogs102_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_dogs102_data_start); + u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (ST7565R) */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) + return 0; + u8g_SetChipSelect(u8g, dev, 0); + } + break; + case U8G_DEV_MSG_CONTRAST: + u8g_SetChipSelect(u8g, dev, 1); + u8g_SetAddress(u8g, dev, 0); /* instruction mode */ + u8g_WriteByte(u8g, dev, 0x081); + u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); + u8g_SetChipSelect(u8g, dev, 0); + return 1; + } + return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); +} + +uint8_t u8g_dev_uc1701_dogs102_2x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_dogs102_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + + u8g_WriteEscSeqP(u8g, dev, u8g_dev_dogs102_data_start); + u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page)); /* select current page (ST7565R) */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + u8g_WriteSequence(u8g, dev, pb->width, pb->buf); + u8g_SetChipSelect(u8g, dev, 0); + + u8g_WriteEscSeqP(u8g, dev, u8g_dev_dogs102_data_start); + u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page+1)); /* select current page (ST7565R) */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)(pb->buf)+pb->width); + u8g_SetChipSelect(u8g, dev, 0); + } + break; + case U8G_DEV_MSG_CONTRAST: + u8g_SetChipSelect(u8g, dev, 1); + u8g_SetAddress(u8g, dev, 0); /* instruction mode */ + u8g_WriteByte(u8g, dev, 0x081); + u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); + u8g_SetChipSelect(u8g, dev, 0); + return 1; + } + return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg); +} + +U8G_PB_DEV(u8g_dev_uc1701_dogs102_sw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_dogs102_fn, U8G_COM_SW_SPI); +U8G_PB_DEV(u8g_dev_uc1701_dogs102_hw_spi , WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_dogs102_fn, U8G_COM_HW_SPI); + +uint8_t u8g_dev_uc1701_dogs102_2x_buf[WIDTH*2] U8G_NOCOMMON ; +u8g_pb_t u8g_dev_uc1701_dogs102_2x_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_uc1701_dogs102_2x_buf}; +u8g_dev_t u8g_dev_uc1701_dogs102_2x_sw_spi = { u8g_dev_uc1701_dogs102_2x_fn, &u8g_dev_uc1701_dogs102_2x_pb, U8G_COM_SW_SPI }; +u8g_dev_t u8g_dev_uc1701_dogs102_2x_hw_spi = { u8g_dev_uc1701_dogs102_2x_fn, &u8g_dev_uc1701_dogs102_2x_pb, U8G_COM_HW_SPI }; + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_uc1701_mini12864.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_uc1701_mini12864.c new file mode 100644 index 000000000..209a7b930 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_dev_uc1701_mini12864.c @@ -0,0 +1,158 @@ +/* + + u8g_dev_uc1701_mini12864.c (dealextreme) + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +*/ + +#include "u8g.h" + +#define WIDTH 128 +#define HEIGHT 64 +#define PAGE_HEIGHT 8 + +static const uint8_t u8g_dev_uc1701_mini12864_init_seq[] PROGMEM = { + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_RST(1), /* do reset low pulse with (1*16)+2 milliseconds */ + U8G_ESC_CS(1), /* enable chip */ + + 0x0e2, /* soft reset */ + 0x040, /* set display start line to 0 */ + 0x0a0, /* ADC set to reverse */ + 0x0c8, /* common output mode */ + 0x0a6, /* display normal, bit val 0: LCD pixel off. */ + 0x0a2, /* LCD bias 1/9 */ + 0x02f, /* all power control circuits on */ + 0x0f8, /* set booster ratio to */ + 0x000, /* 4x */ + 0x023, /* set V0 voltage resistor ratio to large */ + 0x081, /* set contrast */ + 0x027, /* contrast value */ + 0x0ac, /* indicator */ + 0x000, /* disable */ + 0x0af, /* display on */ + + U8G_ESC_DLY(100), /* delay 100 ms */ + 0x0a5, /* display all points, ST7565 */ + U8G_ESC_DLY(100), /* delay 100 ms */ + U8G_ESC_DLY(100), /* delay 100 ms */ + 0x0a4, /* normal display */ + U8G_ESC_CS(0), /* disable chip */ + U8G_ESC_END /* end of sequence */ +}; + +static const uint8_t u8g_dev_uc1701_mini12864_data_start[] PROGMEM = { + U8G_ESC_ADR(0), /* instruction mode */ + U8G_ESC_CS(1), /* enable chip */ + 0x010, /* set upper 4 bit of the col adr to 0 */ + 0x000, /* set lower 4 bit of the col adr to 4 */ + U8G_ESC_END /* end of sequence */ +}; + +uint8_t u8g_dev_uc1701_mini12864_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1701_mini12864_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1701_mini12864_data_start); + u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 ) + return 0; + u8g_SetChipSelect(u8g, dev, 0); + } + break; + case U8G_DEV_MSG_CONTRAST: + u8g_SetChipSelect(u8g, dev, 1); + u8g_SetAddress(u8g, dev, 0); /* instruction mode */ + u8g_WriteByte(u8g, dev, 0x081); + u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); + u8g_SetChipSelect(u8g, dev, 0); + return 1; + } + return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg); +} + +uint8_t u8g_dev_uc1701_mini12864_2x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + case U8G_DEV_MSG_INIT: + u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS); + u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1701_mini12864_init_seq); + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_NEXT: + { + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + + u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1701_mini12864_data_start); + u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page)); /* select current page */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + u8g_WriteSequence(u8g, dev, pb->width, pb->buf); + u8g_SetChipSelect(u8g, dev, 0); + + u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1701_mini12864_data_start); + u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page+1)); /* select current page */ + u8g_SetAddress(u8g, dev, 1); /* data mode */ + u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)(pb->buf)+pb->width); + u8g_SetChipSelect(u8g, dev, 0); + } + break; + case U8G_DEV_MSG_CONTRAST: + u8g_SetChipSelect(u8g, dev, 1); + u8g_SetAddress(u8g, dev, 0); /* instruction mode */ + u8g_WriteByte(u8g, dev, 0x081); + u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2); + u8g_SetChipSelect(u8g, dev, 0); + return 1; + } + return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg); +} + +U8G_PB_DEV(u8g_dev_uc1701_mini12864_sw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_uc1701_mini12864_fn, U8G_COM_SW_SPI); +U8G_PB_DEV(u8g_dev_uc1701_mini12864_hw_spi, WIDTH, HEIGHT, PAGE_HEIGHT, u8g_dev_uc1701_mini12864_fn, U8G_COM_HW_SPI); + +uint8_t u8g_dev_uc1701_mini12864_2x_buf[WIDTH*2] U8G_NOCOMMON ; +u8g_pb_t u8g_dev_uc1701_mini12864_2x_pb = { {16, HEIGHT, 0, 0, 0}, WIDTH, u8g_dev_uc1701_mini12864_2x_buf}; +u8g_dev_t u8g_dev_uc1701_mini12864_2x_sw_spi = { u8g_dev_uc1701_mini12864_2x_fn, &u8g_dev_uc1701_mini12864_2x_pb, U8G_COM_SW_SPI }; +u8g_dev_t u8g_dev_uc1701_mini12864_2x_hw_spi = { u8g_dev_uc1701_mini12864_2x_fn, &u8g_dev_uc1701_mini12864_2x_pb, U8G_COM_HW_SPI }; diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_ellipse.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_ellipse.c new file mode 100644 index 000000000..57ff4675b --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_ellipse.c @@ -0,0 +1,393 @@ +/* + + u8g_ellipse.c + + Utility to draw empty and filled ellipses. + + Universal 8bit Graphics Library + + Copyright (c) 2011, bjthom@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + Addition to the U8G Library as of 02/29/12 + Adapted from Bresenham's Algorithm and the following websites: + http://free.pages.at/easyfilter/bresenham.html + http://homepage.smc.edu/kennedy_john/belipse.pdf + +*/ + +#include "u8g.h" + + +#ifdef WORK_IN_PROGRESS + +void u8g_DrawEllipseRect(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t x1, u8g_uint_t y1) +{ + int a = abs(x1 - x0); + int b = abs(y1 - y0); //get diameters + int b1 = b&1; + long dx = 4*(1-a)*b*b; + long dy = 4*(b1+1)*a*a; + long err = dx+dy+b1*a*a; + long e2; + + if (x0 > x1) { x0 = x1; x1 += a; } + if (y0 > y1) { y0 = y1; } + y0 += (b+1)/2; + y1 = y0-b1; + a *= 8*a; + b1 = 8*b*b; + + do { + u8g_DrawPixel(u8g, x1, y0); + u8g_DrawPixel(u8g, x0, y0); + u8g_DrawPixel(u8g, x0, y1); + u8g_DrawPixel(u8g, x1, y1); + e2 = 2*err; + if (e2 >= dx) { + x0++; + x1--; + err += dx += b1; + } + if (e2 <= dy) { + y0++; + y1--; + err += dy += a; + } + } while (x0 <= x1); + + while (y0-y1 < b) { + u8g_DrawPixel(u8g, x0-1, y0); + u8g_DrawPixel(u8g, x1+1, y0++); + u8g_DrawPixel(u8g, x0-1, y1); + u8g_DrawPixel(u8g, x1+1, y1--); + } +} + +void u8g_DrawEllipse(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t xr, u8g_uint_t yr) +{ + u8g_DrawPixel(u8g, x0, y0+yr); + u8g_DrawPixel(u8g, x0, y0-yr); + u8g_DrawPixel(u8g, x0+xr, y0); + u8g_DrawPixel(u8g, x0-xr, y0); +} + +#endif + +#if defined(U8G_16BIT) +typedef int32_t u8g_long_t; +#else +typedef int16_t u8g_long_t; +#endif + + +/* + Source: + ftp://pc.fk0.name/pub/books/programming/bezier-ellipse.pdf + Foley, Computer Graphics, p 90 +*/ +static void u8g_draw_ellipse_section(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0, uint8_t option) U8G_NOINLINE; +static void u8g_draw_ellipse_section(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0, uint8_t option) +{ + /* upper right */ + if ( option & U8G_DRAW_UPPER_RIGHT ) + { + u8g_DrawPixel(u8g, x0 + x, y0 - y); + } + + /* upper left */ + if ( option & U8G_DRAW_UPPER_LEFT ) + { + u8g_DrawPixel(u8g, x0 - x, y0 - y); + } + + /* lower right */ + if ( option & U8G_DRAW_LOWER_RIGHT ) + { + u8g_DrawPixel(u8g, x0 + x, y0 + y); + } + + /* lower left */ + if ( option & U8G_DRAW_LOWER_LEFT ) + { + u8g_DrawPixel(u8g, x0 - x, y0 + y); + } +} + +void u8g_draw_ellipse(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rx, u8g_uint_t ry, uint8_t option) +{ + u8g_uint_t x, y; + u8g_long_t xchg, ychg; + u8g_long_t err; + u8g_long_t rxrx2; + u8g_long_t ryry2; + u8g_long_t stopx, stopy; + + rxrx2 = rx; + rxrx2 *= rx; + rxrx2 *= 2; + + ryry2 = ry; + ryry2 *= ry; + ryry2 *= 2; + + x = rx; + y = 0; + + xchg = 1; + xchg -= rx; + xchg -= rx; + xchg *= ry; + xchg *= ry; + + ychg = rx; + ychg *= rx; + + err = 0; + + stopx = ryry2; + stopx *= rx; + stopy = 0; + + while( stopx >= stopy ) + { + u8g_draw_ellipse_section(u8g, x, y, x0, y0, option); + y++; + stopy += rxrx2; + err += ychg; + ychg += rxrx2; + if ( 2*err+xchg > 0 ) + { + x--; + stopx -= ryry2; + err += xchg; + xchg += ryry2; + } + } + + x = 0; + y = ry; + + xchg = ry; + xchg *= ry; + + ychg = 1; + ychg -= ry; + ychg -= ry; + ychg *= rx; + ychg *= rx; + + err = 0; + + stopx = 0; + + stopy = rxrx2; + stopy *= ry; + + + while( stopx <= stopy ) + { + u8g_draw_ellipse_section(u8g, x, y, x0, y0, option); + x++; + stopx += ryry2; + err += xchg; + xchg += ryry2; + if ( 2*err+ychg > 0 ) + { + y--; + stopy -= rxrx2; + err += ychg; + ychg += rxrx2; + } + } + +} + +void u8g_DrawEllipse(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rx, u8g_uint_t ry, uint8_t option) +{ + /* check for bounding box */ + { + u8g_uint_t rxp, rxp2; + u8g_uint_t ryp, ryp2; + + rxp = rx; + rxp++; + rxp2 = rxp; + rxp2 *= 2; + + ryp = ry; + ryp++; + ryp2 = ryp; + ryp2 *= 2; + + if ( u8g_IsBBXIntersection(u8g, x0-rxp, y0-ryp, rxp2, ryp2) == 0) + return; + } + + u8g_draw_ellipse(u8g, x0, y0, rx, ry, option); +} + +static void u8g_draw_filled_ellipse_section(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0, uint8_t option) U8G_NOINLINE; +static void u8g_draw_filled_ellipse_section(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t x0, u8g_uint_t y0, uint8_t option) +{ + /* upper right */ + if ( option & U8G_DRAW_UPPER_RIGHT ) + { + u8g_DrawVLine(u8g, x0+x, y0-y, y+1); + } + + /* upper left */ + if ( option & U8G_DRAW_UPPER_LEFT ) + { + u8g_DrawVLine(u8g, x0-x, y0-y, y+1); + } + + /* lower right */ + if ( option & U8G_DRAW_LOWER_RIGHT ) + { + u8g_DrawVLine(u8g, x0+x, y0, y+1); + } + + /* lower left */ + if ( option & U8G_DRAW_LOWER_LEFT ) + { + u8g_DrawVLine(u8g, x0-x, y0, y+1); + } +} + +void u8g_draw_filled_ellipse(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rx, u8g_uint_t ry, uint8_t option) +{ + u8g_uint_t x, y; + u8g_long_t xchg, ychg; + u8g_long_t err; + u8g_long_t rxrx2; + u8g_long_t ryry2; + u8g_long_t stopx, stopy; + + rxrx2 = rx; + rxrx2 *= rx; + rxrx2 *= 2; + + ryry2 = ry; + ryry2 *= ry; + ryry2 *= 2; + + x = rx; + y = 0; + + xchg = 1; + xchg -= rx; + xchg -= rx; + xchg *= ry; + xchg *= ry; + + ychg = rx; + ychg *= rx; + + err = 0; + + stopx = ryry2; + stopx *= rx; + stopy = 0; + + while( stopx >= stopy ) + { + u8g_draw_filled_ellipse_section(u8g, x, y, x0, y0, option); + y++; + stopy += rxrx2; + err += ychg; + ychg += rxrx2; + if ( 2*err+xchg > 0 ) + { + x--; + stopx -= ryry2; + err += xchg; + xchg += ryry2; + } + } + + x = 0; + y = ry; + + xchg = ry; + xchg *= ry; + + ychg = 1; + ychg -= ry; + ychg -= ry; + ychg *= rx; + ychg *= rx; + + err = 0; + + stopx = 0; + + stopy = rxrx2; + stopy *= ry; + + + while( stopx <= stopy ) + { + u8g_draw_filled_ellipse_section(u8g, x, y, x0, y0, option); + x++; + stopx += ryry2; + err += xchg; + xchg += ryry2; + if ( 2*err+ychg > 0 ) + { + y--; + stopy -= rxrx2; + err += ychg; + ychg += rxrx2; + } + } + +} + +void u8g_DrawFilledEllipse(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rx, u8g_uint_t ry, uint8_t option) +{ + /* check for bounding box */ + { + u8g_uint_t rxp, rxp2; + u8g_uint_t ryp, ryp2; + + rxp = rx; + rxp++; + rxp2 = rxp; + rxp2 *= 2; + + ryp = ry; + ryp++; + ryp2 = ryp; + ryp2 *= 2; + + if ( u8g_IsBBXIntersection(u8g, x0-rxp, y0-ryp, rxp2, ryp2) == 0) + return; + } + + u8g_draw_filled_ellipse(u8g, x0, y0, rx, ry, option); +} diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_font.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_font.c new file mode 100644 index 000000000..b9add2f80 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_font.c @@ -0,0 +1,1512 @@ +/* + + u8g_font.c + + U8G Font High Level Interface + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +*/ + +#include "u8g.h" + +/* font api */ + +/* pointer to the start adress of the glyph, points to progmem area */ +typedef void * u8g_glyph_t; + +/* size of the font data structure, there is no struct or class... */ +#define U8G_FONT_DATA_STRUCT_SIZE 17 + +/* + ... instead the fields of the font data structure are accessed directly by offset + font information + offset + 0 font format + 1 FONTBOUNDINGBOX width unsigned + 2 FONTBOUNDINGBOX height unsigned + 3 FONTBOUNDINGBOX x-offset signed + 4 FONTBOUNDINGBOX y-offset signed + 5 capital A height unsigned + 6 start 'A' + 8 start 'a' + 10 encoding start + 11 encoding end + 12 descent 'g' negative: below baseline + 13 font max ascent + 14 font min decent negative: below baseline + 15 font xascent + 16 font xdecent negative: below baseline + +*/ + +/* use case: What is the width and the height of the minimal box into which string s fints? */ +void u8g_font_GetStrSize(const void *font, const char *s, u8g_uint_t *width, u8g_uint_t *height); +void u8g_font_GetStrSizeP(const void *font, const char *s, u8g_uint_t *width, u8g_uint_t *height); + +/* use case: lower left edge of a minimal box is known, what is the correct x, y position for the string draw procedure */ +void u8g_font_AdjustXYToDraw(const void *font, const char *s, u8g_uint_t *x, u8g_uint_t *y); +void u8g_font_AdjustXYToDrawP(const void *font, const char *s, u8g_uint_t *x, u8g_uint_t *y); + +/* use case: Baseline origin known, return minimal box */ +void u8g_font_GetStrMinBox(u8g_t *u8g, const void *font, const char *s, u8g_uint_t *x, u8g_uint_t *y, u8g_uint_t *width, u8g_uint_t *height); + +/* procedures */ + +/*========================================================================*/ +/* low level byte and word access */ + +/* removed NOINLINE, because it leads to smaller code, might also be faster */ +//static uint8_t u8g_font_get_byte(const u8g_fntpgm_uint8_t *font, uint8_t offset) U8G_NOINLINE; +static uint8_t u8g_font_get_byte(const u8g_fntpgm_uint8_t *font, uint8_t offset) +{ + font += offset; + return u8g_pgm_read( (u8g_pgm_uint8_t *)font ); +} + +static uint16_t u8g_font_get_word(const u8g_fntpgm_uint8_t *font, uint8_t offset) U8G_NOINLINE; +static uint16_t u8g_font_get_word(const u8g_fntpgm_uint8_t *font, uint8_t offset) +{ + uint16_t pos; + font += offset; + pos = u8g_pgm_read( (u8g_pgm_uint8_t *)font ); + font++; + pos <<= 8; + pos += u8g_pgm_read( (u8g_pgm_uint8_t *)font); + return pos; +} + +/*========================================================================*/ +/* direct access on the font */ + +static uint8_t u8g_font_GetFormat(const u8g_fntpgm_uint8_t *font) U8G_NOINLINE; +static uint8_t u8g_font_GetFormat(const u8g_fntpgm_uint8_t *font) +{ + return u8g_font_get_byte(font, 0); +} + +static uint8_t u8g_font_GetFontGlyphStructureSize(const u8g_fntpgm_uint8_t *font) U8G_NOINLINE; +static uint8_t u8g_font_GetFontGlyphStructureSize(const u8g_fntpgm_uint8_t *font) +{ + switch(u8g_font_GetFormat(font)) + { + case 0: return 6; + case 1: return 3; + case 2: return 6; + } + return 3; +} + +static uint8_t u8g_font_GetBBXWidth(const void *font) +{ + return u8g_font_get_byte(font, 1); +} + +static uint8_t u8g_font_GetBBXHeight(const void *font) +{ + return u8g_font_get_byte(font, 2); +} + +static int8_t u8g_font_GetBBXOffX(const void *font) +{ + return u8g_font_get_byte(font, 3); +} + +static int8_t u8g_font_GetBBXOffY(const void *font) +{ + return u8g_font_get_byte(font, 4); +} + +uint8_t u8g_font_GetCapitalAHeight(const void *font) +{ + return u8g_font_get_byte(font, 5); +} + +uint16_t u8g_font_GetEncoding65Pos(const void *font) U8G_NOINLINE; +uint16_t u8g_font_GetEncoding65Pos(const void *font) +{ + return u8g_font_get_word(font, 6); +} + +uint16_t u8g_font_GetEncoding97Pos(const void *font) U8G_NOINLINE; +uint16_t u8g_font_GetEncoding97Pos(const void *font) +{ + return u8g_font_get_word(font, 8); +} + +uint8_t u8g_font_GetFontStartEncoding(const void *font) +{ + return u8g_font_get_byte(font, 10); +} + +uint8_t u8g_font_GetFontEndEncoding(const void *font) +{ + return u8g_font_get_byte(font, 11); +} + +int8_t u8g_font_GetLowerGDescent(const void *font) +{ + return u8g_font_get_byte(font, 12); +} + +int8_t u8g_font_GetFontAscent(const void *font) +{ + return u8g_font_get_byte(font, 13); +} + +int8_t u8g_font_GetFontDescent(const void *font) +{ + return u8g_font_get_byte(font, 14); +} + +int8_t u8g_font_GetFontXAscent(const void *font) +{ + return u8g_font_get_byte(font, 15); +} + +int8_t u8g_font_GetFontXDescent(const void *font) +{ + return u8g_font_get_byte(font, 16); +} + + +/* return the data start for a font and the glyph pointer */ +static uint8_t *u8g_font_GetGlyphDataStart(const void *font, u8g_glyph_t g) +{ + return ((u8g_fntpgm_uint8_t *)g) + u8g_font_GetFontGlyphStructureSize(font); +} + +/* calculate the overall length of the font, only used to create the picture for the google wiki */ +size_t u8g_font_GetSize(const void *font) +{ + uint8_t *p = (uint8_t *)(font); + uint8_t font_format = u8g_font_GetFormat(font); + uint8_t data_structure_size = u8g_font_GetFontGlyphStructureSize(font); + uint8_t start, end; + uint8_t i; + uint8_t mask = 255; + + start = u8g_font_GetFontStartEncoding(font); + end = u8g_font_GetFontEndEncoding(font); + + if ( font_format == 1 ) + mask = 15; + + p += U8G_FONT_DATA_STRUCT_SIZE; /* skip font general information */ + + i = start; + for(;;) + { + if ( u8g_pgm_read((u8g_pgm_uint8_t *)(p)) == 255 ) + { + p += 1; + } + else + { + p += u8g_pgm_read( ((u8g_pgm_uint8_t *)(p)) + 2 ) & mask; + p += data_structure_size; + } + if ( i == end ) + break; + i++; + } + + return p - (uint8_t *)font; +} + +/*========================================================================*/ +/* u8g interface, font access */ + +uint8_t u8g_GetFontBBXWidth(u8g_t *u8g) +{ + return u8g_font_GetBBXWidth(u8g->font); +} + +uint8_t u8g_GetFontBBXHeight(u8g_t *u8g) +{ + return u8g_font_GetBBXHeight(u8g->font); +} + +int8_t u8g_GetFontBBXOffX(u8g_t *u8g) U8G_NOINLINE; +int8_t u8g_GetFontBBXOffX(u8g_t *u8g) +{ + return u8g_font_GetBBXOffX(u8g->font); +} + +int8_t u8g_GetFontBBXOffY(u8g_t *u8g) U8G_NOINLINE; +int8_t u8g_GetFontBBXOffY(u8g_t *u8g) +{ + return u8g_font_GetBBXOffY(u8g->font); +} + +uint8_t u8g_GetFontCapitalAHeight(u8g_t *u8g) U8G_NOINLINE; +uint8_t u8g_GetFontCapitalAHeight(u8g_t *u8g) +{ + return u8g_font_GetCapitalAHeight(u8g->font); +} + +/*========================================================================*/ +/* glyph handling */ + +static void u8g_CopyGlyphDataToCache(u8g_t *u8g, u8g_glyph_t g) +{ + uint8_t tmp; + switch( u8g_font_GetFormat(u8g->font) ) + { + case 0: + case 2: + /* + format 0 + glyph information + offset + 0 BBX width unsigned + 1 BBX height unsigned + 2 data size unsigned (BBX width + 7)/8 * BBX height + 3 DWIDTH signed + 4 BBX xoffset signed + 5 BBX yoffset signed + byte 0 == 255 indicates empty glyph + */ + u8g->glyph_width = u8g_pgm_read( ((u8g_pgm_uint8_t *)g) + 0 ); + u8g->glyph_height = u8g_pgm_read( ((u8g_pgm_uint8_t *)g) + 1 ); + u8g->glyph_dx = u8g_pgm_read( ((u8g_pgm_uint8_t *)g) + 3 ); + u8g->glyph_x = u8g_pgm_read( ((u8g_pgm_uint8_t *)g) + 4 ); + u8g->glyph_y = u8g_pgm_read( ((u8g_pgm_uint8_t *)g) + 5 ); + break; + case 1: + default: + /* +format 1 + 0 BBX xoffset signed --> upper 4 Bit + 0 BBX yoffset signed --> lower 4 Bit + 1 BBX width unsigned --> upper 4 Bit + 1 BBX height unsigned --> lower 4 Bit + 2 data size unsigned -(BBX width + 7)/8 * BBX height --> lower 4 Bit + 2 DWIDTH signed --> upper 4 Bit + byte 0 == 255 indicates empty glyph + */ + + tmp = u8g_pgm_read( ((u8g_pgm_uint8_t *)g) + 0 ); + u8g->glyph_y = tmp & 15; + u8g->glyph_y-=2; + tmp >>= 4; + u8g->glyph_x = tmp; + + tmp = u8g_pgm_read( ((u8g_pgm_uint8_t *)g) + 1 ); + u8g->glyph_height = tmp & 15; + tmp >>= 4; + u8g->glyph_width = tmp; + + tmp = u8g_pgm_read( ((u8g_pgm_uint8_t *)g) + 2 ); + tmp >>= 4; + u8g->glyph_dx = tmp; + + + break; + } +} + +//void u8g_FillEmptyGlyphCache(u8g_t *u8g) U8G_NOINLINE; +static void u8g_FillEmptyGlyphCache(u8g_t *u8g) +{ + u8g->glyph_dx = 0; + u8g->glyph_width = 0; + u8g->glyph_height = 0; + u8g->glyph_x = 0; + u8g->glyph_y = 0; +} + +/* + Find (with some speed optimization) and return a pointer to the glyph data structure + Also uncompress (format 1) and copy the content of the data structure to the u8g structure +*/ +u8g_glyph_t u8g_GetGlyph(u8g_t *u8g, uint8_t requested_encoding) +{ + uint8_t *p = (uint8_t *)(u8g->font); + uint8_t font_format = u8g_font_GetFormat(u8g->font); + uint8_t data_structure_size = u8g_font_GetFontGlyphStructureSize(u8g->font); + uint8_t start, end; + uint16_t pos; + uint8_t i; + uint8_t mask = 255; + + if ( font_format == 1 ) + mask = 15; + + start = u8g_font_GetFontStartEncoding(u8g->font); + end = u8g_font_GetFontEndEncoding(u8g->font); + + pos = u8g_font_GetEncoding97Pos(u8g->font); + if ( requested_encoding >= 97 && pos > 0 ) + { + p+= pos; + start = 97; + } + else + { + pos = u8g_font_GetEncoding65Pos(u8g->font); + if ( requested_encoding >= 65 && pos > 0 ) + { + p+= pos; + start = 65; + } + else + p += U8G_FONT_DATA_STRUCT_SIZE; /* skip font general information */ + } + + if ( requested_encoding > end ) + { + u8g_FillEmptyGlyphCache(u8g); + return NULL; /* not found */ + } + + i = start; + if ( i <= end ) + { + for(;;) + { + if ( u8g_pgm_read((u8g_pgm_uint8_t *)(p)) == 255 ) + { + p += 1; + } + else + { + if ( i == requested_encoding ) + { + u8g_CopyGlyphDataToCache(u8g, p); + return p; + } + p += u8g_pgm_read( ((u8g_pgm_uint8_t *)(p)) + 2 ) & mask; + p += data_structure_size; + } + if ( i == end ) + break; + i++; + } + } + + u8g_FillEmptyGlyphCache(u8g); + + return NULL; +} + +uint8_t u8g_IsGlyph(u8g_t *u8g, uint8_t requested_encoding) +{ + if ( u8g_GetGlyph(u8g, requested_encoding) != NULL ) + return 1; + return 0; +} + +int8_t u8g_GetGlyphDeltaX(u8g_t *u8g, uint8_t requested_encoding) +{ + if ( u8g_GetGlyph(u8g, requested_encoding) == NULL ) + return 0; /* should never happen, so return something */ + return u8g->glyph_dx; +} + + +/*========================================================================*/ +/* glyph drawing procedures */ + +#ifdef OBSOLETE +/* + Draw a glyph + x,y: left baseline position of the glyph +*/ +int8_t u8g_DrawGlyphDir(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t dir, uint8_t encoding) +{ + u8g_glyph_t g; + uint8_t w, h, i, j; + const u8g_pgm_uint8_t *data; + uint8_t bytes_per_line; + u8g_uint_t ix, iy; + + g = u8g_GetGlyph(u8g, encoding); + if ( g == NULL ) + return 0; + w = u8g->glyph_width; + h = u8g->glyph_height; + + bytes_per_line = w; + bytes_per_line += 7; + bytes_per_line /= 8; + + data = u8g_font_GetGlyphDataStart(u8g->font, g); + + switch(dir) + { + case 0: + x += u8g->glyph_x; + y -= u8g->glyph_y; + y--; + //u8g_DrawFrame(u8g, x, y-h+1, w, h); + if ( u8g_IsBBXIntersection(u8g, x, y-h+1, w, h) == 0 ) + return u8g->glyph_dx; + + iy = y; + iy -= h; + iy++; + + for( j = 0; j < h; j++ ) + { + ix = x; + for( i = 0; i < bytes_per_line; i++ ) + { + u8g_Draw8Pixel(u8g, ix, iy, dir, u8g_pgm_read(data)); + data++; + ix+=8; + } + iy++; + } + break; + case 1: + x += u8g->glyph_y; + x++; + y += u8g->glyph_x; + //printf("enc %d, dir %d, x %d, y %d, w %d, h %d\n", encoding, dir, x, y, w, h); + //u8g_DrawFrame(u8g, x, y, h, w); + if ( u8g_IsBBXIntersection(u8g, x, y, h, w) == 0 ) + return u8g->glyph_dx; + + ix = x; + ix += h; + ix--; + for( j = 0; j < h; j++ ) + { + iy = y; + for( i = 0; i < bytes_per_line; i++ ) + { + u8g_Draw8Pixel(u8g, ix, iy, dir, u8g_pgm_read(data)); + data++; + iy+=8; + } + ix--; + } + break; + case 2: + x -= u8g->glyph_x; + y += u8g->glyph_y; + y++; + if ( u8g_IsBBXIntersection(u8g, x-w-1, y, w, h) == 0 ) + return u8g->glyph_dx; + + iy = y; + iy += h; + iy--; + for( j = 0; j < h; j++ ) + { + ix = x; + for( i = 0; i < bytes_per_line; i++ ) + { + u8g_Draw8Pixel(u8g, ix, iy, dir, u8g_pgm_read(data)); + data++; + ix-=8; + } + iy--; + } + break; + case 3: + x -= u8g->glyph_y; + x--; + y -= u8g->glyph_x; + + if ( u8g_IsBBXIntersection(u8g, x-h-1, y-w-1, h, w) == 0 ) + return u8g->glyph_dx; + + ix = x; + ix -= h; + ix++; + + for( j = 0; j < h; j++ ) + { + iy = y; + for( i = 0; i < bytes_per_line; i++ ) + { + u8g_Draw8Pixel(u8g, ix, iy, dir, u8g_pgm_read(data)); + data++; + iy-=8; + } + ix++; + } + break; + } + return u8g->glyph_dx; +} +#endif + +int8_t u8g_draw_glyph(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding) +{ + const u8g_pgm_uint8_t *data; + uint8_t w, h; + uint8_t i, j; + u8g_uint_t ix, iy; + + { + u8g_glyph_t g = u8g_GetGlyph(u8g, encoding); + if ( g == NULL ) + return 0; + data = u8g_font_GetGlyphDataStart(u8g->font, g); + } + + w = u8g->glyph_width; + h = u8g->glyph_height; + + x += u8g->glyph_x; + y -= u8g->glyph_y; + y--; + + if ( u8g_IsBBXIntersection(u8g, x, y-h+1, w, h) == 0 ) + return u8g->glyph_dx; + + /* now, w is reused as bytes per line */ + w += 7; + w /= 8; + + iy = y; + iy -= h; + iy++; + + for( j = 0; j < h; j++ ) + { + ix = x; + for( i = 0; i < w; i++ ) + { + u8g_Draw8Pixel(u8g, ix, iy, 0, u8g_pgm_read(data)); + data++; + ix+=8; + } + iy++; + } + return u8g->glyph_dx; +} + +int8_t u8g_DrawGlyph(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding) +{ + y += u8g->font_calc_vref(u8g); + return u8g_draw_glyph(u8g, x, y, encoding); +} + +int8_t u8g_draw_glyph90(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding) +{ + const u8g_pgm_uint8_t *data; + uint8_t w, h; + uint8_t i, j; + u8g_uint_t ix, iy; + + { + u8g_glyph_t g = u8g_GetGlyph(u8g, encoding); + if ( g == NULL ) + return 0; + data = u8g_font_GetGlyphDataStart(u8g->font, g); + } + + w = u8g->glyph_width; + h = u8g->glyph_height; + + x += u8g->glyph_y; + x++; + y += u8g->glyph_x; + + if ( u8g_IsBBXIntersection(u8g, x, y, h, w) == 0 ) + return u8g->glyph_dx; + + /* now, w is reused as bytes per line */ + w += 7; + w /= 8; + + ix = x; + ix += h; + ix--; + for( j = 0; j < h; j++ ) + { + iy = y; + for( i = 0; i < w; i++ ) + { + u8g_Draw8Pixel(u8g, ix, iy, 1, u8g_pgm_read(data)); + data++; + iy+=8; + } + ix--; + } + return u8g->glyph_dx; +} + +int8_t u8g_DrawGlyph90(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding) +{ + x -= u8g->font_calc_vref(u8g); + return u8g_draw_glyph90(u8g, x, y, encoding); +} + + +int8_t u8g_draw_glyph180(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding) +{ + const u8g_pgm_uint8_t *data; + uint8_t w, h; + uint8_t i, j; + u8g_uint_t ix, iy; + + { + u8g_glyph_t g = u8g_GetGlyph(u8g, encoding); + if ( g == NULL ) + return 0; + data = u8g_font_GetGlyphDataStart(u8g->font, g); + } + + w = u8g->glyph_width; + h = u8g->glyph_height; + + x -= u8g->glyph_x; + y += u8g->glyph_y; + y++; + + if ( u8g_IsBBXIntersection(u8g, x-(w-1), y, w, h) == 0 ) + return u8g->glyph_dx; + + /* now, w is reused as bytes per line */ + w += 7; + w /= 8; + + iy = y; + iy += h; + iy--; + for( j = 0; j < h; j++ ) + { + ix = x; + for( i = 0; i < w; i++ ) + { + u8g_Draw8Pixel(u8g, ix, iy, 2, u8g_pgm_read(data)); + data++; + ix-=8; + } + iy--; + } + return u8g->glyph_dx; +} + +int8_t u8g_DrawGlyph180(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding) +{ + y -= u8g->font_calc_vref(u8g); + return u8g_draw_glyph180(u8g, x, y, encoding); +} + + +int8_t u8g_draw_glyph270(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding) +{ + const u8g_pgm_uint8_t *data; + uint8_t w, h; + uint8_t i, j; + u8g_uint_t ix, iy; + + { + u8g_glyph_t g = u8g_GetGlyph(u8g, encoding); + if ( g == NULL ) + return 0; + data = u8g_font_GetGlyphDataStart(u8g->font, g); + } + + w = u8g->glyph_width; + h = u8g->glyph_height; + + x -= u8g->glyph_y; + x--; + y -= u8g->glyph_x; + + if ( u8g_IsBBXIntersection(u8g, x-(h-1), y-(w-1), h, w) == 0 ) + return u8g->glyph_dx; + + + /* now, w is reused as bytes per line */ + w += 7; + w /= 8; + + ix = x; + ix -= h; + ix++; + + for( j = 0; j < h; j++ ) + { + iy = y; + for( i = 0; i < w; i++ ) + { + u8g_Draw8Pixel(u8g, ix, iy, 3, u8g_pgm_read(data)); + data++; + iy-=8; + } + ix++; + } + return u8g->glyph_dx; +} + +int8_t u8g_DrawGlyph270(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding) +{ + x += u8g->font_calc_vref(u8g); + return u8g_draw_glyph270(u8g, x, y, encoding); +} + + + +#ifdef OBSOLETE +/* + Draw a glyph + x,y: lower left corner of the font bounding box +*/ +int8_t u8g_DrawGlyphFontBBX(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t dir, uint8_t encoding) +{ + /* TODO: apply "dir" */ + x -= u8g_GetFontBBXOffX(u8g); + y += u8g_GetFontBBXOffY(u8g); + return u8g_DrawGlyphDir(u8g, x, y, dir, encoding); +} +#endif + +/*========================================================================*/ +/* string drawing procedures */ + + +u8g_uint_t u8g_DrawStr(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const char *s) +{ + u8g_uint_t t = 0; + int8_t d; + + //u8g_uint_t u8g_GetStrWidth(u8g, s); + //u8g_font_GetFontAscent(u8g->font)-u8g_font_GetFontDescent(u8g->font); + + y += u8g->font_calc_vref(u8g); + + while( *s != '\0' ) + { + d = u8g_draw_glyph(u8g, x, y, *s); + x += d; + t += d; + s++; + } + return t; +} + +u8g_uint_t u8g_DrawStr90(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const char *s) +{ + u8g_uint_t t = 0; + int8_t d; + + x -= u8g->font_calc_vref(u8g); + + while( *s != '\0' ) + { + d = u8g_draw_glyph90(u8g, x, y, *s); + y += d; + t += d; + s++; + } + return t; +} + +u8g_uint_t u8g_DrawStr180(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const char *s) +{ + u8g_uint_t t = 0; + int8_t d; + + y -= u8g->font_calc_vref(u8g); + + while( *s != '\0' ) + { + d = u8g_draw_glyph180(u8g, x, y, *s); + x -= d; + t += d; + s++; + } + return t; +} + +u8g_uint_t u8g_DrawStr270(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const char *s) +{ + u8g_uint_t t = 0; + int8_t d; + + x += u8g->font_calc_vref(u8g); + + while( *s != '\0' ) + { + d = u8g_draw_glyph270(u8g, x, y, *s); + y -= d; + t += d; + s++; + } + return t; +} + +u8g_uint_t u8g_DrawStrDir(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t dir, const char *s) +{ + switch(dir) + { + case 0: + return u8g_DrawStr(u8g, x, y, s); + case 1: + return u8g_DrawStr90(u8g, x, y, s); + case 2: + return u8g_DrawStr180(u8g, x, y, s); + case 3: + return u8g_DrawStr270(u8g, x, y, s); + } + return 0; +} + +u8g_uint_t u8g_DrawStrP(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const u8g_pgm_uint8_t *s) +{ + u8g_uint_t t = 0; + int8_t d; + uint8_t c; + + y += u8g->font_calc_vref(u8g); + + for(;;) + { + c = u8g_pgm_read(s); + if ( c == '\0' ) + break; + d = u8g_draw_glyph(u8g, x, y, c); + x += d; + t += d; + s++; + } + return t; +} + +u8g_uint_t u8g_DrawStr90P(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const u8g_pgm_uint8_t *s) +{ + u8g_uint_t t = 0; + int8_t d; + uint8_t c; + + x -= u8g->font_calc_vref(u8g); + + for(;;) + { + c = u8g_pgm_read(s); + if ( c == '\0' ) + break; + d = u8g_DrawGlyph90(u8g, x, y, c); + y += d; + t += d; + s++; + } + return t; +} + +u8g_uint_t u8g_DrawStr180P(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const u8g_pgm_uint8_t *s) +{ + u8g_uint_t t = 0; + int8_t d; + uint8_t c; + + y -= u8g->font_calc_vref(u8g); + + for(;;) + { + c = u8g_pgm_read(s); + if ( c == '\0' ) + break; + d = u8g_DrawGlyph180(u8g, x, y, c); + x -= d; + t += d; + s++; + } + return t; +} + +u8g_uint_t u8g_DrawStr270P(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const u8g_pgm_uint8_t *s) +{ + u8g_uint_t t = 0; + int8_t d; + uint8_t c; + + x += u8g->font_calc_vref(u8g); + + for(;;) + { + c = u8g_pgm_read(s); + if ( c == '\0' ) + break; + d = u8g_DrawGlyph270(u8g, x, y, c); + y -= d; + t += d; + s++; + } + return t; +} + +u8g_uint_t u8g_DrawStrFontBBX(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t dir, const char *s) +{ + x -= u8g_GetFontBBXOffX(u8g); + y += u8g_GetFontBBXOffY(u8g); + return u8g_DrawStrDir(u8g, x, y, dir, s); +} + +/* still used by picgen.c, dir argument is ignored */ +int8_t u8g_DrawGlyphFontBBX(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t dir, uint8_t encoding) +{ + x -= u8g_GetFontBBXOffX(u8g); + y += u8g_GetFontBBXOffY(u8g); + u8g_draw_glyph(u8g, x, y, encoding); + return 0; +} + + +/*========================================================================*/ +/* set ascent/descent for reference point calculation */ + +void u8g_UpdateRefHeight(u8g_t *u8g) +{ + uint16_t ls; + if ( u8g->font == NULL ) + return; + if ( u8g->font_height_mode == U8G_FONT_HEIGHT_MODE_TEXT ) + { + u8g->font_ref_ascent = u8g_font_GetCapitalAHeight(u8g->font); + u8g->font_ref_descent = u8g_font_GetLowerGDescent(u8g->font); + } + else if ( u8g->font_height_mode == U8G_FONT_HEIGHT_MODE_XTEXT ) + { + u8g->font_ref_ascent = u8g_font_GetFontXAscent(u8g->font); + u8g->font_ref_descent = u8g_font_GetFontXDescent(u8g->font); + } + else + { + u8g->font_ref_ascent = u8g_font_GetFontAscent(u8g->font); + u8g->font_ref_descent = u8g_font_GetFontDescent(u8g->font); + } + + ls = u8g->font_ref_ascent - u8g->font_ref_descent; + if ( u8g->font_line_spacing_factor != 64 ) + { + ls &= 255; + ls *= u8g->font_line_spacing_factor; + ls >>= 6; + } + u8g->line_spacing = ls; +} + +void u8g_SetFontRefHeightText(u8g_t *u8g) +{ + u8g->font_height_mode = U8G_FONT_HEIGHT_MODE_TEXT; + u8g_UpdateRefHeight(u8g); +} + +void u8g_SetFontRefHeightExtendedText(u8g_t *u8g) +{ + u8g->font_height_mode = U8G_FONT_HEIGHT_MODE_XTEXT; + u8g_UpdateRefHeight(u8g); +} + + +void u8g_SetFontRefHeightAll(u8g_t *u8g) +{ + u8g->font_height_mode = U8G_FONT_HEIGHT_MODE_ALL; + u8g_UpdateRefHeight(u8g); +} + +/* factor = 64: linespaceing == ascent and descent */ +void u8g_SetFontLineSpacingFactor(u8g_t *u8g, uint8_t factor) +{ + u8g->font_line_spacing_factor = factor; + u8g_UpdateRefHeight(u8g); +} + + + +/*========================================================================*/ +/* callback procedures to correct the y position */ + +u8g_uint_t u8g_font_calc_vref_font(u8g_t *u8g) +{ + return 0; +} + +void u8g_SetFontPosBaseline(u8g_t *u8g) +{ + u8g->font_calc_vref = u8g_font_calc_vref_font; +} + + +u8g_uint_t u8g_font_calc_vref_bottom(u8g_t *u8g) +{ + /* y += (u8g_uint_t)(u8g_int_t)(u8g->font_ref_descent); */ + return (u8g_uint_t)(u8g_int_t)(u8g->font_ref_descent); +} + +void u8g_SetFontPosBottom(u8g_t *u8g) +{ + u8g->font_calc_vref = u8g_font_calc_vref_bottom; +} + +u8g_uint_t u8g_font_calc_vref_top(u8g_t *u8g) +{ + u8g_uint_t tmp; + /* reference pos is one pixel above the upper edge of the reference glyph */ + + /* + y += (u8g_uint_t)(u8g_int_t)(u8g->font_ref_ascent); + y++; + */ + tmp = (u8g_uint_t)(u8g_int_t)(u8g->font_ref_ascent); + tmp++; + return tmp; +} + +void u8g_SetFontPosTop(u8g_t *u8g) +{ + u8g->font_calc_vref = u8g_font_calc_vref_top; +} + +u8g_uint_t u8g_font_calc_vref_center(u8g_t *u8g) +{ + int8_t tmp; + tmp = u8g->font_ref_ascent; + tmp -= u8g->font_ref_descent; + tmp /= 2; + tmp += u8g->font_ref_descent; + /* y += (u8g_uint_t)(u8g_int_t)(tmp); */ + return tmp; +} + +void u8g_SetFontPosCenter(u8g_t *u8g) +{ + u8g->font_calc_vref = u8g_font_calc_vref_center; +} + +/*========================================================================*/ +/* string pixel width calculation */ + +char u8g_font_get_char(const void *s) +{ + return *(const char *)(s); +} + +char u8g_font_get_charP(const void *s) +{ + return u8g_pgm_read(s); +} + +typedef char (*u8g_font_get_char_fn)(const void *s); + + +u8g_uint_t u8g_font_calc_str_pixel_width(u8g_t *u8g, const char *s, u8g_font_get_char_fn get_char ) +{ + u8g_uint_t w; + uint8_t enc; + + /* reset the total minimal width to zero, this will be expanded during calculation */ + w = 0; + + enc = get_char(s); + + /* check for empty string, width is already 0 */ + if ( enc == '\0' ) + { + return w; + } + + /* get the glyph information of the first char. This must be valid, because we already checked for the empty string */ + /* if *s is not inside the font, then the cached parameters of the glyph are all zero */ + u8g_GetGlyph(u8g, enc); + + /* strlen(s) == 1: width = width(s[0]) */ + /* strlen(s) == 2: width = - offx(s[0]) + deltax(s[0]) + offx(s[1]) + width(s[1]) */ + /* strlen(s) == 3: width = - offx(s[0]) + deltax(s[0]) + deltax(s[1]) + offx(s[2]) + width(s[2]) */ + + /* assume that the string has size 2 or more, than start with negative offset-x */ + /* for string with size 1, this will be nullified after the loop */ + w = -u8g->glyph_x; + for(;;) + { + + /* check and stop if the end of the string is reached */ + s++; + if ( get_char(s) == '\0' ) + break; + + /* if there are still more characters, add the delta to the next glyph */ + w += u8g->glyph_dx; + + /* store the encoding in a local variable, used also after the for(;;) loop */ + enc = get_char(s); + + /* load the next glyph information */ + u8g_GetGlyph(u8g, enc); + } + + /* finally calculate the width of the last char */ + /* here is another exception, if the last char is a black, use the dx value instead */ + if ( enc != ' ' ) + { + /* if g was not updated in the for loop (strlen() == 1), then the initial offset x gets removed */ + w += u8g->glyph_width; + w += u8g->glyph_x; + } + else + { + w += u8g->glyph_dx; + } + + + return w; +} + +u8g_uint_t u8g_GetStrPixelWidth(u8g_t *u8g, const char *s) +{ + return u8g_font_calc_str_pixel_width(u8g, s, u8g_font_get_char); +} + +u8g_uint_t u8g_GetStrPixelWidthP(u8g_t *u8g, const u8g_pgm_uint8_t *s) +{ + return u8g_font_calc_str_pixel_width(u8g, (const char *)s, u8g_font_get_charP); +} + +int8_t u8g_GetStrX(u8g_t *u8g, const char *s) +{ + u8g_GetGlyph(u8g, *s); + return u8g->glyph_x; +} + +int8_t u8g_GetStrXP(u8g_t *u8g, const u8g_pgm_uint8_t *s) +{ + u8g_GetGlyph(u8g, u8g_pgm_read(s)); + return u8g->glyph_x; +} + +/*========================================================================*/ +/* string width calculation */ + +u8g_uint_t u8g_GetStrWidth(u8g_t *u8g, const char *s) +{ + u8g_uint_t w; + uint8_t encoding; + + /* reset the total width to zero, this will be expanded during calculation */ + w = 0; + + for(;;) + { + encoding = *s; + if ( encoding == 0 ) + break; + + /* load glyph information */ + u8g_GetGlyph(u8g, encoding); + w += u8g->glyph_dx; + + /* goto next char */ + s++; + } + + return w; +} + + +u8g_uint_t u8g_GetStrWidthP(u8g_t *u8g, const u8g_pgm_uint8_t *s) +{ + u8g_uint_t w; + uint8_t encoding; + + /* reset the total width to zero, this will be expanded during calculation */ + w = 0; + + for(;;) + { + encoding = u8g_pgm_read(s); + if ( encoding == 0 ) + break; + + /* load glyph information */ + u8g_GetGlyph(u8g, encoding); + w += u8g->glyph_dx; + + /* goto next char */ + s++; + } + + return w; +} + + +/*========================================================================*/ +/* calculation of font/glyph/string characteristics */ + + +/* + Description: + Calculate parameter for the minimal bounding box on a given string + Output + buf->y_min extend of the lower left edge if the string below (y_min<0) or above (y_min>0) baseline (descent) + buf->y_max extend of the upper left edge if the string below (y_min<0) or above (y_min>0) baseline (ascent) + buf->w the width of the string +*/ +struct u8g_str_size_struct +{ + int8_t y_min; /* descent */ + int8_t y_max; /* ascent */ + int8_t x, y; /* the reference point of the font (negated!) */ + u8g_uint_t w; /* width of the overall string */ +}; +typedef struct u8g_str_size_struct u8g_str_size_t; + +static void u8g_font_calc_str_min_box(u8g_t *u8g, const char *s, u8g_str_size_t *buf) +{ + /* u8g_glyph_t g; */ + int8_t tmp; + + /* reset the total minimal width to zero, this will be expanded during calculation */ + buf->w = 0; + + /* check for empty string, width is already 0, but also reset y_min and y_max to 0 */ + if ( *s == '\0' ) + { + buf->y_min = 0; + buf->y_max = 0; + buf->x = 0; + buf->y = 0; + return; + } + + /* reset y_min to the largest possible value. Later we search for the smallest value */ + /* y_min contains the position [pixel] of the lower left edge of the glyph above (y_min>0) or below (y_min<0) baseline */ + buf->y_min = 127; + /* reset y_max to the smallest possible value. Later we search for the highest value */ + /* y_max contains the position [pixel] of the upper left edge of the glyph above (y_max>0) or below (y_max<0) baseline */ + buf->y_max = -128; + + /* get the glyph information of the first char. This must be valid, because we already checked for the empty string */ + u8g_GetGlyph(u8g, *s); + + /* strlen(s) == 1: width = width(s[0]) */ + /* strlen(s) == 2: width = - offx(s[0]) + deltax(s[0]) + offx(s[1]) + width(s[1]) */ + /* strlen(s) == 3: width = - offx(s[0]) + deltax(s[0]) + deltax(s[1]) + offx(s[2]) + width(s[2]) */ + + /* assume that the string has size 2 or more, than start with negative offset-x */ + /* for string with size 1, this will be nullified after the loop */ + // buf->w = - u8g_font_GetGlyphBBXOffX(u8g->font, g); + buf->w = - u8g->glyph_x; + + /* Also copy the position of the first glyph. This is the reference point of the string (negated) */ + buf->x = u8g->glyph_x; + buf->y = u8g->glyph_y; + + for(;;) + { + + /* calculated y position of the upper left corner (y_max) and lower left corner (y_min) of the string */ + /* relative to the base line */ + + tmp = u8g->glyph_y; + if ( buf->y_min > tmp ) + buf->y_min = tmp; + + tmp +=u8g->glyph_height; + if ( buf->y_max < tmp ) + buf->y_max = tmp; + + /* check and stop if the end of the string is reached */ + s++; + if ( *s == '\0' ) + break; + + /* if there are still more characters, add the delta to the next glyph */ + buf->w += u8g->glyph_dx; + + /* load the next glyph information */ + u8g_GetGlyph(u8g, *s); + } + + /* finally calculate the width of the last char */ + /* if g was not updated in the for loop (strlen() == 1), then the initial offset x gets removed */ + buf->w += u8g->glyph_width; + // buf->w += u8g_font_GetGlyphBBXOffX(u8g->font, g); + + buf->w += u8g->glyph_x; +} + +/* calculate minimal box */ +void u8g_font_box_min(u8g_t *u8g, const char *s, u8g_str_size_t *buf) +{ + u8g_font_calc_str_min_box(u8g, s, buf); +} + +/* calculate gA box, but do not calculate the overall width */ +void u8g_font_box_left_gA(u8g_t *u8g, const char *s, u8g_str_size_t *buf) +{ + +} + +/* calculate gA box, including overall width */ +void u8g_font_box_all_gA(u8g_t *u8g, const char *s, u8g_str_size_t *buf) +{ + +} + + +static void u8g_font_get_str_box_fill_args(u8g_t *u8g, const char *s, u8g_str_size_t *buf, u8g_uint_t *x, u8g_uint_t *y, u8g_uint_t *width, u8g_uint_t *height) +{ + /* + u8g_glyph_t g; + g = + */ + u8g_GetGlyph(u8g, *s); + *x += u8g->glyph_x; + *width = buf->w; + *y -= buf->y_max; + /* +1 because y_max is a height, this compensates the next step */ + //*y += 1; + /* because the reference point is one below the string, this compensates the previous step */ + //*y -= 1; + *height = buf->y_max; + *height -= buf->y_min; +} + + +void u8g_GetStrMinBox(u8g_t *u8g, const char *s, u8g_uint_t *x, u8g_uint_t *y, u8g_uint_t *width, u8g_uint_t *height) +{ + u8g_str_size_t buf; + + if ( *s == '\0' ) + { + *width= 0; + *height = 0; + return; + } + + u8g_font_calc_str_min_box(u8g, s, &buf); + u8g_font_get_str_box_fill_args(u8g, s, &buf, x, y, width, height); +} + + +void u8g_GetStrAMinBox(u8g_t *u8g, const char *s, u8g_uint_t *x, u8g_uint_t *y, u8g_uint_t *width, u8g_uint_t *height) +{ + u8g_str_size_t buf; + uint8_t cap_a; + + if ( *s == '\0' ) + { + *width= 0; + *height = 0; + return; + } + + cap_a = u8g_font_GetCapitalAHeight(u8g->font); + u8g_font_calc_str_min_box(u8g, s, &buf); + if ( buf.y_max < cap_a ) + buf.y_max = cap_a; + u8g_font_get_str_box_fill_args(u8g, s, &buf, x, y, width, height); +} + +void u8g_SetFont(u8g_t *u8g, const u8g_fntpgm_uint8_t *font) +{ + if ( u8g->font != font ) + { + u8g->font = font; + u8g_UpdateRefHeight(u8g); + u8g_SetFontPosBaseline(u8g); + } +} + +/*========================================================================*/ +/* anti aliasing fonts */ + +int8_t u8g_draw_aa_glyph(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding) +{ + const u8g_pgm_uint8_t *data; + uint8_t w, h; + uint8_t i, j; + u8g_uint_t ix, iy; + + { + u8g_glyph_t g = u8g_GetGlyph(u8g, encoding); + if ( g == NULL ) + return 0; + data = u8g_font_GetGlyphDataStart(u8g->font, g); + } + + w = u8g->glyph_width; + h = u8g->glyph_height; + + x += u8g->glyph_x; + y -= u8g->glyph_y; + y--; + + if ( u8g_IsBBXIntersection(u8g, x, y-h+1, w, h) == 0 ) + return u8g->glyph_dx; + + /* now, w is reused as bytes per line */ + w += 3; + w /= 4; + + iy = y; + iy -= h; + iy++; + + for( j = 0; j < h; j++ ) + { + ix = x; + for( i = 0; i < w; i++ ) + { + u8g_Draw4TPixel(u8g, ix, iy, 0, u8g_pgm_read(data)); + data++; + ix+=4; + } + iy++; + } + return u8g->glyph_dx; +} + +int8_t u8g_DrawAAGlyph(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding) +{ + y += u8g->font_calc_vref(u8g); + return u8g_draw_aa_glyph(u8g, x, y, encoding); +} + +u8g_uint_t u8g_DrawAAStr(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const char *s) +{ + u8g_uint_t t = 0; + int8_t d; + + if ( u8g_font_GetFormat(u8g->font) != 2 ) + return 0; + //u8g_uint_t u8g_GetStrWidth(u8g, s); + //u8g_font_GetFontAscent(u8g->font)-u8g_font_GetFontDescent(u8g->font); + + y += u8g->font_calc_vref(u8g); + + while( *s != '\0' ) + { + d = u8g_draw_aa_glyph(u8g, x, y, *s); + x += d; + t += d; + s++; + } + return t; +} diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_font_data.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_font_data.c new file mode 100644 index 000000000..55557fe9a --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_font_data.c @@ -0,0 +1,87700 @@ +/* + Fontname: -FreeType-04b03b-Medium-R-Normal--8-80-72-72-P-39-ISO10646-1 + Copyright: 19992003 / yuji oshimoÿo / 04@dsg4.com / www.04.jp.org + Capital A Height: 5, '1' Height: 5 + Calculated Max Values w= 5 h= 5 x= 0 y= 3 dx= 6 dy= 0 ascent= 5 len= 5 + Font Bounding box w= 5 h= 6 x= 0 y=-1 + Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 + Pure Font ascent = 5 descent=-1 + X Font ascent = 5 descent=-1 + Max Font ascent = 5 descent=-1 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_04b_03b[826] U8G_FONT_SECTION("u8g_font_04b_03b") = { + 1,5,6,0,255,5,0,250,1,240,32,255,255,5,255,5, + 255,2,0,48,2,21,37,128,128,128,0,128,5,50,66,160, + 160,2,85,101,80,248,80,248,80,2,69,85,112,160,240,80, + 224,2,85,101,200,208,32,88,152,2,85,101,224,128,248,144, + 240,5,18,34,128,128,2,37,53,64,128,128,128,64,2,37, + 53,128,64,64,64,128,4,51,67,160,64,160,3,51,67,64, + 224,64,1,34,50,64,128,4,49,65,224,2,17,33,128,2, + 85,101,8,16,32,64,128,2,69,85,240,144,144,144,240,2, + 37,53,192,64,64,64,64,2,69,85,240,16,240,128,240,2, + 69,85,240,16,240,16,240,2,69,85,144,144,144,240,16,2, + 69,85,240,128,240,16,240,2,69,85,224,128,240,144,240,2, + 69,85,240,16,32,64,64,2,69,85,240,144,240,144,240,2, + 69,85,240,144,240,16,112,3,19,35,128,0,128,2,20,36, + 128,0,128,128,2,53,69,32,64,128,64,32,3,51,67,224, + 0,224,2,53,69,128,64,32,64,128,2,69,85,240,16,112, + 0,64,2,85,101,248,136,184,168,240,2,69,85,240,144,240, + 144,144,2,69,85,224,160,240,144,240,2,69,85,240,128,128, + 128,240,2,69,85,224,144,144,144,224,2,69,85,240,128,240, + 128,240,2,69,85,240,128,240,128,128,2,69,85,240,128,176, + 144,240,2,69,85,144,144,240,144,144,2,53,69,224,64,64, + 64,224,2,69,85,48,16,16,144,240,2,69,85,144,144,224, + 144,144,2,69,85,128,128,128,128,240,2,85,101,248,168,168, + 168,168,2,69,85,144,208,176,144,144,2,69,85,240,144,144, + 144,240,2,69,85,240,144,144,240,128,2,69,85,240,144,144, + 176,240,2,69,85,240,144,240,160,176,2,69,85,240,128,240, + 16,240,2,53,69,224,64,64,64,64,2,69,85,144,144,144, + 144,240,2,69,85,144,144,160,160,64,2,85,101,168,168,168, + 168,248,2,69,85,144,144,96,144,144,2,69,85,144,144,240, + 16,240,2,69,85,240,16,96,128,240,2,37,53,192,128,128, + 128,192,2,85,101,128,64,32,16,8,2,37,53,192,64,64, + 64,192,5,50,66,64,160,2,65,81,240,5,34,50,128,64, + 2,67,83,112,144,240,2,68,84,128,240,144,240,2,51,67, + 224,128,224,2,68,84,16,240,144,240,2,67,83,240,160,112, + 2,68,84,112,64,240,64,1,68,84,240,144,240,32,2,68, + 84,128,240,144,144,2,20,36,128,0,128,128,1,21,37,128, + 0,128,128,128,2,68,84,128,144,224,144,2,20,36,128,128, + 128,128,2,83,99,248,168,168,2,67,83,240,144,144,2,67, + 83,240,144,240,1,68,84,240,144,240,128,1,68,84,240,144, + 240,16,2,51,67,224,128,128,2,67,83,240,64,240,2,52, + 68,64,224,64,96,2,67,83,144,144,240,2,67,83,144,144, + 96,2,83,99,168,168,248,2,51,67,160,64,160,1,68,84, + 144,144,240,16,2,67,83,240,32,240,2,53,69,96,64,128, + 64,96,2,21,37,128,128,128,128,128,2,53,69,192,64,32, + 64,192,5,66,82,80,160,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,255,255,255,255,255,255,255,2,0,64,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,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,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,255,255,255,255,255,255,255, + 255,255,255,255,255,255,255,255,255,255}; +/* + Fontname: -FreeType-04b03b-Medium-R-Normal--8-80-72-72-P-39-ISO10646-1 + Copyright: 19992003 / yuji oshimoÿo / 04@dsg4.com / www.04.jp.org + Capital A Height: 0, '1' Height: 5 + Calculated Max Values w= 5 h= 5 x= 0 y= 2 dx= 6 dy= 0 ascent= 5 len= 5 + Font Bounding box w= 5 h= 6 x= 0 y=-1 + Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 + Pure Font ascent = 5 descent= 0 + X Font ascent = 5 descent= 0 + Max Font ascent = 5 descent=-1 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_04b_03bn[136] U8G_FONT_SECTION("u8g_font_04b_03bn") = { + 1,5,6,0,255,5,0,0,0,0,42,58,0,5,255,5, + 0,4,51,67,160,64,160,3,51,67,64,224,64,1,34,50, + 64,128,4,49,65,224,2,17,33,128,2,85,101,8,16,32, + 64,128,2,69,85,240,144,144,144,240,2,37,53,192,64,64, + 64,64,2,69,85,240,16,240,128,240,2,69,85,240,16,240, + 16,240,2,69,85,144,144,144,240,16,2,69,85,240,128,240, + 16,240,2,69,85,224,128,240,144,240,2,69,85,240,16,32, + 64,64,2,69,85,240,144,240,144,240,2,69,85,240,144,240, + 16,112,3,19,35,128,0,128}; +/* + Fontname: -FreeType-04b03b-Medium-R-Normal--8-80-72-72-P-39-ISO10646-1 + Copyright: 19992003 / yuji oshimoÿo / 04@dsg4.com / www.04.jp.org + Capital A Height: 5, '1' Height: 5 + Calculated Max Values w= 5 h= 5 x= 0 y= 3 dx= 6 dy= 0 ascent= 5 len= 5 + Font Bounding box w= 5 h= 6 x= 0 y=-1 + Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 + Pure Font ascent = 5 descent=-1 + X Font ascent = 5 descent=-1 + Max Font ascent = 5 descent=-1 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_04b_03br[696] U8G_FONT_SECTION("u8g_font_04b_03br") = { + 1,5,6,0,255,5,0,250,1,240,32,127,255,5,255,5, + 255,2,0,48,2,21,37,128,128,128,0,128,5,50,66,160, + 160,2,85,101,80,248,80,248,80,2,69,85,112,160,240,80, + 224,2,85,101,200,208,32,88,152,2,85,101,224,128,248,144, + 240,5,18,34,128,128,2,37,53,64,128,128,128,64,2,37, + 53,128,64,64,64,128,4,51,67,160,64,160,3,51,67,64, + 224,64,1,34,50,64,128,4,49,65,224,2,17,33,128,2, + 85,101,8,16,32,64,128,2,69,85,240,144,144,144,240,2, + 37,53,192,64,64,64,64,2,69,85,240,16,240,128,240,2, + 69,85,240,16,240,16,240,2,69,85,144,144,144,240,16,2, + 69,85,240,128,240,16,240,2,69,85,224,128,240,144,240,2, + 69,85,240,16,32,64,64,2,69,85,240,144,240,144,240,2, + 69,85,240,144,240,16,112,3,19,35,128,0,128,2,20,36, + 128,0,128,128,2,53,69,32,64,128,64,32,3,51,67,224, + 0,224,2,53,69,128,64,32,64,128,2,69,85,240,16,112, + 0,64,2,85,101,248,136,184,168,240,2,69,85,240,144,240, + 144,144,2,69,85,224,160,240,144,240,2,69,85,240,128,128, + 128,240,2,69,85,224,144,144,144,224,2,69,85,240,128,240, + 128,240,2,69,85,240,128,240,128,128,2,69,85,240,128,176, + 144,240,2,69,85,144,144,240,144,144,2,53,69,224,64,64, + 64,224,2,69,85,48,16,16,144,240,2,69,85,144,144,224, + 144,144,2,69,85,128,128,128,128,240,2,85,101,248,168,168, + 168,168,2,69,85,144,208,176,144,144,2,69,85,240,144,144, + 144,240,2,69,85,240,144,144,240,128,2,69,85,240,144,144, + 176,240,2,69,85,240,144,240,160,176,2,69,85,240,128,240, + 16,240,2,53,69,224,64,64,64,64,2,69,85,144,144,144, + 144,240,2,69,85,144,144,160,160,64,2,85,101,168,168,168, + 168,248,2,69,85,144,144,96,144,144,2,69,85,144,144,240, + 16,240,2,69,85,240,16,96,128,240,2,37,53,192,128,128, + 128,192,2,85,101,128,64,32,16,8,2,37,53,192,64,64, + 64,192,5,50,66,64,160,2,65,81,240,5,34,50,128,64, + 2,67,83,112,144,240,2,68,84,128,240,144,240,2,51,67, + 224,128,224,2,68,84,16,240,144,240,2,67,83,240,160,112, + 2,68,84,112,64,240,64,1,68,84,240,144,240,32,2,68, + 84,128,240,144,144,2,20,36,128,0,128,128,1,21,37,128, + 0,128,128,128,2,68,84,128,144,224,144,2,20,36,128,128, + 128,128,2,83,99,248,168,168,2,67,83,240,144,144,2,67, + 83,240,144,240,1,68,84,240,144,240,128,1,68,84,240,144, + 240,16,2,51,67,224,128,128,2,67,83,240,64,240,2,52, + 68,64,224,64,96,2,67,83,144,144,240,2,67,83,144,144, + 96,2,83,99,168,168,248,2,51,67,160,64,160,1,68,84, + 144,144,240,16,2,67,83,240,32,240,2,53,69,96,64,128, + 64,96,2,21,37,128,128,128,128,128,2,53,69,192,64,32, + 64,192,5,66,82,80,160,255}; +/* + Fontname: -FreeType-04b03-Medium-R-Normal--8-80-72-72-P-38-ISO10646-1 + Copyright: 19992003 / yuji oshimoÿo / 04@dsg4.com / www.04.jp.org + Capital A Height: 5, '1' Height: 5 + Calculated Max Values w= 5 h= 7 x= 0 y= 3 dx= 6 dy= 0 ascent= 5 len= 7 + Font Bounding box w= 5 h= 7 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent = 5 descent=-2 + X Font ascent = 5 descent=-2 + Max Font ascent = 5 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_04b_03[859] U8G_FONT_SECTION("u8g_font_04b_03") = { + 1,5,7,0,254,5,0,251,1,242,32,255,254,5,254,5, + 254,2,0,64,2,21,37,128,128,128,0,128,5,50,66,160, + 160,2,85,101,80,248,80,248,80,1,70,86,32,112,192,48, + 224,32,2,85,101,144,16,32,64,72,2,85,101,96,128,104, + 144,104,5,18,34,128,128,2,37,53,64,128,128,128,64,2, + 37,53,128,64,64,64,128,4,51,67,160,64,160,3,51,67, + 64,224,64,1,34,50,64,128,4,49,65,224,2,17,33,128, + 2,85,101,8,16,32,64,128,2,69,85,96,144,144,144,96, + 2,37,53,192,64,64,64,64,2,69,85,224,16,96,128,240, + 2,69,85,224,16,96,16,224,2,69,85,32,96,160,240,32, + 2,69,85,240,128,224,16,224,2,69,85,96,128,224,144,96, + 2,69,85,240,16,32,64,64,2,69,85,96,144,96,144,96, + 2,69,85,96,144,112,16,96,3,19,35,128,0,128,2,20, + 36,128,0,128,128,2,53,69,32,64,128,64,32,3,51,67, + 224,0,224,2,53,69,128,64,32,64,128,2,69,85,224,16, + 96,0,64,2,85,101,112,136,184,168,112,2,69,85,96,144, + 144,240,144,2,69,85,224,144,224,144,224,2,53,69,96,128, + 128,128,96,2,69,85,224,144,144,144,224,2,53,69,224,128, + 224,128,224,2,53,69,224,128,224,128,128,2,69,85,112,128, + 176,144,112,2,69,85,144,144,240,144,144,2,53,69,224,64, + 64,64,224,2,69,85,48,16,16,144,96,2,69,85,144,160, + 192,160,144,2,53,69,128,128,128,128,224,2,85,101,136,216, + 168,136,136,2,69,85,144,208,176,144,144,2,69,85,96,144, + 144,144,96,2,69,85,224,144,144,224,128,1,70,86,96,144, + 144,144,96,16,2,69,85,224,144,144,224,144,2,69,85,112, + 128,96,16,224,2,53,69,224,64,64,64,64,2,69,85,144, + 144,144,144,96,2,69,85,144,144,160,160,64,2,85,101,136, + 168,168,168,80,2,69,85,144,144,96,144,144,2,69,85,144, + 144,112,16,96,2,53,69,224,32,64,128,224,2,37,53,192, + 128,128,128,192,2,85,101,128,64,32,16,8,2,37,53,192, + 64,64,64,192,5,50,66,64,160,2,65,81,240,5,34,50, + 128,64,2,68,84,112,144,144,112,2,69,85,128,224,144,144, + 224,2,52,68,96,128,128,96,2,69,85,16,112,144,144,112, + 2,68,84,96,176,192,96,2,53,69,32,64,224,64,64,0, + 70,86,112,144,144,112,16,96,2,69,85,128,224,144,144,144, + 2,21,37,128,0,128,128,128,0,39,55,64,0,64,64,64, + 64,128,2,69,85,128,144,160,224,144,2,21,37,128,128,128, + 128,128,2,84,100,240,168,168,168,2,68,84,224,144,144,144, + 2,68,84,96,144,144,96,0,70,86,224,144,144,224,128,128, + 0,70,86,112,144,144,112,16,16,2,52,68,160,192,128,128, + 2,68,84,112,192,48,224,2,53,69,64,224,64,64,32,2, + 68,84,144,144,144,112,2,68,84,144,144,160,64,2,84,100, + 168,168,80,80,2,52,68,160,64,64,160,0,70,86,144,144, + 144,112,16,96,2,68,84,240,32,64,240,2,53,69,96,64, + 128,64,96,2,21,37,128,128,128,128,128,2,53,69,192,64, + 32,64,192,5,66,82,80,160,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,255,255,255,255,255,255,255,2,0,64,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,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, + 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,255,255,255,255,255,255, + 255,255,255,255,255,255,255,255,255,255,255}; +/* + Fontname: -FreeType-04b03-Medium-R-Normal--8-80-72-72-P-38-ISO10646-1 + Copyright: 19992003 / yuji oshimoÿo / 04@dsg4.com / www.04.jp.org + Capital A Height: 0, '1' Height: 5 + Calculated Max Values w= 5 h= 5 x= 0 y= 2 dx= 6 dy= 0 ascent= 5 len= 5 + Font Bounding box w= 5 h= 7 x= 0 y=-2 + Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 + Pure Font ascent = 5 descent= 0 + X Font ascent = 5 descent= 0 + Max Font ascent = 5 descent=-1 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_04b_03n[136] U8G_FONT_SECTION("u8g_font_04b_03n") = { + 1,5,7,0,254,5,0,0,0,0,42,58,0,5,255,5, + 0,4,51,67,160,64,160,3,51,67,64,224,64,1,34,50, + 64,128,4,49,65,224,2,17,33,128,2,85,101,8,16,32, + 64,128,2,69,85,96,144,144,144,96,2,37,53,192,64,64, + 64,64,2,69,85,224,16,96,128,240,2,69,85,224,16,96, + 16,224,2,69,85,32,96,160,240,32,2,69,85,240,128,224, + 16,224,2,69,85,96,128,224,144,96,2,69,85,240,16,32, + 64,64,2,69,85,96,144,96,144,96,2,69,85,96,144,112, + 16,96,3,19,35,128,0,128}; +/* + Fontname: -FreeType-04b03-Medium-R-Normal--8-80-72-72-P-38-ISO10646-1 + Copyright: 19992003 / yuji oshimoÿo / 04@dsg4.com / www.04.jp.org + Capital A Height: 5, '1' Height: 5 + Calculated Max Values w= 5 h= 7 x= 0 y= 3 dx= 6 dy= 0 ascent= 5 len= 7 + Font Bounding box w= 5 h= 7 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent = 5 descent=-2 + X Font ascent = 5 descent=-2 + Max Font ascent = 5 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_04b_03r[729] U8G_FONT_SECTION("u8g_font_04b_03r") = { + 1,5,7,0,254,5,0,251,1,242,32,127,254,5,254,5, + 254,2,0,64,2,21,37,128,128,128,0,128,5,50,66,160, + 160,2,85,101,80,248,80,248,80,1,70,86,32,112,192,48, + 224,32,2,85,101,144,16,32,64,72,2,85,101,96,128,104, + 144,104,5,18,34,128,128,2,37,53,64,128,128,128,64,2, + 37,53,128,64,64,64,128,4,51,67,160,64,160,3,51,67, + 64,224,64,1,34,50,64,128,4,49,65,224,2,17,33,128, + 2,85,101,8,16,32,64,128,2,69,85,96,144,144,144,96, + 2,37,53,192,64,64,64,64,2,69,85,224,16,96,128,240, + 2,69,85,224,16,96,16,224,2,69,85,32,96,160,240,32, + 2,69,85,240,128,224,16,224,2,69,85,96,128,224,144,96, + 2,69,85,240,16,32,64,64,2,69,85,96,144,96,144,96, + 2,69,85,96,144,112,16,96,3,19,35,128,0,128,2,20, + 36,128,0,128,128,2,53,69,32,64,128,64,32,3,51,67, + 224,0,224,2,53,69,128,64,32,64,128,2,69,85,224,16, + 96,0,64,2,85,101,112,136,184,168,112,2,69,85,96,144, + 144,240,144,2,69,85,224,144,224,144,224,2,53,69,96,128, + 128,128,96,2,69,85,224,144,144,144,224,2,53,69,224,128, + 224,128,224,2,53,69,224,128,224,128,128,2,69,85,112,128, + 176,144,112,2,69,85,144,144,240,144,144,2,53,69,224,64, + 64,64,224,2,69,85,48,16,16,144,96,2,69,85,144,160, + 192,160,144,2,53,69,128,128,128,128,224,2,85,101,136,216, + 168,136,136,2,69,85,144,208,176,144,144,2,69,85,96,144, + 144,144,96,2,69,85,224,144,144,224,128,1,70,86,96,144, + 144,144,96,16,2,69,85,224,144,144,224,144,2,69,85,112, + 128,96,16,224,2,53,69,224,64,64,64,64,2,69,85,144, + 144,144,144,96,2,69,85,144,144,160,160,64,2,85,101,136, + 168,168,168,80,2,69,85,144,144,96,144,144,2,69,85,144, + 144,112,16,96,2,53,69,224,32,64,128,224,2,37,53,192, + 128,128,128,192,2,85,101,128,64,32,16,8,2,37,53,192, + 64,64,64,192,5,50,66,64,160,2,65,81,240,5,34,50, + 128,64,2,68,84,112,144,144,112,2,69,85,128,224,144,144, + 224,2,52,68,96,128,128,96,2,69,85,16,112,144,144,112, + 2,68,84,96,176,192,96,2,53,69,32,64,224,64,64,0, + 70,86,112,144,144,112,16,96,2,69,85,128,224,144,144,144, + 2,21,37,128,0,128,128,128,0,39,55,64,0,64,64,64, + 64,128,2,69,85,128,144,160,224,144,2,21,37,128,128,128, + 128,128,2,84,100,240,168,168,168,2,68,84,224,144,144,144, + 2,68,84,96,144,144,96,0,70,86,224,144,144,224,128,128, + 0,70,86,112,144,144,112,16,16,2,52,68,160,192,128,128, + 2,68,84,112,192,48,224,2,53,69,64,224,64,64,32,2, + 68,84,144,144,144,112,2,68,84,144,144,160,64,2,84,100, + 168,168,80,80,2,52,68,160,64,64,160,0,70,86,144,144, + 144,112,16,96,2,68,84,240,32,64,240,2,53,69,96,64, + 128,64,96,2,21,37,128,128,128,128,128,2,53,69,192,64, + 32,64,192,5,66,82,80,160,255}; +/* + Fontname: -FreeType-04b24-Medium-R-Normal--8-80-72-72-P-32-ISO10646-1 + Copyright: 20002003 / yuji oshimoÿo / 04@dsg4.com / www.04.jp.org + Capital A Height: 5, '1' Height: 5 + Calculated Max Values w= 5 h= 6 x= 0 y= 4 dx= 6 dy= 0 ascent= 5 len= 6 + Font Bounding box w= 5 h= 6 x= 0 y=-1 + Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 + Pure Font ascent = 5 descent= 0 + X Font ascent = 5 descent= 0 + Max Font ascent = 5 descent=-1 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_04b_24[912] U8G_FONT_SECTION("u8g_font_04b_24") = { + 1,5,6,0,255,5,0,250,1,241,32,255,0,5,255,5, + 0,2,0,32,2,21,37,128,128,128,0,128,5,50,66,160, + 160,2,53,69,64,224,64,224,64,2,53,69,96,192,64,96, + 192,2,53,69,160,32,64,128,160,2,69,85,96,128,112,160, + 96,5,18,34,128,128,2,37,53,64,128,128,128,64,2,37, + 53,128,64,64,64,128,4,51,67,160,64,160,3,51,67,64, + 224,64,1,34,50,64,128,4,49,65,224,2,17,33,128,2, + 53,69,32,32,64,128,128,2,53,69,224,160,160,160,224,2, + 37,53,192,64,64,64,64,2,53,69,224,32,224,128,224,2, + 53,69,224,32,224,32,224,2,53,69,160,160,160,224,32,2, + 53,69,224,128,224,32,224,2,53,69,128,224,160,160,224,2, + 53,69,224,32,32,64,128,2,53,69,224,160,224,160,224,2, + 53,69,224,160,160,224,32,3,19,35,128,0,128,2,20,36, + 128,0,128,128,2,53,69,32,64,128,64,32,3,51,67,224, + 0,224,2,53,69,128,64,32,64,128,2,53,69,224,32,96, + 0,64,2,85,101,112,136,232,168,96,2,53,69,224,160,160, + 224,160,2,53,69,224,160,224,160,224,2,53,69,224,128,128, + 128,224,2,53,69,192,160,160,160,224,2,53,69,224,128,224, + 128,224,2,53,69,224,128,224,128,128,2,53,69,224,128,160, + 160,224,2,53,69,160,160,224,160,160,2,21,37,128,128,128, + 128,128,2,53,69,32,32,160,160,224,2,53,69,160,160,192, + 160,160,2,53,69,128,128,128,128,224,2,53,69,160,224,160, + 160,160,2,53,69,224,160,160,160,160,2,53,69,224,160,160, + 160,224,2,53,69,224,160,160,224,128,1,54,70,224,160,160, + 160,224,64,2,53,69,224,160,160,192,160,2,53,69,224,128, + 224,32,224,2,53,69,224,64,64,64,64,2,53,69,160,160, + 160,160,224,2,53,69,160,160,160,160,192,2,53,69,160,160, + 160,224,160,2,53,69,160,160,64,160,160,2,53,69,160,160, + 64,64,64,2,53,69,224,32,64,128,224,2,37,53,192,128, + 128,128,192,2,53,69,128,128,64,32,32,2,37,53,192,64, + 64,64,192,5,50,66,64,160,2,49,65,224,5,34,50,128, + 64,2,53,69,64,160,160,224,160,2,53,69,192,160,192,160, + 192,2,53,69,96,128,128,128,96,2,53,69,192,160,160,160, + 192,2,53,69,96,128,224,128,96,2,53,69,96,128,224,128, + 128,2,53,69,96,128,160,160,96,2,53,69,160,160,224,160, + 160,2,21,37,128,128,128,128,128,2,53,69,32,32,160,160, + 64,2,53,69,160,160,192,160,160,2,53,69,128,128,128,128, + 96,2,53,69,160,224,160,160,160,2,53,69,192,160,160,160, + 160,2,53,69,64,160,160,160,64,2,53,69,192,160,160,192, + 128,1,54,70,64,160,160,160,64,64,2,53,69,192,160,160, + 192,160,2,53,69,96,128,64,32,192,2,53,69,224,64,64, + 64,64,2,53,69,160,160,160,160,64,2,53,69,160,160,160, + 160,192,2,53,69,160,160,160,224,160,2,53,69,160,160,64, + 160,160,2,53,69,160,160,64,64,64,2,53,69,224,32,64, + 128,224,2,53,69,96,64,192,64,96,2,21,37,128,128,128, + 128,128,2,53,69,192,64,96,64,192,6,33,49,192,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,255,255,255,255,255,255,255,255, + 2,37,53,128,64,64,64,64,2,53,69,160,160,160,96,32, + 2,53,69,192,32,192,32,192,255,255,255,2,53,69,128,192, + 160,160,64,255,255,2,53,69,64,160,160,96,32,255,255,255, + 255,255,255,255,255,255,255,255,2,53,69,224,32,32,64,128, + 255,255,255,2,53,69,64,160,160,160,64,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,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,255, + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255 + }; +/* + Fontname: -FreeType-04b24-Medium-R-Normal--8-80-72-72-P-32-ISO10646-1 + Copyright: 20002003 / yuji oshimoÿo / 04@dsg4.com / www.04.jp.org + Capital A Height: 0, '1' Height: 5 + Calculated Max Values w= 3 h= 5 x= 0 y= 2 dx= 4 dy= 0 ascent= 5 len= 5 + Font Bounding box w= 5 h= 6 x= 0 y=-1 + Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 + Pure Font ascent = 5 descent= 0 + X Font ascent = 5 descent= 0 + Max Font ascent = 5 descent=-1 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_04b_24n[136] U8G_FONT_SECTION("u8g_font_04b_24n") = { + 1,5,6,0,255,5,0,0,0,0,42,58,0,5,255,5, + 0,4,51,67,160,64,160,3,51,67,64,224,64,1,34,50, + 64,128,4,49,65,224,2,17,33,128,2,53,69,32,32,64, + 128,128,2,53,69,224,160,160,160,224,2,37,53,192,64,64, + 64,64,2,53,69,224,32,224,128,224,2,53,69,224,32,224, + 32,224,2,53,69,160,160,160,224,32,2,53,69,224,128,224, + 32,224,2,53,69,128,224,160,160,224,2,53,69,224,32,32, + 64,128,2,53,69,224,160,224,160,224,2,53,69,224,160,160, + 224,32,3,19,35,128,0,128}; +/* + Fontname: -FreeType-04b24-Medium-R-Normal--8-80-72-72-P-32-ISO10646-1 + Copyright: 20002003 / yuji oshimoÿo / 04@dsg4.com / www.04.jp.org + Capital A Height: 5, '1' Height: 5 + Calculated Max Values w= 5 h= 6 x= 0 y= 4 dx= 6 dy= 0 ascent= 5 len= 6 + Font Bounding box w= 5 h= 6 x= 0 y=-1 + Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 + Pure Font ascent = 5 descent= 0 + X Font ascent = 5 descent= 0 + Max Font ascent = 5 descent=-1 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_04b_24r[735] U8G_FONT_SECTION("u8g_font_04b_24r") = { + 1,5,6,0,255,5,0,250,1,241,32,127,0,5,255,5, + 0,2,0,32,2,21,37,128,128,128,0,128,5,50,66,160, + 160,2,53,69,64,224,64,224,64,2,53,69,96,192,64,96, + 192,2,53,69,160,32,64,128,160,2,69,85,96,128,112,160, + 96,5,18,34,128,128,2,37,53,64,128,128,128,64,2,37, + 53,128,64,64,64,128,4,51,67,160,64,160,3,51,67,64, + 224,64,1,34,50,64,128,4,49,65,224,2,17,33,128,2, + 53,69,32,32,64,128,128,2,53,69,224,160,160,160,224,2, + 37,53,192,64,64,64,64,2,53,69,224,32,224,128,224,2, + 53,69,224,32,224,32,224,2,53,69,160,160,160,224,32,2, + 53,69,224,128,224,32,224,2,53,69,128,224,160,160,224,2, + 53,69,224,32,32,64,128,2,53,69,224,160,224,160,224,2, + 53,69,224,160,160,224,32,3,19,35,128,0,128,2,20,36, + 128,0,128,128,2,53,69,32,64,128,64,32,3,51,67,224, + 0,224,2,53,69,128,64,32,64,128,2,53,69,224,32,96, + 0,64,2,85,101,112,136,232,168,96,2,53,69,224,160,160, + 224,160,2,53,69,224,160,224,160,224,2,53,69,224,128,128, + 128,224,2,53,69,192,160,160,160,224,2,53,69,224,128,224, + 128,224,2,53,69,224,128,224,128,128,2,53,69,224,128,160, + 160,224,2,53,69,160,160,224,160,160,2,21,37,128,128,128, + 128,128,2,53,69,32,32,160,160,224,2,53,69,160,160,192, + 160,160,2,53,69,128,128,128,128,224,2,53,69,160,224,160, + 160,160,2,53,69,224,160,160,160,160,2,53,69,224,160,160, + 160,224,2,53,69,224,160,160,224,128,1,54,70,224,160,160, + 160,224,64,2,53,69,224,160,160,192,160,2,53,69,224,128, + 224,32,224,2,53,69,224,64,64,64,64,2,53,69,160,160, + 160,160,224,2,53,69,160,160,160,160,192,2,53,69,160,160, + 160,224,160,2,53,69,160,160,64,160,160,2,53,69,160,160, + 64,64,64,2,53,69,224,32,64,128,224,2,37,53,192,128, + 128,128,192,2,53,69,128,128,64,32,32,2,37,53,192,64, + 64,64,192,5,50,66,64,160,2,49,65,224,5,34,50,128, + 64,2,53,69,64,160,160,224,160,2,53,69,192,160,192,160, + 192,2,53,69,96,128,128,128,96,2,53,69,192,160,160,160, + 192,2,53,69,96,128,224,128,96,2,53,69,96,128,224,128, + 128,2,53,69,96,128,160,160,96,2,53,69,160,160,224,160, + 160,2,21,37,128,128,128,128,128,2,53,69,32,32,160,160, + 64,2,53,69,160,160,192,160,160,2,53,69,128,128,128,128, + 96,2,53,69,160,224,160,160,160,2,53,69,192,160,160,160, + 160,2,53,69,64,160,160,160,64,2,53,69,192,160,160,192, + 128,1,54,70,64,160,160,160,64,64,2,53,69,192,160,160, + 192,160,2,53,69,96,128,64,32,192,2,53,69,224,64,64, + 64,64,2,53,69,160,160,160,160,64,2,53,69,160,160,160, + 160,192,2,53,69,160,160,160,224,160,2,53,69,160,160,64, + 160,160,2,53,69,160,160,64,64,64,2,53,69,224,32,64, + 128,224,2,53,69,96,64,192,64,96,2,21,37,128,128,128, + 128,128,2,53,69,192,64,96,64,192,6,33,49,192,255}; +/* + Fontname: -Misc-Fixed-Medium-R-Normal--20-200-75-75-C-100-ISO10646-1 + Copyright: Public domain font. Share and enjoy. + Capital A Height: 5, '1' Height: 13 + Calculated Max Values w=10 h=20 x= 9 y=13 dx=10 dy= 0 ascent=16 len=40 + Font Bounding box w=10 h=20 x= 0 y=-4 + Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 + Pure Font ascent = 5 descent= 0 + X Font ascent =13 descent= 0 + Max Font ascent =16 descent=-4 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_10x20_67_75[4734] U8G_FONT_SECTION("u8g_font_10x20_67_75") = { + 0,10,20,0,252,5,2,211,5,193,32,255,0,16,252,13, + 0,9,6,12,10,0,3,54,0,27,0,255,128,255,128,27, + 0,54,0,8,13,13,10,1,0,24,24,24,24,153,219,126, + 60,153,219,126,60,24,9,8,16,10,0,2,25,128,51,0, + 102,0,252,0,252,0,102,0,51,0,25,128,9,8,16,10, + 0,2,204,0,102,0,51,0,31,128,31,128,51,0,102,0, + 204,0,9,8,16,10,0,2,25,128,49,128,97,128,255,128, + 255,128,97,128,49,128,25,128,8,13,13,10,1,0,24,60, + 126,219,153,24,24,24,24,24,24,255,255,9,8,16,10,0, + 2,204,0,198,0,195,0,255,128,255,128,195,0,198,0,204, + 0,8,13,13,10,1,0,255,255,24,24,24,24,24,24,153, + 219,126,60,24,8,13,13,10,1,0,24,60,126,219,153,24, + 153,219,126,60,24,255,255,9,8,16,10,0,2,27,0,51, + 128,97,128,255,128,255,0,96,0,48,0,24,0,9,8,16, + 10,0,2,108,0,230,0,195,0,255,128,127,128,3,0,6, + 0,12,0,9,8,16,10,0,2,25,0,51,128,98,128,255, + 128,255,0,98,0,50,0,24,0,9,8,16,10,0,2,76, + 0,230,0,163,0,255,128,127,128,35,0,38,0,12,0,10, + 8,16,10,0,2,18,0,51,0,109,128,255,192,243,192,97, + 128,51,0,18,0,10,8,16,10,0,2,18,0,55,0,101, + 128,255,192,255,192,105,128,59,0,18,0,10,15,30,10,0, + 0,1,192,3,128,7,0,14,0,28,0,63,192,127,192,3, + 128,7,0,206,0,220,0,248,0,240,0,252,0,252,0,8, + 13,13,10,1,0,48,96,255,255,99,51,3,3,3,3,3, + 3,3,8,13,13,10,1,0,12,6,255,255,198,204,192,192, + 192,192,192,192,192,8,13,13,10,1,0,3,3,3,3,3, + 3,3,51,99,255,255,96,48,8,13,13,10,1,0,192,192, + 192,192,192,192,192,204,198,255,255,6,12,8,13,13,10,1, + 0,252,252,12,12,12,12,12,12,12,45,63,30,12,8,9, + 9,10,1,1,3,3,3,51,99,255,255,96,48,9,8,16, + 10,0,0,14,0,31,0,59,128,49,128,181,128,253,128,121, + 128,49,128,9,8,16,10,0,0,56,0,124,0,238,0,198, + 0,214,128,223,128,207,0,198,0,9,13,26,10,0,0,255, + 128,255,128,32,0,124,0,127,0,122,0,216,0,204,0,140, + 0,6,0,6,0,3,0,3,0,9,13,26,10,0,0,204, + 0,216,0,255,128,255,128,216,0,204,0,0,0,25,128,13, + 128,255,128,255,128,13,128,25,128,9,10,20,10,0,2,31, + 0,31,0,30,0,31,0,219,128,193,128,193,128,227,128,127, + 0,62,0,9,10,20,10,0,2,124,0,124,0,60,0,124, + 0,237,128,193,128,193,128,227,128,127,0,62,0,9,5,10, + 10,0,5,24,0,48,0,96,0,255,128,255,128,9,5,10, + 10,0,2,255,128,255,128,96,0,48,0,24,0,5,13,13, + 10,4,0,192,224,240,216,200,192,192,192,192,192,192,192,192, + 5,13,13,10,1,0,24,56,120,216,152,24,24,24,24,24, + 24,24,24,9,5,10,10,0,5,12,0,6,0,3,0,255, + 128,255,128,9,5,10,10,0,2,255,128,255,128,3,0,6, + 0,12,0,5,13,13,10,4,0,192,192,192,192,192,192,192, + 192,200,216,240,224,192,5,13,13,10,1,0,24,24,24,24, + 24,24,24,24,152,216,120,56,24,9,11,22,10,0,1,6, + 0,3,0,255,128,255,128,3,0,54,0,96,0,255,128,255, + 128,96,0,48,0,10,13,26,10,0,0,51,0,123,0,255, + 0,183,0,51,0,51,0,51,0,51,0,51,0,59,64,63, + 192,55,128,51,0,9,11,22,10,0,1,48,0,96,0,255, + 128,255,128,96,0,54,0,3,0,255,128,255,128,3,0,6, + 0,9,11,22,10,0,1,48,0,96,0,255,128,255,128,96, + 0,48,0,96,0,255,128,255,128,96,0,48,0,9,13,26, + 10,0,0,34,0,119,0,170,128,34,0,34,0,34,0,34, + 0,34,0,34,0,34,0,34,0,34,0,34,0,9,11,22, + 10,0,1,6,0,3,0,255,128,255,128,3,0,6,0,3, + 0,255,128,255,128,3,0,6,0,9,13,26,10,0,0,34, + 0,34,0,34,0,34,0,34,0,34,0,34,0,34,0,34, + 0,34,0,170,128,119,0,34,0,8,9,9,10,1,2,48, + 96,255,255,0,255,255,6,12,8,9,9,10,1,2,12,6, + 255,255,0,255,255,96,48,8,7,7,10,1,2,2,34,127, + 132,127,40,8,10,7,14,10,0,2,4,0,37,0,127,128, + 140,64,127,128,41,0,8,0,8,7,7,10,1,2,16,20, + 254,33,254,68,64,9,9,18,10,0,2,12,0,24,0,63, + 128,127,128,192,0,127,128,63,128,24,0,12,0,9,13,26, + 10,0,0,8,0,28,0,54,0,119,0,247,128,182,128,54, + 0,54,0,54,0,54,0,54,0,54,0,54,0,9,9,18, + 10,0,2,24,0,12,0,254,0,255,0,1,128,255,0,254, + 0,12,0,24,0,9,13,26,10,0,0,54,0,54,0,54, + 0,54,0,54,0,54,0,54,0,182,128,247,128,119,0,54, + 0,28,0,8,0,10,9,18,10,0,2,18,0,51,0,127, + 128,255,192,128,192,255,192,127,128,51,0,18,0,9,13,26, + 10,0,0,8,0,28,0,54,0,119,0,247,128,182,128,54, + 0,182,128,247,128,119,0,54,0,28,0,8,0,9,9,18, + 10,0,2,254,0,254,0,204,0,198,0,227,0,241,128,216, + 128,12,0,6,0,9,9,18,10,0,2,63,128,63,128,25, + 128,49,128,99,128,199,128,141,128,24,0,48,0,9,9,18, + 10,0,2,48,0,24,0,141,128,199,128,99,128,49,128,25, + 128,63,128,63,128,9,9,18,10,0,2,6,0,12,0,216, + 128,241,128,227,0,198,0,204,0,254,0,254,0,9,11,22, + 10,0,1,4,0,8,0,16,0,63,128,64,0,255,128,64, + 0,63,128,16,0,8,0,4,0,9,11,22,10,0,1,16, + 0,8,0,4,0,254,0,1,0,255,128,1,0,254,0,4, + 0,8,0,16,0,9,5,10,10,0,3,32,0,66,0,245, + 128,72,0,32,0,9,5,10,10,0,3,2,0,33,0,215, + 128,9,0,2,0,8,13,13,10,1,0,24,60,126,219,153, + 24,126,126,24,126,126,24,24,8,13,13,10,1,0,24,24, + 126,126,24,126,126,24,153,219,126,60,24,9,8,16,10,0, + 2,24,0,48,0,96,0,237,128,237,128,96,0,48,0,24, + 0,8,13,13,10,1,0,24,60,126,219,129,24,24,0,24, + 24,0,24,24,9,8,16,10,0,2,12,0,6,0,3,0, + 219,128,219,128,3,0,6,0,12,0,8,13,13,10,1,0, + 24,24,0,24,24,0,24,24,129,219,126,60,24,9,8,16, + 10,0,2,198,0,204,0,216,0,255,128,255,128,216,0,204, + 0,198,0,9,8,16,10,0,2,49,128,25,128,13,128,255, + 128,255,128,13,128,25,128,49,128,9,8,16,10,0,2,24, + 0,40,0,79,128,128,128,128,128,79,128,40,0,24,0,8, + 13,13,10,1,0,24,36,66,129,231,36,36,36,36,36,36, + 36,60,9,8,16,10,0,2,12,0,10,0,249,0,128,128, + 128,128,249,0,10,0,12,0,8,13,13,10,1,0,60,36, + 36,36,36,36,36,36,231,129,66,36,24,8,13,13,10,1, + 0,24,36,66,129,231,36,36,60,0,60,36,36,60,8,13, + 13,10,1,0,24,36,66,129,231,36,36,36,36,36,231,129, + 255,8,13,13,10,1,0,24,36,126,129,231,36,36,36,36, + 36,231,129,255,9,14,28,10,0,0,8,0,28,0,42,0, + 73,0,136,128,235,128,42,0,42,0,42,0,42,0,42,0, + 235,128,136,128,255,128,8,13,13,10,1,0,24,36,90,231, + 66,231,36,36,36,36,36,36,60,8,13,13,10,1,0,24, + 36,90,231,66,231,36,36,36,36,231,129,255,9,8,16,10, + 0,2,236,0,170,0,185,0,128,128,128,128,185,0,170,0, + 236,0,8,8,8,10,1,2,255,128,188,168,184,164,130,129, + 8,8,8,10,1,2,129,65,37,29,21,61,1,255,8,13, + 13,10,1,0,24,36,66,231,36,36,36,36,36,231,66,36, + 24,9,6,12,10,0,3,38,0,83,0,255,128,255,128,83, + 0,38,0,10,13,26,10,0,0,51,0,55,128,63,192,59, + 64,51,0,51,0,51,0,51,0,51,0,183,0,255,0,123, + 0,51,0,9,16,32,10,0,254,6,0,3,0,255,128,255, + 128,3,0,6,0,3,0,255,128,255,128,3,0,6,0,3, + 0,255,128,255,128,3,0,6,0,9,8,16,10,0,2,22, + 0,54,0,102,0,255,128,255,128,102,0,54,0,22,0,9, + 8,16,10,0,2,52,0,54,0,51,0,255,128,255,128,51, + 0,54,0,52,0,10,6,12,10,0,3,45,0,109,128,255, + 192,255,192,109,128,45,0,9,6,12,10,0,3,42,0,106, + 0,255,128,255,128,106,0,42,0,9,6,12,10,0,3,42, + 0,43,0,255,128,255,128,43,0,42,0,9,6,12,10,0, + 3,85,0,213,128,255,128,255,128,213,128,85,0,9,8,16, + 10,0,2,16,0,48,0,112,0,223,128,223,128,112,0,48, + 0,16,0,9,8,16,10,0,2,4,0,6,0,7,0,253, + 128,253,128,7,0,6,0,4,0,10,8,16,10,0,2,18, + 0,51,0,115,128,222,192,222,192,115,128,51,0,18,0,10, + 10,20,10,0,6,255,192,255,192,255,192,255,192,255,192,255, + 192,255,192,255,192,255,192,255,192,10,3,6,10,0,252,255, + 192,255,192,255,192,10,5,10,10,0,252,255,192,255,192,255, + 192,255,192,255,192,10,8,16,10,0,252,255,192,255,192,255, + 192,255,192,255,192,255,192,255,192,255,192,10,10,20,10,0, + 252,255,192,255,192,255,192,255,192,255,192,255,192,255,192,255, + 192,255,192,255,192,10,12,24,10,0,252,255,192,255,192,255, + 192,255,192,255,192,255,192,255,192,255,192,255,192,255,192,255, + 192,255,192,10,15,30,10,0,252,255,192,255,192,255,192,255, + 192,255,192,255,192,255,192,255,192,255,192,255,192,255,192,255, + 192,255,192,255,192,255,192,10,17,34,10,0,252,255,192,255, + 192,255,192,255,192,255,192,255,192,255,192,255,192,255,192,255, + 192,255,192,255,192,255,192,255,192,255,192,255,192,255,192,10, + 20,40,10,0,252,255,192,255,192,255,192,255,192,255,192,255, + 192,255,192,255,192,255,192,255,192,255,192,255,192,255,192,255, + 192,255,192,255,192,255,192,255,192,255,192,255,192,9,20,40, + 10,0,252,255,128,255,128,255,128,255,128,255,128,255,128,255, + 128,255,128,255,128,255,128,255,128,255,128,255,128,255,128,255, + 128,255,128,255,128,255,128,255,128,255,128,7,20,20,10,0, + 252,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254, + 254,254,254,254,254,6,20,20,10,0,252,252,252,252,252,252, + 252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,5, + 20,20,10,0,252,248,248,248,248,248,248,248,248,248,248,248, + 248,248,248,248,248,248,248,248,248,4,20,20,10,0,252,240, + 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, + 240,240,240,3,20,20,10,0,252,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,1,20,20, + 10,0,252,128,128,128,128,128,128,128,128,128,128,128,128,128, + 128,128,128,128,128,128,128,5,20,20,10,5,252,248,248,248, + 248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248, + 248,10,19,38,10,0,253,85,64,0,0,170,128,0,0,85, + 64,0,0,170,128,0,0,85,64,0,0,170,128,0,0,85, + 64,0,0,170,128,0,0,85,64,0,0,170,128,10,20,40, + 10,0,252,85,64,170,128,85,64,170,128,85,64,170,128,85, + 64,170,128,85,64,170,128,85,64,170,128,85,64,170,128,85, + 64,170,128,85,64,170,128,85,64,170,128,10,20,40,10,0, + 252,85,64,255,192,170,128,255,192,85,64,255,192,170,128,255, + 192,85,64,255,192,170,128,255,192,85,64,255,192,170,128,255, + 192,85,64,255,192,170,128,255,192,10,3,6,10,0,13,255, + 192,255,192,255,192,1,20,20,10,9,252,128,128,128,128,128, + 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,5, + 10,10,10,0,252,248,248,248,248,248,248,248,248,248,248,5, + 10,10,10,5,252,248,248,248,248,248,248,248,248,248,248,5, + 10,10,10,0,6,248,248,248,248,248,248,248,248,248,248,10, + 20,40,10,0,252,248,0,248,0,248,0,248,0,248,0,248, + 0,248,0,248,0,248,0,248,0,255,192,255,192,255,192,255, + 192,255,192,255,192,255,192,255,192,255,192,255,192,10,20,40, + 10,0,252,248,0,248,0,248,0,248,0,248,0,248,0,248, + 0,248,0,248,0,248,0,7,192,7,192,7,192,7,192,7, + 192,7,192,7,192,7,192,7,192,7,192,10,20,40,10,0, + 252,255,192,255,192,255,192,255,192,255,192,255,192,255,192,255, + 192,255,192,255,192,248,0,248,0,248,0,248,0,248,0,248, + 0,248,0,248,0,248,0,248,0,10,20,40,10,0,252,255, + 192,255,192,255,192,255,192,255,192,255,192,255,192,255,192,255, + 192,255,192,7,192,7,192,7,192,7,192,7,192,7,192,7, + 192,7,192,7,192,7,192,5,10,10,10,5,6,248,248,248, + 248,248,248,248,248,248,248,10,20,40,10,0,252,7,192,7, + 192,7,192,7,192,7,192,7,192,7,192,7,192,7,192,7, + 192,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, + 0,248,0,248,0,10,20,40,10,0,252,7,192,7,192,7, + 192,7,192,7,192,7,192,7,192,7,192,7,192,7,192,255, + 192,255,192,255,192,255,192,255,192,255,192,255,192,255,192,255, + 192,255,192,8,8,8,10,1,1,255,255,255,255,255,255,255, + 255,8,8,8,10,1,1,255,129,129,129,129,129,129,255,8, + 8,8,10,1,1,126,129,129,129,129,129,129,126,8,8,8, + 10,1,1,255,129,189,189,189,189,129,255,9,9,18,10,0, + 0,255,128,128,128,255,128,128,128,255,128,128,128,255,128,128, + 128,255,128,9,9,18,10,0,0,255,128,170,128,170,128,170, + 128,170,128,170,128,170,128,170,128,255,128,9,9,18,10,0, + 0,255,128,170,128,255,128,170,128,255,128,170,128,255,128,170, + 128,255,128,8,8,8,10,1,1,255,201,165,147,201,165,147, + 255,8,8,8,10,1,1,255,147,165,201,147,165,201,255,8, + 8,8,10,1,1,255,171,197,171,145,171,197,255,4,4,4, + 10,3,3,240,240,240,240,4,4,4,10,3,3,240,144,144, + 240,8,6,6,10,1,3,255,255,255,255,255,255,8,6,6, + 10,1,3,255,129,129,129,129,255,6,13,13,10,2,0,252, + 252,252,252,252,252,252,252,252,252,252,252,252,6,13,13,10, + 2,0,252,132,132,132,132,132,132,132,132,132,132,132,252,8, + 4,4,10,1,3,31,62,124,248,8,4,4,10,1,3,31, + 34,68,248,8,8,8,10,1,2,24,24,60,60,126,126,255, + 255,8,8,8,10,1,2,24,24,36,36,66,66,129,255,5, + 5,5,10,3,3,32,112,112,248,248,5,5,5,10,3,3, + 32,80,80,136,248,8,8,8,10,1,2,192,240,252,255,255, + 252,240,192,8,8,8,10,1,2,192,176,140,131,131,140,176, + 192,5,5,5,10,3,3,192,240,248,240,192,5,5,5,10, + 3,3,192,176,136,176,192,8,5,5,10,1,4,224,252,255, + 252,224,8,5,5,10,1,4,224,156,131,156,224,8,8,8, + 10,1,2,255,255,126,126,60,60,24,24,8,8,8,10,1, + 2,255,129,66,66,36,36,24,24,5,5,5,10,3,3,248, + 248,112,112,32,5,5,5,10,3,3,248,136,80,80,32,8, + 8,8,10,1,2,3,15,63,255,255,63,15,3,8,8,8, + 10,1,2,3,13,49,193,193,49,13,3,5,5,5,10,3, + 3,24,120,248,120,24,5,5,5,10,3,3,24,104,136,104, + 24,8,5,5,10,1,4,7,63,255,63,7,8,5,5,10, + 1,4,7,57,193,57,7,8,8,8,10,1,2,24,60,126, + 255,255,126,60,24,8,8,8,10,1,2,24,36,66,129,129, + 66,36,24,8,8,8,10,1,2,24,36,90,189,189,90,36, + 24,8,8,8,10,1,1,60,66,153,189,189,153,66,60,9, + 15,30,10,1,255,8,0,20,0,20,0,34,0,34,0,65, + 0,65,0,128,128,65,0,65,0,34,0,34,0,20,0,20, + 0,8,0,8,8,8,10,1,1,60,66,129,129,129,129,66, + 60,7,7,7,10,1,2,40,0,130,0,130,0,40,7,7, + 7,10,1,2,56,108,170,170,170,108,56,8,8,8,10,1, + 1,60,66,153,165,165,153,66,60,8,8,8,10,1,1,60, + 126,255,255,255,255,126,60,8,8,8,10,1,1,60,114,241, + 241,241,241,114,60,8,8,8,10,1,1,60,78,143,143,143, + 143,78,60,8,8,8,10,1,1,60,66,129,129,255,255,126, + 60,8,8,8,10,1,1,60,126,255,255,129,129,66,60,8, + 8,8,10,1,1,60,78,143,143,129,129,66,60,8,8,8, + 10,1,1,60,78,143,143,255,255,126,60,4,8,8,10,1, + 1,48,112,240,240,240,240,112,48,4,8,8,10,5,1,192, + 224,240,240,240,240,224,192,10,20,40,10,0,252,255,192,255, + 192,255,192,255,192,255,192,255,192,225,192,192,192,128,64,128, + 64,128,64,128,64,192,192,225,192,255,192,255,192,255,192,255, + 192,255,192,255,192,10,20,40,10,0,252,255,192,255,192,255, + 192,255,192,255,192,255,192,225,192,222,192,191,64,191,64,191, + 64,191,64,222,192,225,192,255,192,255,192,255,192,255,192,255, + 192,255,192,10,10,20,10,0,6,255,192,255,192,255,192,255, + 192,255,192,255,192,225,192,222,192,191,64,191,64,10,10,20, + 10,0,252,191,64,191,64,222,192,225,192,255,192,255,192,255, + 192,255,192,255,192,255,192,4,4,4,10,1,5,48,64,128, + 128,4,4,4,10,5,5,192,32,16,16,4,4,4,10,5, + 1,16,16,32,192,4,4,4,10,1,1,128,128,64,48,8, + 4,4,10,1,5,60,66,129,129,8,4,4,10,1,1,129, + 129,66,60,10,19,38,10,0,252,0,64,0,64,0,192,0, + 192,1,192,1,192,3,192,3,192,7,192,7,192,15,192,15, + 192,31,192,31,192,63,192,63,192,127,192,127,192,255,192,10, + 19,38,10,0,252,128,0,128,0,192,0,192,0,224,0,224, + 0,240,0,240,0,248,0,248,0,252,0,252,0,254,0,254, + 0,255,0,255,0,255,128,255,128,255,192,10,19,38,10,0, + 253,255,192,255,128,255,128,255,0,255,0,254,0,254,0,252, + 0,252,0,248,0,248,0,240,0,240,0,224,0,224,0,192, + 0,192,0,128,0,128,0,10,19,38,10,0,253,255,192,127, + 192,127,192,63,192,63,192,31,192,31,192,15,192,15,192,7, + 192,7,192,3,192,3,192,1,192,1,192,0,192,0,192,0, + 64,0,64,5,5,5,10,3,4,112,136,136,136,112,8,8, + 8,10,1,1,255,241,241,241,241,241,241,255,8,8,8,10, + 1,1,255,143,143,143,143,143,143,255,8,8,8,10,1,1, + 255,253,249,241,225,193,129,255,8,8,8,10,1,1,255,129, + 131,135,143,159,191,255,9,9,18,10,0,0,255,128,136,128, + 136,128,136,128,136,128,136,128,136,128,136,128,255,128,8,8, + 8,10,1,2,24,24,36,36,90,90,129,255,8,8,8,10, + 1,2,24,24,52,52,114,114,241,255,8,8,8,10,1,2, + 24,24,44,44,78,78,143,255,10,10,20,10,0,0,30,0, + 33,0,64,128,128,64,128,64,128,64,128,64,64,128,33,0, + 30,0,9,9,18,10,0,0,255,128,136,128,136,128,136,128, + 248,128,128,128,128,128,128,128,255,128,9,9,18,10,0,0, + 255,128,128,128,128,128,128,128,248,128,136,128,136,128,136,128, + 255,128,9,9,18,10,0,0,255,128,128,128,128,128,128,128, + 143,128,136,128,136,128,136,128,255,128,9,9,18,10,0,0, + 255,128,136,128,136,128,136,128,143,128,128,128,128,128,128,128, + 255,128,9,9,18,10,0,0,62,0,73,0,136,128,136,128, + 248,128,128,128,128,128,65,0,62,0,9,9,18,10,0,0, + 62,0,65,0,128,128,128,128,248,128,136,128,136,128,73,0, + 62,0,9,9,18,10,0,0,62,0,65,0,128,128,128,128, + 143,128,136,128,136,128,73,0,62,0,9,9,18,10,0,0, + 62,0,73,0,136,128,136,128,143,128,128,128,128,128,65,0, + 62,0,6,6,6,10,2,2,252,136,144,160,192,128,6,6, + 6,10,2,2,252,68,36,20,12,4,6,6,6,10,2,2, + 128,192,160,144,136,252,6,6,6,10,2,2,252,132,132,132, + 132,252,6,6,6,10,2,2,252,252,252,252,252,252,4,4, + 4,10,3,3,240,144,144,240,4,4,4,10,3,3,240,240, + 240,240,6,6,6,10,2,2,4,12,20,36,68,252}; +/* + Fontname: -Misc-Fixed-Medium-R-Normal--20-200-75-75-C-100-ISO10646-1 + Copyright: Public domain font. Share and enjoy. + Capital A Height: 8, '1' Height: 4 + Calculated Max Values w= 9 h=15 x= 3 y= 4 dx=10 dy= 0 ascent=14 len=30 + Font Bounding box w=10 h=20 x= 0 y=-4 + Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 + Pure Font ascent = 8 descent= 0 + X Font ascent = 9 descent= 0 + Max Font ascent =14 descent=-1 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_10x20_75r[693] U8G_FONT_SECTION("u8g_font_10x20_75r") = { + 0,10,20,0,252,8,1,219,0,0,32,79,0,14,255,9, + 0,8,8,8,10,1,1,255,255,255,255,255,255,255,255,8, + 8,8,10,1,1,255,129,129,129,129,129,129,255,8,8,8, + 10,1,1,126,129,129,129,129,129,129,126,8,8,8,10,1, + 1,255,129,189,189,189,189,129,255,9,9,18,10,0,0,255, + 128,128,128,255,128,128,128,255,128,128,128,255,128,128,128,255, + 128,9,9,18,10,0,0,255,128,170,128,170,128,170,128,170, + 128,170,128,170,128,170,128,255,128,9,9,18,10,0,0,255, + 128,170,128,255,128,170,128,255,128,170,128,255,128,170,128,255, + 128,8,8,8,10,1,1,255,201,165,147,201,165,147,255,8, + 8,8,10,1,1,255,147,165,201,147,165,201,255,8,8,8, + 10,1,1,255,171,197,171,145,171,197,255,4,4,4,10,3, + 3,240,240,240,240,4,4,4,10,3,3,240,144,144,240,8, + 6,6,10,1,3,255,255,255,255,255,255,8,6,6,10,1, + 3,255,129,129,129,129,255,6,13,13,10,2,0,252,252,252, + 252,252,252,252,252,252,252,252,252,252,6,13,13,10,2,0, + 252,132,132,132,132,132,132,132,132,132,132,132,252,8,4,4, + 10,1,3,31,62,124,248,8,4,4,10,1,3,31,34,68, + 248,8,8,8,10,1,2,24,24,60,60,126,126,255,255,8, + 8,8,10,1,2,24,24,36,36,66,66,129,255,5,5,5, + 10,3,3,32,112,112,248,248,5,5,5,10,3,3,32,80, + 80,136,248,8,8,8,10,1,2,192,240,252,255,255,252,240, + 192,8,8,8,10,1,2,192,176,140,131,131,140,176,192,5, + 5,5,10,3,3,192,240,248,240,192,5,5,5,10,3,3, + 192,176,136,176,192,8,5,5,10,1,4,224,252,255,252,224, + 8,5,5,10,1,4,224,156,131,156,224,8,8,8,10,1, + 2,255,255,126,126,60,60,24,24,8,8,8,10,1,2,255, + 129,66,66,36,36,24,24,5,5,5,10,3,3,248,248,112, + 112,32,5,5,5,10,3,3,248,136,80,80,32,8,8,8, + 10,1,2,3,15,63,255,255,63,15,3,8,8,8,10,1, + 2,3,13,49,193,193,49,13,3,5,5,5,10,3,3,24, + 120,248,120,24,5,5,5,10,3,3,24,104,136,104,24,8, + 5,5,10,1,4,7,63,255,63,7,8,5,5,10,1,4, + 7,57,193,57,7,8,8,8,10,1,2,24,60,126,255,255, + 126,60,24,8,8,8,10,1,2,24,36,66,129,129,66,36, + 24,8,8,8,10,1,2,24,36,90,189,189,90,36,24,8, + 8,8,10,1,1,60,66,153,189,189,153,66,60,9,15,30, + 10,1,255,8,0,20,0,20,0,34,0,34,0,65,0,65, + 0,128,128,65,0,65,0,34,0,34,0,20,0,20,0,8, + 0,8,8,8,10,1,1,60,66,129,129,129,129,66,60,7, + 7,7,10,1,2,40,0,130,0,130,0,40,7,7,7,10, + 1,2,56,108,170,170,170,108,56,8,8,8,10,1,1,60, + 66,153,165,165,153,66,60,8,8,8,10,1,1,60,126,255, + 255,255,255,126,60}; +/* + Fontname: -Misc-Fixed-Medium-R-Normal--20-200-75-75-C-100-ISO10646-1 + Copyright: Public domain font. Share and enjoy. + Capital A Height: 0, '1' Height: 9 + Calculated Max Values w=10 h=13 x= 4 y= 5 dx=10 dy= 0 ascent=13 len=24 + Font Bounding box w=10 h=20 x= 0 y=-4 + Calculated Min Values x= 0 y= 0 dx= 0 dy= 0 + Pure Font ascent = 9 descent= 0 + X Font ascent =11 descent= 0 + Max Font ascent =13 descent= 0 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_10x20_78_79[2638] U8G_FONT_SECTION("u8g_font_10x20_78_79") = { + 0,10,20,0,252,9,1,212,2,205,32,255,0,13,0,11, + 0,9,9,18,10,0,0,54,0,28,0,136,128,201,128,119, + 0,201,128,136,128,28,0,54,0,9,9,18,10,0,0,8, + 0,20,0,255,128,162,128,65,0,162,128,255,128,20,0,8, + 0,9,9,18,10,0,0,8,0,28,0,8,0,73,0,255, + 128,73,0,8,0,28,0,8,0,9,9,18,10,0,0,8, + 0,28,0,28,0,107,0,255,128,107,0,28,0,28,0,8, + 0,9,9,18,10,0,0,8,0,28,0,28,0,107,0,255, + 128,107,0,28,0,28,0,8,0,9,9,18,10,0,0,8, + 0,28,0,28,0,107,0,255,128,107,0,28,0,28,0,8, + 0,9,9,18,10,0,0,8,0,28,0,28,0,127,0,255, + 128,127,0,28,0,28,0,8,0,9,9,18,10,0,0,8, + 0,20,0,20,0,99,0,128,128,99,0,20,0,20,0,8, + 0,255,9,9,18,10,0,0,8,0,8,0,20,0,247,128, + 65,0,34,0,73,0,85,0,99,0,9,10,20,10,0,0, + 127,0,247,128,247,128,227,128,0,0,128,128,193,128,201,128, + 156,128,127,0,9,9,18,10,0,0,8,0,8,0,28,0, + 227,128,99,0,34,0,127,0,119,0,99,0,255,255,255,255, + 255,8,9,9,10,0,0,24,219,255,126,24,126,255,219,24, + 8,9,9,10,0,0,24,219,255,102,36,102,255,219,24,9, + 9,18,10,0,0,8,0,73,0,42,0,28,0,255,128,28, + 0,42,0,73,0,8,0,9,9,18,10,0,0,8,0,73, + 0,62,0,62,0,255,128,62,0,62,0,73,0,8,0,7, + 7,7,10,1,0,16,146,124,56,124,146,16,9,9,18,10, + 0,0,34,0,20,0,148,128,127,0,28,0,127,0,148,128, + 20,0,34,0,255,255,255,255,9,11,22,10,0,0,28,0, + 28,0,201,128,201,128,62,0,28,0,62,0,201,128,201,128, + 28,0,28,0,9,11,22,10,0,0,28,0,28,0,201,128, + 201,128,62,0,28,0,62,0,201,128,201,128,28,0,28,0, + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 9,8,16,10,0,1,62,0,67,0,129,128,129,128,129,128, + 129,128,67,0,62,0,255,9,9,18,10,0,0,254,0,130, + 0,131,128,131,128,131,128,131,128,255,128,63,128,63,128,9, + 9,18,10,0,0,63,128,63,128,255,128,131,128,131,128,131, + 128,131,128,130,0,254,0,8,8,8,10,0,0,254,131,131, + 131,131,131,255,127,8,8,8,10,0,0,127,255,131,131,131, + 131,131,254,255,255,255,9,9,18,10,0,0,8,0,28,0, + 28,0,107,0,247,128,107,0,28,0,28,0,8,0,255,1, + 10,10,10,4,0,128,128,128,128,128,128,128,128,128,128,2, + 10,10,10,3,0,192,192,192,192,192,192,192,192,192,192,3, + 10,10,10,3,0,224,224,224,224,224,224,224,224,224,224,4, + 6,6,10,3,5,112,128,224,240,240,96,4,6,6,10,3, + 5,96,240,240,112,16,224,9,6,12,10,0,5,115,128,132, + 0,231,0,247,128,247,128,99,0,9,6,12,10,0,5,99, + 0,247,128,247,128,115,128,16,128,231,0,255,255,255,255,255, + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 255,255,9,9,18,10,0,0,127,0,247,128,231,128,247,128, + 247,128,247,128,247,128,227,128,127,0,9,9,18,10,0,0, + 127,0,227,128,221,128,253,128,251,128,247,128,237,128,193,128, + 127,0,9,9,18,10,0,0,127,0,227,128,221,128,253,128, + 243,128,253,128,221,128,227,128,127,0,9,9,18,10,0,0, + 127,0,243,128,235,128,219,128,193,128,251,128,251,128,241,128, + 127,0,9,9,18,10,0,0,127,0,193,128,223,128,223,128, + 195,128,253,128,253,128,195,128,127,0,9,9,18,10,0,0, + 127,0,225,128,223,128,223,128,195,128,221,128,221,128,227,128, + 127,0,9,9,18,10,0,0,127,0,193,128,253,128,251,128, + 251,128,247,128,247,128,247,128,127,0,9,9,18,10,0,0, + 127,0,227,128,221,128,221,128,227,128,221,128,221,128,227,128, + 127,0,9,9,18,10,0,0,127,0,225,128,221,128,221,128, + 225,128,253,128,253,128,227,128,127,0,9,9,18,10,0,0, + 127,0,219,128,213,128,213,128,213,128,213,128,213,128,219,128, + 127,0,9,9,18,10,0,0,127,0,128,128,136,128,152,128, + 136,128,136,128,156,128,128,128,127,0,9,9,18,10,0,0, + 127,0,128,128,152,128,132,128,132,128,136,128,156,128,128,128, + 127,0,9,9,18,10,0,0,127,0,128,128,152,128,132,128, + 136,128,132,128,152,128,128,128,127,0,9,9,18,10,0,0, + 127,0,128,128,136,128,152,128,168,128,188,128,136,128,128,128, + 127,0,9,9,18,10,0,0,127,0,128,128,156,128,144,128, + 152,128,132,128,152,128,128,128,127,0,9,9,18,10,0,0, + 127,0,128,128,140,128,144,128,152,128,148,128,136,128,128,128, + 127,0,9,9,18,10,0,0,127,0,128,128,156,128,132,128, + 136,128,136,128,136,128,128,128,127,0,9,9,18,10,0,0, + 127,0,128,128,136,128,148,128,136,128,148,128,136,128,128,128, + 127,0,9,9,18,10,0,0,127,0,128,128,136,128,148,128, + 140,128,132,128,136,128,128,128,127,0,9,9,18,10,0,0, + 127,0,128,128,164,128,170,128,170,128,170,128,164,128,128,128, + 127,0,9,9,18,10,0,0,127,0,247,128,231,128,247,128, + 247,128,247,128,247,128,247,128,127,0,9,9,18,10,0,0, + 127,0,227,128,221,128,253,128,251,128,247,128,239,128,193,128, + 127,0,9,9,18,10,0,0,127,0,227,128,221,128,253,128, + 243,128,253,128,221,128,227,128,127,0,9,9,18,10,0,0, + 127,0,243,128,235,128,219,128,193,128,251,128,251,128,251,128, + 127,0,9,9,18,10,0,0,127,0,193,128,223,128,223,128, + 195,128,253,128,253,128,195,128,127,0,9,9,18,10,0,0, + 127,0,225,128,223,128,223,128,195,128,221,128,221,128,227,128, + 127,0,9,9,18,10,0,0,127,0,193,128,253,128,251,128, + 251,128,247,128,247,128,247,128,127,0,9,9,18,10,0,0, + 127,0,227,128,221,128,221,128,227,128,221,128,221,128,227,128, + 127,0,9,9,18,10,0,0,127,0,225,128,221,128,221,128, + 225,128,253,128,253,128,227,128,127,0,9,9,18,10,0,0, + 127,0,219,128,213,128,213,128,213,128,213,128,213,128,219,128, + 127,0,7,8,8,10,1,1,48,24,12,254,254,12,24,48, + 255,255,255,7,5,5,10,1,1,224,250,62,14,30,8,7, + 7,10,1,1,8,12,230,255,230,12,8,7,5,5,10,1, + 1,30,14,62,250,224,9,7,14,10,0,0,48,0,28,0, + 31,0,255,128,31,0,28,0,48,0,9,9,18,10,0,0, + 28,0,30,0,15,0,255,128,255,128,255,128,15,0,30,0, + 28,0,9,5,10,10,0,1,2,0,3,0,255,128,3,0, + 2,0,9,7,14,10,0,0,4,0,6,0,255,0,255,128, + 255,0,6,0,4,0,9,5,10,10,0,1,2,0,183,0, + 183,128,183,0,2,0,9,5,10,10,0,1,2,0,171,0, + 171,128,171,0,2,0,9,5,10,10,0,1,2,0,255,0, + 255,128,255,0,2,0,9,8,16,10,0,1,128,0,112,0, + 78,0,33,128,31,128,62,0,112,0,128,0,9,8,16,10, + 0,1,128,0,112,0,62,0,31,128,33,128,78,0,112,0, + 128,0,9,8,16,10,0,1,128,0,112,0,62,0,31,128, + 31,128,62,0,112,0,128,0,9,7,14,10,0,0,132,0, + 134,0,255,0,255,128,127,0,6,0,4,0,9,7,14,10, + 0,0,4,0,6,0,127,0,255,128,255,0,134,0,132,0, + 6,9,9,10,2,0,16,16,248,248,252,248,248,16,16,8, + 9,9,10,0,1,4,4,254,254,255,254,254,4,4,9,9, + 18,10,0,0,24,0,28,0,22,0,243,0,129,128,243,0, + 22,0,28,0,24,0,9,9,18,10,0,0,24,0,28,0, + 26,0,249,0,192,128,249,0,26,0,28,0,24,0,9,9, + 18,10,0,0,0,128,1,128,62,128,64,128,129,128,243,0, + 238,0,60,0,56,0,9,9,18,10,0,0,56,0,60,0, + 238,0,243,0,129,128,64,128,62,128,1,128,0,128,8,9, + 9,10,0,1,16,24,20,242,129,243,118,28,24,8,9,9, + 10,0,1,24,28,118,243,129,242,20,24,16,9,8,16,10, + 0,1,4,0,250,0,129,0,64,128,129,128,251,0,6,0, + 4,0,255,9,8,16,10,0,2,4,0,6,0,251,0,129, + 128,64,128,129,0,250,0,4,0,9,9,18,10,0,1,28, + 0,127,0,251,128,1,128,0,128,1,128,251,128,127,0,28, + 0,9,5,10,10,0,3,210,0,43,0,127,128,43,0,210, + 0,9,9,18,10,0,0,16,0,56,0,92,0,236,0,116, + 0,60,0,2,128,1,128,3,128,9,5,10,10,0,2,242, + 0,123,0,7,128,123,0,242,0,9,9,18,10,0,0,3, + 128,1,128,2,128,60,0,116,0,236,0,92,0,56,0,16, + 0,9,9,18,10,0,0,16,0,24,0,28,0,252,0,124, + 0,60,0,2,128,1,128,3,128,9,5,10,10,0,2,242, + 0,123,0,127,128,123,0,242,0,9,9,18,10,0,0,3, + 128,1,128,2,128,60,0,124,0,252,0,28,0,24,0,16, + 0,255,255,255,255,9,7,14,10,0,1,20,0,10,0,253, + 0,0,128,253,0,10,0,20,0,255,255,255,255,255,255,255, + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,9, + 12,24,10,0,0,224,128,49,128,49,128,42,128,42,128,36, + 128,36,128,42,128,42,128,49,128,49,128,224,128,9,12,24, + 10,0,0,131,128,198,0,198,0,170,0,170,0,146,0,146, + 0,170,0,170,0,198,0,198,0,131,128,9,12,24,10,0, + 0,193,128,99,0,99,0,85,0,85,0,73,0,73,0,85, + 0,85,0,99,0,99,0,193,128,255,255,255,255,255,255,255, + 255,255,255,255,255,255,255,8,13,13,10,1,0,255,216,216, + 216,216,216,216,216,216,216,216,216,255,8,13,13,10,1,0, + 255,27,27,27,27,27,27,27,27,27,27,27,255,4,13,13, + 10,4,0,16,48,32,96,64,192,128,192,64,96,32,48,16, + 4,13,13,10,4,0,128,192,64,96,32,48,16,48,32,96, + 64,192,128,7,13,13,10,1,0,18,54,36,108,72,216,144, + 216,72,108,36,54,18,7,13,13,10,2,0,144,216,72,108, + 36,54,18,54,36,108,72,216,144,255,255,255,255,255,255,255, + 255,255,10,8,16,10,0,2,24,0,48,0,96,0,255,192, + 255,192,96,0,48,0,24,0,10,8,16,10,0,2,6,0, + 3,0,1,128,255,192,255,192,1,128,3,0,6,0,10,8, + 16,10,0,2,18,0,51,0,97,128,255,192,255,192,97,128, + 51,0,18,0,10,9,18,10,0,2,12,0,24,0,63,192, + 127,192,192,0,127,192,63,192,24,0,12,0,10,9,18,10, + 0,2,12,0,6,0,255,0,255,128,0,192,255,128,255,0, + 6,0,12,0,10,9,18,10,0,2,18,0,51,0,127,128, + 255,192,128,192,255,192,127,128,51,0,18,0,10,8,16,10, + 0,2,24,192,48,192,96,192,255,192,255,192,96,192,48,192, + 24,192,10,8,16,10,0,2,198,0,195,0,193,128,255,192, + 255,192,193,128,195,0,198,0,10,9,18,10,0,2,12,64, + 24,64,63,192,127,192,192,64,127,192,63,192,24,64,12,64, + 10,9,18,10,0,2,140,0,134,0,255,0,255,128,128,192, + 255,128,255,0,134,0,140,0,10,8,16,10,0,2,6,0, + 3,0,171,128,170,192,85,192,85,128,3,0,6,0}; +/* + Fontname: -Misc-Fixed-Medium-R-Normal--20-200-75-75-C-100-ISO10646-1 + Copyright: Public domain font. Share and enjoy. + Capital A Height: 13, '1' Height: 13 + Calculated Max Values w= 9 h=17 x= 4 y=16 dx=10 dy= 0 ascent=16 len=26 + Font Bounding box w=10 h=20 x= 0 y=-4 + Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 + Pure Font ascent =13 descent=-4 + X Font ascent =13 descent=-4 + Max Font ascent =16 descent=-4 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_10x20[3453] U8G_FONT_SECTION("u8g_font_10x20") = { + 0,10,20,0,252,13,2,74,4,153,32,255,252,16,252,13, + 252,0,0,0,10,0,16,2,13,13,10,4,0,192,192,192, + 192,192,192,192,192,192,192,0,192,192,6,4,4,10,2,9, + 204,204,204,72,9,11,22,10,1,1,27,0,27,0,27,0, + 127,128,54,0,54,0,54,0,255,0,108,0,108,0,108,0, + 8,13,13,10,1,0,24,126,219,216,216,216,126,27,27,27, + 219,126,24,9,12,24,10,1,0,115,0,219,0,222,0,118, + 0,12,0,12,0,24,0,24,0,55,0,61,128,109,128,103, + 0,9,13,26,10,1,0,56,0,108,0,108,0,108,0,120, + 0,48,0,112,0,216,0,205,128,199,0,198,0,239,0,121, + 128,2,5,5,10,4,8,192,192,192,192,128,5,13,13,10, + 3,0,24,48,96,96,192,192,192,192,192,96,96,48,24,5, + 13,13,10,2,0,192,96,48,48,24,24,24,24,24,48,48, + 96,192,8,7,7,10,1,3,102,102,60,255,60,102,102,8, + 7,7,10,1,3,24,24,24,255,24,24,24,4,3,3,10, + 3,255,112,112,224,8,1,1,10,1,6,255,3,3,3,10, + 4,0,224,224,224,7,12,12,10,2,0,6,6,12,12,24, + 24,48,48,96,96,192,192,8,13,13,10,1,0,24,60,102, + 102,195,195,195,195,195,102,102,60,24,8,13,13,10,1,0, + 24,56,120,216,24,24,24,24,24,24,24,24,255,8,13,13, + 10,1,0,60,102,195,195,3,3,6,28,48,96,192,192,255, + 8,13,13,10,1,0,60,102,195,195,3,6,28,6,3,195, + 195,102,60,8,13,13,10,1,0,2,6,14,30,54,102,198, + 198,255,6,6,6,6,8,13,13,10,1,0,255,192,192,192, + 192,220,230,3,3,3,195,102,60,8,13,13,10,1,0,60, + 102,194,192,192,220,230,195,195,195,195,102,60,8,13,13,10, + 1,0,255,3,3,6,6,12,12,24,24,48,48,96,96,8, + 13,13,10,1,0,60,102,195,195,195,102,60,102,195,195,195, + 102,60,8,13,13,10,1,0,60,102,195,195,195,195,103,59, + 3,3,67,102,60,3,8,8,10,4,0,224,224,0,0,0, + 0,224,224,4,9,9,10,3,255,112,112,0,0,0,0,112, + 112,224,7,13,13,10,1,0,2,6,12,24,48,96,192,96, + 48,24,12,6,2,8,6,6,10,1,3,255,0,0,0,0, + 255,7,13,13,10,2,0,128,192,96,48,24,12,6,12,24, + 48,96,192,128,8,13,13,10,1,0,60,102,195,195,195,6, + 12,24,24,24,0,24,24,8,13,13,10,1,0,60,102,195, + 207,223,219,219,219,222,204,192,99,62,8,13,13,10,1,0, + 24,60,102,102,195,195,195,255,195,195,195,195,195,8,13,13, + 10,1,0,248,204,198,198,198,204,252,198,195,195,195,198,252, + 8,13,13,10,1,0,60,102,195,192,192,192,192,192,192,192, + 195,102,60,8,13,13,10,1,0,252,198,195,195,195,195,195, + 195,195,195,195,198,252,8,13,13,10,1,0,255,192,192,192, + 192,192,252,192,192,192,192,192,255,8,13,13,10,1,0,255, + 192,192,192,192,192,252,192,192,192,192,192,192,8,13,13,10, + 1,0,60,102,195,192,192,192,207,195,195,195,195,103,61,8, + 13,13,10,1,0,195,195,195,195,195,195,255,195,195,195,195, + 195,195,8,13,13,10,1,0,255,24,24,24,24,24,24,24, + 24,24,24,24,255,9,13,26,10,1,0,31,128,6,0,6, + 0,6,0,6,0,6,0,6,0,6,0,6,0,198,0,198, + 0,108,0,56,0,8,13,13,10,1,0,195,195,198,198,204, + 204,248,204,204,198,198,195,195,8,13,13,10,1,0,192,192, + 192,192,192,192,192,192,192,192,192,192,255,8,13,13,10,1, + 0,195,195,231,231,255,219,219,219,219,195,195,195,195,8,13, + 13,10,1,0,195,227,227,243,243,219,219,207,207,199,199,195, + 195,8,13,13,10,1,0,60,102,195,195,195,195,195,195,195, + 195,195,102,60,8,13,13,10,1,0,252,198,195,195,195,195, + 198,252,192,192,192,192,192,8,14,14,10,1,255,60,102,195, + 195,195,195,195,195,195,219,207,102,62,3,8,13,13,10,1, + 0,252,198,195,195,195,195,198,252,204,198,198,195,195,8,13, + 13,10,1,0,60,102,195,192,192,96,60,6,3,3,195,102, + 60,8,13,13,10,1,0,255,24,24,24,24,24,24,24,24, + 24,24,24,24,8,13,13,10,1,0,195,195,195,195,195,195, + 195,195,195,195,195,102,60,8,13,13,10,1,0,195,195,195, + 195,102,102,102,60,60,60,24,24,24,8,13,13,10,1,0, + 195,195,195,195,195,219,219,219,219,231,231,195,195,8,13,13, + 10,1,0,195,195,102,102,60,60,24,60,60,102,102,195,195, + 8,13,13,10,1,0,195,195,102,102,60,60,24,24,24,24, + 24,24,24,8,13,13,10,1,0,255,3,3,6,12,12,24, + 48,48,96,192,192,255,6,13,13,10,2,0,252,192,192,192, + 192,192,192,192,192,192,192,192,252,7,12,12,10,2,0,192, + 192,96,96,48,48,24,24,12,12,6,6,6,13,13,10,2, + 0,252,12,12,12,12,12,12,12,12,12,12,12,252,8,4, + 4,10,1,9,24,60,102,195,9,1,2,10,1,255,255,128, + 4,3,3,10,3,10,192,96,48,8,8,8,10,1,0,62, + 99,3,127,195,195,195,125,8,13,13,10,1,0,192,192,192, + 192,192,220,230,195,195,195,195,230,220,8,8,8,10,1,0, + 62,99,192,192,192,192,99,62,8,13,13,10,1,0,3,3, + 3,3,3,59,103,195,195,195,195,103,59,8,8,8,10,1, + 0,60,102,195,255,192,192,99,62,8,13,13,10,1,0,30, + 51,51,48,48,252,48,48,48,48,48,48,48,8,12,12,10, + 1,252,125,199,198,198,198,124,192,126,195,195,195,126,8,13, + 13,10,1,0,192,192,192,192,192,220,230,195,195,195,195,195, + 195,8,11,11,10,1,0,24,24,0,120,24,24,24,24,24, + 24,255,7,15,15,10,2,252,6,6,0,30,6,6,6,6, + 6,6,6,198,198,198,124,8,13,13,10,1,0,192,192,192, + 192,192,198,204,216,240,248,204,198,195,8,13,13,10,1,0, + 120,24,24,24,24,24,24,24,24,24,24,24,255,8,8,8, + 10,1,0,182,255,219,219,219,219,219,219,8,8,8,10,1, + 0,220,230,195,195,195,195,195,195,8,8,8,10,1,0,60, + 102,195,195,195,195,102,60,8,12,12,10,1,252,220,230,195, + 195,195,195,230,220,192,192,192,192,8,12,12,10,1,252,59, + 103,195,195,195,195,103,59,3,3,3,3,8,8,8,10,1, + 0,222,115,96,96,96,96,96,96,8,8,8,10,1,0,126, + 195,192,126,3,3,195,126,8,11,11,10,1,0,48,48,48, + 252,48,48,48,48,48,51,30,8,8,8,10,1,0,195,195, + 195,195,195,195,103,59,8,8,8,10,1,0,195,195,102,102, + 60,60,24,24,8,8,8,10,1,0,195,195,195,219,219,219, + 255,102,8,8,8,10,1,0,195,102,60,24,24,60,102,195, + 8,12,12,10,1,252,195,195,195,195,195,195,103,59,3,195, + 102,60,7,8,8,10,2,0,254,6,12,24,48,96,192,254, + 8,13,13,10,1,0,15,24,24,24,24,24,240,24,24,24, + 24,24,15,2,13,13,10,4,0,192,192,192,192,192,192,192, + 192,192,192,192,192,192,8,13,13,10,1,0,240,24,24,24, + 24,24,15,24,24,24,24,24,240,8,3,3,10,1,10,115, + 219,206,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,255,255,255,255, + 255,255,255,0,0,0,10,0,16,2,13,13,10,4,0,192, + 192,0,192,192,192,192,192,192,192,192,192,192,7,12,12,10, + 1,0,24,24,60,102,194,192,192,194,102,60,24,24,9,12, + 24,10,1,0,30,0,51,0,51,0,48,0,48,0,252,0, + 48,0,48,0,48,0,248,0,173,128,231,0,9,9,18,10, + 0,1,128,128,221,128,127,0,99,0,99,0,99,0,127,0, + 221,128,128,128,8,11,11,10,1,0,129,195,102,60,126,24, + 126,24,24,24,24,2,13,13,10,4,0,192,192,192,192,192, + 0,0,0,192,192,192,192,192,8,13,13,10,1,0,60,102, + 198,96,120,204,102,51,30,6,99,102,60,6,2,2,10,2, + 11,204,204,8,11,11,10,1,0,60,102,195,189,165,161,165, + 189,195,102,60,8,9,9,10,1,4,62,67,3,127,195,195, + 125,0,255,9,11,22,10,0,0,4,128,13,128,27,0,54, + 0,108,0,216,0,108,0,54,0,27,0,13,128,4,128,8, + 4,4,10,1,4,255,255,3,3,6,1,1,10,2,6,252, + 8,11,11,10,1,0,60,102,195,189,165,189,169,173,195,102, + 60,8,1,1,10,1,13,255,6,6,6,10,2,7,48,120, + 204,204,120,48,8,7,7,10,1,2,24,24,255,24,24,0, + 255,5,7,7,10,2,6,112,216,24,48,96,192,248,5,7, + 7,10,2,6,112,216,24,48,24,216,112,4,3,3,10,3, + 10,48,96,192,7,10,10,10,1,253,198,198,198,198,198,238, + 250,192,192,192,8,13,13,10,1,0,127,255,251,251,251,123, + 27,27,27,27,27,27,27,3,3,3,10,4,5,224,224,224, + 5,4,4,10,2,252,48,24,216,112,4,7,7,10,2,6, + 96,224,96,96,96,96,240,7,9,9,10,1,4,56,108,198, + 198,198,108,56,0,254,9,11,22,10,1,0,144,0,216,0, + 108,0,54,0,27,0,13,128,27,0,54,0,108,0,216,0, + 144,0,8,12,12,10,1,1,64,192,65,66,228,8,18,38, + 74,158,2,2,8,12,12,10,1,1,64,192,65,66,228,8, + 22,41,65,130,4,15,8,12,12,10,1,1,224,16,97,18, + 228,8,18,38,74,159,2,2,8,13,13,10,1,0,24,24, + 0,24,24,24,48,96,195,195,195,102,60,8,15,15,10,1, + 0,96,48,24,0,24,60,102,195,195,195,255,195,195,195,195, + 8,15,15,10,1,0,6,12,24,0,24,60,102,195,195,195, + 255,195,195,195,195,8,15,15,10,1,0,24,60,102,0,24, + 60,102,195,195,195,255,195,195,195,195,8,15,15,10,1,0, + 50,126,76,0,24,60,102,195,195,195,255,195,195,195,195,8, + 15,15,10,1,0,102,102,0,24,60,102,102,195,195,195,255, + 195,195,195,195,8,16,16,10,1,0,60,102,102,60,0,24, + 60,102,195,195,195,255,195,195,195,195,8,13,13,10,1,0, + 31,60,108,108,204,204,255,204,204,204,204,204,207,8,17,17, + 10,1,252,60,102,195,192,192,192,192,192,192,192,195,102,60, + 24,12,108,56,8,15,15,10,1,0,96,48,24,0,255,192, + 192,192,192,252,192,192,192,192,255,8,15,15,10,1,0,12, + 24,48,0,255,192,192,192,192,252,192,192,192,192,255,8,15, + 15,10,1,0,24,60,102,0,255,192,192,192,192,252,192,192, + 192,192,255,8,15,15,10,1,0,102,102,0,0,255,192,192, + 192,192,252,192,192,192,192,255,6,15,15,10,2,0,96,48, + 24,0,252,48,48,48,48,48,48,48,48,48,252,6,15,15, + 10,2,0,24,48,96,0,252,48,48,48,48,48,48,48,48, + 48,252,6,15,15,10,2,0,48,120,204,0,252,48,48,48, + 48,48,48,48,48,48,252,6,15,15,10,2,0,204,204,0, + 252,48,48,48,48,48,48,48,48,48,48,252,9,13,26,10, + 0,0,126,0,99,0,97,128,97,128,97,128,97,128,249,128, + 97,128,97,128,97,128,97,128,99,0,126,0,8,15,15,10, + 1,0,50,126,76,0,195,227,243,243,219,219,207,207,199,195, + 195,8,15,15,10,1,0,48,24,12,0,60,102,195,195,195, + 195,195,195,195,102,60,8,15,15,10,1,0,12,24,48,0, + 60,102,195,195,195,195,195,195,195,102,60,8,15,15,10,1, + 0,24,60,102,0,60,102,195,195,195,195,195,195,195,102,60, + 8,15,15,10,1,0,50,126,76,0,60,102,195,195,195,195, + 195,195,195,102,60,8,15,15,10,1,0,102,102,0,60,102, + 195,195,195,195,195,195,195,195,102,60,7,8,8,10,1,0, + 130,198,108,56,56,108,198,130,8,15,15,10,1,255,1,62, + 102,199,199,203,203,203,211,211,211,227,102,124,128,8,15,15, + 10,1,0,48,24,12,0,195,195,195,195,195,195,195,195,195, + 102,60,8,15,15,10,1,0,12,24,48,0,195,195,195,195, + 195,195,195,195,195,102,60,8,15,15,10,1,0,24,60,102, + 0,195,195,195,195,195,195,195,195,195,102,60,8,15,15,10, + 1,0,102,102,0,195,195,195,195,195,195,195,195,195,195,102, + 60,8,15,15,10,1,0,12,24,48,0,195,195,102,102,60, + 60,24,24,24,24,24,7,13,13,10,2,0,192,192,192,252, + 198,198,198,198,198,252,192,192,192,8,13,13,10,1,0,28, + 54,99,99,102,236,108,102,99,99,99,102,108,8,12,12,10, + 1,0,48,24,12,0,126,195,3,127,195,195,195,125,8,12, + 12,10,1,0,12,24,48,0,126,195,3,127,195,195,195,125, + 8,12,12,10,1,0,24,60,102,0,126,195,3,127,195,195, + 195,125,8,12,12,10,1,0,50,126,76,0,126,195,3,127, + 195,195,195,125,8,11,11,10,1,0,102,102,0,126,195,3, + 127,195,195,195,125,8,13,13,10,1,0,60,102,102,60,0, + 126,195,3,127,195,195,195,125,8,8,8,10,1,0,118,155, + 27,30,120,216,217,110,8,12,12,10,1,252,62,99,192,192, + 192,192,99,62,24,12,108,56,8,12,12,10,1,0,96,48, + 24,0,60,102,195,255,192,192,99,62,8,12,12,10,1,0, + 6,12,24,0,60,102,195,255,192,192,99,62,8,12,12,10, + 1,0,24,60,102,0,60,102,195,255,192,192,99,62,8,11, + 11,10,1,0,102,102,0,60,102,195,255,192,192,99,62,8, + 12,12,10,1,0,96,48,24,0,120,24,24,24,24,24,24, + 255,8,12,12,10,1,0,12,24,48,0,120,24,24,24,24, + 24,24,255,8,12,12,10,1,0,24,60,102,0,120,24,24, + 24,24,24,24,255,8,11,11,10,1,0,102,102,0,120,24, + 24,24,24,24,24,255,8,13,13,10,1,0,136,216,112,112, + 216,140,62,103,195,195,195,102,60,8,12,12,10,1,0,50, + 126,76,0,220,230,195,195,195,195,195,195,8,12,12,10,1, + 0,96,48,24,0,60,102,195,195,195,195,102,60,8,12,12, + 10,1,0,6,12,24,0,60,102,195,195,195,195,102,60,8, + 12,12,10,1,0,24,60,102,0,60,102,195,195,195,195,102, + 60,8,12,12,10,1,0,50,126,76,0,60,102,195,195,195, + 195,102,60,8,11,11,10,1,0,102,102,0,60,102,195,195, + 195,195,102,60,8,10,10,10,1,1,24,24,0,0,255,255, + 0,0,24,24,8,10,10,10,1,255,1,62,102,203,203,211, + 211,102,124,128,8,12,12,10,1,0,48,24,12,0,195,195, + 195,195,195,195,103,59,8,12,12,10,1,0,6,12,24,0, + 195,195,195,195,195,195,103,59,8,12,12,10,1,0,24,60, + 102,0,195,195,195,195,195,195,103,59,8,11,11,10,1,0, + 102,102,0,195,195,195,195,195,195,103,59,8,16,16,10,1, + 252,12,24,48,0,195,195,195,195,195,195,103,59,3,195,102, + 60,7,17,17,10,2,252,192,192,192,192,192,192,248,204,198, + 198,198,204,248,192,192,192,192,8,15,15,10,1,252,102,102, + 0,195,195,195,195,195,195,103,59,3,195,102,60}; +/* + Fontname: -Misc-Fixed-Medium-R-Normal--20-200-75-75-C-100-ISO10646-1 + Copyright: Public domain font. Share and enjoy. + Capital A Height: 13, '1' Height: 13 + Calculated Max Values w= 9 h=15 x= 4 y=16 dx=10 dy= 0 ascent=16 len=26 + Font Bounding box w=10 h=20 x= 0 y=-4 + Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 + Pure Font ascent =13 descent=-4 + X Font ascent =13 descent=-4 + Max Font ascent =16 descent=-4 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_10x20r[1667] U8G_FONT_SECTION("u8g_font_10x20r") = { + 0,10,20,0,252,13,2,74,4,153,32,127,252,16,252,13, + 252,0,0,0,10,0,16,2,13,13,10,4,0,192,192,192, + 192,192,192,192,192,192,192,0,192,192,6,4,4,10,2,9, + 204,204,204,72,9,11,22,10,1,1,27,0,27,0,27,0, + 127,128,54,0,54,0,54,0,255,0,108,0,108,0,108,0, + 8,13,13,10,1,0,24,126,219,216,216,216,126,27,27,27, + 219,126,24,9,12,24,10,1,0,115,0,219,0,222,0,118, + 0,12,0,12,0,24,0,24,0,55,0,61,128,109,128,103, + 0,9,13,26,10,1,0,56,0,108,0,108,0,108,0,120, + 0,48,0,112,0,216,0,205,128,199,0,198,0,239,0,121, + 128,2,5,5,10,4,8,192,192,192,192,128,5,13,13,10, + 3,0,24,48,96,96,192,192,192,192,192,96,96,48,24,5, + 13,13,10,2,0,192,96,48,48,24,24,24,24,24,48,48, + 96,192,8,7,7,10,1,3,102,102,60,255,60,102,102,8, + 7,7,10,1,3,24,24,24,255,24,24,24,4,3,3,10, + 3,255,112,112,224,8,1,1,10,1,6,255,3,3,3,10, + 4,0,224,224,224,7,12,12,10,2,0,6,6,12,12,24, + 24,48,48,96,96,192,192,8,13,13,10,1,0,24,60,102, + 102,195,195,195,195,195,102,102,60,24,8,13,13,10,1,0, + 24,56,120,216,24,24,24,24,24,24,24,24,255,8,13,13, + 10,1,0,60,102,195,195,3,3,6,28,48,96,192,192,255, + 8,13,13,10,1,0,60,102,195,195,3,6,28,6,3,195, + 195,102,60,8,13,13,10,1,0,2,6,14,30,54,102,198, + 198,255,6,6,6,6,8,13,13,10,1,0,255,192,192,192, + 192,220,230,3,3,3,195,102,60,8,13,13,10,1,0,60, + 102,194,192,192,220,230,195,195,195,195,102,60,8,13,13,10, + 1,0,255,3,3,6,6,12,12,24,24,48,48,96,96,8, + 13,13,10,1,0,60,102,195,195,195,102,60,102,195,195,195, + 102,60,8,13,13,10,1,0,60,102,195,195,195,195,103,59, + 3,3,67,102,60,3,8,8,10,4,0,224,224,0,0,0, + 0,224,224,4,9,9,10,3,255,112,112,0,0,0,0,112, + 112,224,7,13,13,10,1,0,2,6,12,24,48,96,192,96, + 48,24,12,6,2,8,6,6,10,1,3,255,0,0,0,0, + 255,7,13,13,10,2,0,128,192,96,48,24,12,6,12,24, + 48,96,192,128,8,13,13,10,1,0,60,102,195,195,195,6, + 12,24,24,24,0,24,24,8,13,13,10,1,0,60,102,195, + 207,223,219,219,219,222,204,192,99,62,8,13,13,10,1,0, + 24,60,102,102,195,195,195,255,195,195,195,195,195,8,13,13, + 10,1,0,248,204,198,198,198,204,252,198,195,195,195,198,252, + 8,13,13,10,1,0,60,102,195,192,192,192,192,192,192,192, + 195,102,60,8,13,13,10,1,0,252,198,195,195,195,195,195, + 195,195,195,195,198,252,8,13,13,10,1,0,255,192,192,192, + 192,192,252,192,192,192,192,192,255,8,13,13,10,1,0,255, + 192,192,192,192,192,252,192,192,192,192,192,192,8,13,13,10, + 1,0,60,102,195,192,192,192,207,195,195,195,195,103,61,8, + 13,13,10,1,0,195,195,195,195,195,195,255,195,195,195,195, + 195,195,8,13,13,10,1,0,255,24,24,24,24,24,24,24, + 24,24,24,24,255,9,13,26,10,1,0,31,128,6,0,6, + 0,6,0,6,0,6,0,6,0,6,0,6,0,198,0,198, + 0,108,0,56,0,8,13,13,10,1,0,195,195,198,198,204, + 204,248,204,204,198,198,195,195,8,13,13,10,1,0,192,192, + 192,192,192,192,192,192,192,192,192,192,255,8,13,13,10,1, + 0,195,195,231,231,255,219,219,219,219,195,195,195,195,8,13, + 13,10,1,0,195,227,227,243,243,219,219,207,207,199,199,195, + 195,8,13,13,10,1,0,60,102,195,195,195,195,195,195,195, + 195,195,102,60,8,13,13,10,1,0,252,198,195,195,195,195, + 198,252,192,192,192,192,192,8,14,14,10,1,255,60,102,195, + 195,195,195,195,195,195,219,207,102,62,3,8,13,13,10,1, + 0,252,198,195,195,195,195,198,252,204,198,198,195,195,8,13, + 13,10,1,0,60,102,195,192,192,96,60,6,3,3,195,102, + 60,8,13,13,10,1,0,255,24,24,24,24,24,24,24,24, + 24,24,24,24,8,13,13,10,1,0,195,195,195,195,195,195, + 195,195,195,195,195,102,60,8,13,13,10,1,0,195,195,195, + 195,102,102,102,60,60,60,24,24,24,8,13,13,10,1,0, + 195,195,195,195,195,219,219,219,219,231,231,195,195,8,13,13, + 10,1,0,195,195,102,102,60,60,24,60,60,102,102,195,195, + 8,13,13,10,1,0,195,195,102,102,60,60,24,24,24,24, + 24,24,24,8,13,13,10,1,0,255,3,3,6,12,12,24, + 48,48,96,192,192,255,6,13,13,10,2,0,252,192,192,192, + 192,192,192,192,192,192,192,192,252,7,12,12,10,2,0,192, + 192,96,96,48,48,24,24,12,12,6,6,6,13,13,10,2, + 0,252,12,12,12,12,12,12,12,12,12,12,12,252,8,4, + 4,10,1,9,24,60,102,195,9,1,2,10,1,255,255,128, + 4,3,3,10,3,10,192,96,48,8,8,8,10,1,0,62, + 99,3,127,195,195,195,125,8,13,13,10,1,0,192,192,192, + 192,192,220,230,195,195,195,195,230,220,8,8,8,10,1,0, + 62,99,192,192,192,192,99,62,8,13,13,10,1,0,3,3, + 3,3,3,59,103,195,195,195,195,103,59,8,8,8,10,1, + 0,60,102,195,255,192,192,99,62,8,13,13,10,1,0,30, + 51,51,48,48,252,48,48,48,48,48,48,48,8,12,12,10, + 1,252,125,199,198,198,198,124,192,126,195,195,195,126,8,13, + 13,10,1,0,192,192,192,192,192,220,230,195,195,195,195,195, + 195,8,11,11,10,1,0,24,24,0,120,24,24,24,24,24, + 24,255,7,15,15,10,2,252,6,6,0,30,6,6,6,6, + 6,6,6,198,198,198,124,8,13,13,10,1,0,192,192,192, + 192,192,198,204,216,240,248,204,198,195,8,13,13,10,1,0, + 120,24,24,24,24,24,24,24,24,24,24,24,255,8,8,8, + 10,1,0,182,255,219,219,219,219,219,219,8,8,8,10,1, + 0,220,230,195,195,195,195,195,195,8,8,8,10,1,0,60, + 102,195,195,195,195,102,60,8,12,12,10,1,252,220,230,195, + 195,195,195,230,220,192,192,192,192,8,12,12,10,1,252,59, + 103,195,195,195,195,103,59,3,3,3,3,8,8,8,10,1, + 0,222,115,96,96,96,96,96,96,8,8,8,10,1,0,126, + 195,192,126,3,3,195,126,8,11,11,10,1,0,48,48,48, + 252,48,48,48,48,48,51,30,8,8,8,10,1,0,195,195, + 195,195,195,195,103,59,8,8,8,10,1,0,195,195,102,102, + 60,60,24,24,8,8,8,10,1,0,195,195,195,219,219,219, + 255,102,8,8,8,10,1,0,195,102,60,24,24,60,102,195, + 8,12,12,10,1,252,195,195,195,195,195,195,103,59,3,195, + 102,60,7,8,8,10,2,0,254,6,12,24,48,96,192,254, + 8,13,13,10,1,0,15,24,24,24,24,24,240,24,24,24, + 24,24,15,2,13,13,10,4,0,192,192,192,192,192,192,192, + 192,192,192,192,192,192,8,13,13,10,1,0,240,24,24,24, + 24,24,15,24,24,24,24,24,240,8,3,3,10,1,10,115, + 219,206,255}; +/* + Fontname: -Misc-Fixed-Medium-R-Normal--6-60-75-75-C-40-ISO10646-1 + Copyright: Public domain font. Share and enjoy. + Capital A Height: 5, '1' Height: 5 + Calculated Max Values w= 4 h= 6 x= 1 y= 5 dx= 4 dy= 0 ascent= 5 len= 6 + Font Bounding box w= 4 h= 6 x= 0 y=-1 + Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 + Pure Font ascent = 5 descent=-1 + X Font ascent = 5 descent=-1 + Max Font ascent = 5 descent=-1 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_4x6[1500] U8G_FONT_SECTION("u8g_font_4x6") = { + 1,4,6,0,255,5,1,3,1,250,32,255,255,5,255,5, + 255,7,0,64,18,21,69,128,128,128,0,128,5,50,66,160, + 160,2,69,69,160,240,160,240,160,1,54,70,64,224,192,32, + 224,64,2,53,69,128,32,64,128,32,2,69,69,64,160,64, + 160,80,21,18,66,128,128,17,38,70,64,128,128,128,128,64, + 1,38,70,128,64,64,64,64,128,2,53,69,160,64,224,64, + 160,2,53,69,64,64,224,64,64,1,34,66,64,128,4,49, + 65,224,18,17,65,128,2,53,69,32,32,64,128,128,2,53, + 69,64,160,224,160,64,2,53,69,64,192,64,64,224,2,53, + 69,64,160,32,64,224,2,53,69,224,32,64,32,192,2,53, + 69,160,160,224,32,32,2,53,69,224,128,192,32,192,2,53, + 69,96,128,192,160,64,2,53,69,224,32,64,128,128,2,53, + 69,96,160,64,160,192,2,53,69,64,160,96,32,192,18,20, + 68,128,0,0,128,1,37,69,64,0,0,64,128,2,53,69, + 32,64,128,64,32,3,51,67,224,0,224,2,53,69,128,64, + 32,64,128,2,53,69,192,32,64,0,64,2,53,69,96,160, + 160,128,96,2,53,69,64,160,224,160,160,2,53,69,192,160, + 192,160,192,2,53,69,64,160,128,160,64,2,53,69,192,160, + 160,160,192,2,53,69,224,128,192,128,224,2,53,69,224,128, + 192,128,128,2,53,69,96,128,160,160,96,2,53,69,160,160, + 224,160,160,2,53,69,224,64,64,64,224,2,53,69,32,32, + 32,160,64,2,53,69,160,160,192,160,160,2,53,69,128,128, + 128,128,224,2,53,69,160,224,224,160,160,2,53,69,32,160, + 224,160,128,2,53,69,64,160,160,160,64,2,53,69,192,160, + 192,128,128,1,54,70,64,160,160,160,64,32,2,53,69,192, + 160,192,160,160,2,53,69,96,128,64,32,192,2,53,69,224, + 64,64,64,64,2,53,69,160,160,160,160,224,2,53,69,160, + 160,160,224,64,2,53,69,160,160,224,224,160,2,53,69,160, + 160,64,160,160,2,53,69,160,160,64,64,64,2,53,69,224, + 32,64,128,224,18,37,69,192,128,128,128,192,2,53,69,128, + 128,64,32,32,2,37,69,192,64,64,64,192,5,50,66,64, + 160,1,49,65,224,21,34,66,128,64,2,52,68,96,160,160, + 96,2,53,69,128,192,160,160,192,2,52,68,96,128,128,96, + 2,53,69,32,96,160,160,96,2,52,68,64,160,192,96,2, + 53,69,32,64,224,64,64,1,53,69,96,160,96,32,192,2, + 53,69,128,192,160,160,160,2,53,69,64,0,192,64,224,1, + 54,70,32,0,32,32,32,192,2,53,69,128,160,192,160,160, + 2,53,69,192,64,64,64,224,2,52,68,160,224,160,160,2, + 52,68,192,160,160,160,2,52,68,64,160,160,64,1,53,69, + 192,160,192,128,128,1,53,69,96,160,160,96,32,2,52,68, + 160,192,128,128,2,52,68,96,192,32,192,2,53,69,64,224, + 64,64,32,2,52,68,160,160,160,96,2,52,68,160,160,160, + 64,2,52,68,160,160,224,160,2,52,68,160,64,64,160,1, + 53,69,160,160,96,32,192,2,52,68,224,32,64,224,1,54, + 70,32,64,192,64,64,32,18,21,69,128,128,128,128,128,1, + 54,70,128,64,96,64,64,128,5,66,66,80,160,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,255,255,255,255,255,255,255,7,0, + 64,18,21,69,128,0,128,128,128,2,53,69,64,224,128,224, + 64,2,53,69,32,64,96,64,160,2,68,68,144,96,96,144, + 2,53,69,160,64,224,64,64,18,21,69,128,128,0,128,128, + 1,54,70,96,192,160,96,32,192,6,49,65,160,1,70,70, + 96,144,208,208,144,96,2,53,69,96,160,96,0,224,3,67, + 67,80,160,80,3,50,66,224,32,4,49,65,224,3,68,68, + 96,240,208,96,6,49,65,224,4,51,67,64,160,64,2,53, + 69,64,224,64,0,224,3,36,68,192,64,128,192,2,37,69, + 192,64,128,64,128,21,34,66,64,128,1,53,69,160,160,160, + 192,128,2,69,69,112,208,208,80,80,20,17,65,128,18,34, + 66,64,128,3,36,68,64,192,64,64,2,53,69,64,160,64, + 0,224,3,67,67,160,80,160,1,70,70,128,128,128,80,112, + 16,1,70,70,128,128,176,16,32,48,1,70,70,192,64,128, + 80,176,16,2,53,69,64,0,64,128,96,2,53,69,128,64, + 160,224,160,2,53,69,32,64,160,224,160,2,53,69,192,64, + 160,224,160,2,53,69,96,192,160,224,160,2,53,69,160,64, + 160,224,160,2,53,69,64,64,160,224,160,2,69,69,112,160, + 240,160,176,1,54,70,64,160,128,160,64,128,2,53,69,128, + 224,192,128,224,2,53,69,32,224,192,128,224,2,53,69,96, + 224,192,128,224,2,53,69,160,224,192,128,224,2,53,69,128, + 224,64,64,224,2,53,69,32,224,64,64,224,2,53,69,64, + 224,64,64,224,2,53,69,160,64,64,64,224,2,69,69,224, + 80,208,80,224,2,69,69,80,160,224,224,160,2,53,69,128, + 64,160,160,64,2,53,69,32,64,160,160,64,2,53,69,64, + 64,160,160,64,2,69,69,112,224,160,160,64,2,53,69,160, + 64,160,160,64,3,51,67,160,64,160,2,53,69,96,160,224, + 160,192,2,53,69,128,64,160,160,224,2,53,69,32,64,160, + 160,224,2,53,69,64,0,160,160,224,2,53,69,160,0,160, + 160,224,2,53,69,32,0,160,64,64,2,53,69,128,192,160, + 192,128,1,54,70,64,160,192,160,224,128,2,53,69,128,64, + 96,160,96,2,53,69,32,64,96,160,96,2,53,69,96,0, + 96,160,96,2,69,69,80,160,96,160,96,2,53,69,160,0, + 96,160,96,2,53,69,64,0,96,160,96,2,68,68,112,176, + 160,112,1,53,69,64,160,128,96,64,2,53,69,128,64,160, + 192,96,2,53,69,32,64,160,192,96,2,53,69,192,64,160, + 192,96,2,53,69,160,64,160,192,96,2,53,69,128,64,64, + 64,224,2,53,69,32,192,64,64,224,2,53,69,64,160,64, + 64,224,2,53,69,160,0,192,64,224,2,53,69,160,64,96, + 160,64,2,69,69,80,160,192,160,160,2,53,69,128,64,64, + 160,64,2,53,69,32,64,64,160,64,2,53,69,64,0,64, + 160,64,2,53,69,224,0,64,160,64,2,53,69,160,0,64, + 160,64,2,53,69,64,0,224,0,64,2,52,68,96,160,160, + 192,2,53,69,128,64,160,160,96,2,53,69,32,64,160,160, + 96,2,53,69,64,0,160,160,96,2,53,69,160,0,160,160, + 96,1,54,70,32,64,160,224,32,192,1,54,70,128,128,192, + 160,192,128,1,54,70,160,0,160,224,32,192}; +/* + Fontname: -Misc-Fixed-Medium-R-Normal--6-60-75-75-C-40-ISO10646-1 + Copyright: Public domain font. Share and enjoy. + Capital A Height: 5, '1' Height: 5 + Calculated Max Values w= 4 h= 6 x= 1 y= 5 dx= 4 dy= 0 ascent= 5 len= 6 + Font Bounding box w= 4 h= 6 x= 0 y=-1 + Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 + Pure Font ascent = 5 descent=-1 + X Font ascent = 5 descent=-1 + Max Font ascent = 5 descent=-1 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_4x6r[734] U8G_FONT_SECTION("u8g_font_4x6r") = { + 1,4,6,0,255,5,1,3,1,250,32,127,255,5,255,5, + 255,7,0,64,18,21,69,128,128,128,0,128,5,50,66,160, + 160,2,69,69,160,240,160,240,160,1,54,70,64,224,192,32, + 224,64,2,53,69,128,32,64,128,32,2,69,69,64,160,64, + 160,80,21,18,66,128,128,17,38,70,64,128,128,128,128,64, + 1,38,70,128,64,64,64,64,128,2,53,69,160,64,224,64, + 160,2,53,69,64,64,224,64,64,1,34,66,64,128,4,49, + 65,224,18,17,65,128,2,53,69,32,32,64,128,128,2,53, + 69,64,160,224,160,64,2,53,69,64,192,64,64,224,2,53, + 69,64,160,32,64,224,2,53,69,224,32,64,32,192,2,53, + 69,160,160,224,32,32,2,53,69,224,128,192,32,192,2,53, + 69,96,128,192,160,64,2,53,69,224,32,64,128,128,2,53, + 69,96,160,64,160,192,2,53,69,64,160,96,32,192,18,20, + 68,128,0,0,128,1,37,69,64,0,0,64,128,2,53,69, + 32,64,128,64,32,3,51,67,224,0,224,2,53,69,128,64, + 32,64,128,2,53,69,192,32,64,0,64,2,53,69,96,160, + 160,128,96,2,53,69,64,160,224,160,160,2,53,69,192,160, + 192,160,192,2,53,69,64,160,128,160,64,2,53,69,192,160, + 160,160,192,2,53,69,224,128,192,128,224,2,53,69,224,128, + 192,128,128,2,53,69,96,128,160,160,96,2,53,69,160,160, + 224,160,160,2,53,69,224,64,64,64,224,2,53,69,32,32, + 32,160,64,2,53,69,160,160,192,160,160,2,53,69,128,128, + 128,128,224,2,53,69,160,224,224,160,160,2,53,69,32,160, + 224,160,128,2,53,69,64,160,160,160,64,2,53,69,192,160, + 192,128,128,1,54,70,64,160,160,160,64,32,2,53,69,192, + 160,192,160,160,2,53,69,96,128,64,32,192,2,53,69,224, + 64,64,64,64,2,53,69,160,160,160,160,224,2,53,69,160, + 160,160,224,64,2,53,69,160,160,224,224,160,2,53,69,160, + 160,64,160,160,2,53,69,160,160,64,64,64,2,53,69,224, + 32,64,128,224,18,37,69,192,128,128,128,192,2,53,69,128, + 128,64,32,32,2,37,69,192,64,64,64,192,5,50,66,64, + 160,1,49,65,224,21,34,66,128,64,2,52,68,96,160,160, + 96,2,53,69,128,192,160,160,192,2,52,68,96,128,128,96, + 2,53,69,32,96,160,160,96,2,52,68,64,160,192,96,2, + 53,69,32,64,224,64,64,1,53,69,96,160,96,32,192,2, + 53,69,128,192,160,160,160,2,53,69,64,0,192,64,224,1, + 54,70,32,0,32,32,32,192,2,53,69,128,160,192,160,160, + 2,53,69,192,64,64,64,224,2,52,68,160,224,160,160,2, + 52,68,192,160,160,160,2,52,68,64,160,160,64,1,53,69, + 192,160,192,128,128,1,53,69,96,160,160,96,32,2,52,68, + 160,192,128,128,2,52,68,96,192,32,192,2,53,69,64,224, + 64,64,32,2,52,68,160,160,160,96,2,52,68,160,160,160, + 64,2,52,68,160,160,224,160,2,52,68,160,64,64,160,1, + 53,69,160,160,96,32,192,2,52,68,224,32,64,224,1,54, + 70,32,64,192,64,64,32,18,21,69,128,128,128,128,128,1, + 54,70,128,64,96,64,64,128,5,66,66,80,160,255}; +/* + Fontname: -Misc-Fixed-Medium-R-Normal--7-70-75-75-C-50-ISO10646-1 + Copyright: Public domain font. Share and enjoy. + Capital A Height: 6, '1' Height: 6 + Calculated Max Values w= 5 h= 7 x= 2 y= 6 dx= 5 dy= 0 ascent= 6 len= 7 + Font Bounding box w= 5 h= 7 x= 0 y=-1 + Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 + Pure Font ascent = 6 descent=-1 + X Font ascent = 6 descent=-1 + Max Font ascent = 6 descent=-1 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_5x7[1624] U8G_FONT_SECTION("u8g_font_5x7") = { + 1,5,7,0,255,6,1,21,2,39,32,255,255,6,255,6, + 255,8,0,80,34,22,86,128,128,128,128,0,128,21,51,83, + 160,160,160,2,85,85,80,248,80,248,80,2,85,85,112,160, + 112,40,112,2,70,86,128,144,32,64,144,16,2,69,85,64, + 160,64,160,80,37,19,83,128,128,128,18,38,86,64,128,128, + 128,128,64,18,38,86,128,64,64,64,64,128,18,53,85,160, + 64,224,64,160,2,85,85,32,32,248,32,32,17,51,83,96, + 64,128,4,65,81,240,18,34,82,192,192,3,68,84,16,32, + 64,128,18,54,86,64,160,160,160,160,64,18,54,86,64,192, + 64,64,64,224,2,70,86,96,144,16,32,64,240,2,70,86, + 240,16,96,16,144,96,2,70,86,32,96,160,240,32,32,2, + 70,86,240,128,224,16,144,96,2,70,86,96,128,224,144,144, + 96,2,70,86,240,16,32,32,64,64,2,70,86,96,144,96, + 144,144,96,2,70,86,96,144,144,112,16,96,18,37,85,192, + 192,0,192,192,1,54,86,96,96,0,96,64,128,18,53,85, + 32,64,128,64,32,3,67,83,240,0,240,18,53,85,128,64, + 32,64,128,18,54,86,64,160,32,64,0,64,2,70,86,96, + 144,176,176,128,96,2,70,86,96,144,144,240,144,144,2,70, + 86,224,144,224,144,144,224,2,70,86,96,144,128,128,144,96, + 2,70,86,224,144,144,144,144,224,2,70,86,240,128,224,128, + 128,240,2,70,86,240,128,224,128,128,128,2,70,86,96,144, + 128,176,144,112,2,70,86,144,144,240,144,144,144,18,54,86, + 224,64,64,64,64,224,2,70,86,16,16,16,16,144,96,2, + 70,86,144,160,192,192,160,144,2,70,86,128,128,128,128,128, + 240,2,70,86,144,240,240,144,144,144,2,70,86,144,208,208, + 176,176,144,2,70,86,96,144,144,144,144,96,2,70,86,224, + 144,144,224,128,128,1,71,87,96,144,144,144,208,96,16,2, + 70,86,224,144,144,224,160,144,2,70,86,96,144,64,32,144, + 96,18,54,86,224,64,64,64,64,64,2,70,86,144,144,144, + 144,144,96,2,70,86,144,144,144,144,96,96,2,70,86,144, + 144,144,240,240,144,2,70,86,144,144,96,96,144,144,18,54, + 86,160,160,160,64,64,64,2,70,86,240,16,32,64,128,240, + 18,54,86,224,128,128,128,128,224,3,68,84,128,64,32,16, + 18,54,86,224,32,32,32,32,224,22,50,82,64,160,2,65, + 81,240,22,34,82,128,64,2,68,84,112,144,176,80,2,70, + 86,128,128,224,144,144,224,2,52,84,96,128,128,96,2,70, + 86,16,16,112,144,144,112,2,68,84,96,176,192,96,2,70, + 86,32,80,64,224,64,64,1,69,85,112,144,96,128,112,2, + 70,86,128,128,224,144,144,144,18,54,86,64,0,192,64,64, + 224,17,55,87,32,0,32,32,32,160,64,2,70,86,128,128, + 160,192,160,144,18,54,86,192,64,64,64,64,224,2,68,84, + 160,240,144,144,2,68,84,224,144,144,144,2,68,84,96,144, + 144,96,1,69,85,224,144,144,224,128,1,69,85,112,144,144, + 112,16,2,68,84,224,144,128,128,2,68,84,112,192,48,224, + 2,70,86,64,64,224,64,64,48,2,68,84,144,144,144,112, + 18,52,84,160,160,160,64,2,68,84,144,144,240,240,2,68, + 84,144,96,96,144,1,69,85,144,144,80,32,64,2,68,84, + 240,32,64,240,18,54,86,32,64,192,64,64,32,34,22,86, + 128,128,128,128,128,128,18,54,86,128,64,96,64,64,128,6, + 66,82,80,160,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,255,255, + 255,255,255,255,255,8,0,80,34,22,86,128,0,128,128,128, + 128,1,70,86,32,112,160,160,112,32,2,69,85,48,64,224, + 64,176,2,85,85,136,112,80,112,136,18,54,86,160,160,64, + 224,64,64,34,21,85,128,128,0,128,128,17,55,87,96,128, + 192,160,96,32,192,23,49,81,160,1,87,87,112,136,168,200, + 168,136,112,5,51,83,96,160,96,3,83,83,72,144,72,3, + 66,82,240,16,20,49,81,224,1,87,87,112,136,232,200,200, + 136,112,7,65,81,240,21,51,83,64,160,64,2,86,86,32, + 32,248,32,32,248,20,36,84,192,64,128,192,20,36,84,192, + 192,64,192,22,34,82,64,128,1,69,85,144,144,144,224,128, + 2,70,86,112,208,208,80,80,80,20,34,82,192,192,17,34, + 82,64,128,20,52,84,64,192,64,224,5,51,83,64,160,64, + 3,83,83,144,72,144,1,71,87,128,128,128,144,48,112,16, + 1,71,87,128,128,128,176,16,32,48,1,71,87,192,192,64, + 208,48,112,16,18,54,86,64,0,64,128,160,64,2,70,86, + 96,144,144,240,144,144,2,70,86,96,144,144,240,144,144,2, + 70,86,96,144,144,240,144,144,2,70,86,96,144,144,240,144, + 144,2,70,86,144,96,144,240,144,144,2,70,86,96,96,144, + 240,144,144,2,70,86,112,160,176,224,160,176,1,71,87,96, + 144,128,128,144,96,64,2,70,86,240,128,224,128,128,240,2, + 70,86,240,128,224,128,128,240,2,70,86,240,128,224,128,128, + 240,2,70,86,240,128,224,128,128,240,18,54,86,224,64,64, + 64,64,224,18,54,86,224,64,64,64,64,224,18,54,86,224, + 64,64,64,64,224,18,54,86,224,64,64,64,64,224,2,70, + 86,224,80,208,80,80,224,2,70,86,176,144,208,176,176,144, + 2,70,86,96,144,144,144,144,96,2,70,86,96,144,144,144, + 144,96,2,70,86,96,144,144,144,144,96,2,70,86,96,144, + 144,144,144,96,2,70,86,144,96,144,144,144,96,2,68,84, + 144,96,96,144,2,70,86,112,176,176,208,208,224,2,70,86, + 144,144,144,144,144,96,2,70,86,144,144,144,144,144,96,2, + 70,86,144,144,144,144,144,96,2,70,86,144,0,144,144,144, + 96,18,54,86,160,160,160,64,64,64,2,70,86,128,224,144, + 224,128,128,2,70,86,96,144,160,144,144,160,2,70,86,64, + 32,112,144,176,80,2,70,86,32,64,112,144,176,80,2,70, + 86,32,80,112,144,176,80,2,70,86,80,160,112,144,176,80, + 2,70,86,80,0,112,144,176,80,2,70,86,96,96,112,144, + 176,80,2,68,84,112,176,160,112,17,53,85,96,128,128,96, + 64,2,70,86,64,32,96,176,192,96,2,70,86,32,64,96, + 176,192,96,2,70,86,64,160,96,176,192,96,2,70,86,160, + 0,96,176,192,96,18,54,86,128,64,192,64,64,224,18,54, + 86,64,128,192,64,64,224,18,54,86,64,160,192,64,64,224, + 18,54,86,160,0,192,64,64,224,2,70,86,64,48,96,144, + 144,96,2,70,86,80,160,224,144,144,144,2,70,86,64,32, + 96,144,144,96,2,70,86,32,64,96,144,144,96,2,70,86, + 96,0,96,144,144,96,2,70,86,80,160,96,144,144,96,2, + 70,86,80,0,96,144,144,96,2,69,85,96,0,240,0,96, + 2,68,84,112,176,208,224,2,70,86,64,32,144,144,144,112, + 2,70,86,32,64,144,144,144,112,2,70,86,96,0,144,144, + 144,112,2,70,86,80,0,144,144,144,112,1,71,87,32,64, + 144,144,80,32,64,1,70,86,128,224,144,144,224,128,1,71, + 87,80,0,144,144,80,32,64}; +/* + Fontname: -Misc-Fixed-Medium-R-Normal--7-70-75-75-C-50-ISO10646-1 + Copyright: Public domain font. Share and enjoy. + Capital A Height: 6, '1' Height: 6 + Calculated Max Values w= 5 h= 7 x= 2 y= 6 dx= 5 dy= 0 ascent= 6 len= 7 + Font Bounding box w= 5 h= 7 x= 0 y=-1 + Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 + Pure Font ascent = 6 descent=-1 + X Font ascent = 6 descent=-1 + Max Font ascent = 6 descent=-1 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_5x7r[789] U8G_FONT_SECTION("u8g_font_5x7r") = { + 1,5,7,0,255,6,1,21,2,39,32,127,255,6,255,6, + 255,8,0,80,34,22,86,128,128,128,128,0,128,21,51,83, + 160,160,160,2,85,85,80,248,80,248,80,2,85,85,112,160, + 112,40,112,2,70,86,128,144,32,64,144,16,2,69,85,64, + 160,64,160,80,37,19,83,128,128,128,18,38,86,64,128,128, + 128,128,64,18,38,86,128,64,64,64,64,128,18,53,85,160, + 64,224,64,160,2,85,85,32,32,248,32,32,17,51,83,96, + 64,128,4,65,81,240,18,34,82,192,192,3,68,84,16,32, + 64,128,18,54,86,64,160,160,160,160,64,18,54,86,64,192, + 64,64,64,224,2,70,86,96,144,16,32,64,240,2,70,86, + 240,16,96,16,144,96,2,70,86,32,96,160,240,32,32,2, + 70,86,240,128,224,16,144,96,2,70,86,96,128,224,144,144, + 96,2,70,86,240,16,32,32,64,64,2,70,86,96,144,96, + 144,144,96,2,70,86,96,144,144,112,16,96,18,37,85,192, + 192,0,192,192,1,54,86,96,96,0,96,64,128,18,53,85, + 32,64,128,64,32,3,67,83,240,0,240,18,53,85,128,64, + 32,64,128,18,54,86,64,160,32,64,0,64,2,70,86,96, + 144,176,176,128,96,2,70,86,96,144,144,240,144,144,2,70, + 86,224,144,224,144,144,224,2,70,86,96,144,128,128,144,96, + 2,70,86,224,144,144,144,144,224,2,70,86,240,128,224,128, + 128,240,2,70,86,240,128,224,128,128,128,2,70,86,96,144, + 128,176,144,112,2,70,86,144,144,240,144,144,144,18,54,86, + 224,64,64,64,64,224,2,70,86,16,16,16,16,144,96,2, + 70,86,144,160,192,192,160,144,2,70,86,128,128,128,128,128, + 240,2,70,86,144,240,240,144,144,144,2,70,86,144,208,208, + 176,176,144,2,70,86,96,144,144,144,144,96,2,70,86,224, + 144,144,224,128,128,1,71,87,96,144,144,144,208,96,16,2, + 70,86,224,144,144,224,160,144,2,70,86,96,144,64,32,144, + 96,18,54,86,224,64,64,64,64,64,2,70,86,144,144,144, + 144,144,96,2,70,86,144,144,144,144,96,96,2,70,86,144, + 144,144,240,240,144,2,70,86,144,144,96,96,144,144,18,54, + 86,160,160,160,64,64,64,2,70,86,240,16,32,64,128,240, + 18,54,86,224,128,128,128,128,224,3,68,84,128,64,32,16, + 18,54,86,224,32,32,32,32,224,22,50,82,64,160,2,65, + 81,240,22,34,82,128,64,2,68,84,112,144,176,80,2,70, + 86,128,128,224,144,144,224,2,52,84,96,128,128,96,2,70, + 86,16,16,112,144,144,112,2,68,84,96,176,192,96,2,70, + 86,32,80,64,224,64,64,1,69,85,112,144,96,128,112,2, + 70,86,128,128,224,144,144,144,18,54,86,64,0,192,64,64, + 224,17,55,87,32,0,32,32,32,160,64,2,70,86,128,128, + 160,192,160,144,18,54,86,192,64,64,64,64,224,2,68,84, + 160,240,144,144,2,68,84,224,144,144,144,2,68,84,96,144, + 144,96,1,69,85,224,144,144,224,128,1,69,85,112,144,144, + 112,16,2,68,84,224,144,128,128,2,68,84,112,192,48,224, + 2,70,86,64,64,224,64,64,48,2,68,84,144,144,144,112, + 18,52,84,160,160,160,64,2,68,84,144,144,240,240,2,68, + 84,144,96,96,144,1,69,85,144,144,80,32,64,2,68,84, + 240,32,64,240,18,54,86,32,64,192,64,64,32,34,22,86, + 128,128,128,128,128,128,18,54,86,128,64,96,64,64,128,6, + 66,82,80,160,255}; +/* + Fontname: -Misc-Fixed-Medium-R-Normal--8-80-75-75-C-50-ISO10646-1 + Copyright: Public domain font. Share and enjoy. + Capital A Height: 6, '1' Height: 6 + Calculated Max Values w= 5 h= 8 x= 2 y= 7 dx= 5 dy= 0 ascent= 7 len= 8 + Font Bounding box w= 5 h= 8 x= 0 y=-1 + Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 + Pure Font ascent = 6 descent=-1 + X Font ascent = 6 descent=-1 + Max Font ascent = 7 descent=-1 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_5x8[1693] U8G_FONT_SECTION("u8g_font_5x8") = { + 1,5,8,0,255,6,1,33,2,53,32,255,255,7,255,6, + 255,9,0,80,34,22,86,128,128,128,128,0,128,21,51,83, + 160,160,160,2,87,87,80,80,248,80,248,80,80,2,87,87, + 32,112,160,112,40,112,32,19,53,85,128,160,64,160,32,2, + 71,87,64,160,160,64,160,160,80,37,19,83,128,128,128,18, + 38,86,64,128,128,128,128,64,18,38,86,128,64,64,64,64, + 128,2,69,85,144,96,240,96,144,2,85,85,32,32,248,32, + 32,17,51,83,96,64,128,4,65,81,240,17,51,83,64,224, + 64,2,70,86,16,16,32,64,128,128,18,54,86,64,160,160, + 160,160,64,18,54,86,64,192,64,64,64,224,2,70,86,96, + 144,16,96,128,240,2,70,86,240,32,96,16,144,96,2,70, + 86,32,96,160,240,32,32,2,70,86,240,128,224,16,144,96, + 2,70,86,96,128,224,144,144,96,2,70,86,240,16,32,32, + 64,64,2,70,86,96,144,96,144,144,96,2,70,86,96,144, + 144,112,16,96,18,37,85,192,192,0,192,192,17,54,86,96, + 96,0,96,64,128,18,54,86,32,64,128,128,64,32,3,67, + 83,240,0,240,18,54,86,128,64,32,32,64,128,18,54,86, + 64,160,32,64,0,64,1,88,88,48,72,152,168,168,144,64, + 48,2,70,86,96,144,144,240,144,144,2,70,86,224,144,224, + 144,144,224,2,70,86,96,144,128,128,144,96,2,70,86,224, + 144,144,144,144,224,2,70,86,240,128,224,128,128,240,2,70, + 86,240,128,224,128,128,128,2,70,86,96,144,128,176,144,96, + 2,70,86,144,144,240,144,144,144,18,54,86,224,64,64,64, + 64,224,2,70,86,112,32,32,32,160,64,2,70,86,144,160, + 192,160,160,144,2,70,86,128,128,128,128,128,240,2,70,86, + 144,240,240,144,144,144,2,70,86,144,208,240,176,176,144,2, + 70,86,96,144,144,144,144,96,2,70,86,224,144,144,224,128, + 128,1,71,87,96,144,144,208,176,96,16,2,70,86,224,144, + 144,224,144,144,2,70,86,96,144,64,32,144,96,18,54,86, + 224,64,64,64,64,64,2,70,86,144,144,144,144,144,96,2, + 70,86,144,144,144,144,96,96,2,70,86,144,144,144,240,240, + 144,2,70,86,144,144,96,96,144,144,2,86,86,136,136,80, + 32,32,32,2,70,86,240,16,32,64,128,240,18,54,86,224, + 128,128,128,128,224,2,70,86,128,128,64,32,16,16,18,54, + 86,224,32,32,32,32,224,22,50,82,64,160,1,65,81,240, + 22,34,82,128,64,2,68,84,112,144,144,112,2,70,86,128, + 128,224,144,144,224,18,52,84,96,128,128,96,2,70,86,16, + 16,112,144,144,112,2,68,84,96,176,192,96,2,70,86,32, + 80,64,224,64,64,1,69,85,96,144,112,16,96,2,70,86, + 128,128,224,144,144,144,18,54,86,64,0,192,64,64,224,17, + 55,87,32,0,32,32,32,160,64,2,70,86,128,128,144,224, + 144,144,18,54,86,192,64,64,64,64,224,2,84,84,208,168, + 168,168,2,68,84,224,144,144,144,2,68,84,96,144,144,96, + 1,69,85,224,144,224,128,128,1,69,85,112,144,112,16,16, + 2,68,84,160,208,128,128,18,52,84,96,192,32,192,2,70, + 86,64,64,224,64,80,32,2,68,84,144,144,144,112,18,52, + 84,160,160,160,64,2,84,84,136,168,168,80,2,68,84,144, + 96,96,144,1,69,85,144,144,112,144,96,2,68,84,240,32, + 64,240,2,71,87,48,64,32,192,32,64,48,34,22,86,128, + 128,128,128,128,128,2,71,87,192,32,64,48,64,32,192,6, + 66,82,80,160,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,255,255, + 255,255,255,255,255,9,0,80,34,22,86,128,0,128,128,128, + 128,1,70,86,32,112,160,160,112,32,2,70,86,32,80,224, + 64,80,160,2,85,85,136,112,80,112,136,2,86,86,136,80, + 248,32,248,32,34,23,87,128,128,128,0,128,128,128,2,71, + 87,112,128,224,144,112,16,224,23,49,81,160,2,86,86,112, + 168,200,200,168,112,20,53,85,96,160,96,0,224,3,67,83, + 80,160,80,18,51,83,224,32,32,20,49,81,224,2,86,86, + 112,232,216,232,216,112,23,49,81,224,21,51,83,64,160,64, + 18,53,85,64,224,64,0,224,20,53,85,64,160,32,64,224, + 20,53,85,192,32,192,32,192,22,34,82,64,128,1,69,85, + 144,144,144,224,128,2,86,86,120,232,232,104,40,40,36,17, + 81,128,17,34,82,64,128,20,53,85,64,192,64,64,224,20, + 53,85,64,160,64,0,224,3,67,83,160,80,160,2,71,87, + 128,128,128,160,96,240,32,2,71,87,128,128,160,208,16,32, + 112,2,71,87,128,64,128,96,160,240,32,18,54,86,64,0, + 64,128,160,64,2,71,87,64,32,96,144,240,144,144,2,71, + 87,32,64,96,144,240,144,144,2,71,87,96,144,96,144,240, + 144,144,2,71,87,80,160,96,144,240,144,144,2,71,87,144, + 0,96,144,240,144,144,2,71,87,96,144,96,144,240,144,144, + 2,70,86,112,160,160,240,160,176,1,71,87,96,144,128,128, + 144,96,64,2,71,87,64,32,240,128,224,128,240,2,71,87, + 32,64,240,128,224,128,240,2,71,87,96,144,240,128,224,128, + 240,2,71,87,144,0,240,128,224,128,240,18,55,87,128,64, + 224,64,64,64,224,18,55,87,32,64,224,64,64,64,224,18, + 55,87,64,160,224,64,64,64,224,18,55,87,160,0,224,64, + 64,64,224,2,86,86,112,72,232,72,72,112,2,71,87,80, + 160,144,208,176,144,144,2,71,87,64,32,96,144,144,144,96, + 2,71,87,32,64,96,144,144,144,96,2,71,87,96,144,96, + 144,144,144,96,2,71,87,80,160,96,144,144,144,96,2,71, + 87,144,0,96,144,144,144,96,18,51,83,160,64,160,2,70, + 86,112,176,176,208,208,224,2,71,87,64,32,144,144,144,144, + 96,2,71,87,32,64,144,144,144,144,96,2,71,87,96,144, + 144,144,144,144,96,2,71,87,144,0,144,144,144,144,96,2, + 87,87,16,32,136,80,32,32,32,2,70,86,128,224,144,144, + 224,128,2,70,86,96,144,160,160,144,160,2,71,87,64,32, + 0,112,144,144,112,2,71,87,32,64,0,112,144,144,112,2, + 71,87,32,80,0,112,144,144,112,2,71,87,80,160,0,112, + 144,144,112,2,70,86,80,0,112,144,144,112,2,71,87,96, + 144,96,112,144,144,112,2,84,84,240,104,176,120,17,53,85, + 96,128,128,96,64,2,71,87,64,32,0,96,176,192,96,2, + 71,87,32,64,0,96,176,192,96,2,71,87,96,144,0,96, + 176,192,96,2,70,86,80,0,96,176,192,96,18,55,87,128, + 64,0,192,64,64,224,18,55,87,32,64,0,192,64,64,224, + 18,55,87,64,160,0,192,64,64,224,18,54,86,160,0,192, + 64,64,224,2,71,87,160,64,160,16,112,144,96,2,71,87, + 80,160,0,224,144,144,144,2,71,87,64,32,0,96,144,144, + 96,2,71,87,32,64,0,96,144,144,96,2,71,87,96,144, + 0,96,144,144,96,2,71,87,80,160,0,96,144,144,96,2, + 70,86,144,0,96,144,144,96,18,53,85,64,0,224,0,64, + 2,68,84,112,176,208,224,2,71,87,64,32,0,144,144,144, + 112,2,71,87,32,64,0,144,144,144,112,2,71,87,96,144, + 0,144,144,144,112,2,70,86,144,0,144,144,144,112,1,72, + 88,32,64,0,144,144,112,144,96,1,71,87,128,128,224,144, + 224,128,128,1,71,87,144,0,144,144,112,144,96}; +/* + Fontname: -Misc-Fixed-Medium-R-Normal--8-80-75-75-C-50-ISO10646-1 + Copyright: Public domain font. Share and enjoy. + Capital A Height: 6, '1' Height: 6 + Calculated Max Values w= 5 h= 8 x= 2 y= 7 dx= 5 dy= 0 ascent= 7 len= 8 + Font Bounding box w= 5 h= 8 x= 0 y=-1 + Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 + Pure Font ascent = 6 descent=-1 + X Font ascent = 6 descent=-1 + Max Font ascent = 7 descent=-1 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_5x8r[805] U8G_FONT_SECTION("u8g_font_5x8r") = { + 1,5,8,0,255,6,1,33,2,53,32,127,255,7,255,6, + 255,9,0,80,34,22,86,128,128,128,128,0,128,21,51,83, + 160,160,160,2,87,87,80,80,248,80,248,80,80,2,87,87, + 32,112,160,112,40,112,32,19,53,85,128,160,64,160,32,2, + 71,87,64,160,160,64,160,160,80,37,19,83,128,128,128,18, + 38,86,64,128,128,128,128,64,18,38,86,128,64,64,64,64, + 128,2,69,85,144,96,240,96,144,2,85,85,32,32,248,32, + 32,17,51,83,96,64,128,4,65,81,240,17,51,83,64,224, + 64,2,70,86,16,16,32,64,128,128,18,54,86,64,160,160, + 160,160,64,18,54,86,64,192,64,64,64,224,2,70,86,96, + 144,16,96,128,240,2,70,86,240,32,96,16,144,96,2,70, + 86,32,96,160,240,32,32,2,70,86,240,128,224,16,144,96, + 2,70,86,96,128,224,144,144,96,2,70,86,240,16,32,32, + 64,64,2,70,86,96,144,96,144,144,96,2,70,86,96,144, + 144,112,16,96,18,37,85,192,192,0,192,192,17,54,86,96, + 96,0,96,64,128,18,54,86,32,64,128,128,64,32,3,67, + 83,240,0,240,18,54,86,128,64,32,32,64,128,18,54,86, + 64,160,32,64,0,64,1,88,88,48,72,152,168,168,144,64, + 48,2,70,86,96,144,144,240,144,144,2,70,86,224,144,224, + 144,144,224,2,70,86,96,144,128,128,144,96,2,70,86,224, + 144,144,144,144,224,2,70,86,240,128,224,128,128,240,2,70, + 86,240,128,224,128,128,128,2,70,86,96,144,128,176,144,96, + 2,70,86,144,144,240,144,144,144,18,54,86,224,64,64,64, + 64,224,2,70,86,112,32,32,32,160,64,2,70,86,144,160, + 192,160,160,144,2,70,86,128,128,128,128,128,240,2,70,86, + 144,240,240,144,144,144,2,70,86,144,208,240,176,176,144,2, + 70,86,96,144,144,144,144,96,2,70,86,224,144,144,224,128, + 128,1,71,87,96,144,144,208,176,96,16,2,70,86,224,144, + 144,224,144,144,2,70,86,96,144,64,32,144,96,18,54,86, + 224,64,64,64,64,64,2,70,86,144,144,144,144,144,96,2, + 70,86,144,144,144,144,96,96,2,70,86,144,144,144,240,240, + 144,2,70,86,144,144,96,96,144,144,2,86,86,136,136,80, + 32,32,32,2,70,86,240,16,32,64,128,240,18,54,86,224, + 128,128,128,128,224,2,70,86,128,128,64,32,16,16,18,54, + 86,224,32,32,32,32,224,22,50,82,64,160,1,65,81,240, + 22,34,82,128,64,2,68,84,112,144,144,112,2,70,86,128, + 128,224,144,144,224,18,52,84,96,128,128,96,2,70,86,16, + 16,112,144,144,112,2,68,84,96,176,192,96,2,70,86,32, + 80,64,224,64,64,1,69,85,96,144,112,16,96,2,70,86, + 128,128,224,144,144,144,18,54,86,64,0,192,64,64,224,17, + 55,87,32,0,32,32,32,160,64,2,70,86,128,128,144,224, + 144,144,18,54,86,192,64,64,64,64,224,2,84,84,208,168, + 168,168,2,68,84,224,144,144,144,2,68,84,96,144,144,96, + 1,69,85,224,144,224,128,128,1,69,85,112,144,112,16,16, + 2,68,84,160,208,128,128,18,52,84,96,192,32,192,2,70, + 86,64,64,224,64,80,32,2,68,84,144,144,144,112,18,52, + 84,160,160,160,64,2,84,84,136,168,168,80,2,68,84,144, + 96,96,144,1,69,85,144,144,112,144,96,2,68,84,240,32, + 64,240,2,71,87,48,64,32,192,32,64,48,34,22,86,128, + 128,128,128,128,128,2,71,87,192,32,64,48,64,32,192,6, + 66,82,80,160,255}; +/* + Fontname: -Misc-Fixed-Medium-R-Normal--10-100-75-75-C-60-ISO10646-1 + Copyright: Public domain terminal emulator font. Share and enjoy. + Capital A Height: 7, '1' Height: 7 + Calculated Max Values w= 6 h= 9 x= 2 y= 8 dx= 6 dy= 0 ascent= 8 len= 9 + Font Bounding box w= 6 h=10 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent = 7 descent=-2 + X Font ascent = 7 descent=-2 + Max Font ascent = 8 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_6x10[1866] U8G_FONT_SECTION("u8g_font_6x10") = { + 1,6,10,0,254,7,1,54,2,104,32,255,254,8,254,7, + 254,10,0,96,34,23,103,128,128,128,128,128,0,128,22,51, + 99,160,160,160,2,87,103,80,80,248,80,248,80,80,2,87, + 103,32,112,160,112,40,112,32,2,87,103,72,168,80,32,80, + 168,144,2,87,103,64,160,160,64,168,144,104,38,19,99,128, + 128,128,18,55,103,32,64,128,128,128,64,32,18,55,103,128, + 64,32,32,32,64,128,3,85,101,136,80,248,80,136,3,85, + 101,32,32,248,32,32,17,51,99,96,64,128,5,81,97,248, + 17,51,99,64,224,64,2,87,103,8,8,16,32,64,128,128, + 2,87,103,32,80,136,136,136,80,32,2,87,103,32,96,160, + 32,32,32,248,2,87,103,112,136,8,48,64,128,248,2,87, + 103,248,8,16,48,8,136,112,2,87,103,16,48,80,144,248, + 16,16,2,87,103,248,128,176,200,8,136,112,2,87,103,48, + 64,128,176,200,136,112,2,87,103,248,8,16,16,32,64,64, + 2,87,103,112,136,136,112,136,136,112,2,87,103,112,136,152, + 104,8,16,96,17,55,103,64,224,64,0,64,224,64,17,55, + 103,64,224,64,0,96,64,128,18,71,103,16,32,64,128,64, + 32,16,4,83,99,248,0,248,18,71,103,128,64,32,16,32, + 64,128,2,87,103,112,136,16,32,32,0,32,2,87,103,112, + 136,152,168,176,128,112,2,87,103,32,80,136,136,248,136,136, + 2,87,103,240,72,72,112,72,72,240,2,87,103,112,136,128, + 128,128,136,112,2,87,103,240,72,72,72,72,72,240,2,87, + 103,248,128,128,240,128,128,248,2,87,103,248,128,128,240,128, + 128,128,2,87,103,112,136,128,128,152,136,112,2,87,103,136, + 136,136,248,136,136,136,18,55,103,224,64,64,64,64,64,224, + 2,87,103,56,16,16,16,16,144,96,2,87,103,136,144,160, + 192,160,144,136,2,87,103,128,128,128,128,128,128,248,2,87, + 103,136,136,216,168,136,136,136,2,87,103,136,136,200,168,152, + 136,136,2,87,103,112,136,136,136,136,136,112,2,87,103,240, + 136,136,240,128,128,128,1,88,104,112,136,136,136,136,168,112, + 8,2,87,103,240,136,136,240,160,144,136,2,87,103,112,136, + 128,112,8,136,112,2,87,103,248,32,32,32,32,32,32,2, + 87,103,136,136,136,136,136,136,112,2,87,103,136,136,136,80, + 80,80,32,2,87,103,136,136,136,168,168,216,136,2,87,103, + 136,136,80,32,80,136,136,2,87,103,136,136,80,32,32,32, + 32,2,87,103,248,8,16,32,64,128,248,18,55,103,224,128, + 128,128,128,128,224,2,87,103,128,128,64,32,16,8,8,18, + 55,103,224,32,32,32,32,32,224,6,83,99,32,80,136,1, + 81,97,248,40,34,98,128,64,2,85,101,112,8,120,136,120, + 2,87,103,128,128,176,200,136,200,176,2,85,101,112,136,128, + 136,112,2,87,103,8,8,104,152,136,152,104,2,85,101,112, + 136,248,128,112,2,87,103,48,72,64,240,64,64,64,0,87, + 103,120,136,136,120,8,136,112,2,87,103,128,128,176,200,136, + 136,136,18,55,103,64,0,192,64,64,64,224,16,73,105,16, + 0,48,16,16,16,144,144,96,2,87,103,128,128,136,144,224, + 144,136,18,55,103,192,64,64,64,64,64,224,2,85,101,208, + 168,168,168,136,2,85,101,176,200,136,136,136,2,85,101,112, + 136,136,136,112,0,87,103,176,200,136,200,176,128,128,0,87, + 103,104,152,136,152,104,8,8,2,85,101,176,200,128,128,128, + 2,85,101,112,128,112,8,240,2,87,103,64,64,240,64,64, + 72,48,2,85,101,136,136,136,152,104,2,85,101,136,136,80, + 80,32,2,85,101,136,136,168,168,80,2,85,101,136,80,32, + 80,136,0,87,103,136,136,152,104,8,136,112,2,85,101,248, + 16,32,64,248,18,71,103,48,64,32,192,32,64,48,34,23, + 103,128,128,128,128,128,128,128,18,71,103,192,32,64,48,64, + 32,192,6,83,99,72,168,144,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,255,255,255,255,255,255,255,10,0,96,34,23,103,128, + 0,128,128,128,128,128,1,87,103,32,120,160,160,160,120,32, + 2,87,103,48,72,64,224,64,72,176,2,85,101,136,112,80, + 112,136,1,88,104,136,136,80,32,248,32,32,32,34,23,103, + 128,128,128,0,128,128,128,1,88,104,112,128,224,144,72,56, + 8,112,25,49,97,160,2,87,103,112,136,168,200,168,136,112, + 19,70,102,112,144,176,80,0,240,2,101,101,36,72,144,72, + 36,20,66,98,240,16,21,65,97,240,2,87,103,112,136,232, + 200,200,136,112,9,81,97,248,22,51,99,64,160,64,2,86, + 102,32,32,248,32,32,248,21,69,101,96,144,32,64,240,21, + 69,101,224,16,96,16,224,40,34,98,64,128,1,86,102,136, + 136,136,200,176,128,2,87,103,120,232,232,104,40,40,40,37, + 17,97,128,32,34,98,64,128,21,53,101,64,192,64,64,224, + 19,70,102,96,144,144,96,0,240,2,101,101,144,72,36,72, + 144,1,105,105,64,192,64,64,228,12,20,60,4,1,105,105, + 64,192,64,64,232,20,4,8,28,1,89,105,192,32,64,32, + 200,24,40,120,8,2,87,103,32,0,32,32,64,136,112,2, + 88,104,64,32,112,136,136,248,136,136,2,88,104,16,32,112, + 136,136,248,136,136,2,88,104,32,80,112,136,136,248,136,136, + 2,88,104,72,176,112,136,136,248,136,136,2,88,104,80,0, + 112,136,136,248,136,136,2,88,104,32,80,112,136,136,248,136, + 136,2,103,103,60,80,144,156,240,144,156,0,89,105,112,136, + 128,128,128,136,112,32,64,2,88,104,64,248,128,128,240,128, + 128,248,2,88,104,16,248,128,128,240,128,128,248,2,88,104, + 32,248,128,128,240,128,128,248,2,88,104,80,248,128,128,240, + 128,128,248,18,56,104,128,64,224,64,64,64,64,224,18,56, + 104,32,64,224,64,64,64,64,224,18,56,104,64,160,224,64, + 64,64,64,224,18,56,104,160,0,224,64,64,64,64,224,2, + 87,103,240,72,72,232,72,72,240,2,88,104,40,80,136,200, + 168,152,136,136,2,88,104,64,32,112,136,136,136,136,112,2, + 88,104,16,32,112,136,136,136,136,112,2,88,104,32,80,112, + 136,136,136,136,112,2,88,104,40,80,112,136,136,136,136,112, + 2,88,104,80,0,112,136,136,136,136,112,2,85,101,136,80, + 32,80,136,2,87,103,112,152,152,168,200,200,112,2,88,104, + 64,32,136,136,136,136,136,112,2,88,104,16,32,136,136,136, + 136,136,112,2,88,104,32,80,0,136,136,136,136,112,2,88, + 104,80,0,136,136,136,136,136,112,2,88,104,16,32,136,136, + 80,32,32,32,2,87,103,128,240,136,240,128,128,128,2,87, + 103,112,136,144,160,144,136,176,2,88,104,64,32,0,112,8, + 120,136,120,2,88,104,16,32,0,112,8,120,136,120,2,88, + 104,32,80,0,112,8,120,136,120,2,88,104,40,80,0,112, + 8,120,136,120,2,87,103,80,0,112,8,120,136,120,2,88, + 104,32,80,32,112,8,120,136,120,2,101,101,120,20,124,144, + 124,0,87,103,112,136,128,136,112,32,64,2,88,104,64,32, + 0,112,136,248,128,112,2,88,104,16,32,0,112,136,248,128, + 112,2,88,104,32,80,0,112,136,248,128,112,2,87,103,80, + 0,112,136,248,128,112,18,56,104,128,64,0,192,64,64,64, + 224,18,56,104,64,128,0,192,64,64,64,224,18,56,104,64, + 160,0,192,64,64,64,224,18,55,103,160,0,192,64,64,64, + 224,2,87,103,192,48,112,136,136,136,112,2,88,104,40,80, + 0,176,200,136,136,136,2,88,104,64,32,0,112,136,136,136, + 112,2,88,104,16,32,0,112,136,136,136,112,2,88,104,32, + 80,0,112,136,136,136,112,2,88,104,40,80,0,112,136,136, + 136,112,2,87,103,80,0,112,136,136,136,112,3,85,101,32, + 0,248,0,32,2,85,101,120,152,168,200,240,2,88,104,64, + 32,0,136,136,136,152,104,2,88,104,16,32,0,136,136,136, + 152,104,2,88,104,32,80,0,136,136,136,152,104,2,87,103, + 80,0,136,136,136,152,104,0,89,105,16,32,136,136,152,104, + 8,136,112,0,88,104,128,240,136,136,136,240,128,128,0,89, + 105,80,0,136,136,152,104,8,136,112}; +/* + Fontname: -Misc-Fixed-Medium-R-Normal--10-100-75-75-C-60-ISO10646-1 + Copyright: Public domain terminal emulator font. Share and enjoy. + Capital A Height: 7, '1' Height: 7 + Calculated Max Values w= 5 h= 9 x= 2 y= 8 dx= 6 dy= 0 ascent= 8 len= 9 + Font Bounding box w= 6 h=10 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent = 7 descent=-2 + X Font ascent = 7 descent=-2 + Max Font ascent = 8 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_6x10r[889] U8G_FONT_SECTION("u8g_font_6x10r") = { + 1,6,10,0,254,7,1,54,2,104,32,127,254,8,254,7, + 254,10,0,96,34,23,103,128,128,128,128,128,0,128,22,51, + 99,160,160,160,2,87,103,80,80,248,80,248,80,80,2,87, + 103,32,112,160,112,40,112,32,2,87,103,72,168,80,32,80, + 168,144,2,87,103,64,160,160,64,168,144,104,38,19,99,128, + 128,128,18,55,103,32,64,128,128,128,64,32,18,55,103,128, + 64,32,32,32,64,128,3,85,101,136,80,248,80,136,3,85, + 101,32,32,248,32,32,17,51,99,96,64,128,5,81,97,248, + 17,51,99,64,224,64,2,87,103,8,8,16,32,64,128,128, + 2,87,103,32,80,136,136,136,80,32,2,87,103,32,96,160, + 32,32,32,248,2,87,103,112,136,8,48,64,128,248,2,87, + 103,248,8,16,48,8,136,112,2,87,103,16,48,80,144,248, + 16,16,2,87,103,248,128,176,200,8,136,112,2,87,103,48, + 64,128,176,200,136,112,2,87,103,248,8,16,16,32,64,64, + 2,87,103,112,136,136,112,136,136,112,2,87,103,112,136,152, + 104,8,16,96,17,55,103,64,224,64,0,64,224,64,17,55, + 103,64,224,64,0,96,64,128,18,71,103,16,32,64,128,64, + 32,16,4,83,99,248,0,248,18,71,103,128,64,32,16,32, + 64,128,2,87,103,112,136,16,32,32,0,32,2,87,103,112, + 136,152,168,176,128,112,2,87,103,32,80,136,136,248,136,136, + 2,87,103,240,72,72,112,72,72,240,2,87,103,112,136,128, + 128,128,136,112,2,87,103,240,72,72,72,72,72,240,2,87, + 103,248,128,128,240,128,128,248,2,87,103,248,128,128,240,128, + 128,128,2,87,103,112,136,128,128,152,136,112,2,87,103,136, + 136,136,248,136,136,136,18,55,103,224,64,64,64,64,64,224, + 2,87,103,56,16,16,16,16,144,96,2,87,103,136,144,160, + 192,160,144,136,2,87,103,128,128,128,128,128,128,248,2,87, + 103,136,136,216,168,136,136,136,2,87,103,136,136,200,168,152, + 136,136,2,87,103,112,136,136,136,136,136,112,2,87,103,240, + 136,136,240,128,128,128,1,88,104,112,136,136,136,136,168,112, + 8,2,87,103,240,136,136,240,160,144,136,2,87,103,112,136, + 128,112,8,136,112,2,87,103,248,32,32,32,32,32,32,2, + 87,103,136,136,136,136,136,136,112,2,87,103,136,136,136,80, + 80,80,32,2,87,103,136,136,136,168,168,216,136,2,87,103, + 136,136,80,32,80,136,136,2,87,103,136,136,80,32,32,32, + 32,2,87,103,248,8,16,32,64,128,248,18,55,103,224,128, + 128,128,128,128,224,2,87,103,128,128,64,32,16,8,8,18, + 55,103,224,32,32,32,32,32,224,6,83,99,32,80,136,1, + 81,97,248,40,34,98,128,64,2,85,101,112,8,120,136,120, + 2,87,103,128,128,176,200,136,200,176,2,85,101,112,136,128, + 136,112,2,87,103,8,8,104,152,136,152,104,2,85,101,112, + 136,248,128,112,2,87,103,48,72,64,240,64,64,64,0,87, + 103,120,136,136,120,8,136,112,2,87,103,128,128,176,200,136, + 136,136,18,55,103,64,0,192,64,64,64,224,16,73,105,16, + 0,48,16,16,16,144,144,96,2,87,103,128,128,136,144,224, + 144,136,18,55,103,192,64,64,64,64,64,224,2,85,101,208, + 168,168,168,136,2,85,101,176,200,136,136,136,2,85,101,112, + 136,136,136,112,0,87,103,176,200,136,200,176,128,128,0,87, + 103,104,152,136,152,104,8,8,2,85,101,176,200,128,128,128, + 2,85,101,112,128,112,8,240,2,87,103,64,64,240,64,64, + 72,48,2,85,101,136,136,136,152,104,2,85,101,136,136,80, + 80,32,2,85,101,136,136,168,168,80,2,85,101,136,80,32, + 80,136,0,87,103,136,136,152,104,8,136,112,2,85,101,248, + 16,32,64,248,18,71,103,48,64,32,192,32,64,48,34,23, + 103,128,128,128,128,128,128,128,18,71,103,192,32,64,48,64, + 32,192,6,83,99,72,168,144,255}; +/* + Fontname: -Misc-Fixed-Medium-R-SemiCondensed--12-110-75-75-C-60-ISO10646-1 + Copyright: Public domain terminal emulator font. Share and enjoy. + Capital A Height: 3, '1' Height: 8 + Calculated Max Values w= 6 h=12 x= 5 y= 8 dx= 6 dy= 0 ascent=10 len=12 + Font Bounding box w= 6 h=12 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent = 3 descent= 0 + X Font ascent = 8 descent= 0 + Max Font ascent =10 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_6x12_67_75[2382] U8G_FONT_SECTION("u8g_font_6x12_67_75") = { + 1,6,12,0,254,3,2,41,3,99,0,255,0,10,254,8, + 0,2,87,103,168,0,136,0,136,0,168,2,87,103,240,136, + 232,168,232,136,240,2,87,103,112,168,248,168,248,168,112,2, + 87,103,112,136,8,8,8,136,112,18,69,101,96,144,16,144, + 96,1,88,104,112,136,128,128,136,120,8,8,2,87,103,32, + 32,32,32,168,112,32,2,103,103,248,252,252,156,252,252,248, + 2,87,103,112,248,248,168,248,248,112,255,255,255,255,255,255, + 255,3,85,101,32,64,248,64,32,2,87,103,32,112,168,32, + 32,32,32,3,85,101,32,16,248,16,32,2,87,103,32,32, + 32,32,168,112,32,4,83,99,80,248,80,2,87,103,32,112, + 168,32,168,112,32,2,89,105,192,240,224,160,32,16,16,8, + 8,2,89,105,24,120,56,40,32,64,64,128,128,2,89,105, + 128,128,64,64,32,40,56,120,24,2,89,105,8,8,16,16, + 32,160,224,240,192,3,101,101,40,72,252,80,48,3,101,101, + 48,40,252,72,80,4,99,99,192,216,100,4,99,99,12,108, + 152,3,101,101,40,80,252,80,40,2,88,104,32,112,168,112, + 168,32,32,32,3,101,101,80,40,252,40,80,2,88,104,32, + 32,32,168,112,168,112,32,3,101,101,36,72,240,72,36,3, + 101,101,144,72,60,72,144,3,85,101,40,72,248,72,40,2, + 87,103,32,112,168,32,32,32,248,3,85,101,160,144,248,144, + 160,2,87,103,248,32,32,32,168,112,32,2,87,103,32,112, + 168,32,168,112,248,3,101,101,40,68,248,64,32,3,101,101, + 80,136,124,8,16,3,101,101,32,76,252,72,40,3,101,101, + 16,200,252,72,80,3,100,100,72,220,236,72,3,101,101,8, + 88,252,104,64,2,87,103,128,144,176,208,144,56,16,2,88, + 104,32,64,248,72,40,8,8,8,2,88,104,32,16,248,144, + 160,128,128,128,2,88,104,8,8,8,40,72,248,64,32,2, + 87,103,128,128,160,144,248,16,32,3,84,100,240,16,56,16, + 3,85,101,8,8,72,248,64,3,85,101,48,72,72,232,72, + 3,85,101,96,144,144,184,16,2,88,104,248,128,224,192,160, + 32,16,16,2,89,105,160,192,248,192,168,24,248,24,40,2, + 86,102,56,48,168,136,136,112,2,86,102,224,96,168,136,136, + 112,5,83,99,32,64,248,3,83,99,248,64,32,34,56,104, + 128,192,160,128,128,128,128,128,2,56,104,32,96,160,32,32, + 32,32,32,5,83,99,32,16,248,3,83,99,248,16,32,34, + 56,104,128,128,128,128,128,160,192,128,2,56,104,32,32,32, + 32,32,160,96,32,2,89,105,32,16,248,16,32,64,248,64, + 32,2,88,104,80,240,80,80,80,80,120,80,2,89,105,32, + 64,248,64,32,16,248,16,32,2,89,105,32,64,248,64,32, + 64,248,64,32,2,88,104,80,248,80,80,80,80,80,80,2, + 89,105,32,16,248,16,32,16,248,16,32,2,88,104,80,80, + 80,80,80,80,248,80,2,87,103,32,64,248,0,248,16,32, + 2,87,103,32,16,248,0,248,64,32,2,103,103,20,40,124, + 144,124,32,80,2,103,103,8,88,252,164,252,104,64,2,103, + 103,160,80,248,36,248,16,40,3,85,101,32,120,128,120,32, + 2,87,103,32,80,216,80,80,80,80,3,85,101,32,240,8, + 240,32,2,87,103,80,80,80,80,216,80,32,3,101,101,72, + 252,132,252,72,2,88,104,32,80,216,80,80,216,80,32,2, + 102,102,248,160,208,168,148,8,2,102,102,124,20,44,84,164, + 64,2,102,102,64,164,84,44,20,124,2,102,102,8,148,168, + 208,160,248,2,103,103,16,60,64,252,64,60,16,2,103,103, + 32,240,8,252,8,240,32,3,100,100,64,232,212,64,3,100, + 100,8,92,172,8,2,88,104,32,112,168,32,112,32,112,32, + 2,88,104,32,112,32,112,32,168,112,32,3,101,101,32,64, + 212,64,32,2,88,104,32,112,136,32,0,32,0,32,3,101, + 101,16,8,172,8,16,2,88,104,32,0,32,0,32,136,112, + 32,3,85,101,160,192,248,192,160,3,85,101,40,24,248,24, + 40,3,85,101,32,120,136,120,32,2,88,104,32,80,216,80, + 80,80,80,112,3,85,101,32,240,136,240,32,2,88,104,112, + 80,80,80,80,216,80,32,2,89,105,32,80,216,80,112,0, + 112,80,112,2,89,105,32,80,216,80,80,80,216,136,248,2, + 89,105,32,80,248,136,80,80,216,136,248,2,89,105,32,112, + 248,112,112,112,248,168,248,2,89,105,32,80,216,80,216,80, + 80,80,112,2,89,105,32,80,216,80,216,80,216,136,248,3, + 85,101,160,240,136,240,160,2,88,104,248,128,176,160,144,16, + 8,8,2,88,104,128,128,64,72,40,104,8,248,2,88,104, + 32,80,216,80,80,216,80,32,3,101,101,16,104,252,104,16, + 2,88,104,80,120,80,80,80,80,240,80,2,89,105,16,248, + 16,16,248,16,16,248,16,3,101,101,40,72,252,72,40,3, + 101,101,80,72,252,72,80,3,101,101,48,120,252,120,48,3, + 101,101,56,88,252,88,56,3,101,101,112,104,252,104,112,3, + 101,101,48,120,252,120,48,3,85,101,32,96,184,96,32,3, + 85,101,32,48,232,48,32,3,101,101,48,120,180,120,48,6, + 102,102,252,252,252,252,252,252,0,98,98,252,252,0,99,99, + 252,252,252,0,101,101,252,252,252,252,252,0,102,102,252,252, + 252,252,252,252,0,104,104,252,252,252,252,252,252,252,252,0, + 105,105,252,252,252,252,252,252,252,252,252,0,107,107,252,252, + 252,252,252,252,252,252,252,252,252,0,108,108,252,252,252,252, + 252,252,252,252,252,252,252,252,0,92,108,248,248,248,248,248, + 248,248,248,248,248,248,248,0,76,108,240,240,240,240,240,240, + 240,240,240,240,240,240,0,76,108,240,240,240,240,240,240,240, + 240,240,240,240,240,0,60,108,224,224,224,224,224,224,224,224, + 224,224,224,224,0,44,108,192,192,192,192,192,192,192,192,192, + 192,192,192,0,44,108,192,192,192,192,192,192,192,192,192,192, + 192,192,0,28,108,128,128,128,128,128,128,128,128,128,128,128, + 128,48,60,108,224,224,224,224,224,224,224,224,224,224,224,224, + 1,107,107,168,0,84,0,168,0,84,0,168,0,84,0,108, + 108,168,84,168,84,168,84,168,84,168,84,168,84,0,108,108, + 84,252,168,252,84,252,168,252,84,252,168,252,10,98,98,252, + 252,80,28,108,128,128,128,128,128,128,128,128,128,128,128,128, + 0,54,102,224,224,224,224,224,224,48,54,102,224,224,224,224, + 224,224,6,54,102,224,224,224,224,224,224,0,108,108,224,224, + 224,224,224,224,252,252,252,252,252,252,0,108,108,224,224,224, + 224,224,224,28,28,28,28,28,28,0,108,108,252,252,252,252, + 252,252,224,224,224,224,224,224,0,108,108,252,252,252,252,252, + 252,28,28,28,28,28,28,54,54,102,224,224,224,224,224,224, + 0,108,108,28,28,28,28,28,28,224,224,224,224,224,224,0, + 108,108,28,28,28,28,28,28,252,252,252,252,252,252,2,85, + 101,248,248,248,248,248,2,85,101,248,136,136,136,248,2,85, + 101,112,136,136,136,112,2,85,101,248,136,168,136,248,2,85, + 101,248,136,248,136,248,2,85,101,248,168,168,168,248,2,85, + 101,248,168,248,168,248,2,85,101,248,200,168,152,248,2,85, + 101,248,152,168,200,248,2,85,101,248,216,168,216,248,20,51, + 99,224,224,224,20,51,99,224,160,224,3,101,101,252,252,252, + 252,252,3,101,101,252,132,132,132,252,17,74,106,240,240,240, + 240,240,240,240,240,240,240,17,74,106,240,144,144,144,144,144, + 144,144,144,240,4,99,99,60,120,240,4,99,99,60,72,240, + 2,87,103,32,32,112,112,248,248,248,2,87,103,32,32,80, + 80,136,136,248,3,85,101,32,32,112,112,248,3,85,101,32, + 32,80,80,248,18,71,103,128,192,224,240,224,192,128,18,71, + 103,128,192,160,144,160,192,128,19,53,101,128,192,224,192,128, + 19,53,101,128,192,160,192,128,3,101,101,192,240,252,240,192, + 3,101,101,192,176,140,176,192,2,87,103,248,248,248,112,112, + 32,32,2,87,103,248,136,136,80,80,32,32,2,85,101,248, + 112,112,32,32,2,85,101,248,80,80,32,32,18,71,103,16, + 48,112,240,112,48,16,18,71,103,16,48,80,144,80,48,16, + 19,53,101,32,96,224,96,32,19,53,101,32,96,160,96,32, + 3,101,101,12,60,252,60,12,3,101,101,12,52,196,52,12, + 3,85,101,32,112,248,112,32,3,85,101,32,80,136,80,32, + 3,85,101,32,80,168,80,32,2,102,102,48,72,180,180,72, + 48,2,87,103,32,80,80,136,80,80,32,2,102,102,48,72, + 132,132,72,48,2,102,102,32,8,128,4,64,16,2,85,101, + 112,168,168,168,112,2,87,103,112,136,168,216,168,136,112,2, + 102,102,48,120,252,252,120,48,2,102,102,48,104,228,228,104, + 48,2,102,102,48,88,156,156,88,48,2,102,102,48,72,132, + 252,120,48,2,102,102,48,120,252,132,72,48,2,102,102,48, + 88,156,132,72,48,2,102,102,48,104,228,132,72,48,18,89, + 105,8,56,120,120,248,120,120,56,8,2,89,105,128,224,240, + 240,248,240,240,224,128,0,108,108,252,252,252,252,204,132,132, + 204,252,252,252,252,0,108,108,252,252,252,204,180,120,120,180, + 204,252,252,252,6,102,102,252,252,252,204,180,120,0,102,102, + 120,180,204,252,252,252,5,51,99,32,64,128,53,51,99,128, + 64,32,50,51,99,32,64,128,2,51,99,128,64,32,5,99, + 99,48,72,132,2,99,99,132,72,48,2,85,101,8,24,56, + 120,248,2,85,101,128,192,224,240,248,2,85,101,248,240,224, + 192,128,2,85,101,248,120,56,24,8,2,85,101,112,136,136, + 136,112,2,85,101,248,232,232,232,248,2,85,101,248,184,184, + 184,248,2,85,101,248,248,232,200,248,2,85,101,248,152,184, + 248,248,2,85,101,248,168,168,168,248,2,87,103,32,32,80, + 112,168,136,248,2,87,103,32,32,112,112,232,232,248,2,87, + 103,32,32,112,112,184,184,248,2,103,103,48,72,132,132,132, + 72,48,2,85,101,248,168,232,136,248,2,85,101,248,136,232, + 168,248,2,85,101,248,136,184,168,248,2,85,101,248,168,184, + 136,248,2,85,101,112,168,232,136,112,2,85,101,112,136,232, + 168,112,2,85,101,112,136,184,168,112,2,85,101,112,168,184, + 136,112,3,85,101,248,144,160,192,128,3,85,101,248,72,40, + 24,8,3,85,101,128,192,160,144,248,20,68,100,240,144,144, + 240,19,68,100,240,240,240,240,20,68,100,240,144,144,240,20, + 68,100,240,240,240,240,3,85,101,8,24,40,72,248}; +/* + Fontname: -Misc-Fixed-Medium-R-SemiCondensed--12-110-75-75-C-60-ISO10646-1 + Copyright: Public domain terminal emulator font. Share and enjoy. + Capital A Height: 7, '1' Height: 3 + Calculated Max Values w= 6 h=10 x= 1 y= 2 dx= 6 dy= 0 ascent= 9 len=10 + Font Bounding box w= 6 h=12 x= 0 y=-2 + Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 + Pure Font ascent = 7 descent= 0 + X Font ascent = 7 descent= 0 + Max Font ascent = 9 descent=-1 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_6x12_75r[427] U8G_FONT_SECTION("u8g_font_6x12_75r") = { + 1,6,12,0,254,7,1,41,0,0,32,79,0,9,255,7, + 0,2,85,101,248,248,248,248,248,2,85,101,248,136,136,136, + 248,2,85,101,112,136,136,136,112,2,85,101,248,136,168,136, + 248,2,85,101,248,136,248,136,248,2,85,101,248,168,168,168, + 248,2,85,101,248,168,248,168,248,2,85,101,248,200,168,152, + 248,2,85,101,248,152,168,200,248,2,85,101,248,216,168,216, + 248,20,51,99,224,224,224,20,51,99,224,160,224,3,101,101, + 252,252,252,252,252,3,101,101,252,132,132,132,252,17,74,106, + 240,240,240,240,240,240,240,240,240,240,17,74,106,240,144,144, + 144,144,144,144,144,144,240,4,99,99,60,120,240,4,99,99, + 60,72,240,2,87,103,32,32,112,112,248,248,248,2,87,103, + 32,32,80,80,136,136,248,3,85,101,32,32,112,112,248,3, + 85,101,32,32,80,80,248,18,71,103,128,192,224,240,224,192, + 128,18,71,103,128,192,160,144,160,192,128,19,53,101,128,192, + 224,192,128,19,53,101,128,192,160,192,128,3,101,101,192,240, + 252,240,192,3,101,101,192,176,140,176,192,2,87,103,248,248, + 248,112,112,32,32,2,87,103,248,136,136,80,80,32,32,2, + 85,101,248,112,112,32,32,2,85,101,248,80,80,32,32,18, + 71,103,16,48,112,240,112,48,16,18,71,103,16,48,80,144, + 80,48,16,19,53,101,32,96,224,96,32,19,53,101,32,96, + 160,96,32,3,101,101,12,60,252,60,12,3,101,101,12,52, + 196,52,12,3,85,101,32,112,248,112,32,3,85,101,32,80, + 136,80,32,3,85,101,32,80,168,80,32,2,102,102,48,72, + 180,180,72,48,2,87,103,32,80,80,136,80,80,32,2,102, + 102,48,72,132,132,72,48,2,102,102,32,8,128,4,64,16, + 2,85,101,112,168,168,168,112,2,87,103,112,136,168,216,168, + 136,112,2,102,102,48,120,252,252,120,48}; +/* + Fontname: -Misc-Fixed-Medium-R-SemiCondensed--12-110-75-75-C-60-ISO10646-1 + Copyright: Public domain terminal emulator font. Share and enjoy. + Capital A Height: 6, '1' Height: 6 + Calculated Max Values w= 6 h=12 x= 2 y= 4 dx= 6 dy= 0 ascent=10 len=12 + Font Bounding box w= 6 h=12 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent = 6 descent= 0 + X Font ascent = 9 descent= 0 + Max Font ascent =10 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_6x12_78_79[2316] U8G_FONT_SECTION("u8g_font_6x12_78_79") = { + 1,6,12,0,254,6,2,80,3,53,0,255,0,10,254,9, + 0,2,87,103,168,0,136,0,136,0,168,3,101,101,144,252, + 32,64,96,3,101,101,196,200,48,200,196,3,101,101,96,64, + 32,252,144,2,103,103,204,148,232,48,232,148,204,255,1,105, + 105,120,132,180,180,164,180,180,132,120,1,105,105,120,132,180, + 132,180,132,204,132,120,3,101,101,32,176,252,176,32,2,101, + 101,252,204,180,132,252,255,255,18,72,104,144,144,80,112,240, + 240,240,112,3,102,102,4,56,124,124,64,128,2,102,102,64, + 224,80,40,20,12,3,99,99,248,140,248,2,102,102,12,20, + 40,80,224,64,3,100,100,248,132,132,248,4,99,99,248,244, + 248,2,87,103,8,8,16,16,160,224,64,2,103,103,12,12, + 28,216,248,112,48,2,85,101,136,80,32,80,136,3,85,101, + 216,248,32,248,216,2,86,102,136,80,32,80,136,128,1,103, + 103,204,204,120,112,252,204,192,1,103,103,120,204,164,244,164, + 204,120,2,102,102,48,48,252,252,48,48,3,85,101,32,32, + 216,32,32,2,102,102,48,48,204,204,48,48,2,87,103,32, + 32,248,32,32,32,32,1,90,106,112,80,216,136,216,80,80, + 80,80,112,2,105,105,120,220,188,220,88,88,88,120,120,2, + 87,103,112,32,168,248,168,32,112,2,87,103,32,248,80,80, + 80,248,32,3,85,101,32,32,248,32,32,3,102,102,48,48, + 252,252,48,48,2,104,104,48,120,48,252,252,48,120,48,2, + 87,103,32,112,168,248,168,112,32,3,85,101,32,112,248,112, + 32,3,85,101,32,112,216,112,32,255,3,85,101,32,216,80, + 32,80,2,87,103,112,216,136,216,168,248,112,3,86,102,32, + 32,248,80,112,136,3,86,102,32,32,216,32,80,136,3,86, + 102,32,32,248,112,112,136,3,86,102,32,32,248,112,112,136, + 3,86,102,32,32,232,48,80,136,2,102,102,48,88,140,88, + 172,88,2,86,102,32,168,112,112,168,32,2,87,103,32,168, + 112,80,112,168,32,2,87,103,32,168,112,248,112,168,32,2, + 87,103,32,168,112,248,112,168,32,2,87,103,32,168,112,248, + 112,168,32,2,86,102,32,168,112,112,168,32,1,88,104,80, + 32,168,112,112,168,32,80,1,88,104,80,32,168,112,112,168, + 32,80,2,103,103,80,248,124,248,124,248,80,2,103,103,80, + 168,116,248,116,168,80,2,86,102,32,168,112,112,168,32,2, + 87,103,32,168,112,80,112,168,32,2,86,102,32,168,112,112, + 168,32,2,103,103,168,216,80,168,116,168,32,3,87,103,32, + 112,248,216,112,248,216,3,87,103,32,112,216,168,80,248,216, + 3,86,102,32,112,216,112,248,32,2,87,103,112,248,168,216, + 168,248,112,2,86,102,32,168,112,112,168,32,2,86,102,32, + 168,112,112,168,32,2,86,102,32,168,112,112,168,32,2,86, + 102,32,168,112,112,168,32,2,87,103,32,168,112,248,112,168, + 32,2,87,103,32,168,112,248,112,168,32,2,87,103,32,168, + 112,248,112,168,32,2,87,103,32,168,112,248,112,168,32,2, + 87,103,32,168,112,248,112,168,32,255,3,101,101,120,140,140, + 140,120,255,2,102,102,248,140,140,140,252,124,2,102,102,124, + 252,140,140,140,248,2,102,102,248,140,140,140,252,124,2,102, + 102,124,252,140,140,140,248,255,255,255,2,103,103,16,56,84, + 236,84,56,16,255,34,23,103,128,128,128,128,128,128,128,18, + 39,103,192,192,192,192,192,192,192,18,71,103,240,240,240,240, + 240,240,240,22,69,101,96,128,224,240,96,22,69,101,96,240, + 112,16,96,6,101,101,72,144,216,252,72,6,101,101,72,252, + 108,36,72,255,255,1,106,106,8,124,200,200,200,120,8,200, + 136,112,2,89,105,112,248,248,112,32,0,32,112,32,2,88, + 104,216,248,112,32,0,32,112,32,2,85,101,216,248,248,112, + 32,2,87,103,96,240,240,120,240,240,96,2,104,104,100,184, + 32,216,248,240,228,120,2,102,102,128,88,120,220,152,64,18, + 56,104,32,64,192,192,192,192,64,32,18,56,104,128,64,96, + 96,96,96,64,128,18,40,104,64,192,192,192,192,192,192,64, + 18,40,104,128,192,192,192,192,192,192,128,17,73,105,48,48, + 96,96,192,96,96,48,48,17,73,105,192,192,96,96,48,96, + 96,192,192,2,87,103,24,48,96,192,96,48,24,2,87,103, + 192,96,48,24,48,96,192,1,89,105,56,56,112,112,224,112, + 112,56,56,1,89,105,224,224,112,112,56,112,112,224,224,17, + 57,105,32,64,128,128,128,128,128,64,32,17,57,105,128,64, + 32,32,32,32,32,64,128,17,73,105,48,96,96,96,192,96, + 96,96,48,17,73,105,192,96,96,96,48,96,96,96,192,2, + 89,105,112,248,216,152,216,216,136,248,112,2,89,105,112,248, + 216,168,232,216,136,248,112,2,89,105,112,248,152,232,216,232, + 152,248,112,2,89,105,112,248,184,184,152,136,216,248,112,2, + 89,105,112,248,136,184,152,232,152,248,112,2,89,105,112,248, + 200,184,152,168,216,248,112,2,89,105,112,248,136,232,216,216, + 216,248,112,2,89,105,112,248,216,168,216,168,216,248,112,2, + 89,105,112,248,216,168,200,232,152,248,112,2,105,105,120,252, + 172,148,148,148,172,252,120,2,89,105,112,136,168,232,168,168, + 248,136,112,2,89,105,112,136,168,216,152,168,248,136,112,2, + 89,105,112,136,232,152,168,152,232,136,112,2,89,105,112,136, + 200,200,232,248,168,136,112,2,89,105,112,136,248,200,232,152, + 232,136,112,2,89,105,112,136,184,200,232,216,168,136,112,2, + 89,105,112,136,248,152,168,168,168,136,112,2,89,105,112,136, + 168,216,168,216,168,136,112,2,89,105,112,136,168,216,184,152, + 232,136,112,2,105,105,120,132,212,236,236,236,212,132,120,2, + 89,105,112,248,216,152,216,216,216,248,112,2,89,105,112,248, + 216,168,232,216,136,248,112,2,89,105,112,248,152,232,216,232, + 152,248,112,2,89,105,112,248,184,184,152,136,216,248,112,2, + 89,105,112,248,136,184,152,232,152,248,112,2,89,105,112,248, + 200,184,152,168,216,248,112,2,89,105,112,248,136,232,216,216, + 216,248,112,2,89,105,112,248,216,168,216,168,216,248,112,2, + 89,105,112,248,216,168,200,232,152,248,112,2,105,105,120,252, + 172,148,148,148,172,252,120,3,101,101,48,24,252,24,48,255, + 255,255,2,85,101,128,64,40,24,56,3,85,101,32,48,248, + 48,32,2,85,101,56,24,40,64,128,3,101,101,64,48,252, + 48,64,2,102,102,48,56,252,252,56,48,4,99,99,8,252, + 8,2,102,102,16,24,252,252,24,16,3,99,99,8,188,8, + 2,102,102,16,24,188,188,24,16,3,101,101,16,248,252,248, + 16,2,103,103,192,176,72,60,120,240,192,2,103,103,192,240, + 120,60,72,176,192,3,101,101,224,120,60,120,224,3,102,102, + 128,144,248,252,120,16,2,102,102,16,120,252,248,144,128,2, + 103,103,32,240,248,252,248,240,32,3,101,101,32,240,252,240, + 32,3,101,101,16,232,132,232,16,3,101,101,16,232,132,232, + 16,3,101,101,16,232,132,232,16,3,101,101,16,232,132,232, + 16,2,102,102,16,232,132,132,232,16,2,102,102,16,232,132, + 132,232,16,3,101,101,16,232,132,232,16,255,3,101,101,16, + 232,132,232,16,2,103,103,120,220,12,4,12,220,120,3,99, + 99,232,124,232,2,102,102,64,224,96,16,12,12,3,99,99, + 232,124,232,2,102,102,12,12,16,96,224,64,2,102,102,96, + 224,224,20,12,28,2,101,101,192,232,124,232,192,2,102,102, + 28,12,20,224,224,96,2,101,101,16,200,252,200,16,2,101, + 101,16,200,252,200,16,3,99,99,232,124,232,3,100,100,232, + 252,252,232,2,101,101,80,232,4,232,80,255,2,85,101,136, + 144,160,192,248,2,86,102,32,32,80,112,168,248,2,86,102, + 32,32,32,32,32,248,2,87,103,120,128,144,168,144,128,120, + 2,87,103,240,8,72,168,72,8,240,18,73,105,64,160,160, + 32,32,64,64,64,48,18,73,105,32,80,80,64,64,32,32, + 32,192,2,87,103,136,168,136,80,80,32,32,2,104,104,128, + 156,160,160,160,92,64,64,2,104,104,4,228,20,20,20,232, + 8,8,18,55,103,64,64,64,224,64,64,64,255,2,103,103, + 252,64,32,32,32,32,64,255,255,255,3,85,101,32,80,168, + 80,32,2,87,103,32,32,80,80,136,168,136,2,87,103,168, + 168,168,168,168,168,112,3,85,101,8,8,40,8,248,3,85, + 101,248,128,160,128,128,3,101,101,196,108,84,108,196,3,101, + 101,140,216,168,216,140,2,101,101,204,120,72,120,204,2,87, + 103,32,32,32,32,32,32,248,2,87,103,248,32,32,32,32, + 32,32,3,85,101,80,216,80,216,80,3,85,101,80,80,216, + 80,80,4,99,99,64,188,64,4,99,99,128,252,128,4,99, + 99,4,252,4,18,55,103,64,160,64,64,64,64,224,3,85, + 101,32,80,248,80,32,3,85,101,32,80,136,80,32,3,101, + 101,16,40,196,40,16,3,101,101,32,80,140,80,32,3,101, + 101,124,68,196,68,124,3,101,101,248,136,140,136,248,1,90, + 106,248,160,160,160,160,160,160,160,160,248,1,90,106,248,40, + 40,40,40,40,40,40,40,248,17,57,105,32,32,64,64,128, + 64,64,32,32,17,57,105,128,128,64,64,32,64,64,128,128, + 0,107,107,20,40,40,80,80,160,80,80,40,40,20,0,107, + 107,160,80,80,40,40,20,40,40,80,80,160,16,75,107,16, + 32,96,160,160,160,160,160,96,32,16,16,76,108,128,64,96, + 80,80,80,80,80,80,96,64,128,17,41,105,128,64,64,64, + 64,64,64,64,128,17,41,105,64,128,128,128,128,128,128,128, + 64,2,87,103,32,112,168,168,168,168,168,2,87,103,168,168, + 168,168,168,112,32,2,103,103,56,68,228,68,4,68,56,2, + 103,103,112,136,156,136,128,136,112,4,99,99,104,252,104,3, + 101,101,32,64,252,64,32,3,101,101,16,8,252,8,16,4, + 99,99,72,252,72,2,103,103,16,32,124,128,124,32,16,2, + 103,103,32,16,248,4,248,16,32,3,101,101,72,252,132,252, + 72,3,101,101,36,68,252,68,36,3,101,101,144,136,252,136, + 144,2,103,103,20,36,124,132,124,36,20,2,103,103,160,144, + 248,132,248,144,160,3,100,100,8,92,172,8}; +/* + Fontname: -Misc-Fixed-Medium-R-SemiCondensed--12-110-75-75-C-60-ISO10646-1 + Copyright: Public domain terminal emulator font. Share and enjoy. + Capital A Height: 7, '1' Height: 7 + Calculated Max Values w= 6 h=10 x= 2 y=10 dx= 6 dy= 0 ascent=10 len=10 + Font Bounding box w= 6 h=12 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent = 7 descent=-2 + X Font ascent = 8 descent=-2 + Max Font ascent =10 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_6x12[1933] U8G_FONT_SECTION("u8g_font_6x12") = { + 1,6,12,0,254,7,1,53,2,107,32,255,254,10,254,8, + 254,12,0,96,34,23,103,128,128,128,128,128,0,128,23,51, + 99,160,160,160,2,86,102,80,248,80,80,248,80,1,89,105, + 32,112,168,160,112,40,168,112,32,2,87,103,200,200,16,32, + 64,152,152,2,87,103,64,160,160,64,168,144,104,39,19,99, + 128,128,128,17,57,105,32,64,64,128,128,128,64,64,32,17, + 57,105,128,64,64,32,32,32,64,64,128,2,87,103,32,168, + 112,32,112,168,32,3,85,101,32,32,248,32,32,1,51,99, + 96,96,192,5,81,97,248,18,34,98,192,192,2,87,103,8, + 16,16,32,64,64,128,18,71,103,96,144,144,144,144,144,96, + 18,55,103,64,192,64,64,64,64,224,2,87,103,112,136,8, + 16,32,64,248,2,87,103,248,8,16,48,8,136,112,2,87, + 103,16,48,80,144,248,16,16,2,87,103,248,128,240,8,8, + 136,112,2,87,103,48,64,128,240,136,136,112,2,87,103,248, + 8,16,16,32,32,32,2,87,103,112,136,136,112,136,136,112, + 2,87,103,112,136,136,120,8,16,96,18,37,101,192,192,0, + 192,192,1,54,102,96,96,0,96,96,192,19,53,101,32,64, + 128,64,32,4,83,99,248,0,248,19,53,101,128,64,32,64, + 128,2,87,103,112,136,16,32,32,0,32,2,87,103,112,136, + 184,168,184,128,112,2,87,103,112,136,136,248,136,136,136,2, + 87,103,240,72,72,112,72,72,240,2,87,103,112,136,128,128, + 128,136,112,2,87,103,240,72,72,72,72,72,240,2,87,103, + 248,128,128,240,128,128,248,2,87,103,248,128,128,240,128,128, + 128,2,87,103,112,136,128,128,152,136,112,2,87,103,136,136, + 136,248,136,136,136,18,55,103,224,64,64,64,64,64,224,2, + 87,103,56,16,16,16,16,144,96,2,87,103,136,144,160,192, + 160,144,136,2,87,103,128,128,128,128,128,128,248,2,87,103, + 136,216,168,136,136,136,136,2,87,103,136,136,200,168,152,136, + 136,2,87,103,112,136,136,136,136,136,112,2,87,103,240,136, + 136,240,128,128,128,2,87,103,112,136,136,136,168,144,104,2, + 87,103,240,136,136,240,160,144,136,2,87,103,112,136,128,112, + 8,136,112,2,87,103,248,32,32,32,32,32,32,2,87,103, + 136,136,136,136,136,136,112,2,87,103,136,136,136,136,80,80, + 32,2,87,103,136,136,136,136,168,168,80,2,87,103,136,136, + 80,32,80,136,136,2,87,103,136,136,80,32,32,32,32,2, + 87,103,248,8,16,32,64,128,248,17,57,105,224,128,128,128, + 128,128,128,128,224,2,87,103,128,64,64,32,16,16,8,17, + 57,105,224,32,32,32,32,32,32,32,224,7,83,99,32,80, + 136,0,81,97,248,23,51,99,128,64,32,2,85,101,112,8, + 120,136,120,2,87,103,128,128,240,136,136,136,240,2,85,101, + 112,136,128,136,112,2,87,103,8,8,120,136,136,136,120,2, + 85,101,112,136,240,128,112,2,87,103,48,72,64,224,64,64, + 64,0,87,103,112,136,136,136,120,8,112,2,87,103,128,128, + 240,136,136,136,136,18,55,103,64,0,192,64,64,64,224,16, + 73,105,16,0,48,16,16,16,16,144,96,2,87,103,128,128, + 136,144,224,144,136,18,55,103,192,64,64,64,64,64,224,2, + 85,101,208,168,168,168,168,2,85,101,176,200,136,136,136,2, + 85,101,112,136,136,136,112,0,87,103,240,136,136,136,240,128, + 128,0,87,103,120,136,136,136,120,8,8,2,85,101,176,200, + 128,128,128,2,85,101,120,128,112,8,240,2,87,103,32,32, + 248,32,32,32,24,2,85,101,136,136,136,152,104,2,85,101, + 136,136,136,80,32,2,85,101,136,136,168,168,80,2,85,101, + 136,80,32,80,136,0,87,103,136,136,136,80,32,64,128,2, + 85,101,248,16,32,64,248,17,57,105,32,64,64,64,128,64, + 64,64,32,33,25,105,128,128,128,128,128,128,128,128,128,17, + 57,105,128,64,64,64,32,64,64,64,128,4,83,99,72,168, + 144,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,255,255,255,255,255, + 255,255,12,0,96,34,23,103,128,0,128,128,128,128,128,1, + 87,103,32,112,168,160,168,112,32,2,87,103,48,72,64,224, + 64,72,176,2,85,101,168,80,136,80,168,2,87,103,136,80, + 248,32,248,32,32,34,23,103,128,128,128,0,128,128,128,18, + 72,104,112,128,96,144,144,96,16,224,25,49,97,160,2,103, + 103,120,132,148,164,148,132,120,22,53,101,96,160,96,0,224, + 2,85,101,40,80,160,80,40,3,83,99,248,8,8,21,49, + 97,224,2,103,103,120,132,180,164,164,132,120,9,81,97,248, + 23,68,100,96,144,144,96,2,87,103,32,32,248,32,32,0, + 248,23,53,101,64,160,32,64,224,23,53,101,192,32,64,32, + 192,23,51,99,32,64,128,0,87,103,136,136,136,152,232,128, + 128,2,88,104,120,232,232,232,104,40,40,40,37,34,98,192, + 192,16,50,98,32,192,23,53,101,64,192,64,64,224,23,53, + 101,64,160,64,0,224,2,85,101,160,80,40,80,160,2,90, + 106,64,192,64,64,80,48,80,120,16,16,2,90,106,64,192, + 64,64,80,40,8,16,32,56,2,90,106,192,32,64,32,208, + 48,80,120,16,16,2,87,103,32,0,32,32,64,136,112,2, + 90,106,64,32,0,112,136,136,248,136,136,136,2,90,106,16, + 32,0,112,136,136,248,136,136,136,2,90,106,32,80,0,112, + 136,136,248,136,136,136,2,90,106,104,176,0,112,136,136,248, + 136,136,136,2,89,105,80,0,112,136,136,248,136,136,136,2, + 90,106,32,80,32,112,136,136,248,136,136,136,2,87,103,120, + 160,160,240,160,160,184,0,89,105,112,136,128,128,128,136,112, + 16,96,2,90,106,64,32,0,248,128,128,240,128,128,248,2, + 90,106,16,32,0,248,128,128,240,128,128,248,2,90,106,32, + 80,0,248,128,128,240,128,128,248,2,89,105,80,0,248,128, + 128,240,128,128,248,18,58,106,128,64,0,224,64,64,64,64, + 64,224,18,58,106,32,64,0,224,64,64,64,64,64,224,18, + 58,106,64,160,0,224,64,64,64,64,64,224,18,57,105,160, + 0,224,64,64,64,64,64,224,2,87,103,112,72,72,232,72, + 72,112,2,90,106,104,176,0,136,136,200,168,152,136,136,2, + 90,106,64,32,0,112,136,136,136,136,136,112,2,90,106,16, + 32,0,112,136,136,136,136,136,112,2,90,106,32,80,0,112, + 136,136,136,136,136,112,2,90,106,104,176,0,112,136,136,136, + 136,136,112,2,89,105,80,0,112,136,136,136,136,136,112,3, + 85,101,136,80,32,80,136,1,89,105,8,112,152,168,168,168, + 200,112,128,2,90,106,64,32,0,136,136,136,136,136,136,112, + 2,90,106,16,32,0,136,136,136,136,136,136,112,2,90,106, + 32,80,0,136,136,136,136,136,136,112,2,89,105,80,0,136, + 136,136,136,136,136,112,2,90,106,16,32,0,136,136,80,32, + 32,32,32,18,71,103,128,224,144,144,144,224,128,2,87,103, + 112,136,144,160,144,136,176,2,88,104,64,32,0,112,8,120, + 136,120,2,88,104,16,32,0,112,8,120,136,120,2,88,104, + 32,80,0,112,8,120,136,120,2,88,104,104,176,0,112,8, + 120,136,120,2,87,103,80,0,112,8,120,136,120,2,88,104, + 32,80,32,112,8,120,136,120,2,85,101,112,40,112,160,120, + 0,87,103,112,136,128,136,112,16,96,2,88,104,64,32,0, + 112,136,240,128,112,2,88,104,16,32,0,112,136,240,128,112, + 2,88,104,32,80,0,112,136,240,128,112,2,87,103,80,0, + 112,136,240,128,112,18,56,104,128,64,0,192,64,64,64,224, + 18,56,104,32,64,0,192,64,64,64,224,18,56,104,64,160, + 0,192,64,64,64,224,18,55,103,160,0,192,64,64,64,224, + 2,89,105,80,32,80,8,120,136,136,136,112,2,88,104,104, + 176,0,176,200,136,136,136,2,88,104,64,32,0,112,136,136, + 136,112,2,88,104,16,32,0,112,136,136,136,112,2,88,104, + 32,80,0,112,136,136,136,112,2,88,104,104,176,0,112,136, + 136,136,112,2,87,103,80,0,112,136,136,136,112,3,85,101, + 32,0,248,0,32,2,85,101,120,152,168,200,240,2,88,104, + 64,32,0,136,136,136,136,112,2,88,104,16,32,0,136,136, + 136,136,112,2,88,104,32,80,0,136,136,136,136,112,2,87, + 103,80,0,136,136,136,136,112,0,90,106,16,32,0,136,136, + 136,80,32,64,128,0,89,105,128,128,240,136,136,136,240,128, + 128,0,89,105,80,0,136,136,136,80,32,64,128}; +/* + Fontname: -Misc-Fixed-Medium-R-SemiCondensed--12-110-75-75-C-60-ISO10646-1 + Copyright: Public domain terminal emulator font. Share and enjoy. + Capital A Height: 7, '1' Height: 7 + Calculated Max Values w= 5 h= 9 x= 2 y=10 dx= 6 dy= 0 ascent=10 len= 9 + Font Bounding box w= 6 h=12 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent = 7 descent=-2 + X Font ascent = 8 descent=-2 + Max Font ascent =10 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_6x12r[898] U8G_FONT_SECTION("u8g_font_6x12r") = { + 1,6,12,0,254,7,1,53,2,107,32,127,254,10,254,8, + 254,12,0,96,34,23,103,128,128,128,128,128,0,128,23,51, + 99,160,160,160,2,86,102,80,248,80,80,248,80,1,89,105, + 32,112,168,160,112,40,168,112,32,2,87,103,200,200,16,32, + 64,152,152,2,87,103,64,160,160,64,168,144,104,39,19,99, + 128,128,128,17,57,105,32,64,64,128,128,128,64,64,32,17, + 57,105,128,64,64,32,32,32,64,64,128,2,87,103,32,168, + 112,32,112,168,32,3,85,101,32,32,248,32,32,1,51,99, + 96,96,192,5,81,97,248,18,34,98,192,192,2,87,103,8, + 16,16,32,64,64,128,18,71,103,96,144,144,144,144,144,96, + 18,55,103,64,192,64,64,64,64,224,2,87,103,112,136,8, + 16,32,64,248,2,87,103,248,8,16,48,8,136,112,2,87, + 103,16,48,80,144,248,16,16,2,87,103,248,128,240,8,8, + 136,112,2,87,103,48,64,128,240,136,136,112,2,87,103,248, + 8,16,16,32,32,32,2,87,103,112,136,136,112,136,136,112, + 2,87,103,112,136,136,120,8,16,96,18,37,101,192,192,0, + 192,192,1,54,102,96,96,0,96,96,192,19,53,101,32,64, + 128,64,32,4,83,99,248,0,248,19,53,101,128,64,32,64, + 128,2,87,103,112,136,16,32,32,0,32,2,87,103,112,136, + 184,168,184,128,112,2,87,103,112,136,136,248,136,136,136,2, + 87,103,240,72,72,112,72,72,240,2,87,103,112,136,128,128, + 128,136,112,2,87,103,240,72,72,72,72,72,240,2,87,103, + 248,128,128,240,128,128,248,2,87,103,248,128,128,240,128,128, + 128,2,87,103,112,136,128,128,152,136,112,2,87,103,136,136, + 136,248,136,136,136,18,55,103,224,64,64,64,64,64,224,2, + 87,103,56,16,16,16,16,144,96,2,87,103,136,144,160,192, + 160,144,136,2,87,103,128,128,128,128,128,128,248,2,87,103, + 136,216,168,136,136,136,136,2,87,103,136,136,200,168,152,136, + 136,2,87,103,112,136,136,136,136,136,112,2,87,103,240,136, + 136,240,128,128,128,2,87,103,112,136,136,136,168,144,104,2, + 87,103,240,136,136,240,160,144,136,2,87,103,112,136,128,112, + 8,136,112,2,87,103,248,32,32,32,32,32,32,2,87,103, + 136,136,136,136,136,136,112,2,87,103,136,136,136,136,80,80, + 32,2,87,103,136,136,136,136,168,168,80,2,87,103,136,136, + 80,32,80,136,136,2,87,103,136,136,80,32,32,32,32,2, + 87,103,248,8,16,32,64,128,248,17,57,105,224,128,128,128, + 128,128,128,128,224,2,87,103,128,64,64,32,16,16,8,17, + 57,105,224,32,32,32,32,32,32,32,224,7,83,99,32,80, + 136,0,81,97,248,23,51,99,128,64,32,2,85,101,112,8, + 120,136,120,2,87,103,128,128,240,136,136,136,240,2,85,101, + 112,136,128,136,112,2,87,103,8,8,120,136,136,136,120,2, + 85,101,112,136,240,128,112,2,87,103,48,72,64,224,64,64, + 64,0,87,103,112,136,136,136,120,8,112,2,87,103,128,128, + 240,136,136,136,136,18,55,103,64,0,192,64,64,64,224,16, + 73,105,16,0,48,16,16,16,16,144,96,2,87,103,128,128, + 136,144,224,144,136,18,55,103,192,64,64,64,64,64,224,2, + 85,101,208,168,168,168,168,2,85,101,176,200,136,136,136,2, + 85,101,112,136,136,136,112,0,87,103,240,136,136,136,240,128, + 128,0,87,103,120,136,136,136,120,8,8,2,85,101,176,200, + 128,128,128,2,85,101,120,128,112,8,240,2,87,103,32,32, + 248,32,32,32,24,2,85,101,136,136,136,152,104,2,85,101, + 136,136,136,80,32,2,85,101,136,136,168,168,80,2,85,101, + 136,80,32,80,136,0,87,103,136,136,136,80,32,64,128,2, + 85,101,248,16,32,64,248,17,57,105,32,64,64,64,128,64, + 64,64,32,33,25,105,128,128,128,128,128,128,128,128,128,17, + 57,105,128,64,64,64,32,64,64,64,128,4,83,99,72,168, + 144,255}; +/* + Fontname: -Misc-Fixed-Medium-R-SemiCondensed--13-120-75-75-C-60-ISO10646-1 + Copyright: Public domain font. Share and enjoy. + Capital A Height: 3, '1' Height: 9 + Calculated Max Values w= 6 h=13 x= 5 y= 9 dx= 6 dy= 0 ascent=11 len=13 + Font Bounding box w= 6 h=13 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent = 3 descent= 0 + X Font ascent = 9 descent= 0 + Max Font ascent =11 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_6x13_67_75[2236] U8G_FONT_SECTION("u8g_font_6x13_67_75") = { + 1,6,13,0,254,3,1,73,2,147,32,255,0,11,254,9, + 0,3,101,101,80,40,252,40,80,2,89,105,32,32,32,32, + 168,112,168,112,32,3,101,101,36,72,240,72,36,3,101,101, + 144,72,60,72,144,3,85,101,32,72,248,72,32,2,89,105, + 32,112,168,32,32,32,32,32,248,3,85,101,32,144,248,144, + 32,2,89,105,248,32,32,32,32,32,168,112,32,2,89,105, + 32,112,168,32,32,168,112,32,248,3,101,101,40,68,248,64, + 32,3,101,101,80,136,124,8,16,3,101,101,32,76,252,72, + 40,3,101,101,16,200,252,72,80,4,100,100,72,220,236,72, + 3,101,101,8,88,252,104,64,2,89,105,128,128,144,176,208, + 144,16,56,16,2,89,105,32,64,248,72,40,8,8,8,8, + 2,89,105,32,16,248,144,160,128,128,128,128,2,89,105,8, + 8,8,8,40,72,248,64,32,2,89,105,128,128,128,128,160, + 144,248,16,32,3,85,101,240,16,16,56,16,3,86,102,8, + 8,8,72,248,64,3,85,101,48,72,72,232,72,3,85,101, + 96,144,144,184,144,2,89,105,248,128,224,192,160,32,16,16, + 8,2,89,105,160,192,248,192,168,24,248,24,40,3,86,102, + 56,48,168,136,136,112,3,86,102,224,96,168,136,136,112,5, + 83,99,32,64,248,3,83,99,248,64,32,34,57,105,128,192, + 160,128,128,128,128,128,128,2,57,105,32,96,160,32,32,32, + 32,32,32,5,83,99,32,16,248,3,83,99,248,16,32,34, + 57,105,128,128,128,128,128,128,160,192,128,2,57,105,32,32, + 32,32,32,32,160,96,32,2,89,105,32,16,248,16,32,64, + 248,64,32,2,89,105,80,240,80,80,80,80,80,120,80,2, + 89,105,32,64,248,64,32,16,248,16,32,2,89,105,32,64, + 248,64,32,64,248,64,32,2,89,105,80,248,80,80,80,80, + 80,80,80,2,89,105,32,16,248,16,32,16,248,16,32,2, + 89,105,80,80,80,80,80,80,80,248,80,2,87,103,32,64, + 248,0,248,16,32,2,87,103,32,16,248,0,248,64,32,2, + 103,103,20,40,124,144,124,32,80,2,103,103,8,88,252,164, + 252,104,64,2,103,103,160,80,248,36,248,16,40,2,103,103, + 16,32,124,128,124,32,16,2,89,105,32,80,216,80,80,80, + 80,80,80,2,103,103,32,16,248,4,248,16,32,2,89,105, + 80,80,80,80,80,80,216,80,32,3,101,101,72,252,132,252, + 72,2,89,105,32,80,216,80,80,80,216,80,32,3,102,102, + 248,160,208,168,148,8,3,102,102,124,20,44,84,164,64,3, + 102,102,64,164,84,44,20,124,3,102,102,8,148,168,208,160, + 248,2,103,103,16,60,64,252,64,60,16,2,103,103,32,240, + 8,252,8,240,32,4,100,100,64,232,212,64,4,100,100,8, + 92,172,8,2,89,105,32,112,168,32,112,32,112,32,32,2, + 89,105,32,32,112,32,112,32,168,112,32,3,85,101,32,64, + 168,64,32,2,89,105,32,112,168,0,32,32,0,32,32,3, + 85,101,32,16,168,16,32,2,89,105,32,32,0,32,32,0, + 168,112,32,3,85,101,160,192,248,192,160,3,85,101,40,24, + 248,24,40,3,85,101,32,120,136,120,32,2,89,105,32,80, + 216,80,80,80,80,80,112,3,85,101,32,240,136,240,32,2, + 89,105,112,80,80,80,80,80,216,80,32,2,90,106,32,80, + 216,80,80,112,0,112,80,112,2,89,105,32,80,216,80,80, + 80,216,136,248,2,89,105,32,80,248,136,80,80,216,136,248, + 2,89,105,32,112,248,112,112,112,248,168,248,2,89,105,32, + 80,216,80,216,80,80,80,112,2,89,105,32,80,216,80,216, + 80,216,136,248,3,85,101,160,240,136,240,160,3,88,104,248, + 128,176,224,144,16,8,8,2,88,104,128,128,64,72,56,104, + 8,248,2,89,105,32,80,216,80,80,80,216,80,32,3,101, + 101,16,104,252,104,16,2,89,105,80,120,80,80,80,80,80, + 240,80,2,89,105,16,248,16,16,248,16,16,248,16,3,101, + 101,40,72,252,72,40,3,101,101,80,72,252,72,80,4,101, + 101,48,120,252,120,48,3,101,101,56,88,252,88,56,3,101, + 101,112,104,252,104,112,4,101,101,48,120,252,120,48,3,85, + 101,32,96,184,96,32,3,85,101,32,48,232,48,32,4,101, + 101,48,120,180,120,48,7,102,102,252,252,252,252,252,252,0, + 98,98,252,252,0,99,99,252,252,252,0,101,101,252,252,252, + 252,252,0,103,103,252,252,252,252,252,252,252,0,104,104,252, + 252,252,252,252,252,252,252,0,106,106,252,252,252,252,252,252, + 252,252,252,252,0,107,107,252,252,252,252,252,252,252,252,252, + 252,252,0,109,109,252,252,252,252,252,252,252,252,252,252,252, + 252,252,0,93,109,248,248,248,248,248,248,248,248,248,248,248, + 248,248,0,77,109,240,240,240,240,240,240,240,240,240,240,240, + 240,240,0,77,109,240,240,240,240,240,240,240,240,240,240,240, + 240,240,0,61,109,224,224,224,224,224,224,224,224,224,224,224, + 224,224,0,45,109,192,192,192,192,192,192,192,192,192,192,192, + 192,192,0,45,109,192,192,192,192,192,192,192,192,192,192,192, + 192,192,0,29,109,128,128,128,128,128,128,128,128,128,128,128, + 128,128,48,61,109,224,224,224,224,224,224,224,224,224,224,224, + 224,224,0,109,109,168,0,84,0,168,0,84,0,168,0,84, + 0,168,0,109,109,168,84,168,84,168,84,168,84,168,84,168, + 84,168,0,109,109,84,252,168,252,84,252,168,252,84,252,168, + 252,84,11,98,98,252,252,80,29,109,128,128,128,128,128,128, + 128,128,128,128,128,128,128,0,55,103,224,224,224,224,224,224, + 224,48,55,103,224,224,224,224,224,224,224,7,54,102,224,224, + 224,224,224,224,0,109,109,224,224,224,224,224,224,252,252,252, + 252,252,252,252,0,109,109,224,224,224,224,224,224,28,28,28, + 28,28,28,28,0,109,109,252,252,252,252,252,252,224,224,224, + 224,224,224,224,0,109,109,252,252,252,252,252,252,28,28,28, + 28,28,28,28,55,54,102,224,224,224,224,224,224,0,109,109, + 28,28,28,28,28,28,224,224,224,224,224,224,224,0,109,109, + 28,28,28,28,28,28,252,252,252,252,252,252,252,3,85,101, + 248,248,248,248,248,3,85,101,248,136,136,136,248,3,85,101, + 112,136,136,136,112,3,85,101,248,136,168,136,248,2,85,101, + 248,136,248,136,248,2,85,101,248,168,168,168,248,2,85,101, + 248,168,248,168,248,2,85,101,248,200,168,152,248,2,85,101, + 248,152,168,200,248,2,85,101,248,216,168,216,248,21,51,99, + 224,224,224,21,51,99,224,160,224,4,101,101,252,252,252,252, + 252,4,101,101,252,132,132,132,252,17,75,107,240,240,240,240, + 240,240,240,240,240,240,240,17,75,107,240,144,144,144,144,144, + 144,144,144,144,240,5,99,99,60,120,240,5,99,99,60,72, + 240,2,89,105,32,32,32,112,112,112,248,248,248,2,89,105, + 32,32,32,80,80,80,136,136,248,4,85,101,32,32,112,112, + 248,4,85,101,32,32,80,80,248,2,89,105,128,192,224,240, + 248,240,224,192,128,2,89,105,128,192,160,144,136,144,160,192, + 128,20,53,101,128,192,224,192,128,20,53,101,128,192,160,192, + 128,4,101,101,192,240,252,240,192,4,101,101,192,176,140,176, + 192,2,89,105,248,248,248,112,112,112,32,32,32,2,89,105, + 248,136,136,80,80,80,32,32,32,3,85,101,248,112,112,32, + 32,3,85,101,248,80,80,32,32,2,89,105,8,24,56,120, + 248,120,56,24,8,2,89,105,8,24,40,72,136,72,40,24, + 8,20,53,101,32,96,224,96,32,20,53,101,32,96,160,96, + 32,4,101,101,12,60,252,60,12,4,101,101,12,52,196,52, + 12,4,85,101,32,112,248,112,32,4,85,101,32,80,136,80, + 32,4,85,101,32,80,168,80,32,3,102,102,48,72,180,180, + 72,48,2,89,105,32,32,80,80,136,80,80,32,32,3,102, + 102,48,72,132,132,72,48,3,102,102,32,8,128,4,64,16, + 2,85,101,112,168,168,168,112,2,87,103,112,136,168,216,168, + 136,112,3,102,102,48,120,252,252,120,48,3,102,102,48,104, + 228,228,104,48,3,102,102,48,88,156,156,88,48,3,102,102, + 48,72,132,252,120,48,3,102,102,48,120,252,132,72,48,3, + 102,102,48,88,156,132,72,48,3,102,102,48,88,156,252,120, + 48,18,90,106,8,56,120,120,248,248,120,120,56,8,2,90, + 106,128,224,240,240,248,248,240,240,224,128,0,109,109,252,252, + 252,252,252,204,132,132,204,252,252,252,252,0,109,109,252,252, + 252,252,204,180,120,120,180,204,252,252,252,6,103,103,252,252, + 252,252,204,180,120,0,102,102,120,180,204,252,252,252,6,51, + 99,32,64,128,54,51,99,128,64,32,51,51,99,32,64,128, + 3,51,99,128,64,32,6,99,99,48,72,132,3,99,99,132, + 72,48,3,85,101,8,24,56,120,248,3,85,101,128,192,224, + 240,248,3,85,101,248,240,224,192,128,3,85,101,248,120,56, + 24,8,4,85,101,112,136,136,136,112,3,85,101,248,232,232, + 232,248,3,85,101,248,184,184,184,248,3,85,101,248,248,232, + 200,248,3,85,101,248,152,184,248,248,3,85,101,248,168,168, + 168,248,2,89,105,32,32,32,80,80,112,168,136,248,2,89, + 105,32,32,32,112,112,112,232,232,248,2,89,105,32,32,32, + 112,112,112,184,184,248,2,103,103,48,72,132,132,132,72,48, + 3,85,101,248,168,232,136,248,3,85,101,248,136,232,168,248, + 3,85,101,248,136,184,168,248,3,85,101,248,168,184,136,248, + 3,85,101,112,168,232,136,112,3,85,101,112,136,232,168,112, + 3,85,101,112,136,184,168,112,3,85,101,112,168,184,136,112, + 3,85,101,248,144,160,192,128,3,85,101,248,72,40,24,8, + 3,85,101,128,192,160,144,248,20,68,100,240,144,144,240,20, + 68,100,240,240,240,240,20,68,100,240,144,144,240,20,68,100, + 240,240,240,240,3,85,101,8,24,40,72,248}; +/* + Fontname: -Misc-Fixed-Medium-R-SemiCondensed--13-120-75-75-C-60-ISO10646-1 + Copyright: Public domain font. Share and enjoy. + Capital A Height: 9, '1' Height: 3 + Calculated Max Values w= 6 h=11 x= 1 y= 3 dx= 6 dy= 0 ascent=10 len=11 + Font Bounding box w= 6 h=13 x= 0 y=-2 + Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 + Pure Font ascent = 9 descent= 0 + X Font ascent = 9 descent= 0 + Max Font ascent =10 descent=-1 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_6x13_75r[447] U8G_FONT_SECTION("u8g_font_6x13_75r") = { + 1,6,13,0,254,9,1,57,0,0,32,79,0,10,255,9, + 0,3,85,101,248,248,248,248,248,3,85,101,248,136,136,136, + 248,3,85,101,112,136,136,136,112,3,85,101,248,136,168,136, + 248,2,85,101,248,136,248,136,248,2,85,101,248,168,168,168, + 248,2,85,101,248,168,248,168,248,2,85,101,248,200,168,152, + 248,2,85,101,248,152,168,200,248,2,85,101,248,216,168,216, + 248,21,51,99,224,224,224,21,51,99,224,160,224,4,101,101, + 252,252,252,252,252,4,101,101,252,132,132,132,252,17,75,107, + 240,240,240,240,240,240,240,240,240,240,240,17,75,107,240,144, + 144,144,144,144,144,144,144,144,240,5,99,99,60,120,240,5, + 99,99,60,72,240,2,89,105,32,32,32,112,112,112,248,248, + 248,2,89,105,32,32,32,80,80,80,136,136,248,4,85,101, + 32,32,112,112,248,4,85,101,32,32,80,80,248,2,89,105, + 128,192,224,240,248,240,224,192,128,2,89,105,128,192,160,144, + 136,144,160,192,128,20,53,101,128,192,224,192,128,20,53,101, + 128,192,160,192,128,4,101,101,192,240,252,240,192,4,101,101, + 192,176,140,176,192,2,89,105,248,248,248,112,112,112,32,32, + 32,2,89,105,248,136,136,80,80,80,32,32,32,3,85,101, + 248,112,112,32,32,3,85,101,248,80,80,32,32,2,89,105, + 8,24,56,120,248,120,56,24,8,2,89,105,8,24,40,72, + 136,72,40,24,8,20,53,101,32,96,224,96,32,20,53,101, + 32,96,160,96,32,4,101,101,12,60,252,60,12,4,101,101, + 12,52,196,52,12,4,85,101,32,112,248,112,32,4,85,101, + 32,80,136,80,32,4,85,101,32,80,168,80,32,3,102,102, + 48,72,180,180,72,48,2,89,105,32,32,80,80,136,80,80, + 32,32,3,102,102,48,72,132,132,72,48,3,102,102,32,8, + 128,4,64,16,2,85,101,112,168,168,168,112,2,87,103,112, + 136,168,216,168,136,112,3,102,102,48,120,252,252,120,48}; +/* + Fontname: -Misc-Fixed-Medium-R-SemiCondensed--13-120-75-75-C-60-ISO10646-1 + Copyright: Public domain font. Share and enjoy. + Capital A Height: 0, '1' Height: 7 + Calculated Max Values w= 6 h=13 x= 2 y= 5 dx= 6 dy= 0 ascent=11 len=13 + Font Bounding box w= 6 h=13 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent = 7 descent= 0 + X Font ascent =10 descent= 0 + Max Font ascent =11 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_6x13_78_79[1470] U8G_FONT_SECTION("u8g_font_6x13_78_79") = { + 1,6,13,0,254,7,1,42,2,11,32,255,0,11,254,10, + 0,2,87,103,112,32,168,248,168,32,112,255,2,104,104,48, + 48,48,252,252,48,48,48,2,89,105,32,112,32,168,248,168, + 32,112,32,2,89,105,32,112,32,168,248,168,32,112,32,2, + 89,105,32,112,32,168,248,168,32,112,32,4,85,101,32,112, + 248,112,32,4,85,101,32,80,136,80,32,255,4,86,102,32, + 32,248,80,112,136,2,89,105,112,216,216,0,136,136,112,248, + 112,4,86,102,32,32,248,80,112,136,4,86,102,32,32,248, + 112,112,136,4,86,102,32,32,248,112,112,136,4,86,102,32, + 32,248,112,112,136,4,86,102,32,32,248,112,112,136,4,102, + 102,48,48,252,88,120,204,3,87,103,32,168,112,112,112,168, + 32,3,87,103,32,168,112,80,112,168,32,3,87,103,32,168, + 112,248,112,168,32,3,87,103,32,168,112,248,112,168,32,3, + 87,103,32,168,112,248,112,168,32,3,87,103,32,168,112,112, + 112,168,32,3,87,103,80,80,248,32,248,80,80,3,87,103, + 80,112,248,112,248,112,80,255,255,3,87,103,32,168,168,112, + 168,168,32,3,87,103,32,168,168,80,168,168,32,3,87,103, + 32,168,168,112,168,168,32,3,87,103,32,168,168,80,168,168, + 32,4,85,101,32,248,80,112,216,255,255,255,3,87,103,32, + 168,168,112,168,168,32,3,87,103,32,168,168,112,168,168,32, + 3,87,103,32,168,168,112,168,168,32,3,87,103,32,168,168, + 112,168,168,32,3,87,103,32,168,112,248,112,168,32,3,87, + 103,32,168,112,248,112,168,32,3,87,103,32,168,168,112,168, + 168,32,3,87,103,32,168,112,248,112,168,32,3,87,103,32, + 168,112,248,112,168,32,255,2,102,102,120,140,140,140,140,120, + 255,2,102,102,248,136,140,140,252,60,2,102,102,60,252,140, + 140,136,248,2,102,102,248,140,140,140,252,124,2,102,102,124, + 252,140,140,140,248,255,255,255,2,89,105,32,112,32,80,248, + 80,32,112,32,255,34,25,105,128,128,128,128,128,128,128,128, + 128,18,57,105,224,224,224,224,224,224,224,224,224,2,89,105, + 248,248,248,248,248,248,248,248,248,23,53,101,96,128,224,224, + 64,23,53,101,64,224,224,32,192,7,101,101,108,144,252,252, + 72,7,101,101,72,252,252,36,216,255,255,2,106,106,8,124, + 232,232,120,8,104,104,72,48,18,57,105,64,224,224,64,64, + 0,64,224,64,2,89,105,80,248,248,112,32,0,32,112,32, + 2,87,103,80,248,248,248,112,32,32,2,103,103,96,240,248, + 124,248,240,96,2,89,105,104,176,16,216,248,240,96,104,48, + 2,104,104,64,144,184,124,92,188,184,80,255,255,255,255,255, + 255,255,255,255,255,255,255,255,255,2,89,105,112,248,216,152, + 216,216,136,248,112,2,89,105,112,248,216,168,232,216,136,248, + 112,2,89,105,112,248,216,168,216,232,152,248,112,2,89,105, + 112,248,184,184,152,136,216,248,112,2,89,105,112,248,136,184, + 152,232,152,248,112,2,89,105,112,248,200,184,152,168,216,248, + 112,2,89,105,112,248,136,232,216,216,216,248,112,2,89,105, + 112,248,216,168,216,168,216,248,112,2,89,105,112,248,216,168, + 200,232,152,248,112,2,105,105,120,252,172,148,148,148,172,252, + 120,2,89,105,112,136,168,232,168,168,168,136,112,2,89,105, + 112,136,168,216,152,168,248,136,112,2,89,105,112,136,168,216, + 168,152,232,136,112,2,89,105,112,136,200,200,232,248,168,136, + 112,2,89,105,112,136,248,200,232,152,232,136,112,2,89,105, + 112,136,184,200,232,216,168,136,112,2,89,105,112,136,248,152, + 168,168,168,136,112,2,89,105,112,136,168,216,168,216,168,136, + 112,2,89,105,112,136,168,216,184,152,232,136,112,2,105,105, + 120,132,212,236,236,236,212,132,120,2,89,105,112,248,216,152, + 216,216,216,248,112,2,89,105,112,248,216,168,232,216,136,248, + 112,2,89,105,112,248,216,168,216,232,152,248,112,2,89,105, + 112,248,184,184,152,136,216,248,112,2,89,105,112,248,136,184, + 152,232,152,248,112,2,89,105,112,248,200,184,152,168,216,248, + 112,2,89,105,112,248,136,232,216,216,216,248,112,2,89,105, + 112,248,216,168,216,168,216,248,112,2,89,105,112,248,216,168, + 200,232,152,248,112,2,105,105,120,252,172,148,148,148,172,252, + 120,4,102,102,48,24,252,252,24,48,255,255,255,4,85,101, + 128,64,40,24,56,4,85,101,32,48,248,48,32,4,85,101, + 56,24,40,64,128,3,103,103,64,32,48,252,48,32,64,3, + 104,104,32,48,24,252,252,24,48,32,4,101,101,16,24,252, + 24,16,4,102,102,16,24,252,252,24,16,4,102,102,16,24, + 188,188,24,16,3,103,103,32,48,184,188,184,48,32,3,103, + 103,32,48,248,252,248,48,32,255,255,4,101,101,192,112,60, + 112,192,3,103,103,32,176,248,252,120,48,32,3,103,103,32, + 48,120,252,248,176,32,0,109,109,32,32,48,240,248,248,252, + 248,248,240,48,32,32,255,255,255,255,255,255,255,255,255,255, + 1,107,107,120,252,220,204,4,0,4,204,220,248,120,255,4, + 102,102,32,32,224,20,12,28,4,101,101,144,200,124,200,144, + 4,102,102,28,12,20,224,32,32,4,102,102,32,32,224,20, + 12,28,4,101,101,144,200,124,200,144,4,102,102,28,12,20, + 224,32,32,4,101,101,16,8,252,8,16,4,101,101,16,200, + 252,200,16,5,99,99,232,124,232,4,101,101,208,216,124,216, + 208,2,105,105,160,80,40,244,4,244,40,80,160,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,255,255,255,255,255,255,255,255,255, + 255,255,255,255,1,91,107,248,160,160,160,160,160,160,160,160, + 160,248,1,91,107,248,40,40,40,40,40,40,40,40,40,248, + 17,75,107,16,32,32,64,64,128,64,64,32,32,16,17,75, + 107,128,64,64,32,32,16,32,32,64,64,128,1,107,107,20, + 40,40,80,80,160,80,80,40,40,20,1,107,107,160,80,80, + 40,40,20,40,40,80,80,160,255,255,255,255,255,255,255,255, + 255,3,101,101,32,64,252,64,32,3,101,101,16,8,252,8, + 16,4,99,99,72,252,72,2,103,103,16,32,124,128,124,32, + 16,2,103,103,32,16,248,4,248,16,32,3,101,101,72,252, + 132,252,72,3,101,101,36,68,252,68,36,3,101,101,144,136, + 252,136,144,2,103,103,20,36,124,132,124,36,20,2,103,103, + 160,144,248,132,248,144,160,4,100,100,8,92,172,8}; +/* + Fontname: -Misc-Fixed-Bold-R-SemiCondensed--13-120-75-75-C-60-ISO10646-1 + Copyright: Public domain font. Share and enjoy. + Capital A Height: 9, '1' Height: 9 + Calculated Max Values w= 6 h=11 x= 2 y=11 dx= 6 dy= 0 ascent=11 len=11 + Font Bounding box w= 6 h=13 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent = 9 descent=-2 + X Font ascent =10 descent=-2 + Max Font ascent =11 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_6x13B[2171] U8G_FONT_SECTION("u8g_font_6x13B") = { + 1,6,13,0,254,9,1,99,2,211,32,255,254,11,254,10, + 254,13,0,96,34,41,105,192,192,192,192,192,192,192,0,192, + 8,83,99,216,216,216,3,103,103,120,120,252,120,252,120,120, + 3,103,103,48,120,240,120,60,120,48,2,105,105,108,252,120, + 24,48,96,120,252,216,2,103,103,96,240,240,96,252,216,124, + 40,35,99,192,192,192,17,75,107,48,96,96,192,192,192,192, + 192,96,96,48,17,75,107,192,96,96,48,48,48,48,48,96, + 96,192,4,101,101,204,120,252,120,204,4,101,101,48,48,252, + 48,48,17,67,99,112,96,192,6,97,97,252,17,67,99,96, + 240,96,2,105,105,12,12,24,24,48,96,96,192,192,2,105, + 105,48,120,204,204,204,204,204,120,48,2,105,105,48,112,240, + 48,48,48,48,48,252,2,105,105,120,204,204,12,24,48,96, + 192,252,2,105,105,252,12,24,48,120,12,12,204,120,2,105, + 105,24,24,56,120,88,216,252,24,24,2,105,105,252,192,192, + 248,236,12,12,204,120,2,105,105,56,96,192,192,248,236,204, + 204,120,2,105,105,252,12,24,24,48,48,96,96,96,2,105, + 105,120,204,204,204,120,204,204,204,120,2,105,105,120,204,204, + 220,124,12,12,24,112,18,72,104,96,240,96,0,0,96,240, + 96,17,72,104,96,240,96,0,0,112,96,192,2,105,105,12, + 24,48,96,192,96,48,24,12,4,100,100,252,0,0,252,2, + 105,105,192,96,48,24,12,24,48,96,192,2,105,105,120,204, + 204,12,24,48,48,0,48,2,105,105,120,204,204,220,252,252, + 248,192,124,2,105,105,48,120,204,204,204,252,204,204,204,2, + 105,105,248,108,108,108,120,108,108,108,248,2,105,105,120,204, + 192,192,192,192,192,204,120,2,105,105,248,108,108,108,108,108, + 108,108,248,2,105,105,252,192,192,192,248,192,192,192,252,2, + 105,105,252,192,192,192,248,192,192,192,192,2,105,105,120,204, + 192,192,192,220,204,204,120,2,105,105,204,204,204,204,252,204, + 204,204,204,18,73,105,240,96,96,96,96,96,96,96,240,2, + 105,105,60,12,12,12,12,12,12,204,120,2,105,105,204,204, + 216,240,224,240,216,204,204,2,105,105,192,192,192,192,192,192, + 192,192,252,2,105,105,204,204,252,252,252,204,204,204,204,2, + 105,105,204,236,236,252,252,220,220,204,204,2,105,105,120,204, + 204,204,204,204,204,204,120,2,105,105,248,204,204,204,248,192, + 192,192,192,1,106,106,120,204,204,204,204,204,204,252,120,12, + 2,105,105,248,204,204,204,248,240,216,204,204,2,105,105,120, + 204,192,192,120,12,12,204,120,2,105,105,252,48,48,48,48, + 48,48,48,48,2,105,105,204,204,204,204,204,204,204,204,120, + 2,105,105,204,204,204,204,120,120,120,48,48,2,105,105,204, + 204,204,204,252,252,252,252,204,2,105,105,204,204,120,120,48, + 120,120,204,204,2,105,105,204,204,120,120,48,48,48,48,48, + 2,105,105,252,12,24,24,48,96,96,192,252,17,75,107,240, + 192,192,192,192,192,192,192,192,192,240,2,105,105,192,192,96, + 96,48,24,24,12,12,17,75,107,240,48,48,48,48,48,48, + 48,48,48,240,8,99,99,48,120,204,1,97,97,252,26,50, + 98,192,96,2,102,102,120,12,124,204,220,108,2,105,105,192, + 192,192,216,236,204,204,236,216,2,102,102,120,204,192,192,204, + 120,2,105,105,12,12,12,108,220,204,204,220,108,2,102,102, + 120,204,252,192,192,120,2,105,105,56,108,96,96,248,96,96, + 96,96,0,104,104,124,216,216,112,192,120,204,120,2,105,105, + 192,192,192,216,236,204,204,204,204,18,73,105,96,96,0,224, + 96,96,96,96,240,0,91,107,24,24,0,56,24,24,24,24, + 216,216,112,2,105,105,192,192,192,216,240,224,240,216,204,18, + 73,105,224,96,96,96,96,96,96,96,240,2,102,102,248,252, + 252,252,252,204,2,102,102,216,236,204,204,204,204,2,102,102, + 120,204,204,204,204,120,0,104,104,216,236,204,236,216,192,192, + 192,0,104,104,108,220,204,220,108,12,12,12,2,102,102,216, + 236,192,192,192,192,2,102,102,120,204,112,24,204,120,2,104, + 104,96,96,248,96,96,96,108,56,2,102,102,204,204,204,204, + 220,108,2,102,102,204,204,204,120,120,48,2,102,102,204,204, + 252,252,252,72,2,102,102,204,120,48,48,120,204,0,104,104, + 204,204,204,220,108,12,204,120,2,102,102,252,24,48,96,192, + 252,1,91,107,56,96,96,96,48,224,48,96,96,96,56,34, + 41,105,192,192,192,192,192,192,192,192,192,1,91,107,224,48, + 48,48,96,56,96,48,48,48,224,8,83,99,104,248,144,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,255,255,255,255,255,255,255, + 13,0,96,34,42,106,192,192,0,192,192,192,192,192,192,192, + 3,104,104,16,120,212,208,208,212,120,16,2,105,105,56,108, + 96,96,248,96,96,100,248,3,102,102,204,252,72,72,252,204, + 2,105,105,204,204,120,120,252,48,252,48,48,34,42,106,192, + 192,192,192,0,0,192,192,192,192,2,106,106,120,204,192,120, + 204,204,120,12,204,120,9,98,98,204,204,2,105,105,120,204, + 180,236,228,236,180,204,120,4,103,103,248,12,252,140,252,0, + 252,3,103,103,52,104,208,160,208,104,52,4,100,100,252,252, + 4,4,22,65,97,240,2,105,105,120,204,188,172,188,180,172, + 204,120,9,82,98,248,248,7,100,100,120,204,204,120,2,105, + 105,48,48,252,252,48,48,0,252,252,6,70,102,224,176,48, + 96,192,240,6,70,102,224,176,96,48,176,224,26,50,98,96, + 192,0,104,104,204,204,204,204,204,252,128,128,2,105,105,124, + 252,244,244,244,116,52,52,52,38,34,98,192,192,16,50,98, + 96,192,6,70,102,96,224,96,96,96,240,5,87,103,112,248, + 136,248,112,0,248,3,103,103,176,88,44,20,44,88,176,2, + 106,106,96,224,96,96,100,252,28,52,60,12,2,106,106,96, + 224,96,96,120,236,12,24,48,60,2,106,106,224,176,96,48, + 180,236,28,52,60,12,2,106,106,48,48,0,48,48,96,192, + 204,204,120,2,106,106,96,48,0,48,120,204,204,252,204,204, + 2,106,106,24,48,0,48,120,204,204,252,204,204,2,106,106, + 56,108,0,48,120,204,204,252,204,204,2,106,106,52,88,0, + 48,120,204,204,252,204,204,2,106,106,204,204,0,48,120,204, + 204,252,204,204,2,106,106,48,72,120,48,120,204,204,252,204, + 204,2,105,105,124,176,176,176,184,240,240,176,188,0,107,107, + 120,204,192,192,192,192,192,204,120,48,96,2,106,106,96,48, + 0,252,192,192,248,192,192,252,2,106,106,24,48,0,252,192, + 192,248,192,192,252,2,106,106,56,108,0,252,192,192,248,192, + 192,252,2,106,106,204,204,0,252,192,192,248,192,192,252,18, + 74,106,192,96,0,240,96,96,96,96,96,240,18,74,106,48, + 96,0,240,96,96,96,96,96,240,2,90,106,112,216,0,120, + 48,48,48,48,48,120,2,106,106,204,204,0,120,48,48,48, + 48,48,120,2,105,105,248,108,108,108,236,108,108,108,248,2, + 106,106,52,88,0,204,236,236,252,220,220,204,2,106,106,96, + 48,0,120,204,204,204,204,204,120,2,106,106,24,48,0,120, + 204,204,204,204,204,120,2,106,106,56,108,0,120,204,204,204, + 204,204,120,2,106,106,52,88,0,120,204,204,204,204,204,120, + 2,106,106,204,204,0,120,204,204,204,204,204,120,3,101,101, + 204,120,48,120,204,1,105,105,4,120,220,220,204,236,236,120, + 128,2,106,106,96,48,0,204,204,204,204,204,204,120,2,106, + 106,24,48,0,204,204,204,204,204,204,120,2,106,106,56,108, + 0,204,204,204,204,204,204,120,2,106,106,108,108,0,204,204, + 204,204,204,204,120,2,106,106,24,48,0,204,72,120,48,48, + 48,48,2,105,105,192,248,204,204,204,248,192,192,192,1,105, + 105,120,204,204,248,204,204,204,248,128,2,105,105,96,48,0, + 120,12,124,204,220,108,2,105,105,24,48,0,120,12,124,204, + 220,108,2,105,105,56,108,0,120,12,124,204,220,108,2,105, + 105,52,88,0,120,12,124,204,220,108,2,105,105,108,108,0, + 120,12,124,204,220,108,2,106,106,56,40,56,0,120,12,124, + 204,220,108,2,102,102,120,52,120,176,180,104,0,104,104,120, + 204,192,192,204,120,48,96,2,105,105,96,48,0,120,204,252, + 192,192,120,2,105,105,24,48,0,120,204,252,192,192,120,2, + 105,105,56,108,0,120,204,252,192,192,120,2,105,105,108,108, + 0,120,204,252,192,192,120,18,73,105,192,96,0,224,96,96, + 96,96,240,18,73,105,48,96,0,224,96,96,96,96,240,2, + 89,105,112,216,0,112,48,48,48,48,120,2,89,105,216,216, + 0,112,48,48,48,48,120,2,106,106,216,112,240,152,120,204, + 204,204,204,120,2,105,105,52,88,0,216,236,204,204,204,204, + 2,105,105,96,48,0,120,204,204,204,204,120,2,105,105,24, + 48,0,120,204,204,204,204,120,2,105,105,56,108,0,120,204, + 204,204,204,120,2,105,105,52,88,0,120,204,204,204,204,120, + 2,105,105,204,204,0,120,204,204,204,204,120,3,103,103,48, + 48,0,252,0,48,48,1,105,105,4,120,204,220,204,236,204, + 120,128,2,105,105,96,48,0,204,204,204,204,220,108,2,105, + 105,24,48,0,204,204,204,204,220,108,2,105,105,56,108,0, + 204,204,204,204,220,108,2,105,105,204,204,0,204,204,204,204, + 220,108,0,107,107,24,48,0,204,204,204,220,108,12,204,120, + 0,106,106,192,192,216,236,204,236,216,192,192,192,0,107,107, + 204,204,0,204,204,204,220,108,12,204,120}; +/* + Fontname: -Misc-Fixed-Bold-R-SemiCondensed--13-120-75-75-C-60-ISO10646-1 + Copyright: Public domain font. Share and enjoy. + Capital A Height: 9, '1' Height: 9 + Calculated Max Values w= 6 h=11 x= 2 y=11 dx= 6 dy= 0 ascent=11 len=11 + Font Bounding box w= 6 h=13 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent = 9 descent=-2 + X Font ascent =10 descent=-2 + Max Font ascent =11 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_6x13Br[1040] U8G_FONT_SECTION("u8g_font_6x13Br") = { + 1,6,13,0,254,9,1,99,2,211,32,127,254,11,254,10, + 254,13,0,96,34,41,105,192,192,192,192,192,192,192,0,192, + 8,83,99,216,216,216,3,103,103,120,120,252,120,252,120,120, + 3,103,103,48,120,240,120,60,120,48,2,105,105,108,252,120, + 24,48,96,120,252,216,2,103,103,96,240,240,96,252,216,124, + 40,35,99,192,192,192,17,75,107,48,96,96,192,192,192,192, + 192,96,96,48,17,75,107,192,96,96,48,48,48,48,48,96, + 96,192,4,101,101,204,120,252,120,204,4,101,101,48,48,252, + 48,48,17,67,99,112,96,192,6,97,97,252,17,67,99,96, + 240,96,2,105,105,12,12,24,24,48,96,96,192,192,2,105, + 105,48,120,204,204,204,204,204,120,48,2,105,105,48,112,240, + 48,48,48,48,48,252,2,105,105,120,204,204,12,24,48,96, + 192,252,2,105,105,252,12,24,48,120,12,12,204,120,2,105, + 105,24,24,56,120,88,216,252,24,24,2,105,105,252,192,192, + 248,236,12,12,204,120,2,105,105,56,96,192,192,248,236,204, + 204,120,2,105,105,252,12,24,24,48,48,96,96,96,2,105, + 105,120,204,204,204,120,204,204,204,120,2,105,105,120,204,204, + 220,124,12,12,24,112,18,72,104,96,240,96,0,0,96,240, + 96,17,72,104,96,240,96,0,0,112,96,192,2,105,105,12, + 24,48,96,192,96,48,24,12,4,100,100,252,0,0,252,2, + 105,105,192,96,48,24,12,24,48,96,192,2,105,105,120,204, + 204,12,24,48,48,0,48,2,105,105,120,204,204,220,252,252, + 248,192,124,2,105,105,48,120,204,204,204,252,204,204,204,2, + 105,105,248,108,108,108,120,108,108,108,248,2,105,105,120,204, + 192,192,192,192,192,204,120,2,105,105,248,108,108,108,108,108, + 108,108,248,2,105,105,252,192,192,192,248,192,192,192,252,2, + 105,105,252,192,192,192,248,192,192,192,192,2,105,105,120,204, + 192,192,192,220,204,204,120,2,105,105,204,204,204,204,252,204, + 204,204,204,18,73,105,240,96,96,96,96,96,96,96,240,2, + 105,105,60,12,12,12,12,12,12,204,120,2,105,105,204,204, + 216,240,224,240,216,204,204,2,105,105,192,192,192,192,192,192, + 192,192,252,2,105,105,204,204,252,252,252,204,204,204,204,2, + 105,105,204,236,236,252,252,220,220,204,204,2,105,105,120,204, + 204,204,204,204,204,204,120,2,105,105,248,204,204,204,248,192, + 192,192,192,1,106,106,120,204,204,204,204,204,204,252,120,12, + 2,105,105,248,204,204,204,248,240,216,204,204,2,105,105,120, + 204,192,192,120,12,12,204,120,2,105,105,252,48,48,48,48, + 48,48,48,48,2,105,105,204,204,204,204,204,204,204,204,120, + 2,105,105,204,204,204,204,120,120,120,48,48,2,105,105,204, + 204,204,204,252,252,252,252,204,2,105,105,204,204,120,120,48, + 120,120,204,204,2,105,105,204,204,120,120,48,48,48,48,48, + 2,105,105,252,12,24,24,48,96,96,192,252,17,75,107,240, + 192,192,192,192,192,192,192,192,192,240,2,105,105,192,192,96, + 96,48,24,24,12,12,17,75,107,240,48,48,48,48,48,48, + 48,48,48,240,8,99,99,48,120,204,1,97,97,252,26,50, + 98,192,96,2,102,102,120,12,124,204,220,108,2,105,105,192, + 192,192,216,236,204,204,236,216,2,102,102,120,204,192,192,204, + 120,2,105,105,12,12,12,108,220,204,204,220,108,2,102,102, + 120,204,252,192,192,120,2,105,105,56,108,96,96,248,96,96, + 96,96,0,104,104,124,216,216,112,192,120,204,120,2,105,105, + 192,192,192,216,236,204,204,204,204,18,73,105,96,96,0,224, + 96,96,96,96,240,0,91,107,24,24,0,56,24,24,24,24, + 216,216,112,2,105,105,192,192,192,216,240,224,240,216,204,18, + 73,105,224,96,96,96,96,96,96,96,240,2,102,102,248,252, + 252,252,252,204,2,102,102,216,236,204,204,204,204,2,102,102, + 120,204,204,204,204,120,0,104,104,216,236,204,236,216,192,192, + 192,0,104,104,108,220,204,220,108,12,12,12,2,102,102,216, + 236,192,192,192,192,2,102,102,120,204,112,24,204,120,2,104, + 104,96,96,248,96,96,96,108,56,2,102,102,204,204,204,204, + 220,108,2,102,102,204,204,204,120,120,48,2,102,102,204,204, + 252,252,252,72,2,102,102,204,120,48,48,120,204,0,104,104, + 204,204,204,220,108,12,204,120,2,102,102,252,24,48,96,192, + 252,1,91,107,56,96,96,96,48,224,48,96,96,96,56,34, + 41,105,192,192,192,192,192,192,192,192,192,1,91,107,224,48, + 48,48,96,56,96,48,48,48,224,8,83,99,104,248,144,255 + }; +/* + Fontname: -Misc-Fixed-Medium-R-SemiCondensed--13-120-75-75-C-60-ISO10646-1 + Copyright: Public domain font. Share and enjoy. + Capital A Height: 9, '1' Height: 9 + Calculated Max Values w= 5 h=11 x= 2 y=11 dx= 6 dy= 0 ascent=11 len=11 + Font Bounding box w= 6 h=13 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent = 9 descent=-2 + X Font ascent =10 descent=-2 + Max Font ascent =11 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_6x13[2160] U8G_FONT_SECTION("u8g_font_6x13") = { + 1,6,13,0,254,9,1,102,2,214,32,255,254,11,254,10, + 254,13,0,96,34,25,105,128,128,128,128,128,128,128,0,128, + 24,51,99,160,160,160,3,87,103,80,80,248,80,248,80,80, + 2,89,105,32,120,160,160,112,40,40,240,32,2,89,105,72, + 168,80,16,32,64,80,168,144,2,88,104,64,160,160,64,160, + 152,144,104,40,19,99,128,128,128,17,59,107,32,64,64,128, + 128,128,128,128,64,64,32,17,59,107,128,64,64,32,32,32, + 32,32,64,64,128,6,85,101,32,168,112,168,32,4,85,101, + 32,32,248,32,32,17,51,99,96,64,128,6,81,97,248,17, + 51,99,64,224,64,2,89,105,8,8,16,16,32,64,64,128, + 128,2,89,105,32,80,136,136,136,136,136,80,32,2,89,105, + 32,96,160,32,32,32,32,32,248,2,89,105,112,136,136,8, + 16,32,64,128,248,2,89,105,248,8,16,32,112,8,8,136, + 112,2,89,105,16,16,48,80,80,144,248,16,16,2,89,105, + 248,128,128,176,200,8,8,136,112,2,89,105,112,136,128,128, + 240,136,136,136,112,2,89,105,248,8,16,16,32,32,64,64, + 64,2,89,105,112,136,136,136,112,136,136,136,112,2,89,105, + 112,136,136,136,120,8,8,136,112,17,56,104,64,224,64,0, + 0,64,224,64,17,56,104,64,224,64,0,0,96,64,128,2, + 89,105,8,16,32,64,128,64,32,16,8,4,84,100,248,0, + 0,248,2,89,105,128,64,32,16,8,16,32,64,128,2,89, + 105,112,136,136,8,16,32,32,0,32,2,89,105,112,136,136, + 152,168,168,176,128,120,2,89,105,32,80,136,136,136,248,136, + 136,136,2,89,105,240,72,72,72,112,72,72,72,240,2,89, + 105,112,136,128,128,128,128,128,136,112,2,89,105,240,72,72, + 72,72,72,72,72,240,2,89,105,248,128,128,128,240,128,128, + 128,248,2,89,105,248,128,128,128,240,128,128,128,128,2,89, + 105,112,136,128,128,128,152,136,136,112,2,89,105,136,136,136, + 136,248,136,136,136,136,18,57,105,224,64,64,64,64,64,64, + 64,224,2,89,105,56,16,16,16,16,16,16,144,96,2,89, + 105,136,136,144,160,192,160,144,136,136,2,89,105,128,128,128, + 128,128,128,128,128,248,2,89,105,136,136,216,168,168,136,136, + 136,136,2,89,105,136,200,200,168,168,152,152,136,136,2,89, + 105,112,136,136,136,136,136,136,136,112,2,89,105,240,136,136, + 136,240,128,128,128,128,1,90,106,112,136,136,136,136,136,136, + 168,112,8,2,89,105,240,136,136,136,240,160,144,136,136,2, + 89,105,112,136,128,128,112,8,8,136,112,2,89,105,248,32, + 32,32,32,32,32,32,32,2,89,105,136,136,136,136,136,136, + 136,136,112,2,89,105,136,136,136,136,80,80,80,32,32,2, + 89,105,136,136,136,136,168,168,168,168,80,2,89,105,136,136, + 80,80,32,80,80,136,136,2,89,105,136,136,80,80,32,32, + 32,32,32,2,89,105,248,8,16,16,32,64,64,128,248,17, + 59,107,224,128,128,128,128,128,128,128,128,128,224,2,89,105, + 128,128,64,64,32,16,16,8,8,17,59,107,224,32,32,32, + 32,32,32,32,32,32,224,8,83,99,32,80,136,1,81,97, + 248,42,34,98,128,64,2,86,102,112,8,120,136,152,104,2, + 89,105,128,128,128,240,136,136,136,136,240,2,86,102,112,136, + 128,128,136,112,2,89,105,8,8,8,120,136,136,136,136,120, + 2,86,102,112,136,248,128,136,112,2,89,105,48,72,64,64, + 240,64,64,64,64,0,88,104,112,136,136,136,120,8,136,112, + 2,89,105,128,128,128,176,200,136,136,136,136,18,56,104,64, + 0,192,64,64,64,64,224,0,74,106,16,0,48,16,16,16, + 16,144,144,96,2,89,105,128,128,128,144,160,192,160,144,136, + 18,57,105,192,64,64,64,64,64,64,64,224,2,86,102,208, + 168,168,168,168,136,2,86,102,176,200,136,136,136,136,2,86, + 102,112,136,136,136,136,112,0,88,104,240,136,136,136,240,128, + 128,128,0,88,104,120,136,136,136,120,8,8,8,2,86,102, + 176,200,128,128,128,128,2,86,102,112,136,96,16,136,112,2, + 88,104,64,64,240,64,64,64,72,48,2,86,102,136,136,136, + 136,152,104,2,86,102,136,136,136,80,80,32,2,86,102,136, + 136,168,168,168,80,2,86,102,136,80,32,32,80,136,0,88, + 104,136,136,136,152,104,8,136,112,2,86,102,248,16,32,64, + 128,248,1,91,107,24,32,32,32,32,192,32,32,32,32,24, + 34,25,105,128,128,128,128,128,128,128,128,128,1,91,107,192, + 32,32,32,32,24,32,32,32,32,192,8,83,99,72,168,144, + 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,255,255,255,255,255,255, + 255,13,0,96,34,25,105,128,0,128,128,128,128,128,128,128, + 3,88,104,32,112,168,160,160,168,112,32,2,89,105,48,72, + 64,64,224,64,64,72,176,3,86,102,136,112,80,80,112,136, + 2,89,105,136,136,80,80,248,32,248,32,32,34,25,105,128, + 128,128,128,0,128,128,128,128,18,74,106,96,144,128,96,144, + 144,96,16,144,96,26,50,98,160,160,3,89,105,112,136,168, + 216,200,216,168,136,112,4,87,103,112,8,120,136,120,0,248, + 3,86,102,40,80,160,160,80,40,4,83,99,248,8,8,22, + 49,97,224,3,89,105,112,136,232,216,216,232,216,136,112,10, + 81,97,248,23,68,100,96,144,144,96,3,87,103,32,32,248, + 32,32,0,248,7,53,101,64,160,32,64,224,7,53,101,64, + 160,64,32,192,42,34,98,64,128,0,88,104,136,136,136,136, + 152,232,128,128,2,89,105,120,232,232,232,232,104,40,40,40, + 38,33,97,192,32,34,98,64,128,7,53,101,64,192,64,64, + 224,4,87,103,112,136,136,136,112,0,248,3,86,102,160,80, + 40,40,80,160,2,90,106,64,192,64,64,224,8,24,40,56, + 8,2,90,106,64,192,64,64,224,16,40,8,16,56,2,90, + 106,64,160,64,32,160,72,24,40,56,8,2,89,105,32,0, + 32,32,64,128,136,136,112,2,90,106,64,32,0,32,80,136, + 136,248,136,136,2,90,106,16,32,0,32,80,136,136,248,136, + 136,2,90,106,48,72,0,32,80,136,136,248,136,136,2,90, + 106,40,80,0,32,80,136,136,248,136,136,2,90,106,80,80, + 0,32,80,136,136,248,136,136,2,90,106,32,80,32,32,80, + 136,136,248,136,136,2,89,105,88,160,160,160,176,224,160,160, + 184,0,91,107,112,136,128,128,128,128,128,136,112,32,64,2, + 90,106,64,32,0,248,128,128,240,128,128,248,2,90,106,16, + 32,0,248,128,128,240,128,128,248,2,90,106,48,72,0,248, + 128,128,240,128,128,248,2,90,106,80,80,0,248,128,128,240, + 128,128,248,18,58,106,128,64,0,224,64,64,64,64,64,224, + 18,58,106,32,64,0,224,64,64,64,64,64,224,18,74,106, + 96,144,0,224,64,64,64,64,64,224,18,58,106,160,160,0, + 224,64,64,64,64,64,224,2,89,105,240,72,72,72,232,72, + 72,72,240,2,90,106,40,80,0,136,136,200,168,152,136,136, + 2,90,106,64,32,0,112,136,136,136,136,136,112,2,90,106, + 16,32,0,112,136,136,136,136,136,112,2,90,106,48,72,0, + 112,136,136,136,136,136,112,2,90,106,40,80,0,112,136,136, + 136,136,136,112,2,90,106,80,80,0,112,136,136,136,136,136, + 112,3,85,101,136,80,32,80,136,1,91,107,8,112,152,152, + 168,168,168,200,200,112,128,2,90,106,64,32,0,136,136,136, + 136,136,136,112,2,90,106,16,32,0,136,136,136,136,136,136, + 112,2,90,106,48,72,0,136,136,136,136,136,136,112,2,90, + 106,80,80,0,136,136,136,136,136,136,112,2,90,106,16,32, + 0,136,136,80,32,32,32,32,2,89,105,128,240,136,136,136, + 240,128,128,128,2,89,105,96,144,144,160,160,144,136,136,176, + 2,89,105,64,32,0,112,8,120,136,152,104,2,89,105,16, + 32,0,112,8,120,136,152,104,2,89,105,48,72,0,112,8, + 120,136,152,104,2,89,105,40,80,0,112,8,120,136,152,104, + 2,89,105,80,80,0,112,8,120,136,152,104,2,90,106,48, + 72,48,0,112,8,120,136,152,104,2,86,102,112,40,112,160, + 168,80,0,88,104,112,136,128,128,136,112,32,64,2,89,105, + 64,32,0,112,136,248,128,136,112,2,89,105,16,32,0,112, + 136,248,128,136,112,2,89,105,48,72,0,112,136,248,128,136, + 112,2,89,105,80,80,0,112,136,248,128,136,112,18,57,105, + 128,64,0,192,64,64,64,64,224,18,57,105,32,64,0,192, + 64,64,64,64,224,18,73,105,96,144,0,192,64,64,64,64, + 224,18,57,105,160,160,0,192,64,64,64,64,224,2,90,106, + 80,32,96,16,112,136,136,136,136,112,2,89,105,40,80,0, + 176,200,136,136,136,136,2,89,105,64,32,0,112,136,136,136, + 136,112,2,89,105,16,32,0,112,136,136,136,136,112,2,89, + 105,48,72,0,112,136,136,136,136,112,2,89,105,40,80,0, + 112,136,136,136,136,112,2,89,105,80,80,0,112,136,136,136, + 136,112,3,87,103,32,32,0,248,0,32,32,1,88,104,8, + 112,152,168,168,200,112,128,2,89,105,64,32,0,136,136,136, + 136,152,104,2,89,105,16,32,0,136,136,136,136,152,104,2, + 89,105,48,72,0,136,136,136,136,152,104,2,89,105,80,80, + 0,136,136,136,136,152,104,0,91,107,16,32,0,136,136,136, + 152,104,8,136,112,0,90,106,128,128,176,200,136,136,200,176, + 128,128,0,91,107,80,80,0,136,136,136,152,104,8,136,112 + }; +/* + Fontname: -Misc-Fixed-Medium-O-SemiCondensed--13-120-75-75-C-60-ISO10646-1 + Copyright: Public domain font. Share and enjoy. + Capital A Height: 9, '1' Height: 9 + Calculated Max Values w= 6 h=11 x= 3 y=11 dx= 6 dy= 0 ascent=11 len=11 + Font Bounding box w= 6 h=13 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent = 9 descent=-2 + X Font ascent =10 descent=-2 + Max Font ascent =11 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_6x13O[2162] U8G_FONT_SECTION("u8g_font_6x13O") = { + 1,6,13,0,254,9,1,104,2,216,32,255,254,11,254,10, + 254,13,0,96,34,41,105,64,64,64,64,128,128,128,0,128, + 40,67,99,80,80,160,3,103,103,40,40,124,40,248,80,80, + 2,105,105,16,60,80,80,56,36,40,240,32,2,105,105,36, + 84,40,8,16,32,80,168,144,2,104,104,16,40,40,48,80, + 148,152,104,56,35,99,64,64,128,17,75,107,16,32,64,64, + 128,128,128,128,64,64,32,17,75,107,64,32,32,16,16,16, + 16,32,32,64,128,3,103,103,16,84,124,56,124,168,32,20, + 69,101,32,32,240,64,64,17,51,99,96,64,128,22,65,97, + 240,17,51,99,64,224,64,2,105,105,4,4,8,16,16,32, + 64,128,128,2,105,105,16,40,68,68,68,136,136,80,32,2, + 89,105,16,48,80,16,16,32,32,32,248,2,105,105,56,68, + 68,8,16,32,64,128,248,2,105,105,124,4,8,16,56,4, + 8,136,112,2,89,105,8,8,24,40,40,72,248,16,16,2, + 105,105,124,64,64,88,100,4,8,136,112,2,105,105,56,68, + 64,64,112,136,136,136,112,18,89,105,248,8,16,16,32,64, + 64,128,128,2,105,105,56,68,68,68,120,136,136,136,112,2, + 105,105,56,68,68,68,56,8,8,136,112,17,72,104,32,112, + 32,0,0,64,224,64,17,72,104,32,112,32,0,0,96,64, + 128,18,89,105,8,16,32,64,128,64,64,32,16,4,100,100, + 124,0,0,248,2,105,105,64,32,16,8,4,8,48,64,128, + 18,89,105,112,136,136,8,16,32,64,0,64,2,105,105,56, + 68,68,88,168,168,144,128,120,2,105,105,16,40,68,68,68, + 248,136,136,136,2,105,105,120,36,36,36,56,72,72,72,240, + 2,105,105,56,68,64,64,64,128,128,136,112,2,105,105,120, + 36,36,36,36,72,72,72,240,2,105,105,124,64,64,64,120, + 128,128,128,248,2,105,105,124,64,64,64,120,128,128,128,128, + 2,105,105,56,68,64,64,64,152,136,136,112,2,105,105,68, + 68,68,68,124,136,136,136,136,18,73,105,112,32,32,32,32, + 64,64,64,224,2,105,105,28,8,8,8,8,16,16,144,96, + 2,105,105,68,68,72,80,96,160,144,136,136,2,89,105,64, + 64,64,64,64,128,128,128,248,2,105,105,68,68,108,84,84, + 136,136,136,136,2,105,105,68,100,100,84,84,152,136,136,136, + 2,105,105,56,68,68,68,68,136,136,136,112,2,105,105,120, + 68,68,68,120,128,128,128,128,1,106,106,56,68,68,68,68, + 136,136,168,112,8,2,105,105,120,68,68,68,120,144,144,136, + 136,2,105,105,56,68,64,64,48,8,8,136,112,18,89,105, + 248,32,32,32,32,64,64,64,64,2,105,105,68,68,68,68, + 68,136,136,136,112,18,89,105,136,136,136,136,144,144,160,160, + 64,2,105,105,68,68,68,68,168,168,168,168,80,2,105,105, + 68,68,40,40,16,48,72,136,136,18,89,105,136,136,80,80, + 32,32,64,64,64,2,105,105,124,4,8,8,16,32,64,128, + 248,1,91,107,56,32,32,32,64,64,64,128,128,128,224,18, + 73,105,128,128,64,64,64,32,32,16,16,1,91,107,56,8, + 8,8,16,16,16,32,32,32,224,24,83,99,32,80,136,1, + 81,97,248,58,34,98,128,64,2,102,102,56,4,124,136,152, + 104,2,105,105,64,64,64,120,68,136,136,136,240,2,102,102, + 56,68,128,128,136,112,2,105,105,4,4,4,60,68,136,136, + 136,120,2,102,102,56,68,124,128,136,112,18,89,105,48,72, + 64,64,240,64,128,128,128,0,104,104,56,68,68,136,120,8, + 136,112,2,105,105,32,32,32,88,100,68,136,136,136,18,56, + 104,32,0,96,32,32,64,64,224,0,90,106,8,0,24,8, + 8,16,16,144,144,96,2,89,105,32,32,32,72,80,96,160, + 144,136,18,73,105,48,16,16,32,32,32,64,64,224,2,102, + 102,104,84,84,168,168,136,2,102,102,88,100,68,136,136,136, + 2,102,102,56,68,68,136,136,112,0,104,104,120,68,68,136, + 240,128,128,128,0,104,104,60,68,132,136,120,8,16,16,2, + 102,102,88,100,64,128,128,128,2,102,102,56,68,32,16,136, + 112,18,72,104,32,32,240,64,64,128,144,96,2,102,102,68, + 68,136,136,152,104,18,86,102,136,136,136,144,160,64,2,102, + 102,68,68,84,168,168,80,2,102,102,68,40,16,32,80,136, + 0,104,104,68,68,136,152,104,8,144,96,2,102,102,124,8, + 16,96,128,248,1,91,107,24,32,32,32,32,192,32,64,64, + 64,48,34,41,105,64,64,64,64,64,128,128,128,128,1,107, + 107,96,16,16,16,16,12,16,32,32,32,192,24,83,99,72, + 168,144,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,255,255,255,255, + 255,255,255,13,0,96,34,41,105,64,0,64,64,64,128,128, + 128,128,3,104,104,16,56,84,80,160,168,112,32,2,105,105, + 24,36,32,32,112,32,64,72,176,3,102,102,68,56,40,80, + 112,136,2,105,105,68,68,40,40,124,32,248,32,32,34,41, + 105,64,64,64,64,0,128,128,128,128,18,90,106,48,72,64, + 48,72,72,48,16,144,96,58,50,98,160,160,2,105,105,56, + 68,84,108,100,216,168,136,112,4,103,103,56,4,124,136,120, + 0,248,19,86,102,40,80,160,160,160,80,20,83,99,248,8, + 16,38,49,97,224,3,105,105,56,68,116,108,108,232,216,136, + 112,26,81,97,248,23,68,100,96,144,144,96,19,71,103,32, + 32,240,64,64,0,240,23,69,101,32,80,32,64,224,23,69, + 101,96,16,96,32,192,58,34,98,64,128,0,104,104,36,36, + 68,72,88,168,128,128,18,89,105,120,232,232,232,232,80,80, + 80,80,54,33,97,192,32,34,98,64,128,23,53,101,32,96, + 64,64,224,4,103,103,56,68,68,136,112,0,248,19,86,102, + 80,40,40,40,80,160,18,90,106,32,96,64,64,224,8,56, + 80,112,16,18,90,106,32,96,64,64,224,16,40,16,32,112, + 18,90,106,96,16,96,32,192,8,56,80,112,16,2,89,105, + 16,0,16,16,32,64,136,136,112,2,106,106,32,16,0,16, + 40,68,68,248,136,136,2,106,106,8,16,0,16,40,68,68, + 248,136,136,2,106,106,24,36,0,16,40,68,68,248,136,136, + 2,106,106,20,40,0,16,40,68,68,248,136,136,2,106,106, + 40,40,0,16,40,68,68,248,136,136,2,106,106,16,40,16, + 16,40,68,68,248,136,136,2,105,105,44,80,80,80,88,224, + 160,160,184,0,107,107,56,68,64,64,64,128,128,136,112,32, + 64,2,106,106,32,16,0,124,64,64,120,128,128,248,2,106, + 106,8,16,0,124,64,64,120,128,128,248,2,106,106,24,36, + 0,124,64,64,120,128,128,248,2,106,106,40,40,0,124,64, + 64,120,128,128,248,18,74,106,64,32,0,112,32,32,32,64, + 64,224,18,74,106,16,32,0,112,32,32,32,64,64,224,18, + 90,106,48,72,0,112,32,32,32,64,64,224,18,74,106,80, + 80,0,112,32,32,32,64,64,224,2,105,105,120,36,36,36, + 116,36,72,72,240,2,106,106,20,40,0,68,68,100,88,136, + 136,136,2,106,106,32,16,0,56,68,68,68,136,136,112,2, + 106,106,8,16,0,56,68,68,68,136,136,112,2,106,106,24, + 36,0,56,68,68,68,136,136,112,2,106,106,20,40,0,56, + 68,68,68,136,136,112,2,106,106,40,40,0,56,68,68,68, + 136,136,112,3,101,101,68,40,48,80,136,1,107,107,4,60, + 76,76,84,84,168,232,232,112,128,2,106,106,32,16,0,68, + 68,68,136,136,136,112,2,106,106,8,16,0,68,68,68,136, + 136,136,112,2,106,106,24,36,0,68,68,68,136,136,136,112, + 2,106,106,40,40,0,68,68,68,136,136,136,112,18,90,106, + 16,32,0,136,136,80,32,64,64,64,2,105,105,64,120,68, + 68,72,240,128,128,128,2,89,105,48,72,72,80,80,144,136, + 136,176,2,105,105,32,16,0,56,4,124,136,152,104,2,105, + 105,8,16,0,56,4,124,136,152,104,2,105,105,24,36,0, + 56,4,124,136,152,104,2,105,105,20,40,0,56,4,124,136, + 152,104,2,105,105,40,40,0,56,4,124,136,152,104,2,106, + 106,24,36,24,0,56,4,124,136,152,104,2,102,102,56,20, + 120,160,168,80,0,104,104,56,68,64,128,136,112,32,64,2, + 105,105,32,16,0,56,68,124,128,136,112,2,105,105,8,16, + 0,56,68,124,128,136,112,2,105,105,24,36,0,56,68,124, + 128,136,112,2,105,105,40,40,0,56,68,124,128,136,112,18, + 57,105,64,32,0,96,32,32,64,64,224,18,73,105,16,32, + 0,96,32,32,64,64,224,18,89,105,48,72,0,96,32,32, + 64,64,224,18,73,105,80,80,0,96,32,32,64,64,224,2, + 106,106,32,24,48,8,56,68,68,136,136,112,2,105,105,20, + 40,0,88,100,68,136,136,136,2,105,105,32,16,0,56,68, + 68,136,136,112,2,105,105,8,16,0,56,68,68,136,136,112, + 2,105,105,24,36,0,56,68,68,136,136,112,2,105,105,20, + 40,0,56,68,68,136,136,112,2,105,105,40,40,0,56,68, + 68,136,136,112,19,87,103,32,32,0,248,0,64,64,1,104, + 104,4,56,76,84,168,200,112,128,2,105,105,32,16,0,68, + 68,68,136,152,104,2,105,105,8,16,0,68,68,68,136,152, + 104,2,105,105,24,36,0,68,68,68,136,152,104,2,105,105, + 40,40,0,68,68,68,136,152,104,0,107,107,8,16,0,68, + 68,136,152,104,8,144,96,0,106,106,64,64,88,100,68,136, + 200,176,128,128,0,107,107,40,40,0,68,68,136,152,104,8, + 144,96}; +/* + Fontname: -Misc-Fixed-Medium-O-SemiCondensed--13-120-75-75-C-60-ISO10646-1 + Copyright: Public domain font. Share and enjoy. + Capital A Height: 9, '1' Height: 9 + Calculated Max Values w= 6 h=11 x= 3 y=11 dx= 6 dy= 0 ascent=11 len=11 + Font Bounding box w= 6 h=13 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent = 9 descent=-2 + X Font ascent =10 descent=-2 + Max Font ascent =11 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_6x13Or[1043] U8G_FONT_SECTION("u8g_font_6x13Or") = { + 1,6,13,0,254,9,1,104,2,216,32,127,254,11,254,10, + 254,13,0,96,34,41,105,64,64,64,64,128,128,128,0,128, + 40,67,99,80,80,160,3,103,103,40,40,124,40,248,80,80, + 2,105,105,16,60,80,80,56,36,40,240,32,2,105,105,36, + 84,40,8,16,32,80,168,144,2,104,104,16,40,40,48,80, + 148,152,104,56,35,99,64,64,128,17,75,107,16,32,64,64, + 128,128,128,128,64,64,32,17,75,107,64,32,32,16,16,16, + 16,32,32,64,128,3,103,103,16,84,124,56,124,168,32,20, + 69,101,32,32,240,64,64,17,51,99,96,64,128,22,65,97, + 240,17,51,99,64,224,64,2,105,105,4,4,8,16,16,32, + 64,128,128,2,105,105,16,40,68,68,68,136,136,80,32,2, + 89,105,16,48,80,16,16,32,32,32,248,2,105,105,56,68, + 68,8,16,32,64,128,248,2,105,105,124,4,8,16,56,4, + 8,136,112,2,89,105,8,8,24,40,40,72,248,16,16,2, + 105,105,124,64,64,88,100,4,8,136,112,2,105,105,56,68, + 64,64,112,136,136,136,112,18,89,105,248,8,16,16,32,64, + 64,128,128,2,105,105,56,68,68,68,120,136,136,136,112,2, + 105,105,56,68,68,68,56,8,8,136,112,17,72,104,32,112, + 32,0,0,64,224,64,17,72,104,32,112,32,0,0,96,64, + 128,18,89,105,8,16,32,64,128,64,64,32,16,4,100,100, + 124,0,0,248,2,105,105,64,32,16,8,4,8,48,64,128, + 18,89,105,112,136,136,8,16,32,64,0,64,2,105,105,56, + 68,68,88,168,168,144,128,120,2,105,105,16,40,68,68,68, + 248,136,136,136,2,105,105,120,36,36,36,56,72,72,72,240, + 2,105,105,56,68,64,64,64,128,128,136,112,2,105,105,120, + 36,36,36,36,72,72,72,240,2,105,105,124,64,64,64,120, + 128,128,128,248,2,105,105,124,64,64,64,120,128,128,128,128, + 2,105,105,56,68,64,64,64,152,136,136,112,2,105,105,68, + 68,68,68,124,136,136,136,136,18,73,105,112,32,32,32,32, + 64,64,64,224,2,105,105,28,8,8,8,8,16,16,144,96, + 2,105,105,68,68,72,80,96,160,144,136,136,2,89,105,64, + 64,64,64,64,128,128,128,248,2,105,105,68,68,108,84,84, + 136,136,136,136,2,105,105,68,100,100,84,84,152,136,136,136, + 2,105,105,56,68,68,68,68,136,136,136,112,2,105,105,120, + 68,68,68,120,128,128,128,128,1,106,106,56,68,68,68,68, + 136,136,168,112,8,2,105,105,120,68,68,68,120,144,144,136, + 136,2,105,105,56,68,64,64,48,8,8,136,112,18,89,105, + 248,32,32,32,32,64,64,64,64,2,105,105,68,68,68,68, + 68,136,136,136,112,18,89,105,136,136,136,136,144,144,160,160, + 64,2,105,105,68,68,68,68,168,168,168,168,80,2,105,105, + 68,68,40,40,16,48,72,136,136,18,89,105,136,136,80,80, + 32,32,64,64,64,2,105,105,124,4,8,8,16,32,64,128, + 248,1,91,107,56,32,32,32,64,64,64,128,128,128,224,18, + 73,105,128,128,64,64,64,32,32,16,16,1,91,107,56,8, + 8,8,16,16,16,32,32,32,224,24,83,99,32,80,136,1, + 81,97,248,58,34,98,128,64,2,102,102,56,4,124,136,152, + 104,2,105,105,64,64,64,120,68,136,136,136,240,2,102,102, + 56,68,128,128,136,112,2,105,105,4,4,4,60,68,136,136, + 136,120,2,102,102,56,68,124,128,136,112,18,89,105,48,72, + 64,64,240,64,128,128,128,0,104,104,56,68,68,136,120,8, + 136,112,2,105,105,32,32,32,88,100,68,136,136,136,18,56, + 104,32,0,96,32,32,64,64,224,0,90,106,8,0,24,8, + 8,16,16,144,144,96,2,89,105,32,32,32,72,80,96,160, + 144,136,18,73,105,48,16,16,32,32,32,64,64,224,2,102, + 102,104,84,84,168,168,136,2,102,102,88,100,68,136,136,136, + 2,102,102,56,68,68,136,136,112,0,104,104,120,68,68,136, + 240,128,128,128,0,104,104,60,68,132,136,120,8,16,16,2, + 102,102,88,100,64,128,128,128,2,102,102,56,68,32,16,136, + 112,18,72,104,32,32,240,64,64,128,144,96,2,102,102,68, + 68,136,136,152,104,18,86,102,136,136,136,144,160,64,2,102, + 102,68,68,84,168,168,80,2,102,102,68,40,16,32,80,136, + 0,104,104,68,68,136,152,104,8,144,96,2,102,102,124,8, + 16,96,128,248,1,91,107,24,32,32,32,32,192,32,64,64, + 64,48,34,41,105,64,64,64,64,64,128,128,128,128,1,107, + 107,96,16,16,16,16,12,16,32,32,32,192,24,83,99,72, + 168,144,255}; +/* + Fontname: -Misc-Fixed-Medium-R-SemiCondensed--13-120-75-75-C-60-ISO10646-1 + Copyright: Public domain font. Share and enjoy. + Capital A Height: 9, '1' Height: 9 + Calculated Max Values w= 5 h=11 x= 2 y=11 dx= 6 dy= 0 ascent=11 len=11 + Font Bounding box w= 6 h=13 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent = 9 descent=-2 + X Font ascent =10 descent=-2 + Max Font ascent =11 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_6x13r[1041] U8G_FONT_SECTION("u8g_font_6x13r") = { + 1,6,13,0,254,9,1,102,2,214,32,127,254,11,254,10, + 254,13,0,96,34,25,105,128,128,128,128,128,128,128,0,128, + 24,51,99,160,160,160,3,87,103,80,80,248,80,248,80,80, + 2,89,105,32,120,160,160,112,40,40,240,32,2,89,105,72, + 168,80,16,32,64,80,168,144,2,88,104,64,160,160,64,160, + 152,144,104,40,19,99,128,128,128,17,59,107,32,64,64,128, + 128,128,128,128,64,64,32,17,59,107,128,64,64,32,32,32, + 32,32,64,64,128,6,85,101,32,168,112,168,32,4,85,101, + 32,32,248,32,32,17,51,99,96,64,128,6,81,97,248,17, + 51,99,64,224,64,2,89,105,8,8,16,16,32,64,64,128, + 128,2,89,105,32,80,136,136,136,136,136,80,32,2,89,105, + 32,96,160,32,32,32,32,32,248,2,89,105,112,136,136,8, + 16,32,64,128,248,2,89,105,248,8,16,32,112,8,8,136, + 112,2,89,105,16,16,48,80,80,144,248,16,16,2,89,105, + 248,128,128,176,200,8,8,136,112,2,89,105,112,136,128,128, + 240,136,136,136,112,2,89,105,248,8,16,16,32,32,64,64, + 64,2,89,105,112,136,136,136,112,136,136,136,112,2,89,105, + 112,136,136,136,120,8,8,136,112,17,56,104,64,224,64,0, + 0,64,224,64,17,56,104,64,224,64,0,0,96,64,128,2, + 89,105,8,16,32,64,128,64,32,16,8,4,84,100,248,0, + 0,248,2,89,105,128,64,32,16,8,16,32,64,128,2,89, + 105,112,136,136,8,16,32,32,0,32,2,89,105,112,136,136, + 152,168,168,176,128,120,2,89,105,32,80,136,136,136,248,136, + 136,136,2,89,105,240,72,72,72,112,72,72,72,240,2,89, + 105,112,136,128,128,128,128,128,136,112,2,89,105,240,72,72, + 72,72,72,72,72,240,2,89,105,248,128,128,128,240,128,128, + 128,248,2,89,105,248,128,128,128,240,128,128,128,128,2,89, + 105,112,136,128,128,128,152,136,136,112,2,89,105,136,136,136, + 136,248,136,136,136,136,18,57,105,224,64,64,64,64,64,64, + 64,224,2,89,105,56,16,16,16,16,16,16,144,96,2,89, + 105,136,136,144,160,192,160,144,136,136,2,89,105,128,128,128, + 128,128,128,128,128,248,2,89,105,136,136,216,168,168,136,136, + 136,136,2,89,105,136,200,200,168,168,152,152,136,136,2,89, + 105,112,136,136,136,136,136,136,136,112,2,89,105,240,136,136, + 136,240,128,128,128,128,1,90,106,112,136,136,136,136,136,136, + 168,112,8,2,89,105,240,136,136,136,240,160,144,136,136,2, + 89,105,112,136,128,128,112,8,8,136,112,2,89,105,248,32, + 32,32,32,32,32,32,32,2,89,105,136,136,136,136,136,136, + 136,136,112,2,89,105,136,136,136,136,80,80,80,32,32,2, + 89,105,136,136,136,136,168,168,168,168,80,2,89,105,136,136, + 80,80,32,80,80,136,136,2,89,105,136,136,80,80,32,32, + 32,32,32,2,89,105,248,8,16,16,32,64,64,128,248,17, + 59,107,224,128,128,128,128,128,128,128,128,128,224,2,89,105, + 128,128,64,64,32,16,16,8,8,17,59,107,224,32,32,32, + 32,32,32,32,32,32,224,8,83,99,32,80,136,1,81,97, + 248,42,34,98,128,64,2,86,102,112,8,120,136,152,104,2, + 89,105,128,128,128,240,136,136,136,136,240,2,86,102,112,136, + 128,128,136,112,2,89,105,8,8,8,120,136,136,136,136,120, + 2,86,102,112,136,248,128,136,112,2,89,105,48,72,64,64, + 240,64,64,64,64,0,88,104,112,136,136,136,120,8,136,112, + 2,89,105,128,128,128,176,200,136,136,136,136,18,56,104,64, + 0,192,64,64,64,64,224,0,74,106,16,0,48,16,16,16, + 16,144,144,96,2,89,105,128,128,128,144,160,192,160,144,136, + 18,57,105,192,64,64,64,64,64,64,64,224,2,86,102,208, + 168,168,168,168,136,2,86,102,176,200,136,136,136,136,2,86, + 102,112,136,136,136,136,112,0,88,104,240,136,136,136,240,128, + 128,128,0,88,104,120,136,136,136,120,8,8,8,2,86,102, + 176,200,128,128,128,128,2,86,102,112,136,96,16,136,112,2, + 88,104,64,64,240,64,64,64,72,48,2,86,102,136,136,136, + 136,152,104,2,86,102,136,136,136,80,80,32,2,86,102,136, + 136,168,168,168,80,2,86,102,136,80,32,32,80,136,0,88, + 104,136,136,136,152,104,8,136,112,2,86,102,248,16,32,64, + 128,248,1,91,107,24,32,32,32,32,192,32,32,32,32,24, + 34,25,105,128,128,128,128,128,128,128,128,128,1,91,107,192, + 32,32,32,32,24,32,32,32,32,192,8,83,99,72,168,144, + 255}; +/* + Fontname: -Misc-Fixed-Medium-R-Normal--13-120-75-75-C-70-ISO10646-1 + Copyright: Public domain font. Share and enjoy. + Capital A Height: 3, '1' Height: 10 + Calculated Max Values w= 7 h=13 x= 6 y= 9 dx= 7 dy= 0 ascent=11 len=13 + Font Bounding box w= 7 h=13 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent = 3 descent= 0 + X Font ascent =10 descent= 0 + Max Font ascent =11 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_7x13_67_75[2197] U8G_FONT_SECTION("u8g_font_7x13_67_75") = { + 1,7,13,0,254,3,1,91,2,178,32,255,0,11,254,10, + 0,4,117,117,72,36,254,36,72,18,89,121,32,32,32,168, + 112,32,168,112,32,4,101,117,36,72,248,72,36,4,101,117, + 144,72,124,72,144,4,101,117,36,68,252,68,36,18,89,121, + 32,112,168,32,32,32,32,32,248,4,101,117,144,136,252,136, + 144,18,89,121,248,32,32,32,32,32,168,112,32,18,89,121, + 32,112,168,32,32,168,112,32,248,4,117,117,36,66,252,64, + 32,4,117,117,72,132,126,4,8,4,117,117,36,74,252,72, + 40,4,117,117,72,164,126,36,40,4,117,117,40,84,238,68, + 40,4,117,117,40,84,254,84,40,2,106,122,64,64,128,152, + 104,8,16,84,56,16,2,106,122,32,64,252,68,36,4,4, + 4,4,4,2,106,122,16,8,252,136,144,128,128,128,128,128, + 2,106,122,4,4,4,4,4,36,68,252,64,32,2,106,122, + 128,128,128,128,128,144,136,252,8,16,2,104,120,240,16,16, + 16,16,84,56,16,2,90,122,8,8,8,8,8,40,72,248, + 64,32,4,119,119,28,34,34,34,170,112,32,4,119,119,112, + 136,136,136,170,28,8,2,120,120,254,0,224,192,160,16,8, + 4,2,121,121,144,160,254,160,146,10,254,10,18,4,119,119, + 72,156,170,136,136,136,112,4,119,119,36,114,170,34,34,34, + 28,6,99,115,32,64,252,4,99,115,252,64,32,50,57,121, + 128,192,160,128,128,128,128,128,128,18,57,121,32,96,160,32, + 32,32,32,32,32,6,99,115,16,8,252,4,99,115,252,8, + 16,50,57,121,128,128,128,128,128,128,160,192,128,18,57,121, + 32,32,32,32,32,32,160,96,32,2,105,121,16,8,252,8, + 48,64,252,64,32,2,122,122,40,120,168,40,40,40,40,42, + 60,40,2,105,121,32,64,252,64,48,8,252,8,16,2,105, + 121,32,64,252,64,32,64,252,64,32,2,121,121,68,238,68, + 68,68,68,68,68,68,2,105,121,16,8,252,8,16,8,252, + 8,16,2,122,122,68,68,68,68,68,68,68,68,238,68,3, + 103,119,32,64,252,0,252,8,16,3,103,119,16,8,252,0, + 252,64,32,3,119,119,16,34,126,132,126,40,16,4,117,117, + 40,124,146,124,40,3,119,119,16,40,252,66,252,136,16,3, + 119,119,16,32,126,128,126,32,16,2,121,121,16,40,108,170, + 40,40,40,40,40,3,119,119,16,8,252,2,252,8,16,2, + 121,121,40,40,40,40,40,170,108,40,16,4,117,117,40,124, + 130,124,40,2,122,122,16,40,108,170,40,40,170,108,40,16, + 2,119,119,252,144,136,196,162,144,8,2,119,119,126,18,34, + 70,138,18,32,2,119,119,32,18,138,70,34,18,126,2,119, + 119,8,144,162,196,136,144,252,2,121,121,8,16,62,64,254, + 64,62,16,8,2,121,121,32,16,248,4,254,4,248,16,32, + 4,117,117,32,72,254,68,32,4,117,117,8,36,254,68,8, + 18,89,121,32,112,168,32,248,32,248,32,32,18,89,121,32, + 32,248,32,248,32,168,112,32,3,119,119,16,32,64,182,64, + 32,16,2,122,122,16,40,84,146,0,16,16,0,16,16,3, + 119,119,16,8,4,218,4,8,16,2,122,122,16,16,0,16, + 16,0,146,84,40,16,4,117,117,144,160,254,160,144,4,117, + 117,18,10,254,10,18,3,119,119,16,48,94,130,94,48,16, + 2,121,121,16,40,68,238,40,40,40,40,56,3,119,119,16, + 24,244,130,244,24,16,2,121,121,56,40,40,40,40,238,68, + 40,16,1,124,124,16,40,68,238,40,40,40,56,0,56,40, + 56,1,122,122,16,40,68,238,40,40,40,108,68,124,1,122, + 122,16,40,68,254,40,40,40,108,68,124,1,122,122,16,40, + 68,254,56,56,56,124,68,124,2,121,121,16,40,68,238,68, + 238,40,40,56,1,122,122,16,40,68,238,68,238,40,108,68, + 124,3,119,119,144,152,244,130,244,152,144,2,119,119,254,128, + 188,176,168,164,130,2,119,119,130,74,42,26,122,2,254,2, + 121,121,16,40,68,238,40,238,68,40,16,255,255,255,255,255, + 255,255,255,255,255,255,255,7,118,118,254,254,254,254,254,254, + 0,114,114,254,254,0,115,115,254,254,254,0,117,117,254,254, + 254,254,254,0,119,119,254,254,254,254,254,254,254,0,120,120, + 254,254,254,254,254,254,254,254,0,122,122,254,254,254,254,254, + 254,254,254,254,254,0,123,123,254,254,254,254,254,254,254,254, + 254,254,254,0,125,125,254,254,254,254,254,254,254,254,254,254, + 254,254,254,0,109,125,252,252,252,252,252,252,252,252,252,252, + 252,252,252,0,93,125,248,248,248,248,248,248,248,248,248,248, + 248,248,248,0,77,125,240,240,240,240,240,240,240,240,240,240, + 240,240,240,0,77,125,240,240,240,240,240,240,240,240,240,240, + 240,240,240,0,61,125,224,224,224,224,224,224,224,224,224,224, + 224,224,224,0,45,125,192,192,192,192,192,192,192,192,192,192, + 192,192,192,0,29,125,128,128,128,128,128,128,128,128,128,128, + 128,128,128,64,61,125,224,224,224,224,224,224,224,224,224,224, + 224,224,224,1,123,123,84,0,170,0,84,0,170,0,84,0, + 170,0,125,125,170,84,170,84,170,84,170,84,170,84,170,84, + 170,0,125,125,254,84,254,170,254,84,254,170,254,84,254,170, + 254,11,114,114,254,254,96,29,125,128,128,128,128,128,128,128, + 128,128,128,128,128,128,0,71,119,240,240,240,240,240,240,240, + 64,55,119,224,224,224,224,224,224,224,7,70,118,240,240,240, + 240,240,240,0,125,125,240,240,240,240,240,240,254,254,254,254, + 254,254,254,0,125,125,240,240,240,240,240,240,14,14,14,14, + 14,14,14,0,125,125,254,254,254,254,254,254,240,240,240,240, + 240,240,240,0,125,125,254,254,254,254,254,254,14,14,14,14, + 14,14,14,71,54,118,224,224,224,224,224,224,0,125,125,14, + 14,14,14,14,14,240,240,240,240,240,240,240,0,125,125,14, + 14,14,14,14,14,254,254,254,254,254,254,254,3,119,119,254, + 254,254,254,254,254,254,3,119,119,254,130,130,130,130,130,254, + 3,119,119,124,130,130,130,130,130,124,3,119,119,254,130,186, + 186,186,130,254,3,119,119,254,130,254,130,254,130,254,3,119, + 119,254,170,170,170,170,170,254,3,119,119,254,170,254,170,254, + 170,254,3,119,119,254,146,138,198,162,146,254,3,119,119,254, + 146,162,198,138,146,254,3,119,119,254,214,170,214,170,214,254, + 20,85,117,248,248,248,248,248,20,85,117,248,136,136,136,248, + 4,117,117,254,254,254,254,254,4,117,117,254,130,130,130,254, + 19,87,119,248,248,248,248,248,248,248,19,87,119,248,136,136, + 136,136,136,248,4,117,117,62,126,254,252,248,4,117,117,62, + 66,130,132,248,2,120,120,16,16,56,56,124,124,254,254,2, + 120,120,16,16,40,40,68,68,130,254,19,86,118,32,32,112, + 112,248,248,19,86,118,32,32,80,80,136,248,3,119,119,128, + 224,248,254,248,224,128,3,119,119,128,224,152,134,152,224,128, + 4,101,117,192,240,252,240,192,4,101,117,192,176,140,176,192, + 4,117,117,128,240,254,240,128,4,117,117,128,240,142,240,128, + 2,120,120,254,254,124,124,56,56,16,16,2,120,120,254,130, + 68,68,40,40,16,16,19,86,118,248,248,112,112,32,32,19, + 86,118,248,136,80,80,32,32,3,119,119,2,14,62,254,62, + 14,2,3,119,119,2,14,50,194,50,14,2,4,101,117,12, + 60,252,60,12,4,101,117,12,52,196,52,12,4,117,117,2, + 30,254,30,2,4,117,117,2,30,226,30,2,2,119,119,16, + 56,124,254,124,56,16,2,119,119,16,40,68,130,68,40,16, + 2,119,119,16,40,84,186,84,40,16,3,119,119,56,68,146, + 186,146,68,56,18,89,121,32,32,80,80,136,80,80,32,32, + 3,119,119,56,68,130,130,130,68,56,3,119,119,40,0,130, + 0,130,0,40,3,119,119,56,108,170,170,170,108,56,3,119, + 119,56,68,146,170,146,68,56,3,119,119,56,124,254,254,254, + 124,56,3,119,119,56,116,242,242,242,116,56,3,119,119,56, + 92,158,158,158,92,56,3,119,119,56,68,130,254,254,124,56, + 3,119,119,56,124,254,254,130,68,56,3,119,119,56,92,158, + 158,130,68,56,3,119,119,56,76,142,142,254,124,56,51,71, + 119,192,224,240,240,240,224,192,3,71,119,48,112,240,240,240, + 112,48,0,125,125,254,254,254,254,198,130,130,130,198,254,254, + 254,254,0,125,125,254,254,254,254,198,186,186,186,198,254,254, + 254,254,6,119,119,254,254,254,254,198,186,186,0,119,119,186, + 186,198,254,254,254,254,6,68,116,48,64,128,128,54,68,116, + 192,32,16,16,51,68,116,16,16,32,192,3,68,116,128,128, + 64,48,6,116,116,56,68,130,130,3,116,116,130,130,68,56, + 3,119,119,2,6,14,30,62,126,254,3,119,119,128,192,224, + 240,248,252,254,3,119,119,254,252,248,240,224,192,128,3,119, + 119,254,126,62,30,14,6,2,20,85,117,112,136,136,136,112, + 3,119,119,254,226,226,226,226,226,254,3,119,119,254,142,142, + 142,142,142,254,3,119,119,254,254,250,242,226,194,254,3,119, + 119,254,134,142,158,190,254,254,3,119,119,254,146,146,146,146, + 146,254,2,120,120,16,16,40,40,84,124,146,254,2,120,120, + 16,16,56,56,116,116,242,254,2,120,120,16,16,56,56,92, + 92,158,254,3,119,119,56,68,130,130,130,68,56,2,119,119, + 254,146,146,242,130,130,254,2,119,119,254,130,130,242,146,146, + 254,2,119,119,254,130,130,158,146,146,254,2,119,119,254,146, + 146,158,130,130,254,2,119,119,56,84,146,242,130,68,56,2, + 119,119,56,68,130,242,146,84,56,2,119,119,56,68,130,158, + 146,84,56,2,119,119,56,84,146,158,130,68,56,255,255,255, + 255,255,255,255,255}; +/* + Fontname: -Misc-Fixed-Medium-R-Normal--13-120-75-75-C-70-ISO10646-1 + Copyright: Public domain font. Share and enjoy. + Capital A Height: 7, '1' Height: 5 + Calculated Max Values w= 7 h= 9 x= 1 y= 2 dx= 7 dy= 0 ascent= 9 len= 9 + Font Bounding box w= 7 h=13 x= 0 y=-2 + Calculated Min Values x= 0 y= 0 dx= 0 dy= 0 + Pure Font ascent = 7 descent= 0 + X Font ascent = 8 descent= 0 + Max Font ascent = 9 descent= 0 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_7x13_75r[471] U8G_FONT_SECTION("u8g_font_7x13_75r") = { + 1,7,13,0,254,7,1,71,0,0,32,79,0,9,0,8, + 0,3,119,119,254,254,254,254,254,254,254,3,119,119,254,130, + 130,130,130,130,254,3,119,119,124,130,130,130,130,130,124,3, + 119,119,254,130,186,186,186,130,254,3,119,119,254,130,254,130, + 254,130,254,3,119,119,254,170,170,170,170,170,254,3,119,119, + 254,170,254,170,254,170,254,3,119,119,254,146,138,198,162,146, + 254,3,119,119,254,146,162,198,138,146,254,3,119,119,254,214, + 170,214,170,214,254,20,85,117,248,248,248,248,248,20,85,117, + 248,136,136,136,248,4,117,117,254,254,254,254,254,4,117,117, + 254,130,130,130,254,19,87,119,248,248,248,248,248,248,248,19, + 87,119,248,136,136,136,136,136,248,4,117,117,62,126,254,252, + 248,4,117,117,62,66,130,132,248,2,120,120,16,16,56,56, + 124,124,254,254,2,120,120,16,16,40,40,68,68,130,254,19, + 86,118,32,32,112,112,248,248,19,86,118,32,32,80,80,136, + 248,3,119,119,128,224,248,254,248,224,128,3,119,119,128,224, + 152,134,152,224,128,4,101,117,192,240,252,240,192,4,101,117, + 192,176,140,176,192,4,117,117,128,240,254,240,128,4,117,117, + 128,240,142,240,128,2,120,120,254,254,124,124,56,56,16,16, + 2,120,120,254,130,68,68,40,40,16,16,19,86,118,248,248, + 112,112,32,32,19,86,118,248,136,80,80,32,32,3,119,119, + 2,14,62,254,62,14,2,3,119,119,2,14,50,194,50,14, + 2,4,101,117,12,60,252,60,12,4,101,117,12,52,196,52, + 12,4,117,117,2,30,254,30,2,4,117,117,2,30,226,30, + 2,2,119,119,16,56,124,254,124,56,16,2,119,119,16,40, + 68,130,68,40,16,2,119,119,16,40,84,186,84,40,16,3, + 119,119,56,68,146,186,146,68,56,18,89,121,32,32,80,80, + 136,80,80,32,32,3,119,119,56,68,130,130,130,68,56,3, + 119,119,40,0,130,0,130,0,40,3,119,119,56,108,170,170, + 170,108,56,3,119,119,56,68,146,170,146,68,56,3,119,119, + 56,124,254,254,254,124,56}; +/* + Fontname: -Misc-Fixed-Bold-R-Normal--13-120-75-75-C-70-ISO10646-1 + Copyright: Public domain font. Share and enjoy. + Capital A Height: 9, '1' Height: 9 + Calculated Max Values w= 6 h=11 x= 2 y=11 dx= 7 dy= 0 ascent=11 len=11 + Font Bounding box w= 7 h=13 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent = 9 descent=-2 + X Font ascent = 9 descent=-2 + Max Font ascent =11 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_7x13B[2172] U8G_FONT_SECTION("u8g_font_7x13B") = { + 1,7,13,0,254,9,1,105,2,216,32,255,254,11,254,9, + 254,13,0,112,34,41,121,192,192,192,192,192,192,0,192,192, + 24,83,115,216,216,216,18,89,121,80,80,248,248,80,248,248, + 80,80,2,105,121,48,120,180,176,120,52,180,120,48,2,105, + 121,228,172,232,24,48,96,92,212,156,2,105,121,112,216,216, + 216,112,212,220,216,116,39,36,116,192,192,192,192,18,73,121, + 48,96,96,192,192,192,96,96,48,18,73,121,192,96,96,48, + 48,48,96,96,192,3,102,118,72,48,252,252,48,72,3,102, + 118,48,48,252,252,48,48,17,68,116,112,112,96,192,5,97, + 113,252,17,67,115,96,240,96,2,105,121,12,12,24,24,48, + 96,96,192,192,2,105,121,48,72,204,204,204,204,204,72,48, + 2,105,121,48,112,176,48,48,48,48,48,252,2,105,121,120, + 204,204,12,56,96,192,192,252,2,105,121,252,12,24,48,120, + 12,12,204,120,2,105,121,12,28,60,108,204,204,252,12,12, + 2,105,121,252,192,192,248,204,12,12,204,120,2,105,121,120, + 204,192,192,248,204,204,204,120,2,105,121,252,12,12,24,24, + 48,48,96,96,2,105,121,120,204,204,204,120,204,204,204,120, + 2,105,121,120,204,204,204,124,12,12,204,120,17,72,120,96, + 240,96,0,0,96,240,96,17,72,120,96,240,96,0,112,112, + 96,192,2,105,121,12,24,48,96,192,96,48,24,12,4,100, + 116,252,0,0,252,2,105,121,192,96,48,24,12,24,48,96, + 192,2,105,121,120,204,204,12,56,48,0,48,48,2,105,121, + 120,140,140,188,172,188,128,140,120,2,105,121,120,204,204,204, + 252,204,204,204,204,2,105,121,248,204,204,204,248,204,204,204, + 248,2,105,121,120,204,192,192,192,192,192,204,120,2,105,121, + 248,204,204,204,204,204,204,204,248,2,105,121,252,192,192,192, + 248,192,192,192,252,2,105,121,252,192,192,192,248,192,192,192, + 192,2,105,121,120,204,192,192,220,204,204,204,124,2,105,121, + 204,204,204,204,252,204,204,204,204,2,105,121,252,48,48,48, + 48,48,48,48,252,2,105,121,12,12,12,12,12,12,12,204, + 120,2,105,121,196,204,216,240,224,240,216,204,196,2,105,121, + 192,192,192,192,192,192,192,192,252,2,105,121,132,204,252,252, + 204,204,204,204,204,2,105,121,204,204,236,236,252,220,220,204, + 204,2,105,121,120,204,204,204,204,204,204,204,120,2,105,121, + 248,204,204,204,248,192,192,192,192,1,106,122,120,204,204,204, + 204,204,236,220,120,12,2,105,121,248,204,204,204,248,240,216, + 204,196,2,105,121,120,204,192,192,120,12,12,204,120,2,105, + 121,252,48,48,48,48,48,48,48,48,2,105,121,204,204,204, + 204,204,204,204,204,120,2,105,121,204,204,204,72,72,120,48, + 48,48,2,105,121,204,204,204,204,204,252,252,204,132,2,105, + 121,132,204,72,120,48,120,72,204,132,2,105,121,204,204,120, + 120,48,48,48,48,48,2,105,121,252,12,12,24,48,96,192, + 192,252,18,73,121,240,192,192,192,192,192,192,192,240,2,105, + 121,192,192,96,96,48,24,24,12,12,18,73,121,240,48,48, + 48,48,48,48,48,240,7,100,116,48,120,204,132,1,98,114, + 252,252,25,67,115,192,96,48,2,102,118,120,12,124,204,204, + 124,2,105,121,192,192,192,248,204,204,204,204,248,2,102,118, + 120,204,192,192,204,120,2,105,121,12,12,12,124,204,204,204, + 204,124,2,102,118,120,204,252,192,204,120,2,105,121,56,108, + 96,96,240,96,96,96,96,0,104,120,116,204,204,120,192,120, + 204,120,2,105,121,192,192,192,248,204,204,204,204,204,2,105, + 121,48,48,0,112,48,48,48,48,252,0,107,123,12,12,0, + 12,12,12,12,12,12,204,120,2,105,121,192,192,192,204,216, + 240,240,216,204,2,105,121,112,48,48,48,48,48,48,48,252, + 2,102,118,216,252,252,204,204,204,2,102,118,248,204,204,204, + 204,204,2,102,118,120,204,204,204,204,120,0,104,120,248,204, + 204,204,248,192,192,192,0,104,120,124,204,204,204,124,12,12, + 12,2,102,118,248,204,192,192,192,192,2,102,118,120,204,96, + 24,204,120,2,104,120,96,96,248,96,96,96,108,56,2,102, + 118,204,204,204,204,204,124,2,102,118,204,204,204,120,120,48, + 2,102,118,204,204,204,252,252,72,2,102,118,204,204,120,120, + 204,204,0,104,120,204,204,204,204,124,12,204,120,2,102,118, + 252,12,24,96,192,252,18,73,121,112,192,192,96,192,96,192, + 192,112,34,41,121,192,192,192,192,192,192,192,192,192,18,73, + 121,224,48,48,96,48,96,48,48,224,8,99,115,100,252,152, + 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,255,255,255,255,255,255, + 255,13,0,112,34,42,122,192,192,0,192,192,192,192,192,192, + 192,3,104,120,16,124,212,208,208,212,124,16,2,105,121,56, + 108,96,96,248,96,96,108,184,3,102,118,204,252,72,72,252, + 204,2,105,121,204,204,120,120,252,48,252,48,48,34,42,122, + 192,192,192,192,0,0,192,192,192,192,2,106,122,120,204,192, + 120,204,204,120,12,204,120,26,82,114,216,216,2,106,122,120, + 204,132,180,228,228,180,132,204,120,20,87,119,240,24,248,152, + 248,0,248,3,103,119,52,104,208,160,208,104,52,3,100,116, + 252,12,12,12,21,65,113,240,2,106,122,120,204,132,188,172, + 188,180,172,204,120,27,81,113,248,7,100,116,120,204,204,120, + 3,103,119,48,48,252,48,48,0,252,6,70,118,224,176,48, + 96,192,240,6,70,118,224,176,96,48,176,224,25,67,115,48, + 96,192,1,103,119,204,204,204,204,204,252,128,2,105,121,124, + 252,244,244,244,116,52,52,52,38,34,114,192,192,16,50,114, + 96,192,6,70,118,96,224,96,96,96,240,21,87,119,112,248, + 136,248,112,0,248,3,103,119,176,88,44,20,44,88,176,2, + 106,122,96,224,96,96,100,252,28,52,60,12,2,106,122,96, + 224,96,96,120,236,12,24,48,60,2,106,122,224,176,96,48, + 180,236,28,52,60,12,2,106,122,48,48,0,48,48,96,192, + 204,204,120,2,106,122,96,48,0,48,120,204,204,252,204,204, + 2,106,122,24,48,0,48,120,204,204,252,204,204,2,106,122, + 56,108,0,48,120,204,204,252,204,204,2,106,122,52,88,0, + 48,120,204,204,252,204,204,2,106,122,204,204,0,48,120,204, + 204,252,204,204,2,106,122,120,72,120,48,120,204,204,252,204, + 204,2,105,121,124,248,216,216,220,248,216,216,220,0,107,123, + 120,204,192,192,192,192,192,204,120,48,96,2,106,122,96,48, + 0,252,192,192,240,192,192,252,2,106,122,24,48,0,252,192, + 192,240,192,192,252,2,106,122,56,108,0,252,192,192,240,192, + 192,252,2,106,122,204,204,0,252,192,192,240,192,192,252,2, + 106,122,96,48,0,252,48,48,48,48,48,252,2,106,122,24, + 48,0,252,48,48,48,48,48,252,2,106,122,56,108,0,252, + 48,48,48,48,48,252,2,106,122,204,204,0,252,48,48,48, + 48,48,252,2,105,121,248,108,108,108,236,108,108,108,248,2, + 106,122,52,88,0,204,204,236,252,220,204,204,2,106,122,96, + 48,0,120,204,204,204,204,204,120,2,106,122,24,48,0,120, + 204,204,204,204,204,120,2,106,122,56,108,0,120,204,204,204, + 204,204,120,2,106,122,52,88,0,120,204,204,204,204,204,120, + 2,106,122,204,204,0,120,204,204,204,204,204,120,3,101,117, + 204,120,48,120,204,1,106,122,4,120,220,220,220,236,236,236, + 120,128,2,106,122,96,48,0,204,204,204,204,204,204,120,2, + 106,122,24,48,0,204,204,204,204,204,204,120,2,106,122,56, + 108,0,204,204,204,204,204,204,120,2,106,122,204,204,0,204, + 204,204,204,204,204,120,2,106,122,24,48,0,204,72,120,48, + 48,48,48,2,105,121,192,248,204,204,204,248,192,192,192,2, + 105,121,120,204,204,216,216,204,204,204,216,2,105,121,48,24, + 0,120,12,124,204,220,124,2,105,121,24,48,0,120,12,124, + 204,220,124,2,105,121,56,108,0,120,12,124,204,220,124,2, + 105,121,52,88,0,120,12,124,204,220,124,2,105,121,108,108, + 0,120,12,124,204,220,124,2,106,122,56,40,56,0,120,12, + 124,204,220,124,2,102,118,120,52,124,176,180,104,0,104,120, + 120,204,192,192,204,120,48,96,2,105,121,48,24,0,120,204, + 252,192,204,120,2,105,121,24,48,0,120,204,252,192,204,120, + 2,105,121,56,108,0,120,204,252,192,204,120,2,105,121,108, + 108,0,120,204,252,192,204,120,18,73,121,192,96,0,224,96, + 96,96,96,240,18,73,121,48,96,0,224,96,96,96,96,240, + 2,89,121,112,216,0,112,48,48,48,48,120,18,89,121,216, + 216,0,224,96,96,96,96,240,2,106,122,104,48,120,12,124, + 204,204,204,204,120,2,105,121,52,88,0,248,236,204,204,204, + 204,2,105,121,96,48,0,120,204,204,204,204,120,2,105,121, + 24,48,0,120,204,204,204,204,120,2,105,121,56,108,0,120, + 204,204,204,204,120,2,105,121,52,88,0,120,204,204,204,204, + 120,2,105,121,108,108,0,120,204,204,204,204,120,3,103,119, + 48,48,0,252,0,48,48,1,105,121,4,120,204,220,204,236, + 204,120,128,2,105,121,96,48,0,204,204,204,204,220,124,2, + 105,121,24,48,0,204,204,204,204,220,124,2,105,121,56,108, + 0,204,204,204,204,220,124,2,105,121,108,108,0,204,204,204, + 204,220,124,0,107,123,24,48,0,204,204,204,220,124,12,204, + 120,0,106,122,192,192,216,236,204,204,236,216,192,192,0,107, + 123,108,108,0,204,204,204,220,108,12,204,120}; +/* + Fontname: -Misc-Fixed-Bold-R-Normal--13-120-75-75-C-70-ISO10646-1 + Copyright: Public domain font. Share and enjoy. + Capital A Height: 9, '1' Height: 9 + Calculated Max Values w= 6 h=11 x= 2 y=11 dx= 7 dy= 0 ascent=11 len=11 + Font Bounding box w= 7 h=13 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent = 9 descent=-2 + X Font ascent = 9 descent=-2 + Max Font ascent =11 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_7x13Br[1041] U8G_FONT_SECTION("u8g_font_7x13Br") = { + 1,7,13,0,254,9,1,105,2,216,32,127,254,11,254,9, + 254,13,0,112,34,41,121,192,192,192,192,192,192,0,192,192, + 24,83,115,216,216,216,18,89,121,80,80,248,248,80,248,248, + 80,80,2,105,121,48,120,180,176,120,52,180,120,48,2,105, + 121,228,172,232,24,48,96,92,212,156,2,105,121,112,216,216, + 216,112,212,220,216,116,39,36,116,192,192,192,192,18,73,121, + 48,96,96,192,192,192,96,96,48,18,73,121,192,96,96,48, + 48,48,96,96,192,3,102,118,72,48,252,252,48,72,3,102, + 118,48,48,252,252,48,48,17,68,116,112,112,96,192,5,97, + 113,252,17,67,115,96,240,96,2,105,121,12,12,24,24,48, + 96,96,192,192,2,105,121,48,72,204,204,204,204,204,72,48, + 2,105,121,48,112,176,48,48,48,48,48,252,2,105,121,120, + 204,204,12,56,96,192,192,252,2,105,121,252,12,24,48,120, + 12,12,204,120,2,105,121,12,28,60,108,204,204,252,12,12, + 2,105,121,252,192,192,248,204,12,12,204,120,2,105,121,120, + 204,192,192,248,204,204,204,120,2,105,121,252,12,12,24,24, + 48,48,96,96,2,105,121,120,204,204,204,120,204,204,204,120, + 2,105,121,120,204,204,204,124,12,12,204,120,17,72,120,96, + 240,96,0,0,96,240,96,17,72,120,96,240,96,0,112,112, + 96,192,2,105,121,12,24,48,96,192,96,48,24,12,4,100, + 116,252,0,0,252,2,105,121,192,96,48,24,12,24,48,96, + 192,2,105,121,120,204,204,12,56,48,0,48,48,2,105,121, + 120,140,140,188,172,188,128,140,120,2,105,121,120,204,204,204, + 252,204,204,204,204,2,105,121,248,204,204,204,248,204,204,204, + 248,2,105,121,120,204,192,192,192,192,192,204,120,2,105,121, + 248,204,204,204,204,204,204,204,248,2,105,121,252,192,192,192, + 248,192,192,192,252,2,105,121,252,192,192,192,248,192,192,192, + 192,2,105,121,120,204,192,192,220,204,204,204,124,2,105,121, + 204,204,204,204,252,204,204,204,204,2,105,121,252,48,48,48, + 48,48,48,48,252,2,105,121,12,12,12,12,12,12,12,204, + 120,2,105,121,196,204,216,240,224,240,216,204,196,2,105,121, + 192,192,192,192,192,192,192,192,252,2,105,121,132,204,252,252, + 204,204,204,204,204,2,105,121,204,204,236,236,252,220,220,204, + 204,2,105,121,120,204,204,204,204,204,204,204,120,2,105,121, + 248,204,204,204,248,192,192,192,192,1,106,122,120,204,204,204, + 204,204,236,220,120,12,2,105,121,248,204,204,204,248,240,216, + 204,196,2,105,121,120,204,192,192,120,12,12,204,120,2,105, + 121,252,48,48,48,48,48,48,48,48,2,105,121,204,204,204, + 204,204,204,204,204,120,2,105,121,204,204,204,72,72,120,48, + 48,48,2,105,121,204,204,204,204,204,252,252,204,132,2,105, + 121,132,204,72,120,48,120,72,204,132,2,105,121,204,204,120, + 120,48,48,48,48,48,2,105,121,252,12,12,24,48,96,192, + 192,252,18,73,121,240,192,192,192,192,192,192,192,240,2,105, + 121,192,192,96,96,48,24,24,12,12,18,73,121,240,48,48, + 48,48,48,48,48,240,7,100,116,48,120,204,132,1,98,114, + 252,252,25,67,115,192,96,48,2,102,118,120,12,124,204,204, + 124,2,105,121,192,192,192,248,204,204,204,204,248,2,102,118, + 120,204,192,192,204,120,2,105,121,12,12,12,124,204,204,204, + 204,124,2,102,118,120,204,252,192,204,120,2,105,121,56,108, + 96,96,240,96,96,96,96,0,104,120,116,204,204,120,192,120, + 204,120,2,105,121,192,192,192,248,204,204,204,204,204,2,105, + 121,48,48,0,112,48,48,48,48,252,0,107,123,12,12,0, + 12,12,12,12,12,12,204,120,2,105,121,192,192,192,204,216, + 240,240,216,204,2,105,121,112,48,48,48,48,48,48,48,252, + 2,102,118,216,252,252,204,204,204,2,102,118,248,204,204,204, + 204,204,2,102,118,120,204,204,204,204,120,0,104,120,248,204, + 204,204,248,192,192,192,0,104,120,124,204,204,204,124,12,12, + 12,2,102,118,248,204,192,192,192,192,2,102,118,120,204,96, + 24,204,120,2,104,120,96,96,248,96,96,96,108,56,2,102, + 118,204,204,204,204,204,124,2,102,118,204,204,204,120,120,48, + 2,102,118,204,204,204,252,252,72,2,102,118,204,204,120,120, + 204,204,0,104,120,204,204,204,204,124,12,204,120,2,102,118, + 252,12,24,96,192,252,18,73,121,112,192,192,96,192,96,192, + 192,112,34,41,121,192,192,192,192,192,192,192,192,192,18,73, + 121,224,48,48,96,48,96,48,48,224,8,99,115,100,252,152, + 255}; +/* + Fontname: -Misc-Fixed-Medium-R-Normal--13-120-75-75-C-70-ISO10646-1 + Copyright: Public domain font. Share and enjoy. + Capital A Height: 9, '1' Height: 9 + Calculated Max Values w= 6 h=11 x= 3 y=11 dx= 7 dy= 0 ascent=11 len=11 + Font Bounding box w= 7 h=13 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent = 9 descent=-2 + X Font ascent =10 descent=-2 + Max Font ascent =11 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_7x13[2157] U8G_FONT_SECTION("u8g_font_7x13") = { + 1,7,13,0,254,9,1,95,2,207,32,255,254,11,254,10, + 254,13,0,112,50,25,121,128,128,128,128,128,128,128,0,128, + 40,51,115,160,160,160,19,87,119,80,80,248,80,248,80,80, + 19,87,119,32,120,160,112,40,240,32,2,105,121,68,164,72, + 16,16,32,72,148,136,2,103,119,96,144,144,96,148,136,116, + 56,19,115,128,128,128,34,57,121,32,64,64,128,128,128,64, + 64,32,34,57,121,128,64,64,32,32,32,64,64,128,4,101, + 117,72,48,252,48,72,20,85,117,32,32,248,32,32,17,67, + 115,112,96,128,22,81,113,248,33,51,115,64,224,64,18,89, + 121,8,8,16,16,32,64,64,128,128,2,105,121,48,72,132, + 132,132,132,132,72,48,18,89,121,32,96,160,32,32,32,32, + 32,248,2,105,121,120,132,132,4,8,48,64,128,252,2,105, + 121,252,4,8,16,56,4,4,132,120,2,105,121,8,24,40, + 72,136,136,252,8,8,2,105,121,252,128,128,184,196,4,4, + 132,120,2,105,121,56,64,128,128,184,196,132,132,120,2,105, + 121,252,4,8,16,16,32,32,64,64,2,105,121,120,132,132, + 132,120,132,132,132,120,2,105,121,120,132,132,140,116,4,4, + 8,112,33,56,120,64,224,64,0,0,64,224,64,17,72,120, + 32,112,32,0,0,112,96,128,18,89,121,8,16,32,64,128, + 64,32,16,8,4,100,116,252,0,0,252,18,89,121,128,64, + 32,16,8,16,32,64,128,2,105,121,120,132,132,4,8,16, + 16,0,16,2,105,121,120,132,132,156,164,172,148,128,120,2, + 105,121,48,72,132,132,132,252,132,132,132,2,105,121,248,68, + 68,68,120,68,68,68,248,2,105,121,120,132,128,128,128,128, + 128,132,120,2,105,121,248,68,68,68,68,68,68,68,248,2, + 105,121,252,128,128,128,240,128,128,128,252,2,105,121,252,128, + 128,128,240,128,128,128,128,2,105,121,120,132,128,128,128,156, + 132,140,116,2,105,121,132,132,132,132,252,132,132,132,132,18, + 89,121,248,32,32,32,32,32,32,32,248,2,105,121,28,8, + 8,8,8,8,8,136,112,2,105,121,132,136,144,160,192,160, + 144,136,132,2,105,121,128,128,128,128,128,128,128,128,252,2, + 105,121,132,204,204,180,180,132,132,132,132,2,105,121,132,132, + 196,164,148,140,132,132,132,2,105,121,120,132,132,132,132,132, + 132,132,120,2,105,121,248,132,132,132,248,128,128,128,128,1, + 106,122,120,132,132,132,132,132,164,148,120,4,2,105,121,248, + 132,132,132,248,160,144,136,132,2,105,121,120,132,128,128,120, + 4,4,132,120,18,89,121,248,32,32,32,32,32,32,32,32, + 2,105,121,132,132,132,132,132,132,132,132,120,2,105,121,132, + 132,132,72,72,72,48,48,48,2,105,121,132,132,132,132,180, + 180,204,204,132,2,105,121,132,132,72,72,48,72,72,132,132, + 18,89,121,136,136,80,80,32,32,32,32,32,2,105,121,252, + 4,8,16,48,32,64,128,252,17,75,123,240,128,128,128,128, + 128,128,128,128,128,240,18,89,121,128,128,64,64,32,16,16, + 8,8,17,75,123,240,16,16,16,16,16,16,16,16,16,240, + 24,83,115,32,80,136,1,97,113,252,42,34,114,128,64,2, + 102,118,120,4,124,132,140,116,2,105,121,128,128,128,184,196, + 132,132,196,184,2,102,118,120,132,128,128,132,120,2,105,121, + 4,4,4,116,140,132,132,140,116,2,102,118,120,132,252,128, + 132,120,2,105,121,56,68,64,64,240,64,64,64,64,0,104, + 120,116,136,136,112,128,120,132,120,2,105,121,128,128,128,184, + 196,132,132,132,132,18,88,120,32,0,96,32,32,32,32,248, + 16,90,122,8,0,24,8,8,8,8,136,136,112,2,105,121, + 128,128,128,136,144,224,144,136,132,18,89,121,96,32,32,32, + 32,32,32,32,248,18,86,118,208,168,168,168,168,136,2,102, + 118,184,196,132,132,132,132,2,102,118,120,132,132,132,132,120, + 0,104,120,184,196,132,196,184,128,128,128,0,104,120,116,140, + 132,140,116,4,4,4,2,102,118,184,68,64,64,64,64,2, + 102,118,120,132,96,24,132,120,2,104,120,64,64,240,64,64, + 64,68,56,2,102,118,132,132,132,132,140,116,18,86,118,136, + 136,136,80,80,32,18,86,118,136,136,168,168,168,80,2,102, + 118,132,72,48,48,72,132,0,104,120,132,132,132,140,116,4, + 132,120,2,102,118,252,8,16,32,64,252,17,91,123,56,64, + 64,64,32,192,32,64,64,64,56,50,25,121,128,128,128,128, + 128,128,128,128,128,17,91,123,224,16,16,16,32,24,32,16, + 16,16,224,24,83,115,72,168,144,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,255,255,255,255,255,255,255,13,0,112,50,25,121, + 128,0,128,128,128,128,128,128,128,19,88,120,32,112,168,160, + 160,168,112,32,2,105,121,56,68,64,64,224,64,64,68,184, + 3,102,118,132,120,72,72,120,132,2,89,121,136,136,80,80, + 248,32,248,32,32,50,25,121,128,128,128,128,0,128,128,128, + 128,18,74,122,96,144,128,96,144,144,96,16,144,96,25,66, + 114,144,144,2,105,121,120,132,180,164,164,164,180,132,120,20, + 87,119,112,8,120,136,120,0,248,3,103,119,20,40,80,160, + 80,40,20,20,83,115,248,8,8,22,65,113,240,2,105,121, + 120,132,180,172,172,180,172,132,120,26,81,113,248,23,68,116, + 96,144,144,96,19,87,119,32,32,248,32,32,0,248,22,54, + 118,64,160,32,64,128,224,22,54,118,224,32,64,32,160,64, + 42,34,114,64,128,1,103,119,132,132,132,132,204,180,128,2, + 105,121,124,232,232,232,104,40,40,40,40,38,33,113,192,32, + 34,114,64,128,22,54,118,64,192,64,64,64,224,21,70,118, + 96,144,144,96,0,240,3,103,119,160,80,40,20,40,80,160, + 2,106,122,64,192,64,64,68,236,20,20,28,4,2,106,122, + 64,192,64,64,72,244,4,8,16,28,2,106,122,224,32,64, + 32,164,76,20,20,28,4,2,105,121,32,0,32,32,64,128, + 132,132,120,2,106,122,32,16,0,48,72,132,132,252,132,132, + 2,106,122,16,32,0,48,72,132,132,252,132,132,2,106,122, + 48,72,0,48,72,132,132,252,132,132,2,106,122,100,152,0, + 48,72,132,132,252,132,132,2,106,122,72,72,0,48,72,132, + 132,252,132,132,2,106,122,48,72,48,48,72,132,132,252,132, + 132,2,105,121,92,160,160,160,184,224,160,160,188,0,107,123, + 120,132,128,128,128,128,128,132,120,16,32,2,106,122,32,16, + 0,252,128,128,240,128,128,252,2,106,122,16,32,0,252,128, + 128,240,128,128,252,2,106,122,48,72,0,252,128,128,240,128, + 128,252,2,106,122,72,72,0,252,128,128,240,128,128,252,18, + 90,122,64,32,0,248,32,32,32,32,32,248,18,90,122,32, + 64,0,248,32,32,32,32,32,248,18,90,122,32,80,0,248, + 32,32,32,32,32,248,18,90,122,136,136,0,248,32,32,32, + 32,32,248,2,105,121,248,68,68,68,228,68,68,68,248,2, + 106,122,100,152,0,132,196,164,164,148,140,132,2,106,122,32, + 16,0,120,132,132,132,132,132,120,2,106,122,16,32,0,120, + 132,132,132,132,132,120,2,106,122,48,72,0,120,132,132,132, + 132,132,120,2,106,122,100,152,0,120,132,132,132,132,132,120, + 2,106,122,72,72,0,120,132,132,132,132,132,120,3,102,118, + 132,72,48,48,72,132,1,107,123,4,120,140,148,148,164,164, + 164,196,120,128,2,106,122,32,16,0,132,132,132,132,132,132, + 120,2,106,122,16,32,0,132,132,132,132,132,132,120,2,106, + 122,48,72,0,132,132,132,132,132,132,120,2,106,122,72,72, + 0,132,132,132,132,132,132,120,18,90,122,16,32,0,136,136, + 80,32,32,32,32,2,105,121,128,248,132,132,132,248,128,128, + 128,18,89,121,96,144,144,160,160,144,136,136,176,2,105,121, + 32,16,0,120,4,124,132,140,116,2,105,121,16,32,0,120, + 4,124,132,140,116,2,105,121,48,72,0,120,4,124,132,140, + 116,2,105,121,100,152,0,120,4,124,132,140,116,2,105,121, + 72,72,0,120,4,124,132,140,116,2,106,122,48,72,48,0, + 120,4,124,132,140,116,2,102,118,104,20,124,144,148,104,0, + 104,120,120,132,128,128,132,120,16,32,2,105,121,32,16,0, + 120,132,252,128,132,120,2,105,121,16,32,0,120,132,252,128, + 132,120,2,105,121,48,72,0,120,132,252,128,132,120,2,105, + 121,72,72,0,120,132,252,128,132,120,18,89,121,64,32,0, + 96,32,32,32,32,248,18,89,121,32,64,0,96,32,32,32, + 32,248,18,89,121,96,144,0,96,32,32,32,32,248,18,89, + 121,144,144,0,96,32,32,32,32,248,2,106,122,72,48,80, + 8,120,132,132,132,132,120,2,105,121,100,152,0,184,196,132, + 132,132,132,2,105,121,32,16,0,120,132,132,132,132,120,2, + 105,121,16,32,0,120,132,132,132,132,120,2,105,121,48,72, + 0,120,132,132,132,132,120,2,105,121,100,152,0,120,132,132, + 132,132,120,2,105,121,72,72,0,120,132,132,132,132,120,19, + 87,119,32,32,0,248,0,32,32,1,104,120,4,120,140,148, + 164,196,120,128,2,105,121,32,16,0,132,132,132,132,140,116, + 2,105,121,16,32,0,132,132,132,132,140,116,2,105,121,48, + 72,0,132,132,132,132,140,116,2,105,121,72,72,0,132,132, + 132,132,140,116,0,107,123,16,32,0,132,132,132,140,116,4, + 132,120,0,106,122,128,128,184,196,132,132,196,184,128,128,0, + 107,123,72,72,0,132,132,132,140,116,4,132,120}; +/* + Fontname: -Misc-Fixed-Medium-O-Normal--13-120-75-75-C-70-ISO10646-1 + Copyright: Public domain font. Share and enjoy. + Capital A Height: 9, '1' Height: 9 + Calculated Max Values w= 7 h=11 x= 3 y=11 dx= 7 dy= 0 ascent=11 len=11 + Font Bounding box w= 7 h=13 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent = 9 descent=-2 + X Font ascent =10 descent=-2 + Max Font ascent =11 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_7x13O[2158] U8G_FONT_SECTION("u8g_font_7x13O") = { + 1,7,13,0,254,9,1,96,2,208,32,255,254,11,254,10, + 254,13,0,112,34,41,121,64,64,64,64,128,128,128,0,128, + 40,51,115,160,160,160,3,103,119,40,40,124,40,248,80,80, + 3,103,119,16,60,80,56,40,240,32,2,121,121,34,82,36, + 8,16,32,72,148,136,2,104,120,24,36,36,56,80,148,136, + 116,56,19,115,128,128,128,18,73,121,16,32,64,64,128,128, + 64,64,32,18,73,121,64,32,32,16,16,32,32,64,128,20, + 85,117,72,48,248,96,144,20,69,117,32,32,240,64,64,17, + 67,115,112,96,128,22,81,113,248,33,51,115,64,224,64,2, + 105,121,4,4,8,16,16,32,64,128,128,2,121,121,24,36, + 66,66,66,132,132,72,48,18,89,121,16,48,80,16,16,32, + 32,32,248,2,121,121,60,66,66,2,12,48,64,128,252,2, + 121,121,126,2,4,8,24,4,4,132,120,2,105,121,4,12, + 20,36,72,136,252,8,8,2,121,121,62,32,32,92,98,2, + 4,132,120,2,105,121,28,32,64,64,120,132,132,132,120,2, + 105,121,252,4,8,16,32,64,64,128,128,2,121,121,60,66, + 66,66,124,132,132,132,120,2,105,121,120,132,132,140,116,8, + 8,16,224,17,72,120,32,112,32,0,0,64,224,64,17,88, + 120,16,56,16,0,0,112,96,128,18,89,121,8,16,32,64, + 128,128,64,32,16,4,116,116,126,0,0,252,18,89,121,64, + 32,16,8,8,16,32,64,128,2,105,121,120,132,132,8,16, + 32,32,0,32,2,121,121,60,66,66,78,82,172,148,128,120, + 2,121,121,24,36,66,66,66,124,132,132,132,2,121,121,124, + 34,34,34,60,68,68,68,248,2,121,121,60,66,64,64,64, + 128,128,132,120,2,121,121,124,34,34,34,34,68,68,68,248, + 2,121,121,126,64,64,64,120,128,128,128,252,2,121,121,126, + 64,64,64,120,128,128,128,128,2,121,121,60,66,64,64,64, + 156,132,140,116,2,121,121,66,66,66,66,124,132,132,132,132, + 2,105,121,124,16,16,16,16,32,32,32,248,2,121,121,14, + 4,4,4,4,8,8,136,112,2,121,121,66,68,72,80,96, + 160,144,136,132,2,105,121,64,64,64,64,64,128,128,128,252, + 2,121,121,66,102,102,90,90,132,132,132,132,2,121,121,66, + 66,98,82,74,140,132,132,132,2,121,121,60,66,66,66,66, + 132,132,132,120,2,121,121,124,66,66,66,124,128,128,128,128, + 1,122,122,60,66,66,66,66,132,164,148,120,4,2,121,121, + 124,66,66,66,124,160,144,136,132,2,121,121,60,66,64,64, + 56,4,4,132,120,18,89,121,248,32,32,32,32,64,64,64, + 64,2,121,121,66,66,66,66,66,132,132,132,120,2,105,121, + 132,132,136,136,80,80,96,96,96,2,121,121,66,66,66,66, + 90,180,204,204,132,2,121,121,66,68,36,40,16,40,72,68, + 132,18,89,121,136,136,80,80,32,32,64,64,64,2,121,121, + 126,2,4,8,16,32,64,128,252,17,91,123,120,64,64,64, + 64,64,128,128,128,128,240,18,73,121,128,128,64,64,32,32, + 32,16,16,17,91,123,120,8,8,8,8,8,16,16,16,16, + 240,24,83,115,32,80,136,1,97,113,252,42,34,114,128,64, + 2,118,118,60,2,124,132,140,116,2,121,121,64,64,64,92, + 98,66,132,196,184,2,118,118,60,66,128,128,132,120,2,121, + 121,2,2,2,58,68,132,132,140,116,2,118,118,60,66,124, + 128,132,120,2,105,121,56,68,64,64,240,64,128,128,128,0, + 120,120,58,68,136,112,128,120,132,120,2,121,121,32,32,64, + 92,98,66,132,132,132,18,88,120,16,0,48,16,16,32,32, + 248,0,106,122,4,0,12,4,4,8,8,136,136,112,2,105, + 121,64,64,64,68,88,96,144,136,132,18,89,121,48,16,16, + 16,16,32,32,32,248,2,102,118,104,84,84,168,168,136,2, + 118,118,92,98,66,132,132,132,2,118,118,60,66,66,132,132, + 120,0,120,120,92,98,66,196,184,128,128,128,0,120,120,58, + 70,130,140,116,4,4,4,2,102,118,184,68,64,128,128,128, + 2,118,118,60,66,32,24,132,120,18,88,120,64,64,240,64, + 128,128,136,112,2,118,118,66,66,66,132,140,116,18,86,118, + 136,136,144,144,160,64,2,102,118,68,68,84,168,168,80,2, + 118,118,66,36,24,48,72,132,0,120,120,66,66,132,140,116, + 4,132,120,2,118,118,126,4,24,32,64,252,17,91,123,56, + 64,64,64,32,192,64,128,128,128,112,34,41,121,64,64,64, + 64,64,128,128,128,128,1,107,123,112,8,8,8,16,28,32, + 16,16,16,224,24,83,115,72,168,144,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,255,255,255,255,255,255,255,13,0,112,34,41, + 121,64,0,64,64,64,128,128,128,128,3,104,120,16,56,84, + 80,160,168,112,32,2,121,121,28,34,32,32,112,32,64,68, + 184,3,118,118,66,60,36,72,120,132,2,105,121,68,68,40, + 40,124,16,248,32,32,34,41,121,64,64,64,64,0,128,128, + 128,128,2,106,122,24,36,32,48,72,72,48,16,144,96,25, + 66,114,144,144,2,121,121,60,66,90,82,82,164,180,132,120, + 4,103,119,56,4,60,68,60,0,248,3,103,119,20,40,80, + 160,160,80,40,20,83,115,248,16,16,22,65,113,240,2,121, + 121,60,66,90,86,172,180,172,132,120,26,81,113,248,23,68, + 116,96,144,144,96,19,87,119,16,16,120,32,32,0,248,22, + 70,118,32,80,16,96,128,224,22,70,118,96,16,96,32,160, + 64,42,34,114,64,128,1,119,119,66,66,66,132,204,180,128, + 2,105,121,124,232,232,232,40,80,80,80,80,38,33,113,192, + 32,34,114,64,128,38,54,118,32,96,32,64,64,224,21,86, + 118,48,72,72,48,0,240,3,103,119,80,40,20,20,40,80, + 160,2,106,122,32,96,32,64,68,236,20,40,56,8,2,106, + 122,32,96,32,64,72,244,4,24,32,56,2,106,122,96,16, + 96,32,164,76,20,40,56,8,2,105,121,16,0,16,16,32, + 64,132,132,120,2,122,122,16,8,0,24,36,66,66,124,132, + 132,2,122,122,8,16,0,24,36,66,66,124,132,132,2,122, + 122,24,36,0,24,36,66,66,124,132,132,2,122,122,50,76, + 0,24,36,66,66,124,132,132,2,122,122,36,36,0,24,36, + 66,66,124,132,132,2,122,122,24,36,24,24,36,66,66,124, + 132,132,2,121,121,46,80,80,80,124,160,160,160,188,0,123, + 123,60,66,64,64,64,128,128,132,120,16,32,2,122,122,16, + 8,0,126,64,64,112,128,128,252,2,122,122,8,16,0,126, + 64,64,112,128,128,252,2,122,122,24,36,0,126,64,64,112, + 128,128,252,2,122,122,36,36,0,126,64,64,112,128,128,252, + 2,106,122,32,16,0,124,16,16,32,32,32,248,2,106,122, + 16,32,0,124,16,16,32,32,32,248,2,106,122,16,40,0, + 124,16,16,32,32,32,248,2,106,122,68,68,0,124,16,16, + 32,32,32,248,2,121,121,124,34,34,34,242,68,68,68,248, + 2,122,122,50,76,0,66,98,82,82,140,140,132,2,122,122, + 16,8,0,60,66,66,132,132,132,120,2,122,122,8,16,0, + 60,66,66,132,132,132,120,2,122,122,24,36,0,60,66,66, + 132,132,132,120,2,122,122,50,76,0,60,66,66,132,132,132, + 120,2,122,122,36,36,0,60,66,66,132,132,132,120,3,118, + 118,66,36,24,48,72,132,1,123,123,2,60,70,74,74,82, + 164,164,196,120,128,2,122,122,16,8,0,66,66,66,132,132, + 132,120,2,122,122,8,16,0,66,66,66,132,132,132,120,2, + 122,122,24,36,0,66,66,66,132,132,132,120,2,122,122,36, + 36,0,66,66,66,132,132,132,120,18,90,122,16,32,0,136, + 136,80,32,32,64,64,2,121,121,64,124,66,66,66,124,128, + 128,128,18,89,121,48,72,72,80,80,144,136,136,176,2,121, + 121,16,8,0,60,2,124,132,140,116,2,121,121,8,16,0, + 60,2,124,132,140,116,2,121,121,24,36,0,60,2,124,132, + 140,116,2,121,121,50,76,0,60,2,124,132,140,116,2,121, + 121,36,36,0,60,2,124,132,140,116,2,122,122,24,36,24, + 0,60,2,124,132,140,116,2,118,118,52,10,124,144,148,104, + 0,120,120,60,66,128,128,132,120,16,32,2,121,121,16,8, + 0,60,66,124,128,132,120,2,121,121,8,16,0,60,66,124, + 128,132,120,2,121,121,24,36,0,60,66,124,128,132,120,2, + 121,121,36,36,0,60,66,124,128,132,120,18,89,121,32,16, + 0,48,16,32,32,32,248,18,89,121,16,32,0,48,16,32, + 32,32,248,18,89,121,48,72,0,48,16,32,32,32,248,18, + 89,121,72,72,0,48,16,32,32,32,248,2,122,122,36,24, + 40,4,60,66,66,132,132,120,2,121,121,50,76,0,92,98, + 66,132,132,132,2,121,121,16,8,0,60,66,66,132,132,120, + 2,121,121,8,16,0,60,66,66,132,132,120,2,121,121,24, + 36,0,60,66,66,132,132,120,2,121,121,50,76,0,60,66, + 66,132,132,120,2,121,121,36,36,0,60,66,66,132,132,120, + 19,71,119,32,32,0,240,0,64,64,1,120,120,2,60,74, + 82,164,196,120,128,2,121,121,16,8,0,66,66,66,132,140, + 116,2,121,121,8,16,0,66,66,66,132,140,116,2,121,121, + 24,36,0,66,66,66,132,140,116,2,121,121,36,36,0,66, + 66,66,132,140,116,0,123,123,8,16,0,66,66,132,140,116, + 4,132,120,0,122,122,64,64,92,98,66,132,196,184,128,128, + 0,123,123,36,36,0,66,66,132,140,116,4,132,120}; +/* + Fontname: -Misc-Fixed-Medium-O-Normal--13-120-75-75-C-70-ISO10646-1 + Copyright: Public domain font. Share and enjoy. + Capital A Height: 9, '1' Height: 9 + Calculated Max Values w= 7 h=11 x= 3 y=11 dx= 7 dy= 0 ascent=11 len=11 + Font Bounding box w= 7 h=13 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent = 9 descent=-2 + X Font ascent =10 descent=-2 + Max Font ascent =11 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_7x13Or[1035] U8G_FONT_SECTION("u8g_font_7x13Or") = { + 1,7,13,0,254,9,1,96,2,208,32,127,254,11,254,10, + 254,13,0,112,34,41,121,64,64,64,64,128,128,128,0,128, + 40,51,115,160,160,160,3,103,119,40,40,124,40,248,80,80, + 3,103,119,16,60,80,56,40,240,32,2,121,121,34,82,36, + 8,16,32,72,148,136,2,104,120,24,36,36,56,80,148,136, + 116,56,19,115,128,128,128,18,73,121,16,32,64,64,128,128, + 64,64,32,18,73,121,64,32,32,16,16,32,32,64,128,20, + 85,117,72,48,248,96,144,20,69,117,32,32,240,64,64,17, + 67,115,112,96,128,22,81,113,248,33,51,115,64,224,64,2, + 105,121,4,4,8,16,16,32,64,128,128,2,121,121,24,36, + 66,66,66,132,132,72,48,18,89,121,16,48,80,16,16,32, + 32,32,248,2,121,121,60,66,66,2,12,48,64,128,252,2, + 121,121,126,2,4,8,24,4,4,132,120,2,105,121,4,12, + 20,36,72,136,252,8,8,2,121,121,62,32,32,92,98,2, + 4,132,120,2,105,121,28,32,64,64,120,132,132,132,120,2, + 105,121,252,4,8,16,32,64,64,128,128,2,121,121,60,66, + 66,66,124,132,132,132,120,2,105,121,120,132,132,140,116,8, + 8,16,224,17,72,120,32,112,32,0,0,64,224,64,17,88, + 120,16,56,16,0,0,112,96,128,18,89,121,8,16,32,64, + 128,128,64,32,16,4,116,116,126,0,0,252,18,89,121,64, + 32,16,8,8,16,32,64,128,2,105,121,120,132,132,8,16, + 32,32,0,32,2,121,121,60,66,66,78,82,172,148,128,120, + 2,121,121,24,36,66,66,66,124,132,132,132,2,121,121,124, + 34,34,34,60,68,68,68,248,2,121,121,60,66,64,64,64, + 128,128,132,120,2,121,121,124,34,34,34,34,68,68,68,248, + 2,121,121,126,64,64,64,120,128,128,128,252,2,121,121,126, + 64,64,64,120,128,128,128,128,2,121,121,60,66,64,64,64, + 156,132,140,116,2,121,121,66,66,66,66,124,132,132,132,132, + 2,105,121,124,16,16,16,16,32,32,32,248,2,121,121,14, + 4,4,4,4,8,8,136,112,2,121,121,66,68,72,80,96, + 160,144,136,132,2,105,121,64,64,64,64,64,128,128,128,252, + 2,121,121,66,102,102,90,90,132,132,132,132,2,121,121,66, + 66,98,82,74,140,132,132,132,2,121,121,60,66,66,66,66, + 132,132,132,120,2,121,121,124,66,66,66,124,128,128,128,128, + 1,122,122,60,66,66,66,66,132,164,148,120,4,2,121,121, + 124,66,66,66,124,160,144,136,132,2,121,121,60,66,64,64, + 56,4,4,132,120,18,89,121,248,32,32,32,32,64,64,64, + 64,2,121,121,66,66,66,66,66,132,132,132,120,2,105,121, + 132,132,136,136,80,80,96,96,96,2,121,121,66,66,66,66, + 90,180,204,204,132,2,121,121,66,68,36,40,16,40,72,68, + 132,18,89,121,136,136,80,80,32,32,64,64,64,2,121,121, + 126,2,4,8,16,32,64,128,252,17,91,123,120,64,64,64, + 64,64,128,128,128,128,240,18,73,121,128,128,64,64,32,32, + 32,16,16,17,91,123,120,8,8,8,8,8,16,16,16,16, + 240,24,83,115,32,80,136,1,97,113,252,42,34,114,128,64, + 2,118,118,60,2,124,132,140,116,2,121,121,64,64,64,92, + 98,66,132,196,184,2,118,118,60,66,128,128,132,120,2,121, + 121,2,2,2,58,68,132,132,140,116,2,118,118,60,66,124, + 128,132,120,2,105,121,56,68,64,64,240,64,128,128,128,0, + 120,120,58,68,136,112,128,120,132,120,2,121,121,32,32,64, + 92,98,66,132,132,132,18,88,120,16,0,48,16,16,32,32, + 248,0,106,122,4,0,12,4,4,8,8,136,136,112,2,105, + 121,64,64,64,68,88,96,144,136,132,18,89,121,48,16,16, + 16,16,32,32,32,248,2,102,118,104,84,84,168,168,136,2, + 118,118,92,98,66,132,132,132,2,118,118,60,66,66,132,132, + 120,0,120,120,92,98,66,196,184,128,128,128,0,120,120,58, + 70,130,140,116,4,4,4,2,102,118,184,68,64,128,128,128, + 2,118,118,60,66,32,24,132,120,18,88,120,64,64,240,64, + 128,128,136,112,2,118,118,66,66,66,132,140,116,18,86,118, + 136,136,144,144,160,64,2,102,118,68,68,84,168,168,80,2, + 118,118,66,36,24,48,72,132,0,120,120,66,66,132,140,116, + 4,132,120,2,118,118,126,4,24,32,64,252,17,91,123,56, + 64,64,64,32,192,64,128,128,128,112,34,41,121,64,64,64, + 64,64,128,128,128,128,1,107,123,112,8,8,8,16,28,32, + 16,16,16,224,24,83,115,72,168,144,255}; +/* + Fontname: -Misc-Fixed-Medium-R-Normal--13-120-75-75-C-70-ISO10646-1 + Copyright: Public domain font. Share and enjoy. + Capital A Height: 9, '1' Height: 9 + Calculated Max Values w= 6 h=11 x= 3 y=11 dx= 7 dy= 0 ascent=11 len=11 + Font Bounding box w= 7 h=13 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent = 9 descent=-2 + X Font ascent =10 descent=-2 + Max Font ascent =11 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_7x13r[1034] U8G_FONT_SECTION("u8g_font_7x13r") = { + 1,7,13,0,254,9,1,95,2,207,32,127,254,11,254,10, + 254,13,0,112,50,25,121,128,128,128,128,128,128,128,0,128, + 40,51,115,160,160,160,19,87,119,80,80,248,80,248,80,80, + 19,87,119,32,120,160,112,40,240,32,2,105,121,68,164,72, + 16,16,32,72,148,136,2,103,119,96,144,144,96,148,136,116, + 56,19,115,128,128,128,34,57,121,32,64,64,128,128,128,64, + 64,32,34,57,121,128,64,64,32,32,32,64,64,128,4,101, + 117,72,48,252,48,72,20,85,117,32,32,248,32,32,17,67, + 115,112,96,128,22,81,113,248,33,51,115,64,224,64,18,89, + 121,8,8,16,16,32,64,64,128,128,2,105,121,48,72,132, + 132,132,132,132,72,48,18,89,121,32,96,160,32,32,32,32, + 32,248,2,105,121,120,132,132,4,8,48,64,128,252,2,105, + 121,252,4,8,16,56,4,4,132,120,2,105,121,8,24,40, + 72,136,136,252,8,8,2,105,121,252,128,128,184,196,4,4, + 132,120,2,105,121,56,64,128,128,184,196,132,132,120,2,105, + 121,252,4,8,16,16,32,32,64,64,2,105,121,120,132,132, + 132,120,132,132,132,120,2,105,121,120,132,132,140,116,4,4, + 8,112,33,56,120,64,224,64,0,0,64,224,64,17,72,120, + 32,112,32,0,0,112,96,128,18,89,121,8,16,32,64,128, + 64,32,16,8,4,100,116,252,0,0,252,18,89,121,128,64, + 32,16,8,16,32,64,128,2,105,121,120,132,132,4,8,16, + 16,0,16,2,105,121,120,132,132,156,164,172,148,128,120,2, + 105,121,48,72,132,132,132,252,132,132,132,2,105,121,248,68, + 68,68,120,68,68,68,248,2,105,121,120,132,128,128,128,128, + 128,132,120,2,105,121,248,68,68,68,68,68,68,68,248,2, + 105,121,252,128,128,128,240,128,128,128,252,2,105,121,252,128, + 128,128,240,128,128,128,128,2,105,121,120,132,128,128,128,156, + 132,140,116,2,105,121,132,132,132,132,252,132,132,132,132,18, + 89,121,248,32,32,32,32,32,32,32,248,2,105,121,28,8, + 8,8,8,8,8,136,112,2,105,121,132,136,144,160,192,160, + 144,136,132,2,105,121,128,128,128,128,128,128,128,128,252,2, + 105,121,132,204,204,180,180,132,132,132,132,2,105,121,132,132, + 196,164,148,140,132,132,132,2,105,121,120,132,132,132,132,132, + 132,132,120,2,105,121,248,132,132,132,248,128,128,128,128,1, + 106,122,120,132,132,132,132,132,164,148,120,4,2,105,121,248, + 132,132,132,248,160,144,136,132,2,105,121,120,132,128,128,120, + 4,4,132,120,18,89,121,248,32,32,32,32,32,32,32,32, + 2,105,121,132,132,132,132,132,132,132,132,120,2,105,121,132, + 132,132,72,72,72,48,48,48,2,105,121,132,132,132,132,180, + 180,204,204,132,2,105,121,132,132,72,72,48,72,72,132,132, + 18,89,121,136,136,80,80,32,32,32,32,32,2,105,121,252, + 4,8,16,48,32,64,128,252,17,75,123,240,128,128,128,128, + 128,128,128,128,128,240,18,89,121,128,128,64,64,32,16,16, + 8,8,17,75,123,240,16,16,16,16,16,16,16,16,16,240, + 24,83,115,32,80,136,1,97,113,252,42,34,114,128,64,2, + 102,118,120,4,124,132,140,116,2,105,121,128,128,128,184,196, + 132,132,196,184,2,102,118,120,132,128,128,132,120,2,105,121, + 4,4,4,116,140,132,132,140,116,2,102,118,120,132,252,128, + 132,120,2,105,121,56,68,64,64,240,64,64,64,64,0,104, + 120,116,136,136,112,128,120,132,120,2,105,121,128,128,128,184, + 196,132,132,132,132,18,88,120,32,0,96,32,32,32,32,248, + 16,90,122,8,0,24,8,8,8,8,136,136,112,2,105,121, + 128,128,128,136,144,224,144,136,132,18,89,121,96,32,32,32, + 32,32,32,32,248,18,86,118,208,168,168,168,168,136,2,102, + 118,184,196,132,132,132,132,2,102,118,120,132,132,132,132,120, + 0,104,120,184,196,132,196,184,128,128,128,0,104,120,116,140, + 132,140,116,4,4,4,2,102,118,184,68,64,64,64,64,2, + 102,118,120,132,96,24,132,120,2,104,120,64,64,240,64,64, + 64,68,56,2,102,118,132,132,132,132,140,116,18,86,118,136, + 136,136,80,80,32,18,86,118,136,136,168,168,168,80,2,102, + 118,132,72,48,48,72,132,0,104,120,132,132,132,140,116,4, + 132,120,2,102,118,252,8,16,32,64,252,17,91,123,56,64, + 64,64,32,192,32,64,64,64,56,50,25,121,128,128,128,128, + 128,128,128,128,128,17,91,123,224,16,16,16,32,24,32,16, + 16,16,224,24,83,115,72,168,144,255}; +/* + Fontname: -Misc-Fixed-Bold-R-Normal--14-130-75-75-C-70-ISO10646-1 + Copyright: Public domain font. Share and enjoy. + Capital A Height: 10, '1' Height: 10 + Calculated Max Values w= 7 h=14 x= 2 y=12 dx= 7 dy= 0 ascent=12 len=14 + Font Bounding box w= 7 h=14 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent =10 descent=-2 + X Font ascent =11 descent=-2 + Max Font ascent =12 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_7x14B[2390] U8G_FONT_SECTION("u8g_font_7x14B") = { + 1,7,14,0,254,10,1,137,3,30,32,255,254,12,254,11, + 254,14,0,112,34,42,122,192,192,192,192,192,192,192,0,192, + 192,25,84,116,216,216,216,216,2,106,122,120,120,120,252,120, + 120,252,120,120,120,1,107,123,48,120,180,180,112,56,52,180, + 180,120,48,2,106,122,108,220,216,112,16,32,56,108,236,216, + 2,106,122,56,108,108,108,56,108,220,216,216,108,41,36,116, + 192,192,192,192,16,93,125,24,48,96,96,192,192,192,192,192, + 96,96,48,24,16,93,125,192,96,48,48,24,24,24,24,24, + 48,48,96,192,5,103,119,180,180,120,48,120,180,180,3,103, + 119,48,48,48,252,48,48,48,32,52,116,224,96,96,192,6, + 97,113,252,34,34,114,192,192,0,109,125,12,12,12,24,24, + 48,48,48,96,96,192,192,192,2,106,122,120,204,204,204,204, + 204,204,204,204,120,2,106,122,48,112,240,48,48,48,48,48, + 48,252,2,106,122,120,204,204,12,24,24,48,96,192,252,2, + 106,122,120,204,204,12,56,12,12,204,204,120,2,106,122,8, + 24,24,56,120,216,216,252,24,24,2,106,122,252,192,192,248, + 204,12,12,204,204,120,2,106,122,56,108,204,192,248,204,204, + 204,204,120,2,106,122,252,204,216,24,48,48,48,48,48,48, + 2,106,122,120,204,204,204,120,120,204,204,204,120,2,106,122, + 120,204,204,204,204,124,12,204,216,112,35,39,119,192,192,0, + 0,0,192,192,33,57,121,96,96,0,0,0,224,96,96,192, + 2,105,121,12,24,48,96,192,96,48,24,12,4,100,116,252, + 0,0,252,2,105,121,192,96,48,24,12,24,48,96,192,2, + 106,122,120,204,204,24,48,48,48,0,48,48,2,106,122,56, + 108,220,244,244,244,244,220,96,60,2,106,122,120,252,204,204, + 204,204,252,204,204,204,2,106,122,248,204,204,200,248,204,204, + 204,204,248,2,106,122,120,204,204,192,192,192,192,204,204,120, + 2,106,122,240,216,204,204,204,204,204,204,216,240,2,106,122, + 252,192,192,192,248,192,192,192,192,252,2,106,122,252,192,192, + 192,248,192,192,192,192,192,2,106,122,120,204,204,192,192,220, + 204,204,204,120,2,106,122,204,204,204,204,252,204,204,204,204, + 204,2,106,122,252,48,48,48,48,48,48,48,48,252,2,106, + 122,12,12,12,12,12,12,12,204,216,112,2,106,122,204,216, + 240,224,224,240,240,216,204,204,2,106,122,192,192,192,192,192, + 192,192,192,192,252,2,106,122,132,204,204,252,252,204,204,204, + 204,204,2,106,122,204,204,236,236,236,220,220,220,204,204,2, + 106,122,120,204,204,204,204,204,204,204,204,120,2,106,122,248, + 204,204,204,204,248,192,192,192,192,0,108,124,120,204,204,204, + 204,204,236,220,204,120,12,4,2,106,122,248,204,204,204,248, + 216,204,204,204,204,2,106,122,120,204,204,96,48,48,24,204, + 204,120,2,106,122,252,48,48,48,48,48,48,48,48,48,2, + 106,122,204,204,204,204,204,204,204,204,204,120,2,106,122,204, + 204,204,204,204,204,204,120,120,48,2,106,122,204,204,204,204, + 204,252,252,252,252,72,2,106,122,204,204,120,120,48,48,120, + 120,204,204,2,106,122,204,204,204,120,120,48,48,48,48,48, + 2,106,122,252,12,24,24,48,48,96,96,192,252,16,93,125, + 248,192,192,192,192,192,192,192,192,192,192,192,248,0,109,125, + 192,192,192,96,96,48,48,48,24,24,12,12,12,16,93,125, + 248,24,24,24,24,24,24,24,24,24,24,24,248,11,99,115, + 48,120,204,0,98,114,252,252,26,67,115,192,96,48,2,103, + 119,120,204,28,108,204,204,124,2,106,122,192,192,192,248,204, + 204,204,204,204,248,2,103,119,120,204,192,192,192,204,120,2, + 106,122,12,12,12,124,204,204,204,204,204,124,2,103,119,120, + 204,204,252,192,204,120,2,106,122,24,60,48,48,252,48,48, + 48,48,48,0,105,121,116,220,216,216,112,64,248,204,120,2, + 106,122,192,192,192,248,204,204,204,204,204,204,34,42,122,192, + 192,0,192,192,192,192,192,192,192,16,92,124,24,24,0,24, + 24,24,24,24,24,24,216,112,2,106,122,192,192,192,200,216, + 240,240,216,204,196,34,42,122,192,192,192,192,192,192,192,192, + 192,192,2,103,119,216,252,252,252,252,252,204,2,103,119,248, + 204,204,204,204,204,204,2,103,119,120,204,204,204,204,204,120, + 0,105,121,248,204,204,204,204,204,248,192,192,0,105,121,124, + 204,204,204,204,204,124,12,12,2,103,119,248,204,204,192,192, + 192,192,2,103,119,120,204,96,48,24,204,120,2,106,122,48, + 48,48,252,48,48,48,48,48,28,2,103,119,204,204,204,204, + 204,204,124,2,103,119,204,204,204,120,120,48,48,2,103,119, + 204,204,252,252,252,252,72,2,103,119,204,204,120,48,120,204, + 204,0,105,121,204,204,108,108,56,56,24,216,112,2,103,119, + 252,12,24,48,96,192,252,16,93,125,56,96,96,96,96,96, + 192,96,96,96,96,96,56,32,45,125,192,192,192,192,192,192, + 192,192,192,192,192,192,192,16,93,125,224,48,48,48,48,48, + 24,48,48,48,48,48,224,9,100,116,68,244,188,136,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,255,255,255,255,255,255,255,14, + 0,112,34,42,122,192,192,0,192,192,192,192,192,192,192,1, + 105,121,48,124,180,176,176,176,180,124,48,2,105,121,56,108, + 96,96,240,96,96,248,108,4,102,118,204,120,104,88,120,204, + 2,106,122,132,204,120,252,48,48,252,48,48,48,34,42,122, + 192,192,192,192,0,0,192,192,192,192,2,107,123,120,204,96, + 48,120,204,120,48,24,204,120,27,82,114,216,216,2,107,123, + 120,204,252,236,236,236,236,236,252,204,120,21,88,120,112,216, + 120,216,216,120,0,248,2,103,119,28,60,120,240,120,60,28, + 2,101,117,252,252,12,12,12,22,65,113,240,2,107,123,120, + 204,252,236,236,252,236,236,236,204,120,28,81,113,248,25,84, + 116,112,216,216,112,2,102,118,48,48,252,48,48,252,22,87, + 119,112,216,24,48,96,192,248,22,87,119,112,216,24,112,24, + 216,112,26,67,115,48,96,192,0,104,120,204,204,204,204,220, + 252,192,192,0,108,124,124,236,236,236,236,108,44,44,44,44, + 44,60,39,34,114,192,192,32,51,115,96,96,192,22,54,118, + 96,224,96,96,96,96,22,86,118,112,216,216,112,0,248,2, + 103,119,224,112,56,28,56,112,224,2,106,122,100,236,104,120, + 120,52,108,92,220,140,2,106,122,100,236,104,120,120,56,116, + 76,216,156,2,106,122,196,108,232,120,240,60,108,220,156,12, + 0,107,123,96,96,0,96,96,96,96,96,204,204,120,2,108, + 124,96,48,0,120,252,204,204,204,252,204,204,204,2,108,124, + 24,48,0,120,252,204,204,204,252,204,204,204,2,108,124,48, + 120,0,120,252,204,204,204,252,204,204,204,2,108,124,104,176, + 0,120,252,204,204,204,252,204,204,204,2,108,124,204,204,0, + 120,252,204,204,204,252,204,204,204,2,108,124,48,72,48,0, + 120,252,204,204,252,204,204,204,2,122,122,126,216,216,216,220, + 248,216,216,216,222,0,108,124,120,204,204,192,192,192,192,204, + 204,120,48,96,2,108,124,96,48,0,252,192,192,192,248,192, + 192,192,252,2,108,124,24,48,0,252,192,192,192,248,192,192, + 192,252,2,108,124,48,120,0,252,192,192,192,248,192,192,192, + 252,2,108,124,204,204,0,252,192,192,192,248,192,192,192,252, + 2,108,124,96,48,0,252,48,48,48,48,48,48,48,252,2, + 108,124,24,48,0,252,48,48,48,48,48,48,48,252,2,108, + 124,48,120,0,252,48,48,48,48,48,48,48,252,2,108,124, + 204,204,0,252,48,48,48,48,48,48,48,252,2,122,122,120, + 108,102,102,254,102,102,102,108,120,2,108,124,104,176,0,204, + 236,236,236,220,220,220,204,204,2,108,124,96,48,0,120,204, + 204,204,204,204,204,204,120,2,108,124,24,48,0,120,204,204, + 204,204,204,204,204,120,2,108,124,48,120,0,120,204,204,204, + 204,204,204,204,120,2,108,124,104,176,0,120,204,204,204,204, + 204,204,204,120,2,108,124,204,204,0,120,204,204,204,204,204, + 204,204,120,2,119,119,198,108,56,56,108,198,130,0,110,126, + 4,4,120,220,220,220,220,236,236,236,236,120,128,128,2,108, + 124,96,48,0,204,204,204,204,204,204,204,204,120,2,108,124, + 24,48,0,204,204,204,204,204,204,204,204,120,2,108,124,48, + 120,0,204,204,204,204,204,204,204,204,120,2,108,124,204,204, + 0,204,204,204,204,204,204,204,204,120,2,108,124,24,48,0, + 204,204,204,120,120,120,48,48,48,2,106,122,192,192,248,204, + 204,204,204,248,192,192,2,106,122,56,108,108,108,120,108,108, + 108,108,248,2,106,122,96,48,0,120,204,60,108,204,204,124, + 2,106,122,24,48,0,120,204,60,108,204,204,124,2,106,122, + 48,120,0,120,204,60,108,204,204,124,2,106,122,104,176,0, + 120,204,60,108,204,204,124,2,106,122,204,204,0,120,204,60, + 108,204,204,124,2,107,123,48,72,48,0,120,204,60,108,204, + 204,124,2,119,119,124,218,58,94,216,222,124,0,105,121,120, + 204,192,192,192,204,120,48,96,2,106,122,96,48,0,120,204, + 204,252,192,204,120,2,106,122,24,48,0,120,204,204,252,192, + 204,120,2,106,122,48,120,0,120,204,204,252,192,204,120,2, + 106,122,204,204,0,120,204,204,252,192,204,120,34,58,122,192, + 96,0,96,96,96,96,96,96,96,34,58,122,96,192,0,192, + 192,192,192,192,192,192,18,74,122,96,240,0,96,96,96,96, + 96,96,96,2,106,122,204,204,0,48,48,48,48,48,48,48, + 2,107,123,216,112,240,152,12,124,204,204,204,204,120,2,106, + 122,104,176,0,248,204,204,204,204,204,204,2,106,122,96,48, + 0,120,204,204,204,204,204,120,2,106,122,24,48,0,120,204, + 204,204,204,204,120,2,106,122,48,120,0,120,204,204,204,204, + 204,120,2,106,122,104,176,0,120,204,204,204,204,204,120,2, + 106,122,204,204,0,120,204,204,204,204,204,120,2,104,120,48, + 48,0,252,252,0,48,48,0,107,123,4,8,120,220,220,236, + 236,204,120,128,128,2,106,122,96,48,0,204,204,204,204,204, + 204,124,2,106,122,24,48,0,204,204,204,204,204,204,124,2, + 106,122,48,120,0,204,204,204,204,204,204,124,2,106,122,204, + 204,0,204,204,204,204,204,204,124,0,108,124,24,48,0,204, + 204,204,120,56,56,48,240,96,0,108,124,192,192,192,248,204, + 204,204,204,204,248,192,192,0,108,124,204,204,0,204,204,204, + 120,56,56,48,240,96}; +/* + Fontname: -Misc-Fixed-Bold-R-Normal--14-130-75-75-C-70-ISO10646-1 + Copyright: Public domain font. Share and enjoy. + Capital A Height: 10, '1' Height: 10 + Calculated Max Values w= 6 h=13 x= 2 y=12 dx= 7 dy= 0 ascent=12 len=13 + Font Bounding box w= 7 h=14 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent =10 descent=-2 + X Font ascent =11 descent=-2 + Max Font ascent =12 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_7x14Br[1151] U8G_FONT_SECTION("u8g_font_7x14Br") = { + 1,7,14,0,254,10,1,137,3,30,32,127,254,12,254,11, + 254,14,0,112,34,42,122,192,192,192,192,192,192,192,0,192, + 192,25,84,116,216,216,216,216,2,106,122,120,120,120,252,120, + 120,252,120,120,120,1,107,123,48,120,180,180,112,56,52,180, + 180,120,48,2,106,122,108,220,216,112,16,32,56,108,236,216, + 2,106,122,56,108,108,108,56,108,220,216,216,108,41,36,116, + 192,192,192,192,16,93,125,24,48,96,96,192,192,192,192,192, + 96,96,48,24,16,93,125,192,96,48,48,24,24,24,24,24, + 48,48,96,192,5,103,119,180,180,120,48,120,180,180,3,103, + 119,48,48,48,252,48,48,48,32,52,116,224,96,96,192,6, + 97,113,252,34,34,114,192,192,0,109,125,12,12,12,24,24, + 48,48,48,96,96,192,192,192,2,106,122,120,204,204,204,204, + 204,204,204,204,120,2,106,122,48,112,240,48,48,48,48,48, + 48,252,2,106,122,120,204,204,12,24,24,48,96,192,252,2, + 106,122,120,204,204,12,56,12,12,204,204,120,2,106,122,8, + 24,24,56,120,216,216,252,24,24,2,106,122,252,192,192,248, + 204,12,12,204,204,120,2,106,122,56,108,204,192,248,204,204, + 204,204,120,2,106,122,252,204,216,24,48,48,48,48,48,48, + 2,106,122,120,204,204,204,120,120,204,204,204,120,2,106,122, + 120,204,204,204,204,124,12,204,216,112,35,39,119,192,192,0, + 0,0,192,192,33,57,121,96,96,0,0,0,224,96,96,192, + 2,105,121,12,24,48,96,192,96,48,24,12,4,100,116,252, + 0,0,252,2,105,121,192,96,48,24,12,24,48,96,192,2, + 106,122,120,204,204,24,48,48,48,0,48,48,2,106,122,56, + 108,220,244,244,244,244,220,96,60,2,106,122,120,252,204,204, + 204,204,252,204,204,204,2,106,122,248,204,204,200,248,204,204, + 204,204,248,2,106,122,120,204,204,192,192,192,192,204,204,120, + 2,106,122,240,216,204,204,204,204,204,204,216,240,2,106,122, + 252,192,192,192,248,192,192,192,192,252,2,106,122,252,192,192, + 192,248,192,192,192,192,192,2,106,122,120,204,204,192,192,220, + 204,204,204,120,2,106,122,204,204,204,204,252,204,204,204,204, + 204,2,106,122,252,48,48,48,48,48,48,48,48,252,2,106, + 122,12,12,12,12,12,12,12,204,216,112,2,106,122,204,216, + 240,224,224,240,240,216,204,204,2,106,122,192,192,192,192,192, + 192,192,192,192,252,2,106,122,132,204,204,252,252,204,204,204, + 204,204,2,106,122,204,204,236,236,236,220,220,220,204,204,2, + 106,122,120,204,204,204,204,204,204,204,204,120,2,106,122,248, + 204,204,204,204,248,192,192,192,192,0,108,124,120,204,204,204, + 204,204,236,220,204,120,12,4,2,106,122,248,204,204,204,248, + 216,204,204,204,204,2,106,122,120,204,204,96,48,48,24,204, + 204,120,2,106,122,252,48,48,48,48,48,48,48,48,48,2, + 106,122,204,204,204,204,204,204,204,204,204,120,2,106,122,204, + 204,204,204,204,204,204,120,120,48,2,106,122,204,204,204,204, + 204,252,252,252,252,72,2,106,122,204,204,120,120,48,48,120, + 120,204,204,2,106,122,204,204,204,120,120,48,48,48,48,48, + 2,106,122,252,12,24,24,48,48,96,96,192,252,16,93,125, + 248,192,192,192,192,192,192,192,192,192,192,192,248,0,109,125, + 192,192,192,96,96,48,48,48,24,24,12,12,12,16,93,125, + 248,24,24,24,24,24,24,24,24,24,24,24,248,11,99,115, + 48,120,204,0,98,114,252,252,26,67,115,192,96,48,2,103, + 119,120,204,28,108,204,204,124,2,106,122,192,192,192,248,204, + 204,204,204,204,248,2,103,119,120,204,192,192,192,204,120,2, + 106,122,12,12,12,124,204,204,204,204,204,124,2,103,119,120, + 204,204,252,192,204,120,2,106,122,24,60,48,48,252,48,48, + 48,48,48,0,105,121,116,220,216,216,112,64,248,204,120,2, + 106,122,192,192,192,248,204,204,204,204,204,204,34,42,122,192, + 192,0,192,192,192,192,192,192,192,16,92,124,24,24,0,24, + 24,24,24,24,24,24,216,112,2,106,122,192,192,192,200,216, + 240,240,216,204,196,34,42,122,192,192,192,192,192,192,192,192, + 192,192,2,103,119,216,252,252,252,252,252,204,2,103,119,248, + 204,204,204,204,204,204,2,103,119,120,204,204,204,204,204,120, + 0,105,121,248,204,204,204,204,204,248,192,192,0,105,121,124, + 204,204,204,204,204,124,12,12,2,103,119,248,204,204,192,192, + 192,192,2,103,119,120,204,96,48,24,204,120,2,106,122,48, + 48,48,252,48,48,48,48,48,28,2,103,119,204,204,204,204, + 204,204,124,2,103,119,204,204,204,120,120,48,48,2,103,119, + 204,204,252,252,252,252,72,2,103,119,204,204,120,48,120,204, + 204,0,105,121,204,204,108,108,56,56,24,216,112,2,103,119, + 252,12,24,48,96,192,252,16,93,125,56,96,96,96,96,96, + 192,96,96,96,96,96,56,32,45,125,192,192,192,192,192,192, + 192,192,192,192,192,192,192,16,93,125,224,48,48,48,48,48, + 24,48,48,48,48,48,224,9,100,116,68,244,188,136,255}; +/* + Fontname: -Misc-Fixed-Medium-R-Normal--14-130-75-75-C-70-ISO10646-1 + Copyright: Public domain font. Share and enjoy. + Capital A Height: 10, '1' Height: 10 + Calculated Max Values w= 7 h=14 x= 3 y=12 dx= 7 dy= 0 ascent=12 len=14 + Font Bounding box w= 7 h=14 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent =10 descent=-2 + X Font ascent =11 descent=-2 + Max Font ascent =12 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_7x14[2374] U8G_FONT_SECTION("u8g_font_7x14") = { + 1,7,14,0,254,10,1,138,3,30,32,255,254,12,254,11, + 254,14,0,112,50,26,122,128,128,128,128,128,128,128,0,128, + 128,41,52,116,160,160,160,160,18,90,122,80,80,80,248,80, + 80,248,80,80,80,1,107,123,16,120,148,148,80,56,20,148, + 148,120,16,2,106,122,100,148,152,112,16,32,56,100,164,152, + 2,106,122,48,72,72,72,48,100,148,136,152,100,57,20,116, + 128,128,128,128,32,77,125,16,32,64,64,128,128,128,128,128, + 64,64,32,16,16,77,125,128,64,32,32,16,16,16,16,16, + 32,32,64,128,19,87,119,32,168,112,32,112,168,32,19,87, + 119,32,32,32,248,32,32,32,32,36,116,192,64,64,128,22, + 81,113,248,33,51,115,64,224,64,0,109,125,4,4,8,8, + 16,16,16,32,32,64,64,128,128,2,106,122,48,72,132,132, + 132,132,132,132,72,48,18,90,122,32,96,160,32,32,32,32, + 32,32,248,2,106,122,120,132,132,4,8,8,16,32,64,252, + 2,106,122,252,4,8,16,56,4,4,132,132,120,2,106,122, + 8,24,40,40,72,72,136,252,8,8,2,106,122,252,128,128, + 248,132,4,4,132,132,120,2,106,122,56,64,128,128,184,196, + 132,132,132,120,2,106,122,252,4,8,8,16,16,32,32,64, + 64,2,106,122,120,132,132,72,48,72,132,132,132,120,2,106, + 122,120,132,132,132,140,116,4,132,136,112,34,56,120,64,224, + 64,0,0,64,224,64,33,40,120,192,192,0,0,192,64,64, + 128,18,89,121,8,16,32,64,128,64,32,16,8,5,100,116, + 252,0,0,252,18,89,121,128,64,32,16,8,16,32,64,128, + 2,106,122,120,132,132,8,16,16,16,0,16,16,2,106,122, + 56,68,156,164,164,164,164,156,64,60,2,106,122,48,72,132, + 132,132,252,132,132,132,132,2,106,122,240,136,132,136,240,136, + 132,132,136,240,2,106,122,120,132,132,128,128,128,128,132,132, + 120,2,106,122,240,136,132,132,132,132,132,132,136,240,2,106, + 122,252,128,128,128,240,128,128,128,128,252,2,106,122,252,128, + 128,128,240,128,128,128,128,128,2,106,122,120,132,132,128,128, + 156,132,132,140,116,2,106,122,132,132,132,132,252,132,132,132, + 132,132,18,90,122,248,32,32,32,32,32,32,32,32,248,2, + 106,122,28,8,8,8,8,8,8,136,136,112,2,106,122,132, + 136,144,160,192,160,144,136,132,132,2,106,122,128,128,128,128, + 128,128,128,128,128,252,2,106,122,132,204,204,180,180,132,132, + 132,132,132,2,106,122,132,132,196,196,164,148,140,140,132,132, + 2,106,122,120,132,132,132,132,132,132,132,132,120,2,106,122, + 248,132,132,132,132,248,128,128,128,128,0,108,124,120,132,132, + 132,132,132,228,148,140,120,8,4,2,106,122,248,132,132,132, + 132,248,144,136,132,132,2,106,122,120,132,132,128,96,24,4, + 132,132,120,2,122,122,254,16,16,16,16,16,16,16,16,16, + 2,106,122,132,132,132,132,132,132,132,132,132,120,2,106,122, + 132,132,132,132,72,72,72,48,48,48,18,90,122,136,136,136, + 136,136,136,168,168,168,80,2,106,122,132,132,72,72,48,48, + 72,72,132,132,18,90,122,136,136,136,80,80,32,32,32,32, + 32,2,106,122,252,4,8,16,16,32,64,64,128,252,32,77, + 125,240,128,128,128,128,128,128,128,128,128,128,128,240,0,109, + 125,128,128,64,64,32,32,32,16,16,8,8,4,4,16,77, + 125,240,16,16,16,16,16,16,16,16,16,16,16,240,10,99, + 115,48,72,132,0,97,113,252,42,51,115,128,64,32,2,103, + 119,120,132,4,124,132,132,124,2,106,122,128,128,128,184,196, + 132,132,132,196,184,2,103,119,120,132,128,128,128,132,120,2, + 106,122,4,4,4,116,140,132,132,132,140,116,2,103,119,120, + 132,132,252,128,132,120,2,106,122,24,36,32,32,248,32,32, + 32,32,32,0,105,121,116,136,136,136,112,64,184,132,120,2, + 106,122,128,128,128,184,196,132,132,132,132,132,18,90,122,32, + 32,0,96,32,32,32,32,32,248,16,92,124,8,8,0,24, + 8,8,8,8,8,136,136,112,2,106,122,128,128,128,136,144, + 160,224,144,136,132,18,90,122,96,32,32,32,32,32,32,32, + 32,248,18,87,119,208,168,168,168,168,168,136,2,103,119,184, + 196,132,132,132,132,132,2,103,119,120,132,132,132,132,132,120, + 0,105,121,184,196,132,132,132,196,184,128,128,0,105,121,116, + 140,132,132,132,140,116,4,4,2,103,119,184,196,132,128,128, + 128,128,2,103,119,120,132,64,48,8,132,120,2,106,122,32, + 32,32,248,32,32,32,32,36,24,2,103,119,132,132,132,132, + 132,140,116,18,87,119,136,136,136,80,80,32,32,18,87,119, + 136,136,168,168,168,168,80,2,103,119,132,132,72,48,72,132, + 132,0,105,121,132,132,132,132,140,116,4,132,120,2,103,119, + 252,8,16,32,32,64,252,32,77,125,48,64,64,64,64,64, + 128,64,64,64,64,64,48,48,29,125,128,128,128,128,128,128, + 128,128,128,128,128,128,128,16,77,125,192,32,32,32,32,32, + 16,32,32,32,32,32,192,9,100,116,64,164,148,8,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,255,255,255,255,255,255,255,14, + 0,112,50,26,122,128,128,0,128,128,128,128,128,128,128,1, + 105,121,32,120,164,160,160,160,164,120,32,18,89,121,48,72, + 64,64,240,64,64,240,72,4,102,118,132,120,72,72,120,132, + 18,90,122,136,80,80,32,248,32,248,32,32,32,50,26,122, + 128,128,128,128,0,0,128,128,128,128,2,107,123,120,132,64, + 48,72,132,72,48,8,132,120,27,66,114,144,144,2,107,123, + 120,132,180,204,196,196,196,204,180,132,120,21,88,120,112,136, + 120,136,152,104,0,248,2,103,119,20,40,80,160,80,40,20, + 18,84,116,248,8,8,8,22,65,113,240,2,107,123,120,132, + 244,204,204,244,204,204,204,132,120,27,81,113,248,25,68,116, + 96,144,144,96,18,86,118,32,32,248,32,32,248,22,71,119, + 96,144,16,32,64,128,240,22,71,119,96,144,16,96,16,144, + 96,42,51,115,32,64,128,16,88,120,136,136,136,136,216,168, + 128,128,16,92,124,120,168,168,168,168,104,40,40,40,40,40, + 56,55,17,113,128,32,35,115,64,64,128,38,55,119,64,192, + 64,64,64,64,224,22,70,118,96,144,144,96,0,240,2,103, + 119,160,80,40,20,40,80,160,2,106,122,64,196,72,72,80, + 36,44,84,156,132,2,106,122,64,196,72,72,80,40,52,68, + 136,156,2,106,122,196,36,72,48,208,36,76,84,156,4,0, + 107,123,32,32,0,32,32,32,32,64,132,132,120,2,108,124, + 32,16,0,48,72,132,132,252,132,132,132,132,2,108,124,16, + 32,0,48,72,132,132,252,132,132,132,132,2,108,124,48,72, + 0,48,72,132,132,252,132,132,132,132,2,108,124,100,152,0, + 48,72,132,132,252,132,132,132,132,2,107,123,72,0,48,72, + 132,132,252,132,132,132,132,2,107,123,48,72,48,72,132,132, + 252,132,132,132,132,2,106,122,60,80,144,144,252,144,144,144, + 144,156,0,108,124,120,132,132,128,128,128,128,132,132,120,16, + 32,2,108,124,32,16,0,252,128,128,128,248,128,128,128,252, + 2,108,124,16,32,0,252,128,128,128,248,128,128,128,252,2, + 108,124,48,72,0,252,128,128,128,248,128,128,128,252,2,107, + 123,72,0,252,128,128,128,248,128,128,128,252,18,92,124,64, + 32,0,248,32,32,32,32,32,32,32,248,18,92,124,16,32, + 0,248,32,32,32,32,32,32,32,248,18,92,124,32,80,0, + 248,32,32,32,32,32,32,32,248,18,91,123,80,0,248,32, + 32,32,32,32,32,32,248,2,122,122,120,68,66,66,242,66, + 66,66,68,120,2,108,124,100,152,0,196,196,164,164,148,148, + 148,140,140,2,108,124,32,16,0,120,132,132,132,132,132,132, + 132,120,2,108,124,16,32,0,120,132,132,132,132,132,132,132, + 120,2,108,124,48,72,0,120,132,132,132,132,132,132,132,120, + 2,108,124,100,152,0,120,132,132,132,132,132,132,132,120,2, + 107,123,72,0,120,132,132,132,132,132,132,132,120,2,119,119, + 130,68,40,16,40,68,130,0,110,126,4,4,120,140,148,148, + 148,164,164,164,196,120,128,128,2,108,124,32,16,0,132,132, + 132,132,132,132,132,132,120,2,108,124,16,32,0,132,132,132, + 132,132,132,132,132,120,2,108,124,48,72,0,132,132,132,132, + 132,132,132,132,120,2,107,123,72,0,132,132,132,132,132,132, + 132,132,120,18,92,124,16,32,0,136,136,80,80,32,32,32, + 32,32,2,106,122,128,128,248,132,132,132,132,248,128,128,2, + 106,122,48,72,72,72,112,72,68,68,68,248,2,106,122,32, + 16,0,120,132,4,124,132,132,124,2,106,122,8,16,0,120, + 132,4,124,132,132,124,2,106,122,48,72,0,120,132,4,124, + 132,132,124,2,106,122,100,152,0,120,132,4,124,132,132,124, + 2,105,121,72,0,120,132,4,124,132,132,124,2,107,123,48, + 72,48,0,120,132,4,124,132,132,124,2,119,119,124,146,50, + 94,144,146,124,0,105,121,120,132,128,128,128,132,120,16,32, + 2,106,122,32,16,0,120,132,132,252,128,132,120,2,106,122, + 16,32,0,120,132,132,252,128,132,120,2,106,122,48,72,0, + 120,132,132,252,128,132,120,2,105,121,72,0,120,132,132,252, + 128,132,120,18,90,122,64,32,0,96,32,32,32,32,32,248, + 18,90,122,16,32,0,96,32,32,32,32,32,248,18,90,122, + 96,144,0,96,32,32,32,32,32,248,18,89,121,80,0,96, + 32,32,32,32,32,248,18,91,123,80,32,80,8,120,136,136, + 136,136,136,112,2,106,122,100,152,0,184,196,132,132,132,132, + 132,2,106,122,32,16,0,120,132,132,132,132,132,120,2,106, + 122,16,32,0,120,132,132,132,132,132,120,2,106,122,48,72, + 0,120,132,132,132,132,132,120,2,106,122,100,152,0,120,132, + 132,132,132,132,120,2,105,121,72,0,120,132,132,132,132,132, + 120,2,101,117,48,0,252,0,48,0,107,123,4,8,120,148, + 148,164,164,196,120,128,128,2,106,122,32,16,0,132,132,132, + 132,132,140,116,2,106,122,16,32,0,132,132,132,132,132,140, + 116,2,106,122,48,72,0,132,132,132,132,132,140,116,2,105, + 121,72,0,132,132,132,132,132,140,116,0,108,124,16,32,0, + 132,132,68,72,40,56,16,144,96,0,108,124,128,128,128,184, + 196,132,132,132,196,184,128,128,0,107,123,72,0,132,132,68, + 72,40,56,16,144,96}; +/* + Fontname: -Misc-Fixed-Medium-R-Normal--14-130-75-75-C-70-ISO10646-1 + Copyright: Public domain font. Share and enjoy. + Capital A Height: 10, '1' Height: 10 + Calculated Max Values w= 7 h=13 x= 3 y=12 dx= 7 dy= 0 ascent=12 len=13 + Font Bounding box w= 7 h=14 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent =10 descent=-2 + X Font ascent =11 descent=-2 + Max Font ascent =12 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_7x14r[1151] U8G_FONT_SECTION("u8g_font_7x14r") = { + 1,7,14,0,254,10,1,138,3,30,32,127,254,12,254,11, + 254,14,0,112,50,26,122,128,128,128,128,128,128,128,0,128, + 128,41,52,116,160,160,160,160,18,90,122,80,80,80,248,80, + 80,248,80,80,80,1,107,123,16,120,148,148,80,56,20,148, + 148,120,16,2,106,122,100,148,152,112,16,32,56,100,164,152, + 2,106,122,48,72,72,72,48,100,148,136,152,100,57,20,116, + 128,128,128,128,32,77,125,16,32,64,64,128,128,128,128,128, + 64,64,32,16,16,77,125,128,64,32,32,16,16,16,16,16, + 32,32,64,128,19,87,119,32,168,112,32,112,168,32,19,87, + 119,32,32,32,248,32,32,32,32,36,116,192,64,64,128,22, + 81,113,248,33,51,115,64,224,64,0,109,125,4,4,8,8, + 16,16,16,32,32,64,64,128,128,2,106,122,48,72,132,132, + 132,132,132,132,72,48,18,90,122,32,96,160,32,32,32,32, + 32,32,248,2,106,122,120,132,132,4,8,8,16,32,64,252, + 2,106,122,252,4,8,16,56,4,4,132,132,120,2,106,122, + 8,24,40,40,72,72,136,252,8,8,2,106,122,252,128,128, + 248,132,4,4,132,132,120,2,106,122,56,64,128,128,184,196, + 132,132,132,120,2,106,122,252,4,8,8,16,16,32,32,64, + 64,2,106,122,120,132,132,72,48,72,132,132,132,120,2,106, + 122,120,132,132,132,140,116,4,132,136,112,34,56,120,64,224, + 64,0,0,64,224,64,33,40,120,192,192,0,0,192,64,64, + 128,18,89,121,8,16,32,64,128,64,32,16,8,5,100,116, + 252,0,0,252,18,89,121,128,64,32,16,8,16,32,64,128, + 2,106,122,120,132,132,8,16,16,16,0,16,16,2,106,122, + 56,68,156,164,164,164,164,156,64,60,2,106,122,48,72,132, + 132,132,252,132,132,132,132,2,106,122,240,136,132,136,240,136, + 132,132,136,240,2,106,122,120,132,132,128,128,128,128,132,132, + 120,2,106,122,240,136,132,132,132,132,132,132,136,240,2,106, + 122,252,128,128,128,240,128,128,128,128,252,2,106,122,252,128, + 128,128,240,128,128,128,128,128,2,106,122,120,132,132,128,128, + 156,132,132,140,116,2,106,122,132,132,132,132,252,132,132,132, + 132,132,18,90,122,248,32,32,32,32,32,32,32,32,248,2, + 106,122,28,8,8,8,8,8,8,136,136,112,2,106,122,132, + 136,144,160,192,160,144,136,132,132,2,106,122,128,128,128,128, + 128,128,128,128,128,252,2,106,122,132,204,204,180,180,132,132, + 132,132,132,2,106,122,132,132,196,196,164,148,140,140,132,132, + 2,106,122,120,132,132,132,132,132,132,132,132,120,2,106,122, + 248,132,132,132,132,248,128,128,128,128,0,108,124,120,132,132, + 132,132,132,228,148,140,120,8,4,2,106,122,248,132,132,132, + 132,248,144,136,132,132,2,106,122,120,132,132,128,96,24,4, + 132,132,120,2,122,122,254,16,16,16,16,16,16,16,16,16, + 2,106,122,132,132,132,132,132,132,132,132,132,120,2,106,122, + 132,132,132,132,72,72,72,48,48,48,18,90,122,136,136,136, + 136,136,136,168,168,168,80,2,106,122,132,132,72,72,48,48, + 72,72,132,132,18,90,122,136,136,136,80,80,32,32,32,32, + 32,2,106,122,252,4,8,16,16,32,64,64,128,252,32,77, + 125,240,128,128,128,128,128,128,128,128,128,128,128,240,0,109, + 125,128,128,64,64,32,32,32,16,16,8,8,4,4,16,77, + 125,240,16,16,16,16,16,16,16,16,16,16,16,240,10,99, + 115,48,72,132,0,97,113,252,42,51,115,128,64,32,2,103, + 119,120,132,4,124,132,132,124,2,106,122,128,128,128,184,196, + 132,132,132,196,184,2,103,119,120,132,128,128,128,132,120,2, + 106,122,4,4,4,116,140,132,132,132,140,116,2,103,119,120, + 132,132,252,128,132,120,2,106,122,24,36,32,32,248,32,32, + 32,32,32,0,105,121,116,136,136,136,112,64,184,132,120,2, + 106,122,128,128,128,184,196,132,132,132,132,132,18,90,122,32, + 32,0,96,32,32,32,32,32,248,16,92,124,8,8,0,24, + 8,8,8,8,8,136,136,112,2,106,122,128,128,128,136,144, + 160,224,144,136,132,18,90,122,96,32,32,32,32,32,32,32, + 32,248,18,87,119,208,168,168,168,168,168,136,2,103,119,184, + 196,132,132,132,132,132,2,103,119,120,132,132,132,132,132,120, + 0,105,121,184,196,132,132,132,196,184,128,128,0,105,121,116, + 140,132,132,132,140,116,4,4,2,103,119,184,196,132,128,128, + 128,128,2,103,119,120,132,64,48,8,132,120,2,106,122,32, + 32,32,248,32,32,32,32,36,24,2,103,119,132,132,132,132, + 132,140,116,18,87,119,136,136,136,80,80,32,32,18,87,119, + 136,136,168,168,168,168,80,2,103,119,132,132,72,48,72,132, + 132,0,105,121,132,132,132,132,140,116,4,132,120,2,103,119, + 252,8,16,32,32,64,252,32,77,125,48,64,64,64,64,64, + 128,64,64,64,64,64,48,48,29,125,128,128,128,128,128,128, + 128,128,128,128,128,128,128,16,77,125,192,32,32,32,32,32, + 16,32,32,32,32,32,192,9,100,116,64,164,148,8,255}; +/* + Fontname: -Misc-Fixed-Medium-R-Normal--13-120-75-75-C-80-ISO10646-1 + Copyright: Public domain font. Share and enjoy. + Capital A Height: 3, '1' Height: 10 + Calculated Max Values w= 8 h=13 x= 7 y= 9 dx= 8 dy= 0 ascent=11 len=13 + Font Bounding box w= 8 h=13 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent = 3 descent= 0 + X Font ascent =10 descent= 0 + Max Font ascent =11 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_8x13_67_75[2420] U8G_FONT_SECTION("u8g_font_8x13_67_75") = { + 1,8,13,0,254,3,1,94,2,193,32,255,0,11,254,10, + 0,3,133,133,36,18,255,18,36,18,88,136,32,32,168,112, + 32,168,112,32,2,119,135,16,34,68,248,68,34,16,18,119, + 135,16,136,68,62,68,136,16,3,133,133,32,65,255,65,32, + 18,89,137,32,112,168,32,32,32,32,32,112,3,133,133,4, + 130,255,130,4,18,89,137,112,32,32,32,32,32,168,112,32, + 2,122,138,16,56,84,16,16,16,84,56,16,254,3,133,133, + 34,65,254,64,32,3,133,133,68,130,127,2,4,3,133,133, + 34,69,254,68,36,3,133,133,68,162,127,34,36,3,133,133, + 36,90,231,66,36,3,133,133,36,82,255,82,36,18,106,138, + 64,64,128,152,104,8,16,84,56,16,18,106,138,32,64,252, + 68,36,4,4,4,4,4,18,106,138,16,8,252,136,144,128, + 128,128,128,128,18,106,138,4,4,4,4,4,36,68,252,64, + 32,18,106,138,128,128,128,128,128,144,136,252,8,16,18,104, + 136,240,16,16,16,16,84,56,16,18,90,138,8,8,8,8, + 8,40,72,248,64,32,4,135,135,12,18,33,33,169,112,32, + 4,135,135,48,72,132,132,149,14,4,2,136,136,255,0,112, + 96,80,8,4,2,2,136,136,136,144,190,144,9,125,9,17, + 4,135,135,100,142,149,132,132,72,48,4,135,135,38,113,169, + 33,33,18,12,5,131,131,32,64,255,3,131,131,255,64,32, + 50,57,137,128,192,160,128,128,128,128,128,128,34,57,137,32, + 96,160,32,32,32,32,32,32,5,131,131,4,2,255,3,131, + 131,255,2,4,50,57,137,128,128,128,128,128,128,160,192,128, + 34,57,137,32,32,32,32,32,32,160,96,32,2,121,137,8, + 4,254,4,40,64,254,64,32,2,138,138,36,116,172,36,36, + 36,36,53,46,36,2,121,137,32,64,254,64,40,4,254,4, + 8,2,139,139,32,64,255,64,32,0,32,64,255,64,32,2, + 122,138,68,238,68,68,68,68,68,68,68,68,2,139,139,4, + 2,255,2,4,0,4,2,255,2,4,2,122,138,68,68,68, + 68,68,68,68,68,238,68,2,119,135,32,64,254,0,254,4, + 8,2,119,135,8,4,254,0,254,64,32,2,135,135,16,33, + 127,130,127,36,16,3,133,133,36,126,153,126,36,2,135,135, + 8,36,254,65,254,132,8,2,135,135,16,32,127,128,127,32, + 16,18,121,137,16,40,108,170,40,40,40,40,40,2,135,135, + 8,4,254,1,254,4,8,2,121,137,40,40,40,40,40,170, + 108,40,16,3,133,133,36,126,129,126,36,2,123,139,16,40, + 108,170,40,40,40,170,108,40,16,2,119,135,252,144,136,196, + 162,144,8,18,119,135,126,18,34,70,138,18,32,18,119,135, + 32,18,138,70,34,18,126,2,119,135,8,144,162,196,136,144, + 252,2,137,137,8,16,63,64,255,64,63,16,8,2,137,137, + 16,8,252,2,255,2,252,8,16,2,135,135,16,32,72,245, + 66,32,16,2,135,135,8,4,18,175,66,4,8,2,122,138, + 16,56,84,146,16,124,16,124,16,16,2,122,138,16,16,124, + 16,124,16,146,84,56,16,2,119,135,16,32,64,182,64,32, + 16,2,122,138,16,40,84,146,0,16,16,0,16,16,18,119, + 135,16,8,4,218,4,8,16,2,122,138,16,16,0,16,16, + 0,146,84,40,16,3,117,133,144,160,254,160,144,19,117,133, + 18,10,254,10,18,2,135,135,16,48,95,129,95,48,16,2, + 121,137,16,40,68,238,40,40,40,40,56,2,135,135,8,12, + 250,129,250,12,8,2,121,137,56,40,40,40,40,238,68,40, + 16,1,123,139,16,40,68,238,40,40,56,0,56,40,56,1, + 122,138,16,40,68,238,40,40,40,108,68,124,1,122,138,16, + 40,68,254,40,40,40,108,68,124,1,122,138,16,40,68,254, + 56,56,56,124,68,124,2,121,137,16,40,68,238,68,238,40, + 40,56,1,122,138,16,40,68,238,68,238,40,108,68,124,2, + 135,135,136,140,250,129,250,140,136,2,119,135,254,128,188,176, + 168,164,130,2,119,135,130,74,42,26,122,2,254,2,121,137, + 16,40,68,238,40,238,68,40,16,4,133,133,36,82,255,82, + 36,2,138,138,36,46,53,36,36,36,36,172,116,36,0,141, + 141,4,2,255,2,4,2,255,2,4,2,255,2,4,4,117, + 133,40,72,254,72,40,20,117,133,40,36,254,36,40,4,117, + 133,16,84,254,84,16,4,133,133,42,74,255,74,42,4,133, + 133,84,82,255,82,84,4,133,133,24,90,255,90,24,3,135, + 135,16,48,80,159,80,48,16,3,135,135,8,12,10,249,10, + 12,8,4,133,133,36,102,189,102,36,7,134,134,255,255,255, + 255,255,255,0,130,130,255,255,0,131,131,255,255,255,0,133, + 133,255,255,255,255,255,0,135,135,255,255,255,255,255,255,255, + 0,136,136,255,255,255,255,255,255,255,255,0,138,138,255,255, + 255,255,255,255,255,255,255,255,0,139,139,255,255,255,255,255, + 255,255,255,255,255,255,0,141,141,255,255,255,255,255,255,255, + 255,255,255,255,255,255,0,125,141,254,254,254,254,254,254,254, + 254,254,254,254,254,254,0,109,141,252,252,252,252,252,252,252, + 252,252,252,252,252,252,0,93,141,248,248,248,248,248,248,248, + 248,248,248,248,248,248,0,77,141,240,240,240,240,240,240,240, + 240,240,240,240,240,240,0,61,141,224,224,224,224,224,224,224, + 224,224,224,224,224,224,0,45,141,192,192,192,192,192,192,192, + 192,192,192,192,192,192,0,29,141,128,128,128,128,128,128,128, + 128,128,128,128,128,128,64,77,141,240,240,240,240,240,240,240, + 240,240,240,240,240,240,1,139,139,85,0,170,0,85,0,170, + 0,85,0,170,0,141,141,170,85,170,85,170,85,170,85,170, + 85,170,85,170,0,141,141,255,85,255,170,255,85,255,170,255, + 85,255,170,255,11,130,130,255,255,112,29,141,128,128,128,128, + 128,128,128,128,128,128,128,128,128,0,71,135,240,240,240,240, + 240,240,240,64,71,135,240,240,240,240,240,240,240,7,70,134, + 240,240,240,240,240,240,0,141,141,240,240,240,240,240,240,255, + 255,255,255,255,255,255,0,141,141,240,240,240,240,240,240,15, + 15,15,15,15,15,15,0,141,141,255,255,255,255,255,255,240, + 240,240,240,240,240,240,0,141,141,255,255,255,255,255,255,15, + 15,15,15,15,15,15,71,70,134,240,240,240,240,240,240,0, + 141,141,15,15,15,15,15,15,240,240,240,240,240,240,240,0, + 141,141,15,15,15,15,15,15,255,255,255,255,255,255,255,2, + 119,135,254,254,254,254,254,254,254,2,119,135,254,130,130,130, + 130,130,254,2,119,135,124,130,130,130,130,130,124,2,119,135, + 254,130,186,186,186,130,254,2,119,135,254,130,254,130,254,130, + 254,2,119,135,254,170,170,170,170,170,254,2,119,135,254,170, + 254,170,254,170,254,2,119,135,254,146,138,198,162,146,254,2, + 119,135,254,146,162,198,138,146,254,2,119,135,254,214,170,214, + 170,214,254,37,51,131,224,224,224,37,51,131,224,160,224,21, + 100,132,252,252,252,252,21,100,132,252,132,132,252,18,89,137, + 248,248,248,248,248,248,248,248,248,18,89,137,248,136,136,136, + 136,136,136,136,248,5,132,132,31,62,124,248,5,132,132,31, + 34,68,248,2,136,136,24,24,60,60,126,126,255,255,2,136, + 136,24,24,36,36,66,66,129,255,18,102,134,48,48,120,120, + 252,252,18,102,134,48,48,72,72,132,252,18,107,139,128,192, + 224,240,248,252,248,240,224,192,128,18,107,139,128,192,160,144, + 136,132,136,144,160,192,128,20,101,133,192,240,252,240,192,20, + 101,133,192,176,140,176,192,3,119,135,128,224,248,254,248,224, + 128,3,119,135,128,224,152,134,152,224,128,2,136,136,255,255, + 126,126,60,60,24,24,2,136,136,255,129,66,66,36,36,24, + 24,18,102,134,252,252,120,120,48,48,18,102,134,252,132,72, + 72,48,48,18,107,139,4,12,28,60,124,252,124,60,28,12, + 4,18,107,139,4,12,20,36,68,132,68,36,20,12,4,20, + 101,133,12,60,252,60,12,20,101,133,12,52,196,52,12,3, + 119,135,2,14,62,254,62,14,2,3,119,135,2,14,50,194, + 50,14,2,3,119,135,16,56,124,254,124,56,16,3,119,135, + 16,40,68,130,68,40,16,3,119,135,16,40,84,186,84,40, + 16,3,119,135,56,68,146,186,146,68,56,18,105,137,48,48, + 72,72,132,72,72,48,48,2,136,136,60,66,129,129,129,129, + 66,60,2,136,136,24,66,0,129,129,0,66,24,2,136,136, + 60,106,171,171,171,171,106,60,2,136,136,60,66,153,165,165, + 153,66,60,2,136,136,60,126,255,255,255,255,126,60,2,136, + 136,60,114,241,241,241,241,114,60,2,136,136,60,78,143,143, + 143,143,78,60,2,136,136,60,66,129,129,255,255,126,60,2, + 136,136,60,126,255,255,129,129,66,60,2,136,136,60,78,143, + 143,129,129,66,60,2,136,136,60,78,143,143,255,255,126,60, + 2,72,136,48,112,240,240,240,240,112,48,66,72,136,192,224, + 240,240,240,240,224,192,0,141,141,255,255,255,255,195,129,129, + 129,129,195,255,255,255,0,141,141,255,255,255,255,195,153,189, + 189,153,195,255,255,255,6,135,135,255,255,255,255,195,153,189, + 0,134,134,189,153,195,255,255,255,6,68,132,48,64,128,128, + 70,68,132,192,32,16,16,66,68,132,16,16,32,192,2,68, + 132,128,128,64,48,6,132,132,60,66,129,129,2,132,132,129, + 129,66,60,2,136,136,1,3,7,15,31,63,127,255,2,136, + 136,128,192,224,240,248,252,254,255,2,136,136,255,254,252,248, + 240,224,192,128,2,136,136,255,127,63,31,15,7,3,1,20, + 85,133,112,136,136,136,112,2,120,136,254,226,226,226,226,226, + 226,254,2,120,136,254,142,142,142,142,142,142,254,2,120,136, + 254,254,250,242,226,194,130,254,2,120,136,254,130,134,142,158, + 190,254,254,2,120,136,254,146,146,146,146,146,146,254,2,122, + 138,16,16,40,40,68,84,124,146,130,254,2,122,138,16,16, + 56,56,116,116,116,242,242,254,2,122,138,16,16,56,56,92, + 92,92,158,158,254,2,136,136,60,66,129,129,129,129,66,60, + 2,119,135,254,146,146,242,130,130,254,2,119,135,254,130,130, + 242,146,146,254,2,119,135,254,130,130,158,146,146,254,2,119, + 135,254,146,146,158,130,130,254,2,119,135,124,146,146,242,130, + 130,124,2,119,135,124,130,130,242,146,146,124,2,119,135,124, + 130,130,158,146,146,124,2,119,135,124,146,146,158,130,130,124, + 19,102,134,252,136,144,160,192,128,19,102,134,252,68,36,20, + 12,4,19,102,134,128,192,160,144,136,252,19,102,134,252,132, + 132,132,132,252,19,102,134,252,252,252,252,252,252,37,68,132, + 240,144,144,240,37,68,132,240,240,240,240,19,102,134,4,12, + 20,36,68,252}; +/* + Fontname: -Misc-Fixed-Medium-R-Normal--13-120-75-75-C-80-ISO10646-1 + Copyright: Public domain font. Share and enjoy. + Capital A Height: 11, '1' Height: 4 + Calculated Max Values w= 8 h=11 x= 2 y= 3 dx= 8 dy= 0 ascent=11 len=11 + Font Bounding box w= 8 h=13 x= 0 y=-2 + Calculated Min Values x= 0 y= 0 dx= 0 dy= 0 + Pure Font ascent =11 descent= 0 + X Font ascent =11 descent= 0 + Max Font ascent =11 descent= 0 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_8x13_75r[496] U8G_FONT_SECTION("u8g_font_8x13_75r") = { + 1,8,13,0,254,11,1,83,0,0,32,79,0,11,0,11, + 0,2,119,135,254,254,254,254,254,254,254,2,119,135,254,130, + 130,130,130,130,254,2,119,135,124,130,130,130,130,130,124,2, + 119,135,254,130,186,186,186,130,254,2,119,135,254,130,254,130, + 254,130,254,2,119,135,254,170,170,170,170,170,254,2,119,135, + 254,170,254,170,254,170,254,2,119,135,254,146,138,198,162,146, + 254,2,119,135,254,146,162,198,138,146,254,2,119,135,254,214, + 170,214,170,214,254,37,51,131,224,224,224,37,51,131,224,160, + 224,21,100,132,252,252,252,252,21,100,132,252,132,132,252,18, + 89,137,248,248,248,248,248,248,248,248,248,18,89,137,248,136, + 136,136,136,136,136,136,248,5,132,132,31,62,124,248,5,132, + 132,31,34,68,248,2,136,136,24,24,60,60,126,126,255,255, + 2,136,136,24,24,36,36,66,66,129,255,18,102,134,48,48, + 120,120,252,252,18,102,134,48,48,72,72,132,252,18,107,139, + 128,192,224,240,248,252,248,240,224,192,128,18,107,139,128,192, + 160,144,136,132,136,144,160,192,128,20,101,133,192,240,252,240, + 192,20,101,133,192,176,140,176,192,3,119,135,128,224,248,254, + 248,224,128,3,119,135,128,224,152,134,152,224,128,2,136,136, + 255,255,126,126,60,60,24,24,2,136,136,255,129,66,66,36, + 36,24,24,18,102,134,252,252,120,120,48,48,18,102,134,252, + 132,72,72,48,48,18,107,139,4,12,28,60,124,252,124,60, + 28,12,4,18,107,139,4,12,20,36,68,132,68,36,20,12, + 4,20,101,133,12,60,252,60,12,20,101,133,12,52,196,52, + 12,3,119,135,2,14,62,254,62,14,2,3,119,135,2,14, + 50,194,50,14,2,3,119,135,16,56,124,254,124,56,16,3, + 119,135,16,40,68,130,68,40,16,3,119,135,16,40,84,186, + 84,40,16,3,119,135,56,68,146,186,146,68,56,18,105,137, + 48,48,72,72,132,72,72,48,48,2,136,136,60,66,129,129, + 129,129,66,60,2,136,136,24,66,0,129,129,0,66,24,2, + 136,136,60,106,171,171,171,171,106,60,2,136,136,60,66,153, + 165,165,153,66,60,2,136,136,60,126,255,255,255,255,126,60 + }; +/* + Fontname: -Misc-Fixed-Bold-R-Normal--13-120-75-75-C-80-ISO10646-1 + Copyright: Public domain font. Share and enjoy. + Capital A Height: 10, '1' Height: 10 + Calculated Max Values w= 7 h=12 x= 3 y=11 dx= 8 dy= 0 ascent=11 len=12 + Font Bounding box w= 8 h=13 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent =10 descent=-2 + X Font ascent =10 descent=-2 + Max Font ascent =11 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_8x13B[2302] U8G_FONT_SECTION("u8g_font_8x13B") = { + 1,8,13,0,254,10,1,127,3,12,32,255,254,11,254,10, + 254,13,0,128,50,42,138,192,192,192,192,192,192,192,0,192, + 192,24,84,132,216,216,216,216,2,121,137,108,108,254,254,108, + 254,254,108,108,1,123,139,16,124,214,208,240,124,30,22,214, + 124,16,2,122,138,230,166,236,24,24,48,48,110,202,206,2, + 119,135,120,204,204,120,206,204,126,56,36,132,192,192,192,192, + 17,91,139,24,48,96,96,192,192,192,96,96,48,24,17,91, + 139,192,96,48,48,24,24,24,48,48,96,192,3,119,135,16, + 16,254,56,56,108,68,20,102,134,48,48,252,252,48,48,33, + 69,133,240,112,112,96,192,22,97,129,252,34,67,131,96,240, + 96,2,122,138,2,6,6,12,24,48,96,192,192,128,2,122, + 138,56,108,198,198,198,198,198,198,108,56,18,106,138,48,112, + 240,48,48,48,48,48,48,252,2,122,138,124,198,198,6,12, + 24,48,96,192,254,2,122,138,254,6,12,24,60,6,6,6, + 198,124,2,122,138,12,28,60,108,204,204,254,12,12,12,2, + 122,138,254,192,192,252,230,6,6,6,198,124,2,122,138,60, + 96,192,192,252,230,198,198,230,124,2,122,138,254,6,6,12, + 24,24,48,48,48,48,2,122,138,124,198,198,198,124,198,198, + 198,198,124,2,122,138,124,206,198,198,206,126,6,6,12,120, + 34,72,136,96,240,96,0,0,96,240,96,33,73,137,96,240, + 96,0,240,112,112,96,192,18,105,137,12,24,48,96,192,96, + 48,24,12,20,100,132,252,0,0,252,18,105,137,192,96,48, + 24,12,24,48,96,192,2,122,138,124,198,198,6,12,24,24, + 0,24,24,2,121,137,124,254,206,222,210,210,222,224,126,2, + 122,138,56,124,198,198,198,254,198,198,198,198,2,122,138,252, + 102,102,102,124,102,102,102,102,252,2,122,138,124,230,198,192, + 192,192,192,198,230,124,2,122,138,252,102,102,102,102,102,102, + 102,102,252,2,122,138,254,192,192,192,248,192,192,192,192,254, + 2,122,138,254,192,192,192,248,192,192,192,192,192,2,122,138, + 124,198,198,192,192,192,206,198,198,124,2,122,138,198,198,198, + 198,254,198,198,198,198,198,34,74,138,240,96,96,96,96,96, + 96,96,96,240,2,122,138,14,6,6,6,6,6,6,198,198, + 124,2,122,138,198,198,204,216,240,240,216,204,198,198,2,122, + 138,192,192,192,192,192,192,192,192,194,254,2,122,138,198,198, + 238,254,214,198,198,198,198,198,2,122,138,198,198,230,230,246, + 222,206,206,198,198,2,122,138,124,198,198,198,198,198,198,198, + 198,124,2,122,138,252,198,198,198,198,252,192,192,192,192,1, + 123,139,124,198,198,198,198,198,198,198,222,124,6,2,122,138, + 252,198,198,198,252,248,204,204,198,198,2,122,138,124,198,198, + 192,124,6,6,198,198,124,18,106,138,252,48,48,48,48,48, + 48,48,48,48,2,122,138,198,198,198,198,198,198,198,198,198, + 124,2,122,138,198,198,198,198,68,108,108,56,56,16,2,122, + 138,198,198,198,198,198,198,214,214,254,108,2,122,138,198,198, + 108,108,56,56,108,108,198,198,18,106,138,204,204,204,120,120, + 48,48,48,48,48,2,122,138,254,6,6,12,24,48,96,192, + 192,254,17,91,139,248,192,192,192,192,192,192,192,192,192,248, + 2,122,138,128,192,192,96,48,24,12,6,6,2,17,91,139, + 248,24,24,24,24,24,24,24,24,24,248,8,116,132,16,56, + 108,198,1,113,129,254,41,67,131,192,96,48,2,119,135,124, + 6,126,198,198,206,118,2,122,138,192,192,192,220,230,198,198, + 198,230,220,2,119,135,124,230,192,192,192,230,124,2,122,138, + 6,6,6,118,206,198,198,198,206,118,2,119,135,124,198,198, + 254,192,198,124,2,122,138,60,102,96,96,96,252,96,96,96, + 96,0,121,137,126,204,204,204,120,240,124,198,124,2,122,138, + 192,192,192,220,230,198,198,198,198,198,34,73,137,96,96,0, + 224,96,96,96,96,240,0,123,139,6,6,0,14,6,6,6, + 6,198,198,124,2,122,138,192,192,192,204,216,240,240,216,204, + 198,34,74,138,224,96,96,96,96,96,96,96,96,240,2,119, + 135,108,254,214,214,198,198,198,2,119,135,220,230,198,198,198, + 198,198,2,119,135,124,198,198,198,198,198,124,0,121,137,220, + 230,198,198,198,230,220,192,192,0,121,137,118,206,198,198,198, + 206,118,6,6,2,119,135,220,230,192,192,192,192,192,2,119, + 135,124,198,96,56,12,198,124,2,122,138,96,96,96,96,252, + 96,96,96,102,60,2,119,135,198,198,198,198,198,206,118,2, + 119,135,198,198,198,198,108,108,56,2,119,135,198,198,198,214, + 214,254,108,2,119,135,198,198,108,56,108,198,198,0,121,137, + 198,198,198,198,206,118,6,198,124,2,119,135,254,12,24,48, + 96,192,254,17,107,139,60,96,96,96,48,224,48,96,96,96, + 60,50,42,138,192,192,192,192,192,192,192,192,192,192,17,107, + 139,240,24,24,24,48,28,48,24,24,24,240,8,115,131,114, + 254,156,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,255,255,255,255, + 255,255,255,13,0,128,50,42,138,192,192,0,192,192,192,192, + 192,192,192,3,104,136,16,124,212,208,208,212,124,16,1,123, + 139,60,102,96,96,252,96,96,96,240,190,224,3,119,135,198, + 254,108,68,108,254,198,18,106,138,204,204,204,120,120,252,48, + 252,48,48,50,42,138,192,192,192,192,0,0,192,192,192,192, + 18,106,138,120,204,192,120,204,204,120,12,204,120,26,82,130, + 216,216,3,121,137,124,198,186,234,226,234,186,198,124,21,87, + 135,240,24,248,152,248,0,248,3,119,135,54,108,216,176,216, + 108,54,3,101,133,252,252,4,4,4,22,81,129,248,3,121, + 137,124,198,186,170,186,178,170,198,124,28,97,129,252,24,100, + 132,120,204,204,120,19,103,135,48,48,252,48,48,0,252,22, + 70,134,224,176,48,96,192,240,22,70,134,224,176,96,48,176, + 224,41,67,131,48,96,192,0,121,137,198,198,198,198,198,238, + 252,192,192,1,123,139,62,122,202,202,202,122,58,10,10,10, + 14,54,34,130,192,192,16,67,131,48,144,96,22,70,134,96, + 224,96,96,96,240,21,87,135,112,248,136,248,112,0,248,3, + 119,135,216,108,54,26,54,108,216,2,122,138,96,224,96,96, + 98,246,14,26,30,6,2,122,138,96,224,96,96,124,246,6, + 12,24,30,2,122,138,224,176,96,48,178,230,14,26,30,6, + 18,106,138,48,48,0,48,48,96,192,204,204,120,2,122,138, + 48,24,0,56,124,198,198,254,198,198,2,122,138,24,48,0, + 56,124,198,198,254,198,198,2,122,138,56,108,0,56,124,198, + 198,254,198,198,2,122,138,52,88,0,56,124,198,198,254,198, + 198,2,122,138,108,108,0,56,124,198,198,254,198,198,2,123, + 139,24,36,24,0,56,124,198,198,254,198,198,2,122,138,126, + 248,216,216,216,252,216,216,216,222,0,124,140,124,230,192,192, + 192,192,192,230,124,24,72,48,2,122,138,48,24,0,254,192, + 192,248,192,192,254,2,122,138,24,48,0,254,192,192,248,192, + 192,254,2,122,138,56,108,0,254,192,192,248,192,192,254,2, + 122,138,108,108,0,254,192,192,248,192,192,254,34,74,138,192, + 96,0,240,96,96,96,96,96,240,34,74,138,48,96,0,240, + 96,96,96,96,96,240,34,90,138,112,216,0,240,96,96,96, + 96,96,240,34,90,138,216,216,0,240,96,96,96,96,96,240, + 2,120,136,252,102,102,246,102,102,102,252,2,122,138,52,88, + 0,198,230,246,214,222,206,198,2,123,139,48,24,0,124,198, + 198,198,198,198,198,124,2,123,139,24,48,0,124,198,198,198, + 198,198,198,124,2,123,139,56,108,0,124,198,198,198,198,198, + 198,124,2,123,139,52,88,0,124,198,198,198,198,198,198,124, + 2,123,139,108,108,0,124,198,198,198,198,198,198,124,2,119, + 135,198,198,124,56,124,198,198,1,122,138,2,124,206,214,214, + 214,214,230,124,128,2,122,138,48,24,0,198,198,198,198,198, + 198,124,2,122,138,24,48,0,198,198,198,198,198,198,124,2, + 122,138,56,108,0,198,198,198,198,198,198,124,2,122,138,108, + 108,0,198,198,198,198,198,198,124,18,106,138,24,48,0,204, + 72,120,48,48,48,48,2,121,137,192,252,198,198,198,252,192, + 192,192,2,122,138,60,102,102,108,236,108,102,102,102,108,2, + 122,138,48,24,0,124,6,126,198,198,206,118,2,122,138,24, + 48,0,124,6,126,198,198,206,118,2,122,138,56,108,0,124, + 6,126,198,198,206,118,2,122,138,52,88,0,124,6,126,198, + 198,206,118,2,122,138,108,108,0,124,6,126,198,198,206,118, + 2,123,139,24,36,24,0,124,6,126,198,198,206,118,2,119, + 135,108,218,26,124,216,218,108,0,122,138,124,230,192,192,192, + 230,124,24,72,48,2,122,138,48,24,0,124,198,198,254,192, + 198,124,2,122,138,24,48,0,124,198,198,254,192,198,124,2, + 122,138,56,108,0,124,198,198,254,192,198,124,2,122,138,108, + 108,0,124,198,198,254,192,198,124,34,74,138,192,96,0,224, + 96,96,96,96,96,240,34,74,138,96,192,0,224,96,96,96, + 96,96,240,18,90,138,112,216,0,112,48,48,48,48,48,120, + 18,90,138,216,216,0,112,48,48,48,48,48,120,2,122,138, + 108,56,120,12,126,198,198,198,198,124,2,122,138,52,88,0, + 220,230,198,198,198,198,198,2,122,138,48,24,0,124,198,198, + 198,198,198,124,2,122,138,24,48,0,124,198,198,198,198,198, + 124,2,122,138,56,108,0,124,198,198,198,198,198,124,2,122, + 138,52,88,0,124,198,198,198,198,198,124,2,122,138,108,108, + 0,124,198,198,198,198,198,124,19,103,135,48,48,0,252,0, + 48,48,1,121,137,2,124,206,214,214,214,230,124,128,2,122, + 138,48,24,0,198,198,198,198,198,206,118,2,122,138,24,48, + 0,198,198,198,198,198,206,118,2,122,138,56,108,0,198,198, + 198,198,198,206,118,2,122,138,108,108,0,198,198,198,198,198, + 206,118,0,124,140,24,48,0,198,198,198,198,206,118,6,198, + 124,0,123,139,192,192,220,230,198,198,198,230,220,192,192,0, + 124,140,108,108,0,198,198,198,198,206,118,6,198,124}; +/* + Fontname: -Misc-Fixed-Bold-R-Normal--13-120-75-75-C-80-ISO10646-1 + Copyright: Public domain font. Share and enjoy. + Capital A Height: 10, '1' Height: 10 + Calculated Max Values w= 7 h=11 x= 3 y=11 dx= 8 dy= 0 ascent=11 len=11 + Font Bounding box w= 8 h=13 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent =10 descent=-2 + X Font ascent =10 descent=-2 + Max Font ascent =11 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_8x13Br[1123] U8G_FONT_SECTION("u8g_font_8x13Br") = { + 1,8,13,0,254,10,1,127,3,12,32,127,254,11,254,10, + 254,13,0,128,50,42,138,192,192,192,192,192,192,192,0,192, + 192,24,84,132,216,216,216,216,2,121,137,108,108,254,254,108, + 254,254,108,108,1,123,139,16,124,214,208,240,124,30,22,214, + 124,16,2,122,138,230,166,236,24,24,48,48,110,202,206,2, + 119,135,120,204,204,120,206,204,126,56,36,132,192,192,192,192, + 17,91,139,24,48,96,96,192,192,192,96,96,48,24,17,91, + 139,192,96,48,48,24,24,24,48,48,96,192,3,119,135,16, + 16,254,56,56,108,68,20,102,134,48,48,252,252,48,48,33, + 69,133,240,112,112,96,192,22,97,129,252,34,67,131,96,240, + 96,2,122,138,2,6,6,12,24,48,96,192,192,128,2,122, + 138,56,108,198,198,198,198,198,198,108,56,18,106,138,48,112, + 240,48,48,48,48,48,48,252,2,122,138,124,198,198,6,12, + 24,48,96,192,254,2,122,138,254,6,12,24,60,6,6,6, + 198,124,2,122,138,12,28,60,108,204,204,254,12,12,12,2, + 122,138,254,192,192,252,230,6,6,6,198,124,2,122,138,60, + 96,192,192,252,230,198,198,230,124,2,122,138,254,6,6,12, + 24,24,48,48,48,48,2,122,138,124,198,198,198,124,198,198, + 198,198,124,2,122,138,124,206,198,198,206,126,6,6,12,120, + 34,72,136,96,240,96,0,0,96,240,96,33,73,137,96,240, + 96,0,240,112,112,96,192,18,105,137,12,24,48,96,192,96, + 48,24,12,20,100,132,252,0,0,252,18,105,137,192,96,48, + 24,12,24,48,96,192,2,122,138,124,198,198,6,12,24,24, + 0,24,24,2,121,137,124,254,206,222,210,210,222,224,126,2, + 122,138,56,124,198,198,198,254,198,198,198,198,2,122,138,252, + 102,102,102,124,102,102,102,102,252,2,122,138,124,230,198,192, + 192,192,192,198,230,124,2,122,138,252,102,102,102,102,102,102, + 102,102,252,2,122,138,254,192,192,192,248,192,192,192,192,254, + 2,122,138,254,192,192,192,248,192,192,192,192,192,2,122,138, + 124,198,198,192,192,192,206,198,198,124,2,122,138,198,198,198, + 198,254,198,198,198,198,198,34,74,138,240,96,96,96,96,96, + 96,96,96,240,2,122,138,14,6,6,6,6,6,6,198,198, + 124,2,122,138,198,198,204,216,240,240,216,204,198,198,2,122, + 138,192,192,192,192,192,192,192,192,194,254,2,122,138,198,198, + 238,254,214,198,198,198,198,198,2,122,138,198,198,230,230,246, + 222,206,206,198,198,2,122,138,124,198,198,198,198,198,198,198, + 198,124,2,122,138,252,198,198,198,198,252,192,192,192,192,1, + 123,139,124,198,198,198,198,198,198,198,222,124,6,2,122,138, + 252,198,198,198,252,248,204,204,198,198,2,122,138,124,198,198, + 192,124,6,6,198,198,124,18,106,138,252,48,48,48,48,48, + 48,48,48,48,2,122,138,198,198,198,198,198,198,198,198,198, + 124,2,122,138,198,198,198,198,68,108,108,56,56,16,2,122, + 138,198,198,198,198,198,198,214,214,254,108,2,122,138,198,198, + 108,108,56,56,108,108,198,198,18,106,138,204,204,204,120,120, + 48,48,48,48,48,2,122,138,254,6,6,12,24,48,96,192, + 192,254,17,91,139,248,192,192,192,192,192,192,192,192,192,248, + 2,122,138,128,192,192,96,48,24,12,6,6,2,17,91,139, + 248,24,24,24,24,24,24,24,24,24,248,8,116,132,16,56, + 108,198,1,113,129,254,41,67,131,192,96,48,2,119,135,124, + 6,126,198,198,206,118,2,122,138,192,192,192,220,230,198,198, + 198,230,220,2,119,135,124,230,192,192,192,230,124,2,122,138, + 6,6,6,118,206,198,198,198,206,118,2,119,135,124,198,198, + 254,192,198,124,2,122,138,60,102,96,96,96,252,96,96,96, + 96,0,121,137,126,204,204,204,120,240,124,198,124,2,122,138, + 192,192,192,220,230,198,198,198,198,198,34,73,137,96,96,0, + 224,96,96,96,96,240,0,123,139,6,6,0,14,6,6,6, + 6,198,198,124,2,122,138,192,192,192,204,216,240,240,216,204, + 198,34,74,138,224,96,96,96,96,96,96,96,96,240,2,119, + 135,108,254,214,214,198,198,198,2,119,135,220,230,198,198,198, + 198,198,2,119,135,124,198,198,198,198,198,124,0,121,137,220, + 230,198,198,198,230,220,192,192,0,121,137,118,206,198,198,198, + 206,118,6,6,2,119,135,220,230,192,192,192,192,192,2,119, + 135,124,198,96,56,12,198,124,2,122,138,96,96,96,96,252, + 96,96,96,102,60,2,119,135,198,198,198,198,198,206,118,2, + 119,135,198,198,198,198,108,108,56,2,119,135,198,198,198,214, + 214,254,108,2,119,135,198,198,108,56,108,198,198,0,121,137, + 198,198,198,198,206,118,6,198,124,2,119,135,254,12,24,48, + 96,192,254,17,107,139,60,96,96,96,48,224,48,96,96,96, + 60,50,42,138,192,192,192,192,192,192,192,192,192,192,17,107, + 139,240,24,24,24,48,28,48,24,24,24,240,8,115,131,114, + 254,156,255}; +/* + Fontname: -Misc-Fixed-Medium-R-Normal--13-120-75-75-C-80-ISO10646-1 + Copyright: Public domain font. Share and enjoy. + Capital A Height: 9, '1' Height: 9 + Calculated Max Values w= 7 h=11 x= 3 y=11 dx= 8 dy= 0 ascent=11 len=11 + Font Bounding box w= 8 h=13 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent = 9 descent=-2 + X Font ascent = 9 descent=-2 + Max Font ascent =11 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_8x13[2152] U8G_FONT_SECTION("u8g_font_8x13") = { + 1,8,13,0,254,9,1,97,2,205,32,255,254,11,254,9, + 254,13,0,128,50,25,137,128,128,128,128,128,128,128,0,128, + 40,67,131,144,144,144,19,103,135,72,72,252,72,252,72,72, + 18,89,137,32,120,160,160,112,40,40,240,32,18,105,137,68, + 164,72,16,16,32,72,84,136,18,103,135,96,144,144,96,148, + 136,116,56,19,131,128,128,128,50,57,137,32,64,64,128,128, + 128,64,64,32,34,57,137,128,64,64,32,32,32,64,64,128, + 22,101,133,72,48,252,48,72,20,85,133,32,32,248,32,32, + 17,67,131,112,96,128,22,81,129,248,33,51,131,64,224,64, + 2,121,137,2,2,4,8,16,32,64,128,128,18,105,137,48, + 72,132,132,132,132,132,72,48,18,89,137,32,96,160,32,32, + 32,32,32,248,18,105,137,120,132,132,4,8,48,64,128,252, + 18,105,137,252,4,8,16,56,4,4,132,120,18,105,137,8, + 24,40,72,136,136,252,8,8,18,105,137,252,128,128,184,196, + 4,4,132,120,18,105,137,56,64,128,128,184,196,132,132,120, + 18,105,137,252,4,8,16,16,32,32,64,64,18,105,137,120, + 132,132,132,120,132,132,132,120,18,105,137,120,132,132,140,116, + 4,4,8,112,33,56,136,64,224,64,0,0,64,224,64,17, + 72,136,32,112,32,0,0,112,96,128,34,89,137,8,16,32, + 64,128,64,32,16,8,20,100,132,252,0,0,252,18,89,137, + 128,64,32,16,8,16,32,64,128,18,105,137,120,132,132,4, + 8,16,16,0,16,18,105,137,120,132,132,156,164,172,148,128, + 120,18,105,137,48,72,132,132,132,252,132,132,132,18,105,137, + 240,136,132,136,240,136,132,136,240,18,105,137,120,132,128,128, + 128,128,128,132,120,18,105,137,240,136,132,132,132,132,132,136, + 240,18,105,137,252,128,128,128,240,128,128,128,252,18,105,137, + 252,128,128,128,240,128,128,128,128,18,105,137,120,132,128,128, + 128,156,132,140,116,18,105,137,132,132,132,132,252,132,132,132, + 132,18,89,137,248,32,32,32,32,32,32,32,248,18,121,137, + 62,8,8,8,8,8,8,136,112,18,105,137,132,136,144,160, + 192,160,144,136,132,18,105,137,128,128,128,128,128,128,128,128, + 252,2,121,137,130,130,198,170,146,146,130,130,130,18,105,137, + 132,132,196,164,148,140,132,132,132,18,105,137,120,132,132,132, + 132,132,132,132,120,18,105,137,248,132,132,132,248,128,128,128, + 128,17,106,138,120,132,132,132,132,132,164,148,120,4,18,105, + 137,248,132,132,132,248,160,144,136,132,18,105,137,120,132,128, + 128,120,4,4,132,120,2,121,137,254,16,16,16,16,16,16, + 16,16,18,105,137,132,132,132,132,132,132,132,132,120,2,121, + 137,130,130,68,68,68,40,40,40,16,2,121,137,130,130,130, + 130,146,146,146,170,68,2,121,137,130,130,68,40,16,40,68, + 130,130,2,121,137,130,130,68,40,16,16,16,16,16,18,105, + 137,252,4,8,16,32,64,128,128,252,34,73,137,240,128,128, + 128,128,128,128,128,240,2,121,137,128,128,64,32,16,8,4, + 2,2,18,73,137,240,16,16,16,16,16,16,16,240,24,83, + 131,32,80,136,1,113,129,254,58,34,130,128,64,18,102,134, + 120,4,124,132,140,116,18,105,137,128,128,128,184,196,132,132, + 196,184,18,102,134,120,132,128,128,132,120,18,105,137,4,4, + 4,116,140,132,132,140,116,18,102,134,120,132,252,128,132,120, + 18,105,137,56,68,64,64,248,64,64,64,64,16,104,136,116, + 136,136,112,128,120,132,120,18,105,137,128,128,128,184,196,132, + 132,132,132,18,88,136,32,0,96,32,32,32,32,248,16,90, + 138,8,0,24,8,8,8,8,136,136,112,18,105,137,128,128, + 128,136,144,224,144,136,132,18,89,137,96,32,32,32,32,32, + 32,32,248,2,118,134,236,146,146,146,146,130,18,102,134,184, + 196,132,132,132,132,18,102,134,120,132,132,132,132,120,16,104, + 136,184,196,132,196,184,128,128,128,16,104,136,116,140,132,140, + 116,4,4,4,18,102,134,184,68,64,64,64,64,18,102,134, + 120,132,96,24,132,120,18,104,136,64,64,248,64,64,64,68, + 56,18,102,134,136,136,136,136,136,116,18,86,134,136,136,136, + 80,80,32,2,118,134,130,130,146,146,170,68,18,102,134,132, + 72,48,48,72,132,16,104,136,132,132,132,140,116,4,132,120, + 18,102,134,252,8,16,32,64,252,34,89,137,56,64,64,32, + 192,32,64,64,56,50,25,137,128,128,128,128,128,128,128,128, + 128,18,89,137,224,16,16,32,24,32,16,16,224,24,83,131, + 72,168,144,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,255,255,255, + 255,255,255,255,13,0,128,50,25,137,128,0,128,128,128,128, + 128,128,128,19,88,136,32,112,168,160,160,168,112,32,2,121, + 137,28,34,32,112,32,32,32,98,220,19,102,134,132,120,72, + 72,120,132,2,121,137,130,130,68,40,124,16,124,16,16,50, + 25,137,128,128,128,128,0,128,128,128,128,34,74,138,96,144, + 128,96,144,144,96,16,144,96,42,66,130,144,144,3,121,137, + 56,68,146,170,162,170,146,68,56,20,87,135,112,8,120,136, + 120,0,248,3,119,135,18,36,72,144,72,36,18,19,100,132, + 252,4,4,4,38,65,129,240,3,121,137,56,68,146,170,170, + 178,170,68,56,26,97,129,252,39,68,132,96,144,144,96,19, + 87,135,32,32,248,32,32,0,248,22,70,134,96,144,16,96, + 128,240,22,70,134,96,144,32,16,144,96,58,34,130,64,128, + 17,103,135,132,132,132,132,204,180,128,18,105,137,124,232,232, + 232,104,40,40,40,40,54,33,129,192,48,34,130,64,192,22, + 54,134,64,192,64,64,64,224,21,70,134,96,144,144,96,0, + 240,3,119,135,144,72,36,18,36,72,144,2,122,138,64,192, + 64,64,66,230,10,18,26,6,2,122,138,64,192,64,64,76, + 242,2,12,16,30,2,122,138,96,144,32,16,146,102,10,18, + 26,6,18,105,137,32,0,32,32,64,128,132,132,120,18,106, + 138,32,16,0,48,72,132,132,252,132,132,18,106,138,16,32, + 0,48,72,132,132,252,132,132,18,106,138,48,72,0,48,72, + 132,132,252,132,132,18,106,138,100,152,0,48,72,132,132,252, + 132,132,18,106,138,72,72,0,48,72,132,132,252,132,132,18, + 106,138,48,72,48,48,72,132,132,252,132,132,2,121,137,110, + 144,144,144,156,240,144,144,158,16,107,139,120,132,128,128,128, + 128,128,132,120,16,32,18,106,138,32,16,0,252,128,128,240, + 128,128,252,18,106,138,16,32,0,252,128,128,240,128,128,252, + 18,106,138,48,72,0,252,128,128,240,128,128,252,18,106,138, + 72,72,0,252,128,128,240,128,128,252,18,90,138,64,32,0, + 248,32,32,32,32,32,248,18,90,138,16,32,0,248,32,32, + 32,32,32,248,18,90,138,48,72,0,248,32,32,32,32,32, + 248,18,90,138,136,136,0,248,32,32,32,32,32,248,2,121, + 137,120,68,66,66,226,66,66,68,120,2,122,138,100,152,0, + 130,194,162,146,138,134,130,2,122,138,32,16,0,124,130,130, + 130,130,130,124,2,122,138,8,16,0,124,130,130,130,130,130, + 124,2,122,138,24,36,0,124,130,130,130,130,130,124,2,122, + 138,100,152,0,124,130,130,130,130,130,124,2,122,138,68,68, + 0,124,130,130,130,130,130,124,19,102,134,132,72,48,48,72, + 132,17,107,139,4,120,140,148,148,164,164,164,196,120,128,18, + 106,138,64,32,0,132,132,132,132,132,132,120,18,106,138,16, + 32,0,132,132,132,132,132,132,120,18,106,138,48,72,0,132, + 132,132,132,132,132,120,18,106,138,72,72,0,132,132,132,132, + 132,132,120,18,90,138,16,32,0,136,136,80,32,32,32,32, + 18,105,137,128,248,132,132,132,248,128,128,128,18,105,137,112, + 136,136,144,160,152,132,132,184,18,105,137,32,16,0,120,4, + 124,132,140,116,18,105,137,8,16,0,120,4,124,132,140,116, + 18,105,137,48,72,0,120,4,124,132,140,116,18,105,137,100, + 152,0,120,4,124,132,140,116,18,105,137,72,72,0,120,4, + 124,132,140,116,18,106,138,48,72,48,0,120,4,124,132,140, + 116,2,118,134,108,18,124,144,146,108,16,104,136,120,132,128, + 128,132,120,16,32,18,105,137,32,16,0,120,132,252,128,132, + 120,18,105,137,16,32,0,120,132,252,128,132,120,18,105,137, + 48,72,0,120,132,252,128,132,120,18,105,137,72,72,0,120, + 132,252,128,132,120,18,89,137,64,32,0,96,32,32,32,32, + 248,18,89,137,32,64,0,96,32,32,32,32,248,18,89,137, + 96,144,0,96,32,32,32,32,248,18,89,137,144,144,0,96, + 32,32,32,32,248,18,106,138,72,48,80,8,120,132,132,132, + 132,120,18,105,137,100,152,0,184,196,132,132,132,132,18,105, + 137,64,32,0,120,132,132,132,132,120,18,105,137,16,32,0, + 120,132,132,132,132,120,18,105,137,48,72,0,120,132,132,132, + 132,120,18,105,137,100,152,0,120,132,132,132,132,120,18,105, + 137,72,72,0,120,132,132,132,132,120,19,87,135,32,32,0, + 248,0,32,32,17,104,136,4,120,140,148,164,196,120,128,18, + 105,137,64,32,0,136,136,136,136,136,116,18,105,137,16,32, + 0,136,136,136,136,136,116,18,105,137,48,72,0,136,136,136, + 136,136,116,18,105,137,80,80,0,136,136,136,136,136,116,16, + 107,139,16,32,0,132,132,132,140,116,4,132,120,16,106,138, + 128,128,184,196,132,132,196,184,128,128,16,107,139,72,72,0, + 132,132,132,140,116,4,132,120}; +/* + Fontname: -Misc-Fixed-Medium-O-Normal--13-120-75-75-C-80-ISO10646-1 + Copyright: Public domain font. Share and enjoy. + Capital A Height: 9, '1' Height: 9 + Calculated Max Values w= 8 h=11 x= 3 y=11 dx= 8 dy= 0 ascent=11 len=11 + Font Bounding box w= 8 h=13 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent = 9 descent=-2 + X Font ascent = 9 descent=-2 + Max Font ascent =11 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_8x13O[2153] U8G_FONT_SECTION("u8g_font_8x13O") = { + 1,8,13,0,254,9,1,98,2,206,32,255,254,11,254,9, + 254,13,0,128,50,41,137,64,64,64,64,128,128,128,0,128, + 40,67,131,144,144,144,3,119,135,36,36,126,36,252,72,72, + 18,105,137,16,60,80,80,56,40,40,240,32,2,121,137,34, + 82,36,8,16,32,72,148,136,18,104,136,24,36,40,48,84, + 136,152,100,56,19,131,128,128,128,34,73,137,16,32,64,64, + 128,128,64,64,32,34,73,137,64,32,32,16,16,32,32,64, + 128,20,101,133,72,48,252,96,144,20,85,133,32,32,248,64, + 64,33,67,131,112,96,128,22,81,129,248,33,51,131,64,224, + 64,2,137,137,1,1,2,4,24,32,64,128,128,2,121,137, + 24,36,66,66,66,132,132,72,48,18,89,137,16,48,80,16, + 16,32,32,32,248,2,121,137,60,66,66,2,12,48,64,128, + 252,2,121,137,126,2,4,8,24,4,4,132,120,18,105,137, + 4,12,20,36,72,136,252,16,16,2,121,137,62,32,32,92, + 98,2,4,132,120,2,121,137,28,34,64,64,120,132,132,132, + 120,18,105,137,252,4,8,16,32,64,64,128,128,2,121,137, + 60,66,66,66,124,132,132,132,120,18,105,137,120,132,132,140, + 116,8,8,16,224,33,72,136,32,112,32,0,0,64,224,64, + 17,88,136,16,56,16,0,0,112,96,128,18,89,137,8,16, + 32,64,128,128,64,32,16,4,116,132,126,0,0,252,18,89, + 137,64,32,16,8,8,16,32,64,128,18,105,137,56,68,132, + 8,16,32,32,0,32,2,121,137,60,66,66,78,82,166,152, + 128,120,2,121,137,24,36,66,66,66,252,132,132,132,2,121, + 137,120,68,66,68,120,136,132,136,240,2,121,137,60,66,64, + 64,64,128,128,132,120,2,121,137,120,68,66,66,66,132,132, + 136,240,2,121,137,126,64,64,64,120,128,128,128,252,2,121, + 137,126,64,64,64,120,128,128,128,128,2,121,137,60,66,64, + 64,64,156,132,140,116,2,121,137,66,66,66,66,124,132,132, + 132,132,18,105,137,124,16,16,16,16,32,32,32,248,2,121, + 137,30,4,4,4,4,8,8,136,112,2,121,137,66,68,72, + 80,96,160,144,136,132,18,105,137,64,64,64,64,64,128,128, + 128,252,2,137,137,65,65,99,85,73,130,130,130,130,2,121, + 137,66,66,98,82,74,140,132,132,132,2,121,137,60,66,66, + 66,66,132,132,132,120,2,121,137,124,66,66,66,124,128,128, + 128,128,1,122,138,60,66,66,66,132,132,164,148,120,4,2, + 121,137,124,66,66,66,124,160,144,136,132,2,121,137,60,66, + 64,64,56,4,4,132,120,2,121,137,254,16,16,16,16,32, + 32,32,32,2,121,137,66,66,66,66,132,132,132,132,120,2, + 121,137,130,130,132,68,72,72,80,80,32,2,137,137,65,65, + 65,65,73,146,146,170,68,2,137,137,65,65,34,20,24,40, + 68,130,130,2,121,137,130,130,68,40,16,16,32,32,32,2, + 121,137,126,2,4,8,16,32,64,128,252,18,89,137,120,64, + 64,64,64,128,128,128,240,18,105,137,128,128,64,32,16,16, + 8,4,4,18,89,137,120,8,8,8,8,16,16,16,240,24, + 83,131,32,80,136,1,113,129,254,58,34,130,128,64,2,118, + 134,60,2,124,132,140,116,2,121,137,64,64,64,92,98,66, + 132,196,184,2,118,134,60,66,128,128,132,120,2,121,137,2, + 2,2,58,68,132,132,140,116,2,118,134,60,66,124,128,132, + 120,18,105,137,56,68,64,64,248,64,128,128,128,0,120,136, + 58,68,136,112,128,120,132,120,2,121,137,32,32,64,92,98, + 66,132,132,132,18,88,136,16,0,48,16,16,32,32,248,16, + 106,138,4,0,12,4,4,8,8,136,136,112,18,105,137,64, + 64,64,68,88,96,144,136,132,18,89,137,48,16,16,16,16, + 32,32,32,248,2,134,134,118,73,73,146,146,130,2,118,134, + 92,98,66,132,132,132,2,118,134,60,66,66,132,132,120,0, + 136,136,46,49,33,98,92,64,128,128,0,120,136,58,70,132, + 140,116,4,8,8,18,102,134,184,68,64,128,128,128,2,118, + 134,60,66,32,24,132,120,18,88,136,64,64,248,64,128,128, + 136,112,18,102,134,68,68,68,136,136,116,18,86,134,136,136, + 144,160,160,64,2,134,134,65,65,146,146,170,68,2,118,134, + 66,36,24,48,72,132,0,120,136,66,66,132,140,116,4,132, + 120,2,118,134,126,4,24,32,64,252,18,89,137,56,64,64, + 32,192,64,128,128,112,50,41,137,64,64,64,64,64,128,128, + 128,128,18,89,137,112,8,8,16,24,32,16,16,224,24,83, + 131,72,168,144,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,255,255, + 255,255,255,255,255,13,0,128,50,41,137,64,0,64,64,64, + 128,128,128,128,19,104,136,16,56,84,80,160,168,112,32,2, + 137,137,14,17,16,56,16,32,32,98,220,3,118,134,66,60, + 36,72,120,132,2,121,137,130,130,68,40,124,16,248,32,32, + 50,41,137,64,64,64,64,0,128,128,128,128,18,90,138,48, + 72,64,48,72,144,96,16,144,96,42,66,130,144,144,2,137, + 137,28,34,73,85,162,170,146,68,56,20,103,135,56,4,120, + 136,120,0,248,3,119,135,18,36,72,144,144,72,36,19,100, + 132,252,4,8,8,38,65,129,240,2,137,137,28,34,89,85, + 170,178,170,68,56,26,97,129,252,39,68,132,96,144,144,96, + 19,103,135,16,16,124,32,32,0,248,22,86,134,48,72,8, + 112,128,240,22,86,134,112,8,48,16,144,96,58,34,130,64, + 128,1,119,135,66,66,66,132,204,180,128,18,105,137,124,232, + 232,232,104,80,80,80,80,54,33,129,192,48,34,130,64,192, + 38,54,134,32,96,32,64,64,224,21,102,134,24,36,72,48, + 0,240,3,119,135,72,36,18,18,36,72,144,18,106,138,32, + 96,32,64,68,236,20,40,60,8,2,122,138,32,96,32,64, + 76,242,4,24,32,60,18,106,138,112,8,48,16,148,108,20, + 40,60,8,18,105,137,16,0,16,16,32,64,132,136,112,2, + 122,138,16,8,0,24,36,66,66,124,132,132,2,122,138,8, + 16,0,24,36,66,66,124,132,132,2,122,138,24,36,0,24, + 36,66,66,124,132,132,2,122,138,50,76,0,24,36,66,66, + 124,132,132,2,122,138,36,36,0,24,36,66,66,124,132,132, + 2,122,138,24,36,24,24,36,66,66,124,132,132,2,137,137, + 55,72,72,72,78,112,144,144,158,0,123,139,60,66,64,64, + 64,128,128,132,120,16,32,2,122,138,16,8,0,126,64,64, + 112,128,128,252,2,122,138,8,16,0,126,64,64,112,128,128, + 252,2,122,138,24,36,0,126,64,64,112,128,128,252,2,122, + 138,36,36,0,126,64,64,112,128,128,252,18,106,138,32,16, + 0,124,16,16,32,32,32,248,18,106,138,8,16,0,124,16, + 16,32,32,32,248,18,106,138,24,36,0,124,16,16,32,32, + 32,248,18,106,138,68,68,0,124,16,16,32,32,32,248,2, + 121,137,120,68,66,66,226,68,132,136,240,2,138,138,50,76, + 0,65,97,81,146,138,134,130,2,138,138,16,8,0,62,65, + 65,130,130,130,124,2,138,138,4,8,0,62,65,65,130,130, + 130,124,2,138,138,12,18,0,62,65,65,130,130,130,124,2, + 138,138,50,76,0,62,65,65,130,130,130,124,2,138,138,34, + 34,0,62,65,65,130,130,130,124,3,118,134,66,36,24,48, + 72,132,1,123,139,2,60,70,74,74,82,164,164,196,120,128, + 2,122,138,32,16,0,66,66,66,132,132,132,120,2,122,138, + 8,16,0,66,66,66,132,132,132,120,2,122,138,24,36,0, + 66,66,66,132,132,132,120,2,122,138,36,36,0,66,66,66, + 132,132,132,120,18,90,138,16,32,0,136,136,80,96,64,64, + 64,2,121,137,64,124,66,66,66,124,128,128,128,18,105,137, + 56,68,68,72,80,136,132,132,184,2,121,137,16,8,0,60, + 2,124,132,140,116,2,121,137,4,8,0,60,2,124,132,140, + 116,2,121,137,24,36,0,60,2,124,132,140,116,2,121,137, + 50,76,0,60,2,124,132,140,116,2,121,137,36,36,0,60, + 2,124,132,140,116,2,122,138,24,36,24,0,60,2,124,132, + 140,116,2,134,134,54,9,126,144,146,108,0,120,136,60,66, + 128,128,132,120,16,32,2,121,137,16,8,0,60,66,124,128, + 132,120,2,121,137,8,16,0,60,66,124,128,132,120,2,121, + 137,24,36,0,60,66,124,128,132,120,2,121,137,36,36,0, + 60,66,124,128,132,120,18,89,137,32,16,0,48,16,16,32, + 32,248,18,89,137,16,32,0,48,16,16,32,32,248,18,89, + 137,48,72,0,48,16,16,32,32,248,18,89,137,72,72,0, + 48,16,16,32,32,248,2,122,138,36,24,40,4,60,66,66, + 132,132,120,2,121,137,50,76,0,92,98,66,132,132,132,2, + 121,137,32,16,0,60,66,66,132,132,120,2,121,137,8,16, + 0,60,66,66,132,132,120,2,121,137,24,36,0,60,66,66, + 132,132,120,2,121,137,50,76,0,60,66,66,132,132,120,2, + 121,137,36,36,0,60,66,66,132,132,120,19,103,135,16,16, + 0,252,0,32,32,1,120,136,2,60,70,90,164,196,120,128, + 18,105,137,32,16,0,68,68,68,136,136,116,18,105,137,8, + 16,0,68,68,68,136,136,116,18,105,137,24,36,0,68,68, + 68,136,136,116,18,105,137,40,40,0,68,68,68,136,136,116, + 0,123,139,8,16,0,66,66,132,140,116,4,132,120,0,122, + 138,64,64,92,98,66,132,196,184,128,128,0,123,139,36,36, + 0,66,66,132,140,116,4,132,120}; +/* + Fontname: -Misc-Fixed-Medium-O-Normal--13-120-75-75-C-80-ISO10646-1 + Copyright: Public domain font. Share and enjoy. + Capital A Height: 9, '1' Height: 9 + Calculated Max Values w= 8 h=10 x= 3 y=11 dx= 8 dy= 0 ascent=11 len=10 + Font Bounding box w= 8 h=13 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent = 9 descent=-2 + X Font ascent = 9 descent=-2 + Max Font ascent =11 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_8x13Or[1029] U8G_FONT_SECTION("u8g_font_8x13Or") = { + 1,8,13,0,254,9,1,98,2,206,32,127,254,11,254,9, + 254,13,0,128,50,41,137,64,64,64,64,128,128,128,0,128, + 40,67,131,144,144,144,3,119,135,36,36,126,36,252,72,72, + 18,105,137,16,60,80,80,56,40,40,240,32,2,121,137,34, + 82,36,8,16,32,72,148,136,18,104,136,24,36,40,48,84, + 136,152,100,56,19,131,128,128,128,34,73,137,16,32,64,64, + 128,128,64,64,32,34,73,137,64,32,32,16,16,32,32,64, + 128,20,101,133,72,48,252,96,144,20,85,133,32,32,248,64, + 64,33,67,131,112,96,128,22,81,129,248,33,51,131,64,224, + 64,2,137,137,1,1,2,4,24,32,64,128,128,2,121,137, + 24,36,66,66,66,132,132,72,48,18,89,137,16,48,80,16, + 16,32,32,32,248,2,121,137,60,66,66,2,12,48,64,128, + 252,2,121,137,126,2,4,8,24,4,4,132,120,18,105,137, + 4,12,20,36,72,136,252,16,16,2,121,137,62,32,32,92, + 98,2,4,132,120,2,121,137,28,34,64,64,120,132,132,132, + 120,18,105,137,252,4,8,16,32,64,64,128,128,2,121,137, + 60,66,66,66,124,132,132,132,120,18,105,137,120,132,132,140, + 116,8,8,16,224,33,72,136,32,112,32,0,0,64,224,64, + 17,88,136,16,56,16,0,0,112,96,128,18,89,137,8,16, + 32,64,128,128,64,32,16,4,116,132,126,0,0,252,18,89, + 137,64,32,16,8,8,16,32,64,128,18,105,137,56,68,132, + 8,16,32,32,0,32,2,121,137,60,66,66,78,82,166,152, + 128,120,2,121,137,24,36,66,66,66,252,132,132,132,2,121, + 137,120,68,66,68,120,136,132,136,240,2,121,137,60,66,64, + 64,64,128,128,132,120,2,121,137,120,68,66,66,66,132,132, + 136,240,2,121,137,126,64,64,64,120,128,128,128,252,2,121, + 137,126,64,64,64,120,128,128,128,128,2,121,137,60,66,64, + 64,64,156,132,140,116,2,121,137,66,66,66,66,124,132,132, + 132,132,18,105,137,124,16,16,16,16,32,32,32,248,2,121, + 137,30,4,4,4,4,8,8,136,112,2,121,137,66,68,72, + 80,96,160,144,136,132,18,105,137,64,64,64,64,64,128,128, + 128,252,2,137,137,65,65,99,85,73,130,130,130,130,2,121, + 137,66,66,98,82,74,140,132,132,132,2,121,137,60,66,66, + 66,66,132,132,132,120,2,121,137,124,66,66,66,124,128,128, + 128,128,1,122,138,60,66,66,66,132,132,164,148,120,4,2, + 121,137,124,66,66,66,124,160,144,136,132,2,121,137,60,66, + 64,64,56,4,4,132,120,2,121,137,254,16,16,16,16,32, + 32,32,32,2,121,137,66,66,66,66,132,132,132,132,120,2, + 121,137,130,130,132,68,72,72,80,80,32,2,137,137,65,65, + 65,65,73,146,146,170,68,2,137,137,65,65,34,20,24,40, + 68,130,130,2,121,137,130,130,68,40,16,16,32,32,32,2, + 121,137,126,2,4,8,16,32,64,128,252,18,89,137,120,64, + 64,64,64,128,128,128,240,18,105,137,128,128,64,32,16,16, + 8,4,4,18,89,137,120,8,8,8,8,16,16,16,240,24, + 83,131,32,80,136,1,113,129,254,58,34,130,128,64,2,118, + 134,60,2,124,132,140,116,2,121,137,64,64,64,92,98,66, + 132,196,184,2,118,134,60,66,128,128,132,120,2,121,137,2, + 2,2,58,68,132,132,140,116,2,118,134,60,66,124,128,132, + 120,18,105,137,56,68,64,64,248,64,128,128,128,0,120,136, + 58,68,136,112,128,120,132,120,2,121,137,32,32,64,92,98, + 66,132,132,132,18,88,136,16,0,48,16,16,32,32,248,16, + 106,138,4,0,12,4,4,8,8,136,136,112,18,105,137,64, + 64,64,68,88,96,144,136,132,18,89,137,48,16,16,16,16, + 32,32,32,248,2,134,134,118,73,73,146,146,130,2,118,134, + 92,98,66,132,132,132,2,118,134,60,66,66,132,132,120,0, + 136,136,46,49,33,98,92,64,128,128,0,120,136,58,70,132, + 140,116,4,8,8,18,102,134,184,68,64,128,128,128,2,118, + 134,60,66,32,24,132,120,18,88,136,64,64,248,64,128,128, + 136,112,18,102,134,68,68,68,136,136,116,18,86,134,136,136, + 144,160,160,64,2,134,134,65,65,146,146,170,68,2,118,134, + 66,36,24,48,72,132,0,120,136,66,66,132,140,116,4,132, + 120,2,118,134,126,4,24,32,64,252,18,89,137,56,64,64, + 32,192,64,128,128,112,50,41,137,64,64,64,64,64,128,128, + 128,128,18,89,137,112,8,8,16,24,32,16,16,224,24,83, + 131,72,168,144,255}; +/* + Fontname: -Misc-Fixed-Medium-R-Normal--13-120-75-75-C-80-ISO10646-1 + Copyright: Public domain font. Share and enjoy. + Capital A Height: 9, '1' Height: 9 + Calculated Max Values w= 7 h=10 x= 3 y=11 dx= 8 dy= 0 ascent=11 len=10 + Font Bounding box w= 8 h=13 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent = 9 descent=-2 + X Font ascent = 9 descent=-2 + Max Font ascent =11 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_8x13r[1028] U8G_FONT_SECTION("u8g_font_8x13r") = { + 1,8,13,0,254,9,1,97,2,205,32,127,254,11,254,9, + 254,13,0,128,50,25,137,128,128,128,128,128,128,128,0,128, + 40,67,131,144,144,144,19,103,135,72,72,252,72,252,72,72, + 18,89,137,32,120,160,160,112,40,40,240,32,18,105,137,68, + 164,72,16,16,32,72,84,136,18,103,135,96,144,144,96,148, + 136,116,56,19,131,128,128,128,50,57,137,32,64,64,128,128, + 128,64,64,32,34,57,137,128,64,64,32,32,32,64,64,128, + 22,101,133,72,48,252,48,72,20,85,133,32,32,248,32,32, + 17,67,131,112,96,128,22,81,129,248,33,51,131,64,224,64, + 2,121,137,2,2,4,8,16,32,64,128,128,18,105,137,48, + 72,132,132,132,132,132,72,48,18,89,137,32,96,160,32,32, + 32,32,32,248,18,105,137,120,132,132,4,8,48,64,128,252, + 18,105,137,252,4,8,16,56,4,4,132,120,18,105,137,8, + 24,40,72,136,136,252,8,8,18,105,137,252,128,128,184,196, + 4,4,132,120,18,105,137,56,64,128,128,184,196,132,132,120, + 18,105,137,252,4,8,16,16,32,32,64,64,18,105,137,120, + 132,132,132,120,132,132,132,120,18,105,137,120,132,132,140,116, + 4,4,8,112,33,56,136,64,224,64,0,0,64,224,64,17, + 72,136,32,112,32,0,0,112,96,128,34,89,137,8,16,32, + 64,128,64,32,16,8,20,100,132,252,0,0,252,18,89,137, + 128,64,32,16,8,16,32,64,128,18,105,137,120,132,132,4, + 8,16,16,0,16,18,105,137,120,132,132,156,164,172,148,128, + 120,18,105,137,48,72,132,132,132,252,132,132,132,18,105,137, + 240,136,132,136,240,136,132,136,240,18,105,137,120,132,128,128, + 128,128,128,132,120,18,105,137,240,136,132,132,132,132,132,136, + 240,18,105,137,252,128,128,128,240,128,128,128,252,18,105,137, + 252,128,128,128,240,128,128,128,128,18,105,137,120,132,128,128, + 128,156,132,140,116,18,105,137,132,132,132,132,252,132,132,132, + 132,18,89,137,248,32,32,32,32,32,32,32,248,18,121,137, + 62,8,8,8,8,8,8,136,112,18,105,137,132,136,144,160, + 192,160,144,136,132,18,105,137,128,128,128,128,128,128,128,128, + 252,2,121,137,130,130,198,170,146,146,130,130,130,18,105,137, + 132,132,196,164,148,140,132,132,132,18,105,137,120,132,132,132, + 132,132,132,132,120,18,105,137,248,132,132,132,248,128,128,128, + 128,17,106,138,120,132,132,132,132,132,164,148,120,4,18,105, + 137,248,132,132,132,248,160,144,136,132,18,105,137,120,132,128, + 128,120,4,4,132,120,2,121,137,254,16,16,16,16,16,16, + 16,16,18,105,137,132,132,132,132,132,132,132,132,120,2,121, + 137,130,130,68,68,68,40,40,40,16,2,121,137,130,130,130, + 130,146,146,146,170,68,2,121,137,130,130,68,40,16,40,68, + 130,130,2,121,137,130,130,68,40,16,16,16,16,16,18,105, + 137,252,4,8,16,32,64,128,128,252,34,73,137,240,128,128, + 128,128,128,128,128,240,2,121,137,128,128,64,32,16,8,4, + 2,2,18,73,137,240,16,16,16,16,16,16,16,240,24,83, + 131,32,80,136,1,113,129,254,58,34,130,128,64,18,102,134, + 120,4,124,132,140,116,18,105,137,128,128,128,184,196,132,132, + 196,184,18,102,134,120,132,128,128,132,120,18,105,137,4,4, + 4,116,140,132,132,140,116,18,102,134,120,132,252,128,132,120, + 18,105,137,56,68,64,64,248,64,64,64,64,16,104,136,116, + 136,136,112,128,120,132,120,18,105,137,128,128,128,184,196,132, + 132,132,132,18,88,136,32,0,96,32,32,32,32,248,16,90, + 138,8,0,24,8,8,8,8,136,136,112,18,105,137,128,128, + 128,136,144,224,144,136,132,18,89,137,96,32,32,32,32,32, + 32,32,248,2,118,134,236,146,146,146,146,130,18,102,134,184, + 196,132,132,132,132,18,102,134,120,132,132,132,132,120,16,104, + 136,184,196,132,196,184,128,128,128,16,104,136,116,140,132,140, + 116,4,4,4,18,102,134,184,68,64,64,64,64,18,102,134, + 120,132,96,24,132,120,18,104,136,64,64,248,64,64,64,68, + 56,18,102,134,136,136,136,136,136,116,18,86,134,136,136,136, + 80,80,32,2,118,134,130,130,146,146,170,68,18,102,134,132, + 72,48,48,72,132,16,104,136,132,132,132,140,116,4,132,120, + 18,102,134,252,8,16,32,64,252,34,89,137,56,64,64,32, + 192,32,64,64,56,50,25,137,128,128,128,128,128,128,128,128, + 128,18,89,137,224,16,16,32,24,32,16,16,224,24,83,131, + 72,168,144,255}; +/* + Fontname: -Misc-Fixed-Medium-R-Normal--15-140-75-75-C-90-ISO10646-1 + Copyright: Public domain font. Share and enjoy. + Capital A Height: 4, '1' Height: 10 + Calculated Max Values w= 9 h=15 x= 8 y=10 dx= 9 dy= 0 ascent=12 len=30 + Font Bounding box w= 9 h=15 x= 0 y=-3 + Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 + Pure Font ascent = 4 descent= 0 + X Font ascent =10 descent= 0 + Max Font ascent =12 descent=-3 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_9x15_67_75[3804] U8G_FONT_SECTION("u8g_font_9x15_67_75") = { + 0,9,15,0,253,4,1,255,4,34,32,255,0,12,253,10, + 0,8,7,7,9,0,1,72,36,18,255,18,36,72,7,10, + 10,9,1,0,16,16,16,146,84,56,146,84,56,16,7,7, + 7,9,1,1,16,34,68,248,68,34,16,7,7,7,9,1, + 1,16,136,68,62,68,136,16,7,7,7,9,1,1,16,34, + 66,254,66,34,16,7,10,10,9,1,0,16,56,84,146,16, + 16,16,16,16,124,7,7,7,9,1,1,16,136,132,254,132, + 136,16,7,10,10,9,1,0,124,16,16,16,16,16,146,84, + 56,16,7,10,10,9,1,0,16,56,84,146,16,146,84,56, + 16,254,8,7,7,9,0,1,16,34,65,254,64,32,16,8, + 7,7,9,0,1,8,68,130,127,2,4,8,8,7,7,9, + 0,1,16,34,69,254,68,36,16,8,7,7,9,0,1,8, + 68,162,127,34,36,8,9,5,10,9,0,2,34,0,73,0, + 247,128,65,0,34,0,9,5,10,9,0,2,34,0,73,0, + 255,128,73,0,34,0,5,10,10,9,2,0,32,64,72,184, + 200,16,16,160,120,32,6,10,10,9,1,0,32,64,252,68, + 36,4,4,4,4,4,7,10,10,9,1,0,8,4,254,132, + 136,128,128,128,128,128,6,10,10,9,1,0,4,4,4,4, + 4,36,68,252,64,32,7,10,10,9,1,0,128,128,128,128, + 128,136,132,254,4,8,7,8,8,9,1,0,248,8,8,8, + 8,42,28,8,7,8,8,9,1,1,2,2,2,34,66,254, + 64,32,9,7,14,9,0,2,14,0,17,0,32,128,32,128, + 168,128,112,0,32,0,9,7,14,9,0,2,56,0,68,0, + 130,0,130,0,138,128,7,0,2,0,7,10,10,9,1,0, + 254,64,112,96,80,8,8,4,2,2,7,9,9,9,1,0, + 144,160,254,160,146,10,254,10,18,9,7,14,9,0,1,50, + 0,71,0,138,128,130,0,130,0,68,0,56,0,9,7,14, + 9,0,1,38,0,113,0,168,128,32,128,32,128,17,0,14, + 0,7,4,4,9,1,3,16,32,64,254,7,4,4,9,1, + 0,254,64,32,16,4,10,10,9,4,0,128,192,160,144,128, + 128,128,128,128,128,4,10,10,9,1,0,16,48,80,144,16, + 16,16,16,16,16,7,4,4,9,1,3,16,8,4,254,7, + 4,4,9,1,0,254,4,8,16,4,10,10,9,4,0,128, + 128,128,128,128,128,144,160,192,128,4,10,10,9,1,0,16, + 16,16,16,16,16,144,80,48,16,7,9,9,9,1,0,8, + 4,254,4,40,64,254,64,32,9,10,20,9,0,0,34,0, + 114,0,170,0,34,0,34,0,34,0,34,0,42,128,39,0, + 34,0,7,9,9,9,1,0,32,64,254,64,40,4,254,4, + 8,7,10,10,9,1,0,32,64,254,64,32,32,64,254,64, + 32,9,10,20,9,0,0,34,0,119,0,170,128,34,0,34, + 0,34,0,34,0,34,0,34,0,34,0,7,10,10,9,1, + 0,8,4,254,4,8,8,4,254,4,8,9,10,20,9,0, + 0,34,0,34,0,34,0,34,0,34,0,34,0,34,0,170, + 128,119,0,34,0,7,7,7,9,1,1,32,64,254,0,254, + 4,8,7,7,7,9,1,1,8,4,254,0,254,64,32,9, + 7,14,9,0,1,16,0,33,0,127,128,130,0,127,128,36, + 0,16,0,9,7,14,9,0,1,20,0,34,0,127,0,136, + 128,127,0,34,0,20,0,9,7,14,9,0,1,4,0,18, + 0,255,0,32,128,255,0,66,0,4,0,9,7,14,9,0, + 1,16,0,32,0,127,128,128,0,127,128,32,0,16,0,7, + 10,10,9,1,0,16,40,108,170,40,40,40,40,40,40,9, + 7,14,9,0,1,4,0,2,0,255,0,0,128,255,0,2, + 0,4,0,7,10,10,9,1,0,40,40,40,40,40,40,170, + 108,40,16,9,7,14,9,0,1,20,0,34,0,127,0,128, + 128,127,0,34,0,20,0,7,10,10,9,1,0,16,40,108, + 170,40,40,170,108,40,16,7,7,7,9,1,1,252,144,136, + 196,162,144,8,7,7,7,9,1,1,126,18,34,70,138,18, + 32,7,7,7,9,1,1,32,18,138,70,34,18,126,7,7, + 7,9,1,1,8,144,162,196,136,144,252,9,9,18,9,0, + 0,8,0,16,0,63,128,64,0,255,128,64,0,63,128,16, + 0,8,0,9,9,18,9,0,0,8,0,4,0,254,0,1, + 0,255,128,1,0,254,0,4,0,8,0,8,7,7,9,0, + 1,16,32,72,245,66,32,16,8,7,7,9,0,1,8,4, + 18,175,66,4,8,7,10,10,9,1,0,16,56,84,146,16, + 124,16,124,16,16,7,10,10,9,1,0,16,16,124,16,124, + 16,146,84,56,16,7,7,7,9,1,1,16,32,64,182,64, + 32,16,7,10,10,9,1,0,16,40,84,146,0,16,16,0, + 16,16,7,7,7,9,1,1,16,8,4,218,4,8,16,7, + 10,10,9,1,0,16,16,0,16,16,0,146,84,40,16,7, + 5,5,9,1,2,144,160,254,160,144,7,5,5,9,1,2, + 18,10,254,10,18,9,7,14,9,0,1,16,0,48,0,95, + 128,128,128,95,128,48,0,16,0,7,10,10,9,1,0,16, + 40,68,238,40,40,40,40,40,56,9,7,14,9,0,1,4, + 0,6,0,253,0,128,128,253,0,6,0,4,0,7,10,10, + 9,1,0,56,40,40,40,40,40,238,68,40,16,7,11,11, + 9,1,0,16,40,68,238,40,40,56,0,56,40,56,7,11, + 11,9,1,255,16,40,68,238,40,40,40,40,108,68,124,7, + 11,11,9,1,255,16,40,68,254,40,40,40,40,108,68,124, + 7,11,11,9,1,255,16,40,68,254,56,56,56,56,124,68, + 124,7,11,11,9,1,255,16,40,68,238,68,238,40,40,40, + 40,56,7,11,11,9,1,255,16,40,68,238,68,238,40,40, + 108,68,124,9,7,14,9,0,1,132,0,134,0,253,0,128, + 128,253,0,134,0,132,0,7,7,7,9,1,0,254,128,188, + 176,168,164,130,7,7,7,9,1,0,130,74,42,26,122,2, + 254,7,11,11,9,1,255,16,40,68,238,40,40,40,238,68, + 40,16,9,7,14,9,0,1,4,0,50,0,73,0,255,128, + 73,0,50,0,4,0,9,10,20,9,0,0,34,0,39,0, + 42,128,34,0,34,0,34,0,34,0,170,0,114,0,34,0, + 7,13,13,9,1,254,8,4,254,4,8,4,254,4,8,4, + 254,4,8,8,5,5,9,0,2,36,68,255,68,36,8,5, + 5,9,0,2,36,34,255,34,36,9,5,10,9,0,2,42, + 0,73,0,255,128,73,0,42,0,8,5,5,9,0,2,42, + 74,255,74,42,8,5,5,9,0,2,84,82,255,82,84,9, + 5,10,9,0,2,85,0,148,128,255,128,148,128,85,0,7, + 7,7,9,1,1,16,48,80,158,80,48,16,7,7,7,9, + 1,1,16,24,20,242,20,24,16,8,5,5,9,0,2,36, + 102,189,102,36,9,7,14,9,0,5,255,128,255,128,255,128, + 255,128,255,128,255,128,255,128,9,2,4,9,0,253,255,128, + 255,128,9,4,8,9,0,253,255,128,255,128,255,128,255,128, + 9,6,12,9,0,253,255,128,255,128,255,128,255,128,255,128, + 255,128,9,8,16,9,0,253,255,128,255,128,255,128,255,128, + 255,128,255,128,255,128,255,128,9,9,18,9,0,253,255,128, + 255,128,255,128,255,128,255,128,255,128,255,128,255,128,255,128, + 9,11,22,9,0,253,255,128,255,128,255,128,255,128,255,128, + 255,128,255,128,255,128,255,128,255,128,255,128,9,13,26,9, + 0,253,255,128,255,128,255,128,255,128,255,128,255,128,255,128, + 255,128,255,128,255,128,255,128,255,128,255,128,9,15,30,9, + 0,253,255,128,255,128,255,128,255,128,255,128,255,128,255,128, + 255,128,255,128,255,128,255,128,255,128,255,128,255,128,255,128, + 8,15,15,9,0,253,255,255,255,255,255,255,255,255,255,255, + 255,255,255,255,255,7,15,15,9,0,253,254,254,254,254,254, + 254,254,254,254,254,254,254,254,254,254,6,15,15,9,0,253, + 252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,5, + 15,15,9,0,253,248,248,248,248,248,248,248,248,248,248,248, + 248,248,248,248,3,15,15,9,0,253,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,2,15,15,9,0,253,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,1,15, + 15,9,0,253,128,128,128,128,128,128,128,128,128,128,128,128, + 128,128,128,4,15,15,9,5,253,240,240,240,240,240,240,240, + 240,240,240,240,240,240,240,240,9,15,30,9,0,253,170,128, + 0,0,85,0,0,0,170,128,0,0,85,0,0,0,170,128, + 0,0,85,0,0,0,170,128,0,0,85,0,9,15,30,9, + 0,253,170,128,85,0,170,128,85,0,170,128,85,0,170,128, + 85,0,170,128,85,0,170,128,85,0,170,128,85,0,170,128, + 9,15,30,9,0,253,255,128,85,0,255,128,170,128,255,128, + 85,0,255,128,170,128,255,128,85,0,255,128,170,128,255,128, + 85,0,255,128,9,2,4,9,0,10,255,128,255,128,1,15, + 15,9,8,253,128,128,128,128,128,128,128,128,128,128,128,128, + 128,128,128,5,8,8,9,0,253,248,248,248,248,248,248,248, + 248,4,8,8,9,5,253,240,240,240,240,240,240,240,240,5, + 7,7,9,0,5,248,248,248,248,248,248,248,9,15,30,9, + 0,253,248,0,248,0,248,0,248,0,248,0,248,0,248,0, + 255,128,255,128,255,128,255,128,255,128,255,128,255,128,255,128, + 9,15,30,9,0,253,248,0,248,0,248,0,248,0,248,0, + 248,0,248,0,7,128,7,128,7,128,7,128,7,128,7,128, + 7,128,7,128,9,15,30,9,0,253,255,128,255,128,255,128, + 255,128,255,128,255,128,255,128,248,0,248,0,248,0,248,0, + 248,0,248,0,248,0,248,0,9,15,30,9,0,253,255,128, + 255,128,255,128,255,128,255,128,255,128,255,128,7,128,7,128, + 7,128,7,128,7,128,7,128,7,128,7,128,4,7,7,9, + 5,5,240,240,240,240,240,240,240,9,15,30,9,0,253,7, + 128,7,128,7,128,7,128,7,128,7,128,7,128,248,0,248, + 0,248,0,248,0,248,0,248,0,248,0,248,0,9,15,30, + 9,0,253,7,128,7,128,7,128,7,128,7,128,7,128,7, + 128,255,128,255,128,255,128,255,128,255,128,255,128,255,128,255, + 128,7,7,7,9,1,1,254,254,254,254,254,254,254,7,7, + 7,9,1,1,254,130,130,130,130,130,254,7,7,7,9,1, + 1,124,130,130,130,130,130,124,7,7,7,9,1,1,254,130, + 186,186,186,130,254,7,7,7,9,1,1,254,130,254,130,254, + 130,254,7,7,7,9,1,1,254,170,170,170,170,170,254,7, + 7,7,9,1,1,254,170,254,170,254,170,254,7,7,7,9, + 1,1,254,146,138,198,162,146,254,7,7,7,9,1,1,254, + 146,162,198,138,146,254,7,7,7,9,1,1,254,214,138,214, + 162,214,254,3,3,3,9,3,3,224,224,224,3,3,3,9, + 3,3,224,160,224,9,5,10,9,0,2,255,128,255,128,255, + 128,255,128,255,128,9,5,10,9,0,2,255,128,128,128,128, + 128,128,128,255,128,5,9,9,9,2,0,248,248,248,248,248, + 248,248,248,248,5,9,9,9,2,0,248,136,136,136,136,136, + 136,136,248,9,5,10,9,0,2,127,128,127,128,255,128,255, + 0,255,0,9,5,10,9,0,2,127,128,64,128,128,128,129, + 0,255,0,9,10,20,9,0,0,8,0,8,0,28,0,28, + 0,62,0,62,0,127,0,127,0,255,128,255,128,9,10,20, + 9,0,0,8,0,8,0,20,0,20,0,34,0,34,0,65, + 0,65,0,128,128,255,128,7,7,7,9,1,1,16,16,56, + 56,124,124,254,7,7,7,9,1,1,16,16,40,40,68,68, + 254,9,9,18,9,0,0,192,0,240,0,252,0,255,0,255, + 128,255,0,252,0,240,0,192,0,9,9,18,9,0,0,192, + 0,176,0,140,0,131,0,128,128,131,0,140,0,176,0,192, + 0,7,7,7,9,1,1,128,224,248,254,248,224,128,7,7, + 7,9,1,1,128,224,152,134,152,224,128,9,5,10,9,0, + 2,224,0,252,0,255,128,252,0,224,0,9,5,10,9,0, + 2,224,0,156,0,131,128,156,0,224,0,9,10,20,9,0, + 0,255,128,255,128,127,0,127,0,62,0,62,0,28,0,28, + 0,8,0,8,0,9,10,20,9,0,0,255,128,128,128,65, + 0,65,0,34,0,34,0,20,0,20,0,8,0,8,0,7, + 7,7,9,1,1,254,124,124,56,56,16,16,7,7,7,9, + 1,1,254,68,68,40,40,16,16,9,9,18,9,0,0,1, + 128,7,128,31,128,127,128,255,128,127,128,31,128,7,128,1, + 128,9,9,18,9,0,0,1,128,6,128,24,128,96,128,128, + 128,96,128,24,128,6,128,1,128,7,7,7,9,1,1,2, + 14,62,254,62,14,2,7,7,7,9,1,1,2,14,50,194, + 50,14,2,9,5,10,9,0,2,3,128,31,128,255,128,31, + 128,3,128,9,5,10,9,0,2,3,128,28,128,224,128,28, + 128,3,128,9,9,18,9,0,0,8,0,28,0,62,0,127, + 0,255,128,127,0,62,0,28,0,8,0,9,9,18,9,0, + 0,8,0,20,0,34,0,65,0,128,128,65,0,34,0,20, + 0,8,0,9,9,18,9,0,0,8,0,20,0,34,0,73, + 0,156,128,73,0,34,0,20,0,8,0,7,7,7,9,1, + 1,56,68,146,186,146,68,56,5,9,9,9,2,0,32,32, + 80,80,136,80,80,32,32,7,7,7,9,1,1,56,68,130, + 130,130,68,56,7,7,7,9,1,1,16,68,0,130,0,68, + 16,7,7,7,9,1,1,56,108,170,170,170,108,56,7,7, + 7,9,1,1,56,68,146,170,146,68,56,7,7,7,9,1, + 1,56,124,254,254,254,124,56,7,7,7,9,1,1,56,116, + 242,242,242,116,56,7,7,7,9,1,1,56,92,158,158,158, + 92,56,7,7,7,9,1,1,56,68,130,254,254,124,56,7, + 7,7,9,1,1,56,124,254,254,130,68,56,7,7,7,9, + 1,1,56,92,158,158,130,68,56,7,7,7,9,1,1,56, + 92,158,254,254,124,56,4,7,7,9,1,1,48,112,240,240, + 240,112,48,4,7,7,9,4,1,192,224,240,240,240,224,192, + 9,15,30,9,0,253,255,128,255,128,255,128,255,128,255,128, + 227,128,193,128,193,128,193,128,227,128,255,128,255,128,255,128, + 255,128,255,128,9,15,30,9,0,253,255,128,255,128,255,128, + 255,128,227,128,221,128,190,128,190,128,190,128,221,128,227,128, + 255,128,255,128,255,128,255,128,9,8,16,9,0,4,255,128, + 255,128,255,128,255,128,227,128,221,128,190,128,190,128,9,8, + 16,9,0,253,190,128,190,128,221,128,227,128,255,128,255,128, + 255,128,255,128,4,4,4,9,1,4,48,64,128,128,4,4, + 4,9,4,4,192,32,16,16,4,4,4,9,4,1,16,16, + 32,192,4,4,4,9,1,1,128,128,64,48,7,4,4,9, + 1,4,56,68,130,130,7,4,4,9,1,1,130,130,68,56, + 7,7,7,9,1,1,2,6,14,30,62,126,254,7,7,7, + 9,1,1,128,192,224,240,248,252,254,7,7,7,9,1,1, + 254,252,248,240,224,192,128,7,7,7,9,1,1,254,126,62, + 30,14,6,2,5,5,5,9,2,2,112,136,136,136,112,7, + 7,7,9,1,1,254,242,242,242,242,242,254,7,7,7,9, + 1,1,254,158,158,158,158,158,254,7,7,7,9,1,1,254, + 254,250,242,226,194,254,7,7,7,9,1,1,254,134,142,158, + 190,254,254,7,7,7,9,1,1,254,146,146,146,146,146,254, + 9,10,20,9,0,0,8,0,8,0,20,0,20,0,34,0, + 42,0,93,0,73,0,128,128,255,128,9,10,20,9,0,0, + 8,0,8,0,28,0,28,0,58,0,58,0,121,0,121,0, + 248,128,255,128,9,10,20,9,0,0,8,0,8,0,28,0, + 28,0,46,0,46,0,79,0,79,0,143,128,255,128,9,9, + 18,9,0,0,62,0,65,0,128,128,128,128,128,128,128,128, + 128,128,65,0,62,0,7,7,7,9,1,1,254,146,146,242, + 130,130,254,7,7,7,9,1,1,254,130,130,242,146,146,254, + 7,7,7,9,1,1,254,130,130,158,146,146,254,7,7,7, + 9,1,1,254,146,146,158,130,130,254,7,7,7,9,1,1, + 124,146,146,242,130,130,124,7,7,7,9,1,1,124,130,130, + 242,146,146,124,7,7,7,9,1,1,124,130,130,158,146,146, + 124,7,7,7,9,1,1,124,146,146,158,130,130,124,6,6, + 6,9,1,1,252,136,144,160,192,128,6,6,6,9,1,1, + 252,68,36,20,12,4,6,6,6,9,1,1,128,192,160,144, + 136,252,6,6,6,9,1,1,252,132,132,132,132,252,6,6, + 6,9,1,1,252,252,252,252,252,252,5,5,5,9,2,1, + 248,136,136,136,248,5,5,5,9,2,1,248,248,248,248,248, + 6,6,6,9,1,1,4,12,20,36,68,252}; +/* + Fontname: -Misc-Fixed-Medium-R-Normal--15-140-75-75-C-90-ISO10646-1 + Copyright: Public domain font. Share and enjoy. + Capital A Height: 9, '1' Height: 5 + Calculated Max Values w= 9 h=10 x= 3 y= 3 dx= 9 dy= 0 ascent=10 len=20 + Font Bounding box w= 9 h=15 x= 0 y=-3 + Calculated Min Values x= 0 y= 0 dx= 0 dy= 0 + Pure Font ascent = 9 descent= 0 + X Font ascent = 9 descent= 0 + Max Font ascent =10 descent= 0 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_9x15_75r[792] U8G_FONT_SECTION("u8g_font_9x15_75r") = { + 0,9,15,0,253,9,2,33,0,0,32,79,0,10,0,9, + 0,7,7,7,9,1,1,254,254,254,254,254,254,254,7,7, + 7,9,1,1,254,130,130,130,130,130,254,7,7,7,9,1, + 1,124,130,130,130,130,130,124,7,7,7,9,1,1,254,130, + 186,186,186,130,254,7,7,7,9,1,1,254,130,254,130,254, + 130,254,7,7,7,9,1,1,254,170,170,170,170,170,254,7, + 7,7,9,1,1,254,170,254,170,254,170,254,7,7,7,9, + 1,1,254,146,138,198,162,146,254,7,7,7,9,1,1,254, + 146,162,198,138,146,254,7,7,7,9,1,1,254,214,138,214, + 162,214,254,3,3,3,9,3,3,224,224,224,3,3,3,9, + 3,3,224,160,224,9,5,10,9,0,2,255,128,255,128,255, + 128,255,128,255,128,9,5,10,9,0,2,255,128,128,128,128, + 128,128,128,255,128,5,9,9,9,2,0,248,248,248,248,248, + 248,248,248,248,5,9,9,9,2,0,248,136,136,136,136,136, + 136,136,248,9,5,10,9,0,2,127,128,127,128,255,128,255, + 0,255,0,9,5,10,9,0,2,127,128,64,128,128,128,129, + 0,255,0,9,10,20,9,0,0,8,0,8,0,28,0,28, + 0,62,0,62,0,127,0,127,0,255,128,255,128,9,10,20, + 9,0,0,8,0,8,0,20,0,20,0,34,0,34,0,65, + 0,65,0,128,128,255,128,7,7,7,9,1,1,16,16,56, + 56,124,124,254,7,7,7,9,1,1,16,16,40,40,68,68, + 254,9,9,18,9,0,0,192,0,240,0,252,0,255,0,255, + 128,255,0,252,0,240,0,192,0,9,9,18,9,0,0,192, + 0,176,0,140,0,131,0,128,128,131,0,140,0,176,0,192, + 0,7,7,7,9,1,1,128,224,248,254,248,224,128,7,7, + 7,9,1,1,128,224,152,134,152,224,128,9,5,10,9,0, + 2,224,0,252,0,255,128,252,0,224,0,9,5,10,9,0, + 2,224,0,156,0,131,128,156,0,224,0,9,10,20,9,0, + 0,255,128,255,128,127,0,127,0,62,0,62,0,28,0,28, + 0,8,0,8,0,9,10,20,9,0,0,255,128,128,128,65, + 0,65,0,34,0,34,0,20,0,20,0,8,0,8,0,7, + 7,7,9,1,1,254,124,124,56,56,16,16,7,7,7,9, + 1,1,254,68,68,40,40,16,16,9,9,18,9,0,0,1, + 128,7,128,31,128,127,128,255,128,127,128,31,128,7,128,1, + 128,9,9,18,9,0,0,1,128,6,128,24,128,96,128,128, + 128,96,128,24,128,6,128,1,128,7,7,7,9,1,1,2, + 14,62,254,62,14,2,7,7,7,9,1,1,2,14,50,194, + 50,14,2,9,5,10,9,0,2,3,128,31,128,255,128,31, + 128,3,128,9,5,10,9,0,2,3,128,28,128,224,128,28, + 128,3,128,9,9,18,9,0,0,8,0,28,0,62,0,127, + 0,255,128,127,0,62,0,28,0,8,0,9,9,18,9,0, + 0,8,0,20,0,34,0,65,0,128,128,65,0,34,0,20, + 0,8,0,9,9,18,9,0,0,8,0,20,0,34,0,73, + 0,156,128,73,0,34,0,20,0,8,0,7,7,7,9,1, + 1,56,68,146,186,146,68,56,5,9,9,9,2,0,32,32, + 80,80,136,80,80,32,32,7,7,7,9,1,1,56,68,130, + 130,130,68,56,7,7,7,9,1,1,16,68,0,130,0,68, + 16,7,7,7,9,1,1,56,108,170,170,170,108,56,7,7, + 7,9,1,1,56,68,146,170,146,68,56,7,7,7,9,1, + 1,56,124,254,254,254,124,56}; +/* + Fontname: -Misc-Fixed-Medium-R-Normal--15-140-75-75-C-90-ISO10646-1 + Copyright: Public domain font. Share and enjoy. + Capital A Height: 0, '1' Height: 9 + Calculated Max Values w= 9 h=13 x= 4 y= 5 dx= 9 dy= 0 ascent=12 len=26 + Font Bounding box w= 9 h=15 x= 0 y=-3 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent = 9 descent= 0 + X Font ascent =11 descent= 0 + Max Font ascent =12 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_9x15_78_79[3795] U8G_FONT_SECTION("u8g_font_9x15_78_79") = { + 0,9,15,0,253,9,2,231,4,175,32,255,0,12,254,11, + 0,9,9,18,9,0,0,62,0,28,0,136,128,201,128,247, + 128,201,128,136,128,28,0,62,0,9,9,18,9,0,0,8, + 0,20,0,255,128,162,128,65,0,162,128,255,128,20,0,8, + 0,9,9,18,9,0,0,8,0,28,0,8,0,73,0,255, + 128,73,0,8,0,28,0,8,0,9,9,18,9,0,0,8, + 0,28,0,28,0,107,0,255,128,107,0,28,0,28,0,8, + 0,9,9,18,9,0,0,8,0,28,0,28,0,107,0,255, + 128,107,0,28,0,28,0,8,0,9,9,18,9,0,0,8, + 0,28,0,28,0,107,0,255,128,107,0,28,0,28,0,8, + 0,9,9,18,9,0,0,8,0,8,0,28,0,62,0,255, + 128,62,0,28,0,8,0,8,0,9,9,18,9,0,0,8, + 0,20,0,20,0,99,0,128,128,99,0,20,0,20,0,8, + 0,255,9,9,18,9,0,0,8,0,8,0,20,0,247,128, + 65,0,34,0,73,0,85,0,99,0,9,10,20,9,0,0, + 127,0,247,128,247,128,227,128,0,0,128,128,193,128,201,128, + 156,128,127,0,9,9,18,9,0,0,8,0,8,0,28,0, + 227,128,99,0,34,0,62,0,119,0,65,0,9,9,18,9, + 0,0,8,0,8,0,20,0,235,128,93,0,42,0,34,0, + 127,0,65,0,9,9,18,9,0,0,8,0,8,0,20,0, + 235,128,93,0,42,0,34,0,127,0,65,0,9,9,18,9, + 0,0,8,0,8,0,20,0,235,128,93,0,42,0,34,0, + 127,0,65,0,9,9,18,9,0,0,8,0,8,0,20,0, + 247,128,73,0,54,0,42,0,127,0,65,0,8,7,7,9, + 0,2,24,24,44,199,46,60,102,8,9,9,9,0,0,24, + 219,255,126,24,126,255,219,24,8,9,9,9,0,0,24,219, + 255,102,36,102,255,219,24,9,9,18,9,0,0,8,0,73, + 0,42,0,28,0,255,128,28,0,42,0,73,0,8,0,9, + 9,18,9,0,0,8,0,73,0,62,0,62,0,255,128,62, + 0,62,0,73,0,8,0,9,9,18,9,0,0,8,0,73, + 0,54,0,62,0,213,128,62,0,54,0,73,0,8,0,9, + 9,18,9,0,0,8,0,136,128,107,0,62,0,28,0,62, + 0,107,0,136,128,8,0,9,9,18,9,0,0,34,0,20, + 0,148,128,127,0,28,0,127,0,148,128,20,0,34,0,9, + 9,18,9,0,0,34,0,54,0,255,128,127,0,62,0,127, + 0,255,128,54,0,34,0,9,9,18,9,0,0,42,0,42, + 0,221,128,62,0,255,128,62,0,221,128,42,0,42,0,9, + 9,18,9,0,0,42,0,42,0,221,128,42,0,255,128,42, + 0,221,128,42,0,42,0,9,11,22,9,0,0,28,0,28, + 0,201,128,201,128,34,0,8,0,34,0,201,128,201,128,28, + 0,28,0,9,11,22,9,0,0,28,0,28,0,201,128,201, + 128,62,0,20,0,62,0,201,128,201,128,28,0,28,0,9, + 11,22,9,0,0,28,0,28,0,201,128,201,128,62,0,28, + 0,62,0,201,128,201,128,28,0,28,0,9,11,22,9,0, + 0,28,0,20,0,201,128,201,128,62,0,20,0,127,0,170, + 128,201,128,28,0,28,0,8,9,9,9,0,0,24,24,219, + 255,36,36,126,231,66,255,255,255,8,9,9,9,0,0,24, + 203,189,110,24,118,189,211,24,9,12,24,9,0,0,8,0, + 42,0,93,0,170,128,107,0,221,128,221,128,107,0,170,128, + 93,0,42,0,8,0,9,12,24,9,0,0,8,0,42,0, + 93,0,170,128,107,0,221,128,221,128,107,0,170,128,93,0, + 42,0,8,0,9,12,24,9,0,0,8,0,42,0,93,0, + 170,128,107,0,221,128,221,128,107,0,170,128,93,0,42,0, + 8,0,9,9,18,9,0,0,8,0,73,0,42,0,20,0, + 235,128,20,0,42,0,73,0,8,0,9,9,18,9,0,0, + 8,0,73,0,42,0,20,0,235,128,20,0,42,0,73,0, + 8,0,8,9,9,9,0,0,24,219,203,60,24,60,211,219, + 24,9,9,18,9,0,0,8,0,73,0,42,0,0,0,235, + 128,0,0,42,0,73,0,8,0,9,9,18,9,0,0,8, + 0,73,0,42,0,28,0,255,128,28,0,42,0,73,0,8, + 0,255,9,8,16,9,0,1,62,0,67,0,129,128,129,128, + 129,128,129,128,67,0,62,0,255,9,9,18,9,0,0,254, + 0,130,0,131,128,131,128,131,128,131,128,255,128,63,128,63, + 128,9,9,18,9,0,0,63,128,63,128,255,128,131,128,131, + 128,131,128,131,128,130,0,254,0,8,8,8,9,0,0,254, + 131,131,131,131,131,255,127,8,8,8,9,0,0,127,255,131, + 131,131,131,131,254,255,255,255,9,9,18,9,0,0,8,0, + 28,0,8,0,65,0,227,128,65,0,8,0,28,0,8,0, + 255,1,10,10,9,4,0,128,128,128,128,128,128,128,128,128, + 128,2,10,10,9,3,0,192,192,192,192,192,192,192,192,192, + 192,3,10,10,9,3,0,224,224,224,224,224,224,224,224,224, + 224,4,6,6,9,3,5,112,128,224,240,240,96,4,6,6, + 9,3,5,96,240,240,112,16,224,9,6,12,9,0,5,115, + 128,132,0,231,0,247,128,247,128,99,0,9,6,12,9,0, + 5,99,0,247,128,247,128,115,128,16,128,231,0,255,255,7, + 10,10,9,1,0,4,126,228,228,228,124,4,100,104,48,5, + 10,10,9,2,0,112,248,248,112,32,32,0,32,112,32,5, + 10,10,9,2,0,80,248,248,112,32,32,0,32,112,32,9, + 9,18,9,0,0,99,0,247,128,255,128,255,128,127,0,62, + 0,28,0,8,0,8,0,9,9,18,9,0,0,112,0,248, + 0,252,0,126,0,63,128,126,0,252,0,248,0,112,0,9, + 12,24,9,0,0,8,0,116,128,149,0,14,0,4,0,107, + 0,247,128,255,128,127,0,62,0,28,0,8,0,9,12,24, + 9,0,0,16,0,41,0,82,0,156,0,32,0,88,0,124, + 0,60,0,254,0,254,128,255,0,126,0,255,255,255,255,255, + 255,255,255,255,255,255,255,255,255,9,9,18,9,0,0,127, + 0,247,128,231,128,247,128,247,128,247,128,247,128,227,128,127, + 0,9,9,18,9,0,0,127,0,227,128,221,128,253,128,251, + 128,247,128,237,128,193,128,127,0,9,9,18,9,0,0,127, + 0,227,128,221,128,253,128,243,128,253,128,221,128,227,128,127, + 0,9,9,18,9,0,0,127,0,243,128,235,128,219,128,193, + 128,251,128,251,128,251,128,127,0,9,9,18,9,0,0,127, + 0,193,128,223,128,223,128,195,128,253,128,253,128,195,128,127, + 0,9,9,18,9,0,0,127,0,225,128,223,128,223,128,195, + 128,221,128,221,128,227,128,127,0,9,9,18,9,0,0,127, + 0,193,128,253,128,251,128,251,128,247,128,247,128,247,128,127, + 0,9,9,18,9,0,0,127,0,227,128,221,128,221,128,227, + 128,221,128,221,128,227,128,127,0,9,9,18,9,0,0,127, + 0,225,128,221,128,221,128,225,128,253,128,253,128,227,128,127, + 0,9,9,18,9,0,0,127,0,219,128,213,128,213,128,213, + 128,213,128,213,128,219,128,127,0,9,9,18,9,0,0,127, + 0,128,128,136,128,152,128,136,128,136,128,136,128,128,128,127, + 0,9,9,18,9,0,0,127,0,128,128,152,128,132,128,132, + 128,136,128,156,128,128,128,127,0,9,9,18,9,0,0,127, + 0,128,128,152,128,132,128,136,128,132,128,152,128,128,128,127, + 0,9,9,18,9,0,0,127,0,128,128,136,128,152,128,168, + 128,188,128,136,128,128,128,127,0,9,9,18,9,0,0,127, + 0,128,128,156,128,144,128,152,128,132,128,152,128,128,128,127, + 0,9,9,18,9,0,0,127,0,128,128,140,128,144,128,152, + 128,148,128,136,128,128,128,127,0,9,9,18,9,0,0,127, + 0,128,128,156,128,132,128,136,128,136,128,136,128,128,128,127, + 0,9,9,18,9,0,0,127,0,128,128,136,128,148,128,136, + 128,148,128,136,128,128,128,127,0,9,9,18,9,0,0,127, + 0,128,128,136,128,148,128,140,128,132,128,136,128,128,128,127, + 0,9,9,18,9,0,0,127,0,128,128,164,128,170,128,170, + 128,170,128,164,128,128,128,127,0,9,9,18,9,0,0,127, + 0,247,128,231,128,247,128,247,128,247,128,247,128,247,128,127, + 0,9,9,18,9,0,0,127,0,227,128,221,128,253,128,251, + 128,247,128,239,128,193,128,127,0,9,9,18,9,0,0,127, + 0,227,128,221,128,253,128,243,128,253,128,221,128,227,128,127, + 0,9,9,18,9,0,0,127,0,243,128,235,128,219,128,193, + 128,251,128,251,128,251,128,127,0,9,9,18,9,0,0,127, + 0,193,128,223,128,223,128,195,128,253,128,253,128,195,128,127, + 0,9,9,18,9,0,0,127,0,225,128,223,128,223,128,195, + 128,221,128,221,128,227,128,127,0,9,9,18,9,0,0,127, + 0,193,128,253,128,251,128,251,128,247,128,247,128,247,128,127, + 0,9,9,18,9,0,0,127,0,227,128,221,128,221,128,227, + 128,221,128,221,128,227,128,127,0,9,9,18,9,0,0,127, + 0,225,128,221,128,221,128,225,128,253,128,253,128,227,128,127, + 0,9,9,18,9,0,0,127,0,219,128,213,128,213,128,213, + 128,213,128,213,128,219,128,127,0,7,8,8,9,1,1,48, + 24,12,254,254,12,24,48,255,255,255,7,5,5,9,1,1, + 224,250,62,14,30,8,7,7,9,1,1,8,12,230,255,230, + 12,8,7,5,5,9,1,1,30,14,62,250,224,9,7,14, + 9,0,0,48,0,28,0,31,0,255,128,31,0,28,0,48, + 0,9,9,18,9,0,0,28,0,30,0,15,0,255,128,255, + 128,255,128,15,0,30,0,28,0,9,5,10,9,0,1,2, + 0,3,0,255,128,3,0,2,0,9,7,14,9,0,0,4, + 0,6,0,255,0,255,128,255,0,6,0,4,0,9,5,10, + 9,0,1,2,0,183,0,183,128,183,0,2,0,9,5,10, + 9,0,1,2,0,171,0,171,128,171,0,2,0,9,5,10, + 9,0,1,2,0,255,0,255,128,255,0,2,0,9,8,16, + 9,0,1,128,0,112,0,78,0,33,128,31,128,62,0,112, + 0,128,0,9,8,16,9,0,1,128,0,112,0,62,0,31, + 128,33,128,78,0,112,0,128,0,9,8,16,9,0,1,128, + 0,112,0,62,0,31,128,31,128,62,0,112,0,128,0,9, + 7,14,9,0,0,132,0,134,0,255,0,255,128,127,0,6, + 0,4,0,9,7,14,9,0,0,4,0,6,0,127,0,255, + 128,255,0,134,0,132,0,6,9,9,9,2,0,16,16,248, + 248,252,248,248,16,16,8,9,9,9,0,1,4,4,254,254, + 255,254,254,4,4,9,9,18,9,0,0,24,0,28,0,22, + 0,243,0,129,128,243,0,22,0,28,0,24,0,9,9,18, + 9,0,0,24,0,28,0,26,0,249,0,192,128,249,0,26, + 0,28,0,24,0,9,9,18,9,0,0,0,128,1,128,62, + 128,64,128,129,128,243,0,238,0,60,0,56,0,9,9,18, + 9,0,0,56,0,60,0,238,0,243,0,129,128,64,128,62, + 128,1,128,0,128,8,9,9,9,0,1,16,24,20,242,129, + 243,118,28,24,8,9,9,9,0,1,24,28,118,243,129,242, + 20,24,16,9,7,14,9,0,2,4,0,250,0,129,0,64, + 128,129,128,251,0,6,0,255,9,7,14,9,0,2,6,0, + 251,0,129,128,64,128,129,0,250,0,4,0,9,9,18,9, + 0,1,28,0,127,0,251,128,1,128,0,128,1,128,251,128, + 127,0,28,0,9,5,10,9,0,3,210,0,43,0,127,128, + 43,0,210,0,9,9,18,9,0,0,16,0,56,0,92,0, + 236,0,116,0,60,0,2,128,1,128,3,128,9,5,10,9, + 0,2,242,0,123,0,7,128,123,0,242,0,9,9,18,9, + 0,0,3,128,1,128,2,128,60,0,116,0,236,0,92,0, + 56,0,16,0,9,9,18,9,0,0,16,0,24,0,28,0, + 252,0,124,0,60,0,2,128,1,128,3,128,9,5,10,9, + 0,2,242,0,123,0,127,128,123,0,242,0,9,9,18,9, + 0,0,3,128,1,128,2,128,60,0,124,0,252,0,28,0, + 24,0,16,0,9,7,14,9,0,1,3,0,3,0,113,0, + 255,128,113,0,3,0,3,0,9,7,14,9,0,1,2,0, + 115,0,121,0,255,128,121,0,115,0,2,0,9,5,10,9, + 0,2,242,0,123,0,63,128,123,0,242,0,9,7,14,9, + 0,1,226,0,242,0,123,0,63,128,123,0,242,0,226,0, + 9,7,14,9,0,1,20,0,10,0,253,0,0,128,253,0, + 10,0,20,0,255,7,7,7,9,1,0,130,132,136,144,160, + 192,254,9,10,20,9,0,0,8,0,8,0,20,0,20,0, + 42,0,42,0,85,0,93,0,128,128,255,128,7,10,10,9, + 1,0,16,16,16,16,16,16,16,16,16,254,7,7,7,9, + 1,1,62,64,132,138,132,64,62,7,7,7,9,1,1,248, + 4,66,162,66,4,248,5,12,12,9,2,255,112,136,136,16, + 16,32,32,64,64,128,128,112,5,12,12,9,2,255,112,136, + 136,64,64,32,32,16,16,8,8,112,7,8,8,9,1,0, + 130,146,84,68,40,40,16,16,8,10,10,9,0,255,128,143, + 144,80,80,80,80,47,32,32,8,10,10,9,0,255,1,241, + 9,10,10,10,10,244,4,4,3,10,10,9,3,0,64,64, + 64,64,224,64,64,64,64,64,255,255,255,255,255,9,9,18, + 9,0,0,8,0,20,0,34,0,65,0,136,128,65,0,34, + 0,20,0,8,0,7,8,8,9,1,0,16,16,40,40,68, + 84,146,130,7,7,7,9,1,1,146,146,146,146,146,84,56, + 7,7,7,9,1,1,2,2,2,18,2,2,254,7,7,7, + 9,1,1,254,128,128,144,128,128,128,8,11,11,9,0,255, + 193,99,99,85,85,73,85,85,99,99,193,8,11,11,9,1, + 255,131,198,198,170,170,146,170,170,198,198,131,9,11,22,9, + 0,255,193,128,99,0,99,0,85,0,85,0,73,0,85,0, + 85,0,99,0,99,0,193,128,9,13,26,9,0,254,8,0, + 8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0, + 8,0,8,0,8,0,255,128,9,13,26,9,0,254,255,128, + 8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0, + 8,0,8,0,8,0,8,0,7,7,7,9,1,1,40,40, + 238,40,238,40,40,7,7,7,9,1,1,40,40,40,238,40, + 40,40,7,3,3,9,1,3,64,190,64,9,5,10,9,0, + 2,128,0,128,0,255,128,128,0,128,0,9,5,10,9,0, + 2,0,128,0,128,255,128,0,128,0,128,5,10,10,9,2, + 0,32,80,32,32,32,32,32,32,32,248,5,9,9,9,2, + 0,32,32,80,80,248,80,80,32,32,7,9,9,9,1,0, + 16,16,16,40,198,40,16,16,16,8,9,9,9,0,0,8, + 8,8,20,227,20,8,8,8,8,9,9,9,1,0,16,16, + 16,40,199,40,16,16,16,8,7,7,9,0,1,127,65,65, + 193,65,65,127,8,7,7,9,1,1,254,130,130,131,130,130, + 254,5,12,12,9,2,255,248,160,160,160,160,160,160,160,160, + 160,160,248,5,12,12,9,2,255,248,40,40,40,40,40,40, + 40,40,40,40,248,3,10,10,9,3,0,32,32,64,64,128, + 128,64,64,32,32,3,10,10,9,3,0,128,128,64,64,32, + 32,64,64,128,128,6,10,10,9,1,0,36,36,72,72,144, + 144,72,72,36,36,6,10,10,9,2,0,144,144,72,72,36, + 36,72,72,144,144,255,255,255,255,9,11,22,9,0,0,8, + 0,20,0,54,0,85,0,213,128,85,0,85,0,85,0,85, + 0,85,0,85,0,9,11,22,9,0,255,85,0,85,0,85, + 0,85,0,85,0,85,0,213,128,85,0,54,0,20,0,8, + 0,8,8,8,9,0,0,28,34,169,113,33,1,34,28,8, + 8,8,9,0,0,56,68,149,142,132,128,68,56,9,5,10, + 9,0,2,114,0,169,0,255,128,169,0,114,0,9,5,10, + 9,0,2,32,0,64,0,255,128,64,0,32,0,9,5,10, + 9,0,2,2,0,1,0,255,128,1,0,2,0,9,5,10, + 9,0,2,34,0,65,0,255,128,65,0,34,0,9,7,14, + 9,0,1,16,0,32,0,127,128,128,0,127,128,32,0,16, + 0,9,7,14,9,0,1,4,0,2,0,255,0,0,128,255, + 0,2,0,4,0,9,7,14,9,0,1,20,0,34,0,127, + 0,128,128,127,0,34,0,20,0,9,5,10,9,0,2,32, + 128,64,128,255,128,64,128,32,128,9,5,10,9,0,2,130, + 0,129,0,255,128,129,0,130,0,9,7,14,9,0,1,16, + 128,32,128,127,128,128,128,127,128,32,128,16,128,9,7,14, + 9,0,1,132,0,130,0,255,0,128,128,255,0,130,0,132, + 0,9,6,12,9,0,1,2,0,1,0,85,128,170,128,1, + 0,2,0}; +/* + Fontname: -Misc-Fixed-Bold-R-Normal--15-140-75-75-C-90-ISO10646-1 + Copyright: Public domain font. Share and enjoy. + Capital A Height: 10, '1' Height: 10 + Calculated Max Values w= 9 h=14 x= 4 y=12 dx= 9 dy= 0 ascent=12 len=20 + Font Bounding box w= 9 h=15 x= 0 y=-3 + Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 + Pure Font ascent =10 descent=-3 + X Font ascent =11 descent=-3 + Max Font ascent =12 descent=-3 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_9x15B[2990] U8G_FONT_SECTION("u8g_font_9x15B") = { + 0,9,15,0,253,10,1,232,3,214,32,255,253,12,253,11, + 253,0,0,0,9,0,12,2,10,10,9,3,0,192,192,192, + 192,192,192,192,192,0,192,5,3,3,9,2,7,216,216,216, + 7,8,8,9,1,1,108,108,254,108,108,254,108,108,7,11, + 11,9,1,255,16,124,214,208,240,124,30,22,214,124,16,8, + 10,10,9,0,0,67,230,230,76,24,24,50,103,103,194,8, + 10,10,9,0,0,56,108,108,120,48,121,207,198,206,123,2, + 4,4,9,3,6,192,192,192,192,5,12,12,9,2,255,24, + 48,96,96,192,192,192,192,96,96,48,24,5,12,12,9,2, + 255,192,96,48,48,24,24,24,24,48,48,96,192,7,5,5, + 9,1,2,108,56,254,56,108,8,7,7,9,0,1,24,24, + 24,255,24,24,24,3,5,5,9,3,253,224,224,96,96,192, + 8,1,1,9,0,4,255,4,3,3,9,2,255,96,240,96, + 8,10,10,9,0,0,3,6,6,12,24,24,48,96,96,192, + 8,10,10,9,0,0,24,60,102,195,195,195,195,102,60,24, + 6,10,10,9,1,0,48,112,240,48,48,48,48,48,48,252, + 8,10,10,9,0,0,60,102,195,3,6,12,24,48,96,255, + 8,10,10,9,0,0,124,198,3,6,28,6,3,3,198,124, + 8,10,10,9,0,0,6,14,30,54,102,198,255,6,6,6, + 8,10,10,9,0,0,254,192,192,220,230,3,3,195,102,60, + 8,10,10,9,0,0,60,102,194,192,220,230,195,195,102,60, + 8,10,10,9,0,0,255,3,3,6,12,12,24,24,24,24, + 8,10,10,9,0,0,60,102,195,102,60,102,195,195,102,60, + 8,10,10,9,0,0,60,102,195,195,103,59,3,67,102,60, + 4,8,8,9,2,255,96,240,96,0,0,96,240,96,4,10, + 10,9,2,253,96,240,96,0,0,112,112,48,48,96,6,10, + 10,9,1,0,12,24,48,96,192,192,96,48,24,12,8,4, + 4,9,0,2,255,0,0,255,6,10,10,9,1,0,192,96, + 48,24,12,12,24,48,96,192,7,10,10,9,1,0,124,198, + 198,6,12,24,48,0,48,48,8,10,10,9,0,0,60,102, + 195,207,219,219,206,192,99,62,8,10,10,9,0,0,24,60, + 102,195,195,195,255,195,195,195,8,10,10,9,0,0,252,198, + 195,198,252,198,195,195,198,252,8,10,10,9,0,0,62,99, + 193,192,192,192,192,193,99,62,8,10,10,9,0,0,252,198, + 195,195,195,195,195,195,198,252,7,10,10,9,1,0,254,192, + 192,192,252,192,192,192,192,254,8,10,10,9,0,0,255,192, + 192,192,252,192,192,192,192,192,8,10,10,9,0,0,62,99, + 192,192,192,199,195,195,99,62,8,10,10,9,0,0,195,195, + 195,195,255,195,195,195,195,195,6,10,10,9,1,0,252,48, + 48,48,48,48,48,48,48,252,6,10,10,9,1,0,60,12, + 12,12,12,12,12,140,216,112,8,10,10,9,0,0,195,198, + 204,216,240,240,216,204,198,195,7,10,10,9,1,0,192,192, + 192,192,192,192,192,192,192,254,8,10,10,9,0,0,195,231, + 255,219,219,219,195,195,195,195,8,10,10,9,0,0,195,227, + 243,243,219,219,207,199,199,195,8,10,10,9,0,0,60,102, + 195,195,195,195,195,195,102,60,8,10,10,9,0,0,254,195, + 195,195,254,192,192,192,192,192,8,10,10,9,0,0,60,102, + 195,195,195,195,219,207,102,61,8,10,10,9,0,0,254,195, + 195,195,254,248,204,198,195,195,8,10,10,9,0,0,126,195, + 192,192,126,3,3,3,195,126,8,10,10,9,0,0,255,24, + 24,24,24,24,24,24,24,24,8,10,10,9,0,0,195,195, + 195,195,195,195,195,195,102,60,8,10,10,9,0,0,195,195, + 195,102,102,102,60,60,24,24,8,10,10,9,0,0,195,195, + 195,195,219,219,219,255,231,195,8,10,10,9,0,0,195,195, + 102,60,24,24,60,102,195,195,8,10,10,9,0,0,195,195, + 102,60,24,24,24,24,24,24,7,10,10,9,1,0,254,6, + 6,12,24,48,96,192,192,254,5,12,12,9,2,255,248,192, + 192,192,192,192,192,192,192,192,192,248,8,10,10,9,0,0, + 192,96,96,48,24,24,12,6,6,3,5,12,12,9,2,255, + 248,24,24,24,24,24,24,24,24,24,24,248,6,4,4,9, + 1,6,48,120,204,132,8,1,1,9,0,255,255,4,3,3, + 9,2,8,192,96,48,8,7,7,9,0,0,62,99,3,127, + 195,199,123,8,10,10,9,0,0,192,192,192,220,230,195,195, + 195,230,220,8,7,7,9,0,0,62,99,192,192,192,99,62, + 8,10,10,9,0,0,3,3,3,59,103,195,195,195,103,59, + 8,7,7,9,0,0,60,102,195,255,192,99,62,8,10,10, + 9,0,0,30,51,51,48,48,252,48,48,48,48,8,10,10, + 9,0,253,125,199,198,198,124,192,126,195,195,126,8,10,10, + 9,0,0,192,192,192,220,230,195,195,195,195,195,6,10,10, + 9,1,0,48,48,0,112,48,48,48,48,48,252,7,13,13, + 9,1,253,6,6,0,30,6,6,6,6,6,198,198,198,124, + 7,10,10,9,1,0,192,192,192,204,216,240,240,216,204,198, + 6,10,10,9,1,0,112,48,48,48,48,48,48,48,48,252, + 8,7,7,9,0,0,182,219,219,219,219,219,219,8,7,7, + 9,0,0,220,230,195,195,195,195,195,8,7,7,9,0,0, + 60,102,195,195,195,102,60,8,10,10,9,0,253,220,230,195, + 195,195,230,220,192,192,192,8,10,10,9,0,253,59,103,195, + 195,195,103,59,3,3,3,8,7,7,9,0,0,222,115,96, + 96,96,96,96,8,7,7,9,0,0,126,195,192,126,3,195, + 126,8,9,9,9,0,0,48,48,252,48,48,48,48,51,30, + 8,7,7,9,0,0,195,195,195,195,195,103,59,8,7,7, + 9,0,0,195,195,102,102,60,60,24,8,7,7,9,0,0, + 195,195,219,219,219,255,102,8,7,7,9,0,0,195,102,60, + 24,60,102,195,8,10,10,9,0,253,195,195,195,195,195,103, + 59,3,198,124,6,7,7,9,1,0,252,12,24,48,96,192, + 252,5,12,12,9,2,255,56,96,96,96,96,192,192,96,96, + 96,96,56,2,10,10,9,3,0,192,192,192,192,192,192,192, + 192,192,192,5,12,12,9,2,255,224,48,48,48,48,24,24, + 48,48,48,48,224,8,3,3,9,0,7,115,219,206,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,255,255,255,255,255,255,255,0, + 0,0,9,0,12,2,10,10,9,4,0,192,0,192,192,192, + 192,192,192,192,192,7,8,8,9,1,0,4,124,206,208,208, + 230,124,64,8,10,10,9,0,255,30,51,48,48,124,48,48, + 248,191,224,7,7,7,9,1,2,198,254,108,68,108,254,198, + 8,10,10,9,0,0,195,195,102,60,126,24,126,24,24,24, + 2,11,11,9,4,255,192,192,192,192,192,0,0,192,192,192, + 192,6,11,11,9,1,255,120,204,192,120,204,204,204,120,12, + 204,120,6,2,2,9,1,9,204,204,8,11,11,9,0,0, + 60,126,195,189,165,161,165,189,195,126,60,5,7,7,9,1, + 3,240,24,248,152,248,0,248,8,8,8,9,0,1,27,54, + 108,216,216,108,54,27,7,5,5,9,1,2,254,254,6,6, + 6,6,1,1,9,1,4,252,8,11,11,9,0,0,60,126, + 195,189,165,189,169,173,195,126,60,6,2,2,9,1,9,252, + 252,6,4,4,9,2,6,120,204,204,120,8,10,10,9,0, + 0,24,24,24,255,255,24,24,24,255,255,5,7,7,9,1, + 4,112,152,24,48,96,192,248,5,7,7,9,1,4,112,152, + 24,48,24,152,112,4,3,3,9,2,8,48,96,192,7,10, + 10,9,1,253,198,198,198,198,198,238,250,192,192,192,7,10, + 10,9,1,0,126,254,246,246,246,118,54,54,54,54,3,3, + 3,9,3,3,64,224,64,5,3,3,9,2,253,24,216,112, + 4,7,7,9,1,4,96,224,96,96,96,96,240,5,6,6, + 9,1,4,112,216,216,112,0,248,8,8,8,9,0,1,216, + 108,54,27,27,54,108,216,8,11,11,9,0,0,96,224,96, + 96,97,99,247,15,27,31,3,8,11,11,9,0,0,96,224, + 96,96,110,115,243,6,12,24,31,8,11,11,9,0,0,112, + 152,24,48,25,155,119,15,27,31,3,7,10,10,9,1,0, + 24,24,0,24,48,96,192,198,198,124,8,12,12,9,0,0, + 96,48,24,0,60,102,195,195,255,195,195,195,8,12,12,9, + 0,0,6,12,24,0,60,102,195,195,255,195,195,195,8,12, + 12,9,0,0,24,60,102,0,60,102,195,195,255,195,195,195, + 8,12,12,9,0,0,50,126,76,0,60,102,195,195,255,195, + 195,195,8,11,11,9,0,0,102,102,0,60,102,195,195,255, + 195,195,195,8,12,12,9,0,0,24,36,36,24,60,102,195, + 195,255,195,195,195,8,10,10,9,0,0,31,60,108,108,204, + 255,204,204,204,207,8,13,13,9,0,253,62,99,193,192,192, + 192,192,193,99,62,12,108,56,7,12,12,9,1,0,96,48, + 24,0,254,192,192,252,192,192,192,254,7,12,12,9,1,0, + 12,24,48,0,254,192,192,252,192,192,192,254,7,12,12,9, + 1,0,24,60,102,0,254,192,192,252,192,192,192,254,7,11, + 11,9,1,0,102,102,0,254,192,192,252,192,192,192,254,6, + 12,12,9,1,0,192,96,48,0,252,48,48,48,48,48,48, + 252,6,12,12,9,1,0,24,48,96,0,252,48,48,48,48, + 48,48,252,6,12,12,9,1,0,48,120,204,0,252,48,48, + 48,48,48,48,252,6,11,11,9,1,0,204,204,0,252,48, + 48,48,48,48,48,252,9,10,20,9,0,0,126,0,99,0, + 97,128,97,128,249,128,249,128,97,128,97,128,99,0,126,0, + 8,12,12,9,0,0,50,126,76,0,195,227,243,251,223,207, + 199,195,8,12,12,9,0,0,96,48,24,0,60,102,195,195, + 195,195,102,60,8,12,12,9,0,0,6,12,24,0,60,102, + 195,195,195,195,102,60,8,12,12,9,0,0,24,60,102,0, + 60,102,195,195,195,195,102,60,8,12,12,9,0,0,50,126, + 76,0,60,102,195,195,195,195,102,60,8,11,11,9,0,0, + 102,102,0,60,102,195,195,195,195,102,60,7,8,8,9,1, + 0,130,198,108,56,56,108,198,130,8,12,12,9,0,255,1, + 63,102,199,203,203,211,211,227,102,252,128,8,12,12,9,0, + 0,96,48,24,0,195,195,195,195,195,195,102,60,8,12,12, + 9,0,0,6,12,24,0,195,195,195,195,195,195,102,60,8, + 12,12,9,0,0,24,60,102,0,195,195,195,195,195,195,102, + 60,8,11,11,9,0,0,102,102,0,195,195,195,195,195,195, + 102,60,8,12,12,9,0,0,6,12,24,0,195,102,60,24, + 24,24,24,24,7,10,10,9,1,0,240,96,124,102,102,102, + 124,96,96,240,7,10,10,9,1,0,60,102,198,204,216,204, + 198,198,198,220,8,11,11,9,0,0,96,48,24,0,62,67, + 3,127,195,199,123,8,11,11,9,0,0,12,24,48,0,62, + 67,3,127,195,199,123,8,11,11,9,0,0,24,60,102,0, + 62,67,3,127,195,199,123,8,11,11,9,0,0,50,126,76, + 0,62,67,3,127,195,199,123,8,10,10,9,0,0,102,102, + 0,62,67,3,127,195,199,123,8,11,11,9,0,0,24,36, + 36,24,62,67,3,127,195,199,123,8,7,7,9,0,0,118, + 155,27,126,216,217,110,8,10,10,9,0,253,62,99,192,192, + 192,99,62,12,108,56,8,11,11,9,0,0,96,48,24,0, + 60,102,195,255,192,99,62,8,11,11,9,0,0,12,24,48, + 0,60,102,195,255,192,99,62,8,11,11,9,0,0,24,60, + 102,0,60,102,195,255,192,99,62,8,10,10,9,0,0,102, + 102,0,60,102,195,255,192,99,62,6,11,11,9,1,0,192, + 96,48,0,112,48,48,48,48,48,252,6,11,11,9,1,0, + 24,48,96,0,112,48,48,48,48,48,252,6,11,11,9,1, + 0,48,120,204,0,112,48,48,48,48,48,252,6,10,10,9, + 1,0,204,204,0,112,48,48,48,48,48,252,8,12,12,9, + 0,0,136,216,112,112,216,140,62,103,195,195,102,60,8,11, + 11,9,0,0,50,126,76,0,220,230,195,195,195,195,195,8, + 11,11,9,0,0,96,48,24,0,60,102,195,195,195,102,60, + 8,11,11,9,0,0,12,24,48,0,60,102,195,195,195,102, + 60,8,11,11,9,0,0,24,60,102,0,60,102,195,195,195, + 102,60,8,11,11,9,0,0,50,126,76,0,60,102,195,195, + 195,102,60,8,10,10,9,0,0,102,102,0,60,102,195,195, + 195,102,60,8,10,10,9,0,0,24,24,0,0,255,255,0, + 0,24,24,8,9,9,9,0,255,1,63,102,207,219,243,102, + 252,128,8,11,11,9,0,0,96,48,24,0,195,195,195,195, + 195,103,59,8,11,11,9,0,0,12,24,48,0,195,195,195, + 195,195,103,59,8,11,11,9,0,0,24,60,102,0,195,195, + 195,195,195,103,59,8,10,10,9,0,0,102,102,0,195,195, + 195,195,195,103,59,8,14,14,9,0,253,12,24,48,0,195, + 195,195,195,195,103,59,3,198,124,7,12,12,9,1,253,224, + 96,96,124,102,102,102,102,124,96,96,224,8,13,13,9,0, + 253,102,102,0,195,195,195,195,195,103,59,3,198,124}; +/* + Fontname: -Misc-Fixed-Bold-R-Normal--15-140-75-75-C-90-ISO10646-1 + Copyright: Public domain font. Share and enjoy. + Capital A Height: 10, '1' Height: 10 + Calculated Max Values w= 8 h=13 x= 3 y=12 dx= 9 dy= 0 ascent=12 len=13 + Font Bounding box w= 9 h=15 x= 0 y=-3 + Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 + Pure Font ascent =10 descent=-3 + X Font ascent =11 descent=-3 + Max Font ascent =12 descent=-3 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_9x15Br[1423] U8G_FONT_SECTION("u8g_font_9x15Br") = { + 0,9,15,0,253,10,1,232,3,214,32,127,253,12,253,11, + 253,0,0,0,9,0,12,2,10,10,9,3,0,192,192,192, + 192,192,192,192,192,0,192,5,3,3,9,2,7,216,216,216, + 7,8,8,9,1,1,108,108,254,108,108,254,108,108,7,11, + 11,9,1,255,16,124,214,208,240,124,30,22,214,124,16,8, + 10,10,9,0,0,67,230,230,76,24,24,50,103,103,194,8, + 10,10,9,0,0,56,108,108,120,48,121,207,198,206,123,2, + 4,4,9,3,6,192,192,192,192,5,12,12,9,2,255,24, + 48,96,96,192,192,192,192,96,96,48,24,5,12,12,9,2, + 255,192,96,48,48,24,24,24,24,48,48,96,192,7,5,5, + 9,1,2,108,56,254,56,108,8,7,7,9,0,1,24,24, + 24,255,24,24,24,3,5,5,9,3,253,224,224,96,96,192, + 8,1,1,9,0,4,255,4,3,3,9,2,255,96,240,96, + 8,10,10,9,0,0,3,6,6,12,24,24,48,96,96,192, + 8,10,10,9,0,0,24,60,102,195,195,195,195,102,60,24, + 6,10,10,9,1,0,48,112,240,48,48,48,48,48,48,252, + 8,10,10,9,0,0,60,102,195,3,6,12,24,48,96,255, + 8,10,10,9,0,0,124,198,3,6,28,6,3,3,198,124, + 8,10,10,9,0,0,6,14,30,54,102,198,255,6,6,6, + 8,10,10,9,0,0,254,192,192,220,230,3,3,195,102,60, + 8,10,10,9,0,0,60,102,194,192,220,230,195,195,102,60, + 8,10,10,9,0,0,255,3,3,6,12,12,24,24,24,24, + 8,10,10,9,0,0,60,102,195,102,60,102,195,195,102,60, + 8,10,10,9,0,0,60,102,195,195,103,59,3,67,102,60, + 4,8,8,9,2,255,96,240,96,0,0,96,240,96,4,10, + 10,9,2,253,96,240,96,0,0,112,112,48,48,96,6,10, + 10,9,1,0,12,24,48,96,192,192,96,48,24,12,8,4, + 4,9,0,2,255,0,0,255,6,10,10,9,1,0,192,96, + 48,24,12,12,24,48,96,192,7,10,10,9,1,0,124,198, + 198,6,12,24,48,0,48,48,8,10,10,9,0,0,60,102, + 195,207,219,219,206,192,99,62,8,10,10,9,0,0,24,60, + 102,195,195,195,255,195,195,195,8,10,10,9,0,0,252,198, + 195,198,252,198,195,195,198,252,8,10,10,9,0,0,62,99, + 193,192,192,192,192,193,99,62,8,10,10,9,0,0,252,198, + 195,195,195,195,195,195,198,252,7,10,10,9,1,0,254,192, + 192,192,252,192,192,192,192,254,8,10,10,9,0,0,255,192, + 192,192,252,192,192,192,192,192,8,10,10,9,0,0,62,99, + 192,192,192,199,195,195,99,62,8,10,10,9,0,0,195,195, + 195,195,255,195,195,195,195,195,6,10,10,9,1,0,252,48, + 48,48,48,48,48,48,48,252,6,10,10,9,1,0,60,12, + 12,12,12,12,12,140,216,112,8,10,10,9,0,0,195,198, + 204,216,240,240,216,204,198,195,7,10,10,9,1,0,192,192, + 192,192,192,192,192,192,192,254,8,10,10,9,0,0,195,231, + 255,219,219,219,195,195,195,195,8,10,10,9,0,0,195,227, + 243,243,219,219,207,199,199,195,8,10,10,9,0,0,60,102, + 195,195,195,195,195,195,102,60,8,10,10,9,0,0,254,195, + 195,195,254,192,192,192,192,192,8,10,10,9,0,0,60,102, + 195,195,195,195,219,207,102,61,8,10,10,9,0,0,254,195, + 195,195,254,248,204,198,195,195,8,10,10,9,0,0,126,195, + 192,192,126,3,3,3,195,126,8,10,10,9,0,0,255,24, + 24,24,24,24,24,24,24,24,8,10,10,9,0,0,195,195, + 195,195,195,195,195,195,102,60,8,10,10,9,0,0,195,195, + 195,102,102,102,60,60,24,24,8,10,10,9,0,0,195,195, + 195,195,219,219,219,255,231,195,8,10,10,9,0,0,195,195, + 102,60,24,24,60,102,195,195,8,10,10,9,0,0,195,195, + 102,60,24,24,24,24,24,24,7,10,10,9,1,0,254,6, + 6,12,24,48,96,192,192,254,5,12,12,9,2,255,248,192, + 192,192,192,192,192,192,192,192,192,248,8,10,10,9,0,0, + 192,96,96,48,24,24,12,6,6,3,5,12,12,9,2,255, + 248,24,24,24,24,24,24,24,24,24,24,248,6,4,4,9, + 1,6,48,120,204,132,8,1,1,9,0,255,255,4,3,3, + 9,2,8,192,96,48,8,7,7,9,0,0,62,99,3,127, + 195,199,123,8,10,10,9,0,0,192,192,192,220,230,195,195, + 195,230,220,8,7,7,9,0,0,62,99,192,192,192,99,62, + 8,10,10,9,0,0,3,3,3,59,103,195,195,195,103,59, + 8,7,7,9,0,0,60,102,195,255,192,99,62,8,10,10, + 9,0,0,30,51,51,48,48,252,48,48,48,48,8,10,10, + 9,0,253,125,199,198,198,124,192,126,195,195,126,8,10,10, + 9,0,0,192,192,192,220,230,195,195,195,195,195,6,10,10, + 9,1,0,48,48,0,112,48,48,48,48,48,252,7,13,13, + 9,1,253,6,6,0,30,6,6,6,6,6,198,198,198,124, + 7,10,10,9,1,0,192,192,192,204,216,240,240,216,204,198, + 6,10,10,9,1,0,112,48,48,48,48,48,48,48,48,252, + 8,7,7,9,0,0,182,219,219,219,219,219,219,8,7,7, + 9,0,0,220,230,195,195,195,195,195,8,7,7,9,0,0, + 60,102,195,195,195,102,60,8,10,10,9,0,253,220,230,195, + 195,195,230,220,192,192,192,8,10,10,9,0,253,59,103,195, + 195,195,103,59,3,3,3,8,7,7,9,0,0,222,115,96, + 96,96,96,96,8,7,7,9,0,0,126,195,192,126,3,195, + 126,8,9,9,9,0,0,48,48,252,48,48,48,48,51,30, + 8,7,7,9,0,0,195,195,195,195,195,103,59,8,7,7, + 9,0,0,195,195,102,102,60,60,24,8,7,7,9,0,0, + 195,195,219,219,219,255,102,8,7,7,9,0,0,195,102,60, + 24,60,102,195,8,10,10,9,0,253,195,195,195,195,195,103, + 59,3,198,124,6,7,7,9,1,0,252,12,24,48,96,192, + 252,5,12,12,9,2,255,56,96,96,96,96,192,192,96,96, + 96,96,56,2,10,10,9,3,0,192,192,192,192,192,192,192, + 192,192,192,5,12,12,9,2,255,224,48,48,48,48,24,24, + 48,48,48,48,224,8,3,3,9,0,7,115,219,206,255}; +/* + Fontname: -Misc-Fixed-Medium-R-Normal--15-140-75-75-C-90-ISO10646-1 + Copyright: Public domain font. Share and enjoy. + Capital A Height: 10, '1' Height: 10 + Calculated Max Values w= 8 h=14 x= 4 y=12 dx= 9 dy= 0 ascent=12 len=14 + Font Bounding box w= 9 h=15 x= 0 y=-3 + Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 + Pure Font ascent =10 descent=-3 + X Font ascent =11 descent=-3 + Max Font ascent =12 descent=-3 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_9x15[2959] U8G_FONT_SECTION("u8g_font_9x15") = { + 0,9,15,0,253,10,1,232,3,216,32,255,253,12,253,11, + 253,0,0,0,9,0,12,1,11,11,9,4,0,128,128,128, + 128,128,128,128,0,0,128,128,4,3,3,9,3,7,144,144, + 144,6,8,8,9,1,1,72,72,252,72,72,252,72,72,7, + 11,11,9,1,255,16,124,146,144,80,56,20,18,146,124,16, + 7,10,10,9,1,0,66,164,164,72,16,16,36,74,74,132, + 7,10,10,9,1,0,96,144,144,144,96,98,148,136,148,98, + 1,3,3,9,4,7,128,128,128,3,12,12,9,3,255,32, + 64,64,128,128,128,128,128,128,64,64,32,3,12,12,9,3, + 255,128,64,64,32,32,32,32,32,32,64,64,128,7,7,7, + 9,1,3,16,146,84,56,84,146,16,7,7,7,9,1,1, + 16,16,16,254,16,16,16,2,5,5,9,4,253,192,192,64, + 64,128,7,1,1,9,1,4,254,2,2,2,9,4,0,192, + 192,7,10,10,9,1,0,2,4,4,8,16,16,32,64,64, + 128,7,10,10,9,1,0,56,68,130,130,130,130,130,130,68, + 56,7,10,10,9,1,0,16,48,80,144,16,16,16,16,16, + 254,7,10,10,9,1,0,124,130,130,4,8,16,32,64,128, + 254,7,10,10,9,1,0,254,2,4,8,28,2,2,2,130, + 124,7,10,10,9,1,0,4,12,20,36,68,132,254,4,4, + 4,7,10,10,9,1,0,254,128,128,188,194,2,2,2,130, + 124,7,10,10,9,1,0,60,64,128,128,188,194,130,130,130, + 124,7,10,10,9,1,0,254,2,4,4,8,8,16,16,32, + 32,7,10,10,9,1,0,56,68,130,68,56,68,130,130,68, + 56,7,10,10,9,1,0,124,130,130,130,134,122,2,2,4, + 120,2,7,7,9,4,0,192,192,0,0,0,192,192,2,10, + 10,9,4,253,192,192,0,0,0,192,192,64,64,128,5,10, + 10,9,2,0,8,16,32,64,128,128,64,32,16,8,7,4, + 4,9,1,2,254,0,0,254,5,10,10,9,2,0,128,64, + 32,16,8,8,16,32,64,128,7,10,10,9,1,0,124,130, + 130,2,4,8,16,16,0,16,7,10,10,9,1,0,124,130, + 130,158,162,166,154,128,128,124,7,10,10,9,1,0,16,40, + 68,130,130,130,254,130,130,130,7,10,10,9,1,0,248,132, + 130,132,248,132,130,130,132,248,7,10,10,9,1,0,124,130, + 128,128,128,128,128,128,130,124,7,10,10,9,1,0,248,132, + 130,130,130,130,130,130,132,248,7,10,10,9,1,0,254,128, + 128,128,248,128,128,128,128,254,7,10,10,9,1,0,254,128, + 128,128,248,128,128,128,128,128,7,10,10,9,1,0,124,130, + 128,128,128,142,130,130,130,124,7,10,10,9,1,0,130,130, + 130,130,254,130,130,130,130,130,5,10,10,9,2,0,248,32, + 32,32,32,32,32,32,32,248,8,10,10,9,1,0,31,4, + 4,4,4,4,4,4,132,120,7,10,10,9,1,0,130,132, + 136,144,224,160,144,136,132,130,7,10,10,9,1,0,128,128, + 128,128,128,128,128,128,128,254,7,10,10,9,1,0,130,130, + 198,170,170,146,146,130,130,130,7,10,10,9,1,0,130,130, + 194,162,146,138,134,130,130,130,7,10,10,9,1,0,124,130, + 130,130,130,130,130,130,130,124,7,10,10,9,1,0,252,130, + 130,130,252,128,128,128,128,128,7,12,12,9,1,254,124,130, + 130,130,130,130,130,162,146,124,8,6,7,10,10,9,1,0, + 252,130,130,130,252,144,136,132,130,130,7,10,10,9,1,0, + 124,130,130,128,112,12,2,130,130,124,7,10,10,9,1,0, + 254,16,16,16,16,16,16,16,16,16,7,10,10,9,1,0, + 130,130,130,130,130,130,130,130,130,124,7,10,10,9,1,0, + 130,130,130,68,68,68,40,40,40,16,7,10,10,9,1,0, + 130,130,130,130,146,146,146,146,170,68,7,10,10,9,1,0, + 130,130,68,40,16,16,40,68,130,130,7,10,10,9,1,0, + 130,130,68,40,16,16,16,16,16,16,7,10,10,9,1,0, + 254,2,4,8,16,32,64,128,128,254,4,12,12,9,3,255, + 240,128,128,128,128,128,128,128,128,128,128,240,7,10,10,9, + 1,0,128,64,64,32,16,16,8,4,4,2,4,12,12,9, + 2,255,240,16,16,16,16,16,16,16,16,16,16,240,7,4, + 4,9,1,6,16,40,68,130,8,1,1,9,0,255,255,3, + 3,3,9,3,8,128,64,32,7,7,7,9,1,0,124,2, + 2,126,130,134,122,7,10,10,9,1,0,128,128,128,188,194, + 130,130,130,194,188,7,7,7,9,1,0,124,130,128,128,128, + 130,124,7,10,10,9,1,0,2,2,2,122,134,130,130,130, + 134,122,7,7,7,9,1,0,124,130,130,254,128,128,124,7, + 10,10,9,1,0,28,34,34,32,32,248,32,32,32,32,7, + 10,10,9,1,253,122,132,132,132,120,128,124,130,130,124,7, + 10,10,9,1,0,128,128,128,188,194,130,130,130,130,130,5, + 10,10,9,2,0,96,0,0,224,32,32,32,32,32,248,6, + 13,13,9,1,253,12,0,0,28,4,4,4,4,4,132,132, + 132,120,7,10,10,9,1,0,128,128,128,130,140,176,192,176, + 140,130,5,10,10,9,2,0,224,32,32,32,32,32,32,32, + 32,248,7,7,7,9,1,0,236,146,146,146,146,146,130,7, + 7,7,9,1,0,188,194,130,130,130,130,130,7,7,7,9, + 1,0,124,130,130,130,130,130,124,7,10,10,9,1,253,188, + 194,130,130,130,194,188,128,128,128,7,10,10,9,1,253,122, + 134,130,130,130,134,122,2,2,2,7,7,7,9,1,0,156, + 98,66,64,64,64,64,7,7,7,9,1,0,124,130,128,124, + 2,130,124,7,9,9,9,1,0,32,32,252,32,32,32,32, + 34,28,7,7,7,9,1,0,132,132,132,132,132,132,122,7, + 7,7,9,1,0,130,130,68,68,40,40,16,7,7,7,9, + 1,0,130,130,146,146,146,170,68,7,7,7,9,1,0,130, + 68,40,16,40,68,130,6,10,10,9,1,253,132,132,132,132, + 132,140,116,4,132,120,7,7,7,9,1,0,254,4,8,16, + 32,64,254,5,12,12,9,3,255,56,64,64,64,32,192,192, + 32,64,64,64,56,1,12,12,9,4,255,128,128,128,128,128, + 128,128,128,128,128,128,128,5,12,12,9,1,255,224,16,16, + 16,32,24,24,32,16,16,16,224,7,3,3,9,1,7,98, + 146,140,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,255,255,255,255, + 255,255,255,0,0,0,9,0,12,1,11,11,9,4,0,128, + 128,0,0,128,128,128,128,128,128,128,6,8,8,9,1,0, + 8,120,148,144,160,164,120,64,7,10,10,9,1,0,28,34, + 32,32,248,32,32,96,162,92,7,6,6,9,1,3,130,124, + 68,68,124,130,7,10,10,9,1,0,130,130,68,40,124,16, + 124,16,16,16,1,11,11,9,4,255,128,128,128,128,128,0, + 128,128,128,128,128,4,11,11,9,2,255,96,144,128,96,144, + 144,144,96,16,144,96,5,2,2,9,2,9,136,136,8,9, + 9,9,0,1,60,66,153,165,161,165,153,66,60,5,7,7, + 9,1,3,96,144,112,144,120,0,248,7,8,8,9,1,1, + 18,36,72,144,144,72,36,18,6,4,4,9,1,2,252,4, + 4,4,5,1,1,9,2,4,248,8,9,9,9,0,1,60, + 66,185,165,185,169,165,66,60,6,1,1,9,1,9,252,4, + 4,4,9,3,6,96,144,144,96,7,9,9,9,1,1,16, + 16,16,254,16,16,16,0,254,4,6,6,9,1,4,96,144, + 16,96,128,240,4,6,6,9,1,4,96,144,32,16,144,96, + 3,3,3,9,3,8,32,64,128,7,9,9,9,1,254,130, + 130,130,130,130,198,186,128,128,7,10,10,9,1,0,126,138, + 138,138,122,10,10,10,10,10,2,2,2,9,4,4,192,192, + 4,3,3,9,2,253,48,144,96,3,6,6,9,1,4,64, + 192,64,64,64,224,5,6,6,9,1,4,112,136,136,112,0, + 248,7,8,8,9,1,1,144,72,36,18,18,36,72,144,7, + 10,10,9,1,0,64,192,64,64,66,230,10,18,26,6,7, + 10,10,9,1,0,64,192,64,64,76,242,2,12,16,30,7, + 10,10,9,1,0,96,144,32,16,146,102,10,18,26,6,7, + 10,10,9,1,0,16,0,16,16,32,64,128,130,130,124,7, + 12,12,9,1,0,64,32,16,0,56,68,130,130,254,130,130, + 130,7,12,12,9,1,0,4,8,16,0,56,68,130,130,254, + 130,130,130,7,12,12,9,1,0,16,40,68,0,56,68,130, + 130,254,130,130,130,7,11,11,9,1,0,98,156,0,56,68, + 130,130,254,130,130,130,7,11,11,9,1,0,68,68,0,56, + 68,130,130,254,130,130,130,7,11,11,9,1,0,56,68,56, + 40,68,130,130,254,130,130,130,7,10,10,9,1,0,110,144, + 144,144,144,252,144,144,144,158,7,13,13,9,1,253,124,130, + 128,128,128,128,128,128,130,124,24,72,48,7,12,12,9,1, + 0,64,32,16,0,254,64,64,120,64,64,64,254,7,12,12, + 9,1,0,4,8,16,0,254,64,64,120,64,64,64,254,7, + 12,12,9,1,0,16,40,68,0,254,64,64,120,64,64,64, + 254,7,11,11,9,1,0,68,68,0,254,64,64,120,64,64, + 64,254,5,12,12,9,2,0,128,64,32,0,248,32,32,32, + 32,32,32,248,5,12,12,9,2,0,8,16,32,0,248,32, + 32,32,32,32,32,248,5,12,12,9,2,0,32,80,136,0, + 248,32,32,32,32,32,32,248,5,11,11,9,2,0,136,136, + 0,248,32,32,32,32,32,32,248,8,10,10,9,0,0,124, + 66,65,65,225,65,65,65,66,124,7,11,11,9,1,0,98, + 156,0,130,194,162,146,146,138,134,130,7,12,12,9,1,0, + 64,32,16,0,124,130,130,130,130,130,130,124,7,12,12,9, + 1,0,4,8,16,0,124,130,130,130,130,130,130,124,7,12, + 12,9,1,0,16,40,68,0,124,130,130,130,130,130,130,124, + 7,11,11,9,1,0,98,156,0,124,130,130,130,130,130,130, + 124,7,11,11,9,1,0,68,68,0,124,130,130,130,130,130, + 130,124,7,7,7,9,1,1,130,68,40,16,40,68,130,7, + 12,12,9,1,255,2,124,134,138,138,146,146,162,162,194,124, + 128,7,12,12,9,1,0,64,32,16,0,130,130,130,130,130, + 130,130,124,7,12,12,9,1,0,4,8,16,0,130,130,130, + 130,130,130,130,124,7,12,12,9,1,0,16,40,68,0,130, + 130,130,130,130,130,130,124,7,11,11,9,1,0,68,68,0, + 130,130,130,130,130,130,130,124,7,12,12,9,1,0,4,8, + 16,0,130,130,68,40,16,16,16,16,7,10,10,9,1,0, + 128,128,252,130,130,130,252,128,128,128,6,10,10,9,1,0, + 56,68,68,72,208,72,68,68,68,88,7,11,11,9,1,0, + 32,16,8,0,124,2,2,126,130,134,122,7,11,11,9,1, + 0,4,8,16,0,124,2,2,126,130,134,122,7,11,11,9, + 1,0,16,40,68,0,124,2,2,126,130,134,122,7,10,10, + 9,1,0,50,76,0,124,2,2,126,130,134,122,7,10,10, + 9,1,0,68,68,0,124,2,2,126,130,134,122,7,11,11, + 9,1,0,24,36,24,0,124,2,2,126,130,134,122,7,7, + 7,9,1,0,108,146,18,124,144,146,110,7,10,10,9,1, + 253,124,130,128,128,128,130,124,24,72,48,7,11,11,9,1, + 0,64,32,16,0,124,130,130,254,128,128,124,7,11,11,9, + 1,0,4,8,16,0,124,130,130,254,128,128,124,7,11,11, + 9,1,0,16,40,68,0,124,130,130,254,128,128,124,7,10, + 10,9,1,0,68,68,0,124,130,130,254,128,128,124,5,11, + 11,9,2,0,128,64,32,0,224,32,32,32,32,32,248,5, + 11,11,9,2,0,16,32,64,0,224,32,32,32,32,32,248, + 6,11,11,9,1,0,32,80,136,0,112,16,16,16,16,16, + 124,5,10,10,9,2,0,144,144,0,224,32,32,32,32,32, + 248,7,11,11,9,1,0,72,48,80,8,124,130,130,130,130, + 130,124,7,10,10,9,1,0,98,156,0,188,194,130,130,130, + 130,130,7,11,11,9,1,0,64,32,16,0,124,130,130,130, + 130,130,124,7,11,11,9,1,0,4,8,16,0,124,130,130, + 130,130,130,124,7,11,11,9,1,0,16,40,68,0,124,130, + 130,130,130,130,124,7,10,10,9,1,0,98,156,0,124,130, + 130,130,130,130,124,7,10,10,9,1,0,68,68,0,124,130, + 130,130,130,130,124,7,9,9,9,1,0,16,56,16,0,254, + 0,16,56,16,7,9,9,9,1,255,2,124,138,138,146,162, + 162,124,128,7,11,11,9,1,0,64,32,16,0,132,132,132, + 132,132,132,122,7,11,11,9,1,0,4,8,16,0,132,132, + 132,132,132,132,122,7,11,11,9,1,0,16,40,68,0,132, + 132,132,132,132,132,122,7,10,10,9,1,0,72,72,0,132, + 132,132,132,132,132,122,6,14,14,9,1,253,8,16,32,0, + 132,132,132,132,132,140,116,4,132,120,7,12,12,9,1,253, + 128,128,128,188,194,130,130,194,188,128,128,128,6,13,13,9, + 1,253,72,72,0,132,132,132,132,132,140,116,4,132,120}; +/* + Fontname: -Misc-Fixed-Medium-R-Normal--15-140-75-75-C-90-ISO10646-1 + Copyright: Public domain font. Share and enjoy. + Capital A Height: 10, '1' Height: 10 + Calculated Max Values w= 8 h=13 x= 4 y=12 dx= 9 dy= 0 ascent=12 len=13 + Font Bounding box w= 9 h=15 x= 0 y=-3 + Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 + Pure Font ascent =10 descent=-3 + X Font ascent =11 descent=-3 + Max Font ascent =12 descent=-3 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_9x15r[1427] U8G_FONT_SECTION("u8g_font_9x15r") = { + 0,9,15,0,253,10,1,232,3,216,32,127,253,12,253,11, + 253,0,0,0,9,0,12,1,11,11,9,4,0,128,128,128, + 128,128,128,128,0,0,128,128,4,3,3,9,3,7,144,144, + 144,6,8,8,9,1,1,72,72,252,72,72,252,72,72,7, + 11,11,9,1,255,16,124,146,144,80,56,20,18,146,124,16, + 7,10,10,9,1,0,66,164,164,72,16,16,36,74,74,132, + 7,10,10,9,1,0,96,144,144,144,96,98,148,136,148,98, + 1,3,3,9,4,7,128,128,128,3,12,12,9,3,255,32, + 64,64,128,128,128,128,128,128,64,64,32,3,12,12,9,3, + 255,128,64,64,32,32,32,32,32,32,64,64,128,7,7,7, + 9,1,3,16,146,84,56,84,146,16,7,7,7,9,1,1, + 16,16,16,254,16,16,16,2,5,5,9,4,253,192,192,64, + 64,128,7,1,1,9,1,4,254,2,2,2,9,4,0,192, + 192,7,10,10,9,1,0,2,4,4,8,16,16,32,64,64, + 128,7,10,10,9,1,0,56,68,130,130,130,130,130,130,68, + 56,7,10,10,9,1,0,16,48,80,144,16,16,16,16,16, + 254,7,10,10,9,1,0,124,130,130,4,8,16,32,64,128, + 254,7,10,10,9,1,0,254,2,4,8,28,2,2,2,130, + 124,7,10,10,9,1,0,4,12,20,36,68,132,254,4,4, + 4,7,10,10,9,1,0,254,128,128,188,194,2,2,2,130, + 124,7,10,10,9,1,0,60,64,128,128,188,194,130,130,130, + 124,7,10,10,9,1,0,254,2,4,4,8,8,16,16,32, + 32,7,10,10,9,1,0,56,68,130,68,56,68,130,130,68, + 56,7,10,10,9,1,0,124,130,130,130,134,122,2,2,4, + 120,2,7,7,9,4,0,192,192,0,0,0,192,192,2,10, + 10,9,4,253,192,192,0,0,0,192,192,64,64,128,5,10, + 10,9,2,0,8,16,32,64,128,128,64,32,16,8,7,4, + 4,9,1,2,254,0,0,254,5,10,10,9,2,0,128,64, + 32,16,8,8,16,32,64,128,7,10,10,9,1,0,124,130, + 130,2,4,8,16,16,0,16,7,10,10,9,1,0,124,130, + 130,158,162,166,154,128,128,124,7,10,10,9,1,0,16,40, + 68,130,130,130,254,130,130,130,7,10,10,9,1,0,248,132, + 130,132,248,132,130,130,132,248,7,10,10,9,1,0,124,130, + 128,128,128,128,128,128,130,124,7,10,10,9,1,0,248,132, + 130,130,130,130,130,130,132,248,7,10,10,9,1,0,254,128, + 128,128,248,128,128,128,128,254,7,10,10,9,1,0,254,128, + 128,128,248,128,128,128,128,128,7,10,10,9,1,0,124,130, + 128,128,128,142,130,130,130,124,7,10,10,9,1,0,130,130, + 130,130,254,130,130,130,130,130,5,10,10,9,2,0,248,32, + 32,32,32,32,32,32,32,248,8,10,10,9,1,0,31,4, + 4,4,4,4,4,4,132,120,7,10,10,9,1,0,130,132, + 136,144,224,160,144,136,132,130,7,10,10,9,1,0,128,128, + 128,128,128,128,128,128,128,254,7,10,10,9,1,0,130,130, + 198,170,170,146,146,130,130,130,7,10,10,9,1,0,130,130, + 194,162,146,138,134,130,130,130,7,10,10,9,1,0,124,130, + 130,130,130,130,130,130,130,124,7,10,10,9,1,0,252,130, + 130,130,252,128,128,128,128,128,7,12,12,9,1,254,124,130, + 130,130,130,130,130,162,146,124,8,6,7,10,10,9,1,0, + 252,130,130,130,252,144,136,132,130,130,7,10,10,9,1,0, + 124,130,130,128,112,12,2,130,130,124,7,10,10,9,1,0, + 254,16,16,16,16,16,16,16,16,16,7,10,10,9,1,0, + 130,130,130,130,130,130,130,130,130,124,7,10,10,9,1,0, + 130,130,130,68,68,68,40,40,40,16,7,10,10,9,1,0, + 130,130,130,130,146,146,146,146,170,68,7,10,10,9,1,0, + 130,130,68,40,16,16,40,68,130,130,7,10,10,9,1,0, + 130,130,68,40,16,16,16,16,16,16,7,10,10,9,1,0, + 254,2,4,8,16,32,64,128,128,254,4,12,12,9,3,255, + 240,128,128,128,128,128,128,128,128,128,128,240,7,10,10,9, + 1,0,128,64,64,32,16,16,8,4,4,2,4,12,12,9, + 2,255,240,16,16,16,16,16,16,16,16,16,16,240,7,4, + 4,9,1,6,16,40,68,130,8,1,1,9,0,255,255,3, + 3,3,9,3,8,128,64,32,7,7,7,9,1,0,124,2, + 2,126,130,134,122,7,10,10,9,1,0,128,128,128,188,194, + 130,130,130,194,188,7,7,7,9,1,0,124,130,128,128,128, + 130,124,7,10,10,9,1,0,2,2,2,122,134,130,130,130, + 134,122,7,7,7,9,1,0,124,130,130,254,128,128,124,7, + 10,10,9,1,0,28,34,34,32,32,248,32,32,32,32,7, + 10,10,9,1,253,122,132,132,132,120,128,124,130,130,124,7, + 10,10,9,1,0,128,128,128,188,194,130,130,130,130,130,5, + 10,10,9,2,0,96,0,0,224,32,32,32,32,32,248,6, + 13,13,9,1,253,12,0,0,28,4,4,4,4,4,132,132, + 132,120,7,10,10,9,1,0,128,128,128,130,140,176,192,176, + 140,130,5,10,10,9,2,0,224,32,32,32,32,32,32,32, + 32,248,7,7,7,9,1,0,236,146,146,146,146,146,130,7, + 7,7,9,1,0,188,194,130,130,130,130,130,7,7,7,9, + 1,0,124,130,130,130,130,130,124,7,10,10,9,1,253,188, + 194,130,130,130,194,188,128,128,128,7,10,10,9,1,253,122, + 134,130,130,130,134,122,2,2,2,7,7,7,9,1,0,156, + 98,66,64,64,64,64,7,7,7,9,1,0,124,130,128,124, + 2,130,124,7,9,9,9,1,0,32,32,252,32,32,32,32, + 34,28,7,7,7,9,1,0,132,132,132,132,132,132,122,7, + 7,7,9,1,0,130,130,68,68,40,40,16,7,7,7,9, + 1,0,130,130,146,146,146,170,68,7,7,7,9,1,0,130, + 68,40,16,40,68,130,6,10,10,9,1,253,132,132,132,132, + 132,140,116,4,132,120,7,7,7,9,1,0,254,4,8,16, + 32,64,254,5,12,12,9,3,255,56,64,64,64,32,192,192, + 32,64,64,64,56,1,12,12,9,4,255,128,128,128,128,128, + 128,128,128,128,128,128,128,5,12,12,9,1,255,224,16,16, + 16,32,24,24,32,16,16,16,224,7,3,3,9,1,7,98, + 146,140,255}; +/* + Fontname: -Misc-Fixed-Medium-R-Normal--18-120-100-100-C-90-ISO10646-1 + Copyright: Public domain font. Share and enjoy. + Capital A Height: 4, '1' Height: 10 + Calculated Max Values w= 9 h=18 x= 8 y=12 dx= 9 dy= 0 ascent=14 len=36 + Font Bounding box w= 9 h=18 x= 0 y=-4 + Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 + Pure Font ascent = 4 descent= 0 + X Font ascent =10 descent= 0 + Max Font ascent =14 descent=-4 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_9x18_67_75[3936] U8G_FONT_SECTION("u8g_font_9x18_67_75") = { + 0,9,18,0,252,4,1,255,4,34,32,255,0,14,252,10, + 0,8,7,7,9,0,1,72,36,18,255,18,36,72,7,10, + 10,9,1,0,16,16,16,146,84,56,146,84,56,16,7,7, + 7,9,1,1,16,34,68,248,68,34,16,7,7,7,9,1, + 1,16,136,68,62,68,136,16,7,7,7,9,1,1,16,34, + 66,254,66,34,16,7,10,10,9,1,0,16,56,84,146,16, + 16,16,16,16,124,7,7,7,9,1,1,16,136,132,254,132, + 136,16,7,10,10,9,1,0,124,16,16,16,16,16,146,84, + 56,16,7,10,10,9,1,0,16,56,84,146,16,146,84,56, + 16,254,8,7,7,9,0,1,16,34,65,254,64,32,16,8, + 7,7,9,0,1,8,68,130,127,2,4,8,8,7,7,9, + 0,1,16,34,69,254,68,36,16,8,7,7,9,0,1,8, + 68,162,127,34,36,8,9,5,10,9,0,2,34,0,73,0, + 247,128,65,0,34,0,9,5,10,9,0,2,34,0,73,0, + 255,128,73,0,34,0,5,10,10,9,2,0,32,64,72,184, + 200,16,16,160,120,32,6,10,10,9,1,0,32,64,252,68, + 36,4,4,4,4,4,7,10,10,9,1,0,8,4,254,132, + 136,128,128,128,128,128,6,10,10,9,1,0,4,4,4,4, + 4,36,68,252,64,32,7,10,10,9,1,0,128,128,128,128, + 128,136,132,254,4,8,7,8,8,9,1,0,248,8,8,8, + 8,42,28,8,7,8,8,9,1,1,2,2,2,34,66,254, + 64,32,9,7,14,9,0,2,14,0,17,0,32,128,32,128, + 168,128,112,0,32,0,9,7,14,9,0,2,56,0,68,0, + 130,0,130,0,138,128,7,0,2,0,7,10,10,9,1,0, + 254,64,112,96,80,8,8,4,2,2,7,9,9,9,1,0, + 144,160,254,160,146,10,254,10,18,9,7,14,9,0,1,50, + 0,71,0,138,128,130,0,130,0,68,0,56,0,9,7,14, + 9,0,1,38,0,113,0,168,128,32,128,32,128,17,0,14, + 0,7,4,4,9,1,3,16,32,64,254,7,4,4,9,1, + 0,254,64,32,16,4,10,10,9,4,0,128,192,160,144,128, + 128,128,128,128,128,4,10,10,9,1,0,16,48,80,144,16, + 16,16,16,16,16,7,4,4,9,1,3,16,8,4,254,7, + 4,4,9,1,0,254,4,8,16,4,10,10,9,4,0,128, + 128,128,128,128,128,144,160,192,128,4,10,10,9,1,0,16, + 16,16,16,16,16,144,80,48,16,7,9,9,9,1,0,8, + 4,254,4,40,64,254,64,32,9,10,20,9,0,0,34,0, + 114,0,170,0,34,0,34,0,34,0,34,0,42,128,39,0, + 34,0,7,9,9,9,1,0,32,64,254,64,40,4,254,4, + 8,7,10,10,9,1,0,32,64,254,64,32,32,64,254,64, + 32,9,10,20,9,0,0,34,0,119,0,170,128,34,0,34, + 0,34,0,34,0,34,0,34,0,34,0,7,10,10,9,1, + 0,8,4,254,4,8,8,4,254,4,8,9,10,20,9,0, + 0,34,0,34,0,34,0,34,0,34,0,34,0,34,0,170, + 128,119,0,34,0,7,7,7,9,1,1,32,64,254,0,254, + 4,8,7,7,7,9,1,1,8,4,254,0,254,64,32,9, + 7,14,9,0,1,16,0,33,0,127,128,130,0,127,128,36, + 0,16,0,9,7,14,9,0,1,20,0,34,0,127,0,136, + 128,127,0,34,0,20,0,9,7,14,9,0,1,4,0,18, + 0,255,0,32,128,255,0,66,0,4,0,9,7,14,9,0, + 1,16,0,32,0,127,128,128,0,127,128,32,0,16,0,7, + 10,10,9,1,0,16,40,108,170,40,40,40,40,40,40,9, + 7,14,9,0,1,4,0,2,0,255,0,0,128,255,0,2, + 0,4,0,7,10,10,9,1,0,40,40,40,40,40,40,170, + 108,40,16,9,7,14,9,0,1,20,0,34,0,127,0,128, + 128,127,0,34,0,20,0,7,10,10,9,1,0,16,40,108, + 170,40,40,170,108,40,16,7,7,7,9,1,1,252,144,136, + 196,162,144,8,7,7,7,9,1,1,126,18,34,70,138,18, + 32,7,7,7,9,1,1,32,18,138,70,34,18,126,7,7, + 7,9,1,1,8,144,162,196,136,144,252,9,9,18,9,0, + 0,8,0,16,0,63,128,64,0,255,128,64,0,63,128,16, + 0,8,0,9,9,18,9,0,0,8,0,4,0,254,0,1, + 0,255,128,1,0,254,0,4,0,8,0,8,7,7,9,0, + 1,16,32,72,245,66,32,16,8,7,7,9,0,1,8,4, + 18,175,66,4,8,7,10,10,9,1,0,16,56,84,146,16, + 124,16,124,16,16,7,10,10,9,1,0,16,16,124,16,124, + 16,146,84,56,16,7,7,7,9,1,1,16,32,64,182,64, + 32,16,7,10,10,9,1,0,16,40,84,146,0,16,16,0, + 16,16,7,7,7,9,1,1,16,8,4,218,4,8,16,7, + 10,10,9,1,0,16,16,0,16,16,0,146,84,40,16,7, + 5,5,9,1,2,144,160,254,160,144,7,5,5,9,1,2, + 18,10,254,10,18,9,7,14,9,0,1,16,0,48,0,95, + 128,128,128,95,128,48,0,16,0,7,10,10,9,1,0,16, + 40,68,238,40,40,40,40,40,56,9,7,14,9,0,1,4, + 0,6,0,253,0,128,128,253,0,6,0,4,0,7,10,10, + 9,1,0,56,40,40,40,40,40,238,68,40,16,7,11,11, + 9,1,0,16,40,68,238,40,40,56,0,56,40,56,7,11, + 11,9,1,255,16,40,68,238,40,40,40,40,108,68,124,7, + 11,11,9,1,255,16,40,68,254,40,40,40,40,108,68,124, + 7,11,11,9,1,255,16,40,68,254,56,56,56,56,124,68, + 124,7,10,10,9,1,0,16,40,68,238,68,238,40,40,40, + 56,7,11,11,9,1,255,16,40,68,238,68,238,40,40,108, + 68,124,9,7,14,9,0,1,132,0,134,0,253,0,128,128, + 253,0,134,0,132,0,7,7,7,9,1,0,252,128,184,176, + 168,132,2,7,7,7,9,1,0,128,66,42,26,58,2,126, + 7,11,11,9,1,255,16,40,68,238,40,40,40,238,68,40, + 16,9,7,14,9,0,1,4,0,50,0,73,0,255,128,73, + 0,50,0,4,0,9,10,20,9,0,0,34,0,39,0,42, + 128,34,0,34,0,34,0,34,0,170,0,114,0,34,0,7, + 13,13,9,1,254,8,4,254,4,8,4,254,4,8,4,254, + 4,8,8,5,5,9,0,2,36,68,255,68,36,8,5,5, + 9,0,2,36,34,255,34,36,9,5,10,9,0,2,42,0, + 73,0,255,128,73,0,42,0,8,5,5,9,0,2,42,74, + 255,74,42,8,5,5,9,0,2,84,82,255,82,84,9,5, + 10,9,0,2,85,0,148,128,255,128,148,128,85,0,7,7, + 7,9,1,1,16,48,80,158,80,48,16,7,7,7,9,1, + 1,16,24,20,242,20,24,16,8,5,5,9,0,2,36,102, + 189,102,36,9,9,18,9,0,5,255,128,255,128,255,128,255, + 128,255,128,255,128,255,128,255,128,255,128,9,2,4,9,0, + 252,255,128,255,128,9,4,8,9,0,252,255,128,255,128,255, + 128,255,128,9,7,14,9,0,252,255,128,255,128,255,128,255, + 128,255,128,255,128,255,128,9,9,18,9,0,252,255,128,255, + 128,255,128,255,128,255,128,255,128,255,128,255,128,255,128,9, + 11,22,9,0,252,255,128,255,128,255,128,255,128,255,128,255, + 128,255,128,255,128,255,128,255,128,255,128,9,14,28,9,0, + 252,255,128,255,128,255,128,255,128,255,128,255,128,255,128,255, + 128,255,128,255,128,255,128,255,128,255,128,255,128,9,16,32, + 9,0,252,255,128,255,128,255,128,255,128,255,128,255,128,255, + 128,255,128,255,128,255,128,255,128,255,128,255,128,255,128,255, + 128,255,128,9,18,36,9,0,252,255,128,255,128,255,128,255, + 128,255,128,255,128,255,128,255,128,255,128,255,128,255,128,255, + 128,255,128,255,128,255,128,255,128,255,128,255,128,8,18,18, + 9,0,252,255,255,255,255,255,255,255,255,255,255,255,255,255, + 255,255,255,255,255,7,18,18,9,0,252,254,254,254,254,254, + 254,254,254,254,254,254,254,254,254,254,254,254,254,6,18,18, + 9,0,252,252,252,252,252,252,252,252,252,252,252,252,252,252, + 252,252,252,252,252,5,18,18,9,0,252,248,248,248,248,248, + 248,248,248,248,248,248,248,248,248,248,248,248,248,3,18,18, + 9,0,252,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,2,18,18,9,0,252,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,1,18,18, + 9,0,252,128,128,128,128,128,128,128,128,128,128,128,128,128, + 128,128,128,128,128,4,18,18,9,5,252,240,240,240,240,240, + 240,240,240,240,240,240,240,240,240,240,240,240,240,9,17,34, + 9,0,253,85,0,0,0,170,128,0,0,85,0,0,0,170, + 128,0,0,85,0,0,0,170,128,0,0,85,0,0,0,170, + 128,0,0,85,0,9,18,36,9,0,252,170,128,85,0,170, + 128,85,0,170,128,85,0,170,128,85,0,170,128,85,0,170, + 128,85,0,170,128,85,0,170,128,85,0,170,128,85,0,9, + 18,36,9,0,252,255,128,170,128,255,128,85,0,255,128,170, + 128,255,128,85,0,255,128,170,128,255,128,85,0,255,128,170, + 128,255,128,85,0,255,128,170,128,9,2,4,9,0,12,255, + 128,255,128,1,18,18,9,8,252,128,128,128,128,128,128,128, + 128,128,128,128,128,128,128,128,128,128,128,5,9,9,9,0, + 252,248,248,248,248,248,248,248,248,248,4,9,9,9,5,252, + 240,240,240,240,240,240,240,240,240,5,9,9,9,0,5,248, + 248,248,248,248,248,248,248,248,9,18,36,9,0,252,248,0, + 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, + 255,128,255,128,255,128,255,128,255,128,255,128,255,128,255,128, + 255,128,9,18,36,9,0,252,248,0,248,0,248,0,248,0, + 248,0,248,0,248,0,248,0,248,0,7,128,7,128,7,128, + 7,128,7,128,7,128,7,128,7,128,7,128,9,18,36,9, + 0,252,255,128,255,128,255,128,255,128,255,128,255,128,255,128, + 255,128,255,128,248,0,248,0,248,0,248,0,248,0,248,0, + 248,0,248,0,248,0,9,18,36,9,0,252,255,128,255,128, + 255,128,255,128,255,128,255,128,255,128,255,128,255,128,7,128, + 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, + 4,9,9,9,5,5,240,240,240,240,240,240,240,240,240,9, + 18,36,9,0,252,7,128,7,128,7,128,7,128,7,128,7, + 128,7,128,7,128,7,128,248,0,248,0,248,0,248,0,248, + 0,248,0,248,0,248,0,248,0,9,18,36,9,0,252,7, + 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, + 128,255,128,255,128,255,128,255,128,255,128,255,128,255,128,255, + 128,255,128,7,7,7,9,1,1,254,254,254,254,254,254,254, + 7,7,7,9,1,1,254,130,130,130,130,130,254,7,7,7, + 9,1,1,124,130,130,130,130,130,124,7,7,7,9,1,1, + 254,130,186,186,186,130,254,7,7,7,9,1,1,254,130,254, + 130,254,130,254,7,7,7,9,1,1,254,170,170,170,170,170, + 254,7,7,7,9,1,1,254,170,254,170,254,170,254,7,7, + 7,9,1,1,254,146,138,198,162,146,254,7,7,7,9,1, + 1,254,146,162,198,138,146,254,7,7,7,9,1,1,254,214, + 138,214,162,214,254,3,3,3,9,3,3,224,224,224,3,3, + 3,9,3,3,224,160,224,9,5,10,9,0,2,255,128,255, + 128,255,128,255,128,255,128,9,5,10,9,0,2,255,128,128, + 128,128,128,128,128,255,128,5,9,9,9,2,0,248,248,248, + 248,248,248,248,248,248,5,9,9,9,2,0,248,136,136,136, + 136,136,136,136,248,9,5,10,9,0,2,127,128,127,128,255, + 128,255,0,255,0,9,5,10,9,0,2,127,128,64,128,128, + 128,129,0,255,0,9,10,20,9,0,0,8,0,8,0,28, + 0,28,0,62,0,62,0,127,0,127,0,255,128,255,128,9, + 10,20,9,0,0,8,0,8,0,20,0,20,0,34,0,34, + 0,65,0,65,0,128,128,255,128,7,7,7,9,1,1,16, + 16,56,56,124,124,254,7,7,7,9,1,1,16,16,40,40, + 68,68,254,9,9,18,9,0,0,192,0,240,0,252,0,255, + 0,255,128,255,0,252,0,240,0,192,0,9,9,18,9,0, + 0,192,0,176,0,140,0,131,0,128,128,131,0,140,0,176, + 0,192,0,7,7,7,9,1,1,128,224,248,254,248,224,128, + 7,7,7,9,1,1,128,224,152,134,152,224,128,9,5,10, + 9,0,2,224,0,252,0,255,128,252,0,224,0,9,5,10, + 9,0,2,224,0,156,0,131,128,156,0,224,0,9,10,20, + 9,0,0,255,128,255,128,127,0,127,0,62,0,62,0,28, + 0,28,0,8,0,8,0,9,10,20,9,0,0,255,128,128, + 128,65,0,65,0,34,0,34,0,20,0,20,0,8,0,8, + 0,7,7,7,9,1,1,254,124,124,56,56,16,16,7,7, + 7,9,1,1,254,68,68,40,40,16,16,9,9,18,9,0, + 0,1,128,7,128,31,128,127,128,255,128,127,128,31,128,7, + 128,1,128,9,9,18,9,0,0,1,128,6,128,24,128,96, + 128,128,128,96,128,24,128,6,128,1,128,7,7,7,9,1, + 1,2,14,62,254,62,14,2,7,7,7,9,1,1,2,14, + 50,194,50,14,2,9,5,10,9,0,2,3,128,31,128,255, + 128,31,128,3,128,9,5,10,9,0,2,3,128,28,128,224, + 128,28,128,3,128,9,9,18,9,0,0,8,0,28,0,62, + 0,127,0,255,128,127,0,62,0,28,0,8,0,9,9,18, + 9,0,0,8,0,20,0,34,0,65,0,128,128,65,0,34, + 0,20,0,8,0,9,9,18,9,0,0,8,0,20,0,34, + 0,73,0,156,128,73,0,34,0,20,0,8,0,7,7,7, + 9,1,1,56,68,146,186,146,68,56,5,9,9,9,2,0, + 32,32,80,80,136,80,80,32,32,7,7,7,9,1,1,56, + 68,130,130,130,68,56,7,7,7,9,1,1,16,68,0,130, + 0,68,16,7,7,7,9,1,1,56,108,170,170,170,108,56, + 7,7,7,9,1,1,56,68,146,170,146,68,56,7,7,7, + 9,1,1,56,124,254,254,254,124,56,7,7,7,9,1,1, + 56,116,242,242,242,116,56,7,7,7,9,1,1,56,92,158, + 158,158,92,56,7,7,7,9,1,1,56,68,130,254,254,124, + 56,7,7,7,9,1,1,56,124,254,254,130,68,56,7,7, + 7,9,1,1,56,92,158,158,130,68,56,7,7,7,9,1, + 1,56,92,158,254,254,124,56,4,7,7,9,1,1,48,112, + 240,240,240,112,48,4,7,7,9,4,1,192,224,240,240,240, + 224,192,9,18,36,9,0,252,255,128,255,128,255,128,255,128, + 255,128,255,128,255,128,227,128,193,128,193,128,193,128,227,128, + 255,128,255,128,255,128,255,128,255,128,255,128,9,18,36,9, + 0,252,255,128,255,128,255,128,255,128,255,128,255,128,227,128, + 221,128,190,128,190,128,190,128,221,128,227,128,255,128,255,128, + 255,128,255,128,255,128,9,10,20,9,0,4,255,128,255,128, + 255,128,255,128,255,128,255,128,227,128,221,128,190,128,190,128, + 9,9,18,9,0,252,190,128,190,128,221,128,227,128,255,128, + 255,128,255,128,255,128,255,128,4,4,4,9,1,4,48,64, + 128,128,4,4,4,9,4,4,192,32,16,16,4,4,4,9, + 4,1,16,16,32,192,4,4,4,9,1,1,128,128,64,48, + 7,4,4,9,1,4,56,68,130,130,7,4,4,9,1,1, + 130,130,68,56,7,7,7,9,1,1,2,6,14,30,62,126, + 254,7,7,7,9,1,1,128,192,224,240,248,252,254,7,7, + 7,9,1,1,254,252,248,240,224,192,128,7,7,7,9,1, + 1,254,126,62,30,14,6,2,5,5,5,9,2,2,112,136, + 136,136,112,7,7,7,9,1,1,254,242,242,242,242,242,254, + 7,7,7,9,1,1,254,158,158,158,158,158,254,7,7,7, + 9,1,1,254,254,250,242,226,194,254,7,7,7,9,1,1, + 254,134,142,158,190,254,254,7,7,7,9,1,1,254,146,146, + 146,146,146,254,9,10,20,9,0,0,8,0,8,0,20,0, + 20,0,34,0,42,0,93,0,73,0,128,128,255,128,9,10, + 20,9,0,0,8,0,8,0,28,0,28,0,58,0,58,0, + 121,0,121,0,248,128,255,128,9,10,20,9,0,0,8,0, + 8,0,28,0,28,0,46,0,46,0,79,0,79,0,143,128, + 255,128,9,9,18,9,0,0,62,0,65,0,128,128,128,128, + 128,128,128,128,128,128,65,0,62,0,7,7,7,9,1,1, + 254,146,146,242,130,130,254,7,7,7,9,1,1,254,130,130, + 242,146,146,254,7,7,7,9,1,1,254,130,130,158,146,146, + 254,7,7,7,9,1,1,254,146,146,158,130,130,254,7,7, + 7,9,1,1,124,146,146,242,130,130,124,7,7,7,9,1, + 1,124,130,130,242,146,146,124,7,7,7,9,1,1,124,130, + 130,158,146,146,124,7,7,7,9,1,1,124,146,146,158,130, + 130,124,6,6,6,9,1,1,252,136,144,160,192,128,6,6, + 6,9,1,1,252,68,36,20,12,4,6,6,6,9,1,1, + 128,192,160,144,136,252,6,6,6,9,1,1,252,132,132,132, + 132,252,6,6,6,9,1,1,252,252,252,252,252,252,5,5, + 5,9,2,1,248,136,136,136,248,5,5,5,9,2,1,248, + 248,248,248,248,6,6,6,9,1,1,4,12,20,36,68,252 + }; +/* + Fontname: -Misc-Fixed-Medium-R-Normal--18-120-100-100-C-90-ISO10646-1 + Copyright: Public domain font. Share and enjoy. + Capital A Height: 9, '1' Height: 5 + Calculated Max Values w= 9 h=10 x= 3 y= 3 dx= 9 dy= 0 ascent=10 len=20 + Font Bounding box w= 9 h=18 x= 0 y=-4 + Calculated Min Values x= 0 y= 0 dx= 0 dy= 0 + Pure Font ascent = 9 descent= 0 + X Font ascent = 9 descent= 0 + Max Font ascent =10 descent= 0 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_9x18_75r[792] U8G_FONT_SECTION("u8g_font_9x18_75r") = { + 0,9,18,0,252,9,2,33,0,0,32,79,0,10,0,9, + 0,7,7,7,9,1,1,254,254,254,254,254,254,254,7,7, + 7,9,1,1,254,130,130,130,130,130,254,7,7,7,9,1, + 1,124,130,130,130,130,130,124,7,7,7,9,1,1,254,130, + 186,186,186,130,254,7,7,7,9,1,1,254,130,254,130,254, + 130,254,7,7,7,9,1,1,254,170,170,170,170,170,254,7, + 7,7,9,1,1,254,170,254,170,254,170,254,7,7,7,9, + 1,1,254,146,138,198,162,146,254,7,7,7,9,1,1,254, + 146,162,198,138,146,254,7,7,7,9,1,1,254,214,138,214, + 162,214,254,3,3,3,9,3,3,224,224,224,3,3,3,9, + 3,3,224,160,224,9,5,10,9,0,2,255,128,255,128,255, + 128,255,128,255,128,9,5,10,9,0,2,255,128,128,128,128, + 128,128,128,255,128,5,9,9,9,2,0,248,248,248,248,248, + 248,248,248,248,5,9,9,9,2,0,248,136,136,136,136,136, + 136,136,248,9,5,10,9,0,2,127,128,127,128,255,128,255, + 0,255,0,9,5,10,9,0,2,127,128,64,128,128,128,129, + 0,255,0,9,10,20,9,0,0,8,0,8,0,28,0,28, + 0,62,0,62,0,127,0,127,0,255,128,255,128,9,10,20, + 9,0,0,8,0,8,0,20,0,20,0,34,0,34,0,65, + 0,65,0,128,128,255,128,7,7,7,9,1,1,16,16,56, + 56,124,124,254,7,7,7,9,1,1,16,16,40,40,68,68, + 254,9,9,18,9,0,0,192,0,240,0,252,0,255,0,255, + 128,255,0,252,0,240,0,192,0,9,9,18,9,0,0,192, + 0,176,0,140,0,131,0,128,128,131,0,140,0,176,0,192, + 0,7,7,7,9,1,1,128,224,248,254,248,224,128,7,7, + 7,9,1,1,128,224,152,134,152,224,128,9,5,10,9,0, + 2,224,0,252,0,255,128,252,0,224,0,9,5,10,9,0, + 2,224,0,156,0,131,128,156,0,224,0,9,10,20,9,0, + 0,255,128,255,128,127,0,127,0,62,0,62,0,28,0,28, + 0,8,0,8,0,9,10,20,9,0,0,255,128,128,128,65, + 0,65,0,34,0,34,0,20,0,20,0,8,0,8,0,7, + 7,7,9,1,1,254,124,124,56,56,16,16,7,7,7,9, + 1,1,254,68,68,40,40,16,16,9,9,18,9,0,0,1, + 128,7,128,31,128,127,128,255,128,127,128,31,128,7,128,1, + 128,9,9,18,9,0,0,1,128,6,128,24,128,96,128,128, + 128,96,128,24,128,6,128,1,128,7,7,7,9,1,1,2, + 14,62,254,62,14,2,7,7,7,9,1,1,2,14,50,194, + 50,14,2,9,5,10,9,0,2,3,128,31,128,255,128,31, + 128,3,128,9,5,10,9,0,2,3,128,28,128,224,128,28, + 128,3,128,9,9,18,9,0,0,8,0,28,0,62,0,127, + 0,255,128,127,0,62,0,28,0,8,0,9,9,18,9,0, + 0,8,0,20,0,34,0,65,0,128,128,65,0,34,0,20, + 0,8,0,9,9,18,9,0,0,8,0,20,0,34,0,73, + 0,156,128,73,0,34,0,20,0,8,0,7,7,7,9,1, + 1,56,68,146,186,146,68,56,5,9,9,9,2,0,32,32, + 80,80,136,80,80,32,32,7,7,7,9,1,1,56,68,130, + 130,130,68,56,7,7,7,9,1,1,16,68,0,130,0,68, + 16,7,7,7,9,1,1,56,108,170,170,170,108,56,7,7, + 7,9,1,1,56,68,146,170,146,68,56,7,7,7,9,1, + 1,56,124,254,254,254,124,56}; +/* + Fontname: -Misc-Fixed-Medium-R-Normal--18-120-100-100-C-90-ISO10646-1 + Copyright: Public domain font. Share and enjoy. + Capital A Height: 0, '1' Height: 9 + Calculated Max Values w= 9 h=12 x= 4 y= 5 dx= 9 dy= 0 ascent=12 len=24 + Font Bounding box w= 9 h=18 x= 0 y=-4 + Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 + Pure Font ascent = 9 descent= 0 + X Font ascent =11 descent= 0 + Max Font ascent =12 descent=-1 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_9x18_78_79[3336] U8G_FONT_SECTION("u8g_font_9x18_78_79") = { + 0,9,18,0,252,9,2,231,4,175,32,255,0,12,255,11, + 0,9,9,18,9,0,0,62,0,28,0,136,128,201,128,247, + 128,201,128,136,128,28,0,62,0,9,9,18,9,0,0,8, + 0,20,0,255,128,162,128,65,0,162,128,255,128,20,0,8, + 0,9,9,18,9,0,0,8,0,28,0,8,0,73,0,255, + 128,73,0,8,0,28,0,8,0,9,9,18,9,0,0,8, + 0,28,0,28,0,107,0,255,128,107,0,28,0,28,0,8, + 0,9,9,18,9,0,0,8,0,28,0,28,0,107,0,255, + 128,107,0,28,0,28,0,8,0,9,9,18,9,0,0,8, + 0,28,0,28,0,107,0,255,128,107,0,28,0,28,0,8, + 0,9,9,18,9,0,0,8,0,8,0,28,0,62,0,255, + 128,62,0,28,0,8,0,8,0,9,9,18,9,0,0,8, + 0,20,0,20,0,99,0,128,128,99,0,20,0,20,0,8, + 0,255,9,9,18,9,0,0,8,0,8,0,20,0,247,128, + 65,0,34,0,73,0,85,0,99,0,9,10,20,9,0,0, + 127,0,247,128,247,128,227,128,0,0,128,128,193,128,201,128, + 156,128,127,0,9,9,18,9,0,0,8,0,8,0,28,0, + 227,128,99,0,34,0,62,0,119,0,65,0,9,9,18,9, + 0,0,8,0,8,0,20,0,235,128,93,0,42,0,34,0, + 127,0,65,0,9,9,18,9,0,0,8,0,8,0,20,0, + 235,128,93,0,42,0,34,0,127,0,65,0,9,9,18,9, + 0,0,8,0,8,0,20,0,235,128,93,0,42,0,34,0, + 127,0,65,0,9,9,18,9,0,0,8,0,8,0,20,0, + 247,128,73,0,54,0,42,0,127,0,65,0,8,7,7,9, + 0,2,24,24,44,199,46,60,102,8,9,9,9,0,0,24, + 219,255,126,24,126,255,219,24,8,9,9,9,0,0,24,219, + 255,102,36,102,255,219,24,9,9,18,9,0,0,8,0,73, + 0,42,0,28,0,255,128,28,0,42,0,73,0,8,0,9, + 9,18,9,0,0,8,0,73,0,62,0,62,0,255,128,62, + 0,62,0,73,0,8,0,9,9,18,9,0,0,8,0,73, + 0,54,0,62,0,213,128,62,0,54,0,73,0,8,0,9, + 9,18,9,0,0,8,0,136,128,107,0,62,0,28,0,62, + 0,107,0,136,128,8,0,9,9,18,9,0,0,34,0,20, + 0,148,128,127,0,28,0,127,0,148,128,20,0,34,0,9, + 9,18,9,0,0,34,0,54,0,255,128,127,0,62,0,127, + 0,255,128,54,0,34,0,9,9,18,9,0,0,42,0,42, + 0,221,128,62,0,255,128,62,0,221,128,42,0,42,0,9, + 9,18,9,0,0,42,0,42,0,221,128,42,0,255,128,42, + 0,221,128,42,0,42,0,9,11,22,9,0,0,28,0,28, + 0,201,128,201,128,34,0,8,0,34,0,201,128,201,128,28, + 0,28,0,9,11,22,9,0,0,28,0,28,0,201,128,201, + 128,62,0,20,0,62,0,201,128,201,128,28,0,28,0,9, + 11,22,9,0,0,28,0,28,0,201,128,201,128,62,0,28, + 0,62,0,201,128,201,128,28,0,28,0,9,11,22,9,0, + 0,28,0,20,0,201,128,201,128,62,0,20,0,127,0,170, + 128,201,128,28,0,28,0,8,9,9,9,0,0,24,24,219, + 255,36,36,126,231,66,255,255,255,8,9,9,9,0,0,24, + 203,189,110,24,118,189,211,24,9,12,24,9,0,0,8,0, + 42,0,93,0,170,128,107,0,221,128,221,128,107,0,170,128, + 93,0,42,0,8,0,9,12,24,9,0,0,8,0,42,0, + 93,0,170,128,107,0,221,128,221,128,107,0,170,128,93,0, + 42,0,8,0,9,12,24,9,0,0,8,0,42,0,93,0, + 170,128,107,0,221,128,221,128,107,0,170,128,93,0,42,0, + 8,0,9,9,18,9,0,0,8,0,73,0,42,0,20,0, + 235,128,20,0,42,0,73,0,8,0,9,9,18,9,0,0, + 8,0,73,0,42,0,20,0,235,128,20,0,42,0,73,0, + 8,0,8,9,9,9,0,0,24,219,203,60,24,60,211,219, + 24,9,9,18,9,0,0,8,0,73,0,42,0,0,0,235, + 128,0,0,42,0,73,0,8,0,9,9,18,9,0,0,8, + 0,73,0,42,0,28,0,255,128,28,0,42,0,73,0,8, + 0,255,9,8,16,9,0,1,62,0,67,0,129,128,129,128, + 129,128,129,128,67,0,62,0,255,9,9,18,9,0,0,254, + 0,130,0,131,128,131,128,131,128,131,128,255,128,63,128,63, + 128,9,9,18,9,0,0,63,128,63,128,255,128,131,128,131, + 128,131,128,131,128,130,0,254,0,8,8,8,9,0,0,254, + 131,131,131,131,131,255,127,8,8,8,9,0,0,127,255,131, + 131,131,131,131,254,255,255,255,9,9,18,9,0,0,8,0, + 28,0,8,0,65,0,227,128,65,0,8,0,28,0,8,0, + 255,1,10,10,9,4,0,128,128,128,128,128,128,128,128,128, + 128,2,10,10,9,3,0,192,192,192,192,192,192,192,192,192, + 192,3,10,10,9,3,0,224,224,224,224,224,224,224,224,224, + 224,4,6,6,9,3,5,112,128,224,240,240,96,4,6,6, + 9,3,5,96,240,240,112,16,224,9,6,12,9,0,5,115, + 128,132,0,231,0,247,128,247,128,99,0,9,6,12,9,0, + 5,99,0,247,128,247,128,115,128,16,128,231,0,255,255,7, + 10,10,9,1,0,4,126,228,228,228,124,4,100,104,48,5, + 10,10,9,2,0,112,248,248,112,32,32,0,32,112,32,5, + 10,10,9,2,0,80,248,248,112,32,32,0,32,112,32,9, + 9,18,9,0,0,99,0,247,128,255,128,255,128,127,0,62, + 0,28,0,8,0,8,0,9,9,18,9,0,0,112,0,248, + 0,252,0,126,0,63,128,126,0,252,0,248,0,112,0,9, + 12,24,9,0,0,8,0,116,128,149,0,14,0,4,0,107, + 0,247,128,255,128,127,0,62,0,28,0,8,0,9,12,24, + 9,0,0,16,0,41,0,82,0,156,0,32,0,88,0,124, + 0,60,0,254,0,254,128,255,0,126,0,255,255,255,255,255, + 255,255,255,255,255,255,255,255,255,9,9,18,9,0,0,127, + 0,247,128,231,128,247,128,247,128,247,128,247,128,227,128,127, + 0,9,9,18,9,0,0,127,0,227,128,221,128,253,128,251, + 128,247,128,237,128,193,128,127,0,9,9,18,9,0,0,127, + 0,227,128,221,128,253,128,243,128,253,128,221,128,227,128,127, + 0,9,9,18,9,0,0,127,0,243,128,235,128,219,128,193, + 128,251,128,251,128,251,128,127,0,9,9,18,9,0,0,127, + 0,193,128,223,128,223,128,195,128,253,128,253,128,195,128,127, + 0,9,9,18,9,0,0,127,0,225,128,223,128,223,128,195, + 128,221,128,221,128,227,128,127,0,9,9,18,9,0,0,127, + 0,193,128,253,128,251,128,251,128,247,128,247,128,247,128,127, + 0,9,9,18,9,0,0,127,0,227,128,221,128,221,128,227, + 128,221,128,221,128,227,128,127,0,9,9,18,9,0,0,127, + 0,225,128,221,128,221,128,225,128,253,128,253,128,227,128,127, + 0,9,9,18,9,0,0,127,0,219,128,213,128,213,128,213, + 128,213,128,213,128,219,128,127,0,9,9,18,9,0,0,127, + 0,128,128,136,128,152,128,136,128,136,128,136,128,128,128,127, + 0,9,9,18,9,0,0,127,0,128,128,152,128,132,128,132, + 128,136,128,156,128,128,128,127,0,9,9,18,9,0,0,127, + 0,128,128,152,128,132,128,136,128,132,128,152,128,128,128,127, + 0,9,9,18,9,0,0,127,0,128,128,136,128,152,128,168, + 128,188,128,136,128,128,128,127,0,9,9,18,9,0,0,127, + 0,128,128,156,128,144,128,152,128,132,128,152,128,128,128,127, + 0,9,9,18,9,0,0,127,0,128,128,140,128,144,128,152, + 128,148,128,136,128,128,128,127,0,9,9,18,9,0,0,127, + 0,128,128,156,128,132,128,136,128,136,128,136,128,128,128,127, + 0,9,9,18,9,0,0,127,0,128,128,136,128,148,128,136, + 128,148,128,136,128,128,128,127,0,9,9,18,9,0,0,127, + 0,128,128,136,128,148,128,140,128,132,128,136,128,128,128,127, + 0,9,9,18,9,0,0,127,0,128,128,164,128,170,128,170, + 128,170,128,164,128,128,128,127,0,9,9,18,9,0,0,127, + 0,247,128,231,128,247,128,247,128,247,128,247,128,247,128,127, + 0,9,9,18,9,0,0,127,0,227,128,221,128,253,128,251, + 128,247,128,239,128,193,128,127,0,9,9,18,9,0,0,127, + 0,227,128,221,128,253,128,243,128,253,128,221,128,227,128,127, + 0,9,9,18,9,0,0,127,0,243,128,235,128,219,128,193, + 128,251,128,251,128,251,128,127,0,9,9,18,9,0,0,127, + 0,193,128,223,128,223,128,195,128,253,128,253,128,195,128,127, + 0,9,9,18,9,0,0,127,0,225,128,223,128,223,128,195, + 128,221,128,221,128,227,128,127,0,9,9,18,9,0,0,127, + 0,193,128,253,128,251,128,251,128,247,128,247,128,247,128,127, + 0,9,9,18,9,0,0,127,0,227,128,221,128,221,128,227, + 128,221,128,221,128,227,128,127,0,9,9,18,9,0,0,127, + 0,225,128,221,128,221,128,225,128,253,128,253,128,227,128,127, + 0,9,9,18,9,0,0,127,0,219,128,213,128,213,128,213, + 128,213,128,213,128,219,128,127,0,7,8,8,9,1,1,48, + 24,12,254,254,12,24,48,255,255,255,7,5,5,9,1,1, + 224,250,62,14,30,8,7,7,9,1,1,8,12,230,255,230, + 12,8,7,5,5,9,1,1,30,14,62,250,224,9,7,14, + 9,0,0,48,0,28,0,31,0,255,128,31,0,28,0,48, + 0,9,9,18,9,0,0,28,0,30,0,15,0,255,128,255, + 128,255,128,15,0,30,0,28,0,9,5,10,9,0,1,2, + 0,3,0,255,128,3,0,2,0,9,7,14,9,0,0,4, + 0,6,0,255,0,255,128,255,0,6,0,4,0,9,5,10, + 9,0,1,2,0,183,0,183,128,183,0,2,0,9,5,10, + 9,0,1,2,0,171,0,171,128,171,0,2,0,9,5,10, + 9,0,1,2,0,255,0,255,128,255,0,2,0,9,8,16, + 9,0,1,128,0,112,0,78,0,33,128,31,128,62,0,112, + 0,128,0,9,8,16,9,0,1,128,0,112,0,62,0,31, + 128,33,128,78,0,112,0,128,0,9,8,16,9,0,1,128, + 0,112,0,62,0,31,128,31,128,62,0,112,0,128,0,9, + 7,14,9,0,0,132,0,134,0,255,0,255,128,127,0,6, + 0,4,0,9,7,14,9,0,0,4,0,6,0,127,0,255, + 128,255,0,134,0,132,0,6,9,9,9,2,0,16,16,248, + 248,252,248,248,16,16,8,9,9,9,0,1,4,4,254,254, + 255,254,254,4,4,9,9,18,9,0,0,24,0,28,0,22, + 0,243,0,129,128,243,0,22,0,28,0,24,0,9,9,18, + 9,0,0,24,0,28,0,26,0,249,0,192,128,249,0,26, + 0,28,0,24,0,9,9,18,9,0,0,0,128,1,128,62, + 128,64,128,129,128,243,0,238,0,60,0,56,0,9,9,18, + 9,0,0,56,0,60,0,238,0,243,0,129,128,64,128,62, + 128,1,128,0,128,8,9,9,9,0,1,16,24,20,242,129, + 243,118,28,24,8,9,9,9,0,1,24,28,118,243,129,242, + 20,24,16,9,7,14,9,0,2,4,0,250,0,129,0,64, + 128,129,128,251,0,6,0,255,9,7,14,9,0,2,6,0, + 251,0,129,128,64,128,129,0,250,0,4,0,9,9,18,9, + 0,1,28,0,127,0,251,128,1,128,0,128,1,128,251,128, + 127,0,28,0,9,5,10,9,0,3,210,0,43,0,127,128, + 43,0,210,0,9,9,18,9,0,0,16,0,56,0,92,0, + 236,0,116,0,60,0,2,128,1,128,3,128,9,5,10,9, + 0,2,242,0,123,0,7,128,123,0,242,0,9,9,18,9, + 0,0,3,128,1,128,2,128,60,0,116,0,236,0,92,0, + 56,0,16,0,9,9,18,9,0,0,16,0,24,0,28,0, + 252,0,124,0,60,0,2,128,1,128,3,128,9,5,10,9, + 0,2,242,0,123,0,127,128,123,0,242,0,9,9,18,9, + 0,0,3,128,1,128,2,128,60,0,124,0,252,0,28,0, + 24,0,16,0,9,7,14,9,0,1,3,0,3,0,113,0, + 255,128,113,0,3,0,3,0,9,7,14,9,0,1,2,0, + 115,0,121,0,255,128,121,0,115,0,2,0,9,5,10,9, + 0,2,242,0,123,0,63,128,123,0,242,0,9,7,14,9, + 0,1,226,0,242,0,123,0,63,128,123,0,242,0,226,0, + 9,7,14,9,0,1,20,0,10,0,253,0,0,128,253,0, + 10,0,20,0,255,255,255,255,255,255,255,255,255,255,255,255, + 255,255,255,255,255,255,255,255,255,255,8,11,11,9,0,255, + 193,99,99,85,85,73,85,85,99,99,193,8,11,11,9,1, + 255,131,198,198,170,170,146,170,170,198,198,131,9,11,22,9, + 0,255,193,128,99,0,99,0,85,0,85,0,73,0,85,0, + 85,0,99,0,99,0,193,128,255,255,255,255,255,255,255,255, + 255,255,255,255,255,255,5,12,12,9,2,255,248,160,160,160, + 160,160,160,160,160,160,160,248,5,12,12,9,2,255,248,40, + 40,40,40,40,40,40,40,40,40,248,3,10,10,9,3,0, + 32,32,64,64,128,128,64,64,32,32,3,10,10,9,3,0, + 128,128,64,64,32,32,64,64,128,128,6,10,10,9,1,0, + 36,36,72,72,144,144,72,72,36,36,6,10,10,9,2,0, + 144,144,72,72,36,36,72,72,144,144,255,255,255,255,9,11, + 22,9,0,0,8,0,20,0,54,0,85,0,213,128,85,0, + 85,0,85,0,85,0,85,0,85,0,9,11,22,9,0,255, + 85,0,85,0,85,0,85,0,85,0,85,0,213,128,85,0, + 54,0,20,0,8,0,8,8,8,9,0,0,28,34,169,113, + 33,1,34,28,8,8,8,9,0,0,56,68,149,142,132,128, + 68,56,9,5,10,9,0,2,114,0,169,0,255,128,169,0, + 114,0,9,5,10,9,0,2,32,0,64,0,255,128,64,0, + 32,0,9,5,10,9,0,2,2,0,1,0,255,128,1,0, + 2,0,9,5,10,9,0,2,34,0,65,0,255,128,65,0, + 34,0,9,7,14,9,0,1,16,0,32,0,127,128,128,0, + 127,128,32,0,16,0,9,7,14,9,0,1,4,0,2,0, + 255,0,0,128,255,0,2,0,4,0,9,7,14,9,0,1, + 20,0,34,0,127,0,128,128,127,0,34,0,20,0,9,5, + 10,9,0,2,32,128,64,128,255,128,64,128,32,128,9,5, + 10,9,0,2,130,0,129,0,255,128,129,0,130,0,9,7, + 14,9,0,1,16,128,32,128,127,128,128,128,127,128,32,128, + 16,128,9,7,14,9,0,1,132,0,130,0,255,0,128,128, + 255,0,130,0,132,0,9,6,12,9,0,1,2,0,1,0, + 85,128,170,128,1,0,2,0}; +/* + Fontname: -Misc-Fixed-Bold-R-Normal--18-120-100-100-C-90-ISO10646-1 + Copyright: Public domain font. Share and enjoy. + Capital A Height: 10, '1' Height: 10 + Calculated Max Values w= 9 h=14 x= 4 y=14 dx= 9 dy= 0 ascent=14 len=20 + Font Bounding box w= 9 h=18 x= 0 y=-4 + Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 + Pure Font ascent =10 descent=-3 + X Font ascent =11 descent=-3 + Max Font ascent =14 descent=-4 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_9x18B[3026] U8G_FONT_SECTION("u8g_font_9x18B") = { + 0,9,18,0,252,10,1,242,3,225,32,255,253,14,252,11, + 253,0,0,0,9,0,14,2,11,11,9,3,0,192,192,192, + 192,192,192,192,0,0,192,192,5,4,4,9,2,7,216,216, + 216,216,7,10,10,9,1,0,108,108,108,254,108,108,254,108, + 108,108,8,11,11,9,0,255,24,126,219,216,120,60,30,27, + 219,126,24,8,10,10,9,0,0,115,222,222,108,24,24,54, + 123,123,206,8,10,10,9,0,0,112,216,216,216,112,115,222, + 204,222,115,2,4,4,9,3,7,192,192,192,192,4,12,12, + 9,2,255,48,96,96,192,192,192,192,192,192,96,96,48,4, + 12,12,9,2,255,192,96,96,48,48,48,48,48,48,96,96, + 192,8,7,7,9,0,1,24,219,126,60,126,219,24,8,7, + 7,9,0,1,24,24,24,255,24,24,24,3,4,4,9,3, + 254,224,224,96,192,7,1,1,9,1,4,254,3,2,2,9, + 3,0,224,224,8,10,10,9,0,0,3,6,6,12,24,24, + 48,96,96,192,7,10,10,9,1,0,56,108,198,198,198,198, + 198,198,108,56,8,10,10,9,0,0,24,56,120,216,24,24, + 24,24,24,255,7,10,10,9,1,0,56,108,198,6,6,12, + 24,48,96,254,7,10,10,9,1,0,254,6,12,24,56,12, + 6,6,204,120,7,10,10,9,1,0,12,28,60,108,204,204, + 254,12,12,12,7,10,10,9,1,0,254,192,192,192,248,12, + 6,6,204,120,7,10,10,9,1,0,60,96,192,192,248,204, + 198,198,108,56,7,10,10,9,1,0,254,6,12,12,24,24, + 48,48,48,48,7,10,10,9,1,0,56,108,198,108,56,108, + 198,198,108,56,7,10,10,9,1,0,56,108,198,198,110,62, + 6,6,12,120,3,7,7,9,3,0,224,224,0,0,0,224, + 224,3,9,9,9,3,254,224,224,0,0,0,224,224,96,192, + 6,9,9,9,1,0,12,24,48,96,192,96,48,24,12,7, + 4,4,9,1,2,254,0,0,254,6,9,9,9,1,0,192, + 96,48,24,12,24,48,96,192,7,10,10,9,1,0,56,108, + 198,6,12,24,48,48,0,48,9,10,20,9,0,0,62,0, + 99,0,205,128,213,128,213,128,213,128,213,128,207,0,96,0, + 62,0,7,10,10,9,1,0,16,56,56,56,108,124,108,198, + 198,198,7,10,10,9,1,0,252,198,198,198,252,198,198,198, + 198,252,7,10,10,9,1,0,60,102,192,192,192,192,192,192, + 102,60,7,10,10,9,1,0,248,204,198,198,198,198,198,198, + 204,248,7,10,10,9,1,0,254,192,192,192,248,192,192,192, + 192,254,7,10,10,9,1,0,254,192,192,192,248,192,192,192, + 192,192,7,10,10,9,1,0,56,108,198,192,192,206,198,198, + 108,56,7,10,10,9,1,0,198,198,198,198,254,198,198,198, + 198,198,6,10,10,9,1,0,252,48,48,48,48,48,48,48, + 48,252,7,10,10,9,1,0,30,12,12,12,12,12,12,204, + 204,120,7,10,10,9,1,0,198,204,216,240,224,240,216,204, + 198,198,7,10,10,9,1,0,192,192,192,192,192,192,192,192, + 192,254,7,10,10,9,1,0,198,238,254,214,198,198,198,198, + 198,198,7,10,10,9,1,0,198,198,230,246,222,206,198,198, + 198,198,7,10,10,9,1,0,124,198,198,198,198,198,198,198, + 198,124,7,10,10,9,1,0,248,204,198,198,204,248,192,192, + 192,192,8,11,11,9,1,255,56,108,198,198,198,198,198,222, + 108,62,3,7,10,10,9,1,0,252,198,198,198,198,252,216, + 204,198,198,7,10,10,9,1,0,124,198,192,192,124,6,6, + 6,198,124,6,10,10,9,1,0,252,48,48,48,48,48,48, + 48,48,48,7,10,10,9,1,0,198,198,198,198,198,198,198, + 198,108,56,7,10,10,9,1,0,198,198,198,108,108,108,56, + 56,56,16,7,10,10,9,1,0,198,198,198,198,214,214,214, + 254,238,68,7,10,10,9,1,0,198,198,108,56,16,16,56, + 108,198,198,8,10,10,9,0,0,195,195,102,60,24,24,24, + 24,24,24,7,10,10,9,1,0,254,6,6,12,24,48,96, + 192,192,254,5,12,12,9,2,255,248,192,192,192,192,192,192, + 192,192,192,192,248,8,10,10,9,0,0,192,96,96,48,24, + 24,12,6,6,3,4,12,12,9,2,255,240,48,48,48,48, + 48,48,48,48,48,48,240,8,4,4,9,0,6,24,60,102, + 195,8,1,1,9,0,255,255,4,3,3,9,2,10,192,96, + 48,7,7,7,9,1,0,124,6,6,126,198,198,126,7,10, + 10,9,1,0,192,192,192,252,198,198,198,198,198,252,7,7, + 7,9,1,0,124,198,192,192,192,198,124,7,10,10,9,1, + 0,6,6,6,126,198,198,198,198,198,126,7,7,7,9,1, + 0,124,198,198,254,192,198,124,6,10,10,9,1,0,56,108, + 108,96,96,240,96,96,96,96,7,10,10,9,1,253,126,204, + 204,204,120,192,124,198,198,124,7,10,10,9,1,0,192,192, + 192,252,198,198,198,198,198,198,6,10,10,9,1,0,48,48, + 0,240,48,48,48,48,48,252,5,13,13,9,2,253,24,24, + 0,56,24,24,24,24,24,24,216,216,112,7,10,10,9,1, + 0,192,192,192,204,216,240,240,216,204,198,6,10,10,9,1, + 0,240,48,48,48,48,48,48,48,48,252,8,7,7,9,0, + 0,254,219,219,219,219,219,195,7,7,7,9,1,0,220,230, + 198,198,198,198,198,7,7,7,9,1,0,56,108,198,198,198, + 108,56,7,10,10,9,1,253,248,204,198,198,198,204,248,192, + 192,192,7,10,10,9,1,253,62,102,198,198,198,102,62,6, + 6,6,7,7,7,9,1,0,220,118,96,96,96,96,96,7, + 7,7,9,1,0,124,198,192,124,6,198,124,7,9,9,9, + 1,0,48,48,252,48,48,48,48,54,28,7,7,7,9,1, + 0,198,198,198,198,198,198,126,7,7,7,9,1,0,198,198, + 108,108,56,56,16,8,7,7,9,0,0,195,195,219,219,219, + 255,102,7,7,7,9,1,0,198,108,56,16,56,108,198,7, + 10,10,9,1,253,198,198,108,108,108,56,56,48,176,96,6, + 7,7,9,1,0,252,12,24,48,96,192,252,6,11,11,9, + 1,0,60,96,96,96,96,192,96,96,96,96,60,2,12,12, + 9,3,255,192,192,192,192,192,192,192,192,192,192,192,192,6, + 11,11,9,1,0,224,48,48,48,48,28,48,48,48,48,224, + 8,3,3,9,0,7,115,219,206,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,255,255,255,255,255,255,255,0,0,0,9,0,14, + 2,10,10,9,4,0,192,0,192,192,192,192,192,192,192,192, + 7,8,8,9,1,0,4,124,206,208,208,230,124,64,8,10, + 10,9,0,255,30,51,48,48,124,48,48,248,191,224,7,7, + 7,9,1,2,198,254,108,68,108,254,198,8,10,10,9,0, + 0,195,195,102,60,126,24,126,24,24,24,2,11,11,9,3, + 255,192,192,192,192,192,0,192,192,192,192,192,6,11,11,9, + 1,255,120,204,192,120,204,204,204,120,12,204,120,5,2,2, + 9,2,11,216,216,8,11,11,9,0,0,60,126,195,189,165, + 161,165,189,195,126,60,5,7,7,9,1,3,112,24,120,216, + 120,0,248,8,8,8,9,0,1,27,54,108,216,216,108,54, + 27,7,5,5,9,1,2,254,254,6,6,6,6,1,1,9, + 1,4,252,8,11,11,9,0,0,60,126,195,189,165,189,169, + 173,195,126,60,6,2,2,9,1,9,252,252,5,4,4,9, + 1,8,112,216,216,112,6,9,9,9,1,1,48,48,48,252, + 48,48,48,0,252,5,6,6,9,1,4,112,216,24,48,96, + 248,5,6,6,9,1,4,112,216,48,24,216,112,4,3,3, + 9,2,10,48,96,192,7,9,9,9,1,254,198,198,198,198, + 206,222,246,192,192,7,10,10,9,1,0,126,246,246,246,118, + 54,54,54,54,54,3,2,2,9,3,4,224,224,6,3,3, + 9,1,253,24,204,120,4,6,6,9,1,4,96,224,96,96, + 96,240,5,7,7,9,1,3,112,216,216,216,112,0,248,8, + 8,8,9,0,1,216,108,54,27,27,54,108,216,8,11,11, + 9,0,0,96,224,96,96,97,99,247,15,27,31,3,8,11, + 11,9,0,0,96,224,96,96,110,115,243,6,12,24,31,8, + 11,11,9,0,0,112,152,24,48,25,155,119,15,27,31,3, + 7,10,10,9,1,0,24,24,0,24,48,96,192,198,198,124, + 7,14,14,9,1,0,96,48,24,0,16,56,56,56,108,124, + 108,198,198,198,7,14,14,9,1,0,12,24,48,0,16,56, + 56,56,108,124,108,198,198,198,7,14,14,9,1,0,16,56, + 108,0,16,56,56,56,108,124,108,198,198,198,7,13,13,9, + 1,0,118,220,0,16,56,56,56,108,124,108,198,198,198,7, + 13,13,9,1,0,108,108,0,16,56,56,56,108,124,108,198, + 198,198,7,14,14,9,1,0,56,108,108,56,16,56,56,56, + 108,124,108,198,198,198,7,10,10,9,1,0,62,60,108,108, + 110,252,204,204,204,206,7,14,14,9,1,252,60,102,192,192, + 192,192,192,192,102,60,24,12,108,56,7,14,14,9,1,0, + 96,48,24,0,254,192,192,192,248,192,192,192,192,254,7,14, + 14,9,1,0,12,24,48,0,254,192,192,192,248,192,192,192, + 192,254,7,14,14,9,1,0,16,56,108,0,254,192,192,192, + 248,192,192,192,192,254,7,13,13,9,1,0,108,108,0,254, + 192,192,192,248,192,192,192,192,254,6,14,14,9,1,0,96, + 48,24,0,252,48,48,48,48,48,48,48,48,252,6,14,14, + 9,1,0,12,24,48,0,252,48,48,48,48,48,48,48,48, + 252,6,14,14,9,1,0,16,56,108,0,252,48,48,48,48, + 48,48,48,48,252,6,13,13,9,1,0,108,108,0,252,48, + 48,48,48,48,48,48,48,252,8,10,10,9,0,0,124,102, + 99,99,243,99,99,99,102,124,7,13,13,9,1,0,118,220, + 0,198,198,230,246,222,206,198,198,198,198,7,14,14,9,1, + 0,96,48,24,0,124,198,198,198,198,198,198,198,198,124,7, + 14,14,9,1,0,12,24,48,0,124,198,198,198,198,198,198, + 198,198,124,7,14,14,9,1,0,16,56,108,0,124,198,198, + 198,198,198,198,198,198,124,7,13,13,9,1,0,118,220,0, + 124,198,198,198,198,198,198,198,198,124,7,13,13,9,1,0, + 108,108,0,124,198,198,198,198,198,198,198,198,124,8,7,7, + 9,0,1,195,102,60,24,60,102,195,7,12,12,9,1,255, + 6,126,206,206,222,222,246,246,230,230,252,192,7,14,14,9, + 1,0,96,48,24,0,198,198,198,198,198,198,198,198,108,56, + 7,14,14,9,1,0,12,24,48,0,198,198,198,198,198,198, + 198,198,108,56,7,14,14,9,1,0,16,56,108,0,198,198, + 198,198,198,198,198,198,108,56,7,13,13,9,1,0,108,108, + 0,198,198,198,198,198,198,198,198,108,56,8,14,14,9,0, + 0,12,24,48,0,195,195,102,60,24,24,24,24,24,24,7, + 10,10,9,1,0,192,192,252,198,198,198,252,192,192,192,7, + 10,10,9,1,0,60,102,102,102,236,102,102,102,102,108,7, + 11,11,9,1,0,96,48,24,0,124,6,6,126,198,198,126, + 7,11,11,9,1,0,12,24,48,0,124,6,6,126,198,198, + 126,7,11,11,9,1,0,16,56,108,0,124,6,6,126,198, + 198,126,7,10,10,9,1,0,118,220,0,124,6,6,126,198, + 198,126,7,10,10,9,1,0,108,108,0,124,6,6,126,198, + 198,126,7,11,11,9,1,0,56,108,56,0,124,6,6,126, + 198,198,126,8,7,7,9,0,0,118,27,27,127,216,219,118, + 7,11,11,9,1,252,124,198,192,192,192,198,124,24,12,108, + 56,7,11,11,9,1,0,96,48,24,0,124,198,198,254,192, + 198,124,7,11,11,9,1,0,12,24,48,0,124,198,198,254, + 192,198,124,7,11,11,9,1,0,16,56,108,0,124,198,198, + 254,192,198,124,7,10,10,9,1,0,108,108,0,124,198,198, + 254,192,198,124,6,11,11,9,1,0,192,96,48,0,240,48, + 48,48,48,48,252,6,11,11,9,1,0,12,24,48,0,240, + 48,48,48,48,48,252,6,11,11,9,1,0,32,112,216,0, + 240,48,48,48,48,48,252,6,10,10,9,1,0,108,108,0, + 240,48,48,48,48,48,252,7,11,11,9,1,0,108,56,56, + 108,12,126,198,198,198,198,124,7,10,10,9,1,0,118,220, + 0,220,230,198,198,198,198,198,7,11,11,9,1,0,96,48, + 24,0,56,108,198,198,198,108,56,7,11,11,9,1,0,12, + 24,48,0,56,108,198,198,198,108,56,7,11,11,9,1,0, + 16,56,108,0,56,108,198,198,198,108,56,7,10,10,9,1, + 0,118,220,0,56,108,198,198,198,108,56,7,10,10,9,1, + 0,108,108,0,56,108,198,198,198,108,56,8,7,7,9,0, + 1,24,24,0,255,0,24,24,8,9,9,9,0,255,1,63, + 102,207,219,243,102,252,128,7,11,11,9,1,0,96,48,24, + 0,198,198,198,198,198,198,126,7,11,11,9,1,0,12,24, + 48,0,198,198,198,198,198,198,126,7,11,11,9,1,0,16, + 56,108,0,198,198,198,198,198,198,126,7,10,10,9,1,0, + 108,108,0,198,198,198,198,198,198,126,7,14,14,9,1,253, + 12,24,48,0,198,198,108,108,108,56,56,48,176,96,7,11, + 11,9,1,254,192,192,248,204,198,198,198,204,248,192,192,7, + 13,13,9,1,253,108,108,0,198,198,108,108,108,56,56,48, + 176,96}; +/* + Fontname: -Misc-Fixed-Bold-R-Normal--18-120-100-100-C-90-ISO10646-1 + Copyright: Public domain font. Share and enjoy. + Capital A Height: 10, '1' Height: 10 + Calculated Max Values w= 9 h=13 x= 3 y=14 dx= 9 dy= 0 ascent=14 len=20 + Font Bounding box w= 9 h=18 x= 0 y=-4 + Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 + Pure Font ascent =10 descent=-3 + X Font ascent =11 descent=-3 + Max Font ascent =14 descent=-3 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_9x18Br[1434] U8G_FONT_SECTION("u8g_font_9x18Br") = { + 0,9,18,0,252,10,1,242,3,225,32,127,253,14,253,11, + 253,0,0,0,9,0,14,2,11,11,9,3,0,192,192,192, + 192,192,192,192,0,0,192,192,5,4,4,9,2,7,216,216, + 216,216,7,10,10,9,1,0,108,108,108,254,108,108,254,108, + 108,108,8,11,11,9,0,255,24,126,219,216,120,60,30,27, + 219,126,24,8,10,10,9,0,0,115,222,222,108,24,24,54, + 123,123,206,8,10,10,9,0,0,112,216,216,216,112,115,222, + 204,222,115,2,4,4,9,3,7,192,192,192,192,4,12,12, + 9,2,255,48,96,96,192,192,192,192,192,192,96,96,48,4, + 12,12,9,2,255,192,96,96,48,48,48,48,48,48,96,96, + 192,8,7,7,9,0,1,24,219,126,60,126,219,24,8,7, + 7,9,0,1,24,24,24,255,24,24,24,3,4,4,9,3, + 254,224,224,96,192,7,1,1,9,1,4,254,3,2,2,9, + 3,0,224,224,8,10,10,9,0,0,3,6,6,12,24,24, + 48,96,96,192,7,10,10,9,1,0,56,108,198,198,198,198, + 198,198,108,56,8,10,10,9,0,0,24,56,120,216,24,24, + 24,24,24,255,7,10,10,9,1,0,56,108,198,6,6,12, + 24,48,96,254,7,10,10,9,1,0,254,6,12,24,56,12, + 6,6,204,120,7,10,10,9,1,0,12,28,60,108,204,204, + 254,12,12,12,7,10,10,9,1,0,254,192,192,192,248,12, + 6,6,204,120,7,10,10,9,1,0,60,96,192,192,248,204, + 198,198,108,56,7,10,10,9,1,0,254,6,12,12,24,24, + 48,48,48,48,7,10,10,9,1,0,56,108,198,108,56,108, + 198,198,108,56,7,10,10,9,1,0,56,108,198,198,110,62, + 6,6,12,120,3,7,7,9,3,0,224,224,0,0,0,224, + 224,3,9,9,9,3,254,224,224,0,0,0,224,224,96,192, + 6,9,9,9,1,0,12,24,48,96,192,96,48,24,12,7, + 4,4,9,1,2,254,0,0,254,6,9,9,9,1,0,192, + 96,48,24,12,24,48,96,192,7,10,10,9,1,0,56,108, + 198,6,12,24,48,48,0,48,9,10,20,9,0,0,62,0, + 99,0,205,128,213,128,213,128,213,128,213,128,207,0,96,0, + 62,0,7,10,10,9,1,0,16,56,56,56,108,124,108,198, + 198,198,7,10,10,9,1,0,252,198,198,198,252,198,198,198, + 198,252,7,10,10,9,1,0,60,102,192,192,192,192,192,192, + 102,60,7,10,10,9,1,0,248,204,198,198,198,198,198,198, + 204,248,7,10,10,9,1,0,254,192,192,192,248,192,192,192, + 192,254,7,10,10,9,1,0,254,192,192,192,248,192,192,192, + 192,192,7,10,10,9,1,0,56,108,198,192,192,206,198,198, + 108,56,7,10,10,9,1,0,198,198,198,198,254,198,198,198, + 198,198,6,10,10,9,1,0,252,48,48,48,48,48,48,48, + 48,252,7,10,10,9,1,0,30,12,12,12,12,12,12,204, + 204,120,7,10,10,9,1,0,198,204,216,240,224,240,216,204, + 198,198,7,10,10,9,1,0,192,192,192,192,192,192,192,192, + 192,254,7,10,10,9,1,0,198,238,254,214,198,198,198,198, + 198,198,7,10,10,9,1,0,198,198,230,246,222,206,198,198, + 198,198,7,10,10,9,1,0,124,198,198,198,198,198,198,198, + 198,124,7,10,10,9,1,0,248,204,198,198,204,248,192,192, + 192,192,8,11,11,9,1,255,56,108,198,198,198,198,198,222, + 108,62,3,7,10,10,9,1,0,252,198,198,198,198,252,216, + 204,198,198,7,10,10,9,1,0,124,198,192,192,124,6,6, + 6,198,124,6,10,10,9,1,0,252,48,48,48,48,48,48, + 48,48,48,7,10,10,9,1,0,198,198,198,198,198,198,198, + 198,108,56,7,10,10,9,1,0,198,198,198,108,108,108,56, + 56,56,16,7,10,10,9,1,0,198,198,198,198,214,214,214, + 254,238,68,7,10,10,9,1,0,198,198,108,56,16,16,56, + 108,198,198,8,10,10,9,0,0,195,195,102,60,24,24,24, + 24,24,24,7,10,10,9,1,0,254,6,6,12,24,48,96, + 192,192,254,5,12,12,9,2,255,248,192,192,192,192,192,192, + 192,192,192,192,248,8,10,10,9,0,0,192,96,96,48,24, + 24,12,6,6,3,4,12,12,9,2,255,240,48,48,48,48, + 48,48,48,48,48,48,240,8,4,4,9,0,6,24,60,102, + 195,8,1,1,9,0,255,255,4,3,3,9,2,10,192,96, + 48,7,7,7,9,1,0,124,6,6,126,198,198,126,7,10, + 10,9,1,0,192,192,192,252,198,198,198,198,198,252,7,7, + 7,9,1,0,124,198,192,192,192,198,124,7,10,10,9,1, + 0,6,6,6,126,198,198,198,198,198,126,7,7,7,9,1, + 0,124,198,198,254,192,198,124,6,10,10,9,1,0,56,108, + 108,96,96,240,96,96,96,96,7,10,10,9,1,253,126,204, + 204,204,120,192,124,198,198,124,7,10,10,9,1,0,192,192, + 192,252,198,198,198,198,198,198,6,10,10,9,1,0,48,48, + 0,240,48,48,48,48,48,252,5,13,13,9,2,253,24,24, + 0,56,24,24,24,24,24,24,216,216,112,7,10,10,9,1, + 0,192,192,192,204,216,240,240,216,204,198,6,10,10,9,1, + 0,240,48,48,48,48,48,48,48,48,252,8,7,7,9,0, + 0,254,219,219,219,219,219,195,7,7,7,9,1,0,220,230, + 198,198,198,198,198,7,7,7,9,1,0,56,108,198,198,198, + 108,56,7,10,10,9,1,253,248,204,198,198,198,204,248,192, + 192,192,7,10,10,9,1,253,62,102,198,198,198,102,62,6, + 6,6,7,7,7,9,1,0,220,118,96,96,96,96,96,7, + 7,7,9,1,0,124,198,192,124,6,198,124,7,9,9,9, + 1,0,48,48,252,48,48,48,48,54,28,7,7,7,9,1, + 0,198,198,198,198,198,198,126,7,7,7,9,1,0,198,198, + 108,108,56,56,16,8,7,7,9,0,0,195,195,219,219,219, + 255,102,7,7,7,9,1,0,198,108,56,16,56,108,198,7, + 10,10,9,1,253,198,198,108,108,108,56,56,48,176,96,6, + 7,7,9,1,0,252,12,24,48,96,192,252,6,11,11,9, + 1,0,60,96,96,96,96,192,96,96,96,96,60,2,12,12, + 9,3,255,192,192,192,192,192,192,192,192,192,192,192,192,6, + 11,11,9,1,0,224,48,48,48,48,28,48,48,48,48,224, + 8,3,3,9,0,7,115,219,206,255}; +/* + Fontname: -Misc-Fixed-Medium-R-Normal--18-120-100-100-C-90-ISO10646-1 + Copyright: Public domain font. Share and enjoy. + Capital A Height: 10, '1' Height: 10 + Calculated Max Values w= 8 h=14 x= 4 y=14 dx= 9 dy= 0 ascent=14 len=14 + Font Bounding box w= 9 h=18 x= 0 y=-4 + Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 + Pure Font ascent =10 descent=-3 + X Font ascent =11 descent=-3 + Max Font ascent =14 descent=-3 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_9x18[3011] U8G_FONT_SECTION("u8g_font_9x18") = { + 0,9,18,0,252,10,1,232,3,215,32,255,253,14,253,11, + 253,0,0,0,9,0,14,1,11,11,9,4,0,128,128,128, + 128,128,128,128,0,0,128,128,4,4,4,9,3,7,144,144, + 144,144,8,10,10,9,0,0,36,36,36,255,36,36,255,36, + 36,36,7,11,11,9,1,255,16,124,146,144,80,56,20,18, + 146,124,16,7,10,10,9,1,0,66,164,164,72,16,16,36, + 74,74,132,7,10,10,9,1,0,96,144,144,144,96,98,148, + 136,148,98,1,4,4,9,4,7,128,128,128,128,3,12,12, + 9,3,255,32,64,64,128,128,128,128,128,128,64,64,32,3, + 12,12,9,3,255,128,64,64,32,32,32,32,32,32,64,64, + 128,7,7,7,9,1,3,16,146,84,56,84,146,16,7,7, + 7,9,1,1,16,16,16,254,16,16,16,2,4,4,9,4, + 254,192,192,64,128,7,1,1,9,1,4,254,2,2,2,9, + 4,0,192,192,7,10,10,9,1,0,2,4,4,8,16,16, + 32,64,64,128,7,10,10,9,1,0,56,68,130,130,130,130, + 130,130,68,56,7,10,10,9,1,0,16,48,80,144,16,16, + 16,16,16,254,7,10,10,9,1,0,56,68,130,2,4,8, + 16,32,64,254,7,10,10,9,1,0,254,2,4,8,24,4, + 2,2,132,120,7,10,10,9,1,0,4,12,20,36,68,132, + 254,4,4,4,7,10,10,9,1,0,254,128,128,128,248,4, + 2,2,132,120,7,10,10,9,1,0,60,64,128,128,184,196, + 130,130,68,56,7,10,10,9,1,0,254,2,4,4,8,8, + 16,16,16,16,7,10,10,9,1,0,56,68,130,68,56,68, + 130,130,68,56,7,10,10,9,1,0,56,68,130,130,70,58, + 2,2,4,120,2,7,7,9,4,0,192,192,0,0,0,192, + 192,2,9,9,9,4,254,192,192,0,0,0,192,192,64,128, + 5,9,9,9,2,0,8,16,32,64,128,64,32,16,8,7, + 4,4,9,1,2,254,0,0,254,5,9,9,9,2,0,128, + 64,32,16,8,16,32,64,128,7,10,10,9,1,0,56,68, + 130,2,4,8,16,16,0,16,7,10,10,9,1,0,56,68, + 154,170,170,170,170,156,64,60,7,10,10,9,1,0,16,40, + 40,40,68,124,68,130,130,130,7,10,10,9,1,0,248,132, + 130,132,248,132,130,130,132,248,7,10,10,9,1,0,60,66, + 128,128,128,128,128,128,66,60,7,10,10,9,1,0,248,132, + 130,130,130,130,130,130,132,248,7,10,10,9,1,0,254,128, + 128,128,248,128,128,128,128,254,7,10,10,9,1,0,254,128, + 128,128,248,128,128,128,128,128,7,10,10,9,1,0,56,68, + 130,128,128,142,130,130,68,56,7,10,10,9,1,0,130,130, + 130,130,254,130,130,130,130,130,5,10,10,9,2,0,248,32, + 32,32,32,32,32,32,32,248,7,10,10,9,1,0,62,8, + 8,8,8,8,8,136,136,112,7,10,10,9,1,0,130,132, + 136,144,160,208,136,132,130,130,7,10,10,9,1,0,128,128, + 128,128,128,128,128,128,128,254,7,10,10,9,1,0,130,130, + 198,170,146,130,130,130,130,130,7,10,10,9,1,0,130,130, + 194,162,146,138,134,130,130,130,7,10,10,9,1,0,124,130, + 130,130,130,130,130,130,130,124,7,10,10,9,1,0,248,132, + 130,130,132,248,128,128,128,128,8,11,11,9,1,255,56,68, + 130,130,130,130,130,138,68,58,1,7,10,10,9,1,0,248, + 132,130,130,132,248,144,136,132,130,7,10,10,9,1,0,124, + 130,128,128,124,2,2,2,130,124,7,10,10,9,1,0,254, + 16,16,16,16,16,16,16,16,16,7,10,10,9,1,0,130, + 130,130,130,130,130,130,130,68,56,7,10,10,9,1,0,130, + 130,130,68,68,68,40,40,40,16,7,10,10,9,1,0,130, + 130,130,130,146,146,146,146,170,68,7,10,10,9,1,0,130, + 130,68,40,16,16,40,68,130,130,7,10,10,9,1,0,130, + 130,68,40,16,16,16,16,16,16,7,10,10,9,1,0,254, + 2,4,8,16,32,64,128,128,254,4,12,12,9,3,255,240, + 128,128,128,128,128,128,128,128,128,128,240,7,10,10,9,1, + 0,128,64,64,32,16,16,8,4,4,2,4,12,12,9,2, + 255,240,16,16,16,16,16,16,16,16,16,16,240,7,4,4, + 9,1,6,16,40,68,130,8,1,1,9,0,255,255,3,3, + 3,9,3,10,128,64,32,7,7,7,9,1,0,124,2,2, + 126,130,134,122,7,10,10,9,1,0,128,128,128,188,194,130, + 130,130,194,188,7,7,7,9,1,0,124,130,128,128,128,130, + 124,7,10,10,9,1,0,2,2,2,122,134,130,130,130,134, + 122,7,7,7,9,1,0,124,130,130,254,128,130,124,7,10, + 10,9,1,0,28,34,34,32,32,248,32,32,32,32,7,10, + 10,9,1,253,122,132,132,132,120,128,124,130,130,124,7,10, + 10,9,1,0,128,128,128,188,194,130,130,130,130,130,5,10, + 10,9,2,0,96,0,0,224,32,32,32,32,32,248,5,13, + 13,9,2,253,24,0,0,56,8,8,8,8,8,8,136,136, + 112,7,10,10,9,1,0,128,128,128,132,136,144,176,200,132, + 130,5,10,10,9,2,0,224,32,32,32,32,32,32,32,32, + 248,7,7,7,9,1,0,236,146,146,146,146,146,130,7,7, + 7,9,1,0,188,194,130,130,130,130,130,7,7,7,9,1, + 0,124,130,130,130,130,130,124,7,10,10,9,1,253,184,196, + 130,130,130,196,184,128,128,128,7,10,10,9,1,253,58,70, + 130,130,130,70,58,2,2,2,7,7,7,9,1,0,156,98, + 66,64,64,64,64,7,7,7,9,1,0,124,130,128,124,2, + 130,124,7,9,9,9,1,0,32,32,252,32,32,32,32,34, + 28,7,7,7,9,1,0,130,130,130,130,130,134,122,7,7, + 7,9,1,0,130,130,68,68,40,40,16,7,7,7,9,1, + 0,130,130,146,146,146,170,68,7,7,7,9,1,0,130,68, + 40,16,40,68,130,7,10,10,9,1,253,66,66,36,36,36, + 24,24,16,144,96,7,7,7,9,1,0,254,4,8,16,32, + 64,254,6,11,11,9,2,0,28,32,32,32,32,192,32,32, + 32,32,28,1,12,12,9,4,255,128,128,128,128,128,128,128, + 128,128,128,128,128,6,11,11,9,1,0,224,16,16,16,16, + 12,16,16,16,16,224,7,3,3,9,1,7,98,146,140,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,255,255,255,255,255,255,255, + 0,0,0,9,0,14,1,11,11,9,4,0,128,128,0,0, + 128,128,128,128,128,128,128,6,8,8,9,1,0,8,120,148, + 144,160,164,120,64,7,10,10,9,1,0,28,34,32,32,248, + 32,32,96,162,92,7,6,6,9,1,3,130,124,68,68,124, + 130,7,10,10,9,1,0,130,130,68,40,124,16,124,16,16, + 16,1,11,11,9,4,255,128,128,128,128,128,0,128,128,128, + 128,128,4,11,11,9,2,255,96,144,128,96,144,144,144,96, + 16,144,96,3,2,2,9,3,11,160,160,8,9,9,9,0, + 1,60,66,153,165,161,165,153,66,60,5,7,7,9,1,3, + 96,144,112,144,120,0,248,7,8,8,9,1,1,18,36,72, + 144,144,72,36,18,6,4,4,9,1,2,252,4,4,4,5, + 1,1,9,2,4,248,8,9,9,9,0,1,60,66,185,165, + 189,169,165,66,60,6,1,1,9,1,9,252,4,4,4,9, + 3,6,96,144,144,96,7,9,9,9,1,1,16,16,16,254, + 16,16,16,0,254,4,6,6,9,1,4,96,144,16,96,128, + 240,4,6,6,9,1,4,96,144,32,16,144,96,3,3,3, + 9,3,10,32,64,128,7,9,9,9,1,254,130,130,130,130, + 130,198,186,128,128,7,10,10,9,1,0,126,138,138,138,122, + 10,10,10,10,10,2,2,2,9,4,4,192,192,4,3,3, + 9,2,253,32,144,96,3,6,6,9,1,4,64,192,64,64, + 64,224,5,6,6,9,1,4,112,136,136,112,0,248,7,8, + 8,9,1,1,144,72,36,18,18,36,72,144,7,10,10,9, + 1,0,64,192,64,64,66,230,10,18,26,6,7,10,10,9, + 1,0,64,192,64,64,76,242,2,12,16,30,7,10,10,9, + 1,0,96,144,32,16,146,102,10,18,26,6,7,10,10,9, + 1,0,16,0,16,16,32,64,128,130,130,124,7,14,14,9, + 1,0,32,16,8,0,16,40,40,40,68,124,68,130,130,130, + 7,14,14,9,1,0,8,16,32,0,16,40,40,40,68,124, + 68,130,130,130,7,14,14,9,1,0,16,40,68,0,16,40, + 40,40,68,124,68,130,130,130,7,13,13,9,1,0,52,88, + 0,16,40,40,40,68,124,68,130,130,130,7,13,13,9,1, + 0,40,40,0,16,40,40,40,68,124,68,130,130,130,7,14, + 14,9,1,0,16,40,40,16,16,40,40,40,68,124,68,130, + 130,130,7,10,10,9,1,0,30,40,40,40,78,120,72,136, + 136,142,7,13,13,9,1,253,60,66,128,128,128,128,128,128, + 66,60,8,36,24,7,14,14,9,1,0,32,16,8,0,254, + 128,128,128,248,128,128,128,128,254,7,14,14,9,1,0,8, + 16,32,0,254,128,128,128,248,128,128,128,128,254,7,14,14, + 9,1,0,16,40,68,0,254,128,128,128,248,128,128,128,128, + 254,7,13,13,9,1,0,40,40,0,254,128,128,128,248,128, + 128,128,128,254,5,14,14,9,2,0,64,32,16,0,248,32, + 32,32,32,32,32,32,32,248,5,14,14,9,2,0,16,32, + 64,0,248,32,32,32,32,32,32,32,32,248,5,14,14,9, + 2,0,32,80,136,0,248,32,32,32,32,32,32,32,32,248, + 5,13,13,9,2,0,80,80,0,248,32,32,32,32,32,32, + 32,32,248,7,10,10,9,1,0,120,68,66,66,242,66,66, + 66,68,120,7,13,13,9,1,0,52,88,0,130,130,194,162, + 146,138,134,130,130,130,7,14,14,9,1,0,32,16,8,0, + 124,130,130,130,130,130,130,130,130,124,7,14,14,9,1,0, + 8,16,32,0,124,130,130,130,130,130,130,130,130,124,7,14, + 14,9,1,0,16,40,68,0,124,130,130,130,130,130,130,130, + 130,124,7,13,13,9,1,0,52,88,0,124,130,130,130,130, + 130,130,130,130,124,7,13,13,9,1,0,40,40,0,124,130, + 130,130,130,130,130,130,130,124,7,7,7,9,1,1,130,68, + 40,16,40,68,130,7,12,12,9,1,255,2,124,134,138,138, + 146,146,162,162,194,124,128,7,14,14,9,1,0,32,16,8, + 0,130,130,130,130,130,130,130,130,68,56,7,14,14,9,1, + 0,8,16,32,0,130,130,130,130,130,130,130,130,68,56,7, + 14,14,9,1,0,16,40,68,0,130,130,130,130,130,130,130, + 130,68,56,7,13,13,9,1,0,40,40,0,130,130,130,130, + 130,130,130,130,68,56,7,14,14,9,1,0,8,16,32,0, + 130,130,68,40,16,16,16,16,16,16,7,10,10,9,1,0, + 128,128,252,130,130,130,252,128,128,128,6,10,10,9,1,0, + 56,68,68,72,208,72,68,68,68,88,7,11,11,9,1,0, + 32,16,8,0,124,2,2,126,130,134,122,7,11,11,9,1, + 0,8,16,32,0,124,2,2,126,130,134,122,7,11,11,9, + 1,0,16,40,68,0,124,2,2,126,130,134,122,7,10,10, + 9,1,0,52,88,0,124,2,2,126,130,134,122,7,10,10, + 9,1,0,40,40,0,124,2,2,126,130,134,122,7,12,12, + 9,1,0,16,40,40,16,0,124,2,2,126,130,134,122,7, + 7,7,9,1,0,108,18,18,126,144,146,108,7,10,10,9, + 1,253,124,130,128,128,128,130,124,16,72,48,7,11,11,9, + 1,0,32,16,8,0,124,130,130,254,128,130,124,7,11,11, + 9,1,0,8,16,32,0,124,130,130,254,128,130,124,7,11, + 11,9,1,0,16,40,68,0,124,130,130,254,128,130,124,7, + 10,10,9,1,0,40,40,0,124,130,130,254,128,130,124,5, + 12,12,9,2,0,128,64,32,0,0,224,32,32,32,32,32, + 248,5,12,12,9,2,0,16,32,64,0,0,224,32,32,32, + 32,32,248,5,12,12,9,2,0,32,80,136,0,0,224,32, + 32,32,32,32,248,5,11,11,9,2,0,80,80,0,0,224, + 32,32,32,32,32,248,7,11,11,9,1,0,72,48,80,8, + 60,68,130,130,130,68,56,7,10,10,9,1,0,52,88,0, + 188,194,130,130,130,130,130,7,11,11,9,1,0,32,16,8, + 0,124,130,130,130,130,130,124,7,11,11,9,1,0,8,16, + 32,0,124,130,130,130,130,130,124,7,11,11,9,1,0,16, + 40,68,0,124,130,130,130,130,130,124,7,10,10,9,1,0, + 52,88,0,124,130,130,130,130,130,124,7,10,10,9,1,0, + 40,40,0,124,130,130,130,130,130,124,7,9,9,9,1,0, + 16,56,16,0,254,0,16,56,16,7,9,9,9,1,255,2, + 124,138,138,146,162,162,124,128,7,11,11,9,1,0,64,32, + 16,0,130,130,130,130,130,134,122,7,11,11,9,1,0,8, + 16,32,0,130,130,130,130,130,134,122,7,11,11,9,1,0, + 16,40,68,0,130,130,130,130,130,134,122,7,10,10,9,1, + 0,40,40,0,130,130,130,130,130,134,122,7,14,14,9,1, + 253,4,8,16,0,66,66,36,36,36,24,24,16,144,96,7, + 11,11,9,1,254,128,128,184,196,130,130,130,196,184,128,128, + 7,13,13,9,1,253,36,36,0,66,66,36,36,36,24,24, + 16,144,96}; +/* + Fontname: -Misc-Fixed-Medium-R-Normal--18-120-100-100-C-90-ISO10646-1 + Copyright: Public domain font. Share and enjoy. + Capital A Height: 10, '1' Height: 10 + Calculated Max Values w= 8 h=13 x= 4 y=14 dx= 9 dy= 0 ascent=14 len=13 + Font Bounding box w= 9 h=18 x= 0 y=-4 + Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 + Pure Font ascent =10 descent=-3 + X Font ascent =11 descent=-3 + Max Font ascent =14 descent=-3 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_9x18r[1424] U8G_FONT_SECTION("u8g_font_9x18r") = { + 0,9,18,0,252,10,1,232,3,215,32,127,253,14,253,11, + 253,0,0,0,9,0,14,1,11,11,9,4,0,128,128,128, + 128,128,128,128,0,0,128,128,4,4,4,9,3,7,144,144, + 144,144,8,10,10,9,0,0,36,36,36,255,36,36,255,36, + 36,36,7,11,11,9,1,255,16,124,146,144,80,56,20,18, + 146,124,16,7,10,10,9,1,0,66,164,164,72,16,16,36, + 74,74,132,7,10,10,9,1,0,96,144,144,144,96,98,148, + 136,148,98,1,4,4,9,4,7,128,128,128,128,3,12,12, + 9,3,255,32,64,64,128,128,128,128,128,128,64,64,32,3, + 12,12,9,3,255,128,64,64,32,32,32,32,32,32,64,64, + 128,7,7,7,9,1,3,16,146,84,56,84,146,16,7,7, + 7,9,1,1,16,16,16,254,16,16,16,2,4,4,9,4, + 254,192,192,64,128,7,1,1,9,1,4,254,2,2,2,9, + 4,0,192,192,7,10,10,9,1,0,2,4,4,8,16,16, + 32,64,64,128,7,10,10,9,1,0,56,68,130,130,130,130, + 130,130,68,56,7,10,10,9,1,0,16,48,80,144,16,16, + 16,16,16,254,7,10,10,9,1,0,56,68,130,2,4,8, + 16,32,64,254,7,10,10,9,1,0,254,2,4,8,24,4, + 2,2,132,120,7,10,10,9,1,0,4,12,20,36,68,132, + 254,4,4,4,7,10,10,9,1,0,254,128,128,128,248,4, + 2,2,132,120,7,10,10,9,1,0,60,64,128,128,184,196, + 130,130,68,56,7,10,10,9,1,0,254,2,4,4,8,8, + 16,16,16,16,7,10,10,9,1,0,56,68,130,68,56,68, + 130,130,68,56,7,10,10,9,1,0,56,68,130,130,70,58, + 2,2,4,120,2,7,7,9,4,0,192,192,0,0,0,192, + 192,2,9,9,9,4,254,192,192,0,0,0,192,192,64,128, + 5,9,9,9,2,0,8,16,32,64,128,64,32,16,8,7, + 4,4,9,1,2,254,0,0,254,5,9,9,9,2,0,128, + 64,32,16,8,16,32,64,128,7,10,10,9,1,0,56,68, + 130,2,4,8,16,16,0,16,7,10,10,9,1,0,56,68, + 154,170,170,170,170,156,64,60,7,10,10,9,1,0,16,40, + 40,40,68,124,68,130,130,130,7,10,10,9,1,0,248,132, + 130,132,248,132,130,130,132,248,7,10,10,9,1,0,60,66, + 128,128,128,128,128,128,66,60,7,10,10,9,1,0,248,132, + 130,130,130,130,130,130,132,248,7,10,10,9,1,0,254,128, + 128,128,248,128,128,128,128,254,7,10,10,9,1,0,254,128, + 128,128,248,128,128,128,128,128,7,10,10,9,1,0,56,68, + 130,128,128,142,130,130,68,56,7,10,10,9,1,0,130,130, + 130,130,254,130,130,130,130,130,5,10,10,9,2,0,248,32, + 32,32,32,32,32,32,32,248,7,10,10,9,1,0,62,8, + 8,8,8,8,8,136,136,112,7,10,10,9,1,0,130,132, + 136,144,160,208,136,132,130,130,7,10,10,9,1,0,128,128, + 128,128,128,128,128,128,128,254,7,10,10,9,1,0,130,130, + 198,170,146,130,130,130,130,130,7,10,10,9,1,0,130,130, + 194,162,146,138,134,130,130,130,7,10,10,9,1,0,124,130, + 130,130,130,130,130,130,130,124,7,10,10,9,1,0,248,132, + 130,130,132,248,128,128,128,128,8,11,11,9,1,255,56,68, + 130,130,130,130,130,138,68,58,1,7,10,10,9,1,0,248, + 132,130,130,132,248,144,136,132,130,7,10,10,9,1,0,124, + 130,128,128,124,2,2,2,130,124,7,10,10,9,1,0,254, + 16,16,16,16,16,16,16,16,16,7,10,10,9,1,0,130, + 130,130,130,130,130,130,130,68,56,7,10,10,9,1,0,130, + 130,130,68,68,68,40,40,40,16,7,10,10,9,1,0,130, + 130,130,130,146,146,146,146,170,68,7,10,10,9,1,0,130, + 130,68,40,16,16,40,68,130,130,7,10,10,9,1,0,130, + 130,68,40,16,16,16,16,16,16,7,10,10,9,1,0,254, + 2,4,8,16,32,64,128,128,254,4,12,12,9,3,255,240, + 128,128,128,128,128,128,128,128,128,128,240,7,10,10,9,1, + 0,128,64,64,32,16,16,8,4,4,2,4,12,12,9,2, + 255,240,16,16,16,16,16,16,16,16,16,16,240,7,4,4, + 9,1,6,16,40,68,130,8,1,1,9,0,255,255,3,3, + 3,9,3,10,128,64,32,7,7,7,9,1,0,124,2,2, + 126,130,134,122,7,10,10,9,1,0,128,128,128,188,194,130, + 130,130,194,188,7,7,7,9,1,0,124,130,128,128,128,130, + 124,7,10,10,9,1,0,2,2,2,122,134,130,130,130,134, + 122,7,7,7,9,1,0,124,130,130,254,128,130,124,7,10, + 10,9,1,0,28,34,34,32,32,248,32,32,32,32,7,10, + 10,9,1,253,122,132,132,132,120,128,124,130,130,124,7,10, + 10,9,1,0,128,128,128,188,194,130,130,130,130,130,5,10, + 10,9,2,0,96,0,0,224,32,32,32,32,32,248,5,13, + 13,9,2,253,24,0,0,56,8,8,8,8,8,8,136,136, + 112,7,10,10,9,1,0,128,128,128,132,136,144,176,200,132, + 130,5,10,10,9,2,0,224,32,32,32,32,32,32,32,32, + 248,7,7,7,9,1,0,236,146,146,146,146,146,130,7,7, + 7,9,1,0,188,194,130,130,130,130,130,7,7,7,9,1, + 0,124,130,130,130,130,130,124,7,10,10,9,1,253,184,196, + 130,130,130,196,184,128,128,128,7,10,10,9,1,253,58,70, + 130,130,130,70,58,2,2,2,7,7,7,9,1,0,156,98, + 66,64,64,64,64,7,7,7,9,1,0,124,130,128,124,2, + 130,124,7,9,9,9,1,0,32,32,252,32,32,32,32,34, + 28,7,7,7,9,1,0,130,130,130,130,130,134,122,7,7, + 7,9,1,0,130,130,68,68,40,40,16,7,7,7,9,1, + 0,130,130,146,146,146,170,68,7,7,7,9,1,0,130,68, + 40,16,40,68,130,7,10,10,9,1,253,66,66,36,36,36, + 24,24,16,144,96,7,7,7,9,1,0,254,4,8,16,32, + 64,254,6,11,11,9,2,0,28,32,32,32,32,192,32,32, + 32,32,28,1,12,12,9,4,255,128,128,128,128,128,128,128, + 128,128,128,128,128,6,11,11,9,1,0,224,16,16,16,16, + 12,16,16,16,16,224,7,3,3,9,1,7,98,146,140,255 + }; +/* + Fontname: -FreeType-Baby-Medium-R-Normal--8-80-72-72-P-42-ISO10646-1 + Copyright: Copyright mrsbarrett 2008 + Capital A Height: 5, '1' Height: 5 + Calculated Max Values w= 9 h= 9 x= 1 y= 5 dx=10 dy= 0 ascent= 8 len=12 + Font Bounding box w=10 h=10 x=-1 y=-2 + Calculated Min Values x=-1 y=-2 dx= 0 dy= 0 + Pure Font ascent = 5 descent=-2 + X Font ascent = 6 descent=-2 + Max Font ascent = 8 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_baby[2227] U8G_FONT_SECTION("u8g_font_baby") = { + 0,10,10,255,254,5,1,108,2,200,32,255,254,8,254,6, + 254,0,0,0,2,0,0,1,6,6,3,1,0,128,128,128, + 128,0,128,3,3,3,4,0,4,160,160,160,5,5,5,6, + 0,0,80,248,80,248,80,3,7,7,4,0,255,64,96,128, + 64,32,192,64,5,5,5,6,0,0,200,208,32,88,152,5, + 6,6,6,0,0,64,160,64,160,144,104,1,3,3,2,0, + 4,128,128,128,2,7,7,3,0,255,64,128,128,128,128,128, + 64,2,7,7,3,0,255,128,64,64,64,64,64,128,3,3, + 3,4,0,3,160,64,160,3,3,3,5,1,1,64,224,64, + 2,3,3,3,0,254,192,64,128,3,1,1,4,0,2,224, + 1,1,1,2,0,0,128,3,6,6,4,0,255,32,32,64, + 64,128,128,3,5,5,4,0,0,64,160,160,160,64,2,5, + 5,3,0,0,64,192,64,64,64,4,5,5,5,0,0,96, + 144,32,64,240,4,5,5,5,0,0,224,16,96,16,224,4, + 5,5,5,0,0,144,144,144,112,16,4,5,5,5,0,0, + 240,128,224,16,224,4,5,5,5,0,0,96,128,224,144,96, + 4,5,5,5,0,0,240,16,32,64,128,4,5,5,5,0, + 0,96,144,96,144,96,4,5,5,5,0,0,96,144,112,16, + 96,1,3,3,3,1,0,128,0,128,2,5,5,3,0,254, + 64,0,64,64,128,4,5,5,5,0,0,16,96,128,96,16, + 3,3,3,4,0,1,224,0,224,4,5,5,5,0,0,128, + 96,16,96,128,4,6,6,5,0,0,96,144,32,64,0,64, + 5,6,6,6,0,0,112,136,168,176,128,112,4,5,5,5, + 0,0,96,144,144,240,144,4,5,5,5,0,0,224,144,224, + 144,224,4,5,5,5,0,0,96,144,128,144,96,4,5,5, + 5,0,0,224,144,144,144,224,4,5,5,5,0,0,240,128, + 224,128,240,4,5,5,5,0,0,240,128,224,128,128,4,5, + 5,5,0,0,96,128,176,144,96,4,5,5,5,0,0,144, + 144,240,144,144,3,5,5,4,0,0,224,64,64,64,224,4, + 5,5,5,0,0,112,16,16,144,96,4,5,5,5,0,0, + 144,144,144,224,144,3,5,5,4,0,0,128,128,128,128,224, + 5,5,5,6,0,0,216,168,168,168,136,4,5,5,5,0, + 0,144,144,208,176,144,4,5,5,5,0,0,96,144,144,144, + 96,4,5,5,5,0,0,224,144,144,224,128,4,5,5,5, + 0,0,96,144,144,80,224,4,5,5,5,0,0,224,144,144, + 224,144,3,5,5,4,0,0,96,128,64,32,192,3,5,5, + 4,0,0,224,64,64,64,64,4,5,5,5,0,0,144,144, + 144,144,96,5,5,5,6,0,0,136,80,80,80,32,5,5, + 5,6,0,0,136,136,136,168,80,4,5,5,5,0,0,144, + 144,144,96,144,4,6,6,5,0,255,144,144,144,112,16,96, + 4,5,5,5,0,0,240,32,64,128,240,2,7,7,3,0, + 255,192,128,128,128,128,128,192,3,6,6,4,0,255,128,128, + 64,64,32,32,2,7,7,3,0,255,192,64,64,64,64,64, + 192,3,2,2,4,0,4,64,160,4,1,1,5,0,255,240, + 2,2,2,3,0,5,128,64,4,4,4,5,0,0,96,144, + 144,112,4,5,5,5,0,0,128,224,144,144,96,3,4,4, + 4,0,0,96,128,128,96,4,5,5,5,0,0,16,112,144, + 144,96,4,4,4,5,0,0,96,144,160,112,4,5,5,5, + 0,0,96,144,128,192,128,4,6,6,5,0,254,96,144,144, + 112,16,96,4,5,5,5,0,0,128,224,144,144,144,1,5, + 5,2,0,0,128,0,128,128,128,3,7,7,3,255,254,32, + 0,32,32,32,32,192,3,5,5,4,0,0,128,160,192,160, + 160,1,5,5,2,0,0,128,128,128,128,128,5,4,4,6, + 0,0,208,168,168,136,4,4,4,5,0,0,224,144,144,144, + 4,4,4,5,0,0,96,144,144,96,4,6,6,5,0,254, + 96,144,144,224,128,128,4,6,6,5,0,254,96,144,144,112, + 16,16,4,4,4,5,0,0,224,144,128,128,4,4,4,5, + 0,0,112,64,32,224,3,5,5,4,0,0,64,224,64,64, + 64,4,4,4,5,0,0,144,144,144,112,4,4,4,5,0, + 0,144,144,144,96,5,4,4,6,0,0,136,168,168,80,4, + 4,4,5,0,0,144,144,96,144,4,6,6,5,0,254,144, + 144,144,112,16,96,4,4,4,5,0,0,240,32,64,240,3, + 7,7,4,0,255,32,64,64,128,64,64,32,1,7,7,2, + 0,255,128,128,128,128,128,128,128,3,7,7,4,0,255,128, + 64,64,32,64,64,128,5,3,3,6,0,1,64,168,16,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,255,255,255,255,255,255,255, + 255,1,6,6,3,1,255,128,0,128,128,128,128,4,6,6, + 5,0,255,16,112,160,160,112,64,4,6,6,5,0,0,96, + 208,64,224,64,240,4,4,4,5,0,1,240,144,144,240,5, + 7,7,6,0,255,136,80,32,112,32,112,32,1,7,7,2, + 0,255,128,128,128,0,128,128,128,4,7,7,5,0,255,112, + 128,96,144,96,16,224,3,1,1,4,0,5,160,7,7,7, + 8,0,255,56,68,154,162,154,68,56,3,3,3,4,0,4, + 96,160,224,4,3,3,5,0,1,80,160,80,5,3,3,6, + 0,1,248,8,8,2,1,1,3,0,2,192,7,7,7,8, + 0,255,56,68,178,186,170,68,56,4,1,1,5,0,5,240, + 3,3,3,4,0,4,64,160,64,3,5,5,4,0,0,64, + 224,64,0,224,3,4,4,4,0,4,192,32,64,224,3,4, + 4,4,0,4,224,32,96,224,2,2,2,3,0,5,64,128, + 5,6,6,6,0,254,144,144,144,248,128,128,5,6,6,6, + 0,0,120,232,232,104,40,40,1,1,1,3,1,2,128,3, + 3,3,4,0,254,64,32,192,3,4,4,4,0,4,64,192, + 64,224,4,4,4,5,0,4,96,144,144,96,4,3,3,5, + 0,1,160,80,160,7,6,6,8,0,0,136,144,160,42,78, + 130,7,6,6,8,0,0,136,144,164,42,68,142,9,6,12, + 10,0,0,226,0,100,0,232,0,10,128,19,128,32,128,4, + 6,6,5,0,255,32,0,32,64,144,96,4,8,8,5,0, + 0,64,32,0,96,144,144,240,144,4,8,8,5,0,0,32, + 64,0,96,144,144,240,144,4,8,8,5,0,0,96,144,0, + 96,144,144,240,144,4,8,8,5,0,0,80,160,0,96,144, + 144,240,144,4,7,7,5,0,0,80,0,96,144,144,240,144, + 4,7,7,5,0,0,96,0,96,144,144,240,144,7,5,5, + 8,0,0,126,144,156,240,158,4,7,7,5,0,254,96,144, + 128,144,96,32,64,4,8,8,5,0,0,64,32,0,240,128, + 224,128,240,4,8,8,5,0,0,32,64,0,240,128,224,128, + 240,4,8,8,5,0,0,96,144,0,240,128,224,128,240,4, + 7,7,5,0,0,80,0,240,128,224,128,240,3,8,8,4, + 0,0,128,64,0,224,64,64,64,224,3,8,8,4,0,0, + 32,64,0,224,64,64,64,224,3,8,8,4,0,0,64,160, + 0,224,64,64,64,224,3,7,7,4,0,0,160,0,224,64, + 64,64,224,5,5,5,6,0,0,112,72,232,72,112,4,8, + 8,5,0,0,80,160,0,144,144,208,176,144,4,8,8,5, + 0,0,64,32,0,96,144,144,144,96,4,8,8,5,0,0, + 32,64,0,96,144,144,144,96,4,8,8,5,0,0,96,144, + 0,96,144,144,144,96,4,8,8,5,0,0,80,160,0,96, + 144,144,144,96,4,7,7,5,0,0,80,0,96,144,144,144, + 96,3,3,3,4,0,1,160,64,160,6,5,5,7,0,0, + 48,76,120,200,48,4,8,8,5,0,0,64,32,0,144,144, + 144,144,96,4,8,8,5,0,0,32,64,0,144,144,144,144, + 96,4,8,8,5,0,0,96,144,0,144,144,144,144,96,4, + 7,7,5,0,0,80,0,144,144,144,144,96,4,9,9,5, + 0,255,32,64,0,144,144,144,112,16,96,4,6,6,5,0, + 0,128,224,144,144,224,128,4,5,5,5,0,0,96,144,160, + 144,160,4,7,7,5,0,0,64,32,0,96,144,144,112,4, + 7,7,5,0,0,32,64,0,96,144,144,112,4,7,7,5, + 0,0,96,144,0,96,144,144,112,4,7,7,5,0,0,80, + 160,0,96,144,144,112,4,6,6,5,0,0,80,0,96,144, + 144,112,4,7,7,5,0,0,96,96,0,96,144,144,112,7, + 4,4,8,0,0,108,146,148,126,3,6,6,4,0,254,96, + 128,128,96,32,64,4,7,7,5,0,0,64,32,0,96,144, + 160,112,4,7,7,5,0,0,32,64,0,96,144,160,112,4, + 7,7,5,0,0,96,144,0,96,144,160,112,4,6,6,5, + 0,0,80,0,96,144,160,112,2,6,6,3,0,0,128,64, + 0,64,64,64,2,6,6,3,0,0,64,128,0,128,128,128, + 3,6,6,4,0,0,64,160,0,64,64,64,3,5,5,4, + 0,0,160,0,64,64,64,5,6,6,6,0,0,96,24,112, + 144,144,96,4,7,7,5,0,0,80,160,0,224,144,144,144, + 4,7,7,5,0,0,64,32,0,96,144,144,96,4,7,7, + 5,0,0,32,64,0,96,144,144,96,4,7,7,5,0,0, + 96,144,0,96,144,144,96,4,7,7,5,0,0,80,160,0, + 96,144,144,96,4,6,6,5,0,0,80,0,96,144,144,96, + 5,5,5,6,0,0,32,0,248,0,32,4,4,4,5,0, + 0,96,176,208,96,4,7,7,5,0,0,64,32,0,144,144, + 144,112,4,7,7,5,0,0,32,64,0,144,144,144,112,4, + 7,7,5,0,0,96,144,0,144,144,144,112,4,6,6,5, + 0,0,80,0,144,144,144,112,4,9,9,5,0,254,32,64, + 0,144,144,144,112,16,96,4,8,8,5,0,254,128,128,224, + 144,144,224,128,128,4,8,8,5,0,254,80,0,144,144,144, + 112,16,96}; +/* + Fontname: -FreeType-Baby-Medium-R-Normal--8-80-72-72-P-42-ISO10646-1 + Copyright: Copyright mrsbarrett 2008 + Capital A Height: 0, '1' Height: 5 + Calculated Max Values w= 4 h= 6 x= 1 y= 3 dx= 5 dy= 0 ascent= 6 len= 6 + Font Bounding box w=10 h=10 x=-1 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent = 5 descent= 0 + X Font ascent = 5 descent= 0 + Max Font ascent = 6 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_babyn[189] U8G_FONT_SECTION("u8g_font_babyn") = { + 0,10,10,255,254,5,0,0,0,0,42,58,0,6,254,5, + 0,3,3,3,4,0,3,160,64,160,3,3,3,5,1,1, + 64,224,64,2,3,3,3,0,254,192,64,128,3,1,1,4, + 0,2,224,1,1,1,2,0,0,128,3,6,6,4,0,255, + 32,32,64,64,128,128,3,5,5,4,0,0,64,160,160,160, + 64,2,5,5,3,0,0,64,192,64,64,64,4,5,5,5, + 0,0,96,144,32,64,240,4,5,5,5,0,0,224,16,96, + 16,224,4,5,5,5,0,0,144,144,144,112,16,4,5,5, + 5,0,0,240,128,224,16,224,4,5,5,5,0,0,96,128, + 224,144,96,4,5,5,5,0,0,240,16,32,64,128,4,5, + 5,5,0,0,96,144,96,144,96,4,5,5,5,0,0,96, + 144,112,16,96,1,3,3,3,1,0,128,0,128}; +/* + Fontname: -FreeType-Baby-Medium-R-Normal--8-80-72-72-P-42-ISO10646-1 + Copyright: Copyright mrsbarrett 2008 + Capital A Height: 5, '1' Height: 5 + Calculated Max Values w= 5 h= 7 x= 1 y= 5 dx= 6 dy= 0 ascent= 7 len= 7 + Font Bounding box w=10 h=10 x=-1 y=-2 + Calculated Min Values x=-1 y=-2 dx= 0 dy= 0 + Pure Font ascent = 5 descent=-2 + X Font ascent = 6 descent=-2 + Max Font ascent = 7 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_babyr[1040] U8G_FONT_SECTION("u8g_font_babyr") = { + 0,10,10,255,254,5,1,108,2,200,32,127,254,7,254,6, + 254,0,0,0,2,0,0,1,6,6,3,1,0,128,128,128, + 128,0,128,3,3,3,4,0,4,160,160,160,5,5,5,6, + 0,0,80,248,80,248,80,3,7,7,4,0,255,64,96,128, + 64,32,192,64,5,5,5,6,0,0,200,208,32,88,152,5, + 6,6,6,0,0,64,160,64,160,144,104,1,3,3,2,0, + 4,128,128,128,2,7,7,3,0,255,64,128,128,128,128,128, + 64,2,7,7,3,0,255,128,64,64,64,64,64,128,3,3, + 3,4,0,3,160,64,160,3,3,3,5,1,1,64,224,64, + 2,3,3,3,0,254,192,64,128,3,1,1,4,0,2,224, + 1,1,1,2,0,0,128,3,6,6,4,0,255,32,32,64, + 64,128,128,3,5,5,4,0,0,64,160,160,160,64,2,5, + 5,3,0,0,64,192,64,64,64,4,5,5,5,0,0,96, + 144,32,64,240,4,5,5,5,0,0,224,16,96,16,224,4, + 5,5,5,0,0,144,144,144,112,16,4,5,5,5,0,0, + 240,128,224,16,224,4,5,5,5,0,0,96,128,224,144,96, + 4,5,5,5,0,0,240,16,32,64,128,4,5,5,5,0, + 0,96,144,96,144,96,4,5,5,5,0,0,96,144,112,16, + 96,1,3,3,3,1,0,128,0,128,2,5,5,3,0,254, + 64,0,64,64,128,4,5,5,5,0,0,16,96,128,96,16, + 3,3,3,4,0,1,224,0,224,4,5,5,5,0,0,128, + 96,16,96,128,4,6,6,5,0,0,96,144,32,64,0,64, + 5,6,6,6,0,0,112,136,168,176,128,112,4,5,5,5, + 0,0,96,144,144,240,144,4,5,5,5,0,0,224,144,224, + 144,224,4,5,5,5,0,0,96,144,128,144,96,4,5,5, + 5,0,0,224,144,144,144,224,4,5,5,5,0,0,240,128, + 224,128,240,4,5,5,5,0,0,240,128,224,128,128,4,5, + 5,5,0,0,96,128,176,144,96,4,5,5,5,0,0,144, + 144,240,144,144,3,5,5,4,0,0,224,64,64,64,224,4, + 5,5,5,0,0,112,16,16,144,96,4,5,5,5,0,0, + 144,144,144,224,144,3,5,5,4,0,0,128,128,128,128,224, + 5,5,5,6,0,0,216,168,168,168,136,4,5,5,5,0, + 0,144,144,208,176,144,4,5,5,5,0,0,96,144,144,144, + 96,4,5,5,5,0,0,224,144,144,224,128,4,5,5,5, + 0,0,96,144,144,80,224,4,5,5,5,0,0,224,144,144, + 224,144,3,5,5,4,0,0,96,128,64,32,192,3,5,5, + 4,0,0,224,64,64,64,64,4,5,5,5,0,0,144,144, + 144,144,96,5,5,5,6,0,0,136,80,80,80,32,5,5, + 5,6,0,0,136,136,136,168,80,4,5,5,5,0,0,144, + 144,144,96,144,4,6,6,5,0,255,144,144,144,112,16,96, + 4,5,5,5,0,0,240,32,64,128,240,2,7,7,3,0, + 255,192,128,128,128,128,128,192,3,6,6,4,0,255,128,128, + 64,64,32,32,2,7,7,3,0,255,192,64,64,64,64,64, + 192,3,2,2,4,0,4,64,160,4,1,1,5,0,255,240, + 2,2,2,3,0,5,128,64,4,4,4,5,0,0,96,144, + 144,112,4,5,5,5,0,0,128,224,144,144,96,3,4,4, + 4,0,0,96,128,128,96,4,5,5,5,0,0,16,112,144, + 144,96,4,4,4,5,0,0,96,144,160,112,4,5,5,5, + 0,0,96,144,128,192,128,4,6,6,5,0,254,96,144,144, + 112,16,96,4,5,5,5,0,0,128,224,144,144,144,1,5, + 5,2,0,0,128,0,128,128,128,3,7,7,3,255,254,32, + 0,32,32,32,32,192,3,5,5,4,0,0,128,160,192,160, + 160,1,5,5,2,0,0,128,128,128,128,128,5,4,4,6, + 0,0,208,168,168,136,4,4,4,5,0,0,224,144,144,144, + 4,4,4,5,0,0,96,144,144,96,4,6,6,5,0,254, + 96,144,144,224,128,128,4,6,6,5,0,254,96,144,144,112, + 16,16,4,4,4,5,0,0,224,144,128,128,4,4,4,5, + 0,0,112,64,32,224,3,5,5,4,0,0,64,224,64,64, + 64,4,4,4,5,0,0,144,144,144,112,4,4,4,5,0, + 0,144,144,144,96,5,4,4,6,0,0,136,168,168,80,4, + 4,4,5,0,0,144,144,96,144,4,6,6,5,0,254,144, + 144,144,112,16,96,4,4,4,5,0,0,240,32,64,240,3, + 7,7,4,0,255,32,64,64,128,64,64,32,1,7,7,2, + 0,255,128,128,128,128,128,128,128,3,7,7,4,0,255,128, + 64,64,32,64,64,128,5,3,3,6,0,1,64,168,16,255 + }; +/* + Fontname: -FreeType-Blipfest 07-Medium-R-Normal--8-80-72-72-P-33-ISO10646-1 + Copyright: Copyright cwillmor 2008 + Capital A Height: 5, '1' Height: 5 + Calculated Max Values w= 5 h= 5 x= 0 y= 3 dx= 6 dy= 0 ascent= 5 len= 5 + Font Bounding box w= 5 h= 6 x= 0 y=-1 + Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 + Pure Font ascent = 5 descent=-1 + X Font ascent = 5 descent=-1 + Max Font ascent = 5 descent=-1 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_blipfest_07[948] U8G_FONT_SECTION("u8g_font_blipfest_07") = { + 0,5,6,0,255,5,1,5,2,47,32,255,255,5,255,5, + 255,0,0,0,1,0,0,1,5,5,2,0,0,128,128,128, + 0,128,3,2,2,4,0,3,160,160,255,255,255,4,5,5, + 5,0,0,224,160,240,160,240,1,2,2,2,0,3,128,128, + 255,255,255,3,3,3,4,0,1,64,224,64,1,2,2,2, + 0,0,128,128,3,1,1,4,0,2,224,1,1,1,2,0, + 0,128,255,3,5,5,4,0,0,224,160,160,160,224,2,5, + 5,3,0,0,192,64,64,64,64,3,5,5,4,0,0,224, + 32,224,128,224,3,5,5,4,0,0,224,32,224,32,224,3, + 5,5,4,0,0,160,160,224,32,32,3,5,5,4,0,0, + 224,128,224,32,224,3,5,5,4,0,0,224,128,224,160,224, + 3,5,5,4,0,0,224,32,32,32,32,3,5,5,4,0, + 0,224,160,224,160,224,3,5,5,4,0,0,224,160,224,32, + 224,1,3,3,2,0,0,128,0,128,1,4,4,2,0,255, + 128,0,128,128,255,3,3,3,4,0,1,224,0,224,255,3, + 5,5,4,0,0,224,32,96,0,64,5,5,5,6,0,0, + 248,136,184,168,240,3,5,5,4,0,0,224,160,160,224,160, + 3,5,5,4,0,0,224,160,224,160,224,3,5,5,4,0, + 0,224,128,128,128,224,3,5,5,4,0,0,192,160,160,160, + 192,3,5,5,4,0,0,224,128,224,128,224,3,5,5,4, + 0,0,224,128,224,128,128,3,5,5,4,0,0,224,128,160, + 160,224,3,5,5,4,0,0,160,160,160,224,160,3,5,5, + 4,0,0,224,64,64,64,224,3,5,5,4,0,0,32,32, + 32,160,224,3,5,5,4,0,0,160,160,160,192,160,3,5, + 5,4,0,0,128,128,128,128,224,3,5,5,4,0,0,160, + 224,160,160,160,3,5,5,4,0,0,224,160,160,160,160,3, + 5,5,4,0,0,224,160,160,160,224,3,5,5,4,0,0, + 224,160,160,224,128,3,5,5,4,0,0,224,160,160,224,64, + 3,5,5,4,0,0,224,160,160,192,160,3,5,5,4,0, + 0,224,128,224,32,224,3,5,5,4,0,0,224,64,64,64, + 64,3,5,5,4,0,0,160,160,160,160,224,3,5,5,4, + 0,0,160,160,160,160,64,3,5,5,4,0,0,160,160,160, + 224,224,3,5,5,4,0,0,160,160,64,160,160,3,5,5, + 4,0,0,160,160,160,64,64,3,5,5,4,0,0,224,32, + 224,128,224,255,255,255,255,3,1,1,4,0,0,224,255,3, + 3,3,4,0,0,96,160,224,3,5,5,4,0,0,128,128, + 224,160,224,3,3,3,4,0,0,224,128,224,3,5,5,4, + 0,0,32,32,224,160,224,3,3,3,4,0,0,224,160,192, + 3,5,5,4,0,0,96,64,224,64,64,3,4,4,4,0, + 255,224,160,224,64,3,5,5,4,0,0,128,128,224,160,160, + 1,5,5,2,0,0,128,0,128,128,128,2,5,5,3,0, + 0,64,0,64,64,192,3,5,5,4,0,0,128,128,160,192, + 160,1,5,5,2,0,0,128,128,128,128,128,5,3,3,6, + 0,0,248,168,168,3,3,3,4,0,0,192,160,160,3,3, + 3,4,0,0,224,160,224,3,4,4,4,0,255,224,160,224, + 128,3,4,4,4,0,255,224,160,224,32,3,3,3,4,0, + 0,224,128,128,3,3,3,4,0,0,96,64,192,3,5,5, + 4,0,0,64,224,64,64,96,3,3,3,4,0,0,160,160, + 224,3,3,3,4,0,0,160,160,64,5,3,3,6,0,0, + 168,168,80,3,3,3,4,0,0,160,64,160,3,4,4,4, + 0,255,160,160,224,32,3,3,3,4,0,0,224,64,224,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,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,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,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,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,255,255,255}; +/* + Fontname: -FreeType-Blipfest 07-Medium-R-Normal--8-80-72-72-P-33-ISO10646-1 + Copyright: Copyright cwillmor 2008 + Capital A Height: 0, '1' Height: 5 + Calculated Max Values w= 3 h= 5 x= 0 y= 2 dx= 4 dy= 0 ascent= 5 len= 5 + Font Bounding box w= 5 h= 6 x= 0 y=-1 + Calculated Min Values x= 0 y= 0 dx= 0 dy= 0 + Pure Font ascent = 5 descent= 0 + X Font ascent = 5 descent= 0 + Max Font ascent = 5 descent= 0 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_blipfest_07n[169] U8G_FONT_SECTION("u8g_font_blipfest_07n") = { + 0,5,6,0,255,5,0,0,0,0,42,58,0,5,0,5, + 0,255,3,3,3,4,0,1,64,224,64,1,2,2,2,0, + 0,128,128,3,1,1,4,0,2,224,1,1,1,2,0,0, + 128,255,3,5,5,4,0,0,224,160,160,160,224,2,5,5, + 3,0,0,192,64,64,64,64,3,5,5,4,0,0,224,32, + 224,128,224,3,5,5,4,0,0,224,32,224,32,224,3,5, + 5,4,0,0,160,160,224,32,32,3,5,5,4,0,0,224, + 128,224,32,224,3,5,5,4,0,0,224,128,224,160,224,3, + 5,5,4,0,0,224,32,32,32,32,3,5,5,4,0,0, + 224,160,224,160,224,3,5,5,4,0,0,224,160,224,32,224, + 1,3,3,2,0,0,128,0,128}; +/* + Fontname: -FreeType-Blipfest 07-Medium-R-Normal--8-80-72-72-P-33-ISO10646-1 + Copyright: Copyright cwillmor 2008 + Capital A Height: 5, '1' Height: 5 + Calculated Max Values w= 5 h= 5 x= 0 y= 3 dx= 6 dy= 0 ascent= 5 len= 5 + Font Bounding box w= 5 h= 6 x= 0 y=-1 + Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 + Pure Font ascent = 5 descent=-1 + X Font ascent = 5 descent=-1 + Max Font ascent = 5 descent=-1 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_blipfest_07r[820] U8G_FONT_SECTION("u8g_font_blipfest_07r") = { + 0,5,6,0,255,5,1,5,2,47,32,127,255,5,255,5, + 255,0,0,0,1,0,0,1,5,5,2,0,0,128,128,128, + 0,128,3,2,2,4,0,3,160,160,255,255,255,4,5,5, + 5,0,0,224,160,240,160,240,1,2,2,2,0,3,128,128, + 255,255,255,3,3,3,4,0,1,64,224,64,1,2,2,2, + 0,0,128,128,3,1,1,4,0,2,224,1,1,1,2,0, + 0,128,255,3,5,5,4,0,0,224,160,160,160,224,2,5, + 5,3,0,0,192,64,64,64,64,3,5,5,4,0,0,224, + 32,224,128,224,3,5,5,4,0,0,224,32,224,32,224,3, + 5,5,4,0,0,160,160,224,32,32,3,5,5,4,0,0, + 224,128,224,32,224,3,5,5,4,0,0,224,128,224,160,224, + 3,5,5,4,0,0,224,32,32,32,32,3,5,5,4,0, + 0,224,160,224,160,224,3,5,5,4,0,0,224,160,224,32, + 224,1,3,3,2,0,0,128,0,128,1,4,4,2,0,255, + 128,0,128,128,255,3,3,3,4,0,1,224,0,224,255,3, + 5,5,4,0,0,224,32,96,0,64,5,5,5,6,0,0, + 248,136,184,168,240,3,5,5,4,0,0,224,160,160,224,160, + 3,5,5,4,0,0,224,160,224,160,224,3,5,5,4,0, + 0,224,128,128,128,224,3,5,5,4,0,0,192,160,160,160, + 192,3,5,5,4,0,0,224,128,224,128,224,3,5,5,4, + 0,0,224,128,224,128,128,3,5,5,4,0,0,224,128,160, + 160,224,3,5,5,4,0,0,160,160,160,224,160,3,5,5, + 4,0,0,224,64,64,64,224,3,5,5,4,0,0,32,32, + 32,160,224,3,5,5,4,0,0,160,160,160,192,160,3,5, + 5,4,0,0,128,128,128,128,224,3,5,5,4,0,0,160, + 224,160,160,160,3,5,5,4,0,0,224,160,160,160,160,3, + 5,5,4,0,0,224,160,160,160,224,3,5,5,4,0,0, + 224,160,160,224,128,3,5,5,4,0,0,224,160,160,224,64, + 3,5,5,4,0,0,224,160,160,192,160,3,5,5,4,0, + 0,224,128,224,32,224,3,5,5,4,0,0,224,64,64,64, + 64,3,5,5,4,0,0,160,160,160,160,224,3,5,5,4, + 0,0,160,160,160,160,64,3,5,5,4,0,0,160,160,160, + 224,224,3,5,5,4,0,0,160,160,64,160,160,3,5,5, + 4,0,0,160,160,160,64,64,3,5,5,4,0,0,224,32, + 224,128,224,255,255,255,255,3,1,1,4,0,0,224,255,3, + 3,3,4,0,0,96,160,224,3,5,5,4,0,0,128,128, + 224,160,224,3,3,3,4,0,0,224,128,224,3,5,5,4, + 0,0,32,32,224,160,224,3,3,3,4,0,0,224,160,192, + 3,5,5,4,0,0,96,64,224,64,64,3,4,4,4,0, + 255,224,160,224,64,3,5,5,4,0,0,128,128,224,160,160, + 1,5,5,2,0,0,128,0,128,128,128,2,5,5,3,0, + 0,64,0,64,64,192,3,5,5,4,0,0,128,128,160,192, + 160,1,5,5,2,0,0,128,128,128,128,128,5,3,3,6, + 0,0,248,168,168,3,3,3,4,0,0,192,160,160,3,3, + 3,4,0,0,224,160,224,3,4,4,4,0,255,224,160,224, + 128,3,4,4,4,0,255,224,160,224,32,3,3,3,4,0, + 0,224,128,128,3,3,3,4,0,0,96,64,192,3,5,5, + 4,0,0,64,224,64,64,96,3,3,3,4,0,0,160,160, + 224,3,3,3,4,0,0,160,160,64,5,3,3,6,0,0, + 168,168,80,3,3,3,4,0,0,160,64,160,3,4,4,4, + 0,255,160,160,224,32,3,3,3,4,0,0,224,64,224,255, + 255,255,255,255}; +/* + Fontname: -FreeType-Chikita-Medium-R-Normal--8-80-72-72-P-47-ISO10646-1 + Copyright: Copyright southernmedia 2008 Chikita is based on pixelspace 5x5 by David Chiu (http://fontstruct.com/fontstructors/skyleth) + Capital A Height: 5, '1' Height: 5 + Calculated Max Values w= 9 h= 8 x= 1 y= 6 dx=10 dy= 0 ascent= 8 len=10 + Font Bounding box w= 9 h=10 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent = 5 descent=-2 + X Font ascent = 6 descent=-2 + Max Font ascent = 8 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_chikita[2236] U8G_FONT_SECTION("u8g_font_chikita") = { + 0,9,10,0,254,5,1,107,2,195,32,255,254,8,254,6, + 254,0,0,0,2,0,0,1,7,7,2,0,255,128,128,128, + 128,128,0,128,3,2,2,4,0,4,160,160,5,5,5,6, + 0,0,80,248,80,248,80,5,7,7,6,0,255,32,120,160, + 112,40,240,32,5,5,5,6,0,0,200,208,32,88,152,5, + 5,5,6,0,0,32,80,104,144,104,1,2,2,2,0,4, + 128,128,3,7,7,4,0,255,32,64,128,128,128,64,32,3, + 7,7,4,0,255,128,64,32,32,32,64,128,3,3,3,5, + 1,1,160,64,160,5,5,5,6,0,0,32,32,248,32,32, + 2,2,2,3,0,255,64,128,5,1,1,6,0,2,248,1, + 1,1,2,0,0,128,3,5,5,5,1,0,32,32,64,128, + 128,4,5,5,5,0,0,96,144,144,144,96,2,5,5,3, + 0,0,64,192,64,64,64,5,5,5,6,0,0,112,136,48, + 64,248,5,5,5,6,0,0,240,8,112,8,240,5,5,5, + 6,0,0,48,80,144,248,16,5,5,5,6,0,0,248,128, + 240,8,240,5,5,5,6,0,0,120,128,240,136,112,5,5, + 5,6,0,0,248,8,16,32,64,5,5,5,6,0,0,112, + 136,112,136,112,5,5,5,6,0,0,112,136,120,8,240,1, + 3,3,2,0,1,128,0,128,1,4,4,2,0,0,128,0, + 128,128,5,5,5,6,0,0,24,96,128,96,24,5,3,3, + 6,0,1,248,0,248,5,5,5,6,0,0,192,48,8,48, + 192,5,7,7,6,0,255,112,136,16,32,32,0,32,7,7, + 7,8,0,255,124,130,154,170,190,128,124,5,5,5,6,0, + 0,112,136,136,248,136,5,5,5,6,0,0,240,136,240,136, + 240,5,5,5,6,0,0,112,136,128,136,112,5,5,5,6, + 0,0,240,136,136,136,240,5,5,5,6,0,0,248,128,240, + 128,248,5,5,5,6,0,0,248,128,240,128,128,5,5,5, + 6,0,0,112,128,184,136,112,5,5,5,6,0,0,136,136, + 248,136,136,3,5,5,4,0,0,224,64,64,64,224,5,5, + 5,6,0,0,8,8,8,136,112,5,5,5,6,0,0,136, + 144,224,144,136,5,5,5,6,0,0,128,128,128,128,248,5, + 5,5,6,0,0,136,216,168,136,136,5,5,5,6,0,0, + 136,200,168,152,136,5,5,5,6,0,0,112,136,136,136,112, + 5,5,5,6,0,0,240,136,136,240,128,5,5,5,6,0, + 0,112,136,136,152,120,5,5,5,6,0,0,240,136,136,240, + 136,5,5,5,6,0,0,120,128,112,8,240,5,5,5,6, + 0,0,248,32,32,32,32,5,5,5,6,0,0,136,136,136, + 136,112,5,5,5,6,0,0,136,136,136,80,32,5,5,5, + 6,0,0,136,168,168,168,80,5,5,5,6,0,0,136,80, + 32,80,136,5,5,5,6,0,0,136,136,80,32,32,5,5, + 5,6,0,0,248,16,32,64,248,2,6,6,3,0,255,192, + 128,128,128,128,192,3,5,5,4,0,0,128,128,64,32,32, + 2,6,6,3,0,255,192,64,64,64,64,192,3,2,2,4, + 0,4,64,160,5,1,1,6,0,255,248,2,2,2,3,0, + 4,128,64,4,4,4,5,0,0,112,144,144,240,4,5,5, + 5,0,0,128,224,144,144,224,4,4,4,5,0,0,112,128, + 128,112,4,5,5,5,0,0,16,112,144,144,112,4,4,4, + 5,0,0,96,144,224,112,4,5,5,5,0,0,48,64,240, + 64,64,4,6,6,5,0,254,112,144,144,240,16,224,4,5, + 5,5,0,0,128,224,144,144,144,1,5,5,2,0,0,128, + 0,128,128,128,2,7,7,3,0,254,64,0,64,64,64,64, + 128,4,5,5,5,0,0,128,144,160,224,144,1,5,5,2, + 0,0,128,128,128,128,128,6,4,4,7,0,0,168,212,148, + 148,4,4,4,5,0,0,160,208,144,144,4,4,4,5,0, + 0,96,144,144,96,4,6,6,5,0,254,224,144,144,224,128, + 128,4,6,6,5,0,254,112,144,144,112,16,16,4,4,4, + 5,0,0,176,192,128,128,4,4,4,5,0,0,112,192,48, + 224,4,5,5,5,0,0,64,240,64,64,48,4,4,4,5, + 0,0,144,144,144,112,5,4,4,6,0,0,136,136,80,32, + 5,4,4,6,0,0,136,136,168,80,4,4,4,5,0,0, + 144,96,96,144,4,6,6,5,0,254,144,144,144,112,16,224, + 4,4,4,5,0,0,240,32,64,240,3,6,6,4,0,255, + 96,64,128,128,64,96,1,6,6,2,0,255,128,128,128,128, + 128,128,3,6,6,4,0,255,192,64,32,32,64,192,5,3, + 3,6,0,1,64,168,16,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,255,255,255,255,255,255,255,255,1,7,7,2,0,255,128, + 0,128,128,128,128,128,3,5,5,4,0,0,64,224,128,224, + 64,5,6,6,6,0,0,112,136,72,224,64,248,5,5,5, + 6,0,0,136,112,80,112,136,5,6,6,6,0,0,136,80, + 32,112,112,32,1,5,5,2,0,0,128,128,0,128,128,4, + 7,7,5,0,254,112,128,96,144,96,16,224,3,1,1,4, + 0,6,160,7,7,7,8,0,255,124,130,186,162,186,130,124, + 3,4,4,4,0,4,96,224,160,96,6,5,5,7,0,0, + 36,72,144,72,36,5,3,3,6,0,2,248,8,8,3,1, + 1,5,1,2,224,7,7,7,8,0,255,124,130,186,178,170, + 130,124,5,1,1,6,0,6,248,4,4,4,5,0,3,96, + 144,144,96,3,5,5,5,1,0,64,224,64,0,224,4,5, + 5,5,0,2,96,144,32,64,240,4,5,5,5,0,2,224, + 16,96,16,224,2,2,2,3,0,5,64,128,5,6,6,6, + 0,254,136,136,216,168,128,128,6,7,7,7,0,254,124,232, + 232,104,40,40,40,3,3,3,5,1,1,224,224,224,3,3, + 3,5,1,254,64,32,224,2,5,5,3,0,2,64,192,64, + 64,64,4,5,5,5,0,2,96,144,144,144,96,6,5,5, + 7,0,0,144,72,36,72,144,7,8,8,8,0,254,66,196, + 72,80,38,74,142,2,7,8,8,8,0,254,66,196,72,80, + 44,66,132,14,7,8,8,8,0,254,226,68,40,208,38,74, + 142,2,5,7,7,6,0,255,32,0,32,32,72,136,112,5, + 8,8,6,0,0,64,32,0,112,136,136,248,136,5,8,8, + 6,0,0,16,32,0,112,136,136,248,136,5,8,8,6,0, + 0,32,80,0,112,136,136,248,136,5,8,8,6,0,0,40, + 80,0,112,136,136,248,136,5,7,7,6,0,0,80,0,112, + 136,136,248,136,5,8,8,6,0,0,32,80,32,112,136,136, + 248,136,9,5,10,10,0,0,63,128,72,0,143,0,248,0, + 143,128,5,7,7,6,0,254,112,136,128,136,112,16,112,5, + 8,8,6,0,0,64,32,0,248,128,240,128,248,5,8,8, + 6,0,0,16,32,0,248,128,240,128,248,5,8,8,6,0, + 0,32,80,0,248,128,240,128,248,5,7,7,6,0,0,80, + 0,248,128,240,128,248,3,8,8,4,0,0,128,64,0,224, + 64,64,64,224,3,8,8,4,0,0,32,64,0,224,64,64, + 64,224,3,8,8,4,0,0,64,160,0,224,64,64,64,224, + 3,7,7,4,0,0,160,0,224,64,64,64,224,5,5,5, + 6,0,0,112,72,232,72,112,5,8,8,6,0,0,40,80, + 0,136,200,168,152,136,5,8,8,6,0,0,64,32,0,112, + 136,136,136,112,5,8,8,6,0,0,16,32,0,112,136,136, + 136,112,5,8,8,6,0,0,32,80,0,112,136,136,136,112, + 5,8,8,6,0,0,64,168,16,112,136,136,136,112,5,7, + 7,6,0,0,80,0,112,136,136,136,112,3,3,3,4,0, + 1,160,64,160,5,5,5,6,0,0,120,152,168,200,240,5, + 8,8,6,0,0,64,32,0,136,136,136,136,112,5,8,8, + 6,0,0,16,32,0,136,136,136,136,112,5,8,8,6,0, + 0,32,80,0,136,136,136,136,112,5,7,7,6,0,0,80, + 0,136,136,136,136,112,5,8,8,6,0,0,16,32,0,136, + 136,80,32,32,5,5,5,6,0,0,128,240,136,240,128,4, + 5,5,5,0,0,96,144,160,144,160,4,7,7,5,0,0, + 64,32,0,112,144,144,240,4,7,7,5,0,0,32,64,0, + 112,144,144,240,4,7,7,5,0,0,32,80,0,112,144,144, + 240,4,7,7,5,0,0,80,160,0,112,144,144,240,4,6, + 6,5,0,0,80,0,112,144,144,240,4,7,7,5,0,0, + 32,80,32,112,144,144,240,7,5,5,8,0,0,236,18,126, + 144,238,4,6,6,5,0,254,112,128,128,112,32,96,4,7, + 7,5,0,0,64,32,0,96,144,224,112,4,7,7,5,0, + 0,32,64,0,96,144,224,112,4,7,7,5,0,0,32,80, + 0,96,144,224,112,4,6,6,5,0,0,80,0,96,144,224, + 112,2,7,7,3,0,0,128,64,0,64,64,64,64,2,7, + 7,3,0,0,64,128,0,128,128,128,128,3,7,7,4,0, + 0,64,160,0,64,64,64,64,3,6,6,4,0,0,160,0, + 64,64,64,64,4,6,6,5,0,0,64,32,112,144,144,96, + 4,7,7,5,0,0,80,160,0,160,208,144,144,4,7,7, + 5,0,0,64,32,0,96,144,144,96,4,7,7,5,0,0, + 32,64,0,96,144,144,96,4,7,7,5,0,0,96,144,0, + 96,144,144,96,4,7,7,5,0,0,80,160,0,96,144,144, + 96,4,6,6,5,0,0,80,0,96,144,144,96,5,5,5, + 6,0,0,32,0,248,0,32,4,4,4,5,0,0,112,176, + 208,224,4,7,7,5,0,0,64,32,0,144,144,144,112,4, + 7,7,5,0,0,32,64,0,144,144,144,112,4,7,7,5, + 0,0,32,80,0,144,144,144,112,4,6,6,5,0,0,80, + 0,144,144,144,112,4,8,8,5,0,254,32,64,0,144,144, + 112,16,224,4,6,6,5,0,254,128,224,144,144,224,128,4, + 7,7,5,0,254,80,0,144,144,112,16,224}; +/* + Fontname: -FreeType-Chikita-Medium-R-Normal--8-80-72-72-P-47-ISO10646-1 + Copyright: Copyright southernmedia 2008 Chikita is based on pixelspace 5x5 by David Chiu (http://fontstruct.com/fontstructors/skyleth) + Capital A Height: 0, '1' Height: 5 + Calculated Max Values w= 5 h= 5 x= 1 y= 2 dx= 6 dy= 0 ascent= 5 len= 5 + Font Bounding box w= 9 h=10 x= 0 y=-2 + Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 + Pure Font ascent = 5 descent= 0 + X Font ascent = 5 descent= 0 + Max Font ascent = 5 descent=-1 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_chikitan[189] U8G_FONT_SECTION("u8g_font_chikitan") = { + 0,9,10,0,254,5,0,0,0,0,42,58,0,5,255,5, + 0,3,3,3,5,1,1,160,64,160,5,5,5,6,0,0, + 32,32,248,32,32,2,2,2,3,0,255,64,128,5,1,1, + 6,0,2,248,1,1,1,2,0,0,128,3,5,5,5,1, + 0,32,32,64,128,128,4,5,5,5,0,0,96,144,144,144, + 96,2,5,5,3,0,0,64,192,64,64,64,5,5,5,6, + 0,0,112,136,48,64,248,5,5,5,6,0,0,240,8,112, + 8,240,5,5,5,6,0,0,48,80,144,248,16,5,5,5, + 6,0,0,248,128,240,8,240,5,5,5,6,0,0,120,128, + 240,136,112,5,5,5,6,0,0,248,8,16,32,64,5,5, + 5,6,0,0,112,136,112,136,112,5,5,5,6,0,0,112, + 136,120,8,240,1,3,3,2,0,1,128,0,128}; +/* + Fontname: -FreeType-Chikita-Medium-R-Normal--8-80-72-72-P-47-ISO10646-1 + Copyright: Copyright southernmedia 2008 Chikita is based on pixelspace 5x5 by David Chiu (http://fontstruct.com/fontstructors/skyleth) + Capital A Height: 5, '1' Height: 5 + Calculated Max Values w= 7 h= 7 x= 1 y= 4 dx= 8 dy= 0 ascent= 6 len= 7 + Font Bounding box w= 9 h=10 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent = 5 descent=-2 + X Font ascent = 6 descent=-2 + Max Font ascent = 6 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_chikitar[1032] U8G_FONT_SECTION("u8g_font_chikitar") = { + 0,9,10,0,254,5,1,107,2,195,32,127,254,6,254,6, + 254,0,0,0,2,0,0,1,7,7,2,0,255,128,128,128, + 128,128,0,128,3,2,2,4,0,4,160,160,5,5,5,6, + 0,0,80,248,80,248,80,5,7,7,6,0,255,32,120,160, + 112,40,240,32,5,5,5,6,0,0,200,208,32,88,152,5, + 5,5,6,0,0,32,80,104,144,104,1,2,2,2,0,4, + 128,128,3,7,7,4,0,255,32,64,128,128,128,64,32,3, + 7,7,4,0,255,128,64,32,32,32,64,128,3,3,3,5, + 1,1,160,64,160,5,5,5,6,0,0,32,32,248,32,32, + 2,2,2,3,0,255,64,128,5,1,1,6,0,2,248,1, + 1,1,2,0,0,128,3,5,5,5,1,0,32,32,64,128, + 128,4,5,5,5,0,0,96,144,144,144,96,2,5,5,3, + 0,0,64,192,64,64,64,5,5,5,6,0,0,112,136,48, + 64,248,5,5,5,6,0,0,240,8,112,8,240,5,5,5, + 6,0,0,48,80,144,248,16,5,5,5,6,0,0,248,128, + 240,8,240,5,5,5,6,0,0,120,128,240,136,112,5,5, + 5,6,0,0,248,8,16,32,64,5,5,5,6,0,0,112, + 136,112,136,112,5,5,5,6,0,0,112,136,120,8,240,1, + 3,3,2,0,1,128,0,128,1,4,4,2,0,0,128,0, + 128,128,5,5,5,6,0,0,24,96,128,96,24,5,3,3, + 6,0,1,248,0,248,5,5,5,6,0,0,192,48,8,48, + 192,5,7,7,6,0,255,112,136,16,32,32,0,32,7,7, + 7,8,0,255,124,130,154,170,190,128,124,5,5,5,6,0, + 0,112,136,136,248,136,5,5,5,6,0,0,240,136,240,136, + 240,5,5,5,6,0,0,112,136,128,136,112,5,5,5,6, + 0,0,240,136,136,136,240,5,5,5,6,0,0,248,128,240, + 128,248,5,5,5,6,0,0,248,128,240,128,128,5,5,5, + 6,0,0,112,128,184,136,112,5,5,5,6,0,0,136,136, + 248,136,136,3,5,5,4,0,0,224,64,64,64,224,5,5, + 5,6,0,0,8,8,8,136,112,5,5,5,6,0,0,136, + 144,224,144,136,5,5,5,6,0,0,128,128,128,128,248,5, + 5,5,6,0,0,136,216,168,136,136,5,5,5,6,0,0, + 136,200,168,152,136,5,5,5,6,0,0,112,136,136,136,112, + 5,5,5,6,0,0,240,136,136,240,128,5,5,5,6,0, + 0,112,136,136,152,120,5,5,5,6,0,0,240,136,136,240, + 136,5,5,5,6,0,0,120,128,112,8,240,5,5,5,6, + 0,0,248,32,32,32,32,5,5,5,6,0,0,136,136,136, + 136,112,5,5,5,6,0,0,136,136,136,80,32,5,5,5, + 6,0,0,136,168,168,168,80,5,5,5,6,0,0,136,80, + 32,80,136,5,5,5,6,0,0,136,136,80,32,32,5,5, + 5,6,0,0,248,16,32,64,248,2,6,6,3,0,255,192, + 128,128,128,128,192,3,5,5,4,0,0,128,128,64,32,32, + 2,6,6,3,0,255,192,64,64,64,64,192,3,2,2,4, + 0,4,64,160,5,1,1,6,0,255,248,2,2,2,3,0, + 4,128,64,4,4,4,5,0,0,112,144,144,240,4,5,5, + 5,0,0,128,224,144,144,224,4,4,4,5,0,0,112,128, + 128,112,4,5,5,5,0,0,16,112,144,144,112,4,4,4, + 5,0,0,96,144,224,112,4,5,5,5,0,0,48,64,240, + 64,64,4,6,6,5,0,254,112,144,144,240,16,224,4,5, + 5,5,0,0,128,224,144,144,144,1,5,5,2,0,0,128, + 0,128,128,128,2,7,7,3,0,254,64,0,64,64,64,64, + 128,4,5,5,5,0,0,128,144,160,224,144,1,5,5,2, + 0,0,128,128,128,128,128,6,4,4,7,0,0,168,212,148, + 148,4,4,4,5,0,0,160,208,144,144,4,4,4,5,0, + 0,96,144,144,96,4,6,6,5,0,254,224,144,144,224,128, + 128,4,6,6,5,0,254,112,144,144,112,16,16,4,4,4, + 5,0,0,176,192,128,128,4,4,4,5,0,0,112,192,48, + 224,4,5,5,5,0,0,64,240,64,64,48,4,4,4,5, + 0,0,144,144,144,112,5,4,4,6,0,0,136,136,80,32, + 5,4,4,6,0,0,136,136,168,80,4,4,4,5,0,0, + 144,96,96,144,4,6,6,5,0,254,144,144,144,112,16,224, + 4,4,4,5,0,0,240,32,64,240,3,6,6,4,0,255, + 96,64,128,128,64,96,1,6,6,2,0,255,128,128,128,128, + 128,128,3,6,6,4,0,255,192,64,32,32,64,192,5,3, + 3,6,0,1,64,168,16,255}; +/* + Fontname: -Adobe-Courier-Bold-R-Normal--11-80-100-100-M-60-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 6, '1' Height: 7 + Calculated Max Values w= 7 h=10 x= 2 y= 6 dx= 6 dy= 0 ascent= 9 len=10 + Font Bounding box w=12 h=16 x=-3 y=-4 + Calculated Min Values x=-1 y=-2 dx= 0 dy= 0 + Pure Font ascent = 6 descent=-2 + X Font ascent = 7 descent=-2 + Max Font ascent = 9 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_courB08[2425] U8G_FONT_SECTION("u8g_font_courB08") = { + 0,12,16,253,252,6,1,146,3,13,32,255,254,9,254,7, + 254,0,0,0,6,0,1,2,6,6,6,1,0,192,192,192, + 192,0,192,3,3,3,6,1,3,160,160,160,5,8,8,6, + 0,255,80,80,248,80,80,248,80,80,5,9,9,6,0,255, + 32,120,200,240,120,24,216,240,32,5,7,7,6,0,0,224, + 168,240,32,120,168,56,6,6,6,6,255,0,56,96,48,124, + 216,124,1,3,3,6,2,3,128,128,128,3,8,8,6,1, + 255,32,64,192,192,192,192,64,32,3,8,8,6,1,255,128, + 64,96,96,96,96,64,128,4,4,4,6,0,3,32,240,96, + 144,5,5,5,6,0,1,32,32,248,32,32,3,3,3,6, + 1,254,96,64,128,5,1,1,6,0,3,248,2,1,1,6, + 1,0,192,4,8,8,6,1,255,16,16,32,32,64,64,128, + 128,5,7,7,6,0,0,112,216,216,216,216,216,112,6,7, + 7,6,0,0,48,240,48,48,48,48,252,5,7,7,6,0, + 0,112,216,24,48,96,216,248,5,7,7,6,0,0,112,216, + 24,112,24,216,112,6,7,7,6,0,0,24,56,88,216,252, + 24,24,5,7,7,6,0,0,248,192,240,216,24,152,240,5, + 7,7,6,0,0,112,216,192,240,216,216,112,5,7,7,6, + 0,0,248,216,24,48,48,96,96,5,7,7,6,0,0,112, + 216,216,112,216,216,112,5,7,7,6,0,0,112,216,216,120, + 24,216,112,2,4,4,6,1,0,192,0,0,192,3,6,6, + 6,0,254,96,0,0,96,64,128,4,5,5,6,0,1,48, + 96,192,96,48,4,3,3,6,0,2,240,0,240,4,5,5, + 6,1,1,192,96,48,96,192,5,6,6,6,0,0,112,152, + 48,96,0,96,6,8,8,6,0,255,112,200,152,168,168,156, + 192,112,7,6,6,6,255,0,120,56,40,124,108,238,6,6, + 6,6,255,0,248,108,120,108,108,248,5,6,6,6,0,0, + 120,216,192,192,216,112,6,6,6,6,255,0,248,108,108,108, + 108,248,6,6,6,6,255,0,252,96,120,96,108,252,6,6, + 6,6,255,0,252,96,120,96,96,240,5,6,6,6,0,0, + 112,216,192,248,216,120,7,6,6,6,255,0,238,108,124,108, + 108,238,4,6,6,6,0,0,240,96,96,96,96,240,6,6, + 6,6,255,0,60,24,24,216,216,112,7,6,6,6,255,0, + 236,104,112,120,108,246,6,6,6,6,255,0,240,96,96,96, + 108,252,6,6,6,6,255,0,196,108,108,124,84,212,7,6, + 6,6,255,0,238,116,116,108,108,228,5,6,6,6,0,0, + 112,216,216,216,216,112,6,6,6,6,255,0,248,108,108,120, + 96,240,5,7,7,6,0,255,112,216,216,216,216,112,24,7, + 6,6,6,255,0,248,108,108,120,108,246,5,6,6,6,0, + 0,120,200,240,56,152,240,6,6,6,6,255,0,252,180,48, + 48,48,120,7,6,6,6,255,0,238,108,108,108,108,56,7, + 6,6,6,255,0,238,108,40,56,56,16,7,6,6,6,255, + 0,214,84,84,124,56,40,6,6,6,6,0,0,204,120,48, + 48,120,204,7,6,6,6,255,0,230,102,60,24,24,60,5, + 6,6,6,0,0,248,216,48,96,216,248,3,8,8,6,1, + 255,224,192,192,192,192,192,192,224,4,8,8,6,0,255,128, + 128,64,64,32,32,16,16,3,8,8,6,1,255,224,96,96, + 96,96,96,96,224,5,3,3,6,0,4,32,112,216,6,1, + 1,6,0,254,252,2,2,2,6,2,6,128,64,6,5,5, + 6,0,0,112,216,120,216,252,6,7,7,6,255,0,224,96, + 120,108,108,108,248,5,5,5,6,0,0,112,216,192,216,112, + 6,7,7,6,0,0,56,24,120,216,216,216,124,5,5,5, + 6,0,0,112,216,248,192,120,5,7,7,6,0,0,56,96, + 248,96,96,96,248,6,7,7,6,0,254,108,216,216,216,120, + 24,240,6,7,7,6,255,0,224,96,120,108,108,108,108,6, + 7,7,6,0,0,48,0,240,48,48,48,252,4,9,9,6, + 0,254,48,0,240,48,48,48,48,48,224,7,7,7,6,255, + 0,224,96,108,120,112,120,110,6,7,7,6,0,0,240,48, + 48,48,48,48,252,6,5,5,6,255,0,248,124,84,84,84, + 6,5,5,6,255,0,216,108,108,108,108,5,5,5,6,0, + 0,112,216,216,216,112,6,7,7,6,255,254,248,108,108,108, + 120,96,240,6,7,7,6,0,254,108,216,216,216,120,24,60, + 6,5,5,6,0,0,220,116,96,96,240,6,5,5,6,0, + 0,120,224,120,28,248,6,7,7,6,0,0,96,96,248,96, + 96,108,56,7,5,5,6,255,0,236,108,108,108,62,6,5, + 5,6,255,0,236,108,56,56,16,7,5,5,6,255,0,214, + 84,124,60,40,6,5,5,6,0,0,236,120,48,120,220,7, + 7,7,6,255,254,238,108,108,40,56,48,224,5,5,5,6, + 0,0,248,176,96,216,248,4,8,8,6,1,255,48,96,96, + 192,96,96,96,48,1,7,7,6,2,255,128,128,128,128,128, + 128,128,4,8,8,6,0,255,192,96,96,48,96,96,96,192, + 5,2,2,6,0,3,104,176,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,255,255,255,255,255,255,255,0,0,0,6,0,1,2, + 7,7,6,1,254,192,0,192,192,192,192,192,5,8,8,6, + 0,255,32,32,120,200,192,120,32,32,6,7,7,6,0,0, + 56,104,32,248,32,100,248,5,5,5,6,0,1,136,112,80, + 112,136,6,7,7,6,0,0,204,72,252,48,252,48,120,1, + 9,9,6,2,254,128,128,128,128,0,128,128,128,128,5,8, + 8,6,0,255,120,72,96,144,72,48,144,240,3,1,1,6, + 1,5,160,6,7,7,6,0,0,48,72,180,164,180,72,48, + 4,5,5,6,1,2,224,16,208,0,240,7,5,5,6,255, + 0,54,108,216,108,54,5,3,3,6,0,2,248,8,8,5, + 1,1,6,0,3,248,7,7,7,6,0,0,56,68,186,178, + 170,68,56,4,1,1,6,0,5,240,4,3,3,6,0,4, + 96,144,96,5,6,6,6,0,0,32,32,248,32,0,248,3, + 4,4,6,1,3,96,160,64,224,3,4,4,6,1,3,224, + 64,32,192,2,2,2,6,2,5,64,128,7,7,7,6,255, + 254,236,108,108,108,126,64,64,6,8,8,6,0,255,124,168, + 168,104,40,40,40,108,2,1,1,6,1,3,192,3,3,3, + 6,1,254,64,32,192,3,4,4,6,1,3,192,64,64,224, + 4,5,5,6,1,2,96,144,96,0,240,7,5,5,6,255, + 0,216,108,54,108,216,7,7,7,6,255,0,192,68,72,244, + 44,94,4,7,7,7,6,255,0,192,68,72,246,42,68,14, + 7,7,7,6,255,0,224,68,40,212,44,94,4,5,7,7, + 6,0,254,48,0,48,48,96,200,112,7,9,9,6,255,0, + 32,16,0,120,56,40,124,108,238,7,9,9,6,255,0,16, + 32,0,120,56,40,124,108,238,7,9,9,6,255,0,16,40, + 0,120,56,40,124,108,238,7,9,9,6,255,0,52,72,0, + 120,56,40,124,108,238,7,8,8,6,255,0,40,0,120,56, + 40,124,108,238,7,9,9,6,255,0,48,72,48,120,56,40, + 124,108,238,7,6,6,6,255,0,126,58,108,120,218,222,5, + 8,8,6,0,254,120,216,192,192,216,112,16,96,6,9,9, + 6,255,0,32,16,0,252,100,120,96,108,252,6,9,9,6, + 255,0,16,32,0,252,100,120,96,108,252,6,9,9,6,255, + 0,32,80,0,252,100,120,96,108,252,6,8,8,6,255,0, + 80,0,252,100,120,96,108,252,4,9,9,6,0,0,64,32, + 0,240,96,96,96,96,240,4,9,9,6,0,0,32,64,0, + 240,96,96,96,96,240,4,9,9,6,0,0,64,160,0,240, + 96,96,96,96,240,4,8,8,6,0,0,160,0,240,96,96, + 96,96,240,6,6,6,6,255,0,248,108,244,100,108,248,7, + 9,9,6,255,0,52,72,0,238,100,116,124,108,236,5,9, + 9,6,0,0,64,32,0,112,216,216,216,216,112,5,9,9, + 6,0,0,32,64,0,112,216,216,216,216,112,5,9,9,6, + 0,0,32,80,0,112,216,216,216,216,112,5,9,9,6,0, + 0,104,144,0,112,216,216,216,216,112,5,8,8,6,0,0, + 80,0,112,216,216,216,216,112,5,5,5,6,0,1,136,80, + 32,80,136,7,6,6,6,255,0,58,108,124,108,108,184,7, + 9,9,6,255,0,32,16,0,238,108,108,108,108,56,7,9, + 9,6,255,0,8,16,0,238,108,108,108,108,56,7,9,9, + 6,255,0,16,40,0,238,108,108,108,108,56,7,8,8,6, + 255,0,40,0,238,108,108,108,108,56,7,9,9,6,255,0, + 4,8,0,230,102,60,24,24,60,6,6,6,6,255,0,224, + 120,108,108,120,224,7,6,6,6,255,0,56,104,124,102,102, + 236,6,8,8,6,0,0,32,16,0,112,152,120,216,252,6, + 8,8,6,0,0,16,32,0,112,152,120,216,252,6,8,8, + 6,0,0,32,80,0,112,152,120,216,252,6,8,8,6,0, + 0,104,144,0,112,152,120,216,252,6,7,7,6,0,0,80, + 0,112,152,120,216,252,6,9,9,6,0,0,48,72,48,0, + 112,152,120,216,252,6,5,5,6,255,0,108,180,124,176,220, + 5,7,7,6,0,254,112,216,192,216,112,16,96,5,8,8, + 6,0,0,64,32,0,112,216,248,192,120,5,8,8,6,0, + 0,32,64,0,112,216,248,192,120,5,8,8,6,0,0,32, + 80,0,112,216,248,192,120,5,7,7,6,0,0,80,0,112, + 216,248,192,120,6,8,8,6,0,0,32,16,0,112,48,48, + 48,252,6,8,8,6,0,0,16,32,0,112,48,48,48,252, + 6,8,8,6,0,0,32,80,0,112,48,48,48,252,6,7, + 7,6,0,0,80,0,112,48,48,48,252,5,8,8,6,0, + 0,208,96,176,120,216,216,216,112,7,8,8,6,255,0,52, + 72,0,216,108,108,108,110,5,8,8,6,0,0,64,32,0, + 112,216,216,216,112,5,8,8,6,0,0,32,64,0,112,216, + 216,216,112,5,8,8,6,0,0,32,80,0,112,216,216,216, + 112,5,8,8,6,0,0,104,144,0,112,216,216,216,112,5, + 7,7,6,0,0,80,0,112,216,216,216,112,5,5,5,6, + 0,1,32,0,248,0,32,5,7,7,6,0,255,8,112,216, + 248,216,112,128,7,8,8,6,255,0,32,16,0,236,108,108, + 108,62,7,8,8,6,255,0,16,32,0,236,108,108,108,62, + 7,8,8,6,255,0,16,40,0,236,108,108,108,62,7,7, + 7,6,255,0,40,0,236,108,108,108,62,7,10,10,6,255, + 254,8,16,0,238,108,108,40,56,48,240,6,9,9,6,255, + 254,224,96,120,108,108,108,120,96,240,7,9,9,6,255,254, + 40,0,238,108,108,40,56,48,240}; +/* + Fontname: -Adobe-Courier-Bold-R-Normal--11-80-100-100-M-60-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 6, '1' Height: 7 + Calculated Max Values w= 7 h= 9 x= 2 y= 6 dx= 6 dy= 0 ascent= 8 len= 9 + Font Bounding box w=12 h=16 x=-3 y=-4 + Calculated Min Values x=-1 y=-2 dx= 0 dy= 0 + Pure Font ascent = 6 descent=-2 + X Font ascent = 7 descent=-2 + Max Font ascent = 8 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_courB08r[1145] U8G_FONT_SECTION("u8g_font_courB08r") = { + 0,12,16,253,252,6,1,146,3,13,32,127,254,8,254,7, + 254,0,0,0,6,0,1,2,6,6,6,1,0,192,192,192, + 192,0,192,3,3,3,6,1,3,160,160,160,5,8,8,6, + 0,255,80,80,248,80,80,248,80,80,5,9,9,6,0,255, + 32,120,200,240,120,24,216,240,32,5,7,7,6,0,0,224, + 168,240,32,120,168,56,6,6,6,6,255,0,56,96,48,124, + 216,124,1,3,3,6,2,3,128,128,128,3,8,8,6,1, + 255,32,64,192,192,192,192,64,32,3,8,8,6,1,255,128, + 64,96,96,96,96,64,128,4,4,4,6,0,3,32,240,96, + 144,5,5,5,6,0,1,32,32,248,32,32,3,3,3,6, + 1,254,96,64,128,5,1,1,6,0,3,248,2,1,1,6, + 1,0,192,4,8,8,6,1,255,16,16,32,32,64,64,128, + 128,5,7,7,6,0,0,112,216,216,216,216,216,112,6,7, + 7,6,0,0,48,240,48,48,48,48,252,5,7,7,6,0, + 0,112,216,24,48,96,216,248,5,7,7,6,0,0,112,216, + 24,112,24,216,112,6,7,7,6,0,0,24,56,88,216,252, + 24,24,5,7,7,6,0,0,248,192,240,216,24,152,240,5, + 7,7,6,0,0,112,216,192,240,216,216,112,5,7,7,6, + 0,0,248,216,24,48,48,96,96,5,7,7,6,0,0,112, + 216,216,112,216,216,112,5,7,7,6,0,0,112,216,216,120, + 24,216,112,2,4,4,6,1,0,192,0,0,192,3,6,6, + 6,0,254,96,0,0,96,64,128,4,5,5,6,0,1,48, + 96,192,96,48,4,3,3,6,0,2,240,0,240,4,5,5, + 6,1,1,192,96,48,96,192,5,6,6,6,0,0,112,152, + 48,96,0,96,6,8,8,6,0,255,112,200,152,168,168,156, + 192,112,7,6,6,6,255,0,120,56,40,124,108,238,6,6, + 6,6,255,0,248,108,120,108,108,248,5,6,6,6,0,0, + 120,216,192,192,216,112,6,6,6,6,255,0,248,108,108,108, + 108,248,6,6,6,6,255,0,252,96,120,96,108,252,6,6, + 6,6,255,0,252,96,120,96,96,240,5,6,6,6,0,0, + 112,216,192,248,216,120,7,6,6,6,255,0,238,108,124,108, + 108,238,4,6,6,6,0,0,240,96,96,96,96,240,6,6, + 6,6,255,0,60,24,24,216,216,112,7,6,6,6,255,0, + 236,104,112,120,108,246,6,6,6,6,255,0,240,96,96,96, + 108,252,6,6,6,6,255,0,196,108,108,124,84,212,7,6, + 6,6,255,0,238,116,116,108,108,228,5,6,6,6,0,0, + 112,216,216,216,216,112,6,6,6,6,255,0,248,108,108,120, + 96,240,5,7,7,6,0,255,112,216,216,216,216,112,24,7, + 6,6,6,255,0,248,108,108,120,108,246,5,6,6,6,0, + 0,120,200,240,56,152,240,6,6,6,6,255,0,252,180,48, + 48,48,120,7,6,6,6,255,0,238,108,108,108,108,56,7, + 6,6,6,255,0,238,108,40,56,56,16,7,6,6,6,255, + 0,214,84,84,124,56,40,6,6,6,6,0,0,204,120,48, + 48,120,204,7,6,6,6,255,0,230,102,60,24,24,60,5, + 6,6,6,0,0,248,216,48,96,216,248,3,8,8,6,1, + 255,224,192,192,192,192,192,192,224,4,8,8,6,0,255,128, + 128,64,64,32,32,16,16,3,8,8,6,1,255,224,96,96, + 96,96,96,96,224,5,3,3,6,0,4,32,112,216,6,1, + 1,6,0,254,252,2,2,2,6,2,6,128,64,6,5,5, + 6,0,0,112,216,120,216,252,6,7,7,6,255,0,224,96, + 120,108,108,108,248,5,5,5,6,0,0,112,216,192,216,112, + 6,7,7,6,0,0,56,24,120,216,216,216,124,5,5,5, + 6,0,0,112,216,248,192,120,5,7,7,6,0,0,56,96, + 248,96,96,96,248,6,7,7,6,0,254,108,216,216,216,120, + 24,240,6,7,7,6,255,0,224,96,120,108,108,108,108,6, + 7,7,6,0,0,48,0,240,48,48,48,252,4,9,9,6, + 0,254,48,0,240,48,48,48,48,48,224,7,7,7,6,255, + 0,224,96,108,120,112,120,110,6,7,7,6,0,0,240,48, + 48,48,48,48,252,6,5,5,6,255,0,248,124,84,84,84, + 6,5,5,6,255,0,216,108,108,108,108,5,5,5,6,0, + 0,112,216,216,216,112,6,7,7,6,255,254,248,108,108,108, + 120,96,240,6,7,7,6,0,254,108,216,216,216,120,24,60, + 6,5,5,6,0,0,220,116,96,96,240,6,5,5,6,0, + 0,120,224,120,28,248,6,7,7,6,0,0,96,96,248,96, + 96,108,56,7,5,5,6,255,0,236,108,108,108,62,6,5, + 5,6,255,0,236,108,56,56,16,7,5,5,6,255,0,214, + 84,124,60,40,6,5,5,6,0,0,236,120,48,120,220,7, + 7,7,6,255,254,238,108,108,40,56,48,224,5,5,5,6, + 0,0,248,176,96,216,248,4,8,8,6,1,255,48,96,96, + 192,96,96,96,48,1,7,7,6,2,255,128,128,128,128,128, + 128,128,4,8,8,6,0,255,192,96,96,48,96,96,96,192, + 5,2,2,6,0,3,104,176,255}; +/* + Fontname: -Adobe-Courier-Bold-R-Normal--14-100-100-100-M-90-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 9, '1' Height: 10 + Calculated Max Values w=10 h=13 x= 3 y= 8 dx= 9 dy= 0 ascent=12 len=26 + Font Bounding box w=13 h=21 x=-2 y=-6 + Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 + Pure Font ascent = 9 descent=-3 + X Font ascent =10 descent=-3 + Max Font ascent =12 descent=-4 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_courB10[3355] U8G_FONT_SECTION("u8g_font_courB10") = { + 0,13,21,254,250,9,1,222,4,32,32,255,253,12,252,10, + 253,0,0,0,9,0,1,2,9,9,9,3,0,192,192,192, + 192,192,128,0,192,192,5,4,4,9,2,6,216,216,216,72, + 7,11,11,9,1,255,40,40,40,254,40,40,254,40,40,40, + 40,6,12,12,9,1,255,48,48,124,204,192,240,60,12,204, + 248,48,48,7,10,10,9,1,0,96,144,146,108,16,96,152, + 36,36,24,7,8,8,9,1,0,56,96,96,48,122,204,204, + 118,2,4,4,9,3,5,192,192,192,64,4,11,11,9,2, + 254,48,96,96,192,192,192,192,192,96,96,48,4,11,11,9, + 2,254,192,96,96,48,48,48,48,48,96,96,192,5,5,5, + 9,2,4,32,168,248,112,216,7,7,7,9,1,1,16,16, + 16,254,16,16,16,3,4,4,9,2,254,96,96,192,128,6, + 1,1,9,1,4,252,2,2,2,9,3,0,192,192,7,12, + 12,9,0,254,6,6,12,12,24,24,48,48,96,96,192,192, + 7,10,10,9,1,0,56,108,198,198,198,198,198,198,108,56, + 6,10,10,9,2,0,48,240,48,48,48,48,48,48,48,252, + 6,10,10,9,1,0,120,204,204,12,12,24,48,96,192,252, + 6,10,10,9,1,0,120,204,12,12,56,12,12,12,204,120, + 7,10,10,9,1,0,12,28,60,44,76,204,140,254,12,30, + 6,10,10,9,1,0,252,192,192,248,204,12,12,12,204,120, + 6,10,10,9,1,0,60,96,192,216,236,204,204,204,204,120, + 6,10,10,9,1,0,252,140,12,24,24,24,24,48,48,48, + 6,10,10,9,1,0,120,204,204,204,120,204,204,204,204,120, + 6,10,10,9,1,0,120,204,204,204,204,204,124,12,24,240, + 2,7,7,9,3,0,192,192,0,0,0,192,192,3,9,9, + 9,2,254,96,96,0,0,0,96,96,192,128,8,7,7,9, + 0,1,7,28,112,192,112,28,7,7,4,4,9,1,2,254, + 0,0,254,8,7,7,9,1,1,224,56,14,3,14,56,224, + 6,9,9,9,1,0,248,204,140,12,56,48,0,48,48,7, + 9,9,9,1,0,120,196,156,180,164,180,158,192,120,9,9, + 18,9,0,0,124,0,28,0,54,0,54,0,34,0,99,0, + 127,0,99,0,247,128,8,9,9,9,0,0,254,99,99,99, + 126,99,99,99,254,7,9,9,9,1,0,58,102,198,192,192, + 192,192,102,60,8,9,9,9,0,0,252,102,99,99,99,99, + 99,102,252,8,9,9,9,0,0,255,99,99,104,120,104,99, + 99,255,8,9,9,9,0,0,255,99,99,104,120,104,96,96, + 248,9,9,18,9,0,0,61,0,103,0,195,0,192,0,192, + 0,207,128,195,0,99,0,63,0,9,9,18,9,0,0,247, + 128,99,0,99,0,99,0,127,0,99,0,99,0,99,0,247, + 128,6,9,9,9,1,0,252,48,48,48,48,48,48,48,252, + 9,9,18,9,0,0,31,128,6,0,6,0,6,0,6,0, + 198,0,198,0,198,0,124,0,9,9,18,9,0,0,247,0, + 102,0,108,0,120,0,124,0,102,0,102,0,99,0,243,128, + 8,9,9,9,0,0,248,96,96,96,96,99,99,99,255,9, + 9,18,9,0,0,227,128,99,0,119,0,119,0,107,0,107, + 0,99,0,99,0,247,128,9,9,18,9,0,0,231,128,99, + 0,115,0,115,0,107,0,107,0,103,0,103,0,243,0,8, + 9,9,9,0,0,60,102,195,195,195,195,195,102,60,8,9, + 9,9,0,0,254,99,99,99,102,124,96,96,248,8,11,11, + 9,0,254,60,102,195,195,195,195,195,102,60,25,110,9,9, + 18,9,0,0,254,0,99,0,99,0,99,0,102,0,124,0, + 102,0,99,0,243,128,7,9,9,9,1,0,122,206,198,224, + 124,14,198,230,188,8,9,9,9,0,0,255,219,219,24,24, + 24,24,24,60,9,9,18,9,0,0,247,128,99,0,99,0, + 99,0,99,0,99,0,99,0,99,0,62,0,9,9,18,9, + 0,0,247,128,99,0,99,0,99,0,54,0,54,0,54,0, + 28,0,28,0,9,9,18,9,0,0,247,128,99,0,107,0, + 107,0,107,0,119,0,119,0,99,0,99,0,8,9,9,9, + 0,0,231,102,102,60,24,60,102,102,231,10,9,18,9,255, + 0,243,192,97,128,51,0,51,0,30,0,12,0,12,0,12, + 0,63,0,7,9,9,9,1,0,254,198,204,24,24,48,102, + 198,254,4,11,11,9,2,254,240,192,192,192,192,192,192,192, + 192,192,240,7,12,12,9,1,254,192,192,96,96,48,48,24, + 24,12,12,6,6,4,11,11,9,2,254,240,48,48,48,48, + 48,48,48,48,48,240,5,4,4,9,2,5,32,112,216,136, + 9,1,2,9,0,254,255,128,3,2,2,9,2,7,192,96, + 8,7,7,9,0,0,124,6,6,126,198,206,119,8,10,10, + 9,0,0,224,96,96,110,115,99,99,99,115,238,8,7,7, + 9,0,0,61,103,195,192,192,99,62,8,10,10,9,0,0, + 14,6,6,118,206,198,198,198,206,119,8,7,7,9,0,0, + 60,102,195,255,192,103,62,7,10,10,9,1,0,30,48,48, + 252,48,48,48,48,48,252,8,10,10,9,0,253,119,206,198, + 198,198,206,118,6,6,124,9,10,20,9,0,0,224,0,96, + 0,96,0,110,0,115,0,99,0,99,0,99,0,99,0,247, + 128,6,10,10,9,1,0,48,48,0,240,48,48,48,48,48, + 252,5,13,13,9,1,253,24,24,0,120,24,24,24,24,24, + 24,24,24,240,8,10,10,9,0,0,224,96,96,103,108,120, + 120,108,102,231,6,10,10,9,1,0,240,48,48,48,48,48, + 48,48,48,252,9,7,14,9,0,0,223,0,109,128,109,128, + 109,128,109,128,109,128,237,128,9,7,14,9,0,0,238,0, + 115,0,99,0,99,0,99,0,99,0,247,128,8,7,7,9, + 0,0,60,102,195,195,195,102,60,8,10,10,9,0,253,238, + 115,99,99,99,115,110,96,96,240,8,10,10,9,0,253,119, + 206,198,198,198,206,118,6,6,15,7,7,7,9,1,0,238, + 112,96,96,96,96,252,7,7,7,9,1,0,126,198,192,124, + 6,198,252,7,9,9,9,1,0,96,96,252,96,96,96,96, + 102,60,9,7,14,9,0,0,231,0,99,0,99,0,99,0, + 99,0,103,0,59,128,9,7,14,9,0,0,247,128,99,0, + 99,0,54,0,54,0,28,0,28,0,10,7,14,9,255,0, + 225,192,109,128,109,128,109,128,45,0,51,0,51,0,8,7, + 7,9,0,0,231,102,60,24,60,102,231,9,10,20,9,0, + 253,227,128,99,0,99,0,54,0,54,0,28,0,28,0,24, + 0,24,0,124,0,6,7,7,9,1,0,252,140,24,48,96, + 196,252,4,11,11,9,2,254,48,96,96,96,96,192,96,96, + 96,96,48,2,11,11,9,3,254,192,192,192,192,192,192,192, + 192,192,192,192,4,11,11,9,2,254,192,96,96,96,96,48, + 96,96,96,96,192,6,3,3,9,1,3,100,252,152,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,255,255,255,255,255,255,255,0, + 0,0,9,0,1,2,9,9,9,3,254,192,192,0,128,192, + 192,192,192,192,6,10,10,9,1,255,48,48,124,204,192,192, + 204,120,48,48,7,9,9,9,1,0,60,102,96,96,248,96, + 96,102,252,7,6,6,9,1,1,198,124,198,198,124,198,10, + 9,18,9,0,0,243,192,97,128,51,0,30,0,63,0,12, + 0,63,0,12,0,63,0,2,11,11,9,3,254,192,192,192, + 192,192,0,192,192,192,192,192,8,11,11,9,0,255,62,98, + 96,240,140,227,57,15,6,70,124,4,2,2,9,2,8,144, + 144,9,8,16,9,0,1,28,0,99,0,205,128,209,128,209, + 128,205,128,99,0,28,0,5,7,7,9,2,2,112,24,120, + 216,104,0,248,7,5,5,9,1,1,54,108,216,108,54,7, + 3,3,9,1,2,254,2,2,6,1,1,9,1,4,252,9, + 8,16,9,0,1,62,0,99,0,217,128,213,128,217,128,213, + 128,99,0,62,0,4,1,1,9,2,8,240,4,4,4,9, + 2,5,96,144,144,96,7,7,7,9,1,1,16,16,254,16, + 16,0,254,5,6,6,9,2,4,112,152,24,48,96,248,5, + 6,6,9,2,4,112,152,48,24,152,112,3,2,2,9,3, + 7,96,192,9,10,20,9,0,253,231,0,99,0,99,0,99, + 0,99,0,103,0,123,128,96,0,96,0,96,0,7,11,11, + 9,1,255,126,212,148,148,212,116,20,20,20,20,126,2,2, + 2,9,3,3,192,192,3,4,4,9,2,253,64,96,32,224, + 4,6,6,9,3,4,96,224,96,96,96,240,5,7,7,9, + 2,2,112,216,136,216,112,0,248,7,5,5,9,1,1,216, + 108,54,108,216,9,10,20,9,0,0,96,0,224,128,97,0, + 98,0,101,0,251,0,23,0,43,0,79,128,131,0,9,10, + 20,9,0,0,96,0,224,128,97,0,98,0,103,0,253,128, + 17,128,35,0,70,0,15,128,10,10,20,9,255,0,112,0, + 152,64,48,128,25,0,154,128,117,128,11,128,21,128,39,192, + 65,128,6,9,9,9,1,254,48,48,0,48,112,192,196,204, + 124,9,12,24,9,0,0,24,0,12,0,0,0,124,0,28, + 0,54,0,54,0,34,0,99,0,127,0,99,0,247,128,9, + 12,24,9,0,0,12,0,24,0,0,0,124,0,28,0,54, + 0,54,0,34,0,99,0,127,0,99,0,247,128,9,12,24, + 9,0,0,28,0,54,0,0,0,124,0,28,0,54,0,54, + 0,34,0,99,0,127,0,99,0,247,128,9,12,24,9,0, + 0,26,0,44,0,0,0,124,0,28,0,54,0,54,0,34, + 0,99,0,127,0,99,0,247,128,9,12,24,9,0,0,36, + 0,36,0,0,0,124,0,28,0,54,0,54,0,34,0,99, + 0,127,0,99,0,247,128,9,12,24,9,0,0,24,0,36, + 0,24,0,126,0,28,0,54,0,54,0,34,0,99,0,127, + 0,99,0,247,128,9,9,18,9,0,0,63,128,28,128,28, + 0,61,0,47,0,109,0,124,0,76,128,223,128,7,13,13, + 9,1,252,58,110,198,192,192,192,192,102,60,16,24,8,56, + 8,12,12,9,0,0,24,12,0,255,99,99,104,120,104,99, + 99,255,8,12,12,9,0,0,12,24,0,255,99,99,104,120, + 104,99,99,255,8,12,12,9,0,0,28,54,0,255,99,99, + 104,120,104,99,99,255,8,12,12,9,0,0,36,36,0,255, + 99,99,104,120,104,99,99,255,6,12,12,9,1,0,96,48, + 0,252,48,48,48,48,48,48,48,252,6,12,12,9,1,0, + 24,48,0,252,48,48,48,48,48,48,48,252,6,12,12,9, + 1,0,56,108,0,252,48,48,48,48,48,48,48,252,6,12, + 12,9,1,0,72,72,0,252,48,48,48,48,48,48,48,252, + 8,9,9,9,0,0,252,102,99,99,243,99,99,102,252,9, + 12,24,9,0,0,26,0,44,0,0,0,231,128,99,0,115, + 0,115,0,107,0,107,0,103,0,103,0,243,0,8,12,12, + 9,0,0,48,24,0,60,102,195,195,195,195,195,102,60,8, + 12,12,9,0,0,12,24,0,60,102,195,195,195,195,195,102, + 60,8,12,12,9,0,0,56,108,0,60,102,195,195,195,195, + 195,102,60,8,12,12,9,0,0,52,88,0,60,102,195,195, + 195,195,195,102,60,8,12,12,9,0,0,36,36,0,60,102, + 195,195,195,195,195,102,60,6,7,7,9,1,1,132,204,120, + 48,120,204,132,8,10,10,9,0,0,1,62,102,203,203,211, + 211,227,102,188,9,12,24,9,0,0,24,0,12,0,0,0, + 247,128,99,0,99,0,99,0,99,0,99,0,99,0,99,0, + 62,0,9,12,24,9,0,0,12,0,24,0,0,0,247,128, + 99,0,99,0,99,0,99,0,99,0,99,0,99,0,62,0, + 9,12,24,9,0,0,28,0,54,0,0,0,247,128,99,0, + 99,0,99,0,99,0,99,0,99,0,99,0,62,0,9,12, + 24,9,0,0,18,0,18,0,0,0,247,128,99,0,99,0, + 99,0,99,0,99,0,99,0,99,0,62,0,10,12,24,9, + 255,0,6,0,12,0,0,0,243,192,97,128,51,0,51,0, + 30,0,12,0,12,0,12,0,63,0,8,9,9,9,0,0, + 240,96,126,99,99,102,124,96,240,8,9,9,9,0,0,60, + 102,102,108,102,99,99,107,238,8,10,10,9,0,0,48,24, + 0,124,6,6,126,198,206,119,8,10,10,9,0,0,12,24, + 0,124,6,6,126,198,206,119,8,10,10,9,0,0,56,108, + 0,124,6,6,126,198,206,119,8,10,10,9,0,0,52,88, + 0,124,6,6,126,198,206,119,8,10,10,9,0,0,36,36, + 0,124,6,6,126,198,206,119,8,10,10,9,0,0,24,36, + 24,124,6,6,126,198,206,119,9,7,14,9,0,0,119,0, + 29,128,8,128,127,128,200,0,205,128,119,0,8,11,11,9, + 0,252,61,103,195,192,192,99,62,16,24,8,56,8,10,10, + 9,0,0,48,24,0,60,102,195,255,192,103,62,8,10,10, + 9,0,0,12,24,0,60,102,195,255,192,103,62,8,10,10, + 9,0,0,28,54,0,60,102,195,255,192,103,62,8,10,10, + 9,0,0,36,36,0,60,102,195,255,192,103,62,6,10,10, + 9,1,0,96,48,0,240,48,48,48,48,48,252,6,10,10, + 9,1,0,24,48,0,240,48,48,48,48,48,252,6,10,10, + 9,1,0,112,216,0,240,48,48,48,48,48,252,6,10,10, + 9,1,0,72,72,0,240,48,48,48,48,48,252,8,10,10, + 9,0,0,236,56,204,62,102,195,195,195,102,60,9,10,20, + 9,0,0,26,0,44,0,0,0,238,0,115,0,99,0,99, + 0,99,0,99,0,247,128,8,10,10,9,0,0,48,24,0, + 60,102,195,195,195,102,60,8,10,10,9,0,0,12,24,0, + 60,102,195,195,195,102,60,8,10,10,9,0,0,28,54,0, + 60,102,195,195,195,102,60,8,10,10,9,0,0,52,88,0, + 60,102,195,195,195,102,60,8,10,10,9,0,0,36,36,0, + 60,102,195,195,195,102,60,8,7,7,9,0,1,24,24,0, + 255,0,24,24,8,7,7,9,0,0,61,102,207,219,243,102, + 188,9,10,20,9,0,0,24,0,12,0,0,0,231,0,99, + 0,99,0,99,0,99,0,103,0,59,128,9,10,20,9,0, + 0,12,0,24,0,0,0,231,0,99,0,99,0,99,0,99, + 0,103,0,59,128,9,10,20,9,0,0,28,0,54,0,0, + 0,231,0,99,0,99,0,99,0,99,0,103,0,59,128,9, + 10,20,9,0,0,36,0,36,0,0,0,231,0,99,0,99, + 0,99,0,99,0,103,0,59,128,9,13,26,9,0,253,6, + 0,12,0,0,0,227,128,99,0,99,0,54,0,54,0,28, + 0,28,0,24,0,24,0,124,0,8,12,12,9,0,253,224, + 96,110,115,99,99,99,115,110,96,96,240,9,13,26,9,0, + 253,18,0,18,0,0,0,227,128,99,0,99,0,54,0,54, + 0,28,0,28,0,24,0,24,0,124,0}; +/* + Fontname: -Adobe-Courier-Bold-R-Normal--14-100-100-100-M-90-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 9, '1' Height: 10 + Calculated Max Values w=10 h=13 x= 3 y= 7 dx= 9 dy= 0 ascent=11 len=20 + Font Bounding box w=13 h=21 x=-2 y=-6 + Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 + Pure Font ascent = 9 descent=-3 + X Font ascent =10 descent=-3 + Max Font ascent =11 descent=-3 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_courB10r[1551] U8G_FONT_SECTION("u8g_font_courB10r") = { + 0,13,21,254,250,9,1,222,4,32,32,127,253,11,253,10, + 253,0,0,0,9,0,1,2,9,9,9,3,0,192,192,192, + 192,192,128,0,192,192,5,4,4,9,2,6,216,216,216,72, + 7,11,11,9,1,255,40,40,40,254,40,40,254,40,40,40, + 40,6,12,12,9,1,255,48,48,124,204,192,240,60,12,204, + 248,48,48,7,10,10,9,1,0,96,144,146,108,16,96,152, + 36,36,24,7,8,8,9,1,0,56,96,96,48,122,204,204, + 118,2,4,4,9,3,5,192,192,192,64,4,11,11,9,2, + 254,48,96,96,192,192,192,192,192,96,96,48,4,11,11,9, + 2,254,192,96,96,48,48,48,48,48,96,96,192,5,5,5, + 9,2,4,32,168,248,112,216,7,7,7,9,1,1,16,16, + 16,254,16,16,16,3,4,4,9,2,254,96,96,192,128,6, + 1,1,9,1,4,252,2,2,2,9,3,0,192,192,7,12, + 12,9,0,254,6,6,12,12,24,24,48,48,96,96,192,192, + 7,10,10,9,1,0,56,108,198,198,198,198,198,198,108,56, + 6,10,10,9,2,0,48,240,48,48,48,48,48,48,48,252, + 6,10,10,9,1,0,120,204,204,12,12,24,48,96,192,252, + 6,10,10,9,1,0,120,204,12,12,56,12,12,12,204,120, + 7,10,10,9,1,0,12,28,60,44,76,204,140,254,12,30, + 6,10,10,9,1,0,252,192,192,248,204,12,12,12,204,120, + 6,10,10,9,1,0,60,96,192,216,236,204,204,204,204,120, + 6,10,10,9,1,0,252,140,12,24,24,24,24,48,48,48, + 6,10,10,9,1,0,120,204,204,204,120,204,204,204,204,120, + 6,10,10,9,1,0,120,204,204,204,204,204,124,12,24,240, + 2,7,7,9,3,0,192,192,0,0,0,192,192,3,9,9, + 9,2,254,96,96,0,0,0,96,96,192,128,8,7,7,9, + 0,1,7,28,112,192,112,28,7,7,4,4,9,1,2,254, + 0,0,254,8,7,7,9,1,1,224,56,14,3,14,56,224, + 6,9,9,9,1,0,248,204,140,12,56,48,0,48,48,7, + 9,9,9,1,0,120,196,156,180,164,180,158,192,120,9,9, + 18,9,0,0,124,0,28,0,54,0,54,0,34,0,99,0, + 127,0,99,0,247,128,8,9,9,9,0,0,254,99,99,99, + 126,99,99,99,254,7,9,9,9,1,0,58,102,198,192,192, + 192,192,102,60,8,9,9,9,0,0,252,102,99,99,99,99, + 99,102,252,8,9,9,9,0,0,255,99,99,104,120,104,99, + 99,255,8,9,9,9,0,0,255,99,99,104,120,104,96,96, + 248,9,9,18,9,0,0,61,0,103,0,195,0,192,0,192, + 0,207,128,195,0,99,0,63,0,9,9,18,9,0,0,247, + 128,99,0,99,0,99,0,127,0,99,0,99,0,99,0,247, + 128,6,9,9,9,1,0,252,48,48,48,48,48,48,48,252, + 9,9,18,9,0,0,31,128,6,0,6,0,6,0,6,0, + 198,0,198,0,198,0,124,0,9,9,18,9,0,0,247,0, + 102,0,108,0,120,0,124,0,102,0,102,0,99,0,243,128, + 8,9,9,9,0,0,248,96,96,96,96,99,99,99,255,9, + 9,18,9,0,0,227,128,99,0,119,0,119,0,107,0,107, + 0,99,0,99,0,247,128,9,9,18,9,0,0,231,128,99, + 0,115,0,115,0,107,0,107,0,103,0,103,0,243,0,8, + 9,9,9,0,0,60,102,195,195,195,195,195,102,60,8,9, + 9,9,0,0,254,99,99,99,102,124,96,96,248,8,11,11, + 9,0,254,60,102,195,195,195,195,195,102,60,25,110,9,9, + 18,9,0,0,254,0,99,0,99,0,99,0,102,0,124,0, + 102,0,99,0,243,128,7,9,9,9,1,0,122,206,198,224, + 124,14,198,230,188,8,9,9,9,0,0,255,219,219,24,24, + 24,24,24,60,9,9,18,9,0,0,247,128,99,0,99,0, + 99,0,99,0,99,0,99,0,99,0,62,0,9,9,18,9, + 0,0,247,128,99,0,99,0,99,0,54,0,54,0,54,0, + 28,0,28,0,9,9,18,9,0,0,247,128,99,0,107,0, + 107,0,107,0,119,0,119,0,99,0,99,0,8,9,9,9, + 0,0,231,102,102,60,24,60,102,102,231,10,9,18,9,255, + 0,243,192,97,128,51,0,51,0,30,0,12,0,12,0,12, + 0,63,0,7,9,9,9,1,0,254,198,204,24,24,48,102, + 198,254,4,11,11,9,2,254,240,192,192,192,192,192,192,192, + 192,192,240,7,12,12,9,1,254,192,192,96,96,48,48,24, + 24,12,12,6,6,4,11,11,9,2,254,240,48,48,48,48, + 48,48,48,48,48,240,5,4,4,9,2,5,32,112,216,136, + 9,1,2,9,0,254,255,128,3,2,2,9,2,7,192,96, + 8,7,7,9,0,0,124,6,6,126,198,206,119,8,10,10, + 9,0,0,224,96,96,110,115,99,99,99,115,238,8,7,7, + 9,0,0,61,103,195,192,192,99,62,8,10,10,9,0,0, + 14,6,6,118,206,198,198,198,206,119,8,7,7,9,0,0, + 60,102,195,255,192,103,62,7,10,10,9,1,0,30,48,48, + 252,48,48,48,48,48,252,8,10,10,9,0,253,119,206,198, + 198,198,206,118,6,6,124,9,10,20,9,0,0,224,0,96, + 0,96,0,110,0,115,0,99,0,99,0,99,0,99,0,247, + 128,6,10,10,9,1,0,48,48,0,240,48,48,48,48,48, + 252,5,13,13,9,1,253,24,24,0,120,24,24,24,24,24, + 24,24,24,240,8,10,10,9,0,0,224,96,96,103,108,120, + 120,108,102,231,6,10,10,9,1,0,240,48,48,48,48,48, + 48,48,48,252,9,7,14,9,0,0,223,0,109,128,109,128, + 109,128,109,128,109,128,237,128,9,7,14,9,0,0,238,0, + 115,0,99,0,99,0,99,0,99,0,247,128,8,7,7,9, + 0,0,60,102,195,195,195,102,60,8,10,10,9,0,253,238, + 115,99,99,99,115,110,96,96,240,8,10,10,9,0,253,119, + 206,198,198,198,206,118,6,6,15,7,7,7,9,1,0,238, + 112,96,96,96,96,252,7,7,7,9,1,0,126,198,192,124, + 6,198,252,7,9,9,9,1,0,96,96,252,96,96,96,96, + 102,60,9,7,14,9,0,0,231,0,99,0,99,0,99,0, + 99,0,103,0,59,128,9,7,14,9,0,0,247,128,99,0, + 99,0,54,0,54,0,28,0,28,0,10,7,14,9,255,0, + 225,192,109,128,109,128,109,128,45,0,51,0,51,0,8,7, + 7,9,0,0,231,102,60,24,60,102,231,9,10,20,9,0, + 253,227,128,99,0,99,0,54,0,54,0,28,0,28,0,24, + 0,24,0,124,0,6,7,7,9,1,0,252,140,24,48,96, + 196,252,4,11,11,9,2,254,48,96,96,96,96,192,96,96, + 96,96,48,2,11,11,9,3,254,192,192,192,192,192,192,192, + 192,192,192,192,4,11,11,9,2,254,192,96,96,96,96,48, + 96,96,96,96,192,6,3,3,9,1,3,100,252,152,255}; +/* + Fontname: -Adobe-Courier-Bold-R-Normal--17-120-100-100-M-100-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 10, '1' Height: 11 + Calculated Max Values w=11 h=14 x= 4 y= 9 dx=10 dy= 0 ascent=14 len=28 + Font Bounding box w=16 h=24 x=-3 y=-6 + Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 + Pure Font ascent =10 descent=-3 + X Font ascent =11 descent=-3 + Max Font ascent =14 descent=-3 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_courB12[3959] U8G_FONT_SECTION("u8g_font_courB12") = { + 0,16,24,253,250,10,2,51,4,246,32,255,253,14,253,11, + 253,0,0,0,10,0,1,2,11,11,10,3,0,192,192,192, + 192,192,192,192,192,0,192,192,6,5,5,10,2,6,204,204, + 204,204,204,9,12,24,10,0,255,54,0,54,0,54,0,54, + 0,255,128,54,0,54,0,255,128,54,0,54,0,54,0,54, + 0,7,13,13,10,1,255,24,24,126,198,192,224,124,14,6, + 198,252,48,48,8,11,11,10,1,0,120,204,204,120,7,60, + 224,30,51,51,30,7,9,9,10,1,0,56,108,96,48,118, + 222,204,204,126,2,5,5,10,4,6,192,192,192,192,192,4, + 13,13,10,3,254,48,96,96,96,192,192,192,192,192,96,96, + 96,48,4,13,13,10,2,254,192,96,96,96,48,48,48,48, + 48,96,96,96,192,8,6,6,10,1,5,24,24,255,60,60, + 102,8,8,8,10,1,1,24,24,24,255,255,24,24,24,3, + 5,5,10,3,253,224,224,96,192,128,7,2,2,10,1,4, + 254,254,3,2,2,10,3,0,224,224,7,14,14,10,1,254, + 6,6,12,12,12,24,24,48,48,48,96,96,192,192,8,11, + 11,10,1,0,60,102,102,195,195,195,195,195,102,102,60,8, + 11,11,10,1,0,24,120,216,24,24,24,24,24,24,24,255, + 7,11,11,10,1,0,120,204,134,6,6,12,24,48,96,198, + 254,7,11,11,10,1,0,120,204,134,12,56,12,6,6,134, + 204,120,8,11,11,10,1,0,6,14,30,54,102,70,198,255, + 6,6,31,7,11,11,10,1,0,254,192,192,192,252,198,6, + 6,6,204,248,8,11,11,10,1,0,30,112,96,192,220,230, + 195,195,195,102,60,7,11,11,10,1,0,254,198,6,12,12, + 24,24,24,48,48,48,7,11,11,10,1,0,56,108,198,68, + 56,108,198,198,198,108,56,8,11,11,10,1,0,60,102,195, + 195,103,59,3,3,6,14,120,3,7,7,10,3,0,224,224, + 0,0,0,224,224,3,10,10,10,3,253,224,224,0,0,0, + 224,224,96,192,128,9,9,18,10,1,0,1,128,7,128,30, + 0,120,0,224,0,120,0,30,0,7,128,1,128,9,5,10, + 10,0,2,255,128,255,128,0,0,255,128,255,128,9,9,18, + 10,0,0,192,0,240,0,60,0,15,0,3,128,15,0,60, + 0,240,0,192,0,7,10,10,10,1,0,124,198,198,6,28, + 48,48,0,48,48,9,12,24,10,0,255,62,0,99,0,193, + 128,221,128,178,128,178,128,178,128,178,128,223,0,192,0,99, + 0,62,0,10,10,20,10,0,0,60,0,12,0,30,0,18, + 0,51,0,51,0,63,0,97,128,97,128,243,192,9,10,20, + 10,0,0,254,0,99,0,97,128,99,0,126,0,99,0,97, + 128,97,128,99,0,254,0,9,10,20,10,0,0,30,128,115, + 128,97,128,192,0,192,0,192,0,192,0,97,128,115,128,30, + 0,9,10,20,10,0,0,252,0,103,0,99,0,97,128,97, + 128,97,128,97,128,99,0,103,0,252,0,8,10,10,10,1, + 0,255,99,96,100,124,100,96,99,99,255,8,10,10,10,1, + 0,255,99,96,100,124,100,96,96,96,248,10,10,20,10,0, + 0,30,128,115,128,97,128,192,0,192,0,199,192,193,128,97, + 128,113,128,31,0,9,10,20,10,0,0,247,128,99,0,99, + 0,99,0,127,0,99,0,99,0,99,0,99,0,247,128,8, + 10,10,10,1,0,255,24,24,24,24,24,24,24,24,255,9, + 10,20,10,0,0,63,128,6,0,6,0,6,0,6,0,6, + 0,198,0,198,0,198,0,124,0,9,10,20,10,0,0,247, + 128,99,0,102,0,108,0,120,0,124,0,102,0,102,0,99, + 0,251,128,9,10,20,10,0,0,252,0,48,0,48,0,48, + 0,48,0,48,0,49,128,49,128,49,128,255,128,10,10,20, + 10,0,0,225,192,97,128,115,128,115,128,127,128,109,128,109, + 128,97,128,97,128,243,192,10,10,20,10,0,0,247,192,113, + 128,121,128,105,128,109,128,109,128,101,128,103,128,99,128,251, + 128,9,10,20,10,0,0,62,0,99,0,99,0,193,128,193, + 128,193,128,193,128,99,0,99,0,62,0,9,10,20,10,0, + 0,254,0,99,0,97,128,97,128,99,0,126,0,96,0,96, + 0,96,0,252,0,9,12,24,10,0,254,62,0,99,0,99, + 0,193,128,193,128,193,128,193,128,99,0,99,0,62,0,25, + 128,63,0,9,10,20,10,0,0,252,0,102,0,99,0,99, + 0,102,0,124,0,102,0,99,0,99,0,251,128,8,10,10, + 10,1,0,61,103,195,224,120,30,7,195,230,188,8,10,10, + 10,1,0,255,153,153,153,24,24,24,24,24,126,10,10,20, + 10,0,0,243,192,97,128,97,128,97,128,97,128,97,128,97, + 128,97,128,51,0,30,0,10,10,20,10,0,0,243,192,97, + 128,97,128,51,0,51,0,51,0,30,0,30,0,12,0,12, + 0,10,10,20,10,0,0,243,192,97,128,109,128,109,128,109, + 128,63,0,51,0,51,0,51,0,51,0,10,10,20,10,0, + 0,243,192,97,128,51,0,30,0,12,0,12,0,30,0,51, + 0,97,128,243,192,10,10,20,10,0,0,243,192,97,128,51, + 0,51,0,30,0,12,0,12,0,12,0,12,0,63,0,7, + 10,10,10,1,0,254,198,204,28,24,48,112,102,198,254,4, + 13,13,10,3,254,240,192,192,192,192,192,192,192,192,192,192, + 192,240,7,14,14,10,1,254,192,192,96,96,96,48,48,56, + 24,24,12,12,6,6,4,13,13,10,2,254,240,48,48,48, + 48,48,48,48,48,48,48,48,240,8,4,4,10,1,7,24, + 60,102,195,10,2,4,10,0,253,255,192,255,192,4,3,3, + 10,2,8,192,96,48,8,7,7,10,1,0,60,102,6,126, + 198,198,123,9,11,22,10,0,0,224,0,96,0,96,0,96, + 0,110,0,115,0,97,128,97,128,97,128,115,0,238,0,8, + 7,7,10,0,0,61,103,195,192,192,99,62,9,11,22,10, + 0,0,7,0,3,0,3,0,3,0,59,0,103,0,195,0, + 195,0,195,0,103,0,59,128,8,7,7,10,1,0,60,102, + 195,255,192,99,62,8,11,11,10,1,0,30,51,48,48,254, + 48,48,48,48,48,254,9,10,20,10,0,253,59,128,103,0, + 195,0,195,0,195,0,103,0,59,0,3,0,3,0,62,0, + 9,11,22,10,0,0,224,0,96,0,96,0,96,0,110,0, + 115,0,99,0,99,0,99,0,99,0,247,128,8,10,10,10, + 1,0,24,24,0,120,24,24,24,24,24,255,6,13,13,10, + 1,253,24,24,0,252,12,12,12,12,12,12,12,12,248,9, + 11,22,10,0,0,224,0,96,0,96,0,96,0,111,128,102, + 0,108,0,120,0,108,0,102,0,239,128,8,11,11,10,1, + 0,120,24,24,24,24,24,24,24,24,24,255,10,7,14,10, + 0,0,237,128,127,128,109,128,109,128,109,128,109,128,237,192, + 9,7,14,10,0,0,238,0,115,0,99,0,99,0,99,0, + 99,0,247,128,8,7,7,10,1,0,60,102,195,195,195,102, + 60,9,10,20,10,0,253,238,0,115,0,97,128,97,128,97, + 128,115,0,110,0,96,0,96,0,248,0,9,10,20,10,0, + 253,59,128,103,0,195,0,195,0,195,0,103,0,59,0,3, + 0,3,0,15,128,9,7,14,10,0,0,247,0,57,128,48, + 0,48,0,48,0,48,0,254,0,7,7,7,10,1,0,126, + 198,224,124,14,198,252,9,9,18,10,0,0,48,0,48,0, + 255,0,48,0,48,0,48,0,48,0,49,128,31,0,9,7, + 14,10,0,0,231,0,99,0,99,0,99,0,99,0,103,0, + 59,128,10,7,14,10,0,0,243,192,97,128,51,0,51,0, + 30,0,30,0,12,0,10,7,14,10,0,0,243,192,97,128, + 109,128,45,0,63,0,51,0,51,0,8,7,7,10,1,0, + 231,102,60,24,60,102,231,10,10,20,10,0,253,243,192,97, + 128,51,0,51,0,30,0,30,0,12,0,24,0,24,0,124, + 0,7,7,7,10,1,0,254,204,24,48,96,198,254,4,13, + 13,10,3,254,48,96,96,96,96,64,192,96,96,96,96,96, + 48,2,13,13,10,4,254,192,192,192,192,192,192,192,192,192, + 192,192,192,192,4,13,13,10,3,254,192,96,96,96,96,32, + 48,96,96,96,96,96,192,8,3,3,10,1,3,112,219,14, + 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,255,255,255,255,255,255, + 255,0,0,0,10,0,1,2,10,10,10,4,253,192,192,0, + 192,192,192,192,192,192,192,7,10,10,10,1,0,24,24,62, + 102,192,192,102,60,24,24,8,10,10,10,1,0,30,51,48, + 48,252,252,48,51,227,254,8,7,7,10,1,1,195,126,102, + 66,102,126,195,10,10,20,10,0,0,243,192,97,128,51,0, + 51,0,30,0,63,0,12,0,63,0,12,0,63,0,2,13, + 13,10,4,254,192,192,192,192,192,192,0,192,192,192,192,192, + 192,10,12,24,10,0,255,31,128,49,128,49,128,120,0,206, + 0,195,128,112,192,28,192,7,128,99,0,99,0,126,0,5, + 2,2,10,3,8,216,216,10,10,20,10,0,0,12,0,63, + 0,97,128,78,128,216,192,216,192,78,128,97,128,63,0,12, + 0,6,7,7,10,2,3,120,12,124,204,124,0,252,9,7, + 14,10,0,0,25,128,51,0,102,0,204,0,102,0,51,0, + 25,128,8,5,5,10,1,2,255,255,3,3,3,7,2,2, + 10,1,4,254,254,10,10,20,10,0,0,12,0,63,0,97, + 128,92,128,214,192,220,192,82,128,97,128,63,0,12,0,5, + 1,1,10,2,9,248,5,5,5,10,2,6,112,216,136,216, + 112,8,9,9,10,1,0,24,24,255,255,24,24,0,255,255, + 5,6,6,10,2,5,112,216,48,96,200,248,5,6,6,10, + 2,5,112,216,48,24,216,112,4,3,3,10,3,8,48,96, + 192,9,10,20,10,0,253,231,0,99,0,99,0,99,0,99, + 0,103,0,123,128,96,0,96,0,96,0,9,12,24,10,0, + 255,63,128,91,0,219,0,219,0,219,0,91,0,59,0,27, + 0,27,0,27,0,27,0,63,128,3,2,2,10,3,4,224, + 224,4,4,4,10,3,253,32,96,48,240,6,6,6,10,2, + 5,48,240,48,48,48,252,6,7,7,10,2,3,120,204,204, + 204,120,0,252,9,7,14,10,0,0,204,0,102,0,51,0, + 25,128,51,0,102,0,204,0,10,11,22,10,0,0,32,0, + 225,0,99,0,98,0,102,0,252,128,25,128,19,128,54,128, + 111,192,65,128,10,11,22,10,0,0,32,0,224,128,97,128, + 99,0,102,0,255,128,10,192,25,128,51,0,102,64,71,192, + 11,11,22,10,0,0,112,0,216,128,49,128,27,0,218,0, + 118,64,12,192,9,192,27,64,55,224,32,192,7,10,10,10, + 1,253,24,24,0,24,24,112,192,198,198,124,10,14,28,10, + 0,0,48,0,24,0,12,0,0,0,60,0,12,0,30,0, + 18,0,51,0,51,0,63,0,97,128,97,128,243,192,10,14, + 28,10,0,0,6,0,12,0,24,0,0,0,60,0,12,0, + 30,0,18,0,51,0,51,0,63,0,97,128,97,128,243,192, + 10,14,28,10,0,0,12,0,30,0,51,0,0,0,60,0, + 12,0,30,0,18,0,51,0,51,0,63,0,97,128,97,128, + 243,192,10,13,26,10,0,0,59,0,110,0,0,0,60,0, + 12,0,30,0,18,0,51,0,51,0,63,0,97,128,97,128, + 243,192,10,13,26,10,0,0,54,0,54,0,0,0,60,0, + 12,0,30,0,18,0,51,0,51,0,63,0,97,128,97,128, + 243,192,10,14,28,10,0,0,28,0,54,0,54,0,28,0, + 60,0,12,0,30,0,18,0,51,0,51,0,63,0,97,128, + 97,128,243,192,10,10,20,10,0,0,127,192,60,192,44,0, + 45,0,111,0,77,0,124,0,76,192,204,192,255,192,9,13, + 26,10,0,253,30,128,115,128,97,128,192,0,192,0,192,0, + 192,0,97,128,115,128,30,0,24,0,12,0,60,0,8,14, + 14,10,1,0,48,24,12,0,255,99,96,100,124,100,96,99, + 99,255,8,14,14,10,1,0,6,12,24,0,255,99,96,100, + 124,100,96,99,99,255,8,14,14,10,1,0,24,60,102,0, + 255,99,96,100,124,100,96,99,99,255,8,13,13,10,1,0, + 54,54,0,255,99,96,100,124,100,96,99,99,255,8,14,14, + 10,1,0,48,24,12,0,255,24,24,24,24,24,24,24,24, + 255,8,14,14,10,1,0,12,24,48,0,255,24,24,24,24, + 24,24,24,24,255,8,14,14,10,1,0,24,60,102,0,255, + 24,24,24,24,24,24,24,24,255,8,13,13,10,1,0,54, + 54,0,255,24,24,24,24,24,24,24,24,255,9,10,20,10, + 0,0,252,0,103,0,99,0,97,128,249,128,97,128,97,128, + 99,0,103,0,252,0,10,13,26,10,0,0,59,0,110,0, + 0,0,247,192,113,128,121,128,105,128,109,128,109,128,101,128, + 103,128,99,128,251,128,9,14,28,10,0,0,48,0,24,0, + 12,0,0,0,62,0,99,0,99,0,193,128,193,128,193,128, + 193,128,99,0,99,0,62,0,9,14,28,10,0,0,6,0, + 12,0,24,0,0,0,62,0,99,0,99,0,193,128,193,128, + 193,128,193,128,99,0,99,0,62,0,9,14,28,10,0,0, + 12,0,30,0,51,0,0,0,62,0,99,0,99,0,193,128, + 193,128,193,128,193,128,99,0,99,0,62,0,9,13,26,10, + 0,0,59,0,110,0,0,0,62,0,99,0,99,0,193,128, + 193,128,193,128,193,128,99,0,99,0,62,0,9,13,26,10, + 0,0,54,0,54,0,0,0,62,0,99,0,99,0,193,128, + 193,128,193,128,193,128,99,0,99,0,62,0,8,7,7,10, + 1,1,227,118,60,24,60,110,199,9,12,24,10,0,255,0, + 128,63,128,99,0,103,0,197,128,205,128,217,128,209,128,115, + 0,99,0,254,0,128,0,10,14,28,10,0,0,48,0,24, + 0,12,0,0,0,243,192,97,128,97,128,97,128,97,128,97, + 128,97,128,97,128,51,0,30,0,10,14,28,10,0,0,3, + 0,6,0,12,0,0,0,243,192,97,128,97,128,97,128,97, + 128,97,128,97,128,97,128,51,0,30,0,10,14,28,10,0, + 0,12,0,30,0,51,0,0,0,243,192,97,128,97,128,97, + 128,97,128,97,128,97,128,97,128,51,0,30,0,10,13,26, + 10,0,0,27,0,27,0,0,0,243,192,97,128,97,128,97, + 128,97,128,97,128,97,128,97,128,51,0,30,0,10,14,28, + 10,0,0,3,0,6,0,12,0,0,0,243,192,97,128,51, + 0,51,0,30,0,12,0,12,0,12,0,12,0,63,0,9, + 10,20,10,0,0,240,0,96,0,126,0,99,0,97,128,99, + 0,126,0,96,0,96,0,240,0,8,11,11,10,0,0,60, + 102,102,100,108,102,99,99,99,122,236,8,11,11,10,1,0, + 48,24,12,0,60,102,6,126,198,198,123,8,11,11,10,1, + 0,6,12,24,0,60,102,6,126,198,198,123,8,11,11,10, + 1,0,24,60,102,0,60,102,6,126,198,198,123,8,10,10, + 10,1,0,59,110,0,60,102,6,126,198,198,123,8,10,10, + 10,1,0,54,54,0,60,102,6,126,198,198,123,8,12,12, + 10,1,0,28,54,54,28,0,60,102,6,126,198,198,123,10, + 7,14,10,255,0,59,128,108,192,12,192,127,192,204,0,204, + 192,119,128,8,10,10,10,1,253,61,103,195,192,192,227,126, + 24,12,60,8,11,11,10,1,0,48,24,12,0,60,102,195, + 255,192,99,62,8,11,11,10,1,0,6,12,24,0,60,102, + 195,255,192,99,62,8,11,11,10,1,0,24,60,102,0,60, + 102,195,255,192,99,62,8,10,10,10,1,0,54,54,0,60, + 102,195,255,192,99,62,8,11,11,10,1,0,96,48,24,0, + 120,24,24,24,24,24,255,8,11,11,10,1,0,6,12,24, + 0,120,24,24,24,24,24,255,8,11,11,10,1,0,24,60, + 102,0,120,24,24,24,24,24,255,8,10,10,10,1,0,108, + 108,0,120,24,24,24,24,24,255,8,12,12,10,1,0,224, + 118,28,60,198,62,103,227,195,195,102,60,9,10,20,10,0, + 0,59,0,110,0,0,0,238,0,115,0,99,0,99,0,99, + 0,99,0,247,128,8,11,11,10,1,0,48,24,12,0,60, + 102,195,195,195,102,60,8,11,11,10,1,0,12,24,48,0, + 60,102,195,195,195,102,60,8,11,11,10,1,0,24,60,102, + 0,60,102,195,195,195,102,60,8,10,10,10,1,0,59,110, + 0,60,102,195,195,195,102,60,8,10,10,10,1,0,108,108, + 0,60,102,195,195,195,102,60,8,8,8,10,1,1,24,24, + 0,255,255,0,24,24,8,9,9,10,1,255,3,63,102,207, + 219,243,102,252,192,9,11,22,10,0,0,48,0,24,0,12, + 0,0,0,231,0,99,0,99,0,99,0,99,0,103,0,59, + 128,9,11,22,10,0,0,12,0,24,0,48,0,0,0,231, + 0,99,0,99,0,99,0,99,0,103,0,59,128,9,11,22, + 10,0,0,24,0,60,0,102,0,0,0,231,0,99,0,99, + 0,99,0,99,0,103,0,59,128,9,10,20,10,0,0,54, + 0,54,0,0,0,231,0,99,0,99,0,99,0,99,0,103, + 0,59,128,10,14,28,10,0,253,6,0,12,0,24,0,0, + 0,243,192,97,128,51,0,51,0,30,0,30,0,12,0,24, + 0,24,0,124,0,9,14,28,10,0,253,224,0,96,0,96, + 0,96,0,110,0,115,0,97,128,97,128,97,128,115,0,110, + 0,96,0,96,0,248,0,10,13,26,10,0,253,54,0,54, + 0,0,0,243,192,97,128,51,0,51,0,30,0,30,0,12, + 0,12,0,24,0,124,0}; +/* + Fontname: -Adobe-Courier-Bold-R-Normal--17-120-100-100-M-100-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 10, '1' Height: 11 + Calculated Max Values w=10 h=14 x= 4 y= 8 dx=10 dy= 0 ascent=12 len=24 + Font Bounding box w=16 h=24 x=-3 y=-6 + Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 + Pure Font ascent =10 descent=-3 + X Font ascent =11 descent=-3 + Max Font ascent =12 descent=-3 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_courB12r[1857] U8G_FONT_SECTION("u8g_font_courB12r") = { + 0,16,24,253,250,10,2,51,4,246,32,127,253,12,253,11, + 253,0,0,0,10,0,1,2,11,11,10,3,0,192,192,192, + 192,192,192,192,192,0,192,192,6,5,5,10,2,6,204,204, + 204,204,204,9,12,24,10,0,255,54,0,54,0,54,0,54, + 0,255,128,54,0,54,0,255,128,54,0,54,0,54,0,54, + 0,7,13,13,10,1,255,24,24,126,198,192,224,124,14,6, + 198,252,48,48,8,11,11,10,1,0,120,204,204,120,7,60, + 224,30,51,51,30,7,9,9,10,1,0,56,108,96,48,118, + 222,204,204,126,2,5,5,10,4,6,192,192,192,192,192,4, + 13,13,10,3,254,48,96,96,96,192,192,192,192,192,96,96, + 96,48,4,13,13,10,2,254,192,96,96,96,48,48,48,48, + 48,96,96,96,192,8,6,6,10,1,5,24,24,255,60,60, + 102,8,8,8,10,1,1,24,24,24,255,255,24,24,24,3, + 5,5,10,3,253,224,224,96,192,128,7,2,2,10,1,4, + 254,254,3,2,2,10,3,0,224,224,7,14,14,10,1,254, + 6,6,12,12,12,24,24,48,48,48,96,96,192,192,8,11, + 11,10,1,0,60,102,102,195,195,195,195,195,102,102,60,8, + 11,11,10,1,0,24,120,216,24,24,24,24,24,24,24,255, + 7,11,11,10,1,0,120,204,134,6,6,12,24,48,96,198, + 254,7,11,11,10,1,0,120,204,134,12,56,12,6,6,134, + 204,120,8,11,11,10,1,0,6,14,30,54,102,70,198,255, + 6,6,31,7,11,11,10,1,0,254,192,192,192,252,198,6, + 6,6,204,248,8,11,11,10,1,0,30,112,96,192,220,230, + 195,195,195,102,60,7,11,11,10,1,0,254,198,6,12,12, + 24,24,24,48,48,48,7,11,11,10,1,0,56,108,198,68, + 56,108,198,198,198,108,56,8,11,11,10,1,0,60,102,195, + 195,103,59,3,3,6,14,120,3,7,7,10,3,0,224,224, + 0,0,0,224,224,3,10,10,10,3,253,224,224,0,0,0, + 224,224,96,192,128,9,9,18,10,1,0,1,128,7,128,30, + 0,120,0,224,0,120,0,30,0,7,128,1,128,9,5,10, + 10,0,2,255,128,255,128,0,0,255,128,255,128,9,9,18, + 10,0,0,192,0,240,0,60,0,15,0,3,128,15,0,60, + 0,240,0,192,0,7,10,10,10,1,0,124,198,198,6,28, + 48,48,0,48,48,9,12,24,10,0,255,62,0,99,0,193, + 128,221,128,178,128,178,128,178,128,178,128,223,0,192,0,99, + 0,62,0,10,10,20,10,0,0,60,0,12,0,30,0,18, + 0,51,0,51,0,63,0,97,128,97,128,243,192,9,10,20, + 10,0,0,254,0,99,0,97,128,99,0,126,0,99,0,97, + 128,97,128,99,0,254,0,9,10,20,10,0,0,30,128,115, + 128,97,128,192,0,192,0,192,0,192,0,97,128,115,128,30, + 0,9,10,20,10,0,0,252,0,103,0,99,0,97,128,97, + 128,97,128,97,128,99,0,103,0,252,0,8,10,10,10,1, + 0,255,99,96,100,124,100,96,99,99,255,8,10,10,10,1, + 0,255,99,96,100,124,100,96,96,96,248,10,10,20,10,0, + 0,30,128,115,128,97,128,192,0,192,0,199,192,193,128,97, + 128,113,128,31,0,9,10,20,10,0,0,247,128,99,0,99, + 0,99,0,127,0,99,0,99,0,99,0,99,0,247,128,8, + 10,10,10,1,0,255,24,24,24,24,24,24,24,24,255,9, + 10,20,10,0,0,63,128,6,0,6,0,6,0,6,0,6, + 0,198,0,198,0,198,0,124,0,9,10,20,10,0,0,247, + 128,99,0,102,0,108,0,120,0,124,0,102,0,102,0,99, + 0,251,128,9,10,20,10,0,0,252,0,48,0,48,0,48, + 0,48,0,48,0,49,128,49,128,49,128,255,128,10,10,20, + 10,0,0,225,192,97,128,115,128,115,128,127,128,109,128,109, + 128,97,128,97,128,243,192,10,10,20,10,0,0,247,192,113, + 128,121,128,105,128,109,128,109,128,101,128,103,128,99,128,251, + 128,9,10,20,10,0,0,62,0,99,0,99,0,193,128,193, + 128,193,128,193,128,99,0,99,0,62,0,9,10,20,10,0, + 0,254,0,99,0,97,128,97,128,99,0,126,0,96,0,96, + 0,96,0,252,0,9,12,24,10,0,254,62,0,99,0,99, + 0,193,128,193,128,193,128,193,128,99,0,99,0,62,0,25, + 128,63,0,9,10,20,10,0,0,252,0,102,0,99,0,99, + 0,102,0,124,0,102,0,99,0,99,0,251,128,8,10,10, + 10,1,0,61,103,195,224,120,30,7,195,230,188,8,10,10, + 10,1,0,255,153,153,153,24,24,24,24,24,126,10,10,20, + 10,0,0,243,192,97,128,97,128,97,128,97,128,97,128,97, + 128,97,128,51,0,30,0,10,10,20,10,0,0,243,192,97, + 128,97,128,51,0,51,0,51,0,30,0,30,0,12,0,12, + 0,10,10,20,10,0,0,243,192,97,128,109,128,109,128,109, + 128,63,0,51,0,51,0,51,0,51,0,10,10,20,10,0, + 0,243,192,97,128,51,0,30,0,12,0,12,0,30,0,51, + 0,97,128,243,192,10,10,20,10,0,0,243,192,97,128,51, + 0,51,0,30,0,12,0,12,0,12,0,12,0,63,0,7, + 10,10,10,1,0,254,198,204,28,24,48,112,102,198,254,4, + 13,13,10,3,254,240,192,192,192,192,192,192,192,192,192,192, + 192,240,7,14,14,10,1,254,192,192,96,96,96,48,48,56, + 24,24,12,12,6,6,4,13,13,10,2,254,240,48,48,48, + 48,48,48,48,48,48,48,48,240,8,4,4,10,1,7,24, + 60,102,195,10,2,4,10,0,253,255,192,255,192,4,3,3, + 10,2,8,192,96,48,8,7,7,10,1,0,60,102,6,126, + 198,198,123,9,11,22,10,0,0,224,0,96,0,96,0,96, + 0,110,0,115,0,97,128,97,128,97,128,115,0,238,0,8, + 7,7,10,0,0,61,103,195,192,192,99,62,9,11,22,10, + 0,0,7,0,3,0,3,0,3,0,59,0,103,0,195,0, + 195,0,195,0,103,0,59,128,8,7,7,10,1,0,60,102, + 195,255,192,99,62,8,11,11,10,1,0,30,51,48,48,254, + 48,48,48,48,48,254,9,10,20,10,0,253,59,128,103,0, + 195,0,195,0,195,0,103,0,59,0,3,0,3,0,62,0, + 9,11,22,10,0,0,224,0,96,0,96,0,96,0,110,0, + 115,0,99,0,99,0,99,0,99,0,247,128,8,10,10,10, + 1,0,24,24,0,120,24,24,24,24,24,255,6,13,13,10, + 1,253,24,24,0,252,12,12,12,12,12,12,12,12,248,9, + 11,22,10,0,0,224,0,96,0,96,0,96,0,111,128,102, + 0,108,0,120,0,108,0,102,0,239,128,8,11,11,10,1, + 0,120,24,24,24,24,24,24,24,24,24,255,10,7,14,10, + 0,0,237,128,127,128,109,128,109,128,109,128,109,128,237,192, + 9,7,14,10,0,0,238,0,115,0,99,0,99,0,99,0, + 99,0,247,128,8,7,7,10,1,0,60,102,195,195,195,102, + 60,9,10,20,10,0,253,238,0,115,0,97,128,97,128,97, + 128,115,0,110,0,96,0,96,0,248,0,9,10,20,10,0, + 253,59,128,103,0,195,0,195,0,195,0,103,0,59,0,3, + 0,3,0,15,128,9,7,14,10,0,0,247,0,57,128,48, + 0,48,0,48,0,48,0,254,0,7,7,7,10,1,0,126, + 198,224,124,14,198,252,9,9,18,10,0,0,48,0,48,0, + 255,0,48,0,48,0,48,0,48,0,49,128,31,0,9,7, + 14,10,0,0,231,0,99,0,99,0,99,0,99,0,103,0, + 59,128,10,7,14,10,0,0,243,192,97,128,51,0,51,0, + 30,0,30,0,12,0,10,7,14,10,0,0,243,192,97,128, + 109,128,45,0,63,0,51,0,51,0,8,7,7,10,1,0, + 231,102,60,24,60,102,231,10,10,20,10,0,253,243,192,97, + 128,51,0,51,0,30,0,30,0,12,0,24,0,24,0,124, + 0,7,7,7,10,1,0,254,204,24,48,96,198,254,4,13, + 13,10,3,254,48,96,96,96,96,64,192,96,96,96,96,96, + 48,2,13,13,10,4,254,192,192,192,192,192,192,192,192,192, + 192,192,192,192,4,13,13,10,3,254,192,96,96,96,96,32, + 48,96,96,96,96,96,192,8,3,3,10,1,3,112,219,14, + 255}; +/* + Fontname: -Adobe-Courier-Bold-R-Normal--20-140-100-100-M-110-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 11, '1' Height: 12 + Calculated Max Values w=12 h=17 x= 4 y= 9 dx=11 dy= 0 ascent=15 len=34 + Font Bounding box w=17 h=26 x=-4 y=-7 + Calculated Min Values x=-1 y=-5 dx= 0 dy= 0 + Pure Font ascent =11 descent=-4 + X Font ascent =12 descent=-4 + Max Font ascent =15 descent=-5 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_courB14[4784] U8G_FONT_SECTION("u8g_font_courB14") = { + 0,17,26,252,249,11,2,101,5,155,32,255,252,15,251,12, + 252,0,0,0,11,0,1,3,12,12,11,4,0,224,224,224, + 224,224,224,192,192,192,0,192,192,6,6,6,11,2,6,204, + 204,204,204,136,136,8,14,14,11,1,255,54,54,54,54,255, + 255,108,108,255,255,108,108,108,108,8,15,15,11,1,254,24, + 24,63,127,195,192,240,126,15,3,199,254,252,24,24,8,12, + 12,11,1,0,112,216,136,216,115,14,120,206,27,17,27,14, + 8,10,10,11,1,0,60,126,102,96,48,123,255,206,255,123, + 2,6,6,11,4,6,192,192,192,192,128,128,4,15,15,11, + 4,253,48,48,96,96,192,192,192,192,192,192,192,96,96,48, + 48,4,15,15,11,2,253,192,192,96,96,48,48,48,48,48, + 48,48,96,96,192,192,8,8,8,11,1,4,24,24,255,255, + 24,126,231,66,10,10,20,11,0,0,12,0,12,0,12,0, + 12,0,255,192,255,192,12,0,12,0,12,0,12,0,4,5, + 5,11,2,253,48,48,96,64,128,8,2,2,11,1,4,255, + 255,2,2,2,11,4,0,192,192,9,16,32,11,0,253,1, + 128,1,128,3,0,3,0,6,0,6,0,12,0,12,0,24, + 0,24,0,48,0,48,0,96,0,96,0,192,0,192,0,8, + 12,12,11,1,0,60,126,102,195,195,195,195,195,195,102,126, + 60,8,12,12,11,1,0,24,248,248,24,24,24,24,24,24, + 24,255,255,8,12,12,11,1,0,60,126,199,195,3,7,14, + 28,56,112,255,255,8,12,12,11,1,0,60,126,102,6,14, + 60,62,7,3,199,254,124,8,12,12,11,1,0,14,30,62, + 54,102,102,198,255,255,6,31,31,8,12,12,11,1,0,127, + 127,96,96,126,127,103,3,3,199,254,124,8,12,12,11,1, + 0,15,63,112,96,220,254,231,195,195,231,126,60,8,12,12, + 11,1,0,255,255,195,6,6,6,12,12,12,24,24,24,8, + 12,12,11,1,0,60,126,231,195,102,60,126,231,195,231,126, + 60,8,12,12,11,1,0,60,126,195,195,195,199,127,59,3, + 6,254,248,2,8,8,11,4,0,192,192,0,0,0,0,192, + 192,4,11,11,11,2,253,48,48,0,0,0,0,48,48,96, + 64,128,9,9,18,11,1,1,1,128,7,128,30,0,120,0, + 224,0,120,0,30,0,7,128,1,128,10,6,12,11,0,2, + 255,192,255,192,0,0,0,0,255,192,255,192,9,9,18,11, + 1,1,192,0,240,0,60,0,15,0,3,128,15,0,60,0, + 240,0,192,0,7,11,11,11,2,0,124,254,198,6,14,60, + 48,48,0,48,48,9,13,26,11,1,255,60,0,102,0,195, + 0,207,0,219,0,219,0,219,0,219,0,207,128,192,0,192, + 0,99,0,62,0,12,11,22,11,255,0,62,0,63,0,15, + 0,25,128,25,128,25,128,63,192,63,192,48,192,249,240,249, + 240,10,11,22,11,0,0,254,0,255,0,49,128,49,128,63, + 0,63,128,48,192,48,192,48,192,255,128,255,0,10,11,22, + 11,0,0,30,192,127,192,113,192,224,192,192,0,192,0,192, + 0,224,0,112,192,127,192,31,0,10,11,22,11,0,0,254, + 0,255,128,99,128,97,192,96,192,96,192,96,192,97,192,99, + 128,255,128,254,0,10,11,22,11,0,0,255,192,255,192,48, + 192,54,192,62,0,62,0,54,0,48,192,48,192,255,192,255, + 192,10,11,22,11,0,0,255,192,255,192,48,192,54,192,62, + 0,62,0,54,0,48,0,48,0,254,0,254,0,11,11,22, + 11,0,0,30,192,127,192,113,192,224,192,192,0,192,0,199, + 224,231,224,112,192,127,192,31,128,10,11,22,11,0,0,243, + 192,243,192,97,128,97,128,127,128,127,128,97,128,97,128,97, + 128,243,192,243,192,8,11,11,11,1,0,255,255,24,24,24, + 24,24,24,24,255,255,10,11,22,11,0,0,31,192,31,192, + 3,0,3,0,3,0,3,0,195,0,195,0,195,0,254,0, + 60,0,11,11,22,11,0,0,247,192,247,192,99,0,102,0, + 108,0,124,0,126,0,103,0,99,128,249,224,249,224,10,11, + 22,11,0,0,252,0,252,0,48,0,48,0,48,0,48,0, + 48,192,48,192,48,192,255,192,255,192,10,11,22,11,0,0, + 225,192,225,192,115,128,115,128,127,128,109,128,109,128,109,128, + 97,128,243,192,243,192,10,11,22,11,0,0,231,192,247,192, + 113,128,121,128,105,128,109,128,101,128,103,128,99,128,251,128, + 249,128,10,11,22,11,0,0,30,0,127,128,115,128,225,192, + 192,192,192,192,192,192,225,192,115,128,127,128,30,0,10,11, + 22,11,0,0,255,0,255,128,97,192,96,192,97,192,127,128, + 127,0,96,0,96,0,252,0,252,0,10,13,26,11,0,254, + 30,0,127,128,115,128,225,192,192,192,192,192,192,192,225,192, + 115,128,127,128,30,64,63,192,51,128,11,11,22,11,0,0, + 255,0,255,128,97,192,96,192,97,192,127,128,127,0,99,128, + 97,192,252,224,252,224,9,11,22,11,1,0,61,128,255,128, + 195,128,193,128,248,0,127,0,15,128,193,128,225,128,255,0, + 222,0,10,11,22,11,0,0,255,192,255,192,204,192,204,192, + 204,192,12,0,12,0,12,0,12,0,127,128,127,128,10,11, + 22,11,0,0,247,192,247,192,97,128,97,128,97,128,97,128, + 97,128,97,128,115,128,63,0,30,0,12,11,22,11,255,0, + 249,240,249,240,96,96,96,96,48,192,48,192,25,128,25,128, + 15,0,15,0,6,0,12,11,22,11,255,0,249,240,249,240, + 96,96,102,96,102,96,111,96,111,96,57,192,57,192,48,192, + 48,192,10,11,22,11,0,0,243,192,243,192,97,128,51,0, + 30,0,12,0,30,0,51,0,97,128,243,192,243,192,10,11, + 22,11,0,0,243,192,243,192,97,128,51,0,63,0,30,0, + 12,0,12,0,12,0,63,0,63,0,8,11,11,11,1,0, + 255,255,199,206,12,24,48,115,227,255,255,4,15,15,11,4, + 253,240,240,192,192,192,192,192,192,192,192,192,192,192,240,240, + 9,16,32,11,1,253,192,0,192,0,96,0,96,0,48,0, + 48,0,24,0,24,0,12,0,12,0,6,0,6,0,3,0, + 3,0,1,128,1,128,4,15,15,11,2,253,240,240,48,48, + 48,48,48,48,48,48,48,48,48,240,240,8,7,7,11,1, + 5,24,60,60,102,102,195,195,11,2,4,11,0,252,255,224, + 255,224,4,3,3,11,3,9,192,96,48,10,9,18,11,0, + 0,63,0,127,128,97,128,1,128,127,128,255,128,193,128,255, + 192,125,192,10,12,24,11,0,0,224,0,224,0,96,0,111, + 0,127,128,113,192,96,192,96,192,96,192,113,192,255,128,239, + 0,10,9,18,11,0,0,61,128,127,128,227,128,193,128,192, + 0,192,0,225,192,127,192,63,0,10,12,24,11,0,0,3, + 128,3,128,1,128,61,128,127,128,227,128,193,128,193,128,193, + 128,227,128,127,192,61,192,10,9,18,11,0,0,30,0,127, + 128,225,192,192,192,255,192,255,192,224,0,127,192,31,192,9, + 12,24,11,1,0,31,128,63,128,48,0,255,0,255,0,48, + 0,48,0,48,0,48,0,48,0,255,0,255,0,10,13,26, + 11,0,252,61,192,127,192,227,128,193,128,193,128,193,128,227, + 128,127,128,61,128,1,128,3,128,63,0,62,0,10,12,24, + 11,0,0,224,0,224,0,96,0,111,0,127,128,113,128,97, + 128,97,128,97,128,97,128,243,192,243,192,8,12,12,11,1, + 0,24,24,0,248,248,24,24,24,24,24,255,255,7,16,16, + 11,1,252,12,12,0,254,254,6,6,6,6,6,6,6,6, + 14,252,248,10,12,24,11,0,0,224,0,224,0,96,0,103, + 128,103,128,110,0,124,0,124,0,110,0,103,0,227,192,227, + 192,8,12,12,11,1,0,248,248,24,24,24,24,24,24,24, + 24,255,255,12,9,18,11,255,0,237,192,255,224,119,96,102, + 96,102,96,102,96,102,96,247,112,247,112,10,9,18,11,0, + 0,239,0,255,128,113,128,97,128,97,128,97,128,97,128,243, + 192,243,192,10,9,18,11,0,0,30,0,127,128,225,192,192, + 192,192,192,192,192,225,192,127,128,30,0,10,13,26,11,0, + 252,239,0,255,128,113,192,96,192,96,192,96,192,113,192,127, + 128,111,0,96,0,96,0,248,0,248,0,10,13,26,11,0, + 252,61,192,127,192,227,128,193,128,193,128,193,128,227,128,127, + 128,61,128,1,128,1,128,7,192,7,192,10,9,18,11,0, + 0,243,128,255,192,60,192,56,0,48,0,48,0,48,0,255, + 0,255,0,8,9,9,11,1,0,127,255,195,240,126,31,195, + 255,254,10,12,24,11,0,0,48,0,48,0,48,0,255,0, + 255,0,48,0,48,0,48,0,48,0,48,192,63,192,31,0, + 10,9,18,11,0,0,231,128,231,128,97,128,97,128,97,128, + 97,128,99,128,127,192,61,192,10,9,18,11,0,0,243,192, + 243,192,97,128,97,128,51,0,51,0,30,0,30,0,12,0, + 11,9,18,11,0,0,241,224,241,224,100,192,110,192,110,192, + 123,192,59,128,49,128,49,128,11,9,18,11,0,0,251,224, + 251,224,49,128,27,0,14,0,27,0,49,128,251,224,251,224, + 10,13,26,11,0,252,243,192,243,192,97,128,97,128,51,0, + 51,0,30,0,30,0,12,0,24,0,56,0,252,0,252,0, + 8,9,9,11,1,0,255,255,198,12,24,48,99,255,255,4, + 15,15,11,3,253,48,96,96,96,96,96,192,96,96,96,96, + 96,96,96,48,2,14,14,11,4,253,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,4,15,15,11,3,253,192,96, + 96,96,96,96,48,96,96,96,96,96,96,96,192,8,3,3, + 11,1,4,115,255,222,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, + 255,255,255,255,255,255,255,0,0,0,11,0,1,3,12,12, + 11,4,252,192,192,0,192,192,224,224,224,224,224,224,224,8, + 13,13,11,1,0,24,24,24,63,127,227,192,192,227,127,62, + 24,24,10,11,22,11,0,0,62,0,127,0,99,0,96,0, + 48,0,252,0,252,0,48,0,96,192,255,192,255,128,8,9, + 9,11,1,1,195,255,126,195,195,195,126,255,195,10,11,22, + 11,0,0,243,192,243,192,97,128,51,0,30,0,63,0,12, + 0,63,0,12,0,63,0,63,0,2,16,16,11,4,253,192, + 192,192,192,192,192,192,0,0,192,192,192,192,192,192,192,8, + 14,14,11,1,254,63,115,99,96,248,222,199,227,123,31,6, + 198,206,252,6,2,2,11,2,9,204,204,11,12,24,11,0, + 0,14,0,63,128,113,192,110,192,219,96,216,96,216,96,219, + 96,110,192,113,192,63,128,14,0,6,8,8,11,2,3,112, + 24,120,216,216,108,0,252,9,7,14,11,0,1,25,128,51, + 0,102,0,204,0,102,0,51,0,25,128,9,4,8,11,1, + 4,255,128,255,128,1,128,1,128,8,2,2,11,1,4,255, + 255,11,12,24,11,0,0,14,0,63,128,113,192,126,192,219, + 96,219,96,222,96,223,96,123,224,112,192,63,128,14,0,5, + 2,2,11,2,9,248,248,5,5,5,11,2,6,112,136,136, + 136,112,10,10,20,11,0,0,12,0,12,0,12,0,255,192, + 255,192,12,0,12,0,0,0,255,192,255,192,6,7,7,11, + 2,5,120,204,12,24,48,100,252,6,7,7,11,2,5,120, + 204,12,56,12,204,120,4,3,3,11,4,9,48,96,192,10, + 13,26,11,0,252,231,128,231,128,97,128,97,128,97,128,97, + 128,99,128,127,192,125,192,96,0,96,0,96,0,96,0,8, + 14,14,11,1,254,63,106,202,202,202,106,58,10,10,10,10, + 10,10,59,2,3,3,11,4,3,192,192,192,4,5,5,11, + 3,252,64,96,48,240,224,6,7,7,11,2,5,48,240,48, + 48,48,48,252,6,8,8,11,2,3,120,204,132,132,204,120, + 0,252,9,7,14,11,1,1,204,0,102,0,51,0,25,128, + 51,0,102,0,204,0,11,12,24,11,0,0,48,0,240,32, + 48,96,48,192,49,128,51,64,254,192,13,192,26,192,52,192, + 103,224,64,192,11,12,24,11,0,0,48,0,240,32,48,96, + 48,192,49,128,51,192,255,96,12,96,24,192,49,128,99,32, + 71,224,11,12,24,11,0,0,120,0,204,32,12,96,56,192, + 13,128,207,64,126,192,13,192,26,192,52,192,103,224,64,192, + 7,12,12,11,2,252,24,24,0,24,24,24,120,224,192,198, + 254,124,12,15,30,11,255,0,24,0,12,0,6,0,0,0, + 62,0,63,0,15,0,15,0,25,128,25,128,63,192,63,192, + 48,192,249,240,249,240,12,15,30,11,255,0,3,0,6,0, + 12,0,0,0,62,0,63,0,15,0,15,0,25,128,25,128, + 63,192,63,192,48,192,249,240,249,240,12,15,30,11,255,0, + 6,0,15,0,25,128,0,0,62,0,63,0,15,0,15,0, + 25,128,25,128,63,192,63,192,48,192,249,240,249,240,12,14, + 28,11,255,0,29,128,55,0,0,0,62,0,63,0,15,0, + 15,0,25,128,25,128,63,192,63,192,48,192,249,240,249,240, + 12,14,28,11,255,0,25,128,25,128,0,0,62,0,63,0, + 15,0,15,0,25,128,25,128,63,192,63,192,48,192,249,240, + 249,240,12,15,30,11,255,0,6,0,9,0,9,0,6,0, + 62,0,63,0,15,0,15,0,25,128,25,128,63,192,63,192, + 48,192,249,240,249,240,11,11,22,11,0,0,63,224,63,224, + 30,96,54,0,55,192,39,192,126,0,126,0,102,96,239,224, + 239,224,10,16,32,11,0,251,30,192,127,192,97,192,192,192, + 192,0,192,0,192,0,192,0,96,192,127,192,63,0,8,0, + 12,0,2,0,30,0,28,0,10,15,30,11,0,0,24,0, + 12,0,6,0,0,0,255,192,255,192,48,192,54,192,62,0, + 62,0,54,0,48,192,48,192,255,192,255,192,10,15,30,11, + 0,0,3,0,6,0,12,0,0,0,255,192,255,192,48,192, + 54,192,62,0,62,0,54,0,48,192,48,192,255,192,255,192, + 10,15,30,11,0,0,12,0,30,0,51,0,0,0,255,192, + 255,192,48,192,54,192,62,0,62,0,54,0,48,192,48,192, + 255,192,255,192,10,14,28,11,0,0,51,0,51,0,0,0, + 255,192,255,192,48,192,54,192,62,0,62,0,54,0,48,192, + 48,192,255,192,255,192,8,15,15,11,1,0,96,48,24,0, + 255,255,24,24,24,24,24,24,24,255,255,8,15,15,11,1, + 0,6,12,24,0,255,255,24,24,24,24,24,24,24,255,255, + 8,15,15,11,1,0,24,60,102,0,255,255,24,24,24,24, + 24,24,24,255,255,8,14,14,11,1,0,102,102,0,255,255, + 24,24,24,24,24,24,24,255,255,10,11,22,11,0,0,254, + 0,255,128,97,128,96,192,248,192,248,192,96,192,96,192,97, + 128,255,128,254,0,10,14,28,11,0,0,59,0,110,0,0, + 0,231,192,247,192,113,128,121,128,105,128,109,128,101,128,103, + 128,99,128,251,128,249,128,10,15,30,11,0,0,24,0,12, + 0,6,0,0,0,30,0,127,128,97,128,192,192,192,192,192, + 192,192,192,192,192,97,128,127,128,30,0,10,15,30,11,0, + 0,3,0,6,0,12,0,0,0,30,0,127,128,97,128,192, + 192,192,192,192,192,192,192,192,192,97,128,127,128,30,0,10, + 15,30,11,0,0,12,0,30,0,51,0,0,0,30,0,127, + 128,97,128,192,192,192,192,192,192,192,192,192,192,97,128,127, + 128,30,0,10,14,28,11,0,0,59,0,110,0,0,0,30, + 0,127,128,97,128,192,192,192,192,192,192,192,192,192,192,97, + 128,127,128,30,0,10,14,28,11,0,0,51,0,51,0,0, + 0,30,0,127,128,97,128,192,192,192,192,192,192,192,192,192, + 192,97,128,127,128,30,0,10,10,20,11,0,0,64,128,225, + 192,115,128,55,0,30,0,30,0,59,0,115,128,225,192,64, + 128,12,13,26,11,255,255,0,48,15,96,63,192,49,192,99, + 96,102,96,102,96,108,96,120,96,48,192,63,192,111,0,192, + 0,10,15,30,11,0,0,48,0,24,0,12,0,0,0,251, + 192,251,192,97,128,97,128,97,128,97,128,97,128,97,128,115, + 128,63,0,30,0,10,15,30,11,0,0,3,0,6,0,12, + 0,0,0,251,192,251,192,97,128,97,128,97,128,97,128,97, + 128,97,128,115,128,63,0,30,0,10,15,30,11,0,0,12, + 0,30,0,51,0,0,0,251,192,251,192,97,128,97,128,97, + 128,97,128,97,128,97,128,115,128,63,0,30,0,10,14,28, + 11,0,0,51,0,51,0,0,0,251,192,251,192,97,128,97, + 128,97,128,97,128,97,128,97,128,115,128,63,0,30,0,10, + 15,30,11,0,0,3,0,6,0,12,0,0,0,243,192,243, + 192,97,128,51,0,63,0,30,0,12,0,12,0,12,0,63, + 0,63,0,10,11,22,11,0,0,240,0,224,0,127,0,127, + 128,97,192,96,192,97,192,127,128,127,0,224,0,240,0,9, + 12,24,11,1,0,60,0,126,0,99,0,99,0,103,0,110, + 0,103,0,97,128,97,128,105,128,239,128,231,0,10,13,26, + 11,0,0,24,0,12,0,6,0,0,0,63,0,127,128,97, + 128,1,128,127,128,255,128,193,128,255,192,125,192,10,13,26, + 11,0,0,3,0,6,0,12,0,0,0,63,0,127,128,97, + 128,1,128,127,128,255,128,193,128,255,192,125,192,10,13,26, + 11,0,0,12,0,30,0,51,0,0,0,63,0,127,128,97, + 128,1,128,127,128,255,128,193,128,255,192,125,192,10,12,24, + 11,0,0,59,0,110,0,0,0,63,0,127,128,97,128,1, + 128,127,128,255,128,193,128,255,192,125,192,10,12,24,11,0, + 0,51,0,51,0,0,0,63,0,127,128,97,128,1,128,127, + 128,255,128,193,128,255,192,125,192,10,14,28,11,0,0,12, + 0,18,0,18,0,12,0,0,0,63,0,127,128,97,128,1, + 128,127,128,255,128,193,128,255,192,125,192,10,9,18,11,0, + 0,123,128,255,192,204,192,12,192,127,192,255,192,204,0,255, + 192,123,128,10,14,28,11,0,251,61,128,127,128,227,128,193, + 128,192,0,192,0,225,192,127,192,63,0,8,0,12,0,6, + 0,30,0,28,0,10,13,26,11,0,0,24,0,12,0,6, + 0,0,0,30,0,127,128,225,192,192,192,255,192,255,192,224, + 0,127,192,31,192,10,13,26,11,0,0,3,0,6,0,12, + 0,0,0,30,0,127,128,225,192,192,192,255,192,255,192,224, + 0,127,192,31,192,10,13,26,11,0,0,12,0,30,0,51, + 0,0,0,30,0,127,128,225,192,192,192,255,192,255,192,224, + 0,127,192,31,192,10,12,24,11,0,0,51,0,51,0,0, + 0,30,0,127,128,225,192,192,192,255,192,255,192,224,0,127, + 192,31,192,8,13,13,11,1,0,48,24,12,0,248,248,24, + 24,24,24,24,255,255,8,13,13,11,1,0,12,24,48,0, + 248,248,24,24,24,24,24,255,255,8,13,13,11,1,0,24, + 60,102,0,248,248,24,24,24,24,24,255,255,8,12,12,11, + 1,0,204,204,0,248,248,24,24,24,24,24,255,255,10,13, + 26,11,0,0,225,128,251,128,62,0,119,0,195,128,63,128, + 97,192,192,192,192,192,192,192,225,192,127,128,30,0,10,12, + 24,11,0,0,59,0,110,0,0,0,239,0,255,128,113,128, + 97,128,97,128,97,128,97,128,243,192,243,192,10,13,26,11, + 0,0,24,0,12,0,6,0,0,0,30,0,127,128,225,192, + 192,192,192,192,192,192,225,192,127,128,30,0,10,13,26,11, + 0,0,3,0,6,0,12,0,0,0,30,0,127,128,225,192, + 192,192,192,192,192,192,225,192,127,128,30,0,10,13,26,11, + 0,0,12,0,30,0,51,0,0,0,30,0,127,128,225,192, + 192,192,192,192,192,192,225,192,127,128,30,0,10,12,24,11, + 0,0,59,0,110,0,0,0,30,0,127,128,225,192,192,192, + 192,192,192,192,225,192,127,128,30,0,10,12,24,11,0,0, + 51,0,51,0,0,0,30,0,127,128,225,192,192,192,192,192, + 192,192,225,192,127,128,30,0,10,10,20,11,0,0,12,0, + 12,0,0,0,0,0,255,192,255,192,0,0,0,0,12,0, + 12,0,12,11,22,11,255,255,0,48,15,96,63,192,113,224, + 99,96,102,96,108,96,120,224,63,192,111,0,192,0,10,13, + 26,11,0,0,24,0,12,0,6,0,0,0,231,128,231,128, + 97,128,97,128,97,128,97,128,99,128,127,192,61,192,10,13, + 26,11,0,0,6,0,12,0,24,0,0,0,231,128,231,128, + 97,128,97,128,97,128,97,128,99,128,127,192,61,192,10,13, + 26,11,0,0,12,0,30,0,51,0,0,0,231,128,231,128, + 97,128,97,128,97,128,97,128,99,128,127,192,61,192,10,12, + 24,11,0,0,51,0,51,0,0,0,231,128,231,128,97,128, + 97,128,97,128,97,128,99,128,127,192,61,192,10,17,34,11, + 0,252,3,0,6,0,12,0,0,0,243,192,243,192,97,128, + 97,128,51,0,51,0,30,0,30,0,12,0,24,0,56,0, + 252,0,252,0,10,16,32,11,0,252,224,0,224,0,96,0, + 111,0,127,128,113,192,96,192,96,192,96,192,113,192,127,128, + 111,0,96,0,96,0,248,0,248,0,10,16,32,11,0,252, + 51,0,51,0,0,0,243,192,243,192,97,128,97,128,51,0, + 51,0,30,0,30,0,12,0,24,0,56,0,252,0,252,0 + }; +/* + Fontname: -Adobe-Courier-Bold-R-Normal--20-140-100-100-M-110-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 11, '1' Height: 12 + Calculated Max Values w=12 h=16 x= 4 y= 9 dx=11 dy= 0 ascent=13 len=32 + Font Bounding box w=17 h=26 x=-4 y=-7 + Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 + Pure Font ascent =11 descent=-4 + X Font ascent =12 descent=-4 + Max Font ascent =13 descent=-4 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_courB14r[2167] U8G_FONT_SECTION("u8g_font_courB14r") = { + 0,17,26,252,249,11,2,101,5,155,32,127,252,13,252,12, + 252,0,0,0,11,0,1,3,12,12,11,4,0,224,224,224, + 224,224,224,192,192,192,0,192,192,6,6,6,11,2,6,204, + 204,204,204,136,136,8,14,14,11,1,255,54,54,54,54,255, + 255,108,108,255,255,108,108,108,108,8,15,15,11,1,254,24, + 24,63,127,195,192,240,126,15,3,199,254,252,24,24,8,12, + 12,11,1,0,112,216,136,216,115,14,120,206,27,17,27,14, + 8,10,10,11,1,0,60,126,102,96,48,123,255,206,255,123, + 2,6,6,11,4,6,192,192,192,192,128,128,4,15,15,11, + 4,253,48,48,96,96,192,192,192,192,192,192,192,96,96,48, + 48,4,15,15,11,2,253,192,192,96,96,48,48,48,48,48, + 48,48,96,96,192,192,8,8,8,11,1,4,24,24,255,255, + 24,126,231,66,10,10,20,11,0,0,12,0,12,0,12,0, + 12,0,255,192,255,192,12,0,12,0,12,0,12,0,4,5, + 5,11,2,253,48,48,96,64,128,8,2,2,11,1,4,255, + 255,2,2,2,11,4,0,192,192,9,16,32,11,0,253,1, + 128,1,128,3,0,3,0,6,0,6,0,12,0,12,0,24, + 0,24,0,48,0,48,0,96,0,96,0,192,0,192,0,8, + 12,12,11,1,0,60,126,102,195,195,195,195,195,195,102,126, + 60,8,12,12,11,1,0,24,248,248,24,24,24,24,24,24, + 24,255,255,8,12,12,11,1,0,60,126,199,195,3,7,14, + 28,56,112,255,255,8,12,12,11,1,0,60,126,102,6,14, + 60,62,7,3,199,254,124,8,12,12,11,1,0,14,30,62, + 54,102,102,198,255,255,6,31,31,8,12,12,11,1,0,127, + 127,96,96,126,127,103,3,3,199,254,124,8,12,12,11,1, + 0,15,63,112,96,220,254,231,195,195,231,126,60,8,12,12, + 11,1,0,255,255,195,6,6,6,12,12,12,24,24,24,8, + 12,12,11,1,0,60,126,231,195,102,60,126,231,195,231,126, + 60,8,12,12,11,1,0,60,126,195,195,195,199,127,59,3, + 6,254,248,2,8,8,11,4,0,192,192,0,0,0,0,192, + 192,4,11,11,11,2,253,48,48,0,0,0,0,48,48,96, + 64,128,9,9,18,11,1,1,1,128,7,128,30,0,120,0, + 224,0,120,0,30,0,7,128,1,128,10,6,12,11,0,2, + 255,192,255,192,0,0,0,0,255,192,255,192,9,9,18,11, + 1,1,192,0,240,0,60,0,15,0,3,128,15,0,60,0, + 240,0,192,0,7,11,11,11,2,0,124,254,198,6,14,60, + 48,48,0,48,48,9,13,26,11,1,255,60,0,102,0,195, + 0,207,0,219,0,219,0,219,0,219,0,207,128,192,0,192, + 0,99,0,62,0,12,11,22,11,255,0,62,0,63,0,15, + 0,25,128,25,128,25,128,63,192,63,192,48,192,249,240,249, + 240,10,11,22,11,0,0,254,0,255,0,49,128,49,128,63, + 0,63,128,48,192,48,192,48,192,255,128,255,0,10,11,22, + 11,0,0,30,192,127,192,113,192,224,192,192,0,192,0,192, + 0,224,0,112,192,127,192,31,0,10,11,22,11,0,0,254, + 0,255,128,99,128,97,192,96,192,96,192,96,192,97,192,99, + 128,255,128,254,0,10,11,22,11,0,0,255,192,255,192,48, + 192,54,192,62,0,62,0,54,0,48,192,48,192,255,192,255, + 192,10,11,22,11,0,0,255,192,255,192,48,192,54,192,62, + 0,62,0,54,0,48,0,48,0,254,0,254,0,11,11,22, + 11,0,0,30,192,127,192,113,192,224,192,192,0,192,0,199, + 224,231,224,112,192,127,192,31,128,10,11,22,11,0,0,243, + 192,243,192,97,128,97,128,127,128,127,128,97,128,97,128,97, + 128,243,192,243,192,8,11,11,11,1,0,255,255,24,24,24, + 24,24,24,24,255,255,10,11,22,11,0,0,31,192,31,192, + 3,0,3,0,3,0,3,0,195,0,195,0,195,0,254,0, + 60,0,11,11,22,11,0,0,247,192,247,192,99,0,102,0, + 108,0,124,0,126,0,103,0,99,128,249,224,249,224,10,11, + 22,11,0,0,252,0,252,0,48,0,48,0,48,0,48,0, + 48,192,48,192,48,192,255,192,255,192,10,11,22,11,0,0, + 225,192,225,192,115,128,115,128,127,128,109,128,109,128,109,128, + 97,128,243,192,243,192,10,11,22,11,0,0,231,192,247,192, + 113,128,121,128,105,128,109,128,101,128,103,128,99,128,251,128, + 249,128,10,11,22,11,0,0,30,0,127,128,115,128,225,192, + 192,192,192,192,192,192,225,192,115,128,127,128,30,0,10,11, + 22,11,0,0,255,0,255,128,97,192,96,192,97,192,127,128, + 127,0,96,0,96,0,252,0,252,0,10,13,26,11,0,254, + 30,0,127,128,115,128,225,192,192,192,192,192,192,192,225,192, + 115,128,127,128,30,64,63,192,51,128,11,11,22,11,0,0, + 255,0,255,128,97,192,96,192,97,192,127,128,127,0,99,128, + 97,192,252,224,252,224,9,11,22,11,1,0,61,128,255,128, + 195,128,193,128,248,0,127,0,15,128,193,128,225,128,255,0, + 222,0,10,11,22,11,0,0,255,192,255,192,204,192,204,192, + 204,192,12,0,12,0,12,0,12,0,127,128,127,128,10,11, + 22,11,0,0,247,192,247,192,97,128,97,128,97,128,97,128, + 97,128,97,128,115,128,63,0,30,0,12,11,22,11,255,0, + 249,240,249,240,96,96,96,96,48,192,48,192,25,128,25,128, + 15,0,15,0,6,0,12,11,22,11,255,0,249,240,249,240, + 96,96,102,96,102,96,111,96,111,96,57,192,57,192,48,192, + 48,192,10,11,22,11,0,0,243,192,243,192,97,128,51,0, + 30,0,12,0,30,0,51,0,97,128,243,192,243,192,10,11, + 22,11,0,0,243,192,243,192,97,128,51,0,63,0,30,0, + 12,0,12,0,12,0,63,0,63,0,8,11,11,11,1,0, + 255,255,199,206,12,24,48,115,227,255,255,4,15,15,11,4, + 253,240,240,192,192,192,192,192,192,192,192,192,192,192,240,240, + 9,16,32,11,1,253,192,0,192,0,96,0,96,0,48,0, + 48,0,24,0,24,0,12,0,12,0,6,0,6,0,3,0, + 3,0,1,128,1,128,4,15,15,11,2,253,240,240,48,48, + 48,48,48,48,48,48,48,48,48,240,240,8,7,7,11,1, + 5,24,60,60,102,102,195,195,11,2,4,11,0,252,255,224, + 255,224,4,3,3,11,3,9,192,96,48,10,9,18,11,0, + 0,63,0,127,128,97,128,1,128,127,128,255,128,193,128,255, + 192,125,192,10,12,24,11,0,0,224,0,224,0,96,0,111, + 0,127,128,113,192,96,192,96,192,96,192,113,192,255,128,239, + 0,10,9,18,11,0,0,61,128,127,128,227,128,193,128,192, + 0,192,0,225,192,127,192,63,0,10,12,24,11,0,0,3, + 128,3,128,1,128,61,128,127,128,227,128,193,128,193,128,193, + 128,227,128,127,192,61,192,10,9,18,11,0,0,30,0,127, + 128,225,192,192,192,255,192,255,192,224,0,127,192,31,192,9, + 12,24,11,1,0,31,128,63,128,48,0,255,0,255,0,48, + 0,48,0,48,0,48,0,48,0,255,0,255,0,10,13,26, + 11,0,252,61,192,127,192,227,128,193,128,193,128,193,128,227, + 128,127,128,61,128,1,128,3,128,63,0,62,0,10,12,24, + 11,0,0,224,0,224,0,96,0,111,0,127,128,113,128,97, + 128,97,128,97,128,97,128,243,192,243,192,8,12,12,11,1, + 0,24,24,0,248,248,24,24,24,24,24,255,255,7,16,16, + 11,1,252,12,12,0,254,254,6,6,6,6,6,6,6,6, + 14,252,248,10,12,24,11,0,0,224,0,224,0,96,0,103, + 128,103,128,110,0,124,0,124,0,110,0,103,0,227,192,227, + 192,8,12,12,11,1,0,248,248,24,24,24,24,24,24,24, + 24,255,255,12,9,18,11,255,0,237,192,255,224,119,96,102, + 96,102,96,102,96,102,96,247,112,247,112,10,9,18,11,0, + 0,239,0,255,128,113,128,97,128,97,128,97,128,97,128,243, + 192,243,192,10,9,18,11,0,0,30,0,127,128,225,192,192, + 192,192,192,192,192,225,192,127,128,30,0,10,13,26,11,0, + 252,239,0,255,128,113,192,96,192,96,192,96,192,113,192,127, + 128,111,0,96,0,96,0,248,0,248,0,10,13,26,11,0, + 252,61,192,127,192,227,128,193,128,193,128,193,128,227,128,127, + 128,61,128,1,128,1,128,7,192,7,192,10,9,18,11,0, + 0,243,128,255,192,60,192,56,0,48,0,48,0,48,0,255, + 0,255,0,8,9,9,11,1,0,127,255,195,240,126,31,195, + 255,254,10,12,24,11,0,0,48,0,48,0,48,0,255,0, + 255,0,48,0,48,0,48,0,48,0,48,192,63,192,31,0, + 10,9,18,11,0,0,231,128,231,128,97,128,97,128,97,128, + 97,128,99,128,127,192,61,192,10,9,18,11,0,0,243,192, + 243,192,97,128,97,128,51,0,51,0,30,0,30,0,12,0, + 11,9,18,11,0,0,241,224,241,224,100,192,110,192,110,192, + 123,192,59,128,49,128,49,128,11,9,18,11,0,0,251,224, + 251,224,49,128,27,0,14,0,27,0,49,128,251,224,251,224, + 10,13,26,11,0,252,243,192,243,192,97,128,97,128,51,0, + 51,0,30,0,30,0,12,0,24,0,56,0,252,0,252,0, + 8,9,9,11,1,0,255,255,198,12,24,48,99,255,255,4, + 15,15,11,3,253,48,96,96,96,96,96,192,96,96,96,96, + 96,96,96,48,2,14,14,11,4,253,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,4,15,15,11,3,253,192,96, + 96,96,96,96,48,96,96,96,96,96,96,96,192,8,3,3, + 11,1,4,115,255,222,255}; +/* + Fontname: -Adobe-Courier-Bold-R-Normal--25-180-100-100-M-150-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 15, '1' Height: 16 + Calculated Max Values w=16 h=21 x= 6 y=13 dx=15 dy= 0 ascent=21 len=42 + Font Bounding box w=22 h=35 x=-4 y=-9 + Calculated Min Values x=-1 y=-5 dx= 0 dy= 0 + Pure Font ascent =15 descent=-5 + X Font ascent =16 descent=-5 + Max Font ascent =21 descent=-5 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_courB18[6429] U8G_FONT_SECTION("u8g_font_courB18") = { + 0,22,35,252,247,15,3,223,8,17,32,255,251,21,251,16, + 251,0,0,0,15,0,1,4,16,16,15,5,0,96,240,240, + 240,240,240,240,96,96,96,96,96,0,96,96,96,7,7,7, + 15,3,9,238,238,238,238,68,68,68,12,19,38,15,1,254, + 12,192,12,192,12,192,12,192,12,192,12,192,127,240,127,240, + 25,128,25,128,25,128,255,224,255,224,51,0,51,0,51,0, + 51,0,51,0,51,0,10,20,40,15,2,253,12,0,12,0, + 61,128,127,128,195,128,193,128,192,0,224,0,126,0,31,128, + 1,192,0,192,192,192,225,192,255,128,223,0,12,0,12,0, + 12,0,12,0,11,15,30,15,2,0,60,0,102,0,195,0, + 195,0,102,0,60,0,1,192,15,0,56,0,231,128,12,192, + 24,96,24,96,12,192,7,128,11,14,28,15,2,0,30,0, + 63,0,99,0,96,0,96,0,48,0,56,0,124,192,111,192, + 199,128,195,0,199,128,255,224,124,224,3,7,7,15,5,8, + 224,224,224,224,224,64,64,5,20,20,15,6,252,24,56,48, + 96,96,96,192,192,192,192,192,192,192,192,96,96,96,48,56, + 24,5,20,20,15,3,252,192,224,96,48,48,48,24,24,24, + 24,24,24,24,24,48,48,48,96,224,192,10,11,22,15,2, + 5,12,0,12,0,12,0,204,192,255,192,63,0,12,0,63, + 0,51,0,115,128,97,128,12,12,24,15,1,1,6,0,6, + 0,6,0,6,0,6,0,255,240,255,240,6,0,6,0,6, + 0,6,0,6,0,5,6,6,15,4,253,56,56,112,96,192, + 128,11,2,4,15,2,6,255,224,255,224,3,3,3,15,5, + 0,224,224,224,11,20,40,15,2,253,0,96,0,96,0,192, + 0,192,1,128,1,128,3,0,3,0,6,0,6,0,12,0, + 12,0,24,0,24,0,48,0,48,0,96,0,96,0,192,0, + 192,0,10,16,32,15,2,0,30,0,127,128,97,128,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,97,128,127,128,30,0,10,16,32,15,2,0,28,0, + 252,0,252,0,12,0,12,0,12,0,12,0,12,0,12,0, + 12,0,12,0,12,0,12,0,12,0,255,192,255,192,11,16, + 32,15,1,0,31,128,63,192,112,224,96,96,96,96,0,96, + 0,224,1,192,3,128,7,0,14,0,28,0,56,0,112,0, + 255,224,255,224,11,16,32,15,1,0,31,128,63,192,112,224, + 96,96,0,96,0,224,1,192,15,128,15,192,0,224,0,96, + 0,96,192,96,224,224,127,192,63,128,11,16,32,15,1,0, + 3,128,7,128,15,128,13,128,25,128,25,128,49,128,49,128, + 97,128,97,128,255,224,255,224,1,128,1,128,15,224,15,224, + 11,16,32,15,2,0,127,192,127,192,96,0,96,0,96,0, + 111,0,127,192,113,192,0,224,0,96,0,96,0,96,192,224, + 225,192,127,192,63,0,10,16,32,15,2,0,7,192,31,192, + 60,0,112,0,96,0,224,0,223,0,255,128,225,192,192,192, + 192,192,192,192,224,192,113,192,127,128,31,0,10,16,32,15, + 2,0,255,192,255,192,192,192,0,192,1,128,1,128,1,128, + 3,0,3,0,3,0,6,0,6,0,6,0,12,0,12,0, + 12,0,10,16,32,15,2,0,30,0,127,128,225,192,192,192, + 192,192,192,192,97,128,63,0,127,128,225,192,192,192,192,192, + 192,192,225,192,127,128,63,0,10,16,32,15,3,0,30,0, + 127,128,97,128,192,192,192,192,192,192,192,192,193,192,227,192, + 126,192,60,192,0,192,1,128,3,128,255,0,252,0,3,11, + 11,15,5,0,224,224,224,0,0,0,0,0,224,224,224,5, + 14,14,15,3,253,56,56,56,0,0,0,0,0,56,56,112, + 96,192,128,13,12,24,15,1,1,0,56,0,240,3,192,15, + 0,60,0,240,0,240,0,60,0,15,0,3,192,0,240,0, + 56,12,6,12,15,1,4,255,240,255,240,0,0,0,0,255, + 240,255,240,13,12,24,15,1,1,224,0,120,0,30,0,7, + 128,1,224,0,120,0,120,1,224,7,128,30,0,120,0,224, + 0,9,15,30,15,3,0,126,0,255,0,195,128,193,128,193, + 128,1,128,3,128,15,0,28,0,24,0,24,0,0,0,24, + 0,24,0,24,0,10,18,36,15,2,254,28,0,127,0,99, + 0,193,128,193,128,199,128,207,128,221,128,217,128,217,128,221, + 128,207,192,199,192,192,0,192,0,97,128,127,128,30,0,14, + 15,30,15,0,0,63,0,63,0,7,128,7,128,12,192,12, + 192,28,224,24,96,24,96,63,240,63,240,112,56,96,24,252, + 252,252,252,13,15,30,15,1,0,255,192,255,224,48,112,48, + 48,48,48,48,112,63,224,63,240,48,56,48,24,48,24,48, + 24,48,56,255,240,255,224,12,15,30,15,1,0,15,176,63, + 240,112,112,96,48,224,48,192,0,192,0,192,0,192,0,192, + 0,224,0,96,0,112,48,63,240,15,192,14,15,30,15,0, + 0,255,192,255,240,48,56,48,24,48,28,48,12,48,12,48, + 12,48,12,48,12,48,12,48,24,48,56,255,240,255,224,13, + 15,30,15,1,0,255,240,255,240,48,48,48,48,49,176,49, + 128,63,128,63,128,49,128,49,128,48,24,48,24,48,24,255, + 248,255,248,13,15,30,15,1,0,255,248,255,248,48,24,48, + 24,49,152,49,128,63,128,63,128,49,128,49,128,48,0,48, + 0,48,0,255,0,255,0,13,15,30,15,1,0,15,216,63, + 248,112,56,96,24,224,24,192,0,192,0,192,0,193,248,193, + 248,224,24,96,24,112,56,63,240,15,192,14,15,30,15,0, + 0,252,252,252,252,48,48,48,48,48,48,48,48,63,240,63, + 240,48,48,48,48,48,48,48,48,48,48,252,252,252,252,10, + 15,30,15,2,0,255,192,255,192,12,0,12,0,12,0,12, + 0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,255, + 192,255,192,13,15,30,15,1,0,31,248,31,248,0,192,0, + 192,0,192,0,192,0,192,0,192,0,192,192,192,192,192,192, + 192,225,192,127,128,63,0,14,15,30,15,0,0,252,248,252, + 248,48,224,49,192,51,128,55,0,62,0,63,0,59,128,49, + 192,48,224,48,96,48,112,252,60,252,60,12,15,30,15,1, + 0,255,0,255,0,24,0,24,0,24,0,24,0,24,0,24, + 0,24,0,24,0,24,48,24,48,24,48,255,240,255,240,14, + 15,30,15,0,0,240,60,240,60,120,120,120,120,108,216,108, + 216,108,216,103,152,99,24,99,24,96,24,96,24,96,24,248, + 124,248,124,13,15,30,15,1,0,240,248,240,248,120,48,120, + 48,108,48,108,48,102,48,102,48,99,48,99,48,97,176,97, + 176,96,240,248,240,248,112,13,15,30,15,1,0,15,128,63, + 224,112,112,96,48,224,56,192,24,192,24,192,24,192,24,192, + 24,224,56,96,48,112,112,63,224,15,128,13,15,30,15,1, + 0,255,192,255,240,48,56,48,24,48,24,48,24,48,24,48, + 56,63,240,63,192,48,0,48,0,48,0,255,0,255,0,13, + 18,36,15,1,253,15,128,63,224,112,112,96,48,224,56,192, + 24,192,24,192,24,192,24,192,24,224,56,96,48,112,112,63, + 224,15,128,14,24,63,248,57,224,14,15,30,15,0,0,255, + 128,255,224,48,112,48,48,48,48,48,48,48,112,63,224,63, + 128,49,192,48,224,48,96,48,112,252,60,252,60,12,15,30, + 15,1,0,31,176,63,240,112,112,96,48,96,48,112,0,62, + 0,31,192,3,224,0,112,192,48,192,48,224,112,255,224,223, + 192,12,15,30,15,1,0,255,240,255,240,198,48,198,48,198, + 48,198,48,6,0,6,0,6,0,6,0,6,0,6,0,6, + 0,63,192,63,192,13,15,30,15,1,0,248,248,248,248,96, + 48,96,48,96,48,96,48,96,48,96,48,96,48,96,48,96, + 48,96,48,48,96,63,224,31,192,14,15,30,15,0,0,248, + 124,248,124,96,24,96,24,48,48,48,48,48,48,24,96,24, + 96,24,96,12,192,12,192,7,128,7,128,7,128,14,15,30, + 15,0,0,248,124,248,124,96,24,99,24,99,24,103,152,103, + 152,111,216,108,216,108,216,60,240,56,112,56,112,56,112,56, + 112,14,15,30,15,0,0,252,252,252,252,112,56,56,112,28, + 224,15,192,7,128,3,0,7,128,12,192,28,224,56,112,112, + 56,252,252,252,252,14,15,30,15,0,0,252,252,252,252,112, + 56,56,112,24,96,12,192,15,192,7,128,3,0,3,0,3, + 0,3,0,3,0,31,224,31,224,11,15,30,15,2,0,255, + 224,255,224,192,224,193,192,195,128,3,0,7,0,14,0,28, + 0,24,0,56,96,112,96,224,96,255,224,255,224,5,20,20, + 15,6,252,248,248,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,248,248,11,20,40,15,2,253,192,0,192, + 0,96,0,96,0,48,0,48,0,24,0,24,0,12,0,12, + 0,6,0,6,0,3,0,3,0,1,128,1,128,0,192,0, + 192,0,96,0,96,5,20,20,15,3,252,248,248,24,24,24, + 24,24,24,24,24,24,24,24,24,24,24,24,24,248,248,8, + 8,8,15,3,8,24,24,60,60,102,102,195,195,15,2,4, + 15,0,252,255,254,255,254,5,4,4,15,4,11,192,96,48, + 24,12,11,22,15,1,0,63,0,127,128,97,192,0,192,31, + 192,127,192,224,192,192,192,193,192,255,240,126,240,13,16,32, + 15,1,0,240,0,240,0,48,0,48,0,48,0,55,192,63, + 240,60,112,56,56,48,24,48,24,48,24,56,56,60,112,255, + 240,247,192,12,11,22,15,1,0,31,176,127,240,112,240,224, + 112,192,48,192,0,192,0,224,0,112,112,127,240,31,192,13, + 16,32,15,1,0,1,224,1,224,0,96,0,96,0,96,31, + 96,127,224,113,224,224,224,192,96,192,96,192,96,224,224,113, + 224,127,248,31,120,12,11,22,15,1,0,31,128,127,224,112, + 224,224,112,192,48,255,240,255,240,224,0,112,112,127,240,31, + 192,11,16,32,15,2,0,7,224,15,224,28,0,24,0,24, + 0,255,192,255,192,24,0,24,0,24,0,24,0,24,0,24, + 0,24,0,255,192,255,192,13,16,32,15,1,251,31,120,127, + 248,113,224,224,224,192,96,192,96,192,96,224,224,113,224,127, + 224,31,96,0,96,0,96,0,224,63,192,63,128,14,16,32, + 15,0,0,240,0,240,0,48,0,48,0,48,0,55,192,63, + 224,60,112,56,48,48,48,48,48,48,48,48,48,48,48,252, + 252,252,252,10,16,32,15,2,0,28,0,28,0,28,0,0, + 0,0,0,124,0,124,0,12,0,12,0,12,0,12,0,12, + 0,12,0,12,0,255,192,255,192,8,21,21,15,2,251,14, + 14,14,0,0,255,255,3,3,3,3,3,3,3,3,3,3, + 3,7,254,252,13,16,32,15,1,0,240,0,240,0,48,0, + 48,0,48,0,49,224,49,224,51,128,55,0,62,0,62,0, + 55,0,51,128,49,192,241,248,241,248,10,16,32,15,2,0, + 124,0,124,0,12,0,12,0,12,0,12,0,12,0,12,0, + 12,0,12,0,12,0,12,0,12,0,12,0,255,192,255,192, + 16,11,22,15,0,0,239,120,255,252,57,204,49,140,49,140, + 49,140,49,140,49,140,49,140,249,239,249,239,14,11,22,15, + 0,0,243,192,247,224,60,112,56,48,48,48,48,48,48,48, + 48,48,48,48,252,252,252,252,12,11,22,15,1,0,31,128, + 127,224,112,224,224,112,192,48,192,48,192,48,224,112,112,224, + 127,224,31,128,13,16,32,15,0,251,247,192,255,240,60,112, + 56,56,48,24,48,24,48,24,56,56,60,112,63,240,55,192, + 48,0,48,0,48,0,254,0,254,0,13,16,32,15,1,251, + 31,120,127,248,113,224,224,224,192,96,192,96,192,96,224,224, + 113,224,127,224,31,96,0,96,0,96,0,96,3,248,3,248, + 12,11,22,15,1,0,121,224,127,240,30,48,28,0,24,0, + 24,0,24,0,24,0,24,0,255,192,255,192,11,11,22,15, + 2,0,62,192,127,192,225,192,224,192,124,0,31,0,7,192, + 192,224,224,224,255,192,223,128,11,15,30,15,1,0,48,0, + 48,0,48,0,48,0,255,192,255,192,48,0,48,0,48,0, + 48,0,48,0,48,0,56,224,31,224,15,128,14,11,22,15, + 0,0,240,240,240,240,48,48,48,48,48,48,48,48,48,48, + 48,48,56,112,31,252,15,188,14,11,22,15,0,0,252,252, + 252,252,48,48,48,48,24,96,24,96,12,192,12,192,7,128, + 7,128,3,0,14,11,22,15,0,0,248,124,248,124,99,24, + 99,24,51,48,55,176,55,176,60,240,28,224,24,96,24,96, + 12,11,22,15,1,0,249,240,249,240,48,192,25,128,15,0, + 6,0,15,0,25,128,48,192,249,240,249,240,12,16,32,15, + 1,251,249,240,249,240,96,96,112,224,48,192,57,192,25,128, + 27,128,15,0,15,0,6,0,14,0,12,0,28,0,254,0, + 254,0,10,11,22,15,2,0,255,192,255,192,195,128,199,0, + 14,0,28,0,56,0,112,192,224,192,255,192,255,192,7,20, + 20,15,4,252,14,24,48,48,48,48,48,48,112,224,112,48, + 48,48,48,48,48,48,24,14,2,18,18,15,6,254,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 7,20,20,15,3,252,224,48,24,24,24,24,24,24,28,14, + 28,24,24,24,24,24,24,24,48,224,12,4,8,15,1,5, + 60,48,126,112,231,224,195,192,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,255,255,255,255,255,255,255,0,0,0,15,0,1,4, + 16,16,15,4,251,96,96,96,0,96,96,96,96,96,240,240, + 240,240,240,240,96,9,16,32,15,2,0,12,0,12,0,12, + 0,61,128,127,128,227,128,193,128,192,0,192,0,192,0,225, + 128,127,128,63,0,12,0,12,0,12,0,12,15,30,15,1, + 0,15,128,31,192,56,192,48,0,48,0,48,0,48,0,255, + 0,255,0,24,0,24,0,56,0,112,48,255,240,255,224,10, + 11,22,15,2,2,192,192,255,192,127,128,225,192,192,192,192, + 192,192,192,225,192,127,128,255,192,192,192,12,15,30,15,1, + 0,249,240,249,240,112,224,48,192,57,192,25,128,15,0,15, + 0,63,192,6,0,63,192,6,0,6,0,63,192,63,192,2, + 18,18,15,6,254,192,192,192,192,192,192,192,192,0,0,192, + 192,192,192,192,192,192,192,12,18,36,15,1,254,15,224,31, + 224,56,96,48,96,56,0,126,0,207,128,195,224,240,240,124, + 48,31,48,7,240,1,224,0,192,96,192,97,192,127,128,127, + 0,7,3,3,15,3,12,198,198,198,14,14,28,15,0,1, + 7,128,31,224,56,112,103,152,111,216,220,204,216,12,216,12, + 220,204,111,216,103,152,56,112,31,224,7,128,8,11,11,15, + 3,4,60,102,6,126,198,198,207,123,0,255,255,13,9,18, + 15,1,1,14,56,28,112,56,224,113,192,227,128,113,192,56, + 224,28,112,14,56,12,6,12,15,1,4,255,240,255,240,0, + 48,0,48,0,48,0,48,11,2,4,15,2,6,255,224,255, + 224,14,14,28,15,0,1,7,128,31,224,56,112,111,152,111, + 216,204,204,204,204,207,140,205,140,108,216,108,216,56,112,31, + 224,7,128,7,2,2,15,3,13,254,254,8,7,7,15,3, + 9,60,102,195,195,195,102,60,12,14,28,15,1,0,6,0, + 6,0,6,0,6,0,255,240,255,240,6,0,6,0,6,0, + 6,0,0,0,0,0,255,240,255,240,7,9,9,15,4,7, + 124,198,198,12,24,48,96,198,254,7,9,9,15,4,7,124, + 198,198,12,60,6,198,198,124,6,4,4,15,4,12,28,56, + 112,224,14,16,32,15,0,251,240,240,240,240,48,48,48,48, + 48,48,48,48,48,48,48,48,56,112,63,252,63,188,48,0, + 48,0,48,0,48,0,48,0,12,18,36,15,1,254,31,240, + 127,240,230,192,230,192,230,192,230,192,230,192,126,192,30,192, + 6,192,6,192,6,192,6,192,6,192,6,192,6,192,62,240, + 62,240,3,3,3,15,5,6,224,224,224,5,6,6,15,4, + 251,48,48,120,24,248,112,8,9,9,15,3,7,24,248,24, + 24,24,24,24,24,255,8,11,11,15,3,4,60,126,195,195, + 195,195,126,60,0,255,255,13,9,18,15,1,1,227,128,113, + 192,56,224,28,112,14,56,28,112,56,224,113,192,227,128,16, + 16,32,15,255,0,24,0,248,1,24,3,24,6,24,12,24, + 24,24,48,24,100,255,204,1,156,3,44,6,76,12,140,24, + 254,48,12,32,30,16,16,32,15,255,0,24,0,248,1,24, + 3,24,6,24,12,24,24,24,48,24,126,255,243,1,163,3, + 6,6,12,12,24,24,48,48,99,32,127,15,16,32,15,0, + 0,124,0,198,2,198,6,12,12,60,24,6,48,198,96,198, + 200,125,152,3,56,6,88,12,152,25,24,49,252,96,24,64, + 60,9,15,30,15,2,252,12,0,12,0,12,0,0,0,12, + 0,12,0,28,0,120,0,224,0,192,0,193,128,193,128,225, + 128,127,128,63,0,14,20,40,15,0,0,56,0,28,0,14, + 0,7,0,0,0,63,0,63,0,7,128,7,128,12,192,12, + 192,28,224,24,96,24,96,63,240,63,240,112,56,96,24,252, + 252,252,252,14,20,40,15,0,0,0,224,1,192,3,128,7, + 0,0,0,63,0,63,0,7,128,7,128,12,192,12,192,28, + 224,24,96,24,96,63,240,63,240,112,56,96,24,252,252,252, + 252,14,21,42,15,0,0,6,0,15,0,31,128,57,192,112, + 224,0,0,63,0,63,0,7,128,7,128,12,192,12,192,28, + 224,24,96,24,96,63,240,63,240,112,56,96,24,252,252,252, + 252,14,19,38,15,0,0,14,96,31,192,51,128,0,0,63, + 0,63,0,7,128,7,128,12,192,12,192,28,224,24,96,24, + 96,63,240,63,240,112,56,96,24,252,252,252,252,14,19,38, + 15,0,0,24,192,24,192,24,192,0,0,63,0,63,0,7, + 128,7,128,12,192,12,192,28,224,24,96,24,96,63,240,63, + 240,112,56,96,24,252,252,252,252,14,20,40,15,0,0,7, + 0,13,128,8,128,13,128,7,0,63,0,63,0,7,128,7, + 128,12,192,12,192,28,224,24,96,24,96,63,240,63,240,112, + 56,96,24,252,252,252,252,15,15,30,15,0,0,15,254,15, + 254,3,134,7,134,7,128,13,152,9,248,25,248,31,152,63, + 128,49,128,97,134,97,134,247,254,247,254,12,20,40,15,1, + 251,15,176,63,240,112,112,96,48,224,48,192,0,192,0,192, + 0,192,0,192,0,224,0,96,16,112,48,63,224,15,192,6, + 0,15,0,3,0,31,0,14,0,13,20,40,15,1,0,56, + 0,28,0,14,0,7,0,0,0,255,240,255,240,48,48,48, + 48,49,176,49,128,63,128,63,128,49,128,49,128,48,24,48, + 24,48,24,255,248,255,248,13,20,40,15,1,0,0,224,1, + 192,3,128,7,0,0,0,255,240,255,240,48,48,48,48,49, + 176,49,128,63,128,63,128,49,128,49,128,48,24,48,24,48, + 24,255,248,255,248,13,21,42,15,1,0,3,0,7,128,15, + 192,28,224,56,112,0,0,255,240,255,240,48,48,48,48,49, + 176,49,128,63,128,63,128,49,128,49,128,48,24,48,24,48, + 24,255,248,255,248,13,19,38,15,1,0,24,192,24,192,24, + 192,0,0,255,240,255,240,48,48,48,48,49,176,49,128,63, + 128,63,128,49,128,49,128,48,24,48,24,48,24,255,248,255, + 248,10,20,40,15,2,0,112,0,56,0,28,0,14,0,0, + 0,255,192,255,192,12,0,12,0,12,0,12,0,12,0,12, + 0,12,0,12,0,12,0,12,0,12,0,255,192,255,192,10, + 20,40,15,2,0,3,128,7,0,14,0,28,0,0,0,255, + 192,255,192,12,0,12,0,12,0,12,0,12,0,12,0,12, + 0,12,0,12,0,12,0,12,0,255,192,255,192,10,21,42, + 15,2,0,12,0,30,0,63,0,115,128,225,192,0,0,255, + 192,255,192,12,0,12,0,12,0,12,0,12,0,12,0,12, + 0,12,0,12,0,12,0,12,0,255,192,255,192,10,19,38, + 15,2,0,51,0,51,0,51,0,0,0,255,192,255,192,12, + 0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, + 0,12,0,12,0,255,192,255,192,14,15,30,15,0,0,255, + 192,255,240,48,56,48,24,48,28,48,12,254,12,254,12,48, + 12,48,12,48,12,48,24,48,56,255,240,255,224,13,19,38, + 15,1,0,14,96,31,192,51,128,0,0,240,248,240,248,120, + 48,120,48,108,48,108,48,102,48,102,48,99,48,99,48,97, + 176,97,176,96,240,248,240,248,112,13,20,40,15,1,0,28, + 0,14,0,7,0,3,128,0,0,15,128,63,224,112,112,96, + 48,224,56,192,24,192,24,192,24,192,24,192,24,224,56,96, + 48,112,112,63,224,15,128,13,20,40,15,1,0,0,224,1, + 192,3,128,7,0,0,0,15,128,63,224,112,112,96,48,224, + 56,192,24,192,24,192,24,192,24,192,24,224,56,96,48,112, + 112,63,224,15,128,13,21,42,15,1,0,3,0,7,128,15, + 192,28,224,56,112,0,0,15,128,63,224,112,112,96,48,224, + 56,192,24,192,24,192,24,192,24,192,24,224,56,96,48,112, + 112,63,224,15,128,13,19,38,15,1,0,14,96,31,192,51, + 128,0,0,15,128,63,224,112,112,96,48,224,56,192,24,192, + 24,192,24,192,24,192,24,224,56,96,48,112,112,63,224,15, + 128,13,19,38,15,1,0,24,192,24,192,24,192,0,0,15, + 128,63,224,112,112,96,48,224,56,192,24,192,24,192,24,192, + 24,192,24,224,56,96,48,112,112,63,224,15,128,12,12,24, + 15,1,1,64,32,224,112,112,224,57,192,31,128,15,0,15, + 0,31,128,57,192,112,224,224,112,64,32,13,18,36,15,1, + 255,0,24,0,48,15,224,63,224,112,112,96,240,225,184,193, + 24,195,24,198,24,196,24,204,24,232,56,120,48,112,112,63, + 224,111,128,192,0,13,20,40,15,1,0,56,0,28,0,14, + 0,7,0,0,0,248,248,248,248,96,48,96,48,96,48,96, + 48,96,48,96,48,96,48,96,48,96,48,96,48,48,96,63, + 224,31,192,13,20,40,15,1,0,0,224,1,192,3,128,7, + 0,0,0,248,248,248,248,96,48,96,48,96,48,96,48,96, + 48,96,48,96,48,96,48,96,48,96,48,48,96,63,224,31, + 192,13,21,42,15,1,0,3,0,7,128,15,192,28,224,56, + 112,0,0,248,248,248,248,96,48,96,48,96,48,96,48,96, + 48,96,48,96,48,96,48,96,48,96,48,48,96,63,224,31, + 192,13,19,38,15,1,0,24,192,24,192,24,192,0,0,248, + 248,248,248,96,48,96,48,96,48,96,48,96,48,96,48,96, + 48,96,48,96,48,96,48,48,96,63,224,31,192,14,20,40, + 15,0,0,0,224,1,192,3,128,7,0,0,0,252,252,252, + 252,112,56,56,112,24,96,12,192,15,192,7,128,3,0,3, + 0,3,0,3,0,3,0,31,224,31,224,13,15,30,15,1, + 0,252,0,252,0,48,0,63,192,63,240,48,56,48,24,48, + 24,48,24,48,56,63,240,63,192,48,0,252,0,252,0,12, + 16,32,15,1,0,15,0,31,128,57,192,48,192,48,192,49, + 192,55,128,55,192,48,224,48,112,48,48,48,48,48,48,51, + 112,251,224,249,192,12,16,32,15,1,0,112,0,56,0,28, + 0,14,0,0,0,63,0,127,128,97,192,0,192,31,192,127, + 192,224,192,192,192,193,192,255,240,126,240,12,16,32,15,1, + 0,1,192,3,128,7,0,14,0,0,0,63,0,127,128,97, + 192,0,192,31,192,127,192,224,192,192,192,193,192,255,240,126, + 240,12,16,32,15,1,0,14,0,31,0,59,128,113,192,0, + 0,63,0,127,128,97,192,0,192,31,192,127,192,224,192,192, + 192,193,192,255,240,126,240,12,15,30,15,1,0,28,192,63, + 128,103,0,0,0,63,0,127,128,97,192,0,192,31,192,127, + 192,224,192,192,192,193,192,255,240,126,240,12,15,30,15,1, + 0,49,128,49,128,49,128,0,0,63,0,127,128,97,192,0, + 192,31,192,127,192,224,192,192,192,193,192,255,240,126,240,12, + 16,32,15,1,0,14,0,27,0,17,0,27,0,14,0,63, + 0,127,128,97,192,0,192,31,192,127,192,224,192,192,192,193, + 192,255,240,126,240,14,11,22,15,0,0,60,240,127,248,103, + 156,3,12,31,12,127,252,227,252,195,0,199,140,255,252,124, + 240,11,16,32,15,1,251,31,96,127,224,112,224,224,96,192, + 96,192,0,192,0,224,0,112,96,127,224,31,192,6,0,15, + 0,3,0,31,0,14,0,12,16,32,15,1,0,56,0,28, + 0,14,0,7,0,0,0,31,128,127,224,112,224,224,112,192, + 48,255,240,255,240,224,0,112,112,127,240,31,192,12,16,32, + 15,1,0,1,192,3,128,7,0,14,0,0,0,31,128,127, + 224,112,224,224,112,192,48,255,240,255,240,224,0,112,112,127, + 240,31,192,12,16,32,15,1,0,7,0,15,128,29,192,56, + 224,0,0,31,128,127,224,112,224,224,112,192,48,255,240,255, + 240,224,0,112,112,127,240,31,192,12,15,30,15,1,0,49, + 128,49,128,49,128,0,0,31,128,127,224,112,224,224,112,192, + 48,255,240,255,240,224,0,112,112,127,240,31,192,10,16,32, + 15,2,0,224,0,112,0,56,0,28,0,0,0,124,0,124, + 0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,255, + 192,255,192,10,16,32,15,2,0,3,128,7,0,14,0,28, + 0,0,0,124,0,124,0,12,0,12,0,12,0,12,0,12, + 0,12,0,12,0,255,192,255,192,10,16,32,15,2,0,28, + 0,62,0,119,0,227,128,0,0,124,0,124,0,12,0,12, + 0,12,0,12,0,12,0,12,0,12,0,255,192,255,192,10, + 15,30,15,2,0,99,0,99,0,99,0,0,0,124,0,124, + 0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,255, + 192,255,192,13,17,34,15,0,0,240,0,252,112,15,240,31, + 128,125,192,112,224,15,240,63,240,56,120,112,56,96,24,96, + 24,96,24,112,56,56,112,63,240,15,192,14,15,30,15,0, + 0,14,96,31,192,51,128,0,0,243,192,247,224,60,112,56, + 48,48,48,48,48,48,48,48,48,48,48,252,252,252,252,12, + 16,32,15,1,0,56,0,28,0,14,0,7,0,0,0,31, + 128,127,224,112,224,224,112,192,48,192,48,192,48,224,112,112, + 224,127,224,31,128,12,16,32,15,1,0,1,192,3,128,7, + 0,14,0,0,0,31,128,127,224,112,224,224,112,192,48,192, + 48,192,48,224,112,112,224,127,224,31,128,12,16,32,15,1, + 0,14,0,31,0,59,128,113,192,0,0,31,128,127,224,112, + 224,224,112,192,48,192,48,192,48,224,112,112,224,127,224,31, + 128,12,15,30,15,1,0,28,192,63,128,103,0,0,0,31, + 128,127,224,112,224,224,112,192,48,192,48,192,48,224,112,112, + 224,127,224,31,128,12,15,30,15,1,0,49,128,49,128,49, + 128,0,0,31,128,127,224,112,224,224,112,192,48,192,48,192, + 48,224,112,112,224,127,224,31,128,13,12,24,15,0,1,7, + 0,7,0,7,0,0,0,0,0,255,248,255,248,0,0,0, + 0,7,0,7,0,7,0,14,14,28,15,0,254,0,12,15, + 216,63,240,56,112,112,216,97,152,99,24,102,24,108,56,56, + 112,63,240,63,192,96,0,192,0,14,16,32,15,0,0,56, + 0,28,0,14,0,7,0,0,0,240,240,240,240,48,48,48, + 48,48,48,48,48,48,48,48,48,56,112,31,252,15,188,14, + 16,32,15,0,0,1,192,3,128,7,0,14,0,0,0,240, + 240,240,240,48,48,48,48,48,48,48,48,48,48,48,48,56, + 112,31,252,15,188,14,16,32,15,0,0,7,0,15,128,29, + 192,56,224,0,0,240,240,240,240,48,48,48,48,48,48,48, + 48,48,48,48,48,56,112,31,252,15,188,14,15,30,15,0, + 0,24,192,24,192,24,192,0,0,240,240,240,240,48,48,48, + 48,48,48,48,48,48,48,48,48,56,112,31,252,15,188,12, + 21,42,15,1,251,0,224,1,192,3,128,7,0,0,0,249, + 240,249,240,96,96,112,224,48,192,57,192,25,128,27,128,15, + 0,15,0,6,0,14,0,12,0,28,0,254,0,254,0,13, + 21,42,15,1,251,240,0,240,0,48,0,48,0,48,0,55, + 192,63,240,60,112,56,56,48,24,48,24,48,24,56,56,60, + 112,63,240,55,192,48,0,48,0,48,0,254,0,254,0,12, + 20,40,15,1,251,49,128,49,128,49,128,0,0,249,240,249, + 240,96,96,112,224,48,192,57,192,25,128,27,128,15,0,15, + 0,6,0,14,0,12,0,28,0,254,0,254,0}; +/* + Fontname: -Adobe-Courier-Bold-R-Normal--25-180-100-100-M-150-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 15, '1' Height: 16 + Calculated Max Values w=16 h=21 x= 6 y=11 dx=15 dy= 0 ascent=17 len=40 + Font Bounding box w=22 h=35 x=-4 y=-9 + Calculated Min Values x= 0 y=-5 dx= 0 dy= 0 + Pure Font ascent =15 descent=-5 + X Font ascent =16 descent=-5 + Max Font ascent =17 descent=-5 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_courB18r[3001] U8G_FONT_SECTION("u8g_font_courB18r") = { + 0,22,35,252,247,15,3,223,8,17,32,127,251,17,251,16, + 251,0,0,0,15,0,1,4,16,16,15,5,0,96,240,240, + 240,240,240,240,96,96,96,96,96,0,96,96,96,7,7,7, + 15,3,9,238,238,238,238,68,68,68,12,19,38,15,1,254, + 12,192,12,192,12,192,12,192,12,192,12,192,127,240,127,240, + 25,128,25,128,25,128,255,224,255,224,51,0,51,0,51,0, + 51,0,51,0,51,0,10,20,40,15,2,253,12,0,12,0, + 61,128,127,128,195,128,193,128,192,0,224,0,126,0,31,128, + 1,192,0,192,192,192,225,192,255,128,223,0,12,0,12,0, + 12,0,12,0,11,15,30,15,2,0,60,0,102,0,195,0, + 195,0,102,0,60,0,1,192,15,0,56,0,231,128,12,192, + 24,96,24,96,12,192,7,128,11,14,28,15,2,0,30,0, + 63,0,99,0,96,0,96,0,48,0,56,0,124,192,111,192, + 199,128,195,0,199,128,255,224,124,224,3,7,7,15,5,8, + 224,224,224,224,224,64,64,5,20,20,15,6,252,24,56,48, + 96,96,96,192,192,192,192,192,192,192,192,96,96,96,48,56, + 24,5,20,20,15,3,252,192,224,96,48,48,48,24,24,24, + 24,24,24,24,24,48,48,48,96,224,192,10,11,22,15,2, + 5,12,0,12,0,12,0,204,192,255,192,63,0,12,0,63, + 0,51,0,115,128,97,128,12,12,24,15,1,1,6,0,6, + 0,6,0,6,0,6,0,255,240,255,240,6,0,6,0,6, + 0,6,0,6,0,5,6,6,15,4,253,56,56,112,96,192, + 128,11,2,4,15,2,6,255,224,255,224,3,3,3,15,5, + 0,224,224,224,11,20,40,15,2,253,0,96,0,96,0,192, + 0,192,1,128,1,128,3,0,3,0,6,0,6,0,12,0, + 12,0,24,0,24,0,48,0,48,0,96,0,96,0,192,0, + 192,0,10,16,32,15,2,0,30,0,127,128,97,128,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,97,128,127,128,30,0,10,16,32,15,2,0,28,0, + 252,0,252,0,12,0,12,0,12,0,12,0,12,0,12,0, + 12,0,12,0,12,0,12,0,12,0,255,192,255,192,11,16, + 32,15,1,0,31,128,63,192,112,224,96,96,96,96,0,96, + 0,224,1,192,3,128,7,0,14,0,28,0,56,0,112,0, + 255,224,255,224,11,16,32,15,1,0,31,128,63,192,112,224, + 96,96,0,96,0,224,1,192,15,128,15,192,0,224,0,96, + 0,96,192,96,224,224,127,192,63,128,11,16,32,15,1,0, + 3,128,7,128,15,128,13,128,25,128,25,128,49,128,49,128, + 97,128,97,128,255,224,255,224,1,128,1,128,15,224,15,224, + 11,16,32,15,2,0,127,192,127,192,96,0,96,0,96,0, + 111,0,127,192,113,192,0,224,0,96,0,96,0,96,192,224, + 225,192,127,192,63,0,10,16,32,15,2,0,7,192,31,192, + 60,0,112,0,96,0,224,0,223,0,255,128,225,192,192,192, + 192,192,192,192,224,192,113,192,127,128,31,0,10,16,32,15, + 2,0,255,192,255,192,192,192,0,192,1,128,1,128,1,128, + 3,0,3,0,3,0,6,0,6,0,6,0,12,0,12,0, + 12,0,10,16,32,15,2,0,30,0,127,128,225,192,192,192, + 192,192,192,192,97,128,63,0,127,128,225,192,192,192,192,192, + 192,192,225,192,127,128,63,0,10,16,32,15,3,0,30,0, + 127,128,97,128,192,192,192,192,192,192,192,192,193,192,227,192, + 126,192,60,192,0,192,1,128,3,128,255,0,252,0,3,11, + 11,15,5,0,224,224,224,0,0,0,0,0,224,224,224,5, + 14,14,15,3,253,56,56,56,0,0,0,0,0,56,56,112, + 96,192,128,13,12,24,15,1,1,0,56,0,240,3,192,15, + 0,60,0,240,0,240,0,60,0,15,0,3,192,0,240,0, + 56,12,6,12,15,1,4,255,240,255,240,0,0,0,0,255, + 240,255,240,13,12,24,15,1,1,224,0,120,0,30,0,7, + 128,1,224,0,120,0,120,1,224,7,128,30,0,120,0,224, + 0,9,15,30,15,3,0,126,0,255,0,195,128,193,128,193, + 128,1,128,3,128,15,0,28,0,24,0,24,0,0,0,24, + 0,24,0,24,0,10,18,36,15,2,254,28,0,127,0,99, + 0,193,128,193,128,199,128,207,128,221,128,217,128,217,128,221, + 128,207,192,199,192,192,0,192,0,97,128,127,128,30,0,14, + 15,30,15,0,0,63,0,63,0,7,128,7,128,12,192,12, + 192,28,224,24,96,24,96,63,240,63,240,112,56,96,24,252, + 252,252,252,13,15,30,15,1,0,255,192,255,224,48,112,48, + 48,48,48,48,112,63,224,63,240,48,56,48,24,48,24,48, + 24,48,56,255,240,255,224,12,15,30,15,1,0,15,176,63, + 240,112,112,96,48,224,48,192,0,192,0,192,0,192,0,192, + 0,224,0,96,0,112,48,63,240,15,192,14,15,30,15,0, + 0,255,192,255,240,48,56,48,24,48,28,48,12,48,12,48, + 12,48,12,48,12,48,12,48,24,48,56,255,240,255,224,13, + 15,30,15,1,0,255,240,255,240,48,48,48,48,49,176,49, + 128,63,128,63,128,49,128,49,128,48,24,48,24,48,24,255, + 248,255,248,13,15,30,15,1,0,255,248,255,248,48,24,48, + 24,49,152,49,128,63,128,63,128,49,128,49,128,48,0,48, + 0,48,0,255,0,255,0,13,15,30,15,1,0,15,216,63, + 248,112,56,96,24,224,24,192,0,192,0,192,0,193,248,193, + 248,224,24,96,24,112,56,63,240,15,192,14,15,30,15,0, + 0,252,252,252,252,48,48,48,48,48,48,48,48,63,240,63, + 240,48,48,48,48,48,48,48,48,48,48,252,252,252,252,10, + 15,30,15,2,0,255,192,255,192,12,0,12,0,12,0,12, + 0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,255, + 192,255,192,13,15,30,15,1,0,31,248,31,248,0,192,0, + 192,0,192,0,192,0,192,0,192,0,192,192,192,192,192,192, + 192,225,192,127,128,63,0,14,15,30,15,0,0,252,248,252, + 248,48,224,49,192,51,128,55,0,62,0,63,0,59,128,49, + 192,48,224,48,96,48,112,252,60,252,60,12,15,30,15,1, + 0,255,0,255,0,24,0,24,0,24,0,24,0,24,0,24, + 0,24,0,24,0,24,48,24,48,24,48,255,240,255,240,14, + 15,30,15,0,0,240,60,240,60,120,120,120,120,108,216,108, + 216,108,216,103,152,99,24,99,24,96,24,96,24,96,24,248, + 124,248,124,13,15,30,15,1,0,240,248,240,248,120,48,120, + 48,108,48,108,48,102,48,102,48,99,48,99,48,97,176,97, + 176,96,240,248,240,248,112,13,15,30,15,1,0,15,128,63, + 224,112,112,96,48,224,56,192,24,192,24,192,24,192,24,192, + 24,224,56,96,48,112,112,63,224,15,128,13,15,30,15,1, + 0,255,192,255,240,48,56,48,24,48,24,48,24,48,24,48, + 56,63,240,63,192,48,0,48,0,48,0,255,0,255,0,13, + 18,36,15,1,253,15,128,63,224,112,112,96,48,224,56,192, + 24,192,24,192,24,192,24,192,24,224,56,96,48,112,112,63, + 224,15,128,14,24,63,248,57,224,14,15,30,15,0,0,255, + 128,255,224,48,112,48,48,48,48,48,48,48,112,63,224,63, + 128,49,192,48,224,48,96,48,112,252,60,252,60,12,15,30, + 15,1,0,31,176,63,240,112,112,96,48,96,48,112,0,62, + 0,31,192,3,224,0,112,192,48,192,48,224,112,255,224,223, + 192,12,15,30,15,1,0,255,240,255,240,198,48,198,48,198, + 48,198,48,6,0,6,0,6,0,6,0,6,0,6,0,6, + 0,63,192,63,192,13,15,30,15,1,0,248,248,248,248,96, + 48,96,48,96,48,96,48,96,48,96,48,96,48,96,48,96, + 48,96,48,48,96,63,224,31,192,14,15,30,15,0,0,248, + 124,248,124,96,24,96,24,48,48,48,48,48,48,24,96,24, + 96,24,96,12,192,12,192,7,128,7,128,7,128,14,15,30, + 15,0,0,248,124,248,124,96,24,99,24,99,24,103,152,103, + 152,111,216,108,216,108,216,60,240,56,112,56,112,56,112,56, + 112,14,15,30,15,0,0,252,252,252,252,112,56,56,112,28, + 224,15,192,7,128,3,0,7,128,12,192,28,224,56,112,112, + 56,252,252,252,252,14,15,30,15,0,0,252,252,252,252,112, + 56,56,112,24,96,12,192,15,192,7,128,3,0,3,0,3, + 0,3,0,3,0,31,224,31,224,11,15,30,15,2,0,255, + 224,255,224,192,224,193,192,195,128,3,0,7,0,14,0,28, + 0,24,0,56,96,112,96,224,96,255,224,255,224,5,20,20, + 15,6,252,248,248,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,248,248,11,20,40,15,2,253,192,0,192, + 0,96,0,96,0,48,0,48,0,24,0,24,0,12,0,12, + 0,6,0,6,0,3,0,3,0,1,128,1,128,0,192,0, + 192,0,96,0,96,5,20,20,15,3,252,248,248,24,24,24, + 24,24,24,24,24,24,24,24,24,24,24,24,24,248,248,8, + 8,8,15,3,8,24,24,60,60,102,102,195,195,15,2,4, + 15,0,252,255,254,255,254,5,4,4,15,4,11,192,96,48, + 24,12,11,22,15,1,0,63,0,127,128,97,192,0,192,31, + 192,127,192,224,192,192,192,193,192,255,240,126,240,13,16,32, + 15,1,0,240,0,240,0,48,0,48,0,48,0,55,192,63, + 240,60,112,56,56,48,24,48,24,48,24,56,56,60,112,255, + 240,247,192,12,11,22,15,1,0,31,176,127,240,112,240,224, + 112,192,48,192,0,192,0,224,0,112,112,127,240,31,192,13, + 16,32,15,1,0,1,224,1,224,0,96,0,96,0,96,31, + 96,127,224,113,224,224,224,192,96,192,96,192,96,224,224,113, + 224,127,248,31,120,12,11,22,15,1,0,31,128,127,224,112, + 224,224,112,192,48,255,240,255,240,224,0,112,112,127,240,31, + 192,11,16,32,15,2,0,7,224,15,224,28,0,24,0,24, + 0,255,192,255,192,24,0,24,0,24,0,24,0,24,0,24, + 0,24,0,255,192,255,192,13,16,32,15,1,251,31,120,127, + 248,113,224,224,224,192,96,192,96,192,96,224,224,113,224,127, + 224,31,96,0,96,0,96,0,224,63,192,63,128,14,16,32, + 15,0,0,240,0,240,0,48,0,48,0,48,0,55,192,63, + 224,60,112,56,48,48,48,48,48,48,48,48,48,48,48,252, + 252,252,252,10,16,32,15,2,0,28,0,28,0,28,0,0, + 0,0,0,124,0,124,0,12,0,12,0,12,0,12,0,12, + 0,12,0,12,0,255,192,255,192,8,21,21,15,2,251,14, + 14,14,0,0,255,255,3,3,3,3,3,3,3,3,3,3, + 3,7,254,252,13,16,32,15,1,0,240,0,240,0,48,0, + 48,0,48,0,49,224,49,224,51,128,55,0,62,0,62,0, + 55,0,51,128,49,192,241,248,241,248,10,16,32,15,2,0, + 124,0,124,0,12,0,12,0,12,0,12,0,12,0,12,0, + 12,0,12,0,12,0,12,0,12,0,12,0,255,192,255,192, + 16,11,22,15,0,0,239,120,255,252,57,204,49,140,49,140, + 49,140,49,140,49,140,49,140,249,239,249,239,14,11,22,15, + 0,0,243,192,247,224,60,112,56,48,48,48,48,48,48,48, + 48,48,48,48,252,252,252,252,12,11,22,15,1,0,31,128, + 127,224,112,224,224,112,192,48,192,48,192,48,224,112,112,224, + 127,224,31,128,13,16,32,15,0,251,247,192,255,240,60,112, + 56,56,48,24,48,24,48,24,56,56,60,112,63,240,55,192, + 48,0,48,0,48,0,254,0,254,0,13,16,32,15,1,251, + 31,120,127,248,113,224,224,224,192,96,192,96,192,96,224,224, + 113,224,127,224,31,96,0,96,0,96,0,96,3,248,3,248, + 12,11,22,15,1,0,121,224,127,240,30,48,28,0,24,0, + 24,0,24,0,24,0,24,0,255,192,255,192,11,11,22,15, + 2,0,62,192,127,192,225,192,224,192,124,0,31,0,7,192, + 192,224,224,224,255,192,223,128,11,15,30,15,1,0,48,0, + 48,0,48,0,48,0,255,192,255,192,48,0,48,0,48,0, + 48,0,48,0,48,0,56,224,31,224,15,128,14,11,22,15, + 0,0,240,240,240,240,48,48,48,48,48,48,48,48,48,48, + 48,48,56,112,31,252,15,188,14,11,22,15,0,0,252,252, + 252,252,48,48,48,48,24,96,24,96,12,192,12,192,7,128, + 7,128,3,0,14,11,22,15,0,0,248,124,248,124,99,24, + 99,24,51,48,55,176,55,176,60,240,28,224,24,96,24,96, + 12,11,22,15,1,0,249,240,249,240,48,192,25,128,15,0, + 6,0,15,0,25,128,48,192,249,240,249,240,12,16,32,15, + 1,251,249,240,249,240,96,96,112,224,48,192,57,192,25,128, + 27,128,15,0,15,0,6,0,14,0,12,0,28,0,254,0, + 254,0,10,11,22,15,2,0,255,192,255,192,195,128,199,0, + 14,0,28,0,56,0,112,192,224,192,255,192,255,192,7,20, + 20,15,4,252,14,24,48,48,48,48,48,48,112,224,112,48, + 48,48,48,48,48,48,24,14,2,18,18,15,6,254,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 7,20,20,15,3,252,224,48,24,24,24,24,24,24,28,14, + 28,24,24,24,24,24,24,24,48,224,12,4,8,15,1,5, + 60,48,126,112,231,224,195,192,255}; +/* + Fontname: -Adobe-Courier-Bold-R-Normal--34-240-100-100-M-200-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 20, '1' Height: 21 + Calculated Max Values w=21 h=29 x= 8 y=17 dx=20 dy= 0 ascent=26 len=87 + Font Bounding box w=30 h=44 x=-7 y=-11 + Calculated Min Values x=-1 y=-7 dx= 0 dy= 0 + Pure Font ascent =20 descent=-7 + X Font ascent =21 descent=-7 + Max Font ascent =26 descent=-7 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_courB24[10502] U8G_FONT_SECTION("u8g_font_courB24") = { + 0,30,44,249,245,20,5,57,12,115,32,255,249,26,249,21, + 249,0,0,0,20,0,1,5,21,21,20,7,0,112,248,248, + 248,248,248,112,112,112,112,112,112,112,112,112,32,0,0,112, + 248,112,9,10,20,20,5,10,227,128,227,128,227,128,227,128, + 227,128,227,128,227,128,227,128,227,128,65,0,15,26,52,20, + 2,253,14,56,14,56,14,56,14,56,14,56,14,56,14,56, + 14,56,127,254,127,254,127,254,28,112,28,112,28,112,28,112, + 255,252,255,252,255,252,56,224,56,224,56,224,56,224,56,224, + 56,224,56,224,56,224,14,27,54,20,3,252,7,0,7,0, + 7,0,15,216,63,248,127,248,240,120,224,56,224,56,240,0, + 254,0,127,192,63,240,7,248,0,252,0,60,224,28,224,28, + 240,60,255,248,255,240,231,128,7,0,7,0,7,0,7,0, + 7,0,15,21,42,20,2,0,31,0,63,128,49,128,96,192, + 96,192,96,192,113,194,63,142,31,62,0,248,3,224,31,0, + 252,248,241,252,195,142,3,6,3,6,3,6,1,140,1,252, + 0,248,14,18,36,20,2,0,7,160,31,224,63,224,60,96, + 56,0,56,0,60,0,28,0,30,0,127,60,127,188,243,188, + 225,240,224,240,224,240,255,252,127,188,63,60,4,11,11,20, + 8,10,112,112,112,112,112,224,224,224,224,224,224,7,26,26, + 20,8,251,14,14,30,60,56,56,120,112,112,240,240,240,224, + 224,240,240,240,112,112,120,56,60,28,30,14,14,7,26,26, + 20,4,251,224,224,240,120,56,56,60,28,28,30,30,30,14, + 14,30,30,30,28,28,60,56,120,112,240,224,224,15,14,28, + 20,3,7,3,128,3,128,3,128,3,128,99,140,251,190,127, + 252,31,240,15,224,15,224,30,240,60,120,120,60,48,24,17, + 17,51,20,1,1,1,192,0,1,192,0,1,192,0,1,192, + 0,1,192,0,1,192,0,1,192,0,255,255,128,255,255,128, + 255,255,128,1,192,0,1,192,0,1,192,0,1,192,0,1, + 192,0,1,192,0,1,192,0,7,10,10,20,5,251,30,30, + 60,60,56,112,112,224,224,192,15,3,6,20,2,8,255,254, + 255,254,255,254,5,4,4,20,7,0,112,248,248,112,13,27, + 54,20,3,252,0,56,0,56,0,120,0,112,0,112,0,224, + 0,224,1,224,1,192,1,192,3,128,3,128,7,128,7,0, + 15,0,14,0,14,0,28,0,28,0,60,0,56,0,56,0, + 112,0,112,0,240,0,224,0,224,0,13,21,42,20,3,0, + 15,128,63,224,127,240,112,112,240,120,224,56,224,56,224,56, + 224,56,224,56,224,56,224,56,224,56,224,56,224,56,224,56, + 240,120,112,112,127,240,63,224,15,128,13,21,42,20,4,0, + 3,0,15,0,127,0,255,0,255,0,103,0,7,0,7,0, + 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, + 7,0,7,0,255,248,255,248,255,248,14,21,42,20,2,0, + 7,192,31,240,63,248,120,60,112,28,112,28,112,28,0,28, + 0,56,0,120,0,240,1,224,3,192,7,128,15,0,30,0, + 60,0,120,0,255,252,255,252,255,252,15,21,42,20,2,0, + 7,224,31,240,127,248,120,60,112,28,0,28,0,28,0,60, + 7,248,7,240,7,248,0,124,0,28,0,14,0,14,0,14, + 0,30,224,60,255,252,255,248,63,224,14,21,42,20,2,0, + 0,240,1,240,1,240,3,240,7,240,7,112,15,112,14,112, + 30,112,28,112,56,112,120,112,112,112,255,252,255,252,255,252, + 0,112,0,112,3,252,3,252,3,252,15,21,42,20,2,0, + 63,252,63,252,63,252,56,0,56,0,56,0,56,0,63,224, + 63,248,63,252,56,124,0,30,0,14,0,14,0,14,0,14, + 64,30,240,60,255,248,127,248,31,224,14,21,42,20,3,0, + 1,248,7,248,15,248,31,0,60,0,120,0,112,0,112,0, + 227,192,239,240,255,240,248,120,240,60,224,28,224,28,240,28, + 112,60,120,120,127,248,63,240,15,192,14,21,42,20,2,0, + 255,252,255,252,255,252,224,60,224,56,224,56,0,56,0,120, + 0,112,0,112,0,240,0,224,0,224,1,224,1,192,1,192, + 3,192,3,128,7,128,7,0,7,0,14,21,42,20,3,0, + 15,128,63,224,127,240,112,112,224,56,224,56,224,56,112,112, + 127,240,63,224,63,240,124,248,240,60,224,28,224,28,224,28, + 224,28,248,124,127,248,63,240,15,192,14,21,42,20,3,0, + 15,128,63,224,127,240,120,240,240,120,224,56,224,60,224,60, + 224,60,240,124,120,252,63,220,63,156,15,60,0,56,0,120, + 0,112,97,240,255,224,255,128,126,0,5,15,15,20,7,0, + 112,248,248,112,0,0,0,0,0,0,0,112,248,248,112,8, + 19,19,20,5,252,14,31,31,14,0,0,0,0,0,0,30, + 30,60,56,120,112,224,224,192,18,19,57,20,0,0,0,1, + 192,0,3,192,0,15,192,0,63,128,0,254,0,1,248,0, + 7,224,0,31,128,0,127,0,0,252,0,0,127,0,0,31, + 128,0,7,224,0,1,248,0,0,254,0,0,63,128,0,15, + 192,0,3,192,0,1,192,17,9,27,20,1,5,255,255,128, + 255,255,128,255,255,128,0,0,0,0,0,0,0,0,0,255, + 255,128,255,255,128,255,255,128,18,19,57,20,1,0,224,0, + 0,240,0,0,252,0,0,127,0,0,31,192,0,7,224,0, + 1,248,0,0,126,0,0,63,128,0,15,192,0,63,128,0, + 126,0,1,248,0,7,224,0,31,192,0,127,0,0,252,0, + 0,240,0,0,224,0,0,13,20,40,20,3,0,31,192,127, + 224,255,240,224,248,224,56,224,56,0,56,0,120,0,240,3, + 240,7,192,7,128,7,0,7,0,0,0,0,0,0,0,7, + 0,15,128,7,0,14,23,46,20,3,254,15,192,31,224,56, + 112,112,48,96,48,224,48,192,48,193,240,199,240,198,48,204, + 48,204,48,204,48,206,48,199,252,195,188,192,0,224,0,96, + 0,112,48,56,112,31,224,15,192,21,20,60,20,255,0,31, + 240,0,31,248,0,31,248,0,1,220,0,1,220,0,1,220, + 0,3,142,0,3,142,0,3,142,0,7,7,0,7,7,0, + 7,7,0,15,255,128,15,255,128,31,255,192,28,1,192,28, + 1,192,255,143,248,255,143,248,255,143,248,18,20,60,20,1, + 0,255,248,0,255,254,0,255,255,0,28,7,128,28,3,128, + 28,3,128,28,3,128,28,7,128,31,255,0,31,252,0,31, + 254,0,28,15,128,28,3,192,28,1,192,28,1,192,28,1, + 192,28,3,192,255,255,128,255,255,0,255,252,0,18,20,60, + 20,1,0,3,249,128,15,255,128,31,255,128,62,15,128,120, + 7,128,112,3,128,240,3,128,224,0,0,224,0,0,224,0, + 0,224,0,0,224,0,0,224,0,0,224,0,0,240,0,0, + 120,3,128,124,7,192,63,255,128,31,255,0,7,252,0,17, + 20,60,20,1,0,255,224,0,255,248,0,255,252,0,56,62, + 0,56,15,0,56,7,0,56,7,128,56,3,128,56,3,128, + 56,3,128,56,3,128,56,3,128,56,3,128,56,3,128,56, + 7,128,56,7,0,56,31,0,255,254,0,255,252,0,255,240, + 0,17,20,60,20,1,0,255,255,0,255,255,0,255,255,0, + 28,7,0,28,7,0,28,7,0,28,119,0,28,112,0,31, + 240,0,31,240,0,31,240,0,28,112,0,28,112,0,28,3, + 128,28,3,128,28,3,128,28,3,128,255,255,128,255,255,128, + 255,255,128,17,20,60,20,1,0,255,255,128,255,255,128,255, + 255,128,28,3,128,28,3,128,28,3,128,28,115,128,28,112, + 0,31,240,0,31,240,0,31,240,0,28,112,0,28,112,0, + 28,0,0,28,0,0,28,0,0,28,0,0,255,224,0,255, + 224,0,255,224,0,17,20,60,20,2,0,3,243,0,15,255, + 0,31,255,0,60,15,0,120,7,0,112,7,0,240,7,0, + 224,0,0,224,0,0,224,0,0,224,0,0,224,255,128,224, + 255,128,224,255,128,240,7,0,112,7,0,124,15,0,63,255, + 0,31,254,0,7,248,0,17,20,60,20,1,0,255,127,128, + 255,127,128,255,127,128,56,14,0,56,14,0,56,14,0,56, + 14,0,56,14,0,63,254,0,63,254,0,63,254,0,56,14, + 0,56,14,0,56,14,0,56,14,0,56,14,0,56,14,0, + 255,127,128,255,127,128,255,127,128,13,20,40,20,3,0,255, + 248,255,248,255,248,7,0,7,0,7,0,7,0,7,0,7, + 0,7,0,7,0,7,0,7,0,7,0,7,0,7,0,7, + 0,255,248,255,248,255,248,17,20,60,20,2,0,7,255,128, + 7,255,128,7,255,128,0,56,0,0,56,0,0,56,0,0, + 56,0,0,56,0,0,56,0,0,56,0,224,56,0,224,56, + 0,224,56,0,224,56,0,224,56,0,224,120,0,240,240,0, + 255,240,0,127,224,0,31,128,0,19,20,60,20,1,0,255, + 159,192,255,159,192,255,159,192,28,15,0,28,30,0,28,60, + 0,28,120,0,28,240,0,31,224,0,31,240,0,31,248,0, + 30,124,0,28,60,0,28,30,0,28,14,0,28,15,0,28, + 7,0,255,135,224,255,135,224,255,135,224,17,20,60,20,1, + 0,255,224,0,255,224,0,255,224,0,14,0,0,14,0,0, + 14,0,0,14,0,0,14,0,0,14,0,0,14,0,0,14, + 0,0,14,3,128,14,3,128,14,3,128,14,3,128,14,3, + 128,14,3,128,255,255,128,255,255,128,255,255,128,21,20,60, + 20,255,0,252,1,248,252,1,248,254,3,248,62,3,224,63, + 7,224,63,7,224,59,142,224,59,142,224,59,222,224,57,220, + 224,57,220,224,56,248,224,56,248,224,56,248,224,56,112,224, + 56,112,224,56,0,224,255,7,248,255,7,248,255,7,248,19, + 20,60,20,0,0,248,31,224,252,31,224,254,31,224,62,3, + 128,63,3,128,63,3,128,59,131,128,59,195,128,57,195,128, + 57,227,128,56,243,128,56,115,128,56,123,128,56,59,128,56, + 31,128,56,31,128,56,15,128,255,7,128,255,7,128,255,3, + 128,18,20,60,20,1,0,3,240,0,15,252,0,31,254,0, + 60,15,0,120,7,128,112,3,128,240,3,192,224,1,192,224, + 1,192,224,1,192,224,1,192,224,1,192,224,1,192,240,3, + 192,112,3,128,120,7,128,60,15,0,31,254,0,15,252,0, + 3,240,0,17,20,60,20,1,0,255,248,0,255,254,0,255, + 255,0,28,15,0,28,3,128,28,3,128,28,3,128,28,3, + 128,28,7,128,28,15,0,31,254,0,31,252,0,31,240,0, + 28,0,0,28,0,0,28,0,0,28,0,0,255,224,0,255, + 224,0,255,224,0,18,25,75,20,1,251,3,240,0,15,248, + 0,31,254,0,60,15,0,120,7,128,112,3,128,240,3,192, + 224,1,192,224,1,192,224,1,192,224,1,192,224,1,192,224, + 1,192,224,1,192,112,3,128,120,7,128,60,15,0,31,254, + 0,15,252,0,7,240,0,14,0,0,31,225,192,63,255,192, + 63,255,192,56,63,0,20,20,60,20,1,0,255,248,0,255, + 254,0,255,255,0,28,15,0,28,7,128,28,3,128,28,3, + 128,28,7,128,28,15,0,31,254,0,31,252,0,31,248,0, + 28,60,0,28,30,0,28,15,0,28,7,128,28,3,192,255, + 131,240,255,129,240,255,129,240,15,20,40,20,2,0,15,204, + 63,252,127,252,240,124,224,28,224,28,240,28,248,0,127,0, + 63,224,15,248,1,252,0,62,224,30,224,14,224,14,240,30, + 255,252,255,248,231,224,17,20,60,20,1,0,255,255,128,255, + 255,128,255,255,128,225,195,128,225,195,128,225,195,128,225,195, + 128,225,195,128,225,195,128,1,192,0,1,192,0,1,192,0, + 1,192,0,1,192,0,1,192,0,1,192,0,1,192,0,63, + 254,0,63,254,0,63,254,0,19,20,60,20,0,0,255,31, + 224,255,31,224,255,31,224,56,3,128,56,3,128,56,3,128, + 56,3,128,56,3,128,56,3,128,56,3,128,56,3,128,56, + 3,128,56,3,128,56,3,128,56,3,128,28,7,0,31,31, + 0,15,254,0,7,252,0,1,240,0,21,20,60,20,255,0, + 255,143,248,255,143,248,255,143,248,28,1,192,28,1,192,30, + 3,192,14,3,128,14,3,128,7,7,0,7,7,0,7,143, + 0,3,142,0,3,142,0,3,222,0,1,220,0,1,220,0, + 0,248,0,0,248,0,0,248,0,0,112,0,19,20,60,20, + 0,0,255,31,224,255,31,224,255,31,224,112,1,192,112,1, + 192,112,225,192,112,225,192,113,241,192,57,243,128,57,243,128, + 59,187,128,59,187,128,59,187,128,63,31,128,63,31,128,30, + 15,0,30,15,0,30,15,0,28,7,0,28,7,0,19,20, + 60,20,0,0,255,31,224,255,31,224,255,31,224,60,7,128, + 30,15,0,15,30,0,7,188,0,3,248,0,1,240,0,0, + 224,0,1,240,0,3,248,0,7,188,0,15,30,0,14,14, + 0,30,15,0,60,7,128,255,31,224,255,31,224,255,31,224, + 19,20,60,20,0,0,255,31,224,255,31,224,255,31,224,60, + 7,128,14,14,0,15,30,0,7,28,0,7,188,0,3,248, + 0,1,240,0,1,240,0,0,224,0,0,224,0,0,224,0, + 0,224,0,0,224,0,0,224,0,15,254,0,15,254,0,15, + 254,0,15,20,40,20,2,0,127,252,127,252,127,252,112,60, + 112,56,112,120,112,240,113,224,1,192,3,192,7,128,15,0, + 14,14,30,14,60,14,120,14,112,14,255,254,255,254,255,254, + 7,26,26,20,8,251,254,254,254,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,254,254,254, + 13,27,54,20,3,252,224,0,224,0,240,0,112,0,112,0, + 56,0,56,0,60,0,28,0,28,0,14,0,14,0,15,0, + 7,0,7,128,3,128,3,128,1,192,1,192,1,224,0,224, + 0,224,0,112,0,112,0,120,0,56,0,56,7,26,26,20, + 4,251,254,254,254,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,254,254,254,13,11,22,20, + 3,11,2,0,7,0,7,0,15,128,31,192,61,224,56,224, + 120,240,240,120,224,56,224,56,20,3,9,20,0,249,255,255, + 240,255,255,240,255,255,240,6,6,6,20,6,16,192,224,112, + 56,28,12,16,15,30,20,2,0,31,224,127,248,127,252,112, + 60,0,28,0,28,15,252,127,252,127,252,240,28,224,28,224, + 124,255,255,127,223,63,159,19,21,63,20,0,0,252,0,0, + 252,0,0,252,0,0,28,0,0,28,0,0,28,0,0,28, + 124,0,29,255,0,31,255,128,31,135,192,30,1,192,30,1, + 224,28,0,224,28,0,224,28,0,224,28,0,224,30,1,192, + 31,3,192,255,255,128,255,255,0,252,254,0,16,15,30,20, + 2,0,7,230,31,254,63,254,124,62,112,14,224,14,224,14, + 224,0,224,0,224,0,240,6,120,15,127,254,63,252,15,240, + 19,21,63,20,1,0,0,63,0,0,63,0,0,63,0,0, + 7,0,0,7,0,0,7,0,7,231,0,31,255,0,63,255, + 0,124,63,0,112,15,0,240,15,0,224,7,0,224,7,0, + 224,7,0,224,7,0,112,15,0,124,63,0,63,255,224,31, + 247,224,7,231,224,18,15,45,20,1,0,3,240,0,15,252, + 0,31,254,0,62,31,0,120,7,128,112,3,128,255,255,128, + 255,255,128,255,255,128,240,0,0,120,0,0,126,3,128,63, + 255,192,31,255,128,7,254,0,16,21,42,20,3,0,1,255, + 7,255,7,255,15,0,14,0,14,0,255,252,255,252,255,252, + 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, + 14,0,255,252,255,252,255,252,18,22,66,20,1,249,7,207, + 192,31,255,192,63,255,192,124,126,0,112,30,0,240,30,0, + 224,14,0,224,14,0,224,14,0,240,30,0,112,30,0,120, + 126,0,63,254,0,31,238,0,15,206,0,0,14,0,0,14, + 0,0,30,0,0,60,0,31,252,0,31,248,0,31,224,0, + 18,21,63,20,1,0,252,0,0,252,0,0,252,0,0,28, + 0,0,28,0,0,28,0,0,28,248,0,29,252,0,31,254, + 0,31,15,0,30,7,0,28,7,0,28,7,0,28,7,0, + 28,7,0,28,7,0,28,7,0,28,7,0,127,31,192,127, + 31,192,127,31,192,15,21,42,20,3,0,7,128,7,128,7, + 128,7,128,0,0,0,0,127,128,127,128,127,128,3,128,3, + 128,3,128,3,128,3,128,3,128,3,128,3,128,3,128,255, + 254,255,254,255,254,12,28,56,20,3,249,3,192,3,192,3, + 192,3,192,0,0,0,0,255,240,255,240,255,240,0,112,0, + 112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0, + 112,0,112,0,112,0,112,0,112,0,112,0,240,255,224,255, + 192,255,128,17,21,63,20,1,0,252,0,0,252,0,0,252, + 0,0,28,0,0,28,0,0,28,0,0,28,255,0,28,255, + 0,28,255,0,28,120,0,28,240,0,29,224,0,31,192,0, + 31,192,0,31,224,0,29,240,0,28,248,0,28,124,0,252, + 63,128,252,63,128,252,63,128,15,21,42,20,3,0,127,128, + 127,128,127,128,3,128,3,128,3,128,3,128,3,128,3,128, + 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, + 3,128,255,254,255,254,255,254,20,15,45,20,1,0,243,143, + 0,255,255,128,255,255,192,120,241,192,112,225,192,112,225,192, + 112,225,192,112,225,192,112,225,192,112,225,192,112,225,192,112, + 225,192,252,249,240,252,249,240,252,249,240,17,15,45,20,2, + 0,249,240,0,251,248,0,255,252,0,62,30,0,60,14,0, + 56,14,0,56,14,0,56,14,0,56,14,0,56,14,0,56, + 14,0,56,14,0,254,63,128,254,63,128,254,63,128,17,15, + 45,20,2,0,7,240,0,31,252,0,63,254,0,120,15,0, + 112,7,0,240,7,128,224,3,128,224,3,128,224,3,128,240, + 7,128,112,7,0,120,15,0,63,254,0,31,252,0,7,240, + 0,19,22,66,20,0,249,252,124,0,253,255,0,255,255,128, + 31,3,192,30,1,224,28,0,224,28,0,224,28,0,224,28, + 0,224,28,1,224,30,1,192,31,7,192,31,255,128,29,254, + 0,28,120,0,28,0,0,28,0,0,28,0,0,28,0,0, + 255,192,0,255,192,0,255,192,0,19,22,66,20,1,249,7, + 231,224,31,255,224,63,255,224,124,63,0,112,15,0,240,15, + 0,224,7,0,224,7,0,224,7,0,240,15,0,112,15,0, + 124,63,0,63,255,0,31,247,0,7,199,0,0,7,0,0, + 7,0,0,7,0,0,7,0,0,127,224,0,127,224,0,127, + 224,17,15,45,20,2,0,126,62,0,126,255,0,127,255,128, + 15,199,0,15,2,0,15,0,0,14,0,0,14,0,0,14, + 0,0,14,0,0,14,0,0,14,0,0,255,252,0,255,252, + 0,255,252,0,15,15,30,20,3,0,15,236,63,252,63,252, + 120,60,112,28,120,0,127,192,63,248,15,252,224,62,224,14, + 248,30,255,252,255,248,231,224,16,20,40,20,2,0,28,0, + 28,0,28,0,28,0,28,0,255,252,255,252,255,252,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,6,30,31, + 31,255,15,254,3,240,18,15,45,20,1,0,252,63,0,252, + 63,0,252,63,0,28,7,0,28,7,0,28,7,0,28,7, + 0,28,7,0,28,7,0,28,7,0,28,7,0,30,31,0, + 31,255,192,15,255,192,7,247,192,19,15,45,20,0,0,255, + 31,224,255,31,224,255,31,224,60,7,0,28,7,0,30,14, + 0,14,14,0,15,28,0,7,28,0,7,184,0,3,184,0, + 3,240,0,1,240,0,1,224,0,0,224,0,19,15,45,20, + 0,0,254,15,224,254,15,224,254,15,224,56,227,128,56,227, + 128,57,243,128,61,247,128,29,247,0,31,191,0,31,31,0, + 31,31,0,15,30,0,14,14,0,14,14,0,14,14,0,17, + 15,45,20,1,0,254,63,128,254,63,128,254,63,128,60,28, + 0,30,56,0,15,112,0,7,224,0,3,224,0,3,240,0, + 7,120,0,14,60,0,28,30,0,254,63,128,254,63,128,254, + 63,128,19,22,66,20,1,249,255,31,224,255,31,224,255,31, + 224,60,3,128,28,7,0,30,7,0,14,14,0,15,14,0, + 7,28,0,7,156,0,3,184,0,3,248,0,1,240,0,1, + 240,0,0,224,0,0,224,0,1,192,0,1,192,0,3,128, + 0,127,240,0,127,240,0,127,240,0,13,15,30,20,4,0, + 255,248,255,248,255,248,224,240,225,224,227,192,7,128,15,0, + 30,0,60,0,120,56,240,56,255,248,255,248,255,248,9,26, + 52,20,5,251,7,128,15,128,15,128,30,0,28,0,28,0, + 28,0,28,0,28,0,28,0,28,0,60,0,248,0,248,0, + 252,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,31,128,15,128,7,128,3,26,26,20,8,251,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,9,26,52,20,5,251,240,0, + 248,0,248,0,60,0,28,0,28,0,28,0,28,0,28,0, + 28,0,28,0,30,0,15,128,15,128,31,128,28,0,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,252,0,248,0, + 240,0,15,7,14,20,2,6,12,0,63,14,127,142,247,222, + 227,252,225,248,0,96,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, + 255,255,255,255,255,255,255,0,0,0,20,0,1,5,21,21, + 20,7,249,112,248,248,112,0,0,112,112,112,112,112,112,112, + 112,248,248,248,248,248,112,32,13,23,46,20,3,255,7,0, + 7,0,7,0,7,0,7,0,15,216,63,248,127,248,120,120, + 240,56,224,56,224,0,224,0,224,0,240,56,120,120,127,248, + 63,240,15,192,7,0,7,0,7,0,7,0,16,20,40,20, + 1,0,3,224,7,240,15,248,30,56,28,56,28,0,28,0, + 28,0,14,0,255,224,255,224,255,224,14,0,14,0,14,0, + 14,2,30,7,127,255,127,255,127,254,15,15,30,20,2,2, + 224,14,247,222,255,254,127,252,60,120,120,60,112,28,112,28, + 112,28,120,60,60,120,127,252,255,254,247,222,224,14,17,20, + 60,20,1,0,254,63,128,254,63,128,254,63,128,56,14,0, + 28,28,0,30,60,0,14,56,0,15,120,0,7,112,0,3, + 224,0,31,252,0,31,252,0,1,192,0,31,252,0,31,252, + 0,1,192,0,1,192,0,31,252,0,31,252,0,31,252,0, + 3,26,26,20,8,251,224,224,224,224,224,224,224,224,224,224, + 224,224,0,0,224,224,224,224,224,224,224,224,224,224,224,224, + 16,24,48,20,2,253,1,254,7,254,15,254,28,6,24,6, + 24,6,60,0,127,0,231,128,193,224,96,240,112,60,60,14, + 15,6,7,131,1,231,0,254,0,60,48,24,48,24,48,56, + 63,240,63,224,63,128,11,4,8,20,4,17,96,192,241,224, + 241,224,96,192,21,20,60,20,255,0,0,252,0,3,255,0, + 15,255,192,30,3,224,56,96,224,113,246,112,115,254,112,231, + 158,56,231,14,56,206,14,56,206,0,56,206,0,56,206,6, + 56,231,15,120,231,254,112,115,252,240,120,241,224,62,7,192, + 31,255,0,7,252,0,11,14,28,20,4,6,31,0,127,128, + 97,128,1,128,63,128,127,128,225,128,193,128,195,128,255,224, + 125,224,0,0,255,224,255,224,15,14,28,20,1,0,3,6, + 7,14,14,28,28,56,56,112,112,224,225,192,225,192,112,224, + 56,112,28,56,14,28,7,14,3,6,16,8,16,20,2,5, + 255,255,255,255,255,255,0,7,0,7,0,7,0,7,0,7, + 15,3,6,20,2,8,255,254,255,254,255,254,21,20,60,20, + 255,0,1,248,0,7,254,0,31,255,128,60,3,192,59,241, + 224,115,252,224,115,254,240,227,158,112,227,142,120,227,142,56, + 227,254,56,227,252,56,227,184,56,243,188,120,115,158,112,123, + 143,240,60,3,224,31,255,192,15,255,0,3,252,0,10,2, + 4,20,5,17,255,192,255,192,9,9,18,20,5,11,28,0, + 119,0,193,128,128,128,128,128,128,128,193,128,119,0,28,0, + 17,18,54,20,1,0,1,192,0,1,192,0,1,192,0,1, + 192,0,1,192,0,1,192,0,255,255,128,255,255,128,255,255, + 128,1,192,0,1,192,0,1,192,0,1,192,0,1,192,0, + 1,192,0,255,255,128,255,255,128,255,255,128,8,14,14,20, + 5,7,60,126,231,195,3,7,14,12,24,56,112,225,255,255, + 9,14,28,20,5,7,62,0,127,0,99,0,3,0,7,0, + 30,0,31,0,3,128,1,128,1,128,193,128,227,0,127,0, + 60,0,8,6,6,20,6,15,6,15,62,120,224,64,18,22, + 66,20,1,249,252,63,0,252,63,0,252,63,0,28,7,0, + 28,7,0,28,7,0,28,7,0,28,7,0,28,7,0,28, + 7,0,28,15,0,30,31,0,31,255,192,31,247,192,29,231, + 192,28,0,0,28,0,0,28,0,0,28,0,0,28,0,0, + 28,0,0,28,0,0,15,24,48,20,2,253,15,254,63,254, + 123,24,243,24,227,24,227,24,227,24,227,24,227,24,115,24, + 63,24,31,24,3,24,3,24,3,24,3,24,3,24,3,24, + 3,24,3,24,3,24,31,62,31,62,31,62,5,4,4,20, + 7,8,112,248,248,112,5,7,7,20,6,250,48,48,48,24, + 248,248,112,8,13,13,20,6,7,56,248,216,24,24,24,24, + 24,24,24,24,255,255,11,14,28,20,4,6,14,0,63,128, + 113,192,224,224,192,96,192,96,192,96,224,224,113,192,63,128, + 14,0,0,0,255,224,255,224,15,14,28,20,2,0,193,128, + 225,192,112,224,56,112,28,56,14,28,7,14,7,14,14,28, + 28,56,56,112,112,224,225,192,193,128,19,20,60,20,0,0, + 56,0,0,248,0,0,216,0,128,24,1,192,24,1,128,24, + 3,0,24,6,0,24,12,0,24,28,192,24,25,192,255,51, + 192,255,114,192,0,102,192,0,206,192,1,140,192,3,159,224, + 7,31,224,2,0,192,0,1,224,0,1,224,19,20,60,20, + 0,0,56,0,0,248,0,0,216,2,0,24,7,0,24,14, + 0,24,12,0,24,24,0,24,56,0,24,112,0,24,103,128, + 254,239,192,255,220,224,1,152,96,3,0,224,7,1,192,14, + 7,128,4,14,0,0,28,96,0,31,224,0,31,224,19,21, + 63,20,0,0,62,0,0,127,0,0,99,0,0,3,1,0, + 3,3,128,30,7,0,31,6,0,3,142,0,1,156,0,195, + 152,192,227,49,192,127,115,192,28,98,192,0,198,192,1,206, + 192,3,140,192,7,31,224,2,31,224,0,0,192,0,3,224, + 0,3,224,13,21,42,20,3,250,7,0,15,128,15,128,7, + 0,0,0,0,0,0,0,7,0,7,0,7,0,31,0,63, + 0,124,0,240,0,224,0,224,56,224,56,240,56,127,248,63, + 248,31,224,21,26,78,20,255,0,3,0,0,7,128,0,1, + 224,0,0,240,0,0,48,0,0,0,0,31,240,0,31,248, + 0,31,248,0,1,252,0,1,220,0,1,220,0,3,222,0, + 3,142,0,3,142,0,7,7,0,7,7,0,7,7,0,15, + 255,128,15,255,128,31,255,192,28,1,192,28,1,192,255,143, + 248,255,143,248,255,143,248,21,26,78,20,255,0,0,3,0, + 0,15,0,0,30,0,0,120,0,0,96,0,0,0,0,31, + 240,0,31,248,0,31,248,0,1,252,0,1,220,0,1,220, + 0,3,222,0,3,142,0,3,142,0,7,7,0,7,7,0, + 7,7,0,15,255,128,15,255,128,31,255,192,28,1,192,28, + 1,192,255,143,248,255,143,248,255,143,248,21,26,78,20,255, + 0,0,64,0,0,224,0,3,184,0,7,28,0,14,14,0, + 0,0,0,31,240,0,31,248,0,31,248,0,1,252,0,1, + 220,0,1,220,0,3,222,0,3,142,0,3,142,0,7,7, + 0,7,7,0,7,7,0,15,255,128,15,255,128,31,255,192, + 28,1,192,28,1,192,255,143,248,255,143,248,255,143,248,21, + 25,75,20,255,0,3,134,0,7,230,0,6,118,0,6,28, + 0,0,0,0,31,240,0,31,248,0,31,248,0,1,252,0, + 1,220,0,1,220,0,3,222,0,3,142,0,3,142,0,7, + 7,0,7,7,0,7,7,0,15,255,128,15,255,128,31,255, + 192,28,1,192,28,1,192,255,143,248,255,143,248,255,143,248, + 21,25,75,20,255,0,12,24,0,30,60,0,30,60,0,12, + 24,0,0,0,0,31,240,0,31,248,0,31,248,0,1,252, + 0,1,220,0,1,220,0,3,222,0,3,142,0,3,142,0, + 7,7,0,7,7,0,7,7,0,15,255,128,15,255,128,31, + 255,192,28,1,192,28,1,192,255,143,248,255,143,248,255,143, + 248,21,26,78,20,255,0,0,240,0,1,152,0,1,8,0, + 1,152,0,0,240,0,0,0,0,31,240,0,31,248,0,31, + 248,0,1,252,0,1,220,0,1,220,0,3,222,0,3,142, + 0,3,142,0,7,7,0,7,7,0,7,7,0,15,255,128, + 15,255,128,31,255,192,28,1,192,28,1,192,255,143,248,255, + 143,248,255,143,248,20,20,60,20,0,0,31,255,224,31,255, + 224,31,255,224,7,112,224,7,112,224,6,112,224,14,112,224, + 14,115,0,14,115,0,14,127,0,28,127,0,28,115,0,31, + 243,0,31,243,0,56,112,112,56,112,112,56,112,112,255,255, + 240,255,255,240,255,255,240,17,26,78,20,1,250,3,227,0, + 15,255,0,31,255,0,62,31,0,120,15,0,112,7,0,240, + 7,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, + 0,224,0,0,240,0,0,112,1,0,120,3,128,62,15,128, + 63,255,0,15,254,0,3,248,0,0,192,0,0,192,0,0, + 224,0,4,112,0,7,240,0,3,224,0,17,26,78,20,1, + 0,3,0,0,7,128,0,1,224,0,0,240,0,0,48,0, + 0,0,0,255,255,0,255,255,0,255,255,0,28,7,0,28, + 7,0,28,7,0,28,119,0,28,112,0,31,240,0,31,240, + 0,31,240,0,28,112,0,28,112,0,28,3,128,28,3,128, + 28,3,128,28,3,128,255,255,128,255,255,128,255,255,128,17, + 26,78,20,1,0,0,12,0,0,60,0,0,120,0,1,224, + 0,1,128,0,0,0,0,255,255,0,255,255,0,255,255,0, + 28,7,0,28,7,0,28,7,0,28,119,0,28,112,0,31, + 240,0,31,240,0,31,240,0,28,112,0,28,112,0,28,3, + 128,28,3,128,28,3,128,28,3,128,255,255,128,255,255,128, + 255,255,128,17,26,78,20,1,0,0,128,0,1,192,0,7, + 112,0,14,56,0,28,28,0,0,0,0,255,255,0,255,255, + 0,255,255,0,28,7,0,28,7,0,28,7,0,28,119,0, + 28,112,0,31,240,0,31,240,0,31,240,0,28,112,0,28, + 112,0,28,3,128,28,3,128,28,3,128,28,3,128,255,255, + 128,255,255,128,255,255,128,17,25,75,20,1,0,6,12,0, + 15,30,0,15,30,0,6,12,0,0,0,0,255,255,0,255, + 255,0,255,255,0,28,7,0,28,7,0,28,7,0,28,119, + 0,28,112,0,31,240,0,31,240,0,31,240,0,28,112,0, + 28,112,0,28,3,128,28,3,128,28,3,128,28,3,128,255, + 255,128,255,255,128,255,255,128,13,26,52,20,3,0,24,0, + 60,0,15,0,7,128,1,128,0,0,255,248,255,248,255,248, + 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, + 7,0,7,0,7,0,7,0,7,0,7,0,255,248,255,248, + 255,248,13,26,52,20,3,0,0,48,0,240,1,224,7,128, + 6,0,0,0,255,248,255,248,255,248,7,0,7,0,7,0, + 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, + 7,0,7,0,7,0,255,248,255,248,255,248,13,26,52,20, + 3,0,2,0,7,0,29,192,56,224,112,112,0,0,255,248, + 255,248,255,248,7,0,7,0,7,0,7,0,7,0,7,0, + 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, + 255,248,255,248,255,248,13,25,50,20,3,0,48,96,120,240, + 120,240,48,96,0,0,255,248,255,248,255,248,7,0,7,0, + 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, + 7,0,7,0,7,0,7,0,255,248,255,248,255,248,17,20, + 60,20,2,0,255,224,0,255,248,0,255,252,0,56,62,0, + 56,15,0,56,7,0,56,7,0,56,3,128,255,131,128,255, + 131,128,255,131,128,56,3,128,56,3,128,56,3,128,56,7, + 0,56,7,0,56,30,0,255,254,0,255,252,0,255,240,0, + 20,25,75,20,255,0,3,134,0,7,230,0,6,118,0,6, + 28,0,0,0,0,252,31,240,254,31,240,255,31,240,31,1, + 192,31,129,192,31,129,192,29,193,192,29,225,192,28,225,192, + 28,241,192,28,121,192,28,57,192,28,61,192,28,29,192,28, + 15,192,28,15,192,28,7,192,127,199,192,127,195,192,127,193, + 192,17,26,78,20,1,0,6,0,0,15,0,0,3,192,0, + 1,224,0,0,96,0,0,0,0,7,240,0,15,252,0,31, + 252,0,60,30,0,120,15,0,112,7,0,112,7,0,224,3, + 128,224,3,128,224,3,128,224,3,128,224,3,128,224,3,128, + 112,7,0,120,7,0,56,14,0,62,62,0,31,252,0,15, + 248,0,3,224,0,17,26,78,20,1,0,0,24,0,0,120, + 0,0,240,0,3,192,0,3,0,0,0,0,0,7,240,0, + 15,252,0,31,252,0,60,30,0,120,15,0,112,7,0,112, + 7,0,224,3,128,224,3,128,224,3,128,224,3,128,224,3, + 128,224,3,128,112,7,0,120,7,0,56,14,0,62,62,0, + 31,252,0,15,248,0,3,224,0,17,26,78,20,1,0,0, + 128,0,1,192,0,7,112,0,14,56,0,28,28,0,0,0, + 0,7,240,0,15,252,0,31,252,0,60,30,0,120,15,0, + 112,7,0,112,7,0,224,3,128,224,3,128,224,3,128,224, + 3,128,224,3,128,224,3,128,112,7,0,120,7,0,56,14, + 0,62,62,0,31,252,0,15,248,0,3,224,0,17,25,75, + 20,1,0,7,12,0,15,204,0,12,236,0,12,56,0,0, + 0,0,7,240,0,15,252,0,31,252,0,60,30,0,120,15, + 0,112,7,0,112,7,0,224,3,128,224,3,128,224,3,128, + 224,3,128,224,3,128,224,3,128,112,7,0,120,7,0,56, + 14,0,62,62,0,31,252,0,15,248,0,3,224,0,17,25, + 75,20,1,0,12,24,0,30,60,0,30,60,0,12,24,0, + 0,0,0,7,240,0,15,252,0,31,252,0,60,30,0,120, + 15,0,112,7,0,112,7,0,224,3,128,224,3,128,224,3, + 128,224,3,128,224,3,128,224,3,128,112,7,0,120,7,0, + 56,14,0,62,62,0,31,252,0,15,248,0,3,224,0,15, + 16,32,20,2,0,224,14,240,30,248,62,120,60,60,120,30, + 240,15,224,7,192,7,192,15,224,30,240,60,120,120,60,248, + 62,240,30,224,14,17,23,69,20,1,254,0,3,128,3,227, + 128,15,255,128,31,255,0,62,62,0,56,30,0,120,63,0, + 112,127,0,224,123,128,224,243,128,225,227,128,225,195,128,227, + 195,128,231,131,128,255,7,128,126,7,0,126,15,0,60,30, + 0,127,252,0,127,248,0,247,240,0,224,0,0,224,0,0, + 19,26,78,20,0,0,3,0,0,7,128,0,1,224,0,0, + 240,0,0,48,0,0,0,0,255,31,224,255,31,224,255,31, + 224,56,3,128,56,3,128,56,3,128,56,3,128,56,3,128, + 56,3,128,56,3,128,56,3,128,56,3,128,56,3,128,56, + 3,128,56,3,128,28,7,128,31,31,0,15,254,0,7,252, + 0,1,248,0,19,26,78,20,0,0,0,28,0,0,60,0, + 0,240,0,1,224,0,1,128,0,0,0,0,255,31,224,255, + 31,224,255,31,224,56,3,128,56,3,128,56,3,128,56,3, + 128,56,3,128,56,3,128,56,3,128,56,3,128,56,3,128, + 56,3,128,56,3,128,56,3,128,28,7,128,31,31,0,15, + 254,0,7,252,0,1,248,0,19,26,78,20,0,0,0,64, + 0,0,224,0,3,184,0,7,28,0,14,14,0,0,0,0, + 255,31,224,255,31,224,255,31,224,56,3,128,56,3,128,56, + 3,128,56,3,128,56,3,128,56,3,128,56,3,128,56,3, + 128,56,3,128,56,3,128,56,3,128,56,3,128,28,7,128, + 31,31,0,15,254,0,7,252,0,1,248,0,19,26,78,20, + 0,0,6,12,0,15,30,0,15,30,0,6,12,0,0,0, + 0,0,0,0,255,191,224,255,191,224,255,191,224,56,3,128, + 56,3,128,56,3,128,56,3,128,56,3,128,56,3,128,56, + 3,128,56,3,128,56,3,128,56,3,128,56,3,128,56,3, + 128,28,7,128,31,31,0,15,254,0,7,252,0,1,248,0, + 17,26,78,20,1,0,0,24,0,0,120,0,0,240,0,3, + 192,0,3,0,0,0,0,0,254,63,128,254,63,128,254,63, + 128,60,30,0,28,28,0,30,60,0,14,56,0,15,120,0, + 7,240,0,3,224,0,3,224,0,1,192,0,1,192,0,1, + 192,0,1,192,0,1,192,0,1,192,0,31,252,0,31,252, + 0,31,252,0,18,20,60,20,1,0,255,128,0,255,128,0, + 255,128,0,28,0,0,31,248,0,31,254,0,31,255,0,28, + 15,128,28,3,128,28,3,192,28,3,192,28,3,128,28,15, + 128,31,255,0,31,254,0,31,248,0,28,0,0,255,128,0, + 255,128,0,255,128,0,17,22,66,20,0,255,3,224,0,7, + 240,0,15,248,0,30,60,0,28,28,0,28,28,0,28,28, + 0,28,60,0,29,248,0,29,248,0,29,254,0,28,31,0, + 28,15,0,28,7,128,28,3,128,28,3,128,29,195,128,29, + 195,128,255,255,0,254,255,0,254,126,0,0,24,0,17,22, + 66,20,2,0,24,0,0,60,0,0,15,0,0,7,128,0, + 1,128,0,0,0,0,0,0,0,15,224,0,63,240,0,63, + 248,0,56,60,0,0,28,0,0,28,0,15,252,0,63,252, + 0,127,252,0,120,28,0,240,28,0,224,124,0,255,255,128, + 127,255,128,63,159,128,17,22,66,20,2,0,0,32,0,0, + 112,0,0,240,0,3,192,0,7,128,0,6,0,0,0,0, + 0,15,224,0,63,240,0,63,248,0,56,60,0,0,28,0, + 0,28,0,15,252,0,63,252,0,127,252,0,120,28,0,224, + 60,0,224,124,0,255,255,128,127,223,128,63,159,128,17,22, + 66,20,1,0,0,128,0,1,192,0,7,112,0,14,56,0, + 28,28,0,0,0,0,0,0,0,7,224,0,63,240,0,63, + 248,0,60,60,0,0,28,0,0,28,0,15,252,0,63,252, + 0,127,252,0,120,28,0,240,28,0,224,60,0,255,255,128, + 127,255,128,63,159,128,17,21,63,20,1,0,14,24,0,31, + 152,0,25,248,0,24,112,0,0,0,0,0,0,0,15,224, + 0,63,240,0,63,248,0,56,60,0,0,28,0,0,28,0, + 15,252,0,63,252,0,127,252,0,120,28,0,240,28,0,224, + 124,0,255,255,128,127,223,128,63,159,128,17,21,63,20,2, + 0,12,24,0,30,60,0,30,60,0,12,24,0,0,0,0, + 0,0,0,15,224,0,63,240,0,63,248,0,56,60,0,0, + 28,0,0,28,0,15,252,0,63,252,0,127,252,0,120,28, + 0,240,28,0,224,124,0,255,255,128,127,223,128,63,159,128, + 17,21,63,20,1,0,3,192,0,6,96,0,4,32,0,6, + 96,0,3,192,0,0,0,0,15,224,0,63,240,0,63,248, + 0,56,60,0,0,28,0,0,28,0,15,252,0,63,252,0, + 127,252,0,120,28,0,240,28,0,224,124,0,255,255,128,127, + 223,128,63,159,128,20,15,45,20,255,0,15,135,0,63,255, + 192,63,255,192,56,253,224,0,112,112,3,240,112,31,255,240, + 127,255,240,255,255,240,240,112,0,224,120,0,241,248,112,127, + 255,240,63,255,240,31,39,128,16,21,42,20,2,250,7,230, + 31,254,63,254,124,62,112,14,240,14,224,14,224,0,224,0, + 224,0,240,6,124,15,63,254,31,252,7,240,1,128,1,128, + 1,192,8,224,15,192,3,128,16,21,42,20,1,0,6,0, + 15,0,3,192,1,224,0,96,0,0,7,224,31,248,63,252, + 124,62,112,14,240,15,255,255,255,255,255,255,224,0,112,0, + 124,15,63,255,31,254,7,240,16,22,44,20,1,0,0,16, + 0,56,0,120,1,224,3,192,3,0,0,0,7,224,31,248, + 63,252,124,62,112,14,240,15,255,255,255,255,255,255,224,0, + 112,0,124,14,63,255,31,254,7,240,16,22,44,20,1,0, + 0,128,1,192,7,112,14,56,28,28,0,0,0,0,7,224, + 31,248,63,252,124,62,112,14,240,15,255,255,255,255,255,255, + 224,0,112,0,124,31,63,255,31,255,7,240,16,21,42,20, + 1,0,12,24,30,60,30,60,12,24,0,0,0,0,7,224, + 31,248,63,252,124,62,112,14,240,15,255,255,255,255,255,255, + 224,0,112,0,124,31,63,255,31,255,7,240,15,22,44,20, + 2,0,24,0,60,0,15,0,7,128,1,128,0,0,0,0, + 127,128,127,128,127,128,3,128,3,128,3,128,3,128,3,128, + 3,128,3,128,3,128,3,128,255,254,255,254,255,254,15,23, + 46,20,2,0,0,128,1,192,3,192,15,0,30,0,24,0, + 0,0,0,0,127,128,127,128,127,128,3,128,3,128,3,128, + 3,128,3,128,3,128,3,128,3,128,3,128,255,254,255,254, + 255,254,15,22,44,20,2,0,2,0,7,0,29,192,56,224, + 112,112,0,0,0,0,127,128,127,128,127,128,3,128,3,128, + 3,128,3,128,3,128,3,128,3,128,3,128,3,128,255,254, + 255,254,255,254,15,21,42,20,2,0,48,96,120,240,120,240, + 48,96,0,0,0,0,127,128,127,128,127,128,3,128,3,128, + 3,128,3,128,3,128,3,128,3,128,3,128,3,128,255,254, + 255,254,255,254,16,21,42,20,2,0,126,14,255,191,255,252, + 3,240,15,240,127,248,124,56,112,60,7,220,31,254,127,254, + 120,30,240,15,224,7,224,7,224,15,240,15,248,62,127,252, + 63,248,31,224,17,21,63,20,1,0,14,24,0,31,152,0, + 25,248,0,24,112,0,0,0,0,0,0,0,249,240,0,251, + 252,0,255,254,0,60,30,0,56,14,0,56,14,0,56,14, + 0,56,14,0,56,14,0,56,14,0,56,14,0,56,14,0, + 254,63,128,254,63,128,254,63,128,17,21,63,20,1,0,6, + 0,0,15,0,0,3,192,0,1,224,0,0,96,0,0,0, + 0,7,240,0,15,248,0,63,254,0,60,30,0,120,15,0, + 240,7,128,224,3,128,224,3,128,224,3,128,240,7,128,120, + 15,0,124,31,0,63,254,0,31,252,0,7,240,0,17,22, + 66,20,1,0,0,16,0,0,56,0,0,120,0,1,224,0, + 3,192,0,3,0,0,0,0,0,7,240,0,15,248,0,63, + 254,0,60,30,0,120,15,0,240,7,128,224,3,128,224,3, + 128,224,3,128,240,7,128,120,15,0,124,31,0,63,254,0, + 31,252,0,7,240,0,17,22,66,20,1,0,0,128,0,1, + 192,0,7,112,0,14,56,0,28,28,0,0,0,0,0,0, + 0,7,240,0,15,248,0,63,254,0,60,30,0,120,15,0, + 240,7,128,224,3,128,224,3,128,224,3,128,240,7,128,120, + 15,0,124,31,0,63,254,0,31,252,0,7,240,0,17,21, + 63,20,1,0,7,12,0,15,204,0,12,252,0,12,56,0, + 0,0,0,0,0,0,7,240,0,15,248,0,63,254,0,60, + 30,0,120,15,0,240,7,128,224,3,128,224,3,128,224,3, + 128,240,7,128,120,15,0,124,31,0,63,254,0,31,252,0, + 7,240,0,17,21,63,20,1,0,12,24,0,30,60,0,30, + 60,0,12,24,0,0,0,0,0,0,0,7,240,0,15,248, + 0,63,254,0,60,30,0,120,15,0,240,7,128,224,3,128, + 224,3,128,224,3,128,240,7,128,120,15,0,124,31,0,63, + 254,0,31,252,0,7,240,0,15,15,30,20,2,2,3,128, + 7,192,7,192,3,128,0,0,0,0,255,254,255,254,255,254, + 0,0,0,0,3,128,7,192,7,192,3,128,17,18,54,20, + 1,254,0,3,128,3,227,128,15,255,128,63,255,0,62,62, + 0,120,63,0,112,127,0,224,243,128,225,227,128,227,195,128, + 231,131,128,127,7,0,126,31,0,63,254,0,127,252,0,247, + 240,0,224,0,0,224,0,0,18,22,66,20,0,0,3,0, + 0,7,128,0,1,224,0,0,240,0,0,48,0,0,0,0, + 0,0,0,252,63,0,252,63,0,252,63,0,28,7,0,28, + 7,0,28,7,0,28,7,0,28,7,0,28,7,0,28,7, + 0,28,15,0,28,31,0,31,255,192,15,247,192,7,231,192, + 18,22,66,20,0,0,0,8,0,0,28,0,0,60,0,0, + 240,0,1,224,0,1,128,0,0,0,0,252,63,0,252,63, + 0,252,63,0,28,7,0,28,7,0,28,7,0,28,7,0, + 28,7,0,28,7,0,28,7,0,28,15,0,28,31,0,31, + 255,192,15,247,192,7,231,192,18,22,66,20,0,0,0,128, + 0,1,192,0,7,112,0,14,56,0,28,28,0,0,0,0, + 0,0,0,252,63,0,252,63,0,252,63,0,28,7,0,28, + 7,0,28,7,0,28,7,0,28,7,0,28,7,0,28,7, + 0,28,15,0,28,31,0,31,255,192,15,247,192,7,231,192, + 18,21,63,20,0,0,12,24,0,30,60,0,30,60,0,12, + 24,0,0,0,0,0,0,0,252,63,0,252,63,0,252,63, + 0,28,7,0,28,7,0,28,7,0,28,7,0,28,7,0, + 28,7,0,28,7,0,28,15,0,28,31,0,31,255,192,15, + 247,192,7,231,192,17,29,87,20,1,249,0,16,0,0,56, + 0,0,120,0,1,224,0,3,192,0,3,0,0,0,0,0, + 254,63,128,254,63,128,254,63,128,120,15,0,56,14,0,60, + 30,0,28,28,0,30,60,0,14,56,0,15,120,0,7,112, + 0,7,240,0,3,224,0,3,224,0,1,192,0,1,192,0, + 3,128,0,3,128,0,7,0,0,255,224,0,255,224,0,255, + 224,0,19,28,84,20,0,249,252,0,0,252,0,0,252,0, + 0,28,0,0,28,0,0,28,0,0,28,252,0,31,255,0, + 31,255,128,31,135,192,31,3,192,30,1,224,28,0,224,28, + 0,224,28,0,224,30,1,224,30,1,192,31,135,192,31,255, + 128,31,255,0,28,252,0,28,0,0,28,0,0,28,0,0, + 28,0,0,255,192,0,255,192,0,255,192,0,17,28,84,20, + 1,249,6,12,0,15,30,0,15,30,0,6,12,0,0,0, + 0,0,0,0,254,63,128,254,63,128,254,63,128,120,15,0, + 56,14,0,60,30,0,28,28,0,30,60,0,14,56,0,15, + 120,0,7,112,0,7,240,0,3,224,0,3,224,0,1,192, + 0,1,192,0,3,128,0,3,128,0,7,0,0,255,224,0, + 255,224,0,255,224,0}; +/* + Fontname: -Adobe-Courier-Bold-R-Normal--34-240-100-100-M-200-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 20, '1' Height: 21 + Calculated Max Values w=21 h=28 x= 8 y=16 dx=20 dy= 0 ascent=23 len=75 + Font Bounding box w=30 h=44 x=-7 y=-11 + Calculated Min Values x=-1 y=-7 dx= 0 dy= 0 + Pure Font ascent =20 descent=-7 + X Font ascent =21 descent=-7 + Max Font ascent =23 descent=-7 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_courB24r[4775] U8G_FONT_SECTION("u8g_font_courB24r") = { + 0,30,44,249,245,20,5,57,12,115,32,127,249,23,249,21, + 249,0,0,0,20,0,1,5,21,21,20,7,0,112,248,248, + 248,248,248,112,112,112,112,112,112,112,112,112,32,0,0,112, + 248,112,9,10,20,20,5,10,227,128,227,128,227,128,227,128, + 227,128,227,128,227,128,227,128,227,128,65,0,15,26,52,20, + 2,253,14,56,14,56,14,56,14,56,14,56,14,56,14,56, + 14,56,127,254,127,254,127,254,28,112,28,112,28,112,28,112, + 255,252,255,252,255,252,56,224,56,224,56,224,56,224,56,224, + 56,224,56,224,56,224,14,27,54,20,3,252,7,0,7,0, + 7,0,15,216,63,248,127,248,240,120,224,56,224,56,240,0, + 254,0,127,192,63,240,7,248,0,252,0,60,224,28,224,28, + 240,60,255,248,255,240,231,128,7,0,7,0,7,0,7,0, + 7,0,15,21,42,20,2,0,31,0,63,128,49,128,96,192, + 96,192,96,192,113,194,63,142,31,62,0,248,3,224,31,0, + 252,248,241,252,195,142,3,6,3,6,3,6,1,140,1,252, + 0,248,14,18,36,20,2,0,7,160,31,224,63,224,60,96, + 56,0,56,0,60,0,28,0,30,0,127,60,127,188,243,188, + 225,240,224,240,224,240,255,252,127,188,63,60,4,11,11,20, + 8,10,112,112,112,112,112,224,224,224,224,224,224,7,26,26, + 20,8,251,14,14,30,60,56,56,120,112,112,240,240,240,224, + 224,240,240,240,112,112,120,56,60,28,30,14,14,7,26,26, + 20,4,251,224,224,240,120,56,56,60,28,28,30,30,30,14, + 14,30,30,30,28,28,60,56,120,112,240,224,224,15,14,28, + 20,3,7,3,128,3,128,3,128,3,128,99,140,251,190,127, + 252,31,240,15,224,15,224,30,240,60,120,120,60,48,24,17, + 17,51,20,1,1,1,192,0,1,192,0,1,192,0,1,192, + 0,1,192,0,1,192,0,1,192,0,255,255,128,255,255,128, + 255,255,128,1,192,0,1,192,0,1,192,0,1,192,0,1, + 192,0,1,192,0,1,192,0,7,10,10,20,5,251,30,30, + 60,60,56,112,112,224,224,192,15,3,6,20,2,8,255,254, + 255,254,255,254,5,4,4,20,7,0,112,248,248,112,13,27, + 54,20,3,252,0,56,0,56,0,120,0,112,0,112,0,224, + 0,224,1,224,1,192,1,192,3,128,3,128,7,128,7,0, + 15,0,14,0,14,0,28,0,28,0,60,0,56,0,56,0, + 112,0,112,0,240,0,224,0,224,0,13,21,42,20,3,0, + 15,128,63,224,127,240,112,112,240,120,224,56,224,56,224,56, + 224,56,224,56,224,56,224,56,224,56,224,56,224,56,224,56, + 240,120,112,112,127,240,63,224,15,128,13,21,42,20,4,0, + 3,0,15,0,127,0,255,0,255,0,103,0,7,0,7,0, + 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, + 7,0,7,0,255,248,255,248,255,248,14,21,42,20,2,0, + 7,192,31,240,63,248,120,60,112,28,112,28,112,28,0,28, + 0,56,0,120,0,240,1,224,3,192,7,128,15,0,30,0, + 60,0,120,0,255,252,255,252,255,252,15,21,42,20,2,0, + 7,224,31,240,127,248,120,60,112,28,0,28,0,28,0,60, + 7,248,7,240,7,248,0,124,0,28,0,14,0,14,0,14, + 0,30,224,60,255,252,255,248,63,224,14,21,42,20,2,0, + 0,240,1,240,1,240,3,240,7,240,7,112,15,112,14,112, + 30,112,28,112,56,112,120,112,112,112,255,252,255,252,255,252, + 0,112,0,112,3,252,3,252,3,252,15,21,42,20,2,0, + 63,252,63,252,63,252,56,0,56,0,56,0,56,0,63,224, + 63,248,63,252,56,124,0,30,0,14,0,14,0,14,0,14, + 64,30,240,60,255,248,127,248,31,224,14,21,42,20,3,0, + 1,248,7,248,15,248,31,0,60,0,120,0,112,0,112,0, + 227,192,239,240,255,240,248,120,240,60,224,28,224,28,240,28, + 112,60,120,120,127,248,63,240,15,192,14,21,42,20,2,0, + 255,252,255,252,255,252,224,60,224,56,224,56,0,56,0,120, + 0,112,0,112,0,240,0,224,0,224,1,224,1,192,1,192, + 3,192,3,128,7,128,7,0,7,0,14,21,42,20,3,0, + 15,128,63,224,127,240,112,112,224,56,224,56,224,56,112,112, + 127,240,63,224,63,240,124,248,240,60,224,28,224,28,224,28, + 224,28,248,124,127,248,63,240,15,192,14,21,42,20,3,0, + 15,128,63,224,127,240,120,240,240,120,224,56,224,60,224,60, + 224,60,240,124,120,252,63,220,63,156,15,60,0,56,0,120, + 0,112,97,240,255,224,255,128,126,0,5,15,15,20,7,0, + 112,248,248,112,0,0,0,0,0,0,0,112,248,248,112,8, + 19,19,20,5,252,14,31,31,14,0,0,0,0,0,0,30, + 30,60,56,120,112,224,224,192,18,19,57,20,0,0,0,1, + 192,0,3,192,0,15,192,0,63,128,0,254,0,1,248,0, + 7,224,0,31,128,0,127,0,0,252,0,0,127,0,0,31, + 128,0,7,224,0,1,248,0,0,254,0,0,63,128,0,15, + 192,0,3,192,0,1,192,17,9,27,20,1,5,255,255,128, + 255,255,128,255,255,128,0,0,0,0,0,0,0,0,0,255, + 255,128,255,255,128,255,255,128,18,19,57,20,1,0,224,0, + 0,240,0,0,252,0,0,127,0,0,31,192,0,7,224,0, + 1,248,0,0,126,0,0,63,128,0,15,192,0,63,128,0, + 126,0,1,248,0,7,224,0,31,192,0,127,0,0,252,0, + 0,240,0,0,224,0,0,13,20,40,20,3,0,31,192,127, + 224,255,240,224,248,224,56,224,56,0,56,0,120,0,240,3, + 240,7,192,7,128,7,0,7,0,0,0,0,0,0,0,7, + 0,15,128,7,0,14,23,46,20,3,254,15,192,31,224,56, + 112,112,48,96,48,224,48,192,48,193,240,199,240,198,48,204, + 48,204,48,204,48,206,48,199,252,195,188,192,0,224,0,96, + 0,112,48,56,112,31,224,15,192,21,20,60,20,255,0,31, + 240,0,31,248,0,31,248,0,1,220,0,1,220,0,1,220, + 0,3,142,0,3,142,0,3,142,0,7,7,0,7,7,0, + 7,7,0,15,255,128,15,255,128,31,255,192,28,1,192,28, + 1,192,255,143,248,255,143,248,255,143,248,18,20,60,20,1, + 0,255,248,0,255,254,0,255,255,0,28,7,128,28,3,128, + 28,3,128,28,3,128,28,7,128,31,255,0,31,252,0,31, + 254,0,28,15,128,28,3,192,28,1,192,28,1,192,28,1, + 192,28,3,192,255,255,128,255,255,0,255,252,0,18,20,60, + 20,1,0,3,249,128,15,255,128,31,255,128,62,15,128,120, + 7,128,112,3,128,240,3,128,224,0,0,224,0,0,224,0, + 0,224,0,0,224,0,0,224,0,0,224,0,0,240,0,0, + 120,3,128,124,7,192,63,255,128,31,255,0,7,252,0,17, + 20,60,20,1,0,255,224,0,255,248,0,255,252,0,56,62, + 0,56,15,0,56,7,0,56,7,128,56,3,128,56,3,128, + 56,3,128,56,3,128,56,3,128,56,3,128,56,3,128,56, + 7,128,56,7,0,56,31,0,255,254,0,255,252,0,255,240, + 0,17,20,60,20,1,0,255,255,0,255,255,0,255,255,0, + 28,7,0,28,7,0,28,7,0,28,119,0,28,112,0,31, + 240,0,31,240,0,31,240,0,28,112,0,28,112,0,28,3, + 128,28,3,128,28,3,128,28,3,128,255,255,128,255,255,128, + 255,255,128,17,20,60,20,1,0,255,255,128,255,255,128,255, + 255,128,28,3,128,28,3,128,28,3,128,28,115,128,28,112, + 0,31,240,0,31,240,0,31,240,0,28,112,0,28,112,0, + 28,0,0,28,0,0,28,0,0,28,0,0,255,224,0,255, + 224,0,255,224,0,17,20,60,20,2,0,3,243,0,15,255, + 0,31,255,0,60,15,0,120,7,0,112,7,0,240,7,0, + 224,0,0,224,0,0,224,0,0,224,0,0,224,255,128,224, + 255,128,224,255,128,240,7,0,112,7,0,124,15,0,63,255, + 0,31,254,0,7,248,0,17,20,60,20,1,0,255,127,128, + 255,127,128,255,127,128,56,14,0,56,14,0,56,14,0,56, + 14,0,56,14,0,63,254,0,63,254,0,63,254,0,56,14, + 0,56,14,0,56,14,0,56,14,0,56,14,0,56,14,0, + 255,127,128,255,127,128,255,127,128,13,20,40,20,3,0,255, + 248,255,248,255,248,7,0,7,0,7,0,7,0,7,0,7, + 0,7,0,7,0,7,0,7,0,7,0,7,0,7,0,7, + 0,255,248,255,248,255,248,17,20,60,20,2,0,7,255,128, + 7,255,128,7,255,128,0,56,0,0,56,0,0,56,0,0, + 56,0,0,56,0,0,56,0,0,56,0,224,56,0,224,56, + 0,224,56,0,224,56,0,224,56,0,224,120,0,240,240,0, + 255,240,0,127,224,0,31,128,0,19,20,60,20,1,0,255, + 159,192,255,159,192,255,159,192,28,15,0,28,30,0,28,60, + 0,28,120,0,28,240,0,31,224,0,31,240,0,31,248,0, + 30,124,0,28,60,0,28,30,0,28,14,0,28,15,0,28, + 7,0,255,135,224,255,135,224,255,135,224,17,20,60,20,1, + 0,255,224,0,255,224,0,255,224,0,14,0,0,14,0,0, + 14,0,0,14,0,0,14,0,0,14,0,0,14,0,0,14, + 0,0,14,3,128,14,3,128,14,3,128,14,3,128,14,3, + 128,14,3,128,255,255,128,255,255,128,255,255,128,21,20,60, + 20,255,0,252,1,248,252,1,248,254,3,248,62,3,224,63, + 7,224,63,7,224,59,142,224,59,142,224,59,222,224,57,220, + 224,57,220,224,56,248,224,56,248,224,56,248,224,56,112,224, + 56,112,224,56,0,224,255,7,248,255,7,248,255,7,248,19, + 20,60,20,0,0,248,31,224,252,31,224,254,31,224,62,3, + 128,63,3,128,63,3,128,59,131,128,59,195,128,57,195,128, + 57,227,128,56,243,128,56,115,128,56,123,128,56,59,128,56, + 31,128,56,31,128,56,15,128,255,7,128,255,7,128,255,3, + 128,18,20,60,20,1,0,3,240,0,15,252,0,31,254,0, + 60,15,0,120,7,128,112,3,128,240,3,192,224,1,192,224, + 1,192,224,1,192,224,1,192,224,1,192,224,1,192,240,3, + 192,112,3,128,120,7,128,60,15,0,31,254,0,15,252,0, + 3,240,0,17,20,60,20,1,0,255,248,0,255,254,0,255, + 255,0,28,15,0,28,3,128,28,3,128,28,3,128,28,3, + 128,28,7,128,28,15,0,31,254,0,31,252,0,31,240,0, + 28,0,0,28,0,0,28,0,0,28,0,0,255,224,0,255, + 224,0,255,224,0,18,25,75,20,1,251,3,240,0,15,248, + 0,31,254,0,60,15,0,120,7,128,112,3,128,240,3,192, + 224,1,192,224,1,192,224,1,192,224,1,192,224,1,192,224, + 1,192,224,1,192,112,3,128,120,7,128,60,15,0,31,254, + 0,15,252,0,7,240,0,14,0,0,31,225,192,63,255,192, + 63,255,192,56,63,0,20,20,60,20,1,0,255,248,0,255, + 254,0,255,255,0,28,15,0,28,7,128,28,3,128,28,3, + 128,28,7,128,28,15,0,31,254,0,31,252,0,31,248,0, + 28,60,0,28,30,0,28,15,0,28,7,128,28,3,192,255, + 131,240,255,129,240,255,129,240,15,20,40,20,2,0,15,204, + 63,252,127,252,240,124,224,28,224,28,240,28,248,0,127,0, + 63,224,15,248,1,252,0,62,224,30,224,14,224,14,240,30, + 255,252,255,248,231,224,17,20,60,20,1,0,255,255,128,255, + 255,128,255,255,128,225,195,128,225,195,128,225,195,128,225,195, + 128,225,195,128,225,195,128,1,192,0,1,192,0,1,192,0, + 1,192,0,1,192,0,1,192,0,1,192,0,1,192,0,63, + 254,0,63,254,0,63,254,0,19,20,60,20,0,0,255,31, + 224,255,31,224,255,31,224,56,3,128,56,3,128,56,3,128, + 56,3,128,56,3,128,56,3,128,56,3,128,56,3,128,56, + 3,128,56,3,128,56,3,128,56,3,128,28,7,0,31,31, + 0,15,254,0,7,252,0,1,240,0,21,20,60,20,255,0, + 255,143,248,255,143,248,255,143,248,28,1,192,28,1,192,30, + 3,192,14,3,128,14,3,128,7,7,0,7,7,0,7,143, + 0,3,142,0,3,142,0,3,222,0,1,220,0,1,220,0, + 0,248,0,0,248,0,0,248,0,0,112,0,19,20,60,20, + 0,0,255,31,224,255,31,224,255,31,224,112,1,192,112,1, + 192,112,225,192,112,225,192,113,241,192,57,243,128,57,243,128, + 59,187,128,59,187,128,59,187,128,63,31,128,63,31,128,30, + 15,0,30,15,0,30,15,0,28,7,0,28,7,0,19,20, + 60,20,0,0,255,31,224,255,31,224,255,31,224,60,7,128, + 30,15,0,15,30,0,7,188,0,3,248,0,1,240,0,0, + 224,0,1,240,0,3,248,0,7,188,0,15,30,0,14,14, + 0,30,15,0,60,7,128,255,31,224,255,31,224,255,31,224, + 19,20,60,20,0,0,255,31,224,255,31,224,255,31,224,60, + 7,128,14,14,0,15,30,0,7,28,0,7,188,0,3,248, + 0,1,240,0,1,240,0,0,224,0,0,224,0,0,224,0, + 0,224,0,0,224,0,0,224,0,15,254,0,15,254,0,15, + 254,0,15,20,40,20,2,0,127,252,127,252,127,252,112,60, + 112,56,112,120,112,240,113,224,1,192,3,192,7,128,15,0, + 14,14,30,14,60,14,120,14,112,14,255,254,255,254,255,254, + 7,26,26,20,8,251,254,254,254,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,254,254,254, + 13,27,54,20,3,252,224,0,224,0,240,0,112,0,112,0, + 56,0,56,0,60,0,28,0,28,0,14,0,14,0,15,0, + 7,0,7,128,3,128,3,128,1,192,1,192,1,224,0,224, + 0,224,0,112,0,112,0,120,0,56,0,56,7,26,26,20, + 4,251,254,254,254,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,254,254,254,13,11,22,20, + 3,11,2,0,7,0,7,0,15,128,31,192,61,224,56,224, + 120,240,240,120,224,56,224,56,20,3,9,20,0,249,255,255, + 240,255,255,240,255,255,240,6,6,6,20,6,16,192,224,112, + 56,28,12,16,15,30,20,2,0,31,224,127,248,127,252,112, + 60,0,28,0,28,15,252,127,252,127,252,240,28,224,28,224, + 124,255,255,127,223,63,159,19,21,63,20,0,0,252,0,0, + 252,0,0,252,0,0,28,0,0,28,0,0,28,0,0,28, + 124,0,29,255,0,31,255,128,31,135,192,30,1,192,30,1, + 224,28,0,224,28,0,224,28,0,224,28,0,224,30,1,192, + 31,3,192,255,255,128,255,255,0,252,254,0,16,15,30,20, + 2,0,7,230,31,254,63,254,124,62,112,14,224,14,224,14, + 224,0,224,0,224,0,240,6,120,15,127,254,63,252,15,240, + 19,21,63,20,1,0,0,63,0,0,63,0,0,63,0,0, + 7,0,0,7,0,0,7,0,7,231,0,31,255,0,63,255, + 0,124,63,0,112,15,0,240,15,0,224,7,0,224,7,0, + 224,7,0,224,7,0,112,15,0,124,63,0,63,255,224,31, + 247,224,7,231,224,18,15,45,20,1,0,3,240,0,15,252, + 0,31,254,0,62,31,0,120,7,128,112,3,128,255,255,128, + 255,255,128,255,255,128,240,0,0,120,0,0,126,3,128,63, + 255,192,31,255,128,7,254,0,16,21,42,20,3,0,1,255, + 7,255,7,255,15,0,14,0,14,0,255,252,255,252,255,252, + 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, + 14,0,255,252,255,252,255,252,18,22,66,20,1,249,7,207, + 192,31,255,192,63,255,192,124,126,0,112,30,0,240,30,0, + 224,14,0,224,14,0,224,14,0,240,30,0,112,30,0,120, + 126,0,63,254,0,31,238,0,15,206,0,0,14,0,0,14, + 0,0,30,0,0,60,0,31,252,0,31,248,0,31,224,0, + 18,21,63,20,1,0,252,0,0,252,0,0,252,0,0,28, + 0,0,28,0,0,28,0,0,28,248,0,29,252,0,31,254, + 0,31,15,0,30,7,0,28,7,0,28,7,0,28,7,0, + 28,7,0,28,7,0,28,7,0,28,7,0,127,31,192,127, + 31,192,127,31,192,15,21,42,20,3,0,7,128,7,128,7, + 128,7,128,0,0,0,0,127,128,127,128,127,128,3,128,3, + 128,3,128,3,128,3,128,3,128,3,128,3,128,3,128,255, + 254,255,254,255,254,12,28,56,20,3,249,3,192,3,192,3, + 192,3,192,0,0,0,0,255,240,255,240,255,240,0,112,0, + 112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0, + 112,0,112,0,112,0,112,0,112,0,112,0,240,255,224,255, + 192,255,128,17,21,63,20,1,0,252,0,0,252,0,0,252, + 0,0,28,0,0,28,0,0,28,0,0,28,255,0,28,255, + 0,28,255,0,28,120,0,28,240,0,29,224,0,31,192,0, + 31,192,0,31,224,0,29,240,0,28,248,0,28,124,0,252, + 63,128,252,63,128,252,63,128,15,21,42,20,3,0,127,128, + 127,128,127,128,3,128,3,128,3,128,3,128,3,128,3,128, + 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, + 3,128,255,254,255,254,255,254,20,15,45,20,1,0,243,143, + 0,255,255,128,255,255,192,120,241,192,112,225,192,112,225,192, + 112,225,192,112,225,192,112,225,192,112,225,192,112,225,192,112, + 225,192,252,249,240,252,249,240,252,249,240,17,15,45,20,2, + 0,249,240,0,251,248,0,255,252,0,62,30,0,60,14,0, + 56,14,0,56,14,0,56,14,0,56,14,0,56,14,0,56, + 14,0,56,14,0,254,63,128,254,63,128,254,63,128,17,15, + 45,20,2,0,7,240,0,31,252,0,63,254,0,120,15,0, + 112,7,0,240,7,128,224,3,128,224,3,128,224,3,128,240, + 7,128,112,7,0,120,15,0,63,254,0,31,252,0,7,240, + 0,19,22,66,20,0,249,252,124,0,253,255,0,255,255,128, + 31,3,192,30,1,224,28,0,224,28,0,224,28,0,224,28, + 0,224,28,1,224,30,1,192,31,7,192,31,255,128,29,254, + 0,28,120,0,28,0,0,28,0,0,28,0,0,28,0,0, + 255,192,0,255,192,0,255,192,0,19,22,66,20,1,249,7, + 231,224,31,255,224,63,255,224,124,63,0,112,15,0,240,15, + 0,224,7,0,224,7,0,224,7,0,240,15,0,112,15,0, + 124,63,0,63,255,0,31,247,0,7,199,0,0,7,0,0, + 7,0,0,7,0,0,7,0,0,127,224,0,127,224,0,127, + 224,17,15,45,20,2,0,126,62,0,126,255,0,127,255,128, + 15,199,0,15,2,0,15,0,0,14,0,0,14,0,0,14, + 0,0,14,0,0,14,0,0,14,0,0,255,252,0,255,252, + 0,255,252,0,15,15,30,20,3,0,15,236,63,252,63,252, + 120,60,112,28,120,0,127,192,63,248,15,252,224,62,224,14, + 248,30,255,252,255,248,231,224,16,20,40,20,2,0,28,0, + 28,0,28,0,28,0,28,0,255,252,255,252,255,252,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,6,30,31, + 31,255,15,254,3,240,18,15,45,20,1,0,252,63,0,252, + 63,0,252,63,0,28,7,0,28,7,0,28,7,0,28,7, + 0,28,7,0,28,7,0,28,7,0,28,7,0,30,31,0, + 31,255,192,15,255,192,7,247,192,19,15,45,20,0,0,255, + 31,224,255,31,224,255,31,224,60,7,0,28,7,0,30,14, + 0,14,14,0,15,28,0,7,28,0,7,184,0,3,184,0, + 3,240,0,1,240,0,1,224,0,0,224,0,19,15,45,20, + 0,0,254,15,224,254,15,224,254,15,224,56,227,128,56,227, + 128,57,243,128,61,247,128,29,247,0,31,191,0,31,31,0, + 31,31,0,15,30,0,14,14,0,14,14,0,14,14,0,17, + 15,45,20,1,0,254,63,128,254,63,128,254,63,128,60,28, + 0,30,56,0,15,112,0,7,224,0,3,224,0,3,240,0, + 7,120,0,14,60,0,28,30,0,254,63,128,254,63,128,254, + 63,128,19,22,66,20,1,249,255,31,224,255,31,224,255,31, + 224,60,3,128,28,7,0,30,7,0,14,14,0,15,14,0, + 7,28,0,7,156,0,3,184,0,3,248,0,1,240,0,1, + 240,0,0,224,0,0,224,0,1,192,0,1,192,0,3,128, + 0,127,240,0,127,240,0,127,240,0,13,15,30,20,4,0, + 255,248,255,248,255,248,224,240,225,224,227,192,7,128,15,0, + 30,0,60,0,120,56,240,56,255,248,255,248,255,248,9,26, + 52,20,5,251,7,128,15,128,15,128,30,0,28,0,28,0, + 28,0,28,0,28,0,28,0,28,0,60,0,248,0,248,0, + 252,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,31,128,15,128,7,128,3,26,26,20,8,251,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,9,26,52,20,5,251,240,0, + 248,0,248,0,60,0,28,0,28,0,28,0,28,0,28,0, + 28,0,28,0,30,0,15,128,15,128,31,128,28,0,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,252,0,248,0, + 240,0,15,7,14,20,2,6,12,0,63,14,127,142,247,222, + 227,252,225,248,0,96,255}; +/* + Fontname: -Adobe-Courier-Bold-R-Normal--34-240-100-100-M-200-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 0, '1' Height: 21 + Calculated Max Values w=17 h=27 x= 7 y= 8 dx=20 dy= 0 ascent=23 len=54 + Font Bounding box w=30 h=44 x=-7 y=-11 + Calculated Min Values x= 0 y=-5 dx= 0 dy= 0 + Pure Font ascent =21 descent= 0 + X Font ascent =21 descent= 0 + Max Font ascent =23 descent=-5 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_courB24n[707] U8G_FONT_SECTION("u8g_font_courB24n") = { + 0,30,44,249,245,21,0,0,0,0,42,58,0,23,251,21, + 0,15,14,28,20,3,7,3,128,3,128,3,128,3,128,99, + 140,251,190,127,252,31,240,15,224,15,224,30,240,60,120,120, + 60,48,24,17,17,51,20,1,1,1,192,0,1,192,0,1, + 192,0,1,192,0,1,192,0,1,192,0,1,192,0,255,255, + 128,255,255,128,255,255,128,1,192,0,1,192,0,1,192,0, + 1,192,0,1,192,0,1,192,0,1,192,0,7,10,10,20, + 5,251,30,30,60,60,56,112,112,224,224,192,15,3,6,20, + 2,8,255,254,255,254,255,254,5,4,4,20,7,0,112,248, + 248,112,13,27,54,20,3,252,0,56,0,56,0,120,0,112, + 0,112,0,224,0,224,1,224,1,192,1,192,3,128,3,128, + 7,128,7,0,15,0,14,0,14,0,28,0,28,0,60,0, + 56,0,56,0,112,0,112,0,240,0,224,0,224,0,13,21, + 42,20,3,0,15,128,63,224,127,240,112,112,240,120,224,56, + 224,56,224,56,224,56,224,56,224,56,224,56,224,56,224,56, + 224,56,224,56,240,120,112,112,127,240,63,224,15,128,13,21, + 42,20,4,0,3,0,15,0,127,0,255,0,255,0,103,0, + 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, + 7,0,7,0,7,0,7,0,255,248,255,248,255,248,14,21, + 42,20,2,0,7,192,31,240,63,248,120,60,112,28,112,28, + 112,28,0,28,0,56,0,120,0,240,1,224,3,192,7,128, + 15,0,30,0,60,0,120,0,255,252,255,252,255,252,15,21, + 42,20,2,0,7,224,31,240,127,248,120,60,112,28,0,28, + 0,28,0,60,7,248,7,240,7,248,0,124,0,28,0,14, + 0,14,0,14,0,30,224,60,255,252,255,248,63,224,14,21, + 42,20,2,0,0,240,1,240,1,240,3,240,7,240,7,112, + 15,112,14,112,30,112,28,112,56,112,120,112,112,112,255,252, + 255,252,255,252,0,112,0,112,3,252,3,252,3,252,15,21, + 42,20,2,0,63,252,63,252,63,252,56,0,56,0,56,0, + 56,0,63,224,63,248,63,252,56,124,0,30,0,14,0,14, + 0,14,0,14,64,30,240,60,255,248,127,248,31,224,14,21, + 42,20,3,0,1,248,7,248,15,248,31,0,60,0,120,0, + 112,0,112,0,227,192,239,240,255,240,248,120,240,60,224,28, + 224,28,240,28,112,60,120,120,127,248,63,240,15,192,14,21, + 42,20,2,0,255,252,255,252,255,252,224,60,224,56,224,56, + 0,56,0,120,0,112,0,112,0,240,0,224,0,224,1,224, + 1,192,1,192,3,192,3,128,7,128,7,0,7,0,14,21, + 42,20,3,0,15,128,63,224,127,240,112,112,224,56,224,56, + 224,56,112,112,127,240,63,224,63,240,124,248,240,60,224,28, + 224,28,224,28,224,28,248,124,127,248,63,240,15,192,14,21, + 42,20,3,0,15,128,63,224,127,240,120,240,240,120,224,56, + 224,60,224,60,224,60,240,124,120,252,63,220,63,156,15,60, + 0,56,0,120,0,112,97,240,255,224,255,128,126,0,5,15, + 15,20,7,0,112,248,248,112,0,0,0,0,0,0,0,112, + 248,248,112}; +/* + Fontname: -Adobe-Courier-Medium-R-Normal--11-80-100-100-M-60-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 6, '1' Height: 7 + Calculated Max Values w= 6 h=10 x= 2 y= 6 dx= 6 dy= 0 ascent= 9 len=10 + Font Bounding box w=10 h=16 x=-2 y=-4 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent = 6 descent=-2 + X Font ascent = 7 descent=-2 + Max Font ascent = 9 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_courR08[2433] U8G_FONT_SECTION("u8g_font_courR08") = { + 0,10,16,254,252,6,1,151,3,21,32,255,254,9,254,7, + 254,0,0,0,6,0,1,1,7,7,6,2,0,128,128,128, + 128,128,0,128,3,3,3,6,1,4,160,160,160,5,8,8, + 6,1,255,80,80,248,80,80,248,80,80,4,8,8,6,1, + 255,32,112,128,96,16,144,96,32,6,7,7,6,0,0,224, + 164,200,48,92,148,24,6,6,6,6,0,0,48,64,96,148, + 136,116,1,3,3,6,2,4,128,128,128,3,9,9,6,2, + 254,32,64,64,128,128,128,64,64,32,3,9,9,6,1,254, + 128,64,64,32,32,32,64,64,128,5,4,4,6,0,3,32, + 216,32,80,5,5,5,6,0,1,32,32,248,32,32,2,3, + 3,6,1,254,64,64,128,4,1,1,6,1,3,240,1,2, + 2,6,2,0,128,128,6,9,9,6,0,255,4,8,16,16, + 32,32,64,64,128,4,7,7,6,1,0,96,144,144,144,144, + 144,96,4,7,7,6,1,0,32,224,32,32,32,32,240,4, + 7,7,6,1,0,96,144,16,32,64,128,240,4,7,7,6, + 1,0,96,144,16,96,16,144,96,5,7,7,6,0,0,16, + 48,80,144,248,16,16,4,7,7,6,1,0,240,128,128,224, + 16,16,224,4,7,7,6,1,0,112,128,128,224,144,144,96, + 4,7,7,6,1,0,240,144,16,32,32,64,64,4,7,7, + 6,1,0,96,144,144,96,144,144,96,4,7,7,6,1,0, + 96,144,144,112,16,16,224,1,5,5,6,2,0,128,128,0, + 128,128,2,6,6,6,1,254,64,64,0,64,64,128,3,5, + 5,6,1,1,32,64,128,64,32,4,3,3,6,1,2,240, + 0,240,3,5,5,6,2,1,128,64,32,64,128,4,6,6, + 6,1,0,96,144,32,64,0,64,6,8,8,6,0,255,56, + 68,156,168,168,156,64,56,6,6,6,6,0,0,112,40,72, + 120,72,204,5,6,6,6,0,0,240,72,112,72,72,240,4, + 6,6,6,1,0,96,144,128,128,144,96,5,6,6,6,0, + 0,240,72,72,72,72,240,5,6,6,6,0,0,248,72,112, + 64,72,248,5,6,6,6,0,0,248,72,112,80,64,224,4, + 6,6,6,1,0,96,144,128,176,144,96,6,6,6,6,0, + 0,204,72,120,72,72,204,5,6,6,6,1,0,248,32,32, + 32,32,248,5,6,6,6,1,0,120,16,16,144,144,96,6, + 6,6,6,0,0,216,80,96,80,72,228,5,6,6,6,1, + 0,224,64,64,64,72,248,5,6,6,6,1,0,136,216,168, + 168,136,216,6,6,6,6,0,0,220,72,104,88,72,200,4, + 6,6,6,1,0,96,144,144,144,144,96,5,6,6,6,1, + 0,240,72,72,112,64,224,4,7,7,6,1,255,96,144,144, + 144,144,96,112,6,6,6,6,0,0,240,72,72,112,72,228, + 4,6,6,6,1,0,112,128,96,16,144,224,5,6,6,6, + 0,0,248,168,32,32,32,112,6,6,6,6,0,0,204,72, + 72,72,72,48,6,6,6,6,0,0,220,136,80,80,80,32, + 6,6,6,6,0,0,220,136,168,168,80,80,5,6,6,6, + 1,0,216,80,32,32,80,216,5,6,6,6,1,0,216,136, + 80,32,32,112,4,6,6,6,1,0,240,144,32,64,144,240, + 2,9,9,6,2,254,192,128,128,128,128,128,128,128,192,5, + 9,9,6,1,255,128,128,64,64,32,32,16,16,8,2,9, + 9,6,2,254,192,64,64,64,64,64,64,64,192,5,3,3, + 6,1,4,32,80,136,6,1,1,6,0,254,252,2,2,2, + 6,1,6,128,64,5,5,5,6,0,0,96,16,112,144,104, + 5,7,7,6,0,0,192,64,112,72,72,72,240,4,5,5, + 6,1,0,96,144,128,144,96,5,7,7,6,1,0,48,16, + 112,144,144,144,104,4,5,5,6,1,0,96,144,224,144,96, + 4,7,7,6,1,0,48,64,240,64,64,64,240,5,7,7, + 6,1,254,104,144,144,144,112,16,224,6,7,7,6,0,0, + 192,64,112,72,72,72,236,5,7,7,6,1,0,32,0,96, + 32,32,32,248,3,9,9,6,1,254,32,0,224,32,32,32, + 32,32,192,5,7,7,6,0,0,192,64,88,80,96,80,216, + 5,7,7,6,1,0,96,32,32,32,32,32,248,6,5,5, + 6,0,0,208,168,168,168,172,6,5,5,6,0,0,176,72, + 72,72,236,4,5,5,6,1,0,96,144,144,144,96,5,7, + 7,6,0,254,176,72,72,72,112,64,240,5,7,7,6,1, + 254,104,144,144,144,112,16,56,5,5,5,6,1,0,184,64, + 64,64,240,4,5,5,6,1,0,112,128,96,16,224,5,7, + 7,6,1,0,64,64,240,64,64,72,48,6,5,5,6,0, + 0,216,72,72,72,52,6,5,5,6,0,0,204,68,40,40, + 16,6,5,5,6,0,0,172,168,168,80,80,5,5,5,6, + 0,0,216,80,32,80,216,5,7,7,6,0,254,216,72,72, + 72,48,32,192,4,5,5,6,1,0,240,32,64,144,240,3, + 9,9,6,2,254,32,64,64,64,128,64,64,64,32,1,9, + 9,6,2,254,128,128,128,128,128,128,128,128,128,3,9,9, + 6,2,254,128,64,64,64,32,64,64,64,128,4,2,2,6, + 1,3,80,160,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,255,255, + 255,255,255,255,255,0,0,0,6,0,1,1,7,7,6,2, + 254,128,0,128,128,128,128,128,4,8,8,6,1,255,32,32, + 112,128,128,112,32,32,6,7,7,6,0,0,56,64,248,32, + 32,68,252,5,5,5,6,0,1,136,112,80,112,136,5,7, + 7,6,0,0,136,80,248,32,248,32,112,1,9,9,6,2, + 254,128,128,128,0,0,128,128,128,128,4,8,8,6,1,255, + 112,128,96,144,144,96,16,224,3,1,1,6,2,5,160,6, + 7,7,6,0,0,48,72,180,164,180,72,48,4,5,5,6, + 1,1,224,16,208,0,240,6,3,3,6,0,1,108,216,108, + 5,3,3,6,0,2,248,8,8,4,1,1,6,1,3,240, + 6,7,7,6,0,0,48,72,188,180,172,72,48,4,1,1, + 6,1,5,240,4,3,3,6,1,4,96,144,96,5,6,6, + 6,0,0,32,32,248,32,0,248,3,4,4,6,2,3,96, + 160,64,224,3,4,4,6,2,3,224,64,32,192,2,2,2, + 6,2,5,64,128,6,7,7,6,0,254,216,72,72,72,116, + 64,64,6,8,8,6,0,255,124,168,168,104,40,40,40,108, + 1,2,2,6,2,2,128,128,3,3,3,6,1,254,64,32, + 192,3,4,4,6,2,3,192,64,64,224,4,5,5,6,1, + 1,96,144,96,0,240,6,3,3,6,1,1,216,108,216,6, + 7,7,6,0,0,192,68,72,244,44,92,132,6,7,7,6, + 0,0,192,68,72,252,52,72,156,6,7,7,6,0,0,224, + 68,40,212,44,92,132,4,7,7,6,0,254,32,0,32,32, + 64,144,96,6,9,9,6,0,0,32,16,0,112,40,72,120, + 72,204,6,9,9,6,0,0,16,32,0,112,40,72,120,72, + 204,6,9,9,6,0,0,32,80,0,112,40,72,120,72,204, + 6,9,9,6,0,0,40,80,0,112,40,72,120,72,204,6, + 8,8,6,0,0,80,0,112,40,72,120,72,204,6,9,9, + 6,0,0,16,40,16,112,40,72,120,72,204,6,6,6,6, + 0,0,124,48,92,112,144,156,4,8,8,6,1,254,96,144, + 128,128,144,96,32,192,5,9,9,6,0,0,32,16,0,248, + 72,112,64,72,248,5,9,9,6,0,0,16,32,0,248,72, + 112,64,72,248,5,9,9,6,0,0,32,80,0,248,72,112, + 64,72,248,5,8,8,6,0,0,80,0,248,72,112,64,72, + 248,5,9,9,6,0,0,64,32,0,248,32,32,32,32,248, + 5,9,9,6,0,0,16,32,0,248,32,32,32,32,248,5, + 9,9,6,0,0,32,80,0,248,32,32,32,32,248,5,8, + 8,6,0,0,80,0,248,32,32,32,32,248,5,6,6,6, + 0,0,240,72,232,72,72,240,6,9,9,6,0,0,40,80, + 0,220,72,104,88,72,200,4,9,9,6,1,0,64,32,0, + 96,144,144,144,144,96,4,9,9,6,1,0,32,64,0,96, + 144,144,144,144,96,4,9,9,6,1,0,32,80,0,96,144, + 144,144,144,96,4,9,9,6,1,0,80,160,0,96,144,144, + 144,144,96,4,8,8,6,1,0,160,0,96,144,144,144,144, + 96,5,5,5,6,0,1,136,80,32,80,136,6,6,6,6, + 0,0,52,72,88,104,72,176,6,9,9,6,0,0,32,16, + 0,204,72,72,72,72,48,6,9,9,6,0,0,16,32,0, + 204,72,72,72,72,48,6,9,9,6,0,0,16,40,0,204, + 72,72,72,72,48,6,8,8,6,0,0,80,0,204,72,72, + 72,72,48,5,9,9,6,0,0,16,32,0,216,136,80,32, + 32,112,5,6,6,6,0,0,192,112,72,112,64,224,6,6, + 6,6,0,0,48,72,88,68,84,200,5,8,8,6,0,0, + 64,32,0,96,16,112,144,104,5,8,8,6,0,0,16,32, + 0,96,16,112,144,104,5,8,8,6,0,0,32,80,0,96, + 16,112,144,104,5,8,8,6,0,0,80,160,0,96,16,112, + 144,104,5,7,7,6,0,0,80,0,96,16,112,144,104,5, + 9,9,6,0,0,32,80,32,0,96,16,112,144,104,6,5, + 5,6,0,0,108,148,124,144,236,4,7,7,6,1,254,96, + 144,128,144,96,32,192,4,8,8,6,1,0,64,32,0,96, + 144,240,128,112,4,8,8,6,1,0,32,64,0,96,144,240, + 128,112,4,8,8,6,1,0,64,160,0,96,144,240,128,112, + 4,7,7,6,1,0,160,0,96,144,240,128,112,5,8,8, + 6,0,0,64,32,0,96,32,32,32,248,5,8,8,6,0, + 0,16,32,0,96,32,32,32,248,5,8,8,6,0,0,32, + 80,0,96,32,32,32,248,5,7,7,6,0,0,80,0,96, + 32,32,32,248,4,8,8,6,1,0,208,96,160,112,144,144, + 144,96,6,8,8,6,0,0,40,80,0,176,72,72,72,236, + 4,8,8,6,1,0,64,32,0,96,144,144,144,96,4,8, + 8,6,1,0,16,32,0,96,144,144,144,96,4,8,8,6, + 1,0,64,160,0,96,144,144,144,96,4,8,8,6,1,0, + 80,160,0,96,144,144,144,96,4,7,7,6,1,0,160,0, + 96,144,144,144,96,5,5,5,6,0,1,32,0,248,0,32, + 6,6,6,6,0,0,4,56,88,104,72,176,6,8,8,6, + 0,0,32,16,0,216,72,72,72,52,6,8,8,6,0,0, + 16,32,0,216,72,72,72,52,6,8,8,6,0,0,32,80, + 0,216,72,72,72,52,6,7,7,6,0,0,80,0,216,72, + 72,72,52,5,10,10,6,0,254,16,32,0,216,72,72,72, + 48,32,192,5,9,9,6,0,254,192,64,112,72,72,72,112, + 64,224,5,9,9,6,0,254,80,0,216,72,72,72,48,32, + 192}; +/* + Fontname: -Adobe-Courier-Medium-R-Normal--11-80-100-100-M-60-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 6, '1' Height: 7 + Calculated Max Values w= 6 h= 9 x= 2 y= 6 dx= 6 dy= 0 ascent= 8 len= 9 + Font Bounding box w=10 h=16 x=-2 y=-4 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent = 6 descent=-2 + X Font ascent = 7 descent=-2 + Max Font ascent = 8 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_courR08r[1157] U8G_FONT_SECTION("u8g_font_courR08r") = { + 0,10,16,254,252,6,1,151,3,21,32,127,254,8,254,7, + 254,0,0,0,6,0,1,1,7,7,6,2,0,128,128,128, + 128,128,0,128,3,3,3,6,1,4,160,160,160,5,8,8, + 6,1,255,80,80,248,80,80,248,80,80,4,8,8,6,1, + 255,32,112,128,96,16,144,96,32,6,7,7,6,0,0,224, + 164,200,48,92,148,24,6,6,6,6,0,0,48,64,96,148, + 136,116,1,3,3,6,2,4,128,128,128,3,9,9,6,2, + 254,32,64,64,128,128,128,64,64,32,3,9,9,6,1,254, + 128,64,64,32,32,32,64,64,128,5,4,4,6,0,3,32, + 216,32,80,5,5,5,6,0,1,32,32,248,32,32,2,3, + 3,6,1,254,64,64,128,4,1,1,6,1,3,240,1,2, + 2,6,2,0,128,128,6,9,9,6,0,255,4,8,16,16, + 32,32,64,64,128,4,7,7,6,1,0,96,144,144,144,144, + 144,96,4,7,7,6,1,0,32,224,32,32,32,32,240,4, + 7,7,6,1,0,96,144,16,32,64,128,240,4,7,7,6, + 1,0,96,144,16,96,16,144,96,5,7,7,6,0,0,16, + 48,80,144,248,16,16,4,7,7,6,1,0,240,128,128,224, + 16,16,224,4,7,7,6,1,0,112,128,128,224,144,144,96, + 4,7,7,6,1,0,240,144,16,32,32,64,64,4,7,7, + 6,1,0,96,144,144,96,144,144,96,4,7,7,6,1,0, + 96,144,144,112,16,16,224,1,5,5,6,2,0,128,128,0, + 128,128,2,6,6,6,1,254,64,64,0,64,64,128,3,5, + 5,6,1,1,32,64,128,64,32,4,3,3,6,1,2,240, + 0,240,3,5,5,6,2,1,128,64,32,64,128,4,6,6, + 6,1,0,96,144,32,64,0,64,6,8,8,6,0,255,56, + 68,156,168,168,156,64,56,6,6,6,6,0,0,112,40,72, + 120,72,204,5,6,6,6,0,0,240,72,112,72,72,240,4, + 6,6,6,1,0,96,144,128,128,144,96,5,6,6,6,0, + 0,240,72,72,72,72,240,5,6,6,6,0,0,248,72,112, + 64,72,248,5,6,6,6,0,0,248,72,112,80,64,224,4, + 6,6,6,1,0,96,144,128,176,144,96,6,6,6,6,0, + 0,204,72,120,72,72,204,5,6,6,6,1,0,248,32,32, + 32,32,248,5,6,6,6,1,0,120,16,16,144,144,96,6, + 6,6,6,0,0,216,80,96,80,72,228,5,6,6,6,1, + 0,224,64,64,64,72,248,5,6,6,6,1,0,136,216,168, + 168,136,216,6,6,6,6,0,0,220,72,104,88,72,200,4, + 6,6,6,1,0,96,144,144,144,144,96,5,6,6,6,1, + 0,240,72,72,112,64,224,4,7,7,6,1,255,96,144,144, + 144,144,96,112,6,6,6,6,0,0,240,72,72,112,72,228, + 4,6,6,6,1,0,112,128,96,16,144,224,5,6,6,6, + 0,0,248,168,32,32,32,112,6,6,6,6,0,0,204,72, + 72,72,72,48,6,6,6,6,0,0,220,136,80,80,80,32, + 6,6,6,6,0,0,220,136,168,168,80,80,5,6,6,6, + 1,0,216,80,32,32,80,216,5,6,6,6,1,0,216,136, + 80,32,32,112,4,6,6,6,1,0,240,144,32,64,144,240, + 2,9,9,6,2,254,192,128,128,128,128,128,128,128,192,5, + 9,9,6,1,255,128,128,64,64,32,32,16,16,8,2,9, + 9,6,2,254,192,64,64,64,64,64,64,64,192,5,3,3, + 6,1,4,32,80,136,6,1,1,6,0,254,252,2,2,2, + 6,1,6,128,64,5,5,5,6,0,0,96,16,112,144,104, + 5,7,7,6,0,0,192,64,112,72,72,72,240,4,5,5, + 6,1,0,96,144,128,144,96,5,7,7,6,1,0,48,16, + 112,144,144,144,104,4,5,5,6,1,0,96,144,224,144,96, + 4,7,7,6,1,0,48,64,240,64,64,64,240,5,7,7, + 6,1,254,104,144,144,144,112,16,224,6,7,7,6,0,0, + 192,64,112,72,72,72,236,5,7,7,6,1,0,32,0,96, + 32,32,32,248,3,9,9,6,1,254,32,0,224,32,32,32, + 32,32,192,5,7,7,6,0,0,192,64,88,80,96,80,216, + 5,7,7,6,1,0,96,32,32,32,32,32,248,6,5,5, + 6,0,0,208,168,168,168,172,6,5,5,6,0,0,176,72, + 72,72,236,4,5,5,6,1,0,96,144,144,144,96,5,7, + 7,6,0,254,176,72,72,72,112,64,240,5,7,7,6,1, + 254,104,144,144,144,112,16,56,5,5,5,6,1,0,184,64, + 64,64,240,4,5,5,6,1,0,112,128,96,16,224,5,7, + 7,6,1,0,64,64,240,64,64,72,48,6,5,5,6,0, + 0,216,72,72,72,52,6,5,5,6,0,0,204,68,40,40, + 16,6,5,5,6,0,0,172,168,168,80,80,5,5,5,6, + 0,0,216,80,32,80,216,5,7,7,6,0,254,216,72,72, + 72,48,32,192,4,5,5,6,1,0,240,32,64,144,240,3, + 9,9,6,2,254,32,64,64,64,128,64,64,64,32,1,9, + 9,6,2,254,128,128,128,128,128,128,128,128,128,3,9,9, + 6,2,254,128,64,64,64,32,64,64,64,128,4,2,2,6, + 1,3,80,160,255}; +/* + Fontname: -Adobe-Courier-Medium-R-Normal--14-100-100-100-M-90-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 9, '1' Height: 10 + Calculated Max Values w=10 h=13 x= 4 y= 8 dx= 9 dy= 0 ascent=12 len=24 + Font Bounding box w=14 h=20 x=-3 y=-5 + Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 + Pure Font ascent = 9 descent=-3 + X Font ascent =10 descent=-3 + Max Font ascent =12 descent=-3 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_courR10[3052] U8G_FONT_SECTION("u8g_font_courR10") = { + 0,14,20,253,251,9,1,224,3,220,32,255,253,12,253,10, + 253,0,0,0,9,0,1,1,9,9,9,3,0,128,128,128, + 128,128,128,0,128,128,4,4,4,9,2,6,144,144,144,144, + 5,10,10,9,2,255,80,80,80,248,80,80,248,80,80,80, + 5,13,13,9,2,254,32,32,120,136,128,192,48,8,136,240, + 32,32,32,8,10,10,9,0,0,96,144,144,115,12,48,204, + 18,18,12,6,8,8,9,1,0,56,64,64,64,168,144,152, + 100,1,4,4,9,3,5,128,128,128,128,3,12,12,9,3, + 254,32,64,64,128,128,128,128,128,128,64,64,32,3,12,12, + 9,2,254,128,64,64,32,32,32,32,32,32,64,64,128,5, + 6,6,9,1,3,32,32,248,32,80,136,7,7,7,9,1, + 1,16,16,16,254,16,16,16,3,4,4,9,2,254,96,96, + 192,128,6,1,1,9,1,4,252,2,2,2,9,3,0,192, + 192,6,11,11,9,1,255,4,8,8,16,16,32,32,64,64, + 128,128,6,10,10,9,1,0,48,72,132,132,132,132,132,132, + 72,48,5,10,10,9,1,0,32,96,160,32,32,32,32,32, + 32,248,5,10,10,9,1,0,112,136,136,8,16,32,64,128, + 136,248,6,10,10,9,1,0,56,68,4,4,24,4,4,4, + 132,120,6,10,10,9,1,0,24,40,40,72,72,136,136,252, + 8,28,6,10,10,9,1,0,124,64,64,64,120,4,4,4, + 132,120,6,10,10,9,1,0,56,64,128,128,184,196,132,132, + 68,56,6,10,10,9,1,0,252,132,4,8,8,8,16,16, + 16,16,5,10,10,9,2,0,112,136,136,136,112,136,136,136, + 136,112,6,10,10,9,1,0,112,136,132,132,140,116,4,4, + 8,112,2,7,7,9,3,0,192,192,0,0,0,192,192,3, + 9,9,9,2,254,96,96,0,0,0,96,96,192,128,7,7, + 7,9,0,1,6,24,96,128,96,24,6,7,3,3,9,1, + 3,254,0,254,7,7,7,9,1,1,192,48,12,2,12,48, + 192,5,9,9,9,1,0,112,136,8,8,48,32,0,32,32, + 7,10,10,9,1,255,56,68,132,156,164,164,158,128,64,56, + 9,9,18,9,255,0,56,0,8,0,20,0,20,0,34,0, + 62,0,65,0,65,0,247,128,7,9,9,9,0,0,252,66, + 66,66,124,66,66,66,252,7,9,9,9,1,0,58,70,130, + 128,128,128,128,66,60,8,9,9,9,0,0,252,66,65,65, + 65,65,65,66,252,7,9,9,9,1,0,254,66,66,72,120, + 72,66,66,254,7,9,9,9,1,0,254,66,66,72,120,72, + 64,64,240,8,9,9,9,0,0,58,70,130,128,128,143,130, + 66,60,8,9,9,9,0,0,231,66,66,66,126,66,66,66, + 231,5,9,9,9,2,0,248,32,32,32,32,32,32,32,248, + 7,9,9,9,1,0,62,8,8,8,8,136,136,136,112,8, + 9,9,9,0,0,238,68,72,80,112,72,68,68,227,8,9, + 9,9,0,0,248,32,32,32,32,33,33,33,255,9,9,18, + 9,0,0,227,128,99,0,85,0,85,0,73,0,73,0,65, + 0,65,0,227,128,8,9,9,9,0,0,231,98,82,82,74, + 74,70,70,226,8,9,9,9,0,0,60,66,129,129,129,129, + 129,66,60,7,9,9,9,1,0,252,66,66,66,66,124,64, + 64,240,8,11,11,9,0,254,60,66,129,129,129,129,129,66, + 60,49,94,8,9,9,9,0,0,252,66,66,66,68,120,68, + 66,225,6,9,9,9,1,0,116,140,132,128,120,4,132,196, + 184,7,9,9,9,1,0,254,146,146,16,16,16,16,16,124, + 8,9,9,9,0,0,231,66,66,66,66,66,66,66,60,9, + 9,18,9,0,0,227,128,65,0,65,0,34,0,34,0,20, + 0,20,0,8,0,8,0,9,9,18,9,0,0,227,128,65, + 0,73,0,73,0,85,0,85,0,34,0,34,0,34,0,8, + 9,9,9,0,0,231,66,36,36,24,36,36,66,231,7,9, + 9,9,0,0,238,68,68,40,40,16,16,16,124,6,9,9, + 9,1,0,252,132,136,16,32,32,68,132,252,3,12,12,9, + 3,254,224,128,128,128,128,128,128,128,128,128,128,224,6,11, + 11,9,1,255,128,64,64,32,32,16,16,8,8,4,4,3, + 12,12,9,2,254,224,32,32,32,32,32,32,32,32,32,32, + 224,5,5,5,9,2,4,32,80,80,136,136,9,1,2,9, + 0,253,255,128,4,2,2,9,2,8,192,48,7,7,7,9, + 1,0,120,132,4,124,132,132,122,8,10,10,9,0,0,192, + 64,64,92,98,65,65,65,98,220,7,7,7,9,1,0,58, + 70,130,128,128,66,60,8,10,10,9,0,0,6,2,2,58, + 70,130,130,130,70,59,7,7,7,9,1,0,56,68,130,254, + 128,66,60,7,10,10,9,1,0,30,32,32,252,32,32,32, + 32,32,248,8,10,10,9,0,253,59,70,130,130,130,70,58, + 2,4,120,8,10,10,9,0,0,192,64,64,92,98,66,66, + 66,66,231,5,10,10,9,2,0,32,32,0,224,32,32,32, + 32,32,248,5,13,13,9,1,253,8,8,0,248,8,8,8, + 8,8,8,8,16,224,7,10,10,9,1,0,192,64,64,78, + 72,80,96,80,72,206,5,10,10,9,2,0,224,32,32,32, + 32,32,32,32,32,248,9,7,14,9,0,0,219,0,109,0, + 73,0,73,0,73,0,73,0,237,128,8,7,7,9,0,0, + 220,98,66,66,66,66,231,8,7,7,9,0,0,60,66,129, + 129,129,66,60,8,10,10,9,0,253,220,98,65,65,65,98, + 92,64,64,240,8,10,10,9,0,253,59,70,130,130,130,70, + 58,2,2,15,7,7,7,9,1,0,204,82,96,64,64,64, + 248,6,7,7,9,1,0,124,132,128,120,4,132,248,7,9, + 9,9,0,0,32,32,252,32,32,32,32,34,28,8,7,7, + 9,0,0,198,66,66,66,66,70,59,8,7,7,9,0,0, + 231,66,66,36,36,24,24,9,7,14,9,0,0,227,128,65, + 0,73,0,73,0,42,0,54,0,34,0,7,7,7,9,0, + 0,238,68,40,16,40,68,238,8,10,10,9,0,253,231,66, + 66,36,36,24,8,16,16,120,5,7,7,9,2,0,248,136, + 16,32,64,136,248,3,12,12,9,2,254,32,64,64,64,64, + 128,64,64,64,64,64,32,1,11,11,9,3,254,128,128,128, + 128,128,128,128,128,128,128,128,3,12,12,9,2,254,128,64, + 64,64,64,32,64,64,64,64,64,128,6,2,2,9,1,3, + 100,152,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,255,255,255,255, + 255,255,255,0,0,0,9,0,1,1,9,9,9,4,254,128, + 128,0,128,128,128,128,128,128,5,9,9,9,2,0,32,32, + 120,136,128,136,112,32,32,7,9,9,9,1,0,24,36,32, + 32,120,32,32,66,252,6,6,6,9,1,1,180,72,132,132, + 72,180,7,9,9,9,1,0,238,68,68,40,124,16,124,16, + 56,1,11,11,9,3,254,128,128,128,128,0,0,128,128,128, + 128,128,6,10,10,9,1,255,60,68,64,240,136,68,60,8, + 136,240,5,1,1,9,2,8,216,8,9,9,9,0,0,60, + 66,153,165,161,165,153,66,60,4,6,6,9,2,3,192,32, + 224,176,0,240,8,7,7,9,0,0,17,34,68,204,68,34, + 17,7,3,3,9,1,3,254,2,2,6,1,1,9,1,4, + 252,8,9,9,9,0,0,60,66,185,165,185,169,165,66,60, + 4,1,1,9,2,8,240,4,4,4,9,2,6,96,144,144, + 96,7,7,7,9,1,1,16,16,254,16,16,0,254,4,6, + 6,9,2,4,96,144,16,32,64,240,4,6,6,9,2,4, + 96,144,96,16,144,96,4,2,2,9,2,8,48,192,8,10, + 10,9,0,253,198,66,66,66,66,70,123,64,64,64,7,10, + 10,9,1,255,126,148,148,148,116,20,20,20,20,62,2,2, + 2,9,3,3,192,192,3,3,3,9,2,253,64,32,224,3, + 6,6,9,3,4,64,192,64,64,64,224,4,6,6,9,2, + 3,96,144,144,96,0,240,8,7,7,9,0,0,136,68,34, + 51,34,68,136,10,10,20,9,255,0,64,0,193,0,66,0, + 68,0,68,128,233,128,18,128,20,128,39,192,64,128,10,10, + 20,9,255,0,64,0,193,0,66,0,68,0,69,128,234,64, + 16,64,16,128,33,0,67,192,10,10,20,9,255,0,96,0, + 145,0,98,0,20,0,148,128,105,128,18,128,20,128,39,192, + 64,128,5,9,9,9,2,254,32,32,0,32,96,128,128,136, + 112,9,12,24,9,0,0,48,0,12,0,0,0,56,0,8, + 0,20,0,20,0,34,0,62,0,65,0,65,0,247,128,9, + 12,24,9,0,0,12,0,48,0,0,0,56,0,8,0,20, + 0,20,0,34,0,62,0,65,0,65,0,247,128,9,12,24, + 9,0,0,8,0,20,0,0,0,56,0,8,0,20,0,20, + 0,34,0,62,0,65,0,65,0,247,128,9,12,24,9,0, + 0,26,0,44,0,0,0,56,0,8,0,20,0,20,0,34, + 0,62,0,65,0,65,0,247,128,9,11,22,9,0,0,54, + 0,0,0,56,0,8,0,20,0,20,0,34,0,62,0,65, + 0,65,0,247,128,9,12,24,9,0,0,24,0,36,0,24, + 0,56,0,8,0,20,0,20,0,34,0,62,0,65,0,65, + 0,247,128,9,9,18,9,255,0,31,128,12,128,20,0,20, + 128,39,128,60,128,68,0,68,128,239,128,7,12,12,9,1, + 253,58,70,130,128,128,128,128,66,60,16,8,56,7,12,12, + 9,1,0,96,24,0,254,66,66,72,120,72,66,66,254,7, + 12,12,9,1,0,12,48,0,254,66,66,72,120,72,66,66, + 254,7,12,12,9,1,0,16,40,0,254,66,66,72,120,72, + 66,66,254,7,11,11,9,1,0,108,0,254,66,66,72,120, + 72,66,66,254,5,12,12,9,2,0,192,48,0,248,32,32, + 32,32,32,32,32,248,5,12,12,9,2,0,24,96,0,248, + 32,32,32,32,32,32,32,248,5,12,12,9,2,0,32,80, + 0,248,32,32,32,32,32,32,32,248,5,11,11,9,2,0, + 216,0,248,32,32,32,32,32,32,32,248,8,9,9,9,0, + 0,252,66,65,65,241,65,65,66,252,8,12,12,9,0,0, + 26,44,0,231,98,82,82,74,74,70,70,226,8,12,12,9, + 0,0,48,12,0,60,66,129,129,129,129,129,66,60,8,12, + 12,9,0,0,12,48,0,60,66,129,129,129,129,129,66,60, + 8,12,12,9,0,0,16,40,0,60,66,129,129,129,129,129, + 66,60,8,12,12,9,0,0,26,44,0,60,66,129,129,129, + 129,129,66,60,8,11,11,9,0,0,102,0,60,66,129,129, + 129,129,129,66,60,7,7,7,9,1,1,130,68,40,16,40, + 68,130,9,9,18,9,255,0,30,128,33,0,66,128,68,128, + 72,128,80,128,32,128,97,0,158,0,8,12,12,9,0,0, + 48,12,0,231,66,66,66,66,66,66,66,60,8,12,12,9, + 0,0,12,48,0,231,66,66,66,66,66,66,66,60,8,12, + 12,9,0,0,16,40,0,231,66,66,66,66,66,66,66,60, + 8,11,11,9,0,0,102,0,231,66,66,66,66,66,66,66, + 60,7,12,12,9,1,0,12,48,0,238,68,68,40,40,16, + 16,16,124,7,9,9,9,0,0,224,64,124,66,66,66,124, + 64,224,7,9,9,9,0,0,56,68,68,88,68,66,66,82, + 204,7,10,10,9,1,0,96,24,0,120,132,4,124,132,140, + 118,7,10,10,9,1,0,24,96,0,120,132,4,124,132,140, + 118,7,10,10,9,1,0,16,40,0,120,132,4,124,132,140, + 118,7,10,10,9,1,0,52,88,0,120,132,4,124,132,140, + 118,7,9,9,9,1,0,108,0,120,132,4,124,132,140,118, + 7,10,10,9,1,0,48,72,48,120,132,4,124,132,140,118, + 8,7,7,9,0,0,118,137,9,127,136,137,118,7,10,10, + 9,1,253,58,70,130,128,128,66,60,16,8,56,7,10,10, + 9,1,0,96,24,0,56,68,130,254,128,66,60,7,10,10, + 9,1,0,12,48,0,56,68,130,254,128,66,60,7,10,10, + 9,1,0,16,40,0,56,68,130,254,128,66,60,7,9,9, + 9,1,0,108,0,56,68,130,254,128,66,60,5,10,10,9, + 2,0,192,48,0,224,32,32,32,32,32,248,5,10,10,9, + 2,0,48,192,0,224,32,32,32,32,32,248,5,10,10,9, + 2,0,32,80,0,224,32,32,32,32,32,248,5,9,9,9, + 2,0,216,0,224,32,32,32,32,32,248,8,12,12,9,0, + 0,2,228,24,40,68,60,66,129,129,129,66,60,8,10,10, + 9,0,0,26,44,0,220,98,66,66,66,66,231,8,10,10, + 9,0,0,48,12,0,60,66,129,129,129,66,60,8,10,10, + 9,0,0,12,48,0,60,66,129,129,129,66,60,8,10,10, + 9,0,0,16,40,0,60,66,129,129,129,66,60,8,10,10, + 9,0,0,26,44,0,60,66,129,129,129,66,60,8,9,9, + 9,0,0,108,0,60,66,129,129,129,66,60,8,7,7,9, + 0,1,24,24,0,255,0,24,24,8,7,7,9,0,0,61, + 70,137,145,161,66,188,8,10,10,9,0,0,48,12,0,198, + 66,66,66,66,70,59,8,10,10,9,0,0,12,48,0,198, + 66,66,66,66,70,59,8,10,10,9,0,0,16,40,0,198, + 66,66,66,66,70,59,8,9,9,9,0,0,108,0,198,66, + 66,66,66,70,59,8,13,13,9,0,253,6,24,0,231,66, + 66,36,36,24,8,16,16,120,8,12,12,9,0,253,192,64, + 92,98,65,65,65,98,92,64,64,240,8,12,12,9,0,253, + 54,0,231,66,66,36,36,24,8,16,16,120}; +/* + Fontname: -Adobe-Courier-Medium-R-Normal--14-100-100-100-M-90-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 9, '1' Height: 10 + Calculated Max Values w= 9 h=13 x= 3 y= 8 dx= 9 dy= 0 ascent=11 len=18 + Font Bounding box w=14 h=20 x=-3 y=-5 + Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 + Pure Font ascent = 9 descent=-3 + X Font ascent =10 descent=-3 + Max Font ascent =11 descent=-3 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_courR10r[1443] U8G_FONT_SECTION("u8g_font_courR10r") = { + 0,14,20,253,251,9,1,224,3,220,32,127,253,11,253,10, + 253,0,0,0,9,0,1,1,9,9,9,3,0,128,128,128, + 128,128,128,0,128,128,4,4,4,9,2,6,144,144,144,144, + 5,10,10,9,2,255,80,80,80,248,80,80,248,80,80,80, + 5,13,13,9,2,254,32,32,120,136,128,192,48,8,136,240, + 32,32,32,8,10,10,9,0,0,96,144,144,115,12,48,204, + 18,18,12,6,8,8,9,1,0,56,64,64,64,168,144,152, + 100,1,4,4,9,3,5,128,128,128,128,3,12,12,9,3, + 254,32,64,64,128,128,128,128,128,128,64,64,32,3,12,12, + 9,2,254,128,64,64,32,32,32,32,32,32,64,64,128,5, + 6,6,9,1,3,32,32,248,32,80,136,7,7,7,9,1, + 1,16,16,16,254,16,16,16,3,4,4,9,2,254,96,96, + 192,128,6,1,1,9,1,4,252,2,2,2,9,3,0,192, + 192,6,11,11,9,1,255,4,8,8,16,16,32,32,64,64, + 128,128,6,10,10,9,1,0,48,72,132,132,132,132,132,132, + 72,48,5,10,10,9,1,0,32,96,160,32,32,32,32,32, + 32,248,5,10,10,9,1,0,112,136,136,8,16,32,64,128, + 136,248,6,10,10,9,1,0,56,68,4,4,24,4,4,4, + 132,120,6,10,10,9,1,0,24,40,40,72,72,136,136,252, + 8,28,6,10,10,9,1,0,124,64,64,64,120,4,4,4, + 132,120,6,10,10,9,1,0,56,64,128,128,184,196,132,132, + 68,56,6,10,10,9,1,0,252,132,4,8,8,8,16,16, + 16,16,5,10,10,9,2,0,112,136,136,136,112,136,136,136, + 136,112,6,10,10,9,1,0,112,136,132,132,140,116,4,4, + 8,112,2,7,7,9,3,0,192,192,0,0,0,192,192,3, + 9,9,9,2,254,96,96,0,0,0,96,96,192,128,7,7, + 7,9,0,1,6,24,96,128,96,24,6,7,3,3,9,1, + 3,254,0,254,7,7,7,9,1,1,192,48,12,2,12,48, + 192,5,9,9,9,1,0,112,136,8,8,48,32,0,32,32, + 7,10,10,9,1,255,56,68,132,156,164,164,158,128,64,56, + 9,9,18,9,255,0,56,0,8,0,20,0,20,0,34,0, + 62,0,65,0,65,0,247,128,7,9,9,9,0,0,252,66, + 66,66,124,66,66,66,252,7,9,9,9,1,0,58,70,130, + 128,128,128,128,66,60,8,9,9,9,0,0,252,66,65,65, + 65,65,65,66,252,7,9,9,9,1,0,254,66,66,72,120, + 72,66,66,254,7,9,9,9,1,0,254,66,66,72,120,72, + 64,64,240,8,9,9,9,0,0,58,70,130,128,128,143,130, + 66,60,8,9,9,9,0,0,231,66,66,66,126,66,66,66, + 231,5,9,9,9,2,0,248,32,32,32,32,32,32,32,248, + 7,9,9,9,1,0,62,8,8,8,8,136,136,136,112,8, + 9,9,9,0,0,238,68,72,80,112,72,68,68,227,8,9, + 9,9,0,0,248,32,32,32,32,33,33,33,255,9,9,18, + 9,0,0,227,128,99,0,85,0,85,0,73,0,73,0,65, + 0,65,0,227,128,8,9,9,9,0,0,231,98,82,82,74, + 74,70,70,226,8,9,9,9,0,0,60,66,129,129,129,129, + 129,66,60,7,9,9,9,1,0,252,66,66,66,66,124,64, + 64,240,8,11,11,9,0,254,60,66,129,129,129,129,129,66, + 60,49,94,8,9,9,9,0,0,252,66,66,66,68,120,68, + 66,225,6,9,9,9,1,0,116,140,132,128,120,4,132,196, + 184,7,9,9,9,1,0,254,146,146,16,16,16,16,16,124, + 8,9,9,9,0,0,231,66,66,66,66,66,66,66,60,9, + 9,18,9,0,0,227,128,65,0,65,0,34,0,34,0,20, + 0,20,0,8,0,8,0,9,9,18,9,0,0,227,128,65, + 0,73,0,73,0,85,0,85,0,34,0,34,0,34,0,8, + 9,9,9,0,0,231,66,36,36,24,36,36,66,231,7,9, + 9,9,0,0,238,68,68,40,40,16,16,16,124,6,9,9, + 9,1,0,252,132,136,16,32,32,68,132,252,3,12,12,9, + 3,254,224,128,128,128,128,128,128,128,128,128,128,224,6,11, + 11,9,1,255,128,64,64,32,32,16,16,8,8,4,4,3, + 12,12,9,2,254,224,32,32,32,32,32,32,32,32,32,32, + 224,5,5,5,9,2,4,32,80,80,136,136,9,1,2,9, + 0,253,255,128,4,2,2,9,2,8,192,48,7,7,7,9, + 1,0,120,132,4,124,132,132,122,8,10,10,9,0,0,192, + 64,64,92,98,65,65,65,98,220,7,7,7,9,1,0,58, + 70,130,128,128,66,60,8,10,10,9,0,0,6,2,2,58, + 70,130,130,130,70,59,7,7,7,9,1,0,56,68,130,254, + 128,66,60,7,10,10,9,1,0,30,32,32,252,32,32,32, + 32,32,248,8,10,10,9,0,253,59,70,130,130,130,70,58, + 2,4,120,8,10,10,9,0,0,192,64,64,92,98,66,66, + 66,66,231,5,10,10,9,2,0,32,32,0,224,32,32,32, + 32,32,248,5,13,13,9,1,253,8,8,0,248,8,8,8, + 8,8,8,8,16,224,7,10,10,9,1,0,192,64,64,78, + 72,80,96,80,72,206,5,10,10,9,2,0,224,32,32,32, + 32,32,32,32,32,248,9,7,14,9,0,0,219,0,109,0, + 73,0,73,0,73,0,73,0,237,128,8,7,7,9,0,0, + 220,98,66,66,66,66,231,8,7,7,9,0,0,60,66,129, + 129,129,66,60,8,10,10,9,0,253,220,98,65,65,65,98, + 92,64,64,240,8,10,10,9,0,253,59,70,130,130,130,70, + 58,2,2,15,7,7,7,9,1,0,204,82,96,64,64,64, + 248,6,7,7,9,1,0,124,132,128,120,4,132,248,7,9, + 9,9,0,0,32,32,252,32,32,32,32,34,28,8,7,7, + 9,0,0,198,66,66,66,66,70,59,8,7,7,9,0,0, + 231,66,66,36,36,24,24,9,7,14,9,0,0,227,128,65, + 0,73,0,73,0,42,0,54,0,34,0,7,7,7,9,0, + 0,238,68,40,16,40,68,238,8,10,10,9,0,253,231,66, + 66,36,36,24,8,16,16,120,5,7,7,9,2,0,248,136, + 16,32,64,136,248,3,12,12,9,2,254,32,64,64,64,64, + 128,64,64,64,64,64,32,1,11,11,9,3,254,128,128,128, + 128,128,128,128,128,128,128,128,3,12,12,9,2,254,128,64, + 64,64,64,32,64,64,64,64,64,128,6,2,2,9,1,3, + 100,152,255}; +/* + Fontname: -Adobe-Courier-Medium-R-Normal--17-120-100-100-M-100-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 10, '1' Height: 11 + Calculated Max Values w=10 h=14 x= 4 y= 8 dx=10 dy= 0 ascent=14 len=28 + Font Bounding box w=15 h=24 x=-3 y=-6 + Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 + Pure Font ascent =10 descent=-3 + X Font ascent =11 descent=-3 + Max Font ascent =14 descent=-3 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_courR12[3471] U8G_FONT_SECTION("u8g_font_courR12") = { + 0,15,24,253,250,10,2,12,4,92,32,255,253,14,253,11, + 253,0,0,0,10,0,1,1,11,11,10,4,0,128,128,128, + 128,128,128,128,128,0,128,128,4,5,5,10,3,6,144,144, + 144,144,144,7,12,12,10,1,255,40,40,40,40,254,40,40, + 254,40,40,40,40,5,13,13,10,2,255,32,32,120,136,128, + 128,112,8,8,136,240,32,32,7,11,11,10,1,0,112,136, + 136,112,6,56,192,28,34,34,28,6,9,9,10,1,0,48, + 72,64,32,100,148,136,136,116,1,5,5,10,4,6,128,128, + 128,128,128,3,13,13,10,4,254,32,64,64,64,128,128,128, + 128,128,64,64,64,32,3,13,13,10,2,254,128,64,64,64, + 32,32,32,32,32,64,64,64,128,7,6,6,10,1,5,16, + 16,254,56,40,68,7,9,9,10,1,0,16,16,16,16,254, + 16,16,16,16,3,4,4,10,2,254,96,96,64,128,7,1, + 1,10,1,4,254,2,2,2,10,3,0,192,192,6,13,13, + 10,2,254,4,4,8,8,16,16,16,32,32,64,64,128,128, + 7,11,11,10,1,0,56,68,68,130,130,130,130,130,68,68, + 56,7,11,11,10,1,0,16,48,208,16,16,16,16,16,16, + 16,254,7,11,11,10,1,0,56,68,130,2,2,4,8,16, + 32,66,254,7,11,11,10,1,0,56,68,130,4,24,4,2, + 2,130,68,56,7,11,11,10,1,0,12,12,20,36,36,68, + 132,254,4,4,30,7,11,11,10,1,0,126,64,64,64,120, + 68,2,2,130,68,56,7,11,11,10,2,0,28,96,64,128, + 184,196,130,130,130,68,56,6,11,11,10,1,0,252,132,4, + 8,8,8,16,16,16,32,32,6,11,11,10,2,0,48,72, + 132,132,120,72,132,132,132,72,48,7,11,11,10,1,0,56, + 68,130,130,70,58,2,2,4,12,112,2,7,7,10,3,0, + 192,192,0,0,0,192,192,3,9,9,10,2,254,96,96,0, + 0,0,96,96,64,128,8,9,9,10,1,0,1,6,24,96, + 128,96,24,6,1,8,4,4,10,1,3,255,0,0,255,8, + 9,9,10,1,0,128,96,24,6,1,6,24,96,128,6,10, + 10,10,2,0,120,132,132,4,24,32,32,0,32,32,9,12, + 24,10,0,255,62,0,65,0,65,0,128,128,156,128,164,128, + 164,128,164,128,159,0,64,0,65,0,62,0,9,10,20,10, + 0,0,120,0,20,0,20,0,34,0,34,0,34,0,62,0, + 65,0,65,0,227,128,8,10,10,10,1,0,252,66,65,66, + 124,66,65,65,66,252,8,10,10,10,1,0,29,99,65,128, + 128,128,128,65,99,28,8,10,10,10,1,0,248,70,66,65, + 65,65,65,66,70,248,7,10,10,10,1,0,254,66,66,72, + 120,72,64,66,66,254,7,10,10,10,1,0,254,66,66,72, + 120,72,64,64,64,240,9,10,20,10,1,0,29,0,99,0, + 65,0,128,0,128,0,135,128,129,0,65,0,97,0,30,0, + 8,10,10,10,1,0,231,66,66,66,126,66,66,66,66,231, + 7,10,10,10,1,0,254,16,16,16,16,16,16,16,16,254, + 8,10,10,10,1,0,63,4,4,4,4,4,132,132,132,120, + 8,10,10,10,1,0,247,66,68,72,80,120,68,68,66,243, + 8,10,10,10,1,0,248,32,32,32,32,32,33,33,33,255, + 9,10,20,10,0,0,193,128,99,0,99,0,85,0,85,0, + 73,0,73,0,65,0,65,0,227,128,9,10,20,10,0,0, + 231,128,97,0,81,0,81,0,73,0,73,0,69,0,69,0, + 67,0,243,0,8,10,10,10,1,0,60,66,66,129,129,129, + 129,66,66,60,8,10,10,10,1,0,252,66,65,65,66,124, + 64,64,64,248,8,12,12,10,1,254,60,66,66,129,129,129, + 129,66,66,60,17,46,8,10,10,10,1,0,248,68,66,66, + 68,120,68,66,66,243,7,10,10,10,1,0,58,70,130,128, + 112,12,2,130,196,184,7,10,10,10,1,0,254,146,146,146, + 16,16,16,16,16,124,9,10,20,10,0,0,247,128,65,0, + 65,0,65,0,65,0,65,0,65,0,65,0,34,0,28,0, + 9,10,20,10,0,0,227,128,65,0,65,0,34,0,34,0, + 34,0,20,0,20,0,8,0,8,0,9,10,20,10,0,0, + 247,128,65,0,73,0,73,0,85,0,85,0,85,0,34,0, + 34,0,34,0,9,10,20,10,0,0,227,128,65,0,34,0, + 20,0,8,0,8,0,20,0,34,0,65,0,227,128,9,10, + 20,10,0,0,227,128,65,0,34,0,34,0,20,0,8,0, + 8,0,8,0,8,0,62,0,7,10,10,10,1,0,254,130, + 132,8,16,16,32,66,130,254,3,13,13,10,4,254,224,128, + 128,128,128,128,128,128,128,128,128,128,224,6,13,13,10,2, + 254,128,128,64,64,32,32,32,16,16,8,8,4,4,3,13, + 13,10,2,254,224,32,32,32,32,32,32,32,32,32,32,32, + 224,7,4,4,10,1,7,16,40,68,130,10,1,2,10,0, + 253,255,192,3,3,3,10,2,8,128,64,32,7,7,7,10, + 1,0,56,68,4,124,132,132,122,8,10,10,10,0,0,192, + 64,64,92,98,65,65,65,98,220,7,7,7,10,1,0,58, + 70,130,128,128,66,60,8,10,10,10,1,0,6,2,2,58, + 70,130,130,130,70,59,7,7,7,10,1,0,56,68,130,254, + 128,66,60,7,10,10,10,2,0,28,34,32,252,32,32,32, + 32,32,252,8,10,10,10,1,253,59,70,130,130,130,70,58, + 2,2,60,8,10,10,10,1,0,192,64,64,92,98,66,66, + 66,66,231,7,10,10,10,1,0,16,16,0,112,16,16,16, + 16,16,254,5,13,13,10,2,253,16,16,0,248,8,8,8, + 8,8,8,8,8,240,8,10,10,10,1,0,192,64,64,79, + 68,72,112,72,68,207,7,10,10,10,1,0,112,16,16,16, + 16,16,16,16,16,254,9,7,14,10,0,0,219,0,109,0, + 73,0,73,0,73,0,73,0,237,128,8,7,7,10,1,0, + 220,98,66,66,66,66,231,7,7,7,10,1,0,56,68,130, + 130,130,68,56,8,10,10,10,1,253,220,98,65,65,65,98, + 92,64,64,240,8,10,10,10,1,253,59,70,130,130,130,70, + 58,2,2,15,8,7,7,10,1,0,238,49,32,32,32,32, + 252,6,7,7,10,2,0,124,132,128,120,4,132,248,8,9, + 9,10,0,0,32,32,254,32,32,32,32,33,30,8,7,7, + 10,1,0,198,66,66,66,66,70,59,9,7,14,10,0,0, + 247,128,65,0,34,0,34,0,20,0,20,0,8,0,9,7, + 14,10,0,0,227,128,65,0,73,0,42,0,42,0,54,0, + 34,0,7,7,7,10,1,0,238,68,40,16,40,68,238,9, + 10,20,10,0,253,227,128,65,0,34,0,34,0,20,0,20, + 0,8,0,8,0,16,0,120,0,6,7,7,10,2,0,252, + 136,16,32,64,132,252,3,13,13,10,3,254,32,64,64,64, + 64,64,128,64,64,64,64,64,32,1,12,12,10,4,254,128, + 128,128,128,128,128,128,128,128,128,128,128,3,13,13,10,3, + 254,128,64,64,64,64,64,32,64,64,64,64,64,128,7,3, + 3,10,1,3,96,146,12,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,255,255,255,255,255,255,255,0,0,0,10,0,1,1,10, + 10,10,4,253,128,128,0,128,128,128,128,128,128,128,5,10, + 10,10,2,0,32,32,120,136,128,128,136,112,32,32,8,10, + 10,10,1,0,28,34,32,32,248,32,32,32,65,255,7,7, + 7,10,1,1,130,124,68,68,68,124,130,9,10,20,10,0, + 0,227,128,65,0,34,0,34,0,20,0,62,0,8,0,62, + 0,8,0,62,0,1,12,12,10,4,254,128,128,128,128,128, + 0,0,128,128,128,128,128,9,12,24,10,0,255,31,0,33, + 0,33,0,112,0,140,0,131,0,96,128,24,128,7,0,66, + 0,66,0,124,0,4,2,2,10,3,8,144,144,10,10,20, + 10,0,0,30,0,33,0,64,128,142,64,144,64,144,64,142, + 64,64,128,33,0,30,0,5,7,7,10,2,3,112,8,120, + 136,120,0,248,7,7,7,10,1,0,18,36,72,144,72,36, + 18,7,4,4,10,1,2,254,2,2,2,7,1,1,10,1, + 4,254,10,10,20,10,0,0,30,0,33,0,64,128,156,64, + 146,64,156,64,146,64,64,128,33,0,30,0,5,1,1,10, + 2,8,248,5,5,5,10,2,6,112,136,136,136,112,7,9, + 9,10,1,0,16,16,16,254,16,16,16,0,254,4,6,6, + 10,2,5,96,144,32,64,144,240,4,6,6,10,3,5,96, + 144,32,16,144,96,3,3,3,10,4,8,32,64,128,8,10, + 10,10,1,253,198,66,66,66,66,70,123,64,64,64,7,12, + 12,10,1,255,62,84,148,148,148,84,52,20,20,20,20,62, + 2,2,2,10,4,4,192,192,3,4,4,10,3,253,64,64, + 32,224,5,6,6,10,2,5,32,224,32,32,32,248,5,7, + 7,10,2,3,112,136,136,136,112,0,248,7,7,7,10,1, + 0,144,72,36,18,36,72,144,10,11,22,10,0,0,32,0, + 224,64,32,128,33,0,34,0,252,128,9,128,18,128,36,128, + 71,192,0,128,10,11,22,10,0,0,32,0,224,64,32,128, + 33,0,34,0,253,128,10,64,16,128,33,0,66,64,3,192, + 10,11,22,10,0,0,96,0,144,64,32,128,17,0,146,0, + 100,128,9,128,18,128,36,128,71,192,0,128,6,10,10,10, + 1,253,16,16,0,16,16,96,128,132,132,120,9,14,28,10, + 0,0,32,0,16,0,8,0,0,0,120,0,20,0,20,0, + 34,0,34,0,34,0,62,0,65,0,65,0,227,128,9,14, + 28,10,0,0,4,0,8,0,16,0,0,0,120,0,20,0, + 20,0,34,0,34,0,34,0,62,0,65,0,65,0,227,128, + 9,14,28,10,0,0,8,0,20,0,34,0,0,0,120,0, + 20,0,20,0,34,0,34,0,34,0,62,0,65,0,65,0, + 227,128,9,13,26,10,0,0,50,0,76,0,0,0,120,0, + 20,0,20,0,34,0,34,0,34,0,62,0,65,0,65,0, + 227,128,9,13,26,10,0,0,36,0,36,0,0,0,120,0, + 20,0,20,0,34,0,34,0,34,0,62,0,65,0,65,0, + 227,128,9,14,28,10,0,0,24,0,36,0,36,0,24,0, + 120,0,20,0,20,0,34,0,34,0,34,0,62,0,65,0, + 65,0,227,128,9,10,20,10,0,0,127,128,40,128,40,128, + 74,0,78,0,122,0,72,128,136,128,136,128,223,128,8,13, + 13,10,1,253,29,99,65,128,128,128,128,65,99,28,16,8, + 56,7,14,14,10,1,0,32,16,8,0,254,66,66,72,120, + 72,64,66,66,254,7,14,14,10,1,0,4,8,16,0,254, + 66,66,72,120,72,64,66,66,254,7,14,14,10,1,0,16, + 40,68,0,254,66,66,72,120,72,64,66,66,254,7,13,13, + 10,1,0,36,36,0,254,66,66,72,120,72,64,66,66,254, + 7,14,14,10,1,0,32,16,8,0,254,16,16,16,16,16, + 16,16,16,254,7,14,14,10,1,0,8,16,32,0,254,16, + 16,16,16,16,16,16,16,254,7,14,14,10,1,0,16,40, + 68,0,254,16,16,16,16,16,16,16,16,254,7,13,13,10, + 1,0,68,68,0,254,16,16,16,16,16,16,16,16,254,8, + 10,10,10,1,0,248,70,66,65,241,65,65,66,70,248,9, + 13,26,10,0,0,25,0,38,0,0,0,231,128,97,0,81, + 0,81,0,73,0,73,0,69,0,69,0,67,0,243,0,8, + 14,14,10,1,0,32,16,8,0,60,66,66,129,129,129,129, + 66,66,60,8,14,14,10,1,0,4,8,16,0,60,66,66, + 129,129,129,129,66,66,60,8,14,14,10,1,0,8,20,34, + 0,60,66,66,129,129,129,129,66,66,60,8,13,13,10,1, + 0,50,76,0,60,66,66,129,129,129,129,66,66,60,8,13, + 13,10,1,0,36,36,0,60,66,66,129,129,129,129,66,66, + 60,7,7,7,10,1,1,130,68,40,16,40,68,130,8,10, + 10,10,1,0,61,66,66,133,137,145,161,66,66,188,9,14, + 28,10,0,0,16,0,8,0,4,0,0,0,247,128,65,0, + 65,0,65,0,65,0,65,0,65,0,65,0,34,0,28,0, + 9,14,28,10,0,0,2,0,4,0,8,0,0,0,247,128, + 65,0,65,0,65,0,65,0,65,0,65,0,65,0,34,0, + 28,0,9,14,28,10,0,0,8,0,20,0,34,0,0,0, + 247,128,65,0,65,0,65,0,65,0,65,0,65,0,65,0, + 34,0,28,0,9,13,26,10,0,0,34,0,34,0,0,0, + 247,128,65,0,65,0,65,0,65,0,65,0,65,0,65,0, + 34,0,28,0,9,14,28,10,0,0,2,0,4,0,8,0, + 0,0,227,128,65,0,34,0,34,0,20,0,8,0,8,0, + 8,0,8,0,62,0,8,10,10,10,1,0,224,64,124,66, + 65,66,124,64,64,224,7,11,11,10,1,0,56,68,68,72, + 88,68,66,66,66,82,204,7,11,11,10,1,0,32,16,8, + 0,56,68,4,124,132,132,122,7,11,11,10,1,0,4,8, + 16,0,56,68,4,124,132,132,122,7,11,11,10,1,0,16, + 40,68,0,56,68,4,124,132,132,122,7,10,10,10,1,0, + 50,76,0,56,68,4,124,132,132,122,7,10,10,10,1,0, + 36,36,0,56,68,4,124,132,132,122,7,12,12,10,1,0, + 24,36,36,24,0,56,68,4,124,132,132,122,9,7,14,10, + 0,0,55,0,72,128,8,128,127,128,136,0,136,128,119,0, + 7,10,10,10,1,253,58,70,130,128,128,66,60,16,8,56, + 7,11,11,10,1,0,32,16,8,0,56,68,130,254,128,66, + 60,7,11,11,10,1,0,4,8,16,0,56,68,130,254,128, + 66,60,7,11,11,10,1,0,16,40,68,0,56,68,130,254, + 128,66,60,7,10,10,10,1,0,36,36,0,56,68,130,254, + 128,66,60,7,11,11,10,1,0,32,16,8,0,112,16,16, + 16,16,16,254,7,11,11,10,1,0,8,16,32,0,112,16, + 16,16,16,16,254,7,11,11,10,1,0,16,40,68,0,112, + 16,16,16,16,16,254,7,10,10,10,1,0,72,72,0,112, + 16,16,16,16,16,254,7,11,11,10,1,0,230,24,104,4, + 60,66,130,130,130,68,56,8,10,10,10,1,0,50,76,0, + 220,98,66,66,66,66,231,7,11,11,10,1,0,32,16,8, + 0,56,68,130,130,130,68,56,7,11,11,10,1,0,8,16, + 32,0,56,68,130,130,130,68,56,7,11,11,10,1,0,16, + 40,68,0,56,68,130,130,130,68,56,7,10,10,10,1,0, + 50,76,0,56,68,130,130,130,68,56,7,10,10,10,1,0, + 68,68,0,56,68,130,130,130,68,56,8,7,7,10,1,1, + 24,24,0,255,0,24,24,7,9,9,10,1,255,2,58,68, + 138,146,162,68,184,128,8,11,11,10,1,0,32,16,8,0, + 198,66,66,66,66,70,59,8,11,11,10,1,0,4,8,16, + 0,198,66,66,66,66,70,59,8,11,11,10,1,0,16,40, + 68,0,198,66,66,66,66,70,59,8,10,10,10,1,0,36, + 36,0,198,66,66,66,66,70,59,9,14,28,10,0,253,2, + 0,4,0,8,0,0,0,227,128,65,0,34,0,34,0,20, + 0,20,0,8,0,8,0,16,0,120,0,8,14,14,10,1, + 253,192,64,64,64,92,98,65,65,65,98,92,64,64,240,9, + 13,26,10,0,253,18,0,18,0,0,0,227,128,65,0,34, + 0,34,0,20,0,20,0,8,0,8,0,16,0,120,0}; +/* + Fontname: -Adobe-Courier-Medium-R-Normal--17-120-100-100-M-100-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 10, '1' Height: 11 + Calculated Max Values w=10 h=13 x= 4 y= 8 dx=10 dy= 0 ascent=12 len=24 + Font Bounding box w=15 h=24 x=-3 y=-6 + Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 + Pure Font ascent =10 descent=-3 + X Font ascent =11 descent=-3 + Max Font ascent =12 descent=-3 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_courR12r[1592] U8G_FONT_SECTION("u8g_font_courR12r") = { + 0,15,24,253,250,10,2,12,4,92,32,127,253,12,253,11, + 253,0,0,0,10,0,1,1,11,11,10,4,0,128,128,128, + 128,128,128,128,128,0,128,128,4,5,5,10,3,6,144,144, + 144,144,144,7,12,12,10,1,255,40,40,40,40,254,40,40, + 254,40,40,40,40,5,13,13,10,2,255,32,32,120,136,128, + 128,112,8,8,136,240,32,32,7,11,11,10,1,0,112,136, + 136,112,6,56,192,28,34,34,28,6,9,9,10,1,0,48, + 72,64,32,100,148,136,136,116,1,5,5,10,4,6,128,128, + 128,128,128,3,13,13,10,4,254,32,64,64,64,128,128,128, + 128,128,64,64,64,32,3,13,13,10,2,254,128,64,64,64, + 32,32,32,32,32,64,64,64,128,7,6,6,10,1,5,16, + 16,254,56,40,68,7,9,9,10,1,0,16,16,16,16,254, + 16,16,16,16,3,4,4,10,2,254,96,96,64,128,7,1, + 1,10,1,4,254,2,2,2,10,3,0,192,192,6,13,13, + 10,2,254,4,4,8,8,16,16,16,32,32,64,64,128,128, + 7,11,11,10,1,0,56,68,68,130,130,130,130,130,68,68, + 56,7,11,11,10,1,0,16,48,208,16,16,16,16,16,16, + 16,254,7,11,11,10,1,0,56,68,130,2,2,4,8,16, + 32,66,254,7,11,11,10,1,0,56,68,130,4,24,4,2, + 2,130,68,56,7,11,11,10,1,0,12,12,20,36,36,68, + 132,254,4,4,30,7,11,11,10,1,0,126,64,64,64,120, + 68,2,2,130,68,56,7,11,11,10,2,0,28,96,64,128, + 184,196,130,130,130,68,56,6,11,11,10,1,0,252,132,4, + 8,8,8,16,16,16,32,32,6,11,11,10,2,0,48,72, + 132,132,120,72,132,132,132,72,48,7,11,11,10,1,0,56, + 68,130,130,70,58,2,2,4,12,112,2,7,7,10,3,0, + 192,192,0,0,0,192,192,3,9,9,10,2,254,96,96,0, + 0,0,96,96,64,128,8,9,9,10,1,0,1,6,24,96, + 128,96,24,6,1,8,4,4,10,1,3,255,0,0,255,8, + 9,9,10,1,0,128,96,24,6,1,6,24,96,128,6,10, + 10,10,2,0,120,132,132,4,24,32,32,0,32,32,9,12, + 24,10,0,255,62,0,65,0,65,0,128,128,156,128,164,128, + 164,128,164,128,159,0,64,0,65,0,62,0,9,10,20,10, + 0,0,120,0,20,0,20,0,34,0,34,0,34,0,62,0, + 65,0,65,0,227,128,8,10,10,10,1,0,252,66,65,66, + 124,66,65,65,66,252,8,10,10,10,1,0,29,99,65,128, + 128,128,128,65,99,28,8,10,10,10,1,0,248,70,66,65, + 65,65,65,66,70,248,7,10,10,10,1,0,254,66,66,72, + 120,72,64,66,66,254,7,10,10,10,1,0,254,66,66,72, + 120,72,64,64,64,240,9,10,20,10,1,0,29,0,99,0, + 65,0,128,0,128,0,135,128,129,0,65,0,97,0,30,0, + 8,10,10,10,1,0,231,66,66,66,126,66,66,66,66,231, + 7,10,10,10,1,0,254,16,16,16,16,16,16,16,16,254, + 8,10,10,10,1,0,63,4,4,4,4,4,132,132,132,120, + 8,10,10,10,1,0,247,66,68,72,80,120,68,68,66,243, + 8,10,10,10,1,0,248,32,32,32,32,32,33,33,33,255, + 9,10,20,10,0,0,193,128,99,0,99,0,85,0,85,0, + 73,0,73,0,65,0,65,0,227,128,9,10,20,10,0,0, + 231,128,97,0,81,0,81,0,73,0,73,0,69,0,69,0, + 67,0,243,0,8,10,10,10,1,0,60,66,66,129,129,129, + 129,66,66,60,8,10,10,10,1,0,252,66,65,65,66,124, + 64,64,64,248,8,12,12,10,1,254,60,66,66,129,129,129, + 129,66,66,60,17,46,8,10,10,10,1,0,248,68,66,66, + 68,120,68,66,66,243,7,10,10,10,1,0,58,70,130,128, + 112,12,2,130,196,184,7,10,10,10,1,0,254,146,146,146, + 16,16,16,16,16,124,9,10,20,10,0,0,247,128,65,0, + 65,0,65,0,65,0,65,0,65,0,65,0,34,0,28,0, + 9,10,20,10,0,0,227,128,65,0,65,0,34,0,34,0, + 34,0,20,0,20,0,8,0,8,0,9,10,20,10,0,0, + 247,128,65,0,73,0,73,0,85,0,85,0,85,0,34,0, + 34,0,34,0,9,10,20,10,0,0,227,128,65,0,34,0, + 20,0,8,0,8,0,20,0,34,0,65,0,227,128,9,10, + 20,10,0,0,227,128,65,0,34,0,34,0,20,0,8,0, + 8,0,8,0,8,0,62,0,7,10,10,10,1,0,254,130, + 132,8,16,16,32,66,130,254,3,13,13,10,4,254,224,128, + 128,128,128,128,128,128,128,128,128,128,224,6,13,13,10,2, + 254,128,128,64,64,32,32,32,16,16,8,8,4,4,3,13, + 13,10,2,254,224,32,32,32,32,32,32,32,32,32,32,32, + 224,7,4,4,10,1,7,16,40,68,130,10,1,2,10,0, + 253,255,192,3,3,3,10,2,8,128,64,32,7,7,7,10, + 1,0,56,68,4,124,132,132,122,8,10,10,10,0,0,192, + 64,64,92,98,65,65,65,98,220,7,7,7,10,1,0,58, + 70,130,128,128,66,60,8,10,10,10,1,0,6,2,2,58, + 70,130,130,130,70,59,7,7,7,10,1,0,56,68,130,254, + 128,66,60,7,10,10,10,2,0,28,34,32,252,32,32,32, + 32,32,252,8,10,10,10,1,253,59,70,130,130,130,70,58, + 2,2,60,8,10,10,10,1,0,192,64,64,92,98,66,66, + 66,66,231,7,10,10,10,1,0,16,16,0,112,16,16,16, + 16,16,254,5,13,13,10,2,253,16,16,0,248,8,8,8, + 8,8,8,8,8,240,8,10,10,10,1,0,192,64,64,79, + 68,72,112,72,68,207,7,10,10,10,1,0,112,16,16,16, + 16,16,16,16,16,254,9,7,14,10,0,0,219,0,109,0, + 73,0,73,0,73,0,73,0,237,128,8,7,7,10,1,0, + 220,98,66,66,66,66,231,7,7,7,10,1,0,56,68,130, + 130,130,68,56,8,10,10,10,1,253,220,98,65,65,65,98, + 92,64,64,240,8,10,10,10,1,253,59,70,130,130,130,70, + 58,2,2,15,8,7,7,10,1,0,238,49,32,32,32,32, + 252,6,7,7,10,2,0,124,132,128,120,4,132,248,8,9, + 9,10,0,0,32,32,254,32,32,32,32,33,30,8,7,7, + 10,1,0,198,66,66,66,66,70,59,9,7,14,10,0,0, + 247,128,65,0,34,0,34,0,20,0,20,0,8,0,9,7, + 14,10,0,0,227,128,65,0,73,0,42,0,42,0,54,0, + 34,0,7,7,7,10,1,0,238,68,40,16,40,68,238,9, + 10,20,10,0,253,227,128,65,0,34,0,34,0,20,0,20, + 0,8,0,8,0,16,0,120,0,6,7,7,10,2,0,252, + 136,16,32,64,132,252,3,13,13,10,3,254,32,64,64,64, + 64,64,128,64,64,64,64,64,32,1,12,12,10,4,254,128, + 128,128,128,128,128,128,128,128,128,128,128,3,13,13,10,3, + 254,128,64,64,64,64,64,32,64,64,64,64,64,128,7,3, + 3,10,1,3,96,146,12,255}; +/* + Fontname: -Adobe-Courier-Medium-R-Normal--20-140-100-100-M-110-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 11, '1' Height: 12 + Calculated Max Values w=11 h=16 x= 5 y=10 dx=11 dy= 0 ascent=15 len=32 + Font Bounding box w=16 h=26 x=-3 y=-7 + Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 + Pure Font ascent =11 descent=-4 + X Font ascent =12 descent=-4 + Max Font ascent =15 descent=-4 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_courR14[4276] U8G_FONT_SECTION("u8g_font_courR14") = { + 0,16,26,253,249,11,2,74,5,74,32,255,252,15,252,12, + 252,0,0,0,11,0,1,2,12,12,11,4,0,192,192,192, + 192,192,192,64,64,0,0,192,192,6,5,5,11,3,7,204, + 204,204,68,68,8,15,15,11,1,254,18,18,18,18,18,127, + 36,36,36,254,36,36,36,36,36,6,15,15,11,2,254,16, + 16,116,140,132,128,96,24,4,132,196,184,16,16,16,9,12, + 24,11,1,0,56,0,68,0,68,0,68,0,57,128,14,0, + 48,0,206,0,17,0,17,0,17,0,14,0,7,10,10,11, + 2,0,56,64,64,64,32,116,136,136,152,102,2,5,5,11, + 4,7,192,192,192,64,64,3,14,14,11,5,254,32,64,64, + 128,128,128,128,128,128,128,128,64,64,32,3,14,14,11,3, + 254,128,64,64,32,32,32,32,32,32,32,32,64,64,128,7, + 8,8,11,2,4,16,16,16,254,16,40,68,68,9,9,18, + 11,1,1,8,0,8,0,8,0,8,0,255,128,8,0,8, + 0,8,0,8,0,4,5,5,11,3,253,48,48,96,64,128, + 8,1,1,11,1,5,255,2,2,2,11,4,0,192,192,8, + 16,16,11,1,253,1,1,2,2,4,4,8,8,16,16,32, + 32,64,64,128,128,7,12,12,11,2,0,56,68,130,130,130, + 130,130,130,130,130,68,56,7,12,12,11,2,0,48,208,16, + 16,16,16,16,16,16,16,16,254,8,12,12,11,1,0,28, + 34,65,65,1,2,4,8,16,33,65,255,7,12,12,11,2, + 0,120,132,2,2,4,56,4,2,2,2,132,120,7,12,12, + 11,2,0,12,20,20,36,36,68,68,132,254,4,4,30,8, + 12,12,11,1,0,126,64,64,64,92,98,1,1,1,1,194, + 60,7,12,12,11,2,0,28,96,64,128,128,184,196,130,130, + 130,68,56,7,12,12,11,2,0,254,130,2,2,4,4,4, + 4,8,8,8,8,7,12,12,11,2,0,56,68,130,130,68, + 56,68,130,130,130,68,56,7,12,12,11,2,0,56,68,130, + 130,130,70,58,2,2,4,12,112,2,8,8,11,4,0,192, + 192,0,0,0,0,192,192,4,11,11,11,2,253,48,48,0, + 0,0,0,48,48,96,64,128,10,9,18,11,0,1,0,192, + 3,0,12,0,48,0,192,0,48,0,12,0,3,0,0,192, + 9,4,8,11,1,3,255,128,0,0,0,0,255,128,10,9, + 18,11,0,1,192,0,48,0,12,0,3,0,0,192,3,0, + 12,0,48,0,192,0,7,11,11,11,2,0,124,130,130,2, + 2,28,16,16,0,24,24,8,13,13,11,2,255,56,68,130, + 130,142,146,146,146,143,128,128,67,60,11,11,22,11,0,0, + 60,0,4,0,10,0,10,0,17,0,17,0,32,128,63,128, + 64,64,64,64,241,224,9,11,22,11,1,0,252,0,66,0, + 65,0,65,0,66,0,126,0,65,0,64,128,64,128,65,0, + 254,0,9,11,22,11,1,0,30,128,97,128,64,128,128,0, + 128,0,128,0,128,0,128,0,64,128,97,0,30,0,9,11, + 22,11,1,0,252,0,67,0,65,0,64,128,64,128,64,128, + 64,128,64,128,65,0,67,0,252,0,8,11,11,11,1,0, + 255,65,65,65,72,120,72,65,65,65,255,8,11,11,11,1, + 0,255,65,65,65,72,120,72,64,64,64,240,10,11,22,11, + 1,0,30,128,97,128,64,128,128,0,128,0,128,0,131,192, + 128,128,64,128,97,0,30,0,9,11,22,11,1,0,227,128, + 65,0,65,0,65,0,65,0,127,0,65,0,65,0,65,0, + 65,0,227,128,7,11,11,11,2,0,254,16,16,16,16,16, + 16,16,16,16,254,9,11,22,11,1,0,31,128,2,0,2, + 0,2,0,2,0,2,0,130,0,130,0,130,0,68,0,56, + 0,10,11,22,11,1,0,243,192,65,0,66,0,68,0,72, + 0,88,0,100,0,66,0,66,0,65,0,241,192,9,11,22, + 11,1,0,248,0,32,0,32,0,32,0,32,0,32,0,32, + 0,32,128,32,128,32,128,255,128,11,11,22,11,0,0,224, + 224,96,192,81,64,81,64,74,64,74,64,68,64,68,64,64, + 64,64,64,241,224,9,11,22,11,1,0,231,128,97,0,81, + 0,81,0,73,0,73,0,69,0,69,0,67,0,67,0,241, + 0,9,11,22,11,1,0,28,0,99,0,65,0,128,128,128, + 128,128,128,128,128,128,128,65,0,99,0,28,0,9,11,22, + 11,1,0,254,0,65,0,64,128,64,128,65,0,126,0,64, + 0,64,0,64,0,64,0,248,0,9,13,26,11,1,254,28, + 0,99,0,65,0,128,128,128,128,128,128,128,128,128,128,65, + 0,99,0,28,0,56,128,71,0,10,11,22,11,1,0,254, + 0,65,0,64,128,64,128,65,0,126,0,68,0,66,0,66, + 0,65,0,240,192,8,11,11,11,1,0,61,67,129,128,64, + 60,2,1,129,194,188,9,11,22,11,1,0,255,128,136,128, + 136,128,136,128,8,0,8,0,8,0,8,0,8,0,8,0, + 62,0,10,11,22,11,0,0,243,192,64,128,64,128,64,128, + 64,128,64,128,64,128,64,128,64,128,33,0,30,0,11,11, + 22,11,0,0,241,224,64,64,64,64,32,128,32,128,17,0, + 17,0,10,0,10,0,4,0,4,0,11,11,22,11,0,0, + 241,224,64,64,68,64,68,64,68,64,42,128,42,128,42,128, + 42,128,17,0,17,0,9,11,22,11,1,0,227,128,65,0, + 34,0,34,0,20,0,8,0,20,0,34,0,34,0,65,0, + 227,128,9,11,22,11,1,0,227,128,65,0,34,0,34,0, + 20,0,20,0,8,0,8,0,8,0,8,0,62,0,7,11, + 11,11,2,0,254,130,130,4,8,16,32,64,130,130,254,3, + 15,15,11,5,253,224,128,128,128,128,128,128,128,128,128,128, + 128,128,128,224,8,16,16,11,2,253,128,128,64,64,32,32, + 16,16,8,8,4,4,2,2,1,1,3,15,15,11,3,253, + 224,32,32,32,32,32,32,32,32,32,32,32,32,32,224,7, + 4,4,11,2,8,16,40,68,130,11,1,2,11,0,252,255, + 224,3,3,3,11,4,9,128,64,32,9,8,16,11,1,0, + 60,0,66,0,2,0,126,0,130,0,130,0,134,0,123,128, + 9,12,24,11,1,0,192,0,64,0,64,0,64,0,94,0, + 97,0,64,128,64,128,64,128,64,128,97,0,222,0,8,8, + 8,11,1,0,61,67,129,128,128,128,67,60,9,12,24,11, + 1,0,3,0,1,0,1,0,1,0,61,0,67,0,129,0, + 129,0,129,0,129,0,67,0,61,128,8,8,8,11,1,0, + 60,66,129,255,128,128,67,60,8,12,12,11,2,0,15,16, + 32,32,254,32,32,32,32,32,32,254,9,12,24,11,1,252, + 61,128,67,0,129,0,129,0,129,0,129,0,67,0,61,0, + 1,0,1,0,2,0,124,0,9,12,24,11,1,0,192,0, + 64,0,64,0,64,0,94,0,97,0,65,0,65,0,65,0, + 65,0,65,0,227,128,7,11,11,11,2,0,16,16,0,112, + 16,16,16,16,16,16,254,6,15,15,11,2,252,8,8,0, + 252,4,4,4,4,4,4,4,4,4,8,240,9,12,24,11, + 1,0,192,0,64,0,64,0,64,0,79,0,68,0,72,0, + 112,0,72,0,68,0,66,0,199,128,7,12,12,11,2,0, + 240,16,16,16,16,16,16,16,16,16,16,254,11,8,16,11, + 0,0,217,128,102,64,68,64,68,64,68,64,68,64,68,64, + 230,96,9,8,16,11,1,0,222,0,97,0,65,0,65,0, + 65,0,65,0,65,0,227,128,8,8,8,11,1,0,60,66, + 129,129,129,129,66,60,9,12,24,11,1,252,222,0,97,0, + 64,128,64,128,64,128,64,128,97,0,94,0,64,0,64,0, + 64,0,240,0,9,12,24,11,1,252,61,128,67,0,129,0, + 129,0,129,0,129,0,67,0,61,0,1,0,1,0,1,0, + 7,128,8,8,8,11,1,0,238,49,32,32,32,32,32,254, + 7,8,8,11,2,0,122,134,130,112,12,130,194,188,8,11, + 11,11,2,0,32,32,32,254,32,32,32,32,32,33,30,9, + 8,16,11,1,0,195,0,65,0,65,0,65,0,65,0,65, + 0,67,0,61,128,9,8,16,11,1,0,227,128,65,0,34, + 0,34,0,20,0,20,0,8,0,8,0,9,8,16,11,1, + 0,227,128,65,0,73,0,73,0,85,0,85,0,34,0,34, + 0,8,8,8,11,1,0,231,66,36,24,24,36,66,231,9, + 12,24,11,1,252,227,128,65,0,65,0,34,0,34,0,20, + 0,20,0,8,0,8,0,16,0,16,0,248,0,7,8,8, + 11,2,0,254,130,132,8,16,34,66,254,5,15,15,11,3, + 253,24,32,32,32,32,32,32,192,32,32,32,32,32,32,24, + 1,15,15,11,5,253,128,128,128,128,128,128,128,128,128,128, + 128,128,128,128,128,5,15,15,11,3,253,192,32,32,32,32, + 32,32,24,32,32,32,32,32,32,192,8,3,3,11,1,4, + 96,153,6,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,255,255,255, + 255,255,255,255,0,0,0,11,0,1,2,12,12,11,4,252, + 192,192,0,0,128,128,192,192,192,192,192,192,6,12,12,11, + 2,0,16,16,16,60,68,132,128,128,68,56,16,16,8,11, + 11,11,2,0,28,34,32,32,16,252,16,32,33,65,126,6, + 7,7,11,2,2,132,120,132,132,132,120,132,9,11,22,11, + 1,0,227,128,65,0,34,0,34,0,20,0,20,0,127,0, + 8,0,127,0,8,0,62,0,1,15,15,11,5,253,128,128, + 128,128,128,128,0,0,0,128,128,128,128,128,128,7,14,14, + 11,2,254,62,66,66,64,112,140,130,98,28,6,130,130,132, + 252,4,2,2,11,3,10,144,144,11,11,22,11,0,0,31, + 0,96,192,79,64,145,32,160,32,160,32,160,32,145,32,78, + 64,96,192,31,0,6,8,8,11,2,3,112,8,120,136,152, + 236,0,252,10,8,16,11,1,0,24,192,49,128,99,0,198, + 0,198,0,99,0,49,128,24,192,9,4,8,11,1,3,255, + 128,0,128,0,128,0,128,8,1,1,11,1,5,255,11,11, + 22,11,0,0,31,0,96,192,94,64,145,32,145,32,158,32, + 148,32,146,32,81,64,96,128,31,0,5,1,1,11,3,10, + 248,5,5,5,11,3,6,112,136,136,136,112,9,9,18,11, + 1,1,8,0,8,0,8,0,255,128,8,0,8,0,8,0, + 0,0,255,128,5,7,7,11,3,5,112,136,8,16,32,64, + 248,5,7,7,11,3,5,112,136,8,48,8,136,112,3,3, + 3,11,4,9,32,64,128,9,12,24,11,1,252,195,0,65, + 0,65,0,65,0,65,0,65,0,67,0,125,128,64,0,64, + 0,64,0,64,0,8,14,14,11,1,254,63,74,138,138,138, + 74,58,10,10,10,10,10,10,59,2,2,2,11,4,5,192, + 192,3,3,3,11,4,253,64,32,192,5,7,7,11,3,5, + 32,224,32,32,32,32,248,6,8,8,11,2,3,120,132,132, + 132,132,120,0,252,10,8,16,11,0,0,198,0,99,0,49, + 128,24,192,24,192,49,128,99,0,198,0,11,12,24,11,0, + 0,32,0,224,64,32,128,33,0,33,0,34,64,252,192,9, + 64,10,64,19,224,32,64,0,224,11,12,24,11,0,0,32, + 0,224,64,32,128,33,0,33,0,34,192,253,32,8,32,8, + 64,16,128,33,0,3,224,11,12,24,11,0,0,112,0,136, + 64,8,128,49,0,9,0,138,64,116,192,9,64,10,64,19, + 224,32,64,0,224,6,11,11,11,2,253,24,24,0,16,16, + 112,128,128,132,132,120,11,15,30,11,0,0,16,0,8,0, + 4,0,0,0,60,0,4,0,10,0,10,0,17,0,17,0, + 32,128,63,128,64,64,64,64,241,224,11,15,30,11,0,0, + 1,0,2,0,4,0,0,0,60,0,4,0,10,0,10,0, + 17,0,17,0,32,128,63,128,64,64,64,64,241,224,11,15, + 30,11,0,0,12,0,18,0,33,0,0,0,60,0,4,0, + 10,0,10,0,17,0,17,0,32,128,63,128,64,64,64,64, + 241,224,11,14,28,11,0,0,25,0,38,0,0,0,60,0, + 4,0,10,0,10,0,17,0,17,0,32,128,63,128,64,64, + 64,64,241,224,11,14,28,11,0,0,18,0,18,0,0,0, + 60,0,4,0,10,0,10,0,17,0,17,0,32,128,63,128, + 64,64,64,64,241,224,11,15,30,11,0,0,12,0,18,0, + 18,0,12,0,60,0,4,0,10,0,10,0,17,0,17,0, + 32,128,63,128,64,64,64,64,241,224,11,11,22,11,255,0, + 31,224,6,32,10,32,10,0,18,64,19,192,62,64,34,0, + 66,32,66,32,231,224,9,14,28,11,1,253,30,128,97,128, + 64,128,128,0,128,0,128,0,128,0,128,0,64,128,97,0, + 30,0,8,0,4,0,24,0,8,15,15,11,1,0,32,16, + 8,0,255,65,65,65,72,120,72,65,65,65,255,8,15,15, + 11,1,0,4,8,16,0,255,65,65,65,72,120,72,65,65, + 65,255,8,15,15,11,1,0,24,36,66,0,255,65,65,65, + 72,120,72,65,65,65,255,8,14,14,11,1,0,36,36,0, + 255,65,65,65,72,120,72,65,65,65,255,7,15,15,11,2, + 0,32,16,8,0,254,16,16,16,16,16,16,16,16,16,254, + 7,15,15,11,2,0,8,16,32,0,254,16,16,16,16,16, + 16,16,16,16,254,7,15,15,11,2,0,24,36,66,0,254, + 16,16,16,16,16,16,16,16,16,254,7,14,14,11,2,0, + 36,36,0,254,16,16,16,16,16,16,16,16,16,254,8,11, + 11,11,1,0,252,66,65,65,65,241,65,65,65,66,252,9, + 14,28,11,1,0,25,0,38,0,0,0,231,128,97,0,81, + 0,81,0,73,0,73,0,69,0,69,0,67,0,67,0,241, + 0,9,15,30,11,1,0,16,0,8,0,4,0,0,0,28, + 0,99,0,65,0,128,128,128,128,128,128,128,128,128,128,65, + 0,99,0,28,0,9,15,30,11,1,0,4,0,8,0,16, + 0,0,0,28,0,99,0,65,0,128,128,128,128,128,128,128, + 128,128,128,65,0,99,0,28,0,9,15,30,11,1,0,12, + 0,18,0,33,0,0,0,28,0,99,0,65,0,128,128,128, + 128,128,128,128,128,128,128,65,0,99,0,28,0,9,14,28, + 11,1,0,25,0,38,0,0,0,28,0,99,0,65,0,128, + 128,128,128,128,128,128,128,128,128,65,0,99,0,28,0,9, + 14,28,11,1,0,18,0,18,0,0,0,28,0,99,0,65, + 0,128,128,128,128,128,128,128,128,128,128,65,0,99,0,28, + 0,9,9,18,11,1,1,128,128,65,0,34,0,20,0,8, + 0,20,0,34,0,65,0,128,128,11,11,22,11,0,0,14, + 32,49,192,32,128,65,64,66,64,68,64,72,64,80,64,32, + 128,113,128,142,0,10,15,30,11,0,0,16,0,8,0,4, + 0,0,0,243,192,64,128,64,128,64,128,64,128,64,128,64, + 128,64,128,64,128,33,0,30,0,10,15,30,11,0,0,2, + 0,4,0,8,0,0,0,243,192,64,128,64,128,64,128,64, + 128,64,128,64,128,64,128,64,128,33,0,30,0,10,15,30, + 11,0,0,12,0,18,0,33,0,0,0,243,192,64,128,64, + 128,64,128,64,128,64,128,64,128,64,128,64,128,33,0,30, + 0,10,14,28,11,0,0,18,0,18,0,0,0,243,192,64, + 128,64,128,64,128,64,128,64,128,64,128,64,128,64,128,33, + 0,30,0,9,15,30,11,1,0,2,0,4,0,8,0,0, + 0,227,128,65,0,34,0,34,0,20,0,20,0,8,0,8, + 0,8,0,8,0,62,0,9,11,22,11,1,0,224,0,64, + 0,126,0,65,0,64,128,64,128,65,0,126,0,64,0,64, + 0,224,0,8,11,11,11,1,0,60,66,66,68,88,70,65, + 65,65,73,230,9,12,24,11,1,0,32,0,16,0,8,0, + 0,0,60,0,66,0,2,0,126,0,130,0,130,0,134,0, + 123,128,9,12,24,11,1,0,4,0,8,0,16,0,0,0, + 60,0,66,0,2,0,126,0,130,0,130,0,134,0,123,128, + 9,12,24,11,1,0,24,0,36,0,66,0,0,0,60,0, + 66,0,2,0,126,0,130,0,130,0,134,0,123,128,9,11, + 22,11,1,0,50,0,76,0,0,0,60,0,66,0,2,0, + 126,0,130,0,130,0,134,0,123,128,9,11,22,11,1,0, + 36,0,36,0,0,0,60,0,66,0,2,0,126,0,130,0, + 130,0,134,0,123,128,9,13,26,11,1,0,24,0,36,0, + 36,0,24,0,0,0,60,0,66,0,2,0,126,0,130,0, + 130,0,134,0,123,128,11,8,16,11,0,0,113,128,138,64, + 4,32,127,224,132,0,132,0,138,32,113,192,8,11,11,11, + 1,253,61,67,129,128,128,128,67,60,16,8,48,8,12,12, + 11,1,0,32,16,8,0,60,66,129,255,128,128,67,60,8, + 12,12,11,1,0,2,4,8,0,60,66,129,255,128,128,67, + 60,8,12,12,11,1,0,24,36,66,0,60,66,129,255,128, + 128,67,60,8,11,11,11,1,0,36,36,0,60,66,129,255, + 128,128,67,60,7,12,12,11,2,0,32,16,8,0,112,16, + 16,16,16,16,16,254,7,12,12,11,2,0,8,16,32,0, + 112,16,16,16,16,16,16,254,7,12,12,11,2,0,48,72, + 132,0,112,16,16,16,16,16,16,254,7,11,11,11,2,0, + 72,72,0,112,16,16,16,16,16,16,254,8,12,12,11,1, + 0,114,140,52,66,62,67,129,129,129,129,66,60,9,11,22, + 11,1,0,50,0,76,0,0,0,222,0,97,0,65,0,65, + 0,65,0,65,0,65,0,227,128,8,12,12,11,1,0,32, + 16,8,0,60,66,129,129,129,129,66,60,8,12,12,11,1, + 0,4,8,16,0,60,66,129,129,129,129,66,60,8,12,12, + 11,1,0,24,36,66,0,60,66,129,129,129,129,66,60,8, + 11,11,11,1,0,50,76,0,60,66,129,129,129,129,66,60, + 8,11,11,11,1,0,36,36,0,60,66,129,129,129,129,66, + 60,8,9,9,11,1,1,24,24,0,0,255,0,0,24,24, + 8,8,8,11,1,0,61,66,133,137,145,161,66,188,9,12, + 24,11,1,0,32,0,16,0,8,0,0,0,195,0,65,0, + 65,0,65,0,65,0,65,0,67,0,61,128,9,12,24,11, + 1,0,2,0,4,0,8,0,0,0,195,0,65,0,65,0, + 65,0,65,0,65,0,67,0,61,128,9,12,24,11,1,0, + 24,0,36,0,66,0,0,0,195,0,65,0,65,0,65,0, + 65,0,65,0,67,0,61,128,9,11,22,11,1,0,36,0, + 36,0,0,0,195,0,65,0,65,0,65,0,65,0,65,0, + 67,0,61,128,9,16,32,11,1,252,2,0,4,0,8,0, + 0,0,227,128,65,0,65,0,34,0,34,0,20,0,20,0, + 8,0,8,0,16,0,16,0,248,0,9,16,32,11,1,252, + 192,0,64,0,64,0,64,0,94,0,97,0,64,128,64,128, + 64,128,64,128,97,0,94,0,64,0,64,0,64,0,240,0, + 9,15,30,11,1,252,36,0,36,0,0,0,227,128,65,0, + 65,0,34,0,34,0,20,0,20,0,8,0,8,0,16,0, + 16,0,248,0}; +/* + Fontname: -Adobe-Courier-Medium-R-Normal--20-140-100-100-M-110-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 11, '1' Height: 12 + Calculated Max Values w=11 h=16 x= 5 y= 9 dx=11 dy= 0 ascent=13 len=26 + Font Bounding box w=16 h=26 x=-3 y=-7 + Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 + Pure Font ascent =11 descent=-4 + X Font ascent =12 descent=-4 + Max Font ascent =13 descent=-4 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_courR14r[1988] U8G_FONT_SECTION("u8g_font_courR14r") = { + 0,16,26,253,249,11,2,74,5,74,32,127,252,13,252,12, + 252,0,0,0,11,0,1,2,12,12,11,4,0,192,192,192, + 192,192,192,64,64,0,0,192,192,6,5,5,11,3,7,204, + 204,204,68,68,8,15,15,11,1,254,18,18,18,18,18,127, + 36,36,36,254,36,36,36,36,36,6,15,15,11,2,254,16, + 16,116,140,132,128,96,24,4,132,196,184,16,16,16,9,12, + 24,11,1,0,56,0,68,0,68,0,68,0,57,128,14,0, + 48,0,206,0,17,0,17,0,17,0,14,0,7,10,10,11, + 2,0,56,64,64,64,32,116,136,136,152,102,2,5,5,11, + 4,7,192,192,192,64,64,3,14,14,11,5,254,32,64,64, + 128,128,128,128,128,128,128,128,64,64,32,3,14,14,11,3, + 254,128,64,64,32,32,32,32,32,32,32,32,64,64,128,7, + 8,8,11,2,4,16,16,16,254,16,40,68,68,9,9,18, + 11,1,1,8,0,8,0,8,0,8,0,255,128,8,0,8, + 0,8,0,8,0,4,5,5,11,3,253,48,48,96,64,128, + 8,1,1,11,1,5,255,2,2,2,11,4,0,192,192,8, + 16,16,11,1,253,1,1,2,2,4,4,8,8,16,16,32, + 32,64,64,128,128,7,12,12,11,2,0,56,68,130,130,130, + 130,130,130,130,130,68,56,7,12,12,11,2,0,48,208,16, + 16,16,16,16,16,16,16,16,254,8,12,12,11,1,0,28, + 34,65,65,1,2,4,8,16,33,65,255,7,12,12,11,2, + 0,120,132,2,2,4,56,4,2,2,2,132,120,7,12,12, + 11,2,0,12,20,20,36,36,68,68,132,254,4,4,30,8, + 12,12,11,1,0,126,64,64,64,92,98,1,1,1,1,194, + 60,7,12,12,11,2,0,28,96,64,128,128,184,196,130,130, + 130,68,56,7,12,12,11,2,0,254,130,2,2,4,4,4, + 4,8,8,8,8,7,12,12,11,2,0,56,68,130,130,68, + 56,68,130,130,130,68,56,7,12,12,11,2,0,56,68,130, + 130,130,70,58,2,2,4,12,112,2,8,8,11,4,0,192, + 192,0,0,0,0,192,192,4,11,11,11,2,253,48,48,0, + 0,0,0,48,48,96,64,128,10,9,18,11,0,1,0,192, + 3,0,12,0,48,0,192,0,48,0,12,0,3,0,0,192, + 9,4,8,11,1,3,255,128,0,0,0,0,255,128,10,9, + 18,11,0,1,192,0,48,0,12,0,3,0,0,192,3,0, + 12,0,48,0,192,0,7,11,11,11,2,0,124,130,130,2, + 2,28,16,16,0,24,24,8,13,13,11,2,255,56,68,130, + 130,142,146,146,146,143,128,128,67,60,11,11,22,11,0,0, + 60,0,4,0,10,0,10,0,17,0,17,0,32,128,63,128, + 64,64,64,64,241,224,9,11,22,11,1,0,252,0,66,0, + 65,0,65,0,66,0,126,0,65,0,64,128,64,128,65,0, + 254,0,9,11,22,11,1,0,30,128,97,128,64,128,128,0, + 128,0,128,0,128,0,128,0,64,128,97,0,30,0,9,11, + 22,11,1,0,252,0,67,0,65,0,64,128,64,128,64,128, + 64,128,64,128,65,0,67,0,252,0,8,11,11,11,1,0, + 255,65,65,65,72,120,72,65,65,65,255,8,11,11,11,1, + 0,255,65,65,65,72,120,72,64,64,64,240,10,11,22,11, + 1,0,30,128,97,128,64,128,128,0,128,0,128,0,131,192, + 128,128,64,128,97,0,30,0,9,11,22,11,1,0,227,128, + 65,0,65,0,65,0,65,0,127,0,65,0,65,0,65,0, + 65,0,227,128,7,11,11,11,2,0,254,16,16,16,16,16, + 16,16,16,16,254,9,11,22,11,1,0,31,128,2,0,2, + 0,2,0,2,0,2,0,130,0,130,0,130,0,68,0,56, + 0,10,11,22,11,1,0,243,192,65,0,66,0,68,0,72, + 0,88,0,100,0,66,0,66,0,65,0,241,192,9,11,22, + 11,1,0,248,0,32,0,32,0,32,0,32,0,32,0,32, + 0,32,128,32,128,32,128,255,128,11,11,22,11,0,0,224, + 224,96,192,81,64,81,64,74,64,74,64,68,64,68,64,64, + 64,64,64,241,224,9,11,22,11,1,0,231,128,97,0,81, + 0,81,0,73,0,73,0,69,0,69,0,67,0,67,0,241, + 0,9,11,22,11,1,0,28,0,99,0,65,0,128,128,128, + 128,128,128,128,128,128,128,65,0,99,0,28,0,9,11,22, + 11,1,0,254,0,65,0,64,128,64,128,65,0,126,0,64, + 0,64,0,64,0,64,0,248,0,9,13,26,11,1,254,28, + 0,99,0,65,0,128,128,128,128,128,128,128,128,128,128,65, + 0,99,0,28,0,56,128,71,0,10,11,22,11,1,0,254, + 0,65,0,64,128,64,128,65,0,126,0,68,0,66,0,66, + 0,65,0,240,192,8,11,11,11,1,0,61,67,129,128,64, + 60,2,1,129,194,188,9,11,22,11,1,0,255,128,136,128, + 136,128,136,128,8,0,8,0,8,0,8,0,8,0,8,0, + 62,0,10,11,22,11,0,0,243,192,64,128,64,128,64,128, + 64,128,64,128,64,128,64,128,64,128,33,0,30,0,11,11, + 22,11,0,0,241,224,64,64,64,64,32,128,32,128,17,0, + 17,0,10,0,10,0,4,0,4,0,11,11,22,11,0,0, + 241,224,64,64,68,64,68,64,68,64,42,128,42,128,42,128, + 42,128,17,0,17,0,9,11,22,11,1,0,227,128,65,0, + 34,0,34,0,20,0,8,0,20,0,34,0,34,0,65,0, + 227,128,9,11,22,11,1,0,227,128,65,0,34,0,34,0, + 20,0,20,0,8,0,8,0,8,0,8,0,62,0,7,11, + 11,11,2,0,254,130,130,4,8,16,32,64,130,130,254,3, + 15,15,11,5,253,224,128,128,128,128,128,128,128,128,128,128, + 128,128,128,224,8,16,16,11,2,253,128,128,64,64,32,32, + 16,16,8,8,4,4,2,2,1,1,3,15,15,11,3,253, + 224,32,32,32,32,32,32,32,32,32,32,32,32,32,224,7, + 4,4,11,2,8,16,40,68,130,11,1,2,11,0,252,255, + 224,3,3,3,11,4,9,128,64,32,9,8,16,11,1,0, + 60,0,66,0,2,0,126,0,130,0,130,0,134,0,123,128, + 9,12,24,11,1,0,192,0,64,0,64,0,64,0,94,0, + 97,0,64,128,64,128,64,128,64,128,97,0,222,0,8,8, + 8,11,1,0,61,67,129,128,128,128,67,60,9,12,24,11, + 1,0,3,0,1,0,1,0,1,0,61,0,67,0,129,0, + 129,0,129,0,129,0,67,0,61,128,8,8,8,11,1,0, + 60,66,129,255,128,128,67,60,8,12,12,11,2,0,15,16, + 32,32,254,32,32,32,32,32,32,254,9,12,24,11,1,252, + 61,128,67,0,129,0,129,0,129,0,129,0,67,0,61,0, + 1,0,1,0,2,0,124,0,9,12,24,11,1,0,192,0, + 64,0,64,0,64,0,94,0,97,0,65,0,65,0,65,0, + 65,0,65,0,227,128,7,11,11,11,2,0,16,16,0,112, + 16,16,16,16,16,16,254,6,15,15,11,2,252,8,8,0, + 252,4,4,4,4,4,4,4,4,4,8,240,9,12,24,11, + 1,0,192,0,64,0,64,0,64,0,79,0,68,0,72,0, + 112,0,72,0,68,0,66,0,199,128,7,12,12,11,2,0, + 240,16,16,16,16,16,16,16,16,16,16,254,11,8,16,11, + 0,0,217,128,102,64,68,64,68,64,68,64,68,64,68,64, + 230,96,9,8,16,11,1,0,222,0,97,0,65,0,65,0, + 65,0,65,0,65,0,227,128,8,8,8,11,1,0,60,66, + 129,129,129,129,66,60,9,12,24,11,1,252,222,0,97,0, + 64,128,64,128,64,128,64,128,97,0,94,0,64,0,64,0, + 64,0,240,0,9,12,24,11,1,252,61,128,67,0,129,0, + 129,0,129,0,129,0,67,0,61,0,1,0,1,0,1,0, + 7,128,8,8,8,11,1,0,238,49,32,32,32,32,32,254, + 7,8,8,11,2,0,122,134,130,112,12,130,194,188,8,11, + 11,11,2,0,32,32,32,254,32,32,32,32,32,33,30,9, + 8,16,11,1,0,195,0,65,0,65,0,65,0,65,0,65, + 0,67,0,61,128,9,8,16,11,1,0,227,128,65,0,34, + 0,34,0,20,0,20,0,8,0,8,0,9,8,16,11,1, + 0,227,128,65,0,73,0,73,0,85,0,85,0,34,0,34, + 0,8,8,8,11,1,0,231,66,36,24,24,36,66,231,9, + 12,24,11,1,252,227,128,65,0,65,0,34,0,34,0,20, + 0,20,0,8,0,8,0,16,0,16,0,248,0,7,8,8, + 11,2,0,254,130,132,8,16,34,66,254,5,15,15,11,3, + 253,24,32,32,32,32,32,32,192,32,32,32,32,32,32,24, + 1,15,15,11,5,253,128,128,128,128,128,128,128,128,128,128, + 128,128,128,128,128,5,15,15,11,3,253,192,32,32,32,32, + 32,32,24,32,32,32,32,32,32,192,8,3,3,11,1,4, + 96,153,6,255}; +/* + Fontname: -Adobe-Courier-Medium-R-Normal--25-180-100-100-M-150-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 14, '1' Height: 15 + Calculated Max Values w=15 h=21 x= 7 y=12 dx=15 dy= 0 ascent=19 len=42 + Font Bounding box w=23 h=32 x=-5 y=-8 + Calculated Min Values x=-1 y=-5 dx= 0 dy= 0 + Pure Font ascent =14 descent=-5 + X Font ascent =16 descent=-5 + Max Font ascent =19 descent=-5 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_courR18[6152] U8G_FONT_SECTION("u8g_font_courR18") = { + 0,23,32,251,248,14,3,161,7,151,32,255,251,19,251,16, + 251,0,0,0,15,0,1,2,16,16,15,6,0,192,192,192, + 192,192,192,192,192,128,128,128,0,0,0,192,192,8,7,7, + 15,3,9,231,231,231,231,66,66,66,10,17,34,15,2,255, + 9,0,9,0,9,0,9,0,9,0,9,0,127,192,18,0, + 18,0,18,0,255,128,18,0,18,0,18,0,18,0,18,0, + 18,0,9,20,40,15,3,253,8,0,8,0,8,0,30,128, + 33,128,64,128,64,0,64,0,32,0,30,0,1,0,0,128, + 0,128,128,128,193,0,190,0,8,0,8,0,8,0,8,0, + 12,16,32,15,1,0,28,0,34,0,65,0,65,0,65,0, + 34,0,28,112,3,128,28,0,225,192,2,32,4,16,4,16, + 4,16,2,32,1,192,10,13,26,15,2,0,29,0,38,0, + 32,0,32,0,16,0,48,0,73,128,137,0,134,0,130,0, + 131,0,69,0,56,192,3,7,7,15,6,8,224,224,224,224, + 224,64,64,4,19,19,15,7,253,16,32,32,64,64,64,128, + 128,128,128,128,128,128,64,64,64,32,32,16,4,19,19,15, + 3,253,128,64,64,32,32,32,16,16,16,16,16,16,16,32, + 32,32,64,64,128,9,9,18,15,3,7,8,0,8,0,8, + 0,201,128,127,0,28,0,54,0,99,0,193,128,11,11,22, + 15,2,2,4,0,4,0,4,0,4,0,4,0,255,224,4, + 0,4,0,4,0,4,0,4,0,5,6,6,15,4,253,56, + 56,112,96,192,128,10,1,2,15,2,7,255,192,3,3,3, + 15,6,0,224,224,224,9,18,36,15,3,254,0,128,0,128, + 1,0,1,0,2,0,2,0,4,0,4,0,8,0,8,0, + 16,0,16,0,32,0,32,0,64,0,64,0,128,0,128,0, + 9,15,30,15,3,0,28,0,99,0,65,0,128,128,128,128, + 128,128,128,128,128,128,128,128,128,128,128,128,128,128,65,0, + 99,0,28,0,9,15,30,15,3,0,24,0,232,0,8,0, + 8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0, + 8,0,8,0,8,0,255,128,10,15,30,15,2,0,30,0, + 97,0,128,128,128,128,0,128,0,128,1,0,2,0,4,0, + 8,0,16,0,32,0,64,0,128,64,255,192,10,15,30,15, + 2,0,62,0,65,128,0,128,0,128,0,128,1,0,30,0, + 1,128,0,64,0,64,0,64,0,64,128,64,97,128,30,0, + 10,15,30,15,2,0,3,0,5,0,9,0,9,0,17,0, + 33,0,33,0,65,0,65,0,129,0,255,192,1,0,1,0, + 1,0,15,192,10,15,30,15,2,0,127,128,64,0,64,0, + 64,0,64,0,94,0,97,128,0,128,0,64,0,64,0,64, + 0,64,0,128,193,128,62,0,9,15,30,15,3,0,15,0, + 48,0,96,0,64,0,128,0,158,0,161,0,192,128,128,128, + 128,128,128,128,128,128,64,128,97,0,30,0,9,15,30,15, + 2,0,255,128,128,128,129,0,1,0,1,0,2,0,2,0, + 2,0,2,0,4,0,4,0,4,0,8,0,8,0,8,0, + 10,15,30,15,2,0,30,0,33,0,64,128,64,128,64,128, + 64,128,33,0,63,0,64,128,128,64,128,64,128,64,64,128, + 97,128,30,0,9,15,30,15,3,0,28,0,99,0,193,128, + 128,128,128,128,128,128,65,128,98,128,28,128,0,128,0,128, + 1,0,1,0,6,0,248,0,3,11,11,15,6,0,224,224, + 224,0,0,0,0,0,224,224,224,5,14,14,15,4,253,56, + 56,56,0,0,0,0,0,56,56,112,96,192,128,11,11,22, + 15,1,2,0,96,1,128,6,0,24,0,96,0,192,0,96, + 0,24,0,6,0,1,128,0,96,12,4,8,15,1,5,255, + 240,0,0,0,0,255,240,11,11,22,15,2,2,192,0,48, + 0,12,0,3,0,0,192,0,96,0,192,3,0,12,0,48, + 0,192,0,8,14,14,15,3,0,124,130,129,1,1,1,2, + 12,16,16,0,0,24,24,10,18,36,15,2,254,30,0,97, + 0,64,128,128,128,128,128,131,128,132,128,136,128,136,128,136, + 128,136,128,132,128,131,192,128,0,128,0,64,0,97,128,31, + 0,13,14,28,15,1,0,63,0,5,0,8,128,8,128,8, + 128,16,64,16,64,16,64,63,224,32,32,32,32,64,16,64, + 16,240,120,12,14,28,15,1,0,255,192,32,32,32,16,32, + 16,32,16,32,32,63,192,32,32,32,16,32,16,32,16,32, + 16,32,32,255,192,11,14,28,15,2,0,15,32,48,160,96, + 96,64,32,128,0,128,0,128,0,128,0,128,0,128,0,64, + 32,96,96,48,192,15,0,12,14,28,15,1,0,255,128,64, + 96,64,32,64,16,64,16,64,16,64,16,64,16,64,16,64, + 16,64,16,64,32,64,96,255,128,12,14,28,15,1,0,255, + 224,32,32,32,32,32,32,34,0,34,0,62,0,34,0,34, + 0,32,16,32,16,32,16,32,16,255,240,11,14,28,15,2, + 0,255,224,32,32,32,32,32,32,34,0,34,0,62,0,34, + 0,34,0,32,0,32,0,32,0,32,0,254,0,12,14,28, + 15,1,0,15,32,48,160,96,96,64,32,128,0,128,0,128, + 0,128,0,131,240,128,32,64,32,96,32,48,64,15,128,13, + 14,28,15,1,0,248,248,32,32,32,32,32,32,32,32,32, + 32,63,224,32,32,32,32,32,32,32,32,32,32,32,32,248, + 248,9,14,28,15,3,0,255,128,8,0,8,0,8,0,8, + 0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8, + 0,255,128,12,14,28,15,2,0,31,240,0,128,0,128,0, + 128,0,128,0,128,0,128,0,128,128,128,128,128,128,128,129, + 0,67,0,60,0,13,14,28,15,1,0,248,240,32,64,32, + 128,33,0,34,0,36,0,44,0,50,0,33,0,32,128,32, + 64,32,64,32,32,248,120,12,14,28,15,1,0,254,0,16, + 0,16,0,16,0,16,0,16,0,16,0,16,0,16,0,16, + 16,16,16,16,16,16,16,255,240,13,14,28,15,1,0,224, + 56,96,48,96,48,80,80,80,80,72,144,72,144,69,16,71, + 16,64,16,64,16,64,16,64,16,240,120,14,14,28,15,0, + 0,240,252,48,16,40,16,36,16,36,16,34,16,34,16,33, + 16,33,16,32,144,32,144,32,80,32,48,252,48,13,14,28, + 15,1,0,15,128,48,96,96,48,64,16,128,8,128,8,128, + 8,128,8,128,8,128,8,64,16,96,48,48,96,15,128,11, + 14,28,15,2,0,255,128,32,64,32,32,32,32,32,32,32, + 32,32,64,63,128,32,0,32,0,32,0,32,0,32,0,254, + 0,13,16,32,15,1,254,15,128,48,96,96,48,64,16,128, + 8,128,8,128,8,128,8,128,8,128,8,64,16,96,48,48, + 96,15,128,6,48,27,192,13,14,28,15,1,0,255,128,32, + 64,32,32,32,32,32,32,32,32,32,64,63,128,33,0,32, + 128,32,64,32,64,32,32,248,56,10,14,28,15,2,0,30, + 64,97,64,128,192,128,64,128,0,96,0,30,0,1,128,0, + 64,0,64,128,64,192,64,160,128,159,0,11,14,28,15,2, + 0,255,224,132,32,132,32,132,32,132,32,4,0,4,0,4, + 0,4,0,4,0,4,0,4,0,4,0,63,128,12,14,28, + 15,1,0,249,240,64,32,64,32,64,32,64,32,64,32,64, + 32,64,32,64,32,64,32,64,32,64,32,32,64,31,128,13, + 14,28,15,1,0,248,248,64,16,64,16,32,32,32,32,16, + 64,16,64,16,64,8,128,8,128,8,128,5,0,7,0,2, + 0,13,14,28,15,1,0,248,248,64,16,64,16,66,16,66, + 16,69,16,69,16,37,32,40,160,40,160,40,160,48,96,48, + 96,48,96,13,14,28,15,1,0,248,248,32,32,16,64,16, + 64,8,128,5,0,2,0,5,0,8,128,8,128,16,64,32, + 32,32,32,248,248,13,14,28,15,1,0,240,120,32,32,16, + 64,16,64,8,128,8,128,5,0,2,0,2,0,2,0,2, + 0,2,0,2,0,31,192,10,14,28,15,2,0,255,192,128, + 64,128,128,129,0,130,0,2,0,4,0,8,0,16,0,16, + 64,32,64,64,64,128,64,255,192,3,19,19,15,7,253,224, + 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, + 128,224,9,18,36,15,3,254,128,0,128,0,64,0,64,0, + 32,0,32,0,16,0,16,0,8,0,8,0,4,0,4,0, + 2,0,2,0,1,0,1,0,0,128,0,128,3,19,19,15, + 5,253,224,32,32,32,32,32,32,32,32,32,32,32,32,32, + 32,32,32,32,224,9,5,10,15,3,11,8,0,28,0,34, + 0,65,0,128,128,15,1,2,15,0,251,255,254,5,4,4, + 15,4,12,192,96,48,24,11,11,22,15,2,0,62,0,65, + 0,0,128,0,128,62,128,65,128,128,128,128,128,128,128,65, + 128,62,224,13,15,30,15,1,0,224,0,32,0,32,0,32, + 0,39,192,40,48,48,16,32,8,32,8,32,8,32,8,32, + 8,48,16,40,48,231,192,11,11,22,15,2,0,31,64,96, + 192,64,64,128,64,128,0,128,0,128,0,128,0,64,96,96, + 192,31,0,13,15,30,15,1,0,0,224,0,32,0,32,0, + 32,31,32,96,160,64,96,128,32,128,32,128,32,128,32,128, + 32,64,96,96,160,31,56,11,11,22,15,2,0,31,0,96, + 192,64,64,128,32,128,32,255,224,128,0,128,0,64,0,96, + 96,31,128,10,15,30,15,3,0,15,128,24,64,16,0,16, + 0,255,128,16,0,16,0,16,0,16,0,16,0,16,0,16, + 0,16,0,16,0,255,128,13,16,32,15,1,251,31,56,96, + 160,64,96,128,32,128,32,128,32,128,32,128,32,64,96,96, + 160,31,32,0,32,0,32,0,64,0,192,63,0,13,15,30, + 15,1,0,224,0,32,0,32,0,32,0,39,128,40,64,48, + 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,248, + 248,9,16,32,15,3,0,8,0,8,0,8,0,0,0,0, + 0,120,0,8,0,8,0,8,0,8,0,8,0,8,0,8, + 0,8,0,8,0,255,128,8,21,21,15,3,251,2,2,2, + 0,0,255,1,1,1,1,1,1,1,1,1,1,1,1,2, + 6,248,11,15,30,15,2,0,224,0,32,0,32,0,32,0, + 35,192,33,0,34,0,36,0,40,0,56,0,36,0,34,0, + 33,0,32,128,225,224,11,15,30,15,2,0,124,0,4,0, + 4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0, + 4,0,4,0,4,0,4,0,255,224,14,11,22,15,0,0, + 238,112,49,136,33,8,33,8,33,8,33,8,33,8,33,8, + 33,8,33,8,249,140,13,11,22,15,1,0,231,128,40,64, + 48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, + 248,248,11,11,22,15,2,0,31,0,96,192,64,64,128,32, + 128,32,128,32,128,32,128,32,64,64,96,192,31,0,13,16, + 32,15,1,251,231,192,40,48,48,16,32,8,32,8,32,8, + 32,8,32,8,48,16,40,48,39,192,32,0,32,0,32,0, + 32,0,252,0,13,16,32,15,1,251,31,56,96,160,64,96, + 128,32,128,32,128,32,128,32,128,32,64,96,96,160,31,32, + 0,32,0,32,0,32,0,32,1,248,11,11,22,15,2,0, + 113,192,22,32,24,0,16,0,16,0,16,0,16,0,16,0, + 16,0,16,0,255,128,9,11,22,15,3,0,62,128,65,128, + 64,128,64,0,56,0,7,0,0,128,0,128,128,128,193,0, + 190,0,10,15,30,15,2,0,32,0,32,0,32,0,32,0, + 255,128,32,0,32,0,32,0,32,0,32,0,32,0,32,0, + 32,0,16,192,15,0,12,11,22,15,1,0,224,224,32,32, + 32,32,32,32,32,32,32,32,32,32,32,32,32,96,16,160, + 15,48,13,11,22,15,1,0,248,248,32,32,32,32,16,64, + 16,64,16,64,8,128,8,128,5,0,7,0,2,0,13,11, + 22,15,1,0,240,120,64,16,64,16,66,16,34,32,37,32, + 37,32,37,32,21,64,24,192,24,192,11,11,22,15,2,0, + 241,224,64,64,32,128,17,0,10,0,4,0,10,0,17,0, + 32,128,64,64,241,224,12,16,32,15,1,251,240,240,64,32, + 64,32,32,64,32,64,32,128,16,128,17,0,9,0,10,0, + 6,0,4,0,4,0,8,0,8,0,254,0,9,11,22,15, + 3,0,255,128,128,128,129,0,2,0,4,0,8,0,16,0, + 32,0,64,128,128,128,255,128,5,19,19,15,5,253,24,32, + 32,32,32,32,32,32,32,192,32,32,32,32,32,32,32,32, + 24,1,17,17,15,7,253,128,128,128,128,128,128,128,128,128, + 128,128,128,128,128,128,128,128,5,19,19,15,5,253,192,32, + 32,32,32,32,32,32,32,24,32,32,32,32,32,32,32,32, + 192,12,3,6,15,1,6,60,48,102,96,195,192,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,255,255,255,255,255,255,255,0,0, + 0,15,0,1,2,16,16,15,6,251,192,192,0,0,0,128, + 128,128,192,192,192,192,192,192,192,192,8,16,16,15,3,0, + 8,8,8,8,29,99,65,128,128,128,64,99,28,8,8,8, + 10,14,28,15,2,0,14,0,17,128,32,0,32,0,32,0, + 32,0,254,0,16,0,16,0,16,0,16,0,32,64,64,64, + 255,128,10,10,20,15,2,2,128,64,94,128,33,0,64,128, + 64,128,64,128,64,128,33,0,94,128,128,64,11,14,28,15, + 2,0,241,224,64,64,32,128,32,128,17,0,17,0,10,0, + 127,192,4,0,4,0,127,192,4,0,4,0,63,128,1,19, + 19,15,7,253,128,128,128,128,128,128,128,128,0,0,0,128, + 128,128,128,128,128,128,128,10,18,36,15,2,254,15,192,16, + 64,32,64,32,64,32,0,112,0,140,0,130,0,65,0,32, + 128,16,64,12,64,3,128,1,0,129,0,129,0,130,0,252, + 0,7,2,2,15,4,12,198,198,13,13,26,15,1,1,15, + 128,48,96,64,16,70,144,137,136,144,136,144,8,144,8,136, + 136,71,16,64,16,48,96,15,128,7,9,9,15,4,5,120, + 132,60,68,132,140,118,0,254,12,11,22,15,1,0,6,48, + 12,96,24,192,49,128,99,0,198,0,99,0,49,128,24,192, + 12,96,6,48,11,4,8,15,2,5,255,224,0,32,0,32, + 0,32,10,1,2,15,2,7,255,192,13,13,26,15,1,1, + 15,128,48,96,64,16,79,16,136,136,136,136,143,8,137,8, + 136,136,72,144,64,16,48,96,15,128,7,1,1,15,4,12, + 254,7,7,7,15,4,9,56,68,130,130,130,68,56,11,13, + 26,15,2,1,4,0,4,0,4,0,4,0,4,0,255,224, + 4,0,4,0,4,0,4,0,4,0,0,0,255,224,6,9, + 9,15,4,7,56,68,132,4,8,16,32,68,252,6,9,9, + 15,4,7,120,132,4,8,56,4,4,132,120,5,4,4,15, + 5,12,24,48,96,192,12,16,32,15,1,251,224,224,32,32, + 32,32,32,32,32,32,32,32,32,32,32,32,32,96,48,160, + 47,48,32,0,32,0,32,0,32,0,32,0,11,18,36,15, + 2,254,31,224,100,128,196,128,196,128,196,128,196,128,196,128, + 100,128,28,128,4,128,4,128,4,128,4,128,4,128,4,128, + 4,128,4,128,60,224,3,3,3,15,6,6,224,224,224,4, + 5,5,15,5,252,32,32,16,144,96,7,9,9,15,4,7, + 48,208,16,16,16,16,16,16,254,7,9,9,15,4,5,56, + 68,130,130,130,68,56,0,254,12,11,22,15,1,0,198,0, + 99,0,49,128,24,192,12,96,6,48,12,96,24,192,49,128, + 99,0,198,0,14,16,32,15,0,0,48,0,208,0,16,8, + 16,16,16,32,16,32,16,64,16,152,255,40,2,72,4,72, + 4,136,9,8,17,252,0,8,0,28,14,16,32,15,0,0, + 48,0,208,0,16,8,16,16,16,32,16,32,16,64,16,184, + 255,68,2,132,4,4,4,8,8,16,16,32,0,68,0,252, + 14,16,32,15,0,0,120,0,132,0,4,8,8,16,56,32, + 4,32,4,64,132,152,121,40,2,72,4,72,4,136,9,8, + 17,252,0,8,0,28,8,14,14,15,3,253,24,24,0,0, + 8,8,48,64,128,128,128,129,65,62,13,19,38,15,1,0, + 24,0,12,0,6,0,3,0,0,0,63,0,5,0,8,128, + 8,128,8,128,16,64,16,64,16,64,63,224,32,32,32,32, + 64,16,64,16,240,120,13,19,38,15,1,0,0,192,1,128, + 3,0,6,0,0,0,63,0,5,0,8,128,8,128,8,128, + 16,64,16,64,16,64,63,224,32,32,32,32,64,16,64,16, + 240,120,13,19,38,15,1,0,6,0,15,0,25,128,48,192, + 0,0,63,0,5,0,8,128,8,128,8,128,16,64,16,64, + 16,64,63,224,32,32,32,32,64,16,64,16,240,120,13,18, + 36,15,1,0,28,64,54,192,35,128,0,0,63,0,5,0, + 8,128,8,128,8,128,16,64,16,64,16,64,63,224,32,32, + 32,32,64,16,64,16,240,120,13,18,36,15,1,0,24,192, + 24,192,0,0,0,0,63,0,5,0,8,128,8,128,8,128, + 16,64,16,64,16,64,63,224,32,32,32,32,64,16,64,16, + 240,120,13,19,38,15,1,0,7,0,8,128,8,128,8,128, + 7,0,63,0,5,0,8,128,8,128,8,128,16,64,16,64, + 16,64,63,224,32,32,32,32,64,16,64,16,240,120,15,14, + 28,15,255,0,15,254,2,130,4,130,4,130,4,136,8,136, + 8,248,8,136,31,136,16,130,16,130,32,130,32,130,243,254, + 11,18,36,15,2,252,15,32,48,224,96,96,64,32,128,0, + 128,0,128,0,128,0,128,0,128,0,64,32,96,96,48,192, + 15,0,4,0,2,0,18,0,12,0,12,19,38,15,1,0, + 24,0,12,0,6,0,3,0,0,0,255,224,32,32,32,32, + 32,32,34,0,34,0,62,0,34,0,34,0,32,16,32,16, + 32,16,32,16,255,240,12,19,38,15,1,0,0,192,1,128, + 3,0,6,0,0,0,255,224,32,32,32,32,32,32,34,0, + 34,0,62,0,34,0,34,0,32,16,32,16,32,16,32,16, + 255,240,12,19,38,15,1,0,6,0,15,0,25,128,48,192, + 0,0,255,224,32,32,32,32,32,32,34,0,34,0,62,0, + 34,0,34,0,32,16,32,16,32,16,32,16,255,240,12,18, + 36,15,1,0,25,128,25,128,0,0,0,0,255,224,32,32, + 32,32,32,32,34,0,34,0,62,0,34,0,34,0,32,16, + 32,16,32,16,32,16,255,240,9,19,38,15,3,0,96,0, + 48,0,24,0,12,0,0,0,255,128,8,0,8,0,8,0, + 8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0, + 8,0,255,128,9,19,38,15,3,0,3,0,6,0,12,0, + 24,0,0,0,255,128,8,0,8,0,8,0,8,0,8,0, + 8,0,8,0,8,0,8,0,8,0,8,0,8,0,255,128, + 9,19,38,15,3,0,24,0,60,0,102,0,195,0,0,0, + 255,128,8,0,8,0,8,0,8,0,8,0,8,0,8,0, + 8,0,8,0,8,0,8,0,8,0,255,128,9,18,36,15, + 3,0,99,0,99,0,0,0,0,0,255,128,8,0,8,0, + 8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0, + 8,0,8,0,255,128,13,14,28,15,0,0,127,192,32,48, + 32,16,32,8,32,8,32,8,252,8,32,8,32,8,32,8, + 32,8,32,16,32,48,127,192,14,18,36,15,0,0,14,32, + 27,96,17,192,0,0,240,252,48,16,40,16,36,16,36,16, + 34,16,34,16,33,16,33,16,32,144,32,144,32,80,32,48, + 252,48,13,19,38,15,1,0,24,0,12,0,6,0,3,0, + 0,0,15,128,48,96,96,48,64,16,128,8,128,8,128,8, + 128,8,128,8,128,8,64,16,96,48,48,96,15,128,13,19, + 38,15,1,0,0,96,0,192,1,128,3,0,0,0,15,128, + 48,96,96,48,64,16,128,8,128,8,128,8,128,8,128,8, + 128,8,64,16,96,48,48,96,15,128,13,19,38,15,1,0, + 3,0,7,128,12,192,24,96,0,0,15,128,48,96,96,48, + 64,16,128,8,128,8,128,8,128,8,128,8,128,8,64,16, + 96,48,48,96,15,128,13,18,36,15,1,0,14,32,27,96, + 17,192,0,0,15,128,48,96,96,48,64,16,128,8,128,8, + 128,8,128,8,128,8,128,8,64,16,96,48,48,96,15,128, + 13,18,36,15,1,0,24,192,24,192,0,0,0,0,15,128, + 48,96,96,48,64,16,128,8,128,8,128,8,128,8,128,8, + 128,8,64,16,96,48,48,96,15,128,11,11,22,15,2,2, + 128,32,64,64,32,128,17,0,10,0,4,0,10,0,17,0, + 32,128,64,64,128,32,14,15,30,15,0,0,0,4,7,200, + 24,48,48,48,32,72,64,136,64,136,65,8,66,8,68,8, + 72,8,48,16,48,48,88,96,135,128,12,19,38,15,1,0, + 24,0,12,0,6,0,3,0,0,0,249,240,64,32,64,32, + 64,32,64,32,64,32,64,32,64,32,64,32,64,32,64,32, + 64,32,32,64,31,128,12,19,38,15,1,0,0,192,1,128, + 3,0,6,0,0,0,249,240,64,32,64,32,64,32,64,32, + 64,32,64,32,64,32,64,32,64,32,64,32,64,32,32,64, + 31,128,12,19,38,15,1,0,6,0,15,0,25,128,48,192, + 0,0,249,240,64,32,64,32,64,32,64,32,64,32,64,32, + 64,32,64,32,64,32,64,32,64,32,32,64,31,128,12,18, + 36,15,1,0,25,128,25,128,0,0,0,0,249,240,64,32, + 64,32,64,32,64,32,64,32,64,32,64,32,64,32,64,32, + 64,32,64,32,32,64,31,128,13,19,38,15,1,0,0,192, + 1,128,3,0,6,0,0,0,240,120,32,32,16,64,16,64, + 8,128,8,128,5,0,2,0,2,0,2,0,2,0,2,0, + 2,0,31,192,11,14,28,15,2,0,248,0,32,0,32,0, + 63,128,32,64,32,32,32,32,32,32,32,32,32,64,63,128, + 32,0,32,0,248,0,11,16,32,15,2,0,14,0,17,0, + 32,128,32,128,32,128,32,128,33,0,39,0,32,192,32,64, + 32,32,32,32,32,32,36,32,36,64,243,128,11,16,32,15, + 2,0,48,0,24,0,12,0,6,0,0,0,30,0,97,0, + 0,128,0,128,0,128,63,128,64,128,128,128,128,128,129,128, + 126,224,11,16,32,15,2,0,1,128,3,0,6,0,12,0, + 0,0,30,0,97,0,0,128,0,128,0,128,63,128,64,128, + 128,128,128,128,129,128,126,224,11,16,32,15,2,0,12,0, + 30,0,51,0,97,128,0,0,30,0,97,0,0,128,0,128, + 0,128,63,128,64,128,128,128,128,128,129,128,126,224,11,15, + 30,15,2,0,56,128,109,128,71,0,0,0,30,0,97,0, + 0,128,0,128,0,128,63,128,64,128,128,128,128,128,129,128, + 126,224,11,15,30,15,2,0,49,128,49,128,0,0,0,0, + 30,0,97,0,0,128,0,128,0,128,63,128,64,128,128,128, + 128,128,129,128,126,224,11,17,34,15,2,0,14,0,17,0, + 17,0,17,0,14,0,0,0,30,0,97,0,0,128,0,128, + 0,128,63,128,64,128,128,128,128,128,129,128,126,224,15,11, + 22,15,0,0,28,112,98,140,65,4,1,2,1,2,63,254, + 65,0,129,0,129,2,130,132,124,120,11,15,30,15,2,252, + 31,64,96,192,64,64,128,64,128,0,128,0,128,0,128,0, + 64,96,96,192,31,0,4,0,2,0,18,0,12,0,11,16, + 32,15,2,0,48,0,24,0,12,0,6,0,0,0,31,0, + 96,192,64,64,128,32,128,32,255,224,128,0,128,0,64,0, + 96,96,31,128,11,16,32,15,2,0,1,128,3,0,6,0, + 12,0,0,0,31,0,96,192,64,64,128,32,128,32,255,224, + 128,0,128,0,64,0,96,96,31,128,11,16,32,15,2,0, + 12,0,30,0,51,0,97,128,0,0,31,0,96,192,64,64, + 128,32,128,32,255,224,128,0,128,0,64,0,96,96,31,128, + 11,15,30,15,2,0,49,128,49,128,0,0,0,0,31,0, + 96,192,64,64,128,32,128,32,255,224,128,0,128,0,64,0, + 96,96,31,128,9,16,32,15,3,0,96,0,48,0,24,0, + 12,0,0,0,120,0,8,0,8,0,8,0,8,0,8,0, + 8,0,8,0,8,0,8,0,255,128,9,16,32,15,3,0, + 3,0,6,0,12,0,24,0,0,0,120,0,8,0,8,0, + 8,0,8,0,8,0,8,0,8,0,8,0,8,0,255,128, + 9,16,32,15,3,0,24,0,60,0,102,0,195,0,0,0, + 120,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0, + 8,0,8,0,255,128,9,15,30,15,3,0,99,0,99,0, + 0,0,0,0,120,0,8,0,8,0,8,0,8,0,8,0, + 8,0,8,0,8,0,8,0,255,128,12,16,32,15,1,0, + 124,192,135,0,13,0,48,128,0,64,15,224,48,96,32,48, + 64,16,64,16,64,16,64,16,64,16,32,32,48,96,15,128, + 13,15,30,15,1,0,28,64,54,192,35,128,0,0,231,128, + 40,64,48,32,32,32,32,32,32,32,32,32,32,32,32,32, + 32,32,248,248,11,16,32,15,2,0,24,0,12,0,6,0, + 3,0,0,0,31,0,96,192,64,64,128,32,128,32,128,32, + 128,32,128,32,64,64,96,192,31,0,11,16,32,15,2,0, + 1,128,3,0,6,0,12,0,0,0,31,0,96,192,64,64, + 128,32,128,32,128,32,128,32,128,32,64,64,96,192,31,0, + 11,16,32,15,2,0,12,0,30,0,51,0,97,128,0,0, + 31,0,96,192,64,64,128,32,128,32,128,32,128,32,128,32, + 64,64,96,192,31,0,11,15,30,15,2,0,28,64,54,192, + 35,128,0,0,31,0,96,192,64,64,128,32,128,32,128,32, + 128,32,128,32,64,64,96,192,31,0,11,15,30,15,2,0, + 49,128,49,128,0,0,0,0,31,0,96,192,64,64,128,32, + 128,32,128,32,128,32,128,32,64,64,96,192,31,0,11,9, + 18,15,2,3,14,0,14,0,0,0,0,0,255,224,0,0, + 0,0,14,0,14,0,12,12,24,15,1,0,0,16,15,160, + 48,64,32,160,65,16,66,16,68,16,72,16,80,16,32,32, + 80,96,143,128,12,16,32,15,1,0,24,0,12,0,6,0, + 3,0,0,0,224,224,32,32,32,32,32,32,32,32,32,32, + 32,32,32,32,32,96,16,160,15,48,12,16,32,15,1,0, + 0,192,1,128,3,0,6,0,0,0,224,224,32,32,32,32, + 32,32,32,32,32,32,32,32,32,32,32,96,16,160,15,48, + 12,16,32,15,1,0,6,0,15,0,25,128,48,192,0,0, + 224,224,32,32,32,32,32,32,32,32,32,32,32,32,32,32, + 32,96,16,160,15,48,12,15,30,15,1,0,25,128,25,128, + 0,0,0,0,224,224,32,32,32,32,32,32,32,32,32,32, + 32,32,32,32,32,96,16,160,15,48,12,21,42,15,1,251, + 0,192,1,128,3,0,6,0,0,0,240,240,64,32,64,32, + 32,64,32,64,32,128,16,128,17,0,9,0,10,0,6,0, + 4,0,4,0,8,0,8,0,254,0,13,21,42,15,1,251, + 224,0,32,0,32,0,32,0,32,0,39,192,56,48,48,16, + 32,8,32,8,32,8,32,8,32,8,48,16,56,48,39,192, + 32,0,32,0,32,0,32,0,252,0,12,20,40,15,1,251, + 25,128,25,128,0,0,0,0,240,240,64,32,64,32,32,64, + 32,64,32,128,16,128,17,0,9,0,10,0,6,0,4,0, + 4,0,8,0,8,0,254,0}; +/* + Fontname: -Adobe-Courier-Medium-R-Normal--25-180-100-100-M-150-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 14, '1' Height: 15 + Calculated Max Values w=15 h=21 x= 7 y=12 dx=15 dy= 0 ascent=17 len=40 + Font Bounding box w=23 h=32 x=-5 y=-8 + Calculated Min Values x= 0 y=-5 dx= 0 dy= 0 + Pure Font ascent =14 descent=-5 + X Font ascent =16 descent=-5 + Max Font ascent =17 descent=-5 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_courR18r[2862] U8G_FONT_SECTION("u8g_font_courR18r") = { + 0,23,32,251,248,14,3,161,7,151,32,127,251,17,251,16, + 251,0,0,0,15,0,1,2,16,16,15,6,0,192,192,192, + 192,192,192,192,192,128,128,128,0,0,0,192,192,8,7,7, + 15,3,9,231,231,231,231,66,66,66,10,17,34,15,2,255, + 9,0,9,0,9,0,9,0,9,0,9,0,127,192,18,0, + 18,0,18,0,255,128,18,0,18,0,18,0,18,0,18,0, + 18,0,9,20,40,15,3,253,8,0,8,0,8,0,30,128, + 33,128,64,128,64,0,64,0,32,0,30,0,1,0,0,128, + 0,128,128,128,193,0,190,0,8,0,8,0,8,0,8,0, + 12,16,32,15,1,0,28,0,34,0,65,0,65,0,65,0, + 34,0,28,112,3,128,28,0,225,192,2,32,4,16,4,16, + 4,16,2,32,1,192,10,13,26,15,2,0,29,0,38,0, + 32,0,32,0,16,0,48,0,73,128,137,0,134,0,130,0, + 131,0,69,0,56,192,3,7,7,15,6,8,224,224,224,224, + 224,64,64,4,19,19,15,7,253,16,32,32,64,64,64,128, + 128,128,128,128,128,128,64,64,64,32,32,16,4,19,19,15, + 3,253,128,64,64,32,32,32,16,16,16,16,16,16,16,32, + 32,32,64,64,128,9,9,18,15,3,7,8,0,8,0,8, + 0,201,128,127,0,28,0,54,0,99,0,193,128,11,11,22, + 15,2,2,4,0,4,0,4,0,4,0,4,0,255,224,4, + 0,4,0,4,0,4,0,4,0,5,6,6,15,4,253,56, + 56,112,96,192,128,10,1,2,15,2,7,255,192,3,3,3, + 15,6,0,224,224,224,9,18,36,15,3,254,0,128,0,128, + 1,0,1,0,2,0,2,0,4,0,4,0,8,0,8,0, + 16,0,16,0,32,0,32,0,64,0,64,0,128,0,128,0, + 9,15,30,15,3,0,28,0,99,0,65,0,128,128,128,128, + 128,128,128,128,128,128,128,128,128,128,128,128,128,128,65,0, + 99,0,28,0,9,15,30,15,3,0,24,0,232,0,8,0, + 8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0, + 8,0,8,0,8,0,255,128,10,15,30,15,2,0,30,0, + 97,0,128,128,128,128,0,128,0,128,1,0,2,0,4,0, + 8,0,16,0,32,0,64,0,128,64,255,192,10,15,30,15, + 2,0,62,0,65,128,0,128,0,128,0,128,1,0,30,0, + 1,128,0,64,0,64,0,64,0,64,128,64,97,128,30,0, + 10,15,30,15,2,0,3,0,5,0,9,0,9,0,17,0, + 33,0,33,0,65,0,65,0,129,0,255,192,1,0,1,0, + 1,0,15,192,10,15,30,15,2,0,127,128,64,0,64,0, + 64,0,64,0,94,0,97,128,0,128,0,64,0,64,0,64, + 0,64,0,128,193,128,62,0,9,15,30,15,3,0,15,0, + 48,0,96,0,64,0,128,0,158,0,161,0,192,128,128,128, + 128,128,128,128,128,128,64,128,97,0,30,0,9,15,30,15, + 2,0,255,128,128,128,129,0,1,0,1,0,2,0,2,0, + 2,0,2,0,4,0,4,0,4,0,8,0,8,0,8,0, + 10,15,30,15,2,0,30,0,33,0,64,128,64,128,64,128, + 64,128,33,0,63,0,64,128,128,64,128,64,128,64,64,128, + 97,128,30,0,9,15,30,15,3,0,28,0,99,0,193,128, + 128,128,128,128,128,128,65,128,98,128,28,128,0,128,0,128, + 1,0,1,0,6,0,248,0,3,11,11,15,6,0,224,224, + 224,0,0,0,0,0,224,224,224,5,14,14,15,4,253,56, + 56,56,0,0,0,0,0,56,56,112,96,192,128,11,11,22, + 15,1,2,0,96,1,128,6,0,24,0,96,0,192,0,96, + 0,24,0,6,0,1,128,0,96,12,4,8,15,1,5,255, + 240,0,0,0,0,255,240,11,11,22,15,2,2,192,0,48, + 0,12,0,3,0,0,192,0,96,0,192,3,0,12,0,48, + 0,192,0,8,14,14,15,3,0,124,130,129,1,1,1,2, + 12,16,16,0,0,24,24,10,18,36,15,2,254,30,0,97, + 0,64,128,128,128,128,128,131,128,132,128,136,128,136,128,136, + 128,136,128,132,128,131,192,128,0,128,0,64,0,97,128,31, + 0,13,14,28,15,1,0,63,0,5,0,8,128,8,128,8, + 128,16,64,16,64,16,64,63,224,32,32,32,32,64,16,64, + 16,240,120,12,14,28,15,1,0,255,192,32,32,32,16,32, + 16,32,16,32,32,63,192,32,32,32,16,32,16,32,16,32, + 16,32,32,255,192,11,14,28,15,2,0,15,32,48,160,96, + 96,64,32,128,0,128,0,128,0,128,0,128,0,128,0,64, + 32,96,96,48,192,15,0,12,14,28,15,1,0,255,128,64, + 96,64,32,64,16,64,16,64,16,64,16,64,16,64,16,64, + 16,64,16,64,32,64,96,255,128,12,14,28,15,1,0,255, + 224,32,32,32,32,32,32,34,0,34,0,62,0,34,0,34, + 0,32,16,32,16,32,16,32,16,255,240,11,14,28,15,2, + 0,255,224,32,32,32,32,32,32,34,0,34,0,62,0,34, + 0,34,0,32,0,32,0,32,0,32,0,254,0,12,14,28, + 15,1,0,15,32,48,160,96,96,64,32,128,0,128,0,128, + 0,128,0,131,240,128,32,64,32,96,32,48,64,15,128,13, + 14,28,15,1,0,248,248,32,32,32,32,32,32,32,32,32, + 32,63,224,32,32,32,32,32,32,32,32,32,32,32,32,248, + 248,9,14,28,15,3,0,255,128,8,0,8,0,8,0,8, + 0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8, + 0,255,128,12,14,28,15,2,0,31,240,0,128,0,128,0, + 128,0,128,0,128,0,128,0,128,128,128,128,128,128,128,129, + 0,67,0,60,0,13,14,28,15,1,0,248,240,32,64,32, + 128,33,0,34,0,36,0,44,0,50,0,33,0,32,128,32, + 64,32,64,32,32,248,120,12,14,28,15,1,0,254,0,16, + 0,16,0,16,0,16,0,16,0,16,0,16,0,16,0,16, + 16,16,16,16,16,16,16,255,240,13,14,28,15,1,0,224, + 56,96,48,96,48,80,80,80,80,72,144,72,144,69,16,71, + 16,64,16,64,16,64,16,64,16,240,120,14,14,28,15,0, + 0,240,252,48,16,40,16,36,16,36,16,34,16,34,16,33, + 16,33,16,32,144,32,144,32,80,32,48,252,48,13,14,28, + 15,1,0,15,128,48,96,96,48,64,16,128,8,128,8,128, + 8,128,8,128,8,128,8,64,16,96,48,48,96,15,128,11, + 14,28,15,2,0,255,128,32,64,32,32,32,32,32,32,32, + 32,32,64,63,128,32,0,32,0,32,0,32,0,32,0,254, + 0,13,16,32,15,1,254,15,128,48,96,96,48,64,16,128, + 8,128,8,128,8,128,8,128,8,128,8,64,16,96,48,48, + 96,15,128,6,48,27,192,13,14,28,15,1,0,255,128,32, + 64,32,32,32,32,32,32,32,32,32,64,63,128,33,0,32, + 128,32,64,32,64,32,32,248,56,10,14,28,15,2,0,30, + 64,97,64,128,192,128,64,128,0,96,0,30,0,1,128,0, + 64,0,64,128,64,192,64,160,128,159,0,11,14,28,15,2, + 0,255,224,132,32,132,32,132,32,132,32,4,0,4,0,4, + 0,4,0,4,0,4,0,4,0,4,0,63,128,12,14,28, + 15,1,0,249,240,64,32,64,32,64,32,64,32,64,32,64, + 32,64,32,64,32,64,32,64,32,64,32,32,64,31,128,13, + 14,28,15,1,0,248,248,64,16,64,16,32,32,32,32,16, + 64,16,64,16,64,8,128,8,128,8,128,5,0,7,0,2, + 0,13,14,28,15,1,0,248,248,64,16,64,16,66,16,66, + 16,69,16,69,16,37,32,40,160,40,160,40,160,48,96,48, + 96,48,96,13,14,28,15,1,0,248,248,32,32,16,64,16, + 64,8,128,5,0,2,0,5,0,8,128,8,128,16,64,32, + 32,32,32,248,248,13,14,28,15,1,0,240,120,32,32,16, + 64,16,64,8,128,8,128,5,0,2,0,2,0,2,0,2, + 0,2,0,2,0,31,192,10,14,28,15,2,0,255,192,128, + 64,128,128,129,0,130,0,2,0,4,0,8,0,16,0,16, + 64,32,64,64,64,128,64,255,192,3,19,19,15,7,253,224, + 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, + 128,224,9,18,36,15,3,254,128,0,128,0,64,0,64,0, + 32,0,32,0,16,0,16,0,8,0,8,0,4,0,4,0, + 2,0,2,0,1,0,1,0,0,128,0,128,3,19,19,15, + 5,253,224,32,32,32,32,32,32,32,32,32,32,32,32,32, + 32,32,32,32,224,9,5,10,15,3,11,8,0,28,0,34, + 0,65,0,128,128,15,1,2,15,0,251,255,254,5,4,4, + 15,4,12,192,96,48,24,11,11,22,15,2,0,62,0,65, + 0,0,128,0,128,62,128,65,128,128,128,128,128,128,128,65, + 128,62,224,13,15,30,15,1,0,224,0,32,0,32,0,32, + 0,39,192,40,48,48,16,32,8,32,8,32,8,32,8,32, + 8,48,16,40,48,231,192,11,11,22,15,2,0,31,64,96, + 192,64,64,128,64,128,0,128,0,128,0,128,0,64,96,96, + 192,31,0,13,15,30,15,1,0,0,224,0,32,0,32,0, + 32,31,32,96,160,64,96,128,32,128,32,128,32,128,32,128, + 32,64,96,96,160,31,56,11,11,22,15,2,0,31,0,96, + 192,64,64,128,32,128,32,255,224,128,0,128,0,64,0,96, + 96,31,128,10,15,30,15,3,0,15,128,24,64,16,0,16, + 0,255,128,16,0,16,0,16,0,16,0,16,0,16,0,16, + 0,16,0,16,0,255,128,13,16,32,15,1,251,31,56,96, + 160,64,96,128,32,128,32,128,32,128,32,128,32,64,96,96, + 160,31,32,0,32,0,32,0,64,0,192,63,0,13,15,30, + 15,1,0,224,0,32,0,32,0,32,0,39,128,40,64,48, + 32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,248, + 248,9,16,32,15,3,0,8,0,8,0,8,0,0,0,0, + 0,120,0,8,0,8,0,8,0,8,0,8,0,8,0,8, + 0,8,0,8,0,255,128,8,21,21,15,3,251,2,2,2, + 0,0,255,1,1,1,1,1,1,1,1,1,1,1,1,2, + 6,248,11,15,30,15,2,0,224,0,32,0,32,0,32,0, + 35,192,33,0,34,0,36,0,40,0,56,0,36,0,34,0, + 33,0,32,128,225,224,11,15,30,15,2,0,124,0,4,0, + 4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0, + 4,0,4,0,4,0,4,0,255,224,14,11,22,15,0,0, + 238,112,49,136,33,8,33,8,33,8,33,8,33,8,33,8, + 33,8,33,8,249,140,13,11,22,15,1,0,231,128,40,64, + 48,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32, + 248,248,11,11,22,15,2,0,31,0,96,192,64,64,128,32, + 128,32,128,32,128,32,128,32,64,64,96,192,31,0,13,16, + 32,15,1,251,231,192,40,48,48,16,32,8,32,8,32,8, + 32,8,32,8,48,16,40,48,39,192,32,0,32,0,32,0, + 32,0,252,0,13,16,32,15,1,251,31,56,96,160,64,96, + 128,32,128,32,128,32,128,32,128,32,64,96,96,160,31,32, + 0,32,0,32,0,32,0,32,1,248,11,11,22,15,2,0, + 113,192,22,32,24,0,16,0,16,0,16,0,16,0,16,0, + 16,0,16,0,255,128,9,11,22,15,3,0,62,128,65,128, + 64,128,64,0,56,0,7,0,0,128,0,128,128,128,193,0, + 190,0,10,15,30,15,2,0,32,0,32,0,32,0,32,0, + 255,128,32,0,32,0,32,0,32,0,32,0,32,0,32,0, + 32,0,16,192,15,0,12,11,22,15,1,0,224,224,32,32, + 32,32,32,32,32,32,32,32,32,32,32,32,32,96,16,160, + 15,48,13,11,22,15,1,0,248,248,32,32,32,32,16,64, + 16,64,16,64,8,128,8,128,5,0,7,0,2,0,13,11, + 22,15,1,0,240,120,64,16,64,16,66,16,34,32,37,32, + 37,32,37,32,21,64,24,192,24,192,11,11,22,15,2,0, + 241,224,64,64,32,128,17,0,10,0,4,0,10,0,17,0, + 32,128,64,64,241,224,12,16,32,15,1,251,240,240,64,32, + 64,32,32,64,32,64,32,128,16,128,17,0,9,0,10,0, + 6,0,4,0,4,0,8,0,8,0,254,0,9,11,22,15, + 3,0,255,128,128,128,129,0,2,0,4,0,8,0,16,0, + 32,0,64,128,128,128,255,128,5,19,19,15,5,253,24,32, + 32,32,32,32,32,32,32,192,32,32,32,32,32,32,32,32, + 24,1,17,17,15,7,253,128,128,128,128,128,128,128,128,128, + 128,128,128,128,128,128,128,128,5,19,19,15,5,253,192,32, + 32,32,32,32,32,32,32,24,32,32,32,32,32,32,32,32, + 192,12,3,6,15,1,6,60,48,102,96,195,192,255}; +/* + Fontname: -Adobe-Courier-Medium-R-Normal--34-240-100-100-M-200-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 19, '1' Height: 20 + Calculated Max Values w=19 h=28 x= 9 y=17 dx=20 dy= 0 ascent=26 len=81 + Font Bounding box w=28 h=42 x=-6 y=-10 + Calculated Min Values x= 0 y=-6 dx= 0 dy= 0 + Pure Font ascent =19 descent=-6 + X Font ascent =21 descent=-6 + Max Font ascent =26 descent=-6 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_courR24[8729] U8G_FONT_SECTION("u8g_font_courR24") = { + 0,28,42,250,246,19,4,184,10,129,32,255,250,26,250,21, + 250,0,0,0,20,0,1,5,21,21,20,8,0,32,112,112, + 112,112,112,32,32,32,32,32,32,32,32,0,0,0,0,112, + 248,112,11,10,20,20,4,10,241,224,241,224,241,224,241,224, + 241,224,96,192,96,192,64,128,64,128,64,128,13,23,46,20, + 3,254,4,64,4,64,4,64,4,64,12,192,8,128,8,128, + 8,128,127,248,8,128,8,128,8,128,8,128,8,128,255,240, + 8,128,8,128,8,128,9,128,17,0,17,0,17,0,17,0, + 12,25,50,20,4,253,4,0,4,0,4,0,31,32,113,224, + 64,96,128,32,128,0,192,0,96,0,60,0,7,128,0,224, + 0,48,0,16,0,16,128,48,192,96,241,192,159,0,4,0, + 4,0,4,0,4,0,4,0,15,20,40,20,3,0,30,0, + 51,0,97,128,64,128,64,128,97,128,51,0,30,14,0,112, + 3,128,28,0,224,0,1,224,3,48,6,24,4,8,4,8, + 6,24,3,48,1,224,12,17,34,20,3,0,15,192,25,128, + 48,0,32,0,32,0,48,0,16,0,24,0,60,0,100,48, + 70,96,194,64,131,64,193,192,65,128,99,192,62,112,4,11, + 11,20,8,10,112,112,112,112,112,224,224,224,224,224,224,5, + 25,25,20,9,252,8,24,16,48,32,96,96,64,64,192,192, + 192,192,192,192,192,64,64,96,96,32,48,16,24,8,5,25, + 25,20,5,252,128,192,64,96,32,48,48,16,16,24,24,24, + 24,24,24,24,16,16,48,48,32,96,64,192,128,11,13,26, + 20,4,8,4,0,4,0,4,0,4,0,132,32,245,224,31, + 0,14,0,10,0,27,0,49,128,32,128,96,192,15,17,34, + 20,2,1,1,0,1,0,1,0,1,0,1,0,1,0,1, + 0,1,0,255,254,1,0,1,0,1,0,1,0,1,0,1, + 0,1,0,1,0,6,9,9,20,5,252,60,60,120,120,96, + 224,192,192,128,15,1,2,20,2,9,255,254,5,4,4,20, + 7,0,112,248,248,112,11,25,50,20,4,253,0,32,0,96, + 0,64,0,64,0,192,0,128,1,128,1,0,3,0,2,0, + 2,0,6,0,4,0,12,0,8,0,8,0,24,0,16,0, + 48,0,32,0,96,0,64,0,64,0,192,0,128,0,11,20, + 40,20,4,0,31,0,49,128,96,192,64,64,64,64,128,32, + 128,32,128,32,128,32,128,32,128,32,128,32,128,32,128,32, + 192,96,64,64,64,64,96,192,49,128,31,0,11,20,40,20, + 4,0,12,0,60,0,228,0,4,0,4,0,4,0,4,0, + 4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0, + 4,0,4,0,4,0,4,0,255,224,13,20,40,20,3,0, + 15,192,48,96,96,16,64,16,64,16,0,16,0,48,0,32, + 0,96,0,192,1,128,3,0,6,0,12,0,24,0,48,0, + 96,0,192,0,128,8,255,248,13,20,40,20,3,0,15,128, + 56,224,96,48,0,16,0,16,0,16,0,16,0,32,0,64, + 7,128,0,96,0,16,0,8,0,8,0,8,0,8,0,24, + 192,48,112,224,31,128,13,20,40,20,3,0,0,192,1,64, + 1,64,2,64,6,64,4,64,8,64,24,64,16,64,32,64, + 96,64,64,64,128,64,255,248,0,64,0,64,0,64,0,64, + 0,64,3,248,13,20,40,20,3,0,63,240,32,0,32,0, + 32,0,32,0,32,0,32,0,39,128,60,224,32,48,0,16, + 0,24,0,8,0,8,0,8,0,24,192,16,96,48,56,224, + 15,128,12,20,40,20,4,0,7,192,28,32,48,0,32,0, + 96,0,64,0,192,0,143,128,184,224,160,32,192,48,192,16, + 192,16,192,16,192,16,64,16,96,48,32,32,56,224,15,128, + 11,20,40,20,4,0,255,224,128,32,128,32,0,96,0,64, + 0,64,0,192,0,128,0,128,1,128,1,0,1,0,3,0, + 2,0,2,0,2,0,6,0,4,0,4,0,4,0,11,20, + 40,20,4,0,31,0,96,192,64,64,192,96,128,32,128,32, + 192,96,64,64,49,128,31,0,113,192,64,64,192,96,128,32, + 128,32,128,32,192,96,64,64,113,192,31,0,12,20,40,20, + 4,0,31,0,112,192,64,96,192,32,128,48,128,48,128,48, + 128,48,192,80,64,208,115,144,30,16,0,32,0,32,0,32, + 0,64,0,192,1,128,14,0,120,0,5,14,14,20,7,0, + 112,248,248,112,0,0,0,0,0,0,112,248,248,112,7,18, + 18,20,5,252,28,62,62,28,0,0,0,0,0,60,60,120, + 112,112,224,192,192,128,15,17,34,20,2,1,0,2,0,14, + 0,56,0,224,3,128,6,0,28,0,112,0,192,0,112,0, + 28,0,6,0,3,128,0,224,0,56,0,14,0,2,15,6, + 12,20,2,6,255,254,0,0,0,0,0,0,0,0,255,254, + 15,17,34,20,2,1,128,0,224,0,56,0,14,0,3,128, + 0,192,0,112,0,28,0,6,0,28,0,112,0,192,3,128, + 14,0,56,0,224,0,128,0,11,19,38,20,4,0,63,0, + 225,192,128,64,128,64,0,96,0,32,0,96,0,64,1,192, + 7,0,4,0,4,0,4,0,0,0,0,0,0,0,14,0, + 31,0,14,0,12,23,46,20,3,254,15,128,24,192,48,64, + 96,96,64,32,192,32,128,32,128,224,131,160,134,32,132,32, + 132,32,132,32,134,32,131,32,129,240,128,0,192,0,64,0, + 96,0,48,0,24,224,15,128,19,19,57,20,0,0,31,224, + 0,0,160,0,0,160,0,1,16,0,1,16,0,1,16,0, + 2,8,0,2,8,0,2,8,0,4,4,0,4,4,0,4, + 4,0,15,254,0,8,2,0,8,2,0,16,1,0,16,1, + 0,48,1,128,254,15,224,16,19,38,20,1,0,255,240,16, + 12,16,4,16,6,16,2,16,2,16,6,16,4,16,12,31, + 248,16,6,16,2,16,3,16,1,16,1,16,3,16,2,16, + 6,255,248,14,19,38,20,2,0,7,196,28,116,32,12,96, + 4,64,4,192,4,128,0,128,0,128,0,128,0,128,0,128, + 0,128,0,192,0,64,0,96,4,32,28,28,112,7,192,15, + 19,38,20,1,0,255,192,32,112,32,24,32,12,32,4,32, + 6,32,2,32,2,32,2,32,2,32,2,32,2,32,2,32, + 6,32,4,32,12,32,24,32,112,255,192,15,19,38,20,1, + 0,255,252,16,4,16,4,16,4,16,4,16,68,16,64,16, + 64,31,192,16,64,16,64,16,64,16,0,16,2,16,2,16, + 2,16,2,16,2,255,254,15,19,38,20,1,0,255,254,16, + 2,16,2,16,2,16,2,16,66,16,64,16,64,31,192,16, + 64,16,64,16,64,16,0,16,0,16,0,16,0,16,0,16, + 0,255,128,15,19,38,20,2,0,7,196,28,116,48,12,96, + 4,64,4,192,4,128,0,128,0,128,0,128,0,128,0,128, + 254,128,4,192,4,64,4,96,4,48,4,28,28,7,240,15, + 19,38,20,2,0,252,126,32,8,32,8,32,8,32,8,32, + 8,32,8,32,8,32,8,63,248,32,8,32,8,32,8,32, + 8,32,8,32,8,32,8,32,8,252,126,11,19,38,20,4, + 0,255,224,4,0,4,0,4,0,4,0,4,0,4,0,4, + 0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4, + 0,4,0,4,0,255,224,15,19,38,20,3,0,15,254,0, + 32,0,32,0,32,0,32,0,32,0,32,0,32,0,32,0, + 32,0,32,128,32,128,32,128,32,128,32,192,96,64,64,97, + 192,31,0,17,19,57,20,1,0,254,31,128,16,4,0,16, + 12,0,16,8,0,16,16,0,16,48,0,16,64,0,16,192, + 0,19,128,0,28,192,0,16,32,0,16,48,0,16,16,0, + 16,24,0,16,8,0,16,8,0,16,12,0,16,4,0,254, + 7,128,15,19,38,20,2,0,255,128,8,0,8,0,8,0, + 8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0, + 8,2,8,2,8,2,8,2,8,2,8,2,255,254,19,19, + 57,20,0,0,248,3,224,40,2,128,40,2,128,36,4,128, + 36,4,128,34,8,128,34,8,128,33,16,128,33,16,128,33, + 16,128,32,160,128,32,160,128,32,64,128,32,64,128,32,0, + 128,32,0,128,32,0,128,32,0,128,254,7,224,18,19,57, + 20,0,0,248,31,192,28,1,0,20,1,0,18,1,0,18, + 1,0,17,1,0,16,129,0,16,129,0,16,65,0,16,65, + 0,16,33,0,16,33,0,16,17,0,16,17,0,16,9,0, + 16,9,0,16,5,0,16,7,0,127,3,0,15,19,38,20, + 2,0,7,192,24,48,48,24,96,12,64,4,192,6,128,2, + 128,2,128,2,128,2,128,2,128,2,128,2,192,6,64,4, + 96,12,48,24,24,48,7,192,15,19,38,20,1,0,255,224, + 16,56,16,4,16,6,16,2,16,2,16,2,16,6,16,4, + 16,56,31,224,16,0,16,0,16,0,16,0,16,0,16,0, + 16,0,255,192,15,22,44,20,2,253,7,192,28,112,48,24, + 96,12,64,4,192,6,128,2,128,2,128,2,128,2,128,2, + 128,2,128,2,192,6,64,4,96,12,56,56,12,96,7,192, + 2,0,15,198,24,124,18,19,57,20,1,0,255,224,0,16, + 56,0,16,4,0,16,6,0,16,2,0,16,2,0,16,6, + 0,16,4,0,16,24,0,31,224,0,16,96,0,16,48,0, + 16,24,0,16,12,0,16,4,0,16,6,0,16,2,0,16, + 3,0,254,1,192,12,19,38,20,3,0,15,144,56,208,96, + 48,64,48,64,16,64,16,64,0,96,0,56,0,15,0,1, + 192,0,96,0,48,128,16,128,16,192,16,224,48,184,224,143, + 128,15,19,38,20,2,0,255,254,129,2,129,2,129,2,129, + 2,129,2,129,2,1,0,1,0,1,0,1,0,1,0,1, + 0,1,0,1,0,1,0,1,0,1,0,63,248,17,19,57, + 20,1,0,254,63,128,32,2,0,32,2,0,32,2,0,32, + 2,0,32,2,0,32,2,0,32,2,0,32,2,0,32,2, + 0,32,2,0,32,2,0,32,2,0,32,2,0,48,6,0, + 16,4,0,24,12,0,14,56,0,3,224,0,19,19,57,20, + 0,0,254,15,224,48,1,128,16,1,0,16,1,0,24,3, + 0,8,2,0,8,2,0,12,6,0,4,4,0,4,4,0, + 6,12,0,2,8,0,3,24,0,1,16,0,1,16,0,0, + 160,0,0,160,0,0,224,0,0,64,0,17,19,57,20,1, + 0,252,31,128,64,1,0,64,1,0,64,1,0,64,1,0, + 97,195,0,33,66,0,33,66,0,34,34,0,34,34,0,34, + 34,0,34,34,0,38,50,0,36,18,0,52,22,0,20,20, + 0,20,20,0,24,12,0,24,12,0,17,19,57,20,1,0, + 124,31,0,48,6,0,16,4,0,24,12,0,8,8,0,4, + 16,0,2,32,0,3,96,0,1,192,0,0,128,0,1,192, + 0,2,32,0,4,16,0,12,24,0,8,8,0,16,4,0, + 48,6,0,96,3,0,252,31,128,15,19,38,20,2,0,248, + 62,96,12,48,24,16,16,24,48,8,32,4,64,6,192,2, + 128,3,128,1,0,1,0,1,0,1,0,1,0,1,0,1, + 0,1,0,31,240,13,19,38,20,3,0,127,240,64,16,64, + 48,64,32,64,96,64,192,0,128,1,128,3,0,6,0,4, + 0,12,0,24,8,16,8,48,8,96,8,64,8,192,8,255, + 248,5,24,24,20,9,252,248,128,128,128,128,128,128,128,128, + 128,128,128,128,128,128,128,128,128,128,128,128,128,128,248,11, + 25,50,20,4,253,128,0,192,0,64,0,64,0,96,0,32, + 0,48,0,16,0,24,0,8,0,8,0,12,0,4,0,6, + 0,2,0,2,0,3,0,1,0,1,128,0,128,0,192,0, + 64,0,64,0,96,0,32,5,24,24,20,5,252,248,8,8, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,248,11,9,18,20,4,12,4,0,14,0,27, + 0,17,0,49,128,96,192,64,64,192,96,128,32,19,1,3, + 20,0,250,255,255,224,6,5,5,20,4,17,192,96,48,24, + 12,15,14,28,20,2,0,15,128,56,224,0,32,0,48,0, + 16,0,16,31,240,112,48,192,16,128,16,128,16,128,48,192, + 240,127,158,17,20,60,20,0,0,240,0,0,16,0,0,16, + 0,0,16,0,0,16,0,0,16,0,0,17,248,0,23,14, + 0,20,3,0,24,1,0,24,1,128,16,0,128,16,0,128, + 16,0,128,16,0,128,24,1,128,24,1,0,20,3,0,23, + 14,0,241,248,0,14,14,28,20,3,0,15,136,56,248,96, + 24,64,8,192,8,128,0,128,0,128,0,128,0,192,0,64, + 12,96,24,56,224,15,128,17,20,60,20,2,0,0,60,0, + 0,4,0,0,4,0,0,4,0,0,4,0,0,4,0,15, + 196,0,56,116,0,96,20,0,64,12,0,192,12,0,128,4, + 0,128,4,0,128,4,0,128,4,0,192,12,0,64,12,0, + 96,20,0,56,116,0,15,199,128,14,14,28,20,2,0,15, + 192,56,112,96,24,64,8,192,12,128,4,255,252,128,0,128, + 0,192,0,64,0,96,12,56,56,15,224,13,20,40,20,3, + 0,3,224,6,24,4,0,12,0,8,0,8,0,255,240,8, + 0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8, + 0,8,0,8,0,8,0,255,240,17,20,60,20,2,250,15, + 199,128,56,116,0,96,20,0,64,12,0,192,12,0,128,4, + 0,128,4,0,128,4,0,128,4,0,192,12,0,64,12,0, + 96,20,0,56,116,0,15,196,0,0,4,0,0,4,0,0, + 12,0,0,8,0,0,56,0,15,224,0,16,20,40,20,1, + 0,240,0,16,0,16,0,16,0,16,0,16,0,17,224,23, + 56,20,8,24,12,24,4,16,4,16,4,16,4,16,4,16, + 4,16,4,16,4,16,4,124,31,13,20,40,20,3,0,6, + 0,6,0,6,0,0,0,0,0,0,0,126,0,2,0,2, + 0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2, + 0,2,0,2,0,255,248,10,26,52,20,4,250,1,128,1, + 128,1,128,0,0,0,0,0,0,255,192,0,64,0,64,0, + 64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0, + 64,0,64,0,64,0,64,0,64,0,192,0,128,3,128,254, + 0,15,20,40,20,2,0,240,0,16,0,16,0,16,0,16, + 0,16,0,16,252,16,48,16,96,16,192,17,128,19,0,30, + 0,19,0,17,128,16,192,16,96,16,48,16,24,240,62,13, + 20,40,20,3,0,126,0,2,0,2,0,2,0,2,0,2, + 0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2, + 0,2,0,2,0,2,0,2,0,2,0,255,248,19,14,42, + 20,0,0,231,14,0,41,147,0,48,225,128,48,96,128,32, + 64,128,32,64,128,32,64,128,32,64,128,32,64,128,32,64, + 128,32,64,128,32,64,128,32,64,128,248,112,224,15,14,28, + 20,2,0,227,192,46,112,40,16,48,24,48,8,32,8,32, + 8,32,8,32,8,32,8,32,8,32,8,32,8,248,62,15, + 14,28,20,2,0,15,224,56,56,96,12,64,4,192,6,128, + 2,128,2,128,2,128,2,192,6,64,4,96,12,56,56,15, + 224,17,20,60,20,0,250,1,248,0,247,14,0,20,3,0, + 24,1,0,24,1,128,16,0,128,16,0,128,16,0,128,16, + 0,128,24,1,128,24,1,0,20,3,0,23,14,0,17,248, + 0,16,0,0,16,0,0,16,0,0,16,0,0,16,0,0, + 255,0,0,17,20,60,20,2,250,15,192,0,56,119,128,96, + 28,0,64,12,0,192,12,0,128,4,0,128,4,0,128,4, + 0,128,4,0,192,12,0,64,12,0,96,28,0,56,116,0, + 15,196,0,0,4,0,0,4,0,0,4,0,0,4,0,0, + 4,0,0,127,128,15,14,28,20,3,0,120,124,9,198,11, + 0,12,0,12,0,8,0,8,0,8,0,8,0,8,0,8, + 0,8,0,8,0,255,240,13,14,28,20,3,0,15,144,56, + 240,96,48,64,16,96,0,56,0,15,128,0,224,0,48,128, + 24,128,24,192,48,248,224,143,128,14,19,38,20,2,0,16, + 0,16,0,16,0,16,0,16,0,255,240,16,0,16,0,16, + 0,16,0,16,0,16,0,16,0,16,0,16,0,16,0,24, + 12,12,56,7,224,16,14,28,20,1,0,240,60,16,4,16, + 4,16,4,16,4,16,4,16,4,16,4,16,4,16,4,16, + 12,24,12,12,52,7,231,17,14,42,20,1,0,252,31,128, + 48,6,0,16,4,0,16,4,0,24,12,0,8,8,0,12, + 24,0,4,16,0,4,16,0,6,48,0,2,32,0,3,96, + 0,1,64,0,1,192,0,17,14,42,20,1,0,248,15,128, + 96,3,0,32,2,0,32,2,0,33,194,0,33,66,0,49, + 70,0,19,100,0,18,36,0,18,36,0,22,52,0,28,28, + 0,8,8,0,8,8,0,15,14,28,20,2,0,248,62,96, + 12,48,24,24,48,12,96,6,192,3,128,3,128,6,192,12, + 96,24,48,48,24,96,12,248,62,15,20,40,20,2,250,248, + 62,64,4,96,12,32,8,48,24,16,16,24,48,8,32,12, + 96,4,64,6,192,2,128,3,128,1,0,3,0,2,0,2, + 0,6,0,4,0,255,128,11,14,28,20,4,0,255,224,128, + 96,128,192,129,128,3,0,6,0,4,0,12,0,24,0,48, + 0,96,32,64,32,192,32,255,224,7,25,25,20,6,252,6, + 12,24,16,16,16,16,16,16,16,16,48,96,224,48,16,16, + 16,16,16,16,16,16,24,14,1,25,25,20,9,252,128,128, + 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, + 128,128,128,128,128,128,128,7,25,25,20,6,252,192,96,48, + 16,16,16,16,16,16,16,16,24,12,14,24,16,16,16,16, + 16,16,16,16,48,224,13,5,10,20,3,7,24,0,124,8, + 199,24,129,176,0,224,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, + 255,255,255,255,255,255,255,0,0,0,20,0,1,5,20,20, + 20,7,250,112,248,112,0,0,0,0,32,32,32,32,32,32, + 32,112,112,112,112,112,32,11,20,40,20,4,0,4,0,4, + 0,4,0,4,0,31,128,48,224,96,32,192,32,128,0,128, + 0,128,0,128,0,192,0,96,32,48,224,31,128,4,0,4, + 0,4,0,4,0,14,19,38,20,2,0,3,224,12,48,8, + 24,24,0,16,0,16,0,16,0,24,0,8,0,255,128,8, + 0,8,0,8,0,8,0,8,0,24,0,16,4,48,12,127, + 248,13,13,26,20,3,3,192,24,111,176,56,224,32,32,96, + 48,64,16,64,16,64,16,96,48,32,32,56,224,111,176,192, + 24,15,19,38,20,2,0,248,62,96,12,48,24,16,16,24, + 48,8,32,12,96,6,192,2,128,3,128,63,248,1,0,1, + 0,63,248,1,0,1,0,1,0,1,0,31,240,1,25,25, + 20,9,252,128,128,128,128,128,128,128,128,128,128,128,0,0, + 0,0,128,128,128,128,128,128,128,128,128,128,14,23,46,20, + 3,254,7,248,28,8,16,8,16,8,16,0,24,0,124,0, + 198,0,131,0,129,192,192,96,112,56,24,12,12,4,7,4, + 1,132,0,252,0,96,0,32,64,32,64,32,64,224,127,128, + 10,3,6,20,5,17,97,128,243,192,97,128,19,19,57,20, + 0,0,1,240,0,7,28,0,28,7,0,48,1,128,33,232, + 128,99,24,192,70,8,64,204,8,96,136,0,32,136,0,32, + 136,0,32,140,0,32,198,12,96,67,24,64,97,240,192,48, + 1,128,24,3,0,15,30,0,1,240,0,9,12,24,20,5, + 7,60,0,102,0,2,0,2,0,126,0,198,0,130,0,206, + 0,123,128,0,0,0,0,255,128,16,14,28,20,2,0,1, + 131,3,6,6,12,12,24,24,48,48,96,96,192,225,192,96, + 192,48,96,24,48,12,24,6,12,3,6,14,6,12,20,3, + 6,255,252,0,4,0,4,0,4,0,4,0,4,15,1,2, + 20,2,9,255,254,19,19,57,20,0,0,3,248,0,14,14, + 0,24,3,0,48,1,128,103,224,192,66,48,64,194,24,96, + 130,8,32,130,8,32,130,24,32,130,48,32,131,224,32,194, + 48,96,66,24,64,103,12,192,48,1,128,24,3,0,14,14, + 0,3,248,0,9,2,4,20,5,17,255,128,255,128,9,10, + 20,20,5,11,62,0,99,0,65,0,193,128,128,128,128,128, + 193,128,65,0,99,0,62,0,15,16,32,20,2,1,1,0, + 1,0,1,0,1,0,1,0,1,0,255,254,1,0,1,0, + 1,0,1,0,1,0,1,0,0,0,0,0,255,254,8,14, + 14,20,5,7,60,102,67,193,3,2,6,12,24,16,48,96, + 193,255,8,14,14,20,6,7,60,102,195,1,1,6,28,6, + 3,1,1,195,102,60,6,5,5,20,9,17,12,24,48,96, + 192,16,20,40,20,1,250,240,60,16,4,16,4,16,4,16, + 4,16,4,16,4,16,4,16,4,16,4,24,12,24,28,28, + 52,23,231,16,0,16,0,16,0,16,0,16,0,16,0,15, + 23,46,20,2,254,15,254,57,16,113,16,97,16,225,16,193, + 16,193,16,225,16,97,16,113,16,61,16,15,16,1,16,1, + 16,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1, + 16,31,190,5,4,4,20,7,7,112,248,248,112,5,5,5, + 20,7,251,32,32,48,152,240,7,14,14,20,6,7,112,208, + 16,16,16,16,16,16,16,16,16,16,16,254,9,12,24,20, + 5,7,28,0,119,0,65,0,193,128,128,128,193,128,65,0, + 119,0,28,0,0,0,0,0,255,128,16,14,28,20,2,0, + 193,128,96,192,48,96,24,48,12,24,6,12,3,6,3,135, + 3,6,6,12,12,24,24,48,48,96,96,192,18,21,63,20, + 1,0,48,0,192,240,0,128,16,1,128,16,3,0,16,2, + 0,16,6,0,16,12,0,16,8,0,16,24,0,16,48,0, + 16,35,0,16,103,0,254,197,0,0,141,0,1,153,0,3, + 17,0,2,49,0,6,63,128,12,1,0,8,1,0,24,7, + 128,18,21,63,20,1,0,48,0,128,240,1,128,16,3,0, + 16,6,0,16,4,0,16,12,0,16,24,0,16,16,0,16, + 48,0,16,96,0,16,71,128,16,204,192,253,152,64,3,0, + 192,2,0,128,6,1,128,12,7,0,8,12,0,24,24,0, + 48,48,0,96,63,192,19,21,63,20,0,0,60,0,0,102, + 0,96,3,0,192,3,1,128,6,3,0,28,6,0,6,12, + 0,3,8,0,1,24,0,1,48,0,195,33,128,102,99,128, + 60,194,128,1,134,128,1,12,128,3,8,128,6,24,128,12, + 31,192,24,0,128,48,0,128,0,3,192,11,20,40,20,4, + 250,14,0,31,0,14,0,0,0,0,0,0,0,0,0,4, + 0,4,0,12,0,24,0,112,0,64,0,192,0,128,0,128, + 0,192,32,96,32,49,224,31,0,19,26,78,20,0,0,6, + 0,0,3,0,0,1,128,0,0,192,0,0,96,0,0,0, + 0,0,0,0,31,224,0,0,160,0,1,176,0,1,16,0, + 1,16,0,3,24,0,2,8,0,2,8,0,6,12,0,4, + 4,0,4,4,0,12,6,0,15,254,0,8,2,0,24,3, + 0,16,1,0,16,1,0,48,1,128,254,15,224,19,26,78, + 20,0,0,0,12,0,0,24,0,0,48,0,0,96,0,0, + 192,0,0,0,0,0,0,0,31,224,0,0,160,0,1,176, + 0,1,16,0,1,16,0,3,24,0,2,8,0,2,8,0, + 6,12,0,4,4,0,4,4,0,12,6,0,15,254,0,8, + 2,0,24,3,0,16,1,0,16,1,0,48,1,128,254,15, + 224,19,26,78,20,0,0,0,64,0,0,224,0,1,176,0, + 3,24,0,6,12,0,0,0,0,0,0,0,31,224,0,0, + 160,0,1,176,0,1,16,0,1,16,0,3,24,0,2,8, + 0,2,8,0,6,12,0,4,4,0,4,4,0,12,6,0, + 15,254,0,8,2,0,24,3,0,16,1,0,16,1,0,48, + 1,128,254,15,224,19,24,72,20,0,0,3,132,0,6,236, + 0,4,56,0,0,0,0,0,0,0,31,224,0,0,160,0, + 1,176,0,1,16,0,1,16,0,3,24,0,2,8,0,2, + 8,0,6,12,0,4,4,0,4,4,0,12,6,0,15,254, + 0,8,2,0,24,3,0,16,1,0,16,1,0,48,1,128, + 254,15,224,19,24,72,20,0,0,6,12,0,15,30,0,6, + 12,0,0,0,0,0,0,0,31,224,0,0,160,0,1,176, + 0,1,16,0,1,16,0,3,24,0,2,8,0,2,8,0, + 6,12,0,4,4,0,4,4,0,12,6,0,15,254,0,8, + 2,0,24,3,0,16,1,0,16,1,0,48,1,128,254,15, + 224,19,26,78,20,0,0,0,224,0,1,176,0,1,16,0, + 1,16,0,1,176,0,0,224,0,0,0,0,31,224,0,0, + 160,0,1,176,0,1,16,0,1,16,0,3,24,0,2,8, + 0,2,8,0,6,12,0,4,4,0,4,4,0,12,6,0, + 15,254,0,8,2,0,24,3,0,16,1,0,16,1,0,48, + 1,128,254,15,224,18,19,57,20,1,0,31,255,128,2,64, + 128,2,64,128,6,64,128,4,64,128,4,64,128,4,64,0, + 12,68,0,8,68,0,8,124,0,8,68,0,24,68,0,31, + 192,0,16,64,0,48,64,64,32,64,64,32,64,64,32,64, + 64,251,255,192,15,24,48,20,2,251,7,196,28,116,48,12, + 96,12,64,4,192,4,128,0,128,0,128,0,128,0,128,0, + 128,0,128,0,192,0,64,2,96,4,48,28,28,112,7,192, + 1,0,1,0,1,128,4,192,7,128,15,26,52,20,1,0, + 12,0,6,0,3,0,1,128,0,192,0,0,0,0,255,252, + 16,4,16,4,16,4,16,4,16,4,16,64,16,64,16,64, + 31,192,16,64,16,64,16,0,16,2,16,2,16,2,16,2, + 16,2,255,254,15,26,52,20,1,0,0,48,0,96,0,192, + 1,128,3,0,0,0,0,0,255,252,16,4,16,4,16,4, + 16,4,16,4,16,64,16,64,16,64,31,192,16,64,16,64, + 16,0,16,2,16,2,16,2,16,2,16,2,255,254,15,26, + 52,20,1,0,0,128,1,192,3,96,6,48,12,24,0,0, + 0,0,255,252,16,4,16,4,16,4,16,4,16,4,16,64, + 16,64,16,64,31,192,16,64,16,64,16,0,16,2,16,2, + 16,2,16,2,16,2,255,254,15,24,48,20,1,0,12,48, + 30,120,12,48,0,0,0,0,255,252,16,4,16,4,16,4, + 16,4,16,4,16,64,16,64,16,64,31,192,16,64,16,64, + 16,0,16,2,16,2,16,2,16,2,16,2,255,254,11,26, + 52,20,4,0,48,0,24,0,12,0,6,0,3,0,0,0, + 0,0,255,224,4,0,4,0,4,0,4,0,4,0,4,0, + 4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0, + 4,0,4,0,4,0,255,224,11,26,52,20,4,0,0,192, + 1,128,3,0,6,0,12,0,0,0,0,0,255,224,4,0, + 4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0, + 4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0, + 255,224,11,26,52,20,4,0,4,0,14,0,27,0,49,128, + 96,192,0,0,0,0,255,224,4,0,4,0,4,0,4,0, + 4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0, + 4,0,4,0,4,0,4,0,4,0,255,224,11,24,48,20, + 4,0,96,192,241,224,96,192,0,0,0,0,255,224,4,0, + 4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0, + 4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0, + 255,224,15,19,38,20,1,0,255,192,32,112,32,24,32,12, + 32,4,32,6,32,2,32,2,32,2,254,2,32,2,32,2, + 32,2,32,6,32,4,32,12,32,24,32,112,255,192,18,24, + 72,20,0,0,3,132,0,6,236,0,4,56,0,0,0,0, + 0,0,0,248,31,192,28,1,0,20,1,0,22,1,0,18, + 1,0,19,1,0,17,129,0,16,129,0,16,193,0,16,65, + 0,16,97,0,16,33,0,16,49,0,16,25,0,16,9,0, + 16,13,0,16,5,0,16,7,0,127,3,0,15,26,52,20, + 2,0,24,0,12,0,6,0,3,0,1,128,0,0,0,0, + 7,192,28,112,48,24,96,12,64,4,192,6,128,2,128,2, + 128,2,128,2,128,2,128,2,192,6,64,4,96,12,32,8, + 48,24,28,112,7,192,15,26,52,20,2,0,0,24,0,48, + 0,96,0,192,1,128,0,0,0,0,7,192,28,112,48,24, + 96,12,64,4,192,6,128,2,128,2,128,2,128,2,128,2, + 128,2,192,6,64,4,96,12,32,8,48,24,28,112,7,192, + 15,26,52,20,2,0,1,0,3,128,6,192,12,96,24,48, + 0,0,0,0,7,192,28,112,48,24,96,12,64,4,192,6, + 128,2,128,2,128,2,128,2,128,2,128,2,192,6,64,4, + 96,12,32,8,48,24,28,112,7,192,15,24,48,20,2,0, + 14,16,27,176,16,224,0,0,0,0,7,192,28,112,48,24, + 96,12,64,4,192,6,128,2,128,2,128,2,128,2,128,2, + 128,2,192,6,64,4,96,12,32,8,48,24,28,112,7,192, + 15,24,48,20,2,0,48,48,120,120,48,48,0,0,0,0, + 7,192,28,112,48,24,96,12,64,4,192,6,128,2,128,2, + 128,2,128,2,128,2,128,2,192,6,64,4,96,12,32,8, + 48,24,28,112,7,192,13,14,28,20,3,1,128,8,192,24, + 96,48,48,96,24,192,13,128,7,0,7,0,13,128,24,192, + 48,96,96,48,192,24,128,8,16,21,42,20,2,255,0,1, + 7,195,28,118,48,28,32,24,96,60,64,36,192,102,128,194, + 129,130,129,2,131,2,134,2,204,6,72,4,120,12,48,8, + 48,24,124,48,199,224,128,0,17,26,78,20,1,0,6,0, + 0,3,0,0,1,128,0,0,192,0,0,96,0,0,0,0, + 0,0,0,254,63,128,32,2,0,32,2,0,32,2,0,32, + 2,0,32,2,0,32,2,0,32,2,0,32,2,0,32,2, + 0,32,2,0,32,2,0,32,2,0,32,2,0,48,6,0, + 16,4,0,24,12,0,14,56,0,3,224,0,17,26,78,20, + 1,0,0,24,0,0,48,0,0,96,0,0,192,0,1,128, + 0,0,0,0,0,0,0,254,63,128,32,2,0,32,2,0, + 32,2,0,32,2,0,32,2,0,32,2,0,32,2,0,32, + 2,0,32,2,0,32,2,0,32,2,0,32,2,0,32,2, + 0,48,6,0,16,4,0,24,12,0,14,56,0,3,224,0, + 17,26,78,20,1,0,0,128,0,1,192,0,3,96,0,6, + 48,0,12,24,0,0,0,0,0,0,0,254,63,128,32,2, + 0,32,2,0,32,2,0,32,2,0,32,2,0,32,2,0, + 32,2,0,32,2,0,32,2,0,32,2,0,32,2,0,32, + 2,0,32,2,0,48,6,0,16,4,0,24,12,0,14,56, + 0,3,224,0,17,24,72,20,1,0,12,24,0,30,60,0, + 12,24,0,0,0,0,0,0,0,254,63,128,32,2,0,32, + 2,0,32,2,0,32,2,0,32,2,0,32,2,0,32,2, + 0,32,2,0,32,2,0,32,2,0,32,2,0,32,2,0, + 32,2,0,48,6,0,16,4,0,24,12,0,14,56,0,3, + 224,0,15,26,52,20,2,0,0,48,0,96,0,192,1,128, + 3,0,0,0,0,0,248,62,96,12,48,24,16,16,24,48, + 8,32,12,96,6,192,2,128,3,128,1,0,1,0,1,0, + 1,0,1,0,1,0,1,0,1,0,31,240,16,19,38,20, + 1,0,254,0,16,0,16,0,16,0,31,224,16,60,16,6, + 16,2,16,3,16,3,16,2,16,6,16,60,31,224,16,0, + 16,0,16,0,16,0,254,0,15,21,42,20,1,0,7,192, + 12,96,8,32,24,48,16,16,16,16,16,16,16,48,16,96, + 17,192,16,112,16,24,16,4,16,6,16,2,16,2,16,2, + 17,6,17,4,17,140,248,248,15,22,44,20,2,0,24,0, + 12,0,6,0,3,0,1,128,0,0,0,0,0,0,15,128, + 56,224,0,32,0,48,0,16,0,16,31,240,112,48,192,16, + 128,16,128,16,128,48,192,240,127,158,15,22,44,20,2,0, + 0,96,0,192,1,128,3,0,6,0,0,0,0,0,0,0, + 15,128,56,224,0,32,0,48,0,16,0,16,31,240,112,48, + 192,16,128,16,128,16,128,48,192,240,127,158,15,22,44,20, + 2,0,1,0,3,128,6,192,12,96,24,48,0,0,0,0, + 0,0,15,128,56,224,0,32,0,48,0,16,0,16,31,240, + 112,48,192,16,128,16,128,16,128,48,192,240,127,158,15,20, + 40,20,2,0,14,16,27,176,16,224,0,0,0,0,0,0, + 15,128,56,224,0,32,0,48,0,16,0,16,31,240,112,48, + 192,16,128,16,128,16,128,48,192,240,127,158,15,20,40,20, + 2,0,48,192,121,224,48,192,0,0,0,0,0,0,15,128, + 56,224,0,32,0,48,0,16,0,16,31,240,112,48,192,16, + 128,16,128,16,128,48,192,240,127,158,15,23,46,20,2,0, + 7,0,13,128,8,128,8,128,13,128,7,0,0,0,0,0, + 0,0,15,128,56,224,0,32,0,48,0,16,0,16,31,240, + 112,48,192,16,128,16,128,16,128,48,192,240,127,158,19,14, + 42,20,0,0,31,15,128,113,152,192,0,240,64,0,96,96, + 0,96,32,30,64,32,115,255,224,192,192,0,128,64,0,128, + 96,0,128,224,0,193,80,96,99,88,192,62,79,128,14,19, + 38,20,3,251,15,200,56,104,96,24,64,24,192,8,128,8, + 128,0,128,0,128,0,192,0,64,4,96,28,56,112,15,192, + 2,0,2,0,3,0,9,128,15,0,14,22,44,20,2,0, + 24,0,12,0,6,0,3,0,1,128,0,0,0,0,0,0, + 15,192,56,112,96,24,64,8,192,12,128,4,255,252,128,0, + 128,0,128,0,192,0,96,12,56,56,15,224,14,22,44,20, + 2,0,0,48,0,96,0,192,1,128,3,0,0,0,0,0, + 0,0,15,192,56,112,96,24,64,8,192,12,128,4,255,252, + 128,0,128,0,128,0,192,0,96,12,56,56,15,224,14,22, + 44,20,2,0,1,0,3,128,6,192,12,96,24,48,0,0, + 0,0,0,0,15,192,56,112,96,24,64,8,192,12,128,4, + 255,252,128,0,128,0,128,0,192,0,96,12,56,56,15,224, + 14,20,40,20,2,0,48,96,120,240,48,96,0,0,0,0, + 0,0,15,192,56,112,96,24,64,8,192,12,128,4,255,252, + 128,0,128,0,128,0,192,0,96,12,56,56,15,224,13,22, + 44,20,3,0,48,0,24,0,12,0,6,0,3,0,0,0, + 0,0,0,0,126,0,2,0,2,0,2,0,2,0,2,0, + 2,0,2,0,2,0,2,0,2,0,2,0,2,0,255,248, + 13,22,44,20,3,0,0,192,1,128,3,0,6,0,12,0, + 0,0,0,0,0,0,126,0,2,0,2,0,2,0,2,0, + 2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0, + 255,248,13,21,42,20,3,0,4,0,14,0,27,0,49,128, + 96,192,0,0,0,0,126,0,2,0,2,0,2,0,2,0, + 2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0, + 255,248,13,20,40,20,3,0,97,128,243,192,97,128,0,0, + 0,0,0,0,126,0,2,0,2,0,2,0,2,0,2,0, + 2,0,2,0,2,0,2,0,2,0,2,0,2,0,255,248, + 15,20,40,20,2,0,124,12,79,56,1,224,3,192,14,96, + 56,48,32,24,0,12,15,228,56,54,96,14,192,6,128,2, + 128,2,128,2,192,6,64,4,96,12,24,56,15,224,15,20, + 40,20,2,0,14,16,27,176,16,224,0,0,0,0,0,0, + 227,192,46,112,56,16,48,24,32,8,32,8,32,8,32,8, + 32,8,32,8,32,8,32,8,32,8,248,62,15,22,44,20, + 2,0,12,0,6,0,3,0,1,128,0,192,0,0,0,0, + 0,0,15,224,56,56,96,12,64,4,192,6,128,2,128,2, + 128,2,128,2,192,6,64,4,96,12,56,56,15,224,15,22, + 44,20,2,0,0,48,0,96,0,192,1,128,3,0,0,0, + 0,0,0,0,15,224,56,56,96,12,64,4,192,6,128,2, + 128,2,128,2,128,2,192,6,64,4,96,12,56,56,15,224, + 15,22,44,20,2,0,1,128,3,192,6,96,12,48,24,24, + 0,0,0,0,0,0,15,224,56,56,96,12,64,4,192,6, + 128,2,128,2,128,2,128,2,192,6,64,4,96,12,56,56, + 15,224,15,20,40,20,2,0,14,16,27,176,16,224,0,0, + 0,0,0,0,15,224,56,56,96,12,64,4,192,6,128,2, + 128,2,128,2,128,2,192,6,64,4,96,12,56,56,15,224, + 15,20,40,20,2,0,24,96,60,240,24,96,0,0,0,0, + 0,0,15,224,56,56,96,12,64,4,192,6,128,2,128,2, + 128,2,128,2,192,6,64,4,96,12,56,56,15,224,14,16, + 32,20,2,1,3,0,7,128,3,0,0,0,0,0,0,0, + 0,0,0,0,255,252,0,0,0,0,0,0,0,0,3,0, + 7,128,3,0,15,16,32,20,2,255,0,2,7,230,28,60, + 48,24,64,52,192,102,128,194,129,130,131,2,134,2,204,6, + 88,4,112,24,120,112,207,192,128,0,16,22,44,20,1,0, + 12,0,6,0,3,0,1,128,0,192,0,0,0,0,0,0, + 240,60,16,4,16,4,16,4,16,4,16,4,16,4,16,4, + 16,4,16,4,16,12,24,28,12,52,7,231,16,22,44,20, + 1,0,0,48,0,96,0,192,1,128,3,0,0,0,0,0, + 0,0,240,60,16,4,16,4,16,4,16,4,16,4,16,4, + 16,4,16,4,16,4,16,12,24,28,12,52,7,231,16,21, + 42,20,1,0,0,128,1,192,3,96,6,48,12,24,0,0, + 0,0,240,60,16,4,16,4,16,4,16,4,16,4,16,4, + 16,4,16,4,16,4,16,12,24,28,12,52,7,231,16,20, + 40,20,1,0,24,48,60,120,24,48,0,0,0,0,0,0, + 240,60,16,4,16,4,16,4,16,4,16,4,16,4,16,4, + 16,4,16,4,16,12,24,28,12,52,7,231,15,28,56,20, + 2,250,0,48,0,96,0,192,1,128,3,0,0,0,0,0, + 0,0,248,62,64,4,96,12,32,8,48,24,16,16,24,48, + 8,32,12,96,4,64,6,192,2,128,3,128,1,0,3,0, + 2,0,2,0,6,0,4,0,127,128,17,27,81,20,0,250, + 240,0,0,16,0,0,16,0,0,16,0,0,16,0,0,16, + 0,0,16,0,0,17,248,0,23,14,0,28,3,0,24,1, + 0,24,1,128,16,0,128,16,0,128,16,0,128,16,0,128, + 24,1,128,24,1,0,28,3,0,23,14,0,17,248,0,16, + 0,0,16,0,0,16,0,0,16,0,0,16,0,0,255,0, + 0,15,25,50,20,2,250,24,24,60,60,24,24,0,0,0, + 0,248,62,64,4,96,12,32,8,48,24,16,16,24,48,8, + 32,12,96,4,64,6,192,2,128,3,128,1,0,3,0,2, + 0,2,0,6,0,4,0,127,128}; +/* + Fontname: -Adobe-Courier-Medium-R-Normal--34-240-100-100-M-200-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 0, '1' Height: 20 + Calculated Max Values w=15 h=25 x= 7 y= 9 dx=20 dy= 0 ascent=22 len=50 + Font Bounding box w=28 h=42 x=-6 y=-10 + Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 + Pure Font ascent =20 descent= 0 + X Font ascent =20 descent= 0 + Max Font ascent =22 descent=-4 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_courR24n[658] U8G_FONT_SECTION("u8g_font_courR24n") = { + 0,28,42,250,246,20,0,0,0,0,42,58,0,22,252,20, + 0,11,13,26,20,4,8,4,0,4,0,4,0,4,0,132, + 32,245,224,31,0,14,0,10,0,27,0,49,128,32,128,96, + 192,15,17,34,20,2,1,1,0,1,0,1,0,1,0,1, + 0,1,0,1,0,1,0,255,254,1,0,1,0,1,0,1, + 0,1,0,1,0,1,0,1,0,6,9,9,20,5,252,60, + 60,120,120,96,224,192,192,128,15,1,2,20,2,9,255,254, + 5,4,4,20,7,0,112,248,248,112,11,25,50,20,4,253, + 0,32,0,96,0,64,0,64,0,192,0,128,1,128,1,0, + 3,0,2,0,2,0,6,0,4,0,12,0,8,0,8,0, + 24,0,16,0,48,0,32,0,96,0,64,0,64,0,192,0, + 128,0,11,20,40,20,4,0,31,0,49,128,96,192,64,64, + 64,64,128,32,128,32,128,32,128,32,128,32,128,32,128,32, + 128,32,128,32,192,96,64,64,64,64,96,192,49,128,31,0, + 11,20,40,20,4,0,12,0,60,0,228,0,4,0,4,0, + 4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0, + 4,0,4,0,4,0,4,0,4,0,4,0,255,224,13,20, + 40,20,3,0,15,192,48,96,96,16,64,16,64,16,0,16, + 0,48,0,32,0,96,0,192,1,128,3,0,6,0,12,0, + 24,0,48,0,96,0,192,0,128,8,255,248,13,20,40,20, + 3,0,15,128,56,224,96,48,0,16,0,16,0,16,0,16, + 0,32,0,64,7,128,0,96,0,16,0,8,0,8,0,8, + 0,8,0,24,192,48,112,224,31,128,13,20,40,20,3,0, + 0,192,1,64,1,64,2,64,6,64,4,64,8,64,24,64, + 16,64,32,64,96,64,64,64,128,64,255,248,0,64,0,64, + 0,64,0,64,0,64,3,248,13,20,40,20,3,0,63,240, + 32,0,32,0,32,0,32,0,32,0,32,0,39,128,60,224, + 32,48,0,16,0,24,0,8,0,8,0,8,0,24,192,16, + 96,48,56,224,15,128,12,20,40,20,4,0,7,192,28,32, + 48,0,32,0,96,0,64,0,192,0,143,128,184,224,160,32, + 192,48,192,16,192,16,192,16,192,16,64,16,96,48,32,32, + 56,224,15,128,11,20,40,20,4,0,255,224,128,32,128,32, + 0,96,0,64,0,64,0,192,0,128,0,128,1,128,1,0, + 1,0,3,0,2,0,2,0,2,0,6,0,4,0,4,0, + 4,0,11,20,40,20,4,0,31,0,96,192,64,64,192,96, + 128,32,128,32,192,96,64,64,49,128,31,0,113,192,64,64, + 192,96,128,32,128,32,128,32,192,96,64,64,113,192,31,0, + 12,20,40,20,4,0,31,0,112,192,64,96,192,32,128,48, + 128,48,128,48,128,48,192,80,64,208,115,144,30,16,0,32, + 0,32,0,32,0,64,0,192,1,128,14,0,120,0,5,14, + 14,20,7,0,112,248,248,112,0,0,0,0,0,0,112,248, + 248,112}; +/* + Fontname: -Adobe-Courier-Medium-R-Normal--34-240-100-100-M-200-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 19, '1' Height: 20 + Calculated Max Values w=19 h=26 x= 9 y=17 dx=20 dy= 0 ascent=22 len=60 + Font Bounding box w=28 h=42 x=-6 y=-10 + Calculated Min Values x= 0 y=-6 dx= 0 dy= 0 + Pure Font ascent =19 descent=-6 + X Font ascent =21 descent=-6 + Max Font ascent =22 descent=-6 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_courR24r[3991] U8G_FONT_SECTION("u8g_font_courR24r") = { + 0,28,42,250,246,19,4,184,10,129,32,127,250,22,250,21, + 250,0,0,0,20,0,1,5,21,21,20,8,0,32,112,112, + 112,112,112,32,32,32,32,32,32,32,32,0,0,0,0,112, + 248,112,11,10,20,20,4,10,241,224,241,224,241,224,241,224, + 241,224,96,192,96,192,64,128,64,128,64,128,13,23,46,20, + 3,254,4,64,4,64,4,64,4,64,12,192,8,128,8,128, + 8,128,127,248,8,128,8,128,8,128,8,128,8,128,255,240, + 8,128,8,128,8,128,9,128,17,0,17,0,17,0,17,0, + 12,25,50,20,4,253,4,0,4,0,4,0,31,32,113,224, + 64,96,128,32,128,0,192,0,96,0,60,0,7,128,0,224, + 0,48,0,16,0,16,128,48,192,96,241,192,159,0,4,0, + 4,0,4,0,4,0,4,0,15,20,40,20,3,0,30,0, + 51,0,97,128,64,128,64,128,97,128,51,0,30,14,0,112, + 3,128,28,0,224,0,1,224,3,48,6,24,4,8,4,8, + 6,24,3,48,1,224,12,17,34,20,3,0,15,192,25,128, + 48,0,32,0,32,0,48,0,16,0,24,0,60,0,100,48, + 70,96,194,64,131,64,193,192,65,128,99,192,62,112,4,11, + 11,20,8,10,112,112,112,112,112,224,224,224,224,224,224,5, + 25,25,20,9,252,8,24,16,48,32,96,96,64,64,192,192, + 192,192,192,192,192,64,64,96,96,32,48,16,24,8,5,25, + 25,20,5,252,128,192,64,96,32,48,48,16,16,24,24,24, + 24,24,24,24,16,16,48,48,32,96,64,192,128,11,13,26, + 20,4,8,4,0,4,0,4,0,4,0,132,32,245,224,31, + 0,14,0,10,0,27,0,49,128,32,128,96,192,15,17,34, + 20,2,1,1,0,1,0,1,0,1,0,1,0,1,0,1, + 0,1,0,255,254,1,0,1,0,1,0,1,0,1,0,1, + 0,1,0,1,0,6,9,9,20,5,252,60,60,120,120,96, + 224,192,192,128,15,1,2,20,2,9,255,254,5,4,4,20, + 7,0,112,248,248,112,11,25,50,20,4,253,0,32,0,96, + 0,64,0,64,0,192,0,128,1,128,1,0,3,0,2,0, + 2,0,6,0,4,0,12,0,8,0,8,0,24,0,16,0, + 48,0,32,0,96,0,64,0,64,0,192,0,128,0,11,20, + 40,20,4,0,31,0,49,128,96,192,64,64,64,64,128,32, + 128,32,128,32,128,32,128,32,128,32,128,32,128,32,128,32, + 192,96,64,64,64,64,96,192,49,128,31,0,11,20,40,20, + 4,0,12,0,60,0,228,0,4,0,4,0,4,0,4,0, + 4,0,4,0,4,0,4,0,4,0,4,0,4,0,4,0, + 4,0,4,0,4,0,4,0,255,224,13,20,40,20,3,0, + 15,192,48,96,96,16,64,16,64,16,0,16,0,48,0,32, + 0,96,0,192,1,128,3,0,6,0,12,0,24,0,48,0, + 96,0,192,0,128,8,255,248,13,20,40,20,3,0,15,128, + 56,224,96,48,0,16,0,16,0,16,0,16,0,32,0,64, + 7,128,0,96,0,16,0,8,0,8,0,8,0,8,0,24, + 192,48,112,224,31,128,13,20,40,20,3,0,0,192,1,64, + 1,64,2,64,6,64,4,64,8,64,24,64,16,64,32,64, + 96,64,64,64,128,64,255,248,0,64,0,64,0,64,0,64, + 0,64,3,248,13,20,40,20,3,0,63,240,32,0,32,0, + 32,0,32,0,32,0,32,0,39,128,60,224,32,48,0,16, + 0,24,0,8,0,8,0,8,0,24,192,16,96,48,56,224, + 15,128,12,20,40,20,4,0,7,192,28,32,48,0,32,0, + 96,0,64,0,192,0,143,128,184,224,160,32,192,48,192,16, + 192,16,192,16,192,16,64,16,96,48,32,32,56,224,15,128, + 11,20,40,20,4,0,255,224,128,32,128,32,0,96,0,64, + 0,64,0,192,0,128,0,128,1,128,1,0,1,0,3,0, + 2,0,2,0,2,0,6,0,4,0,4,0,4,0,11,20, + 40,20,4,0,31,0,96,192,64,64,192,96,128,32,128,32, + 192,96,64,64,49,128,31,0,113,192,64,64,192,96,128,32, + 128,32,128,32,192,96,64,64,113,192,31,0,12,20,40,20, + 4,0,31,0,112,192,64,96,192,32,128,48,128,48,128,48, + 128,48,192,80,64,208,115,144,30,16,0,32,0,32,0,32, + 0,64,0,192,1,128,14,0,120,0,5,14,14,20,7,0, + 112,248,248,112,0,0,0,0,0,0,112,248,248,112,7,18, + 18,20,5,252,28,62,62,28,0,0,0,0,0,60,60,120, + 112,112,224,192,192,128,15,17,34,20,2,1,0,2,0,14, + 0,56,0,224,3,128,6,0,28,0,112,0,192,0,112,0, + 28,0,6,0,3,128,0,224,0,56,0,14,0,2,15,6, + 12,20,2,6,255,254,0,0,0,0,0,0,0,0,255,254, + 15,17,34,20,2,1,128,0,224,0,56,0,14,0,3,128, + 0,192,0,112,0,28,0,6,0,28,0,112,0,192,3,128, + 14,0,56,0,224,0,128,0,11,19,38,20,4,0,63,0, + 225,192,128,64,128,64,0,96,0,32,0,96,0,64,1,192, + 7,0,4,0,4,0,4,0,0,0,0,0,0,0,14,0, + 31,0,14,0,12,23,46,20,3,254,15,128,24,192,48,64, + 96,96,64,32,192,32,128,32,128,224,131,160,134,32,132,32, + 132,32,132,32,134,32,131,32,129,240,128,0,192,0,64,0, + 96,0,48,0,24,224,15,128,19,19,57,20,0,0,31,224, + 0,0,160,0,0,160,0,1,16,0,1,16,0,1,16,0, + 2,8,0,2,8,0,2,8,0,4,4,0,4,4,0,4, + 4,0,15,254,0,8,2,0,8,2,0,16,1,0,16,1, + 0,48,1,128,254,15,224,16,19,38,20,1,0,255,240,16, + 12,16,4,16,6,16,2,16,2,16,6,16,4,16,12,31, + 248,16,6,16,2,16,3,16,1,16,1,16,3,16,2,16, + 6,255,248,14,19,38,20,2,0,7,196,28,116,32,12,96, + 4,64,4,192,4,128,0,128,0,128,0,128,0,128,0,128, + 0,128,0,192,0,64,0,96,4,32,28,28,112,7,192,15, + 19,38,20,1,0,255,192,32,112,32,24,32,12,32,4,32, + 6,32,2,32,2,32,2,32,2,32,2,32,2,32,2,32, + 6,32,4,32,12,32,24,32,112,255,192,15,19,38,20,1, + 0,255,252,16,4,16,4,16,4,16,4,16,68,16,64,16, + 64,31,192,16,64,16,64,16,64,16,0,16,2,16,2,16, + 2,16,2,16,2,255,254,15,19,38,20,1,0,255,254,16, + 2,16,2,16,2,16,2,16,66,16,64,16,64,31,192,16, + 64,16,64,16,64,16,0,16,0,16,0,16,0,16,0,16, + 0,255,128,15,19,38,20,2,0,7,196,28,116,48,12,96, + 4,64,4,192,4,128,0,128,0,128,0,128,0,128,0,128, + 254,128,4,192,4,64,4,96,4,48,4,28,28,7,240,15, + 19,38,20,2,0,252,126,32,8,32,8,32,8,32,8,32, + 8,32,8,32,8,32,8,63,248,32,8,32,8,32,8,32, + 8,32,8,32,8,32,8,32,8,252,126,11,19,38,20,4, + 0,255,224,4,0,4,0,4,0,4,0,4,0,4,0,4, + 0,4,0,4,0,4,0,4,0,4,0,4,0,4,0,4, + 0,4,0,4,0,255,224,15,19,38,20,3,0,15,254,0, + 32,0,32,0,32,0,32,0,32,0,32,0,32,0,32,0, + 32,0,32,128,32,128,32,128,32,128,32,192,96,64,64,97, + 192,31,0,17,19,57,20,1,0,254,31,128,16,4,0,16, + 12,0,16,8,0,16,16,0,16,48,0,16,64,0,16,192, + 0,19,128,0,28,192,0,16,32,0,16,48,0,16,16,0, + 16,24,0,16,8,0,16,8,0,16,12,0,16,4,0,254, + 7,128,15,19,38,20,2,0,255,128,8,0,8,0,8,0, + 8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0, + 8,2,8,2,8,2,8,2,8,2,8,2,255,254,19,19, + 57,20,0,0,248,3,224,40,2,128,40,2,128,36,4,128, + 36,4,128,34,8,128,34,8,128,33,16,128,33,16,128,33, + 16,128,32,160,128,32,160,128,32,64,128,32,64,128,32,0, + 128,32,0,128,32,0,128,32,0,128,254,7,224,18,19,57, + 20,0,0,248,31,192,28,1,0,20,1,0,18,1,0,18, + 1,0,17,1,0,16,129,0,16,129,0,16,65,0,16,65, + 0,16,33,0,16,33,0,16,17,0,16,17,0,16,9,0, + 16,9,0,16,5,0,16,7,0,127,3,0,15,19,38,20, + 2,0,7,192,24,48,48,24,96,12,64,4,192,6,128,2, + 128,2,128,2,128,2,128,2,128,2,128,2,192,6,64,4, + 96,12,48,24,24,48,7,192,15,19,38,20,1,0,255,224, + 16,56,16,4,16,6,16,2,16,2,16,2,16,6,16,4, + 16,56,31,224,16,0,16,0,16,0,16,0,16,0,16,0, + 16,0,255,192,15,22,44,20,2,253,7,192,28,112,48,24, + 96,12,64,4,192,6,128,2,128,2,128,2,128,2,128,2, + 128,2,128,2,192,6,64,4,96,12,56,56,12,96,7,192, + 2,0,15,198,24,124,18,19,57,20,1,0,255,224,0,16, + 56,0,16,4,0,16,6,0,16,2,0,16,2,0,16,6, + 0,16,4,0,16,24,0,31,224,0,16,96,0,16,48,0, + 16,24,0,16,12,0,16,4,0,16,6,0,16,2,0,16, + 3,0,254,1,192,12,19,38,20,3,0,15,144,56,208,96, + 48,64,48,64,16,64,16,64,0,96,0,56,0,15,0,1, + 192,0,96,0,48,128,16,128,16,192,16,224,48,184,224,143, + 128,15,19,38,20,2,0,255,254,129,2,129,2,129,2,129, + 2,129,2,129,2,1,0,1,0,1,0,1,0,1,0,1, + 0,1,0,1,0,1,0,1,0,1,0,63,248,17,19,57, + 20,1,0,254,63,128,32,2,0,32,2,0,32,2,0,32, + 2,0,32,2,0,32,2,0,32,2,0,32,2,0,32,2, + 0,32,2,0,32,2,0,32,2,0,32,2,0,48,6,0, + 16,4,0,24,12,0,14,56,0,3,224,0,19,19,57,20, + 0,0,254,15,224,48,1,128,16,1,0,16,1,0,24,3, + 0,8,2,0,8,2,0,12,6,0,4,4,0,4,4,0, + 6,12,0,2,8,0,3,24,0,1,16,0,1,16,0,0, + 160,0,0,160,0,0,224,0,0,64,0,17,19,57,20,1, + 0,252,31,128,64,1,0,64,1,0,64,1,0,64,1,0, + 97,195,0,33,66,0,33,66,0,34,34,0,34,34,0,34, + 34,0,34,34,0,38,50,0,36,18,0,52,22,0,20,20, + 0,20,20,0,24,12,0,24,12,0,17,19,57,20,1,0, + 124,31,0,48,6,0,16,4,0,24,12,0,8,8,0,4, + 16,0,2,32,0,3,96,0,1,192,0,0,128,0,1,192, + 0,2,32,0,4,16,0,12,24,0,8,8,0,16,4,0, + 48,6,0,96,3,0,252,31,128,15,19,38,20,2,0,248, + 62,96,12,48,24,16,16,24,48,8,32,4,64,6,192,2, + 128,3,128,1,0,1,0,1,0,1,0,1,0,1,0,1, + 0,1,0,31,240,13,19,38,20,3,0,127,240,64,16,64, + 48,64,32,64,96,64,192,0,128,1,128,3,0,6,0,4, + 0,12,0,24,8,16,8,48,8,96,8,64,8,192,8,255, + 248,5,24,24,20,9,252,248,128,128,128,128,128,128,128,128, + 128,128,128,128,128,128,128,128,128,128,128,128,128,128,248,11, + 25,50,20,4,253,128,0,192,0,64,0,64,0,96,0,32, + 0,48,0,16,0,24,0,8,0,8,0,12,0,4,0,6, + 0,2,0,2,0,3,0,1,0,1,128,0,128,0,192,0, + 64,0,64,0,96,0,32,5,24,24,20,5,252,248,8,8, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,248,11,9,18,20,4,12,4,0,14,0,27, + 0,17,0,49,128,96,192,64,64,192,96,128,32,19,1,3, + 20,0,250,255,255,224,6,5,5,20,4,17,192,96,48,24, + 12,15,14,28,20,2,0,15,128,56,224,0,32,0,48,0, + 16,0,16,31,240,112,48,192,16,128,16,128,16,128,48,192, + 240,127,158,17,20,60,20,0,0,240,0,0,16,0,0,16, + 0,0,16,0,0,16,0,0,16,0,0,17,248,0,23,14, + 0,20,3,0,24,1,0,24,1,128,16,0,128,16,0,128, + 16,0,128,16,0,128,24,1,128,24,1,0,20,3,0,23, + 14,0,241,248,0,14,14,28,20,3,0,15,136,56,248,96, + 24,64,8,192,8,128,0,128,0,128,0,128,0,192,0,64, + 12,96,24,56,224,15,128,17,20,60,20,2,0,0,60,0, + 0,4,0,0,4,0,0,4,0,0,4,0,0,4,0,15, + 196,0,56,116,0,96,20,0,64,12,0,192,12,0,128,4, + 0,128,4,0,128,4,0,128,4,0,192,12,0,64,12,0, + 96,20,0,56,116,0,15,199,128,14,14,28,20,2,0,15, + 192,56,112,96,24,64,8,192,12,128,4,255,252,128,0,128, + 0,192,0,64,0,96,12,56,56,15,224,13,20,40,20,3, + 0,3,224,6,24,4,0,12,0,8,0,8,0,255,240,8, + 0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8, + 0,8,0,8,0,8,0,255,240,17,20,60,20,2,250,15, + 199,128,56,116,0,96,20,0,64,12,0,192,12,0,128,4, + 0,128,4,0,128,4,0,128,4,0,192,12,0,64,12,0, + 96,20,0,56,116,0,15,196,0,0,4,0,0,4,0,0, + 12,0,0,8,0,0,56,0,15,224,0,16,20,40,20,1, + 0,240,0,16,0,16,0,16,0,16,0,16,0,17,224,23, + 56,20,8,24,12,24,4,16,4,16,4,16,4,16,4,16, + 4,16,4,16,4,16,4,124,31,13,20,40,20,3,0,6, + 0,6,0,6,0,0,0,0,0,0,0,126,0,2,0,2, + 0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2, + 0,2,0,2,0,255,248,10,26,52,20,4,250,1,128,1, + 128,1,128,0,0,0,0,0,0,255,192,0,64,0,64,0, + 64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0, + 64,0,64,0,64,0,64,0,64,0,192,0,128,3,128,254, + 0,15,20,40,20,2,0,240,0,16,0,16,0,16,0,16, + 0,16,0,16,252,16,48,16,96,16,192,17,128,19,0,30, + 0,19,0,17,128,16,192,16,96,16,48,16,24,240,62,13, + 20,40,20,3,0,126,0,2,0,2,0,2,0,2,0,2, + 0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2, + 0,2,0,2,0,2,0,2,0,2,0,255,248,19,14,42, + 20,0,0,231,14,0,41,147,0,48,225,128,48,96,128,32, + 64,128,32,64,128,32,64,128,32,64,128,32,64,128,32,64, + 128,32,64,128,32,64,128,32,64,128,248,112,224,15,14,28, + 20,2,0,227,192,46,112,40,16,48,24,48,8,32,8,32, + 8,32,8,32,8,32,8,32,8,32,8,32,8,248,62,15, + 14,28,20,2,0,15,224,56,56,96,12,64,4,192,6,128, + 2,128,2,128,2,128,2,192,6,64,4,96,12,56,56,15, + 224,17,20,60,20,0,250,1,248,0,247,14,0,20,3,0, + 24,1,0,24,1,128,16,0,128,16,0,128,16,0,128,16, + 0,128,24,1,128,24,1,0,20,3,0,23,14,0,17,248, + 0,16,0,0,16,0,0,16,0,0,16,0,0,16,0,0, + 255,0,0,17,20,60,20,2,250,15,192,0,56,119,128,96, + 28,0,64,12,0,192,12,0,128,4,0,128,4,0,128,4, + 0,128,4,0,192,12,0,64,12,0,96,28,0,56,116,0, + 15,196,0,0,4,0,0,4,0,0,4,0,0,4,0,0, + 4,0,0,127,128,15,14,28,20,3,0,120,124,9,198,11, + 0,12,0,12,0,8,0,8,0,8,0,8,0,8,0,8, + 0,8,0,8,0,255,240,13,14,28,20,3,0,15,144,56, + 240,96,48,64,16,96,0,56,0,15,128,0,224,0,48,128, + 24,128,24,192,48,248,224,143,128,14,19,38,20,2,0,16, + 0,16,0,16,0,16,0,16,0,255,240,16,0,16,0,16, + 0,16,0,16,0,16,0,16,0,16,0,16,0,16,0,24, + 12,12,56,7,224,16,14,28,20,1,0,240,60,16,4,16, + 4,16,4,16,4,16,4,16,4,16,4,16,4,16,4,16, + 12,24,12,12,52,7,231,17,14,42,20,1,0,252,31,128, + 48,6,0,16,4,0,16,4,0,24,12,0,8,8,0,12, + 24,0,4,16,0,4,16,0,6,48,0,2,32,0,3,96, + 0,1,64,0,1,192,0,17,14,42,20,1,0,248,15,128, + 96,3,0,32,2,0,32,2,0,33,194,0,33,66,0,49, + 70,0,19,100,0,18,36,0,18,36,0,22,52,0,28,28, + 0,8,8,0,8,8,0,15,14,28,20,2,0,248,62,96, + 12,48,24,24,48,12,96,6,192,3,128,3,128,6,192,12, + 96,24,48,48,24,96,12,248,62,15,20,40,20,2,250,248, + 62,64,4,96,12,32,8,48,24,16,16,24,48,8,32,12, + 96,4,64,6,192,2,128,3,128,1,0,3,0,2,0,2, + 0,6,0,4,0,255,128,11,14,28,20,4,0,255,224,128, + 96,128,192,129,128,3,0,6,0,4,0,12,0,24,0,48, + 0,96,32,64,32,192,32,255,224,7,25,25,20,6,252,6, + 12,24,16,16,16,16,16,16,16,16,48,96,224,48,16,16, + 16,16,16,16,16,16,24,14,1,25,25,20,9,252,128,128, + 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, + 128,128,128,128,128,128,128,7,25,25,20,6,252,192,96,48, + 16,16,16,16,16,16,16,16,24,12,14,24,16,16,16,16, + 16,16,16,16,48,224,13,5,10,20,3,7,24,0,124,8, + 199,24,129,176,0,224,255}; +/* + Fontname: -MUTT-ClearlyU-Medium-R-Normal--17-120-100-100-P-123-ISO10646-1 + Copyright: 2001 Computing Research Lab, New Mexico State University. + Capital A Height: 3, '1' Height: 11 + Calculated Max Values w=16 h=17 x= 7 y= 6 dx=19 dy= 0 ascent=17 len=34 + Font Bounding box w=40 h=30 x=-9 y=-10 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent = 3 descent= 1 + X Font ascent =12 descent= 0 + Max Font ascent =17 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_cu12_67_75[3981] U8G_FONT_SECTION("u8g_font_cu12_67_75") = { + 0,40,30,247,246,3,2,98,5,14,32,255,1,17,254,12, + 0,11,5,10,12,1,4,2,128,1,64,255,224,1,64,2, + 128,5,11,11,6,1,1,32,32,32,32,32,32,168,112,168, + 112,32,11,5,10,12,1,4,32,96,65,128,255,0,65,128, + 32,96,11,5,10,12,1,4,192,128,48,64,31,224,48,64, + 192,128,11,7,14,12,1,3,0,32,32,32,64,32,255,224, + 64,32,32,32,0,32,7,11,11,8,1,1,16,56,84,16, + 16,16,16,16,16,16,254,11,7,14,12,1,3,128,0,128, + 128,128,64,255,224,128,64,128,128,128,0,7,11,11,8,1, + 1,254,16,16,16,16,16,16,16,84,56,16,7,11,11,8, + 1,1,16,56,84,16,16,16,16,16,84,56,254,11,7,14, + 12,1,4,1,192,0,32,32,32,64,32,255,192,64,0,32, + 0,11,7,14,12,1,4,112,0,128,0,128,128,128,64,127, + 224,0,64,0,128,11,7,14,12,1,4,1,192,2,32,34, + 32,66,32,255,192,66,0,34,0,11,7,14,12,1,4,112, + 0,136,0,136,128,136,64,127,224,8,64,8,128,12,5,10, + 13,1,4,38,64,73,32,233,112,80,160,32,64,12,5,10, + 13,1,4,33,64,66,32,255,240,68,32,40,64,4,11,11, + 5,1,1,16,16,32,64,176,208,32,160,160,192,240,6,11, + 11,7,1,1,32,64,252,68,36,4,4,4,4,4,4,6, + 11,11,7,1,1,16,8,252,136,144,128,128,128,128,128,128, + 6,11,11,7,1,1,4,4,4,4,4,4,36,68,252,64, + 32,6,11,11,7,1,1,128,128,128,128,128,128,144,136,252, + 8,16,8,6,6,9,1,2,252,4,4,21,14,4,6,8, + 8,7,1,1,4,4,4,36,68,252,64,32,11,8,16,11, + 1,1,15,128,16,64,32,32,32,32,32,32,168,32,112,0, + 32,0,11,8,16,11,1,1,62,0,65,0,128,128,128,128, + 128,128,130,160,1,192,0,128,9,11,22,10,1,1,255,128, + 0,0,240,0,192,0,160,0,144,0,8,0,4,0,2,0, + 1,0,0,128,12,13,26,13,1,0,128,0,144,0,160,0, + 255,240,160,0,144,0,128,16,0,144,0,80,255,240,0,80, + 0,144,0,16,10,7,14,11,1,2,3,192,67,0,130,128, + 130,128,128,128,65,0,62,0,10,7,14,11,1,2,240,0, + 48,128,80,64,80,64,64,64,32,128,31,0,11,3,6,12, + 1,6,32,0,64,0,255,224,11,3,6,12,1,6,255,224, + 64,0,32,0,3,11,11,4,1,1,128,192,160,128,128,128, + 128,128,128,128,128,3,11,11,4,1,1,32,96,160,32,32, + 32,32,32,32,32,32,11,3,6,12,1,6,0,128,0,64, + 255,224,11,3,6,12,1,6,255,224,0,64,0,128,3,11, + 11,4,1,1,128,128,128,128,128,128,128,128,160,192,128,3, + 11,11,4,1,1,32,32,32,32,32,32,32,32,160,96,32, + 11,11,22,12,1,1,0,128,0,64,255,224,0,64,0,128, + 0,0,32,0,64,0,255,224,64,0,32,0,11,11,22,12, + 1,1,32,128,112,128,168,128,32,128,32,128,32,128,32,128, + 32,128,34,160,33,192,32,128,11,11,22,12,1,1,32,0, + 64,0,255,224,64,0,32,0,0,0,0,128,0,64,255,224, + 0,64,0,128,11,11,22,12,1,1,32,0,64,0,255,224, + 64,0,32,0,0,0,32,0,64,0,255,224,64,0,32,0, + 11,11,22,12,1,1,32,128,113,192,170,160,32,128,32,128, + 32,128,32,128,32,128,32,128,32,128,32,128,11,11,22,12, + 1,1,0,128,0,64,255,224,0,64,0,128,0,0,0,128, + 0,64,255,224,0,64,0,128,11,11,22,12,1,1,32,128, + 32,128,32,128,32,128,32,128,32,128,32,128,32,128,170,160, + 113,192,32,128,11,8,16,12,1,3,32,0,64,0,255,224, + 0,0,0,0,255,224,0,64,0,128,11,8,16,12,1,3, + 0,128,0,64,255,224,0,0,0,0,255,224,64,0,32,0, + 11,7,14,12,1,3,16,128,32,128,127,224,129,0,127,224, + 34,0,18,0,13,7,14,14,1,3,17,64,33,32,127,240, + 130,8,127,240,36,32,20,64,11,7,14,12,1,3,9,0, + 8,128,255,192,16,32,255,192,32,128,33,0,11,7,14,12, + 1,3,16,0,32,0,127,224,128,0,127,224,32,0,16,0, + 7,11,11,8,1,1,16,40,108,170,40,40,40,40,40,40, + 40,11,7,14,12,1,3,1,0,0,128,255,192,0,32,255, + 192,0,128,1,0,7,11,11,8,1,1,40,40,40,40,40, + 40,40,170,108,40,16,12,7,14,12,1,3,16,128,32,64, + 127,224,128,16,127,224,32,64,16,128,7,12,12,8,1,0, + 16,40,108,170,40,40,40,40,170,108,40,16,10,10,20,11, + 1,1,248,0,144,0,136,0,196,0,162,0,17,0,8,128, + 4,64,2,0,1,0,10,10,20,11,1,1,7,192,2,64, + 4,64,8,192,17,64,34,0,68,0,136,0,16,0,32,0, + 10,10,20,11,1,1,32,0,16,0,136,0,68,0,34,0, + 17,64,8,192,4,64,2,64,7,192,10,10,20,11,1,1, + 1,0,2,0,4,64,8,128,17,0,162,0,196,0,136,0, + 144,0,248,0,11,7,14,12,1,3,16,0,63,224,64,0, + 255,224,64,0,63,224,16,0,11,7,14,12,1,3,1,0, + 255,128,0,64,255,224,0,64,255,128,1,0,12,5,10,13, + 1,4,32,0,72,128,245,80,66,32,32,0,12,5,10,13, + 1,4,0,64,17,32,170,240,68,32,0,64,5,11,11,6, + 1,1,32,112,168,32,32,248,32,248,32,32,32,5,11,11, + 6,1,1,32,32,32,248,32,248,32,32,168,112,32,11,5, + 10,12,1,4,32,0,64,0,238,224,64,0,32,0,5,11, + 11,6,1,1,32,112,168,0,32,32,32,0,32,32,32,11, + 5,10,12,1,4,0,128,0,64,238,224,0,64,0,128,5, + 11,11,6,1,1,32,32,32,0,32,32,32,0,168,112,32, + 12,7,14,13,1,3,128,0,144,0,160,0,255,240,160,0, + 144,0,128,0,12,7,14,13,1,3,0,16,0,144,0,80, + 255,240,0,80,0,144,0,16,12,9,18,13,1,2,8,0, + 24,0,47,240,64,16,128,16,64,16,47,240,24,0,8,0, + 9,12,24,10,1,1,8,0,20,0,34,0,65,0,227,128, + 34,0,34,0,34,0,34,0,34,0,34,0,62,0,12,9, + 18,13,1,2,1,0,1,128,255,64,128,32,128,16,128,32, + 255,64,1,128,1,0,9,12,24,10,1,1,62,0,34,0, + 34,0,34,0,34,0,34,0,34,0,227,128,65,0,34,0, + 20,0,8,0,9,17,34,10,1,0,8,0,20,0,34,0, + 65,0,227,128,34,0,34,0,34,0,34,0,34,0,34,0, + 62,0,0,0,62,0,34,0,34,0,62,0,9,14,28,10, + 1,0,8,0,20,0,34,0,65,0,227,128,34,0,34,0, + 34,0,34,0,34,0,34,0,227,128,128,128,255,128,9,14, + 28,10,1,0,8,0,20,0,62,0,65,0,227,128,34,0, + 34,0,34,0,34,0,34,0,34,0,227,128,128,128,255,128, + 9,14,28,10,1,0,8,0,28,0,42,0,73,0,235,128, + 42,0,42,0,42,0,42,0,42,0,42,0,235,128,136,128, + 255,128,9,15,30,10,1,2,8,0,20,0,34,0,73,0, + 213,128,34,0,65,0,227,128,34,0,34,0,34,0,34,0, + 34,0,34,0,62,0,9,17,34,10,1,0,8,0,20,0, + 34,0,73,0,213,128,34,0,65,0,227,128,34,0,34,0, + 34,0,34,0,34,0,34,0,227,128,128,128,255,128,14,9, + 18,16,2,2,224,64,160,96,191,208,128,24,128,20,128,24, + 191,208,160,96,224,64,11,11,22,12,1,1,255,224,128,0, + 188,0,176,0,168,0,164,0,130,0,129,0,128,128,128,64, + 128,32,11,11,22,12,1,1,128,32,64,32,32,32,16,32, + 8,32,4,160,2,160,1,160,7,160,0,32,255,224,9,16, + 32,10,1,0,8,0,20,0,34,0,65,0,227,128,34,0, + 34,0,34,0,34,0,34,0,34,0,227,128,65,0,34,0, + 20,0,8,0,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,255,255, + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 11,11,22,14,2,1,255,224,255,224,255,224,255,224,255,224, + 255,224,255,224,255,224,255,224,255,224,255,224,11,11,22,14, + 2,1,255,224,128,32,128,32,128,32,128,32,128,32,128,32, + 128,32,128,32,128,32,255,224,11,11,22,14,2,1,63,128, + 64,64,128,32,128,32,128,32,128,32,128,32,128,32,128,32, + 64,64,63,128,11,11,22,14,2,1,255,224,128,32,191,160, + 191,160,191,160,191,160,191,160,191,160,191,160,128,32,255,224, + 11,11,22,14,2,1,255,224,128,32,255,224,128,32,255,224, + 128,32,255,224,128,32,255,224,128,32,255,224,11,11,22,14, + 2,1,255,224,170,160,170,160,170,160,170,160,170,160,170,160, + 170,160,170,160,170,160,255,224,11,11,22,14,2,1,255,224, + 170,160,255,224,170,160,255,224,170,160,255,224,170,160,255,224, + 170,160,255,224,11,11,22,14,2,1,255,224,201,32,164,160, + 146,96,201,32,164,160,146,96,201,32,164,160,146,96,255,224, + 11,11,22,14,2,1,255,224,146,96,164,160,201,32,146,96, + 164,160,201,32,146,96,164,160,201,32,255,224,11,11,22,14, + 2,1,255,224,213,96,170,160,213,96,170,160,213,96,170,160, + 213,96,170,160,213,96,255,224,7,7,7,12,3,3,254,254, + 254,254,254,254,254,7,7,7,12,3,3,254,130,130,130,130, + 130,254,13,6,12,16,2,3,255,248,255,248,255,248,255,248, + 255,248,255,248,13,6,12,16,2,3,255,248,128,8,128,8, + 128,8,128,8,255,248,6,13,13,9,2,254,252,252,252,252, + 252,252,252,252,252,252,252,252,252,6,13,13,9,2,254,252, + 132,132,132,132,132,132,132,132,132,132,132,252,16,6,12,19, + 2,3,31,255,63,254,63,254,127,252,127,252,255,248,16,6, + 12,19,2,3,31,255,32,2,32,2,64,4,64,4,255,248, + 11,12,24,14,2,1,4,0,4,0,14,0,14,0,31,0, + 31,0,63,128,63,128,127,192,127,192,255,224,255,224,11,12, + 24,14,2,1,4,0,4,0,10,0,10,0,17,0,17,0, + 32,128,32,128,64,64,64,64,128,32,255,224,7,8,8,12, + 3,1,16,16,56,56,124,124,254,254,7,8,8,12,3,1, + 16,16,40,40,68,68,130,254,12,11,22,15,2,1,192,0, + 240,0,252,0,255,0,255,192,255,240,255,192,255,0,252,0, + 240,0,192,0,12,11,22,15,2,1,192,0,176,0,140,0, + 131,0,128,192,128,48,128,192,131,0,140,0,176,0,192,0, + 8,7,7,13,3,1,192,240,252,255,252,240,192,8,7,7, + 13,3,1,192,176,140,131,140,176,192,12,7,14,15,2,1, + 192,0,252,0,255,192,255,240,255,192,252,0,192,0,12,7, + 14,15,2,1,192,0,188,0,131,192,128,48,131,192,188,0, + 192,0,11,12,24,14,2,1,255,224,255,224,127,192,127,192, + 63,128,63,128,31,0,31,0,14,0,14,0,4,0,4,0, + 11,12,24,14,2,1,255,224,128,32,64,64,64,64,32,128, + 32,128,17,0,17,0,10,0,10,0,4,0,4,0,7,8, + 8,12,3,1,254,254,124,124,56,56,16,16,7,8,8,12, + 3,1,254,130,68,68,40,40,16,16,12,11,22,15,2,1, + 0,48,0,240,3,240,15,240,63,240,255,240,63,240,15,240, + 3,240,0,240,0,48,12,11,22,15,2,1,0,48,0,208, + 3,16,12,16,48,16,192,16,48,16,12,16,3,16,0,208, + 0,48,8,7,7,13,3,1,3,15,63,255,63,15,3,8, + 7,7,13,3,1,3,13,49,193,49,13,3,12,7,14,15, + 2,1,0,48,3,240,63,240,255,240,63,240,3,240,0,48, + 12,7,14,15,2,1,0,48,3,208,60,16,192,16,60,16, + 3,208,0,48,11,11,22,14,2,1,4,0,14,0,31,0, + 63,128,127,192,255,224,127,192,63,128,31,0,14,0,4,0, + 11,11,22,14,2,1,4,0,10,0,17,0,32,128,64,64, + 128,32,64,64,32,128,17,0,10,0,4,0,11,11,22,14, + 2,1,4,0,10,0,17,0,36,128,78,64,159,32,78,64, + 36,128,17,0,10,0,4,0,11,11,22,14,2,1,31,0, + 96,192,64,64,142,32,159,32,159,32,159,32,142,32,64,64, + 96,192,31,0,7,12,12,8,1,0,16,40,40,68,68,130, + 130,68,68,40,40,16,11,11,22,14,2,1,31,0,96,192, + 64,64,128,32,128,32,128,32,128,32,128,32,64,64,96,192, + 31,0,11,11,22,14,2,1,14,0,32,128,64,64,0,0, + 128,32,128,32,128,32,0,0,64,64,32,128,14,0,11,11, + 22,14,2,1,31,0,106,192,106,192,170,160,170,160,170,160, + 170,160,170,160,106,192,106,192,31,0,11,11,22,14,2,1, + 31,0,96,192,64,64,142,32,145,32,145,32,145,32,142,32, + 64,64,96,192,31,0,11,11,22,14,2,1,31,0,127,192, + 127,192,255,224,255,224,255,224,255,224,255,224,127,192,127,192, + 31,0,11,11,22,14,2,1,31,0,120,192,120,64,248,32, + 248,32,248,32,248,32,248,32,120,64,120,192,31,0,11,11, + 22,14,2,1,31,0,99,192,67,192,131,224,131,224,131,224, + 131,224,131,224,67,192,99,192,31,0,11,11,22,14,2,1, + 31,0,127,192,127,192,255,224,255,224,128,32,128,32,128,32, + 64,64,96,192,31,0,11,11,22,14,2,1,31,0,96,192, + 64,64,128,32,128,32,128,32,255,224,255,224,127,192,127,192, + 31,0,11,11,22,14,2,1,31,0,103,192,71,192,135,224, + 135,224,135,224,128,32,128,32,64,64,96,192,31,0,11,11, + 22,14,2,1,31,0,99,192,67,192,131,224,131,224,131,224, + 255,224,255,224,127,192,127,192,31,0,6,11,11,8,2,1, + 28,124,124,252,252,252,252,252,124,124,28,6,11,11,9,2, + 1,224,248,248,252,252,252,252,252,248,248,224,7,12,12,10, + 2,1,254,254,254,254,254,198,130,130,130,198,254,254,13,13, + 26,16,2,0,255,248,240,120,207,152,223,216,191,232,191,232, + 191,232,191,232,191,232,223,216,207,152,240,120,255,248,13,7, + 14,16,2,6,255,248,240,120,207,152,223,216,191,232,191,232, + 191,232,13,7,14,16,2,0,191,232,191,232,191,232,223,216, + 207,152,240,120,255,248,6,6,6,8,2,6,28,96,64,128, + 128,128,6,6,6,13,7,6,224,24,8,4,4,4,6,6, + 6,13,7,1,4,4,4,8,24,224,6,6,6,8,2,1, + 128,128,128,64,96,28,11,6,12,14,2,6,31,0,96,192, + 64,64,128,32,128,32,128,32,11,6,12,14,2,1,128,32, + 128,32,128,32,64,64,96,192,31,0,12,12,24,15,2,1, + 0,16,0,48,0,112,0,240,1,240,3,240,7,240,15,240, + 31,240,63,240,127,240,255,240,12,12,24,15,2,1,128,0, + 192,0,224,0,240,0,248,0,252,0,254,0,255,0,255,128, + 255,192,255,224,255,240,12,12,24,15,2,1,255,240,255,224, + 255,192,255,128,255,0,254,0,252,0,248,0,240,0,224,0, + 192,0,128,0,12,12,24,15,2,1,255,240,127,240,63,240, + 31,240,15,240,7,240,3,240,1,240,0,240,0,112,0,48, + 0,16,7,7,7,8,1,2,56,68,130,130,130,68,56,11, + 11,22,14,2,1,255,224,248,32,248,32,248,32,248,32,248, + 32,248,32,248,32,248,32,248,32,255,224,11,11,22,14,2, + 1,255,224,131,224,131,224,131,224,131,224,131,224,131,224,131, + 224,131,224,131,224,255,224,11,11,22,14,2,1,255,224,255, + 224,255,160,255,32,254,32,252,32,248,32,240,32,224,32,192, + 32,255,224,11,11,22,14,2,1,255,224,128,96,128,224,129, + 224,131,224,135,224,143,224,159,224,191,224,255,224,255,224,11, + 11,22,14,2,1,255,224,132,32,132,32,132,32,132,32,132, + 32,132,32,132,32,132,32,132,32,255,224,11,12,24,14,2, + 1,4,0,4,0,10,0,10,0,17,0,17,0,32,128,36, + 128,78,64,68,64,128,32,255,224,11,12,24,14,2,1,4, + 0,4,0,14,0,14,0,29,0,29,0,60,128,60,128,124, + 64,124,64,252,32,255,224,11,12,24,14,2,1,4,0,4, + 0,14,0,14,0,23,0,23,0,39,128,39,128,71,192,71, + 192,135,224,255,224,13,13,26,16,2,0,31,192,32,32,64, + 16,128,8,128,8,128,8,128,8,128,8,128,8,128,8,64, + 16,32,32,31,192,11,11,22,14,2,1,255,224,132,32,132, + 32,132,32,132,32,252,32,128,32,128,32,128,32,128,32,255, + 224,11,11,22,14,2,1,255,224,128,32,128,32,128,32,128, + 32,252,32,132,32,132,32,132,32,132,32,255,224,11,11,22, + 14,2,1,255,224,128,32,128,32,128,32,128,32,135,224,132, + 32,132,32,132,32,132,32,255,224,11,11,22,14,2,1,255, + 224,132,32,132,32,132,32,132,32,135,224,128,32,128,32,128, + 32,128,32,255,224,11,11,22,14,2,1,31,0,100,192,68, + 64,132,32,132,32,252,32,128,32,128,32,64,64,96,192,31, + 0,11,11,22,14,2,1,31,0,96,192,64,64,128,32,128, + 32,252,32,132,32,132,32,68,64,100,192,31,0,11,11,22, + 14,2,1,31,0,96,192,64,64,128,32,128,32,135,224,132, + 32,132,32,68,64,100,192,31,0,11,11,22,14,2,1,31, + 0,100,192,68,64,132,32,132,32,135,224,128,32,128,32,64, + 64,96,192,31,0,255,255,255,255,255,255,255,255}; +/* + Fontname: -MUTT-ClearlyU-Medium-R-Normal--17-120-100-100-P-123-ISO10646-1 + Copyright: 2001 Computing Research Lab, New Mexico State University. + Capital A Height: 11, '1' Height: 6 + Calculated Max Values w=16 h=13 x= 3 y= 3 dx=19 dy= 0 ascent=13 len=24 + Font Bounding box w=40 h=30 x=-9 y=-10 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent =11 descent= 0 + X Font ascent =12 descent= 0 + Max Font ascent =13 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_cu12_75r[1123] U8G_FONT_SECTION("u8g_font_cu12_75r") = { + 0,40,30,247,246,11,2,247,0,0,32,79,0,13,254,12, + 0,11,11,22,14,2,1,255,224,255,224,255,224,255,224,255, + 224,255,224,255,224,255,224,255,224,255,224,255,224,11,11,22, + 14,2,1,255,224,128,32,128,32,128,32,128,32,128,32,128, + 32,128,32,128,32,128,32,255,224,11,11,22,14,2,1,63, + 128,64,64,128,32,128,32,128,32,128,32,128,32,128,32,128, + 32,64,64,63,128,11,11,22,14,2,1,255,224,128,32,191, + 160,191,160,191,160,191,160,191,160,191,160,191,160,128,32,255, + 224,11,11,22,14,2,1,255,224,128,32,255,224,128,32,255, + 224,128,32,255,224,128,32,255,224,128,32,255,224,11,11,22, + 14,2,1,255,224,170,160,170,160,170,160,170,160,170,160,170, + 160,170,160,170,160,170,160,255,224,11,11,22,14,2,1,255, + 224,170,160,255,224,170,160,255,224,170,160,255,224,170,160,255, + 224,170,160,255,224,11,11,22,14,2,1,255,224,201,32,164, + 160,146,96,201,32,164,160,146,96,201,32,164,160,146,96,255, + 224,11,11,22,14,2,1,255,224,146,96,164,160,201,32,146, + 96,164,160,201,32,146,96,164,160,201,32,255,224,11,11,22, + 14,2,1,255,224,213,96,170,160,213,96,170,160,213,96,170, + 160,213,96,170,160,213,96,255,224,7,7,7,12,3,3,254, + 254,254,254,254,254,254,7,7,7,12,3,3,254,130,130,130, + 130,130,254,13,6,12,16,2,3,255,248,255,248,255,248,255, + 248,255,248,255,248,13,6,12,16,2,3,255,248,128,8,128, + 8,128,8,128,8,255,248,6,13,13,9,2,254,252,252,252, + 252,252,252,252,252,252,252,252,252,252,6,13,13,9,2,254, + 252,132,132,132,132,132,132,132,132,132,132,132,252,16,6,12, + 19,2,3,31,255,63,254,63,254,127,252,127,252,255,248,16, + 6,12,19,2,3,31,255,32,2,32,2,64,4,64,4,255, + 248,11,12,24,14,2,1,4,0,4,0,14,0,14,0,31, + 0,31,0,63,128,63,128,127,192,127,192,255,224,255,224,11, + 12,24,14,2,1,4,0,4,0,10,0,10,0,17,0,17, + 0,32,128,32,128,64,64,64,64,128,32,255,224,7,8,8, + 12,3,1,16,16,56,56,124,124,254,254,7,8,8,12,3, + 1,16,16,40,40,68,68,130,254,12,11,22,15,2,1,192, + 0,240,0,252,0,255,0,255,192,255,240,255,192,255,0,252, + 0,240,0,192,0,12,11,22,15,2,1,192,0,176,0,140, + 0,131,0,128,192,128,48,128,192,131,0,140,0,176,0,192, + 0,8,7,7,13,3,1,192,240,252,255,252,240,192,8,7, + 7,13,3,1,192,176,140,131,140,176,192,12,7,14,15,2, + 1,192,0,252,0,255,192,255,240,255,192,252,0,192,0,12, + 7,14,15,2,1,192,0,188,0,131,192,128,48,131,192,188, + 0,192,0,11,12,24,14,2,1,255,224,255,224,127,192,127, + 192,63,128,63,128,31,0,31,0,14,0,14,0,4,0,4, + 0,11,12,24,14,2,1,255,224,128,32,64,64,64,64,32, + 128,32,128,17,0,17,0,10,0,10,0,4,0,4,0,7, + 8,8,12,3,1,254,254,124,124,56,56,16,16,7,8,8, + 12,3,1,254,130,68,68,40,40,16,16,12,11,22,15,2, + 1,0,48,0,240,3,240,15,240,63,240,255,240,63,240,15, + 240,3,240,0,240,0,48,12,11,22,15,2,1,0,48,0, + 208,3,16,12,16,48,16,192,16,48,16,12,16,3,16,0, + 208,0,48,8,7,7,13,3,1,3,15,63,255,63,15,3, + 8,7,7,13,3,1,3,13,49,193,49,13,3,12,7,14, + 15,2,1,0,48,3,240,63,240,255,240,63,240,3,240,0, + 48,12,7,14,15,2,1,0,48,3,208,60,16,192,16,60, + 16,3,208,0,48,11,11,22,14,2,1,4,0,14,0,31, + 0,63,128,127,192,255,224,127,192,63,128,31,0,14,0,4, + 0,11,11,22,14,2,1,4,0,10,0,17,0,32,128,64, + 64,128,32,64,64,32,128,17,0,10,0,4,0,11,11,22, + 14,2,1,4,0,10,0,17,0,36,128,78,64,159,32,78, + 64,36,128,17,0,10,0,4,0,11,11,22,14,2,1,31, + 0,96,192,64,64,142,32,159,32,159,32,159,32,142,32,64, + 64,96,192,31,0,7,12,12,8,1,0,16,40,40,68,68, + 130,130,68,68,40,40,16,11,11,22,14,2,1,31,0,96, + 192,64,64,128,32,128,32,128,32,128,32,128,32,64,64,96, + 192,31,0,11,11,22,14,2,1,14,0,32,128,64,64,0, + 0,128,32,128,32,128,32,0,0,64,64,32,128,14,0,11, + 11,22,14,2,1,31,0,106,192,106,192,170,160,170,160,170, + 160,170,160,170,160,106,192,106,192,31,0,11,11,22,14,2, + 1,31,0,96,192,64,64,142,32,145,32,145,32,145,32,142, + 32,64,64,96,192,31,0,11,11,22,14,2,1,31,0,127, + 192,127,192,255,224,255,224,255,224,255,224,255,224,127,192,127, + 192,31,0}; +/* + Fontname: -MUTT-ClearlyU-Medium-R-Normal--17-120-100-100-P-123-ISO10646-1 + Copyright: 2001 Computing Research Lab, New Mexico State University. + Capital A Height: 11, '1' Height: 11 + Calculated Max Values w=16 h=16 x= 3 y=11 dx=16 dy= 0 ascent=16 len=32 + Font Bounding box w=40 h=30 x=-9 y=-10 + Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 + Pure Font ascent =11 descent=-4 + X Font ascent =12 descent=-4 + Max Font ascent =16 descent=-4 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_cu12[3993] U8G_FONT_SECTION("u8g_font_cu12") = { + 0,40,30,247,246,11,2,90,5,94,32,255,252,16,252,12, + 252,0,0,0,5,0,0,2,12,12,5,1,0,192,192,192, + 192,192,192,192,0,0,0,192,192,4,5,5,7,2,7,144, + 144,144,144,144,10,15,30,12,1,253,4,128,4,128,9,0, + 9,0,9,0,255,192,18,0,18,0,18,0,255,192,36,0, + 36,0,36,0,72,0,72,0,5,14,14,8,1,255,32,112, + 168,168,168,160,96,48,40,168,168,168,112,32,11,13,26,14, + 1,255,96,64,152,128,151,128,145,0,146,0,98,0,4,0, + 8,192,9,32,17,32,33,32,33,32,64,192,10,12,24,13, + 1,0,24,0,36,0,36,0,36,0,40,0,51,192,49,0, + 81,0,138,0,138,0,196,64,123,128,1,5,5,4,2,7, + 128,128,128,128,128,4,15,15,6,2,253,16,32,64,64,128, + 128,128,128,128,128,128,64,64,32,16,4,15,15,6,1,253, + 128,64,32,32,16,16,16,16,16,16,16,32,32,64,128,7, + 7,7,7,0,5,16,146,84,56,84,146,16,9,9,18,11, + 2,255,8,0,8,0,8,0,8,0,255,128,8,0,8,0, + 8,0,8,0,2,5,5,5,1,253,192,192,64,64,128,4, + 1,1,7,2,3,240,2,2,2,5,1,0,192,192,5,16, + 16,8,2,252,8,8,16,16,16,16,32,32,32,32,64,64, + 64,64,128,128,5,11,11,7,1,0,112,80,136,136,136,136, + 136,136,136,80,112,5,11,11,7,1,0,32,224,32,32,32, + 32,32,32,32,32,248,5,11,11,7,1,0,112,136,136,136, + 8,16,16,32,72,72,248,5,11,11,7,1,0,112,136,136, + 8,8,48,8,8,136,136,112,7,11,11,9,1,0,24,24, + 40,40,72,200,254,8,8,8,62,5,11,11,7,1,0,136, + 240,128,128,240,200,8,8,136,144,96,5,11,11,7,1,0, + 48,72,64,128,240,136,136,136,136,80,112,6,12,12,8,1, + 0,128,252,132,136,16,16,16,32,32,32,32,32,5,11,11, + 7,1,0,112,136,136,136,80,112,136,136,136,136,112,5,11, + 11,7,1,0,112,80,136,136,136,136,120,8,16,144,96,2, + 7,7,7,3,0,192,192,0,0,0,192,192,2,10,10,5, + 1,253,192,192,0,0,0,192,192,64,64,128,5,9,9,6, + 1,1,8,16,32,64,128,64,32,16,8,10,5,10,13,2, + 2,255,192,0,0,0,0,0,0,255,192,5,9,9,6,1, + 1,128,64,32,16,8,16,32,64,128,5,12,12,8,1,0, + 112,136,136,16,32,32,96,0,0,0,96,96,10,12,24,12, + 1,0,30,0,33,0,76,128,147,64,161,64,161,64,161,64, + 161,64,147,64,77,128,32,192,31,0,11,11,22,11,0,0, + 4,0,4,0,10,0,10,0,10,0,17,0,17,0,31,0, + 32,128,32,128,241,224,10,11,22,10,0,0,255,0,32,128, + 32,64,32,64,32,128,63,0,32,128,32,64,32,64,32,128, + 255,0,9,11,22,10,1,0,30,128,33,128,64,128,128,128, + 128,0,128,0,128,0,128,128,64,128,33,0,30,0,10,11, + 22,10,0,0,254,0,33,128,32,128,32,64,32,64,32,64, + 32,64,32,64,32,128,33,128,254,0,10,11,22,10,1,0, + 255,128,32,128,32,128,34,128,34,0,62,0,34,64,34,64, + 32,128,32,128,255,128,9,11,22,9,1,0,255,128,32,128, + 32,128,34,128,34,0,62,0,34,0,34,0,32,0,32,0, + 248,0,10,11,22,10,1,0,30,128,33,128,64,128,128,128, + 128,0,128,0,131,192,128,128,64,128,32,128,31,128,11,11, + 22,11,1,0,251,224,32,128,32,128,32,128,32,128,63,128, + 32,128,32,128,32,128,32,128,251,224,5,11,11,5,1,0, + 248,32,32,32,32,32,32,32,32,32,248,6,11,11,6,1, + 0,124,16,16,16,16,16,16,16,16,144,224,11,11,22,11, + 1,0,249,224,32,128,33,0,34,0,36,0,46,0,50,0, + 33,0,33,0,32,128,249,224,8,11,11,8,0,0,248,32, + 32,32,32,32,33,33,33,35,255,14,11,22,14,1,0,240, + 60,48,48,48,48,40,80,40,80,40,144,36,144,36,144,35, + 16,35,16,251,124,11,11,22,11,1,0,227,224,48,128,48, + 128,40,128,40,128,36,128,34,128,34,128,33,128,33,128,248, + 128,10,11,22,10,1,0,30,0,33,0,64,128,128,64,128, + 64,128,64,128,64,128,64,64,128,33,0,30,0,9,11,22, + 9,1,0,255,0,33,128,32,128,32,128,33,128,63,0,32, + 0,32,0,32,0,32,0,248,0,10,14,28,10,1,253,30, + 0,33,0,64,128,128,64,128,64,128,64,128,64,128,64,92, + 128,51,0,30,0,2,0,2,64,1,128,11,11,22,11,1, + 0,254,0,33,0,32,128,32,128,33,0,62,0,35,0,33, + 0,33,0,33,0,248,224,6,11,11,7,1,0,124,132,132, + 128,64,48,8,4,132,132,248,9,11,22,9,1,0,255,128, + 136,128,136,128,136,128,8,0,8,0,8,0,8,0,8,0, + 8,0,62,0,11,11,22,11,1,0,251,224,32,128,32,128, + 32,128,32,128,32,128,32,128,32,128,32,128,17,0,14,0, + 11,11,22,11,1,0,241,224,32,128,32,128,17,0,17,0, + 17,0,10,0,10,0,10,0,4,0,4,0,16,11,22,16, + 1,0,241,207,33,132,33,132,34,68,18,72,18,72,18,72, + 20,40,12,48,12,48,8,16,11,11,22,11,1,0,243,192, + 17,0,18,0,10,0,12,0,4,0,10,0,26,0,17,0, + 32,128,241,224,11,11,22,11,1,0,241,224,32,128,17,0, + 17,0,10,0,14,0,4,0,4,0,4,0,4,0,31,0, + 7,11,11,7,1,0,254,196,132,136,8,16,34,34,66,70, + 254,3,16,16,5,1,252,224,128,128,128,128,128,128,128,128, + 128,128,128,128,128,128,224,5,16,16,8,2,252,128,128,64, + 64,64,64,32,32,32,32,16,16,16,16,8,8,3,16,16, + 5,0,252,224,32,32,32,32,32,32,32,32,32,32,32,32, + 32,32,224,5,3,3,6,1,9,32,112,136,11,1,2,12, + 1,254,255,224,3,4,4,6,3,8,128,192,64,32,6,7, + 7,7,1,0,112,136,8,120,136,136,124,6,12,12,7,1, + 0,192,64,64,64,64,120,68,68,68,68,68,120,5,7,7, + 6,1,0,112,136,128,128,128,136,112,6,12,12,7,1,0, + 24,8,8,8,8,120,136,136,136,136,136,124,5,7,7,6, + 1,0,112,136,248,128,128,136,112,5,12,12,6,1,0,56, + 72,64,64,64,240,64,64,64,64,64,224,7,11,11,8,1, + 252,62,68,68,68,120,64,124,130,130,130,124,7,12,12,8, + 1,0,192,64,64,64,64,120,68,68,68,68,68,238,3,11, + 11,4,1,0,192,192,0,0,192,64,64,64,64,64,224,4, + 14,14,5,0,253,48,48,0,0,48,16,16,16,16,16,16, + 16,144,224,7,12,12,8,1,0,192,64,64,64,64,94,72, + 80,112,88,72,238,3,12,12,4,1,0,192,64,64,64,64, + 64,64,64,64,64,64,224,11,7,14,12,1,0,251,128,68, + 64,68,64,68,64,68,64,68,64,238,224,7,7,7,8,1, + 0,248,68,68,68,68,68,238,5,7,7,6,1,0,112,136, + 136,136,136,136,112,6,10,10,7,1,253,248,68,68,68,68, + 68,120,64,64,224,6,10,10,7,1,253,120,136,136,136,136, + 136,120,8,8,28,5,7,7,6,1,0,208,104,64,64,64, + 64,240,5,7,7,6,1,0,120,136,128,112,8,136,240,6, + 10,10,7,1,0,32,32,32,248,32,32,32,36,36,24,7, + 7,7,8,1,0,204,68,68,68,68,68,62,8,7,7,9, + 1,0,231,36,36,36,24,24,24,11,7,14,11,0,0,238, + 224,36,128,42,128,42,128,42,128,27,0,17,0,8,7,7, + 9,1,0,231,36,24,24,24,36,231,8,10,10,8,1,253, + 231,36,36,36,24,24,24,16,144,224,5,7,7,6,1,0, + 248,144,144,32,72,72,248,5,16,16,6,1,252,24,32,32, + 32,32,32,32,192,32,32,32,32,32,32,32,24,1,16,16, + 3,2,252,128,128,128,128,128,128,128,128,128,128,128,128,128, + 128,128,128,5,16,16,5,0,252,192,32,32,32,32,32,32, + 24,32,32,32,32,32,32,32,192,5,3,3,8,1,9,72, + 168,144,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,255,255,255,255, + 255,255,255,0,0,0,5,0,0,2,12,12,5,1,253,192, + 192,0,0,0,192,192,192,192,192,192,192,5,11,11,7,1, + 254,16,16,112,168,160,160,160,200,112,64,64,8,12,12,9, + 1,0,6,9,17,16,16,124,16,16,16,81,178,204,7,7, + 7,9,1,3,130,124,68,68,68,124,130,11,11,22,12,0, + 0,241,224,32,128,17,0,10,0,127,192,14,0,4,0,127, + 192,4,0,4,0,31,0,1,16,16,3,2,252,128,128,128, + 128,128,128,128,0,0,128,128,128,128,128,128,128,4,13,13, + 6,1,0,96,144,128,128,96,144,144,144,96,16,16,144,96, + 5,2,2,6,1,11,216,216,9,10,20,10,1,3,62,0, + 65,0,158,128,162,128,162,128,160,128,162,128,156,128,65,0, + 62,0,4,6,6,5,1,7,96,16,112,144,112,240,7,7, + 7,9,1,0,18,36,108,216,108,36,18,6,4,4,8,1, + 2,252,4,4,4,3,1,1,5,0,3,224,9,10,20,10, + 1,3,62,0,65,0,188,128,146,128,146,128,156,128,146,128, + 186,128,65,0,62,0,5,1,1,7,1,11,248,4,4,4, + 6,2,8,96,144,144,96,7,9,9,9,2,1,16,16,16, + 254,16,16,16,0,254,4,7,7,5,1,6,96,144,16,16, + 32,64,240,4,7,7,5,1,6,96,144,16,32,16,144,96, + 3,4,4,6,3,11,32,96,64,128,7,10,10,8,1,253, + 136,136,136,136,136,218,164,128,128,128,7,15,15,8,1,252, + 62,116,244,244,244,116,52,20,20,20,20,20,20,20,20,2, + 2,2,4,2,5,192,192,3,3,3,7,2,253,64,32,224, + 3,7,7,4,1,6,64,192,64,64,64,64,224,4,6,6, + 5,1,7,96,144,144,144,96,240,7,7,7,8,1,0,144, + 72,108,54,108,72,144,11,11,22,12,1,0,64,0,196,0, + 68,0,68,0,68,64,232,192,9,64,10,64,11,224,16,64, + 16,224,11,11,22,12,1,0,64,0,196,0,68,0,68,0, + 68,0,232,192,9,32,8,32,8,64,16,128,17,224,12,11, + 22,13,1,0,96,0,146,0,18,0,34,0,18,32,148,96, + 100,160,5,32,5,240,8,32,8,112,5,12,12,8,1,253, + 48,48,0,0,0,48,32,32,64,128,136,112,11,16,32,11, + 0,0,8,0,12,0,4,0,2,0,0,0,4,0,4,0, + 10,0,10,0,10,0,17,0,17,0,31,0,32,128,32,128, + 241,224,11,16,32,11,0,0,2,0,6,0,4,0,8,0, + 0,0,4,0,4,0,10,0,10,0,10,0,17,0,17,0, + 31,0,32,128,32,128,241,224,11,15,30,11,0,0,4,0, + 14,0,17,0,0,0,4,0,4,0,10,0,10,0,10,0, + 17,0,17,0,31,0,32,128,32,128,241,224,11,15,30,11, + 0,0,9,0,21,0,18,0,0,0,4,0,4,0,10,0, + 10,0,10,0,17,0,17,0,31,0,32,128,32,128,241,224, + 11,14,28,11,0,0,27,0,27,0,0,0,4,0,4,0, + 10,0,10,0,10,0,17,0,17,0,31,0,32,128,32,128, + 241,224,11,15,30,11,0,0,6,0,9,0,9,0,6,0, + 4,0,4,0,10,0,10,0,10,0,17,0,17,0,31,0, + 32,128,32,128,241,224,14,11,22,15,0,0,15,248,10,24, + 10,8,10,40,18,32,31,224,18,36,18,36,34,8,34,8, + 247,248,9,14,28,10,1,253,30,128,33,128,64,128,128,128, + 128,0,128,0,128,0,128,128,64,128,33,0,30,0,8,0, + 4,0,28,0,10,16,32,11,0,0,16,0,24,0,8,0, + 4,0,0,0,255,128,32,128,32,128,34,128,34,0,62,0, + 34,64,34,64,32,128,32,128,255,128,10,16,32,11,0,0, + 4,0,12,0,8,0,16,0,0,0,255,128,32,128,32,128, + 34,128,34,0,62,0,34,64,34,64,32,128,32,128,255,128, + 10,15,30,11,0,0,8,0,28,0,34,0,0,0,255,128, + 32,128,32,128,34,128,34,0,62,0,34,64,34,64,32,128, + 32,128,255,128,10,14,28,11,0,0,54,0,54,0,0,0, + 255,128,32,128,32,128,34,128,34,0,62,0,34,64,34,64, + 32,128,32,128,255,128,5,16,16,6,1,0,64,96,32,16, + 0,248,32,32,32,32,32,32,32,32,32,248,5,16,16,6, + 1,0,16,48,32,64,0,248,32,32,32,32,32,32,32,32, + 32,248,5,15,15,6,1,0,32,112,136,0,248,32,32,32, + 32,32,32,32,32,32,248,5,14,14,6,1,0,216,216,0, + 248,32,32,32,32,32,32,32,32,32,248,10,11,22,11,0, + 0,254,0,33,128,32,128,32,64,32,64,248,64,32,64,32, + 64,32,128,33,128,254,0,11,15,30,12,0,0,9,0,21, + 0,18,0,0,0,227,224,48,128,48,128,40,128,40,128,36, + 128,34,128,34,128,33,128,33,128,248,128,10,16,32,12,1, + 0,16,0,24,0,8,0,4,0,0,0,30,0,33,0,64, + 128,128,64,128,64,128,64,128,64,128,64,64,128,33,0,30, + 0,10,16,32,12,1,0,2,0,6,0,4,0,8,0,0, + 0,30,0,33,0,64,128,128,64,128,64,128,64,128,64,128, + 64,64,128,33,0,30,0,10,15,30,12,1,0,8,0,28, + 0,34,0,0,0,30,0,33,0,64,128,128,64,128,64,128, + 64,128,64,128,64,64,128,33,0,30,0,10,15,30,12,1, + 0,18,0,42,0,36,0,0,0,30,0,33,0,64,128,128, + 64,128,64,128,64,128,64,128,64,64,128,33,0,30,0,10, + 14,28,12,1,0,54,0,54,0,0,0,30,0,33,0,64, + 128,128,64,128,64,128,64,128,64,128,64,64,128,33,0,30, + 0,7,7,7,9,1,0,130,68,40,16,40,68,130,10,13, + 26,12,1,255,0,128,31,0,33,0,66,128,130,64,132,64, + 140,64,136,64,144,64,80,128,33,0,62,0,64,0,11,16, + 32,12,1,0,8,0,12,0,4,0,2,0,0,0,251,224, + 32,128,32,128,32,128,32,128,32,128,32,128,32,128,32,128, + 17,0,14,0,11,16,32,12,1,0,2,0,6,0,4,0, + 8,0,0,0,251,224,32,128,32,128,32,128,32,128,32,128, + 32,128,32,128,32,128,17,0,14,0,11,15,30,12,1,0, + 4,0,14,0,17,0,0,0,251,224,32,128,32,128,32,128, + 32,128,32,128,32,128,32,128,32,128,17,0,14,0,11,14, + 28,12,1,0,27,0,27,0,0,0,251,224,32,128,32,128, + 32,128,32,128,32,128,32,128,32,128,32,128,17,0,14,0, + 11,16,32,12,0,0,2,0,6,0,4,0,8,0,0,0, + 241,224,32,128,17,0,17,0,10,0,14,0,4,0,4,0, + 4,0,4,0,31,0,9,11,22,10,0,0,248,0,32,0, + 62,0,33,0,32,128,32,128,32,128,33,0,62,0,32,0, + 248,0,6,12,12,7,1,0,48,72,72,72,72,216,72,68, + 68,68,68,216,6,12,12,7,1,0,64,96,32,16,0,112, + 136,8,120,136,136,124,6,12,12,7,1,0,16,48,32,64, + 0,112,136,8,120,136,136,124,6,11,11,7,1,0,32,112, + 136,0,112,136,8,120,136,136,124,6,11,11,7,1,0,72, + 168,144,0,112,136,8,120,136,136,124,6,10,10,7,1,0, + 216,216,0,112,136,8,120,136,136,124,6,11,11,7,1,0, + 48,72,72,48,112,136,8,120,136,136,124,10,7,14,11,1, + 0,115,128,140,64,15,192,120,0,136,0,140,64,115,128,5, + 10,10,6,1,253,112,136,128,128,128,136,112,32,16,112,5, + 12,12,6,1,0,64,96,32,16,0,112,136,248,128,128,136, + 112,5,12,12,6,1,0,16,48,32,64,0,112,136,248,128, + 128,136,112,5,11,11,6,1,0,32,112,136,0,112,136,248, + 128,128,136,112,5,10,10,6,1,0,216,216,0,112,136,248, + 128,128,136,112,4,12,12,4,0,0,128,192,64,32,0,96, + 32,32,32,32,32,112,4,12,12,4,1,0,16,48,32,64, + 0,192,64,64,64,64,64,224,5,11,11,5,0,0,32,112, + 136,0,96,32,32,32,32,32,112,5,10,10,6,0,0,216, + 216,0,96,32,32,32,32,32,112,5,12,12,6,1,0,80, + 112,224,16,16,120,136,136,136,136,136,112,7,11,11,8,1, + 0,72,168,144,0,248,68,68,68,68,68,238,5,12,12,6, + 1,0,64,96,32,16,0,112,136,136,136,136,136,112,5,12, + 12,6,1,0,16,48,32,64,0,112,136,136,136,136,136,112, + 5,11,11,6,1,0,32,112,136,0,112,136,136,136,136,136, + 112,5,11,11,6,1,0,72,168,144,0,112,136,136,136,136, + 136,112,5,10,10,6,1,0,216,216,0,112,136,136,136,136, + 136,112,9,7,14,11,1,0,8,0,8,0,0,0,255,128, + 0,0,8,0,8,0,5,11,11,6,1,254,8,16,112,152, + 168,168,168,200,112,64,128,7,12,12,8,1,0,64,96,32, + 16,0,204,68,68,68,68,68,62,7,12,12,8,1,0,8, + 24,16,32,0,204,68,68,68,68,68,62,7,11,11,8,1, + 0,16,56,68,0,204,68,68,68,68,68,62,7,10,10,8, + 1,0,108,108,0,204,68,68,68,68,68,62,8,15,15,8, + 1,253,4,12,8,16,0,231,36,36,36,24,24,24,16,144, + 224,6,15,15,7,1,253,192,64,64,64,64,120,68,68,68, + 68,68,120,64,64,224,8,13,13,8,1,253,54,54,0,231, + 36,36,36,24,24,24,16,144,224}; +/* + Fontname: cursor + Copyright: These glyphs are unencumbered + Capital A Height: 15, '1' Height: 16 + Calculated Max Values w=16 h=16 x= 1 y= 0 dx=17 dy= 0 ascent=15 len=32 + Font Bounding box w=31 h=31 x=-15 y=-16 + Calculated Min Values x=-15 y=-16 dx= 0 dy= 0 + Pure Font ascent =15 descent=-8 + X Font ascent =16 descent=-16 + Max Font ascent =15 descent=-16 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_cursor[5286] U8G_FONT_SECTION("u8g_font_cursor") = { + 0,31,31,241,240,15,4,101,8,211,32,255,248,15,240,16, + 240,14,14,28,17,250,248,224,28,240,60,248,124,124,248,63, + 240,31,224,15,192,15,192,31,224,63,240,124,248,248,124,240, + 60,224,28,16,16,32,17,249,247,240,15,248,31,252,63,254, + 127,127,254,63,252,31,248,15,240,15,240,31,248,63,252,127, + 254,254,127,252,63,248,31,240,15,14,14,28,17,243,242,0, + 12,0,60,0,248,3,248,15,240,63,240,3,224,7,224,14, + 192,28,192,56,128,112,128,224,0,64,0,16,16,32,17,242, + 241,0,7,0,31,0,127,1,254,7,254,31,252,63,252,63, + 248,7,248,15,240,31,240,62,224,124,224,248,64,112,0,32, + 0,8,10,10,17,253,255,255,0,255,24,24,24,24,90,60, + 24,10,12,24,17,252,254,255,192,255,192,255,192,255,192,255, + 192,30,0,30,0,127,128,127,128,127,128,63,0,30,0,8, + 10,10,17,253,255,24,60,90,24,24,24,24,255,0,255,10, + 12,24,17,252,254,12,0,30,0,127,128,127,128,127,128,30, + 0,30,0,255,192,255,192,255,192,255,192,255,192,16,8,16, + 17,242,251,1,0,7,192,136,96,255,255,0,24,0,32,0, + 64,255,192,16,9,18,17,242,251,7,0,15,192,159,224,255, + 255,255,255,255,255,255,248,255,224,255,192,13,14,28,17,250, + 248,226,56,34,32,34,32,34,32,255,248,162,40,162,40,162, + 40,162,40,255,248,34,32,34,32,34,32,226,56,15,16,32, + 17,249,247,251,190,251,190,251,190,59,184,255,254,255,254,255, + 254,251,190,251,190,255,254,255,254,255,254,59,184,251,190,251, + 190,251,190,14,14,28,17,0,255,192,0,192,0,196,16,196, + 32,196,64,196,128,197,0,198,0,199,240,192,0,192,0,192, + 0,255,252,255,252,16,16,32,17,255,254,240,0,240,0,247, + 12,247,28,247,56,247,112,247,224,247,192,247,252,247,252,247, + 252,240,0,255,255,255,255,255,255,255,255,14,14,28,17,243, + 255,0,12,0,12,32,140,16,140,8,140,4,140,2,140,1, + 140,63,140,0,12,0,12,0,12,255,252,255,252,16,16,32, + 17,242,254,0,15,0,15,48,239,56,239,28,239,14,239,7, + 239,3,239,63,239,63,239,63,239,0,15,255,255,255,255,255, + 255,255,255,13,14,28,17,250,255,2,0,2,0,2,0,2, + 0,2,0,2,0,34,32,18,64,10,128,7,0,2,0,0, + 0,255,248,255,248,15,16,32,17,249,254,3,128,3,128,3, + 128,3,128,3,128,3,128,51,152,59,184,31,240,15,224,7, + 192,3,128,255,254,255,254,255,254,255,254,14,10,20,17,249, + 255,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, + 0,255,252,255,252,16,12,24,17,248,254,3,192,3,192,3, + 192,3,192,3,192,3,192,3,192,3,192,255,255,255,255,255, + 255,255,255,15,16,32,17,248,248,255,254,128,0,191,254,160, + 2,175,250,168,10,171,234,170,42,170,170,171,170,168,42,175, + 234,160,10,191,250,128,2,255,254,16,16,32,17,248,248,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,255,255,255,255,255,255,10, + 14,28,17,252,242,12,0,12,0,30,0,30,0,63,0,63, + 0,127,128,127,128,204,192,140,64,12,0,12,0,12,0,12, + 0,12,16,32,17,251,241,15,0,15,0,31,128,31,128,63, + 192,63,192,127,224,127,224,255,240,255,240,255,240,239,112,15, + 0,15,0,15,0,15,0,14,14,28,17,249,249,7,128,31, + 224,63,240,120,120,112,56,224,28,224,28,224,28,224,28,112, + 56,120,120,63,240,31,224,7,128,16,16,32,17,248,248,7, + 224,31,248,63,252,127,254,127,254,252,63,248,31,248,31,248, + 31,248,31,252,63,127,254,127,254,63,252,31,248,7,224,14, + 16,32,17,250,243,63,240,103,152,200,204,147,36,158,36,136, + 68,199,140,127,248,83,40,83,40,83,40,87,168,211,44,240, + 60,255,252,255,252,15,16,32,17,250,243,127,248,239,156,219, + 238,183,182,191,246,159,102,207,206,255,252,215,172,215,172,215, + 172,223,236,215,174,243,62,255,254,255,254,15,16,32,17,249, + 249,31,240,32,8,96,6,80,26,79,226,192,2,192,2,64, + 2,64,2,89,26,106,170,235,170,218,154,64,2,64,2,63, + 252,16,16,32,17,249,249,31,240,63,248,127,255,127,255,255, + 255,255,255,255,255,255,255,127,255,127,255,255,255,255,255,255, + 255,255,255,127,255,63,252,16,15,30,17,249,248,2,128,2, + 128,2,128,2,128,2,128,2,128,254,255,0,0,254,255,2, + 128,2,128,2,128,2,128,2,128,2,128,16,16,32,17,249, + 247,7,192,7,192,7,192,7,192,7,192,255,255,255,255,255, + 255,255,255,255,255,7,192,7,192,7,192,7,192,7,192,7, + 192,16,15,30,17,249,248,66,132,162,138,82,148,42,168,22, + 208,10,160,253,127,2,128,253,127,10,160,22,208,42,168,82, + 148,162,138,66,132,16,15,30,17,249,248,102,204,182,219,222, + 246,110,236,54,216,250,191,252,127,1,0,252,127,250,191,54, + 216,110,236,222,246,182,219,102,204,16,15,30,17,249,248,1, + 0,1,0,1,0,1,0,1,0,1,0,1,0,254,255,1, + 0,1,0,1,0,1,0,1,0,1,0,1,0,16,16,32, + 17,249,247,3,128,3,128,3,128,3,128,3,128,3,128,255, + 255,255,255,255,255,3,128,3,128,3,128,3,128,3,128,3, + 128,3,128,15,15,30,17,249,248,2,128,6,192,10,160,18, + 144,34,136,66,132,254,254,0,0,254,254,66,132,34,136,18, + 144,10,160,6,192,2,128,16,16,32,17,249,247,7,192,15, + 224,31,240,59,184,115,156,227,142,255,255,254,255,255,255,227, + 142,115,156,59,184,31,240,15,224,7,192,3,128,10,10,20, + 17,251,251,30,0,127,128,127,128,255,192,255,192,255,192,255, + 192,127,128,127,128,30,0,12,12,24,17,250,250,31,128,127, + 224,127,224,255,240,255,240,255,240,255,240,255,240,255,240,127, + 224,127,224,31,128,12,12,24,17,250,249,255,240,128,16,128, + 16,128,16,128,16,134,16,134,16,128,16,128,16,128,16,128, + 16,255,240,14,14,28,17,249,248,255,252,255,252,255,252,224, + 28,224,28,231,156,231,156,231,156,231,156,224,28,224,28,255, + 252,255,252,255,252,10,14,28,17,251,249,12,0,30,0,63, + 0,109,128,204,192,12,0,12,0,12,0,12,0,204,192,109, + 128,63,0,30,0,12,0,12,16,32,17,250,248,15,0,31, + 128,63,192,127,224,255,240,255,240,255,240,15,0,15,0,255, + 240,255,240,255,240,127,224,63,192,31,128,15,0,15,15,30, + 17,242,241,0,2,0,12,0,60,0,248,3,248,15,240,63, + 240,1,224,2,224,4,192,8,192,16,128,32,128,64,0,128, + 0,15,16,32,17,242,240,0,6,0,30,0,126,1,252,7, + 248,31,248,127,240,127,240,7,224,15,224,29,192,57,192,113, + 128,225,128,192,0,128,0,15,15,30,17,242,241,0,2,0, + 12,0,60,0,248,3,248,0,112,0,176,1,32,2,32,4, + 0,8,0,16,0,32,0,64,0,128,0,15,15,30,17,242, + 241,0,6,0,30,0,124,1,252,7,248,7,248,1,240,3, + 240,7,96,14,64,28,0,56,0,112,0,224,0,192,0,12, + 12,24,17,250,249,255,240,137,16,153,144,176,208,224,112,134, + 16,134,16,224,112,176,208,153,144,137,16,255,240,14,14,28, + 17,249,248,255,252,255,252,207,204,223,236,252,252,251,124,247, + 188,247,188,251,124,252,252,223,236,207,204,255,252,255,252,14, + 14,28,17,250,248,143,192,223,224,248,48,144,16,152,0,252, + 0,0,0,0,0,0,252,0,100,32,36,48,124,31,236,15, + 196,16,16,32,17,249,247,199,224,239,240,255,248,255,252,252, + 28,255,12,255,0,255,0,0,255,0,255,48,127,56,63,63, + 255,31,255,15,247,7,227,14,14,28,17,249,249,3,0,7, + 128,15,192,3,0,35,16,99,24,255,252,255,252,99,24,35, + 16,3,0,15,192,7,128,3,0,16,16,32,17,248,248,3, + 192,3,224,7,224,15,240,23,232,59,220,255,255,255,255,255, + 255,255,255,59,220,23,232,15,240,7,224,3,192,3,192,16, + 15,30,17,242,243,0,120,0,112,128,51,159,176,255,240,254, + 48,252,48,96,56,0,240,31,224,8,0,8,0,8,0,8, + 0,30,0,16,16,32,17,242,243,0,252,0,252,192,255,255, + 255,255,255,255,252,255,252,255,252,255,252,255,252,127,248,31, + 240,28,0,28,0,63,0,63,0,16,16,32,17,254,240,63, + 0,16,128,200,64,234,160,200,32,203,160,248,60,56,63,8, + 39,8,39,9,47,9,39,9,32,17,16,33,8,62,248,16, + 16,32,17,254,240,63,0,223,128,239,192,255,224,239,224,239, + 252,255,254,255,255,63,239,15,239,15,255,15,239,15,231,31, + 240,63,248,62,248,13,16,32,17,244,240,0,24,0,120,1, + 224,3,192,7,128,15,192,31,224,95,192,255,224,191,224,15, + 192,15,128,148,0,196,0,104,0,48,0,13,16,32,17,244, + 240,0,56,0,248,3,240,7,224,15,192,31,224,127,240,255, + 240,255,240,255,240,255,224,255,192,255,128,254,0,252,0,120, + 0,15,14,28,17,0,242,127,128,128,64,126,32,16,16,14, + 16,16,16,14,40,16,68,12,130,3,4,2,72,1,16,0, + 160,0,64,16,16,32,17,0,241,127,128,255,192,255,224,255, + 240,127,248,31,248,63,248,31,252,63,254,31,255,15,254,7, + 252,3,248,1,240,0,224,0,64,15,14,28,17,250,250,62, + 248,99,140,193,6,128,2,128,2,128,2,128,2,192,6,96, + 12,48,24,24,48,12,96,6,192,3,128,15,14,28,17,250, + 250,62,248,127,252,227,142,193,6,192,6,192,6,194,134,225, + 14,112,28,56,56,28,112,15,224,7,192,3,128,16,16,32, + 17,248,248,255,255,213,85,170,171,213,85,160,11,208,5,160, + 11,208,5,160,11,208,5,160,11,208,5,170,171,213,85,170, + 171,255,255,16,16,32,17,248,248,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,255,255,255,255,255,255,14,14,28,17,249,248,127, + 248,63,240,159,228,207,204,231,156,243,60,255,252,255,252,243, + 60,231,156,207,204,159,228,63,240,127,248,16,16,32,17,248, + 247,63,252,127,254,127,254,255,255,255,255,255,255,255,255,255, + 255,255,255,255,255,255,255,255,255,255,255,127,254,127,254,63, + 252,8,14,14,17,0,242,128,192,224,240,248,252,254,255,248, + 216,140,12,6,6,10,16,32,17,255,241,192,0,224,0,240, + 0,248,0,252,0,254,0,255,0,255,128,255,192,255,192,254, + 0,239,0,207,0,7,128,7,128,3,0,14,13,26,17,0, + 249,192,0,192,0,193,0,194,0,196,0,200,0,223,252,200, + 0,196,0,194,0,193,0,192,0,192,0,16,15,30,17,255, + 248,240,0,240,0,240,192,241,192,243,128,247,0,255,255,255, + 255,255,255,247,0,243,128,241,192,240,192,240,0,240,0,10, + 14,28,17,0,249,192,0,192,0,192,0,192,0,192,0,192, + 0,255,192,255,192,192,0,192,0,192,0,192,0,192,0,192, + 0,12,16,32,17,255,248,240,0,240,0,240,0,240,0,240, + 0,240,0,255,240,255,240,255,240,255,240,240,0,240,0,240, + 0,240,0,240,0,240,0,16,16,32,17,248,248,128,3,127, + 253,127,253,68,69,69,85,69,85,69,85,69,85,68,69,127, + 253,127,253,127,253,127,253,127,253,127,253,128,3,15,16,32, + 17,248,248,127,252,255,254,255,254,255,254,255,254,255,254,255, + 254,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255, + 254,127,252,10,10,20,17,0,255,192,0,192,0,192,0,192, + 0,192,0,192,0,192,0,192,0,255,192,255,192,12,12,24, + 17,255,254,240,0,240,0,240,0,240,0,240,0,240,0,240, + 0,240,0,255,240,255,240,255,240,255,240,10,10,20,17,247, + 255,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, + 192,255,192,255,192,12,12,24,17,246,254,0,240,0,240,0, + 240,0,240,0,240,0,240,0,240,0,240,255,240,255,240,255, + 240,255,240,16,16,32,17,242,245,3,128,30,240,2,128,129, + 0,67,135,36,75,29,112,5,64,4,64,2,128,4,64,9, + 32,18,144,20,80,120,60,248,63,16,16,32,17,242,245,31, + 224,63,240,63,248,195,130,231,199,127,255,63,251,31,240,7, + 224,7,192,15,224,31,240,63,248,126,252,252,127,252,127,16, + 16,32,17,248,248,128,3,127,253,127,253,68,69,84,85,84, + 85,84,85,84,85,68,69,127,253,127,253,127,253,127,253,127, + 253,127,253,128,3,15,16,32,17,248,248,127,252,255,254,255, + 254,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255, + 254,255,254,255,254,255,254,255,254,127,252,15,14,28,17,252, + 243,7,0,12,0,6,0,3,0,127,248,128,4,179,54,179, + 54,179,54,128,6,128,6,96,28,24,96,7,128,16,16,32, + 17,252,241,15,128,30,0,15,0,7,0,127,248,255,252,255, + 255,255,255,255,255,255,255,255,255,255,255,63,247,31,224,15, + 192,7,128,11,16,32,17,246,255,112,0,136,0,140,0,74, + 0,122,0,33,0,17,0,16,128,8,128,12,64,4,64,2, + 32,1,224,0,224,0,96,0,32,13,16,32,17,245,255,252, + 0,254,0,255,0,127,0,63,128,63,128,31,192,15,192,15, + 224,7,224,7,240,3,248,1,248,0,248,0,120,0,56,15, + 16,32,17,249,252,7,128,15,192,31,224,51,48,51,48,31, + 224,15,192,7,128,135,132,135,134,67,8,56,112,7,128,31, + 226,240,62,128,4,16,16,32,17,249,252,15,192,31,224,63, + 240,127,248,127,248,63,240,31,224,143,193,143,199,207,207,247, + 156,120,120,7,128,127,227,255,255,240,62,10,10,20,17,252, + 251,12,0,12,0,12,0,12,0,255,192,255,192,12,0,12, + 0,12,0,12,0,12,12,24,17,251,250,15,0,15,0,15, + 0,15,0,255,240,255,240,255,240,255,240,15,0,15,0,15, + 0,15,0,9,15,30,17,252,248,62,0,127,0,227,128,193, + 128,225,128,99,128,7,0,30,0,28,0,20,0,20,0,119, + 0,54,0,28,0,8,0,11,16,32,17,251,248,31,0,63, + 128,127,192,255,224,241,224,249,224,123,224,63,192,31,128,31, + 0,31,0,63,128,127,192,63,128,31,0,14,0,8,14,14, + 17,249,242,1,3,7,15,31,63,127,255,31,27,49,48,96, + 96,10,16,32,17,248,241,0,192,1,192,3,192,7,192,15, + 192,31,192,63,192,127,192,255,192,255,192,31,192,61,192,60, + 192,120,0,120,0,48,0,14,13,26,17,243,249,0,12,0, + 12,2,12,1,12,0,140,0,76,255,236,0,76,0,140,1, + 12,2,12,0,12,0,12,16,15,30,17,242,248,0,15,0, + 15,3,15,3,143,1,207,0,239,255,255,255,255,255,255,0, + 239,1,207,3,143,3,15,0,15,0,15,10,14,28,17,247, + 249,0,192,0,192,0,192,0,192,0,192,0,192,255,192,255, + 192,0,192,0,192,0,192,0,192,0,192,0,192,12,16,32, + 17,246,248,0,240,0,240,0,240,0,240,0,240,0,240,255, + 240,255,240,255,240,255,240,0,240,0,240,0,240,0,240,0, + 240,0,240,16,16,32,17,248,248,128,3,127,253,127,253,68, + 69,85,69,85,69,85,69,85,69,68,69,127,253,127,253,127, + 253,127,253,127,253,127,253,128,3,15,16,32,17,248,248,127, + 252,255,254,255,254,255,254,255,254,255,254,255,254,255,254,255, + 254,255,254,255,254,255,254,255,254,255,254,255,254,127,252,14, + 14,28,17,250,248,255,252,128,68,128,68,128,68,255,196,136, + 68,136,68,136,68,136,68,143,252,136,4,136,4,136,4,255, + 252,16,16,32,17,249,247,255,255,255,255,255,255,224,119,255, + 247,255,247,255,247,238,119,238,119,239,255,239,255,239,255,238, + 7,255,255,255,255,255,255,12,13,26,17,250,242,1,0,1, + 0,5,128,5,128,13,128,13,192,29,192,29,192,61,224,61, + 224,125,224,125,240,248,224,16,16,32,17,248,240,0,192,0, + 224,1,224,3,240,3,240,7,240,7,248,15,248,15,248,31, + 252,31,252,63,252,63,255,127,255,255,248,127,224,7,15,15, + 17,253,0,40,40,40,40,40,40,40,40,40,40,40,254,124, + 56,16,9,16,32,17,252,255,62,0,62,0,62,0,62,0, + 62,0,62,0,62,0,62,0,62,0,62,0,255,128,255,128, + 127,0,62,0,28,0,8,0,15,7,14,17,249,252,16,16, + 48,24,127,252,240,30,127,252,48,24,16,16,15,9,18,17, + 249,251,24,48,56,56,127,252,255,254,255,254,255,254,127,252, + 56,56,24,48,15,7,14,17,1,252,16,0,48,0,127,254, + 240,0,127,254,48,0,16,0,16,9,18,17,0,251,12,0, + 28,0,63,255,127,255,255,255,127,255,63,255,28,0,12,0, + 15,7,14,17,241,252,0,16,0,24,255,252,0,30,255,252, + 0,24,0,16,16,9,18,17,241,251,0,48,0,56,255,252, + 255,254,255,255,255,254,255,252,0,56,0,48,7,15,15,17, + 253,240,16,56,124,254,40,40,40,40,40,40,40,40,40,40, + 40,9,16,32,17,252,240,8,0,28,0,62,0,127,0,255, + 128,255,128,62,0,62,0,62,0,62,0,62,0,62,0,62, + 0,62,0,62,0,62,0,7,15,15,17,253,248,16,56,124, + 254,40,40,40,40,40,40,40,254,124,56,16,9,15,30,17, + 252,248,28,0,62,0,127,0,255,128,255,128,62,0,62,0, + 62,0,62,0,62,0,255,128,255,128,127,0,62,0,28,0, + 15,16,32,17,246,240,0,32,0,112,0,248,1,222,5,222, + 9,222,17,222,17,222,17,222,17,222,49,222,113,222,253,222, + 24,136,0,120,0,48,16,16,32,17,245,240,0,56,0,124, + 0,254,0,255,6,255,14,255,30,255,30,255,30,255,30,255, + 62,255,126,255,254,255,126,254,12,126,0,60,14,14,28,17, + 249,249,255,0,128,0,128,0,128,0,143,192,136,64,136,68, + 136,68,8,68,15,196,0,36,0,20,0,12,3,252,16,16, + 32,17,248,248,255,192,255,192,255,192,224,0,239,240,239,240, + 239,247,238,119,238,119,239,247,15,247,15,255,0,31,3,255, + 3,255,3,255,16,16,32,17,250,247,32,16,16,32,16,32, + 8,64,8,64,135,135,103,152,31,224,31,224,103,152,135,135, + 8,64,8,64,16,32,16,32,32,16,16,16,32,17,250,247, + 96,24,48,48,16,32,24,96,143,193,207,207,111,220,63,240, + 63,224,111,248,207,207,143,193,24,64,24,96,48,48,96,24, + 11,16,32,17,247,242,0,96,1,0,52,96,121,0,104,96, + 252,0,132,0,228,0,164,0,228,0,164,0,228,0,228,0, + 132,0,132,0,252,0,12,16,32,17,246,242,0,48,24,176, + 62,176,62,176,126,176,255,0,255,0,255,0,255,0,255,0, + 255,0,255,0,255,0,255,0,255,0,255,0,15,16,32,17, + 249,247,1,0,2,128,2,128,2,128,4,64,4,64,4,64, + 57,56,192,6,56,56,9,32,18,144,36,72,40,40,48,24, + 32,8,16,16,32,17,249,247,1,0,3,128,3,128,6,192, + 6,192,12,96,28,120,249,62,192,7,248,62,57,56,51,152, + 102,204,108,108,120,60,112,28,15,13,26,17,249,249,3,128, + 15,224,28,112,48,24,96,12,193,6,194,134,193,6,96,12, + 48,24,28,112,15,224,3,128,16,14,28,17,249,249,7,192, + 15,224,31,240,60,120,112,28,225,14,195,135,198,199,195,135, + 225,14,112,28,60,120,31,240,7,192,13,13,26,16,250,249, + 2,0,2,0,2,0,2,0,2,0,2,0,255,248,2,0, + 2,0,2,0,2,0,2,0,2,0,15,15,30,16,249,248, + 3,128,3,128,3,128,3,128,3,128,3,128,255,254,255,254, + 255,254,3,128,3,128,3,128,3,128,3,128,3,128,14,14, + 28,17,0,242,192,0,240,0,124,0,127,0,63,192,63,240, + 31,0,31,0,12,128,12,64,4,32,4,16,0,8,0,4, + 16,16,32,17,255,241,224,0,248,0,254,0,127,128,127,224, + 63,252,63,252,31,252,31,192,15,224,15,112,7,56,7,28, + 7,14,0,7,0,3,14,14,28,17,0,242,255,252,255,252, + 192,0,192,0,192,0,199,240,198,0,197,0,196,128,196,64, + 196,32,196,16,192,0,192,0,16,16,32,17,255,241,255,255, + 255,255,255,255,255,255,240,0,247,252,247,252,247,252,247,192, + 247,224,247,112,247,56,247,28,247,12,240,0,240,0,14,14, + 28,17,243,242,255,252,255,252,0,12,0,12,0,12,63,140, + 1,140,2,140,4,140,8,140,16,140,32,140,0,12,0,12, + 16,16,32,17,242,241,255,255,255,255,255,255,255,255,0,15, + 63,239,63,239,63,239,3,239,7,239,14,239,28,239,56,239, + 48,239,0,15,0,15,13,14,28,17,250,242,255,248,255,248, + 0,0,2,0,7,0,10,128,18,64,34,32,2,0,2,0, + 2,0,2,0,2,0,2,0,15,16,32,17,249,241,255,254, + 255,254,255,254,255,254,3,128,7,192,15,224,31,240,59,184, + 51,152,3,128,3,128,3,128,3,128,3,128,3,128,14,10, + 20,17,249,246,255,252,255,252,3,0,3,0,3,0,3,0, + 3,0,3,0,3,0,3,0,16,12,24,17,248,245,255,255, + 255,255,255,255,255,255,3,192,3,192,3,192,3,192,3,192, + 3,192,3,192,3,192,7,16,16,17,253,240,16,0,56,124, + 254,238,254,124,56,16,186,214,146,130,130,130,9,16,32,17, + 252,240,28,0,28,0,62,0,127,0,255,128,255,128,255,128, + 127,0,62,0,93,0,255,128,255,128,255,128,235,128,235,128, + 227,128,10,10,20,17,0,246,255,192,255,192,192,0,192,0, + 192,0,192,0,192,0,192,0,192,0,192,0,12,12,24,17, + 255,245,255,240,255,240,255,240,255,240,240,0,240,0,240,0, + 240,0,240,0,240,0,240,0,240,0,14,14,28,17,249,244, + 17,32,4,80,147,76,79,144,50,96,194,24,2,0,2,0, + 2,0,2,0,2,0,2,128,2,128,1,0,16,16,32,17, + 248,242,23,110,223,251,191,252,127,255,255,252,255,255,243,158, + 3,128,3,128,3,128,3,128,3,224,3,224,3,224,3,224, + 1,192,10,10,20,17,247,246,255,192,255,192,0,192,0,192, + 0,192,0,192,0,192,0,192,0,192,0,192,12,12,24,17, + 246,245,255,240,255,240,255,240,255,240,0,240,0,240,0,240, + 0,240,0,240,0,240,0,240,0,240,16,16,32,17,241,249, + 31,224,31,224,31,224,63,240,97,24,193,12,129,7,131,135, + 131,135,132,7,200,12,96,24,63,240,31,224,31,224,31,224, + 16,16,32,17,241,249,63,240,63,240,63,240,127,248,255,252, + 255,255,255,255,255,255,255,255,255,255,255,255,255,252,127,248, + 63,240,63,240,63,240,7,14,14,10,253,249,238,56,16,16, + 16,16,16,16,16,16,16,16,56,238,9,16,32,10,252,248, + 247,128,255,128,255,128,62,0,28,0,28,0,28,0,28,0, + 28,0,28,0,28,0,28,0,62,0,255,128,255,128,247,128, + 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,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,255,255,255,255,255,255,255,255,255,255,255,255, + 255,255,255,255,255,255}; +/* + Fontname: cursor + Copyright: These + Capital A Height: 0, '1' Height: 0 + Calculated Max Values w=16 h=16 x= 0 y= 0 dx=17 dy= 0 ascent= 7 len=32 + Font Bounding box w=31 h=31 x=-15 y=-16 + Calculated Min Values x=-14 y=-16 dx= 0 dy= 0 + Pure Font ascent = 0 descent= 0 + X Font ascent = 0 descent= 0 + Max Font ascent = 7 descent=-16 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_cursorr[492] U8G_FONT_SECTION("u8g_font_cursorr") = { + 0,31,31,241,240,0,1,6,0,0,32,80,0,7,240,0, + 0,255,255,14,14,28,17,243,242,0,12,0,60,0,248,3, + 248,15,240,63,240,3,224,7,224,14,192,28,192,56,128,112, + 128,224,0,64,0,16,16,32,17,242,241,0,7,0,31,0, + 127,1,254,7,254,31,252,63,252,63,248,7,248,15,240,31, + 240,62,224,124,224,248,64,112,0,32,0,255,255,255,255,255, + 255,255,255,255,255,255,255,255,255,255,255,255,255,10,14,28, + 17,252,242,12,0,12,0,30,0,30,0,63,0,63,0,127, + 128,127,128,204,192,140,64,12,0,12,0,12,0,12,0,12, + 16,32,17,251,241,15,0,15,0,31,128,31,128,63,192,63, + 192,127,224,127,224,255,240,255,240,255,240,239,112,15,0,15, + 0,15,0,15,0,255,255,255,255,255,255,16,15,30,17,249, + 248,2,128,2,128,2,128,2,128,2,128,2,128,254,255,0, + 0,254,255,2,128,2,128,2,128,2,128,2,128,2,128,16, + 16,32,17,249,247,7,192,7,192,7,192,7,192,7,192,255, + 255,255,255,255,255,255,255,255,255,7,192,7,192,7,192,7, + 192,7,192,7,192,255,255,16,15,30,17,249,248,1,0,1, + 0,1,0,1,0,1,0,1,0,1,0,254,255,1,0,1, + 0,1,0,1,0,1,0,1,0,1,0,16,16,32,17,249, + 247,3,128,3,128,3,128,3,128,3,128,3,128,255,255,255, + 255,255,255,3,128,3,128,3,128,3,128,3,128,3,128,3, + 128,255,255,255,255,255,255,255,255,15,15,30,17,242,241,0, + 2,0,12,0,60,0,248,3,248,15,240,63,240,1,224,2, + 224,4,192,8,192,16,128,32,128,64,0,128,0,15,16,32, + 17,242,240,0,6,0,30,0,126,1,252,7,248,31,248,127, + 240,127,240,7,224,15,224,29,192,57,192,113,128,225,128,192, + 0,128,0,15,15,30,17,242,241,0,2,0,12,0,60,0, + 248,3,248,0,112,0,176,1,32,2,32,4,0,8,0,16, + 0,32,0,64,0,128,0,15,15,30,17,242,241,0,6,0, + 30,0,124,1,252,7,248,7,248,1,240,3,240,7,96,14, + 64,28,0,56,0,112,0,224,0,192,0,255}; +/* + Fontname: -FreeType-fixed_v01-Medium-R-Normal--8-80-72-72-P-51-ISO10646-1 + Copyright: © www.orgdot.com + Capital A Height: 7, '1' Height: 7 + Calculated Max Values w= 7 h= 9 x= 2 y= 6 dx= 6 dy= 0 ascent= 7 len= 9 + Font Bounding box w= 7 h= 9 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent = 7 descent=-2 + X Font ascent = 7 descent=-2 + Max Font ascent = 7 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_fixed_v0[1702] U8G_FONT_SECTION("u8g_font_fixed_v0") = { + 1,7,9,0,254,7,1,46,2,94,32,255,254,7,254,7, + 254,2,0,64,34,23,103,128,128,128,128,0,128,128,23,50, + 98,160,160,3,85,101,80,248,80,248,80,2,87,103,112,168, + 160,112,40,168,112,2,87,103,136,144,16,32,64,72,136,2, + 87,103,104,136,104,144,144,144,104,23,18,98,128,128,2,87, + 103,56,64,128,128,128,64,56,2,87,103,224,16,8,8,8, + 16,224,2,87,103,32,168,112,32,112,168,32,3,85,101,32, + 32,248,32,32,18,34,98,64,128,5,81,97,248,18,18,98, + 128,128,2,87,103,8,16,16,32,64,64,128,2,87,103,112, + 136,136,136,136,136,112,2,87,103,32,96,32,32,32,32,248, + 2,87,103,112,136,8,16,32,64,248,2,87,103,240,8,8, + 48,8,8,240,2,87,103,16,144,144,248,16,16,16,2,87, + 103,248,128,128,240,8,8,240,2,87,103,112,128,128,240,136, + 136,112,2,87,103,248,8,8,8,8,8,8,2,87,103,112, + 136,136,112,136,136,112,2,87,103,112,136,136,248,8,8,112, + 18,21,101,128,128,0,128,128,18,37,101,64,64,0,64,128, + 2,87,103,24,32,64,128,64,32,24,4,83,99,248,0,248, + 2,87,103,192,32,16,8,16,32,192,2,87,103,248,8,8, + 48,0,32,32,2,87,103,112,136,136,168,184,128,112,2,87, + 103,112,136,136,248,136,136,136,2,87,103,240,136,136,240,136, + 136,240,2,87,103,112,136,128,128,128,136,112,2,87,103,240, + 136,136,136,136,136,240,2,87,103,248,128,128,224,128,128,248, + 2,87,103,248,128,128,224,128,128,128,2,87,103,112,136,128, + 184,136,136,112,2,87,103,136,136,136,248,136,136,136,2,87, + 103,248,32,32,32,32,32,248,2,87,103,248,8,8,8,8, + 136,112,2,87,103,136,136,144,224,144,136,136,2,87,103,128, + 128,128,128,128,128,248,2,87,103,136,136,216,168,136,136,136, + 2,87,103,136,136,200,168,152,136,136,2,87,103,112,136,136, + 136,136,136,112,2,87,103,240,136,136,240,128,128,128,2,87, + 103,112,136,136,136,136,168,112,2,87,103,240,136,136,240,160, + 144,136,2,87,103,112,136,128,112,8,136,112,2,87,103,248, + 32,32,32,32,32,32,2,87,103,136,136,136,136,136,136,112, + 2,87,103,136,136,136,136,136,80,32,2,87,103,136,136,136, + 168,168,168,80,2,87,103,136,136,80,32,80,136,136,2,87, + 103,136,136,80,32,32,32,32,2,87,103,248,8,16,32,64, + 128,248,18,55,103,224,128,128,128,128,128,224,2,87,103,128, + 64,64,32,16,16,8,18,55,103,224,32,32,32,32,32,224, + 23,50,98,64,160,2,113,97,254,39,34,98,64,128,2,85, + 101,112,8,120,136,120,2,87,103,128,128,240,136,136,136,240, + 2,85,101,112,136,128,136,112,2,87,103,8,8,120,136,136, + 136,120,2,85,101,112,136,248,128,120,2,87,103,56,64,240, + 64,64,64,64,0,87,103,112,136,136,136,120,8,112,2,87, + 103,128,128,240,136,136,136,136,2,87,103,48,0,248,32,32, + 32,248,0,89,105,48,0,248,8,8,8,8,8,112,2,87, + 103,128,128,136,144,224,144,136,2,87,103,224,32,32,32,32, + 32,248,2,85,101,208,168,168,168,168,2,85,101,176,200,136, + 136,136,2,85,101,112,136,136,136,112,0,87,103,240,136,136, + 136,240,128,128,0,87,103,120,136,136,136,120,8,8,2,85, + 101,184,192,128,128,128,2,85,101,120,128,112,8,240,2,87, + 103,32,32,248,32,32,32,32,2,85,101,136,136,136,136,112, + 2,85,101,136,136,136,80,32,2,85,101,136,168,168,168,80, + 2,85,101,136,80,32,80,136,0,87,103,136,136,136,136,120, + 8,112,2,85,101,248,16,32,64,248,2,87,103,24,32,64, + 192,64,32,24,34,23,103,128,128,128,128,128,128,128,2,87, + 103,192,32,16,24,16,32,192,4,82,98,72,176,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,255,255,255,255,255,255,255,255,2, + 87,103,48,0,248,32,32,32,248,2,87,103,32,112,168,160, + 168,112,32,2,87,103,64,64,64,240,64,72,120,3,85,101, + 136,112,80,112,136,2,87,103,136,136,80,248,32,248,32,34, + 23,103,128,128,128,0,128,128,128,2,87,103,120,128,120,136, + 240,8,240,5,81,97,248,2,87,103,112,136,168,200,168,136, + 112,2,87,103,112,8,120,136,120,0,248,4,83,99,72,144, + 72,4,82,98,248,8,255,2,87,103,112,136,248,200,200,136, + 112,8,81,97,248,20,51,99,64,160,64,2,87,103,32,32, + 248,32,32,0,248,255,255,255,255,255,255,255,255,255,4,83, + 99,144,72,144,255,255,255,255,2,87,103,64,32,112,136,248, + 136,136,2,87,103,16,32,112,136,248,136,136,2,87,103,32, + 80,112,136,248,136,136,2,87,103,72,176,112,136,248,136,136, + 2,87,103,80,0,112,136,248,136,136,2,87,103,112,0,112, + 136,248,136,136,2,87,103,120,160,160,240,160,160,184,0,89, + 105,112,136,128,128,128,136,112,32,96,2,87,103,64,32,248, + 128,224,128,248,2,87,103,16,32,248,128,224,128,248,2,87, + 103,32,80,248,128,224,128,248,2,87,103,80,0,248,128,224, + 128,248,2,87,103,64,32,248,32,32,32,248,2,87,103,16, + 32,248,32,32,32,248,2,87,103,32,80,248,32,32,32,248, + 2,87,103,80,0,248,32,32,32,248,2,87,103,240,136,136, + 232,136,136,240,2,87,103,72,176,136,200,168,152,136,2,87, + 103,64,32,112,136,136,136,112,2,87,103,16,32,112,136,136, + 136,112,2,87,103,32,80,112,136,136,136,112,2,87,103,72, + 176,112,136,136,136,112,2,87,103,80,0,112,136,136,136,112, + 20,51,99,160,64,160,2,87,103,112,136,152,168,200,136,112, + 2,87,103,64,32,136,136,136,136,112,2,87,103,16,32,136, + 136,136,136,112,2,87,103,32,80,136,136,136,136,112,2,87, + 103,80,0,136,136,136,136,112,2,87,103,16,32,136,136,80, + 32,32,2,87,103,128,128,240,136,240,128,128,0,89,105,240, + 136,136,176,136,136,176,128,128,2,87,103,64,32,112,8,120, + 136,120,2,87,103,16,32,112,8,120,136,120,2,87,103,32, + 80,112,8,120,136,120,2,87,103,72,176,112,8,120,136,120, + 2,87,103,80,0,112,8,120,136,120,2,87,103,48,0,112, + 8,120,136,120,2,85,101,240,40,120,160,120,0,87,103,112, + 136,128,136,112,32,96,2,87,103,64,32,112,136,248,128,120, + 2,87,103,16,32,112,136,248,128,120,2,87,103,32,80,112, + 136,248,128,120,2,87,103,80,0,112,136,248,128,120,2,87, + 103,64,32,248,32,32,32,248,2,87,103,16,32,248,32,32, + 32,248,2,87,103,32,80,248,32,32,32,248,2,87,103,80, + 0,248,32,32,32,248,2,87,103,8,56,8,120,136,136,120, + 2,87,103,72,176,176,200,136,136,136,2,87,103,64,32,112, + 136,136,136,112,2,87,103,16,32,112,136,136,136,112,2,87, + 103,32,80,112,136,136,136,112,2,87,103,72,176,112,136,136, + 136,112,2,87,103,80,0,112,136,136,136,112,3,85,101,32, + 0,248,0,32,2,85,101,112,152,168,200,112,2,87,103,64, + 32,136,136,136,136,112,2,87,103,16,32,136,136,136,136,112, + 2,87,103,32,80,136,136,136,136,112,2,87,103,80,0,136, + 136,136,136,112,0,89,105,16,32,136,136,136,136,120,8,112, + 2,87,103,128,128,240,136,240,128,128,0,89,105,80,0,136, + 136,136,136,120,8,112}; +/* + Fontname: -FreeType-fixed_v01-Medium-R-Normal--8-80-72-72-P-51-ISO10646-1 + Copyright: © www.orgdot.com + Capital A Height: 0, '1' Height: 7 + Calculated Max Values w= 5 h= 7 x= 1 y= 3 dx= 6 dy= 0 ascent= 7 len= 7 + Font Bounding box w= 7 h= 9 x= 0 y=-2 + Calculated Min Values x= 0 y= 0 dx= 0 dy= 0 + Pure Font ascent = 7 descent= 0 + X Font ascent = 7 descent= 0 + Max Font ascent = 7 descent= 0 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_fixed_v0n[167] U8G_FONT_SECTION("u8g_font_fixed_v0n") = { + 1,7,9,0,254,7,0,0,0,0,42,58,0,7,0,7, + 0,2,87,103,32,168,112,32,112,168,32,3,85,101,32,32, + 248,32,32,18,34,98,64,128,5,81,97,248,18,18,98,128, + 128,2,87,103,8,16,16,32,64,64,128,2,87,103,112,136, + 136,136,136,136,112,2,87,103,32,96,32,32,32,32,248,2, + 87,103,112,136,8,16,32,64,248,2,87,103,240,8,8,48, + 8,8,240,2,87,103,16,144,144,248,16,16,16,2,87,103, + 248,128,128,240,8,8,240,2,87,103,112,128,128,240,136,136, + 112,2,87,103,248,8,8,8,8,8,8,2,87,103,112,136, + 136,112,136,136,112,2,87,103,112,136,136,248,8,8,112,18, + 21,101,128,128,0,128,128}; +/* + Fontname: -FreeType-fixed_v01-Medium-R-Normal--8-80-72-72-P-51-ISO10646-1 + Copyright: © www.orgdot.com + Capital A Height: 7, '1' Height: 7 + Calculated Max Values w= 7 h= 9 x= 2 y= 5 dx= 6 dy= 0 ascent= 7 len= 9 + Font Bounding box w= 7 h= 9 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent = 7 descent=-2 + X Font ascent = 7 descent=-2 + Max Font ascent = 7 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_fixed_v0r[878] U8G_FONT_SECTION("u8g_font_fixed_v0r") = { + 1,7,9,0,254,7,1,46,2,94,32,127,254,7,254,7, + 254,2,0,64,34,23,103,128,128,128,128,0,128,128,23,50, + 98,160,160,3,85,101,80,248,80,248,80,2,87,103,112,168, + 160,112,40,168,112,2,87,103,136,144,16,32,64,72,136,2, + 87,103,104,136,104,144,144,144,104,23,18,98,128,128,2,87, + 103,56,64,128,128,128,64,56,2,87,103,224,16,8,8,8, + 16,224,2,87,103,32,168,112,32,112,168,32,3,85,101,32, + 32,248,32,32,18,34,98,64,128,5,81,97,248,18,18,98, + 128,128,2,87,103,8,16,16,32,64,64,128,2,87,103,112, + 136,136,136,136,136,112,2,87,103,32,96,32,32,32,32,248, + 2,87,103,112,136,8,16,32,64,248,2,87,103,240,8,8, + 48,8,8,240,2,87,103,16,144,144,248,16,16,16,2,87, + 103,248,128,128,240,8,8,240,2,87,103,112,128,128,240,136, + 136,112,2,87,103,248,8,8,8,8,8,8,2,87,103,112, + 136,136,112,136,136,112,2,87,103,112,136,136,248,8,8,112, + 18,21,101,128,128,0,128,128,18,37,101,64,64,0,64,128, + 2,87,103,24,32,64,128,64,32,24,4,83,99,248,0,248, + 2,87,103,192,32,16,8,16,32,192,2,87,103,248,8,8, + 48,0,32,32,2,87,103,112,136,136,168,184,128,112,2,87, + 103,112,136,136,248,136,136,136,2,87,103,240,136,136,240,136, + 136,240,2,87,103,112,136,128,128,128,136,112,2,87,103,240, + 136,136,136,136,136,240,2,87,103,248,128,128,224,128,128,248, + 2,87,103,248,128,128,224,128,128,128,2,87,103,112,136,128, + 184,136,136,112,2,87,103,136,136,136,248,136,136,136,2,87, + 103,248,32,32,32,32,32,248,2,87,103,248,8,8,8,8, + 136,112,2,87,103,136,136,144,224,144,136,136,2,87,103,128, + 128,128,128,128,128,248,2,87,103,136,136,216,168,136,136,136, + 2,87,103,136,136,200,168,152,136,136,2,87,103,112,136,136, + 136,136,136,112,2,87,103,240,136,136,240,128,128,128,2,87, + 103,112,136,136,136,136,168,112,2,87,103,240,136,136,240,160, + 144,136,2,87,103,112,136,128,112,8,136,112,2,87,103,248, + 32,32,32,32,32,32,2,87,103,136,136,136,136,136,136,112, + 2,87,103,136,136,136,136,136,80,32,2,87,103,136,136,136, + 168,168,168,80,2,87,103,136,136,80,32,80,136,136,2,87, + 103,136,136,80,32,32,32,32,2,87,103,248,8,16,32,64, + 128,248,18,55,103,224,128,128,128,128,128,224,2,87,103,128, + 64,64,32,16,16,8,18,55,103,224,32,32,32,32,32,224, + 23,50,98,64,160,2,113,97,254,39,34,98,64,128,2,85, + 101,112,8,120,136,120,2,87,103,128,128,240,136,136,136,240, + 2,85,101,112,136,128,136,112,2,87,103,8,8,120,136,136, + 136,120,2,85,101,112,136,248,128,120,2,87,103,56,64,240, + 64,64,64,64,0,87,103,112,136,136,136,120,8,112,2,87, + 103,128,128,240,136,136,136,136,2,87,103,48,0,248,32,32, + 32,248,0,89,105,48,0,248,8,8,8,8,8,112,2,87, + 103,128,128,136,144,224,144,136,2,87,103,224,32,32,32,32, + 32,248,2,85,101,208,168,168,168,168,2,85,101,176,200,136, + 136,136,2,85,101,112,136,136,136,112,0,87,103,240,136,136, + 136,240,128,128,0,87,103,120,136,136,136,120,8,8,2,85, + 101,184,192,128,128,128,2,85,101,120,128,112,8,240,2,87, + 103,32,32,248,32,32,32,32,2,85,101,136,136,136,136,112, + 2,85,101,136,136,136,80,32,2,85,101,136,168,168,168,80, + 2,85,101,136,80,32,80,136,0,87,103,136,136,136,136,120, + 8,112,2,85,101,248,16,32,64,248,2,87,103,24,32,64, + 192,64,32,24,34,23,103,128,128,128,128,128,128,128,2,87, + 103,192,32,16,24,16,32,192,4,82,98,72,176,255}; +/* + Fontname: -FreeType-FreeDooM-Bold-R-Normal--34-340-72-72-P-170-ISO8859-1 + Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. + Capital A Height: 10, '1' Height: 10 + Calculated Max Values w= 7 h=10 x= 4 y=10 dx= 8 dy= 0 ascent=12 len=10 + Font Bounding box w= 7 h=12 x= 0 y= 0 + Calculated Min Values x= 0 y= 0 dx= 0 dy= 0 + Pure Font ascent =10 descent= 1 + X Font ascent =12 descent= 0 + Max Font ascent =12 descent= 0 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_freedoomr10r[1042] U8G_FONT_SECTION("u8g_font_freedoomr10r") = { + 0,7,12,0,0,10,1,113,3,88,32,127,1,12,0,12, + 0,0,0,0,7,0,1,0,0,0,7,0,1,0,0,0, + 7,0,1,0,0,0,7,0,1,0,0,0,7,0,1,0, + 0,0,7,0,1,0,0,0,7,0,1,0,0,0,7,0, + 1,3,10,10,7,0,2,96,128,128,128,128,128,128,128,128, + 96,3,10,10,7,3,2,192,32,32,32,32,32,32,32,32, + 192,5,5,5,8,1,7,168,112,32,112,168,7,7,7,8, + 0,4,16,16,16,254,16,16,16,2,2,2,7,2,10,64, + 128,7,1,1,8,0,7,254,2,2,2,7,2,2,192,192, + 7,10,10,8,0,2,2,4,4,8,16,16,32,64,64,128, + 6,10,10,7,0,2,252,132,132,132,132,132,132,132,132,252, + 2,10,10,7,4,2,192,64,64,64,64,64,64,64,64,64, + 6,10,10,7,0,2,252,4,4,4,4,252,128,128,128,252, + 6,10,10,7,0,2,252,4,4,4,60,4,4,4,4,252, + 6,10,10,7,0,2,132,132,132,132,132,252,4,4,4,4, + 6,10,10,7,0,2,252,128,128,128,252,4,4,4,4,252, + 6,10,10,7,0,2,252,128,128,128,252,132,132,132,132,252, + 6,10,10,7,0,2,252,4,4,4,4,4,4,4,4,4, + 6,10,10,7,0,2,252,132,132,132,252,132,132,132,132,252, + 6,10,10,7,0,2,252,132,132,132,252,4,4,4,4,252, + 2,7,7,7,2,2,192,192,0,0,0,192,192,0,0,0, + 7,0,1,0,0,0,7,0,1,0,0,0,7,0,1,0, + 0,0,7,0,1,0,0,0,7,0,1,0,0,0,7,0, + 1,7,10,10,8,0,2,254,130,130,130,130,254,130,130,130, + 130,7,10,10,8,0,2,254,130,130,130,252,130,130,130,130, + 254,7,10,10,8,0,2,254,128,128,128,128,128,128,128,128, + 254,7,10,10,8,0,2,252,130,130,130,130,130,130,130,130, + 252,7,10,10,8,0,2,254,128,128,128,248,128,128,128,128, + 254,7,10,10,8,0,2,254,128,128,128,248,128,128,128,128, + 128,7,10,10,8,0,2,254,128,128,128,158,130,130,130,130, + 254,7,10,10,8,0,2,130,130,130,130,254,130,130,130,130, + 130,1,10,10,8,3,2,128,128,128,128,128,128,128,128,128, + 128,7,10,10,8,0,2,30,2,2,2,2,2,130,130,130, + 124,7,10,10,8,0,2,130,132,136,144,224,160,144,136,132, + 130,7,10,10,8,0,2,128,128,128,128,128,128,128,128,128, + 254,7,10,10,8,0,2,130,198,170,146,130,130,130,130,130, + 130,7,10,10,8,0,2,194,194,162,162,146,146,138,138,134, + 134,7,10,10,8,0,2,124,130,130,130,130,130,130,130,130, + 124,7,10,10,8,0,2,254,130,130,130,254,128,128,128,128, + 128,7,10,10,8,0,2,120,132,132,132,132,132,132,132,132, + 126,7,10,10,8,0,2,254,130,130,130,254,160,144,136,132, + 130,7,10,10,8,0,2,254,128,128,128,128,254,2,2,2, + 254,7,9,9,8,0,3,254,16,16,16,16,16,16,16,16, + 7,10,10,8,0,2,130,130,130,130,130,130,130,130,130,254, + 7,10,10,8,0,2,130,130,130,68,68,108,40,40,16,16, + 7,10,10,8,0,2,130,130,130,130,130,146,146,170,170,198, + 7,10,10,8,0,2,130,68,68,40,16,16,40,68,68,130, + 7,10,10,8,0,2,130,130,130,130,254,16,16,16,16,16, + 7,10,10,8,0,2,254,2,6,12,24,48,96,192,128,254, + 4,10,10,7,0,2,240,128,128,128,128,128,128,128,128,240, + 6,10,10,7,0,2,128,64,64,32,32,16,16,8,8,4, + 4,10,10,7,2,2,240,16,16,16,16,16,16,16,16,240, + 5,3,3,7,1,9,32,80,136,6,1,1,7,0,2,252, + 2,2,2,7,2,10,128,64,0,0,0,7,0,1,0,0, + 0,7,0,1,0,0,0,7,0,1,0,0,0,7,0,1, + 0,0,0,7,0,1,0,0,0,7,0,1,0,0,0,7, + 0,1,0,0,0,7,0,1,0,0,0,7,0,1,0,0, + 0,7,0,1,0,0,0,7,0,1,0,0,0,7,0,1, + 0,0,0,7,0,1,0,0,0,7,0,1,0,0,0,7, + 0,1,0,0,0,7,0,1,0,0,0,7,0,1,0,0, + 0,7,0,1,0,0,0,7,0,1,0,0,0,7,0,1, + 0,0,0,7,0,1,0,0,0,7,0,1,0,0,0,7, + 0,1,0,0,0,7,0,1,0,0,0,7,0,1,0,0, + 0,7,0,1,0,0,0,7,0,1,0,0,0,7,0,1, + 0,0,0,7,0,1,0,0,0,7,0,1,0,0,0,7, + 0,1}; +/* + Fontname: -FreeType-FreeDooM-Bold-R-Normal--34-340-72-72-P-170-ISO10646-1 + Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. + Capital A Height: 0, '1' Height: 24 + Calculated Max Values w=17 h=24 x= 7 y=13 dx=19 dy= 0 ascent=26 len=72 + Font Bounding box w=18 h=26 x= 0 y= 0 + Calculated Min Values x= 0 y= 0 dx= 0 dy= 0 + Pure Font ascent =24 descent= 0 + X Font ascent =24 descent= 0 + Max Font ascent =26 descent= 0 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_freedoomr25n[943] U8G_FONT_SECTION("u8g_font_freedoomr25n") = { + 0,18,26,0,0,24,3,112,3,144,32,127,0,26,0,24, + 0,0,0,0,11,0,0,255,255,255,255,255,255,255,255,255, + 255,17,16,48,19,1,6,1,192,0,1,192,0,1,192,0, + 1,192,0,1,192,0,1,192,0,1,192,0,255,255,128,255, + 255,128,1,192,0,1,192,0,1,192,0,1,192,0,1,192, + 0,1,192,0,1,192,0,7,8,8,11,3,2,62,62,62, + 62,62,240,240,240,9,2,4,11,1,13,255,128,255,128,5, + 5,5,11,5,2,248,248,248,248,248,255,17,24,72,19,1, + 2,255,255,128,255,255,128,192,3,128,192,3,128,192,3,128, + 192,3,128,192,3,128,192,3,128,192,3,128,192,3,128,192, + 3,128,192,3,128,192,3,128,192,3,128,192,3,128,192,3, + 128,192,3,128,192,3,128,192,3,128,192,3,128,192,3,128, + 255,255,128,255,255,128,255,255,128,6,24,24,19,7,2,252, + 252,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28, + 28,28,28,28,28,28,28,17,24,72,19,1,2,255,255,128, + 255,255,128,0,3,128,0,3,128,0,3,128,0,3,128,0, + 3,128,0,3,128,0,3,128,0,3,128,0,3,128,255,255, + 128,255,255,128,192,0,0,192,0,0,192,0,0,192,0,0, + 192,0,0,192,0,0,192,0,0,192,0,0,255,255,128,255, + 255,128,255,255,128,17,24,72,19,1,2,255,255,128,255,255, + 128,0,3,128,0,3,128,0,3,128,0,3,128,0,3,128, + 0,3,128,0,3,128,0,3,128,0,3,128,31,255,128,31, + 255,128,0,3,128,0,3,128,0,3,128,0,3,128,0,3, + 128,0,3,128,0,3,128,0,3,128,255,255,128,255,255,128, + 255,255,128,17,24,72,19,1,2,192,3,128,192,3,128,192, + 3,128,192,3,128,192,3,128,192,3,128,192,3,128,192,3, + 128,192,3,128,192,3,128,192,3,128,255,255,128,255,255,128, + 0,3,128,0,3,128,0,3,128,0,3,128,0,3,128,0, + 3,128,0,3,128,0,3,128,0,3,128,0,3,128,0,3, + 128,17,24,72,19,1,2,255,255,128,255,255,128,192,0,0, + 192,0,0,192,0,0,192,0,0,192,0,0,192,0,0,192, + 0,0,192,0,0,192,0,0,255,255,128,255,255,128,0,3, + 128,0,3,128,0,3,128,0,3,128,0,3,128,0,3,128, + 0,3,128,0,3,128,255,255,128,255,255,128,255,255,128,17, + 24,72,19,1,2,255,255,128,255,255,128,192,0,0,192,0, + 0,192,0,0,192,0,0,192,0,0,192,0,0,192,0,0, + 192,0,0,192,0,0,255,255,128,255,255,128,192,3,128,192, + 3,128,192,3,128,192,3,128,192,3,128,192,3,128,192,3, + 128,192,3,128,255,255,128,255,255,128,255,255,128,16,24,48, + 19,2,2,255,255,255,255,0,7,0,7,0,7,0,7,0, + 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, + 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, + 7,0,7,17,24,72,19,1,2,255,255,128,255,255,128,192, + 3,128,192,3,128,192,3,128,192,3,128,192,3,128,192,3, + 128,192,3,128,192,3,128,192,3,128,255,255,128,255,255,128, + 192,3,128,192,3,128,192,3,128,192,3,128,192,3,128,192, + 3,128,192,3,128,192,3,128,255,255,128,255,255,128,255,255, + 128,17,24,72,19,1,2,255,255,128,255,255,128,192,3,128, + 192,3,128,192,3,128,192,3,128,192,3,128,192,3,128,192, + 3,128,192,3,128,192,3,128,255,255,128,255,255,128,0,3, + 128,0,3,128,0,3,128,0,3,128,0,3,128,0,3,128, + 0,3,128,0,3,128,255,255,128,255,255,128,255,255,128,5, + 16,16,11,5,2,248,248,248,248,248,0,0,0,0,0,0, + 248,248,248,248,248,7,16,16,11,3,2,62,62,62,62,62, + 0,0,0,62,62,62,62,62,240,240,240,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,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,255, + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255}; +/* + Fontname: -FreeType-FreeUniversal-Bold-R-Normal--16-160-72-72-P-81-ISO10646-1 + Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. + Capital A Height: 11, '1' Height: 11 + Calculated Max Values w=16 h=17 x= 4 y=10 dx=17 dy= 0 ascent=17 len=34 + Font Bounding box w=24 h=21 x=-1 y=-4 + Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 + Pure Font ascent =11 descent=-3 + X Font ascent =11 descent=-3 + Max Font ascent =17 descent=-4 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_fub11[3948] U8G_FONT_SECTION("u8g_font_fub11") = { + 0,24,21,255,252,11,2,82,5,55,32,255,253,17,252,11, + 253,0,0,0,5,0,0,2,11,11,6,2,0,192,192,192, + 192,192,192,192,192,0,0,192,6,5,5,8,1,6,204,204, + 204,204,204,10,11,22,11,1,0,9,128,25,128,25,0,127, + 192,51,0,50,0,54,0,255,0,100,0,108,0,76,0,8, + 14,14,10,1,254,8,62,126,203,200,248,126,15,11,203,235, + 126,8,8,15,11,22,17,1,0,60,32,238,96,198,64,198, + 192,231,128,125,124,3,238,2,198,6,198,4,238,8,124,11, + 11,22,13,1,0,62,0,119,0,99,0,119,0,60,0,124, + 192,238,192,199,192,195,192,243,192,63,224,2,5,5,7,2, + 6,192,192,192,192,192,3,14,14,6,1,253,96,96,96,224, + 192,192,192,192,192,192,224,96,96,96,3,14,14,7,2,253, + 192,192,192,96,96,96,96,96,96,96,96,224,192,192,6,5, + 5,10,2,5,120,48,252,48,120,9,9,18,16,3,0,8, + 0,8,0,8,0,8,0,255,128,8,0,8,0,8,0,8, + 0,3,4,4,5,1,254,96,96,192,192,4,2,2,6,1, + 3,240,240,2,2,2,5,2,0,192,192,5,12,12,7,1, + 255,24,24,16,48,48,32,32,96,96,64,192,192,8,11,11, + 9,1,0,60,102,195,195,195,195,195,195,195,102,60,4,11, + 11,9,2,0,48,240,240,48,48,48,48,48,48,48,48,8, + 11,11,9,1,0,62,119,99,3,7,6,30,60,112,224,255, + 8,11,11,9,1,0,124,238,198,6,60,6,3,195,199,126, + 60,8,11,11,9,1,0,14,30,30,54,102,102,198,255,255, + 6,6,8,11,11,9,1,0,254,192,192,192,254,231,3,3, + 199,254,124,8,11,11,9,1,0,60,118,67,192,222,231,195, + 195,195,102,60,8,11,11,9,1,0,255,3,7,6,14,12, + 28,24,56,56,112,8,11,11,9,1,0,126,231,195,231,60, + 102,195,195,195,231,60,8,11,11,9,1,0,60,102,195,195, + 231,127,3,3,198,110,60,2,8,8,5,2,0,192,192,0, + 0,0,0,192,192,3,10,10,5,1,254,96,96,0,0,0, + 0,96,96,192,192,10,8,16,16,3,1,0,64,3,128,12, + 0,112,0,128,0,112,0,14,0,1,192,10,4,8,16,3, + 3,255,192,0,0,0,0,255,192,10,8,16,16,3,1,128, + 0,96,0,28,0,3,128,0,192,7,0,24,0,224,0,7, + 11,11,9,1,0,120,238,134,6,12,24,48,48,48,0,48, + 15,14,28,17,1,253,7,224,30,120,48,28,103,236,238,230, + 204,102,204,102,204,102,204,102,239,252,103,184,48,0,28,32, + 7,224,11,11,22,11,0,0,14,0,14,0,15,0,27,0, + 27,128,57,128,49,128,63,192,127,192,96,224,224,96,9,11, + 22,11,1,0,254,0,199,0,195,0,195,0,199,0,252,0, + 195,0,193,128,193,128,195,128,254,0,10,11,22,12,1,0, + 31,0,115,128,97,192,192,0,192,0,192,0,192,0,193,192, + 97,192,115,128,31,0,9,11,22,11,1,0,252,0,207,0, + 195,0,193,128,193,128,193,128,193,128,193,128,195,0,207,0, + 252,0,8,11,11,10,1,0,255,192,192,192,192,255,192,192, + 192,192,255,8,11,11,9,1,0,255,192,192,192,192,254,192, + 192,192,192,192,10,11,22,12,1,0,31,0,59,192,96,192, + 224,0,192,0,195,192,192,192,192,192,96,192,57,192,31,192, + 9,11,22,11,1,0,193,128,193,128,193,128,193,128,193,128, + 255,128,193,128,193,128,193,128,193,128,193,128,2,11,11,4, + 1,0,192,192,192,192,192,192,192,192,192,192,192,8,11,11, + 10,1,0,3,3,3,3,3,3,3,195,195,254,124,9,11, + 22,11,1,0,195,0,199,0,206,0,220,0,248,0,248,0, + 220,0,206,0,206,0,199,0,195,128,8,11,11,9,1,0, + 192,192,192,192,192,192,192,192,192,255,255,13,11,22,15,1, + 0,240,120,240,120,248,248,216,216,216,216,221,216,205,152,205, + 152,207,152,199,24,199,24,10,11,22,12,1,0,240,192,240, + 192,248,192,216,192,220,192,204,192,206,192,198,192,199,192,195, + 192,195,192,11,11,22,13,1,0,31,0,123,192,96,192,192, + 96,192,96,192,96,192,96,192,96,96,192,123,192,31,0,8, + 11,11,10,1,0,252,199,195,195,199,254,192,192,192,192,192, + 12,11,22,14,1,0,31,0,123,128,96,192,192,96,192,96, + 192,96,192,96,192,96,96,192,123,192,31,240,9,11,22,11, + 1,0,254,0,199,128,193,128,193,128,195,0,254,0,195,0, + 193,128,193,128,193,128,193,128,9,11,22,11,1,0,62,0, + 119,0,193,128,224,0,248,0,127,0,15,128,1,128,193,128, + 119,0,62,0,9,11,22,11,1,0,255,128,12,0,12,0, + 12,0,12,0,12,0,12,0,12,0,12,0,12,0,12,0, + 10,11,22,12,1,0,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,225,192,115,128,62,0,11,11,22,12, + 0,0,224,96,96,96,112,224,48,192,49,192,57,128,25,128, + 31,128,31,0,15,0,14,0,16,11,22,16,0,0,225,135, + 99,198,99,198,99,198,119,206,54,108,54,108,54,108,60,60, + 28,56,28,56,11,11,22,11,0,0,112,192,49,192,59,128, + 31,0,14,0,14,0,31,0,27,0,51,128,113,192,224,224, + 10,11,22,10,0,0,225,192,113,128,51,128,59,0,31,0, + 30,0,12,0,12,0,12,0,12,0,12,0,8,11,11,10, + 1,0,255,7,6,14,28,24,56,112,96,192,255,4,14,14, + 6,1,253,240,192,192,192,192,192,192,192,192,192,192,192,192, + 240,5,12,12,7,1,255,128,192,192,64,96,96,32,48,48, + 16,16,24,4,14,14,7,1,253,240,48,48,48,48,48,48, + 48,48,48,48,48,48,240,8,10,10,16,4,0,16,24,24, + 36,36,36,66,66,129,129,8,1,1,8,0,254,255,3,3, + 3,4,0,9,192,64,32,7,8,8,9,1,0,60,110,6, + 126,230,198,238,118,8,11,11,10,1,0,192,192,192,220,246, + 199,195,195,195,230,220,7,8,8,9,1,0,60,110,198,192, + 192,198,238,60,8,11,11,10,1,0,3,3,3,59,111,227, + 195,195,195,103,59,7,8,8,9,1,0,60,110,198,254,192, + 198,110,60,5,11,11,7,1,0,56,48,48,248,48,48,48, + 48,48,48,48,8,11,11,10,1,253,59,111,227,195,195,195, + 103,59,3,103,60,7,11,11,9,1,0,192,192,192,220,238, + 198,198,198,198,198,198,2,11,11,4,1,0,192,192,0,192, + 192,192,192,192,192,192,192,3,14,14,5,1,253,96,96,0, + 96,96,96,96,96,96,96,96,96,224,224,7,11,11,9,1, + 0,192,192,192,206,220,216,240,216,220,204,198,2,11,11,4, + 1,0,192,192,192,192,192,192,192,192,192,192,192,12,8,16, + 14,1,0,220,224,239,112,198,48,198,48,198,48,198,48,198, + 48,198,48,7,8,8,9,1,0,220,238,198,198,198,198,198, + 198,8,8,8,10,1,0,60,102,195,195,195,195,102,60,8, + 11,11,10,1,253,220,230,195,195,195,199,246,220,192,192,192, + 8,11,11,10,1,253,59,103,195,195,195,195,111,59,3,3, + 3,5,8,8,7,1,0,216,240,192,192,192,192,192,192,7, + 8,8,9,1,0,124,238,192,248,30,198,238,124,6,10,10, + 8,1,0,48,48,252,48,48,48,48,48,56,28,7,8,8, + 9,1,0,198,198,198,198,198,198,238,118,8,8,8,9,0, + 0,227,99,103,118,54,60,28,28,13,8,16,14,0,0,231, + 24,103,152,103,152,111,176,61,240,60,240,60,240,56,224,8, + 8,8,9,0,0,99,118,62,28,60,62,103,227,8,11,11, + 9,0,253,227,99,119,54,54,62,28,28,24,24,56,6,8, + 8,8,1,0,252,12,24,56,112,96,192,252,6,15,15,8, + 1,252,28,56,48,48,48,48,112,192,96,48,48,48,48,48, + 28,1,16,16,5,2,252,128,128,128,128,128,128,128,128,128, + 128,128,128,128,128,128,128,6,15,15,8,1,252,224,112,48, + 48,48,48,24,12,24,48,48,48,48,48,240,8,2,2,9, + 0,3,121,223,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,255,255, + 255,255,255,255,255,0,0,0,5,0,0,2,11,11,6,2, + 253,192,0,0,192,192,192,192,192,192,192,192,7,12,12,9, + 1,254,4,4,60,110,206,208,208,214,110,60,32,64,8,11, + 11,10,1,0,62,119,96,96,252,96,96,96,96,96,255,9, + 8,16,10,1,2,128,128,93,0,34,0,65,0,65,0,34, + 0,93,0,128,128,9,11,22,11,1,0,195,128,99,0,103, + 0,247,128,62,0,60,0,255,128,24,0,24,0,24,0,24, + 0,1,14,14,5,2,253,128,128,128,128,128,128,0,0,128, + 128,128,128,128,128,6,14,14,8,1,253,120,236,192,224,120, + 124,204,204,248,120,28,12,156,248,5,1,1,5,0,10,216, + 12,11,22,14,1,0,31,128,57,192,111,96,217,176,152,16, + 152,16,153,144,143,16,64,32,48,192,31,128,5,8,8,7, + 1,3,112,216,120,216,216,120,0,248,8,6,6,10,1,1, + 103,102,238,206,102,103,9,4,8,10,0,3,255,128,0,128, + 0,128,0,128,255,12,11,22,14,1,0,31,128,57,192,111, + 96,201,176,136,144,143,16,137,144,136,144,72,160,48,192,31, + 128,5,1,1,5,0,10,248,4,4,4,6,1,7,96,208, + 144,240,9,10,20,16,3,0,8,0,8,0,8,0,255,128, + 8,0,8,0,8,0,0,0,0,0,255,128,5,6,6,7, + 1,5,112,216,24,48,192,248,5,7,7,7,1,4,112,216, + 24,112,24,216,112,3,3,3,4,1,9,96,192,128,255,7, + 14,14,9,1,253,126,244,244,244,244,116,20,20,20,20,20, + 20,20,20,2,2,2,4,1,4,192,192,4,4,4,3,0, + 252,64,48,176,224,3,6,6,5,1,5,96,224,96,96,96, + 96,6,8,8,8,1,3,120,252,204,204,204,120,0,252,8, + 6,6,10,1,1,204,102,103,103,102,204,12,11,22,13,1, + 0,224,128,97,128,99,0,99,0,102,0,108,224,12,224,25, + 224,25,96,51,240,96,96,11,11,22,13,1,0,97,0,227, + 0,98,0,102,0,100,0,109,224,27,96,24,96,49,192,35, + 0,99,224,12,11,22,13,1,0,120,192,216,128,113,128,217, + 0,115,0,6,96,4,224,13,224,25,96,25,240,48,96,7, + 11,11,9,1,253,24,0,24,24,56,112,224,192,194,254,60, + 11,16,32,11,0,0,24,0,12,0,4,0,0,0,0,0, + 14,0,14,0,15,0,27,0,27,128,57,128,49,128,63,192, + 127,192,96,224,224,96,11,16,32,11,0,0,3,0,2,0, + 4,0,0,0,0,0,14,0,14,0,15,0,27,0,27,128, + 57,128,49,128,63,192,127,192,96,224,224,96,11,16,32,11, + 0,0,6,0,14,0,25,0,0,0,0,0,14,0,14,0, + 15,0,27,0,27,128,57,128,49,128,63,192,127,192,96,224, + 224,96,11,15,30,11,0,0,13,0,23,0,0,0,0,0, + 14,0,14,0,15,0,27,0,27,128,57,128,49,128,63,192, + 127,192,96,224,224,96,11,15,30,11,0,0,27,0,0,0, + 0,0,0,0,14,0,14,0,15,0,27,0,27,0,59,128, + 49,128,63,192,127,192,96,224,224,96,10,17,34,12,1,0, + 12,0,18,0,18,0,30,0,0,0,0,0,12,0,30,0, + 30,0,63,0,51,0,51,0,99,128,127,128,255,192,192,192, + 192,192,15,11,22,16,0,0,3,254,7,128,7,128,13,128, + 29,128,25,254,57,128,63,128,97,128,97,128,193,254,10,15, + 30,12,1,252,31,0,119,128,97,192,192,0,192,0,192,0, + 192,0,193,192,97,192,115,128,62,0,8,0,14,0,2,0, + 28,0,8,16,16,10,1,0,96,48,24,0,0,255,192,192, + 192,192,255,192,192,192,192,255,8,16,16,10,1,0,12,8, + 16,0,0,255,192,192,192,192,255,192,192,192,192,255,8,16, + 16,10,1,0,24,60,36,0,0,255,192,192,192,192,255,192, + 192,192,192,255,8,15,15,10,1,0,102,0,0,0,255,192, + 192,192,192,255,192,192,192,192,255,4,16,16,4,255,0,192, + 96,48,0,0,48,48,48,48,48,48,48,48,48,48,48,4, + 16,16,4,1,0,112,96,192,0,0,192,192,192,192,192,192, + 192,192,192,192,192,4,16,16,4,0,0,96,240,144,0,0, + 96,96,96,96,96,96,96,96,96,96,96,5,15,15,5,0, + 0,216,0,0,0,48,48,48,48,48,48,48,48,48,48,48, + 11,11,22,12,0,0,127,0,99,128,96,192,96,224,96,96, + 252,96,96,96,96,224,96,192,99,128,127,0,10,15,30,12, + 1,0,25,0,22,0,0,0,0,0,240,192,240,192,248,192, + 216,192,220,192,204,192,206,192,198,192,199,192,195,192,195,192, + 11,16,32,13,1,0,24,0,8,0,12,0,0,0,0,0, + 31,0,123,192,96,192,192,96,192,96,192,96,192,96,192,96, + 96,192,123,192,31,0,11,16,32,13,1,0,3,0,2,0, + 4,0,0,0,0,0,31,0,123,192,96,192,192,96,192,96, + 192,96,192,96,192,96,96,192,123,192,31,0,11,16,32,13, + 1,0,14,0,27,0,17,0,0,0,0,0,31,0,123,192, + 96,192,192,96,192,96,192,96,192,96,192,96,96,192,123,192, + 31,0,11,15,30,13,1,0,31,0,0,0,0,0,0,0, + 31,0,123,192,96,192,192,96,192,96,192,96,192,96,224,224, + 96,192,127,192,31,0,11,15,30,13,1,0,27,0,0,0, + 0,0,0,0,31,0,123,192,96,192,192,96,192,96,192,96, + 192,96,192,96,96,192,123,192,31,0,8,8,8,16,4,0, + 129,195,102,24,24,36,66,129,11,11,22,13,1,0,31,160, + 59,192,96,192,193,96,194,96,196,96,200,96,208,96,224,192, + 123,128,191,0,10,16,32,12,1,0,48,0,24,0,8,0, + 0,0,0,0,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,225,192,127,128,62,0,10,16,32,12,1,0, + 3,0,6,0,4,0,0,0,0,0,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,225,192,127,128,62,0, + 10,16,32,12,1,0,28,0,30,0,51,0,0,0,0,0, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 225,192,127,128,62,0,10,15,30,12,1,0,51,0,0,0, + 0,0,0,0,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,225,192,115,128,62,0,10,16,32,10,0,0, + 6,0,6,0,4,0,0,0,0,0,225,192,113,128,51,128, + 59,0,31,0,30,0,12,0,12,0,12,0,12,0,12,0, + 8,11,11,10,1,0,192,192,254,199,195,195,199,254,192,192, + 192,8,11,11,10,1,0,124,238,198,206,220,216,206,199,195, + 219,222,7,12,12,9,1,0,96,48,16,0,60,110,6,126, + 230,198,238,118,7,12,12,9,1,0,12,24,16,0,60,110, + 6,126,230,198,238,118,7,12,12,9,1,0,56,44,68,0, + 60,110,6,126,230,198,238,118,7,11,11,9,1,0,60,0, + 0,60,110,6,126,230,198,238,118,7,11,11,9,1,0,108, + 0,0,60,230,6,126,230,198,238,118,7,13,13,9,1,0, + 24,36,36,60,0,60,102,6,126,230,198,238,126,13,8,16, + 15,1,0,60,224,103,176,7,24,127,248,231,0,199,24,237, + 184,120,240,7,12,12,9,1,252,60,110,198,192,192,198,110, + 60,16,28,4,56,7,13,13,9,1,0,96,32,48,16,0, + 60,110,198,254,192,198,110,60,7,13,13,9,1,0,12,12, + 24,16,0,60,110,198,254,192,198,110,60,7,13,13,9,1, + 0,24,56,44,68,0,60,110,198,254,192,198,110,60,7,12, + 12,9,1,0,108,0,0,0,60,110,198,254,192,206,110,60, + 3,12,12,4,0,0,192,96,32,0,96,96,96,96,96,96, + 96,96,3,12,12,4,1,0,96,192,128,0,192,192,192,192, + 192,192,192,192,5,12,12,4,0,0,96,208,136,0,96,96, + 96,96,96,96,96,96,5,11,11,5,0,0,216,0,0,48, + 48,48,48,48,48,48,48,8,11,11,10,1,0,51,28,102, + 62,103,195,195,195,195,103,60,7,11,11,9,1,0,60,0, + 0,220,238,198,198,198,198,198,198,8,13,13,10,1,0,96, + 48,16,8,0,60,102,195,195,195,195,102,60,8,13,13,10, + 1,0,6,12,8,16,0,60,102,195,195,195,195,102,60,8, + 13,13,10,1,0,24,28,36,34,0,60,102,195,195,195,195, + 102,60,8,11,11,10,1,0,60,0,0,60,102,195,195,195, + 195,102,60,8,12,12,10,1,0,102,0,0,0,60,102,195, + 195,195,195,102,60,10,6,12,16,3,2,12,0,0,0,255, + 192,0,0,0,0,12,0,8,10,10,10,1,255,1,62,102, + 207,203,211,227,118,252,128,7,12,12,9,1,0,96,48,16, + 0,198,198,198,198,198,198,238,118,7,12,12,9,1,0,12, + 24,16,0,198,198,198,198,198,198,238,118,7,12,12,9,1, + 0,56,40,68,0,198,198,198,198,198,198,238,118,7,11,11, + 9,1,0,108,0,0,198,198,198,198,198,198,238,118,9,16, + 32,9,0,253,7,0,6,0,12,0,8,0,0,0,99,128, + 99,0,115,0,54,0,54,0,30,0,28,0,28,0,28,0, + 248,0,112,0,8,14,14,10,1,253,192,192,192,220,230,195, + 195,195,199,230,220,192,192,192,8,14,14,9,1,253,108,0, + 0,199,198,238,108,108,60,56,56,56,48,48}; +/* + Fontname: -FreeType-FreeUniversal-Bold-R-Normal--16-160-72-72-P-81-ISO10646-1 + Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. + Capital A Height: 0, '1' Height: 11 + Calculated Max Values w= 9 h=12 x= 3 y= 5 dx=16 dy= 0 ascent=11 len=18 + Font Bounding box w=24 h=21 x=-1 y=-4 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent =11 descent= 0 + X Font ascent =11 descent= 0 + Max Font ascent =11 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_fub11n[280] U8G_FONT_SECTION("u8g_font_fub11n") = { + 0,24,21,255,252,11,0,0,0,0,42,58,0,11,254,11, + 0,6,5,5,10,2,5,120,48,252,48,120,9,9,18,16, + 3,0,8,0,8,0,8,0,8,0,255,128,8,0,8,0, + 8,0,8,0,3,4,4,5,1,254,96,96,192,192,4,2, + 2,6,1,3,240,240,2,2,2,5,2,0,192,192,5,12, + 12,7,1,255,24,24,16,48,48,32,32,96,96,64,192,192, + 8,11,11,9,1,0,60,102,195,195,195,195,195,195,195,102, + 60,4,11,11,9,2,0,48,240,240,48,48,48,48,48,48, + 48,48,8,11,11,9,1,0,62,119,99,3,7,6,30,60, + 112,224,255,8,11,11,9,1,0,124,238,198,6,60,6,3, + 195,199,126,60,8,11,11,9,1,0,14,30,30,54,102,102, + 198,255,255,6,6,8,11,11,9,1,0,254,192,192,192,254, + 231,3,3,199,254,124,8,11,11,9,1,0,60,118,67,192, + 222,231,195,195,195,102,60,8,11,11,9,1,0,255,3,7, + 6,14,12,28,24,56,56,112,8,11,11,9,1,0,126,231, + 195,231,60,102,195,195,195,231,60,8,11,11,9,1,0,60, + 102,195,195,231,127,3,3,198,110,60,2,8,8,5,2,0, + 192,192,0,0,0,0,192,192}; +/* + Fontname: -FreeType-FreeUniversal-Bold-R-Normal--16-160-72-72-P-81-ISO10646-1 + Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. + Capital A Height: 11, '1' Height: 11 + Calculated Max Values w=16 h=16 x= 4 y= 9 dx=17 dy= 0 ascent=12 len=28 + Font Bounding box w=24 h=21 x=-1 y=-4 + Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 + Pure Font ascent =11 descent=-3 + X Font ascent =11 descent=-3 + Max Font ascent =12 descent=-4 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_fub11r[1829] U8G_FONT_SECTION("u8g_font_fub11r") = { + 0,24,21,255,252,11,2,82,5,55,32,127,253,12,252,11, + 253,0,0,0,5,0,0,2,11,11,6,2,0,192,192,192, + 192,192,192,192,192,0,0,192,6,5,5,8,1,6,204,204, + 204,204,204,10,11,22,11,1,0,9,128,25,128,25,0,127, + 192,51,0,50,0,54,0,255,0,100,0,108,0,76,0,8, + 14,14,10,1,254,8,62,126,203,200,248,126,15,11,203,235, + 126,8,8,15,11,22,17,1,0,60,32,238,96,198,64,198, + 192,231,128,125,124,3,238,2,198,6,198,4,238,8,124,11, + 11,22,13,1,0,62,0,119,0,99,0,119,0,60,0,124, + 192,238,192,199,192,195,192,243,192,63,224,2,5,5,7,2, + 6,192,192,192,192,192,3,14,14,6,1,253,96,96,96,224, + 192,192,192,192,192,192,224,96,96,96,3,14,14,7,2,253, + 192,192,192,96,96,96,96,96,96,96,96,224,192,192,6,5, + 5,10,2,5,120,48,252,48,120,9,9,18,16,3,0,8, + 0,8,0,8,0,8,0,255,128,8,0,8,0,8,0,8, + 0,3,4,4,5,1,254,96,96,192,192,4,2,2,6,1, + 3,240,240,2,2,2,5,2,0,192,192,5,12,12,7,1, + 255,24,24,16,48,48,32,32,96,96,64,192,192,8,11,11, + 9,1,0,60,102,195,195,195,195,195,195,195,102,60,4,11, + 11,9,2,0,48,240,240,48,48,48,48,48,48,48,48,8, + 11,11,9,1,0,62,119,99,3,7,6,30,60,112,224,255, + 8,11,11,9,1,0,124,238,198,6,60,6,3,195,199,126, + 60,8,11,11,9,1,0,14,30,30,54,102,102,198,255,255, + 6,6,8,11,11,9,1,0,254,192,192,192,254,231,3,3, + 199,254,124,8,11,11,9,1,0,60,118,67,192,222,231,195, + 195,195,102,60,8,11,11,9,1,0,255,3,7,6,14,12, + 28,24,56,56,112,8,11,11,9,1,0,126,231,195,231,60, + 102,195,195,195,231,60,8,11,11,9,1,0,60,102,195,195, + 231,127,3,3,198,110,60,2,8,8,5,2,0,192,192,0, + 0,0,0,192,192,3,10,10,5,1,254,96,96,0,0,0, + 0,96,96,192,192,10,8,16,16,3,1,0,64,3,128,12, + 0,112,0,128,0,112,0,14,0,1,192,10,4,8,16,3, + 3,255,192,0,0,0,0,255,192,10,8,16,16,3,1,128, + 0,96,0,28,0,3,128,0,192,7,0,24,0,224,0,7, + 11,11,9,1,0,120,238,134,6,12,24,48,48,48,0,48, + 15,14,28,17,1,253,7,224,30,120,48,28,103,236,238,230, + 204,102,204,102,204,102,204,102,239,252,103,184,48,0,28,32, + 7,224,11,11,22,11,0,0,14,0,14,0,15,0,27,0, + 27,128,57,128,49,128,63,192,127,192,96,224,224,96,9,11, + 22,11,1,0,254,0,199,0,195,0,195,0,199,0,252,0, + 195,0,193,128,193,128,195,128,254,0,10,11,22,12,1,0, + 31,0,115,128,97,192,192,0,192,0,192,0,192,0,193,192, + 97,192,115,128,31,0,9,11,22,11,1,0,252,0,207,0, + 195,0,193,128,193,128,193,128,193,128,193,128,195,0,207,0, + 252,0,8,11,11,10,1,0,255,192,192,192,192,255,192,192, + 192,192,255,8,11,11,9,1,0,255,192,192,192,192,254,192, + 192,192,192,192,10,11,22,12,1,0,31,0,59,192,96,192, + 224,0,192,0,195,192,192,192,192,192,96,192,57,192,31,192, + 9,11,22,11,1,0,193,128,193,128,193,128,193,128,193,128, + 255,128,193,128,193,128,193,128,193,128,193,128,2,11,11,4, + 1,0,192,192,192,192,192,192,192,192,192,192,192,8,11,11, + 10,1,0,3,3,3,3,3,3,3,195,195,254,124,9,11, + 22,11,1,0,195,0,199,0,206,0,220,0,248,0,248,0, + 220,0,206,0,206,0,199,0,195,128,8,11,11,9,1,0, + 192,192,192,192,192,192,192,192,192,255,255,13,11,22,15,1, + 0,240,120,240,120,248,248,216,216,216,216,221,216,205,152,205, + 152,207,152,199,24,199,24,10,11,22,12,1,0,240,192,240, + 192,248,192,216,192,220,192,204,192,206,192,198,192,199,192,195, + 192,195,192,11,11,22,13,1,0,31,0,123,192,96,192,192, + 96,192,96,192,96,192,96,192,96,96,192,123,192,31,0,8, + 11,11,10,1,0,252,199,195,195,199,254,192,192,192,192,192, + 12,11,22,14,1,0,31,0,123,128,96,192,192,96,192,96, + 192,96,192,96,192,96,96,192,123,192,31,240,9,11,22,11, + 1,0,254,0,199,128,193,128,193,128,195,0,254,0,195,0, + 193,128,193,128,193,128,193,128,9,11,22,11,1,0,62,0, + 119,0,193,128,224,0,248,0,127,0,15,128,1,128,193,128, + 119,0,62,0,9,11,22,11,1,0,255,128,12,0,12,0, + 12,0,12,0,12,0,12,0,12,0,12,0,12,0,12,0, + 10,11,22,12,1,0,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,225,192,115,128,62,0,11,11,22,12, + 0,0,224,96,96,96,112,224,48,192,49,192,57,128,25,128, + 31,128,31,0,15,0,14,0,16,11,22,16,0,0,225,135, + 99,198,99,198,99,198,119,206,54,108,54,108,54,108,60,60, + 28,56,28,56,11,11,22,11,0,0,112,192,49,192,59,128, + 31,0,14,0,14,0,31,0,27,0,51,128,113,192,224,224, + 10,11,22,10,0,0,225,192,113,128,51,128,59,0,31,0, + 30,0,12,0,12,0,12,0,12,0,12,0,8,11,11,10, + 1,0,255,7,6,14,28,24,56,112,96,192,255,4,14,14, + 6,1,253,240,192,192,192,192,192,192,192,192,192,192,192,192, + 240,5,12,12,7,1,255,128,192,192,64,96,96,32,48,48, + 16,16,24,4,14,14,7,1,253,240,48,48,48,48,48,48, + 48,48,48,48,48,48,240,8,10,10,16,4,0,16,24,24, + 36,36,36,66,66,129,129,8,1,1,8,0,254,255,3,3, + 3,4,0,9,192,64,32,7,8,8,9,1,0,60,110,6, + 126,230,198,238,118,8,11,11,10,1,0,192,192,192,220,246, + 199,195,195,195,230,220,7,8,8,9,1,0,60,110,198,192, + 192,198,238,60,8,11,11,10,1,0,3,3,3,59,111,227, + 195,195,195,103,59,7,8,8,9,1,0,60,110,198,254,192, + 198,110,60,5,11,11,7,1,0,56,48,48,248,48,48,48, + 48,48,48,48,8,11,11,10,1,253,59,111,227,195,195,195, + 103,59,3,103,60,7,11,11,9,1,0,192,192,192,220,238, + 198,198,198,198,198,198,2,11,11,4,1,0,192,192,0,192, + 192,192,192,192,192,192,192,3,14,14,5,1,253,96,96,0, + 96,96,96,96,96,96,96,96,96,224,224,7,11,11,9,1, + 0,192,192,192,206,220,216,240,216,220,204,198,2,11,11,4, + 1,0,192,192,192,192,192,192,192,192,192,192,192,12,8,16, + 14,1,0,220,224,239,112,198,48,198,48,198,48,198,48,198, + 48,198,48,7,8,8,9,1,0,220,238,198,198,198,198,198, + 198,8,8,8,10,1,0,60,102,195,195,195,195,102,60,8, + 11,11,10,1,253,220,230,195,195,195,199,246,220,192,192,192, + 8,11,11,10,1,253,59,103,195,195,195,195,111,59,3,3, + 3,5,8,8,7,1,0,216,240,192,192,192,192,192,192,7, + 8,8,9,1,0,124,238,192,248,30,198,238,124,6,10,10, + 8,1,0,48,48,252,48,48,48,48,48,56,28,7,8,8, + 9,1,0,198,198,198,198,198,198,238,118,8,8,8,9,0, + 0,227,99,103,118,54,60,28,28,13,8,16,14,0,0,231, + 24,103,152,103,152,111,176,61,240,60,240,60,240,56,224,8, + 8,8,9,0,0,99,118,62,28,60,62,103,227,8,11,11, + 9,0,253,227,99,119,54,54,62,28,28,24,24,56,6,8, + 8,8,1,0,252,12,24,56,112,96,192,252,6,15,15,8, + 1,252,28,56,48,48,48,48,112,192,96,48,48,48,48,48, + 28,1,16,16,5,2,252,128,128,128,128,128,128,128,128,128, + 128,128,128,128,128,128,128,6,15,15,8,1,252,224,112,48, + 48,48,48,24,12,24,48,48,48,48,48,240,8,2,2,9, + 0,3,121,223,255}; +/* + Fontname: -FreeType-FreeUniversal-Bold-R-Normal--20-200-72-72-P-101-ISO10646-1 + Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. + Capital A Height: 14, '1' Height: 14 + Calculated Max Values w=20 h=21 x= 5 y=12 dx=21 dy= 0 ascent=21 len=54 + Font Bounding box w=31 h=26 x=-2 y=-5 + Calculated Min Values x=-1 y=-5 dx= 0 dy= 0 + Pure Font ascent =14 descent=-4 + X Font ascent =14 descent=-4 + Max Font ascent =21 descent=-5 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_fub14[5788] U8G_FONT_SECTION("u8g_font_fub14") = { + 0,31,26,254,251,14,3,116,7,95,32,255,252,21,251,14, + 252,0,0,0,6,0,0,3,14,14,8,3,0,224,224,224, + 224,224,224,224,224,224,224,0,0,224,224,8,6,6,10,1, + 8,231,103,103,103,103,103,12,14,28,14,1,0,6,96,6, + 96,12,96,63,240,63,240,24,192,25,128,25,128,255,224,255, + 224,51,0,51,0,99,0,102,0,10,17,34,12,1,254,4, + 0,31,0,127,128,119,128,229,192,228,0,252,0,126,0,31, + 128,7,192,5,192,229,192,229,192,127,128,63,0,4,0,4, + 0,18,14,42,20,1,0,60,4,0,126,12,0,195,24,0, + 195,16,0,195,48,0,231,96,0,126,103,0,24,205,128,0, + 152,192,1,152,192,3,24,192,3,24,192,6,15,128,12,7, + 0,14,14,28,16,1,0,31,0,127,128,113,192,113,192,115, + 128,63,0,30,0,126,56,247,48,227,176,225,240,224,224,127, + 240,31,188,3,6,6,8,3,8,224,192,192,192,192,192,4, + 17,17,8,2,253,48,112,112,96,224,224,224,224,224,224,224, + 224,224,96,112,112,48,4,17,17,8,2,253,192,192,224,224, + 96,96,112,112,112,112,112,96,96,224,224,192,192,8,7,7, + 12,2,7,102,60,24,255,24,60,102,12,12,24,20,4,0, + 2,0,2,0,2,0,2,0,2,0,255,240,255,240,2,0, + 2,0,2,0,2,0,2,0,4,5,5,6,1,254,112,112, + 96,224,192,5,3,3,7,1,4,248,248,248,3,3,3,6, + 2,0,224,224,224,6,15,15,9,1,255,12,12,12,12,24, + 24,24,48,48,48,96,96,96,96,192,10,14,28,11,1,0, + 30,0,127,0,97,128,225,192,225,192,225,192,225,192,225,192, + 225,192,225,192,225,192,97,128,127,128,30,0,6,14,14,11, + 2,0,28,124,252,220,28,28,28,28,28,28,28,28,28,28, + 10,14,28,11,1,0,31,0,127,128,97,192,225,192,1,192, + 1,192,3,128,7,128,15,0,30,0,56,0,112,0,255,192, + 255,192,10,14,28,11,1,0,62,0,127,0,227,128,3,128, + 3,128,31,0,31,0,3,128,1,192,1,192,225,192,243,128, + 127,0,62,0,11,14,28,11,1,0,7,128,15,128,15,128, + 27,128,59,128,51,128,115,128,99,128,227,128,255,224,255,224, + 3,128,3,128,3,128,10,14,28,11,1,0,255,128,255,128, + 224,0,224,0,224,0,255,0,255,128,225,128,1,192,1,192, + 225,192,227,128,127,0,62,0,10,14,28,11,1,0,30,0, + 63,128,97,128,96,0,224,0,223,0,255,128,225,128,225,192, + 225,192,225,192,97,128,127,128,30,0,10,14,28,11,1,0, + 255,192,255,192,1,192,3,128,3,128,7,128,7,0,7,0, + 14,0,14,0,28,0,28,0,60,0,56,0,10,14,28,11, + 1,0,63,0,127,128,225,192,225,192,225,128,127,0,63,0, + 115,128,225,192,225,192,225,192,225,192,127,128,63,0,10,14, + 28,11,1,0,30,0,127,0,225,128,225,128,225,192,225,192, + 243,192,127,192,25,192,1,128,225,128,99,128,127,0,62,0, + 3,10,10,7,3,0,224,224,224,0,0,0,0,224,224,224, + 4,12,12,6,1,254,112,112,112,0,0,0,0,112,96,224, + 192,192,12,10,20,20,4,1,0,16,0,224,3,128,28,0, + 224,0,192,0,56,0,7,0,1,192,0,48,12,5,10,20, + 4,3,255,240,255,240,0,0,255,240,255,240,12,10,20,20, + 4,1,128,0,112,0,28,0,3,128,0,112,0,48,1,192, + 14,0,56,0,192,0,9,14,28,11,1,0,62,0,127,0, + 195,128,67,128,3,128,7,0,6,0,12,0,24,0,24,0, + 24,0,0,0,24,0,24,0,19,18,54,21,1,252,1,248, + 0,15,254,0,30,7,128,56,3,192,113,253,192,115,252,224, + 231,28,224,231,28,224,231,28,224,231,28,224,231,28,224,231, + 60,192,115,255,192,113,231,128,56,0,0,30,4,0,15,252, + 0,3,252,0,14,14,28,14,0,0,7,128,7,128,7,192, + 15,192,14,192,28,224,28,224,28,96,56,112,63,240,63,248, + 112,56,112,56,224,28,11,14,28,13,1,0,255,0,255,128, + 225,192,225,192,225,192,227,128,255,0,255,128,224,192,224,224, + 224,224,224,224,255,192,255,0,13,14,28,15,1,0,15,128, + 63,224,112,112,96,112,224,0,224,0,224,0,224,0,224,0, + 224,120,96,112,112,240,63,224,15,128,12,14,28,14,1,0, + 255,0,255,192,225,224,224,224,224,112,224,112,224,112,224,112, + 224,112,224,112,224,224,225,224,255,192,255,0,10,14,28,12, + 1,0,255,192,255,192,224,0,224,0,224,0,224,0,255,128, + 255,128,224,0,224,0,224,0,224,0,255,192,255,192,9,14, + 28,11,1,0,255,128,255,128,224,0,224,0,224,0,224,0, + 255,128,255,128,224,0,224,0,224,0,224,0,224,0,224,0, + 13,14,28,15,1,0,15,192,31,240,56,56,112,56,224,0, + 224,0,225,248,225,248,224,56,224,56,112,56,120,56,63,248, + 15,240,12,14,28,14,1,0,224,112,224,112,224,112,224,112, + 224,112,224,112,255,240,255,240,224,112,224,112,224,112,224,112, + 224,112,224,112,3,14,14,5,1,0,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,10,14,28,12,1,0,1,192, + 1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192, + 225,192,225,192,243,192,127,128,62,0,11,14,28,13,1,0, + 225,224,227,192,227,128,231,0,238,0,252,0,252,0,254,0, + 238,0,231,0,231,128,227,192,225,192,224,224,10,14,28,11, + 1,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, + 224,0,224,0,224,0,224,0,224,0,255,192,255,192,16,14, + 28,18,1,0,248,31,248,31,252,63,252,63,252,55,236,119, + 238,119,238,103,230,231,231,231,231,199,227,199,227,199,227,135, + 13,14,28,15,1,0,240,56,248,56,248,56,252,56,238,56, + 238,56,231,56,231,56,227,184,227,184,225,248,225,248,224,248, + 224,248,14,14,28,16,1,0,15,192,63,240,112,112,96,56, + 224,24,224,28,224,28,224,28,224,28,224,24,96,56,112,112, + 63,240,15,192,11,14,28,13,1,0,255,0,255,192,225,192, + 224,224,224,224,224,224,225,192,255,192,255,0,224,0,224,0, + 224,0,224,0,224,0,15,14,28,17,1,0,15,192,63,224, + 112,112,96,56,224,24,224,28,224,28,224,28,224,28,224,24, + 96,56,112,120,63,254,15,254,11,14,28,13,1,0,255,128, + 255,192,224,224,224,224,224,224,224,224,255,128,255,192,225,192, + 224,224,224,224,224,224,224,224,224,96,12,14,28,14,1,0, + 31,128,63,192,96,224,224,224,224,0,252,0,127,128,31,224, + 3,224,0,112,224,112,224,96,127,192,31,128,12,14,28,14, + 1,0,255,240,255,240,14,0,14,0,14,0,14,0,14,0, + 14,0,14,0,14,0,14,0,14,0,14,0,14,0,12,14, + 28,14,1,0,224,112,224,112,224,112,224,112,224,112,224,112, + 224,112,224,112,224,112,224,112,224,112,112,224,63,192,31,128, + 14,14,28,15,0,0,240,28,112,28,112,60,56,56,56,56, + 56,112,28,112,28,112,30,224,14,224,15,192,7,192,7,192, + 7,128,20,14,42,20,0,0,240,240,240,112,240,224,112,240, + 224,113,248,224,113,248,224,57,153,192,57,153,192,59,157,192, + 59,157,192,27,13,128,31,15,128,31,15,128,31,15,128,14, + 7,0,12,14,28,14,1,0,224,112,112,224,120,224,57,192, + 31,128,31,0,15,0,15,0,31,128,59,192,57,192,112,224, + 224,240,224,112,12,14,28,13,0,0,240,112,112,240,56,224, + 56,224,29,192,29,192,15,128,15,0,7,0,7,0,7,0, + 7,0,7,0,7,0,11,14,28,13,1,0,127,224,127,224, + 1,224,3,192,3,128,7,128,15,0,30,0,30,0,60,0, + 120,0,248,0,255,224,255,224,5,18,18,8,2,252,248,248, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,248,248, + 6,15,15,9,1,255,192,192,96,96,96,48,48,48,16,24, + 24,24,12,12,12,5,18,18,8,2,252,248,248,56,56,56, + 56,56,56,56,56,56,56,56,56,56,56,248,248,10,12,24, + 20,5,0,12,0,12,0,12,0,18,0,18,0,51,0,33, + 0,33,0,64,128,64,128,192,192,128,64,10,2,4,10,0, + 253,255,192,255,192,5,4,4,5,255,12,224,112,48,24,9, + 10,20,11,1,0,62,0,127,128,227,128,31,128,127,128,227, + 128,227,128,227,128,255,128,57,128,10,14,28,12,1,0,224, + 0,224,0,224,0,224,0,239,0,255,128,225,192,225,192,225, + 192,225,192,225,192,225,128,255,128,239,0,9,10,20,11,1, + 0,62,0,127,0,227,128,227,128,224,0,224,0,227,128,227, + 128,127,0,62,0,10,14,28,12,1,0,1,192,1,192,1, + 192,1,192,61,192,127,192,225,192,225,192,225,192,225,192,225, + 192,225,192,127,192,61,192,9,10,20,11,1,0,30,0,127, + 0,227,128,227,128,255,128,255,128,224,0,227,128,127,128,62, + 0,7,14,14,8,1,0,30,62,56,56,254,254,56,56,56, + 56,56,56,56,56,10,14,28,12,1,252,61,192,127,192,113, + 192,225,192,225,192,225,192,225,192,225,192,127,192,61,192,1, + 192,97,192,127,128,63,0,9,14,28,11,1,0,224,0,224, + 0,224,0,224,0,239,0,255,128,227,128,227,128,227,128,227, + 128,227,128,227,128,227,128,227,128,3,14,14,5,1,0,224, + 224,224,0,224,224,224,224,224,224,224,224,224,224,4,18,18, + 7,2,252,112,112,112,0,112,112,112,112,112,112,112,112,112, + 112,112,112,240,224,9,14,28,11,1,0,224,0,224,0,224, + 0,224,0,231,128,231,0,238,0,252,0,252,0,252,0,238, + 0,231,0,231,0,227,128,3,14,14,5,1,0,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,15,10,20,18,1, + 0,239,60,255,254,227,206,227,134,227,134,227,134,227,134,227, + 134,227,134,227,134,9,10,20,11,1,0,239,0,255,128,227, + 128,227,128,227,128,227,128,227,128,227,128,227,128,227,128,10, + 10,20,12,1,0,30,0,127,128,97,128,225,192,225,192,225, + 192,225,192,97,128,127,128,30,0,10,14,28,12,1,252,239, + 0,255,128,225,128,225,192,225,192,225,192,225,192,225,192,255, + 128,239,0,224,0,224,0,224,0,224,0,10,14,28,12,1, + 252,61,192,127,192,225,192,225,192,225,192,225,192,225,192,225, + 192,127,192,61,192,1,192,1,192,1,192,1,192,6,10,10, + 8,1,0,236,252,240,224,224,224,224,224,224,224,9,10,20, + 11,1,0,62,0,255,0,227,128,224,0,126,0,31,0,3, + 128,227,128,255,0,62,0,7,13,13,9,1,0,8,56,56, + 254,254,56,56,56,56,56,56,62,30,9,10,20,11,1,0, + 227,128,227,128,227,128,227,128,227,128,227,128,227,128,227,128, + 255,128,123,128,11,10,20,11,0,0,224,224,113,192,113,192, + 49,128,59,128,59,128,27,0,31,0,31,0,14,0,17,10, + 30,17,0,0,225,195,128,97,227,0,115,231,0,115,103,0, + 51,119,0,63,118,0,63,62,0,62,62,0,30,60,0,30, + 28,0,9,10,20,11,1,0,227,128,115,0,119,0,62,0, + 28,0,62,0,62,0,119,0,227,128,227,128,11,14,28,11, + 0,252,224,224,113,192,113,192,57,128,59,128,59,128,31,0, + 31,0,15,0,14,0,14,0,14,0,28,0,28,0,8,10, + 10,10,1,0,255,255,7,14,28,56,112,224,255,255,7,19, + 19,10,2,251,14,62,56,56,56,56,56,48,240,192,240,112, + 56,56,56,56,56,62,14,1,21,21,7,3,251,128,128,128, + 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, + 128,128,7,19,19,10,2,251,224,240,56,56,56,56,56,56, + 28,6,28,56,56,56,56,56,56,240,224,11,3,6,11,0, + 4,48,96,127,192,199,128,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,255,255,255,255,255,255,255,0,0,0,6,0,0,3,14, + 14,9,3,252,224,224,0,0,224,224,224,224,224,224,224,224, + 224,224,9,14,28,11,1,254,2,0,2,0,62,0,127,0, + 231,128,231,128,232,0,232,0,235,128,243,128,127,0,62,0, + 32,0,32,0,10,14,28,12,1,0,31,0,63,192,113,192, + 112,0,112,0,254,0,254,0,112,0,112,0,112,0,112,0, + 112,0,255,192,255,192,10,10,20,12,1,3,128,64,94,128, + 33,0,64,128,64,128,64,128,64,128,33,0,94,128,128,64, + 11,14,28,13,1,0,224,224,225,192,113,192,113,128,251,224, + 251,224,31,0,255,224,255,224,14,0,14,0,14,0,14,0, + 14,0,1,18,18,7,3,252,128,128,128,128,128,128,128,128, + 0,0,128,128,128,128,128,128,128,128,8,18,18,10,1,252, + 62,126,224,224,112,60,126,231,231,231,254,124,30,7,7,135, + 254,56,7,2,2,7,0,12,238,238,15,14,28,17,1,0, + 7,192,31,240,55,152,111,204,204,228,156,2,156,2,156,226, + 140,226,207,198,71,132,32,24,28,112,15,192,7,9,9,8, + 1,5,120,204,124,204,204,252,36,0,254,10,8,16,12,1, + 1,57,192,113,128,115,128,231,0,231,0,115,128,113,128,57, + 192,11,5,10,13,1,4,255,224,255,224,0,32,0,32,0, + 32,255,15,14,28,17,1,0,7,192,31,240,63,152,111,236, + 204,100,140,98,143,194,143,194,140,98,204,102,76,100,32,24, + 28,112,15,192,6,2,2,6,0,12,252,252,5,5,5,7, + 1,9,112,136,136,136,112,12,12,24,20,4,0,2,0,2, + 0,2,0,255,240,255,240,2,0,2,0,2,0,0,0,0, + 0,255,240,255,240,6,8,8,8,1,6,120,204,12,24,48, + 224,252,252,6,7,7,8,1,7,120,204,12,48,12,204,120, + 4,4,4,4,1,12,48,96,96,192,255,9,17,34,11,1, + 253,63,128,121,0,249,0,249,0,249,0,249,0,121,0,9, + 0,9,0,9,0,9,0,9,0,9,0,9,0,9,0,9, + 0,9,0,3,3,3,6,2,5,224,224,224,5,5,5,5, + 1,251,64,112,24,24,240,4,8,8,6,1,6,48,240,48, + 48,48,48,48,48,7,9,9,9,1,5,56,68,198,198,198, + 68,56,0,254,10,8,16,12,1,1,231,0,99,128,115,128, + 57,192,57,192,115,128,99,128,231,0,14,14,28,16,1,0, + 112,48,240,48,48,96,48,192,48,192,49,128,49,156,51,60, + 6,60,6,108,12,204,24,252,24,12,48,12,15,14,28,17, + 1,0,112,48,240,32,48,96,48,192,48,192,49,128,51,60, + 51,102,6,6,12,14,12,28,24,48,48,126,48,126,14,14, + 28,16,1,0,120,24,204,48,12,48,48,96,12,192,204,192, + 121,156,1,188,3,60,6,108,6,204,12,252,8,12,24,12, + 9,14,28,11,1,252,14,0,14,0,0,0,14,0,14,0, + 14,0,60,0,112,0,224,0,224,0,225,128,225,128,127,128, + 62,0,14,20,40,14,0,0,12,0,14,0,6,0,3,0, + 0,0,0,0,7,128,7,128,7,192,15,192,14,192,28,224, + 28,224,28,96,56,112,63,240,63,248,112,56,112,56,224,28, + 14,20,40,14,0,0,0,192,1,192,1,128,3,0,0,0, + 0,0,7,128,7,128,7,192,15,192,14,192,28,224,28,224, + 28,96,56,112,63,240,63,248,112,56,112,56,224,28,14,20, + 40,14,0,0,3,128,7,128,6,192,12,192,0,0,0,0, + 7,128,7,128,7,192,15,192,14,192,28,224,28,224,28,96, + 56,112,63,240,63,248,112,56,112,56,224,28,14,19,38,14, + 0,0,6,64,15,192,8,128,0,0,0,0,7,128,7,128, + 7,192,15,192,14,192,28,224,28,224,28,96,56,112,63,240, + 63,248,112,56,112,56,224,28,14,19,38,15,0,0,14,224, + 14,224,0,0,0,0,0,0,3,128,7,128,7,192,7,192, + 14,192,14,224,28,224,28,112,28,112,63,248,63,248,112,56, + 112,28,224,28,13,21,42,15,1,0,7,0,8,128,8,128, + 8,128,7,0,0,0,0,0,7,0,15,128,15,128,29,192, + 29,192,29,192,56,224,56,224,48,96,127,240,127,240,224,56, + 224,56,224,56,19,14,42,20,0,0,0,255,224,1,255,224, + 3,240,0,3,112,0,7,112,0,7,112,0,14,127,192,14, + 127,192,28,112,0,31,240,0,63,240,0,112,112,0,112,127, + 224,224,127,224,13,18,36,15,1,252,15,128,63,224,112,240, + 96,112,224,0,224,0,224,0,224,0,224,0,224,120,96,112, + 112,240,63,224,31,128,4,0,7,128,1,128,15,0,10,20, + 40,12,1,0,48,0,56,0,24,0,12,0,0,0,0,0, + 255,192,255,192,224,0,224,0,224,0,224,0,255,128,255,128, + 224,0,224,0,224,0,224,0,255,192,255,192,10,20,40,12, + 1,0,7,0,6,0,12,0,8,0,0,0,0,0,255,192, + 255,192,224,0,224,0,224,0,224,0,255,128,255,128,224,0, + 224,0,224,0,224,0,255,192,255,192,10,20,40,12,1,0, + 28,0,30,0,54,0,35,0,0,0,0,0,255,192,255,192, + 224,0,224,0,224,0,224,0,255,128,255,128,224,0,224,0, + 224,0,224,0,255,192,255,192,10,19,38,12,1,0,119,0, + 119,0,0,0,0,0,0,0,255,192,255,192,224,0,224,0, + 224,0,224,0,255,128,255,128,224,0,224,0,224,0,224,0, + 255,192,255,192,5,20,20,5,255,0,224,96,48,16,0,0, + 56,56,56,56,56,56,56,56,56,56,56,56,56,56,4,20, + 20,5,1,0,48,112,96,192,0,0,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,5,20,20,5,0,0,112,112, + 216,136,0,0,112,112,112,112,112,112,112,112,112,112,112,112, + 112,112,7,19,19,7,0,0,238,238,0,0,0,56,56,56, + 56,56,56,56,56,56,56,56,56,56,56,13,14,28,14,0, + 0,127,128,127,224,112,240,112,112,112,56,112,56,254,56,254, + 56,112,56,112,56,112,112,112,240,127,224,127,128,13,19,38, + 15,1,0,12,64,31,128,17,0,0,0,0,0,240,56,248, + 56,248,56,252,56,238,56,238,56,231,56,231,56,227,184,227, + 184,225,248,225,248,224,248,224,248,14,20,40,16,1,0,28, + 0,12,0,6,0,2,0,0,0,0,0,15,192,63,240,112, + 112,96,56,224,24,224,28,224,28,224,28,224,28,224,24,96, + 56,112,112,63,240,15,192,14,20,40,16,1,0,0,224,1, + 192,1,128,3,0,0,0,0,0,15,192,63,240,112,112,96, + 56,224,24,224,28,224,28,224,28,224,28,224,24,96,56,112, + 112,63,240,15,192,14,20,40,16,1,0,7,0,7,128,13, + 192,8,192,0,0,0,0,15,192,63,240,112,112,96,56,224, + 24,224,28,224,28,224,28,224,28,224,24,96,56,112,112,63, + 240,15,192,14,19,38,16,1,0,7,192,15,192,0,0,0, + 0,0,0,15,192,63,240,112,48,96,56,224,24,224,28,224, + 28,224,28,224,28,224,24,112,56,120,240,63,240,15,192,14, + 19,38,16,1,0,29,192,29,192,0,0,0,0,0,0,15, + 192,63,240,112,112,96,56,224,24,224,28,224,28,224,28,224, + 28,224,24,96,56,112,112,63,240,15,192,10,10,20,20,5, + 1,128,64,192,192,97,128,51,0,12,0,12,0,18,0,33, + 0,64,128,128,64,15,16,32,16,0,255,0,2,7,230,31, + 252,56,60,48,60,112,108,112,238,113,206,115,142,119,14,126, + 12,124,28,56,56,63,240,239,224,64,0,12,20,40,14,1, + 0,56,0,24,0,12,0,6,0,0,0,0,0,224,112,224, + 112,224,112,224,112,224,112,224,112,224,112,224,112,224,112,224, + 112,224,112,113,224,63,192,31,128,12,20,40,14,1,0,1, + 192,3,128,3,0,6,0,0,0,0,0,224,112,224,112,224, + 112,224,112,224,112,224,112,224,112,224,112,224,112,224,112,224, + 112,113,224,63,192,31,128,12,20,40,14,1,0,14,0,15, + 0,27,0,17,128,0,0,0,0,224,112,224,112,224,112,224, + 112,224,112,224,112,224,112,224,112,224,112,224,112,224,112,113, + 224,63,192,31,128,12,19,38,14,1,0,29,192,29,192,0, + 0,0,0,0,0,224,112,224,112,224,112,224,112,224,112,224, + 112,224,112,224,112,224,112,224,112,224,112,112,224,63,192,31, + 128,12,19,38,13,0,0,1,128,3,0,2,0,0,0,0, + 0,240,112,112,240,56,224,56,224,29,192,29,192,15,128,15, + 0,7,0,7,0,7,0,7,0,7,0,7,0,11,14,28, + 13,1,0,224,0,224,0,255,0,255,192,225,192,224,224,224, + 224,224,224,225,192,255,128,254,0,224,0,224,0,224,0,10, + 14,28,12,1,0,62,0,127,128,227,128,227,128,227,0,231, + 0,238,0,238,0,231,128,227,192,225,192,253,192,255,192,239, + 128,9,16,32,11,1,0,112,0,48,0,24,0,8,0,0, + 0,0,0,62,0,127,128,227,128,31,128,127,128,227,128,227, + 128,227,128,255,128,57,128,9,16,32,11,1,0,7,0,6, + 0,12,0,12,0,0,0,0,0,62,0,127,128,227,128,3, + 128,63,128,251,128,227,128,227,128,255,128,121,128,9,16,32, + 11,1,0,28,0,30,0,54,0,35,0,0,0,0,0,62, + 0,127,128,227,128,31,128,127,128,227,128,227,128,227,128,255, + 128,57,128,9,14,28,11,1,0,63,0,62,0,0,0,0, + 0,62,0,127,128,227,128,31,128,127,128,227,128,227,128,227, + 128,255,128,57,128,9,15,30,11,1,0,119,0,119,0,0, + 0,0,0,0,0,62,0,127,128,227,128,31,128,127,128,227, + 128,227,128,227,128,255,128,57,128,9,17,34,11,1,0,28, + 0,34,0,34,0,34,0,28,0,0,0,0,0,62,0,127, + 128,227,128,31,128,127,128,227,128,227,128,227,128,255,128,57, + 128,16,10,20,18,1,0,62,124,127,254,227,135,31,255,127, + 255,227,128,227,128,227,199,254,254,60,124,9,14,28,11,1, + 252,62,0,127,0,227,128,227,128,224,0,224,0,227,128,227, + 128,127,0,62,0,16,0,30,0,6,0,62,0,9,16,32, + 11,1,0,112,0,48,0,24,0,8,0,0,0,0,0,30, + 0,127,0,227,128,227,128,255,128,255,128,224,0,227,128,127, + 128,62,0,9,16,32,11,1,0,7,0,6,0,12,0,8, + 0,0,0,0,0,30,0,127,0,227,128,227,128,255,128,255, + 128,224,0,227,128,127,128,62,0,9,16,32,11,1,0,28, + 0,30,0,54,0,35,0,0,0,0,0,30,0,127,0,227, + 128,227,128,255,128,255,128,224,0,227,128,127,128,62,0,9, + 15,30,11,1,0,119,0,119,0,0,0,0,0,0,0,30, + 0,127,0,227,128,227,128,255,128,255,128,224,0,227,128,127, + 128,62,0,4,15,15,5,0,0,192,224,96,48,0,112,112, + 112,112,112,112,112,112,112,112,4,15,15,4,1,0,112,96, + 192,128,0,224,224,224,224,224,224,224,224,224,224,7,15,15, + 5,255,0,56,124,76,198,0,56,56,56,56,56,56,56,56, + 56,56,7,14,14,6,0,0,238,238,0,0,56,56,56,56, + 56,56,56,56,56,56,10,14,28,12,1,0,57,128,15,0, + 31,0,99,0,31,128,127,128,97,192,225,192,225,192,225,192, + 225,192,97,192,127,128,31,0,9,14,28,11,1,0,62,0, + 60,0,0,0,0,0,239,0,255,128,227,128,227,128,227,128, + 227,128,227,128,227,128,227,128,227,128,10,16,32,12,1,0, + 48,0,24,0,24,0,12,0,0,0,0,0,30,0,127,128, + 97,128,225,192,225,192,225,192,225,192,97,128,127,128,30,0, + 10,16,32,12,1,0,3,0,6,0,6,0,12,0,0,0, + 0,0,30,0,127,128,97,128,225,192,225,192,225,192,225,192, + 97,128,127,128,30,0,10,16,32,12,1,0,12,0,30,0, + 26,0,51,0,0,0,0,0,30,0,127,128,97,128,225,192, + 225,192,225,192,225,192,97,128,127,128,30,0,10,14,28,12, + 1,0,31,0,62,0,0,0,0,0,30,0,127,128,97,128, + 225,192,225,192,225,192,225,192,97,128,127,128,30,0,10,15, + 30,12,1,0,59,128,59,128,0,0,0,0,0,0,30,0, + 127,128,97,128,225,192,225,192,225,192,225,192,97,128,127,128, + 30,0,12,8,16,20,4,2,6,0,14,0,0,0,255,240, + 255,240,0,0,6,0,14,0,10,12,24,12,1,0,0,192, + 31,128,127,128,99,128,231,192,237,192,233,192,241,192,113,128, + 127,128,222,0,128,0,9,16,32,11,1,0,112,0,48,0, + 24,0,8,0,0,0,0,0,227,128,227,128,227,128,227,128, + 227,128,227,128,227,128,227,128,255,128,123,128,9,16,32,11, + 1,0,7,0,6,0,12,0,8,0,0,0,0,0,227,128, + 227,128,227,128,227,128,227,128,227,128,227,128,227,128,255,128, + 123,128,9,16,32,11,1,0,28,0,28,0,54,0,34,0, + 0,0,0,0,227,128,227,128,227,128,227,128,227,128,227,128, + 227,128,227,128,255,128,123,128,9,15,30,11,1,0,119,0, + 119,0,0,0,0,0,0,0,227,128,227,128,227,128,227,128, + 227,128,227,128,227,128,227,128,255,128,123,128,11,19,38,11, + 0,252,1,128,3,0,2,0,4,0,0,0,112,224,113,192, + 113,192,57,192,59,128,27,128,31,128,31,0,15,0,14,0, + 14,0,78,0,252,0,120,0,10,18,36,12,1,252,224,0, + 224,0,224,0,224,0,239,0,255,128,225,128,225,192,225,192, + 225,192,225,192,225,192,255,128,255,0,224,0,224,0,224,0, + 224,0,11,18,36,11,0,252,59,128,59,128,0,0,0,0, + 225,224,113,192,113,192,115,128,59,128,59,128,31,0,31,0, + 31,0,14,0,14,0,12,0,28,0,28,0}; +/* + Fontname: -FreeType-FreeUniversal-Bold-R-Normal--20-200-72-72-P-101-ISO10646-1 + Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. + Capital A Height: 0, '1' Height: 14 + Calculated Max Values w=12 h=15 x= 4 y= 7 dx=20 dy= 0 ascent=14 len=28 + Font Bounding box w=31 h=26 x=-2 y=-5 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent =14 descent= 0 + X Font ascent =14 descent= 0 + Max Font ascent =14 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_fub14n[452] U8G_FONT_SECTION("u8g_font_fub14n") = { + 0,31,26,254,251,14,0,0,0,0,42,58,0,14,254,14, + 0,8,7,7,12,2,7,102,60,24,255,24,60,102,12,12, + 24,20,4,0,2,0,2,0,2,0,2,0,2,0,255,240, + 255,240,2,0,2,0,2,0,2,0,2,0,4,5,5,6, + 1,254,112,112,96,224,192,5,3,3,7,1,4,248,248,248, + 3,3,3,6,2,0,224,224,224,6,15,15,9,1,255,12, + 12,12,12,24,24,24,48,48,48,96,96,96,96,192,10,14, + 28,11,1,0,30,0,127,0,97,128,225,192,225,192,225,192, + 225,192,225,192,225,192,225,192,225,192,97,128,127,128,30,0, + 6,14,14,11,2,0,28,124,252,220,28,28,28,28,28,28, + 28,28,28,28,10,14,28,11,1,0,31,0,127,128,97,192, + 225,192,1,192,1,192,3,128,7,128,15,0,30,0,56,0, + 112,0,255,192,255,192,10,14,28,11,1,0,62,0,127,0, + 227,128,3,128,3,128,31,0,31,0,3,128,1,192,1,192, + 225,192,243,128,127,0,62,0,11,14,28,11,1,0,7,128, + 15,128,15,128,27,128,59,128,51,128,115,128,99,128,227,128, + 255,224,255,224,3,128,3,128,3,128,10,14,28,11,1,0, + 255,128,255,128,224,0,224,0,224,0,255,0,255,128,225,128, + 1,192,1,192,225,192,227,128,127,0,62,0,10,14,28,11, + 1,0,30,0,63,128,97,128,96,0,224,0,223,0,255,128, + 225,128,225,192,225,192,225,192,97,128,127,128,30,0,10,14, + 28,11,1,0,255,192,255,192,1,192,3,128,3,128,7,128, + 7,0,7,0,14,0,14,0,28,0,28,0,60,0,56,0, + 10,14,28,11,1,0,63,0,127,128,225,192,225,192,225,128, + 127,0,63,0,115,128,225,192,225,192,225,192,225,192,127,128, + 63,0,10,14,28,11,1,0,30,0,127,0,225,128,225,128, + 225,192,225,192,243,192,127,192,25,192,1,128,225,128,99,128, + 127,0,62,0,3,10,10,7,3,0,224,224,224,0,0,0, + 0,224,224,224}; +/* + Fontname: -FreeType-FreeUniversal-Bold-R-Normal--20-200-72-72-P-101-ISO10646-1 + Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. + Capital A Height: 14, '1' Height: 14 + Calculated Max Values w=20 h=21 x= 5 y=12 dx=21 dy= 0 ascent=16 len=54 + Font Bounding box w=31 h=26 x=-2 y=-5 + Calculated Min Values x=-1 y=-5 dx= 0 dy= 0 + Pure Font ascent =14 descent=-4 + X Font ascent =14 descent=-4 + Max Font ascent =16 descent=-5 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_fub14r[2680] U8G_FONT_SECTION("u8g_font_fub14r") = { + 0,31,26,254,251,14,3,116,7,95,32,127,252,16,251,14, + 252,0,0,0,6,0,0,3,14,14,8,3,0,224,224,224, + 224,224,224,224,224,224,224,0,0,224,224,8,6,6,10,1, + 8,231,103,103,103,103,103,12,14,28,14,1,0,6,96,6, + 96,12,96,63,240,63,240,24,192,25,128,25,128,255,224,255, + 224,51,0,51,0,99,0,102,0,10,17,34,12,1,254,4, + 0,31,0,127,128,119,128,229,192,228,0,252,0,126,0,31, + 128,7,192,5,192,229,192,229,192,127,128,63,0,4,0,4, + 0,18,14,42,20,1,0,60,4,0,126,12,0,195,24,0, + 195,16,0,195,48,0,231,96,0,126,103,0,24,205,128,0, + 152,192,1,152,192,3,24,192,3,24,192,6,15,128,12,7, + 0,14,14,28,16,1,0,31,0,127,128,113,192,113,192,115, + 128,63,0,30,0,126,56,247,48,227,176,225,240,224,224,127, + 240,31,188,3,6,6,8,3,8,224,192,192,192,192,192,4, + 17,17,8,2,253,48,112,112,96,224,224,224,224,224,224,224, + 224,224,96,112,112,48,4,17,17,8,2,253,192,192,224,224, + 96,96,112,112,112,112,112,96,96,224,224,192,192,8,7,7, + 12,2,7,102,60,24,255,24,60,102,12,12,24,20,4,0, + 2,0,2,0,2,0,2,0,2,0,255,240,255,240,2,0, + 2,0,2,0,2,0,2,0,4,5,5,6,1,254,112,112, + 96,224,192,5,3,3,7,1,4,248,248,248,3,3,3,6, + 2,0,224,224,224,6,15,15,9,1,255,12,12,12,12,24, + 24,24,48,48,48,96,96,96,96,192,10,14,28,11,1,0, + 30,0,127,0,97,128,225,192,225,192,225,192,225,192,225,192, + 225,192,225,192,225,192,97,128,127,128,30,0,6,14,14,11, + 2,0,28,124,252,220,28,28,28,28,28,28,28,28,28,28, + 10,14,28,11,1,0,31,0,127,128,97,192,225,192,1,192, + 1,192,3,128,7,128,15,0,30,0,56,0,112,0,255,192, + 255,192,10,14,28,11,1,0,62,0,127,0,227,128,3,128, + 3,128,31,0,31,0,3,128,1,192,1,192,225,192,243,128, + 127,0,62,0,11,14,28,11,1,0,7,128,15,128,15,128, + 27,128,59,128,51,128,115,128,99,128,227,128,255,224,255,224, + 3,128,3,128,3,128,10,14,28,11,1,0,255,128,255,128, + 224,0,224,0,224,0,255,0,255,128,225,128,1,192,1,192, + 225,192,227,128,127,0,62,0,10,14,28,11,1,0,30,0, + 63,128,97,128,96,0,224,0,223,0,255,128,225,128,225,192, + 225,192,225,192,97,128,127,128,30,0,10,14,28,11,1,0, + 255,192,255,192,1,192,3,128,3,128,7,128,7,0,7,0, + 14,0,14,0,28,0,28,0,60,0,56,0,10,14,28,11, + 1,0,63,0,127,128,225,192,225,192,225,128,127,0,63,0, + 115,128,225,192,225,192,225,192,225,192,127,128,63,0,10,14, + 28,11,1,0,30,0,127,0,225,128,225,128,225,192,225,192, + 243,192,127,192,25,192,1,128,225,128,99,128,127,0,62,0, + 3,10,10,7,3,0,224,224,224,0,0,0,0,224,224,224, + 4,12,12,6,1,254,112,112,112,0,0,0,0,112,96,224, + 192,192,12,10,20,20,4,1,0,16,0,224,3,128,28,0, + 224,0,192,0,56,0,7,0,1,192,0,48,12,5,10,20, + 4,3,255,240,255,240,0,0,255,240,255,240,12,10,20,20, + 4,1,128,0,112,0,28,0,3,128,0,112,0,48,1,192, + 14,0,56,0,192,0,9,14,28,11,1,0,62,0,127,0, + 195,128,67,128,3,128,7,0,6,0,12,0,24,0,24,0, + 24,0,0,0,24,0,24,0,19,18,54,21,1,252,1,248, + 0,15,254,0,30,7,128,56,3,192,113,253,192,115,252,224, + 231,28,224,231,28,224,231,28,224,231,28,224,231,28,224,231, + 60,192,115,255,192,113,231,128,56,0,0,30,4,0,15,252, + 0,3,252,0,14,14,28,14,0,0,7,128,7,128,7,192, + 15,192,14,192,28,224,28,224,28,96,56,112,63,240,63,248, + 112,56,112,56,224,28,11,14,28,13,1,0,255,0,255,128, + 225,192,225,192,225,192,227,128,255,0,255,128,224,192,224,224, + 224,224,224,224,255,192,255,0,13,14,28,15,1,0,15,128, + 63,224,112,112,96,112,224,0,224,0,224,0,224,0,224,0, + 224,120,96,112,112,240,63,224,15,128,12,14,28,14,1,0, + 255,0,255,192,225,224,224,224,224,112,224,112,224,112,224,112, + 224,112,224,112,224,224,225,224,255,192,255,0,10,14,28,12, + 1,0,255,192,255,192,224,0,224,0,224,0,224,0,255,128, + 255,128,224,0,224,0,224,0,224,0,255,192,255,192,9,14, + 28,11,1,0,255,128,255,128,224,0,224,0,224,0,224,0, + 255,128,255,128,224,0,224,0,224,0,224,0,224,0,224,0, + 13,14,28,15,1,0,15,192,31,240,56,56,112,56,224,0, + 224,0,225,248,225,248,224,56,224,56,112,56,120,56,63,248, + 15,240,12,14,28,14,1,0,224,112,224,112,224,112,224,112, + 224,112,224,112,255,240,255,240,224,112,224,112,224,112,224,112, + 224,112,224,112,3,14,14,5,1,0,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,10,14,28,12,1,0,1,192, + 1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192, + 225,192,225,192,243,192,127,128,62,0,11,14,28,13,1,0, + 225,224,227,192,227,128,231,0,238,0,252,0,252,0,254,0, + 238,0,231,0,231,128,227,192,225,192,224,224,10,14,28,11, + 1,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, + 224,0,224,0,224,0,224,0,224,0,255,192,255,192,16,14, + 28,18,1,0,248,31,248,31,252,63,252,63,252,55,236,119, + 238,119,238,103,230,231,231,231,231,199,227,199,227,199,227,135, + 13,14,28,15,1,0,240,56,248,56,248,56,252,56,238,56, + 238,56,231,56,231,56,227,184,227,184,225,248,225,248,224,248, + 224,248,14,14,28,16,1,0,15,192,63,240,112,112,96,56, + 224,24,224,28,224,28,224,28,224,28,224,24,96,56,112,112, + 63,240,15,192,11,14,28,13,1,0,255,0,255,192,225,192, + 224,224,224,224,224,224,225,192,255,192,255,0,224,0,224,0, + 224,0,224,0,224,0,15,14,28,17,1,0,15,192,63,224, + 112,112,96,56,224,24,224,28,224,28,224,28,224,28,224,24, + 96,56,112,120,63,254,15,254,11,14,28,13,1,0,255,128, + 255,192,224,224,224,224,224,224,224,224,255,128,255,192,225,192, + 224,224,224,224,224,224,224,224,224,96,12,14,28,14,1,0, + 31,128,63,192,96,224,224,224,224,0,252,0,127,128,31,224, + 3,224,0,112,224,112,224,96,127,192,31,128,12,14,28,14, + 1,0,255,240,255,240,14,0,14,0,14,0,14,0,14,0, + 14,0,14,0,14,0,14,0,14,0,14,0,14,0,12,14, + 28,14,1,0,224,112,224,112,224,112,224,112,224,112,224,112, + 224,112,224,112,224,112,224,112,224,112,112,224,63,192,31,128, + 14,14,28,15,0,0,240,28,112,28,112,60,56,56,56,56, + 56,112,28,112,28,112,30,224,14,224,15,192,7,192,7,192, + 7,128,20,14,42,20,0,0,240,240,240,112,240,224,112,240, + 224,113,248,224,113,248,224,57,153,192,57,153,192,59,157,192, + 59,157,192,27,13,128,31,15,128,31,15,128,31,15,128,14, + 7,0,12,14,28,14,1,0,224,112,112,224,120,224,57,192, + 31,128,31,0,15,0,15,0,31,128,59,192,57,192,112,224, + 224,240,224,112,12,14,28,13,0,0,240,112,112,240,56,224, + 56,224,29,192,29,192,15,128,15,0,7,0,7,0,7,0, + 7,0,7,0,7,0,11,14,28,13,1,0,127,224,127,224, + 1,224,3,192,3,128,7,128,15,0,30,0,30,0,60,0, + 120,0,248,0,255,224,255,224,5,18,18,8,2,252,248,248, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,248,248, + 6,15,15,9,1,255,192,192,96,96,96,48,48,48,16,24, + 24,24,12,12,12,5,18,18,8,2,252,248,248,56,56,56, + 56,56,56,56,56,56,56,56,56,56,56,248,248,10,12,24, + 20,5,0,12,0,12,0,12,0,18,0,18,0,51,0,33, + 0,33,0,64,128,64,128,192,192,128,64,10,2,4,10,0, + 253,255,192,255,192,5,4,4,5,255,12,224,112,48,24,9, + 10,20,11,1,0,62,0,127,128,227,128,31,128,127,128,227, + 128,227,128,227,128,255,128,57,128,10,14,28,12,1,0,224, + 0,224,0,224,0,224,0,239,0,255,128,225,192,225,192,225, + 192,225,192,225,192,225,128,255,128,239,0,9,10,20,11,1, + 0,62,0,127,0,227,128,227,128,224,0,224,0,227,128,227, + 128,127,0,62,0,10,14,28,12,1,0,1,192,1,192,1, + 192,1,192,61,192,127,192,225,192,225,192,225,192,225,192,225, + 192,225,192,127,192,61,192,9,10,20,11,1,0,30,0,127, + 0,227,128,227,128,255,128,255,128,224,0,227,128,127,128,62, + 0,7,14,14,8,1,0,30,62,56,56,254,254,56,56,56, + 56,56,56,56,56,10,14,28,12,1,252,61,192,127,192,113, + 192,225,192,225,192,225,192,225,192,225,192,127,192,61,192,1, + 192,97,192,127,128,63,0,9,14,28,11,1,0,224,0,224, + 0,224,0,224,0,239,0,255,128,227,128,227,128,227,128,227, + 128,227,128,227,128,227,128,227,128,3,14,14,5,1,0,224, + 224,224,0,224,224,224,224,224,224,224,224,224,224,4,18,18, + 7,2,252,112,112,112,0,112,112,112,112,112,112,112,112,112, + 112,112,112,240,224,9,14,28,11,1,0,224,0,224,0,224, + 0,224,0,231,128,231,0,238,0,252,0,252,0,252,0,238, + 0,231,0,231,0,227,128,3,14,14,5,1,0,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,15,10,20,18,1, + 0,239,60,255,254,227,206,227,134,227,134,227,134,227,134,227, + 134,227,134,227,134,9,10,20,11,1,0,239,0,255,128,227, + 128,227,128,227,128,227,128,227,128,227,128,227,128,227,128,10, + 10,20,12,1,0,30,0,127,128,97,128,225,192,225,192,225, + 192,225,192,97,128,127,128,30,0,10,14,28,12,1,252,239, + 0,255,128,225,128,225,192,225,192,225,192,225,192,225,192,255, + 128,239,0,224,0,224,0,224,0,224,0,10,14,28,12,1, + 252,61,192,127,192,225,192,225,192,225,192,225,192,225,192,225, + 192,127,192,61,192,1,192,1,192,1,192,1,192,6,10,10, + 8,1,0,236,252,240,224,224,224,224,224,224,224,9,10,20, + 11,1,0,62,0,255,0,227,128,224,0,126,0,31,0,3, + 128,227,128,255,0,62,0,7,13,13,9,1,0,8,56,56, + 254,254,56,56,56,56,56,56,62,30,9,10,20,11,1,0, + 227,128,227,128,227,128,227,128,227,128,227,128,227,128,227,128, + 255,128,123,128,11,10,20,11,0,0,224,224,113,192,113,192, + 49,128,59,128,59,128,27,0,31,0,31,0,14,0,17,10, + 30,17,0,0,225,195,128,97,227,0,115,231,0,115,103,0, + 51,119,0,63,118,0,63,62,0,62,62,0,30,60,0,30, + 28,0,9,10,20,11,1,0,227,128,115,0,119,0,62,0, + 28,0,62,0,62,0,119,0,227,128,227,128,11,14,28,11, + 0,252,224,224,113,192,113,192,57,128,59,128,59,128,31,0, + 31,0,15,0,14,0,14,0,14,0,28,0,28,0,8,10, + 10,10,1,0,255,255,7,14,28,56,112,224,255,255,7,19, + 19,10,2,251,14,62,56,56,56,56,56,48,240,192,240,112, + 56,56,56,56,56,62,14,1,21,21,7,3,251,128,128,128, + 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, + 128,128,7,19,19,10,2,251,224,240,56,56,56,56,56,56, + 28,6,28,56,56,56,56,56,56,240,224,11,3,6,11,0, + 4,48,96,127,192,199,128,255}; +/* + Fontname: -FreeType-FreeUniversal-Bold-R-Normal--23-230-72-72-P-115-ISO10646-1 + Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. + Capital A Height: 17, '1' Height: 17 + Calculated Max Values w=23 h=25 x= 6 y=15 dx=24 dy= 0 ascent=25 len=66 + Font Bounding box w=34 h=31 x=-2 y=-6 + Calculated Min Values x=-1 y=-6 dx= 0 dy= 0 + Pure Font ascent =17 descent=-5 + X Font ascent =17 descent=-5 + Max Font ascent =25 descent=-6 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_fub17[6938] U8G_FONT_SECTION("u8g_font_fub17") = { + 0,34,31,254,250,17,4,8,8,209,32,255,251,25,250,17, + 251,0,0,0,7,0,0,3,17,17,9,3,0,224,224,224, + 224,224,224,224,224,224,224,224,224,0,0,224,224,224,8,7, + 7,12,2,10,231,231,231,231,231,231,231,14,17,34,16,1, + 0,3,24,7,24,6,56,6,48,63,252,63,252,12,96,12, + 96,28,96,24,224,255,248,255,240,57,192,49,128,49,128,113, + 128,99,128,12,21,42,14,1,253,2,0,15,128,63,192,127, + 224,242,224,226,224,226,0,250,0,126,0,63,192,15,224,3, + 240,2,240,226,112,226,112,242,240,127,224,63,192,15,0,2, + 0,2,0,21,17,51,23,1,0,62,3,0,127,7,0,99, + 6,0,193,142,0,193,140,0,193,152,0,193,184,0,99,48, + 128,127,119,224,62,102,48,0,236,24,0,204,24,1,204,24, + 1,140,24,3,14,56,7,7,240,6,3,224,16,17,34,18, + 1,0,31,128,63,192,121,224,112,224,113,224,57,192,63,128, + 31,0,63,30,119,156,243,220,225,252,224,252,224,120,120,124, + 127,254,31,207,3,7,7,9,3,10,224,224,224,224,224,224, + 96,5,20,20,9,2,253,56,56,112,112,112,240,224,224,224, + 224,224,224,224,224,240,112,112,112,48,56,5,20,20,9,2, + 253,224,96,112,112,112,56,56,56,56,56,56,56,56,56,56, + 112,112,112,96,224,9,9,18,15,3,8,54,0,54,0,54, + 0,156,128,255,128,156,128,54,0,54,0,54,0,14,14,28, + 24,5,0,2,0,2,0,2,0,2,0,2,0,2,0,255, + 252,255,252,2,0,2,0,2,0,2,0,2,0,2,0,5, + 6,6,7,1,253,56,112,112,96,96,224,6,3,3,8,1, + 4,252,252,252,3,3,3,7,2,0,224,224,224,8,18,18, + 10,1,255,7,6,6,14,12,12,12,28,24,24,56,48,48, + 48,112,96,96,224,11,17,34,13,1,0,31,0,63,128,113, + 192,112,192,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,112,192,113,192,63,128,31,0,7,17,17, + 13,2,0,14,62,254,254,206,14,14,14,14,14,14,14,14, + 14,14,14,14,12,17,34,13,1,0,15,128,63,224,120,224, + 112,112,0,112,0,112,0,240,1,224,3,224,7,192,15,128, + 30,0,60,0,248,0,255,240,255,240,255,240,11,17,34,13, + 1,0,31,0,127,192,241,224,224,224,0,224,0,224,1,192, + 15,128,15,128,1,192,0,224,0,224,224,224,241,224,255,192, + 127,128,31,0,12,17,34,13,1,0,3,192,7,192,7,192, + 15,192,29,192,29,192,57,192,113,192,113,192,225,192,255,240, + 255,240,255,240,1,192,1,192,1,192,1,192,11,17,34,13, + 1,0,255,192,255,192,255,192,224,0,224,0,224,0,239,128, + 255,192,241,224,224,224,0,224,0,224,224,224,225,224,255,192, + 127,128,63,0,11,17,34,13,1,0,15,0,63,192,57,224, + 112,224,96,0,224,0,239,128,255,192,241,224,224,224,224,224, + 224,224,224,224,96,224,113,192,63,128,31,0,11,17,34,13, + 1,0,255,224,255,224,255,224,0,224,1,224,1,192,3,192, + 3,128,7,128,7,128,7,0,15,0,14,0,30,0,28,0, + 60,0,60,0,11,17,34,13,1,0,31,0,127,192,241,224, + 224,224,224,224,224,224,113,192,63,128,63,128,113,192,224,224, + 224,224,224,224,224,224,241,224,127,192,31,0,11,17,34,13, + 1,0,31,0,63,128,113,192,224,192,224,224,224,224,224,224, + 241,224,127,224,62,224,0,224,0,224,224,224,225,192,113,192, + 127,128,30,0,3,12,12,7,3,0,224,224,224,0,0,0, + 0,0,0,224,224,224,5,14,14,8,1,254,56,56,56,0, + 0,0,0,0,56,56,112,112,96,224,14,12,24,24,5,1, + 0,12,0,60,1,224,7,0,60,0,224,0,224,0,60,0, + 7,0,1,224,0,60,0,12,14,6,12,24,5,4,255,252, + 255,252,0,0,0,0,255,252,255,252,14,12,24,24,5,1, + 192,0,240,0,30,0,3,128,0,240,0,28,0,28,0,240, + 3,128,30,0,240,0,192,0,10,17,34,12,1,0,62,0, + 127,128,227,128,193,192,1,192,1,192,3,128,7,128,14,0, + 28,0,24,0,24,0,24,0,0,0,0,0,24,0,24,0, + 22,22,66,24,1,251,0,254,0,3,255,128,15,255,224,31, + 1,240,62,0,240,120,247,120,121,255,56,113,207,60,243,135, + 28,227,135,28,227,135,28,227,135,28,227,135,28,227,207,56, + 241,255,248,113,251,240,120,113,224,60,0,0,31,0,0,15, + 255,0,7,255,0,0,255,0,16,17,34,16,0,0,3,192, + 3,192,3,224,7,224,7,240,15,112,14,112,14,120,30,56, + 28,56,28,60,63,252,63,252,127,254,120,14,112,15,240,7, + 12,17,34,15,2,0,255,192,255,224,255,240,224,240,224,112, + 224,112,224,224,255,192,255,192,224,224,224,112,224,112,224,112, + 224,240,255,240,255,224,255,128,14,17,34,16,1,0,15,192, + 31,240,63,248,120,120,112,60,240,60,224,0,224,0,224,0, + 224,0,224,0,224,0,112,60,112,60,56,120,31,240,15,192, + 14,17,34,17,2,0,255,0,255,224,255,240,224,248,224,56, + 224,60,224,28,224,28,224,28,224,28,224,28,224,60,224,56, + 224,248,255,240,255,224,255,128,11,17,34,15,2,0,255,224, + 255,224,255,224,224,0,224,0,224,0,224,0,255,224,255,224, + 224,0,224,0,224,0,224,0,224,0,255,224,255,224,255,224, + 11,17,34,14,2,0,255,224,255,224,255,224,224,0,224,0, + 224,0,224,0,255,192,255,192,255,192,224,0,224,0,224,0, + 224,0,224,0,224,0,224,0,15,17,34,18,1,0,7,224, + 31,248,63,252,124,30,112,14,240,14,224,0,224,0,224,254, + 224,254,224,254,240,14,112,14,124,14,63,254,31,254,3,248, + 13,17,34,17,2,0,224,56,224,56,224,56,224,56,224,56, + 224,56,224,56,255,248,255,248,255,248,224,56,224,56,224,56, + 224,56,224,56,224,56,224,56,3,17,17,7,2,0,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,11, + 17,34,14,1,0,0,224,0,224,0,224,0,224,0,224,0, + 224,0,224,0,224,0,224,0,224,0,224,224,224,224,224,240, + 224,255,192,127,192,63,0,13,17,34,16,2,0,224,240,224, + 224,225,224,227,192,231,128,239,0,239,0,254,0,254,0,239, + 0,231,128,231,128,227,192,225,224,225,240,224,240,224,120,11, + 17,34,14,2,0,224,0,224,0,224,0,224,0,224,0,224, + 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, + 0,255,224,255,224,255,224,18,17,51,22,2,0,252,7,192, + 252,15,192,252,15,192,252,15,192,238,31,192,238,29,192,238, + 29,192,231,61,192,231,57,192,231,57,192,231,185,192,227,241, + 192,227,241,192,227,241,192,225,241,192,225,225,192,225,225,192, + 14,17,34,18,2,0,248,28,248,28,252,28,252,28,238,28, + 238,28,231,28,231,28,231,156,227,156,227,220,225,220,225,220, + 224,252,224,252,224,124,224,124,15,17,34,17,1,0,7,192, + 31,240,63,248,120,60,112,28,240,30,224,14,224,14,224,14, + 224,14,224,14,240,14,112,28,120,60,63,248,31,240,7,224, + 12,17,34,15,2,0,255,128,255,192,255,224,224,240,224,112, + 224,112,224,112,224,240,255,224,255,192,255,0,224,0,224,0, + 224,0,224,0,224,0,224,0,17,17,51,19,1,0,7,192, + 0,31,240,0,63,248,0,120,60,0,112,28,0,240,30,0, + 224,14,0,224,14,0,224,14,0,224,14,0,224,14,0,240, + 14,0,112,28,0,120,60,0,63,255,128,31,255,128,7,255, + 128,13,17,34,16,2,0,255,192,255,240,255,248,224,120,224, + 56,224,56,224,112,255,224,255,192,255,240,224,240,224,112,224, + 120,224,56,224,56,224,56,224,56,13,17,34,15,1,0,15, + 192,63,224,56,240,112,112,112,0,120,0,126,0,63,192,31, + 240,3,240,0,120,224,56,224,56,240,120,127,240,63,224,15, + 128,13,17,34,15,1,0,255,248,255,248,255,248,7,0,7, + 0,7,0,7,0,7,0,7,0,7,0,7,0,7,0,7, + 0,7,0,7,0,7,0,7,0,14,17,34,18,2,0,224, + 28,224,28,224,28,224,28,224,28,224,28,224,28,224,28,224, + 28,224,28,224,28,224,28,240,60,120,120,127,248,63,240,15, + 192,17,17,51,17,0,0,240,7,128,112,7,0,120,15,0, + 120,14,0,56,30,0,60,30,0,28,28,0,30,60,0,30, + 60,0,14,56,0,15,120,0,15,112,0,7,112,0,7,240, + 0,7,224,0,3,224,0,3,224,0,23,17,51,23,0,0, + 240,56,30,112,124,28,112,124,28,120,124,60,120,108,60,56, + 238,56,56,238,56,56,238,56,60,198,120,29,199,112,29,199, + 112,29,199,112,29,131,112,15,131,224,15,131,224,15,131,224, + 15,1,224,14,17,34,16,1,0,240,60,120,56,120,120,60, + 112,28,224,31,224,15,192,7,128,7,128,15,192,31,192,29, + 224,56,240,120,112,112,120,240,60,224,60,13,17,34,15,1, + 0,224,56,240,120,112,112,120,240,56,224,61,224,29,192,31, + 192,15,128,15,128,7,0,7,0,7,0,7,0,7,0,7, + 0,7,0,12,17,34,14,1,0,255,240,255,240,255,240,1, + 240,1,224,3,192,7,128,7,128,15,0,30,0,60,0,60, + 0,120,0,240,0,255,240,255,240,255,240,5,22,22,9,2, + 251,248,248,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,248,248,7,18,18,10,1,255,192,224,96, + 96,112,48,48,56,24,24,24,28,12,12,14,6,6,6,5, + 22,22,9,2,251,248,248,56,56,56,56,56,56,56,56,56, + 56,56,56,56,56,56,56,56,56,248,248,11,14,28,23,6, + 0,4,0,14,0,10,0,27,0,17,0,17,0,49,128,32, + 128,32,128,96,192,64,64,192,96,128,32,128,32,12,2,4, + 12,0,253,255,240,255,240,4,4,4,6,0,14,224,96,48, + 48,10,12,24,13,1,0,31,0,127,128,113,192,1,192,31, + 192,127,192,241,192,225,192,225,192,243,192,127,192,60,192,12, + 17,34,14,1,0,224,0,224,0,224,0,224,0,224,0,239, + 128,255,192,241,224,240,240,224,112,224,112,224,112,224,112,240, + 240,248,224,255,192,231,128,10,12,24,12,1,0,31,0,127, + 128,115,192,225,192,224,0,224,0,224,0,225,192,225,192,115, + 192,127,128,31,0,12,17,34,14,1,0,0,112,0,112,0, + 112,0,112,0,112,31,112,63,240,120,240,240,240,224,112,224, + 112,224,112,224,112,240,240,113,240,63,240,30,112,11,12,24, + 13,1,0,31,0,63,128,113,192,225,224,255,224,255,224,224, + 0,224,0,225,192,113,192,127,192,31,0,8,17,17,9,1, + 0,31,63,56,56,56,255,255,56,56,56,56,56,56,56,56, + 56,56,12,17,34,14,1,251,31,112,63,240,120,240,240,240, + 224,112,224,112,224,112,224,112,240,240,112,240,127,240,30,112, + 0,112,112,112,120,224,63,224,31,128,11,17,34,13,1,0, + 224,0,224,0,224,0,224,0,224,0,239,128,255,192,241,224, + 240,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,3,17,17,5,1,0,224,224,224,0,0,224,224,224, + 224,224,224,224,224,224,224,224,224,4,22,22,7,2,251,112, + 112,112,0,0,112,112,112,112,112,112,112,112,112,112,112,112, + 112,112,240,240,224,11,17,34,12,1,0,224,0,224,0,224, + 0,224,0,224,0,227,192,227,128,231,0,239,0,254,0,254, + 0,238,0,239,0,231,128,231,128,227,192,225,224,3,17,17, + 6,1,0,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,19,12,36,21,1,0,231,143,128,239,223,192, + 249,241,224,240,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,11,12, + 24,13,1,0,239,128,255,192,241,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,12,12,24,14, + 1,0,31,128,63,192,112,224,240,224,224,112,224,112,224,112, + 224,112,240,240,112,224,63,192,31,128,12,17,34,14,1,251, + 231,128,255,192,248,224,240,240,224,112,224,112,224,112,224,112, + 240,240,241,224,255,192,239,128,224,0,224,0,224,0,224,0, + 224,0,12,17,34,14,1,251,30,112,63,240,113,240,240,240, + 224,112,224,112,224,112,224,112,240,240,120,240,63,240,31,112, + 0,112,0,112,0,112,0,112,0,112,7,12,12,9,1,0, + 238,238,254,240,240,224,224,224,224,224,224,224,10,12,24,12, + 1,0,63,0,127,128,241,192,225,192,248,0,127,0,31,128, + 3,192,225,192,227,192,127,128,63,0,8,15,15,10,1,0, + 24,56,56,255,255,56,56,56,56,56,56,56,60,63,15,11, + 12,24,13,1,0,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,241,224,127,224,62,224,12,12,24, + 13,0,0,240,112,112,240,112,224,120,224,56,224,57,192,29, + 192,29,192,31,128,15,128,15,128,15,0,19,12,36,20,0, + 0,240,240,224,112,240,224,113,240,224,113,249,192,57,249,192, + 59,185,192,59,159,192,63,159,128,31,31,128,31,15,128,31, + 15,0,15,15,0,11,12,24,13,1,0,241,224,113,192,123, + 128,63,128,31,0,30,0,31,0,63,128,123,128,115,192,241, + 192,225,224,12,17,34,12,0,251,240,112,112,240,120,224,56, + 224,57,224,61,192,29,192,29,192,31,128,15,128,15,128,7, + 0,7,0,15,0,14,0,14,0,30,0,10,12,24,12,1, + 0,255,128,255,128,7,128,7,0,14,0,30,0,60,0,56, + 0,112,0,224,0,255,192,255,192,9,23,46,12,2,250,7, + 128,15,128,28,0,28,0,28,0,28,0,28,0,28,0,28, + 0,60,0,248,0,224,0,248,0,60,0,28,0,28,0,28, + 0,28,0,28,0,28,0,28,0,15,128,7,128,2,25,25, + 8,3,250,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,8,23,23,12, + 2,250,224,240,56,56,56,56,56,56,56,28,31,7,31,28, + 56,56,56,56,56,56,56,248,224,12,3,6,12,0,5,60, + 48,127,240,227,192,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,255, + 255,255,255,255,255,255,0,0,0,7,0,0,3,17,17,9, + 3,251,224,224,224,0,0,224,224,224,224,224,224,224,224,224, + 224,224,224,10,18,36,13,1,253,1,0,1,0,3,0,31, + 0,127,128,115,192,231,192,228,0,228,0,236,0,233,192,233, + 192,123,192,127,128,31,0,16,0,48,0,32,0,11,17,34, + 13,1,0,15,128,31,224,56,224,56,224,56,0,56,0,255, + 0,255,0,56,0,56,0,56,0,56,0,56,0,56,0,56, + 0,255,224,255,224,11,12,24,13,1,4,128,32,95,64,113, + 128,96,128,64,64,64,64,64,64,64,64,96,192,49,128,95, + 64,128,32,13,17,34,15,1,0,224,120,240,120,112,112,120, + 240,56,224,253,248,253,248,31,192,15,128,255,248,255,248,7, + 0,7,0,7,0,7,0,7,0,7,0,1,22,22,8,4, + 251,128,128,128,128,128,128,128,128,128,0,0,0,0,128,128, + 128,128,128,128,128,128,128,9,21,42,11,1,252,63,0,127, + 0,241,0,224,0,224,0,120,0,62,0,63,0,119,128,227, + 128,227,128,231,128,255,0,126,0,31,0,7,128,3,128,3, + 128,135,128,255,0,124,0,8,3,3,8,0,15,231,231,231, + 17,17,51,19,1,0,3,224,0,15,248,0,60,30,0,51, + 230,0,103,243,0,103,59,0,206,57,128,206,1,128,206,1, + 128,206,1,128,206,57,128,78,57,0,103,243,0,51,230,0, + 56,14,0,15,248,0,3,224,0,8,11,11,10,1,6,60, + 102,6,126,230,198,198,126,0,0,255,11,9,18,14,1,1, + 60,224,56,224,121,224,113,192,243,192,113,192,121,224,56,224, + 60,224,12,5,10,14,1,5,255,240,0,16,0,16,0,16, + 0,16,255,17,17,51,19,1,0,3,224,0,15,248,0,60, + 30,0,55,246,0,103,251,0,102,27,0,198,25,128,199,241, + 128,199,241,128,198,57,128,198,25,128,70,25,0,102,27,0, + 48,6,0,56,14,0,15,248,0,3,224,0,7,2,2,7, + 0,15,254,254,5,5,5,7,1,12,112,136,136,136,112,14, + 14,28,24,5,0,2,0,2,0,2,0,2,0,255,252,255, + 252,2,0,2,0,2,0,2,0,0,0,0,0,255,252,255, + 252,7,9,9,9,1,8,124,230,6,14,28,56,224,254,254, + 7,9,9,9,1,8,124,206,6,14,56,14,6,206,124,5, + 4,4,5,1,14,56,112,96,192,255,11,20,40,14,2,253, + 63,224,125,128,253,128,253,128,253,128,253,128,253,128,125,128, + 13,128,13,128,13,128,13,128,13,128,13,128,13,128,13,128, + 13,128,13,128,13,128,13,128,3,3,3,7,2,6,224,224, + 224,6,5,5,6,1,251,32,56,12,12,248,4,9,9,6, + 1,8,48,240,176,48,48,48,48,48,48,8,11,11,10,1, + 6,60,102,195,195,195,195,231,126,60,0,255,12,9,18,14, + 1,1,227,128,113,192,121,224,56,224,60,240,56,224,121,224, + 113,192,227,128,16,17,34,18,1,0,48,24,240,24,176,48, + 48,112,48,96,48,224,48,192,49,128,49,142,3,14,3,30, + 6,54,14,54,12,102,24,127,24,6,48,6,16,17,34,18, + 1,0,48,24,240,48,176,48,48,96,48,224,48,192,49,192, + 49,128,51,62,3,119,6,3,6,7,12,14,28,28,24,112, + 48,127,48,127,17,17,51,19,1,0,124,6,0,198,12,0, + 6,12,0,56,24,0,14,56,0,6,48,0,206,112,0,124, + 96,0,0,199,0,1,199,0,1,143,0,3,155,0,3,27, + 0,7,51,0,6,63,128,12,3,0,28,3,0,10,17,34, + 12,1,251,14,0,14,0,0,0,0,0,14,0,14,0,14, + 0,28,0,56,0,112,0,240,0,224,0,224,128,224,192,115, + 192,127,128,31,0,16,24,48,16,0,0,14,0,7,0,3, + 0,3,128,1,128,0,0,0,0,3,192,3,192,3,224,7, + 224,7,240,15,112,14,112,14,120,30,56,28,56,28,60,63, + 252,63,252,127,254,120,14,112,15,240,7,16,24,48,16,0, + 0,0,112,0,96,0,224,0,192,1,128,0,0,0,0,3, + 192,3,192,3,224,7,224,7,240,15,112,14,112,14,120,30, + 56,28,56,28,60,63,252,63,252,127,254,120,14,112,15,240, + 7,16,24,48,16,0,0,1,192,3,192,3,224,6,96,4, + 48,0,0,0,0,3,192,3,192,3,224,7,224,7,240,15, + 112,14,112,14,120,30,56,28,56,28,60,63,252,63,252,127, + 254,120,14,112,15,240,7,16,23,46,16,0,0,0,16,7, + 240,7,224,0,0,0,0,0,0,3,192,3,192,3,224,7, + 224,7,240,15,112,14,112,14,120,30,56,28,56,28,60,63, + 252,63,252,127,254,120,14,112,15,240,7,16,23,46,17,0, + 0,14,112,14,112,14,112,0,0,0,0,0,0,3,192,3, + 192,7,224,7,224,7,224,15,112,14,112,30,120,30,56,28, + 56,60,60,63,252,127,254,127,254,112,14,240,15,224,7,15, + 25,50,16,1,0,3,128,6,192,4,64,4,64,4,192,3, + 128,0,0,0,0,3,128,7,192,7,192,15,192,14,224,14, + 224,30,224,28,112,28,112,60,112,56,120,63,248,127,252,127, + 252,112,28,240,30,224,14,21,17,51,23,1,0,0,255,248, + 0,255,248,1,248,0,1,248,0,3,184,0,3,184,0,7, + 56,0,7,63,248,14,63,248,14,56,0,30,56,0,31,248, + 0,63,248,0,120,56,0,112,56,0,240,63,248,224,63,248, + 14,22,44,16,1,251,15,192,31,240,63,248,120,56,112,60, + 240,28,224,0,224,0,224,0,224,0,224,0,224,0,112,28, + 112,60,56,120,31,240,15,192,3,0,3,192,0,96,0,96, + 7,192,11,24,48,15,2,0,56,0,24,0,28,0,12,0, + 6,0,0,0,0,0,255,224,255,224,255,224,224,0,224,0, + 224,0,224,0,255,224,255,224,224,0,224,0,224,0,224,0, + 224,0,255,224,255,224,255,224,11,24,48,15,2,0,3,128, + 3,0,7,0,6,0,12,0,0,0,0,0,255,224,255,224, + 255,224,224,0,224,0,224,0,224,0,255,224,255,224,224,0, + 224,0,224,0,224,0,224,0,255,224,255,224,255,224,11,24, + 48,15,2,0,14,0,31,0,27,0,59,128,49,128,0,0, + 0,0,255,224,255,224,255,224,224,0,224,0,224,0,224,0, + 255,224,255,224,224,0,224,0,224,0,224,0,224,0,255,224, + 255,224,255,224,11,23,46,15,2,0,59,128,59,128,59,128, + 0,0,0,0,0,0,255,224,255,224,255,224,224,0,224,0, + 224,0,224,0,255,224,255,224,224,0,224,0,224,0,224,0, + 224,0,255,224,255,224,255,224,5,24,24,7,0,0,224,224, + 96,48,16,0,0,56,56,56,56,56,56,56,56,56,56,56, + 56,56,56,56,56,56,5,24,24,5,1,0,56,48,112,96, + 192,0,0,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,7,24,24,7,0,0,56,56,108,108,198,0, + 0,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56, + 56,56,8,23,23,8,0,0,231,231,231,0,0,0,56,56, + 56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,15, + 17,34,16,0,0,63,192,63,240,63,248,56,60,56,28,56, + 30,56,14,56,14,255,14,255,14,56,14,56,30,56,28,56, + 60,63,248,63,240,63,192,14,23,46,18,2,0,0,32,15, + 192,15,192,0,0,0,0,0,0,248,28,248,28,252,28,252, + 28,238,28,238,28,231,28,231,28,231,156,227,156,227,220,225, + 220,225,220,224,252,224,252,224,124,224,124,15,24,48,17,1, + 0,28,0,14,0,6,0,3,0,1,0,0,0,0,0,7, + 192,31,240,63,248,120,60,112,28,240,30,224,14,224,14,224, + 14,224,14,224,14,240,14,112,28,120,60,63,248,31,240,7, + 224,15,24,48,17,1,0,0,112,0,224,0,192,1,128,1, + 0,0,0,0,0,7,192,31,240,63,248,120,60,112,28,240, + 30,224,14,224,14,224,14,224,14,224,14,240,14,112,28,120, + 60,63,248,31,240,7,224,15,24,48,17,1,0,3,128,7, + 192,6,192,12,96,8,32,0,0,0,0,7,192,31,240,63, + 248,120,60,112,28,240,30,224,14,224,14,224,14,224,14,224, + 14,240,14,112,28,120,60,63,248,31,240,7,224,15,23,46, + 17,1,0,7,32,15,224,8,192,0,0,0,0,0,0,7, + 192,31,240,63,248,120,60,112,28,240,30,224,14,224,14,224, + 14,224,14,224,14,224,14,112,28,120,60,63,248,31,240,7, + 224,15,23,46,17,1,0,14,112,14,112,14,112,0,0,0, + 0,0,0,7,192,31,240,63,248,120,60,112,28,240,30,224, + 14,224,14,224,14,224,14,224,14,240,14,112,28,120,60,63, + 248,31,240,7,224,13,12,24,23,5,1,192,24,96,48,48, + 96,24,192,13,128,7,0,7,0,13,128,24,192,48,96,96, + 48,192,24,17,19,57,17,0,255,0,1,0,3,241,128,15, + 251,0,31,254,0,60,30,0,56,30,0,120,63,0,112,119, + 0,112,231,0,113,199,0,115,135,0,119,7,0,126,7,0, + 60,14,0,60,30,0,63,252,0,111,248,0,227,224,0,64, + 0,0,14,24,48,18,2,0,28,0,12,0,14,0,6,0, + 3,0,0,0,0,0,224,28,224,28,224,28,224,28,224,28, + 224,28,224,28,224,28,224,28,224,28,224,28,224,28,240,60, + 112,56,127,248,63,240,15,192,14,24,48,18,2,0,0,224, + 0,192,1,192,1,128,3,0,0,0,0,0,224,28,224,28, + 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, + 224,28,224,28,240,60,112,56,127,248,63,240,15,192,14,24, + 48,18,2,0,7,128,7,128,15,192,12,192,24,96,0,0, + 0,0,224,28,224,28,224,28,224,28,224,28,224,28,224,28, + 224,28,224,28,224,28,224,28,224,28,240,60,112,56,127,248, + 63,240,15,192,14,23,46,16,1,0,28,224,28,224,28,224, + 0,0,0,0,0,0,224,28,224,28,224,28,224,28,224,28, + 224,28,224,28,224,28,224,28,224,28,224,28,224,28,240,60, + 120,120,127,248,63,240,15,192,13,23,46,15,1,0,1,192, + 1,128,3,0,2,0,0,0,0,0,224,56,240,120,112,112, + 120,240,56,224,61,224,29,192,31,192,15,128,15,128,7,0, + 7,0,7,0,7,0,7,0,7,0,7,0,12,17,34,15, + 1,0,224,0,224,0,224,0,255,128,255,224,255,224,224,240, + 224,112,224,112,224,240,255,224,255,224,255,128,224,0,224,0, + 224,0,224,0,12,17,34,14,1,0,63,0,127,128,241,192, + 225,192,225,192,227,128,231,0,238,0,238,0,239,128,231,192, + 225,224,224,112,238,112,238,112,239,224,231,192,10,19,38,13, + 1,0,112,0,56,0,24,0,12,0,4,0,0,0,0,0, + 31,0,127,128,113,192,1,192,31,192,127,192,241,192,225,192, + 225,192,243,192,127,192,60,192,10,19,38,13,1,0,3,128, + 3,0,6,0,6,0,12,0,0,0,0,0,31,0,127,128, + 113,192,1,192,31,192,127,192,241,192,225,192,225,192,243,192, + 127,192,60,192,10,19,38,13,1,0,14,0,30,0,27,0, + 51,0,33,128,0,0,0,0,31,0,127,128,113,192,1,192, + 31,192,127,192,241,192,225,192,225,192,243,192,127,192,60,192, + 10,17,34,13,1,0,31,128,63,0,0,0,0,0,0,0, + 31,0,127,128,113,192,1,192,31,192,127,192,241,192,225,192, + 225,192,243,192,127,192,60,192,10,18,36,13,1,0,115,128, + 115,128,115,128,0,0,0,0,0,0,63,0,127,128,241,192, + 1,192,31,192,127,192,241,192,225,192,225,192,243,192,127,192, + 60,192,10,20,40,13,1,0,14,0,27,0,17,0,19,0, + 31,0,14,0,0,0,0,0,31,0,127,128,113,192,1,192, + 31,192,127,192,241,192,225,192,225,192,243,192,127,192,60,192, + 18,12,36,20,1,0,31,31,0,127,191,128,113,243,128,0, + 225,192,31,255,192,127,255,192,240,224,0,224,224,0,224,225, + 192,241,243,192,127,63,128,62,31,0,10,17,34,12,1,251, + 31,0,127,128,115,192,225,192,224,0,224,0,224,0,224,0, + 225,192,115,192,127,128,63,0,8,0,14,0,3,0,3,0, + 30,0,11,19,38,13,1,0,112,0,56,0,24,0,12,0, + 4,0,0,0,0,0,31,0,63,128,113,192,225,224,255,224, + 255,224,224,0,224,0,225,192,113,192,127,192,31,0,11,19, + 38,13,1,0,3,128,3,0,7,0,6,0,12,0,0,0, + 0,0,31,0,63,128,113,192,225,224,255,224,255,224,224,0, + 224,0,225,192,113,192,127,192,31,0,11,19,38,13,1,0, + 14,0,31,0,27,0,49,128,33,128,0,0,0,0,31,0, + 63,128,113,192,225,224,255,224,255,224,224,0,224,0,225,192, + 113,192,127,192,31,0,11,18,36,13,1,0,115,128,115,128, + 115,128,0,0,0,0,0,0,31,0,63,128,115,192,225,192, + 255,224,255,224,224,0,224,0,225,192,115,192,127,128,31,0, + 5,18,18,6,255,0,224,112,48,24,0,0,56,56,56,56, + 56,56,56,56,56,56,56,56,4,18,18,5,1,0,112,96, + 224,192,0,0,224,224,224,224,224,224,224,224,224,224,224,224, + 7,18,18,6,255,0,56,124,108,198,0,0,56,56,56,56, + 56,56,56,56,56,56,56,56,8,18,18,7,255,0,231,231, + 231,0,0,0,56,56,56,56,56,56,56,56,56,56,56,56, + 12,17,34,14,1,0,28,96,15,192,15,128,59,128,33,192, + 31,224,63,224,112,224,240,240,224,112,224,112,224,112,224,112, + 240,240,112,224,63,192,31,128,11,17,34,13,1,0,31,128, + 63,0,0,0,0,0,0,0,239,128,255,192,241,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, + 12,19,38,14,1,0,56,0,28,0,12,0,6,0,6,0, + 0,0,0,0,31,128,63,192,112,224,240,224,224,112,224,112, + 224,112,224,112,240,240,112,224,63,192,31,128,12,19,38,14, + 1,0,1,192,3,128,3,0,6,0,4,0,0,0,0,0, + 31,128,63,192,112,224,240,224,224,112,224,112,224,112,224,112, + 240,240,112,224,63,192,31,128,12,19,38,14,1,0,15,0, + 15,0,31,128,25,128,48,192,0,0,0,0,31,128,63,192, + 112,224,240,224,224,112,224,112,224,112,224,112,240,240,112,224, + 63,192,31,128,12,17,34,14,1,0,31,192,63,128,0,0, + 0,0,0,0,31,128,63,192,112,224,240,224,224,112,224,112, + 224,112,224,112,240,240,112,224,63,192,31,128,12,18,36,14, + 1,0,57,192,57,192,57,192,0,0,0,0,0,0,31,128, + 63,192,112,224,240,224,224,112,224,112,224,112,224,112,240,240, + 112,224,63,192,31,128,14,10,20,24,5,2,7,0,7,0, + 6,0,0,0,255,252,255,252,0,0,2,0,7,0,7,0, + 12,15,30,14,1,254,0,32,0,48,31,224,63,192,113,224, + 241,240,227,112,230,112,236,112,248,112,248,240,112,224,127,192, + 223,128,192,0,11,19,38,13,1,0,112,0,56,0,28,0, + 12,0,6,0,0,0,0,0,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,241,224,127,224,62,224, + 11,19,38,13,1,0,3,128,3,128,7,0,6,0,12,0, + 0,0,0,0,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,241,224,127,224,62,224,11,19,38,13, + 1,0,14,0,31,0,27,0,49,128,32,128,0,0,0,0, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,241,224,127,224,62,224,11,18,36,13,1,0,115,128, + 115,128,115,128,0,0,0,0,0,0,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,241,224,127,224, + 62,224,11,23,46,13,1,251,1,128,3,128,3,0,6,0, + 0,0,0,0,224,224,224,224,241,224,113,192,121,192,59,192, + 59,128,63,128,31,128,31,0,31,0,15,0,14,0,14,0, + 254,0,252,0,120,0,12,22,44,15,2,251,224,0,224,0, + 224,0,224,0,224,0,239,128,255,192,248,224,240,240,224,112, + 224,112,224,112,224,112,240,240,241,224,255,192,239,128,224,0, + 224,0,224,0,224,0,224,0,12,22,44,14,1,251,57,192, + 57,192,57,192,0,0,0,0,240,112,240,240,112,240,120,224, + 121,224,57,192,61,192,31,192,31,128,31,128,15,128,15,0, + 15,0,15,0,14,0,30,0,28,0}; +/* + Fontname: -FreeType-FreeUniversal-Bold-R-Normal--23-230-72-72-P-115-ISO10646-1 + Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. + Capital A Height: 0, '1' Height: 17 + Calculated Max Values w=14 h=18 x= 5 y= 8 dx=24 dy= 0 ascent=17 len=34 + Font Bounding box w=34 h=31 x=-2 y=-6 + Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 + Pure Font ascent =17 descent= 0 + X Font ascent =17 descent= 0 + Max Font ascent =17 descent=-3 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_fub17n[530] U8G_FONT_SECTION("u8g_font_fub17n") = { + 0,34,31,254,250,17,0,0,0,0,42,58,0,17,253,17, + 0,9,9,18,15,3,8,54,0,54,0,54,0,156,128,255, + 128,156,128,54,0,54,0,54,0,14,14,28,24,5,0,2, + 0,2,0,2,0,2,0,2,0,2,0,255,252,255,252,2, + 0,2,0,2,0,2,0,2,0,2,0,5,6,6,7,1, + 253,56,112,112,96,96,224,6,3,3,8,1,4,252,252,252, + 3,3,3,7,2,0,224,224,224,8,18,18,10,1,255,7, + 6,6,14,12,12,12,28,24,24,56,48,48,48,112,96,96, + 224,11,17,34,13,1,0,31,0,63,128,113,192,112,192,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,112,192,113,192,63,128,31,0,7,17,17,13,2,0,14, + 62,254,254,206,14,14,14,14,14,14,14,14,14,14,14,14, + 12,17,34,13,1,0,15,128,63,224,120,224,112,112,0,112, + 0,112,0,240,1,224,3,224,7,192,15,128,30,0,60,0, + 248,0,255,240,255,240,255,240,11,17,34,13,1,0,31,0, + 127,192,241,224,224,224,0,224,0,224,1,192,15,128,15,128, + 1,192,0,224,0,224,224,224,241,224,255,192,127,128,31,0, + 12,17,34,13,1,0,3,192,7,192,7,192,15,192,29,192, + 29,192,57,192,113,192,113,192,225,192,255,240,255,240,255,240, + 1,192,1,192,1,192,1,192,11,17,34,13,1,0,255,192, + 255,192,255,192,224,0,224,0,224,0,239,128,255,192,241,224, + 224,224,0,224,0,224,224,224,225,224,255,192,127,128,63,0, + 11,17,34,13,1,0,15,0,63,192,57,224,112,224,96,0, + 224,0,239,128,255,192,241,224,224,224,224,224,224,224,224,224, + 96,224,113,192,63,128,31,0,11,17,34,13,1,0,255,224, + 255,224,255,224,0,224,1,224,1,192,3,192,3,128,7,128, + 7,128,7,0,15,0,14,0,30,0,28,0,60,0,60,0, + 11,17,34,13,1,0,31,0,127,192,241,224,224,224,224,224, + 224,224,113,192,63,128,63,128,113,192,224,224,224,224,224,224, + 224,224,241,224,127,192,31,0,11,17,34,13,1,0,31,0, + 63,128,113,192,224,192,224,224,224,224,224,224,241,224,127,224, + 62,224,0,224,0,224,224,224,225,192,113,192,127,128,30,0, + 3,12,12,7,3,0,224,224,224,0,0,0,0,0,0,224, + 224,224}; +/* + Fontname: -FreeType-FreeUniversal-Bold-R-Normal--23-230-72-72-P-115-ISO10646-1 + Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. + Capital A Height: 17, '1' Height: 17 + Calculated Max Values w=23 h=25 x= 6 y=14 dx=24 dy= 0 ascent=19 len=66 + Font Bounding box w=34 h=31 x=-2 y=-6 + Calculated Min Values x= 0 y=-6 dx= 0 dy= 0 + Pure Font ascent =17 descent=-5 + X Font ascent =17 descent=-5 + Max Font ascent =19 descent=-6 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_fub17r[3222] U8G_FONT_SECTION("u8g_font_fub17r") = { + 0,34,31,254,250,17,4,8,8,209,32,127,251,19,250,17, + 251,0,0,0,7,0,0,3,17,17,9,3,0,224,224,224, + 224,224,224,224,224,224,224,224,224,0,0,224,224,224,8,7, + 7,12,2,10,231,231,231,231,231,231,231,14,17,34,16,1, + 0,3,24,7,24,6,56,6,48,63,252,63,252,12,96,12, + 96,28,96,24,224,255,248,255,240,57,192,49,128,49,128,113, + 128,99,128,12,21,42,14,1,253,2,0,15,128,63,192,127, + 224,242,224,226,224,226,0,250,0,126,0,63,192,15,224,3, + 240,2,240,226,112,226,112,242,240,127,224,63,192,15,0,2, + 0,2,0,21,17,51,23,1,0,62,3,0,127,7,0,99, + 6,0,193,142,0,193,140,0,193,152,0,193,184,0,99,48, + 128,127,119,224,62,102,48,0,236,24,0,204,24,1,204,24, + 1,140,24,3,14,56,7,7,240,6,3,224,16,17,34,18, + 1,0,31,128,63,192,121,224,112,224,113,224,57,192,63,128, + 31,0,63,30,119,156,243,220,225,252,224,252,224,120,120,124, + 127,254,31,207,3,7,7,9,3,10,224,224,224,224,224,224, + 96,5,20,20,9,2,253,56,56,112,112,112,240,224,224,224, + 224,224,224,224,224,240,112,112,112,48,56,5,20,20,9,2, + 253,224,96,112,112,112,56,56,56,56,56,56,56,56,56,56, + 112,112,112,96,224,9,9,18,15,3,8,54,0,54,0,54, + 0,156,128,255,128,156,128,54,0,54,0,54,0,14,14,28, + 24,5,0,2,0,2,0,2,0,2,0,2,0,2,0,255, + 252,255,252,2,0,2,0,2,0,2,0,2,0,2,0,5, + 6,6,7,1,253,56,112,112,96,96,224,6,3,3,8,1, + 4,252,252,252,3,3,3,7,2,0,224,224,224,8,18,18, + 10,1,255,7,6,6,14,12,12,12,28,24,24,56,48,48, + 48,112,96,96,224,11,17,34,13,1,0,31,0,63,128,113, + 192,112,192,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,112,192,113,192,63,128,31,0,7,17,17, + 13,2,0,14,62,254,254,206,14,14,14,14,14,14,14,14, + 14,14,14,14,12,17,34,13,1,0,15,128,63,224,120,224, + 112,112,0,112,0,112,0,240,1,224,3,224,7,192,15,128, + 30,0,60,0,248,0,255,240,255,240,255,240,11,17,34,13, + 1,0,31,0,127,192,241,224,224,224,0,224,0,224,1,192, + 15,128,15,128,1,192,0,224,0,224,224,224,241,224,255,192, + 127,128,31,0,12,17,34,13,1,0,3,192,7,192,7,192, + 15,192,29,192,29,192,57,192,113,192,113,192,225,192,255,240, + 255,240,255,240,1,192,1,192,1,192,1,192,11,17,34,13, + 1,0,255,192,255,192,255,192,224,0,224,0,224,0,239,128, + 255,192,241,224,224,224,0,224,0,224,224,224,225,224,255,192, + 127,128,63,0,11,17,34,13,1,0,15,0,63,192,57,224, + 112,224,96,0,224,0,239,128,255,192,241,224,224,224,224,224, + 224,224,224,224,96,224,113,192,63,128,31,0,11,17,34,13, + 1,0,255,224,255,224,255,224,0,224,1,224,1,192,3,192, + 3,128,7,128,7,128,7,0,15,0,14,0,30,0,28,0, + 60,0,60,0,11,17,34,13,1,0,31,0,127,192,241,224, + 224,224,224,224,224,224,113,192,63,128,63,128,113,192,224,224, + 224,224,224,224,224,224,241,224,127,192,31,0,11,17,34,13, + 1,0,31,0,63,128,113,192,224,192,224,224,224,224,224,224, + 241,224,127,224,62,224,0,224,0,224,224,224,225,192,113,192, + 127,128,30,0,3,12,12,7,3,0,224,224,224,0,0,0, + 0,0,0,224,224,224,5,14,14,8,1,254,56,56,56,0, + 0,0,0,0,56,56,112,112,96,224,14,12,24,24,5,1, + 0,12,0,60,1,224,7,0,60,0,224,0,224,0,60,0, + 7,0,1,224,0,60,0,12,14,6,12,24,5,4,255,252, + 255,252,0,0,0,0,255,252,255,252,14,12,24,24,5,1, + 192,0,240,0,30,0,3,128,0,240,0,28,0,28,0,240, + 3,128,30,0,240,0,192,0,10,17,34,12,1,0,62,0, + 127,128,227,128,193,192,1,192,1,192,3,128,7,128,14,0, + 28,0,24,0,24,0,24,0,0,0,0,0,24,0,24,0, + 22,22,66,24,1,251,0,254,0,3,255,128,15,255,224,31, + 1,240,62,0,240,120,247,120,121,255,56,113,207,60,243,135, + 28,227,135,28,227,135,28,227,135,28,227,135,28,227,207,56, + 241,255,248,113,251,240,120,113,224,60,0,0,31,0,0,15, + 255,0,7,255,0,0,255,0,16,17,34,16,0,0,3,192, + 3,192,3,224,7,224,7,240,15,112,14,112,14,120,30,56, + 28,56,28,60,63,252,63,252,127,254,120,14,112,15,240,7, + 12,17,34,15,2,0,255,192,255,224,255,240,224,240,224,112, + 224,112,224,224,255,192,255,192,224,224,224,112,224,112,224,112, + 224,240,255,240,255,224,255,128,14,17,34,16,1,0,15,192, + 31,240,63,248,120,120,112,60,240,60,224,0,224,0,224,0, + 224,0,224,0,224,0,112,60,112,60,56,120,31,240,15,192, + 14,17,34,17,2,0,255,0,255,224,255,240,224,248,224,56, + 224,60,224,28,224,28,224,28,224,28,224,28,224,60,224,56, + 224,248,255,240,255,224,255,128,11,17,34,15,2,0,255,224, + 255,224,255,224,224,0,224,0,224,0,224,0,255,224,255,224, + 224,0,224,0,224,0,224,0,224,0,255,224,255,224,255,224, + 11,17,34,14,2,0,255,224,255,224,255,224,224,0,224,0, + 224,0,224,0,255,192,255,192,255,192,224,0,224,0,224,0, + 224,0,224,0,224,0,224,0,15,17,34,18,1,0,7,224, + 31,248,63,252,124,30,112,14,240,14,224,0,224,0,224,254, + 224,254,224,254,240,14,112,14,124,14,63,254,31,254,3,248, + 13,17,34,17,2,0,224,56,224,56,224,56,224,56,224,56, + 224,56,224,56,255,248,255,248,255,248,224,56,224,56,224,56, + 224,56,224,56,224,56,224,56,3,17,17,7,2,0,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,11, + 17,34,14,1,0,0,224,0,224,0,224,0,224,0,224,0, + 224,0,224,0,224,0,224,0,224,0,224,224,224,224,224,240, + 224,255,192,127,192,63,0,13,17,34,16,2,0,224,240,224, + 224,225,224,227,192,231,128,239,0,239,0,254,0,254,0,239, + 0,231,128,231,128,227,192,225,224,225,240,224,240,224,120,11, + 17,34,14,2,0,224,0,224,0,224,0,224,0,224,0,224, + 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, + 0,255,224,255,224,255,224,18,17,51,22,2,0,252,7,192, + 252,15,192,252,15,192,252,15,192,238,31,192,238,29,192,238, + 29,192,231,61,192,231,57,192,231,57,192,231,185,192,227,241, + 192,227,241,192,227,241,192,225,241,192,225,225,192,225,225,192, + 14,17,34,18,2,0,248,28,248,28,252,28,252,28,238,28, + 238,28,231,28,231,28,231,156,227,156,227,220,225,220,225,220, + 224,252,224,252,224,124,224,124,15,17,34,17,1,0,7,192, + 31,240,63,248,120,60,112,28,240,30,224,14,224,14,224,14, + 224,14,224,14,240,14,112,28,120,60,63,248,31,240,7,224, + 12,17,34,15,2,0,255,128,255,192,255,224,224,240,224,112, + 224,112,224,112,224,240,255,224,255,192,255,0,224,0,224,0, + 224,0,224,0,224,0,224,0,17,17,51,19,1,0,7,192, + 0,31,240,0,63,248,0,120,60,0,112,28,0,240,30,0, + 224,14,0,224,14,0,224,14,0,224,14,0,224,14,0,240, + 14,0,112,28,0,120,60,0,63,255,128,31,255,128,7,255, + 128,13,17,34,16,2,0,255,192,255,240,255,248,224,120,224, + 56,224,56,224,112,255,224,255,192,255,240,224,240,224,112,224, + 120,224,56,224,56,224,56,224,56,13,17,34,15,1,0,15, + 192,63,224,56,240,112,112,112,0,120,0,126,0,63,192,31, + 240,3,240,0,120,224,56,224,56,240,120,127,240,63,224,15, + 128,13,17,34,15,1,0,255,248,255,248,255,248,7,0,7, + 0,7,0,7,0,7,0,7,0,7,0,7,0,7,0,7, + 0,7,0,7,0,7,0,7,0,14,17,34,18,2,0,224, + 28,224,28,224,28,224,28,224,28,224,28,224,28,224,28,224, + 28,224,28,224,28,224,28,240,60,120,120,127,248,63,240,15, + 192,17,17,51,17,0,0,240,7,128,112,7,0,120,15,0, + 120,14,0,56,30,0,60,30,0,28,28,0,30,60,0,30, + 60,0,14,56,0,15,120,0,15,112,0,7,112,0,7,240, + 0,7,224,0,3,224,0,3,224,0,23,17,51,23,0,0, + 240,56,30,112,124,28,112,124,28,120,124,60,120,108,60,56, + 238,56,56,238,56,56,238,56,60,198,120,29,199,112,29,199, + 112,29,199,112,29,131,112,15,131,224,15,131,224,15,131,224, + 15,1,224,14,17,34,16,1,0,240,60,120,56,120,120,60, + 112,28,224,31,224,15,192,7,128,7,128,15,192,31,192,29, + 224,56,240,120,112,112,120,240,60,224,60,13,17,34,15,1, + 0,224,56,240,120,112,112,120,240,56,224,61,224,29,192,31, + 192,15,128,15,128,7,0,7,0,7,0,7,0,7,0,7, + 0,7,0,12,17,34,14,1,0,255,240,255,240,255,240,1, + 240,1,224,3,192,7,128,7,128,15,0,30,0,60,0,60, + 0,120,0,240,0,255,240,255,240,255,240,5,22,22,9,2, + 251,248,248,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,248,248,7,18,18,10,1,255,192,224,96, + 96,112,48,48,56,24,24,24,28,12,12,14,6,6,6,5, + 22,22,9,2,251,248,248,56,56,56,56,56,56,56,56,56, + 56,56,56,56,56,56,56,56,56,248,248,11,14,28,23,6, + 0,4,0,14,0,10,0,27,0,17,0,17,0,49,128,32, + 128,32,128,96,192,64,64,192,96,128,32,128,32,12,2,4, + 12,0,253,255,240,255,240,4,4,4,6,0,14,224,96,48, + 48,10,12,24,13,1,0,31,0,127,128,113,192,1,192,31, + 192,127,192,241,192,225,192,225,192,243,192,127,192,60,192,12, + 17,34,14,1,0,224,0,224,0,224,0,224,0,224,0,239, + 128,255,192,241,224,240,240,224,112,224,112,224,112,224,112,240, + 240,248,224,255,192,231,128,10,12,24,12,1,0,31,0,127, + 128,115,192,225,192,224,0,224,0,224,0,225,192,225,192,115, + 192,127,128,31,0,12,17,34,14,1,0,0,112,0,112,0, + 112,0,112,0,112,31,112,63,240,120,240,240,240,224,112,224, + 112,224,112,224,112,240,240,113,240,63,240,30,112,11,12,24, + 13,1,0,31,0,63,128,113,192,225,224,255,224,255,224,224, + 0,224,0,225,192,113,192,127,192,31,0,8,17,17,9,1, + 0,31,63,56,56,56,255,255,56,56,56,56,56,56,56,56, + 56,56,12,17,34,14,1,251,31,112,63,240,120,240,240,240, + 224,112,224,112,224,112,224,112,240,240,112,240,127,240,30,112, + 0,112,112,112,120,224,63,224,31,128,11,17,34,13,1,0, + 224,0,224,0,224,0,224,0,224,0,239,128,255,192,241,224, + 240,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,3,17,17,5,1,0,224,224,224,0,0,224,224,224, + 224,224,224,224,224,224,224,224,224,4,22,22,7,2,251,112, + 112,112,0,0,112,112,112,112,112,112,112,112,112,112,112,112, + 112,112,240,240,224,11,17,34,12,1,0,224,0,224,0,224, + 0,224,0,224,0,227,192,227,128,231,0,239,0,254,0,254, + 0,238,0,239,0,231,128,231,128,227,192,225,224,3,17,17, + 6,1,0,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,19,12,36,21,1,0,231,143,128,239,223,192, + 249,241,224,240,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,11,12, + 24,13,1,0,239,128,255,192,241,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,12,12,24,14, + 1,0,31,128,63,192,112,224,240,224,224,112,224,112,224,112, + 224,112,240,240,112,224,63,192,31,128,12,17,34,14,1,251, + 231,128,255,192,248,224,240,240,224,112,224,112,224,112,224,112, + 240,240,241,224,255,192,239,128,224,0,224,0,224,0,224,0, + 224,0,12,17,34,14,1,251,30,112,63,240,113,240,240,240, + 224,112,224,112,224,112,224,112,240,240,120,240,63,240,31,112, + 0,112,0,112,0,112,0,112,0,112,7,12,12,9,1,0, + 238,238,254,240,240,224,224,224,224,224,224,224,10,12,24,12, + 1,0,63,0,127,128,241,192,225,192,248,0,127,0,31,128, + 3,192,225,192,227,192,127,128,63,0,8,15,15,10,1,0, + 24,56,56,255,255,56,56,56,56,56,56,56,60,63,15,11, + 12,24,13,1,0,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,241,224,127,224,62,224,12,12,24, + 13,0,0,240,112,112,240,112,224,120,224,56,224,57,192,29, + 192,29,192,31,128,15,128,15,128,15,0,19,12,36,20,0, + 0,240,240,224,112,240,224,113,240,224,113,249,192,57,249,192, + 59,185,192,59,159,192,63,159,128,31,31,128,31,15,128,31, + 15,0,15,15,0,11,12,24,13,1,0,241,224,113,192,123, + 128,63,128,31,0,30,0,31,0,63,128,123,128,115,192,241, + 192,225,224,12,17,34,12,0,251,240,112,112,240,120,224,56, + 224,57,224,61,192,29,192,29,192,31,128,15,128,15,128,7, + 0,7,0,15,0,14,0,14,0,30,0,10,12,24,12,1, + 0,255,128,255,128,7,128,7,0,14,0,30,0,60,0,56, + 0,112,0,224,0,255,192,255,192,9,23,46,12,2,250,7, + 128,15,128,28,0,28,0,28,0,28,0,28,0,28,0,28, + 0,60,0,248,0,224,0,248,0,60,0,28,0,28,0,28, + 0,28,0,28,0,28,0,28,0,15,128,7,128,2,25,25, + 8,3,250,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,8,23,23,12, + 2,250,224,240,56,56,56,56,56,56,56,28,31,7,31,28, + 56,56,56,56,56,56,56,248,224,12,3,6,12,0,5,60, + 48,127,240,227,192,255}; +/* + Fontname: -FreeType-FreeUniversal-Bold-R-Normal--27-270-72-72-P-136-ISO10646-1 + Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. + Capital A Height: 20, '1' Height: 20 + Calculated Max Values w=27 h=29 x= 7 y=18 dx=28 dy= 0 ascent=29 len=100 + Font Bounding box w=40 h=36 x=-2 y=-7 + Calculated Min Values x=-1 y=-7 dx= 0 dy= 0 + Pure Font ascent =20 descent=-5 + X Font ascent =20 descent=-5 + Max Font ascent =29 descent=-7 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_fub20[8916] U8G_FONT_SECTION("u8g_font_fub20") = { + 0,40,36,254,249,20,4,242,11,37,32,255,251,29,249,20, + 251,0,0,0,8,0,0,4,20,20,11,4,0,240,240,240, + 240,240,240,240,240,240,240,240,240,240,240,0,0,0,240,240, + 240,10,8,16,14,2,12,243,192,243,192,243,192,243,192,243, + 192,225,192,225,192,97,128,17,20,60,19,1,0,1,199,0, + 1,134,0,3,142,0,3,142,0,3,142,0,31,255,128,63, + 255,128,7,28,0,6,24,0,14,56,0,14,56,0,14,48, + 0,127,254,0,255,254,0,28,112,0,24,96,0,56,224,0, + 56,224,0,56,224,0,49,192,0,14,24,48,16,1,253,1, + 0,7,192,31,240,63,248,125,120,113,60,241,60,241,0,253, + 0,127,0,63,224,31,240,3,248,1,124,1,60,241,60,241, + 60,249,60,127,248,63,240,31,224,1,0,1,0,1,0,25, + 20,80,27,1,0,31,0,96,0,63,128,224,0,123,192,192, + 0,225,193,192,0,224,227,128,0,224,227,0,0,224,231,0, + 0,224,230,0,0,113,206,0,0,127,204,124,0,63,28,254, + 0,0,57,199,0,0,59,131,0,0,115,131,128,0,99,131, + 128,0,227,131,128,1,195,135,128,1,193,239,0,3,128,254, + 0,3,128,124,0,19,20,60,21,1,0,15,192,0,31,240, + 0,60,240,0,120,120,0,120,120,0,120,112,0,60,240,0, + 63,224,0,31,192,0,31,128,0,63,135,128,123,199,128,249, + 231,128,240,247,0,240,127,0,240,63,0,240,30,0,124,127, + 0,63,255,128,15,227,224,4,8,8,11,4,12,240,224,224, + 224,224,224,224,224,6,24,24,10,2,252,28,56,56,120,120, + 112,112,240,240,240,240,240,240,240,240,240,240,112,112,120,120, + 56,56,28,6,24,24,11,3,252,224,240,112,112,120,120,120, + 56,56,60,60,60,60,60,60,56,56,120,120,120,112,112,240, + 224,11,11,22,17,3,9,17,0,59,128,59,128,27,0,238, + 224,255,224,206,96,27,0,59,128,59,128,17,0,16,16,32, + 26,5,0,1,128,1,128,1,128,1,128,1,128,1,128,1, + 128,255,255,255,255,1,128,1,128,1,128,1,128,1,128,1, + 128,1,128,6,7,7,8,1,252,60,56,56,112,112,112,224, + 7,4,4,9,1,5,254,254,254,254,4,4,4,9,3,0, + 240,240,240,240,8,21,21,12,2,255,7,7,7,6,14,14, + 12,28,28,24,56,56,56,48,112,112,96,224,224,224,192,14, + 20,40,15,1,0,15,128,31,224,60,240,120,112,112,56,240, + 56,240,56,240,60,240,60,240,60,240,60,240,60,240,60,240, + 56,240,56,112,56,120,120,60,240,31,224,15,128,8,20,20, + 15,3,0,15,63,127,255,239,207,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,14,20,40,15,1,0,7,192,31, + 240,63,248,124,120,120,60,120,60,0,60,0,120,0,120,0, + 240,1,240,3,224,7,192,15,128,31,0,124,0,248,0,255, + 252,255,252,255,252,13,20,40,15,1,0,15,128,63,224,127, + 240,248,240,240,120,0,120,0,120,0,240,15,224,15,128,15, + 224,0,240,0,120,0,120,240,120,240,120,248,240,127,240,63, + 224,31,128,14,20,40,15,1,0,1,240,3,240,3,240,7, + 240,7,240,14,240,30,240,28,240,60,240,56,240,120,240,112, + 240,240,240,255,252,255,252,255,252,0,240,0,240,0,240,0, + 240,13,20,40,15,1,0,255,240,255,240,255,240,240,0,240, + 0,240,0,240,0,247,192,255,224,253,240,240,120,240,120,0, + 120,0,120,0,120,240,120,240,240,127,240,63,224,31,128,13, + 20,40,15,1,0,15,192,31,224,63,240,120,120,120,120,112, + 0,240,0,247,192,239,224,253,240,248,120,240,120,240,120,240, + 120,240,120,112,120,120,240,63,240,63,224,15,128,13,20,40, + 15,1,0,255,248,255,248,255,248,0,120,0,120,0,240,0, + 240,1,224,1,224,1,224,3,192,3,192,7,128,7,128,15, + 128,15,0,31,0,30,0,30,0,62,0,14,20,40,15,1, + 0,31,192,63,240,127,240,120,248,240,120,240,120,240,120,120, + 240,63,224,31,192,63,240,120,120,240,56,240,60,240,60,240, + 60,248,120,127,248,63,240,31,192,13,20,40,15,1,0,15, + 128,63,192,127,224,120,240,240,112,240,120,240,120,240,120,240, + 120,120,248,127,184,63,56,0,120,0,120,0,112,240,240,120, + 240,127,224,63,192,15,128,4,14,14,9,4,0,240,240,240, + 240,0,0,0,0,0,0,240,240,240,240,6,17,17,8,1, + 253,60,60,60,60,0,0,0,0,0,0,60,56,120,112,112, + 224,224,16,14,28,26,5,1,0,3,0,31,0,120,3,192, + 15,0,120,0,224,0,224,0,60,0,7,128,1,224,0,60, + 0,15,0,1,16,7,14,26,5,5,255,255,255,255,0,0, + 0,0,0,0,255,255,255,255,16,14,28,26,5,1,192,0, + 248,0,30,0,3,192,0,240,0,30,0,7,0,7,0,60, + 1,224,7,128,60,0,240,0,128,0,13,20,40,15,1,0, + 31,128,63,224,121,240,240,112,32,120,0,120,0,112,0,240, + 1,224,3,192,7,128,14,0,14,0,14,0,14,0,0,0, + 0,0,15,0,15,0,15,0,26,25,100,28,1,251,0,63, + 128,0,1,255,240,0,7,255,252,0,15,224,254,0,31,0, + 31,0,62,0,15,0,60,61,231,128,120,255,231,128,121,247, + 227,192,241,225,227,192,241,193,227,192,243,193,227,192,243,193, + 227,192,243,193,227,192,243,193,227,192,241,193,227,128,113,227, + 231,128,120,255,255,0,124,254,255,0,60,60,60,0,31,0, + 0,0,15,192,32,0,7,255,224,0,1,255,224,0,0,127, + 224,0,19,20,60,19,0,0,1,240,0,1,240,0,1,248, + 0,3,248,0,3,248,0,3,188,0,7,188,0,7,156,0, + 15,30,0,15,30,0,15,30,0,30,15,0,30,15,0,31, + 255,128,63,255,128,63,255,128,56,3,192,120,3,192,120,3, + 192,240,1,224,15,20,40,18,2,0,255,224,255,240,255,248, + 240,124,240,60,240,60,240,56,240,120,255,240,255,192,255,248, + 240,60,240,28,240,30,240,30,240,30,240,60,255,252,255,248, + 255,224,17,20,60,19,1,0,7,240,0,15,252,0,63,254, + 0,60,31,0,120,15,0,112,15,0,240,0,0,240,0,0, + 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,240, + 15,128,112,15,0,120,31,0,60,62,0,63,254,0,31,248, + 0,7,224,0,16,20,40,19,2,0,255,128,255,240,255,248, + 240,124,240,62,240,30,240,15,240,15,240,15,240,15,240,15, + 240,15,240,15,240,15,240,30,240,62,240,124,255,248,255,240, + 255,128,13,20,40,17,2,0,255,248,255,248,255,248,240,0, + 240,0,240,0,240,0,240,0,255,248,255,248,255,248,240,0, + 240,0,240,0,240,0,240,0,240,0,255,248,255,248,255,248, + 13,20,40,16,2,0,255,248,255,248,255,248,240,0,240,0, + 240,0,240,0,240,0,255,240,255,240,255,240,240,0,240,0, + 240,0,240,0,240,0,240,0,240,0,240,0,240,0,18,20, + 60,20,1,0,1,248,0,15,254,0,31,255,0,62,15,128, + 124,3,128,120,3,192,112,0,0,240,0,0,240,0,0,240, + 63,192,240,63,192,240,63,192,240,3,192,240,3,192,120,3, + 192,124,3,192,63,3,192,31,255,192,15,255,192,1,254,0, + 16,20,40,20,2,0,240,15,240,15,240,15,240,15,240,15, + 240,15,240,15,240,15,255,255,255,255,255,255,240,15,240,15, + 240,15,240,15,240,15,240,15,240,15,240,15,240,15,4,20, + 20,8,2,0,240,240,240,240,240,240,240,240,240,240,240,240, + 240,240,240,240,240,240,240,240,14,20,40,17,1,0,0,60, + 0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60, + 0,60,0,60,0,60,0,60,0,60,240,60,240,56,248,120, + 127,240,127,224,31,192,15,20,40,18,2,0,240,60,240,124, + 240,248,241,240,241,224,243,224,247,192,255,128,255,0,255,0, + 255,128,247,192,247,192,243,224,241,240,240,240,240,248,240,124, + 240,62,240,62,13,20,40,16,2,0,240,0,240,0,240,0, + 240,0,240,0,240,0,240,0,240,0,240,0,240,0,240,0, + 240,0,240,0,240,0,240,0,240,0,240,0,255,248,255,248, + 255,248,21,20,60,25,2,0,252,1,248,254,3,248,254,3, + 248,254,3,248,255,7,248,255,7,248,247,7,120,247,15,120, + 247,143,120,247,143,120,243,142,120,243,222,120,243,222,120,241, + 220,120,241,252,120,241,252,120,240,248,120,240,248,120,240,248, + 120,240,248,120,17,20,60,21,2,0,252,7,128,252,7,128, + 254,7,128,254,7,128,255,7,128,255,7,128,247,135,128,247, + 135,128,243,199,128,243,199,128,241,231,128,241,231,128,240,247, + 128,240,247,128,240,127,128,240,127,128,240,63,128,240,63,128, + 240,31,128,240,31,128,18,20,60,20,1,0,3,240,0,15, + 252,0,31,254,0,62,31,0,120,7,128,120,7,128,240,3, + 192,240,3,192,240,3,192,240,3,192,240,3,192,240,3,192, + 240,3,192,240,3,192,120,7,128,120,7,128,62,31,0,31, + 254,0,15,252,0,3,240,0,14,20,40,17,2,0,255,192, + 255,240,255,248,240,124,240,60,240,60,240,60,240,60,240,124, + 255,248,255,240,255,192,240,0,240,0,240,0,240,0,240,0, + 240,0,240,0,240,0,20,20,60,22,1,0,3,240,0,15, + 252,0,63,254,0,62,31,0,120,7,128,120,7,128,240,3, + 192,240,3,192,240,3,192,240,3,192,240,3,192,240,3,192, + 240,3,192,240,3,192,120,7,128,120,7,128,62,31,0,31, + 255,240,15,255,240,3,255,240,15,20,40,18,2,0,255,224, + 255,248,255,252,240,62,240,30,240,30,240,30,240,30,240,124, + 255,248,255,240,255,252,240,60,240,60,240,28,240,30,240,30, + 240,30,240,30,240,14,16,20,40,18,1,0,7,224,31,248, + 63,252,60,60,120,30,120,30,120,0,124,0,63,128,31,240, + 15,252,0,254,0,30,0,15,240,15,240,14,120,62,127,252, + 63,248,7,224,16,20,40,18,1,0,255,255,255,255,255,255, + 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, + 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, + 3,192,17,20,60,21,2,0,240,7,128,240,7,128,240,7, + 128,240,7,128,240,7,128,240,7,128,240,7,128,240,7,128, + 240,7,128,240,7,128,240,7,128,240,7,128,240,7,128,240, + 7,0,240,15,0,120,15,0,124,30,0,63,254,0,31,248, + 0,7,224,0,19,20,60,20,0,0,248,1,224,120,1,224, + 120,3,224,60,3,192,60,3,192,62,7,192,30,7,128,30, + 7,128,31,15,128,15,15,0,15,15,0,15,158,0,7,158, + 0,7,158,0,7,252,0,3,252,0,3,252,0,1,248,0, + 1,248,0,1,240,0,27,20,80,27,0,0,248,31,3,224, + 120,31,3,192,120,31,3,192,120,63,131,192,120,63,131,192, + 60,59,135,128,60,59,135,128,60,123,199,128,60,123,199,128, + 28,113,199,0,30,113,207,0,30,241,239,0,30,241,239,0, + 14,224,238,0,14,224,238,0,15,224,254,0,15,224,254,0, + 7,192,124,0,7,192,124,0,7,192,124,0,17,20,60,19, + 1,0,248,15,128,120,15,0,124,30,0,62,30,0,30,60, + 0,31,120,0,15,120,0,7,240,0,7,224,0,3,224,0, + 7,224,0,7,240,0,15,240,0,30,120,0,30,124,0,60, + 60,0,60,30,0,120,31,0,240,15,0,240,7,128,16,20, + 40,17,1,0,240,31,248,30,120,30,124,60,60,60,60,120, + 30,120,30,240,15,240,15,224,7,224,3,192,3,192,3,192, + 3,192,3,192,3,192,3,192,3,192,3,192,15,20,40,17, + 1,0,127,254,127,254,127,254,0,62,0,124,0,248,0,248, + 1,240,3,224,7,224,7,192,15,128,31,0,63,0,62,0, + 124,0,248,0,255,254,255,254,255,254,6,25,25,10,2,251, + 252,252,240,240,240,240,240,240,240,240,240,240,240,240,240,240, + 240,240,240,240,240,240,240,252,252,9,21,42,12,1,255,224, + 0,96,0,112,0,112,0,48,0,56,0,56,0,56,0,24, + 0,28,0,28,0,12,0,14,0,14,0,6,0,6,0,7, + 0,7,0,3,0,3,128,3,128,7,25,25,11,2,251,254, + 254,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30, + 30,30,30,30,30,30,254,254,13,17,34,27,7,0,2,0, + 7,0,5,0,5,0,13,128,8,128,24,192,24,192,16,64, + 48,96,48,96,32,32,96,48,64,16,192,24,192,24,128,8, + 14,2,4,14,0,252,255,252,255,252,5,5,5,7,0,16, + 224,112,112,56,24,12,14,28,15,1,0,31,128,63,224,121, + 240,112,240,0,240,63,240,127,240,248,240,240,240,240,240,240, + 240,251,240,127,112,62,112,14,20,40,17,2,0,240,0,240, + 0,240,0,240,0,240,0,240,0,247,192,255,240,253,240,248, + 120,240,120,240,60,240,60,240,60,240,60,240,56,248,120,252, + 240,255,240,243,192,12,14,28,14,1,0,31,128,63,224,121, + 224,112,224,240,240,240,0,240,0,240,0,240,0,240,240,240, + 224,121,224,63,192,31,128,14,20,40,16,1,0,0,60,0, + 60,0,60,0,60,0,60,0,60,31,188,63,252,124,252,120, + 124,240,60,240,60,240,60,240,60,240,60,240,60,120,124,125, + 252,63,188,15,60,13,14,28,15,1,0,15,128,63,224,121, + 240,112,240,240,240,255,240,255,248,240,0,240,0,240,240,112, + 240,121,240,63,224,31,128,10,20,40,11,1,0,15,192,31, + 192,62,64,60,0,60,0,60,0,255,128,255,128,60,0,60, + 0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60, + 0,60,0,60,0,14,19,38,16,1,251,31,188,63,252,124, + 252,120,124,240,60,240,60,240,60,240,60,240,60,240,60,112, + 124,124,252,63,188,15,60,0,60,120,56,124,248,63,240,15, + 192,13,20,40,16,2,0,240,0,240,0,240,0,240,0,240, + 0,240,0,247,192,255,240,253,240,248,120,240,120,240,120,240, + 120,240,120,240,120,240,120,240,120,240,120,240,120,240,120,4, + 20,20,6,1,0,240,240,240,240,0,0,240,240,240,240,240, + 240,240,240,240,240,240,240,240,240,5,25,25,9,3,251,120, + 120,120,120,0,0,120,120,120,120,120,120,120,120,120,120,120, + 120,120,120,120,120,248,248,240,12,20,40,15,2,0,240,0, + 240,0,240,0,240,0,240,0,240,0,240,240,241,224,243,192, + 247,128,255,128,255,0,255,0,255,0,247,128,247,192,243,192, + 241,224,241,240,240,240,4,20,20,7,2,0,240,240,240,240, + 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, + 22,14,42,25,2,0,243,227,224,255,247,248,253,254,248,240, + 120,120,240,120,60,240,120,60,240,120,60,240,120,60,240,120, + 60,240,120,60,240,120,60,240,120,60,240,120,60,240,120,60, + 13,14,28,16,2,0,247,192,255,240,253,240,240,120,240,120, + 240,120,240,120,240,120,240,120,240,120,240,120,240,120,240,120, + 240,120,14,14,28,16,1,0,15,192,63,224,124,240,120,120, + 240,60,240,60,240,60,240,60,240,60,240,60,120,120,124,248, + 63,240,15,192,14,19,38,17,2,251,243,192,255,240,253,240, + 248,120,240,56,240,60,240,60,240,60,240,60,240,120,240,120, + 253,248,255,240,247,192,240,0,240,0,240,0,240,0,240,0, + 14,19,38,16,1,251,15,60,63,252,125,252,120,124,240,60, + 240,60,240,60,240,60,240,60,240,60,120,124,124,252,63,252, + 31,188,0,60,0,60,0,60,0,60,0,60,9,14,28,11, + 2,0,247,128,255,128,255,128,252,0,240,0,240,0,240,0, + 240,0,240,0,240,0,240,0,240,0,240,0,240,0,12,14, + 28,14,1,0,31,128,127,192,123,224,241,224,240,0,126,0, + 127,192,31,224,1,240,240,240,240,240,249,224,127,192,31,128, + 10,18,36,12,1,0,2,0,14,0,30,0,30,0,255,192, + 255,192,30,0,30,0,30,0,30,0,30,0,30,0,30,0, + 30,0,30,0,31,0,15,192,7,192,13,14,28,16,2,0, + 240,120,240,120,240,120,240,120,240,120,240,120,240,120,240,120, + 240,120,240,120,240,248,249,248,127,248,62,120,14,14,28,15, + 0,0,240,60,120,60,120,60,56,120,60,120,60,112,28,240, + 30,240,30,224,15,224,15,224,15,192,7,192,7,192,23,14, + 42,23,0,0,240,124,30,112,124,28,120,124,60,120,254,60, + 56,238,60,60,238,56,61,239,120,61,231,120,29,199,112,31, + 199,240,31,199,240,15,131,224,15,131,224,15,131,224,13,14, + 28,15,1,0,240,120,120,240,124,224,61,224,31,192,31,128, + 15,128,31,128,31,192,63,224,57,224,120,240,240,248,240,120, + 14,19,38,15,0,251,248,60,120,60,120,60,60,120,60,120, + 60,112,30,240,30,240,14,224,15,224,15,224,7,192,7,192, + 3,192,7,128,7,128,7,128,15,0,15,0,11,14,28,13, + 1,0,255,224,255,224,1,224,3,224,7,192,7,128,15,0, + 30,0,60,0,124,0,248,0,240,0,255,224,255,224,10,27, + 54,13,2,249,3,192,15,192,31,128,30,0,30,0,30,0, + 30,0,30,0,30,0,28,0,28,0,60,0,248,0,224,0, + 248,0,124,0,60,0,28,0,30,0,30,0,30,0,30,0, + 30,0,30,0,31,128,15,192,7,192,2,29,29,10,4,249, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,10,27,54, + 14,2,249,240,0,252,0,124,0,30,0,30,0,30,0,30, + 0,30,0,30,0,30,0,30,0,15,0,7,192,3,192,7, + 192,15,0,30,0,30,0,30,0,30,0,30,0,30,0,30, + 0,30,0,124,0,252,0,240,0,14,3,6,14,0,5,63, + 156,127,248,225,240,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,255, + 255,255,255,255,255,255,0,0,0,8,0,0,4,19,19,10, + 3,251,240,240,240,0,0,240,240,240,240,240,240,240,240,240, + 240,240,240,240,240,12,20,40,16,2,253,0,192,0,192,0, + 128,15,128,63,224,125,224,115,240,243,240,242,0,242,0,246, + 0,244,0,244,240,124,240,121,224,63,224,31,128,24,0,16, + 0,48,0,14,20,40,15,1,0,7,224,31,248,62,120,60, + 60,60,60,60,0,60,0,60,0,255,128,255,128,60,0,60, + 0,60,0,60,0,60,0,60,0,60,0,60,0,255,252,255, + 252,15,14,28,17,1,5,192,6,99,204,55,248,28,48,24, + 24,48,12,48,12,48,12,48,12,24,24,28,48,63,248,99, + 204,192,6,15,20,40,17,1,0,240,30,240,62,120,60,120, + 124,56,120,60,120,252,254,254,254,31,224,15,224,15,192,255, + 254,255,254,7,128,7,128,7,128,7,128,7,128,7,128,7, + 128,1,25,25,9,4,251,128,128,128,128,128,128,128,128,128, + 128,128,0,0,0,128,128,128,128,128,128,128,128,128,128,128, + 11,24,48,13,1,252,31,128,63,192,121,192,240,64,240,0, + 248,0,124,0,63,0,63,128,127,192,243,224,225,224,225,192, + 243,192,255,128,126,0,31,128,7,192,3,224,1,224,1,192, + 195,192,255,128,127,0,9,3,6,9,0,17,227,128,227,128, + 227,128,20,20,60,24,2,0,1,248,0,7,254,0,31,15, + 128,60,3,192,49,252,192,99,254,224,103,158,96,199,15,48, + 207,0,48,207,0,48,207,0,48,207,15,48,199,14,48,103, + 158,96,99,252,96,49,248,192,56,1,192,30,7,128,7,254, + 0,1,248,0,9,13,26,11,1,7,62,0,127,128,99,128, + 3,128,63,128,115,128,227,128,227,128,255,128,125,128,0,0, + 0,0,255,128,14,11,22,16,1,2,30,60,28,56,60,120, + 120,240,120,240,241,224,120,240,56,240,60,120,28,56,30,60, + 15,6,12,17,1,6,255,254,255,254,0,6,0,6,0,6, + 0,6,255,20,20,60,24,2,0,1,248,0,7,254,0,31, + 15,128,60,3,192,51,252,192,99,254,224,99,14,96,195,6, + 48,195,28,48,195,248,48,195,252,48,195,12,48,195,14,48, + 99,6,96,99,6,96,51,6,192,56,1,192,30,7,128,7, + 254,0,1,248,0,9,2,4,9,0,18,255,128,255,128,6, + 6,6,8,1,14,120,204,132,132,204,120,16,16,32,26,5, + 0,1,128,1,128,1,128,1,128,255,255,255,255,1,128,1, + 128,1,128,1,128,1,128,0,0,0,0,0,0,255,255,255, + 255,9,11,22,11,1,9,62,0,127,0,227,128,3,128,7, + 0,15,0,30,0,56,0,112,0,255,0,255,0,8,11,11, + 10,1,9,60,254,231,7,30,30,7,7,231,254,124,6,5, + 5,6,1,16,60,56,112,96,192,255,13,24,48,15,1,252, + 31,248,62,96,126,96,254,96,254,96,254,96,254,96,126,96, + 126,96,30,96,6,96,6,96,6,96,6,96,6,96,6,96, + 6,96,6,96,6,96,6,96,6,96,6,96,6,96,6,96, + 4,4,4,8,2,8,240,240,240,240,7,6,6,7,1,249, + 32,60,14,6,254,252,5,11,11,8,2,9,56,248,248,56, + 56,56,56,56,56,56,56,10,13,26,12,1,7,30,0,127, + 128,115,128,225,192,225,192,225,192,225,192,99,128,127,128,30, + 0,0,0,0,0,255,192,13,11,22,16,2,2,225,192,241, + 224,112,224,120,240,120,240,60,120,120,240,120,240,113,224,241, + 224,225,192,19,20,60,22,2,0,56,7,0,248,14,0,184, + 14,0,56,28,0,56,28,0,56,56,0,56,48,0,56,112, + 0,56,224,0,56,227,192,57,195,192,1,199,192,3,143,192, + 3,13,192,7,29,192,14,57,192,14,63,224,28,63,224,28, + 1,192,56,1,192,19,20,60,21,1,0,56,6,0,248,14, + 0,184,12,0,56,28,0,56,24,0,56,48,0,56,112,0, + 56,96,0,56,224,0,56,199,128,57,207,224,3,156,224,3, + 0,224,7,1,224,6,1,192,14,3,128,28,7,0,28,30, + 0,56,31,224,48,31,224,20,20,60,22,1,0,124,1,192, + 230,3,128,231,3,0,7,7,0,30,14,0,30,14,0,7, + 28,0,231,24,0,231,56,0,126,49,224,24,115,224,0,227, + 224,0,199,224,1,198,224,1,140,224,3,156,224,3,31,240, + 7,31,240,14,0,224,12,0,224,12,19,38,15,1,251,7, + 128,7,128,7,128,0,0,0,0,7,0,7,0,7,0,14, + 0,28,0,56,0,112,0,240,0,240,0,240,112,240,112,127, + 240,63,224,15,128,19,28,84,19,0,0,7,0,0,3,128, + 0,1,128,0,1,192,0,0,192,0,0,96,0,0,0,0, + 0,0,0,1,240,0,1,240,0,1,248,0,3,248,0,3, + 248,0,3,188,0,7,188,0,7,156,0,15,30,0,15,30, + 0,15,30,0,30,15,0,30,15,0,31,255,128,63,255,128, + 63,255,128,56,3,192,120,3,192,120,3,192,240,1,224,19, + 28,84,19,0,0,0,28,0,0,56,0,0,56,0,0,112, + 0,0,96,0,0,192,0,0,0,0,0,0,0,1,240,0, + 1,240,0,1,248,0,3,248,0,3,248,0,3,188,0,7, + 188,0,7,156,0,15,30,0,15,30,0,15,30,0,30,15, + 0,30,15,0,31,255,128,63,255,128,63,255,128,56,3,192, + 120,3,192,120,3,192,240,1,224,19,28,84,19,0,0,0, + 224,0,1,240,0,1,240,0,3,184,0,3,24,0,6,12, + 0,0,0,0,0,0,0,1,240,0,1,240,0,1,248,0, + 3,248,0,3,248,0,3,188,0,7,188,0,7,156,0,15, + 30,0,15,30,0,15,30,0,30,15,0,30,15,0,31,255, + 128,63,255,128,63,255,128,56,3,192,120,3,192,120,3,192, + 240,1,224,19,26,78,19,0,0,1,204,0,3,248,0,6, + 120,0,0,0,0,0,0,0,0,0,0,1,240,0,1,240, + 0,1,248,0,3,248,0,3,248,0,3,188,0,7,188,0, + 7,156,0,15,30,0,15,30,0,15,30,0,30,15,0,30, + 15,0,31,255,128,63,255,128,63,255,128,56,3,192,120,3, + 192,120,3,192,240,1,224,19,26,78,19,0,0,7,28,0, + 7,28,0,7,28,0,0,0,0,0,0,0,0,0,0,1, + 240,0,1,240,0,3,248,0,3,248,0,3,248,0,7,188, + 0,7,188,0,7,60,0,15,30,0,15,30,0,30,31,0, + 30,15,0,30,15,0,63,255,128,63,255,128,63,255,128,120, + 3,192,120,3,192,112,3,192,240,1,224,19,29,87,19,0, + 0,0,224,0,1,240,0,3,24,0,3,24,0,3,24,0, + 1,240,0,0,224,0,0,0,0,0,0,0,1,240,0,1, + 240,0,3,240,0,3,248,0,3,248,0,7,188,0,7,188, + 0,7,60,0,15,30,0,15,30,0,30,30,0,30,15,0, + 30,15,0,63,255,128,63,255,128,63,255,128,120,3,192,120, + 3,192,240,3,192,240,1,224,25,20,80,26,0,0,0,63, + 255,128,0,63,255,128,0,127,0,0,0,127,0,0,0,255, + 0,0,1,239,0,0,1,239,0,0,3,207,0,0,3,207, + 255,128,7,143,255,128,7,143,255,128,15,15,0,0,15,255, + 0,0,31,255,0,0,31,255,0,0,60,15,0,0,56,15, + 0,0,120,15,255,128,112,15,255,128,240,15,255,128,17,27, + 81,19,1,249,7,240,0,15,252,0,63,254,0,60,31,0, + 120,31,0,112,15,0,240,0,0,240,0,0,240,0,0,240, + 0,0,240,0,0,240,0,0,240,0,0,240,15,128,112,15, + 0,120,31,0,60,63,0,63,254,0,15,252,0,3,240,0, + 0,128,0,0,224,0,0,240,0,0,48,0,0,48,0,3, + 240,0,0,128,0,13,28,56,17,2,0,60,0,28,0,14, + 0,6,0,7,0,3,0,0,0,0,0,255,248,255,248,255, + 248,240,0,240,0,240,0,240,0,240,0,255,248,255,248,255, + 248,240,0,240,0,240,0,240,0,240,0,240,0,255,248,255, + 248,255,248,13,28,56,17,2,0,1,224,1,192,3,128,3, + 0,6,0,6,0,0,0,0,0,255,248,255,248,255,248,240, + 0,240,0,240,0,240,0,240,0,255,248,255,248,255,248,240, + 0,240,0,240,0,240,0,240,0,240,0,255,248,255,248,255, + 248,13,28,56,17,2,0,15,0,15,128,13,128,29,192,24, + 192,48,96,0,0,0,0,255,248,255,248,255,248,240,0,240, + 0,240,0,240,0,240,0,255,248,255,248,255,248,240,0,240, + 0,240,0,240,0,240,0,240,0,255,248,255,248,255,248,13, + 26,52,17,2,0,56,224,56,224,56,224,0,0,0,0,0, + 0,255,248,255,248,255,248,240,0,240,0,240,0,240,0,240, + 0,255,248,255,248,255,248,240,0,240,0,240,0,240,0,240, + 0,240,0,255,248,255,248,255,248,7,28,28,8,255,0,240, + 112,56,24,28,12,0,0,30,30,30,30,30,30,30,30,30, + 30,30,30,30,30,30,30,30,30,30,30,6,28,28,7,2, + 0,28,56,48,112,96,192,0,0,240,240,240,240,240,240,240, + 240,240,240,240,240,240,240,240,240,240,240,240,240,8,28,28, + 8,0,0,60,60,126,102,198,195,0,0,60,60,60,60,60, + 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,9, + 26,52,9,0,0,227,128,227,128,227,128,0,0,0,0,0, + 0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60, + 0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60, + 0,60,0,60,0,60,0,60,0,18,20,60,19,0,0,63, + 224,0,63,252,0,63,254,0,60,31,0,60,15,128,60,7, + 128,60,3,192,60,3,192,60,3,192,255,195,192,255,195,192, + 60,3,192,60,3,192,60,3,192,60,7,128,60,15,128,60, + 31,0,63,254,0,63,252,0,63,224,0,17,26,78,21,2, + 0,7,152,0,7,248,0,12,240,0,0,0,0,0,0,0, + 0,0,0,252,7,128,252,7,128,254,7,128,254,7,128,255, + 7,128,255,7,128,247,135,128,247,135,128,243,199,128,243,199, + 128,241,231,128,241,231,128,240,247,128,240,247,128,240,127,128, + 240,127,128,240,63,128,240,63,128,240,31,128,240,31,128,18, + 28,84,20,1,0,14,0,0,7,0,0,3,128,0,1,128, + 0,0,192,0,0,0,0,0,0,0,0,0,0,3,240,0, + 15,252,0,31,254,0,62,31,0,120,7,128,120,7,128,240, + 3,192,240,3,192,240,3,192,240,3,192,240,3,192,240,3, + 192,240,3,192,240,3,192,120,7,128,120,7,128,62,31,0, + 31,254,0,15,252,0,3,240,0,18,28,84,20,1,0,0, + 60,0,0,56,0,0,112,0,0,96,0,0,192,0,0,0, + 0,0,0,0,0,0,0,3,240,0,15,252,0,31,254,0, + 62,31,0,120,7,128,120,7,128,240,3,192,240,3,192,240, + 3,192,240,3,192,240,3,192,240,3,192,240,3,192,240,3, + 192,120,7,128,120,7,128,62,31,0,31,254,0,15,252,0, + 3,240,0,18,28,84,20,1,0,1,224,0,3,240,0,3, + 240,0,7,56,0,6,24,0,0,0,0,0,0,0,0,0, + 0,3,240,0,15,252,0,31,254,0,62,31,0,120,7,128, + 120,7,128,240,3,192,240,3,192,240,3,192,240,3,192,240, + 3,192,240,3,192,240,3,192,240,3,192,120,7,128,120,7, + 128,62,31,0,31,254,0,15,252,0,3,240,0,18,27,81, + 20,1,0,0,8,0,7,248,0,7,248,0,4,0,0,0, + 0,0,0,0,0,0,0,0,3,240,0,15,252,0,31,254, + 0,62,31,0,120,7,128,120,7,128,240,3,192,240,3,192, + 240,3,192,240,3,192,240,3,192,240,3,192,240,3,192,240, + 3,192,120,7,128,120,7,128,62,31,0,31,254,0,15,252, + 0,3,240,0,18,27,81,20,1,0,7,28,0,7,28,0, + 7,28,0,0,0,0,0,0,0,0,0,0,0,0,0,3, + 240,0,15,252,0,31,254,0,62,31,0,120,7,128,120,7, + 128,240,3,192,240,3,192,240,3,192,240,3,192,240,3,192, + 240,3,192,240,3,192,240,3,192,120,7,128,120,7,128,62, + 31,0,31,254,0,15,252,0,3,240,0,15,14,28,27,6, + 2,192,6,96,12,48,24,24,48,12,96,6,192,3,128,3, + 128,6,192,12,96,24,48,48,24,96,12,64,4,20,22,66, + 20,0,255,0,0,32,1,252,112,7,255,224,15,255,192,31, + 15,128,60,3,192,60,7,192,120,15,224,120,29,224,120,57, + 224,120,113,224,120,225,224,121,193,224,123,129,224,127,1,224, + 62,3,192,60,3,192,31,15,128,63,255,0,127,254,0,227, + 248,0,64,0,0,17,28,84,21,2,0,30,0,0,14,0, + 0,7,0,0,3,128,0,1,128,0,0,0,0,0,0,0, + 0,0,0,240,7,128,240,7,128,240,7,128,240,7,128,240, + 7,128,240,7,128,240,7,128,240,7,128,240,7,128,240,7, + 128,240,7,128,240,7,128,240,7,128,240,7,0,240,15,0, + 120,15,0,124,30,0,63,254,0,31,248,0,7,224,0,17, + 28,84,21,2,0,0,60,0,0,120,0,0,112,0,0,224, + 0,1,192,0,0,0,0,0,0,0,0,0,0,240,7,128, + 240,7,128,240,7,128,240,7,128,240,7,128,240,7,128,240, + 7,128,240,7,128,240,7,128,240,7,128,240,7,128,240,7, + 128,240,7,128,240,7,0,240,15,0,120,15,0,124,30,0, + 63,254,0,31,248,0,7,224,0,17,28,84,21,2,0,3, + 192,0,3,224,0,7,224,0,14,112,0,12,56,0,0,0, + 0,0,0,0,0,0,0,240,7,128,240,7,128,240,7,128, + 240,7,128,240,7,128,240,7,128,240,7,128,240,7,128,240, + 7,128,240,7,128,240,7,128,240,7,128,240,7,128,240,7, + 0,240,15,0,120,15,0,124,30,0,63,254,0,31,248,0, + 7,224,0,17,27,81,20,2,0,14,56,0,14,56,0,14, + 56,0,0,0,0,0,0,0,0,0,0,0,0,0,240,7, + 128,240,7,128,240,7,128,240,7,128,240,7,128,240,7,128, + 240,7,128,240,7,128,240,7,128,240,7,128,240,7,128,240, + 7,128,240,7,128,240,7,0,240,15,0,120,15,0,124,30, + 0,63,254,0,31,248,0,7,224,0,16,27,54,17,1,0, + 0,112,0,224,0,192,1,128,0,0,0,0,0,0,240,31, + 248,30,120,30,124,60,60,60,60,120,30,120,30,240,15,240, + 15,224,7,224,3,192,3,192,3,192,3,192,3,192,3,192, + 3,192,3,192,3,192,14,20,40,17,1,0,240,0,240,0, + 240,0,240,0,255,192,255,240,255,248,240,124,240,60,240,60, + 240,60,240,124,255,248,255,240,255,192,240,0,240,0,240,0, + 240,0,240,0,14,20,40,16,1,0,31,128,127,224,121,240, + 240,240,240,240,240,240,241,224,243,192,247,128,247,128,247,128, + 243,224,241,240,240,248,240,60,240,60,255,60,255,188,247,248, + 243,240,12,22,44,15,1,0,120,0,56,0,28,0,12,0, + 6,0,2,0,0,0,0,0,31,128,63,224,121,240,112,240, + 0,240,63,240,127,240,248,240,240,240,240,240,240,240,251,240, + 127,112,62,112,12,22,44,15,1,0,1,224,1,192,3,128, + 3,0,7,0,6,0,0,0,0,0,31,128,63,224,121,240, + 112,240,0,240,31,240,127,240,120,240,240,240,240,240,240,240, + 251,240,127,112,62,112,12,22,44,15,1,0,15,0,15,128, + 31,128,25,192,56,192,48,96,0,0,0,0,31,128,63,224, + 121,240,112,240,0,240,63,240,127,240,248,240,240,240,240,240, + 240,240,251,240,127,112,62,112,12,20,40,15,1,0,31,192, + 63,192,48,0,0,0,0,0,0,0,31,128,63,224,121,240, + 112,240,0,240,63,240,127,240,248,240,240,240,240,240,240,240, + 251,240,127,112,62,112,12,21,42,15,1,0,56,224,56,224, + 56,224,0,0,0,0,0,0,0,0,31,128,63,224,121,240, + 112,240,0,240,63,240,127,240,248,240,240,240,240,240,240,240, + 251,240,127,112,62,112,12,23,46,15,1,0,7,0,31,128, + 24,192,24,192,31,128,15,0,0,0,0,0,0,0,31,128, + 63,224,121,240,112,240,0,240,63,240,127,240,248,240,240,240, + 240,240,240,240,251,240,127,112,62,112,22,14,42,24,1,0, + 15,135,192,63,207,240,124,252,248,112,120,56,0,120,56,31, + 255,252,127,255,252,120,120,0,240,120,0,240,120,0,240,252, + 56,249,222,248,127,143,240,30,7,224,12,21,42,14,1,249, + 31,128,63,224,121,224,112,224,240,240,240,0,240,0,240,0, + 240,0,240,240,240,224,121,224,63,192,31,128,4,0,7,0, + 7,128,0,192,0,192,31,128,4,0,13,22,44,15,1,0, + 56,0,56,0,28,0,12,0,6,0,2,0,0,0,0,0, + 15,128,63,224,121,240,112,240,240,240,255,240,255,248,240,0, + 240,0,240,240,112,240,121,240,63,224,31,128,13,22,44,15, + 1,0,1,224,1,192,3,128,3,0,6,0,6,0,0,0, + 0,0,15,128,63,224,121,240,112,240,240,240,255,240,255,248, + 240,0,240,0,240,240,112,240,121,240,63,224,31,128,13,22, + 44,15,1,0,15,0,15,0,31,128,25,128,56,192,48,192, + 0,0,0,0,15,128,63,224,121,240,112,240,240,240,255,240, + 255,248,240,0,240,0,240,240,112,240,121,240,63,224,31,128, + 13,21,42,15,1,0,56,224,56,224,56,224,0,0,0,0, + 0,0,0,0,15,128,63,224,121,240,112,112,240,112,255,240, + 255,248,240,0,240,0,240,112,112,112,125,240,63,224,31,128, + 6,22,22,7,0,0,224,240,112,56,24,12,0,0,60,60, + 60,60,60,60,60,60,60,60,60,60,60,60,6,22,22,6, + 2,0,60,56,112,96,192,192,0,0,240,240,240,240,240,240, + 240,240,240,240,240,240,240,240,9,22,44,7,255,0,30,0, + 62,0,63,0,115,0,99,128,193,128,0,0,0,0,30,0, + 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, + 30,0,30,0,30,0,30,0,30,0,9,20,40,7,255,0, + 227,128,227,128,227,128,0,0,0,0,0,0,60,0,60,0, + 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, + 60,0,60,0,60,0,60,0,14,20,40,16,1,0,14,24, + 15,240,3,192,15,192,60,224,48,240,15,240,63,248,124,248, + 120,60,240,60,240,60,240,60,240,60,240,60,240,60,120,56, + 124,248,63,240,15,192,13,20,40,16,2,0,30,96,63,192, + 55,128,0,0,0,0,0,0,247,192,255,240,253,240,240,120, + 240,120,240,120,240,120,240,120,240,120,240,120,240,120,240,120, + 240,120,240,120,14,22,44,16,1,0,60,0,28,0,14,0, + 6,0,3,0,3,0,0,0,0,0,15,192,63,224,124,240, + 120,120,240,60,240,60,240,60,240,60,240,60,240,60,120,120, + 124,248,63,240,15,192,14,22,44,16,1,0,0,240,0,224, + 1,192,1,128,3,0,3,0,0,0,0,0,15,192,63,224, + 124,240,120,120,240,60,240,60,240,60,240,60,240,60,240,60, + 120,120,124,248,63,240,15,192,14,22,44,16,1,0,7,128, + 7,128,15,192,12,192,24,96,24,96,0,0,0,0,15,192, + 63,224,124,240,120,120,240,60,240,60,240,60,240,60,240,60, + 240,60,120,120,124,248,63,240,15,192,14,20,40,16,1,0, + 15,224,31,224,24,0,0,0,0,0,0,0,15,192,63,224, + 124,240,120,120,240,60,240,60,240,60,240,60,240,60,240,60, + 120,120,124,248,63,240,15,192,14,21,42,16,1,0,28,224, + 28,224,28,224,0,0,0,0,0,0,0,0,15,192,63,224, + 124,240,120,120,240,60,240,60,240,60,240,60,240,60,240,60, + 120,120,124,248,63,240,15,192,16,12,24,26,5,2,1,192, + 3,192,1,192,0,0,0,0,255,255,255,255,0,0,0,0, + 1,192,3,192,1,192,14,18,36,16,1,254,0,8,0,28, + 15,248,63,240,124,240,120,248,241,252,241,188,243,60,246,60, + 254,60,252,60,120,120,60,248,127,240,239,192,192,0,128,0, + 13,22,44,16,2,0,56,0,60,0,28,0,14,0,6,0, + 3,0,0,0,0,0,240,120,240,120,240,120,240,120,240,120, + 240,120,240,120,240,120,240,120,240,120,240,248,249,248,127,248, + 62,120,13,22,44,16,2,0,1,224,1,192,3,128,3,0, + 7,0,6,0,0,0,0,0,240,120,240,120,240,120,240,120, + 240,120,240,120,240,120,240,120,240,120,240,120,240,248,249,248, + 127,248,62,120,13,22,44,16,2,0,15,0,15,128,31,128, + 29,192,56,192,48,96,0,0,0,0,240,120,240,120,240,120, + 240,120,240,120,240,120,240,120,240,120,240,120,240,120,240,248, + 249,248,127,248,62,120,13,21,42,16,2,0,56,224,56,224, + 56,224,0,0,0,0,0,0,0,0,240,120,240,120,240,120, + 240,120,240,120,240,120,240,120,240,120,240,120,240,120,240,248, + 249,248,127,248,62,120,14,27,54,15,0,251,0,112,0,240, + 0,224,0,192,1,128,0,0,0,0,0,0,120,28,120,60, + 60,60,60,56,60,120,30,120,30,112,14,240,15,240,15,224, + 7,224,7,224,3,192,3,192,3,128,39,128,255,128,127,0, + 62,0,14,25,50,17,2,251,240,0,240,0,240,0,240,0, + 240,0,240,0,247,192,255,240,253,240,248,120,240,56,240,60, + 240,60,240,60,240,60,240,120,240,120,253,240,255,240,247,192, + 240,0,240,0,240,0,240,0,240,0,15,26,52,15,0,251, + 28,112,28,112,28,112,0,0,0,0,0,0,0,0,248,30, + 120,60,120,60,60,56,60,120,60,120,30,112,30,240,15,240, + 15,224,15,224,7,224,7,192,3,192,7,128,7,128,7,128, + 15,0,15,0}; +/* + Fontname: -FreeType-FreeUniversal-Bold-R-Normal--27-270-72-72-P-136-ISO10646-1 + Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. + Capital A Height: 0, '1' Height: 20 + Calculated Max Values w=16 h=21 x= 5 y= 9 dx=26 dy= 0 ascent=20 len=40 + Font Bounding box w=40 h=36 x=-2 y=-7 + Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 + Pure Font ascent =20 descent= 0 + X Font ascent =20 descent= 0 + Max Font ascent =20 descent=-4 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_fub20n[603] U8G_FONT_SECTION("u8g_font_fub20n") = { + 0,40,36,254,249,20,0,0,0,0,42,58,0,20,252,20, + 0,11,11,22,17,3,9,17,0,59,128,59,128,27,0,238, + 224,255,224,206,96,27,0,59,128,59,128,17,0,16,16,32, + 26,5,0,1,128,1,128,1,128,1,128,1,128,1,128,1, + 128,255,255,255,255,1,128,1,128,1,128,1,128,1,128,1, + 128,1,128,6,7,7,8,1,252,60,56,56,112,112,112,224, + 7,4,4,9,1,5,254,254,254,254,4,4,4,9,3,0, + 240,240,240,240,8,21,21,12,2,255,7,7,7,6,14,14, + 12,28,28,24,56,56,56,48,112,112,96,224,224,224,192,14, + 20,40,15,1,0,15,128,31,224,60,240,120,112,112,56,240, + 56,240,56,240,60,240,60,240,60,240,60,240,60,240,60,240, + 56,240,56,112,56,120,120,60,240,31,224,15,128,8,20,20, + 15,3,0,15,63,127,255,239,207,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,14,20,40,15,1,0,7,192,31, + 240,63,248,124,120,120,60,120,60,0,60,0,120,0,120,0, + 240,1,240,3,224,7,192,15,128,31,0,124,0,248,0,255, + 252,255,252,255,252,13,20,40,15,1,0,15,128,63,224,127, + 240,248,240,240,120,0,120,0,120,0,240,15,224,15,128,15, + 224,0,240,0,120,0,120,240,120,240,120,248,240,127,240,63, + 224,31,128,14,20,40,15,1,0,1,240,3,240,3,240,7, + 240,7,240,14,240,30,240,28,240,60,240,56,240,120,240,112, + 240,240,240,255,252,255,252,255,252,0,240,0,240,0,240,0, + 240,13,20,40,15,1,0,255,240,255,240,255,240,240,0,240, + 0,240,0,240,0,247,192,255,224,253,240,240,120,240,120,0, + 120,0,120,0,120,240,120,240,240,127,240,63,224,31,128,13, + 20,40,15,1,0,15,192,31,224,63,240,120,120,120,120,112, + 0,240,0,247,192,239,224,253,240,248,120,240,120,240,120,240, + 120,240,120,112,120,120,240,63,240,63,224,15,128,13,20,40, + 15,1,0,255,248,255,248,255,248,0,120,0,120,0,240,0, + 240,1,224,1,224,1,224,3,192,3,192,7,128,7,128,15, + 128,15,0,31,0,30,0,30,0,62,0,14,20,40,15,1, + 0,31,192,63,240,127,240,120,248,240,120,240,120,240,120,120, + 240,63,224,31,192,63,240,120,120,240,56,240,60,240,60,240, + 60,248,120,127,248,63,240,31,192,13,20,40,15,1,0,15, + 128,63,192,127,224,120,240,240,112,240,120,240,120,240,120,240, + 120,120,248,127,184,63,56,0,120,0,120,0,112,240,240,120, + 240,127,224,63,192,15,128,4,14,14,9,4,0,240,240,240, + 240,0,0,0,0,0,0,240,240,240,240}; +/* + Fontname: -FreeType-FreeUniversal-Bold-R-Normal--27-270-72-72-P-136-ISO10646-1 + Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. + Capital A Height: 20, '1' Height: 20 + Calculated Max Values w=27 h=29 x= 7 y=16 dx=28 dy= 0 ascent=22 len=100 + Font Bounding box w=40 h=36 x=-2 y=-7 + Calculated Min Values x= 0 y=-7 dx= 0 dy= 0 + Pure Font ascent =20 descent=-5 + X Font ascent =20 descent=-5 + Max Font ascent =22 descent=-7 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_fub20r[4022] U8G_FONT_SECTION("u8g_font_fub20r") = { + 0,40,36,254,249,20,4,242,11,37,32,127,251,22,249,20, + 251,0,0,0,8,0,0,4,20,20,11,4,0,240,240,240, + 240,240,240,240,240,240,240,240,240,240,240,0,0,0,240,240, + 240,10,8,16,14,2,12,243,192,243,192,243,192,243,192,243, + 192,225,192,225,192,97,128,17,20,60,19,1,0,1,199,0, + 1,134,0,3,142,0,3,142,0,3,142,0,31,255,128,63, + 255,128,7,28,0,6,24,0,14,56,0,14,56,0,14,48, + 0,127,254,0,255,254,0,28,112,0,24,96,0,56,224,0, + 56,224,0,56,224,0,49,192,0,14,24,48,16,1,253,1, + 0,7,192,31,240,63,248,125,120,113,60,241,60,241,0,253, + 0,127,0,63,224,31,240,3,248,1,124,1,60,241,60,241, + 60,249,60,127,248,63,240,31,224,1,0,1,0,1,0,25, + 20,80,27,1,0,31,0,96,0,63,128,224,0,123,192,192, + 0,225,193,192,0,224,227,128,0,224,227,0,0,224,231,0, + 0,224,230,0,0,113,206,0,0,127,204,124,0,63,28,254, + 0,0,57,199,0,0,59,131,0,0,115,131,128,0,99,131, + 128,0,227,131,128,1,195,135,128,1,193,239,0,3,128,254, + 0,3,128,124,0,19,20,60,21,1,0,15,192,0,31,240, + 0,60,240,0,120,120,0,120,120,0,120,112,0,60,240,0, + 63,224,0,31,192,0,31,128,0,63,135,128,123,199,128,249, + 231,128,240,247,0,240,127,0,240,63,0,240,30,0,124,127, + 0,63,255,128,15,227,224,4,8,8,11,4,12,240,224,224, + 224,224,224,224,224,6,24,24,10,2,252,28,56,56,120,120, + 112,112,240,240,240,240,240,240,240,240,240,240,112,112,120,120, + 56,56,28,6,24,24,11,3,252,224,240,112,112,120,120,120, + 56,56,60,60,60,60,60,60,56,56,120,120,120,112,112,240, + 224,11,11,22,17,3,9,17,0,59,128,59,128,27,0,238, + 224,255,224,206,96,27,0,59,128,59,128,17,0,16,16,32, + 26,5,0,1,128,1,128,1,128,1,128,1,128,1,128,1, + 128,255,255,255,255,1,128,1,128,1,128,1,128,1,128,1, + 128,1,128,6,7,7,8,1,252,60,56,56,112,112,112,224, + 7,4,4,9,1,5,254,254,254,254,4,4,4,9,3,0, + 240,240,240,240,8,21,21,12,2,255,7,7,7,6,14,14, + 12,28,28,24,56,56,56,48,112,112,96,224,224,224,192,14, + 20,40,15,1,0,15,128,31,224,60,240,120,112,112,56,240, + 56,240,56,240,60,240,60,240,60,240,60,240,60,240,60,240, + 56,240,56,112,56,120,120,60,240,31,224,15,128,8,20,20, + 15,3,0,15,63,127,255,239,207,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,14,20,40,15,1,0,7,192,31, + 240,63,248,124,120,120,60,120,60,0,60,0,120,0,120,0, + 240,1,240,3,224,7,192,15,128,31,0,124,0,248,0,255, + 252,255,252,255,252,13,20,40,15,1,0,15,128,63,224,127, + 240,248,240,240,120,0,120,0,120,0,240,15,224,15,128,15, + 224,0,240,0,120,0,120,240,120,240,120,248,240,127,240,63, + 224,31,128,14,20,40,15,1,0,1,240,3,240,3,240,7, + 240,7,240,14,240,30,240,28,240,60,240,56,240,120,240,112, + 240,240,240,255,252,255,252,255,252,0,240,0,240,0,240,0, + 240,13,20,40,15,1,0,255,240,255,240,255,240,240,0,240, + 0,240,0,240,0,247,192,255,224,253,240,240,120,240,120,0, + 120,0,120,0,120,240,120,240,240,127,240,63,224,31,128,13, + 20,40,15,1,0,15,192,31,224,63,240,120,120,120,120,112, + 0,240,0,247,192,239,224,253,240,248,120,240,120,240,120,240, + 120,240,120,112,120,120,240,63,240,63,224,15,128,13,20,40, + 15,1,0,255,248,255,248,255,248,0,120,0,120,0,240,0, + 240,1,224,1,224,1,224,3,192,3,192,7,128,7,128,15, + 128,15,0,31,0,30,0,30,0,62,0,14,20,40,15,1, + 0,31,192,63,240,127,240,120,248,240,120,240,120,240,120,120, + 240,63,224,31,192,63,240,120,120,240,56,240,60,240,60,240, + 60,248,120,127,248,63,240,31,192,13,20,40,15,1,0,15, + 128,63,192,127,224,120,240,240,112,240,120,240,120,240,120,240, + 120,120,248,127,184,63,56,0,120,0,120,0,112,240,240,120, + 240,127,224,63,192,15,128,4,14,14,9,4,0,240,240,240, + 240,0,0,0,0,0,0,240,240,240,240,6,17,17,8,1, + 253,60,60,60,60,0,0,0,0,0,0,60,56,120,112,112, + 224,224,16,14,28,26,5,1,0,3,0,31,0,120,3,192, + 15,0,120,0,224,0,224,0,60,0,7,128,1,224,0,60, + 0,15,0,1,16,7,14,26,5,5,255,255,255,255,0,0, + 0,0,0,0,255,255,255,255,16,14,28,26,5,1,192,0, + 248,0,30,0,3,192,0,240,0,30,0,7,0,7,0,60, + 1,224,7,128,60,0,240,0,128,0,13,20,40,15,1,0, + 31,128,63,224,121,240,240,112,32,120,0,120,0,112,0,240, + 1,224,3,192,7,128,14,0,14,0,14,0,14,0,0,0, + 0,0,15,0,15,0,15,0,26,25,100,28,1,251,0,63, + 128,0,1,255,240,0,7,255,252,0,15,224,254,0,31,0, + 31,0,62,0,15,0,60,61,231,128,120,255,231,128,121,247, + 227,192,241,225,227,192,241,193,227,192,243,193,227,192,243,193, + 227,192,243,193,227,192,243,193,227,192,241,193,227,128,113,227, + 231,128,120,255,255,0,124,254,255,0,60,60,60,0,31,0, + 0,0,15,192,32,0,7,255,224,0,1,255,224,0,0,127, + 224,0,19,20,60,19,0,0,1,240,0,1,240,0,1,248, + 0,3,248,0,3,248,0,3,188,0,7,188,0,7,156,0, + 15,30,0,15,30,0,15,30,0,30,15,0,30,15,0,31, + 255,128,63,255,128,63,255,128,56,3,192,120,3,192,120,3, + 192,240,1,224,15,20,40,18,2,0,255,224,255,240,255,248, + 240,124,240,60,240,60,240,56,240,120,255,240,255,192,255,248, + 240,60,240,28,240,30,240,30,240,30,240,60,255,252,255,248, + 255,224,17,20,60,19,1,0,7,240,0,15,252,0,63,254, + 0,60,31,0,120,15,0,112,15,0,240,0,0,240,0,0, + 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,240, + 15,128,112,15,0,120,31,0,60,62,0,63,254,0,31,248, + 0,7,224,0,16,20,40,19,2,0,255,128,255,240,255,248, + 240,124,240,62,240,30,240,15,240,15,240,15,240,15,240,15, + 240,15,240,15,240,15,240,30,240,62,240,124,255,248,255,240, + 255,128,13,20,40,17,2,0,255,248,255,248,255,248,240,0, + 240,0,240,0,240,0,240,0,255,248,255,248,255,248,240,0, + 240,0,240,0,240,0,240,0,240,0,255,248,255,248,255,248, + 13,20,40,16,2,0,255,248,255,248,255,248,240,0,240,0, + 240,0,240,0,240,0,255,240,255,240,255,240,240,0,240,0, + 240,0,240,0,240,0,240,0,240,0,240,0,240,0,18,20, + 60,20,1,0,1,248,0,15,254,0,31,255,0,62,15,128, + 124,3,128,120,3,192,112,0,0,240,0,0,240,0,0,240, + 63,192,240,63,192,240,63,192,240,3,192,240,3,192,120,3, + 192,124,3,192,63,3,192,31,255,192,15,255,192,1,254,0, + 16,20,40,20,2,0,240,15,240,15,240,15,240,15,240,15, + 240,15,240,15,240,15,255,255,255,255,255,255,240,15,240,15, + 240,15,240,15,240,15,240,15,240,15,240,15,240,15,4,20, + 20,8,2,0,240,240,240,240,240,240,240,240,240,240,240,240, + 240,240,240,240,240,240,240,240,14,20,40,17,1,0,0,60, + 0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60, + 0,60,0,60,0,60,0,60,0,60,240,60,240,56,248,120, + 127,240,127,224,31,192,15,20,40,18,2,0,240,60,240,124, + 240,248,241,240,241,224,243,224,247,192,255,128,255,0,255,0, + 255,128,247,192,247,192,243,224,241,240,240,240,240,248,240,124, + 240,62,240,62,13,20,40,16,2,0,240,0,240,0,240,0, + 240,0,240,0,240,0,240,0,240,0,240,0,240,0,240,0, + 240,0,240,0,240,0,240,0,240,0,240,0,255,248,255,248, + 255,248,21,20,60,25,2,0,252,1,248,254,3,248,254,3, + 248,254,3,248,255,7,248,255,7,248,247,7,120,247,15,120, + 247,143,120,247,143,120,243,142,120,243,222,120,243,222,120,241, + 220,120,241,252,120,241,252,120,240,248,120,240,248,120,240,248, + 120,240,248,120,17,20,60,21,2,0,252,7,128,252,7,128, + 254,7,128,254,7,128,255,7,128,255,7,128,247,135,128,247, + 135,128,243,199,128,243,199,128,241,231,128,241,231,128,240,247, + 128,240,247,128,240,127,128,240,127,128,240,63,128,240,63,128, + 240,31,128,240,31,128,18,20,60,20,1,0,3,240,0,15, + 252,0,31,254,0,62,31,0,120,7,128,120,7,128,240,3, + 192,240,3,192,240,3,192,240,3,192,240,3,192,240,3,192, + 240,3,192,240,3,192,120,7,128,120,7,128,62,31,0,31, + 254,0,15,252,0,3,240,0,14,20,40,17,2,0,255,192, + 255,240,255,248,240,124,240,60,240,60,240,60,240,60,240,124, + 255,248,255,240,255,192,240,0,240,0,240,0,240,0,240,0, + 240,0,240,0,240,0,20,20,60,22,1,0,3,240,0,15, + 252,0,63,254,0,62,31,0,120,7,128,120,7,128,240,3, + 192,240,3,192,240,3,192,240,3,192,240,3,192,240,3,192, + 240,3,192,240,3,192,120,7,128,120,7,128,62,31,0,31, + 255,240,15,255,240,3,255,240,15,20,40,18,2,0,255,224, + 255,248,255,252,240,62,240,30,240,30,240,30,240,30,240,124, + 255,248,255,240,255,252,240,60,240,60,240,28,240,30,240,30, + 240,30,240,30,240,14,16,20,40,18,1,0,7,224,31,248, + 63,252,60,60,120,30,120,30,120,0,124,0,63,128,31,240, + 15,252,0,254,0,30,0,15,240,15,240,14,120,62,127,252, + 63,248,7,224,16,20,40,18,1,0,255,255,255,255,255,255, + 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, + 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, + 3,192,17,20,60,21,2,0,240,7,128,240,7,128,240,7, + 128,240,7,128,240,7,128,240,7,128,240,7,128,240,7,128, + 240,7,128,240,7,128,240,7,128,240,7,128,240,7,128,240, + 7,0,240,15,0,120,15,0,124,30,0,63,254,0,31,248, + 0,7,224,0,19,20,60,20,0,0,248,1,224,120,1,224, + 120,3,224,60,3,192,60,3,192,62,7,192,30,7,128,30, + 7,128,31,15,128,15,15,0,15,15,0,15,158,0,7,158, + 0,7,158,0,7,252,0,3,252,0,3,252,0,1,248,0, + 1,248,0,1,240,0,27,20,80,27,0,0,248,31,3,224, + 120,31,3,192,120,31,3,192,120,63,131,192,120,63,131,192, + 60,59,135,128,60,59,135,128,60,123,199,128,60,123,199,128, + 28,113,199,0,30,113,207,0,30,241,239,0,30,241,239,0, + 14,224,238,0,14,224,238,0,15,224,254,0,15,224,254,0, + 7,192,124,0,7,192,124,0,7,192,124,0,17,20,60,19, + 1,0,248,15,128,120,15,0,124,30,0,62,30,0,30,60, + 0,31,120,0,15,120,0,7,240,0,7,224,0,3,224,0, + 7,224,0,7,240,0,15,240,0,30,120,0,30,124,0,60, + 60,0,60,30,0,120,31,0,240,15,0,240,7,128,16,20, + 40,17,1,0,240,31,248,30,120,30,124,60,60,60,60,120, + 30,120,30,240,15,240,15,224,7,224,3,192,3,192,3,192, + 3,192,3,192,3,192,3,192,3,192,3,192,15,20,40,17, + 1,0,127,254,127,254,127,254,0,62,0,124,0,248,0,248, + 1,240,3,224,7,224,7,192,15,128,31,0,63,0,62,0, + 124,0,248,0,255,254,255,254,255,254,6,25,25,10,2,251, + 252,252,240,240,240,240,240,240,240,240,240,240,240,240,240,240, + 240,240,240,240,240,240,240,252,252,9,21,42,12,1,255,224, + 0,96,0,112,0,112,0,48,0,56,0,56,0,56,0,24, + 0,28,0,28,0,12,0,14,0,14,0,6,0,6,0,7, + 0,7,0,3,0,3,128,3,128,7,25,25,11,2,251,254, + 254,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30, + 30,30,30,30,30,30,254,254,13,17,34,27,7,0,2,0, + 7,0,5,0,5,0,13,128,8,128,24,192,24,192,16,64, + 48,96,48,96,32,32,96,48,64,16,192,24,192,24,128,8, + 14,2,4,14,0,252,255,252,255,252,5,5,5,7,0,16, + 224,112,112,56,24,12,14,28,15,1,0,31,128,63,224,121, + 240,112,240,0,240,63,240,127,240,248,240,240,240,240,240,240, + 240,251,240,127,112,62,112,14,20,40,17,2,0,240,0,240, + 0,240,0,240,0,240,0,240,0,247,192,255,240,253,240,248, + 120,240,120,240,60,240,60,240,60,240,60,240,56,248,120,252, + 240,255,240,243,192,12,14,28,14,1,0,31,128,63,224,121, + 224,112,224,240,240,240,0,240,0,240,0,240,0,240,240,240, + 224,121,224,63,192,31,128,14,20,40,16,1,0,0,60,0, + 60,0,60,0,60,0,60,0,60,31,188,63,252,124,252,120, + 124,240,60,240,60,240,60,240,60,240,60,240,60,120,124,125, + 252,63,188,15,60,13,14,28,15,1,0,15,128,63,224,121, + 240,112,240,240,240,255,240,255,248,240,0,240,0,240,240,112, + 240,121,240,63,224,31,128,10,20,40,11,1,0,15,192,31, + 192,62,64,60,0,60,0,60,0,255,128,255,128,60,0,60, + 0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60, + 0,60,0,60,0,14,19,38,16,1,251,31,188,63,252,124, + 252,120,124,240,60,240,60,240,60,240,60,240,60,240,60,112, + 124,124,252,63,188,15,60,0,60,120,56,124,248,63,240,15, + 192,13,20,40,16,2,0,240,0,240,0,240,0,240,0,240, + 0,240,0,247,192,255,240,253,240,248,120,240,120,240,120,240, + 120,240,120,240,120,240,120,240,120,240,120,240,120,240,120,4, + 20,20,6,1,0,240,240,240,240,0,0,240,240,240,240,240, + 240,240,240,240,240,240,240,240,240,5,25,25,9,3,251,120, + 120,120,120,0,0,120,120,120,120,120,120,120,120,120,120,120, + 120,120,120,120,120,248,248,240,12,20,40,15,2,0,240,0, + 240,0,240,0,240,0,240,0,240,0,240,240,241,224,243,192, + 247,128,255,128,255,0,255,0,255,0,247,128,247,192,243,192, + 241,224,241,240,240,240,4,20,20,7,2,0,240,240,240,240, + 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, + 22,14,42,25,2,0,243,227,224,255,247,248,253,254,248,240, + 120,120,240,120,60,240,120,60,240,120,60,240,120,60,240,120, + 60,240,120,60,240,120,60,240,120,60,240,120,60,240,120,60, + 13,14,28,16,2,0,247,192,255,240,253,240,240,120,240,120, + 240,120,240,120,240,120,240,120,240,120,240,120,240,120,240,120, + 240,120,14,14,28,16,1,0,15,192,63,224,124,240,120,120, + 240,60,240,60,240,60,240,60,240,60,240,60,120,120,124,248, + 63,240,15,192,14,19,38,17,2,251,243,192,255,240,253,240, + 248,120,240,56,240,60,240,60,240,60,240,60,240,120,240,120, + 253,248,255,240,247,192,240,0,240,0,240,0,240,0,240,0, + 14,19,38,16,1,251,15,60,63,252,125,252,120,124,240,60, + 240,60,240,60,240,60,240,60,240,60,120,124,124,252,63,252, + 31,188,0,60,0,60,0,60,0,60,0,60,9,14,28,11, + 2,0,247,128,255,128,255,128,252,0,240,0,240,0,240,0, + 240,0,240,0,240,0,240,0,240,0,240,0,240,0,12,14, + 28,14,1,0,31,128,127,192,123,224,241,224,240,0,126,0, + 127,192,31,224,1,240,240,240,240,240,249,224,127,192,31,128, + 10,18,36,12,1,0,2,0,14,0,30,0,30,0,255,192, + 255,192,30,0,30,0,30,0,30,0,30,0,30,0,30,0, + 30,0,30,0,31,0,15,192,7,192,13,14,28,16,2,0, + 240,120,240,120,240,120,240,120,240,120,240,120,240,120,240,120, + 240,120,240,120,240,248,249,248,127,248,62,120,14,14,28,15, + 0,0,240,60,120,60,120,60,56,120,60,120,60,112,28,240, + 30,240,30,224,15,224,15,224,15,192,7,192,7,192,23,14, + 42,23,0,0,240,124,30,112,124,28,120,124,60,120,254,60, + 56,238,60,60,238,56,61,239,120,61,231,120,29,199,112,31, + 199,240,31,199,240,15,131,224,15,131,224,15,131,224,13,14, + 28,15,1,0,240,120,120,240,124,224,61,224,31,192,31,128, + 15,128,31,128,31,192,63,224,57,224,120,240,240,248,240,120, + 14,19,38,15,0,251,248,60,120,60,120,60,60,120,60,120, + 60,112,30,240,30,240,14,224,15,224,15,224,7,192,7,192, + 3,192,7,128,7,128,7,128,15,0,15,0,11,14,28,13, + 1,0,255,224,255,224,1,224,3,224,7,192,7,128,15,0, + 30,0,60,0,124,0,248,0,240,0,255,224,255,224,10,27, + 54,13,2,249,3,192,15,192,31,128,30,0,30,0,30,0, + 30,0,30,0,30,0,28,0,28,0,60,0,248,0,224,0, + 248,0,124,0,60,0,28,0,30,0,30,0,30,0,30,0, + 30,0,30,0,31,128,15,192,7,192,2,29,29,10,4,249, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,10,27,54, + 14,2,249,240,0,252,0,124,0,30,0,30,0,30,0,30, + 0,30,0,30,0,30,0,30,0,15,0,7,192,3,192,7, + 192,15,0,30,0,30,0,30,0,30,0,30,0,30,0,30, + 0,30,0,124,0,252,0,240,0,14,3,6,14,0,5,63, + 156,127,248,225,240,255}; +/* + Fontname: -FreeType-FreeUniversal-Bold-R-Normal--34-340-72-72-P-170-ISO10646-1 + Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. + Capital A Height: 25, '1' Height: 25 + Calculated Max Values w=34 h=37 x= 8 y=22 dx=35 dy= 0 ascent=37 len=160 + Font Bounding box w=50 h=46 x=-2 y=-9 + Calculated Min Values x=-1 y=-9 dx= 0 dy= 0 + Pure Font ascent =25 descent=-7 + X Font ascent =25 descent=-7 + Max Font ascent =37 descent=-9 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_fub25[12908] U8G_FONT_SECTION("u8g_font_fub25") = { + 0,50,46,254,247,25,7,111,16,148,32,255,249,37,247,25, + 249,0,0,0,10,0,0,5,25,25,14,5,0,248,248,248, + 248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248, + 0,0,248,248,248,248,13,10,20,18,2,15,248,248,248,248, + 248,248,120,248,120,120,120,120,120,120,120,120,120,112,120,112, + 21,25,75,24,2,0,0,224,224,0,225,224,0,225,192,1, + 225,192,1,195,192,1,195,128,31,255,248,31,255,240,63,255, + 240,7,135,0,7,135,0,7,15,0,7,14,0,15,14,0, + 14,14,0,255,255,192,255,255,192,255,255,192,28,60,0,28, + 60,0,60,56,0,56,56,0,56,120,0,120,112,0,112,112, + 0,18,31,93,20,1,252,0,192,0,0,192,0,3,248,0, + 15,252,0,31,254,0,63,255,0,126,223,0,120,207,128,248, + 207,128,248,192,0,252,192,0,126,192,0,127,192,0,127,240, + 0,31,252,0,7,255,0,1,255,128,0,255,128,0,207,128, + 0,199,192,248,199,192,248,199,192,248,207,128,126,223,128,127, + 255,0,63,254,0,15,252,0,3,240,0,0,192,0,0,192, + 0,0,192,0,32,26,104,34,1,0,0,0,3,128,15,192, + 7,0,63,240,7,0,124,248,14,0,120,120,14,0,240,60, + 28,0,240,60,24,0,240,60,56,0,240,60,112,0,240,60, + 112,0,120,120,224,0,120,120,224,0,63,241,199,248,15,195, + 143,252,0,3,159,62,0,7,30,30,0,7,60,15,0,14, + 60,15,0,30,60,15,0,28,60,15,0,56,60,15,0,56, + 60,15,0,112,30,30,0,112,15,60,0,224,15,252,1,224, + 3,240,24,25,75,27,2,1,7,252,0,31,254,0,31,255, + 0,62,31,0,62,31,0,62,31,0,62,31,0,30,62,0, + 31,126,0,15,252,0,7,240,0,15,224,0,63,224,124,63, + 240,120,124,248,120,252,124,120,248,62,120,248,31,248,248,15, + 240,248,7,240,252,3,224,126,15,240,63,255,248,31,255,254, + 7,252,63,5,10,10,14,4,15,248,248,120,120,120,120,120, + 120,120,120,7,30,30,13,3,251,30,30,62,60,60,124,124, + 120,120,248,248,248,248,248,248,248,248,248,248,248,248,120,120, + 124,124,60,60,62,30,30,8,30,30,14,3,251,240,120,120, + 124,60,60,60,62,62,30,30,30,30,31,31,31,31,31,30, + 30,30,62,62,62,60,60,124,120,120,240,14,13,26,22,4, + 13,28,224,60,240,28,224,15,192,135,132,255,252,255,252,231, + 156,15,192,30,224,28,224,60,240,8,64,20,21,63,34,7, + 0,0,96,0,0,96,0,0,96,0,0,96,0,0,96,0, + 0,96,0,0,96,0,0,96,0,0,96,0,255,255,240,255, + 255,240,0,96,0,0,96,0,0,96,0,0,96,0,0,96, + 0,0,96,0,0,96,0,0,96,0,0,96,0,0,96,0, + 7,9,9,11,2,251,62,60,60,120,120,112,240,240,224,9, + 5,10,11,1,7,255,128,255,128,255,128,255,128,255,128,5, + 5,5,10,3,0,248,248,248,248,248,11,28,56,15,2,254, + 0,224,0,224,1,192,1,192,1,192,3,128,3,128,3,128, + 3,128,7,0,7,0,7,0,14,0,14,0,14,0,28,0, + 28,0,28,0,56,0,56,0,56,0,56,0,112,0,112,0, + 112,0,224,0,224,0,224,0,17,25,75,19,1,1,7,224, + 0,31,252,0,63,254,0,60,30,0,120,15,0,120,15,0, + 120,15,0,248,15,128,248,15,128,248,15,128,248,15,128,248, + 15,128,248,15,128,248,15,128,248,15,128,248,15,128,248,15, + 128,248,15,128,120,15,0,120,15,0,120,15,0,60,30,0, + 31,252,0,15,248,0,7,224,0,11,25,50,19,3,1,3, + 224,15,224,31,224,127,224,255,224,251,224,243,224,195,224,3, + 224,3,224,3,224,3,224,3,224,3,224,3,224,3,224,3, + 224,3,224,3,224,3,224,3,224,3,224,3,224,3,224,3, + 224,17,25,75,19,1,1,7,248,0,31,254,0,31,255,0, + 63,255,0,126,31,128,124,15,128,124,15,128,0,15,128,0, + 15,128,0,31,0,0,31,0,0,62,0,0,126,0,0,252, + 0,1,248,0,3,240,0,7,224,0,15,192,0,63,0,0, + 126,0,0,252,0,0,255,255,128,255,255,128,255,255,128,255, + 255,128,16,25,50,19,2,1,31,240,63,252,127,254,255,254, + 248,62,248,31,0,31,0,30,0,126,7,252,7,240,7,248, + 7,252,0,62,0,31,0,31,0,31,248,31,248,31,248,31, + 252,62,127,254,127,252,31,248,15,224,18,25,75,19,1,1, + 0,126,0,0,254,0,0,254,0,1,254,0,3,254,0,3, + 254,0,7,190,0,15,190,0,15,62,0,30,62,0,30,62, + 0,60,62,0,124,62,0,120,62,0,240,62,0,255,255,192, + 255,255,192,255,255,192,255,255,192,0,62,0,0,62,0,0, + 62,0,0,62,0,0,62,0,0,62,0,17,25,75,19,1, + 1,255,254,0,255,254,0,255,254,0,255,254,0,248,0,0, + 248,0,0,248,0,0,248,0,0,249,240,0,255,252,0,255, + 254,0,252,63,0,248,31,0,248,15,0,0,15,128,0,15, + 128,0,15,128,0,15,0,248,15,0,248,31,0,252,63,0, + 127,254,0,127,252,0,63,248,0,15,224,0,17,25,75,19, + 1,1,3,240,0,15,252,0,31,254,0,63,255,0,62,31, + 0,126,15,128,124,0,0,124,0,0,252,0,0,248,248,0, + 251,254,0,255,254,0,255,31,0,254,15,128,252,15,128,252, + 15,128,252,15,128,252,15,128,124,15,128,126,15,128,127,31, + 0,63,255,0,31,254,0,15,252,0,3,240,0,16,25,50, + 19,2,1,255,255,255,255,255,255,255,255,0,15,0,31,0, + 30,0,62,0,62,0,124,0,124,0,248,0,248,0,240,1, + 240,1,240,3,224,3,224,7,192,7,192,15,128,15,128,15, + 128,31,0,31,0,17,25,75,19,1,1,7,240,0,31,252, + 0,127,255,0,127,255,0,252,31,128,248,15,128,248,15,128, + 120,15,0,124,31,0,63,254,0,15,248,0,31,248,0,63, + 254,0,124,63,0,248,15,0,248,15,128,248,15,128,248,15, + 128,248,15,128,248,15,128,252,31,128,127,255,0,127,255,0, + 31,252,0,7,240,0,17,25,75,19,1,1,7,240,0,31, + 252,0,63,254,0,127,254,0,124,63,0,248,31,0,248,31, + 0,248,31,128,248,31,128,248,31,128,248,63,128,124,63,128, + 127,255,128,63,239,128,15,207,128,0,15,128,0,31,0,0, + 31,0,248,31,0,120,63,0,124,126,0,63,254,0,63,252, + 0,31,248,0,7,224,0,5,18,18,11,5,0,248,248,248, + 248,248,0,0,0,0,0,0,0,0,248,248,248,248,248,7, + 22,22,11,2,252,62,62,62,62,62,0,0,0,0,0,0, + 0,0,62,60,124,120,120,112,240,224,224,21,19,57,34,7, + 1,0,0,8,0,0,56,0,1,248,0,15,192,0,62,0, + 1,248,0,7,192,0,62,0,0,248,0,0,192,0,0,248, + 0,0,62,0,0,7,192,0,1,248,0,0,62,0,0,7, + 192,0,1,248,0,0,56,0,0,8,20,8,24,34,7,6, + 255,255,240,255,255,240,0,0,0,0,0,0,0,0,0,0, + 0,0,255,255,240,255,255,240,21,17,51,34,7,2,224,0, + 0,248,0,0,63,0,0,7,224,0,0,248,0,0,63,0, + 0,7,192,0,0,248,0,0,56,0,0,248,0,7,192,0, + 63,0,0,248,0,7,224,0,31,0,0,248,0,0,224,0, + 0,16,25,50,19,1,1,31,240,63,248,127,252,248,62,112, + 30,48,31,0,31,0,30,0,62,0,60,0,120,0,240,1, + 224,3,192,3,128,3,128,3,128,3,128,3,128,0,0,0, + 0,7,192,7,192,7,192,7,192,33,32,160,35,1,250,0, + 31,254,0,0,0,127,255,128,0,1,255,255,224,0,3,255, + 255,240,0,7,240,3,248,0,15,192,1,252,0,31,128,0, + 124,0,63,7,159,126,0,62,31,255,63,0,124,63,255,31, + 0,124,127,255,31,0,120,126,63,31,0,248,252,31,15,0, + 248,248,31,15,128,248,248,31,15,128,248,248,31,15,128,248, + 248,31,15,0,248,248,31,15,0,248,248,31,15,0,248,248, + 31,31,0,120,124,63,30,0,124,124,127,190,0,124,63,255, + 252,0,62,31,231,248,0,63,7,195,240,0,31,128,0,0, + 0,15,192,0,0,0,7,248,3,0,0,3,255,255,0,0, + 1,255,255,0,0,0,127,255,0,0,0,7,255,0,0,23, + 25,75,24,1,0,0,124,0,0,252,0,0,254,0,0,254, + 0,1,254,0,1,255,0,3,255,0,3,207,0,3,207,128, + 7,207,128,7,135,192,7,135,192,15,135,192,15,3,224,31, + 3,224,31,3,240,31,255,240,63,255,240,63,255,248,127,255, + 248,124,0,248,124,0,252,248,0,124,248,0,126,240,0,62, + 19,25,75,23,2,0,255,248,0,255,254,0,255,255,0,255, + 255,0,248,63,0,248,15,128,248,15,128,248,15,0,248,15, + 0,248,63,0,255,254,0,255,248,0,255,252,0,255,255,0, + 248,15,192,248,3,192,248,3,224,248,3,224,248,3,224,248, + 3,224,248,7,224,255,255,192,255,255,128,255,255,0,255,252, + 0,21,25,75,25,2,1,3,255,0,15,255,192,31,255,224, + 63,255,240,62,3,240,124,1,240,120,1,248,120,0,248,248, + 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, + 0,248,0,0,248,0,0,248,1,248,120,1,248,124,1,248, + 124,3,240,63,7,240,31,255,224,15,255,192,7,255,0,1, + 252,0,20,25,75,23,2,0,255,224,0,255,252,0,255,254, + 0,255,255,0,248,63,128,248,15,192,248,7,192,248,3,224, + 248,3,224,248,1,224,248,1,224,248,1,240,248,1,240,248, + 1,240,248,1,240,248,1,224,248,3,224,248,3,224,248,7, + 192,248,15,192,248,63,128,255,255,0,255,254,0,255,252,0, + 255,224,0,17,25,75,21,2,0,255,255,0,255,255,0,255, + 255,0,255,255,0,248,0,0,248,0,0,248,0,0,248,0, + 0,248,0,0,248,0,0,255,255,0,255,255,0,255,255,0, + 255,255,0,248,0,0,248,0,0,248,0,0,248,0,0,248, + 0,0,248,0,0,248,0,0,255,255,128,255,255,128,255,255, + 128,255,255,128,16,25,50,19,2,0,255,255,255,255,255,255, + 255,255,248,0,248,0,248,0,248,0,248,0,248,0,255,254, + 255,254,255,254,255,254,248,0,248,0,248,0,248,0,248,0, + 248,0,248,0,248,0,248,0,248,0,248,0,22,25,75,26, + 2,1,1,255,192,7,255,224,15,255,240,31,255,248,63,0, + 248,62,0,124,124,0,124,124,0,0,248,0,0,248,0,0, + 248,0,0,248,7,252,248,7,252,248,7,252,248,7,252,248, + 0,124,248,0,124,124,0,124,126,0,124,63,0,124,63,192, + 124,31,255,252,15,255,252,3,255,252,0,127,192,20,25,75, + 24,2,0,248,1,240,248,1,240,248,1,240,248,1,240,248, + 1,240,248,1,240,248,1,240,248,1,240,248,1,240,248,1, + 240,255,255,240,255,255,240,255,255,240,255,255,240,248,1,240, + 248,1,240,248,1,240,248,1,240,248,1,240,248,1,240,248, + 1,240,248,1,240,248,1,240,248,1,240,248,1,240,5,25, + 25,9,2,0,248,248,248,248,248,248,248,248,248,248,248,248, + 248,248,248,248,248,248,248,248,248,248,248,248,248,17,25,75, + 21,2,0,0,15,128,0,15,128,0,15,128,0,15,128,0, + 15,128,0,15,128,0,15,128,0,15,128,0,15,128,0,15, + 128,0,15,128,0,15,128,0,15,128,0,15,128,0,15,128, + 0,15,128,0,15,128,248,15,128,248,15,128,248,15,128,252, + 31,0,127,255,0,127,254,0,63,252,0,15,240,0,19,25, + 75,23,2,0,248,7,192,248,15,128,248,31,128,248,63,0, + 248,126,0,248,124,0,248,248,0,249,248,0,251,240,0,251, + 224,0,255,192,0,255,192,0,255,224,0,255,240,0,251,240, + 0,249,248,0,249,252,0,248,252,0,248,126,0,248,63,0, + 248,63,128,248,31,128,248,15,192,248,15,224,248,7,224,16, + 25,50,19,2,0,248,0,248,0,248,0,248,0,248,0,248, + 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, + 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,255, + 255,255,255,255,255,255,255,27,25,100,31,2,0,255,0,31, + 224,255,0,63,224,255,128,63,224,255,128,63,224,255,128,127, + 224,255,192,127,224,255,192,123,224,251,192,123,224,251,224,251, + 224,251,224,243,224,251,224,243,224,249,241,243,224,249,241,243, + 224,249,241,227,224,248,243,227,224,248,251,227,224,248,251,195, + 224,248,127,195,224,248,127,195,224,248,127,131,224,248,127,131, + 224,248,63,131,224,248,63,131,224,248,63,3,224,248,31,3, + 224,21,25,75,25,2,0,254,0,248,255,0,248,255,0,248, + 255,128,248,255,128,248,255,192,248,255,192,248,251,224,248,251, + 224,248,249,224,248,249,240,248,248,240,248,248,248,248,248,120, + 248,248,124,248,248,60,248,248,62,248,248,30,248,248,31,248, + 248,31,248,248,15,248,248,15,248,248,7,248,248,7,248,248, + 3,248,23,25,75,27,2,1,3,255,128,7,255,192,31,255, + 240,31,255,240,63,1,248,126,0,252,124,0,124,120,0,60, + 248,0,62,248,0,62,248,0,62,248,0,62,248,0,62,248, + 0,62,248,0,62,248,0,62,248,0,62,124,0,124,124,0, + 124,62,0,248,63,131,248,31,255,240,15,255,224,7,255,192, + 0,254,0,18,25,75,21,2,0,255,240,0,255,252,0,255, + 255,0,255,255,128,248,31,128,248,15,128,248,7,192,248,7, + 192,248,7,192,248,15,128,248,31,128,255,255,128,255,255,0, + 255,252,0,255,240,0,248,0,0,248,0,0,248,0,0,248, + 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, + 0,248,0,0,26,25,100,29,2,1,3,255,128,0,7,255, + 192,0,31,255,224,0,31,255,240,0,63,1,248,0,126,0, + 252,0,124,0,124,0,120,0,60,0,248,0,62,0,248,0, + 62,0,248,0,62,0,248,0,62,0,248,0,62,0,248,0, + 62,0,248,0,62,0,248,0,62,0,120,0,60,0,124,0, + 124,0,124,0,124,0,62,0,248,0,63,131,240,0,31,255, + 255,192,15,255,255,192,3,255,255,192,0,255,255,192,19,25, + 75,22,2,0,255,252,0,255,255,0,255,255,128,255,255,192, + 248,15,192,248,7,224,248,3,224,248,3,224,248,3,192,248, + 7,192,248,31,128,255,255,0,255,252,0,255,255,0,255,255, + 128,248,15,128,248,7,192,248,7,192,248,7,192,248,3,192, + 248,3,192,248,3,192,248,3,224,248,3,224,248,3,224,20, + 25,75,23,2,1,7,254,0,15,255,0,31,255,128,63,255, + 192,126,7,192,124,3,192,124,3,224,124,0,0,124,0,0, + 127,0,0,63,240,0,31,254,0,7,255,128,1,255,192,0, + 31,224,0,3,224,0,1,240,248,1,240,248,1,240,248,3, + 224,126,7,224,127,255,192,63,255,128,15,255,0,3,248,0, + 20,25,75,22,1,0,255,255,240,255,255,240,255,255,240,255, + 255,240,1,240,0,1,240,0,1,240,0,1,240,0,1,240, + 0,1,240,0,1,240,0,1,240,0,1,240,0,1,240,0, + 1,240,0,1,240,0,1,240,0,1,240,0,1,240,0,1, + 240,0,1,240,0,1,240,0,1,240,0,1,240,0,1,240, + 0,21,25,75,25,2,0,248,0,248,248,0,248,248,0,248, + 248,0,248,248,0,248,248,0,248,248,0,248,248,0,248,248, + 0,248,248,0,248,248,0,248,248,0,248,248,0,248,248,0, + 248,248,0,248,248,0,248,248,0,240,248,0,240,120,1,240, + 124,3,240,127,7,224,63,255,192,31,255,128,15,255,0,3, + 252,0,24,25,75,25,1,0,248,0,63,248,0,62,252,0, + 62,124,0,124,124,0,124,126,0,124,62,0,248,63,0,248, + 63,1,240,31,1,240,31,129,240,31,131,224,15,131,224,15, + 195,224,7,199,192,7,199,192,7,231,128,3,239,128,3,255, + 128,3,255,0,1,255,0,1,254,0,1,254,0,0,254,0, + 0,252,0,34,25,125,34,0,0,252,3,240,15,192,252,3, + 240,15,128,124,3,240,15,128,126,7,248,15,128,126,7,248, + 15,128,126,7,248,31,0,62,7,248,31,0,62,15,252,31, + 0,63,15,60,30,0,63,15,60,62,0,31,15,60,62,0, + 31,31,62,62,0,31,30,30,60,0,31,158,30,60,0,15, + 158,30,124,0,15,190,31,124,0,15,188,15,120,0,7,252, + 15,120,0,7,252,15,120,0,7,252,15,248,0,7,248,7, + 240,0,3,248,7,240,0,3,248,7,240,0,3,248,7,240, + 0,3,240,3,224,0,22,25,75,24,1,0,252,0,248,126, + 1,248,62,1,240,63,3,224,31,135,192,15,135,192,15,207, + 128,7,239,0,3,255,0,3,254,0,1,252,0,0,252,0, + 0,252,0,1,254,0,3,254,0,3,255,0,7,223,128,15, + 143,128,15,15,192,31,7,224,62,3,224,62,3,240,124,1, + 248,248,1,248,248,0,252,21,25,75,22,1,0,252,1,248, + 252,1,240,126,3,224,126,3,224,63,7,192,31,7,192,31, + 143,128,15,143,128,15,223,0,7,223,0,7,254,0,3,254, + 0,3,252,0,1,248,0,1,248,0,0,240,0,0,248,0, + 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, + 248,0,0,248,0,0,248,0,18,25,75,22,2,0,127,255, + 192,127,255,192,127,255,192,127,255,192,0,15,192,0,31,128, + 0,63,0,0,63,0,0,126,0,0,252,0,1,252,0,1, + 248,0,3,240,0,7,224,0,7,224,0,15,192,0,31,128, + 0,63,128,0,63,0,0,126,0,0,252,0,0,255,255,192, + 255,255,192,255,255,192,255,255,192,8,32,32,13,3,249,255, + 255,255,248,248,248,248,248,248,248,248,248,248,248,248,248,248, + 248,248,248,248,248,248,248,248,248,248,248,248,255,255,255,11, + 28,56,15,2,254,224,0,224,0,240,0,240,0,240,0,112, + 0,120,0,120,0,56,0,60,0,60,0,28,0,30,0,30, + 0,30,0,15,0,15,0,15,0,7,0,7,128,7,128,3, + 128,3,192,3,192,1,192,1,224,1,224,1,224,8,32,32, + 13,3,249,255,255,255,31,31,31,31,31,31,31,31,31,31, + 31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31, + 255,255,255,18,21,63,34,8,0,0,192,0,0,224,0,1, + 224,0,1,224,0,1,48,0,3,48,0,2,24,0,6,24, + 0,6,24,0,4,12,0,12,12,0,12,14,0,24,6,0, + 24,6,0,24,7,0,48,3,0,48,3,0,112,1,128,96, + 1,128,96,1,192,192,0,192,17,3,9,17,0,251,255,255, + 128,255,255,128,255,255,128,7,7,7,9,255,21,248,120,60, + 60,28,14,6,15,18,36,19,2,0,7,224,63,248,127,252, + 124,62,120,62,0,62,15,254,63,254,127,254,124,62,248,62, + 248,62,248,62,248,62,252,126,127,254,63,222,31,30,17,25, + 75,20,2,0,248,0,0,248,0,0,248,0,0,248,0,0, + 248,0,0,248,0,0,248,0,0,249,240,0,255,252,0,255, + 254,0,254,63,0,252,31,0,248,15,128,248,15,128,248,15, + 128,248,15,128,248,15,128,248,15,128,248,15,128,248,15,128, + 252,31,0,254,63,0,255,254,0,251,252,0,249,240,0,15, + 18,36,18,2,0,7,224,31,248,63,252,124,124,120,60,248, + 62,248,0,248,0,248,0,248,0,248,0,248,62,248,62,120, + 60,124,124,63,252,31,248,15,224,17,25,75,21,2,0,0, + 15,128,0,15,128,0,15,128,0,15,128,0,15,128,0,15, + 128,0,15,128,7,207,128,31,255,128,63,255,128,126,63,128, + 124,31,128,248,15,128,248,15,128,248,15,128,248,15,128,248, + 15,128,248,15,128,248,15,128,248,15,128,124,31,128,126,63, + 128,63,255,128,31,239,128,7,207,128,15,18,36,19,2,0, + 7,224,31,248,63,252,124,60,120,62,248,30,248,30,255,254, + 255,254,255,254,248,0,248,0,248,30,120,62,124,62,63,252, + 31,248,7,224,12,25,50,13,1,0,7,240,15,240,31,240, + 31,0,31,0,31,0,31,0,255,224,255,224,255,224,31,0, + 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, + 31,0,31,0,31,0,31,0,31,0,31,0,17,25,75,21, + 2,249,7,207,128,31,255,128,63,255,128,126,63,128,124,31, + 128,248,15,128,248,15,128,248,15,128,248,15,128,248,15,128, + 248,15,128,248,15,128,248,15,128,124,31,128,126,63,128,63, + 255,128,31,239,128,7,207,128,0,15,128,0,15,128,124,15, + 128,124,31,0,63,254,0,31,252,0,7,240,0,16,25,50, + 20,2,0,248,0,248,0,248,0,248,0,248,0,248,0,248, + 0,249,248,255,252,255,254,254,63,252,31,248,31,248,31,248, + 31,248,31,248,31,248,31,248,31,248,31,248,31,248,31,248, + 31,248,31,248,31,5,25,25,9,2,0,248,248,248,248,248, + 0,0,248,248,248,248,248,248,248,248,248,248,248,248,248,248, + 248,248,248,248,6,32,32,12,4,249,124,124,124,124,124,0, + 0,124,124,124,124,124,124,124,124,124,124,124,124,124,124,124, + 124,124,124,124,124,124,252,252,248,240,16,25,50,19,2,0, + 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,62, + 248,124,248,248,249,248,249,240,251,224,255,192,255,192,255,192, + 255,192,251,224,251,240,249,240,248,248,248,252,248,124,248,126, + 248,63,5,25,25,9,2,0,248,248,248,248,248,248,248,248, + 248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248, + 248,27,18,72,31,2,0,249,248,62,0,251,252,127,128,255, + 254,255,192,254,63,199,192,252,63,135,192,248,31,3,224,248, + 31,3,224,248,31,3,224,248,31,3,224,248,31,3,224,248, + 31,3,224,248,31,3,224,248,31,3,224,248,31,3,224,248, + 31,3,224,248,31,3,224,248,31,3,224,248,31,3,224,16, + 18,36,20,2,0,249,248,251,252,255,254,252,63,252,31,248, + 31,248,31,248,31,248,31,248,31,248,31,248,31,248,31,248, + 31,248,31,248,31,248,31,248,31,18,18,54,21,2,0,3, + 240,0,15,252,0,63,254,0,62,31,0,124,15,128,120,15, + 128,248,7,128,248,7,128,248,7,192,248,7,192,248,7,192, + 248,7,128,120,15,128,124,15,128,62,31,0,63,254,0,15, + 252,0,3,240,0,17,25,75,20,2,249,249,240,0,251,252, + 0,255,254,0,254,63,0,252,31,0,248,15,128,248,15,128, + 248,15,128,248,15,128,248,15,128,248,15,128,248,15,128,248, + 15,128,252,31,0,254,63,0,255,254,0,255,252,0,249,240, + 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, + 248,0,0,248,0,0,17,25,75,21,2,249,7,207,128,31, + 239,128,63,255,128,126,63,128,124,31,128,248,15,128,248,15, + 128,248,15,128,248,15,128,248,15,128,248,15,128,248,15,128, + 248,15,128,124,31,128,126,63,128,63,255,128,31,255,128,7, + 207,128,0,15,128,0,15,128,0,15,128,0,15,128,0,15, + 128,0,15,128,0,15,128,11,18,36,13,2,0,249,224,251, + 224,255,224,255,224,255,0,252,0,248,0,248,0,248,0,248, + 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, + 0,15,18,36,18,2,0,15,224,63,248,127,248,124,124,248, + 124,248,124,126,0,127,192,63,248,15,252,1,252,0,126,248, + 62,248,62,248,124,127,252,63,248,15,192,13,23,46,14,1, + 0,1,0,7,0,31,0,31,0,31,0,255,240,255,240,255, + 240,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, + 0,31,0,31,0,31,0,15,128,15,248,7,248,3,240,16, + 18,36,20,2,0,248,31,248,31,248,31,248,31,248,31,248, + 31,248,31,248,31,248,31,248,31,248,31,248,31,248,31,248, + 31,252,63,127,255,63,223,31,159,18,18,54,19,0,0,248, + 7,192,124,7,192,124,15,128,124,15,128,62,15,128,62,31, + 0,62,31,0,31,30,0,31,30,0,15,62,0,15,188,0, + 15,188,0,7,252,0,7,248,0,7,248,0,3,240,0,3, + 240,0,1,240,0,29,18,72,29,0,0,248,15,128,248,124, + 31,192,240,124,31,193,240,124,31,193,240,124,31,225,224,62, + 63,225,224,62,61,227,224,62,61,227,224,31,125,243,192,31, + 120,247,192,31,120,247,192,15,248,255,128,15,248,127,128,15, + 240,127,128,15,240,127,128,7,240,127,0,7,224,63,0,7, + 224,63,0,17,18,54,19,1,0,252,31,0,124,31,0,126, + 62,0,63,60,0,31,124,0,15,248,0,15,248,0,7,240, + 0,7,224,0,7,240,0,15,248,0,31,248,0,30,252,0, + 62,126,0,60,62,0,124,63,0,248,31,0,248,15,128,17, + 25,75,18,1,249,248,15,128,248,15,128,248,15,0,124,31, + 0,124,31,0,124,30,0,62,62,0,62,60,0,30,60,0, + 31,124,0,31,120,0,15,248,0,15,248,0,15,240,0,7, + 240,0,7,240,0,3,224,0,3,224,0,3,224,0,3,192, + 0,7,192,0,7,128,0,7,128,0,15,128,0,15,128,0, + 14,18,36,18,2,0,255,252,255,252,255,252,0,124,0,248, + 1,248,3,240,7,224,7,192,15,128,31,128,63,0,126,0, + 124,0,248,0,255,252,255,252,255,252,13,35,70,18,3,248, + 0,248,3,248,7,248,15,192,15,128,15,128,15,128,15,128, + 15,128,15,128,15,128,15,0,15,0,15,0,31,0,126,0, + 252,0,240,0,252,0,126,0,63,0,31,0,15,0,15,0, + 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,192, + 7,248,3,248,0,248,2,37,37,12,5,247,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,13,35,70,17,2,248,248,0,254,0,255,0,31,0,15, + 0,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, + 128,7,128,7,192,3,224,1,248,0,248,1,248,3,224,7, + 192,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, + 128,15,128,15,0,31,0,255,0,254,0,248,0,18,4,12, + 18,0,7,31,195,192,63,255,128,127,255,0,240,126,0,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,255,255,255,255,255,255,255, + 0,0,0,10,0,0,5,25,25,13,4,249,248,248,248,248, + 0,0,0,248,248,248,248,248,248,248,248,248,248,248,248,248, + 248,248,248,248,248,15,26,52,19,2,252,0,48,0,48,0, + 48,0,32,7,224,31,248,63,252,124,252,120,254,248,254,249, + 128,249,128,249,128,249,0,251,0,251,62,251,62,126,62,126, + 124,63,252,31,248,15,224,12,0,24,0,24,0,24,0,17, + 25,75,20,2,1,7,254,0,15,255,0,31,255,0,31,15, + 128,62,15,128,62,0,0,62,0,0,62,0,0,62,0,0, + 255,240,0,255,240,0,255,240,0,62,0,0,62,0,0,62, + 0,0,62,0,0,62,0,0,62,0,0,62,0,0,62,0, + 0,62,0,0,62,0,0,255,255,128,255,255,128,255,255,128, + 18,19,57,20,1,6,64,0,128,224,1,192,115,227,128,63, + 255,0,30,30,0,28,14,0,24,6,0,48,3,0,48,3, + 0,48,3,0,48,3,0,48,3,0,24,6,0,28,14,0, + 30,30,0,63,255,0,115,243,128,224,1,192,64,0,128,19, + 25,75,21,1,0,248,3,224,248,7,224,124,7,192,124,7, + 192,62,15,128,62,15,128,31,31,0,255,31,224,255,191,224, + 15,190,0,7,252,0,7,252,0,3,248,0,255,255,224,255, + 255,224,1,240,0,1,240,0,1,240,0,1,240,0,1,240, + 0,1,240,0,1,240,0,1,240,0,1,240,0,1,240,0, + 2,33,33,12,5,249,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,0,0,0,0,0,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,14,31,62,16,1,251,31,240,63, + 248,127,248,124,24,248,0,248,0,124,0,126,0,63,128,31, + 192,31,240,63,248,124,248,248,124,240,60,240,120,240,120,253, + 240,127,224,63,192,31,224,7,240,1,248,0,252,0,124,0, + 124,128,248,225,248,255,240,255,224,63,128,11,4,8,11,0, + 22,241,224,241,224,241,224,241,224,25,25,100,29,2,1,0, + 255,192,0,3,255,224,0,15,0,120,0,30,0,60,0,24, + 63,14,0,56,127,134,0,112,255,199,0,97,227,195,0,225, + 193,227,128,195,193,225,128,195,192,1,128,195,192,1,128,195, + 192,1,128,195,192,1,128,195,193,225,128,227,193,227,128,97, + 227,195,0,113,255,195,0,48,255,135,0,56,62,14,0,28, + 0,28,0,15,0,120,0,7,193,240,0,1,255,224,0,0, + 127,0,0,12,17,34,14,1,8,15,128,63,192,56,224,112, + 224,0,224,15,224,63,224,120,224,112,224,112,224,121,224,63, + 224,30,96,0,0,0,0,255,240,255,240,17,14,42,21,2, + 2,31,15,128,30,31,0,62,31,0,60,62,0,124,62,0, + 124,124,0,248,124,0,248,124,0,124,124,0,124,62,0,60, + 62,0,62,31,0,30,15,0,31,15,128,18,8,24,21,2, + 7,255,255,192,255,255,192,0,0,192,0,0,192,0,0,192, + 0,0,192,0,0,192,0,0,192,255,25,25,100,29,2,1, + 0,255,192,0,3,255,224,0,15,0,120,0,30,0,60,0, + 25,255,142,0,57,255,198,0,113,255,231,0,97,193,227,0, + 225,192,227,128,193,193,225,128,193,255,129,128,193,255,129,128, + 193,255,193,128,193,193,193,128,193,193,193,128,225,192,227,128, + 97,192,227,0,113,192,227,0,49,192,231,0,56,0,14,0, + 28,0,28,0,15,0,120,0,7,193,240,0,1,255,224,0, + 0,127,0,0,11,3,6,11,0,22,255,224,255,224,255,224, + 7,7,7,11,2,18,56,196,130,130,130,196,120,20,21,63, + 34,7,0,0,96,0,0,96,0,0,96,0,0,96,0,0, + 96,0,0,96,0,255,255,240,255,255,240,0,96,0,0,96, + 0,0,96,0,0,96,0,0,96,0,0,96,0,0,96,0, + 0,0,0,0,0,0,0,0,0,0,0,0,255,255,240,255, + 255,240,11,13,26,13,1,13,63,128,127,192,241,224,1,224, + 1,224,3,192,7,192,15,128,30,0,124,0,240,0,255,192, + 255,192,11,14,28,13,1,12,127,128,255,128,227,192,3,192, + 7,192,31,128,31,128,3,192,1,224,1,224,225,224,243,192, + 127,128,63,0,7,7,7,8,2,21,62,60,56,120,112,224, + 192,255,16,31,62,19,2,250,15,255,63,255,127,24,255,24, + 255,24,255,24,255,24,255,24,255,24,255,24,127,24,63,24, + 31,24,3,24,3,24,3,24,3,24,3,24,3,24,3,24, + 3,24,3,24,3,24,3,24,3,24,3,24,3,24,3,24, + 3,24,3,24,3,24,5,5,5,10,3,10,248,248,248,248, + 248,9,8,16,9,1,247,48,0,48,0,63,0,7,128,3, + 128,3,128,255,0,254,0,6,14,14,9,1,12,28,124,252, + 220,28,28,28,28,28,28,28,28,28,28,12,17,34,14,1, + 8,31,128,63,192,121,224,112,224,224,112,224,112,224,112,224, + 112,224,112,112,224,121,224,63,192,31,128,0,0,0,0,255, + 240,255,240,16,14,28,21,2,2,240,120,248,124,124,60,124, + 62,62,30,62,31,31,31,31,31,62,31,62,30,124,62,124, + 60,248,124,240,120,25,26,104,27,1,0,28,0,120,0,124, + 0,112,0,252,0,240,0,156,0,224,0,28,1,192,0,28, + 1,192,0,28,3,128,0,28,7,128,0,28,7,0,0,28, + 14,0,0,28,14,0,0,28,28,0,0,28,28,30,0,28, + 56,30,0,0,120,62,0,0,112,126,0,0,224,126,0,0, + 224,238,0,1,193,206,0,1,193,206,0,3,131,142,0,7, + 3,255,128,7,3,255,128,14,0,14,0,14,0,14,0,28, + 0,14,0,25,26,104,27,1,0,28,0,112,0,124,0,224, + 0,252,0,224,0,220,1,192,0,28,3,192,0,28,3,128, + 0,28,7,0,0,28,7,0,0,28,14,0,0,28,14,0, + 0,28,28,0,0,28,56,0,0,28,56,124,0,28,113,255, + 0,0,115,199,128,0,227,199,128,0,192,7,128,1,192,15, + 128,3,128,15,0,3,128,30,0,7,0,60,0,6,0,248, + 0,14,1,240,0,12,3,192,0,28,3,255,0,24,3,255, + 0,25,25,100,27,1,1,127,128,60,0,255,192,56,0,227, + 192,112,0,3,192,112,0,31,128,224,0,31,129,224,0,3, + 193,192,0,1,227,192,0,225,227,128,0,227,231,128,0,127, + 207,0,0,63,14,30,0,0,30,62,0,0,28,62,0,0, + 60,126,0,0,56,110,0,0,120,238,0,0,241,206,0,0, + 241,206,0,1,227,142,0,1,227,255,128,3,195,255,128,3, + 128,14,0,7,128,14,0,15,0,14,0,16,25,50,18,1, + 249,3,224,3,224,3,224,3,224,0,0,0,0,0,0,1, + 192,1,192,1,192,3,192,7,128,15,0,30,0,60,0,124, + 0,248,0,248,0,248,0,248,14,248,31,124,62,63,254,31, + 248,7,224,23,35,105,24,1,0,3,192,0,3,192,0,1, + 224,0,0,224,0,0,112,0,0,48,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,124,0,0,252,0,0,254,0, + 0,254,0,1,254,0,1,255,0,3,255,0,3,207,0,3, + 207,128,7,207,128,7,135,192,7,135,192,15,135,192,15,3, + 224,31,3,224,31,3,240,31,255,240,63,255,240,63,255,248, + 127,255,248,124,0,248,124,0,252,248,0,124,248,0,126,240, + 0,62,23,35,105,24,1,0,0,15,0,0,15,0,0,30, + 0,0,28,0,0,56,0,0,48,0,0,112,0,0,0,0, + 0,0,0,0,0,0,0,124,0,0,252,0,0,254,0,0, + 254,0,1,254,0,1,255,0,3,255,0,3,207,0,3,207, + 128,7,207,128,7,135,192,7,135,192,15,135,192,15,3,224, + 31,3,224,31,3,240,31,255,240,63,255,240,63,255,248,127, + 255,248,124,0,248,124,0,252,248,0,124,248,0,126,240,0, + 62,23,35,105,24,1,0,0,252,0,0,252,0,0,254,0, + 1,206,0,1,199,0,3,135,0,3,3,128,0,0,0,0, + 0,0,0,0,0,0,124,0,0,252,0,0,254,0,0,254, + 0,1,254,0,1,255,0,3,255,0,3,207,0,3,207,128, + 7,207,128,7,135,192,7,135,192,15,135,192,15,3,224,31, + 3,224,31,3,240,31,255,240,63,255,240,63,255,248,127,255, + 248,124,0,248,124,0,252,248,0,124,248,0,126,240,0,62, + 23,34,102,24,1,0,0,1,128,1,255,0,3,255,0,3, + 254,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,124,0,0,252,0,0,254,0,0,254,0,1,254,0, + 1,255,0,3,255,0,3,207,0,3,207,128,7,207,128,7, + 135,192,7,135,192,15,135,192,15,3,224,31,3,224,31,3, + 240,31,255,240,63,255,240,63,255,248,127,255,248,124,0,248, + 124,0,252,248,0,124,248,0,126,240,0,62,23,34,102,25, + 1,0,3,199,128,3,199,128,3,199,128,3,199,128,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,124,0, + 0,124,0,0,254,0,0,254,0,1,255,0,1,255,0,1, + 239,0,3,239,128,3,239,128,3,199,128,7,199,192,7,199, + 192,15,131,224,15,131,224,15,131,224,31,1,240,31,255,240, + 31,255,240,63,255,248,63,255,248,124,0,252,124,0,124,124, + 0,124,248,0,62,248,0,62,23,37,111,24,1,0,0,120, + 0,0,252,0,1,206,0,1,134,0,1,134,0,1,206,0, + 0,252,0,0,120,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,124,0,0,252,0,0,252,0,0,254,0,1,254, + 0,1,255,0,3,255,0,3,207,0,3,207,128,7,207,128, + 7,135,192,7,135,192,15,135,192,15,3,224,31,3,224,31, + 3,224,31,255,240,63,255,240,63,255,248,127,255,248,124,0, + 248,124,0,252,248,0,124,248,0,126,240,0,62,32,25,100, + 34,1,0,0,7,255,254,0,15,255,254,0,15,255,254,0, + 31,240,0,0,31,240,0,0,63,240,0,0,61,240,0,0, + 121,240,0,0,249,240,0,0,241,240,0,1,241,255,254,1, + 225,255,254,3,225,255,254,3,193,255,254,7,193,240,0,7, + 255,240,0,15,255,240,0,15,255,240,0,31,255,240,0,30, + 1,240,0,62,1,240,0,60,1,255,255,124,1,255,255,248, + 1,255,255,248,1,255,255,21,33,99,25,2,249,3,255,0, + 15,255,192,31,255,224,63,255,240,62,3,240,124,1,240,120, + 1,248,120,0,248,248,0,0,248,0,0,248,0,0,248,0, + 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,248, + 120,1,248,124,1,248,124,3,240,63,7,240,31,255,224,31, + 255,192,7,255,128,1,252,0,0,96,0,0,120,0,0,126, + 0,0,15,0,0,7,0,0,7,0,1,254,0,1,252,0, + 17,35,105,21,2,0,30,0,0,15,0,0,7,0,0,7, + 128,0,3,128,0,1,192,0,0,192,0,0,0,0,0,0, + 0,0,0,0,255,255,0,255,255,0,255,255,0,255,255,0, + 248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248, + 0,0,255,255,0,255,255,0,255,255,0,255,255,0,248,0, + 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, + 248,0,0,255,255,128,255,255,128,255,255,128,255,255,128,17, + 35,105,21,2,0,0,120,0,0,240,0,0,224,0,1,192, + 0,1,128,0,3,128,0,0,0,0,0,0,0,0,0,0, + 0,0,0,255,255,0,255,255,0,255,255,0,255,255,0,248, + 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, + 0,255,255,0,255,255,0,255,255,0,255,255,0,248,0,0, + 248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248, + 0,0,255,255,128,255,255,128,255,255,128,255,255,128,17,35, + 105,21,2,0,7,224,0,7,224,0,15,240,0,14,112,0, + 14,56,0,28,56,0,24,28,0,0,0,0,0,0,0,0, + 0,0,255,255,0,255,255,0,255,255,0,255,255,0,248,0, + 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, + 255,255,0,255,255,0,255,255,0,255,255,0,248,0,0,248, + 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, + 0,255,255,128,255,255,128,255,255,128,255,255,128,17,34,102, + 21,2,0,30,60,0,30,60,0,30,60,0,30,60,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255, + 0,255,255,0,255,255,0,255,255,0,248,0,0,248,0,0, + 248,0,0,248,0,0,248,0,0,248,0,0,255,255,0,255, + 255,0,255,255,0,255,255,0,248,0,0,248,0,0,248,0, + 0,248,0,0,248,0,0,248,0,0,248,0,0,255,255,128, + 255,255,128,255,255,128,255,255,128,8,35,35,9,255,0,240, + 120,56,60,28,12,6,0,0,0,31,31,31,31,31,31,31, + 31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31, + 31,31,7,35,35,8,2,0,30,28,60,56,112,96,224,0, + 0,0,248,248,248,248,248,248,248,248,248,248,248,248,248,248, + 248,248,248,248,248,248,248,248,248,248,248,11,35,70,9,255, + 0,31,0,63,0,63,128,59,128,113,192,97,192,192,224,0, + 0,0,0,0,0,31,0,31,0,31,0,31,0,31,0,31, + 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, + 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, + 0,31,0,31,0,31,0,11,34,68,11,0,0,241,224,241, + 224,241,224,241,224,0,0,0,0,0,0,0,0,0,0,31, + 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, + 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, + 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, + 0,23,25,75,24,0,0,63,252,0,63,255,128,63,255,192, + 63,255,224,62,7,240,62,1,248,62,0,248,62,0,124,62, + 0,124,62,0,60,62,0,60,255,240,62,255,240,62,255,240, + 62,62,0,60,62,0,60,62,0,124,62,0,124,62,0,248, + 62,1,248,62,7,240,63,255,224,63,255,192,63,255,128,63, + 252,0,21,34,102,25,2,0,0,3,0,1,255,0,3,254, + 0,7,252,0,6,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,254,0,248,255,0,248,255,0,248,255,128,248,255, + 128,248,255,192,248,255,192,248,251,224,248,251,224,248,249,224, + 248,249,240,248,248,240,248,248,248,248,248,120,248,248,124,248, + 248,60,248,248,62,248,248,30,248,248,31,248,248,31,248,248, + 15,248,248,15,248,248,7,248,248,7,248,248,3,248,23,36, + 108,27,2,0,7,192,0,3,192,0,1,224,0,0,224,0, + 0,240,0,0,112,0,0,56,0,0,0,0,0,0,0,0, + 0,0,0,0,0,3,255,128,7,255,192,31,255,240,31,255, + 240,63,1,248,126,0,252,124,0,124,120,0,60,248,0,62, + 248,0,62,248,0,62,248,0,62,248,0,62,248,0,62,248, + 0,62,248,0,62,248,0,62,124,0,124,124,0,124,62,0, + 248,63,131,248,31,255,240,15,255,224,7,255,192,0,254,0, + 23,36,108,27,2,0,0,7,192,0,7,128,0,15,0,0, + 14,0,0,28,0,0,24,0,0,48,0,0,0,0,0,0, + 0,0,0,0,0,0,0,3,255,128,7,255,192,31,255,240, + 31,255,240,63,1,248,126,0,252,124,0,124,120,0,60,248, + 0,62,248,0,62,248,0,62,248,0,62,248,0,62,248,0, + 62,248,0,62,248,0,62,248,0,62,124,0,124,124,0,124, + 62,0,248,63,131,248,31,255,240,15,255,224,7,255,192,0, + 254,0,23,36,108,27,2,0,0,124,0,0,254,0,0,254, + 0,1,239,0,1,199,0,3,131,128,3,1,128,0,0,0, + 0,0,0,0,0,0,0,0,0,3,255,128,7,255,192,31, + 255,240,31,255,240,63,1,248,126,0,252,124,0,124,120,0, + 60,248,0,62,248,0,62,248,0,62,248,0,62,248,0,62, + 248,0,62,248,0,62,248,0,62,248,0,62,124,0,124,124, + 0,124,62,0,248,63,131,248,31,255,240,15,255,224,7,255, + 192,0,254,0,23,34,102,27,2,0,0,241,128,1,255,128, + 3,255,0,3,30,0,3,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,3,255,128,7,255,192,31,255,240,31,255, + 240,63,1,248,126,0,252,124,0,124,120,0,60,248,0,62, + 248,0,62,248,0,62,248,0,62,248,0,62,248,0,62,248, + 0,62,248,0,62,248,0,62,124,0,124,124,0,124,62,0, + 248,63,131,248,31,255,240,15,255,224,7,255,192,0,254,0, + 23,34,102,27,2,0,3,199,128,3,199,128,3,199,128,3, + 199,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,3,255,128,7,255,192,31,255,240,31,255,240,63,1,248, + 126,0,252,124,0,124,120,0,60,248,0,62,248,0,62,248, + 0,62,248,0,62,248,0,62,248,0,62,248,0,62,248,0, + 62,248,0,62,124,0,124,124,0,124,62,0,248,63,131,248, + 31,255,240,15,255,224,7,255,192,0,254,0,18,19,57,34, + 8,1,64,0,0,224,0,192,112,1,128,56,3,0,28,6, + 0,14,12,0,6,24,0,3,48,0,1,224,0,0,192,0, + 1,224,0,3,48,0,6,24,0,12,12,0,24,6,0,48, + 3,0,112,1,128,224,1,192,64,0,128,25,28,112,27,1, + 255,0,0,1,0,0,0,3,128,1,255,195,128,3,255,247, + 0,15,255,254,0,15,255,252,0,31,128,252,0,63,0,126, + 0,62,0,254,0,60,1,254,0,124,3,223,0,124,7,159, + 0,124,15,31,0,124,30,31,0,124,60,31,0,124,120,31, + 0,124,240,31,0,125,224,31,0,127,192,31,0,63,128,62, + 0,63,0,62,0,63,0,124,0,31,193,252,0,63,255,248, + 0,127,255,240,0,243,255,224,0,224,127,0,0,64,0,0, + 0,21,36,108,25,2,0,15,0,0,7,128,0,3,192,0, + 3,192,0,1,224,0,0,224,0,0,112,0,0,0,0,0, + 0,0,0,0,0,0,0,0,248,0,248,248,0,248,248,0, + 248,248,0,248,248,0,248,248,0,248,248,0,248,248,0,248, + 248,0,248,248,0,248,248,0,248,248,0,248,248,0,248,248, + 0,248,248,0,248,248,0,248,248,0,240,248,0,240,120,1, + 240,124,3,240,127,7,224,63,255,192,31,255,128,15,255,0, + 3,252,0,21,36,108,25,2,0,0,15,128,0,15,0,0, + 30,0,0,60,0,0,56,0,0,112,0,0,96,0,0,0, + 0,0,0,0,0,0,0,0,0,0,248,0,248,248,0,248, + 248,0,248,248,0,248,248,0,248,248,0,248,248,0,248,248, + 0,248,248,0,248,248,0,248,248,0,248,248,0,248,248,0, + 248,248,0,248,248,0,248,248,0,248,248,0,240,248,0,240, + 120,1,240,124,3,240,127,7,224,63,255,192,31,255,128,15, + 255,0,3,252,0,21,36,108,25,2,0,0,248,0,1,248, + 0,1,252,0,3,220,0,7,142,0,7,14,0,14,7,0, + 0,0,0,0,0,0,0,0,0,0,0,0,248,0,248,248, + 0,248,248,0,248,248,0,248,248,0,248,248,0,248,248,0, + 248,248,0,248,248,0,248,248,0,248,248,0,248,248,0,248, + 248,0,248,248,0,248,248,0,248,248,0,248,248,0,240,248, + 0,240,120,1,240,124,3,240,127,7,224,63,255,192,31,255, + 128,15,255,0,3,252,0,21,34,102,25,2,0,7,143,0, + 7,143,0,7,143,0,7,143,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,248,0,248,248,0,248,248,0, + 248,248,0,248,248,0,248,248,0,248,248,0,248,248,0,248, + 248,0,248,248,0,248,248,0,248,248,0,248,248,0,248,248, + 0,248,248,0,248,248,0,248,248,0,240,248,0,240,124,1, + 240,124,3,240,127,7,224,63,255,192,31,255,128,15,255,0, + 3,252,0,21,35,105,22,1,0,0,30,0,0,30,0,0, + 28,0,0,56,0,0,48,0,0,112,0,0,0,0,0,0, + 0,0,0,0,0,0,0,252,1,248,252,1,240,126,3,224, + 126,3,224,63,7,192,31,7,192,31,143,128,15,143,128,15, + 223,0,7,223,0,7,254,0,3,254,0,3,252,0,1,248, + 0,1,248,0,0,240,0,0,248,0,0,248,0,0,248,0, + 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, + 248,0,18,25,75,22,2,0,248,0,0,248,0,0,248,0, + 0,248,0,0,255,240,0,255,254,0,255,255,0,255,255,128, + 248,15,128,248,7,192,248,7,192,248,7,192,248,7,192,248, + 7,192,248,15,192,255,255,128,255,255,0,255,254,0,255,240, + 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, + 248,0,0,18,25,75,19,1,1,31,240,0,63,252,0,127, + 252,0,248,62,0,248,62,0,248,62,0,248,62,0,248,124, + 0,248,248,0,248,240,0,249,240,0,251,224,0,251,224,0, + 249,248,0,249,252,0,248,127,0,248,63,128,248,15,128,248, + 7,128,248,7,192,251,199,192,251,199,128,249,255,128,249,255, + 0,248,126,0,15,28,56,19,2,0,60,0,30,0,14,0, + 7,0,7,0,3,128,1,128,0,0,0,0,0,0,7,224, + 63,248,127,252,124,62,120,62,0,62,15,254,63,254,127,254, + 124,62,248,62,248,62,248,62,248,62,252,126,127,254,63,222, + 31,30,15,28,56,19,2,0,0,120,0,240,0,240,1,224, + 1,192,1,128,3,0,0,0,0,0,0,0,7,224,63,248, + 127,252,124,62,120,62,0,62,15,254,63,254,127,254,124,62, + 248,62,248,62,248,62,248,62,252,126,127,254,63,222,31,30, + 15,28,56,19,2,0,7,192,7,224,15,224,14,240,28,112, + 24,56,56,24,0,0,0,0,0,0,7,224,63,248,127,252, + 124,62,120,62,0,62,15,254,63,254,127,254,124,62,248,62, + 248,62,248,62,248,62,252,126,127,254,63,222,31,30,15,26, + 52,19,2,0,0,24,15,248,31,240,31,224,48,0,0,0, + 0,0,0,0,7,224,63,248,127,252,124,62,120,62,0,62, + 15,254,63,254,127,254,124,62,248,62,248,62,248,62,248,62, + 252,126,127,254,63,222,31,30,15,27,54,19,2,0,60,120, + 60,120,60,120,60,120,0,0,0,0,0,0,0,0,0,0, + 15,224,63,248,127,252,124,62,120,62,0,62,15,254,63,254, + 127,254,124,62,248,62,248,62,248,62,248,62,252,126,127,254, + 63,222,31,30,15,30,60,19,2,0,3,192,7,224,14,112, + 12,48,12,48,14,112,7,224,3,192,0,0,0,0,0,0, + 0,0,7,224,31,248,63,252,124,62,120,62,0,62,15,254, + 63,254,127,254,124,62,248,62,248,62,248,62,248,62,252,126, + 127,254,63,222,31,30,27,18,72,31,2,0,7,224,124,0, + 31,249,255,0,127,253,255,128,124,63,135,192,120,31,3,192, + 0,31,3,224,7,255,255,224,63,255,255,224,127,255,255,224, + 124,31,0,0,248,31,0,0,248,31,0,0,248,31,131,224, + 248,31,131,192,252,59,199,192,127,241,255,192,63,224,255,128, + 15,128,126,0,15,26,52,18,2,248,7,224,31,248,63,252, + 124,124,120,60,248,62,248,62,248,0,248,0,248,0,248,0, + 248,62,248,62,120,60,124,124,63,252,31,248,15,224,3,0, + 3,128,3,224,0,240,0,112,0,112,15,224,15,192,15,28, + 56,19,2,0,62,0,30,0,15,0,7,0,7,128,3,128, + 1,192,0,0,0,0,0,0,7,224,31,248,63,252,124,60, + 120,62,248,30,248,30,255,254,255,254,255,254,248,0,248,0, + 248,30,120,62,124,62,63,252,31,248,7,224,15,28,56,19, + 2,0,0,120,0,112,0,240,0,224,1,192,1,128,3,0, + 0,0,0,0,0,0,7,224,31,248,63,252,124,60,120,62, + 248,30,248,30,255,254,255,254,255,254,248,0,248,0,248,30, + 120,62,124,62,63,252,31,248,7,224,15,28,56,19,2,0, + 7,224,7,224,15,224,14,112,28,112,28,56,56,24,0,0, + 0,0,0,0,7,224,31,248,63,252,124,60,120,62,248,30, + 248,30,255,254,255,254,255,254,248,0,248,0,248,30,120,62, + 124,62,63,252,31,248,7,224,15,27,54,19,2,0,60,120, + 60,120,60,120,60,120,0,0,0,0,0,0,0,0,0,0, + 7,224,31,248,63,252,124,124,120,62,248,62,248,62,255,254, + 255,254,255,254,248,0,248,0,248,62,120,62,124,126,63,252, + 31,248,7,224,8,28,28,9,255,0,240,120,120,60,28,14, + 6,0,0,0,31,31,31,31,31,31,31,31,31,31,31,31, + 31,31,31,31,31,31,7,28,28,8,2,0,30,60,56,120, + 112,224,192,0,0,0,248,248,248,248,248,248,248,248,248,248, + 248,248,248,248,248,248,248,248,10,28,56,9,255,0,31,0, + 63,0,63,128,123,128,115,192,97,192,224,192,0,0,0,0, + 0,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, + 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, + 31,0,31,0,31,0,11,26,52,9,255,0,241,224,241,224, + 241,224,241,224,0,0,0,0,0,0,0,0,31,0,31,0, + 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, + 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, + 18,26,78,21,2,0,0,1,0,15,135,0,3,254,0,1, + 248,0,3,248,0,15,252,0,60,60,0,16,30,0,7,255, + 0,31,255,0,63,255,0,126,31,128,124,15,128,248,15,128, + 248,7,128,248,7,192,248,7,192,248,7,192,248,7,192,248, + 7,128,120,15,128,124,15,128,126,31,0,63,255,0,31,252, + 0,3,240,0,16,26,52,20,2,0,0,24,15,248,31,248, + 31,240,48,0,0,0,0,0,0,0,249,248,251,252,255,254, + 252,63,252,31,248,31,248,31,248,31,248,31,248,31,248,31, + 248,31,248,31,248,31,248,31,248,31,248,31,248,31,18,28, + 84,21,2,0,31,0,0,15,0,0,7,128,0,3,128,0, + 3,192,0,1,192,0,0,224,0,0,0,0,0,0,0,0, + 0,0,3,240,0,15,252,0,63,254,0,62,31,0,124,15, + 128,120,15,128,248,7,128,248,7,128,248,7,192,248,7,192, + 248,7,192,248,7,128,120,15,128,124,15,128,62,31,0,63, + 254,0,15,252,0,3,240,0,18,28,84,21,2,0,0,60, + 0,0,56,0,0,120,0,0,112,0,0,224,0,0,192,0, + 1,128,0,0,0,0,0,0,0,0,0,0,3,240,0,15, + 252,0,63,254,0,62,31,0,124,15,128,120,15,128,248,7, + 128,248,7,128,248,7,192,248,7,192,248,7,192,248,7,128, + 120,15,128,124,15,128,62,31,0,63,254,0,15,252,0,3, + 240,0,18,28,84,21,2,0,3,224,0,3,240,0,7,240, + 0,7,56,0,14,56,0,14,28,0,28,12,0,0,0,0, + 0,0,0,0,0,0,3,240,0,15,252,0,63,254,0,62, + 31,0,124,15,128,120,15,128,248,7,128,248,7,128,248,7, + 192,248,7,192,248,7,192,248,7,128,120,15,128,124,15,128, + 62,31,0,63,254,0,15,252,0,3,240,0,18,27,81,21, + 2,0,0,4,0,0,12,0,7,252,0,15,248,0,15,240, + 0,24,0,0,0,0,0,0,0,0,0,0,0,3,240,0, + 15,252,0,63,254,0,62,31,0,124,15,128,120,15,128,248, + 7,128,248,7,128,248,7,192,248,7,192,248,7,192,248,7, + 128,120,15,128,124,15,128,62,31,0,63,254,0,15,252,0, + 3,240,0,18,27,81,21,2,0,30,60,0,30,60,0,30, + 60,0,30,60,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,3,240,0,15,252,0,63,254,0,62,31,0, + 124,15,128,120,15,128,248,7,128,248,7,128,248,7,192,248, + 7,192,248,7,192,248,7,128,120,15,128,124,15,128,62,31, + 0,63,254,0,15,252,0,3,240,0,20,15,45,34,7,3, + 0,112,0,0,248,0,0,248,0,0,112,0,0,0,0,0, + 0,0,0,0,0,255,255,240,255,255,240,0,0,0,0,0, + 0,0,112,0,0,248,0,0,248,0,0,112,0,18,23,69, + 21,2,254,0,1,0,0,1,128,0,3,128,3,247,0,15, + 255,0,63,254,0,62,31,0,124,63,128,120,55,128,248,119, + 128,248,231,128,249,199,192,251,135,192,251,135,192,255,7,128, + 126,15,128,124,15,128,62,31,0,63,254,0,127,252,0,227, + 240,0,224,0,0,192,0,0,16,28,56,20,2,0,62,0, + 30,0,15,0,7,0,3,128,3,128,1,192,0,0,0,0, + 0,0,248,31,248,31,248,31,248,31,248,31,248,31,248,31, + 248,31,248,31,248,31,248,31,248,31,248,31,248,31,252,63, + 127,255,63,223,31,159,16,28,56,20,2,0,0,120,0,240, + 0,240,0,224,1,192,1,128,3,0,0,0,0,0,0,0, + 248,31,248,31,248,31,248,31,248,31,248,31,248,31,248,31, + 248,31,248,31,248,31,248,31,248,31,248,31,252,63,127,255, + 63,223,31,159,16,28,56,20,2,0,7,224,7,224,15,240, + 14,112,28,56,28,56,56,28,0,0,0,0,0,0,248,31, + 248,31,248,31,248,31,248,31,248,31,248,31,248,31,248,31, + 248,31,248,31,248,31,248,31,248,31,252,63,127,255,63,223, + 31,159,16,27,54,20,2,0,60,120,60,120,60,120,60,120, + 0,0,0,0,0,0,0,0,0,0,248,31,248,31,248,31, + 248,31,248,31,248,31,248,31,248,31,248,31,248,31,248,31, + 248,31,248,31,248,31,252,63,127,255,63,223,31,159,17,35, + 105,19,1,249,0,30,0,0,60,0,0,56,0,0,120,0, + 0,112,0,0,224,0,0,192,0,0,0,0,0,0,0,0, + 0,0,248,15,128,248,15,128,252,15,128,124,31,0,126,31, + 0,62,31,0,62,62,0,63,62,0,31,60,0,31,124,0, + 15,252,0,15,248,0,15,248,0,7,248,0,7,240,0,3, + 240,0,3,240,0,3,224,0,3,224,0,3,192,0,103,192, + 0,255,192,0,255,192,0,127,128,0,62,0,0,17,32,96, + 21,2,249,248,0,0,248,0,0,248,0,0,248,0,0,248, + 0,0,248,0,0,248,0,0,249,240,0,255,252,0,255,254, + 0,254,63,0,252,31,0,248,15,128,248,15,128,248,15,128, + 248,15,128,248,15,128,248,15,128,248,15,128,248,15,128,252, + 31,0,254,63,0,255,254,0,255,252,0,251,240,0,248,0, + 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, + 248,0,0,17,33,99,19,1,249,30,60,0,30,60,0,30, + 60,0,30,60,0,0,0,0,0,0,0,0,0,0,0,0, + 0,248,15,128,248,15,128,252,15,128,124,31,0,124,31,0, + 126,31,0,62,62,0,63,62,0,31,62,0,31,124,0,31, + 252,0,15,248,0,15,248,0,7,248,0,7,240,0,7,240, + 0,3,240,0,3,224,0,3,224,0,3,224,0,7,192,0, + 7,192,0,7,192,0,15,128,0,15,128,0}; +/* + Fontname: -FreeType-FreeUniversal-Bold-R-Normal--34-340-72-72-P-170-ISO10646-1 + Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. + Capital A Height: 0, '1' Height: 25 + Calculated Max Values w=20 h=28 x= 7 y=13 dx=34 dy= 0 ascent=26 len=75 + Font Bounding box w=50 h=46 x=-2 y=-9 + Calculated Min Values x= 0 y=-5 dx= 0 dy= 0 + Pure Font ascent =25 descent= 0 + X Font ascent =25 descent= 0 + Max Font ascent =26 descent=-5 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_fub25n[981] U8G_FONT_SECTION("u8g_font_fub25n") = { + 0,50,46,254,247,25,0,0,0,0,42,58,0,26,251,25, + 0,14,13,26,22,4,13,28,224,60,240,28,224,15,192,135, + 132,255,252,255,252,231,156,15,192,30,224,28,224,60,240,8, + 64,20,21,63,34,7,0,0,96,0,0,96,0,0,96,0, + 0,96,0,0,96,0,0,96,0,0,96,0,0,96,0,0, + 96,0,255,255,240,255,255,240,0,96,0,0,96,0,0,96, + 0,0,96,0,0,96,0,0,96,0,0,96,0,0,96,0, + 0,96,0,0,96,0,7,9,9,11,2,251,62,60,60,120, + 120,112,240,240,224,9,5,10,11,1,7,255,128,255,128,255, + 128,255,128,255,128,5,5,5,10,3,0,248,248,248,248,248, + 11,28,56,15,2,254,0,224,0,224,1,192,1,192,1,192, + 3,128,3,128,3,128,3,128,7,0,7,0,7,0,14,0, + 14,0,14,0,28,0,28,0,28,0,56,0,56,0,56,0, + 56,0,112,0,112,0,112,0,224,0,224,0,224,0,17,25, + 75,19,1,1,7,224,0,31,252,0,63,254,0,60,30,0, + 120,15,0,120,15,0,120,15,0,248,15,128,248,15,128,248, + 15,128,248,15,128,248,15,128,248,15,128,248,15,128,248,15, + 128,248,15,128,248,15,128,248,15,128,120,15,0,120,15,0, + 120,15,0,60,30,0,31,252,0,15,248,0,7,224,0,11, + 25,50,19,3,1,3,224,15,224,31,224,127,224,255,224,251, + 224,243,224,195,224,3,224,3,224,3,224,3,224,3,224,3, + 224,3,224,3,224,3,224,3,224,3,224,3,224,3,224,3, + 224,3,224,3,224,3,224,17,25,75,19,1,1,7,248,0, + 31,254,0,31,255,0,63,255,0,126,31,128,124,15,128,124, + 15,128,0,15,128,0,15,128,0,31,0,0,31,0,0,62, + 0,0,126,0,0,252,0,1,248,0,3,240,0,7,224,0, + 15,192,0,63,0,0,126,0,0,252,0,0,255,255,128,255, + 255,128,255,255,128,255,255,128,16,25,50,19,2,1,31,240, + 63,252,127,254,255,254,248,62,248,31,0,31,0,30,0,126, + 7,252,7,240,7,248,7,252,0,62,0,31,0,31,0,31, + 248,31,248,31,248,31,252,62,127,254,127,252,31,248,15,224, + 18,25,75,19,1,1,0,126,0,0,254,0,0,254,0,1, + 254,0,3,254,0,3,254,0,7,190,0,15,190,0,15,62, + 0,30,62,0,30,62,0,60,62,0,124,62,0,120,62,0, + 240,62,0,255,255,192,255,255,192,255,255,192,255,255,192,0, + 62,0,0,62,0,0,62,0,0,62,0,0,62,0,0,62, + 0,17,25,75,19,1,1,255,254,0,255,254,0,255,254,0, + 255,254,0,248,0,0,248,0,0,248,0,0,248,0,0,249, + 240,0,255,252,0,255,254,0,252,63,0,248,31,0,248,15, + 0,0,15,128,0,15,128,0,15,128,0,15,0,248,15,0, + 248,31,0,252,63,0,127,254,0,127,252,0,63,248,0,15, + 224,0,17,25,75,19,1,1,3,240,0,15,252,0,31,254, + 0,63,255,0,62,31,0,126,15,128,124,0,0,124,0,0, + 252,0,0,248,248,0,251,254,0,255,254,0,255,31,0,254, + 15,128,252,15,128,252,15,128,252,15,128,252,15,128,124,15, + 128,126,15,128,127,31,0,63,255,0,31,254,0,15,252,0, + 3,240,0,16,25,50,19,2,1,255,255,255,255,255,255,255, + 255,0,15,0,31,0,30,0,62,0,62,0,124,0,124,0, + 248,0,248,0,240,1,240,1,240,3,224,3,224,7,192,7, + 192,15,128,15,128,15,128,31,0,31,0,17,25,75,19,1, + 1,7,240,0,31,252,0,127,255,0,127,255,0,252,31,128, + 248,15,128,248,15,128,120,15,0,124,31,0,63,254,0,15, + 248,0,31,248,0,63,254,0,124,63,0,248,15,0,248,15, + 128,248,15,128,248,15,128,248,15,128,248,15,128,252,31,128, + 127,255,0,127,255,0,31,252,0,7,240,0,17,25,75,19, + 1,1,7,240,0,31,252,0,63,254,0,127,254,0,124,63, + 0,248,31,0,248,31,0,248,31,128,248,31,128,248,31,128, + 248,63,128,124,63,128,127,255,128,63,239,128,15,207,128,0, + 15,128,0,31,0,0,31,0,248,31,0,120,63,0,124,126, + 0,63,254,0,63,252,0,31,248,0,7,224,0,5,18,18, + 11,5,0,248,248,248,248,248,0,0,0,0,0,0,0,0, + 248,248,248,248,248}; +/* + Fontname: -FreeType-FreeUniversal-Bold-R-Normal--34-340-72-72-P-170-ISO10646-1 + Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. + Capital A Height: 25, '1' Height: 25 + Calculated Max Values w=34 h=37 x= 8 y=21 dx=35 dy= 0 ascent=28 len=160 + Font Bounding box w=50 h=46 x=-2 y=-9 + Calculated Min Values x=-1 y=-9 dx= 0 dy= 0 + Pure Font ascent =25 descent=-7 + X Font ascent =25 descent=-7 + Max Font ascent =28 descent=-9 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_fub25r[5936] U8G_FONT_SECTION("u8g_font_fub25r") = { + 0,50,46,254,247,25,7,111,16,148,32,127,249,28,247,25, + 249,0,0,0,10,0,0,5,25,25,14,5,0,248,248,248, + 248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248, + 0,0,248,248,248,248,13,10,20,18,2,15,248,248,248,248, + 248,248,120,248,120,120,120,120,120,120,120,120,120,112,120,112, + 21,25,75,24,2,0,0,224,224,0,225,224,0,225,192,1, + 225,192,1,195,192,1,195,128,31,255,248,31,255,240,63,255, + 240,7,135,0,7,135,0,7,15,0,7,14,0,15,14,0, + 14,14,0,255,255,192,255,255,192,255,255,192,28,60,0,28, + 60,0,60,56,0,56,56,0,56,120,0,120,112,0,112,112, + 0,18,31,93,20,1,252,0,192,0,0,192,0,3,248,0, + 15,252,0,31,254,0,63,255,0,126,223,0,120,207,128,248, + 207,128,248,192,0,252,192,0,126,192,0,127,192,0,127,240, + 0,31,252,0,7,255,0,1,255,128,0,255,128,0,207,128, + 0,199,192,248,199,192,248,199,192,248,207,128,126,223,128,127, + 255,0,63,254,0,15,252,0,3,240,0,0,192,0,0,192, + 0,0,192,0,32,26,104,34,1,0,0,0,3,128,15,192, + 7,0,63,240,7,0,124,248,14,0,120,120,14,0,240,60, + 28,0,240,60,24,0,240,60,56,0,240,60,112,0,240,60, + 112,0,120,120,224,0,120,120,224,0,63,241,199,248,15,195, + 143,252,0,3,159,62,0,7,30,30,0,7,60,15,0,14, + 60,15,0,30,60,15,0,28,60,15,0,56,60,15,0,56, + 60,15,0,112,30,30,0,112,15,60,0,224,15,252,1,224, + 3,240,24,25,75,27,2,1,7,252,0,31,254,0,31,255, + 0,62,31,0,62,31,0,62,31,0,62,31,0,30,62,0, + 31,126,0,15,252,0,7,240,0,15,224,0,63,224,124,63, + 240,120,124,248,120,252,124,120,248,62,120,248,31,248,248,15, + 240,248,7,240,252,3,224,126,15,240,63,255,248,31,255,254, + 7,252,63,5,10,10,14,4,15,248,248,120,120,120,120,120, + 120,120,120,7,30,30,13,3,251,30,30,62,60,60,124,124, + 120,120,248,248,248,248,248,248,248,248,248,248,248,248,120,120, + 124,124,60,60,62,30,30,8,30,30,14,3,251,240,120,120, + 124,60,60,60,62,62,30,30,30,30,31,31,31,31,31,30, + 30,30,62,62,62,60,60,124,120,120,240,14,13,26,22,4, + 13,28,224,60,240,28,224,15,192,135,132,255,252,255,252,231, + 156,15,192,30,224,28,224,60,240,8,64,20,21,63,34,7, + 0,0,96,0,0,96,0,0,96,0,0,96,0,0,96,0, + 0,96,0,0,96,0,0,96,0,0,96,0,255,255,240,255, + 255,240,0,96,0,0,96,0,0,96,0,0,96,0,0,96, + 0,0,96,0,0,96,0,0,96,0,0,96,0,0,96,0, + 7,9,9,11,2,251,62,60,60,120,120,112,240,240,224,9, + 5,10,11,1,7,255,128,255,128,255,128,255,128,255,128,5, + 5,5,10,3,0,248,248,248,248,248,11,28,56,15,2,254, + 0,224,0,224,1,192,1,192,1,192,3,128,3,128,3,128, + 3,128,7,0,7,0,7,0,14,0,14,0,14,0,28,0, + 28,0,28,0,56,0,56,0,56,0,56,0,112,0,112,0, + 112,0,224,0,224,0,224,0,17,25,75,19,1,1,7,224, + 0,31,252,0,63,254,0,60,30,0,120,15,0,120,15,0, + 120,15,0,248,15,128,248,15,128,248,15,128,248,15,128,248, + 15,128,248,15,128,248,15,128,248,15,128,248,15,128,248,15, + 128,248,15,128,120,15,0,120,15,0,120,15,0,60,30,0, + 31,252,0,15,248,0,7,224,0,11,25,50,19,3,1,3, + 224,15,224,31,224,127,224,255,224,251,224,243,224,195,224,3, + 224,3,224,3,224,3,224,3,224,3,224,3,224,3,224,3, + 224,3,224,3,224,3,224,3,224,3,224,3,224,3,224,3, + 224,17,25,75,19,1,1,7,248,0,31,254,0,31,255,0, + 63,255,0,126,31,128,124,15,128,124,15,128,0,15,128,0, + 15,128,0,31,0,0,31,0,0,62,0,0,126,0,0,252, + 0,1,248,0,3,240,0,7,224,0,15,192,0,63,0,0, + 126,0,0,252,0,0,255,255,128,255,255,128,255,255,128,255, + 255,128,16,25,50,19,2,1,31,240,63,252,127,254,255,254, + 248,62,248,31,0,31,0,30,0,126,7,252,7,240,7,248, + 7,252,0,62,0,31,0,31,0,31,248,31,248,31,248,31, + 252,62,127,254,127,252,31,248,15,224,18,25,75,19,1,1, + 0,126,0,0,254,0,0,254,0,1,254,0,3,254,0,3, + 254,0,7,190,0,15,190,0,15,62,0,30,62,0,30,62, + 0,60,62,0,124,62,0,120,62,0,240,62,0,255,255,192, + 255,255,192,255,255,192,255,255,192,0,62,0,0,62,0,0, + 62,0,0,62,0,0,62,0,0,62,0,17,25,75,19,1, + 1,255,254,0,255,254,0,255,254,0,255,254,0,248,0,0, + 248,0,0,248,0,0,248,0,0,249,240,0,255,252,0,255, + 254,0,252,63,0,248,31,0,248,15,0,0,15,128,0,15, + 128,0,15,128,0,15,0,248,15,0,248,31,0,252,63,0, + 127,254,0,127,252,0,63,248,0,15,224,0,17,25,75,19, + 1,1,3,240,0,15,252,0,31,254,0,63,255,0,62,31, + 0,126,15,128,124,0,0,124,0,0,252,0,0,248,248,0, + 251,254,0,255,254,0,255,31,0,254,15,128,252,15,128,252, + 15,128,252,15,128,252,15,128,124,15,128,126,15,128,127,31, + 0,63,255,0,31,254,0,15,252,0,3,240,0,16,25,50, + 19,2,1,255,255,255,255,255,255,255,255,0,15,0,31,0, + 30,0,62,0,62,0,124,0,124,0,248,0,248,0,240,1, + 240,1,240,3,224,3,224,7,192,7,192,15,128,15,128,15, + 128,31,0,31,0,17,25,75,19,1,1,7,240,0,31,252, + 0,127,255,0,127,255,0,252,31,128,248,15,128,248,15,128, + 120,15,0,124,31,0,63,254,0,15,248,0,31,248,0,63, + 254,0,124,63,0,248,15,0,248,15,128,248,15,128,248,15, + 128,248,15,128,248,15,128,252,31,128,127,255,0,127,255,0, + 31,252,0,7,240,0,17,25,75,19,1,1,7,240,0,31, + 252,0,63,254,0,127,254,0,124,63,0,248,31,0,248,31, + 0,248,31,128,248,31,128,248,31,128,248,63,128,124,63,128, + 127,255,128,63,239,128,15,207,128,0,15,128,0,31,0,0, + 31,0,248,31,0,120,63,0,124,126,0,63,254,0,63,252, + 0,31,248,0,7,224,0,5,18,18,11,5,0,248,248,248, + 248,248,0,0,0,0,0,0,0,0,248,248,248,248,248,7, + 22,22,11,2,252,62,62,62,62,62,0,0,0,0,0,0, + 0,0,62,60,124,120,120,112,240,224,224,21,19,57,34,7, + 1,0,0,8,0,0,56,0,1,248,0,15,192,0,62,0, + 1,248,0,7,192,0,62,0,0,248,0,0,192,0,0,248, + 0,0,62,0,0,7,192,0,1,248,0,0,62,0,0,7, + 192,0,1,248,0,0,56,0,0,8,20,8,24,34,7,6, + 255,255,240,255,255,240,0,0,0,0,0,0,0,0,0,0, + 0,0,255,255,240,255,255,240,21,17,51,34,7,2,224,0, + 0,248,0,0,63,0,0,7,224,0,0,248,0,0,63,0, + 0,7,192,0,0,248,0,0,56,0,0,248,0,7,192,0, + 63,0,0,248,0,7,224,0,31,0,0,248,0,0,224,0, + 0,16,25,50,19,1,1,31,240,63,248,127,252,248,62,112, + 30,48,31,0,31,0,30,0,62,0,60,0,120,0,240,1, + 224,3,192,3,128,3,128,3,128,3,128,3,128,0,0,0, + 0,7,192,7,192,7,192,7,192,33,32,160,35,1,250,0, + 31,254,0,0,0,127,255,128,0,1,255,255,224,0,3,255, + 255,240,0,7,240,3,248,0,15,192,1,252,0,31,128,0, + 124,0,63,7,159,126,0,62,31,255,63,0,124,63,255,31, + 0,124,127,255,31,0,120,126,63,31,0,248,252,31,15,0, + 248,248,31,15,128,248,248,31,15,128,248,248,31,15,128,248, + 248,31,15,0,248,248,31,15,0,248,248,31,15,0,248,248, + 31,31,0,120,124,63,30,0,124,124,127,190,0,124,63,255, + 252,0,62,31,231,248,0,63,7,195,240,0,31,128,0,0, + 0,15,192,0,0,0,7,248,3,0,0,3,255,255,0,0, + 1,255,255,0,0,0,127,255,0,0,0,7,255,0,0,23, + 25,75,24,1,0,0,124,0,0,252,0,0,254,0,0,254, + 0,1,254,0,1,255,0,3,255,0,3,207,0,3,207,128, + 7,207,128,7,135,192,7,135,192,15,135,192,15,3,224,31, + 3,224,31,3,240,31,255,240,63,255,240,63,255,248,127,255, + 248,124,0,248,124,0,252,248,0,124,248,0,126,240,0,62, + 19,25,75,23,2,0,255,248,0,255,254,0,255,255,0,255, + 255,0,248,63,0,248,15,128,248,15,128,248,15,0,248,15, + 0,248,63,0,255,254,0,255,248,0,255,252,0,255,255,0, + 248,15,192,248,3,192,248,3,224,248,3,224,248,3,224,248, + 3,224,248,7,224,255,255,192,255,255,128,255,255,0,255,252, + 0,21,25,75,25,2,1,3,255,0,15,255,192,31,255,224, + 63,255,240,62,3,240,124,1,240,120,1,248,120,0,248,248, + 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, + 0,248,0,0,248,0,0,248,1,248,120,1,248,124,1,248, + 124,3,240,63,7,240,31,255,224,15,255,192,7,255,0,1, + 252,0,20,25,75,23,2,0,255,224,0,255,252,0,255,254, + 0,255,255,0,248,63,128,248,15,192,248,7,192,248,3,224, + 248,3,224,248,1,224,248,1,224,248,1,240,248,1,240,248, + 1,240,248,1,240,248,1,224,248,3,224,248,3,224,248,7, + 192,248,15,192,248,63,128,255,255,0,255,254,0,255,252,0, + 255,224,0,17,25,75,21,2,0,255,255,0,255,255,0,255, + 255,0,255,255,0,248,0,0,248,0,0,248,0,0,248,0, + 0,248,0,0,248,0,0,255,255,0,255,255,0,255,255,0, + 255,255,0,248,0,0,248,0,0,248,0,0,248,0,0,248, + 0,0,248,0,0,248,0,0,255,255,128,255,255,128,255,255, + 128,255,255,128,16,25,50,19,2,0,255,255,255,255,255,255, + 255,255,248,0,248,0,248,0,248,0,248,0,248,0,255,254, + 255,254,255,254,255,254,248,0,248,0,248,0,248,0,248,0, + 248,0,248,0,248,0,248,0,248,0,248,0,22,25,75,26, + 2,1,1,255,192,7,255,224,15,255,240,31,255,248,63,0, + 248,62,0,124,124,0,124,124,0,0,248,0,0,248,0,0, + 248,0,0,248,7,252,248,7,252,248,7,252,248,7,252,248, + 0,124,248,0,124,124,0,124,126,0,124,63,0,124,63,192, + 124,31,255,252,15,255,252,3,255,252,0,127,192,20,25,75, + 24,2,0,248,1,240,248,1,240,248,1,240,248,1,240,248, + 1,240,248,1,240,248,1,240,248,1,240,248,1,240,248,1, + 240,255,255,240,255,255,240,255,255,240,255,255,240,248,1,240, + 248,1,240,248,1,240,248,1,240,248,1,240,248,1,240,248, + 1,240,248,1,240,248,1,240,248,1,240,248,1,240,5,25, + 25,9,2,0,248,248,248,248,248,248,248,248,248,248,248,248, + 248,248,248,248,248,248,248,248,248,248,248,248,248,17,25,75, + 21,2,0,0,15,128,0,15,128,0,15,128,0,15,128,0, + 15,128,0,15,128,0,15,128,0,15,128,0,15,128,0,15, + 128,0,15,128,0,15,128,0,15,128,0,15,128,0,15,128, + 0,15,128,0,15,128,248,15,128,248,15,128,248,15,128,252, + 31,0,127,255,0,127,254,0,63,252,0,15,240,0,19,25, + 75,23,2,0,248,7,192,248,15,128,248,31,128,248,63,0, + 248,126,0,248,124,0,248,248,0,249,248,0,251,240,0,251, + 224,0,255,192,0,255,192,0,255,224,0,255,240,0,251,240, + 0,249,248,0,249,252,0,248,252,0,248,126,0,248,63,0, + 248,63,128,248,31,128,248,15,192,248,15,224,248,7,224,16, + 25,50,19,2,0,248,0,248,0,248,0,248,0,248,0,248, + 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, + 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,255, + 255,255,255,255,255,255,255,27,25,100,31,2,0,255,0,31, + 224,255,0,63,224,255,128,63,224,255,128,63,224,255,128,127, + 224,255,192,127,224,255,192,123,224,251,192,123,224,251,224,251, + 224,251,224,243,224,251,224,243,224,249,241,243,224,249,241,243, + 224,249,241,227,224,248,243,227,224,248,251,227,224,248,251,195, + 224,248,127,195,224,248,127,195,224,248,127,131,224,248,127,131, + 224,248,63,131,224,248,63,131,224,248,63,3,224,248,31,3, + 224,21,25,75,25,2,0,254,0,248,255,0,248,255,0,248, + 255,128,248,255,128,248,255,192,248,255,192,248,251,224,248,251, + 224,248,249,224,248,249,240,248,248,240,248,248,248,248,248,120, + 248,248,124,248,248,60,248,248,62,248,248,30,248,248,31,248, + 248,31,248,248,15,248,248,15,248,248,7,248,248,7,248,248, + 3,248,23,25,75,27,2,1,3,255,128,7,255,192,31,255, + 240,31,255,240,63,1,248,126,0,252,124,0,124,120,0,60, + 248,0,62,248,0,62,248,0,62,248,0,62,248,0,62,248, + 0,62,248,0,62,248,0,62,248,0,62,124,0,124,124,0, + 124,62,0,248,63,131,248,31,255,240,15,255,224,7,255,192, + 0,254,0,18,25,75,21,2,0,255,240,0,255,252,0,255, + 255,0,255,255,128,248,31,128,248,15,128,248,7,192,248,7, + 192,248,7,192,248,15,128,248,31,128,255,255,128,255,255,0, + 255,252,0,255,240,0,248,0,0,248,0,0,248,0,0,248, + 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, + 0,248,0,0,26,25,100,29,2,1,3,255,128,0,7,255, + 192,0,31,255,224,0,31,255,240,0,63,1,248,0,126,0, + 252,0,124,0,124,0,120,0,60,0,248,0,62,0,248,0, + 62,0,248,0,62,0,248,0,62,0,248,0,62,0,248,0, + 62,0,248,0,62,0,248,0,62,0,120,0,60,0,124,0, + 124,0,124,0,124,0,62,0,248,0,63,131,240,0,31,255, + 255,192,15,255,255,192,3,255,255,192,0,255,255,192,19,25, + 75,22,2,0,255,252,0,255,255,0,255,255,128,255,255,192, + 248,15,192,248,7,224,248,3,224,248,3,224,248,3,192,248, + 7,192,248,31,128,255,255,0,255,252,0,255,255,0,255,255, + 128,248,15,128,248,7,192,248,7,192,248,7,192,248,3,192, + 248,3,192,248,3,192,248,3,224,248,3,224,248,3,224,20, + 25,75,23,2,1,7,254,0,15,255,0,31,255,128,63,255, + 192,126,7,192,124,3,192,124,3,224,124,0,0,124,0,0, + 127,0,0,63,240,0,31,254,0,7,255,128,1,255,192,0, + 31,224,0,3,224,0,1,240,248,1,240,248,1,240,248,3, + 224,126,7,224,127,255,192,63,255,128,15,255,0,3,248,0, + 20,25,75,22,1,0,255,255,240,255,255,240,255,255,240,255, + 255,240,1,240,0,1,240,0,1,240,0,1,240,0,1,240, + 0,1,240,0,1,240,0,1,240,0,1,240,0,1,240,0, + 1,240,0,1,240,0,1,240,0,1,240,0,1,240,0,1, + 240,0,1,240,0,1,240,0,1,240,0,1,240,0,1,240, + 0,21,25,75,25,2,0,248,0,248,248,0,248,248,0,248, + 248,0,248,248,0,248,248,0,248,248,0,248,248,0,248,248, + 0,248,248,0,248,248,0,248,248,0,248,248,0,248,248,0, + 248,248,0,248,248,0,248,248,0,240,248,0,240,120,1,240, + 124,3,240,127,7,224,63,255,192,31,255,128,15,255,0,3, + 252,0,24,25,75,25,1,0,248,0,63,248,0,62,252,0, + 62,124,0,124,124,0,124,126,0,124,62,0,248,63,0,248, + 63,1,240,31,1,240,31,129,240,31,131,224,15,131,224,15, + 195,224,7,199,192,7,199,192,7,231,128,3,239,128,3,255, + 128,3,255,0,1,255,0,1,254,0,1,254,0,0,254,0, + 0,252,0,34,25,125,34,0,0,252,3,240,15,192,252,3, + 240,15,128,124,3,240,15,128,126,7,248,15,128,126,7,248, + 15,128,126,7,248,31,0,62,7,248,31,0,62,15,252,31, + 0,63,15,60,30,0,63,15,60,62,0,31,15,60,62,0, + 31,31,62,62,0,31,30,30,60,0,31,158,30,60,0,15, + 158,30,124,0,15,190,31,124,0,15,188,15,120,0,7,252, + 15,120,0,7,252,15,120,0,7,252,15,248,0,7,248,7, + 240,0,3,248,7,240,0,3,248,7,240,0,3,248,7,240, + 0,3,240,3,224,0,22,25,75,24,1,0,252,0,248,126, + 1,248,62,1,240,63,3,224,31,135,192,15,135,192,15,207, + 128,7,239,0,3,255,0,3,254,0,1,252,0,0,252,0, + 0,252,0,1,254,0,3,254,0,3,255,0,7,223,128,15, + 143,128,15,15,192,31,7,224,62,3,224,62,3,240,124,1, + 248,248,1,248,248,0,252,21,25,75,22,1,0,252,1,248, + 252,1,240,126,3,224,126,3,224,63,7,192,31,7,192,31, + 143,128,15,143,128,15,223,0,7,223,0,7,254,0,3,254, + 0,3,252,0,1,248,0,1,248,0,0,240,0,0,248,0, + 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, + 248,0,0,248,0,0,248,0,18,25,75,22,2,0,127,255, + 192,127,255,192,127,255,192,127,255,192,0,15,192,0,31,128, + 0,63,0,0,63,0,0,126,0,0,252,0,1,252,0,1, + 248,0,3,240,0,7,224,0,7,224,0,15,192,0,31,128, + 0,63,128,0,63,0,0,126,0,0,252,0,0,255,255,192, + 255,255,192,255,255,192,255,255,192,8,32,32,13,3,249,255, + 255,255,248,248,248,248,248,248,248,248,248,248,248,248,248,248, + 248,248,248,248,248,248,248,248,248,248,248,248,255,255,255,11, + 28,56,15,2,254,224,0,224,0,240,0,240,0,240,0,112, + 0,120,0,120,0,56,0,60,0,60,0,28,0,30,0,30, + 0,30,0,15,0,15,0,15,0,7,0,7,128,7,128,3, + 128,3,192,3,192,1,192,1,224,1,224,1,224,8,32,32, + 13,3,249,255,255,255,31,31,31,31,31,31,31,31,31,31, + 31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31, + 255,255,255,18,21,63,34,8,0,0,192,0,0,224,0,1, + 224,0,1,224,0,1,48,0,3,48,0,2,24,0,6,24, + 0,6,24,0,4,12,0,12,12,0,12,14,0,24,6,0, + 24,6,0,24,7,0,48,3,0,48,3,0,112,1,128,96, + 1,128,96,1,192,192,0,192,17,3,9,17,0,251,255,255, + 128,255,255,128,255,255,128,7,7,7,9,255,21,248,120,60, + 60,28,14,6,15,18,36,19,2,0,7,224,63,248,127,252, + 124,62,120,62,0,62,15,254,63,254,127,254,124,62,248,62, + 248,62,248,62,248,62,252,126,127,254,63,222,31,30,17,25, + 75,20,2,0,248,0,0,248,0,0,248,0,0,248,0,0, + 248,0,0,248,0,0,248,0,0,249,240,0,255,252,0,255, + 254,0,254,63,0,252,31,0,248,15,128,248,15,128,248,15, + 128,248,15,128,248,15,128,248,15,128,248,15,128,248,15,128, + 252,31,0,254,63,0,255,254,0,251,252,0,249,240,0,15, + 18,36,18,2,0,7,224,31,248,63,252,124,124,120,60,248, + 62,248,0,248,0,248,0,248,0,248,0,248,62,248,62,120, + 60,124,124,63,252,31,248,15,224,17,25,75,21,2,0,0, + 15,128,0,15,128,0,15,128,0,15,128,0,15,128,0,15, + 128,0,15,128,7,207,128,31,255,128,63,255,128,126,63,128, + 124,31,128,248,15,128,248,15,128,248,15,128,248,15,128,248, + 15,128,248,15,128,248,15,128,248,15,128,124,31,128,126,63, + 128,63,255,128,31,239,128,7,207,128,15,18,36,19,2,0, + 7,224,31,248,63,252,124,60,120,62,248,30,248,30,255,254, + 255,254,255,254,248,0,248,0,248,30,120,62,124,62,63,252, + 31,248,7,224,12,25,50,13,1,0,7,240,15,240,31,240, + 31,0,31,0,31,0,31,0,255,224,255,224,255,224,31,0, + 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, + 31,0,31,0,31,0,31,0,31,0,31,0,17,25,75,21, + 2,249,7,207,128,31,255,128,63,255,128,126,63,128,124,31, + 128,248,15,128,248,15,128,248,15,128,248,15,128,248,15,128, + 248,15,128,248,15,128,248,15,128,124,31,128,126,63,128,63, + 255,128,31,239,128,7,207,128,0,15,128,0,15,128,124,15, + 128,124,31,0,63,254,0,31,252,0,7,240,0,16,25,50, + 20,2,0,248,0,248,0,248,0,248,0,248,0,248,0,248, + 0,249,248,255,252,255,254,254,63,252,31,248,31,248,31,248, + 31,248,31,248,31,248,31,248,31,248,31,248,31,248,31,248, + 31,248,31,248,31,5,25,25,9,2,0,248,248,248,248,248, + 0,0,248,248,248,248,248,248,248,248,248,248,248,248,248,248, + 248,248,248,248,6,32,32,12,4,249,124,124,124,124,124,0, + 0,124,124,124,124,124,124,124,124,124,124,124,124,124,124,124, + 124,124,124,124,124,124,252,252,248,240,16,25,50,19,2,0, + 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,62, + 248,124,248,248,249,248,249,240,251,224,255,192,255,192,255,192, + 255,192,251,224,251,240,249,240,248,248,248,252,248,124,248,126, + 248,63,5,25,25,9,2,0,248,248,248,248,248,248,248,248, + 248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248, + 248,27,18,72,31,2,0,249,248,62,0,251,252,127,128,255, + 254,255,192,254,63,199,192,252,63,135,192,248,31,3,224,248, + 31,3,224,248,31,3,224,248,31,3,224,248,31,3,224,248, + 31,3,224,248,31,3,224,248,31,3,224,248,31,3,224,248, + 31,3,224,248,31,3,224,248,31,3,224,248,31,3,224,16, + 18,36,20,2,0,249,248,251,252,255,254,252,63,252,31,248, + 31,248,31,248,31,248,31,248,31,248,31,248,31,248,31,248, + 31,248,31,248,31,248,31,248,31,18,18,54,21,2,0,3, + 240,0,15,252,0,63,254,0,62,31,0,124,15,128,120,15, + 128,248,7,128,248,7,128,248,7,192,248,7,192,248,7,192, + 248,7,128,120,15,128,124,15,128,62,31,0,63,254,0,15, + 252,0,3,240,0,17,25,75,20,2,249,249,240,0,251,252, + 0,255,254,0,254,63,0,252,31,0,248,15,128,248,15,128, + 248,15,128,248,15,128,248,15,128,248,15,128,248,15,128,248, + 15,128,252,31,0,254,63,0,255,254,0,255,252,0,249,240, + 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, + 248,0,0,248,0,0,17,25,75,21,2,249,7,207,128,31, + 239,128,63,255,128,126,63,128,124,31,128,248,15,128,248,15, + 128,248,15,128,248,15,128,248,15,128,248,15,128,248,15,128, + 248,15,128,124,31,128,126,63,128,63,255,128,31,255,128,7, + 207,128,0,15,128,0,15,128,0,15,128,0,15,128,0,15, + 128,0,15,128,0,15,128,11,18,36,13,2,0,249,224,251, + 224,255,224,255,224,255,0,252,0,248,0,248,0,248,0,248, + 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, + 0,15,18,36,18,2,0,15,224,63,248,127,248,124,124,248, + 124,248,124,126,0,127,192,63,248,15,252,1,252,0,126,248, + 62,248,62,248,124,127,252,63,248,15,192,13,23,46,14,1, + 0,1,0,7,0,31,0,31,0,31,0,255,240,255,240,255, + 240,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, + 0,31,0,31,0,31,0,15,128,15,248,7,248,3,240,16, + 18,36,20,2,0,248,31,248,31,248,31,248,31,248,31,248, + 31,248,31,248,31,248,31,248,31,248,31,248,31,248,31,248, + 31,252,63,127,255,63,223,31,159,18,18,54,19,0,0,248, + 7,192,124,7,192,124,15,128,124,15,128,62,15,128,62,31, + 0,62,31,0,31,30,0,31,30,0,15,62,0,15,188,0, + 15,188,0,7,252,0,7,248,0,7,248,0,3,240,0,3, + 240,0,1,240,0,29,18,72,29,0,0,248,15,128,248,124, + 31,192,240,124,31,193,240,124,31,193,240,124,31,225,224,62, + 63,225,224,62,61,227,224,62,61,227,224,31,125,243,192,31, + 120,247,192,31,120,247,192,15,248,255,128,15,248,127,128,15, + 240,127,128,15,240,127,128,7,240,127,0,7,224,63,0,7, + 224,63,0,17,18,54,19,1,0,252,31,0,124,31,0,126, + 62,0,63,60,0,31,124,0,15,248,0,15,248,0,7,240, + 0,7,224,0,7,240,0,15,248,0,31,248,0,30,252,0, + 62,126,0,60,62,0,124,63,0,248,31,0,248,15,128,17, + 25,75,18,1,249,248,15,128,248,15,128,248,15,0,124,31, + 0,124,31,0,124,30,0,62,62,0,62,60,0,30,60,0, + 31,124,0,31,120,0,15,248,0,15,248,0,15,240,0,7, + 240,0,7,240,0,3,224,0,3,224,0,3,224,0,3,192, + 0,7,192,0,7,128,0,7,128,0,15,128,0,15,128,0, + 14,18,36,18,2,0,255,252,255,252,255,252,0,124,0,248, + 1,248,3,240,7,224,7,192,15,128,31,128,63,0,126,0, + 124,0,248,0,255,252,255,252,255,252,13,35,70,18,3,248, + 0,248,3,248,7,248,15,192,15,128,15,128,15,128,15,128, + 15,128,15,128,15,128,15,0,15,0,15,0,31,0,126,0, + 252,0,240,0,252,0,126,0,63,0,31,0,15,0,15,0, + 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,192, + 7,248,3,248,0,248,2,37,37,12,5,247,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,13,35,70,17,2,248,248,0,254,0,255,0,31,0,15, + 0,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, + 128,7,128,7,192,3,224,1,248,0,248,1,248,3,224,7, + 192,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, + 128,15,128,15,0,31,0,255,0,254,0,248,0,18,4,12, + 18,0,7,31,195,192,63,255,128,127,255,0,240,126,0,255 + }; +/* + Fontname: -FreeType-FreeUniversal-Bold-R-Normal--40-400-72-72-P-198-ISO10646-1 + Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. + Capital A Height: 30, '1' Height: 30 + Calculated Max Values w=38 h=43 x=10 y=26 dx=42 dy= 0 ascent=43 len=195 + Font Bounding box w=59 h=54 x=-3 y=-11 + Calculated Min Values x=-1 y=-11 dx= 0 dy= 0 + Pure Font ascent =30 descent=-7 + X Font ascent =31 descent=-8 + Max Font ascent =43 descent=-11 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_fub30[16953] U8G_FONT_SECTION("u8g_font_fub30") = { + 0,59,54,253,245,30,9,163,21,182,32,255,249,43,245,31, + 248,0,0,0,12,0,0,5,30,30,16,5,0,248,248,248, + 248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248, + 248,248,248,0,0,0,248,248,248,248,248,15,12,24,21,3, + 18,252,126,252,126,252,126,252,126,248,126,248,126,248,60,248, + 60,120,60,120,60,120,60,120,60,25,30,120,29,2,0,0, + 60,30,0,0,60,30,0,0,120,60,0,0,120,60,0,0, + 120,60,0,0,120,120,0,0,240,120,0,0,240,120,0,15, + 255,255,128,31,255,255,0,31,255,255,0,31,255,255,0,1, + 224,224,0,3,193,224,0,3,193,224,0,3,193,224,0,7, + 131,192,0,7,131,192,0,127,255,252,0,255,255,248,0,255, + 255,248,0,255,255,248,0,15,7,128,0,30,15,0,0,30, + 15,0,0,30,15,0,0,62,30,0,0,60,30,0,0,60, + 30,0,0,60,30,0,0,21,37,111,23,1,252,0,96,0, + 0,96,0,0,96,0,3,254,0,15,255,128,31,255,192,63, + 255,224,127,111,224,126,99,240,124,99,240,124,97,240,124,96, + 0,124,96,0,126,96,0,127,224,0,127,240,0,63,254,0, + 31,255,128,7,255,224,0,255,240,0,127,240,0,103,248,0, + 97,248,248,97,248,248,96,248,252,97,248,252,97,248,126,99, + 240,127,255,240,63,255,224,31,255,192,15,255,128,3,254,0, + 0,96,0,0,96,0,0,96,0,0,96,0,37,30,150,41, + 2,0,7,224,0,120,0,31,248,0,240,0,63,252,0,240, + 0,124,62,1,224,0,120,30,3,224,0,240,15,3,192,0, + 240,15,7,192,0,240,15,7,128,0,240,15,15,0,0,240, + 15,15,0,0,240,15,30,0,0,240,15,30,0,0,120,30, + 60,0,0,124,62,124,0,0,63,252,120,63,0,31,248,248, + 255,192,7,224,241,255,224,0,1,227,225,240,0,1,227,192, + 240,0,3,199,128,120,0,3,199,128,120,0,7,135,128,120, + 0,7,135,128,120,0,15,7,128,120,0,31,7,128,120,0, + 30,3,192,240,0,62,3,192,240,0,60,1,243,224,0,120, + 1,255,192,0,120,0,127,128,28,30,120,31,2,1,3,255, + 0,0,15,255,128,0,31,255,192,0,63,143,224,0,63,7, + 224,0,62,3,224,0,63,7,224,0,63,7,224,0,31,15, + 192,0,31,159,192,0,15,255,128,0,15,255,0,0,7,252, + 0,0,15,248,0,0,31,248,15,128,63,252,15,128,63,126, + 15,128,126,127,15,128,126,63,143,128,252,31,207,128,252,15, + 255,0,248,7,255,0,248,3,255,0,252,1,254,0,252,0, + 254,0,126,0,254,0,127,131,255,0,63,255,255,128,31,255, + 255,224,7,255,135,240,6,12,12,16,5,18,252,252,252,124, + 124,124,124,124,120,120,120,120,9,36,72,16,4,251,15,128, + 31,0,31,0,31,0,62,0,62,0,62,0,126,0,124,0, + 124,0,124,0,124,0,252,0,252,0,252,0,252,0,248,0, + 248,0,248,0,248,0,248,0,252,0,252,0,252,0,124,0, + 124,0,124,0,124,0,126,0,62,0,62,0,62,0,31,0, + 31,0,31,0,15,128,8,36,36,16,4,251,240,248,120,124, + 124,124,62,62,62,63,63,31,31,31,31,31,31,31,31,31, + 31,31,31,31,63,63,63,62,62,62,124,124,124,248,248,240, + 16,16,32,26,5,14,4,32,28,56,30,120,30,120,15,240, + 7,224,227,199,255,255,255,255,243,207,7,224,15,240,30,120, + 30,120,28,56,4,32,24,25,75,40,8,0,0,56,0,0, + 56,0,0,56,0,0,56,0,0,56,0,0,56,0,0,56, + 0,0,56,0,0,56,0,0,56,0,0,56,0,255,255,255, + 255,255,255,255,255,255,0,56,0,0,56,0,0,56,0,0, + 56,0,0,56,0,0,56,0,0,56,0,0,56,0,0,56, + 0,0,56,0,0,56,0,8,10,10,12,2,251,31,31,62, + 62,60,124,120,120,240,240,10,5,10,14,2,8,255,192,255, + 192,255,192,255,192,255,192,5,5,5,12,4,0,248,248,248, + 248,248,13,32,64,17,2,254,0,120,0,120,0,120,0,240, + 0,240,0,240,1,224,1,224,1,224,3,192,3,192,3,192, + 3,192,7,128,7,128,7,128,15,0,15,0,15,0,14,0, + 30,0,30,0,30,0,60,0,60,0,60,0,120,0,120,0, + 120,0,120,0,240,0,240,0,20,30,90,23,1,1,3,252, + 0,15,255,0,31,255,128,63,15,128,62,7,192,124,3,192, + 124,3,224,124,3,224,124,3,224,248,1,240,248,1,240,248, + 1,240,248,1,240,248,1,240,248,1,240,248,1,240,248,1, + 240,248,1,240,248,1,240,248,1,240,248,1,240,124,3,224, + 124,3,224,124,3,224,124,3,224,62,7,192,63,15,128,31, + 255,128,15,255,0,3,252,0,12,30,60,23,4,0,1,240, + 3,240,15,240,63,240,255,240,255,240,253,240,249,240,225,240, + 129,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240, + 1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240, + 1,240,1,240,1,240,1,240,1,240,20,30,90,23,1,1, + 3,255,0,7,255,128,31,255,192,31,255,224,63,255,240,63, + 3,240,126,1,240,126,1,240,124,1,240,0,1,240,0,3, + 240,0,3,240,0,7,224,0,15,224,0,15,192,0,31,128, + 0,63,0,0,254,0,1,252,0,3,248,0,7,240,0,15, + 224,0,63,128,0,127,0,0,252,0,0,255,255,240,255,255, + 240,255,255,240,255,255,240,255,255,240,19,30,90,23,2,1, + 7,252,0,31,255,0,63,255,128,127,255,128,127,255,192,252, + 15,192,252,7,192,248,7,192,0,7,192,0,7,192,0,15, + 192,0,63,192,3,255,128,3,254,0,3,252,0,3,255,0, + 3,255,128,0,31,192,0,7,224,0,7,224,0,7,224,0, + 3,224,248,7,224,252,7,224,252,7,192,126,15,192,127,255, + 128,63,255,128,31,255,0,15,252,0,21,30,90,23,1,0, + 0,63,128,0,63,128,0,127,128,0,255,128,0,255,128,1, + 255,128,1,255,128,3,239,128,3,207,128,7,207,128,15,143, + 128,15,143,128,31,15,128,31,15,128,62,15,128,62,15,128, + 124,15,128,252,15,128,248,15,128,255,255,248,255,255,248,255, + 255,248,255,255,248,255,255,248,0,15,128,0,15,128,0,15, + 128,0,15,128,0,15,128,0,15,128,19,30,90,23,2,0, + 127,255,192,127,255,192,127,255,192,127,255,192,127,255,192,124, + 0,0,124,0,0,124,0,0,124,0,0,124,0,0,124,0, + 0,124,252,0,125,255,0,127,255,128,127,255,192,127,15,224, + 126,7,224,124,3,224,0,3,224,0,3,224,0,3,224,0, + 3,224,0,3,224,248,7,224,252,7,224,252,15,192,127,255, + 128,127,255,128,63,254,0,15,252,0,20,30,90,23,1,1, + 3,254,0,7,255,0,15,255,128,31,255,192,63,255,192,63, + 7,224,126,3,224,126,3,224,124,0,0,124,0,0,252,0, + 0,248,0,0,249,255,0,251,255,128,255,255,192,255,15,224, + 254,7,224,254,3,240,252,3,240,252,3,240,252,1,240,252, + 1,240,124,3,240,124,3,240,126,3,224,63,7,224,63,255, + 192,31,255,128,15,255,0,3,254,0,19,30,90,23,2,0, + 255,255,224,255,255,224,255,255,224,255,255,224,255,255,224,0, + 7,224,0,7,224,0,7,192,0,15,192,0,15,192,0,31, + 128,0,31,128,0,63,0,0,63,0,0,63,0,0,126,0, + 0,126,0,0,252,0,0,252,0,1,252,0,1,248,0,1, + 248,0,3,240,0,3,240,0,7,240,0,7,224,0,15,224, + 0,15,192,0,15,192,0,31,192,0,20,30,90,23,1,1, + 7,254,0,31,255,128,63,255,192,127,255,224,127,255,224,126, + 7,224,124,3,224,124,3,224,124,3,224,124,3,224,126,7, + 224,127,15,192,63,255,128,15,255,0,7,252,0,31,255,0, + 63,255,192,127,15,224,124,7,224,252,3,240,252,3,240,248, + 1,240,248,3,240,252,3,240,252,3,240,254,7,240,127,255, + 224,63,255,192,31,255,128,15,255,0,20,30,90,23,1,1, + 3,252,0,15,255,0,31,255,128,63,255,192,127,255,192,126, + 7,224,252,7,224,252,3,224,252,3,240,248,3,240,248,3, + 240,252,3,240,252,7,240,124,7,240,127,15,240,63,255,240, + 63,253,240,31,249,240,7,225,240,0,3,240,0,3,224,0, + 3,224,0,3,224,124,7,224,124,7,192,126,15,192,63,255, + 128,31,255,0,15,254,0,7,252,0,5,20,20,12,5,0, + 248,248,248,248,248,0,0,0,0,0,0,0,0,0,0,248, + 248,248,248,248,9,25,50,13,2,251,31,0,31,0,31,0, + 31,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,31,128,31,0,63,0,62,0, + 62,0,124,0,124,0,120,0,248,0,240,0,24,21,63,40, + 8,2,0,0,1,0,0,15,0,0,63,0,1,252,0,7, + 224,0,63,0,0,252,0,7,224,0,63,0,0,252,0,0, + 224,0,0,248,0,0,126,0,0,15,192,0,3,240,0,0, + 126,0,0,31,192,0,3,240,0,0,126,0,0,31,0,0, + 3,24,10,30,40,8,7,255,255,255,255,255,255,255,255,255, + 0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255, + 255,255,255,255,255,24,21,63,40,8,2,128,0,0,240,0, + 0,252,0,0,63,128,0,7,224,0,0,252,0,0,63,0, + 0,7,224,0,0,252,0,0,63,0,0,7,0,0,31,0, + 0,126,0,3,240,0,15,192,0,126,0,3,248,0,15,192, + 0,126,0,0,248,0,0,192,0,0,18,30,90,22,1,1, + 7,252,0,31,254,0,63,255,128,127,255,128,252,15,192,120, + 7,192,56,7,192,0,7,192,0,7,192,0,15,192,0,15, + 128,0,31,128,0,63,0,0,126,0,0,248,0,1,240,0, + 3,224,0,3,192,0,3,192,0,3,192,0,3,192,0,3, + 192,0,0,0,0,0,0,0,0,0,0,3,224,0,3,224, + 0,3,224,0,3,224,0,3,224,0,38,39,195,42,2,248, + 0,3,255,224,0,0,31,255,248,0,0,127,255,254,0,0, + 255,255,255,0,3,255,255,255,128,7,254,0,127,192,7,248, + 0,31,224,15,224,0,15,240,31,192,0,7,240,63,128,0, + 3,248,63,1,241,241,248,63,7,253,241,252,126,15,255,240, + 252,126,31,255,240,252,124,31,135,240,252,252,63,3,240,124, + 252,63,3,240,124,252,62,1,240,124,252,62,1,240,124,248, + 62,1,240,124,248,62,1,240,124,248,62,1,240,124,252,62, + 1,240,124,252,63,3,240,252,124,63,3,248,248,124,31,135, + 249,248,126,31,255,255,240,63,15,254,255,224,63,7,252,127, + 192,31,129,248,31,0,31,192,0,0,0,15,224,0,0,0, + 7,248,0,0,0,3,254,0,56,0,1,255,255,248,0,0, + 255,255,248,0,0,63,255,248,0,0,15,255,248,0,0,1, + 255,224,0,27,30,120,28,1,0,0,63,0,0,0,63,128, + 0,0,127,128,0,0,127,128,0,0,127,192,0,0,255,192, + 0,0,255,224,0,0,255,224,0,1,251,224,0,1,243,240, + 0,3,243,240,0,3,241,240,0,3,225,248,0,7,225,248, + 0,7,224,248,0,7,192,252,0,15,192,252,0,15,192,126, + 0,15,128,126,0,31,255,254,0,31,255,255,0,63,255,255, + 0,63,255,255,0,63,255,255,128,126,0,31,128,126,0,31, + 128,126,0,15,192,252,0,15,192,252,0,7,192,248,0,7, + 224,22,30,90,27,3,0,255,254,0,255,255,128,255,255,224, + 255,255,224,255,255,240,248,7,240,248,3,240,248,1,240,248, + 1,240,248,1,240,248,3,240,248,7,224,255,255,192,255,255, + 128,255,254,0,255,255,192,255,255,240,248,3,248,248,1,248, + 248,0,252,248,0,252,248,0,252,248,0,252,248,1,252,248, + 3,252,255,255,248,255,255,240,255,255,224,255,255,192,255,255, + 0,24,30,90,29,2,1,1,255,192,3,255,240,15,255,248, + 15,255,252,31,255,254,63,128,254,62,0,127,126,0,63,124, + 0,63,124,0,63,252,0,0,252,0,0,252,0,0,248,0, + 0,248,0,0,248,0,0,248,0,0,248,0,0,252,0,0, + 252,0,0,124,0,63,124,0,63,126,0,127,62,0,127,63, + 128,254,31,255,254,31,255,252,15,255,248,7,255,224,1,255, + 192,24,30,90,29,3,0,255,248,0,255,255,0,255,255,192, + 255,255,224,255,255,240,248,15,248,248,1,252,248,0,252,248, + 0,126,248,0,126,248,0,62,248,0,63,248,0,63,248,0, + 63,248,0,31,248,0,31,248,0,63,248,0,63,248,0,63, + 248,0,63,248,0,126,248,0,126,248,0,252,248,1,252,248, + 15,248,255,255,240,255,255,224,255,255,192,255,255,0,255,248, + 0,20,30,90,25,3,0,255,255,224,255,255,224,255,255,224, + 255,255,224,255,255,224,248,0,0,248,0,0,248,0,0,248, + 0,0,248,0,0,248,0,0,248,0,0,248,0,0,255,255, + 224,255,255,224,255,255,224,255,255,224,248,0,0,248,0,0, + 248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248, + 0,0,255,255,240,255,255,240,255,255,240,255,255,240,255,255, + 240,19,30,90,24,3,0,255,255,224,255,255,224,255,255,224, + 255,255,224,255,255,224,248,0,0,248,0,0,248,0,0,248, + 0,0,248,0,0,248,0,0,248,0,0,255,255,192,255,255, + 192,255,255,192,255,255,192,255,255,192,248,0,0,248,0,0, + 248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248, + 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, + 0,26,30,120,30,2,1,0,127,240,0,1,255,252,0,3, + 255,254,0,15,255,255,0,15,255,255,128,31,192,63,128,63, + 128,15,192,63,0,15,192,126,0,15,192,126,0,7,192,124, + 0,0,0,252,0,0,0,252,0,0,0,252,0,0,0,248, + 1,255,192,248,1,255,192,248,1,255,192,252,1,255,192,252, + 1,255,192,252,0,7,192,124,0,7,192,126,0,7,192,127, + 0,7,192,63,128,7,192,63,224,7,192,31,255,255,192,15, + 255,255,192,7,255,255,192,1,255,255,192,0,127,254,0,23, + 30,90,29,3,0,248,0,62,248,0,62,248,0,62,248,0, + 62,248,0,62,248,0,62,248,0,62,248,0,62,248,0,62, + 248,0,62,248,0,62,248,0,62,255,255,254,255,255,254,255, + 255,254,255,255,254,255,255,254,248,0,62,248,0,62,248,0, + 62,248,0,62,248,0,62,248,0,62,248,0,62,248,0,62, + 248,0,62,248,0,62,248,0,62,248,0,62,248,0,62,5, + 30,30,11,3,0,248,248,248,248,248,248,248,248,248,248,248, + 248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248, + 248,248,248,20,30,90,25,2,0,0,1,240,0,1,240,0, + 1,240,0,1,240,0,1,240,0,1,240,0,1,240,0,1, + 240,0,1,240,0,1,240,0,1,240,0,1,240,0,1,240, + 0,1,240,0,1,240,0,1,240,0,1,240,0,1,240,0, + 1,240,0,1,240,248,1,240,248,3,240,252,3,240,252,3, + 240,254,7,224,127,255,224,127,255,192,63,255,128,31,255,0, + 15,254,0,23,30,90,27,3,0,248,1,248,248,3,248,248, + 7,240,248,15,224,248,15,192,248,31,192,248,63,128,248,127, + 0,248,126,0,248,254,0,249,252,0,251,248,0,251,240,0, + 255,240,0,255,240,0,251,248,0,249,252,0,249,254,0,248, + 254,0,248,127,0,248,127,128,248,63,128,248,31,192,248,31, + 224,248,15,224,248,7,240,248,7,248,248,3,248,248,1,252, + 248,0,254,19,30,90,23,3,0,248,0,0,248,0,0,248, + 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, + 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, + 248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248, + 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, + 0,248,0,0,255,255,224,255,255,224,255,255,224,255,255,224, + 255,255,224,31,30,120,37,3,0,255,192,3,254,255,192,3, + 254,255,192,7,254,255,192,7,254,255,224,7,254,251,224,15, + 254,251,224,15,254,251,240,15,190,251,240,15,190,249,240,31, + 190,249,240,31,62,249,248,31,62,248,248,63,62,248,248,63, + 62,248,252,62,62,248,124,126,62,248,124,126,62,248,126,124, + 62,248,126,124,62,248,62,252,62,248,62,248,62,248,63,248, + 62,248,31,248,62,248,31,248,62,248,31,240,62,248,31,240, + 62,248,15,240,62,248,15,224,62,248,15,224,62,248,7,224, + 62,25,30,120,31,3,0,255,128,15,128,255,128,15,128,255, + 128,15,128,255,192,15,128,255,192,15,128,255,224,15,128,251, + 224,15,128,251,240,15,128,249,240,15,128,249,248,15,128,248, + 248,15,128,248,252,15,128,248,252,15,128,248,126,15,128,248, + 126,15,128,248,63,15,128,248,63,15,128,248,31,143,128,248, + 31,143,128,248,15,143,128,248,15,207,128,248,7,207,128,248, + 7,239,128,248,3,239,128,248,3,255,128,248,1,255,128,248, + 1,255,128,248,0,255,128,248,0,255,128,248,0,127,128,27, + 30,120,31,2,1,0,255,224,0,3,255,248,0,7,255,252, + 0,15,255,254,0,31,255,255,0,63,192,127,128,63,0,31, + 128,127,0,31,192,126,0,15,192,126,0,15,192,252,0,15, + 224,252,0,7,224,252,0,7,224,252,0,7,224,252,0,7, + 224,252,0,7,224,252,0,7,224,252,0,7,224,252,0,7, + 224,252,0,15,224,126,0,15,192,126,0,15,192,127,0,31, + 192,63,0,31,128,63,192,127,128,31,255,255,0,15,255,254, + 0,7,255,252,0,3,255,248,0,0,255,224,0,21,30,90, + 26,3,0,255,252,0,255,255,128,255,255,192,255,255,224,255, + 255,240,248,7,240,248,3,248,248,1,248,248,1,248,248,0, + 248,248,1,248,248,1,248,248,1,248,248,7,240,255,255,240, + 255,255,224,255,255,192,255,255,128,255,252,0,248,0,0,248, + 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, + 0,248,0,0,248,0,0,248,0,0,248,0,0,30,30,120, + 33,2,1,0,255,224,0,3,255,248,0,7,255,252,0,15, + 255,254,0,31,255,255,0,63,192,127,128,63,0,31,128,127, + 0,31,192,126,0,15,192,126,0,15,192,252,0,15,224,252, + 0,7,224,252,0,7,224,252,0,7,224,252,0,7,224,252, + 0,7,224,252,0,7,224,252,0,7,224,252,0,7,224,252, + 0,15,192,126,0,15,192,126,0,15,192,127,0,31,128,63, + 0,31,128,63,192,127,0,31,255,254,252,15,255,255,252,7, + 255,255,252,3,255,255,252,0,255,255,252,23,30,90,27,3, + 0,255,255,0,255,255,224,255,255,240,255,255,248,255,255,248, + 248,3,252,248,1,252,248,0,252,248,0,124,248,0,124,248, + 0,252,248,1,248,248,7,240,255,255,224,255,255,192,255,255, + 128,255,255,224,255,255,240,248,3,248,248,1,248,248,1,248, + 248,0,248,248,0,248,248,0,248,248,0,252,248,0,252,248, + 0,252,248,0,252,248,0,124,248,0,126,23,30,90,27,2, + 1,1,255,128,7,255,224,15,255,240,31,255,240,63,255,248, + 63,1,248,126,0,252,126,0,252,124,0,124,126,0,0,126, + 0,0,63,128,0,63,240,0,31,254,0,15,255,192,3,255, + 240,0,127,248,0,7,252,0,1,252,0,0,126,248,0,126, + 248,0,62,252,0,126,252,0,126,126,0,252,127,255,252,63, + 255,248,31,255,240,15,255,224,3,255,128,23,30,90,25,1, + 0,255,255,254,255,255,254,255,255,254,255,255,254,255,255,254, + 0,124,0,0,124,0,0,124,0,0,124,0,0,124,0,0, + 124,0,0,124,0,0,124,0,0,124,0,0,124,0,0,124, + 0,0,124,0,0,124,0,0,124,0,0,124,0,0,124,0, + 0,124,0,0,124,0,0,124,0,0,124,0,0,124,0,0, + 124,0,0,124,0,0,124,0,0,124,0,24,30,90,30,3, + 0,248,0,31,248,0,31,248,0,31,248,0,31,248,0,31, + 248,0,31,248,0,31,248,0,31,248,0,31,248,0,31,248, + 0,31,248,0,31,248,0,31,248,0,31,248,0,31,248,0, + 31,248,0,31,248,0,31,248,0,31,252,0,31,252,0,31, + 252,0,63,124,0,63,126,0,126,127,0,254,63,255,252,31, + 255,252,31,255,248,7,255,224,1,255,192,28,30,120,30,1, + 0,252,0,3,240,252,0,7,240,254,0,7,224,126,0,7, + 224,126,0,15,192,127,0,15,192,63,0,31,192,63,0,31, + 128,63,128,31,128,31,128,63,128,31,128,63,0,31,192,63, + 0,15,192,127,0,15,192,126,0,7,224,126,0,7,224,252, + 0,7,224,252,0,3,240,252,0,3,241,248,0,3,249,248, + 0,1,249,248,0,1,251,240,0,1,255,240,0,0,255,240, + 0,0,255,224,0,0,255,224,0,0,127,192,0,0,127,192, + 0,0,127,192,0,0,63,128,0,38,30,150,40,1,0,252, + 0,252,0,252,252,1,254,0,252,252,1,254,0,252,252,1, + 254,1,252,254,1,254,1,252,126,3,255,1,248,126,3,255, + 1,248,126,3,255,1,248,126,3,255,1,248,63,7,255,131, + 240,63,7,207,131,240,63,7,207,131,240,63,7,207,131,240, + 31,15,207,195,224,31,143,135,199,224,31,143,135,199,224,31, + 143,135,199,224,15,159,135,231,192,15,159,3,231,192,15,223, + 3,239,192,15,223,3,239,192,7,255,3,255,128,7,254,1, + 255,128,7,254,1,255,128,7,254,1,255,128,3,254,1,255, + 0,3,252,0,255,0,3,252,0,255,0,3,252,0,255,0, + 3,252,0,255,0,26,30,120,28,1,0,126,0,31,128,127, + 0,63,128,63,128,63,0,63,128,126,0,31,192,126,0,15, + 192,252,0,15,225,248,0,7,241,248,0,3,243,240,0,3, + 251,224,0,1,255,224,0,0,255,192,0,0,255,128,0,0, + 127,128,0,0,127,0,0,0,127,128,0,0,255,128,0,1, + 255,192,0,1,255,224,0,3,247,224,0,3,227,240,0,7, + 227,248,0,15,193,248,0,15,129,252,0,31,128,254,0,63, + 0,126,0,63,0,127,0,126,0,63,128,252,0,31,128,252, + 0,31,192,24,30,90,25,1,0,252,0,127,254,0,126,126, + 0,254,127,0,252,63,1,252,63,1,248,31,131,248,31,131, + 240,15,195,240,15,199,224,7,231,224,7,239,192,3,255,192, + 3,255,128,1,255,128,1,255,0,0,255,0,0,254,0,0, + 126,0,0,124,0,0,124,0,0,124,0,0,124,0,0,124, + 0,0,124,0,0,124,0,0,124,0,0,124,0,0,124,0, + 0,124,0,22,30,90,26,2,0,127,255,252,127,255,252,127, + 255,252,127,255,252,127,255,252,0,1,252,0,3,248,0,7, + 240,0,15,240,0,31,224,0,31,192,0,63,128,0,127,128, + 0,255,0,0,254,0,1,252,0,3,252,0,7,248,0,7, + 240,0,15,224,0,31,224,0,63,192,0,63,128,0,127,0, + 0,255,0,0,255,255,252,255,255,252,255,255,252,255,255,252, + 255,255,252,9,38,76,15,3,248,255,128,255,128,255,128,255, + 128,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, + 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, + 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, + 0,248,0,248,0,248,0,248,0,248,0,248,0,255,128,255, + 128,255,128,255,128,13,32,64,17,2,254,240,0,240,0,120, + 0,120,0,120,0,120,0,60,0,60,0,60,0,30,0,30, + 0,30,0,14,0,15,0,15,0,15,0,7,128,7,128,7, + 128,3,192,3,192,3,192,3,192,1,224,1,224,1,224,0, + 240,0,240,0,240,0,112,0,120,0,120,9,38,76,15,3, + 248,255,128,255,128,255,128,255,128,15,128,15,128,15,128,15, + 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, + 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, + 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, + 128,15,128,15,128,255,128,255,128,255,128,255,128,20,25,75, + 40,10,0,0,96,0,0,240,0,0,240,0,0,240,0,1, + 248,0,1,152,0,3,156,0,3,12,0,3,12,0,7,14, + 0,6,6,0,6,6,0,14,7,0,12,3,0,28,3,128, + 28,1,128,24,1,128,56,1,192,48,0,192,48,0,192,112, + 0,224,96,0,96,224,0,112,224,0,112,192,0,48,20,4, + 12,20,0,250,255,255,240,255,255,240,255,255,240,255,255,240, + 9,8,16,10,255,25,248,0,124,0,60,0,62,0,30,0, + 15,0,7,0,3,128,19,20,60,22,2,1,15,254,0,31, + 255,0,63,255,128,126,15,128,124,15,192,0,7,192,0,127, + 192,15,255,192,63,255,192,127,255,192,127,7,192,252,7,192, + 252,7,192,248,15,192,248,15,192,252,15,192,254,31,192,127, + 255,192,63,247,192,31,227,224,20,30,90,25,3,0,248,0, + 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, + 248,0,0,248,0,0,248,0,0,248,0,0,249,254,0,251, + 255,128,255,255,192,255,15,192,254,7,224,252,3,224,252,3, + 240,252,3,240,252,3,240,248,1,240,248,1,240,248,3,240, + 252,3,240,252,3,240,252,3,224,254,7,224,255,15,192,251, + 255,192,251,255,128,248,254,0,17,20,60,21,2,1,15,252, + 0,31,254,0,63,255,0,126,63,0,124,31,128,124,31,128, + 252,15,128,248,0,0,248,0,0,248,0,0,248,0,0,248, + 0,0,248,0,0,252,15,128,252,31,128,124,31,128,126,63, + 0,63,255,0,31,254,0,15,252,0,20,30,90,25,2,0, + 0,1,240,0,1,240,0,1,240,0,1,240,0,1,240,0, + 1,240,0,1,240,0,1,240,0,1,240,0,1,240,7,249, + 240,31,253,240,63,255,240,63,15,240,126,7,240,124,3,240, + 252,3,240,252,3,240,252,3,240,248,1,240,248,1,240,248, + 3,240,252,3,240,252,3,240,124,3,240,126,7,240,63,15, + 240,63,253,240,31,249,240,7,241,240,19,20,60,22,2,1, + 7,252,0,31,255,0,63,255,0,62,31,128,124,15,192,124, + 7,192,252,7,192,255,255,192,255,255,192,255,255,224,255,255, + 224,248,0,0,248,0,0,252,0,0,124,7,192,124,15,192, + 126,31,128,63,255,128,31,255,0,7,252,0,14,30,60,15, + 1,1,3,252,7,252,15,252,15,192,15,128,15,128,15,128, + 15,128,15,128,15,128,255,248,255,248,255,248,255,248,15,128, + 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, + 15,128,15,128,15,128,15,128,15,128,15,128,15,128,20,28, + 84,25,2,249,7,249,240,31,253,240,63,255,240,63,15,240, + 126,7,240,124,3,240,252,3,240,252,3,240,252,3,240,248, + 1,240,248,1,240,248,3,240,252,3,240,252,3,240,124,7, + 240,126,7,240,63,255,240,63,253,240,15,249,240,3,225,240, + 0,3,240,0,3,240,124,3,240,126,7,224,63,255,224,63, + 255,192,31,255,128,3,252,0,18,30,90,24,3,0,248,0, + 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, + 248,0,0,248,0,0,248,0,0,248,0,0,249,255,0,251, + 255,128,255,255,192,255,31,192,254,15,192,252,7,192,252,7, + 192,252,7,192,248,7,192,248,7,192,248,7,192,248,7,192, + 248,7,192,248,7,192,248,7,192,248,7,192,248,7,192,248, + 7,192,248,7,192,248,7,192,6,30,30,10,2,0,252,252, + 252,252,252,0,0,0,0,0,124,124,124,124,124,124,124,124, + 124,124,124,124,124,124,124,124,124,124,124,124,7,39,39,13, + 4,247,126,126,126,126,126,0,0,0,0,0,62,62,62,62, + 62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62, + 62,62,62,126,254,254,254,252,248,18,30,90,22,3,0,248, + 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, + 0,248,0,0,248,0,0,248,0,0,248,0,0,248,31,192, + 248,31,128,248,63,0,248,126,0,248,252,0,249,252,0,249, + 248,0,251,240,0,255,224,0,255,240,0,251,240,0,249,248, + 0,249,252,0,248,252,0,248,126,0,248,127,0,248,63,0, + 248,31,128,248,31,192,248,15,192,5,30,30,11,3,0,248, + 248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248, + 248,248,248,248,248,248,248,248,248,248,248,248,248,31,20,80, + 37,3,1,248,255,15,240,249,255,159,252,251,255,191,252,255, + 31,248,254,254,15,240,126,252,7,224,62,252,7,224,62,248, + 7,192,62,248,7,192,62,248,7,192,62,248,7,192,62,248, + 7,192,62,248,7,192,62,248,7,192,62,248,7,192,62,248, + 7,192,62,248,7,192,62,248,7,192,62,248,7,192,62,248, + 7,192,62,18,20,60,24,3,1,249,255,0,251,255,128,251, + 255,192,255,31,192,254,15,192,252,7,192,252,7,192,252,7, + 192,248,7,192,248,7,192,248,7,192,248,7,192,248,7,192, + 248,7,192,248,7,192,248,7,192,248,7,192,248,7,192,248, + 7,192,248,7,192,20,20,60,24,2,1,3,254,0,15,255, + 0,31,255,192,63,15,192,126,3,224,124,3,240,252,1,240, + 252,1,240,252,1,240,248,1,240,248,1,240,248,1,240,252, + 1,240,252,1,240,124,3,240,126,3,224,63,15,192,31,255, + 192,15,255,0,3,254,0,20,28,84,25,3,249,248,254,0, + 249,255,128,251,255,192,255,15,192,254,7,224,252,3,224,252, + 3,240,252,3,240,252,3,240,248,1,240,248,1,240,252,3, + 240,252,3,240,252,3,240,252,3,224,254,7,224,255,15,192, + 255,255,192,251,255,128,249,254,0,248,0,0,248,0,0,248, + 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, + 0,20,28,84,25,2,249,7,241,240,31,253,240,63,253,240, + 63,15,240,126,7,240,124,3,240,252,3,240,252,3,240,248, + 3,240,248,1,240,248,1,240,252,3,240,252,3,240,252,3, + 240,124,3,240,126,7,240,63,15,240,63,255,240,31,253,240, + 7,249,240,0,1,240,0,1,240,0,1,240,0,1,240,0, + 1,240,0,1,240,0,1,240,0,1,240,12,20,40,16,3, + 1,248,240,249,240,251,240,255,240,255,240,255,0,254,0,252, + 0,252,0,248,0,248,0,248,0,248,0,248,0,248,0,248, + 0,248,0,248,0,248,0,248,0,17,20,60,21,2,1,15, + 252,0,63,254,0,127,255,0,126,31,128,124,31,128,124,15, + 128,126,0,0,127,128,0,63,248,0,63,254,0,7,255,0, + 0,255,128,0,31,128,0,15,128,248,15,128,252,15,128,126, + 31,128,127,255,0,63,254,0,31,252,0,15,26,52,17,1, + 0,0,128,1,128,7,128,15,128,15,128,15,128,255,252,255, + 252,255,252,255,252,15,128,15,128,15,128,15,128,15,128,15, + 128,15,128,15,128,15,128,15,128,15,128,15,192,15,224,7, + 254,7,254,1,254,18,20,60,24,3,0,248,7,192,248,7, + 192,248,7,192,248,7,192,248,7,192,248,7,192,248,7,192, + 248,7,192,248,7,192,248,7,192,248,7,192,248,7,192,248, + 7,192,252,7,192,252,15,192,252,15,192,254,31,192,127,255, + 192,63,247,192,31,231,192,20,20,60,22,1,0,248,3,240, + 252,3,240,252,3,224,124,7,224,126,7,224,126,7,192,62, + 15,192,63,15,192,31,15,128,31,31,128,31,159,0,15,159, + 0,15,191,0,15,254,0,7,254,0,7,254,0,3,252,0, + 3,252,0,3,248,0,1,248,0,33,20,100,34,1,0,248, + 7,224,31,128,248,15,240,31,0,252,15,240,31,0,252,15, + 240,63,0,124,15,248,62,0,126,31,248,62,0,126,31,248, + 126,0,62,31,124,126,0,62,62,124,124,0,63,62,124,124, + 0,31,62,126,252,0,31,124,62,248,0,31,252,62,248,0, + 15,252,63,248,0,15,252,31,240,0,15,248,31,240,0,15, + 248,31,240,0,7,248,15,240,0,7,240,15,224,0,7,240, + 15,224,0,20,20,60,22,1,0,254,3,224,126,7,224,63, + 15,192,31,143,128,31,159,128,15,223,0,7,254,0,7,254, + 0,3,252,0,3,252,0,3,252,0,7,254,0,15,255,0, + 15,191,0,31,159,128,63,31,192,62,15,192,126,7,224,252, + 7,224,252,3,240,20,28,84,22,1,248,252,3,240,252,3, + 240,252,3,224,126,7,224,126,7,224,63,7,192,63,15,192, + 63,15,192,31,143,128,31,159,128,15,159,128,15,223,0,15, + 255,0,7,255,0,7,254,0,3,254,0,3,252,0,3,252, + 0,1,252,0,1,248,0,1,248,0,1,248,0,1,240,0, + 3,240,0,3,240,0,7,224,0,7,224,0,7,224,0,17, + 20,60,21,2,0,255,255,0,255,255,0,255,255,0,255,255, + 0,0,63,0,0,126,0,0,252,0,1,248,0,3,240,0, + 7,240,0,15,224,0,15,192,0,31,128,0,63,0,0,126, + 0,0,252,0,0,255,255,128,255,255,128,255,255,128,255,255, + 128,15,41,82,20,3,246,0,2,0,254,1,254,3,254,7, + 240,7,224,7,192,7,192,7,192,7,192,7,192,7,192,7, + 192,7,192,7,192,7,192,15,192,15,128,63,128,254,0,252, + 0,254,0,255,0,63,128,15,128,15,192,7,192,7,192,7, + 192,7,192,7,192,7,192,7,192,7,192,7,192,7,224,7, + 224,3,254,3,254,1,254,0,62,3,43,43,13,5,245,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,15,40,80,20,3,247, + 252,0,255,0,255,0,31,128,15,128,15,128,15,128,15,128, + 15,128,15,128,15,128,15,128,15,128,15,192,15,192,7,224, + 7,224,3,248,1,254,0,126,0,254,3,252,7,224,7,192, + 7,192,15,192,15,128,15,128,15,128,15,128,15,128,15,128, + 15,128,15,128,15,128,31,128,255,128,255,0,254,0,248,0, + 21,5,15,21,0,8,15,192,120,63,255,248,127,255,240,127, + 255,224,240,31,128,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,255, + 255,255,255,255,255,255,0,0,0,12,0,0,5,28,28,16, + 5,248,248,248,248,248,248,0,0,248,248,248,248,248,248,248, + 248,248,248,248,248,248,248,248,248,248,248,248,248,248,18,30, + 90,24,3,250,0,6,0,0,14,0,0,12,0,0,12,0, + 0,28,0,7,252,0,31,255,0,63,255,128,63,63,128,124, + 63,192,124,127,192,252,103,192,248,96,0,248,96,0,248,192, + 0,248,192,0,248,192,0,253,192,0,253,143,192,125,143,192, + 127,143,192,127,31,128,63,255,128,31,255,0,7,252,0,6, + 0,0,14,0,0,12,0,0,12,0,0,28,0,0,20,31, + 93,23,2,0,0,16,0,3,255,128,7,255,192,15,255,224, + 15,199,240,31,131,240,31,131,240,31,1,240,31,0,0,31, + 0,0,31,0,0,31,0,0,255,252,0,255,252,0,255,252, + 0,255,252,0,31,0,0,31,0,0,31,0,0,31,0,0, + 31,0,0,31,0,0,31,0,0,31,0,0,31,0,0,31, + 0,0,31,0,0,255,255,240,255,255,240,255,255,240,255,255, + 240,21,21,63,25,2,8,192,0,24,224,0,56,113,252,112, + 63,255,224,31,7,192,28,1,192,24,1,192,56,0,224,48, + 0,96,48,0,96,48,0,96,48,0,96,48,0,224,56,0, + 224,28,1,192,30,3,192,31,143,192,63,255,224,113,252,112, + 224,0,56,192,0,24,22,30,90,24,1,0,252,0,252,252, + 0,252,124,1,248,126,1,248,62,3,240,63,3,240,63,7, + 224,31,135,224,255,135,252,255,143,252,255,207,252,7,223,128, + 7,255,0,3,255,0,3,255,0,1,254,0,255,255,252,255, + 255,252,255,255,252,0,248,0,0,248,0,0,248,0,0,248, + 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, + 0,248,0,0,248,0,2,38,38,14,6,248,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,0,0,0,0, + 0,0,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,16,36,72,19,1,251,15,252,31,254,63,254,126,14, + 124,2,124,0,124,0,126,0,127,0,63,192,31,224,15,248, + 31,252,63,254,126,127,124,63,248,31,248,31,248,31,252,62, + 254,252,127,248,63,240,31,248,7,252,1,254,0,127,0,63, + 0,63,0,31,0,63,64,126,127,254,127,252,127,240,31,192, + 13,5,10,13,0,26,240,120,240,120,240,120,240,120,240,120, + 30,30,120,34,2,1,0,63,240,0,0,255,252,0,3,248, + 127,0,7,192,15,128,15,0,3,192,30,0,1,224,60,31, + 240,240,56,63,248,112,120,127,252,120,112,248,124,56,112,248, + 62,56,225,240,62,28,225,240,62,28,225,240,0,28,225,240, + 0,28,225,240,0,28,225,240,0,28,225,240,62,28,225,240, + 62,28,112,248,62,56,112,248,124,56,112,127,252,120,56,63, + 248,112,60,31,224,240,30,0,1,224,15,0,3,192,7,128, + 15,128,3,240,63,0,1,255,252,0,0,63,240,0,14,20, + 40,16,1,10,15,192,63,240,120,240,120,120,0,120,15,248, + 63,248,124,120,240,120,240,120,240,120,240,248,255,248,127,248, + 63,56,0,0,0,0,0,0,255,252,255,252,20,16,48,24, + 2,2,15,193,240,15,131,224,31,135,224,31,7,192,63,15, + 192,126,15,192,126,31,128,252,31,128,252,31,128,126,31,128, + 126,15,192,63,15,192,31,7,192,31,135,224,15,131,224,15, + 193,240,21,9,27,25,2,8,255,255,248,255,255,248,0,0, + 24,0,0,24,0,0,24,0,0,24,0,0,24,0,0,24, + 0,0,24,255,30,30,120,34,2,1,0,63,240,0,0,255, + 252,0,3,248,127,0,7,192,15,128,15,0,3,192,30,0, + 1,224,60,255,192,240,56,255,240,112,120,255,248,120,112,240, + 124,56,112,240,60,56,224,240,60,28,224,240,60,28,224,240, + 120,28,224,255,240,28,224,255,224,28,224,255,248,28,224,240, + 120,28,224,240,120,28,112,240,56,56,112,240,60,56,112,240, + 60,120,56,240,60,112,60,240,60,240,30,0,1,224,15,0, + 3,192,7,128,15,128,3,240,63,0,1,255,252,0,0,63, + 240,0,13,4,8,13,0,26,255,248,255,248,255,248,255,248, + 9,9,18,13,2,21,62,0,127,0,227,128,193,128,193,128, + 193,128,227,128,127,0,62,0,24,24,72,40,8,0,0,56, + 0,0,56,0,0,56,0,0,56,0,0,56,0,0,56,0, + 0,56,0,255,255,255,255,255,255,255,255,255,0,56,0,0, + 56,0,0,56,0,0,56,0,0,56,0,0,56,0,0,56, + 0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255, + 255,255,255,255,255,255,13,16,32,15,1,15,63,224,127,240, + 248,120,240,120,0,120,0,248,1,240,3,224,7,192,15,128, + 31,0,60,0,240,0,255,240,255,240,255,240,12,15,30,14, + 1,16,63,192,127,224,240,240,240,240,0,240,1,224,15,192, + 15,192,1,224,0,240,0,240,240,240,249,240,127,224,63,128, + 8,8,8,9,2,25,31,31,62,60,120,112,240,224,255,18, + 36,108,22,2,250,7,255,192,31,255,192,63,199,0,127,199, + 0,255,199,0,255,199,0,255,199,0,255,199,0,255,199,0, + 255,199,0,255,199,0,255,199,0,127,199,0,63,199,0,15, + 199,0,1,199,0,1,199,0,1,199,0,1,199,0,1,199, + 0,1,199,0,1,199,0,1,199,0,1,199,0,1,199,0, + 1,199,0,1,199,0,1,199,0,1,199,0,1,199,0,1, + 199,0,1,199,0,1,199,0,1,199,0,1,199,0,1,199, + 0,5,5,5,12,3,11,248,248,248,248,248,9,10,20,10, + 2,246,48,0,48,0,60,0,63,0,7,128,3,128,3,128, + 135,128,255,0,252,0,7,16,16,11,2,14,30,62,254,254, + 158,30,30,30,30,30,30,30,30,30,30,30,14,19,38,16, + 1,11,15,192,31,224,60,240,120,120,112,56,240,60,240,60, + 240,60,240,60,240,60,112,56,120,120,60,240,31,224,15,192, + 0,0,0,0,255,252,255,252,20,16,48,24,2,2,252,31, + 0,124,31,0,126,15,128,62,15,192,63,15,192,31,7,224, + 31,135,224,31,131,240,31,131,240,31,135,224,31,7,224,63, + 15,192,62,15,192,126,15,128,124,31,0,252,31,0,28,31, + 124,32,2,255,30,0,15,0,62,0,30,0,254,0,30,0, + 254,0,60,0,158,0,124,0,30,0,120,0,30,0,248,0, + 30,0,240,0,30,1,240,0,30,1,224,0,30,3,192,0, + 30,3,192,0,30,7,128,0,30,15,128,0,30,15,0,0, + 30,31,3,224,0,30,7,224,0,60,15,224,0,60,15,224, + 0,120,31,224,0,120,61,224,0,240,121,224,0,240,121,224, + 1,224,241,224,3,193,225,224,3,193,255,240,7,129,255,240, + 7,128,1,224,15,0,1,224,15,0,1,224,30,0,1,224, + 28,30,120,31,2,0,30,0,30,0,62,0,60,0,254,0, + 56,0,222,0,120,0,158,0,240,0,30,0,240,0,30,1, + 224,0,30,1,224,0,30,3,192,0,30,3,192,0,30,7, + 128,0,30,7,128,0,30,15,0,0,30,30,0,0,30,30, + 31,128,30,60,63,224,0,60,125,224,0,120,240,240,0,120, + 240,240,0,240,0,240,0,240,1,240,1,224,3,224,1,192, + 7,192,3,192,15,128,7,128,31,0,7,128,62,0,15,0, + 124,0,15,0,240,0,30,0,255,240,30,0,255,240,29,30, + 120,31,1,1,63,192,3,192,127,224,7,192,240,240,7,128, + 240,240,15,0,0,240,15,0,1,224,30,0,15,192,30,0, + 15,192,60,0,1,224,124,0,0,240,120,0,0,240,240,0, + 240,240,240,0,249,241,224,0,127,225,224,0,63,131,193,240, + 0,3,195,240,0,7,135,240,0,15,7,240,0,15,15,240, + 0,30,30,240,0,30,60,240,0,60,60,240,0,60,120,240, + 0,120,240,240,0,240,255,248,0,240,255,248,1,224,0,240, + 1,224,0,240,3,192,0,240,3,192,0,240,19,28,84,23, + 2,248,0,248,0,0,248,0,0,248,0,0,248,0,0,248, + 0,0,0,0,0,0,0,0,0,0,0,240,0,0,240,0, + 0,240,0,0,240,0,1,224,0,7,224,0,15,128,0,31, + 0,0,62,0,0,124,0,0,252,0,0,252,0,0,248,1, + 0,252,3,128,252,7,224,126,15,192,127,255,192,63,255,128, + 15,254,0,3,248,0,27,41,164,28,1,0,1,240,0,0, + 1,240,0,0,0,248,0,0,0,120,0,0,0,60,0,0, + 0,28,0,0,0,14,0,0,0,14,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,63,0,0,0,63,128,0, + 0,127,128,0,0,127,128,0,0,127,192,0,0,255,192,0, + 0,255,224,0,0,255,224,0,1,251,224,0,1,243,240,0, + 3,243,240,0,3,241,240,0,3,225,248,0,7,225,248,0, + 7,224,248,0,7,192,252,0,15,192,252,0,15,192,126,0, + 15,128,126,0,31,255,254,0,31,255,255,0,63,255,255,0, + 63,255,255,0,63,255,255,128,126,0,31,128,126,0,31,128, + 126,0,15,192,252,0,15,192,252,0,7,192,248,0,7,224, + 27,41,164,28,1,0,0,3,240,0,0,3,224,0,0,3, + 192,0,0,7,128,0,0,7,0,0,0,15,0,0,0,14, + 0,0,0,28,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,63,0,0,0,63,128,0,0,127,128,0,0,127, + 128,0,0,127,192,0,0,255,192,0,0,255,224,0,0,255, + 224,0,1,251,224,0,1,243,240,0,3,243,240,0,3,241, + 240,0,3,225,248,0,7,225,248,0,7,224,248,0,7,192, + 252,0,15,192,252,0,15,192,126,0,15,128,126,0,31,255, + 254,0,31,255,255,0,63,255,255,0,63,255,255,0,63,255, + 255,128,126,0,31,128,126,0,31,128,126,0,15,192,252,0, + 15,192,252,0,7,192,248,0,7,224,27,41,164,28,1,0, + 0,63,0,0,0,63,128,0,0,127,128,0,0,123,192,0, + 0,243,192,0,0,225,224,0,1,192,224,0,1,192,112,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,63,0,0, + 0,63,128,0,0,127,128,0,0,127,128,0,0,127,192,0, + 0,255,192,0,0,255,224,0,0,255,224,0,1,251,224,0, + 1,243,240,0,3,243,240,0,3,241,240,0,3,225,248,0, + 7,225,248,0,7,224,248,0,7,192,252,0,15,192,252,0, + 15,192,126,0,15,128,126,0,31,255,254,0,31,255,255,0, + 63,255,255,0,63,255,255,0,63,255,255,128,126,0,31,128, + 126,0,31,128,126,0,15,192,252,0,15,192,252,0,7,192, + 248,0,7,224,27,39,156,28,1,0,0,120,112,0,0,255, + 224,0,1,255,224,0,1,255,192,0,1,128,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63, + 0,0,0,63,128,0,0,127,128,0,0,127,128,0,0,127, + 192,0,0,255,192,0,0,255,224,0,0,255,224,0,1,251, + 224,0,1,243,240,0,3,243,240,0,3,241,240,0,3,225, + 248,0,7,225,248,0,7,224,248,0,7,192,252,0,15,192, + 252,0,15,192,126,0,15,128,126,0,31,255,254,0,31,255, + 255,0,63,255,255,0,63,255,255,0,63,255,255,128,126,0, + 31,128,126,0,31,128,126,0,15,192,252,0,15,192,252,0, + 7,192,248,0,7,224,27,40,160,29,1,0,1,224,240,0, + 1,224,240,0,1,224,240,0,1,224,240,0,1,224,240,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,63,128,0,0,63,128,0,0,127,192,0, + 0,127,192,0,0,127,192,0,0,255,224,0,0,255,224,0, + 1,251,240,0,1,251,240,0,1,251,240,0,3,241,248,0, + 3,241,248,0,3,224,248,0,7,224,252,0,7,224,252,0, + 7,192,124,0,15,192,126,0,15,192,126,0,15,128,62,0, + 31,255,255,0,31,255,255,0,31,255,255,0,63,255,255,128, + 63,255,255,128,126,0,31,128,126,0,15,192,126,0,15,192, + 252,0,7,224,252,0,7,224,252,0,7,224,27,43,172,28, + 0,0,0,31,0,0,0,63,128,0,0,113,192,0,0,96, + 192,0,0,96,192,0,0,96,192,0,0,113,192,0,0,63, + 128,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,63,128,0,0,63,128,0,0,63, + 128,0,0,127,192,0,0,127,192,0,0,127,192,0,0,255, + 224,0,0,251,224,0,0,251,240,0,1,251,240,0,1,241, + 240,0,1,241,248,0,3,241,248,0,3,224,248,0,7,224, + 252,0,7,224,252,0,7,192,124,0,15,192,126,0,15,192, + 126,0,15,255,254,0,31,255,255,0,31,255,255,0,31,255, + 255,128,63,255,255,128,63,0,31,128,62,0,15,192,126,0, + 15,192,126,0,15,192,252,0,7,224,252,0,7,224,38,30, + 150,40,0,0,0,1,255,255,248,0,1,255,255,248,0,3, + 255,255,248,0,3,255,255,248,0,7,255,0,0,0,7,223, + 0,0,0,15,223,0,0,0,15,159,0,0,0,31,159,0, + 0,0,31,31,0,0,0,63,31,0,0,0,62,31,0,0, + 0,126,31,255,248,0,124,31,255,248,0,252,31,255,248,0, + 248,31,255,248,1,248,31,255,248,1,240,31,0,0,3,255, + 255,0,0,7,255,255,0,0,7,255,255,0,0,15,255,255, + 0,0,15,255,255,0,0,31,128,63,0,0,31,128,63,0, + 0,63,0,63,255,252,63,0,63,255,252,126,0,63,255,252, + 126,0,63,255,252,252,0,63,255,252,24,40,120,29,2,247, + 1,255,192,3,255,240,15,255,248,15,255,252,31,255,254,63, + 128,254,62,0,127,126,0,127,124,0,63,124,0,63,252,0, + 0,252,0,0,252,0,0,248,0,0,248,0,0,248,0,0, + 248,0,0,248,0,0,252,0,0,252,0,0,124,0,63,124, + 0,127,126,0,127,62,0,255,63,0,254,31,255,254,31,255, + 252,15,255,248,7,255,240,1,255,192,0,24,0,0,24,0, + 0,31,0,0,31,128,0,3,192,0,1,192,0,1,192,0, + 195,192,0,255,128,0,254,0,20,41,123,25,3,0,15,128, + 0,15,128,0,7,192,0,3,192,0,1,224,0,0,224,0, + 0,240,0,0,112,0,0,0,0,0,0,0,0,0,0,255, + 255,224,255,255,224,255,255,224,255,255,224,255,255,224,248,0, + 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, + 248,0,0,248,0,0,255,255,224,255,255,224,255,255,224,255, + 255,224,248,0,0,248,0,0,248,0,0,248,0,0,248,0, + 0,248,0,0,248,0,0,248,0,0,255,255,240,255,255,240, + 255,255,240,255,255,240,255,255,240,20,41,123,25,3,0,0, + 63,0,0,62,0,0,124,0,0,120,0,0,240,0,0,224, + 0,1,224,0,1,192,0,0,0,0,0,0,0,0,0,0, + 255,255,224,255,255,224,255,255,224,255,255,224,255,255,224,248, + 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, + 0,248,0,0,248,0,0,255,255,224,255,255,224,255,255,224, + 255,255,224,248,0,0,248,0,0,248,0,0,248,0,0,248, + 0,0,248,0,0,248,0,0,248,0,0,255,255,240,255,255, + 240,255,255,240,255,255,240,255,255,240,20,41,123,25,3,0, + 3,248,0,3,248,0,7,252,0,7,188,0,7,30,0,14, + 14,0,14,7,0,28,7,0,0,0,0,0,0,0,0,0, + 0,255,255,224,255,255,224,255,255,224,255,255,224,255,255,224, + 248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248, + 0,0,248,0,0,248,0,0,255,255,224,255,255,224,255,255, + 224,255,255,224,248,0,0,248,0,0,248,0,0,248,0,0, + 248,0,0,248,0,0,248,0,0,248,0,0,255,255,240,255, + 255,240,255,255,240,255,255,240,255,255,240,20,40,120,25,3, + 0,15,15,0,15,15,0,15,15,0,15,15,0,15,15,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255, + 255,224,255,255,224,255,255,224,255,255,224,255,255,224,248,0, + 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, + 248,0,0,248,0,0,255,255,224,255,255,224,255,255,224,255, + 255,224,248,0,0,248,0,0,248,0,0,248,0,0,248,0, + 0,248,0,0,248,0,0,248,0,0,255,255,240,255,255,240, + 255,255,240,255,255,240,255,255,240,9,41,82,11,255,0,248, + 0,124,0,60,0,30,0,14,0,15,0,7,0,3,0,0, + 0,0,0,0,0,15,128,15,128,15,128,15,128,15,128,15, + 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, + 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, + 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, + 128,8,41,41,10,3,0,15,31,30,60,56,120,112,224,0, + 0,0,248,248,248,248,248,248,248,248,248,248,248,248,248,248, + 248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248, + 12,41,82,11,0,0,31,128,63,128,63,128,123,192,121,192, + 112,224,224,224,192,112,0,0,0,0,0,0,31,0,31,0, + 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, + 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, + 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, + 31,0,31,0,31,0,31,0,13,40,80,13,0,0,240,120, + 240,120,240,120,240,120,240,120,0,0,0,0,0,0,0,0, + 0,0,15,128,15,128,15,128,15,128,15,128,15,128,15,128, + 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, + 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, + 15,128,15,128,15,128,15,128,15,128,15,128,15,128,26,30, + 120,29,0,0,31,255,0,0,31,255,224,0,31,255,248,0, + 31,255,252,0,31,255,254,0,31,1,255,0,31,0,127,0, + 31,0,31,128,31,0,31,128,31,0,15,192,31,0,15,192, + 31,0,7,192,31,0,7,192,255,252,7,192,255,252,7,192, + 255,252,7,192,255,252,7,192,31,0,7,192,31,0,7,192, + 31,0,15,192,31,0,15,192,31,0,31,128,31,0,31,128, + 31,0,127,0,31,1,255,0,31,255,254,0,31,255,252,0, + 31,255,248,0,31,255,224,0,31,255,0,0,25,39,156,31, + 3,0,0,248,96,0,1,255,224,0,1,255,192,0,3,255, + 128,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,255,128,15,128,255,128,15,128,255,128, + 15,128,255,192,15,128,255,192,15,128,255,224,15,128,251,224, + 15,128,251,240,15,128,249,240,15,128,249,248,15,128,248,248, + 15,128,248,252,15,128,248,252,15,128,248,126,15,128,248,126, + 15,128,248,63,15,128,248,63,15,128,248,31,143,128,248,31, + 143,128,248,15,143,128,248,15,207,128,248,7,207,128,248,7, + 239,128,248,3,239,128,248,3,255,128,248,1,255,128,248,1, + 255,128,248,0,255,128,248,0,255,128,248,0,127,128,27,41, + 164,31,2,0,1,240,0,0,1,240,0,0,0,248,0,0, + 0,120,0,0,0,60,0,0,0,28,0,0,0,28,0,0, + 0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,255,224,0,3,255,248,0,7,255,252,0,15,255,254,0, + 31,255,255,0,63,192,127,128,63,0,31,128,127,0,31,192, + 126,0,15,192,126,0,15,192,252,0,15,224,252,0,7,224, + 252,0,7,224,252,0,7,224,252,0,7,224,252,0,7,224, + 252,0,7,224,252,0,7,224,252,0,7,224,252,0,15,224, + 126,0,15,192,126,0,15,192,127,0,31,192,63,0,31,128, + 63,192,127,128,31,255,255,0,15,255,254,0,7,255,252,0, + 3,255,248,0,0,255,224,0,27,41,164,31,2,0,0,1, + 240,0,0,1,224,0,0,3,224,0,0,3,192,0,0,7, + 128,0,0,7,0,0,0,14,0,0,0,14,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,255,224,0,3,255, + 248,0,7,255,252,0,15,255,254,0,31,255,255,0,63,192, + 127,128,63,0,31,128,127,0,31,192,126,0,15,192,126,0, + 15,192,252,0,15,224,252,0,7,224,252,0,7,224,252,0, + 7,224,252,0,7,224,252,0,7,224,252,0,7,224,252,0, + 7,224,252,0,7,224,252,0,15,224,126,0,15,192,126,0, + 15,192,127,0,31,192,63,0,31,128,63,192,127,128,31,255, + 255,0,15,255,254,0,7,255,252,0,3,255,248,0,0,255, + 224,0,27,41,164,31,2,0,0,63,0,0,0,63,128,0, + 0,63,128,0,0,123,192,0,0,113,192,0,0,240,224,0, + 0,224,224,0,1,192,112,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,255,224,0,3,255,248,0,7,255,252,0, + 15,255,254,0,31,255,255,0,63,192,127,128,63,0,31,128, + 127,0,31,192,126,0,15,192,126,0,15,192,252,0,15,224, + 252,0,7,224,252,0,7,224,252,0,7,224,252,0,7,224, + 252,0,7,224,252,0,7,224,252,0,7,224,252,0,7,224, + 252,0,15,224,126,0,15,192,126,0,15,192,127,0,31,192, + 63,0,31,128,63,192,127,128,31,255,255,0,15,255,254,0, + 7,255,252,0,3,255,248,0,0,255,224,0,27,40,160,31, + 2,0,0,0,48,0,0,124,112,0,0,255,224,0,0,255, + 224,0,1,255,192,0,1,128,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,255,224,0,3,255, + 248,0,7,255,252,0,15,255,254,0,31,255,255,0,63,192, + 127,128,63,0,31,128,127,0,31,192,126,0,15,192,126,0, + 15,192,252,0,15,224,252,0,7,224,252,0,7,224,252,0, + 7,224,252,0,7,224,252,0,7,224,252,0,7,224,252,0, + 7,224,252,0,7,224,252,0,15,224,126,0,15,192,126,0, + 15,192,127,0,31,192,63,0,31,128,63,192,127,128,31,255, + 255,0,15,255,254,0,7,255,252,0,3,255,248,0,0,255, + 224,0,27,40,160,31,2,0,0,240,240,0,0,240,240,0, + 0,240,240,0,0,240,240,0,0,240,240,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,255,224,0,3,255,248,0,7,255,252,0,15,255,254,0, + 31,255,255,0,63,192,127,128,63,0,31,128,127,0,31,192, + 126,0,15,192,126,0,15,192,252,0,15,224,252,0,7,224, + 252,0,7,224,252,0,7,224,252,0,7,224,252,0,7,224, + 252,0,7,224,252,0,7,224,252,0,7,224,252,0,15,224, + 126,0,15,192,126,0,15,192,127,0,31,192,63,0,31,128, + 63,192,127,128,31,255,255,0,15,255,254,0,7,255,252,0, + 3,255,248,0,0,255,224,0,22,22,66,40,9,1,96,0, + 24,240,0,60,112,0,56,56,0,112,28,0,224,14,1,192, + 7,3,128,3,135,0,1,206,0,0,252,0,0,120,0,0, + 120,0,0,252,0,1,206,0,3,135,0,7,3,128,14,1, + 192,28,0,224,56,0,112,112,0,56,96,0,24,64,0,8, + 29,34,136,31,1,254,0,0,0,16,0,0,0,56,0,127, + 240,120,1,255,252,240,3,255,255,240,7,255,255,224,15,255, + 255,192,31,224,63,192,31,128,15,192,63,128,31,224,63,0, + 63,224,63,0,127,224,126,0,251,240,126,1,243,240,126,1, + 227,240,126,3,195,240,126,7,131,240,126,15,3,240,126,30, + 3,240,126,60,3,240,126,124,3,240,126,248,7,240,63,240, + 7,224,63,224,7,224,63,192,15,224,31,128,15,192,31,224, + 63,192,31,255,255,128,63,255,255,0,127,255,254,0,249,255, + 252,0,240,127,240,0,224,0,0,0,64,0,0,0,24,41, + 123,30,3,0,7,192,0,3,224,0,1,224,0,1,240,0, + 0,240,0,0,120,0,0,56,0,0,28,0,0,0,0,0, + 0,0,0,0,0,248,0,31,248,0,31,248,0,31,248,0, + 31,248,0,31,248,0,31,248,0,31,248,0,31,248,0,31, + 248,0,31,248,0,31,248,0,31,248,0,31,248,0,31,248, + 0,31,248,0,31,248,0,31,248,0,31,248,0,31,252,0, + 31,252,0,31,252,0,63,124,0,63,126,0,126,127,0,254, + 63,255,252,31,255,252,31,255,248,7,255,224,1,255,192,24, + 41,123,30,3,0,0,3,224,0,3,224,0,7,192,0,15, + 128,0,15,0,0,30,0,0,28,0,0,56,0,0,0,0, + 0,0,0,0,0,0,248,0,31,248,0,31,248,0,31,248, + 0,31,248,0,31,248,0,31,248,0,31,248,0,31,248,0, + 31,248,0,31,248,0,31,248,0,31,248,0,31,248,0,31, + 248,0,31,248,0,31,248,0,31,248,0,31,248,0,31,252, + 0,31,252,0,31,252,0,63,124,0,63,126,0,126,127,0, + 254,63,255,252,31,255,252,31,255,248,7,255,224,1,255,192, + 24,41,123,30,3,0,0,126,0,0,255,0,0,255,0,1, + 247,128,1,231,128,3,195,192,3,129,192,7,0,224,0,0, + 0,0,0,0,0,0,0,248,0,31,248,0,31,248,0,31, + 248,0,31,248,0,31,248,0,31,248,0,31,248,0,31,248, + 0,31,248,0,31,248,0,31,248,0,31,248,0,31,248,0, + 31,248,0,31,248,0,31,248,0,31,248,0,31,248,0,31, + 252,0,31,252,0,31,252,0,63,124,0,63,126,0,126,127, + 0,254,63,255,252,31,255,252,31,255,248,7,255,224,1,255, + 192,24,40,120,30,3,0,3,193,224,3,193,224,3,193,224, + 3,193,224,3,193,224,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,252,0,31,252,0,31,252,0,31,252,0, + 31,252,0,31,252,0,31,252,0,31,252,0,31,252,0,31, + 252,0,31,252,0,31,252,0,31,252,0,31,252,0,31,252, + 0,31,252,0,31,252,0,31,252,0,31,252,0,31,252,0, + 31,252,0,31,254,0,63,126,0,63,127,0,126,127,128,254, + 63,255,252,31,255,252,31,255,248,7,255,224,1,255,192,24, + 41,123,25,1,0,0,7,192,0,15,128,0,15,0,0,14, + 0,0,30,0,0,28,0,0,56,0,0,0,0,0,0,0, + 0,0,0,0,0,0,252,0,127,254,0,126,126,0,254,127, + 0,252,63,1,252,63,1,248,31,131,248,31,131,240,15,195, + 240,15,199,224,7,231,224,7,239,192,3,255,192,3,255,128, + 1,255,128,1,255,0,0,255,0,0,254,0,0,126,0,0, + 124,0,0,124,0,0,124,0,0,124,0,0,124,0,0,124, + 0,0,124,0,0,124,0,0,124,0,0,124,0,0,124,0, + 21,30,90,26,2,0,248,0,0,248,0,0,248,0,0,248, + 0,0,248,0,0,255,252,0,255,255,128,255,255,192,255,255, + 224,255,255,240,248,7,240,248,1,248,248,1,248,248,0,248, + 248,0,248,248,1,248,248,1,248,248,7,240,255,255,240,255, + 255,224,255,255,192,255,255,128,255,252,0,248,0,0,248,0, + 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, + 21,30,90,24,2,1,15,252,0,63,255,0,127,255,128,126, + 31,192,252,15,192,252,7,192,248,7,192,248,15,192,248,15, + 128,248,31,128,248,63,0,248,126,0,248,252,0,248,248,0, + 248,248,0,248,252,0,248,254,0,248,127,128,248,63,192,248, + 31,224,248,7,240,248,3,240,248,1,248,248,1,248,251,224, + 248,251,225,248,251,241,248,249,255,240,249,255,224,248,255,192, + 19,32,96,22,2,0,31,0,0,31,0,0,15,128,0,7, + 128,0,3,192,0,1,192,0,1,224,0,0,224,0,0,0, + 0,0,0,0,0,0,0,0,0,0,15,254,0,31,255,0, + 63,255,128,126,15,128,124,15,192,0,7,192,0,127,192,15, + 255,192,63,255,192,127,255,192,127,7,192,252,7,192,252,7, + 192,248,15,192,248,15,192,252,15,192,254,31,192,127,255,192, + 63,247,192,31,227,224,19,32,96,22,2,0,0,31,0,0, + 62,0,0,60,0,0,120,0,0,120,0,0,240,0,0,224, + 0,1,192,0,0,0,0,0,0,0,0,0,0,0,0,0, + 15,254,0,31,255,0,63,255,128,126,15,128,124,15,192,0, + 7,192,0,127,192,15,255,192,63,255,192,127,255,192,127,7, + 192,252,7,192,252,7,192,248,15,192,248,15,192,252,15,192, + 254,31,192,127,255,192,63,247,192,31,227,224,19,32,96,22, + 2,0,3,240,0,3,248,0,7,248,0,7,188,0,15,28, + 0,14,30,0,28,14,0,28,7,0,0,0,0,0,0,0, + 0,0,0,0,0,0,15,254,0,31,255,0,63,255,128,126, + 15,128,124,15,192,0,7,192,0,127,192,15,255,192,63,255, + 192,127,255,192,127,7,192,252,7,192,252,7,192,248,15,192, + 248,15,192,252,15,192,254,31,192,127,255,192,63,247,192,31, + 227,224,19,30,90,22,2,0,7,135,0,15,254,0,15,254, + 0,31,252,0,24,16,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,15,254,0,31,255,0,63,255,128,126, + 15,128,124,15,192,0,7,192,0,127,192,15,255,192,63,255, + 192,127,255,192,127,7,192,252,7,192,252,7,192,248,15,192, + 248,15,192,252,15,192,254,31,192,127,255,192,63,247,192,31, + 227,224,19,31,93,23,2,0,30,30,0,30,30,0,30,30, + 0,30,30,0,30,30,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,15,254,0,31,255,0,63, + 255,128,126,15,128,124,15,192,0,7,192,0,127,192,15,255, + 192,63,255,192,127,255,192,127,7,192,252,7,192,252,7,192, + 248,15,192,248,15,192,252,15,192,254,31,192,127,255,192,63, + 247,192,31,231,224,19,34,102,22,2,0,1,240,0,3,248, + 0,7,28,0,6,12,0,6,12,0,6,12,0,7,28,0, + 3,248,0,1,240,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,15,254,0,31,255,0,63,255,128,126,15, + 128,124,15,192,0,7,192,0,127,192,15,255,192,63,255,192, + 127,255,192,127,7,192,252,7,192,252,7,192,248,15,192,248, + 15,192,252,15,192,254,31,192,127,255,192,63,247,192,31,231, + 224,32,20,80,36,2,1,15,252,31,224,31,254,127,248,63, + 255,127,252,126,15,240,126,124,7,224,62,0,7,224,62,0, + 7,192,31,7,255,255,255,31,255,255,255,63,255,255,255,127, + 255,255,255,252,7,192,0,252,7,224,0,248,7,224,0,248, + 15,224,63,252,15,240,62,254,30,248,126,127,252,127,252,63, + 248,63,248,31,224,31,240,17,30,90,21,2,247,15,252,0, + 31,254,0,63,255,0,126,63,0,124,31,128,124,31,128,252, + 15,128,248,0,0,248,0,0,248,0,0,248,0,0,248,0, + 0,248,0,0,252,15,128,252,31,128,124,31,128,126,63,0, + 63,255,0,31,254,0,15,252,0,1,128,0,1,128,0,1, + 224,0,1,248,0,0,60,0,0,28,0,0,28,0,6,60, + 0,7,248,0,7,224,0,19,32,96,22,2,0,31,0,0, + 31,0,0,15,128,0,7,128,0,3,192,0,1,192,0,0, + 224,0,0,224,0,0,0,0,0,0,0,0,0,0,0,0, + 0,7,252,0,31,255,0,63,255,0,62,31,128,124,15,192, + 124,7,192,252,7,192,255,255,192,255,255,192,255,255,224,255, + 255,224,248,0,0,248,0,0,252,0,0,124,7,192,124,15, + 192,126,31,128,63,255,128,31,255,0,7,252,0,19,32,96, + 22,2,0,0,31,0,0,62,0,0,60,0,0,120,0,0, + 120,0,0,240,0,0,224,0,1,192,0,0,0,0,0,0, + 0,0,0,0,0,0,0,7,252,0,31,255,0,63,255,0, + 62,31,128,124,15,192,124,7,192,252,7,192,255,255,192,255, + 255,192,255,255,224,255,255,224,248,0,0,248,0,0,252,0, + 0,124,7,192,124,15,192,126,31,128,63,255,128,31,255,0, + 7,252,0,19,32,96,22,2,0,3,240,0,3,248,0,7, + 248,0,7,188,0,15,28,0,14,30,0,28,14,0,28,7, + 0,0,0,0,0,0,0,0,0,0,0,0,0,7,252,0, + 31,255,0,63,255,0,62,31,128,124,15,192,124,7,192,252, + 7,192,255,255,192,255,255,192,255,255,224,255,255,224,248,0, + 0,248,0,0,252,0,0,124,7,192,124,15,192,126,31,128, + 63,255,128,31,255,0,7,252,0,19,31,93,22,2,0,30, + 30,0,30,30,0,30,30,0,30,30,0,30,30,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 7,252,0,31,255,0,63,255,0,62,31,128,124,15,192,124, + 15,192,252,15,192,255,255,192,255,255,192,255,255,224,255,255, + 224,248,0,0,248,0,0,252,0,0,124,15,192,124,15,192, + 126,31,128,63,255,128,31,255,0,7,252,0,8,32,32,11, + 0,0,248,120,124,60,30,14,7,7,0,0,0,0,31,31, + 31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31, + 31,31,9,32,64,10,2,0,15,128,31,0,30,0,62,0, + 60,0,120,0,112,0,224,0,0,0,0,0,0,0,0,0, + 124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0, + 124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0, + 124,0,124,0,124,0,124,0,13,32,64,11,255,0,15,192, + 31,192,31,224,61,224,56,240,120,112,112,56,224,56,0,0, + 0,0,0,0,0,0,15,128,15,128,15,128,15,128,15,128, + 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, + 15,128,15,128,15,128,15,128,15,128,15,128,15,128,13,31, + 62,11,255,0,240,120,240,120,240,120,240,120,240,120,0,0, + 0,0,0,0,0,0,0,0,0,0,15,128,15,128,15,128, + 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, + 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, + 15,128,20,31,93,24,2,0,0,0,96,7,193,224,3,247, + 224,1,255,128,0,254,0,0,254,0,3,254,0,15,159,0, + 30,15,128,24,15,128,0,7,192,7,255,192,15,255,224,63, + 255,224,63,15,240,126,3,240,124,3,240,252,1,240,252,1, + 240,252,1,240,248,1,240,248,1,240,252,1,240,252,1,240, + 252,1,240,124,3,240,126,3,224,63,15,224,31,255,192,15, + 255,128,7,254,0,18,30,90,24,3,0,7,134,0,15,254, + 0,15,254,0,31,252,0,24,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,249,255,0,251,255,128,251, + 255,192,255,31,192,254,15,192,252,7,192,252,7,192,252,7, + 192,248,7,192,248,7,192,248,7,192,248,7,192,248,7,192, + 248,7,192,248,7,192,248,7,192,248,7,192,248,7,192,248, + 7,192,248,7,192,20,32,96,24,2,0,15,128,0,7,128, + 0,7,192,0,3,192,0,1,224,0,0,224,0,0,112,0, + 0,112,0,0,0,0,0,0,0,0,0,0,0,0,0,3, + 254,0,15,255,0,31,255,192,63,15,192,126,3,224,124,3, + 240,252,1,240,252,1,240,252,1,240,248,1,240,248,1,240, + 248,1,240,252,1,240,252,1,240,124,3,240,126,3,224,63, + 15,192,31,255,192,15,255,0,3,254,0,20,32,96,24,2, + 0,0,15,128,0,31,0,0,30,0,0,60,0,0,56,0, + 0,120,0,0,112,0,0,224,0,0,0,0,0,0,0,0, + 0,0,0,0,0,3,254,0,15,255,0,31,255,192,63,15, + 192,126,3,224,124,3,240,252,1,240,252,1,240,252,1,240, + 248,1,240,248,1,240,248,1,240,252,1,240,252,1,240,124, + 3,240,126,3,224,63,15,192,31,255,192,15,255,0,3,254, + 0,20,32,96,24,2,0,1,248,0,1,252,0,3,252,0, + 3,222,0,7,158,0,7,15,0,14,7,0,14,3,128,0, + 0,0,0,0,0,0,0,0,0,0,0,3,254,0,15,255, + 0,31,255,192,63,15,192,126,3,224,124,3,240,252,1,240, + 252,1,240,252,1,240,248,1,240,248,1,240,248,1,240,252, + 1,240,252,1,240,124,3,240,126,3,224,63,15,192,31,255, + 192,15,255,0,3,254,0,20,31,93,24,2,0,0,1,128, + 3,195,0,7,255,0,7,255,0,15,254,0,12,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,254, + 0,15,255,0,31,255,192,63,15,192,126,3,224,124,3,240, + 252,1,240,252,1,240,252,1,240,248,1,240,248,1,240,248, + 1,240,252,1,240,252,1,240,124,3,240,126,3,224,63,15, + 192,31,255,192,15,255,0,3,254,0,20,31,93,24,2,0, + 15,7,128,15,7,128,15,7,128,15,7,128,15,7,128,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,3,254,0,15,255,0,31,255,192,63,15,192,126,3,224, + 124,3,240,252,1,240,252,1,240,252,1,240,248,1,240,248, + 1,240,248,1,240,252,1,240,252,1,240,124,3,240,126,3, + 224,63,15,192,31,255,192,15,255,0,3,254,0,24,19,57, + 40,8,2,0,16,0,0,56,0,0,124,0,0,124,0,0, + 124,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255, + 255,255,255,255,0,0,0,0,0,0,0,0,0,0,56,0, + 0,124,0,0,124,0,0,124,0,0,56,0,21,26,78,24, + 1,254,0,0,56,0,0,120,0,0,112,1,255,224,7,255, + 224,15,255,224,31,135,224,63,7,240,62,15,248,126,14,248, + 126,28,248,126,56,248,124,120,248,124,112,248,126,224,248,127, + 192,248,63,193,248,63,129,248,63,3,240,31,135,224,31,255, + 224,31,255,192,57,255,0,120,0,0,240,0,0,96,0,0, + 18,32,96,24,3,0,31,0,0,15,0,0,15,128,0,7, + 128,0,3,192,0,1,192,0,0,224,0,0,224,0,0,0, + 0,0,0,0,0,0,0,0,0,0,248,7,192,248,7,192, + 248,7,192,248,7,192,248,7,192,248,7,192,248,7,192,248, + 7,192,248,7,192,248,7,192,248,7,192,248,7,192,248,7, + 192,252,7,192,252,15,192,252,15,192,254,31,192,127,255,192, + 63,247,192,31,231,192,18,32,96,24,3,0,0,62,0,0, + 60,0,0,124,0,0,120,0,0,240,0,0,224,0,1,224, + 0,1,192,0,0,0,0,0,0,0,0,0,0,0,0,0, + 248,7,192,248,7,192,248,7,192,248,7,192,248,7,192,248, + 7,192,248,7,192,248,7,192,248,7,192,248,7,192,248,7, + 192,248,7,192,248,7,192,252,7,192,252,15,192,252,15,192, + 254,31,192,127,255,192,63,247,192,31,231,192,18,32,96,24, + 3,0,3,240,0,3,248,0,7,248,0,7,188,0,15,60, + 0,14,30,0,30,14,0,28,6,0,0,0,0,0,0,0, + 0,0,0,0,0,0,248,7,192,248,7,192,248,7,192,248, + 7,192,248,7,192,248,7,192,248,7,192,248,7,192,248,7, + 192,248,7,192,248,7,192,248,7,192,248,7,192,252,7,192, + 252,15,192,252,15,192,254,31,192,127,255,192,63,247,192,31, + 231,192,18,31,93,24,3,0,30,30,0,30,30,0,30,30, + 0,30,30,0,30,30,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,248,7,192,248,7,192,248, + 7,192,248,7,192,248,7,192,248,7,192,248,7,192,248,7, + 192,248,7,192,248,7,192,248,7,192,248,7,192,248,7,192, + 252,7,192,252,15,192,252,15,192,254,31,192,127,255,192,63, + 247,192,31,231,192,21,41,123,22,1,248,0,7,192,0,15, + 128,0,15,0,0,30,0,0,30,0,0,60,0,0,56,0, + 0,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,252,1,248,252,3,240,126,3,240,126,3,224,63,7, + 224,63,7,224,63,7,192,31,143,192,31,143,192,15,143,128, + 15,223,128,15,223,128,7,223,0,7,255,0,3,255,0,3, + 254,0,3,254,0,1,252,0,1,252,0,0,252,0,0,248, + 0,1,248,0,33,248,0,115,240,0,255,240,0,255,224,0, + 127,192,0,31,128,0,20,38,114,25,3,248,248,0,0,248, + 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, + 0,248,0,0,248,0,0,248,0,0,249,254,0,251,255,128, + 251,255,192,255,15,192,254,7,224,252,3,224,252,3,240,252, + 3,240,252,3,240,248,1,240,248,1,240,252,3,240,252,3, + 240,252,3,240,252,3,224,254,7,224,255,15,192,255,255,192, + 251,255,128,249,254,0,248,0,0,248,0,0,248,0,0,248, + 0,0,248,0,0,248,0,0,248,0,0,248,0,0,21,39, + 117,21,0,248,15,7,128,15,7,128,15,7,128,15,7,128, + 15,7,128,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,252,1,248,252,1,248,126,1,240,126,3, + 240,63,3,224,63,3,224,63,7,224,31,135,192,31,143,192, + 15,207,192,15,207,128,15,223,128,7,255,128,7,255,0,3, + 255,0,3,255,0,3,254,0,1,254,0,1,252,0,0,252, + 0,0,252,0,1,248,0,1,248,0,1,248,0,3,240,0, + 3,240,0,7,240,0,7,224,0}; +/* + Fontname: -FreeType-FreeUniversal-Bold-R-Normal--40-400-72-72-P-198-ISO10646-1 + Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. + Capital A Height: 0, '1' Height: 30 + Calculated Max Values w=24 h=32 x= 8 y=14 dx=40 dy= 0 ascent=31 len=90 + Font Bounding box w=59 h=54 x=-3 y=-11 + Calculated Min Values x= 0 y=-5 dx= 0 dy= 0 + Pure Font ascent =30 descent= 0 + X Font ascent =30 descent= 0 + Max Font ascent =31 descent=-5 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_fub30n[1205] U8G_FONT_SECTION("u8g_font_fub30n") = { + 0,59,54,253,245,30,0,0,0,0,42,58,0,31,251,30, + 0,16,16,32,26,5,14,4,32,28,56,30,120,30,120,15, + 240,7,224,227,199,255,255,255,255,243,207,7,224,15,240,30, + 120,30,120,28,56,4,32,24,25,75,40,8,0,0,56,0, + 0,56,0,0,56,0,0,56,0,0,56,0,0,56,0,0, + 56,0,0,56,0,0,56,0,0,56,0,0,56,0,255,255, + 255,255,255,255,255,255,255,0,56,0,0,56,0,0,56,0, + 0,56,0,0,56,0,0,56,0,0,56,0,0,56,0,0, + 56,0,0,56,0,0,56,0,8,10,10,12,2,251,31,31, + 62,62,60,124,120,120,240,240,10,5,10,14,2,8,255,192, + 255,192,255,192,255,192,255,192,5,5,5,12,4,0,248,248, + 248,248,248,13,32,64,17,2,254,0,120,0,120,0,120,0, + 240,0,240,0,240,1,224,1,224,1,224,3,192,3,192,3, + 192,3,192,7,128,7,128,7,128,15,0,15,0,15,0,14, + 0,30,0,30,0,30,0,60,0,60,0,60,0,120,0,120, + 0,120,0,120,0,240,0,240,0,20,30,90,23,1,1,3, + 252,0,15,255,0,31,255,128,63,15,128,62,7,192,124,3, + 192,124,3,224,124,3,224,124,3,224,248,1,240,248,1,240, + 248,1,240,248,1,240,248,1,240,248,1,240,248,1,240,248, + 1,240,248,1,240,248,1,240,248,1,240,248,1,240,124,3, + 224,124,3,224,124,3,224,124,3,224,62,7,192,63,15,128, + 31,255,128,15,255,0,3,252,0,12,30,60,23,4,0,1, + 240,3,240,15,240,63,240,255,240,255,240,253,240,249,240,225, + 240,129,240,1,240,1,240,1,240,1,240,1,240,1,240,1, + 240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1, + 240,1,240,1,240,1,240,1,240,1,240,20,30,90,23,1, + 1,3,255,0,7,255,128,31,255,192,31,255,224,63,255,240, + 63,3,240,126,1,240,126,1,240,124,1,240,0,1,240,0, + 3,240,0,3,240,0,7,224,0,15,224,0,15,192,0,31, + 128,0,63,0,0,254,0,1,252,0,3,248,0,7,240,0, + 15,224,0,63,128,0,127,0,0,252,0,0,255,255,240,255, + 255,240,255,255,240,255,255,240,255,255,240,19,30,90,23,2, + 1,7,252,0,31,255,0,63,255,128,127,255,128,127,255,192, + 252,15,192,252,7,192,248,7,192,0,7,192,0,7,192,0, + 15,192,0,63,192,3,255,128,3,254,0,3,252,0,3,255, + 0,3,255,128,0,31,192,0,7,224,0,7,224,0,7,224, + 0,3,224,248,7,224,252,7,224,252,7,192,126,15,192,127, + 255,128,63,255,128,31,255,0,15,252,0,21,30,90,23,1, + 0,0,63,128,0,63,128,0,127,128,0,255,128,0,255,128, + 1,255,128,1,255,128,3,239,128,3,207,128,7,207,128,15, + 143,128,15,143,128,31,15,128,31,15,128,62,15,128,62,15, + 128,124,15,128,252,15,128,248,15,128,255,255,248,255,255,248, + 255,255,248,255,255,248,255,255,248,0,15,128,0,15,128,0, + 15,128,0,15,128,0,15,128,0,15,128,19,30,90,23,2, + 0,127,255,192,127,255,192,127,255,192,127,255,192,127,255,192, + 124,0,0,124,0,0,124,0,0,124,0,0,124,0,0,124, + 0,0,124,252,0,125,255,0,127,255,128,127,255,192,127,15, + 224,126,7,224,124,3,224,0,3,224,0,3,224,0,3,224, + 0,3,224,0,3,224,248,7,224,252,7,224,252,15,192,127, + 255,128,127,255,128,63,254,0,15,252,0,20,30,90,23,1, + 1,3,254,0,7,255,0,15,255,128,31,255,192,63,255,192, + 63,7,224,126,3,224,126,3,224,124,0,0,124,0,0,252, + 0,0,248,0,0,249,255,0,251,255,128,255,255,192,255,15, + 224,254,7,224,254,3,240,252,3,240,252,3,240,252,1,240, + 252,1,240,124,3,240,124,3,240,126,3,224,63,7,224,63, + 255,192,31,255,128,15,255,0,3,254,0,19,30,90,23,2, + 0,255,255,224,255,255,224,255,255,224,255,255,224,255,255,224, + 0,7,224,0,7,224,0,7,192,0,15,192,0,15,192,0, + 31,128,0,31,128,0,63,0,0,63,0,0,63,0,0,126, + 0,0,126,0,0,252,0,0,252,0,1,252,0,1,248,0, + 1,248,0,3,240,0,3,240,0,7,240,0,7,224,0,15, + 224,0,15,192,0,15,192,0,31,192,0,20,30,90,23,1, + 1,7,254,0,31,255,128,63,255,192,127,255,224,127,255,224, + 126,7,224,124,3,224,124,3,224,124,3,224,124,3,224,126, + 7,224,127,15,192,63,255,128,15,255,0,7,252,0,31,255, + 0,63,255,192,127,15,224,124,7,224,252,3,240,252,3,240, + 248,1,240,248,3,240,252,3,240,252,3,240,254,7,240,127, + 255,224,63,255,192,31,255,128,15,255,0,20,30,90,23,1, + 1,3,252,0,15,255,0,31,255,128,63,255,192,127,255,192, + 126,7,224,252,7,224,252,3,224,252,3,240,248,3,240,248, + 3,240,252,3,240,252,7,240,124,7,240,127,15,240,63,255, + 240,63,253,240,31,249,240,7,225,240,0,3,240,0,3,224, + 0,3,224,0,3,224,124,7,224,124,7,192,126,15,192,63, + 255,128,31,255,0,15,254,0,7,252,0,5,20,20,12,5, + 0,248,248,248,248,248,0,0,0,0,0,0,0,0,0,0, + 248,248,248,248,248}; +/* + Fontname: -FreeType-FreeUniversal-Bold-R-Normal--40-400-72-72-P-198-ISO10646-1 + Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. + Capital A Height: 30, '1' Height: 30 + Calculated Max Values w=38 h=43 x=10 y=25 dx=42 dy= 0 ascent=33 len=195 + Font Bounding box w=59 h=54 x=-3 y=-11 + Calculated Min Values x=-1 y=-11 dx= 0 dy= 0 + Pure Font ascent =30 descent=-7 + X Font ascent =31 descent=-8 + Max Font ascent =33 descent=-11 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_fub30r[7686] U8G_FONT_SECTION("u8g_font_fub30r") = { + 0,59,54,253,245,30,9,163,21,182,32,127,249,33,245,31, + 248,0,0,0,12,0,0,5,30,30,16,5,0,248,248,248, + 248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248, + 248,248,248,0,0,0,248,248,248,248,248,15,12,24,21,3, + 18,252,126,252,126,252,126,252,126,248,126,248,126,248,60,248, + 60,120,60,120,60,120,60,120,60,25,30,120,29,2,0,0, + 60,30,0,0,60,30,0,0,120,60,0,0,120,60,0,0, + 120,60,0,0,120,120,0,0,240,120,0,0,240,120,0,15, + 255,255,128,31,255,255,0,31,255,255,0,31,255,255,0,1, + 224,224,0,3,193,224,0,3,193,224,0,3,193,224,0,7, + 131,192,0,7,131,192,0,127,255,252,0,255,255,248,0,255, + 255,248,0,255,255,248,0,15,7,128,0,30,15,0,0,30, + 15,0,0,30,15,0,0,62,30,0,0,60,30,0,0,60, + 30,0,0,60,30,0,0,21,37,111,23,1,252,0,96,0, + 0,96,0,0,96,0,3,254,0,15,255,128,31,255,192,63, + 255,224,127,111,224,126,99,240,124,99,240,124,97,240,124,96, + 0,124,96,0,126,96,0,127,224,0,127,240,0,63,254,0, + 31,255,128,7,255,224,0,255,240,0,127,240,0,103,248,0, + 97,248,248,97,248,248,96,248,252,97,248,252,97,248,126,99, + 240,127,255,240,63,255,224,31,255,192,15,255,128,3,254,0, + 0,96,0,0,96,0,0,96,0,0,96,0,37,30,150,41, + 2,0,7,224,0,120,0,31,248,0,240,0,63,252,0,240, + 0,124,62,1,224,0,120,30,3,224,0,240,15,3,192,0, + 240,15,7,192,0,240,15,7,128,0,240,15,15,0,0,240, + 15,15,0,0,240,15,30,0,0,240,15,30,0,0,120,30, + 60,0,0,124,62,124,0,0,63,252,120,63,0,31,248,248, + 255,192,7,224,241,255,224,0,1,227,225,240,0,1,227,192, + 240,0,3,199,128,120,0,3,199,128,120,0,7,135,128,120, + 0,7,135,128,120,0,15,7,128,120,0,31,7,128,120,0, + 30,3,192,240,0,62,3,192,240,0,60,1,243,224,0,120, + 1,255,192,0,120,0,127,128,28,30,120,31,2,1,3,255, + 0,0,15,255,128,0,31,255,192,0,63,143,224,0,63,7, + 224,0,62,3,224,0,63,7,224,0,63,7,224,0,31,15, + 192,0,31,159,192,0,15,255,128,0,15,255,0,0,7,252, + 0,0,15,248,0,0,31,248,15,128,63,252,15,128,63,126, + 15,128,126,127,15,128,126,63,143,128,252,31,207,128,252,15, + 255,0,248,7,255,0,248,3,255,0,252,1,254,0,252,0, + 254,0,126,0,254,0,127,131,255,0,63,255,255,128,31,255, + 255,224,7,255,135,240,6,12,12,16,5,18,252,252,252,124, + 124,124,124,124,120,120,120,120,9,36,72,16,4,251,15,128, + 31,0,31,0,31,0,62,0,62,0,62,0,126,0,124,0, + 124,0,124,0,124,0,252,0,252,0,252,0,252,0,248,0, + 248,0,248,0,248,0,248,0,252,0,252,0,252,0,124,0, + 124,0,124,0,124,0,126,0,62,0,62,0,62,0,31,0, + 31,0,31,0,15,128,8,36,36,16,4,251,240,248,120,124, + 124,124,62,62,62,63,63,31,31,31,31,31,31,31,31,31, + 31,31,31,31,63,63,63,62,62,62,124,124,124,248,248,240, + 16,16,32,26,5,14,4,32,28,56,30,120,30,120,15,240, + 7,224,227,199,255,255,255,255,243,207,7,224,15,240,30,120, + 30,120,28,56,4,32,24,25,75,40,8,0,0,56,0,0, + 56,0,0,56,0,0,56,0,0,56,0,0,56,0,0,56, + 0,0,56,0,0,56,0,0,56,0,0,56,0,255,255,255, + 255,255,255,255,255,255,0,56,0,0,56,0,0,56,0,0, + 56,0,0,56,0,0,56,0,0,56,0,0,56,0,0,56, + 0,0,56,0,0,56,0,8,10,10,12,2,251,31,31,62, + 62,60,124,120,120,240,240,10,5,10,14,2,8,255,192,255, + 192,255,192,255,192,255,192,5,5,5,12,4,0,248,248,248, + 248,248,13,32,64,17,2,254,0,120,0,120,0,120,0,240, + 0,240,0,240,1,224,1,224,1,224,3,192,3,192,3,192, + 3,192,7,128,7,128,7,128,15,0,15,0,15,0,14,0, + 30,0,30,0,30,0,60,0,60,0,60,0,120,0,120,0, + 120,0,120,0,240,0,240,0,20,30,90,23,1,1,3,252, + 0,15,255,0,31,255,128,63,15,128,62,7,192,124,3,192, + 124,3,224,124,3,224,124,3,224,248,1,240,248,1,240,248, + 1,240,248,1,240,248,1,240,248,1,240,248,1,240,248,1, + 240,248,1,240,248,1,240,248,1,240,248,1,240,124,3,224, + 124,3,224,124,3,224,124,3,224,62,7,192,63,15,128,31, + 255,128,15,255,0,3,252,0,12,30,60,23,4,0,1,240, + 3,240,15,240,63,240,255,240,255,240,253,240,249,240,225,240, + 129,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240, + 1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240, + 1,240,1,240,1,240,1,240,1,240,20,30,90,23,1,1, + 3,255,0,7,255,128,31,255,192,31,255,224,63,255,240,63, + 3,240,126,1,240,126,1,240,124,1,240,0,1,240,0,3, + 240,0,3,240,0,7,224,0,15,224,0,15,192,0,31,128, + 0,63,0,0,254,0,1,252,0,3,248,0,7,240,0,15, + 224,0,63,128,0,127,0,0,252,0,0,255,255,240,255,255, + 240,255,255,240,255,255,240,255,255,240,19,30,90,23,2,1, + 7,252,0,31,255,0,63,255,128,127,255,128,127,255,192,252, + 15,192,252,7,192,248,7,192,0,7,192,0,7,192,0,15, + 192,0,63,192,3,255,128,3,254,0,3,252,0,3,255,0, + 3,255,128,0,31,192,0,7,224,0,7,224,0,7,224,0, + 3,224,248,7,224,252,7,224,252,7,192,126,15,192,127,255, + 128,63,255,128,31,255,0,15,252,0,21,30,90,23,1,0, + 0,63,128,0,63,128,0,127,128,0,255,128,0,255,128,1, + 255,128,1,255,128,3,239,128,3,207,128,7,207,128,15,143, + 128,15,143,128,31,15,128,31,15,128,62,15,128,62,15,128, + 124,15,128,252,15,128,248,15,128,255,255,248,255,255,248,255, + 255,248,255,255,248,255,255,248,0,15,128,0,15,128,0,15, + 128,0,15,128,0,15,128,0,15,128,19,30,90,23,2,0, + 127,255,192,127,255,192,127,255,192,127,255,192,127,255,192,124, + 0,0,124,0,0,124,0,0,124,0,0,124,0,0,124,0, + 0,124,252,0,125,255,0,127,255,128,127,255,192,127,15,224, + 126,7,224,124,3,224,0,3,224,0,3,224,0,3,224,0, + 3,224,0,3,224,248,7,224,252,7,224,252,15,192,127,255, + 128,127,255,128,63,254,0,15,252,0,20,30,90,23,1,1, + 3,254,0,7,255,0,15,255,128,31,255,192,63,255,192,63, + 7,224,126,3,224,126,3,224,124,0,0,124,0,0,252,0, + 0,248,0,0,249,255,0,251,255,128,255,255,192,255,15,224, + 254,7,224,254,3,240,252,3,240,252,3,240,252,1,240,252, + 1,240,124,3,240,124,3,240,126,3,224,63,7,224,63,255, + 192,31,255,128,15,255,0,3,254,0,19,30,90,23,2,0, + 255,255,224,255,255,224,255,255,224,255,255,224,255,255,224,0, + 7,224,0,7,224,0,7,192,0,15,192,0,15,192,0,31, + 128,0,31,128,0,63,0,0,63,0,0,63,0,0,126,0, + 0,126,0,0,252,0,0,252,0,1,252,0,1,248,0,1, + 248,0,3,240,0,3,240,0,7,240,0,7,224,0,15,224, + 0,15,192,0,15,192,0,31,192,0,20,30,90,23,1,1, + 7,254,0,31,255,128,63,255,192,127,255,224,127,255,224,126, + 7,224,124,3,224,124,3,224,124,3,224,124,3,224,126,7, + 224,127,15,192,63,255,128,15,255,0,7,252,0,31,255,0, + 63,255,192,127,15,224,124,7,224,252,3,240,252,3,240,248, + 1,240,248,3,240,252,3,240,252,3,240,254,7,240,127,255, + 224,63,255,192,31,255,128,15,255,0,20,30,90,23,1,1, + 3,252,0,15,255,0,31,255,128,63,255,192,127,255,192,126, + 7,224,252,7,224,252,3,224,252,3,240,248,3,240,248,3, + 240,252,3,240,252,7,240,124,7,240,127,15,240,63,255,240, + 63,253,240,31,249,240,7,225,240,0,3,240,0,3,224,0, + 3,224,0,3,224,124,7,224,124,7,192,126,15,192,63,255, + 128,31,255,0,15,254,0,7,252,0,5,20,20,12,5,0, + 248,248,248,248,248,0,0,0,0,0,0,0,0,0,0,248, + 248,248,248,248,9,25,50,13,2,251,31,0,31,0,31,0, + 31,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,31,128,31,0,63,0,62,0, + 62,0,124,0,124,0,120,0,248,0,240,0,24,21,63,40, + 8,2,0,0,1,0,0,15,0,0,63,0,1,252,0,7, + 224,0,63,0,0,252,0,7,224,0,63,0,0,252,0,0, + 224,0,0,248,0,0,126,0,0,15,192,0,3,240,0,0, + 126,0,0,31,192,0,3,240,0,0,126,0,0,31,0,0, + 3,24,10,30,40,8,7,255,255,255,255,255,255,255,255,255, + 0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255, + 255,255,255,255,255,24,21,63,40,8,2,128,0,0,240,0, + 0,252,0,0,63,128,0,7,224,0,0,252,0,0,63,0, + 0,7,224,0,0,252,0,0,63,0,0,7,0,0,31,0, + 0,126,0,3,240,0,15,192,0,126,0,3,248,0,15,192, + 0,126,0,0,248,0,0,192,0,0,18,30,90,22,1,1, + 7,252,0,31,254,0,63,255,128,127,255,128,252,15,192,120, + 7,192,56,7,192,0,7,192,0,7,192,0,15,192,0,15, + 128,0,31,128,0,63,0,0,126,0,0,248,0,1,240,0, + 3,224,0,3,192,0,3,192,0,3,192,0,3,192,0,3, + 192,0,0,0,0,0,0,0,0,0,0,3,224,0,3,224, + 0,3,224,0,3,224,0,3,224,0,38,39,195,42,2,248, + 0,3,255,224,0,0,31,255,248,0,0,127,255,254,0,0, + 255,255,255,0,3,255,255,255,128,7,254,0,127,192,7,248, + 0,31,224,15,224,0,15,240,31,192,0,7,240,63,128,0, + 3,248,63,1,241,241,248,63,7,253,241,252,126,15,255,240, + 252,126,31,255,240,252,124,31,135,240,252,252,63,3,240,124, + 252,63,3,240,124,252,62,1,240,124,252,62,1,240,124,248, + 62,1,240,124,248,62,1,240,124,248,62,1,240,124,252,62, + 1,240,124,252,63,3,240,252,124,63,3,248,248,124,31,135, + 249,248,126,31,255,255,240,63,15,254,255,224,63,7,252,127, + 192,31,129,248,31,0,31,192,0,0,0,15,224,0,0,0, + 7,248,0,0,0,3,254,0,56,0,1,255,255,248,0,0, + 255,255,248,0,0,63,255,248,0,0,15,255,248,0,0,1, + 255,224,0,27,30,120,28,1,0,0,63,0,0,0,63,128, + 0,0,127,128,0,0,127,128,0,0,127,192,0,0,255,192, + 0,0,255,224,0,0,255,224,0,1,251,224,0,1,243,240, + 0,3,243,240,0,3,241,240,0,3,225,248,0,7,225,248, + 0,7,224,248,0,7,192,252,0,15,192,252,0,15,192,126, + 0,15,128,126,0,31,255,254,0,31,255,255,0,63,255,255, + 0,63,255,255,0,63,255,255,128,126,0,31,128,126,0,31, + 128,126,0,15,192,252,0,15,192,252,0,7,192,248,0,7, + 224,22,30,90,27,3,0,255,254,0,255,255,128,255,255,224, + 255,255,224,255,255,240,248,7,240,248,3,240,248,1,240,248, + 1,240,248,1,240,248,3,240,248,7,224,255,255,192,255,255, + 128,255,254,0,255,255,192,255,255,240,248,3,248,248,1,248, + 248,0,252,248,0,252,248,0,252,248,0,252,248,1,252,248, + 3,252,255,255,248,255,255,240,255,255,224,255,255,192,255,255, + 0,24,30,90,29,2,1,1,255,192,3,255,240,15,255,248, + 15,255,252,31,255,254,63,128,254,62,0,127,126,0,63,124, + 0,63,124,0,63,252,0,0,252,0,0,252,0,0,248,0, + 0,248,0,0,248,0,0,248,0,0,248,0,0,252,0,0, + 252,0,0,124,0,63,124,0,63,126,0,127,62,0,127,63, + 128,254,31,255,254,31,255,252,15,255,248,7,255,224,1,255, + 192,24,30,90,29,3,0,255,248,0,255,255,0,255,255,192, + 255,255,224,255,255,240,248,15,248,248,1,252,248,0,252,248, + 0,126,248,0,126,248,0,62,248,0,63,248,0,63,248,0, + 63,248,0,31,248,0,31,248,0,63,248,0,63,248,0,63, + 248,0,63,248,0,126,248,0,126,248,0,252,248,1,252,248, + 15,248,255,255,240,255,255,224,255,255,192,255,255,0,255,248, + 0,20,30,90,25,3,0,255,255,224,255,255,224,255,255,224, + 255,255,224,255,255,224,248,0,0,248,0,0,248,0,0,248, + 0,0,248,0,0,248,0,0,248,0,0,248,0,0,255,255, + 224,255,255,224,255,255,224,255,255,224,248,0,0,248,0,0, + 248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248, + 0,0,255,255,240,255,255,240,255,255,240,255,255,240,255,255, + 240,19,30,90,24,3,0,255,255,224,255,255,224,255,255,224, + 255,255,224,255,255,224,248,0,0,248,0,0,248,0,0,248, + 0,0,248,0,0,248,0,0,248,0,0,255,255,192,255,255, + 192,255,255,192,255,255,192,255,255,192,248,0,0,248,0,0, + 248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248, + 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, + 0,26,30,120,30,2,1,0,127,240,0,1,255,252,0,3, + 255,254,0,15,255,255,0,15,255,255,128,31,192,63,128,63, + 128,15,192,63,0,15,192,126,0,15,192,126,0,7,192,124, + 0,0,0,252,0,0,0,252,0,0,0,252,0,0,0,248, + 1,255,192,248,1,255,192,248,1,255,192,252,1,255,192,252, + 1,255,192,252,0,7,192,124,0,7,192,126,0,7,192,127, + 0,7,192,63,128,7,192,63,224,7,192,31,255,255,192,15, + 255,255,192,7,255,255,192,1,255,255,192,0,127,254,0,23, + 30,90,29,3,0,248,0,62,248,0,62,248,0,62,248,0, + 62,248,0,62,248,0,62,248,0,62,248,0,62,248,0,62, + 248,0,62,248,0,62,248,0,62,255,255,254,255,255,254,255, + 255,254,255,255,254,255,255,254,248,0,62,248,0,62,248,0, + 62,248,0,62,248,0,62,248,0,62,248,0,62,248,0,62, + 248,0,62,248,0,62,248,0,62,248,0,62,248,0,62,5, + 30,30,11,3,0,248,248,248,248,248,248,248,248,248,248,248, + 248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248, + 248,248,248,20,30,90,25,2,0,0,1,240,0,1,240,0, + 1,240,0,1,240,0,1,240,0,1,240,0,1,240,0,1, + 240,0,1,240,0,1,240,0,1,240,0,1,240,0,1,240, + 0,1,240,0,1,240,0,1,240,0,1,240,0,1,240,0, + 1,240,0,1,240,248,1,240,248,3,240,252,3,240,252,3, + 240,254,7,224,127,255,224,127,255,192,63,255,128,31,255,0, + 15,254,0,23,30,90,27,3,0,248,1,248,248,3,248,248, + 7,240,248,15,224,248,15,192,248,31,192,248,63,128,248,127, + 0,248,126,0,248,254,0,249,252,0,251,248,0,251,240,0, + 255,240,0,255,240,0,251,248,0,249,252,0,249,254,0,248, + 254,0,248,127,0,248,127,128,248,63,128,248,31,192,248,31, + 224,248,15,224,248,7,240,248,7,248,248,3,248,248,1,252, + 248,0,254,19,30,90,23,3,0,248,0,0,248,0,0,248, + 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, + 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, + 248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248, + 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, + 0,248,0,0,255,255,224,255,255,224,255,255,224,255,255,224, + 255,255,224,31,30,120,37,3,0,255,192,3,254,255,192,3, + 254,255,192,7,254,255,192,7,254,255,224,7,254,251,224,15, + 254,251,224,15,254,251,240,15,190,251,240,15,190,249,240,31, + 190,249,240,31,62,249,248,31,62,248,248,63,62,248,248,63, + 62,248,252,62,62,248,124,126,62,248,124,126,62,248,126,124, + 62,248,126,124,62,248,62,252,62,248,62,248,62,248,63,248, + 62,248,31,248,62,248,31,248,62,248,31,240,62,248,31,240, + 62,248,15,240,62,248,15,224,62,248,15,224,62,248,7,224, + 62,25,30,120,31,3,0,255,128,15,128,255,128,15,128,255, + 128,15,128,255,192,15,128,255,192,15,128,255,224,15,128,251, + 224,15,128,251,240,15,128,249,240,15,128,249,248,15,128,248, + 248,15,128,248,252,15,128,248,252,15,128,248,126,15,128,248, + 126,15,128,248,63,15,128,248,63,15,128,248,31,143,128,248, + 31,143,128,248,15,143,128,248,15,207,128,248,7,207,128,248, + 7,239,128,248,3,239,128,248,3,255,128,248,1,255,128,248, + 1,255,128,248,0,255,128,248,0,255,128,248,0,127,128,27, + 30,120,31,2,1,0,255,224,0,3,255,248,0,7,255,252, + 0,15,255,254,0,31,255,255,0,63,192,127,128,63,0,31, + 128,127,0,31,192,126,0,15,192,126,0,15,192,252,0,15, + 224,252,0,7,224,252,0,7,224,252,0,7,224,252,0,7, + 224,252,0,7,224,252,0,7,224,252,0,7,224,252,0,7, + 224,252,0,15,224,126,0,15,192,126,0,15,192,127,0,31, + 192,63,0,31,128,63,192,127,128,31,255,255,0,15,255,254, + 0,7,255,252,0,3,255,248,0,0,255,224,0,21,30,90, + 26,3,0,255,252,0,255,255,128,255,255,192,255,255,224,255, + 255,240,248,7,240,248,3,248,248,1,248,248,1,248,248,0, + 248,248,1,248,248,1,248,248,1,248,248,7,240,255,255,240, + 255,255,224,255,255,192,255,255,128,255,252,0,248,0,0,248, + 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, + 0,248,0,0,248,0,0,248,0,0,248,0,0,30,30,120, + 33,2,1,0,255,224,0,3,255,248,0,7,255,252,0,15, + 255,254,0,31,255,255,0,63,192,127,128,63,0,31,128,127, + 0,31,192,126,0,15,192,126,0,15,192,252,0,15,224,252, + 0,7,224,252,0,7,224,252,0,7,224,252,0,7,224,252, + 0,7,224,252,0,7,224,252,0,7,224,252,0,7,224,252, + 0,15,192,126,0,15,192,126,0,15,192,127,0,31,128,63, + 0,31,128,63,192,127,0,31,255,254,252,15,255,255,252,7, + 255,255,252,3,255,255,252,0,255,255,252,23,30,90,27,3, + 0,255,255,0,255,255,224,255,255,240,255,255,248,255,255,248, + 248,3,252,248,1,252,248,0,252,248,0,124,248,0,124,248, + 0,252,248,1,248,248,7,240,255,255,224,255,255,192,255,255, + 128,255,255,224,255,255,240,248,3,248,248,1,248,248,1,248, + 248,0,248,248,0,248,248,0,248,248,0,252,248,0,252,248, + 0,252,248,0,252,248,0,124,248,0,126,23,30,90,27,2, + 1,1,255,128,7,255,224,15,255,240,31,255,240,63,255,248, + 63,1,248,126,0,252,126,0,252,124,0,124,126,0,0,126, + 0,0,63,128,0,63,240,0,31,254,0,15,255,192,3,255, + 240,0,127,248,0,7,252,0,1,252,0,0,126,248,0,126, + 248,0,62,252,0,126,252,0,126,126,0,252,127,255,252,63, + 255,248,31,255,240,15,255,224,3,255,128,23,30,90,25,1, + 0,255,255,254,255,255,254,255,255,254,255,255,254,255,255,254, + 0,124,0,0,124,0,0,124,0,0,124,0,0,124,0,0, + 124,0,0,124,0,0,124,0,0,124,0,0,124,0,0,124, + 0,0,124,0,0,124,0,0,124,0,0,124,0,0,124,0, + 0,124,0,0,124,0,0,124,0,0,124,0,0,124,0,0, + 124,0,0,124,0,0,124,0,0,124,0,24,30,90,30,3, + 0,248,0,31,248,0,31,248,0,31,248,0,31,248,0,31, + 248,0,31,248,0,31,248,0,31,248,0,31,248,0,31,248, + 0,31,248,0,31,248,0,31,248,0,31,248,0,31,248,0, + 31,248,0,31,248,0,31,248,0,31,252,0,31,252,0,31, + 252,0,63,124,0,63,126,0,126,127,0,254,63,255,252,31, + 255,252,31,255,248,7,255,224,1,255,192,28,30,120,30,1, + 0,252,0,3,240,252,0,7,240,254,0,7,224,126,0,7, + 224,126,0,15,192,127,0,15,192,63,0,31,192,63,0,31, + 128,63,128,31,128,31,128,63,128,31,128,63,0,31,192,63, + 0,15,192,127,0,15,192,126,0,7,224,126,0,7,224,252, + 0,7,224,252,0,3,240,252,0,3,241,248,0,3,249,248, + 0,1,249,248,0,1,251,240,0,1,255,240,0,0,255,240, + 0,0,255,224,0,0,255,224,0,0,127,192,0,0,127,192, + 0,0,127,192,0,0,63,128,0,38,30,150,40,1,0,252, + 0,252,0,252,252,1,254,0,252,252,1,254,0,252,252,1, + 254,1,252,254,1,254,1,252,126,3,255,1,248,126,3,255, + 1,248,126,3,255,1,248,126,3,255,1,248,63,7,255,131, + 240,63,7,207,131,240,63,7,207,131,240,63,7,207,131,240, + 31,15,207,195,224,31,143,135,199,224,31,143,135,199,224,31, + 143,135,199,224,15,159,135,231,192,15,159,3,231,192,15,223, + 3,239,192,15,223,3,239,192,7,255,3,255,128,7,254,1, + 255,128,7,254,1,255,128,7,254,1,255,128,3,254,1,255, + 0,3,252,0,255,0,3,252,0,255,0,3,252,0,255,0, + 3,252,0,255,0,26,30,120,28,1,0,126,0,31,128,127, + 0,63,128,63,128,63,0,63,128,126,0,31,192,126,0,15, + 192,252,0,15,225,248,0,7,241,248,0,3,243,240,0,3, + 251,224,0,1,255,224,0,0,255,192,0,0,255,128,0,0, + 127,128,0,0,127,0,0,0,127,128,0,0,255,128,0,1, + 255,192,0,1,255,224,0,3,247,224,0,3,227,240,0,7, + 227,248,0,15,193,248,0,15,129,252,0,31,128,254,0,63, + 0,126,0,63,0,127,0,126,0,63,128,252,0,31,128,252, + 0,31,192,24,30,90,25,1,0,252,0,127,254,0,126,126, + 0,254,127,0,252,63,1,252,63,1,248,31,131,248,31,131, + 240,15,195,240,15,199,224,7,231,224,7,239,192,3,255,192, + 3,255,128,1,255,128,1,255,0,0,255,0,0,254,0,0, + 126,0,0,124,0,0,124,0,0,124,0,0,124,0,0,124, + 0,0,124,0,0,124,0,0,124,0,0,124,0,0,124,0, + 0,124,0,22,30,90,26,2,0,127,255,252,127,255,252,127, + 255,252,127,255,252,127,255,252,0,1,252,0,3,248,0,7, + 240,0,15,240,0,31,224,0,31,192,0,63,128,0,127,128, + 0,255,0,0,254,0,1,252,0,3,252,0,7,248,0,7, + 240,0,15,224,0,31,224,0,63,192,0,63,128,0,127,0, + 0,255,0,0,255,255,252,255,255,252,255,255,252,255,255,252, + 255,255,252,9,38,76,15,3,248,255,128,255,128,255,128,255, + 128,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, + 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, + 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, + 0,248,0,248,0,248,0,248,0,248,0,248,0,255,128,255, + 128,255,128,255,128,13,32,64,17,2,254,240,0,240,0,120, + 0,120,0,120,0,120,0,60,0,60,0,60,0,30,0,30, + 0,30,0,14,0,15,0,15,0,15,0,7,128,7,128,7, + 128,3,192,3,192,3,192,3,192,1,224,1,224,1,224,0, + 240,0,240,0,240,0,112,0,120,0,120,9,38,76,15,3, + 248,255,128,255,128,255,128,255,128,15,128,15,128,15,128,15, + 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, + 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, + 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, + 128,15,128,15,128,255,128,255,128,255,128,255,128,20,25,75, + 40,10,0,0,96,0,0,240,0,0,240,0,0,240,0,1, + 248,0,1,152,0,3,156,0,3,12,0,3,12,0,7,14, + 0,6,6,0,6,6,0,14,7,0,12,3,0,28,3,128, + 28,1,128,24,1,128,56,1,192,48,0,192,48,0,192,112, + 0,224,96,0,96,224,0,112,224,0,112,192,0,48,20,4, + 12,20,0,250,255,255,240,255,255,240,255,255,240,255,255,240, + 9,8,16,10,255,25,248,0,124,0,60,0,62,0,30,0, + 15,0,7,0,3,128,19,20,60,22,2,1,15,254,0,31, + 255,0,63,255,128,126,15,128,124,15,192,0,7,192,0,127, + 192,15,255,192,63,255,192,127,255,192,127,7,192,252,7,192, + 252,7,192,248,15,192,248,15,192,252,15,192,254,31,192,127, + 255,192,63,247,192,31,227,224,20,30,90,25,3,0,248,0, + 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, + 248,0,0,248,0,0,248,0,0,248,0,0,249,254,0,251, + 255,128,255,255,192,255,15,192,254,7,224,252,3,224,252,3, + 240,252,3,240,252,3,240,248,1,240,248,1,240,248,3,240, + 252,3,240,252,3,240,252,3,224,254,7,224,255,15,192,251, + 255,192,251,255,128,248,254,0,17,20,60,21,2,1,15,252, + 0,31,254,0,63,255,0,126,63,0,124,31,128,124,31,128, + 252,15,128,248,0,0,248,0,0,248,0,0,248,0,0,248, + 0,0,248,0,0,252,15,128,252,31,128,124,31,128,126,63, + 0,63,255,0,31,254,0,15,252,0,20,30,90,25,2,0, + 0,1,240,0,1,240,0,1,240,0,1,240,0,1,240,0, + 1,240,0,1,240,0,1,240,0,1,240,0,1,240,7,249, + 240,31,253,240,63,255,240,63,15,240,126,7,240,124,3,240, + 252,3,240,252,3,240,252,3,240,248,1,240,248,1,240,248, + 3,240,252,3,240,252,3,240,124,3,240,126,7,240,63,15, + 240,63,253,240,31,249,240,7,241,240,19,20,60,22,2,1, + 7,252,0,31,255,0,63,255,0,62,31,128,124,15,192,124, + 7,192,252,7,192,255,255,192,255,255,192,255,255,224,255,255, + 224,248,0,0,248,0,0,252,0,0,124,7,192,124,15,192, + 126,31,128,63,255,128,31,255,0,7,252,0,14,30,60,15, + 1,1,3,252,7,252,15,252,15,192,15,128,15,128,15,128, + 15,128,15,128,15,128,255,248,255,248,255,248,255,248,15,128, + 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, + 15,128,15,128,15,128,15,128,15,128,15,128,15,128,20,28, + 84,25,2,249,7,249,240,31,253,240,63,255,240,63,15,240, + 126,7,240,124,3,240,252,3,240,252,3,240,252,3,240,248, + 1,240,248,1,240,248,3,240,252,3,240,252,3,240,124,7, + 240,126,7,240,63,255,240,63,253,240,15,249,240,3,225,240, + 0,3,240,0,3,240,124,3,240,126,7,224,63,255,224,63, + 255,192,31,255,128,3,252,0,18,30,90,24,3,0,248,0, + 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, + 248,0,0,248,0,0,248,0,0,248,0,0,249,255,0,251, + 255,128,255,255,192,255,31,192,254,15,192,252,7,192,252,7, + 192,252,7,192,248,7,192,248,7,192,248,7,192,248,7,192, + 248,7,192,248,7,192,248,7,192,248,7,192,248,7,192,248, + 7,192,248,7,192,248,7,192,6,30,30,10,2,0,252,252, + 252,252,252,0,0,0,0,0,124,124,124,124,124,124,124,124, + 124,124,124,124,124,124,124,124,124,124,124,124,7,39,39,13, + 4,247,126,126,126,126,126,0,0,0,0,0,62,62,62,62, + 62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62, + 62,62,62,126,254,254,254,252,248,18,30,90,22,3,0,248, + 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, + 0,248,0,0,248,0,0,248,0,0,248,0,0,248,31,192, + 248,31,128,248,63,0,248,126,0,248,252,0,249,252,0,249, + 248,0,251,240,0,255,224,0,255,240,0,251,240,0,249,248, + 0,249,252,0,248,252,0,248,126,0,248,127,0,248,63,0, + 248,31,128,248,31,192,248,15,192,5,30,30,11,3,0,248, + 248,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248, + 248,248,248,248,248,248,248,248,248,248,248,248,248,31,20,80, + 37,3,1,248,255,15,240,249,255,159,252,251,255,191,252,255, + 31,248,254,254,15,240,126,252,7,224,62,252,7,224,62,248, + 7,192,62,248,7,192,62,248,7,192,62,248,7,192,62,248, + 7,192,62,248,7,192,62,248,7,192,62,248,7,192,62,248, + 7,192,62,248,7,192,62,248,7,192,62,248,7,192,62,248, + 7,192,62,18,20,60,24,3,1,249,255,0,251,255,128,251, + 255,192,255,31,192,254,15,192,252,7,192,252,7,192,252,7, + 192,248,7,192,248,7,192,248,7,192,248,7,192,248,7,192, + 248,7,192,248,7,192,248,7,192,248,7,192,248,7,192,248, + 7,192,248,7,192,20,20,60,24,2,1,3,254,0,15,255, + 0,31,255,192,63,15,192,126,3,224,124,3,240,252,1,240, + 252,1,240,252,1,240,248,1,240,248,1,240,248,1,240,252, + 1,240,252,1,240,124,3,240,126,3,224,63,15,192,31,255, + 192,15,255,0,3,254,0,20,28,84,25,3,249,248,254,0, + 249,255,128,251,255,192,255,15,192,254,7,224,252,3,224,252, + 3,240,252,3,240,252,3,240,248,1,240,248,1,240,252,3, + 240,252,3,240,252,3,240,252,3,224,254,7,224,255,15,192, + 255,255,192,251,255,128,249,254,0,248,0,0,248,0,0,248, + 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, + 0,20,28,84,25,2,249,7,241,240,31,253,240,63,253,240, + 63,15,240,126,7,240,124,3,240,252,3,240,252,3,240,248, + 3,240,248,1,240,248,1,240,252,3,240,252,3,240,252,3, + 240,124,3,240,126,7,240,63,15,240,63,255,240,31,253,240, + 7,249,240,0,1,240,0,1,240,0,1,240,0,1,240,0, + 1,240,0,1,240,0,1,240,0,1,240,12,20,40,16,3, + 1,248,240,249,240,251,240,255,240,255,240,255,0,254,0,252, + 0,252,0,248,0,248,0,248,0,248,0,248,0,248,0,248, + 0,248,0,248,0,248,0,248,0,17,20,60,21,2,1,15, + 252,0,63,254,0,127,255,0,126,31,128,124,31,128,124,15, + 128,126,0,0,127,128,0,63,248,0,63,254,0,7,255,0, + 0,255,128,0,31,128,0,15,128,248,15,128,252,15,128,126, + 31,128,127,255,0,63,254,0,31,252,0,15,26,52,17,1, + 0,0,128,1,128,7,128,15,128,15,128,15,128,255,252,255, + 252,255,252,255,252,15,128,15,128,15,128,15,128,15,128,15, + 128,15,128,15,128,15,128,15,128,15,128,15,192,15,224,7, + 254,7,254,1,254,18,20,60,24,3,0,248,7,192,248,7, + 192,248,7,192,248,7,192,248,7,192,248,7,192,248,7,192, + 248,7,192,248,7,192,248,7,192,248,7,192,248,7,192,248, + 7,192,252,7,192,252,15,192,252,15,192,254,31,192,127,255, + 192,63,247,192,31,231,192,20,20,60,22,1,0,248,3,240, + 252,3,240,252,3,224,124,7,224,126,7,224,126,7,192,62, + 15,192,63,15,192,31,15,128,31,31,128,31,159,0,15,159, + 0,15,191,0,15,254,0,7,254,0,7,254,0,3,252,0, + 3,252,0,3,248,0,1,248,0,33,20,100,34,1,0,248, + 7,224,31,128,248,15,240,31,0,252,15,240,31,0,252,15, + 240,63,0,124,15,248,62,0,126,31,248,62,0,126,31,248, + 126,0,62,31,124,126,0,62,62,124,124,0,63,62,124,124, + 0,31,62,126,252,0,31,124,62,248,0,31,252,62,248,0, + 15,252,63,248,0,15,252,31,240,0,15,248,31,240,0,15, + 248,31,240,0,7,248,15,240,0,7,240,15,224,0,7,240, + 15,224,0,20,20,60,22,1,0,254,3,224,126,7,224,63, + 15,192,31,143,128,31,159,128,15,223,0,7,254,0,7,254, + 0,3,252,0,3,252,0,3,252,0,7,254,0,15,255,0, + 15,191,0,31,159,128,63,31,192,62,15,192,126,7,224,252, + 7,224,252,3,240,20,28,84,22,1,248,252,3,240,252,3, + 240,252,3,224,126,7,224,126,7,224,63,7,192,63,15,192, + 63,15,192,31,143,128,31,159,128,15,159,128,15,223,0,15, + 255,0,7,255,0,7,254,0,3,254,0,3,252,0,3,252, + 0,1,252,0,1,248,0,1,248,0,1,248,0,1,240,0, + 3,240,0,3,240,0,7,224,0,7,224,0,7,224,0,17, + 20,60,21,2,0,255,255,0,255,255,0,255,255,0,255,255, + 0,0,63,0,0,126,0,0,252,0,1,248,0,3,240,0, + 7,240,0,15,224,0,15,192,0,31,128,0,63,0,0,126, + 0,0,252,0,0,255,255,128,255,255,128,255,255,128,255,255, + 128,15,41,82,20,3,246,0,2,0,254,1,254,3,254,7, + 240,7,224,7,192,7,192,7,192,7,192,7,192,7,192,7, + 192,7,192,7,192,7,192,15,192,15,128,63,128,254,0,252, + 0,254,0,255,0,63,128,15,128,15,192,7,192,7,192,7, + 192,7,192,7,192,7,192,7,192,7,192,7,192,7,224,7, + 224,3,254,3,254,1,254,0,62,3,43,43,13,5,245,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,15,40,80,20,3,247, + 252,0,255,0,255,0,31,128,15,128,15,128,15,128,15,128, + 15,128,15,128,15,128,15,128,15,128,15,192,15,192,7,224, + 7,224,3,248,1,254,0,126,0,254,3,252,7,224,7,192, + 7,192,15,192,15,128,15,128,15,128,15,128,15,128,15,128, + 15,128,15,128,15,128,31,128,255,128,255,0,254,0,248,0, + 21,5,15,21,0,8,15,192,120,63,255,248,127,255,240,127, + 255,224,240,31,128,255}; +/* + Fontname: -FreeType-FreeUniversal-Bold-R-Normal--49-490-72-72-P-242-ISO10646-1 + Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. + Capital A Height: 0, '1' Height: 35 + Calculated Max Values w=29 h=39 x=10 y=17 dx=49 dy= 0 ascent=36 len=140 + Font Bounding box w=72 h=65 x=-4 y=-13 + Calculated Min Values x= 0 y=-6 dx= 0 dy= 0 + Pure Font ascent =35 descent= 0 + X Font ascent =35 descent= 0 + Max Font ascent =36 descent=-6 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_fub35n[1697] U8G_FONT_SECTION("u8g_font_fub35n") = { + 0,72,65,252,243,35,0,0,0,0,42,58,0,36,250,35, + 0,20,18,54,32,6,17,7,14,0,31,15,128,31,159,128, + 15,159,0,7,158,0,3,252,0,129,248,16,254,247,240,255, + 255,240,255,255,240,249,249,240,1,248,0,3,252,0,7,158, + 0,15,159,0,31,143,128,31,15,128,7,14,0,29,29,116, + 49,10,0,0,7,0,0,0,7,0,0,0,7,0,0,0, + 7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0, + 7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0, + 7,0,0,0,7,0,0,255,255,255,248,255,255,255,248,255, + 255,255,248,0,7,0,0,0,7,0,0,0,7,0,0,0, + 7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0, + 7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0, + 7,0,0,0,7,0,0,11,12,24,15,2,250,15,224,15, + 192,31,192,31,128,31,128,63,0,63,0,62,0,126,0,124, + 0,124,0,248,0,13,6,12,17,2,9,255,248,255,248,255, + 248,255,248,255,248,255,248,7,6,6,15,5,0,254,254,254, + 254,254,254,17,39,117,21,2,253,0,15,128,0,15,0,0, + 31,0,0,31,0,0,30,0,0,62,0,0,62,0,0,62, + 0,0,124,0,0,124,0,0,124,0,0,120,0,0,248,0, + 0,248,0,0,240,0,1,240,0,1,240,0,1,240,0,3, + 224,0,3,224,0,3,224,0,3,192,0,7,192,0,7,192, + 0,7,128,0,15,128,0,15,128,0,15,128,0,31,0,0, + 31,0,0,31,0,0,62,0,0,62,0,0,62,0,0,60, + 0,0,124,0,0,124,0,0,124,0,0,248,0,0,25,35, + 140,28,2,1,1,255,128,0,7,255,224,0,15,255,240,0, + 31,255,248,0,31,255,252,0,63,129,252,0,63,0,254,0, + 127,0,126,0,126,0,126,0,126,0,63,0,126,0,63,0, + 254,0,63,0,254,0,63,0,254,0,63,0,254,0,63,128, + 254,0,63,128,254,0,63,128,254,0,63,128,254,0,63,128, + 254,0,63,128,254,0,63,128,254,0,63,0,254,0,63,0, + 254,0,63,0,126,0,63,0,126,0,63,0,126,0,127,0, + 127,0,126,0,63,0,254,0,63,129,252,0,31,255,252,0, + 31,255,248,0,15,255,240,0,7,255,224,0,1,255,128,0, + 15,35,70,28,5,0,0,254,1,254,7,254,15,254,63,254, + 255,254,255,254,254,254,252,254,240,254,192,254,0,254,0,254, + 0,254,0,254,0,254,0,254,0,254,0,254,0,254,0,254, + 0,254,0,254,0,254,0,254,0,254,0,254,0,254,0,254, + 0,254,0,254,0,254,0,254,0,254,0,254,25,35,140,28, + 2,1,0,255,224,0,3,255,248,0,7,255,252,0,15,255, + 254,0,31,255,255,0,63,192,255,0,63,128,63,128,63,0, + 63,128,127,0,63,128,0,0,63,128,0,0,63,128,0,0, + 63,128,0,0,127,0,0,0,127,0,0,0,255,0,0,1, + 254,0,0,3,252,0,0,7,252,0,0,15,248,0,0,31, + 240,0,0,63,224,0,0,127,192,0,1,255,0,0,3,254, + 0,0,7,252,0,0,15,240,0,0,63,224,0,0,127,128, + 0,0,255,0,0,0,255,255,255,128,255,255,255,128,255,255, + 255,128,255,255,255,128,255,255,255,128,255,255,255,128,24,35, + 105,28,2,1,3,255,128,15,255,224,31,255,240,63,255,248, + 127,255,252,127,3,252,254,1,252,254,0,252,254,0,254,0, + 0,254,0,0,254,0,1,252,0,1,252,0,15,248,0,255, + 240,0,255,192,0,255,128,0,255,224,0,255,248,0,3,252, + 0,0,254,0,0,254,0,0,126,0,0,127,0,0,127,254, + 0,127,254,0,127,254,0,254,255,0,254,127,1,252,127,255, + 252,63,255,248,31,255,240,15,255,224,3,255,128,26,35,140, + 28,1,0,0,7,252,0,0,15,252,0,0,31,252,0,0, + 31,252,0,0,63,252,0,0,63,252,0,0,127,252,0,0, + 253,252,0,0,253,252,0,1,249,252,0,1,249,252,0,3, + 241,252,0,7,241,252,0,7,225,252,0,15,193,252,0,15, + 193,252,0,31,129,252,0,63,129,252,0,63,1,252,0,126, + 1,252,0,254,1,252,0,252,1,252,0,255,255,255,192,255, + 255,255,192,255,255,255,192,255,255,255,192,255,255,255,192,255, + 255,255,192,0,1,252,0,0,1,252,0,0,1,252,0,0, + 1,252,0,0,1,252,0,0,1,252,0,0,1,252,0,24, + 35,105,28,2,0,127,255,252,127,255,252,127,255,252,127,255, + 252,127,255,252,127,255,252,127,0,0,127,0,0,127,0,0, + 127,0,0,127,0,0,127,0,0,127,31,192,127,127,240,127, + 255,248,127,255,252,127,255,252,127,193,254,127,0,254,127,0, + 127,126,0,127,0,0,127,0,0,127,0,0,127,0,0,127, + 0,0,127,254,0,127,254,0,254,254,0,254,255,1,252,127, + 255,252,127,255,248,63,255,240,15,255,192,7,255,128,25,35, + 140,28,2,1,0,255,192,0,3,255,240,0,7,255,248,0, + 15,255,252,0,31,255,254,0,31,224,254,0,63,192,127,0, + 63,128,127,0,127,0,0,0,127,0,0,0,127,0,0,0, + 126,0,0,0,254,31,192,0,254,127,240,0,254,255,248,0, + 254,255,252,0,255,255,254,0,255,225,254,0,255,192,255,0, + 255,128,127,0,255,0,63,0,255,0,63,128,255,0,63,128, + 255,0,63,128,255,0,63,128,127,0,63,0,127,0,63,0, + 127,128,127,0,127,128,127,0,63,192,254,0,31,255,252,0, + 31,255,252,0,15,255,248,0,7,255,224,0,1,255,128,0, + 24,35,105,28,2,0,255,255,255,255,255,255,255,255,255,255, + 255,255,255,255,255,255,255,255,0,0,127,0,0,127,0,0, + 254,0,0,254,0,1,254,0,1,252,0,3,252,0,3,248, + 0,7,248,0,7,240,0,15,240,0,15,240,0,31,224,0, + 31,224,0,63,192,0,63,192,0,63,128,0,127,128,0,127, + 0,0,255,0,0,255,0,1,254,0,1,254,0,3,252,0, + 3,252,0,7,248,0,7,248,0,15,248,0,15,240,0,25, + 35,140,28,2,1,3,255,192,0,15,255,240,0,31,255,252, + 0,63,255,254,0,63,255,254,0,127,193,255,0,127,128,255, + 0,127,0,127,0,127,0,127,0,127,0,127,0,127,0,127, + 0,127,0,127,0,63,128,254,0,63,193,252,0,15,255,248, + 0,7,255,224,0,1,255,192,0,15,255,240,0,31,255,248, + 0,63,193,254,0,127,128,254,0,127,0,127,0,254,0,63, + 0,254,0,63,0,254,0,63,128,254,0,63,128,254,0,63, + 128,255,0,127,128,255,0,127,0,127,128,255,0,127,255,255, + 0,63,255,254,0,63,255,252,0,15,255,248,0,3,255,224, + 0,25,35,140,28,2,1,1,255,192,0,7,255,224,0,15, + 255,248,0,31,255,252,0,63,255,252,0,127,129,254,0,127, + 0,254,0,126,0,255,0,254,0,127,0,254,0,127,0,254, + 0,127,128,254,0,127,128,254,0,127,128,254,0,127,128,254, + 0,255,128,127,0,255,128,127,131,255,128,63,255,255,128,63, + 255,191,128,31,255,191,128,15,255,63,128,1,248,63,128,0, + 0,63,0,0,0,127,0,0,0,127,0,0,0,127,0,127, + 0,254,0,127,0,254,0,127,1,254,0,63,131,252,0,31, + 255,252,0,31,255,248,0,15,255,240,0,7,255,224,0,1, + 255,128,0,7,24,24,16,7,0,254,254,254,254,254,254,0, + 0,0,0,0,0,0,0,0,0,0,0,254,254,254,254,254, + 254}; +/* + Fontname: -FreeType-FreeUniversal-Bold-R-Normal--58-580-72-72-P-286-ISO10646-1 + Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. + Capital A Height: 0, '1' Height: 42 + Calculated Max Values w=35 h=46 x=12 y=20 dx=59 dy= 0 ascent=43 len=176 + Font Bounding box w=87 h=77 x=-5 y=-15 + Calculated Min Values x= 0 y=-8 dx= 0 dy= 0 + Pure Font ascent =42 descent= 0 + X Font ascent =42 descent= 0 + Max Font ascent =43 descent=-8 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_fub42n[2270] U8G_FONT_SECTION("u8g_font_fub42n") = { + 0,87,77,251,241,42,0,0,0,0,42,58,0,43,248,42, + 0,23,23,69,37,7,20,0,130,0,3,131,128,15,131,224, + 31,199,224,15,199,224,7,199,192,3,239,128,1,239,0,0, + 254,0,248,254,62,255,255,254,255,255,254,255,255,254,254,124, + 254,128,254,2,1,239,0,3,239,128,7,239,192,7,199,192, + 15,199,224,31,131,240,7,131,192,1,131,0,35,35,175,59, + 12,0,0,1,224,0,0,0,1,224,0,0,0,1,224,0, + 0,0,1,224,0,0,0,1,224,0,0,0,1,224,0,0, + 0,1,224,0,0,0,1,224,0,0,0,1,224,0,0,0, + 1,224,0,0,0,1,224,0,0,0,1,224,0,0,0,1, + 224,0,0,0,1,224,0,0,0,1,224,0,0,0,1,224, + 0,0,255,255,255,255,224,255,255,255,255,224,255,255,255,255, + 224,255,255,255,255,224,0,1,224,0,0,0,1,224,0,0, + 0,1,224,0,0,0,1,224,0,0,0,1,224,0,0,0, + 1,224,0,0,0,1,224,0,0,0,1,224,0,0,0,1, + 224,0,0,0,1,224,0,0,0,1,224,0,0,0,1,224, + 0,0,0,1,224,0,0,0,1,224,0,0,0,1,224,0, + 0,12,15,30,18,3,248,15,240,15,240,15,224,31,224,31, + 192,31,192,63,128,63,128,63,0,127,0,126,0,126,0,124, + 0,252,0,252,0,15,8,16,19,2,11,255,254,255,254,255, + 254,255,254,255,254,255,254,255,254,255,254,8,8,8,18,6, + 0,255,255,255,255,255,255,255,255,19,46,138,25,3,253,0, + 7,224,0,7,224,0,7,192,0,15,192,0,15,192,0,15, + 128,0,31,128,0,31,128,0,31,128,0,31,0,0,63,0, + 0,63,0,0,62,0,0,126,0,0,126,0,0,124,0,0, + 252,0,0,252,0,0,252,0,0,248,0,1,248,0,1,248, + 0,1,240,0,3,240,0,3,240,0,3,240,0,7,224,0, + 7,224,0,7,224,0,7,192,0,15,192,0,15,192,0,15, + 128,0,31,128,0,31,128,0,31,128,0,63,0,0,63,0, + 0,63,0,0,62,0,0,126,0,0,126,0,0,124,0,0, + 252,0,0,252,0,0,252,0,0,29,44,176,33,2,255,0, + 31,192,0,0,255,248,0,3,255,252,0,7,255,255,0,15, + 255,255,128,15,255,255,128,31,240,255,192,63,192,63,192,63, + 192,63,224,63,128,31,224,127,128,31,240,127,0,31,240,127, + 0,15,240,127,0,15,240,255,0,15,240,255,0,15,248,255, + 0,15,248,255,0,15,248,255,0,15,248,255,0,15,248,255, + 0,15,248,255,0,15,248,255,0,15,248,255,0,15,248,255, + 0,15,248,255,0,15,248,255,0,15,248,255,0,15,248,255, + 0,15,248,127,0,15,240,127,0,15,240,127,0,15,240,127, + 0,31,240,127,128,31,240,63,128,31,224,63,192,63,224,63, + 192,63,192,31,240,255,192,15,255,255,128,15,255,255,0,7, + 255,255,0,3,255,254,0,0,255,248,0,0,31,192,0,18, + 42,126,33,6,0,0,63,192,0,127,192,0,255,192,3,255, + 192,15,255,192,63,255,192,255,255,192,255,255,192,255,255,192, + 255,63,192,254,63,192,248,63,192,224,63,192,0,63,192,0, + 63,192,0,63,192,0,63,192,0,63,192,0,63,192,0,63, + 192,0,63,192,0,63,192,0,63,192,0,63,192,0,63,192, + 0,63,192,0,63,192,0,63,192,0,63,192,0,63,192,0, + 63,192,0,63,192,0,63,192,0,63,192,0,63,192,0,63, + 192,0,63,192,0,63,192,0,63,192,0,63,192,0,63,192, + 0,63,192,29,43,172,33,2,0,0,15,240,0,0,127,254, + 0,1,255,255,0,3,255,255,128,7,255,255,192,15,255,255, + 224,31,248,63,240,31,240,31,240,31,224,15,240,63,192,7, + 248,63,192,7,248,63,192,7,248,0,0,7,248,0,0,7, + 248,0,0,15,248,0,0,15,240,0,0,31,240,0,0,31, + 240,0,0,63,224,0,0,127,224,0,0,255,192,0,1,255, + 128,0,3,255,128,0,7,255,0,0,15,254,0,0,31,252, + 0,0,63,248,0,0,127,240,0,0,255,224,0,1,255,128, + 0,3,255,0,0,15,254,0,0,31,252,0,0,63,240,0, + 0,127,224,0,0,255,192,0,0,255,255,255,248,255,255,255, + 248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255, + 248,255,255,255,248,28,44,176,33,3,255,0,127,192,0,3, + 255,248,0,7,255,252,0,31,255,255,0,63,255,255,0,63, + 255,255,128,127,224,255,192,127,192,127,192,255,128,63,192,255, + 0,31,224,255,0,31,224,255,0,31,224,0,0,31,224,0, + 0,31,224,0,0,31,224,0,0,63,192,0,0,127,192,0, + 3,255,128,0,127,255,0,0,127,252,0,0,127,240,0,0, + 127,248,0,0,127,254,0,0,127,255,128,0,0,255,192,0, + 0,63,224,0,0,31,224,0,0,31,224,0,0,15,240,0, + 0,15,240,0,0,15,240,255,0,15,240,255,0,15,240,255, + 0,15,240,255,0,31,224,255,128,31,224,127,192,63,224,127, + 224,255,192,63,255,255,128,63,255,255,0,31,255,254,0,15, + 255,252,0,3,255,248,0,0,127,192,0,31,42,168,33,1, + 0,0,1,255,192,0,1,255,192,0,3,255,192,0,7,255, + 192,0,7,255,192,0,15,255,192,0,15,255,192,0,31,255, + 192,0,63,255,192,0,63,191,192,0,127,63,192,0,255,63, + 192,0,254,63,192,1,254,63,192,1,252,63,192,3,248,63, + 192,7,248,63,192,7,240,63,192,15,240,63,192,31,224,63, + 192,31,192,63,192,63,192,63,192,63,128,63,192,127,128,63, + 192,255,0,63,192,255,0,63,192,255,255,255,254,255,255,255, + 254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255, + 254,255,255,255,254,0,0,63,192,0,0,63,192,0,0,63, + 192,0,0,63,192,0,0,63,192,0,0,63,192,0,0,63, + 192,0,0,63,192,0,0,63,192,29,43,172,33,2,255,127, + 255,255,224,127,255,255,224,127,255,255,224,127,255,255,224,127, + 255,255,224,127,255,255,224,127,255,255,224,127,128,0,0,127, + 128,0,0,127,128,0,0,127,128,0,0,127,128,0,0,127, + 128,0,0,127,128,0,0,127,128,0,0,127,135,248,0,127, + 159,254,0,127,255,255,128,127,255,255,192,127,255,255,192,127, + 255,255,224,127,240,63,240,127,192,31,240,127,128,15,240,127, + 128,15,248,127,0,7,248,0,0,7,248,0,0,7,248,0, + 0,7,248,0,0,7,248,0,0,7,248,0,0,7,240,255, + 0,15,240,255,0,15,240,255,0,31,240,255,128,63,224,127, + 224,255,192,127,255,255,192,63,255,255,128,31,255,255,0,15, + 255,252,0,3,255,248,0,0,127,192,0,29,44,176,33,2, + 255,0,15,240,0,0,127,252,0,0,255,255,0,3,255,255, + 128,7,255,255,192,7,255,255,224,15,252,63,224,31,240,15, + 240,31,224,15,240,63,192,7,248,63,192,7,248,63,128,0, + 0,127,128,0,0,127,128,0,0,127,128,0,0,127,0,0, + 0,255,3,248,0,255,31,254,0,255,63,255,0,255,127,255, + 128,255,255,255,192,255,255,255,224,255,248,63,240,255,224,31, + 240,255,192,15,240,255,192,15,248,255,128,7,248,255,128,7, + 248,255,128,7,248,255,128,7,248,255,128,7,248,127,128,7, + 248,127,128,7,248,127,128,7,240,127,192,15,240,63,192,15, + 240,63,224,31,224,31,248,63,224,31,255,255,192,15,255,255, + 128,7,255,255,0,3,255,254,0,0,255,248,0,0,63,192, + 0,28,42,168,33,3,0,255,255,255,240,255,255,255,240,255, + 255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255, + 255,255,240,0,0,15,240,0,0,15,240,0,0,31,240,0, + 0,31,224,0,0,63,224,0,0,63,192,0,0,127,192,0, + 0,127,192,0,0,255,128,0,0,255,128,0,1,255,0,0, + 1,255,0,0,1,254,0,0,3,254,0,0,3,254,0,0, + 7,252,0,0,7,252,0,0,15,248,0,0,15,248,0,0, + 31,248,0,0,31,240,0,0,31,240,0,0,63,224,0,0, + 63,224,0,0,127,192,0,0,127,192,0,0,255,192,0,0, + 255,128,0,1,255,128,0,1,255,0,0,3,255,0,0,3, + 255,0,0,3,254,0,0,7,254,0,0,7,252,0,0,29, + 44,176,33,2,255,0,63,240,0,1,255,254,0,7,255,255, + 128,15,255,255,192,31,255,255,224,63,255,255,240,63,248,127, + 240,127,224,31,240,127,224,31,248,127,192,15,248,127,192,15, + 248,127,192,15,248,127,192,15,248,127,192,15,248,63,224,31, + 240,63,224,31,240,31,248,127,224,15,255,255,192,7,255,255, + 0,1,255,252,0,0,255,248,0,3,255,254,0,15,255,255, + 128,31,255,255,192,63,240,63,224,127,224,31,224,127,192,15, + 240,127,192,15,240,255,128,7,248,255,128,7,248,255,128,7, + 248,255,128,7,248,255,128,7,248,255,128,7,248,255,192,15, + 248,255,192,15,248,127,224,31,240,127,240,63,240,127,255,255, + 224,63,255,255,224,31,255,255,192,15,255,255,128,3,255,254, + 0,0,127,240,0,29,44,176,33,2,255,0,31,192,0,0, + 255,248,0,3,255,254,0,7,255,255,0,15,255,255,128,31, + 255,255,128,63,224,255,192,63,192,63,224,127,128,31,224,127, + 128,31,224,127,0,15,240,255,0,15,240,255,0,15,240,255, + 0,15,240,255,0,15,248,255,0,15,248,255,0,15,248,255, + 0,15,248,255,128,31,248,127,128,31,248,127,192,63,248,127, + 224,255,248,63,255,255,248,31,255,255,248,31,255,247,248,15, + 255,231,248,3,255,199,248,0,254,7,240,0,0,7,240,0, + 0,15,240,0,0,15,240,0,0,15,240,0,0,15,224,127, + 128,31,224,127,128,31,224,63,128,63,192,63,192,127,192,63, + 224,255,128,31,255,255,128,15,255,255,0,7,255,254,0,3, + 255,252,0,1,255,240,0,0,63,192,0,8,29,29,19,8, + 0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0, + 0,0,0,0,0,0,255,255,255,255,255,255,255,255}; +/* + Fontname: -FreeType-FreeUniversal-Bold-R-Normal--68-680-72-72-P-335-ISO10646-1 + Copyright: FreeUniveral (c) Stephen Wilson 2009 Original Font Sil-Sophia Copyright (c) SIL International, 1994-2008. + Capital A Height: 0, '1' Height: 49 + Calculated Max Values w=41 h=54 x=14 y=23 dx=69 dy= 0 ascent=50 len=255 + Font Bounding box w=100 h=91 x=-5 y=-18 + Calculated Min Values x= 0 y=-9 dx= 0 dy= 0 + Pure Font ascent =49 descent= 0 + X Font ascent =49 descent= 0 + Max Font ascent =50 descent=-9 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_fub49n[3148] U8G_FONT_SECTION("u8g_font_fub49n") = { + 0,100,91,251,238,49,0,0,0,0,42,58,0,50,247,49, + 0,27,27,108,43,8,23,0,64,64,0,1,192,112,0,7, + 224,252,0,15,224,254,0,7,241,252,0,7,241,252,0,3, + 241,248,0,1,251,240,0,0,251,224,0,0,127,192,0,224, + 127,192,224,255,191,191,224,255,255,255,224,255,255,255,224,255, + 255,255,224,255,63,159,224,192,127,192,96,0,123,192,0,0, + 251,224,0,1,251,240,0,3,241,248,0,7,241,252,0,15, + 241,252,0,15,224,254,0,7,224,252,0,1,192,112,0,0, + 64,64,0,41,41,246,69,14,0,0,0,60,0,0,0,0, + 0,60,0,0,0,0,0,60,0,0,0,0,0,60,0,0, + 0,0,0,60,0,0,0,0,0,60,0,0,0,0,0,60, + 0,0,0,0,0,60,0,0,0,0,0,60,0,0,0,0, + 0,60,0,0,0,0,0,60,0,0,0,0,0,60,0,0, + 0,0,0,60,0,0,0,0,0,60,0,0,0,0,0,60, + 0,0,0,0,0,60,0,0,0,0,0,60,0,0,0,0, + 0,60,0,0,0,0,0,60,0,0,0,255,255,255,255,255, + 128,255,255,255,255,255,128,255,255,255,255,255,128,255,255,255, + 255,255,128,0,0,60,0,0,0,0,0,60,0,0,0,0, + 0,60,0,0,0,0,0,60,0,0,0,0,0,60,0,0, + 0,0,0,60,0,0,0,0,0,60,0,0,0,0,0,60, + 0,0,0,0,0,60,0,0,0,0,0,60,0,0,0,0, + 0,60,0,0,0,0,0,60,0,0,0,0,0,60,0,0, + 0,0,0,60,0,0,0,0,0,60,0,0,0,0,0,60, + 0,0,0,0,0,60,0,0,0,0,0,60,0,0,0,15, + 17,34,21,3,247,7,254,7,252,7,252,7,248,15,248,15, + 240,15,240,31,224,31,224,31,192,63,192,63,128,63,128,127, + 0,127,0,126,0,254,0,17,9,27,23,3,13,255,255,128, + 255,255,128,255,255,128,255,255,128,255,255,128,255,255,128,255, + 255,128,255,255,128,255,255,128,9,9,18,21,7,0,255,128, + 255,128,255,128,255,128,255,128,255,128,255,128,255,128,255,128, + 23,54,162,29,3,252,0,0,254,0,0,254,0,0,252,0, + 1,252,0,1,252,0,1,248,0,3,248,0,3,248,0,3, + 248,0,7,240,0,7,240,0,7,240,0,7,224,0,15,224, + 0,15,224,0,15,192,0,31,192,0,31,192,0,31,192,0, + 63,128,0,63,128,0,63,128,0,63,0,0,127,0,0,127, + 0,0,126,0,0,254,0,0,254,0,0,254,0,1,252,0, + 1,252,0,1,252,0,1,248,0,3,248,0,3,248,0,3, + 240,0,7,240,0,7,240,0,7,240,0,15,224,0,15,224, + 0,15,224,0,15,192,0,31,192,0,31,192,0,31,128,0, + 63,128,0,63,128,0,63,0,0,127,0,0,127,0,0,127, + 0,0,126,0,0,254,0,0,34,51,255,39,2,255,0,7, + 248,0,0,0,63,255,0,0,0,255,255,192,0,1,255,255, + 224,0,3,255,255,240,0,7,255,255,248,0,15,255,255,252, + 0,15,254,31,252,0,31,248,7,254,0,31,240,3,254,0, + 63,240,3,255,0,63,224,1,255,0,63,224,1,255,0,127, + 224,1,255,128,127,192,0,255,128,127,192,0,255,128,127,192, + 0,255,128,255,192,0,255,128,255,192,0,255,192,255,192,0, + 255,192,255,192,0,255,192,255,192,0,255,192,255,192,0,255, + 192,255,192,0,255,192,255,192,0,255,192,255,192,0,255,192, + 255,192,0,255,192,255,192,0,255,192,255,192,0,255,192,255, + 192,0,255,192,255,192,0,255,192,255,192,0,255,192,255,192, + 0,255,192,255,192,0,255,128,127,192,0,255,128,127,192,0, + 255,128,127,192,0,255,128,127,224,1,255,128,63,224,1,255, + 0,63,224,1,255,0,63,240,3,255,0,31,240,3,254,0, + 31,248,7,254,0,15,254,31,252,0,15,255,255,252,0,7, + 255,255,248,0,3,255,255,240,0,1,255,255,224,0,0,255, + 255,192,0,0,63,255,0,0,0,7,248,0,0,20,49,147, + 39,7,0,0,31,240,0,63,240,0,127,240,1,255,240,3, + 255,240,15,255,240,63,255,240,255,255,240,255,255,240,255,255, + 240,255,223,240,255,159,240,254,31,240,248,31,240,224,31,240, + 128,31,240,0,31,240,0,31,240,0,31,240,0,31,240,0, + 31,240,0,31,240,0,31,240,0,31,240,0,31,240,0,31, + 240,0,31,240,0,31,240,0,31,240,0,31,240,0,31,240, + 0,31,240,0,31,240,0,31,240,0,31,240,0,31,240,0, + 31,240,0,31,240,0,31,240,0,31,240,0,31,240,0,31, + 240,0,31,240,0,31,240,0,31,240,0,31,240,0,31,240, + 0,31,240,0,31,240,34,50,250,39,2,0,0,3,254,0, + 0,0,31,255,192,0,0,127,255,240,0,0,255,255,248,0, + 3,255,255,254,0,7,255,255,254,0,7,255,255,255,0,15, + 255,255,255,128,31,255,7,255,128,31,252,1,255,192,31,248, + 0,255,192,63,248,0,255,192,63,240,0,127,192,63,240,0, + 127,192,63,240,0,127,192,0,0,0,127,192,0,0,0,127, + 192,0,0,0,255,192,0,0,0,255,128,0,0,1,255,128, + 0,0,1,255,128,0,0,3,255,0,0,0,7,255,0,0, + 0,15,254,0,0,0,31,254,0,0,0,63,252,0,0,0, + 127,248,0,0,0,255,240,0,0,1,255,224,0,0,3,255, + 192,0,0,7,255,128,0,0,15,255,0,0,0,31,254,0, + 0,0,63,252,0,0,0,255,248,0,0,1,255,224,0,0, + 3,255,192,0,0,7,255,128,0,0,31,254,0,0,0,63, + 252,0,0,0,127,248,0,0,0,255,224,0,0,0,255,255, + 255,255,192,255,255,255,255,192,255,255,255,255,192,255,255,255, + 255,192,255,255,255,255,192,255,255,255,255,192,255,255,255,255, + 192,255,255,255,255,192,32,51,204,39,3,255,0,31,248,0, + 0,255,255,0,3,255,255,128,7,255,255,224,15,255,255,240, + 31,255,255,248,63,255,255,248,127,255,255,252,127,248,31,252, + 127,224,15,254,255,192,7,254,255,192,3,254,255,128,3,254, + 255,128,3,254,0,0,3,254,0,0,3,254,0,0,3,254, + 0,0,7,254,0,0,15,252,0,0,127,252,0,63,255,248, + 0,63,255,224,0,63,255,192,0,63,254,0,0,63,255,0, + 0,63,255,192,0,63,255,240,0,63,255,248,0,0,63,252, + 0,0,7,254,0,0,3,254,0,0,3,255,0,0,1,255, + 0,0,1,255,0,0,1,255,0,0,1,255,255,128,1,255, + 255,128,1,255,255,128,1,255,255,192,3,255,255,192,3,254, + 127,224,7,254,127,224,15,254,127,248,31,252,63,255,255,248, + 63,255,255,240,31,255,255,240,15,255,255,192,3,255,255,128, + 1,255,254,0,0,31,240,0,36,50,250,39,2,0,0,0, + 63,252,0,0,0,127,252,0,0,0,127,252,0,0,0,255, + 252,0,0,0,255,252,0,0,1,255,252,0,0,3,255,252, + 0,0,3,255,252,0,0,7,255,252,0,0,7,255,252,0, + 0,15,247,252,0,0,31,247,252,0,0,31,231,252,0,0, + 63,199,252,0,0,127,199,252,0,0,127,135,252,0,0,255, + 135,252,0,0,255,7,252,0,1,255,7,252,0,3,254,7, + 252,0,3,252,7,252,0,7,252,7,252,0,7,248,7,252, + 0,15,248,7,252,0,31,240,7,252,0,31,240,7,252,0, + 63,224,7,252,0,63,192,7,252,0,127,192,7,252,0,255, + 128,7,252,0,255,128,7,252,0,255,255,255,255,240,255,255, + 255,255,240,255,255,255,255,240,255,255,255,255,240,255,255,255, + 255,240,255,255,255,255,240,255,255,255,255,240,255,255,255,255, + 240,0,0,7,252,0,0,0,7,252,0,0,0,7,252,0, + 0,0,7,252,0,0,0,7,252,0,0,0,7,252,0,0, + 0,7,252,0,0,0,7,252,0,0,0,7,252,0,0,0, + 7,252,0,0,0,7,252,0,33,50,250,39,3,255,127,255, + 255,254,0,127,255,255,254,0,127,255,255,254,0,127,255,255, + 254,0,127,255,255,254,0,127,255,255,254,0,127,255,255,254, + 0,127,255,255,254,0,127,192,0,0,0,127,192,0,0,0, + 127,192,0,0,0,127,192,0,0,0,127,192,0,0,0,127, + 192,0,0,0,127,192,0,0,0,127,192,0,0,0,127,192, + 0,0,0,127,193,255,0,0,127,199,255,192,0,127,223,255, + 240,0,127,255,255,248,0,127,255,255,252,0,127,255,255,254, + 0,127,255,255,254,0,127,252,15,255,0,127,240,3,255,0, + 127,224,3,255,0,127,192,1,255,128,127,192,1,255,128,0, + 0,0,255,128,0,0,0,255,128,0,0,0,255,128,0,0, + 0,255,128,0,0,0,255,128,0,0,0,255,128,0,0,0, + 255,128,0,0,0,255,128,255,128,1,255,128,255,128,1,255, + 0,255,192,3,255,0,255,192,3,254,0,127,224,15,254,0, + 127,248,63,252,0,127,255,255,252,0,63,255,255,248,0,31, + 255,255,240,0,15,255,255,224,0,7,255,255,128,0,1,255, + 254,0,0,0,63,240,0,0,34,51,255,39,2,255,0,3, + 252,0,0,0,31,255,128,0,0,127,255,224,0,0,255,255, + 240,0,1,255,255,248,0,3,255,255,252,0,7,255,255,254, + 0,7,255,255,254,0,15,255,7,255,0,31,252,3,255,0, + 31,248,1,255,128,31,248,0,255,128,63,240,0,255,128,63, + 224,0,0,0,63,224,0,0,0,127,224,0,0,0,127,192, + 0,0,0,127,192,0,0,0,127,192,127,0,0,127,195,255, + 224,0,255,199,255,240,0,255,207,255,248,0,255,223,255,252, + 0,255,191,255,254,0,255,255,255,255,0,255,254,15,255,0, + 255,248,3,255,128,255,248,3,255,128,255,240,1,255,128,255, + 240,1,255,192,255,224,0,255,192,255,224,0,255,192,255,224, + 0,255,192,255,224,0,255,192,255,224,0,255,192,127,224,0, + 255,192,127,224,0,255,192,127,224,0,255,192,127,224,0,255, + 128,63,240,1,255,128,63,240,1,255,128,63,248,3,255,0, + 31,248,3,255,0,31,254,15,254,0,15,255,255,254,0,7, + 255,255,252,0,3,255,255,248,0,1,255,255,240,0,0,255, + 255,192,0,0,63,255,0,0,0,7,248,0,0,33,49,245, + 39,3,0,255,255,255,255,128,255,255,255,255,128,255,255,255, + 255,128,255,255,255,255,128,255,255,255,255,128,255,255,255,255, + 128,255,255,255,255,128,255,255,255,255,128,0,0,0,255,128, + 0,0,1,255,128,0,0,1,255,128,0,0,3,255,0,0, + 0,3,255,0,0,0,7,254,0,0,0,7,254,0,0,0, + 15,254,0,0,0,15,252,0,0,0,31,252,0,0,0,31, + 248,0,0,0,31,248,0,0,0,63,240,0,0,0,63,240, + 0,0,0,127,240,0,0,0,127,224,0,0,0,255,224,0, + 0,0,255,192,0,0,1,255,192,0,0,1,255,192,0,0, + 3,255,128,0,0,3,255,128,0,0,3,255,0,0,0,7, + 255,0,0,0,7,254,0,0,0,15,254,0,0,0,15,254, + 0,0,0,31,252,0,0,0,31,252,0,0,0,63,248,0, + 0,0,63,248,0,0,0,63,248,0,0,0,127,240,0,0, + 0,127,240,0,0,0,255,224,0,0,0,255,224,0,0,1, + 255,192,0,0,1,255,192,0,0,3,255,192,0,0,3,255, + 128,0,0,7,255,128,0,0,34,51,255,39,2,255,0,15, + 252,0,0,0,255,255,192,0,3,255,255,240,0,7,255,255, + 248,0,15,255,255,252,0,31,255,255,254,0,63,255,255,255, + 0,63,255,255,255,0,63,252,15,255,0,127,248,7,255,128, + 127,240,3,255,128,127,224,1,255,128,127,224,1,255,128,127, + 224,1,255,128,127,224,1,255,128,127,224,1,255,128,127,224, + 1,255,128,63,240,3,255,0,63,248,7,255,0,31,252,15, + 254,0,15,255,255,252,0,7,255,255,240,0,1,255,255,192, + 0,0,63,255,0,0,0,255,255,128,0,3,255,255,224,0, + 7,255,255,248,0,31,255,255,252,0,63,252,15,254,0,63, + 248,7,255,0,127,240,3,255,0,127,224,1,255,128,127,224, + 1,255,128,255,192,0,255,192,255,192,0,255,192,255,192,0, + 255,192,255,192,0,255,192,255,192,0,255,192,255,192,0,255, + 192,255,224,1,255,192,255,224,1,255,192,255,240,3,255,192, + 127,240,7,255,128,127,252,15,255,128,63,255,255,255,0,63, + 255,255,255,0,31,255,255,254,0,15,255,255,252,0,3,255, + 255,240,0,0,255,255,192,0,0,15,252,0,0,34,51,255, + 39,2,255,0,7,248,0,0,0,63,255,0,0,0,255,255, + 192,0,3,255,255,224,0,7,255,255,240,0,15,255,255,248, + 0,31,255,255,252,0,31,255,255,254,0,63,248,31,254,0, + 63,240,7,255,0,127,224,7,255,0,127,192,3,255,0,127, + 192,3,255,128,255,192,1,255,128,255,128,1,255,128,255,128, + 1,255,128,255,128,1,255,192,255,128,1,255,192,255,128,1, + 255,192,255,192,1,255,192,255,192,3,255,192,255,192,3,255, + 192,127,224,7,255,192,127,240,7,255,192,127,248,31,255,192, + 63,255,255,255,192,31,255,255,127,192,31,255,254,255,192,15, + 255,252,255,192,3,255,252,255,192,1,255,240,255,192,0,127, + 192,255,128,0,0,0,255,128,0,0,0,255,128,0,0,1, + 255,128,0,0,1,255,128,0,0,1,255,0,0,0,1,255, + 0,127,192,3,255,0,127,192,3,254,0,127,224,7,254,0, + 63,224,15,254,0,63,240,15,252,0,31,248,63,252,0,31, + 255,255,248,0,15,255,255,240,0,7,255,255,224,0,3,255, + 255,192,0,1,255,255,128,0,0,127,254,0,0,0,15,240, + 0,0,9,34,68,21,9,0,255,128,255,128,255,128,255,128, + 255,128,255,128,255,128,255,128,255,128,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,255,128,255,128,255,128, + 255,128,255,128,255,128,255,128,255,128,255,128}; +/* + Fontname: -FreeType-FreeUniversal-Medium-R-Normal--15-150-72-72-P-71-ISO10646-1 + Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. + Capital A Height: 11, '1' Height: 11 + Calculated Max Values w=14 h=16 x= 4 y=10 dx=15 dy= 0 ascent=16 len=32 + Font Bounding box w=20 h=20 x=-1 y=-4 + Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 + Pure Font ascent =11 descent=-3 + X Font ascent =11 descent=-3 + Max Font ascent =16 descent=-4 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_fur11[3712] U8G_FONT_SECTION("u8g_font_fur11") = { + 0,20,20,255,252,11,2,81,4,211,32,255,253,16,252,11, + 253,0,0,0,5,0,0,1,11,11,5,2,0,128,128,128, + 128,128,128,128,128,128,0,128,5,5,5,7,1,6,216,216, + 152,152,144,9,11,22,11,1,0,9,0,9,0,19,0,127, + 128,18,0,38,0,255,0,36,0,100,0,72,0,72,0,7, + 14,14,9,1,255,16,16,120,148,148,144,240,124,22,18,146, + 214,124,16,12,11,22,14,1,0,112,128,152,128,137,0,137, + 0,154,0,116,224,5,176,9,16,9,16,17,48,16,224,9, + 11,22,11,1,0,56,0,68,0,68,0,120,0,113,0,217, + 0,137,0,143,0,134,0,199,0,125,128,2,5,5,6,2, + 6,192,128,128,128,128,2,14,14,6,2,253,64,64,192,128, + 128,128,128,128,128,128,128,192,64,64,2,14,14,5,2,253, + 128,128,128,192,64,64,64,64,64,64,192,128,128,128,6,5, + 5,10,2,5,72,48,252,48,120,9,9,18,15,3,0,8, + 0,8,0,8,0,8,0,255,128,8,0,8,0,8,0,8, + 0,2,4,4,4,1,254,192,192,128,128,4,1,1,6,1, + 3,240,1,2,2,4,2,0,128,128,4,12,12,6,1,255, + 16,16,16,32,32,32,64,64,64,64,128,128,6,11,11,8, + 1,0,120,200,140,132,132,132,132,132,140,200,120,4,11,11, + 8,2,0,48,112,208,16,16,16,16,16,16,16,16,6,11, + 11,8,1,0,120,204,196,4,12,24,16,48,96,192,252,7, + 11,11,8,0,0,60,70,194,6,24,4,6,2,194,70,60, + 7,11,11,8,1,0,12,28,20,36,100,68,196,254,4,4, + 4,6,11,11,8,1,0,248,128,128,184,204,132,4,4,140, + 200,112,7,11,11,8,1,0,60,198,134,128,188,198,130,130, + 130,198,60,7,11,11,8,1,0,254,6,6,4,12,8,24, + 24,16,48,48,6,11,11,8,1,0,120,204,132,204,112,200, + 132,132,132,204,120,7,11,11,8,1,0,124,198,130,130,198, + 122,2,6,134,204,120,1,8,8,4,2,0,128,128,0,0, + 0,0,128,128,2,10,10,4,1,254,64,64,0,0,0,0, + 64,192,192,128,9,8,16,15,3,1,0,128,3,0,28,0, + 96,0,128,0,112,0,14,0,1,128,9,4,8,15,3,3, + 255,128,0,0,0,0,255,128,9,8,16,15,3,1,128,0, + 96,0,28,0,3,0,0,128,7,0,56,0,192,0,7,11, + 11,8,0,0,60,198,2,6,4,8,16,16,16,0,16,13, + 14,28,15,1,253,15,128,48,96,96,16,206,144,153,152,144, + 136,144,136,144,136,145,152,153,144,206,96,96,0,48,0,15, + 128,11,11,22,11,0,0,6,0,14,0,10,0,27,0,25, + 0,49,128,49,128,63,192,96,192,64,64,192,96,8,11,11, + 10,1,0,252,134,130,130,134,252,130,129,129,131,254,8,11, + 11,10,1,0,62,99,193,128,128,128,128,128,193,67,62,8, + 11,11,10,1,0,248,134,130,131,129,129,129,131,130,134,248, + 6,11,11,9,1,0,252,128,128,128,128,252,128,128,128,128, + 252,6,11,11,8,1,0,252,128,128,128,128,252,128,128,128, + 128,128,9,11,22,11,1,0,30,0,97,128,192,128,128,0, + 128,0,135,128,128,128,128,128,192,128,96,128,63,128,8,11, + 11,10,1,0,129,129,129,129,129,255,129,129,129,129,129,1, + 11,11,3,1,0,128,128,128,128,128,128,128,128,128,128,128, + 6,11,11,8,1,0,4,4,4,4,4,4,4,4,132,140, + 120,8,11,11,9,1,0,134,140,152,176,224,224,176,152,140, + 134,131,6,11,11,7,1,0,128,128,128,128,128,128,128,128, + 128,128,252,11,11,22,13,1,0,192,96,224,224,224,160,161, + 160,177,160,145,32,147,32,154,32,138,32,142,32,132,32,8, + 11,11,10,1,0,193,225,225,177,177,153,137,141,133,135,131, + 9,11,22,11,1,0,62,0,99,0,193,128,129,128,128,128, + 128,128,128,128,129,128,193,0,99,0,62,0,7,11,11,9, + 1,0,252,134,130,130,134,252,128,128,128,128,128,10,11,22, + 12,1,0,62,0,99,0,193,128,129,128,128,128,128,128,128, + 128,129,128,193,128,99,0,63,192,7,11,11,9,1,0,252, + 134,130,130,134,248,132,134,134,130,130,8,11,11,10,1,0, + 60,194,131,128,240,126,7,1,129,195,124,9,11,22,11,1, + 0,255,128,8,0,8,0,8,0,8,0,8,0,8,0,8, + 0,8,0,8,0,8,0,8,11,11,10,1,0,129,129,129, + 129,129,129,129,129,131,194,60,9,11,22,10,0,0,192,128, + 65,128,97,128,97,0,35,0,51,0,18,0,22,0,30,0, + 12,0,12,0,14,11,22,15,0,0,195,4,67,140,67,140, + 102,136,38,136,36,216,52,80,60,80,24,80,24,112,24,32, + 9,11,22,11,1,0,193,0,99,0,38,0,52,0,28,0, + 24,0,60,0,38,0,98,0,195,0,129,128,9,11,22,10, + 1,0,193,128,65,0,99,0,38,0,52,0,28,0,8,0, + 8,0,8,0,8,0,8,0,8,11,11,10,1,0,127,3, + 6,6,12,24,56,48,96,224,255,3,14,14,6,2,253,224, + 128,128,128,128,128,128,128,128,128,128,128,128,224,4,12,12, + 6,1,255,128,128,128,64,64,64,32,32,32,32,16,16,3, + 14,14,6,1,253,224,32,32,32,32,32,32,32,32,32,32, + 32,32,224,7,10,10,15,4,0,16,16,40,40,72,68,68, + 130,130,130,8,1,1,8,0,254,255,2,3,3,3,0,9, + 128,192,64,6,8,8,8,1,0,120,204,4,124,196,132,140, + 116,7,11,11,9,1,0,128,128,128,188,198,134,130,130,134, + 196,184,6,8,8,8,1,0,120,204,132,128,128,132,204,120, + 7,11,11,9,1,0,2,2,2,122,198,134,130,130,134,198, + 58,6,8,8,8,1,0,120,196,132,252,128,132,204,120,5, + 11,11,7,1,0,56,32,32,248,32,32,32,32,32,32,32, + 7,11,11,9,1,253,122,198,134,130,130,134,198,122,6,198, + 120,6,11,11,8,1,0,128,128,128,184,204,132,132,132,132, + 132,132,1,11,11,3,1,0,128,0,0,128,128,128,128,128, + 128,128,128,2,14,14,4,1,253,64,0,0,64,64,64,64, + 64,64,64,64,64,64,192,6,11,11,7,1,0,128,128,128, + 136,144,160,224,160,176,152,140,1,11,11,3,1,0,128,128, + 128,128,128,128,128,128,128,128,128,11,8,16,13,1,0,185, + 192,206,96,132,32,132,32,132,32,132,32,132,32,132,32,6, + 8,8,8,1,0,184,204,132,132,132,132,132,132,7,8,8, + 9,1,0,120,196,134,130,130,134,196,120,7,11,11,9,1, + 253,188,198,134,130,130,134,198,188,128,128,128,7,11,11,9, + 1,253,122,198,134,130,130,134,198,122,2,2,2,4,8,8, + 5,1,0,240,192,128,128,128,128,128,128,6,8,8,8,1, + 0,120,140,128,240,28,4,140,120,4,10,10,6,1,0,32, + 32,240,32,32,32,32,32,32,48,6,8,8,8,1,0,132, + 132,132,132,132,132,204,116,8,8,8,8,0,0,195,66,102, + 36,36,60,24,24,12,8,16,12,0,0,198,48,70,48,79, + 32,105,32,41,96,41,192,56,192,16,192,7,8,8,8,1, + 0,196,76,120,48,48,120,204,134,8,11,11,8,0,253,195, + 66,102,38,52,60,24,24,24,16,48,5,8,8,7,1,0, + 248,24,16,32,96,64,192,248,5,15,15,7,1,252,24,48, + 32,32,32,32,96,192,96,32,32,32,32,48,24,1,16,16, + 6,3,252,128,128,128,128,128,128,128,128,128,128,128,128,128, + 128,128,128,5,15,15,7,1,252,192,96,32,32,32,32,48, + 24,48,32,32,32,32,96,192,8,2,2,8,0,3,115,206, + 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,255,255,255,255,255,255, + 255,0,0,0,5,0,0,1,11,11,5,2,253,128,0,0, + 128,128,128,128,128,128,128,128,6,12,12,8,1,254,8,8, + 120,220,148,144,160,164,236,120,64,64,7,11,11,9,1,0, + 60,102,64,64,248,64,64,64,64,64,254,8,9,9,10,1, + 2,129,90,36,66,66,66,36,90,129,8,11,11,9,0,0, + 65,99,34,231,20,28,255,8,8,8,8,1,14,14,6,3, + 253,128,128,128,128,128,128,0,0,128,128,128,128,128,128,5, + 14,14,7,1,253,120,136,128,192,112,216,136,152,240,48,24, + 8,24,240,4,1,1,4,0,10,144,11,11,22,13,1,0, + 31,0,127,128,115,64,225,96,160,32,160,32,161,32,179,96, + 94,64,96,128,31,0,6,8,8,6,0,3,56,72,120,72, + 88,104,0,252,6,6,6,8,1,1,36,72,216,216,72,36, + 8,3,3,10,1,4,255,1,1,255,11,11,22,13,1,0, + 31,0,127,128,81,64,209,96,158,32,147,32,145,32,209,96, + 64,64,97,128,31,0,4,1,1,4,0,10,240,3,4,4, + 5,1,7,224,160,160,224,9,10,20,15,3,0,8,0,8, + 0,8,0,255,128,8,0,8,0,8,0,0,0,0,0,255, + 128,4,6,6,6,1,5,112,144,48,96,192,240,5,6,6, + 6,0,5,120,200,24,48,136,112,3,3,3,3,1,9,96, + 64,128,255,7,14,14,9,1,253,126,244,244,244,244,116,20, + 20,20,20,20,20,20,20,1,2,2,4,2,4,128,128,4, + 3,3,5,1,253,48,16,224,3,6,6,5,1,5,96,160, + 32,32,32,32,5,8,8,7,1,3,112,216,136,136,216,112, + 0,248,6,6,6,8,1,1,216,72,36,36,72,216,10,11, + 22,12,1,0,97,0,162,0,34,0,36,0,36,0,41,128, + 9,128,18,128,51,192,32,128,96,128,11,11,22,13,1,0, + 96,128,161,0,34,0,34,0,36,0,37,192,9,32,24,96, + 16,192,33,128,97,224,11,11,22,12,0,0,120,128,9,128, + 49,0,27,0,138,0,116,192,4,192,9,64,11,224,16,64, + 48,64,6,11,11,8,1,253,16,0,16,16,48,96,192,128, + 132,236,120,11,16,32,11,0,0,24,0,8,0,4,0,0, + 0,0,0,6,0,14,0,10,0,27,0,25,0,49,128,49, + 128,63,192,96,192,64,64,192,96,11,16,32,11,0,0,3, + 0,2,0,4,0,0,0,0,0,6,0,14,0,10,0,27, + 0,25,0,49,128,49,128,63,192,96,192,64,64,192,96,11, + 16,32,11,0,0,4,0,14,0,9,0,0,0,0,0,6, + 0,14,0,10,0,27,0,25,0,49,128,49,128,63,192,96, + 192,64,64,192,96,11,15,30,11,0,0,13,0,22,0,0, + 0,0,0,6,0,14,0,10,0,27,0,25,0,49,128,49, + 128,63,192,96,192,64,64,192,96,11,14,28,11,0,0,9, + 0,0,0,0,0,6,0,14,0,11,0,27,0,25,0,17, + 128,48,128,63,192,96,192,64,96,192,96,11,16,32,11,0, + 0,14,0,10,0,14,0,0,0,0,0,4,0,12,0,10, + 0,10,0,17,0,17,0,49,128,63,128,96,192,64,64,192, + 96,13,11,22,14,0,0,3,248,5,0,13,0,13,0,25, + 0,25,248,49,0,63,0,97,0,65,0,193,248,8,15,15, + 10,1,252,62,97,193,128,128,128,128,128,193,67,62,12,6, + 2,28,6,16,16,9,1,0,64,32,16,0,0,252,128,128, + 128,128,252,128,128,128,128,252,6,16,16,9,1,0,8,16, + 16,0,0,252,128,128,128,128,252,128,128,128,128,252,6,16, + 16,9,1,0,48,48,72,0,0,252,128,128,128,128,252,128, + 128,128,128,252,6,15,15,8,1,0,72,0,0,0,252,128, + 128,128,128,252,128,128,128,128,252,3,16,16,3,255,0,192, + 64,32,0,0,32,32,32,32,32,32,32,32,32,32,32,3, + 16,16,3,1,0,96,192,128,0,0,128,128,128,128,128,128, + 128,128,128,128,128,3,16,16,3,0,0,64,224,160,0,0, + 64,64,64,64,64,64,64,64,64,64,64,4,14,14,4,0, + 0,144,0,0,64,64,64,64,64,64,64,64,64,64,64,10, + 11,22,11,0,0,62,0,33,128,32,128,32,192,32,64,248, + 64,32,64,32,192,32,128,33,128,62,0,8,15,15,10,1, + 0,52,44,0,0,193,225,225,177,177,153,137,141,133,135,131, + 9,16,32,11,1,0,48,0,16,0,8,0,0,0,0,0, + 62,0,99,0,193,128,129,128,128,128,128,128,128,128,129,128, + 193,0,99,0,62,0,9,16,32,11,1,0,4,0,12,0, + 8,0,0,0,0,0,62,0,99,0,193,128,129,128,128,128, + 128,128,128,128,129,128,193,0,99,0,62,0,9,16,32,11, + 1,0,8,0,28,0,20,0,0,0,0,0,62,0,99,0, + 193,128,129,128,128,128,128,128,128,128,129,128,193,0,99,0, + 62,0,9,15,30,11,1,0,24,0,44,0,0,0,0,0, + 62,0,99,0,193,128,128,128,128,128,128,128,128,128,129,128, + 193,0,119,0,62,0,9,15,30,11,1,0,18,0,0,0, + 0,0,0,0,62,0,99,0,193,128,129,128,128,128,128,128, + 128,128,129,128,193,0,99,0,62,0,7,7,7,15,4,1, + 130,68,40,16,40,68,130,9,13,26,11,1,255,0,128,63, + 0,99,0,195,128,134,128,140,128,136,128,152,128,177,128,225, + 0,99,0,254,0,128,0,8,16,16,10,1,0,32,16,24, + 0,0,129,129,129,129,129,129,129,129,195,230,60,8,16,16, + 10,1,0,12,8,16,0,0,129,129,129,129,129,129,129,129, + 195,230,60,8,16,16,10,1,0,24,24,36,0,0,129,129, + 129,129,129,129,129,129,195,230,60,8,15,15,10,1,0,36, + 0,0,0,129,129,129,129,129,129,129,129,131,194,60,9,16, + 32,10,1,0,6,0,4,0,8,0,0,0,0,0,193,128, + 65,0,99,0,38,0,52,0,28,0,8,0,8,0,8,0, + 8,0,8,0,7,11,11,9,1,0,128,128,252,134,130,130, + 134,252,128,128,128,7,11,11,8,1,0,120,204,132,140,144, + 144,156,134,130,178,156,6,12,12,8,1,0,32,16,16,0, + 120,204,4,124,196,132,140,116,6,13,13,8,1,0,24,16, + 48,32,0,120,204,4,124,196,132,140,116,6,12,12,8,1, + 0,48,104,72,0,120,204,4,124,196,132,140,116,6,11,11, + 8,1,0,120,0,0,120,204,4,124,196,132,140,116,6,11, + 11,8,1,0,72,0,0,120,204,4,124,196,132,140,116,6, + 13,13,8,1,0,48,72,72,48,0,120,196,4,124,196,132, + 140,116,12,8,16,13,1,0,251,192,138,32,4,48,127,240, + 196,0,140,48,202,96,113,192,6,12,12,8,1,252,120,204, + 132,128,128,132,204,120,48,24,8,48,6,13,13,8,1,0, + 64,32,32,16,0,120,196,132,252,128,132,204,120,6,13,13, + 8,1,0,8,16,16,32,0,120,196,132,252,128,132,204,120, + 6,12,12,8,1,0,48,104,72,0,120,196,132,252,128,132, + 204,120,6,11,11,8,1,0,72,0,0,120,204,132,252,128, + 132,204,120,2,12,12,3,0,0,128,64,64,0,64,64,64, + 64,64,64,64,64,3,12,12,3,0,0,32,64,128,0,64, + 64,64,64,64,64,64,64,5,12,12,3,255,0,112,80,136, + 0,32,32,32,32,32,32,32,32,4,11,11,4,0,0,144, + 0,0,64,64,64,64,64,64,64,64,7,11,11,9,1,0, + 104,112,136,124,198,134,130,130,134,196,120,6,11,11,8,1, + 0,120,0,0,184,204,132,132,132,132,132,132,7,13,13,9, + 1,0,96,32,16,16,0,120,196,134,130,130,134,196,120,7, + 13,13,9,1,0,12,24,16,32,0,120,196,134,130,130,134, + 196,120,7,12,12,9,1,0,56,40,68,0,120,196,134,130, + 130,134,196,120,7,11,11,9,1,0,120,0,0,120,196,134, + 130,130,134,196,120,7,11,11,9,1,0,72,0,0,120,196, + 134,130,130,134,196,120,9,7,14,15,3,1,8,0,8,0, + 0,0,255,128,0,0,8,0,8,0,8,10,10,9,0,255, + 1,62,98,71,73,89,83,98,124,192,6,13,13,8,1,0, + 64,32,32,16,0,132,132,132,132,132,132,204,116,6,13,13, + 8,1,0,24,16,48,32,0,132,132,132,132,132,132,204,116, + 6,12,12,8,1,0,48,80,72,0,132,132,132,132,132,132, + 204,116,6,11,11,8,1,0,72,0,0,132,132,132,132,132, + 132,204,116,8,15,15,8,0,253,4,8,16,0,195,66,102, + 38,52,60,24,24,24,80,112,7,14,14,9,1,253,128,128, + 128,188,198,134,130,130,134,198,188,128,128,128,8,14,14,8, + 0,253,36,0,0,195,66,102,36,36,60,24,24,24,16,48 + }; +/* + Fontname: -FreeType-FreeUniversal-Medium-R-Normal--15-150-72-72-P-71-ISO10646-1 + Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. + Capital A Height: 0, '1' Height: 11 + Calculated Max Values w= 9 h=12 x= 3 y= 5 dx=15 dy= 0 ascent=11 len=18 + Font Bounding box w=20 h=20 x=-1 y=-4 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent =11 descent= 0 + X Font ascent =11 descent= 0 + Max Font ascent =11 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_fur11n[279] U8G_FONT_SECTION("u8g_font_fur11n") = { + 0,20,20,255,252,11,0,0,0,0,42,58,0,11,254,11, + 0,6,5,5,10,2,5,72,48,252,48,120,9,9,18,15, + 3,0,8,0,8,0,8,0,8,0,255,128,8,0,8,0, + 8,0,8,0,2,4,4,4,1,254,192,192,128,128,4,1, + 1,6,1,3,240,1,2,2,4,2,0,128,128,4,12,12, + 6,1,255,16,16,16,32,32,32,64,64,64,64,128,128,6, + 11,11,8,1,0,120,200,140,132,132,132,132,132,140,200,120, + 4,11,11,8,2,0,48,112,208,16,16,16,16,16,16,16, + 16,6,11,11,8,1,0,120,204,196,4,12,24,16,48,96, + 192,252,7,11,11,8,0,0,60,70,194,6,24,4,6,2, + 194,70,60,7,11,11,8,1,0,12,28,20,36,100,68,196, + 254,4,4,4,6,11,11,8,1,0,248,128,128,184,204,132, + 4,4,140,200,112,7,11,11,8,1,0,60,198,134,128,188, + 198,130,130,130,198,60,7,11,11,8,1,0,254,6,6,4, + 12,8,24,24,16,48,48,6,11,11,8,1,0,120,204,132, + 204,112,200,132,132,132,204,120,7,11,11,8,1,0,124,198, + 130,130,198,122,2,6,134,204,120,1,8,8,4,2,0,128, + 128,0,0,0,0,128,128}; +/* + Fontname: -FreeType-FreeUniversal-Medium-R-Normal--15-150-72-72-P-71-ISO10646-1 + Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. + Capital A Height: 11, '1' Height: 11 + Calculated Max Values w=14 h=16 x= 4 y= 9 dx=15 dy= 0 ascent=13 len=28 + Font Bounding box w=20 h=20 x=-1 y=-4 + Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 + Pure Font ascent =11 descent=-3 + X Font ascent =11 descent=-3 + Max Font ascent =13 descent=-4 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_fur11r[1729] U8G_FONT_SECTION("u8g_font_fur11r") = { + 0,20,20,255,252,11,2,81,4,211,32,127,253,13,252,11, + 253,0,0,0,5,0,0,1,11,11,5,2,0,128,128,128, + 128,128,128,128,128,128,0,128,5,5,5,7,1,6,216,216, + 152,152,144,9,11,22,11,1,0,9,0,9,0,19,0,127, + 128,18,0,38,0,255,0,36,0,100,0,72,0,72,0,7, + 14,14,9,1,255,16,16,120,148,148,144,240,124,22,18,146, + 214,124,16,12,11,22,14,1,0,112,128,152,128,137,0,137, + 0,154,0,116,224,5,176,9,16,9,16,17,48,16,224,9, + 11,22,11,1,0,56,0,68,0,68,0,120,0,113,0,217, + 0,137,0,143,0,134,0,199,0,125,128,2,5,5,6,2, + 6,192,128,128,128,128,2,14,14,6,2,253,64,64,192,128, + 128,128,128,128,128,128,128,192,64,64,2,14,14,5,2,253, + 128,128,128,192,64,64,64,64,64,64,192,128,128,128,6,5, + 5,10,2,5,72,48,252,48,120,9,9,18,15,3,0,8, + 0,8,0,8,0,8,0,255,128,8,0,8,0,8,0,8, + 0,2,4,4,4,1,254,192,192,128,128,4,1,1,6,1, + 3,240,1,2,2,4,2,0,128,128,4,12,12,6,1,255, + 16,16,16,32,32,32,64,64,64,64,128,128,6,11,11,8, + 1,0,120,200,140,132,132,132,132,132,140,200,120,4,11,11, + 8,2,0,48,112,208,16,16,16,16,16,16,16,16,6,11, + 11,8,1,0,120,204,196,4,12,24,16,48,96,192,252,7, + 11,11,8,0,0,60,70,194,6,24,4,6,2,194,70,60, + 7,11,11,8,1,0,12,28,20,36,100,68,196,254,4,4, + 4,6,11,11,8,1,0,248,128,128,184,204,132,4,4,140, + 200,112,7,11,11,8,1,0,60,198,134,128,188,198,130,130, + 130,198,60,7,11,11,8,1,0,254,6,6,4,12,8,24, + 24,16,48,48,6,11,11,8,1,0,120,204,132,204,112,200, + 132,132,132,204,120,7,11,11,8,1,0,124,198,130,130,198, + 122,2,6,134,204,120,1,8,8,4,2,0,128,128,0,0, + 0,0,128,128,2,10,10,4,1,254,64,64,0,0,0,0, + 64,192,192,128,9,8,16,15,3,1,0,128,3,0,28,0, + 96,0,128,0,112,0,14,0,1,128,9,4,8,15,3,3, + 255,128,0,0,0,0,255,128,9,8,16,15,3,1,128,0, + 96,0,28,0,3,0,0,128,7,0,56,0,192,0,7,11, + 11,8,0,0,60,198,2,6,4,8,16,16,16,0,16,13, + 14,28,15,1,253,15,128,48,96,96,16,206,144,153,152,144, + 136,144,136,144,136,145,152,153,144,206,96,96,0,48,0,15, + 128,11,11,22,11,0,0,6,0,14,0,10,0,27,0,25, + 0,49,128,49,128,63,192,96,192,64,64,192,96,8,11,11, + 10,1,0,252,134,130,130,134,252,130,129,129,131,254,8,11, + 11,10,1,0,62,99,193,128,128,128,128,128,193,67,62,8, + 11,11,10,1,0,248,134,130,131,129,129,129,131,130,134,248, + 6,11,11,9,1,0,252,128,128,128,128,252,128,128,128,128, + 252,6,11,11,8,1,0,252,128,128,128,128,252,128,128,128, + 128,128,9,11,22,11,1,0,30,0,97,128,192,128,128,0, + 128,0,135,128,128,128,128,128,192,128,96,128,63,128,8,11, + 11,10,1,0,129,129,129,129,129,255,129,129,129,129,129,1, + 11,11,3,1,0,128,128,128,128,128,128,128,128,128,128,128, + 6,11,11,8,1,0,4,4,4,4,4,4,4,4,132,140, + 120,8,11,11,9,1,0,134,140,152,176,224,224,176,152,140, + 134,131,6,11,11,7,1,0,128,128,128,128,128,128,128,128, + 128,128,252,11,11,22,13,1,0,192,96,224,224,224,160,161, + 160,177,160,145,32,147,32,154,32,138,32,142,32,132,32,8, + 11,11,10,1,0,193,225,225,177,177,153,137,141,133,135,131, + 9,11,22,11,1,0,62,0,99,0,193,128,129,128,128,128, + 128,128,128,128,129,128,193,0,99,0,62,0,7,11,11,9, + 1,0,252,134,130,130,134,252,128,128,128,128,128,10,11,22, + 12,1,0,62,0,99,0,193,128,129,128,128,128,128,128,128, + 128,129,128,193,128,99,0,63,192,7,11,11,9,1,0,252, + 134,130,130,134,248,132,134,134,130,130,8,11,11,10,1,0, + 60,194,131,128,240,126,7,1,129,195,124,9,11,22,11,1, + 0,255,128,8,0,8,0,8,0,8,0,8,0,8,0,8, + 0,8,0,8,0,8,0,8,11,11,10,1,0,129,129,129, + 129,129,129,129,129,131,194,60,9,11,22,10,0,0,192,128, + 65,128,97,128,97,0,35,0,51,0,18,0,22,0,30,0, + 12,0,12,0,14,11,22,15,0,0,195,4,67,140,67,140, + 102,136,38,136,36,216,52,80,60,80,24,80,24,112,24,32, + 9,11,22,11,1,0,193,0,99,0,38,0,52,0,28,0, + 24,0,60,0,38,0,98,0,195,0,129,128,9,11,22,10, + 1,0,193,128,65,0,99,0,38,0,52,0,28,0,8,0, + 8,0,8,0,8,0,8,0,8,11,11,10,1,0,127,3, + 6,6,12,24,56,48,96,224,255,3,14,14,6,2,253,224, + 128,128,128,128,128,128,128,128,128,128,128,128,224,4,12,12, + 6,1,255,128,128,128,64,64,64,32,32,32,32,16,16,3, + 14,14,6,1,253,224,32,32,32,32,32,32,32,32,32,32, + 32,32,224,7,10,10,15,4,0,16,16,40,40,72,68,68, + 130,130,130,8,1,1,8,0,254,255,2,3,3,3,0,9, + 128,192,64,6,8,8,8,1,0,120,204,4,124,196,132,140, + 116,7,11,11,9,1,0,128,128,128,188,198,134,130,130,134, + 196,184,6,8,8,8,1,0,120,204,132,128,128,132,204,120, + 7,11,11,9,1,0,2,2,2,122,198,134,130,130,134,198, + 58,6,8,8,8,1,0,120,196,132,252,128,132,204,120,5, + 11,11,7,1,0,56,32,32,248,32,32,32,32,32,32,32, + 7,11,11,9,1,253,122,198,134,130,130,134,198,122,6,198, + 120,6,11,11,8,1,0,128,128,128,184,204,132,132,132,132, + 132,132,1,11,11,3,1,0,128,0,0,128,128,128,128,128, + 128,128,128,2,14,14,4,1,253,64,0,0,64,64,64,64, + 64,64,64,64,64,64,192,6,11,11,7,1,0,128,128,128, + 136,144,160,224,160,176,152,140,1,11,11,3,1,0,128,128, + 128,128,128,128,128,128,128,128,128,11,8,16,13,1,0,185, + 192,206,96,132,32,132,32,132,32,132,32,132,32,132,32,6, + 8,8,8,1,0,184,204,132,132,132,132,132,132,7,8,8, + 9,1,0,120,196,134,130,130,134,196,120,7,11,11,9,1, + 253,188,198,134,130,130,134,198,188,128,128,128,7,11,11,9, + 1,253,122,198,134,130,130,134,198,122,2,2,2,4,8,8, + 5,1,0,240,192,128,128,128,128,128,128,6,8,8,8,1, + 0,120,140,128,240,28,4,140,120,4,10,10,6,1,0,32, + 32,240,32,32,32,32,32,32,48,6,8,8,8,1,0,132, + 132,132,132,132,132,204,116,8,8,8,8,0,0,195,66,102, + 36,36,60,24,24,12,8,16,12,0,0,198,48,70,48,79, + 32,105,32,41,96,41,192,56,192,16,192,7,8,8,8,1, + 0,196,76,120,48,48,120,204,134,8,11,11,8,0,253,195, + 66,102,38,52,60,24,24,24,16,48,5,8,8,7,1,0, + 248,24,16,32,96,64,192,248,5,15,15,7,1,252,24,48, + 32,32,32,32,96,192,96,32,32,32,32,48,24,1,16,16, + 6,3,252,128,128,128,128,128,128,128,128,128,128,128,128,128, + 128,128,128,5,15,15,7,1,252,192,96,32,32,32,32,48, + 24,48,32,32,32,32,96,192,8,2,2,8,0,3,115,206, + 255}; +/* + Fontname: -FreeType-FreeUniversal-Medium-R-Normal--19-190-72-72-P-92-ISO10646-1 + Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. + Capital A Height: 14, '1' Height: 14 + Calculated Max Values w=18 h=21 x= 5 y=13 dx=19 dy= 0 ascent=21 len=54 + Font Bounding box w=26 h=26 x=-1 y=-5 + Calculated Min Values x=-1 y=-5 dx= 0 dy= 0 + Pure Font ascent =14 descent=-4 + X Font ascent =14 descent=-4 + Max Font ascent =21 descent=-5 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_fur14[5349] U8G_FONT_SECTION("u8g_font_fur14") = { + 0,26,26,255,251,14,3,59,6,250,32,255,252,21,251,14, + 252,0,0,0,6,0,0,2,14,14,8,3,0,192,192,192, + 192,192,192,192,192,192,192,192,0,0,192,6,6,6,9,1, + 8,204,204,76,76,68,68,12,14,28,14,1,0,6,96,4, + 64,4,64,12,192,127,240,8,128,25,128,25,0,255,224,19, + 0,51,0,34,0,34,0,102,0,9,18,36,11,1,254,8, + 0,8,0,62,0,107,0,201,128,200,0,200,0,248,0,126, + 0,15,0,9,128,9,128,201,128,201,128,107,0,62,0,8, + 0,8,0,16,14,28,18,1,0,120,16,108,16,198,32,198, + 96,198,64,204,128,124,128,1,60,3,102,2,99,6,99,4, + 99,8,102,8,60,12,14,28,14,1,0,30,0,51,0,97, + 0,99,0,51,0,60,0,60,96,108,96,198,96,195,96,193, + 192,192,192,99,224,62,48,1,6,6,7,3,8,128,128,128, + 128,128,128,3,17,17,7,2,253,32,96,96,64,192,192,192, + 192,192,192,192,192,192,64,96,96,32,3,17,17,7,2,253, + 128,128,192,192,64,64,96,96,96,96,96,96,64,192,192,128, + 128,8,7,7,12,2,7,36,36,24,255,24,60,102,11,12, + 24,19,4,0,6,0,6,0,6,0,6,0,6,0,6,0, + 255,224,6,0,6,0,6,0,6,0,6,0,3,5,5,5, + 1,254,96,96,192,192,128,5,1,1,7,1,4,248,2,2, + 2,5,2,0,192,192,6,15,15,8,1,255,12,8,8,24, + 16,16,48,48,32,32,96,64,64,192,128,9,14,28,11,1, + 0,60,0,103,0,67,0,193,0,193,128,193,128,193,128,193, + 128,193,128,193,128,193,0,67,0,119,0,60,0,5,14,14, + 11,2,0,56,120,248,152,24,24,24,24,24,24,24,24,24, + 24,8,14,14,11,1,0,60,102,195,195,3,3,6,12,28, + 56,48,96,192,255,9,14,28,11,1,0,62,0,119,0,97, + 128,193,128,1,128,3,0,28,0,7,0,3,0,1,128,193, + 128,193,128,99,0,62,0,9,14,28,11,1,0,7,0,7, + 0,15,0,27,0,19,0,51,0,99,0,99,0,195,0,255, + 128,255,128,3,0,3,0,3,0,9,14,28,11,1,0,255, + 0,192,0,192,0,192,0,222,0,243,0,193,0,193,128,1, + 128,1,128,193,128,195,0,102,0,60,0,9,14,28,11,1, + 0,30,0,99,0,65,128,192,0,192,0,222,0,255,0,195, + 0,193,128,193,128,193,128,65,0,103,0,30,0,8,14,14, + 11,1,0,255,3,3,2,6,6,12,12,12,24,24,24,48, + 48,9,14,28,11,1,0,62,0,99,0,193,128,193,128,193, + 128,99,0,62,0,99,0,193,128,193,128,193,128,193,128,99, + 0,62,0,9,14,28,11,1,0,62,0,99,0,193,0,193, + 128,193,128,193,128,99,128,125,128,1,128,1,128,193,0,67, + 0,102,0,60,0,2,10,10,5,2,0,192,192,0,0,0, + 0,0,0,192,192,3,12,12,5,1,254,96,96,0,0,0, + 0,0,96,96,64,192,192,12,10,20,19,4,1,0,48,0, + 224,7,0,28,0,224,0,192,0,56,0,14,0,1,192,0, + 48,11,5,10,19,4,4,255,224,0,0,0,0,0,0,255, + 224,12,10,20,19,4,1,128,0,112,0,28,0,3,128,0, + 96,0,112,1,192,14,0,112,0,192,0,8,14,14,9,0, + 0,60,126,195,3,3,2,6,12,24,24,24,0,0,24,17, + 18,54,19,1,252,7,240,0,28,60,0,48,6,0,96,3, + 0,99,243,0,198,113,0,196,49,128,204,49,128,204,49,128, + 204,49,128,204,49,128,196,51,0,70,95,0,99,158,0,96, + 0,0,48,0,0,30,16,0,7,240,0,14,14,28,14,0, + 0,3,0,7,128,7,128,4,192,12,192,12,192,24,96,24, + 96,31,240,63,240,48,24,96,24,96,24,192,12,10,14,28, + 13,2,0,255,0,193,128,192,192,192,192,192,192,193,128,254, + 0,195,128,192,192,192,192,192,192,192,192,195,128,255,0,11, + 14,28,13,1,0,31,128,57,192,96,96,64,96,192,0,192, + 0,192,0,192,0,192,0,192,0,64,96,96,96,49,192,31, + 0,11,14,28,14,2,0,254,0,195,128,192,192,192,192,192, + 96,192,96,192,96,192,96,192,96,192,96,192,192,192,192,195, + 128,254,0,9,14,28,12,2,0,255,128,192,0,192,0,192, + 0,192,0,192,0,255,128,192,0,192,0,192,0,192,0,192, + 0,192,0,255,128,8,14,14,11,2,0,255,192,192,192,192, + 192,255,192,192,192,192,192,192,192,12,14,28,14,1,0,15, + 128,56,224,96,48,64,0,192,0,192,0,193,240,192,48,192, + 48,192,48,96,48,96,48,56,112,15,224,10,14,28,14,2, + 0,192,192,192,192,192,192,192,192,192,192,192,192,255,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,2,14,14, + 5,2,0,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,8,14,14,11,1,0,3,3,3,3,3,3,3,3,3, + 3,195,195,102,60,10,14,28,13,2,0,193,128,195,0,198, + 0,204,0,216,0,240,0,240,0,216,0,220,0,206,0,199, + 0,195,0,193,128,192,192,8,14,14,11,2,0,192,192,192, + 192,192,192,192,192,192,192,192,192,255,255,14,14,28,18,2, + 0,224,28,224,28,240,60,240,60,216,108,216,108,216,108,204, + 204,204,204,196,140,199,140,199,140,195,12,195,12,11,14,28, + 14,2,0,224,96,224,96,240,96,248,96,216,96,220,96,204, + 96,198,96,198,96,195,96,195,96,193,224,193,224,192,224,12, + 14,28,14,1,0,31,128,57,192,96,96,64,32,192,48,192, + 48,192,48,192,48,192,48,192,48,64,32,96,96,57,192,15, + 0,9,14,28,12,2,0,254,0,195,0,193,128,193,128,193, + 128,193,128,195,0,254,0,192,0,192,0,192,0,192,0,192, + 0,192,0,14,14,28,15,1,0,31,128,57,192,96,96,64, + 32,192,48,192,48,192,48,192,48,192,48,192,48,64,32,96, + 96,57,192,15,252,9,14,28,12,2,0,254,0,195,0,193, + 128,193,128,193,128,195,0,254,0,195,0,195,0,193,0,193, + 128,193,128,193,128,193,128,10,14,28,12,1,0,63,0,97, + 128,192,192,192,0,192,0,240,0,127,0,31,128,1,192,0, + 192,192,192,192,192,97,128,62,0,11,14,28,13,1,0,255, + 224,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, + 0,12,0,12,0,12,0,12,0,12,0,11,14,28,15,2, + 0,192,96,192,96,192,96,192,96,192,96,192,96,192,96,192, + 96,192,96,192,96,192,96,96,192,113,192,31,0,12,14,28, + 12,0,0,224,48,96,112,96,96,48,96,48,96,48,192,24, + 192,24,192,25,128,13,128,13,0,15,0,7,0,6,0,18, + 14,42,18,0,0,192,224,192,96,224,192,97,225,128,97,161, + 128,33,177,128,49,49,128,51,51,0,51,19,0,27,27,0, + 26,26,0,30,30,0,14,14,0,12,14,0,12,12,0,12, + 14,28,13,1,0,224,96,96,192,49,192,57,128,27,0,15, + 0,14,0,15,0,27,0,25,128,49,192,96,192,224,224,192, + 112,12,14,28,12,0,0,224,112,96,96,112,192,48,192,25, + 128,25,128,15,0,14,0,6,0,6,0,6,0,6,0,6, + 0,6,0,10,14,28,12,1,0,127,192,0,192,1,128,3, + 128,3,0,6,0,14,0,28,0,24,0,56,0,112,0,96, + 0,224,0,255,192,4,18,18,8,2,252,240,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,240,5,15,15, + 8,1,255,128,192,64,64,64,96,32,32,48,16,16,16,24, + 8,8,4,18,18,8,2,252,240,48,48,48,48,48,48,48, + 48,48,48,48,48,48,48,48,48,240,9,12,24,19,5,0, + 8,0,8,0,20,0,20,0,34,0,34,0,34,0,65,0, + 65,0,193,128,128,128,128,128,10,1,2,10,0,254,255,192, + 3,4,4,4,0,12,128,192,96,32,8,10,10,10,1,0, + 62,103,195,3,63,99,195,195,231,123,9,14,28,11,1,0, + 192,0,192,0,192,0,192,0,222,0,227,0,193,128,193,128, + 193,128,193,128,193,128,193,0,227,0,222,0,8,10,10,10, + 1,0,62,103,195,192,192,192,192,195,103,60,9,14,28,11, + 1,0,1,128,1,128,1,128,1,128,61,128,103,128,195,128, + 193,128,193,128,193,128,193,128,65,128,99,128,29,128,9,10, + 20,11,1,0,62,0,99,0,193,0,193,128,255,128,192,0, + 192,0,67,0,103,0,62,0,6,14,14,8,1,0,28,48, + 48,48,252,48,48,48,48,48,48,48,48,48,9,14,28,11, + 1,252,61,128,99,128,193,128,193,128,193,128,193,128,193,128, + 193,128,99,128,61,128,1,128,65,128,115,0,62,0,8,14, + 14,10,1,0,192,192,192,192,222,231,195,195,195,195,195,195, + 195,195,2,14,14,4,1,0,192,0,0,0,192,192,192,192, + 192,192,192,192,192,192,3,18,18,5,1,252,96,0,0,0, + 96,96,96,96,96,96,96,96,96,96,96,96,96,192,7,14, + 14,9,1,0,192,192,192,192,198,204,216,240,240,248,216,204, + 198,198,2,14,14,4,1,0,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,14,10,20,17,1,0,222,120,231,156, + 195,12,195,12,195,12,195,12,195,12,195,12,195,12,195,12, + 8,10,10,10,1,0,222,231,195,195,195,195,195,195,195,195, + 9,10,20,11,1,0,62,0,99,0,193,128,193,128,193,128, + 193,128,193,128,193,128,99,0,62,0,9,14,28,11,1,252, + 222,0,227,0,193,128,193,128,193,128,193,128,193,128,193,128, + 227,0,222,0,192,0,192,0,192,0,192,0,9,14,28,11, + 1,252,61,128,99,128,193,128,193,128,193,128,193,128,193,128, + 193,128,99,128,61,128,1,128,1,128,1,128,1,128,5,10, + 10,7,1,0,248,224,192,192,192,192,192,192,192,192,8,10, + 10,10,1,0,124,231,195,192,124,30,3,195,230,124,6,13, + 13,8,1,0,16,48,48,252,48,48,48,48,48,48,48,48, + 28,8,10,10,10,1,0,195,195,195,195,195,195,195,195,231, + 123,10,10,20,10,0,0,192,192,96,128,97,128,49,128,51, + 0,51,0,26,0,30,0,14,0,12,0,15,10,20,15,0, + 0,195,134,99,134,99,196,98,204,38,76,54,72,52,120,28, + 120,28,48,24,48,9,10,20,10,1,0,195,0,99,0,118, + 0,60,0,24,0,28,0,60,0,102,0,195,0,195,128,10, + 14,28,10,0,252,192,192,97,128,97,128,49,128,51,0,19, + 0,26,0,30,0,14,0,12,0,12,0,12,0,24,0,24, + 0,7,10,10,9,1,0,254,6,12,28,24,48,96,96,192, + 254,6,19,19,10,2,251,12,24,16,48,48,48,48,48,96, + 224,224,48,48,48,48,16,16,24,28,1,21,21,7,3,251, + 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, + 128,128,128,128,128,6,19,19,10,2,251,224,112,48,48,48, + 48,48,16,24,12,28,16,48,48,48,48,48,48,224,10,2, + 4,10,0,4,120,192,207,128,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,255,255,255,255,255,255,255,0,0,0,6,0,0,2, + 14,14,7,3,252,192,192,0,0,192,192,192,192,192,192,192, + 192,192,192,8,14,14,10,1,254,2,4,60,102,203,200,200, + 208,208,211,102,60,32,64,10,14,28,11,1,0,31,0,49, + 128,96,192,96,0,96,0,252,0,96,0,96,0,96,0,96, + 0,96,0,96,0,96,0,255,128,10,10,20,12,1,3,128, + 64,94,128,51,0,65,128,64,128,64,128,64,128,33,0,94, + 128,128,64,10,14,28,12,1,0,192,192,96,128,97,128,49, + 0,243,192,27,0,30,0,255,192,12,0,12,0,12,0,12, + 0,12,0,12,0,1,18,18,7,3,252,128,128,128,128,128, + 128,128,128,0,0,128,128,128,128,128,128,128,128,7,17,17, + 9,1,253,60,100,192,192,96,56,124,198,198,206,124,60,14, + 6,6,140,248,6,1,1,6,0,13,204,14,14,28,16,1, + 0,15,192,28,224,39,144,76,200,216,108,152,4,152,4,152, + 4,152,100,140,204,71,200,32,16,16,32,15,192,7,10,10, + 8,1,4,120,204,4,124,196,132,124,0,0,254,7,8,8, + 11,2,1,38,100,204,216,152,204,100,38,10,5,10,12,1, + 3,255,192,0,64,0,64,0,64,0,64,255,14,14,28,16, + 1,0,15,192,28,224,47,208,76,104,204,108,140,100,143,132, + 140,68,140,100,204,108,76,104,32,16,28,224,15,192,6,1, + 1,6,0,13,252,4,5,5,6,1,9,96,240,144,144,96, + 11,12,24,19,4,0,6,0,6,0,6,0,6,0,255,224, + 6,0,6,0,6,0,0,0,0,0,0,0,255,224,6,8, + 8,7,1,6,120,220,12,12,24,48,192,252,6,8,8,7, + 1,6,120,204,12,48,24,140,204,120,4,4,4,4,1,12, + 48,96,64,192,255,9,18,36,11,1,252,63,128,121,0,249, + 0,249,0,249,0,249,0,121,0,25,0,9,0,9,0,9, + 0,9,0,9,0,9,0,9,0,9,0,9,0,9,0,2, + 2,2,5,2,5,192,192,6,5,5,5,0,251,64,120,12, + 12,248,4,7,7,6,1,7,112,240,48,48,48,48,48,6, + 10,10,8,1,4,120,72,132,132,132,132,204,120,0,252,7, + 8,8,11,2,1,152,204,100,102,102,100,204,152,13,14,28, + 15,1,0,112,64,240,192,48,128,49,128,49,0,51,0,50, + 48,54,112,12,112,8,176,25,176,17,248,48,48,32,48,13, + 14,28,15,1,0,112,64,240,192,48,128,49,128,49,0,50, + 0,50,112,52,216,12,24,8,24,24,48,16,96,48,192,32, + 248,14,14,28,16,1,0,120,48,204,32,12,96,48,192,12, + 128,141,128,121,24,3,56,2,120,4,88,12,152,8,252,24, + 24,16,24,8,14,14,10,1,252,12,12,0,12,12,12,24, + 48,96,192,192,193,127,62,14,20,40,14,0,0,12,0,6, + 0,2,0,3,0,0,0,0,0,3,0,7,128,7,128,4, + 192,12,192,12,192,24,96,24,96,31,240,63,240,48,24,96, + 24,96,24,192,12,14,20,40,14,0,0,0,192,0,128,1, + 128,1,0,0,0,0,0,3,0,7,128,7,128,4,192,12, + 192,12,192,24,96,24,96,31,240,63,240,48,24,96,24,96, + 24,192,12,14,20,40,14,0,0,3,0,3,128,6,128,4, + 192,0,0,0,0,3,0,7,128,7,128,4,192,12,192,12, + 192,24,96,24,96,31,240,63,240,48,24,96,24,96,24,192, + 12,14,18,36,14,0,0,7,192,0,0,0,0,0,0,3, + 0,7,128,7,128,4,192,12,192,12,192,24,96,24,96,31, + 240,63,240,48,24,96,24,96,24,192,12,13,18,36,15,1, + 0,12,192,0,0,0,0,0,0,7,0,7,0,13,128,13, + 128,12,192,24,192,24,192,48,96,63,224,63,240,96,48,96, + 24,192,24,192,24,13,21,42,14,1,0,6,0,13,0,9, + 0,9,0,6,0,0,0,0,0,6,0,7,0,15,0,13, + 0,25,128,25,128,16,192,48,192,63,224,127,224,96,32,192, + 48,192,48,192,24,17,14,42,19,1,0,1,255,128,3,192, + 0,2,192,0,6,192,0,14,192,0,12,192,0,28,255,128, + 24,192,0,56,192,0,63,192,0,96,192,0,96,192,0,192, + 192,0,192,255,128,11,18,36,13,1,252,31,128,57,192,96, + 96,64,96,192,0,192,0,192,0,192,0,192,0,192,0,64, + 96,96,96,49,192,31,0,4,0,7,0,1,128,15,128,9, + 20,40,12,2,0,96,0,48,0,24,0,8,0,0,0,0, + 0,255,128,192,0,192,0,192,0,192,0,192,0,255,128,192, + 0,192,0,192,0,192,0,192,0,192,0,255,128,9,20,40, + 12,2,0,6,0,4,0,12,0,24,0,0,0,0,0,255, + 128,192,0,192,0,192,0,192,0,192,0,255,128,192,0,192, + 0,192,0,192,0,192,0,192,0,255,128,9,20,40,12,2, + 0,24,0,28,0,52,0,38,0,0,0,0,0,255,128,192, + 0,192,0,192,0,192,0,192,0,255,128,192,0,192,0,192, + 0,192,0,192,0,192,0,255,128,9,18,36,12,2,0,102, + 0,0,0,0,0,0,0,255,128,192,0,192,0,192,0,192, + 0,192,0,255,128,192,0,192,0,192,0,192,0,192,0,192, + 0,255,128,4,20,20,5,0,0,192,96,32,48,0,0,48, + 48,48,48,48,48,48,48,48,48,48,48,48,48,4,20,20, + 5,2,0,48,96,64,128,0,0,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,5,20,20,5,0,0,48,112,88, + 200,0,0,48,48,48,48,48,48,48,48,48,48,48,48,48, + 48,6,18,18,6,0,0,204,0,0,0,48,48,48,48,48, + 48,48,48,48,48,48,48,48,48,13,14,28,14,0,0,127, + 128,97,224,96,112,96,48,96,16,96,24,254,24,96,24,96, + 24,96,16,96,48,96,96,97,224,127,128,11,18,36,14,2, + 0,31,0,0,0,0,0,0,0,224,96,224,96,240,96,248, + 96,216,96,220,96,204,96,198,96,198,96,195,96,195,96,193, + 224,193,224,192,224,12,20,40,14,1,0,24,0,12,0,6, + 0,2,0,0,0,0,0,31,128,57,192,96,96,64,32,192, + 48,192,48,192,48,192,48,192,48,192,48,64,32,96,96,57, + 192,15,0,12,20,40,14,1,0,1,128,3,0,6,0,4, + 0,0,0,0,0,31,128,57,192,96,96,64,32,192,48,192, + 48,192,48,192,48,192,48,192,48,64,32,96,96,57,192,15, + 0,12,20,40,14,1,0,6,0,15,0,9,0,16,128,0, + 0,0,0,31,128,57,192,96,96,64,32,192,48,192,48,192, + 48,192,48,192,48,192,48,64,32,96,96,57,192,15,0,12, + 19,38,14,1,0,12,128,31,0,0,0,0,0,0,0,31, + 128,57,192,96,96,64,32,192,48,192,48,192,48,192,48,192, + 48,192,48,96,96,112,224,63,192,15,0,12,18,36,14,1, + 0,13,128,0,0,0,0,0,0,31,128,57,192,96,96,64, + 32,192,48,192,48,192,48,192,48,192,48,192,48,64,32,96, + 96,57,192,15,0,11,10,20,19,4,1,192,96,96,192,49, + 128,27,0,14,0,14,0,27,0,49,128,96,192,64,96,12, + 16,32,14,1,255,0,48,31,224,56,224,96,224,65,176,193, + 176,195,48,198,48,198,48,204,48,220,48,88,32,112,96,57, + 192,127,0,192,0,11,20,40,15,2,0,24,0,8,0,4, + 0,6,0,0,0,0,0,192,96,192,96,192,96,192,96,192, + 96,192,96,192,96,192,96,192,96,192,96,192,96,96,192,127, + 192,31,0,11,20,40,15,2,0,3,0,2,0,4,0,12, + 0,0,0,0,0,192,96,192,96,192,96,192,96,192,96,192, + 96,192,96,192,96,192,96,192,96,192,96,96,192,127,192,31, + 0,11,20,40,15,2,0,14,0,14,0,27,0,17,0,0, + 0,0,0,192,96,192,96,192,96,192,96,192,96,192,96,192, + 96,192,96,192,96,192,96,192,96,96,192,127,192,31,0,11, + 18,36,15,2,0,25,128,0,0,0,0,0,0,192,96,192, + 96,192,96,192,96,192,96,192,96,192,96,192,96,192,96,192, + 96,192,96,96,192,113,192,31,0,12,20,40,12,0,0,1, + 128,3,0,2,0,4,0,0,0,0,0,224,112,96,96,112, + 192,48,192,25,128,25,128,15,0,14,0,6,0,6,0,6, + 0,6,0,6,0,6,0,9,14,28,12,2,0,192,0,192, + 0,192,0,254,0,195,0,193,128,193,128,193,128,195,128,254, + 0,192,0,192,0,192,0,192,0,10,14,28,11,1,0,62, + 0,103,0,195,0,195,0,198,0,204,0,204,0,206,0,199, + 128,193,128,192,192,216,192,220,128,199,128,8,15,15,10,1, + 0,48,24,8,0,0,62,103,195,3,63,99,195,195,231,123, + 8,16,16,10,1,0,6,12,24,16,0,0,62,103,195,3, + 63,99,195,195,231,123,8,16,16,10,1,0,24,28,36,38, + 0,0,62,103,195,3,63,99,195,195,231,123,8,14,14,10, + 1,0,62,0,0,0,62,103,195,3,63,115,195,195,231,123, + 8,14,14,10,1,0,102,0,0,0,62,103,195,3,63,99, + 195,195,231,123,8,16,16,10,1,0,28,34,34,28,0,0, + 62,99,193,1,63,113,193,193,231,61,16,10,20,18,1,0, + 62,124,227,198,193,131,1,131,63,255,225,128,193,128,195,131, + 230,238,124,60,8,14,14,10,1,252,62,103,195,192,192,192, + 192,195,102,60,16,28,6,62,9,16,32,11,1,0,48,0, + 48,0,24,0,8,0,0,0,0,0,62,0,99,0,193,0, + 193,128,255,128,192,0,192,0,67,0,103,0,62,0,9,16, + 32,11,1,0,6,0,12,0,8,0,24,0,0,0,0,0, + 62,0,99,0,193,0,193,128,255,128,192,0,192,0,67,0, + 103,0,62,0,9,16,32,11,1,0,24,0,28,0,52,0, + 34,0,0,0,0,0,62,0,99,0,193,0,193,128,255,128, + 192,0,192,0,67,0,103,0,62,0,9,14,28,11,1,0, + 102,0,0,0,0,0,0,0,62,0,99,0,193,0,193,128, + 255,128,192,0,192,0,67,0,103,0,62,0,3,15,15,4, + 0,0,128,192,96,32,0,96,96,96,96,96,96,96,96,96, + 96,3,15,15,4,1,0,96,64,192,128,0,192,192,192,192, + 192,192,192,192,192,192,6,15,15,4,255,0,48,120,72,132, + 0,48,48,48,48,48,48,48,48,48,48,6,14,14,5,0, + 0,204,0,0,0,48,48,48,48,48,48,48,48,48,48,9, + 14,28,11,1,0,102,0,24,0,108,0,6,0,63,0,99, + 0,193,128,193,128,193,128,193,128,193,128,193,128,99,0,62, + 0,8,14,14,10,1,0,52,124,0,0,222,231,195,195,195, + 195,195,195,195,195,9,16,32,11,1,0,48,0,16,0,24, + 0,8,0,0,0,0,0,62,0,99,0,193,128,193,128,193, + 128,193,128,193,128,193,128,99,0,62,0,9,16,32,11,1, + 0,6,0,4,0,12,0,8,0,0,0,0,0,62,0,99, + 0,193,128,193,128,193,128,193,128,193,128,193,128,99,0,62, + 0,9,16,32,11,1,0,8,0,28,0,20,0,34,0,0, + 0,0,0,62,0,99,0,193,128,193,128,193,128,193,128,193, + 128,193,128,99,0,62,0,9,14,28,11,1,0,62,0,0, + 0,0,0,0,0,62,0,99,0,193,128,193,128,193,128,193, + 128,193,128,193,128,99,0,62,0,9,14,28,11,1,0,51, + 0,0,0,0,0,0,0,62,0,115,0,193,128,192,128,192, + 128,192,128,192,128,193,128,115,0,62,0,11,8,16,19,4, + 2,6,0,6,0,0,0,0,0,255,224,0,0,6,0,6, + 0,9,12,24,11,1,0,1,128,63,0,99,0,199,128,197, + 128,201,128,217,128,209,128,225,128,99,0,254,0,128,0,8, + 16,16,10,1,0,96,48,16,8,0,0,195,195,195,195,195, + 195,195,195,231,123,8,16,16,10,1,0,4,12,8,16,0, + 0,195,195,195,195,195,195,195,195,231,123,8,16,16,10,1, + 0,24,24,52,36,0,0,195,195,195,195,195,195,195,195,231, + 123,8,14,14,10,1,0,102,0,0,0,195,195,195,195,195, + 195,195,195,231,123,10,19,38,10,0,252,3,0,6,0,4, + 0,8,0,0,0,192,192,97,128,97,128,49,128,51,0,19, + 0,26,0,30,0,14,0,12,0,12,0,12,0,120,0,120, + 0,9,18,36,11,1,252,192,0,192,0,192,0,192,0,222, + 0,227,0,193,128,193,128,193,128,193,128,193,128,193,128,227, + 0,222,0,192,0,192,0,192,0,192,0,10,18,36,10,0, + 252,51,0,0,0,0,0,0,0,192,192,97,128,97,128,97, + 0,51,0,51,0,30,0,30,0,30,0,12,0,12,0,24, + 0,24,0,24,0}; +/* + Fontname: -FreeType-FreeUniversal-Medium-R-Normal--19-190-72-72-P-92-ISO10646-1 + Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. + Capital A Height: 0, '1' Height: 14 + Calculated Max Values w=11 h=15 x= 4 y= 7 dx=19 dy= 0 ascent=14 len=28 + Font Bounding box w=26 h=26 x=-1 y=-5 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent =14 descent= 0 + X Font ascent =14 descent= 0 + Max Font ascent =14 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_fur14n[421] U8G_FONT_SECTION("u8g_font_fur14n") = { + 0,26,26,255,251,14,0,0,0,0,42,58,0,14,254,14, + 0,8,7,7,12,2,7,36,36,24,255,24,60,102,11,12, + 24,19,4,0,6,0,6,0,6,0,6,0,6,0,6,0, + 255,224,6,0,6,0,6,0,6,0,6,0,3,5,5,5, + 1,254,96,96,192,192,128,5,1,1,7,1,4,248,2,2, + 2,5,2,0,192,192,6,15,15,8,1,255,12,8,8,24, + 16,16,48,48,32,32,96,64,64,192,128,9,14,28,11,1, + 0,60,0,103,0,67,0,193,0,193,128,193,128,193,128,193, + 128,193,128,193,128,193,0,67,0,119,0,60,0,5,14,14, + 11,2,0,56,120,248,152,24,24,24,24,24,24,24,24,24, + 24,8,14,14,11,1,0,60,102,195,195,3,3,6,12,28, + 56,48,96,192,255,9,14,28,11,1,0,62,0,119,0,97, + 128,193,128,1,128,3,0,28,0,7,0,3,0,1,128,193, + 128,193,128,99,0,62,0,9,14,28,11,1,0,7,0,7, + 0,15,0,27,0,19,0,51,0,99,0,99,0,195,0,255, + 128,255,128,3,0,3,0,3,0,9,14,28,11,1,0,255, + 0,192,0,192,0,192,0,222,0,243,0,193,0,193,128,1, + 128,1,128,193,128,195,0,102,0,60,0,9,14,28,11,1, + 0,30,0,99,0,65,128,192,0,192,0,222,0,255,0,195, + 0,193,128,193,128,193,128,65,0,103,0,30,0,8,14,14, + 11,1,0,255,3,3,2,6,6,12,12,12,24,24,24,48, + 48,9,14,28,11,1,0,62,0,99,0,193,128,193,128,193, + 128,99,0,62,0,99,0,193,128,193,128,193,128,193,128,99, + 0,62,0,9,14,28,11,1,0,62,0,99,0,193,0,193, + 128,193,128,193,128,99,128,125,128,1,128,1,128,193,0,67, + 0,102,0,60,0,2,10,10,5,2,0,192,192,0,0,0, + 0,0,0,192,192}; +/* + Fontname: -FreeType-FreeUniversal-Medium-R-Normal--19-190-72-72-P-92-ISO10646-1 + Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. + Capital A Height: 14, '1' Height: 14 + Calculated Max Values w=18 h=21 x= 5 y=12 dx=19 dy= 0 ascent=16 len=54 + Font Bounding box w=26 h=26 x=-1 y=-5 + Calculated Min Values x= 0 y=-5 dx= 0 dy= 0 + Pure Font ascent =14 descent=-4 + X Font ascent =14 descent=-4 + Max Font ascent =16 descent=-5 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_fur14r[2489] U8G_FONT_SECTION("u8g_font_fur14r") = { + 0,26,26,255,251,14,3,59,6,250,32,127,252,16,251,14, + 252,0,0,0,6,0,0,2,14,14,8,3,0,192,192,192, + 192,192,192,192,192,192,192,192,0,0,192,6,6,6,9,1, + 8,204,204,76,76,68,68,12,14,28,14,1,0,6,96,4, + 64,4,64,12,192,127,240,8,128,25,128,25,0,255,224,19, + 0,51,0,34,0,34,0,102,0,9,18,36,11,1,254,8, + 0,8,0,62,0,107,0,201,128,200,0,200,0,248,0,126, + 0,15,0,9,128,9,128,201,128,201,128,107,0,62,0,8, + 0,8,0,16,14,28,18,1,0,120,16,108,16,198,32,198, + 96,198,64,204,128,124,128,1,60,3,102,2,99,6,99,4, + 99,8,102,8,60,12,14,28,14,1,0,30,0,51,0,97, + 0,99,0,51,0,60,0,60,96,108,96,198,96,195,96,193, + 192,192,192,99,224,62,48,1,6,6,7,3,8,128,128,128, + 128,128,128,3,17,17,7,2,253,32,96,96,64,192,192,192, + 192,192,192,192,192,192,64,96,96,32,3,17,17,7,2,253, + 128,128,192,192,64,64,96,96,96,96,96,96,64,192,192,128, + 128,8,7,7,12,2,7,36,36,24,255,24,60,102,11,12, + 24,19,4,0,6,0,6,0,6,0,6,0,6,0,6,0, + 255,224,6,0,6,0,6,0,6,0,6,0,3,5,5,5, + 1,254,96,96,192,192,128,5,1,1,7,1,4,248,2,2, + 2,5,2,0,192,192,6,15,15,8,1,255,12,8,8,24, + 16,16,48,48,32,32,96,64,64,192,128,9,14,28,11,1, + 0,60,0,103,0,67,0,193,0,193,128,193,128,193,128,193, + 128,193,128,193,128,193,0,67,0,119,0,60,0,5,14,14, + 11,2,0,56,120,248,152,24,24,24,24,24,24,24,24,24, + 24,8,14,14,11,1,0,60,102,195,195,3,3,6,12,28, + 56,48,96,192,255,9,14,28,11,1,0,62,0,119,0,97, + 128,193,128,1,128,3,0,28,0,7,0,3,0,1,128,193, + 128,193,128,99,0,62,0,9,14,28,11,1,0,7,0,7, + 0,15,0,27,0,19,0,51,0,99,0,99,0,195,0,255, + 128,255,128,3,0,3,0,3,0,9,14,28,11,1,0,255, + 0,192,0,192,0,192,0,222,0,243,0,193,0,193,128,1, + 128,1,128,193,128,195,0,102,0,60,0,9,14,28,11,1, + 0,30,0,99,0,65,128,192,0,192,0,222,0,255,0,195, + 0,193,128,193,128,193,128,65,0,103,0,30,0,8,14,14, + 11,1,0,255,3,3,2,6,6,12,12,12,24,24,24,48, + 48,9,14,28,11,1,0,62,0,99,0,193,128,193,128,193, + 128,99,0,62,0,99,0,193,128,193,128,193,128,193,128,99, + 0,62,0,9,14,28,11,1,0,62,0,99,0,193,0,193, + 128,193,128,193,128,99,128,125,128,1,128,1,128,193,0,67, + 0,102,0,60,0,2,10,10,5,2,0,192,192,0,0,0, + 0,0,0,192,192,3,12,12,5,1,254,96,96,0,0,0, + 0,0,96,96,64,192,192,12,10,20,19,4,1,0,48,0, + 224,7,0,28,0,224,0,192,0,56,0,14,0,1,192,0, + 48,11,5,10,19,4,4,255,224,0,0,0,0,0,0,255, + 224,12,10,20,19,4,1,128,0,112,0,28,0,3,128,0, + 96,0,112,1,192,14,0,112,0,192,0,8,14,14,9,0, + 0,60,126,195,3,3,2,6,12,24,24,24,0,0,24,17, + 18,54,19,1,252,7,240,0,28,60,0,48,6,0,96,3, + 0,99,243,0,198,113,0,196,49,128,204,49,128,204,49,128, + 204,49,128,204,49,128,196,51,0,70,95,0,99,158,0,96, + 0,0,48,0,0,30,16,0,7,240,0,14,14,28,14,0, + 0,3,0,7,128,7,128,4,192,12,192,12,192,24,96,24, + 96,31,240,63,240,48,24,96,24,96,24,192,12,10,14,28, + 13,2,0,255,0,193,128,192,192,192,192,192,192,193,128,254, + 0,195,128,192,192,192,192,192,192,192,192,195,128,255,0,11, + 14,28,13,1,0,31,128,57,192,96,96,64,96,192,0,192, + 0,192,0,192,0,192,0,192,0,64,96,96,96,49,192,31, + 0,11,14,28,14,2,0,254,0,195,128,192,192,192,192,192, + 96,192,96,192,96,192,96,192,96,192,96,192,192,192,192,195, + 128,254,0,9,14,28,12,2,0,255,128,192,0,192,0,192, + 0,192,0,192,0,255,128,192,0,192,0,192,0,192,0,192, + 0,192,0,255,128,8,14,14,11,2,0,255,192,192,192,192, + 192,255,192,192,192,192,192,192,192,12,14,28,14,1,0,15, + 128,56,224,96,48,64,0,192,0,192,0,193,240,192,48,192, + 48,192,48,96,48,96,48,56,112,15,224,10,14,28,14,2, + 0,192,192,192,192,192,192,192,192,192,192,192,192,255,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,2,14,14, + 5,2,0,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,8,14,14,11,1,0,3,3,3,3,3,3,3,3,3, + 3,195,195,102,60,10,14,28,13,2,0,193,128,195,0,198, + 0,204,0,216,0,240,0,240,0,216,0,220,0,206,0,199, + 0,195,0,193,128,192,192,8,14,14,11,2,0,192,192,192, + 192,192,192,192,192,192,192,192,192,255,255,14,14,28,18,2, + 0,224,28,224,28,240,60,240,60,216,108,216,108,216,108,204, + 204,204,204,196,140,199,140,199,140,195,12,195,12,11,14,28, + 14,2,0,224,96,224,96,240,96,248,96,216,96,220,96,204, + 96,198,96,198,96,195,96,195,96,193,224,193,224,192,224,12, + 14,28,14,1,0,31,128,57,192,96,96,64,32,192,48,192, + 48,192,48,192,48,192,48,192,48,64,32,96,96,57,192,15, + 0,9,14,28,12,2,0,254,0,195,0,193,128,193,128,193, + 128,193,128,195,0,254,0,192,0,192,0,192,0,192,0,192, + 0,192,0,14,14,28,15,1,0,31,128,57,192,96,96,64, + 32,192,48,192,48,192,48,192,48,192,48,192,48,64,32,96, + 96,57,192,15,252,9,14,28,12,2,0,254,0,195,0,193, + 128,193,128,193,128,195,0,254,0,195,0,195,0,193,0,193, + 128,193,128,193,128,193,128,10,14,28,12,1,0,63,0,97, + 128,192,192,192,0,192,0,240,0,127,0,31,128,1,192,0, + 192,192,192,192,192,97,128,62,0,11,14,28,13,1,0,255, + 224,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, + 0,12,0,12,0,12,0,12,0,12,0,11,14,28,15,2, + 0,192,96,192,96,192,96,192,96,192,96,192,96,192,96,192, + 96,192,96,192,96,192,96,96,192,113,192,31,0,12,14,28, + 12,0,0,224,48,96,112,96,96,48,96,48,96,48,192,24, + 192,24,192,25,128,13,128,13,0,15,0,7,0,6,0,18, + 14,42,18,0,0,192,224,192,96,224,192,97,225,128,97,161, + 128,33,177,128,49,49,128,51,51,0,51,19,0,27,27,0, + 26,26,0,30,30,0,14,14,0,12,14,0,12,12,0,12, + 14,28,13,1,0,224,96,96,192,49,192,57,128,27,0,15, + 0,14,0,15,0,27,0,25,128,49,192,96,192,224,224,192, + 112,12,14,28,12,0,0,224,112,96,96,112,192,48,192,25, + 128,25,128,15,0,14,0,6,0,6,0,6,0,6,0,6, + 0,6,0,10,14,28,12,1,0,127,192,0,192,1,128,3, + 128,3,0,6,0,14,0,28,0,24,0,56,0,112,0,96, + 0,224,0,255,192,4,18,18,8,2,252,240,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,240,5,15,15, + 8,1,255,128,192,64,64,64,96,32,32,48,16,16,16,24, + 8,8,4,18,18,8,2,252,240,48,48,48,48,48,48,48, + 48,48,48,48,48,48,48,48,48,240,9,12,24,19,5,0, + 8,0,8,0,20,0,20,0,34,0,34,0,34,0,65,0, + 65,0,193,128,128,128,128,128,10,1,2,10,0,254,255,192, + 3,4,4,4,0,12,128,192,96,32,8,10,10,10,1,0, + 62,103,195,3,63,99,195,195,231,123,9,14,28,11,1,0, + 192,0,192,0,192,0,192,0,222,0,227,0,193,128,193,128, + 193,128,193,128,193,128,193,0,227,0,222,0,8,10,10,10, + 1,0,62,103,195,192,192,192,192,195,103,60,9,14,28,11, + 1,0,1,128,1,128,1,128,1,128,61,128,103,128,195,128, + 193,128,193,128,193,128,193,128,65,128,99,128,29,128,9,10, + 20,11,1,0,62,0,99,0,193,0,193,128,255,128,192,0, + 192,0,67,0,103,0,62,0,6,14,14,8,1,0,28,48, + 48,48,252,48,48,48,48,48,48,48,48,48,9,14,28,11, + 1,252,61,128,99,128,193,128,193,128,193,128,193,128,193,128, + 193,128,99,128,61,128,1,128,65,128,115,0,62,0,8,14, + 14,10,1,0,192,192,192,192,222,231,195,195,195,195,195,195, + 195,195,2,14,14,4,1,0,192,0,0,0,192,192,192,192, + 192,192,192,192,192,192,3,18,18,5,1,252,96,0,0,0, + 96,96,96,96,96,96,96,96,96,96,96,96,96,192,7,14, + 14,9,1,0,192,192,192,192,198,204,216,240,240,248,216,204, + 198,198,2,14,14,4,1,0,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,14,10,20,17,1,0,222,120,231,156, + 195,12,195,12,195,12,195,12,195,12,195,12,195,12,195,12, + 8,10,10,10,1,0,222,231,195,195,195,195,195,195,195,195, + 9,10,20,11,1,0,62,0,99,0,193,128,193,128,193,128, + 193,128,193,128,193,128,99,0,62,0,9,14,28,11,1,252, + 222,0,227,0,193,128,193,128,193,128,193,128,193,128,193,128, + 227,0,222,0,192,0,192,0,192,0,192,0,9,14,28,11, + 1,252,61,128,99,128,193,128,193,128,193,128,193,128,193,128, + 193,128,99,128,61,128,1,128,1,128,1,128,1,128,5,10, + 10,7,1,0,248,224,192,192,192,192,192,192,192,192,8,10, + 10,10,1,0,124,231,195,192,124,30,3,195,230,124,6,13, + 13,8,1,0,16,48,48,252,48,48,48,48,48,48,48,48, + 28,8,10,10,10,1,0,195,195,195,195,195,195,195,195,231, + 123,10,10,20,10,0,0,192,192,96,128,97,128,49,128,51, + 0,51,0,26,0,30,0,14,0,12,0,15,10,20,15,0, + 0,195,134,99,134,99,196,98,204,38,76,54,72,52,120,28, + 120,28,48,24,48,9,10,20,10,1,0,195,0,99,0,118, + 0,60,0,24,0,28,0,60,0,102,0,195,0,195,128,10, + 14,28,10,0,252,192,192,97,128,97,128,49,128,51,0,19, + 0,26,0,30,0,14,0,12,0,12,0,12,0,24,0,24, + 0,7,10,10,9,1,0,254,6,12,28,24,48,96,96,192, + 254,6,19,19,10,2,251,12,24,16,48,48,48,48,48,96, + 224,224,48,48,48,48,16,16,24,28,1,21,21,7,3,251, + 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, + 128,128,128,128,128,6,19,19,10,2,251,224,112,48,48,48, + 48,48,16,24,12,28,16,48,48,48,48,48,48,224,10,2, + 4,10,0,4,120,192,207,128,255}; +/* + Fontname: -FreeType-FreeUniversal-Medium-R-Normal--23-230-72-72-P-109-ISO10646-1 + Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. + Capital A Height: 17, '1' Height: 17 + Calculated Max Values w=22 h=25 x= 6 y=15 dx=24 dy= 0 ascent=24 len=66 + Font Bounding box w=31 h=30 x=-2 y=-6 + Calculated Min Values x=-1 y=-6 dx= 0 dy= 0 + Pure Font ascent =17 descent=-5 + X Font ascent =17 descent=-5 + Max Font ascent =24 descent=-6 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_fur17[6799] U8G_FONT_SECTION("u8g_font_fur17") = { + 0,31,30,254,250,17,4,5,8,170,32,255,251,24,250,17, + 251,0,0,0,7,0,0,2,17,17,8,3,0,192,192,192, + 192,192,192,192,192,192,192,192,192,192,0,0,192,192,7,7, + 7,10,2,10,206,206,198,198,196,196,196,15,17,34,17,1, + 0,1,24,3,24,3,24,3,48,6,48,63,254,6,32,4, + 96,12,96,12,64,255,248,24,192,24,128,17,128,49,128,49, + 128,49,0,11,21,42,13,1,254,4,0,4,0,63,0,127, + 128,196,192,196,192,196,0,196,0,244,0,127,0,63,192,5, + 224,4,224,4,96,196,96,196,96,228,96,127,192,63,128,4, + 0,4,0,19,17,51,21,1,0,60,2,0,126,4,0,227, + 12,0,195,8,0,195,24,0,195,16,0,195,48,0,102,96, + 0,62,71,128,0,207,192,0,152,96,1,152,96,1,24,96, + 2,24,96,6,24,96,4,15,192,12,7,128,15,17,34,17, + 1,0,15,0,63,128,48,192,48,192,49,192,59,128,31,0, + 28,24,118,24,103,24,227,152,193,216,192,240,224,112,96,120, + 123,252,31,142,2,7,7,8,3,10,192,192,192,192,192,192, + 64,4,20,20,8,2,253,48,48,96,96,96,224,192,192,192, + 192,192,192,192,192,224,96,96,96,48,48,4,20,20,8,2, + 253,192,64,96,96,96,48,48,48,48,48,48,48,48,48,48, + 96,96,96,64,192,9,9,18,15,3,8,34,0,54,0,22, + 0,28,0,255,128,156,128,20,0,54,0,34,0,14,14,28, + 24,5,0,2,0,2,0,2,0,2,0,2,0,2,0,255, + 252,2,0,2,0,2,0,2,0,2,0,2,0,2,0,4, + 6,6,6,1,253,112,112,96,96,192,192,6,1,1,8,1, + 5,252,2,3,3,6,2,0,192,192,192,7,18,18,9,1, + 255,6,6,4,12,12,8,8,24,24,16,48,48,32,32,96, + 96,64,192,10,17,34,13,1,0,30,0,63,128,97,128,96, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,97,192,97,128,63,128,30,0,5,17,17,13,3, + 0,56,120,248,216,24,24,24,24,24,24,24,24,24,24,24, + 24,24,10,17,34,13,1,0,30,0,127,128,97,128,224,192, + 224,192,0,192,1,192,3,128,3,128,7,0,14,0,28,0, + 56,0,112,0,96,0,224,0,255,192,10,17,34,13,1,0, + 31,0,127,128,96,192,224,192,0,192,0,192,3,128,14,0, + 7,128,1,192,0,192,0,192,192,192,224,192,97,192,127,128, + 30,0,11,17,34,13,1,0,3,128,3,128,7,128,13,128, + 13,128,25,128,57,128,49,128,97,128,97,128,193,128,255,224, + 255,224,1,128,1,128,1,128,1,128,10,17,34,13,1,0, + 127,128,96,0,96,0,96,0,96,0,111,0,127,128,97,128, + 64,192,0,192,0,192,0,192,0,192,192,192,225,128,127,0, + 30,0,11,17,34,13,1,0,31,0,59,128,96,192,224,192, + 192,0,192,0,207,0,223,192,241,192,224,224,192,96,192,96, + 192,96,192,96,96,192,59,192,31,0,10,17,34,13,1,0, + 255,192,0,192,0,192,1,128,1,128,3,128,3,0,3,0, + 7,0,6,0,6,0,14,0,12,0,12,0,28,0,24,0, + 56,0,11,17,34,13,1,0,31,0,59,128,96,192,96,192, + 96,192,96,192,49,128,31,0,59,128,96,192,192,96,192,96, + 192,96,192,96,96,224,123,192,31,0,11,17,34,13,1,0, + 31,0,127,192,96,192,192,224,192,96,192,96,192,224,224,224, + 113,224,63,96,0,96,0,96,0,224,96,192,97,192,127,128, + 31,0,2,12,12,6,2,0,192,192,192,0,0,0,0,0, + 0,192,192,192,3,15,15,6,1,253,96,96,96,0,0,0, + 0,0,0,96,96,96,192,192,192,14,12,24,24,5,1,0, + 12,0,60,1,224,7,0,56,0,224,0,224,0,60,0,7, + 0,1,224,0,60,0,12,14,5,10,24,5,4,255,252,0, + 0,0,0,0,0,255,252,14,12,24,24,5,1,192,0,240, + 0,30,0,3,128,0,112,0,28,0,28,0,240,3,128,30, + 0,240,0,192,0,9,17,34,11,1,0,60,0,255,0,195, + 128,129,128,1,128,1,128,3,0,7,0,14,0,28,0,24, + 0,24,0,24,0,0,0,0,0,24,0,24,0,20,22,66, + 23,1,251,1,252,0,7,255,0,30,7,128,56,1,192,48, + 0,224,97,236,96,99,252,112,227,28,48,198,12,48,198,12, + 48,198,12,48,198,12,48,198,12,48,198,12,48,227,28,96, + 99,31,224,97,231,192,48,0,0,56,0,0,28,0,0,7, + 220,0,1,252,0,16,17,34,17,1,0,3,128,3,128,7, + 192,6,192,14,224,12,96,12,112,24,48,24,48,56,56,63, + 248,63,252,96,12,96,12,224,6,192,6,192,7,12,17,34, + 16,2,0,255,128,195,224,192,112,192,48,192,48,192,48,192, + 112,192,224,255,128,193,224,192,112,192,48,192,48,192,48,192, + 112,195,224,255,128,13,17,34,15,1,0,15,192,63,240,48, + 56,96,24,96,24,192,0,192,0,192,0,192,0,192,0,192, + 0,192,0,96,0,96,24,48,48,63,240,15,192,13,17,34, + 17,2,0,255,0,199,192,192,96,192,48,192,48,192,24,192, + 24,192,24,192,24,192,24,192,24,192,24,192,48,192,48,192, + 224,199,192,255,0,11,17,34,14,2,0,255,224,192,0,192, + 0,192,0,192,0,192,0,192,0,192,0,255,192,192,0,192, + 0,192,0,192,0,192,0,192,0,192,0,255,224,10,17,34, + 13,2,0,255,192,192,0,192,0,192,0,192,0,192,0,192, + 0,192,0,255,128,192,0,192,0,192,0,192,0,192,0,192, + 0,192,0,192,0,14,17,34,17,1,0,7,224,31,248,48, + 28,96,12,96,0,192,0,192,0,192,0,192,252,192,12,192, + 12,224,12,96,12,112,12,56,12,31,252,7,248,12,17,34, + 16,2,0,192,48,192,48,192,48,192,48,192,48,192,48,192, + 48,192,48,255,240,192,48,192,48,192,48,192,48,192,48,192, + 48,192,48,192,48,2,17,17,6,2,0,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,10,17,34,13, + 1,0,0,192,0,192,0,192,0,192,0,192,0,192,0,192, + 0,192,0,192,0,192,0,192,0,192,0,192,192,192,225,128, + 127,128,62,0,12,17,34,15,2,0,192,96,192,192,193,128, + 195,0,199,0,206,0,220,0,248,0,220,0,222,0,206,0, + 199,0,195,128,193,192,192,224,192,224,192,112,10,17,34,12, + 2,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, + 192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, + 255,192,255,192,17,17,51,21,2,0,240,7,128,240,7,128, + 240,7,128,216,13,128,216,13,128,220,29,128,204,25,128,204, + 25,128,206,57,128,198,49,128,198,49,128,195,97,128,195,97, + 128,195,97,128,193,193,128,193,193,128,193,193,128,13,17,34, + 17,2,0,224,24,240,24,248,24,248,24,220,24,220,24,206, + 24,198,24,199,24,195,24,195,152,193,216,193,216,192,248,192, + 248,192,120,192,56,15,17,34,17,1,0,7,192,30,240,48, + 24,96,12,96,12,192,6,192,6,192,6,192,6,192,6,192, + 6,224,14,96,12,96,12,48,24,30,240,7,192,11,17,34, + 14,2,0,255,0,199,192,192,224,192,96,192,96,192,96,192, + 224,193,192,255,128,192,0,192,0,192,0,192,0,192,0,192, + 0,192,0,192,0,16,17,34,18,1,0,7,192,30,240,48, + 24,96,12,96,12,192,6,192,6,192,6,192,6,192,6,192, + 6,224,14,96,12,96,12,48,24,30,248,7,255,11,17,34, + 15,2,0,255,0,199,192,192,224,192,96,192,96,192,96,192, + 96,193,192,255,0,193,192,192,192,192,192,192,224,192,96,192, + 96,192,96,192,96,12,17,34,15,1,0,31,128,63,224,96, + 112,192,48,192,0,224,0,240,0,127,128,63,224,3,240,0, + 112,0,48,192,48,192,48,96,112,123,224,31,128,13,17,34, + 15,1,0,255,248,3,0,3,0,3,0,3,0,3,0,3, + 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, + 0,3,0,3,0,13,17,34,17,2,0,192,24,192,24,192, + 24,192,24,192,24,192,24,192,24,192,24,192,24,192,24,192, + 24,192,24,192,24,96,56,96,48,61,224,31,192,14,17,34, + 15,1,0,192,28,192,24,224,56,96,48,96,48,112,112,48, + 96,48,96,56,224,24,192,24,192,29,192,13,128,13,128,15, + 128,7,0,7,0,22,17,51,22,0,0,224,56,28,96,120, + 28,96,120,24,112,120,24,48,108,56,48,204,48,48,204,48, + 24,206,48,24,198,112,25,134,96,29,134,96,13,131,96,13, + 131,192,15,3,192,7,3,192,7,1,192,6,1,128,14,17, + 34,16,1,0,112,24,112,56,56,48,28,96,28,224,14,192, + 7,128,7,128,7,128,7,192,13,192,28,224,24,112,48,112, + 112,56,96,28,224,28,14,17,34,15,0,0,224,28,112,24, + 112,56,56,48,24,112,28,96,12,192,14,192,7,128,3,128, + 3,0,3,0,3,0,3,0,3,0,3,0,3,0,12,17, + 34,14,1,0,127,240,0,48,0,112,0,224,1,192,1,192, + 3,128,7,0,7,0,14,0,28,0,60,0,56,0,112,0, + 240,0,224,0,255,240,4,22,22,9,2,251,240,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,240,7,18,18,9,1,255,192,192,64,96,96,32,48,48, + 16,16,24,24,8,12,12,4,4,6,4,22,22,10,3,251, + 240,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48, + 48,48,48,48,48,240,11,14,28,23,6,0,4,0,14,0, + 10,0,27,0,17,0,17,0,49,128,32,128,32,128,96,192, + 64,64,192,96,128,32,128,32,12,1,2,12,0,253,255,240, + 4,4,4,5,0,14,192,96,96,48,10,12,24,13,1,0, + 31,0,123,128,96,192,96,192,0,192,63,192,120,192,224,192, + 192,192,193,192,119,192,60,192,11,17,34,14,2,0,192,0, + 192,0,192,0,192,0,192,0,207,0,223,192,224,192,224,224, + 192,96,192,96,192,96,192,96,224,224,224,192,251,128,207,0, + 10,12,24,12,1,0,31,0,127,128,97,192,192,192,192,0, + 192,0,192,0,192,0,192,192,97,192,127,128,31,0,11,17, + 34,14,1,0,0,96,0,96,0,96,0,96,0,96,30,96, + 127,224,97,224,224,224,192,96,192,96,192,96,192,96,224,224, + 96,224,59,224,30,96,10,12,24,13,1,0,31,0,127,128, + 96,192,192,192,192,192,255,192,192,0,192,0,192,192,96,192, + 63,128,31,0,7,17,17,9,1,0,30,62,48,48,48,254, + 48,48,48,48,48,48,48,48,48,48,48,11,17,34,14,1, + 251,31,96,63,224,96,224,224,224,192,96,192,96,192,96,192, + 96,224,224,96,224,123,224,30,96,0,96,96,224,96,192,63, + 128,31,0,10,17,34,14,2,0,192,0,192,0,192,0,192, + 0,192,0,207,0,251,128,225,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,2,17,17,5,1, + 0,192,192,0,0,0,192,192,192,192,192,192,192,192,192,192, + 192,192,3,22,22,7,2,251,96,96,0,0,0,96,96,96, + 96,96,96,96,96,96,96,96,96,96,96,96,224,192,9,17, + 34,12,2,0,192,0,192,0,192,0,192,0,192,0,195,128, + 199,0,206,0,220,0,216,0,248,0,216,0,204,0,206,0, + 199,0,195,0,195,128,2,17,17,6,2,0,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,18,12,36, + 21,2,0,207,31,0,255,191,128,225,225,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,10,12,24,14,2,0,223,0,255, + 128,225,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,11,12,24,13,1,0,31,0,63,192,96, + 192,224,224,192,96,192,96,192,96,192,96,224,224,96,192,63, + 192,31,0,11,17,34,14,2,251,207,0,251,192,224,192,224, + 224,192,96,192,96,192,96,192,96,224,224,224,192,251,192,207, + 0,192,0,192,0,192,0,192,0,192,0,11,17,34,14,1, + 251,30,96,123,224,96,224,224,224,192,96,192,96,192,96,192, + 96,224,224,96,224,123,224,30,96,0,96,0,96,0,96,0, + 96,0,96,7,12,12,9,2,0,222,252,224,192,192,192,192, + 192,192,192,192,192,9,12,24,11,1,0,62,0,127,128,193, + 128,192,0,224,0,126,0,31,128,3,128,193,128,193,128,119, + 0,62,0,7,15,15,9,1,0,48,48,48,254,48,48,48, + 48,48,48,48,48,48,58,30,10,12,24,14,2,0,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 225,192,127,192,60,192,11,12,24,12,1,0,192,96,192,192, + 224,192,97,192,97,128,49,128,51,0,59,0,27,0,30,0, + 30,0,12,0,18,12,36,19,0,0,224,224,192,96,224,192, + 97,161,192,113,177,128,49,177,128,51,49,128,51,27,0,27, + 27,0,30,27,0,30,14,0,14,14,0,12,14,0,11,12, + 24,13,1,0,224,192,113,192,49,128,59,0,31,0,14,0, + 30,0,31,0,51,128,113,128,97,192,192,224,11,17,34,12, + 1,251,192,96,192,192,224,192,97,192,113,128,49,128,51,128, + 59,0,27,0,30,0,14,0,14,0,12,0,12,0,28,0, + 24,0,24,0,8,12,12,10,1,0,255,3,7,14,12,24, + 56,48,96,224,192,255,8,23,23,11,2,251,15,14,24,24, + 24,24,24,24,24,56,112,224,240,48,24,24,24,24,24,24, + 24,12,15,1,25,25,8,4,250,128,128,128,128,128,128,128, + 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, + 128,128,8,23,23,11,2,251,224,112,56,24,24,24,24,24, + 24,28,14,7,14,28,24,24,24,24,24,24,24,48,240,12, + 2,4,12,0,5,62,112,231,224,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,255,255,255,255,255,255,255,0,0,0,7,0,0, + 2,17,17,8,3,251,192,192,0,0,0,192,192,192,192,192, + 192,192,192,192,192,192,192,10,18,36,14,2,253,1,0,1, + 0,1,0,31,0,127,128,98,192,198,192,196,0,196,0,204, + 0,200,0,200,192,121,192,127,128,31,0,32,0,32,0,32, + 0,11,17,34,13,1,0,15,128,29,192,48,96,48,0,48, + 0,48,0,254,0,48,0,48,0,48,0,48,0,48,0,48, + 0,48,0,48,0,48,0,255,224,11,14,28,13,1,3,0, + 32,128,32,95,64,123,128,96,128,64,64,64,64,64,64,64, + 64,96,128,113,128,95,64,128,32,0,32,12,17,34,14,1, + 0,192,48,96,96,96,96,48,224,48,192,249,240,25,128,15, + 128,15,0,255,240,6,0,6,0,6,0,6,0,6,0,6, + 0,6,0,1,22,22,8,4,251,128,128,128,128,128,128,128, + 128,128,0,0,0,0,128,128,128,128,128,128,128,128,128,8, + 21,21,10,1,252,62,126,192,192,192,112,120,62,119,227,195, + 199,238,124,30,7,3,3,3,142,252,7,2,2,7,0,15, + 198,198,17,17,51,19,1,0,3,224,0,15,120,0,56,14, + 0,35,242,0,71,57,0,78,25,0,140,0,128,140,0,128, + 140,0,128,140,0,128,140,24,128,70,57,0,67,241,0,32, + 2,0,48,6,0,12,24,0,3,224,0,9,11,22,9,0, + 6,62,0,127,0,97,0,1,0,63,0,113,0,65,0,67, + 0,61,0,0,0,255,128,9,9,18,13,2,1,49,128,51, + 0,99,0,230,0,204,0,230,0,99,0,51,0,17,128,12, + 5,10,14,1,5,255,240,0,16,0,16,0,16,0,16,255, + 17,17,51,19,1,0,3,224,0,15,120,0,56,14,0,39, + 242,0,70,57,0,70,25,0,134,24,128,135,224,128,134,48, + 128,134,16,128,134,24,128,70,25,0,70,25,0,32,2,0, + 56,14,0,15,120,0,3,224,0,7,1,1,7,0,15,254, + 5,6,6,7,1,11,112,216,136,136,216,112,14,14,28,24, + 5,0,2,0,2,0,2,0,2,0,255,252,2,0,2,0, + 2,0,2,0,2,0,0,0,0,0,0,0,255,252,7,9, + 9,9,1,8,60,126,198,6,12,24,48,224,254,7,9,9, + 9,1,8,60,126,198,14,24,14,6,206,124,3,4,4,5, + 2,14,96,96,192,128,255,10,21,42,13,1,252,31,192,60, + 128,124,128,252,128,252,128,252,128,124,128,124,128,60,128,4, + 128,4,128,4,128,4,128,4,128,4,128,4,128,4,128,4, + 128,4,128,4,128,4,128,2,3,3,6,2,7,192,192,192, + 6,5,5,6,1,250,64,120,12,12,252,3,9,9,7,2, + 8,96,224,32,32,32,32,32,32,32,8,11,11,10,1,6, + 60,126,195,193,193,193,195,98,124,0,255,9,9,18,13,2, + 1,204,0,102,0,99,0,51,0,57,128,51,0,99,0,102, + 0,204,0,15,17,34,18,2,0,96,48,224,32,32,96,32, + 64,32,192,32,128,33,0,35,0,34,24,6,24,4,40,12, + 72,8,200,16,254,48,8,32,8,96,8,16,17,34,19,2, + 0,96,16,224,48,32,32,32,96,32,192,32,128,33,128,33, + 0,35,62,6,119,4,99,12,3,8,6,24,28,16,48,32, + 96,96,127,17,17,51,19,1,0,124,4,0,254,12,0,6, + 8,0,24,16,0,30,48,0,6,32,0,198,96,0,206,64, + 0,124,198,0,1,134,0,1,10,0,3,26,0,2,50,0, + 6,63,128,4,2,0,8,2,0,24,2,0,10,17,34,12, + 1,251,6,0,6,0,0,0,0,0,6,0,6,0,6,0, + 14,0,28,0,112,0,96,0,192,0,192,0,192,192,241,192, + 127,128,31,0,16,23,46,17,1,0,14,0,6,0,3,0, + 1,0,0,0,0,0,3,128,3,128,7,192,6,192,14,224, + 12,96,12,112,24,48,24,48,56,56,63,248,63,252,96,12, + 96,12,224,6,192,6,192,7,16,23,46,17,1,0,0,96, + 0,192,0,128,1,0,0,0,0,0,3,128,3,128,7,192, + 6,192,14,224,12,96,12,112,24,48,24,48,56,56,63,248, + 63,252,96,12,96,12,224,6,192,6,192,7,16,23,46,17, + 1,0,3,128,3,192,6,192,4,96,0,0,0,0,3,128, + 3,128,7,192,6,192,14,224,12,96,12,112,24,48,24,48, + 56,56,63,248,63,252,96,12,96,12,224,6,192,6,192,7, + 16,22,44,17,1,0,7,96,13,192,0,0,0,0,0,0, + 3,128,3,128,7,192,6,192,14,224,12,96,12,112,24,48, + 24,48,56,56,63,248,63,252,96,12,96,12,224,6,192,6, + 192,7,16,22,44,18,1,0,6,48,6,48,0,0,0,0, + 0,0,1,192,3,192,3,224,7,96,6,96,6,112,12,48, + 12,56,28,24,24,28,63,252,63,252,48,6,96,6,96,7, + 224,3,192,3,16,24,48,17,1,0,3,128,6,192,4,64, + 4,64,3,128,0,0,0,0,3,128,3,128,7,192,6,192, + 6,224,12,96,12,112,28,48,24,48,24,24,63,248,63,252, + 96,12,96,12,224,6,192,6,192,7,21,17,51,23,1,0, + 0,255,248,0,240,0,1,240,0,1,176,0,3,176,0,3, + 48,0,7,48,0,6,48,0,14,63,248,12,48,0,28,48, + 0,31,240,0,56,48,0,48,48,0,112,48,0,96,48,0, + 192,63,248,13,22,44,15,1,251,15,192,63,240,48,56,96, + 24,96,24,192,0,192,0,192,0,192,0,192,0,192,0,192, + 0,96,0,96,24,112,48,63,240,15,192,2,0,3,192,0, + 224,0,96,7,224,11,23,46,14,2,0,48,0,24,0,12, + 0,4,0,0,0,0,0,255,224,192,0,192,0,192,0,192, + 0,192,0,192,0,192,0,255,192,192,0,192,0,192,0,192, + 0,192,0,192,0,192,0,255,224,11,23,46,14,2,0,3, + 0,6,0,6,0,12,0,0,0,0,0,255,224,192,0,192, + 0,192,0,192,0,192,0,192,0,192,0,255,192,192,0,192, + 0,192,0,192,0,192,0,192,0,192,0,255,224,11,23,46, + 14,2,0,30,0,30,0,51,0,33,0,0,0,0,0,255, + 224,192,0,192,0,192,0,192,0,192,0,192,0,192,0,255, + 192,192,0,192,0,192,0,192,0,192,0,192,0,192,0,255, + 224,11,22,44,14,2,0,51,0,51,0,0,0,0,0,0, + 0,255,224,192,0,192,0,192,0,192,0,192,0,192,0,192, + 0,255,192,192,0,192,0,192,0,192,0,192,0,192,0,192, + 0,255,224,4,23,23,6,0,0,192,96,48,16,0,0,48, + 48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48, + 4,23,23,6,2,0,48,96,64,192,0,0,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,6,23,23, + 6,0,0,56,120,76,196,0,0,48,48,48,48,48,48,48, + 48,48,48,48,48,48,48,48,48,48,7,22,22,7,0,0, + 198,198,0,0,0,48,48,48,48,48,48,48,48,48,48,48, + 48,48,48,48,48,48,15,17,34,17,0,0,63,192,49,240, + 48,56,48,12,48,12,48,6,48,6,48,6,255,6,48,6, + 48,6,48,6,48,12,48,28,48,56,49,240,63,192,13,22, + 44,17,2,0,14,192,31,128,0,0,0,0,0,0,224,24, + 240,24,248,24,248,24,220,24,220,24,206,24,198,24,199,24, + 195,24,195,152,193,216,193,216,192,248,192,248,192,120,192,56, + 15,24,48,17,1,0,14,0,6,0,3,0,1,0,1,128, + 0,0,0,0,7,192,30,240,48,24,96,12,96,12,192,6, + 192,6,192,6,192,6,192,6,192,6,224,14,96,12,96,12, + 48,24,30,240,7,192,15,24,48,17,1,0,0,224,0,192, + 1,128,1,0,3,0,0,0,0,0,7,192,30,240,48,24, + 96,12,96,12,192,6,192,6,192,6,192,6,192,6,192,6, + 224,14,96,12,96,12,48,24,30,240,7,192,15,24,48,17, + 1,0,3,128,3,128,6,192,4,64,12,32,0,0,0,0, + 7,192,30,240,48,24,96,12,96,12,192,6,192,6,192,6, + 192,6,192,6,192,6,224,14,96,12,96,12,48,24,30,240, + 7,192,15,22,44,17,1,0,7,96,13,192,0,0,0,0, + 0,0,7,192,30,240,48,24,96,12,96,12,192,6,192,6, + 192,6,192,6,192,6,192,6,224,14,96,12,112,28,56,56, + 31,240,7,192,15,22,44,17,1,0,6,96,6,96,0,0, + 0,0,0,0,7,192,30,240,48,24,96,12,96,12,192,6, + 192,6,192,6,192,6,192,6,192,6,224,14,96,12,96,12, + 48,24,30,240,7,192,13,12,24,23,5,1,192,24,96,48, + 48,96,24,192,13,128,7,0,7,0,13,128,24,192,48,96, + 96,48,192,24,15,21,42,17,1,254,0,4,0,14,7,236, + 30,248,48,60,96,60,96,110,192,230,192,198,193,198,195,134, + 195,6,199,6,238,14,108,12,124,12,120,24,62,240,111,192, + 224,0,64,0,13,24,48,17,2,0,28,0,12,0,6,0, + 2,0,1,0,0,0,0,0,192,24,192,24,192,24,192,24, + 192,24,192,24,192,24,192,24,192,24,192,24,192,24,192,24, + 224,24,96,56,112,112,63,224,31,192,13,24,48,17,2,0, + 1,192,1,128,3,0,2,0,6,0,0,0,0,0,192,24, + 192,24,192,24,192,24,192,24,192,24,192,24,192,24,192,24, + 192,24,192,24,192,24,224,24,96,56,112,112,63,224,31,192, + 13,24,48,17,2,0,7,0,7,0,13,128,8,128,24,64, + 0,0,0,0,192,24,192,24,192,24,192,24,192,24,192,24, + 192,24,192,24,192,24,192,24,192,24,192,24,224,24,96,56, + 112,112,63,224,31,192,13,22,44,17,2,0,12,192,12,192, + 0,0,0,0,0,0,192,24,192,24,192,24,192,24,192,24, + 192,24,192,24,192,24,192,24,192,24,192,24,192,24,192,24, + 96,56,96,48,61,224,31,192,14,23,46,15,0,0,0,192, + 1,128,1,128,3,0,0,0,0,0,224,28,112,24,112,56, + 56,48,24,112,28,96,12,192,14,192,7,128,3,128,3,0, + 3,0,3,0,3,0,3,0,3,0,3,0,11,17,34,14, + 2,0,192,0,192,0,192,0,192,0,255,128,193,192,192,224, + 192,96,192,96,192,96,193,192,255,128,192,0,192,0,192,0, + 192,0,192,0,12,17,34,13,1,0,31,0,127,128,224,192, + 192,192,193,192,195,128,199,0,198,0,198,0,195,128,193,224, + 192,112,192,48,192,48,204,48,207,96,195,192,10,18,36,13, + 1,0,24,0,12,0,4,0,6,0,0,0,0,0,31,0, + 123,128,96,192,96,192,0,192,63,192,120,192,224,192,192,192, + 193,192,119,192,60,192,10,19,38,13,1,0,3,0,6,0, + 6,0,12,0,8,0,0,0,0,0,31,0,123,128,96,192, + 96,192,0,192,63,192,120,192,224,192,192,192,193,192,119,192, + 60,192,10,19,38,13,1,0,14,0,14,0,27,0,51,0, + 33,128,0,0,0,0,31,0,123,128,96,192,96,192,0,192, + 63,192,120,192,224,192,192,192,193,192,119,192,60,192,10,17, + 34,13,1,0,29,128,63,0,0,0,0,0,0,0,31,0, + 123,128,96,192,0,192,7,192,63,192,112,192,192,192,193,192, + 193,192,119,192,60,192,10,17,34,13,1,0,49,128,49,128, + 0,0,0,0,0,0,31,0,123,128,96,192,96,192,0,192, + 63,192,120,192,224,192,192,192,193,192,119,192,60,192,10,20, + 40,13,1,0,14,0,27,0,17,0,17,0,27,0,14,0, + 0,0,0,0,31,0,123,128,96,192,96,192,0,192,63,192, + 120,192,224,192,192,192,193,192,119,192,62,192,18,12,36,20, + 1,0,30,31,0,127,191,128,97,225,128,0,224,192,0,192, + 192,63,255,192,120,192,0,224,192,0,192,224,192,193,225,128, + 127,63,128,62,31,0,10,17,34,12,1,251,31,0,127,128, + 97,192,192,192,192,0,192,0,192,0,192,0,192,192,97,192, + 127,128,31,0,8,0,15,0,3,128,1,128,31,0,10,19, + 38,13,1,0,48,0,24,0,8,0,12,0,6,0,0,0, + 0,0,31,0,127,128,96,192,192,192,192,192,255,192,192,0, + 192,0,192,192,96,192,63,128,31,0,10,19,38,13,1,0, + 3,0,7,0,6,0,12,0,8,0,0,0,0,0,31,0, + 127,128,96,192,192,192,192,192,255,192,192,0,192,0,192,192, + 96,192,63,128,31,0,10,19,38,13,1,0,12,0,30,0, + 26,0,51,0,33,0,0,0,0,0,31,0,127,128,96,192, + 192,192,192,192,255,192,192,0,192,0,192,192,96,192,63,128, + 31,0,11,17,34,13,1,0,49,128,49,128,0,0,0,0, + 0,0,31,0,59,192,96,192,224,96,192,96,255,224,192,0, + 192,0,192,96,96,192,59,192,31,0,4,18,18,6,0,0, + 192,96,48,16,0,0,48,48,48,48,48,48,48,48,48,48, + 48,48,4,18,18,6,2,0,48,96,192,128,0,0,192,192, + 192,192,192,192,192,192,192,192,192,192,6,18,18,6,0,0, + 120,120,204,132,0,0,48,48,48,48,48,48,48,48,48,48, + 48,48,6,17,17,5,255,0,204,204,0,0,0,48,48,48, + 48,48,48,48,48,48,48,48,48,11,17,34,13,1,0,97, + 128,63,0,30,0,119,0,3,128,31,192,127,192,96,224,224, + 96,192,96,192,96,192,96,192,96,224,96,96,192,63,192,31, + 0,10,17,34,14,2,0,25,0,63,0,0,0,0,0,0, + 0,223,0,255,128,225,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,11,19,38,13,1,0,56, + 0,24,0,12,0,4,0,2,0,0,0,0,0,31,0,63, + 192,96,192,224,224,192,96,192,96,192,96,192,96,224,224,96, + 192,63,192,31,0,11,19,38,13,1,0,3,128,3,0,6, + 0,4,0,12,0,0,0,0,0,31,0,63,192,96,192,224, + 224,192,96,192,96,192,96,192,96,224,224,96,192,63,192,31, + 0,11,19,38,13,1,0,14,0,14,0,27,0,17,0,49, + 128,0,0,0,0,31,0,63,192,96,192,224,224,192,96,192, + 96,192,96,192,96,224,224,96,192,63,192,31,0,11,17,34, + 13,1,0,29,128,63,0,0,0,0,0,0,0,31,0,63, + 192,96,192,224,224,192,96,192,96,192,96,192,96,224,224,96, + 192,63,192,31,0,11,17,34,13,1,0,49,128,49,128,0, + 0,0,0,0,0,31,0,63,192,96,192,224,224,192,96,192, + 96,192,96,192,96,224,224,96,192,63,192,31,0,14,10,20, + 24,5,2,3,0,3,0,3,0,0,0,0,0,255,252,0, + 0,3,0,3,0,3,0,11,15,30,13,1,254,0,32,0, + 96,31,192,63,192,97,192,227,224,194,96,198,96,204,96,216, + 96,248,224,112,192,123,192,95,0,192,0,10,19,38,14,2, + 0,48,0,24,0,24,0,12,0,4,0,0,0,0,0,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,225,192,119,192,60,192,10,19,38,14,2,0,3,0,6, + 0,6,0,12,0,8,0,0,0,0,0,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,225,192,119, + 192,60,192,10,19,38,14,2,0,12,0,30,0,30,0,51, + 0,33,0,0,0,0,0,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,225,192,119,192,60,192,10, + 17,34,14,2,0,51,0,51,0,0,0,0,0,0,0,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,225,192,127,192,60,192,11,23,46,12,1,251,3,0,3, + 0,6,0,12,0,0,0,0,0,192,96,192,192,224,192,97, + 192,113,128,49,128,51,128,59,0,27,0,30,0,14,0,14, + 0,12,0,12,0,220,0,248,0,112,0,11,22,44,14,2, + 251,192,0,192,0,192,0,192,0,192,0,207,0,251,192,224, + 192,224,224,192,96,192,96,192,96,192,96,224,224,224,192,251, + 192,207,0,192,0,192,0,192,0,192,0,192,0,11,22,44, + 13,1,251,49,128,49,128,0,0,0,0,0,0,192,96,224, + 96,96,224,96,192,113,192,49,128,57,128,27,128,27,0,31, + 0,14,0,14,0,14,0,12,0,12,0,28,0,24,0}; +/* + Fontname: -FreeType-FreeUniversal-Medium-R-Normal--23-230-72-72-P-109-ISO10646-1 + Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. + Capital A Height: 0, '1' Height: 17 + Calculated Max Values w=14 h=18 x= 5 y= 8 dx=24 dy= 0 ascent=17 len=34 + Font Bounding box w=31 h=30 x=-2 y=-6 + Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 + Pure Font ascent =17 descent= 0 + X Font ascent =17 descent= 0 + Max Font ascent =17 descent=-3 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_fur17n[528] U8G_FONT_SECTION("u8g_font_fur17n") = { + 0,31,30,254,250,17,0,0,0,0,42,58,0,17,253,17, + 0,9,9,18,15,3,8,34,0,54,0,22,0,28,0,255, + 128,156,128,20,0,54,0,34,0,14,14,28,24,5,0,2, + 0,2,0,2,0,2,0,2,0,2,0,255,252,2,0,2, + 0,2,0,2,0,2,0,2,0,2,0,4,6,6,6,1, + 253,112,112,96,96,192,192,6,1,1,8,1,5,252,2,3, + 3,6,2,0,192,192,192,7,18,18,9,1,255,6,6,4, + 12,12,8,8,24,24,16,48,48,32,32,96,96,64,192,10, + 17,34,13,1,0,30,0,63,128,97,128,96,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,97, + 192,97,128,63,128,30,0,5,17,17,13,3,0,56,120,248, + 216,24,24,24,24,24,24,24,24,24,24,24,24,24,10,17, + 34,13,1,0,30,0,127,128,97,128,224,192,224,192,0,192, + 1,192,3,128,3,128,7,0,14,0,28,0,56,0,112,0, + 96,0,224,0,255,192,10,17,34,13,1,0,31,0,127,128, + 96,192,224,192,0,192,0,192,3,128,14,0,7,128,1,192, + 0,192,0,192,192,192,224,192,97,192,127,128,30,0,11,17, + 34,13,1,0,3,128,3,128,7,128,13,128,13,128,25,128, + 57,128,49,128,97,128,97,128,193,128,255,224,255,224,1,128, + 1,128,1,128,1,128,10,17,34,13,1,0,127,128,96,0, + 96,0,96,0,96,0,111,0,127,128,97,128,64,192,0,192, + 0,192,0,192,0,192,192,192,225,128,127,0,30,0,11,17, + 34,13,1,0,31,0,59,128,96,192,224,192,192,0,192,0, + 207,0,223,192,241,192,224,224,192,96,192,96,192,96,192,96, + 96,192,59,192,31,0,10,17,34,13,1,0,255,192,0,192, + 0,192,1,128,1,128,3,128,3,0,3,0,7,0,6,0, + 6,0,14,0,12,0,12,0,28,0,24,0,56,0,11,17, + 34,13,1,0,31,0,59,128,96,192,96,192,96,192,96,192, + 49,128,31,0,59,128,96,192,192,96,192,96,192,96,192,96, + 96,224,123,192,31,0,11,17,34,13,1,0,31,0,127,192, + 96,192,192,224,192,96,192,96,192,224,224,224,113,224,63,96, + 0,96,0,96,0,224,96,192,97,192,127,128,31,0,2,12, + 12,6,2,0,192,192,192,0,0,0,0,0,0,192,192,192 + }; +/* + Fontname: -FreeType-FreeUniversal-Medium-R-Normal--23-230-72-72-P-109-ISO10646-1 + Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. + Capital A Height: 17, '1' Height: 17 + Calculated Max Values w=22 h=25 x= 6 y=14 dx=24 dy= 0 ascent=19 len=66 + Font Bounding box w=31 h=30 x=-2 y=-6 + Calculated Min Values x= 0 y=-6 dx= 0 dy= 0 + Pure Font ascent =17 descent=-5 + X Font ascent =17 descent=-5 + Max Font ascent =19 descent=-6 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_fur17r[3146] U8G_FONT_SECTION("u8g_font_fur17r") = { + 0,31,30,254,250,17,4,5,8,170,32,127,251,19,250,17, + 251,0,0,0,7,0,0,2,17,17,8,3,0,192,192,192, + 192,192,192,192,192,192,192,192,192,192,0,0,192,192,7,7, + 7,10,2,10,206,206,198,198,196,196,196,15,17,34,17,1, + 0,1,24,3,24,3,24,3,48,6,48,63,254,6,32,4, + 96,12,96,12,64,255,248,24,192,24,128,17,128,49,128,49, + 128,49,0,11,21,42,13,1,254,4,0,4,0,63,0,127, + 128,196,192,196,192,196,0,196,0,244,0,127,0,63,192,5, + 224,4,224,4,96,196,96,196,96,228,96,127,192,63,128,4, + 0,4,0,19,17,51,21,1,0,60,2,0,126,4,0,227, + 12,0,195,8,0,195,24,0,195,16,0,195,48,0,102,96, + 0,62,71,128,0,207,192,0,152,96,1,152,96,1,24,96, + 2,24,96,6,24,96,4,15,192,12,7,128,15,17,34,17, + 1,0,15,0,63,128,48,192,48,192,49,192,59,128,31,0, + 28,24,118,24,103,24,227,152,193,216,192,240,224,112,96,120, + 123,252,31,142,2,7,7,8,3,10,192,192,192,192,192,192, + 64,4,20,20,8,2,253,48,48,96,96,96,224,192,192,192, + 192,192,192,192,192,224,96,96,96,48,48,4,20,20,8,2, + 253,192,64,96,96,96,48,48,48,48,48,48,48,48,48,48, + 96,96,96,64,192,9,9,18,15,3,8,34,0,54,0,22, + 0,28,0,255,128,156,128,20,0,54,0,34,0,14,14,28, + 24,5,0,2,0,2,0,2,0,2,0,2,0,2,0,255, + 252,2,0,2,0,2,0,2,0,2,0,2,0,2,0,4, + 6,6,6,1,253,112,112,96,96,192,192,6,1,1,8,1, + 5,252,2,3,3,6,2,0,192,192,192,7,18,18,9,1, + 255,6,6,4,12,12,8,8,24,24,16,48,48,32,32,96, + 96,64,192,10,17,34,13,1,0,30,0,63,128,97,128,96, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,97,192,97,128,63,128,30,0,5,17,17,13,3, + 0,56,120,248,216,24,24,24,24,24,24,24,24,24,24,24, + 24,24,10,17,34,13,1,0,30,0,127,128,97,128,224,192, + 224,192,0,192,1,192,3,128,3,128,7,0,14,0,28,0, + 56,0,112,0,96,0,224,0,255,192,10,17,34,13,1,0, + 31,0,127,128,96,192,224,192,0,192,0,192,3,128,14,0, + 7,128,1,192,0,192,0,192,192,192,224,192,97,192,127,128, + 30,0,11,17,34,13,1,0,3,128,3,128,7,128,13,128, + 13,128,25,128,57,128,49,128,97,128,97,128,193,128,255,224, + 255,224,1,128,1,128,1,128,1,128,10,17,34,13,1,0, + 127,128,96,0,96,0,96,0,96,0,111,0,127,128,97,128, + 64,192,0,192,0,192,0,192,0,192,192,192,225,128,127,0, + 30,0,11,17,34,13,1,0,31,0,59,128,96,192,224,192, + 192,0,192,0,207,0,223,192,241,192,224,224,192,96,192,96, + 192,96,192,96,96,192,59,192,31,0,10,17,34,13,1,0, + 255,192,0,192,0,192,1,128,1,128,3,128,3,0,3,0, + 7,0,6,0,6,0,14,0,12,0,12,0,28,0,24,0, + 56,0,11,17,34,13,1,0,31,0,59,128,96,192,96,192, + 96,192,96,192,49,128,31,0,59,128,96,192,192,96,192,96, + 192,96,192,96,96,224,123,192,31,0,11,17,34,13,1,0, + 31,0,127,192,96,192,192,224,192,96,192,96,192,224,224,224, + 113,224,63,96,0,96,0,96,0,224,96,192,97,192,127,128, + 31,0,2,12,12,6,2,0,192,192,192,0,0,0,0,0, + 0,192,192,192,3,15,15,6,1,253,96,96,96,0,0,0, + 0,0,0,96,96,96,192,192,192,14,12,24,24,5,1,0, + 12,0,60,1,224,7,0,56,0,224,0,224,0,60,0,7, + 0,1,224,0,60,0,12,14,5,10,24,5,4,255,252,0, + 0,0,0,0,0,255,252,14,12,24,24,5,1,192,0,240, + 0,30,0,3,128,0,112,0,28,0,28,0,240,3,128,30, + 0,240,0,192,0,9,17,34,11,1,0,60,0,255,0,195, + 128,129,128,1,128,1,128,3,0,7,0,14,0,28,0,24, + 0,24,0,24,0,0,0,0,0,24,0,24,0,20,22,66, + 23,1,251,1,252,0,7,255,0,30,7,128,56,1,192,48, + 0,224,97,236,96,99,252,112,227,28,48,198,12,48,198,12, + 48,198,12,48,198,12,48,198,12,48,198,12,48,227,28,96, + 99,31,224,97,231,192,48,0,0,56,0,0,28,0,0,7, + 220,0,1,252,0,16,17,34,17,1,0,3,128,3,128,7, + 192,6,192,14,224,12,96,12,112,24,48,24,48,56,56,63, + 248,63,252,96,12,96,12,224,6,192,6,192,7,12,17,34, + 16,2,0,255,128,195,224,192,112,192,48,192,48,192,48,192, + 112,192,224,255,128,193,224,192,112,192,48,192,48,192,48,192, + 112,195,224,255,128,13,17,34,15,1,0,15,192,63,240,48, + 56,96,24,96,24,192,0,192,0,192,0,192,0,192,0,192, + 0,192,0,96,0,96,24,48,48,63,240,15,192,13,17,34, + 17,2,0,255,0,199,192,192,96,192,48,192,48,192,24,192, + 24,192,24,192,24,192,24,192,24,192,24,192,48,192,48,192, + 224,199,192,255,0,11,17,34,14,2,0,255,224,192,0,192, + 0,192,0,192,0,192,0,192,0,192,0,255,192,192,0,192, + 0,192,0,192,0,192,0,192,0,192,0,255,224,10,17,34, + 13,2,0,255,192,192,0,192,0,192,0,192,0,192,0,192, + 0,192,0,255,128,192,0,192,0,192,0,192,0,192,0,192, + 0,192,0,192,0,14,17,34,17,1,0,7,224,31,248,48, + 28,96,12,96,0,192,0,192,0,192,0,192,252,192,12,192, + 12,224,12,96,12,112,12,56,12,31,252,7,248,12,17,34, + 16,2,0,192,48,192,48,192,48,192,48,192,48,192,48,192, + 48,192,48,255,240,192,48,192,48,192,48,192,48,192,48,192, + 48,192,48,192,48,2,17,17,6,2,0,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,10,17,34,13, + 1,0,0,192,0,192,0,192,0,192,0,192,0,192,0,192, + 0,192,0,192,0,192,0,192,0,192,0,192,192,192,225,128, + 127,128,62,0,12,17,34,15,2,0,192,96,192,192,193,128, + 195,0,199,0,206,0,220,0,248,0,220,0,222,0,206,0, + 199,0,195,128,193,192,192,224,192,224,192,112,10,17,34,12, + 2,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, + 192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, + 255,192,255,192,17,17,51,21,2,0,240,7,128,240,7,128, + 240,7,128,216,13,128,216,13,128,220,29,128,204,25,128,204, + 25,128,206,57,128,198,49,128,198,49,128,195,97,128,195,97, + 128,195,97,128,193,193,128,193,193,128,193,193,128,13,17,34, + 17,2,0,224,24,240,24,248,24,248,24,220,24,220,24,206, + 24,198,24,199,24,195,24,195,152,193,216,193,216,192,248,192, + 248,192,120,192,56,15,17,34,17,1,0,7,192,30,240,48, + 24,96,12,96,12,192,6,192,6,192,6,192,6,192,6,192, + 6,224,14,96,12,96,12,48,24,30,240,7,192,11,17,34, + 14,2,0,255,0,199,192,192,224,192,96,192,96,192,96,192, + 224,193,192,255,128,192,0,192,0,192,0,192,0,192,0,192, + 0,192,0,192,0,16,17,34,18,1,0,7,192,30,240,48, + 24,96,12,96,12,192,6,192,6,192,6,192,6,192,6,192, + 6,224,14,96,12,96,12,48,24,30,248,7,255,11,17,34, + 15,2,0,255,0,199,192,192,224,192,96,192,96,192,96,192, + 96,193,192,255,0,193,192,192,192,192,192,192,224,192,96,192, + 96,192,96,192,96,12,17,34,15,1,0,31,128,63,224,96, + 112,192,48,192,0,224,0,240,0,127,128,63,224,3,240,0, + 112,0,48,192,48,192,48,96,112,123,224,31,128,13,17,34, + 15,1,0,255,248,3,0,3,0,3,0,3,0,3,0,3, + 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, + 0,3,0,3,0,13,17,34,17,2,0,192,24,192,24,192, + 24,192,24,192,24,192,24,192,24,192,24,192,24,192,24,192, + 24,192,24,192,24,96,56,96,48,61,224,31,192,14,17,34, + 15,1,0,192,28,192,24,224,56,96,48,96,48,112,112,48, + 96,48,96,56,224,24,192,24,192,29,192,13,128,13,128,15, + 128,7,0,7,0,22,17,51,22,0,0,224,56,28,96,120, + 28,96,120,24,112,120,24,48,108,56,48,204,48,48,204,48, + 24,206,48,24,198,112,25,134,96,29,134,96,13,131,96,13, + 131,192,15,3,192,7,3,192,7,1,192,6,1,128,14,17, + 34,16,1,0,112,24,112,56,56,48,28,96,28,224,14,192, + 7,128,7,128,7,128,7,192,13,192,28,224,24,112,48,112, + 112,56,96,28,224,28,14,17,34,15,0,0,224,28,112,24, + 112,56,56,48,24,112,28,96,12,192,14,192,7,128,3,128, + 3,0,3,0,3,0,3,0,3,0,3,0,3,0,12,17, + 34,14,1,0,127,240,0,48,0,112,0,224,1,192,1,192, + 3,128,7,0,7,0,14,0,28,0,60,0,56,0,112,0, + 240,0,224,0,255,240,4,22,22,9,2,251,240,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,240,7,18,18,9,1,255,192,192,64,96,96,32,48,48, + 16,16,24,24,8,12,12,4,4,6,4,22,22,10,3,251, + 240,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48, + 48,48,48,48,48,240,11,14,28,23,6,0,4,0,14,0, + 10,0,27,0,17,0,17,0,49,128,32,128,32,128,96,192, + 64,64,192,96,128,32,128,32,12,1,2,12,0,253,255,240, + 4,4,4,5,0,14,192,96,96,48,10,12,24,13,1,0, + 31,0,123,128,96,192,96,192,0,192,63,192,120,192,224,192, + 192,192,193,192,119,192,60,192,11,17,34,14,2,0,192,0, + 192,0,192,0,192,0,192,0,207,0,223,192,224,192,224,224, + 192,96,192,96,192,96,192,96,224,224,224,192,251,128,207,0, + 10,12,24,12,1,0,31,0,127,128,97,192,192,192,192,0, + 192,0,192,0,192,0,192,192,97,192,127,128,31,0,11,17, + 34,14,1,0,0,96,0,96,0,96,0,96,0,96,30,96, + 127,224,97,224,224,224,192,96,192,96,192,96,192,96,224,224, + 96,224,59,224,30,96,10,12,24,13,1,0,31,0,127,128, + 96,192,192,192,192,192,255,192,192,0,192,0,192,192,96,192, + 63,128,31,0,7,17,17,9,1,0,30,62,48,48,48,254, + 48,48,48,48,48,48,48,48,48,48,48,11,17,34,14,1, + 251,31,96,63,224,96,224,224,224,192,96,192,96,192,96,192, + 96,224,224,96,224,123,224,30,96,0,96,96,224,96,192,63, + 128,31,0,10,17,34,14,2,0,192,0,192,0,192,0,192, + 0,192,0,207,0,251,128,225,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,2,17,17,5,1, + 0,192,192,0,0,0,192,192,192,192,192,192,192,192,192,192, + 192,192,3,22,22,7,2,251,96,96,0,0,0,96,96,96, + 96,96,96,96,96,96,96,96,96,96,96,96,224,192,9,17, + 34,12,2,0,192,0,192,0,192,0,192,0,192,0,195,128, + 199,0,206,0,220,0,216,0,248,0,216,0,204,0,206,0, + 199,0,195,0,195,128,2,17,17,6,2,0,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,18,12,36, + 21,2,0,207,31,0,255,191,128,225,225,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,10,12,24,14,2,0,223,0,255, + 128,225,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,11,12,24,13,1,0,31,0,63,192,96, + 192,224,224,192,96,192,96,192,96,192,96,224,224,96,192,63, + 192,31,0,11,17,34,14,2,251,207,0,251,192,224,192,224, + 224,192,96,192,96,192,96,192,96,224,224,224,192,251,192,207, + 0,192,0,192,0,192,0,192,0,192,0,11,17,34,14,1, + 251,30,96,123,224,96,224,224,224,192,96,192,96,192,96,192, + 96,224,224,96,224,123,224,30,96,0,96,0,96,0,96,0, + 96,0,96,7,12,12,9,2,0,222,252,224,192,192,192,192, + 192,192,192,192,192,9,12,24,11,1,0,62,0,127,128,193, + 128,192,0,224,0,126,0,31,128,3,128,193,128,193,128,119, + 0,62,0,7,15,15,9,1,0,48,48,48,254,48,48,48, + 48,48,48,48,48,48,58,30,10,12,24,14,2,0,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 225,192,127,192,60,192,11,12,24,12,1,0,192,96,192,192, + 224,192,97,192,97,128,49,128,51,0,59,0,27,0,30,0, + 30,0,12,0,18,12,36,19,0,0,224,224,192,96,224,192, + 97,161,192,113,177,128,49,177,128,51,49,128,51,27,0,27, + 27,0,30,27,0,30,14,0,14,14,0,12,14,0,11,12, + 24,13,1,0,224,192,113,192,49,128,59,0,31,0,14,0, + 30,0,31,0,51,128,113,128,97,192,192,224,11,17,34,12, + 1,251,192,96,192,192,224,192,97,192,113,128,49,128,51,128, + 59,0,27,0,30,0,14,0,14,0,12,0,12,0,28,0, + 24,0,24,0,8,12,12,10,1,0,255,3,7,14,12,24, + 56,48,96,224,192,255,8,23,23,11,2,251,15,14,24,24, + 24,24,24,24,24,56,112,224,240,48,24,24,24,24,24,24, + 24,12,15,1,25,25,8,4,250,128,128,128,128,128,128,128, + 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, + 128,128,8,23,23,11,2,251,224,112,56,24,24,24,24,24, + 24,28,14,7,14,28,24,24,24,24,24,24,24,48,240,12, + 2,4,12,0,5,62,112,231,224,255}; +/* + Fontname: -FreeType-FreeUniversal-Medium-R-Normal--28-280-72-72-P-133-ISO10646-1 + Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. + Capital A Height: 20, '1' Height: 20 + Calculated Max Values w=26 h=29 x= 7 y=17 dx=29 dy= 0 ascent=28 len=96 + Font Bounding box w=38 h=35 x=-2 y=-7 + Calculated Min Values x=-1 y=-7 dx= 0 dy= 0 + Pure Font ascent =20 descent=-5 + X Font ascent =20 descent=-5 + Max Font ascent =28 descent=-7 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_fur20[8654] U8G_FONT_SECTION("u8g_font_fur20") = { + 0,38,35,254,249,20,5,12,11,23,32,255,251,28,249,20, + 251,0,0,0,8,0,0,3,20,20,11,4,0,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,0,0,224,224, + 224,9,8,16,13,2,12,227,128,227,128,227,0,227,0,227, + 0,195,0,195,0,67,0,18,20,60,21,1,0,0,195,0, + 0,195,0,0,195,0,1,198,0,1,134,0,1,134,0,31, + 255,192,63,255,192,3,12,0,3,24,0,6,24,0,6,24, + 0,127,255,128,255,255,0,12,48,0,12,48,0,28,96,0, + 24,96,0,24,96,0,24,192,0,14,25,50,16,1,253,2, + 0,2,0,31,192,63,224,114,112,98,48,226,56,226,0,226, + 0,114,0,126,0,63,224,15,240,2,248,2,56,2,28,226, + 28,226,28,226,24,114,56,127,240,31,192,2,0,2,0,2, + 0,23,20,60,25,1,0,30,0,192,127,128,192,97,129,128, + 225,193,0,225,195,0,225,198,0,225,198,0,97,140,0,127, + 136,0,30,24,224,0,49,248,0,51,156,0,103,14,0,71, + 14,0,199,14,1,135,14,1,135,14,3,3,12,2,3,252, + 6,0,240,19,20,60,22,2,0,7,192,0,31,240,0,56, + 48,0,56,48,0,56,48,0,56,112,0,29,224,0,15,192, + 0,31,3,128,63,131,128,115,195,128,225,227,128,224,243,0, + 224,123,0,224,63,0,224,30,0,112,15,0,120,31,128,63, + 251,192,15,225,224,3,8,8,10,4,12,224,224,192,192,192, + 192,192,192,5,24,24,10,3,252,24,48,48,112,112,96,96, + 224,224,224,224,224,224,224,224,224,224,96,96,112,112,48,48, + 24,5,24,24,10,3,252,192,192,96,96,96,112,112,48,48, + 48,56,56,56,56,48,48,48,112,112,96,96,96,192,192,11, + 11,22,19,4,9,17,0,49,128,27,0,27,0,14,0,255, + 224,142,32,27,0,27,0,49,128,17,0,17,16,48,29,6, + 0,1,128,0,1,128,0,1,128,0,1,128,0,1,128,0, + 1,128,0,1,128,0,255,255,128,255,255,128,1,128,0,1, + 128,0,1,128,0,1,128,0,1,128,0,1,128,0,1,128, + 0,5,7,7,8,1,253,56,56,112,112,96,96,224,7,2, + 2,9,1,6,254,254,3,3,3,8,3,0,224,224,224,8, + 21,21,11,2,255,3,6,6,6,4,12,12,12,24,24,24, + 48,48,48,96,96,96,64,192,192,192,13,20,40,16,1,0, + 15,128,63,192,112,224,96,112,96,112,224,48,224,48,224,56, + 224,56,224,56,224,56,224,56,224,56,224,48,224,48,96,112, + 112,112,48,224,63,192,15,128,7,20,20,16,4,0,30,62, + 126,254,206,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,12,20,40,16,2,0,31,128,63,192,112,96,112,112, + 224,112,0,112,0,112,0,112,0,224,1,224,3,192,3,128, + 7,0,14,0,28,0,60,0,120,0,240,0,255,240,255,240, + 13,20,40,16,1,0,15,128,63,224,112,112,112,48,224,56, + 0,56,0,48,0,224,7,192,7,192,0,224,0,112,0,56, + 0,56,224,56,224,56,224,56,112,112,63,224,31,128,14,20, + 40,16,1,0,0,240,1,240,1,240,3,240,7,112,6,112, + 14,112,28,112,24,112,56,112,112,112,96,112,224,112,255,252, + 255,252,0,112,0,112,0,112,0,112,0,112,13,20,40,16, + 1,0,255,224,255,224,224,0,224,0,224,0,224,0,224,0, + 239,128,255,224,240,112,224,112,224,48,0,56,0,56,0,56, + 224,48,224,112,112,224,127,192,31,128,13,20,40,16,1,0, + 15,192,63,224,120,112,112,48,224,56,224,0,224,0,231,192, + 255,224,248,240,224,56,224,56,224,56,224,56,224,56,224,56, + 96,48,48,112,63,224,15,128,12,20,40,16,2,0,255,240, + 255,240,0,112,0,112,0,96,0,224,0,224,1,192,1,192, + 1,128,3,128,3,128,3,0,7,0,7,0,14,0,14,0, + 14,0,28,0,28,0,13,20,40,16,1,0,15,128,63,224, + 112,112,224,48,224,56,224,56,96,48,112,112,31,192,31,192, + 56,96,96,48,224,56,224,56,224,56,224,56,224,56,112,112, + 63,224,15,128,13,20,40,16,1,0,31,192,63,224,112,112, + 224,56,224,56,224,56,224,56,224,56,224,56,112,120,63,248, + 31,56,0,56,0,56,0,56,96,48,96,112,112,224,63,192, + 31,128,3,14,14,8,3,0,224,224,224,0,0,0,0,0, + 0,0,0,224,224,224,4,17,17,8,2,253,112,112,112,0, + 0,0,0,0,0,0,112,112,96,224,192,192,192,17,14,42, + 29,6,1,0,1,128,0,15,128,0,124,0,1,224,0,15, + 0,0,120,0,0,224,0,0,240,0,0,62,0,0,7,128, + 0,0,240,0,0,62,0,0,7,128,0,0,128,17,7,21, + 29,6,5,255,255,128,255,255,128,0,0,0,0,0,0,0, + 0,0,255,255,128,255,255,128,17,14,42,29,6,1,192,0, + 0,248,0,0,31,0,0,3,192,0,0,120,0,0,15,0, + 0,3,128,0,7,128,0,62,0,0,240,0,7,128,0,62, + 0,0,240,0,0,128,0,0,12,20,40,15,1,0,31,0, + 63,192,127,224,224,240,64,112,0,112,0,112,0,96,0,192, + 3,128,7,0,14,0,14,0,14,0,14,0,0,0,0,0, + 14,0,14,0,14,0,25,24,96,28,2,252,0,127,0,0, + 3,255,224,0,15,129,248,0,30,0,60,0,56,0,14,0, + 48,0,6,0,112,125,199,0,96,255,199,0,225,195,195,0, + 227,131,195,0,227,129,195,128,227,129,195,128,227,129,195,128, + 227,129,195,0,227,129,195,0,225,131,199,0,113,199,206,0, + 112,252,252,0,56,56,48,0,60,0,0,0,30,0,0,0, + 15,128,64,0,3,255,192,0,0,127,128,0,19,20,60,21, + 1,0,0,224,0,1,240,0,1,240,0,3,176,0,3,184, + 0,3,56,0,7,28,0,7,28,0,14,14,0,14,14,0, + 30,15,0,28,7,0,28,7,0,63,255,128,63,255,128,112, + 1,192,112,1,192,224,0,224,224,0,224,224,0,224,15,20, + 40,19,2,0,255,224,255,248,224,120,224,28,224,28,224,28, + 224,28,224,24,224,56,255,224,255,240,224,28,224,12,224,14, + 224,14,224,14,224,30,224,60,255,248,255,224,16,20,40,19, + 2,0,7,240,31,252,60,14,48,6,112,7,96,0,224,0, + 224,0,224,0,224,0,224,0,224,0,224,0,224,0,96,0, + 96,7,112,6,56,14,31,252,7,240,16,20,40,20,2,0, + 255,192,255,240,224,120,224,28,224,14,224,14,224,7,224,7, + 224,7,224,7,224,7,224,7,224,7,224,7,224,14,224,14, + 224,28,224,120,255,240,255,192,13,20,40,17,2,0,255,248, + 255,248,224,0,224,0,224,0,224,0,224,0,224,0,224,0, + 255,240,255,240,224,0,224,0,224,0,224,0,224,0,224,0, + 224,0,255,248,255,248,12,20,40,16,2,0,255,240,255,240, + 224,0,224,0,224,0,224,0,224,0,224,0,224,0,255,224, + 255,224,224,0,224,0,224,0,224,0,224,0,224,0,224,0, + 224,0,224,0,18,20,60,22,2,0,3,248,0,15,254,0, + 30,15,128,56,3,128,112,1,192,96,0,0,224,0,0,224, + 0,0,224,0,0,224,63,192,224,63,192,224,1,192,224,1, + 192,224,1,192,112,1,192,112,1,192,56,1,192,30,7,192, + 15,255,192,3,254,0,15,20,40,19,2,0,224,14,224,14, + 224,14,224,14,224,14,224,14,224,14,224,14,224,14,255,254, + 255,254,224,14,224,14,224,14,224,14,224,14,224,14,224,14, + 224,14,224,14,3,20,20,7,2,0,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,12,20, + 40,16,2,0,0,112,0,112,0,112,0,112,0,112,0,112, + 0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112, + 0,112,224,112,224,96,113,224,63,192,31,128,15,20,40,18, + 2,0,224,60,224,120,224,240,224,224,225,192,227,128,231,0, + 238,0,252,0,254,0,238,0,239,0,231,128,227,192,225,224, + 224,240,224,120,224,56,224,60,224,30,12,20,40,15,2,0, + 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, + 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, + 224,0,224,0,255,240,255,240,21,20,60,25,2,0,248,0, + 248,248,0,248,248,1,248,252,1,248,252,1,184,236,3,184, + 238,3,184,238,3,56,230,7,56,231,6,56,227,14,56,227, + 142,56,227,140,56,225,156,56,225,220,56,225,216,56,224,248, + 56,224,240,56,224,112,56,224,112,56,16,20,40,20,2,0, + 240,7,248,7,248,7,252,7,252,7,238,7,238,7,231,7, + 231,135,227,135,227,199,225,199,224,231,224,231,224,119,224,119, + 224,63,224,63,224,31,224,31,18,20,60,22,2,0,3,240, + 0,15,252,0,62,31,0,56,7,0,112,3,128,96,1,128, + 224,1,192,224,1,192,224,1,192,224,1,192,224,1,192,224, + 1,192,224,1,192,96,1,192,112,3,128,112,3,128,56,7, + 0,30,30,0,15,252,0,3,240,0,14,20,40,17,2,0, + 255,192,255,240,224,120,224,56,224,28,224,28,224,28,224,56, + 224,120,255,240,255,192,224,0,224,0,224,0,224,0,224,0, + 224,0,224,0,224,0,224,0,20,20,60,22,2,0,3,240, + 0,15,252,0,62,31,0,56,7,0,112,3,128,96,1,128, + 224,1,192,224,1,192,224,1,192,224,1,192,224,1,192,224, + 1,192,224,1,192,96,1,192,112,3,128,112,3,128,56,7, + 0,30,30,0,15,255,240,3,255,240,14,20,40,17,2,0, + 255,192,255,240,224,120,224,56,224,28,224,28,224,28,224,56, + 224,112,255,224,255,224,224,112,224,56,224,56,224,56,224,24, + 224,24,224,24,224,28,224,28,15,20,40,19,2,0,15,192, + 63,240,120,120,96,28,224,28,224,0,224,0,120,0,127,0, + 63,240,7,252,0,60,0,14,0,14,224,14,224,14,224,14, + 120,60,63,248,15,192,16,20,40,18,1,0,255,255,255,255, + 1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192, + 1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192, + 1,192,1,192,16,20,40,20,2,0,224,7,224,7,224,7, + 224,7,224,7,224,7,224,7,224,7,224,7,224,7,224,7, + 224,7,224,7,224,7,224,7,96,6,112,14,60,60,31,248, + 15,224,17,20,60,18,1,0,224,3,128,224,7,0,224,7, + 0,112,7,0,112,14,0,112,14,0,56,14,0,56,28,0, + 56,28,0,28,56,0,28,56,0,12,56,0,14,112,0,14, + 112,0,7,112,0,7,224,0,7,224,0,3,224,0,3,192, + 0,3,192,0,26,20,80,27,1,0,224,28,1,192,224,30, + 3,128,224,62,3,128,224,62,3,128,112,54,3,0,112,119, + 7,0,112,115,7,0,48,99,7,0,56,99,134,0,56,227, + 142,0,24,225,142,0,28,193,140,0,28,193,220,0,29,193, + 220,0,13,192,216,0,15,128,216,0,15,128,248,0,7,128, + 120,0,7,0,112,0,7,0,112,0,18,20,60,20,1,0, + 120,7,128,56,7,0,60,14,0,30,30,0,14,28,0,15, + 56,0,7,56,0,3,240,0,1,224,0,1,224,0,3,224, + 0,3,240,0,7,120,0,14,56,0,14,28,0,28,30,0, + 56,15,0,120,7,0,112,7,128,224,3,192,17,20,60,19, + 1,0,224,3,128,240,7,0,112,7,0,56,14,0,60,28, + 0,28,28,0,14,56,0,14,48,0,7,112,0,7,96,0, + 3,224,0,1,192,0,1,192,0,1,192,0,1,192,0,1, + 192,0,1,192,0,1,192,0,1,192,0,1,192,0,15,20, + 40,17,1,0,255,252,255,252,0,28,0,56,0,120,0,240, + 0,224,1,192,3,192,3,128,7,0,14,0,30,0,28,0, + 56,0,112,0,240,0,224,0,255,254,255,254,5,25,25,11, + 3,251,248,248,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,248,248,9,21,42,11,1, + 255,192,0,96,0,96,0,96,0,48,0,48,0,48,0,24, + 0,24,0,24,0,8,0,12,0,12,0,12,0,6,0,6, + 0,6,0,3,0,3,0,3,0,1,128,6,25,25,12,3, + 251,252,252,28,28,28,28,28,28,28,28,28,28,28,28,28, + 28,28,28,28,28,28,28,28,252,252,14,17,34,28,7,0, + 3,0,3,0,7,128,7,128,4,128,12,192,8,64,24,96, + 24,96,16,32,48,48,48,48,96,24,96,24,64,8,192,12, + 192,12,14,2,4,14,0,252,255,252,255,252,6,5,5,6, + 255,16,224,112,48,24,12,12,14,28,15,1,0,31,192,63, + 224,112,112,112,112,0,112,15,240,63,240,112,112,224,112,224, + 112,224,112,224,240,127,176,30,48,13,20,40,16,2,0,224, + 0,224,0,224,0,224,0,224,0,224,0,231,192,255,224,240, + 112,224,48,224,56,224,56,224,56,224,56,224,56,224,56,224, + 112,240,112,255,224,231,128,12,14,28,14,1,0,31,128,63, + 224,112,112,224,112,224,112,224,0,224,0,224,0,224,0,224, + 112,96,112,112,224,63,224,31,128,13,20,40,16,1,0,0, + 56,0,56,0,56,0,56,0,56,0,56,31,56,63,248,112, + 248,96,120,224,56,224,56,224,56,224,56,224,56,224,56,112, + 56,112,120,63,248,15,184,13,14,28,15,1,0,15,128,63, + 224,112,112,96,48,224,56,255,248,255,248,224,0,224,0,224, + 56,96,112,112,112,63,224,15,128,9,20,40,10,1,0,7, + 128,31,128,28,0,28,0,28,0,28,0,255,128,255,128,28, + 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,28,0,13,19,38,16,1,251,31,184,63, + 248,112,120,96,56,224,56,224,56,224,56,224,56,224,56,224, + 56,96,56,112,120,63,248,31,56,0,56,112,48,112,112,63, + 224,15,128,12,20,40,16,2,0,224,0,224,0,224,0,224, + 0,224,0,224,0,239,192,255,224,240,240,224,112,224,112,224, + 112,224,112,224,112,224,112,224,112,224,112,224,112,224,112,224, + 112,3,20,20,7,2,0,224,224,224,0,0,0,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,5,25,25,7,1, + 251,56,56,56,0,0,0,56,56,56,56,56,56,56,56,56, + 56,56,56,56,56,56,56,56,240,224,11,20,40,14,2,0, + 224,0,224,0,224,0,224,0,224,0,224,0,225,224,225,192, + 227,128,231,0,238,0,252,0,252,0,254,0,238,0,231,0, + 227,128,227,192,225,192,224,224,3,20,20,7,2,0,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,21,14,42,25,2,0,231,195,224,255,239,240,240,248, + 56,224,120,56,224,112,24,224,112,24,224,112,24,224,112,24, + 224,112,24,224,112,24,224,112,24,224,112,24,224,112,24,224, + 112,24,12,14,28,16,2,0,239,128,255,224,240,240,224,112, + 224,112,224,112,224,112,224,112,224,112,224,112,224,112,224,112, + 224,112,224,112,14,14,28,16,1,0,15,192,63,224,112,112, + 112,56,224,24,224,28,224,28,224,28,224,28,224,24,112,56, + 112,112,63,224,15,192,14,19,38,17,2,251,231,192,255,240, + 240,112,240,56,224,24,224,28,224,28,224,28,224,28,224,24, + 224,56,240,112,255,240,231,192,224,0,224,0,224,0,224,0, + 224,0,14,19,38,17,1,251,15,156,63,220,112,124,112,60, + 224,28,224,28,224,28,224,28,224,28,224,28,96,60,112,124, + 63,252,15,156,0,28,0,28,0,28,0,28,0,28,8,14, + 14,10,2,0,239,255,240,224,224,224,224,224,224,224,224,224, + 224,224,12,14,28,14,1,0,31,128,127,192,112,224,224,224, + 224,0,120,0,63,128,15,224,0,224,0,112,224,112,224,224, + 127,192,63,128,8,18,18,10,1,0,8,56,56,56,255,255, + 56,56,56,56,56,56,56,56,56,56,31,15,12,14,28,16, + 2,0,224,112,224,112,224,112,224,112,224,112,224,112,224,112, + 224,112,224,112,224,112,224,112,240,240,127,240,63,112,13,14, + 28,15,1,0,224,24,224,56,224,56,112,48,112,112,56,96, + 56,224,24,192,28,192,29,192,15,128,15,128,7,0,7,0, + 21,14,42,23,1,0,192,112,24,224,248,56,224,248,56,96, + 216,48,97,216,112,113,156,112,49,140,96,51,140,224,59,14, + 224,27,6,192,27,7,192,30,7,128,14,3,128,14,3,128, + 13,14,28,15,1,0,240,56,112,112,56,96,28,224,31,192, + 15,128,7,0,7,128,15,192,29,192,56,224,112,112,112,120, + 224,56,13,19,38,15,1,251,224,24,224,56,96,56,112,112, + 112,112,56,96,56,224,28,224,29,192,13,192,15,128,15,128, + 7,128,7,0,7,0,6,0,14,0,14,0,12,0,10,14, + 28,12,1,0,255,192,255,192,1,192,3,128,7,0,14,0, + 14,0,28,0,56,0,48,0,112,0,224,0,255,192,255,192, + 9,27,54,13,2,249,3,128,15,128,14,0,12,0,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,56,0,248,0, + 240,0,240,0,56,0,24,0,28,0,28,0,28,0,28,0, + 12,0,12,0,12,0,14,0,15,128,3,128,1,29,29,9, + 4,249,128,128,128,128,128,128,128,128,128,128,128,128,128,128, + 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,9, + 27,54,13,2,249,240,0,248,0,24,0,28,0,28,0,28, + 0,28,0,28,0,28,0,12,0,12,0,14,0,7,128,3, + 128,7,128,14,0,12,0,12,0,28,0,28,0,28,0,28, + 0,28,0,28,0,24,0,248,0,240,0,15,3,6,15,0, + 5,62,14,127,252,224,248,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,255,255,255,255,255,255,255,0,0,0,8,0,0,3,19, + 19,10,4,251,224,224,224,0,0,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,12,20,40,16,2,253,0,192,0, + 128,0,128,31,128,63,192,113,96,227,96,226,0,226,0,230, + 0,228,0,228,0,236,112,232,96,120,224,63,192,31,128,16, + 0,48,0,48,0,14,20,40,16,1,0,7,224,31,248,60, + 60,56,28,56,0,56,0,56,0,255,128,255,128,56,0,56, + 0,56,0,56,0,56,0,56,0,56,0,56,0,56,0,255, + 248,255,248,16,14,28,18,1,4,192,3,97,134,55,236,28, + 56,24,24,48,12,48,12,48,12,48,12,24,24,28,56,63, + 252,115,198,192,3,15,20,40,17,1,0,224,14,224,28,112, + 28,48,56,56,56,24,112,252,126,252,254,14,224,7,192,255, + 254,255,254,3,128,3,128,3,128,3,128,3,128,3,128,3, + 128,3,128,1,25,25,9,4,251,128,128,128,128,128,128,128, + 128,128,128,128,0,0,0,128,128,128,128,128,128,128,128,128, + 128,128,10,25,50,12,1,251,31,0,63,128,112,0,224,0, + 224,0,112,0,120,0,62,0,31,0,127,128,113,192,225,192, + 225,192,225,128,247,128,126,0,31,0,7,128,3,192,1,192, + 1,192,1,192,131,128,255,0,60,0,8,3,3,8,0,17, + 231,231,231,21,20,60,25,2,0,1,252,0,7,255,0,28, + 3,128,56,112,192,35,254,96,103,142,48,199,7,16,134,7, + 24,142,0,8,142,0,8,142,0,8,134,0,8,134,7,24, + 199,7,16,67,254,16,32,248,32,48,0,64,28,1,128,7, + 143,0,1,252,0,10,13,26,12,1,7,63,0,127,128,97, + 128,1,128,31,128,127,128,225,128,193,128,227,128,127,128,24, + 0,0,0,255,192,11,11,22,16,2,2,12,96,24,224,56, + 192,113,128,99,128,227,0,99,128,113,128,56,192,24,224,12, + 96,15,6,12,18,2,6,255,254,255,254,0,6,0,6,0, + 6,0,6,255,21,20,60,25,2,0,1,252,0,7,255,0, + 28,3,128,59,252,192,35,254,96,99,3,48,195,3,16,131, + 3,24,131,254,8,131,252,8,131,6,8,131,6,8,131,3, + 24,195,3,16,67,3,48,35,3,96,56,0,192,28,3,128, + 7,255,0,1,252,0,8,2,2,8,0,17,255,255,6,6, + 6,8,1,14,120,204,132,132,204,120,17,17,51,29,6,0, + 1,128,0,1,128,0,1,128,0,1,128,0,1,128,0,255, + 255,128,255,255,128,1,128,0,1,128,0,1,128,0,1,128, + 0,1,128,0,0,0,0,0,0,0,0,0,0,255,255,128, + 255,255,128,9,11,22,11,1,9,62,0,127,0,227,128,3, + 128,3,0,7,0,28,0,56,0,112,0,255,128,255,128,8, + 11,11,10,1,9,62,127,195,3,30,30,7,3,195,126,60, + 5,5,5,6,2,16,56,48,96,224,192,255,13,24,48,16, + 1,252,15,248,62,32,126,32,126,32,254,32,254,32,254,32, + 126,32,62,32,30,32,2,32,2,32,2,32,2,32,2,32, + 2,32,2,32,2,32,2,32,2,32,2,32,2,32,2,32, + 2,32,3,3,3,7,2,8,224,224,224,7,7,7,7,1, + 249,32,32,60,14,6,254,248,4,10,10,8,2,10,112,240, + 176,48,48,48,48,48,48,48,10,12,24,12,1,8,30,0, + 99,128,193,128,192,192,192,192,192,192,192,192,193,128,99,128, + 30,0,0,0,255,192,12,11,22,16,2,2,227,0,99,128, + 49,128,56,192,24,224,28,112,24,224,56,192,49,128,99,128, + 227,0,18,20,60,22,2,0,112,12,0,240,12,0,176,24, + 0,48,24,0,48,48,0,48,96,0,48,96,0,48,192,0, + 48,192,0,49,131,0,49,7,0,3,15,0,6,31,0,6, + 27,0,12,51,0,12,99,0,24,127,192,16,3,0,48,3, + 0,96,3,0,18,20,60,22,2,0,112,12,0,240,24,0, + 176,24,0,48,48,0,48,48,0,48,96,0,48,64,0,48, + 192,0,48,128,0,49,143,0,51,31,128,3,49,192,6,1, + 192,6,1,192,12,3,128,8,7,0,24,14,0,16,24,0, + 48,63,192,96,63,192,20,20,60,22,1,0,62,1,128,127, + 3,0,195,3,0,3,6,0,28,6,0,30,12,0,3,24, + 0,195,24,0,199,48,0,126,48,192,56,97,192,0,99,192, + 0,198,192,1,134,192,1,140,192,3,24,192,3,31,240,6, + 0,192,12,0,192,12,0,192,12,19,38,15,2,251,7,0, + 7,0,7,0,0,0,0,0,7,0,7,0,7,0,15,0, + 30,0,56,0,112,0,224,0,224,0,224,0,224,112,127,224, + 63,224,31,128,19,27,81,21,1,0,7,0,0,3,128,0, + 1,128,0,0,192,0,0,96,0,0,0,0,0,0,0,0, + 224,0,1,240,0,1,240,0,3,176,0,3,184,0,3,56, + 0,7,28,0,7,28,0,14,14,0,14,14,0,30,15,0, + 28,7,0,28,7,0,63,255,128,63,255,128,112,1,192,112, + 1,192,224,0,224,224,0,224,224,0,224,19,27,81,21,1, + 0,0,28,0,0,56,0,0,48,0,0,96,0,0,192,0, + 0,0,0,0,0,0,0,224,0,1,240,0,1,240,0,3, + 176,0,3,184,0,3,56,0,7,28,0,7,28,0,14,14, + 0,14,14,0,30,15,0,28,7,0,28,7,0,63,255,128, + 63,255,128,112,1,192,112,1,192,224,0,224,224,0,224,224, + 0,224,19,27,81,21,1,0,0,224,0,1,240,0,1,176, + 0,3,24,0,6,12,0,0,0,0,0,0,0,0,224,0, + 1,240,0,1,240,0,3,176,0,3,184,0,3,56,0,7, + 28,0,7,28,0,14,14,0,14,14,0,30,15,0,28,7, + 0,28,7,0,63,255,128,63,255,128,112,1,192,112,1,192, + 224,0,224,224,0,224,224,0,224,19,26,78,21,1,0,1, + 140,0,3,248,0,6,112,0,0,0,0,0,0,0,0,0, + 0,0,224,0,1,240,0,1,240,0,3,176,0,3,184,0, + 3,56,0,7,28,0,7,28,0,14,14,0,14,14,0,30, + 15,0,28,7,0,28,7,0,63,255,128,63,255,128,112,1, + 192,112,1,192,224,0,224,224,0,224,224,0,224,19,26,78, + 21,1,0,3,156,0,3,156,0,3,156,0,0,0,0,0, + 0,0,0,0,0,0,224,0,0,240,0,1,240,0,1,184, + 0,3,184,0,3,152,0,7,28,0,7,28,0,7,14,0, + 14,14,0,14,15,0,28,7,0,28,7,0,63,255,128,63, + 255,128,56,1,192,112,1,192,112,0,224,224,0,224,224,0, + 224,20,28,84,21,0,0,0,240,0,1,152,0,1,8,0, + 1,8,0,1,152,0,0,240,0,0,0,0,0,0,0,0, + 240,0,0,240,0,0,248,0,1,248,0,1,220,0,3,156, + 0,3,158,0,7,14,0,7,14,0,7,7,0,14,7,0, + 14,7,128,30,3,128,31,255,192,31,255,192,56,1,192,56, + 0,224,112,0,224,112,0,112,224,0,112,25,20,80,28,1, + 0,0,63,255,128,0,127,255,128,0,126,0,0,0,238,0, + 0,0,238,0,0,1,206,0,0,1,206,0,0,3,206,0, + 0,3,142,0,0,7,143,255,128,7,15,255,128,15,14,0, + 0,14,14,0,0,31,254,0,0,63,254,0,0,56,14,0, + 0,120,14,0,0,112,14,0,0,224,15,255,128,224,15,255, + 128,16,27,54,19,2,249,7,240,31,252,60,14,48,6,112, + 7,96,0,224,0,224,0,224,0,224,0,224,0,224,0,224, + 0,224,0,96,0,96,7,48,6,56,14,31,252,7,240,0, + 128,0,224,0,248,0,24,0,24,3,248,1,224,13,27,54, + 17,2,0,24,0,28,0,14,0,6,0,3,0,0,0,0, + 0,255,248,255,248,224,0,224,0,224,0,224,0,224,0,224, + 0,224,0,255,240,255,240,224,0,224,0,224,0,224,0,224, + 0,224,0,224,0,255,248,255,248,13,27,54,17,2,0,1, + 192,1,128,3,0,6,0,4,0,0,0,0,0,255,248,255, + 248,224,0,224,0,224,0,224,0,224,0,224,0,224,0,255, + 240,255,240,224,0,224,0,224,0,224,0,224,0,224,0,224, + 0,255,248,255,248,13,27,54,17,2,0,15,0,15,0,25, + 128,16,192,48,192,0,0,0,0,255,248,255,248,224,0,224, + 0,224,0,224,0,224,0,224,0,224,0,255,240,255,240,224, + 0,224,0,224,0,224,0,224,0,224,0,224,0,255,248,255, + 248,13,26,52,17,2,0,56,224,56,224,56,224,0,0,0, + 0,0,0,255,248,255,248,224,0,224,0,224,0,224,0,224, + 0,224,0,224,0,255,240,255,240,224,0,224,0,224,0,224, + 0,224,0,224,0,224,0,255,248,255,248,5,27,27,7,0, + 0,224,96,48,48,24,0,0,56,56,56,56,56,56,56,56, + 56,56,56,56,56,56,56,56,56,56,56,56,5,27,27,7, + 2,0,56,112,96,192,128,0,0,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,8,27,27, + 7,255,0,28,62,118,99,193,0,0,28,28,28,28,28,28, + 28,28,28,28,28,28,28,28,28,28,28,28,28,28,8,26, + 26,8,0,0,227,227,227,0,0,0,28,28,28,28,28,28, + 28,28,28,28,28,28,28,28,28,28,28,28,28,28,19,20, + 60,20,0,0,63,240,0,63,254,0,56,31,0,56,7,128, + 56,3,128,56,1,192,56,1,192,56,0,192,56,0,224,255, + 192,224,255,192,224,56,0,224,56,0,192,56,1,192,56,1, + 192,56,3,128,56,7,128,56,31,0,63,254,0,63,240,0, + 16,26,52,20,2,0,6,48,15,224,9,224,0,0,0,0, + 0,0,240,7,248,7,248,7,252,7,252,7,238,7,238,7, + 231,7,231,135,227,135,227,199,225,199,224,231,224,231,224,119, + 224,119,224,63,224,63,224,31,224,31,18,28,84,22,2,0, + 7,0,0,3,128,0,1,128,0,0,192,0,0,64,0,0, + 0,0,0,0,0,0,0,0,3,240,0,15,252,0,62,31, + 0,56,7,0,112,3,128,96,1,128,224,1,192,224,1,192, + 224,1,192,224,1,192,224,1,192,224,1,192,224,1,192,96, + 1,192,112,3,128,112,3,128,56,7,0,30,30,0,15,252, + 0,3,240,0,18,28,84,22,2,0,0,56,0,0,112,0, + 0,96,0,0,192,0,0,128,0,0,0,0,0,0,0,0, + 0,0,3,240,0,15,252,0,62,31,0,56,7,0,112,3, + 128,96,1,128,224,1,192,224,1,192,224,1,192,224,1,192, + 224,1,192,224,1,192,224,1,192,96,1,192,112,3,128,112, + 3,128,56,7,0,30,30,0,15,252,0,3,240,0,18,28, + 84,22,2,0,1,224,0,1,224,0,3,240,0,3,48,0, + 6,24,0,0,0,0,0,0,0,0,0,0,3,240,0,15, + 252,0,62,31,0,56,7,0,112,3,128,96,1,128,224,1, + 192,224,1,192,224,1,192,224,1,192,224,1,192,224,1,192, + 224,1,192,96,1,192,112,3,128,112,3,128,56,7,0,30, + 30,0,15,252,0,3,240,0,18,26,78,22,2,0,3,152, + 0,7,248,0,6,112,0,0,0,0,0,0,0,0,0,0, + 3,240,0,15,252,0,62,31,0,56,7,0,112,3,128,96, + 1,128,224,1,192,224,1,192,224,1,192,224,1,192,224,1, + 192,224,1,192,224,1,192,96,1,192,112,3,128,112,3,128, + 56,7,0,31,62,0,15,252,0,3,240,0,18,26,78,22, + 2,0,7,28,0,7,28,0,7,28,0,0,0,0,0,0, + 0,0,0,0,3,240,0,15,252,0,62,31,0,56,7,0, + 112,3,128,96,1,128,224,1,192,224,1,192,224,1,192,224, + 1,192,224,1,192,224,1,192,224,1,192,96,1,192,112,3, + 128,112,3,128,56,7,0,30,30,0,15,252,0,3,240,0, + 16,15,30,28,6,1,64,2,224,7,112,14,56,28,12,56, + 6,96,3,192,1,128,3,192,6,96,12,48,24,24,48,12, + 96,6,64,2,18,24,72,22,2,254,0,0,128,0,1,192, + 3,251,128,15,255,0,62,31,0,56,15,128,112,31,128,96, + 29,128,224,57,192,224,113,192,224,113,192,224,225,192,225,193, + 192,227,193,192,227,129,192,231,1,128,111,3,128,126,3,128, + 60,7,0,62,30,0,63,252,0,115,240,0,224,0,0,96, + 0,0,16,28,56,20,2,0,14,0,7,0,3,0,1,128, + 0,128,0,0,0,0,0,0,224,7,224,7,224,7,224,7, + 224,7,224,7,224,7,224,7,224,7,224,7,224,7,224,7, + 224,7,224,7,224,7,96,14,112,14,62,124,31,248,15,224, + 16,28,56,20,2,0,0,112,0,224,0,192,1,128,1,0, + 0,0,0,0,0,0,224,7,224,7,224,7,224,7,224,7, + 224,7,224,7,224,7,224,7,224,7,224,7,224,7,224,7, + 224,7,224,7,96,14,112,14,62,124,31,248,15,224,16,28, + 56,20,2,0,3,192,3,192,7,224,6,96,12,48,0,0, + 0,0,0,0,224,7,224,7,224,7,224,7,224,7,224,7, + 224,7,224,7,224,7,224,7,224,7,224,7,224,7,224,7, + 224,7,96,14,112,14,62,124,31,248,15,224,16,26,52,20, + 2,0,14,56,14,56,14,56,0,0,0,0,0,0,224,7, + 224,7,224,7,224,7,224,7,224,7,224,7,224,7,224,7, + 224,7,224,7,224,7,224,7,224,7,224,7,96,6,112,14, + 60,60,31,248,15,224,17,27,81,19,1,0,0,112,0,0, + 96,0,0,192,0,0,128,0,1,128,0,0,0,0,0,0, + 0,224,3,128,240,7,0,112,7,0,56,14,0,60,28,0, + 28,28,0,14,56,0,14,48,0,7,112,0,7,96,0,3, + 224,0,1,192,0,1,192,0,1,192,0,1,192,0,1,192, + 0,1,192,0,1,192,0,1,192,0,1,192,0,14,20,40, + 17,2,0,224,0,224,0,224,0,224,0,255,192,255,240,224, + 120,224,56,224,28,224,28,224,28,224,56,224,120,255,240,255, + 192,224,0,224,0,224,0,224,0,224,0,14,20,40,15,1, + 0,15,128,63,224,112,112,224,112,224,112,224,112,225,224,227, + 128,231,0,231,0,227,128,227,224,224,248,224,56,224,28,224, + 28,238,28,230,28,231,248,225,240,12,21,42,15,1,0,12, + 0,14,0,6,0,3,0,1,128,0,0,0,0,31,192,63, + 224,112,112,112,112,0,112,15,240,63,240,112,112,224,112,224, + 112,224,112,224,240,127,176,30,48,12,22,44,15,1,0,1, + 192,1,128,3,0,3,0,6,0,12,0,0,0,0,0,31, + 192,63,224,112,112,112,112,0,112,15,240,63,240,112,112,224, + 112,224,112,224,112,224,240,127,176,30,48,12,22,44,15,1, + 0,7,0,15,0,13,128,29,128,24,192,48,64,0,0,0, + 0,31,192,63,224,112,112,112,112,0,112,15,240,63,240,112, + 112,224,112,224,112,224,112,224,240,127,176,30,48,12,20,40, + 15,1,0,30,64,31,192,49,128,0,0,0,0,0,0,31, + 192,63,224,112,112,112,112,0,112,15,240,63,240,112,112,224, + 112,224,112,224,112,224,240,127,176,30,48,12,20,40,15,1, + 0,56,224,56,224,56,224,0,0,0,0,0,0,31,192,63, + 224,112,112,112,112,0,112,15,240,63,240,112,112,224,112,224, + 112,224,112,224,240,127,176,30,48,12,23,46,15,1,0,15, + 0,25,128,16,128,16,128,25,128,15,0,0,0,0,0,0, + 0,31,192,63,224,112,112,112,112,0,112,15,240,63,240,112, + 112,224,112,224,112,224,112,224,240,127,176,30,48,23,14,42, + 25,1,0,31,131,240,63,207,248,112,108,28,112,56,12,0, + 56,14,15,255,254,63,255,254,120,56,0,224,56,0,224,56, + 14,224,120,12,240,236,28,127,199,248,31,3,240,12,21,42, + 14,1,249,31,128,63,224,112,112,224,112,224,112,224,0,224, + 0,224,0,224,0,224,112,224,112,112,224,63,224,31,128,4, + 0,7,128,7,192,0,96,0,96,31,192,15,0,13,22,44, + 15,1,0,56,0,28,0,12,0,6,0,6,0,3,0,0, + 0,0,0,15,128,63,224,112,112,96,48,224,56,255,248,255, + 248,224,0,224,0,224,56,96,112,112,112,63,224,15,128,13, + 22,44,15,1,0,1,192,1,128,3,128,3,0,6,0,4, + 0,0,0,0,0,15,128,63,224,112,112,96,48,224,56,255, + 248,255,248,224,0,224,0,224,56,96,112,112,112,63,224,15, + 128,13,22,44,15,1,0,7,0,15,0,15,128,25,128,24, + 192,48,64,0,0,0,0,15,128,63,224,112,112,96,48,224, + 56,255,248,255,248,224,0,224,0,224,56,96,112,112,112,63, + 224,15,128,13,20,40,15,1,0,56,224,56,224,56,224,0, + 0,0,0,0,0,15,192,63,224,112,112,96,56,224,56,255, + 248,255,248,224,0,224,0,224,56,96,56,112,112,63,224,15, + 128,5,21,21,7,0,0,224,96,48,48,24,0,0,56,56, + 56,56,56,56,56,56,56,56,56,56,56,56,5,21,21,7, + 2,0,56,112,96,192,128,0,0,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,8,21,21,7,255,0,60,62,118, + 99,193,0,0,28,28,28,28,28,28,28,28,28,28,28,28, + 28,28,8,20,20,7,255,0,227,227,227,0,0,0,28,28, + 28,28,28,28,28,28,28,28,28,28,28,28,14,20,40,16, + 1,0,48,32,57,224,15,0,31,128,113,192,0,224,15,240, + 63,240,120,120,112,56,224,24,224,28,224,28,224,28,224,28, + 224,24,96,56,112,112,63,224,15,192,12,20,40,16,2,0, + 28,192,63,192,51,128,0,0,0,0,0,0,239,128,255,224, + 240,240,224,112,224,112,224,112,224,112,224,112,224,112,224,112, + 224,112,224,112,224,112,224,112,14,22,44,16,1,0,28,0, + 12,0,14,0,6,0,3,0,1,0,0,0,0,0,15,192, + 63,224,112,112,112,56,224,24,224,28,224,28,224,28,224,28, + 224,24,112,56,112,112,63,224,15,192,14,22,44,16,1,0, + 0,224,1,192,1,128,3,0,3,0,6,0,0,0,0,0, + 15,192,63,224,112,112,112,56,224,24,224,28,224,28,224,28, + 224,28,224,24,112,56,112,112,63,224,15,192,14,22,44,16, + 1,0,7,0,7,128,15,128,12,192,24,192,24,96,0,0, + 0,0,15,192,63,224,112,112,112,56,224,24,224,28,224,28, + 224,28,224,28,224,24,112,56,112,112,63,224,15,192,14,20, + 40,16,1,0,14,96,31,192,17,128,0,0,0,0,0,0, + 15,192,63,224,112,112,112,56,224,24,224,28,224,28,224,28, + 224,28,224,24,112,56,112,112,63,224,15,192,14,20,40,16, + 1,0,28,224,28,224,28,224,0,0,0,0,0,0,15,192, + 63,224,112,112,112,56,224,24,224,28,224,28,224,28,224,28, + 224,24,112,56,112,112,63,224,15,192,17,12,36,29,6,2, + 1,192,0,1,192,0,1,192,0,0,0,0,0,0,0,255, + 255,128,255,255,128,0,0,0,0,0,0,1,192,0,1,192, + 0,1,192,0,14,18,36,16,1,254,0,8,0,24,15,248, + 63,240,112,112,112,248,225,216,225,152,227,28,230,28,238,28, + 236,24,120,56,112,112,127,224,111,192,192,0,128,0,12,22, + 44,16,2,0,56,0,24,0,12,0,12,0,6,0,3,0, + 0,0,0,0,224,112,224,112,224,112,224,112,224,112,224,112, + 224,112,224,112,224,112,224,112,224,112,240,240,127,240,63,112, + 12,22,44,16,2,0,1,192,1,128,3,0,7,0,6,0, + 12,0,0,0,0,0,224,112,224,112,224,112,224,112,224,112, + 224,112,224,112,224,112,224,112,224,112,224,112,240,240,127,240, + 63,112,12,22,44,16,2,0,6,0,15,0,15,0,25,128, + 16,128,48,192,0,0,0,0,224,112,224,112,224,112,224,112, + 224,112,224,112,224,112,224,112,224,112,224,112,224,112,240,240, + 127,240,63,112,12,20,40,16,2,0,57,192,57,192,57,192, + 0,0,0,0,0,0,224,112,224,112,224,112,224,112,224,112, + 224,112,224,112,224,112,224,112,224,112,224,112,240,240,127,240, + 63,112,13,27,54,15,1,251,0,224,1,192,1,128,3,0, + 2,0,0,0,0,0,0,0,224,24,224,56,96,56,112,112, + 112,112,56,96,56,224,28,224,29,192,13,192,15,128,7,128, + 7,128,7,0,7,0,6,0,238,0,252,0,120,0,14,25, + 50,17,2,251,224,0,224,0,224,0,224,0,224,0,224,0, + 231,192,255,240,240,112,240,56,224,24,224,28,224,28,224,28, + 224,28,224,24,224,56,240,112,255,240,231,192,224,0,224,0, + 224,0,224,0,224,0,14,25,50,14,0,251,28,224,28,224, + 28,224,0,0,0,0,0,0,224,28,112,24,112,56,48,56, + 56,112,56,112,28,96,28,224,14,224,14,192,7,192,7,128, + 3,128,3,128,3,0,7,0,6,0,6,0,14,0}; +/* + Fontname: -FreeType-FreeUniversal-Medium-R-Normal--28-280-72-72-P-133-ISO10646-1 + Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. + Capital A Height: 0, '1' Height: 20 + Calculated Max Values w=17 h=21 x= 6 y= 9 dx=29 dy= 0 ascent=20 len=48 + Font Bounding box w=38 h=35 x=-2 y=-7 + Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 + Pure Font ascent =20 descent= 0 + X Font ascent =20 descent= 0 + Max Font ascent =20 descent=-3 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_fur20n[616] U8G_FONT_SECTION("u8g_font_fur20n") = { + 0,38,35,254,249,20,0,0,0,0,42,58,0,20,253,20, + 0,11,11,22,19,4,9,17,0,49,128,27,0,27,0,14, + 0,255,224,142,32,27,0,27,0,49,128,17,0,17,16,48, + 29,6,0,1,128,0,1,128,0,1,128,0,1,128,0,1, + 128,0,1,128,0,1,128,0,255,255,128,255,255,128,1,128, + 0,1,128,0,1,128,0,1,128,0,1,128,0,1,128,0, + 1,128,0,5,7,7,8,1,253,56,56,112,112,96,96,224, + 7,2,2,9,1,6,254,254,3,3,3,8,3,0,224,224, + 224,8,21,21,11,2,255,3,6,6,6,4,12,12,12,24, + 24,24,48,48,48,96,96,96,64,192,192,192,13,20,40,16, + 1,0,15,128,63,192,112,224,96,112,96,112,224,48,224,48, + 224,56,224,56,224,56,224,56,224,56,224,56,224,48,224,48, + 96,112,112,112,48,224,63,192,15,128,7,20,20,16,4,0, + 30,62,126,254,206,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,12,20,40,16,2,0,31,128,63,192,112,96, + 112,112,224,112,0,112,0,112,0,112,0,224,1,224,3,192, + 3,128,7,0,14,0,28,0,60,0,120,0,240,0,255,240, + 255,240,13,20,40,16,1,0,15,128,63,224,112,112,112,48, + 224,56,0,56,0,48,0,224,7,192,7,192,0,224,0,112, + 0,56,0,56,224,56,224,56,224,56,112,112,63,224,31,128, + 14,20,40,16,1,0,0,240,1,240,1,240,3,240,7,112, + 6,112,14,112,28,112,24,112,56,112,112,112,96,112,224,112, + 255,252,255,252,0,112,0,112,0,112,0,112,0,112,13,20, + 40,16,1,0,255,224,255,224,224,0,224,0,224,0,224,0, + 224,0,239,128,255,224,240,112,224,112,224,48,0,56,0,56, + 0,56,224,48,224,112,112,224,127,192,31,128,13,20,40,16, + 1,0,15,192,63,224,120,112,112,48,224,56,224,0,224,0, + 231,192,255,224,248,240,224,56,224,56,224,56,224,56,224,56, + 224,56,96,48,48,112,63,224,15,128,12,20,40,16,2,0, + 255,240,255,240,0,112,0,112,0,96,0,224,0,224,1,192, + 1,192,1,128,3,128,3,128,3,0,7,0,7,0,14,0, + 14,0,14,0,28,0,28,0,13,20,40,16,1,0,15,128, + 63,224,112,112,224,48,224,56,224,56,96,48,112,112,31,192, + 31,192,56,96,96,48,224,56,224,56,224,56,224,56,224,56, + 112,112,63,224,15,128,13,20,40,16,1,0,31,192,63,224, + 112,112,224,56,224,56,224,56,224,56,224,56,224,56,112,120, + 63,248,31,56,0,56,0,56,0,56,96,48,96,112,112,224, + 63,192,31,128,3,14,14,8,3,0,224,224,224,0,0,0, + 0,0,0,0,0,224,224,224}; +/* + Fontname: -FreeType-FreeUniversal-Medium-R-Normal--28-280-72-72-P-133-ISO10646-1 + Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. + Capital A Height: 20, '1' Height: 20 + Calculated Max Values w=26 h=29 x= 7 y=16 dx=29 dy= 0 ascent=22 len=96 + Font Bounding box w=38 h=35 x=-2 y=-7 + Calculated Min Values x=-1 y=-7 dx= 0 dy= 0 + Pure Font ascent =20 descent=-5 + X Font ascent =20 descent=-5 + Max Font ascent =22 descent=-7 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_fur20r[3976] U8G_FONT_SECTION("u8g_font_fur20r") = { + 0,38,35,254,249,20,5,12,11,23,32,127,251,22,249,20, + 251,0,0,0,8,0,0,3,20,20,11,4,0,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,0,0,224,224, + 224,9,8,16,13,2,12,227,128,227,128,227,0,227,0,227, + 0,195,0,195,0,67,0,18,20,60,21,1,0,0,195,0, + 0,195,0,0,195,0,1,198,0,1,134,0,1,134,0,31, + 255,192,63,255,192,3,12,0,3,24,0,6,24,0,6,24, + 0,127,255,128,255,255,0,12,48,0,12,48,0,28,96,0, + 24,96,0,24,96,0,24,192,0,14,25,50,16,1,253,2, + 0,2,0,31,192,63,224,114,112,98,48,226,56,226,0,226, + 0,114,0,126,0,63,224,15,240,2,248,2,56,2,28,226, + 28,226,28,226,24,114,56,127,240,31,192,2,0,2,0,2, + 0,23,20,60,25,1,0,30,0,192,127,128,192,97,129,128, + 225,193,0,225,195,0,225,198,0,225,198,0,97,140,0,127, + 136,0,30,24,224,0,49,248,0,51,156,0,103,14,0,71, + 14,0,199,14,1,135,14,1,135,14,3,3,12,2,3,252, + 6,0,240,19,20,60,22,2,0,7,192,0,31,240,0,56, + 48,0,56,48,0,56,48,0,56,112,0,29,224,0,15,192, + 0,31,3,128,63,131,128,115,195,128,225,227,128,224,243,0, + 224,123,0,224,63,0,224,30,0,112,15,0,120,31,128,63, + 251,192,15,225,224,3,8,8,10,4,12,224,224,192,192,192, + 192,192,192,5,24,24,10,3,252,24,48,48,112,112,96,96, + 224,224,224,224,224,224,224,224,224,224,96,96,112,112,48,48, + 24,5,24,24,10,3,252,192,192,96,96,96,112,112,48,48, + 48,56,56,56,56,48,48,48,112,112,96,96,96,192,192,11, + 11,22,19,4,9,17,0,49,128,27,0,27,0,14,0,255, + 224,142,32,27,0,27,0,49,128,17,0,17,16,48,29,6, + 0,1,128,0,1,128,0,1,128,0,1,128,0,1,128,0, + 1,128,0,1,128,0,255,255,128,255,255,128,1,128,0,1, + 128,0,1,128,0,1,128,0,1,128,0,1,128,0,1,128, + 0,5,7,7,8,1,253,56,56,112,112,96,96,224,7,2, + 2,9,1,6,254,254,3,3,3,8,3,0,224,224,224,8, + 21,21,11,2,255,3,6,6,6,4,12,12,12,24,24,24, + 48,48,48,96,96,96,64,192,192,192,13,20,40,16,1,0, + 15,128,63,192,112,224,96,112,96,112,224,48,224,48,224,56, + 224,56,224,56,224,56,224,56,224,56,224,48,224,48,96,112, + 112,112,48,224,63,192,15,128,7,20,20,16,4,0,30,62, + 126,254,206,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,12,20,40,16,2,0,31,128,63,192,112,96,112,112, + 224,112,0,112,0,112,0,112,0,224,1,224,3,192,3,128, + 7,0,14,0,28,0,60,0,120,0,240,0,255,240,255,240, + 13,20,40,16,1,0,15,128,63,224,112,112,112,48,224,56, + 0,56,0,48,0,224,7,192,7,192,0,224,0,112,0,56, + 0,56,224,56,224,56,224,56,112,112,63,224,31,128,14,20, + 40,16,1,0,0,240,1,240,1,240,3,240,7,112,6,112, + 14,112,28,112,24,112,56,112,112,112,96,112,224,112,255,252, + 255,252,0,112,0,112,0,112,0,112,0,112,13,20,40,16, + 1,0,255,224,255,224,224,0,224,0,224,0,224,0,224,0, + 239,128,255,224,240,112,224,112,224,48,0,56,0,56,0,56, + 224,48,224,112,112,224,127,192,31,128,13,20,40,16,1,0, + 15,192,63,224,120,112,112,48,224,56,224,0,224,0,231,192, + 255,224,248,240,224,56,224,56,224,56,224,56,224,56,224,56, + 96,48,48,112,63,224,15,128,12,20,40,16,2,0,255,240, + 255,240,0,112,0,112,0,96,0,224,0,224,1,192,1,192, + 1,128,3,128,3,128,3,0,7,0,7,0,14,0,14,0, + 14,0,28,0,28,0,13,20,40,16,1,0,15,128,63,224, + 112,112,224,48,224,56,224,56,96,48,112,112,31,192,31,192, + 56,96,96,48,224,56,224,56,224,56,224,56,224,56,112,112, + 63,224,15,128,13,20,40,16,1,0,31,192,63,224,112,112, + 224,56,224,56,224,56,224,56,224,56,224,56,112,120,63,248, + 31,56,0,56,0,56,0,56,96,48,96,112,112,224,63,192, + 31,128,3,14,14,8,3,0,224,224,224,0,0,0,0,0, + 0,0,0,224,224,224,4,17,17,8,2,253,112,112,112,0, + 0,0,0,0,0,0,112,112,96,224,192,192,192,17,14,42, + 29,6,1,0,1,128,0,15,128,0,124,0,1,224,0,15, + 0,0,120,0,0,224,0,0,240,0,0,62,0,0,7,128, + 0,0,240,0,0,62,0,0,7,128,0,0,128,17,7,21, + 29,6,5,255,255,128,255,255,128,0,0,0,0,0,0,0, + 0,0,255,255,128,255,255,128,17,14,42,29,6,1,192,0, + 0,248,0,0,31,0,0,3,192,0,0,120,0,0,15,0, + 0,3,128,0,7,128,0,62,0,0,240,0,7,128,0,62, + 0,0,240,0,0,128,0,0,12,20,40,15,1,0,31,0, + 63,192,127,224,224,240,64,112,0,112,0,112,0,96,0,192, + 3,128,7,0,14,0,14,0,14,0,14,0,0,0,0,0, + 14,0,14,0,14,0,25,24,96,28,2,252,0,127,0,0, + 3,255,224,0,15,129,248,0,30,0,60,0,56,0,14,0, + 48,0,6,0,112,125,199,0,96,255,199,0,225,195,195,0, + 227,131,195,0,227,129,195,128,227,129,195,128,227,129,195,128, + 227,129,195,0,227,129,195,0,225,131,199,0,113,199,206,0, + 112,252,252,0,56,56,48,0,60,0,0,0,30,0,0,0, + 15,128,64,0,3,255,192,0,0,127,128,0,19,20,60,21, + 1,0,0,224,0,1,240,0,1,240,0,3,176,0,3,184, + 0,3,56,0,7,28,0,7,28,0,14,14,0,14,14,0, + 30,15,0,28,7,0,28,7,0,63,255,128,63,255,128,112, + 1,192,112,1,192,224,0,224,224,0,224,224,0,224,15,20, + 40,19,2,0,255,224,255,248,224,120,224,28,224,28,224,28, + 224,28,224,24,224,56,255,224,255,240,224,28,224,12,224,14, + 224,14,224,14,224,30,224,60,255,248,255,224,16,20,40,19, + 2,0,7,240,31,252,60,14,48,6,112,7,96,0,224,0, + 224,0,224,0,224,0,224,0,224,0,224,0,224,0,96,0, + 96,7,112,6,56,14,31,252,7,240,16,20,40,20,2,0, + 255,192,255,240,224,120,224,28,224,14,224,14,224,7,224,7, + 224,7,224,7,224,7,224,7,224,7,224,7,224,14,224,14, + 224,28,224,120,255,240,255,192,13,20,40,17,2,0,255,248, + 255,248,224,0,224,0,224,0,224,0,224,0,224,0,224,0, + 255,240,255,240,224,0,224,0,224,0,224,0,224,0,224,0, + 224,0,255,248,255,248,12,20,40,16,2,0,255,240,255,240, + 224,0,224,0,224,0,224,0,224,0,224,0,224,0,255,224, + 255,224,224,0,224,0,224,0,224,0,224,0,224,0,224,0, + 224,0,224,0,18,20,60,22,2,0,3,248,0,15,254,0, + 30,15,128,56,3,128,112,1,192,96,0,0,224,0,0,224, + 0,0,224,0,0,224,63,192,224,63,192,224,1,192,224,1, + 192,224,1,192,112,1,192,112,1,192,56,1,192,30,7,192, + 15,255,192,3,254,0,15,20,40,19,2,0,224,14,224,14, + 224,14,224,14,224,14,224,14,224,14,224,14,224,14,255,254, + 255,254,224,14,224,14,224,14,224,14,224,14,224,14,224,14, + 224,14,224,14,3,20,20,7,2,0,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,12,20, + 40,16,2,0,0,112,0,112,0,112,0,112,0,112,0,112, + 0,112,0,112,0,112,0,112,0,112,0,112,0,112,0,112, + 0,112,224,112,224,96,113,224,63,192,31,128,15,20,40,18, + 2,0,224,60,224,120,224,240,224,224,225,192,227,128,231,0, + 238,0,252,0,254,0,238,0,239,0,231,128,227,192,225,224, + 224,240,224,120,224,56,224,60,224,30,12,20,40,15,2,0, + 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, + 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, + 224,0,224,0,255,240,255,240,21,20,60,25,2,0,248,0, + 248,248,0,248,248,1,248,252,1,248,252,1,184,236,3,184, + 238,3,184,238,3,56,230,7,56,231,6,56,227,14,56,227, + 142,56,227,140,56,225,156,56,225,220,56,225,216,56,224,248, + 56,224,240,56,224,112,56,224,112,56,16,20,40,20,2,0, + 240,7,248,7,248,7,252,7,252,7,238,7,238,7,231,7, + 231,135,227,135,227,199,225,199,224,231,224,231,224,119,224,119, + 224,63,224,63,224,31,224,31,18,20,60,22,2,0,3,240, + 0,15,252,0,62,31,0,56,7,0,112,3,128,96,1,128, + 224,1,192,224,1,192,224,1,192,224,1,192,224,1,192,224, + 1,192,224,1,192,96,1,192,112,3,128,112,3,128,56,7, + 0,30,30,0,15,252,0,3,240,0,14,20,40,17,2,0, + 255,192,255,240,224,120,224,56,224,28,224,28,224,28,224,56, + 224,120,255,240,255,192,224,0,224,0,224,0,224,0,224,0, + 224,0,224,0,224,0,224,0,20,20,60,22,2,0,3,240, + 0,15,252,0,62,31,0,56,7,0,112,3,128,96,1,128, + 224,1,192,224,1,192,224,1,192,224,1,192,224,1,192,224, + 1,192,224,1,192,96,1,192,112,3,128,112,3,128,56,7, + 0,30,30,0,15,255,240,3,255,240,14,20,40,17,2,0, + 255,192,255,240,224,120,224,56,224,28,224,28,224,28,224,56, + 224,112,255,224,255,224,224,112,224,56,224,56,224,56,224,24, + 224,24,224,24,224,28,224,28,15,20,40,19,2,0,15,192, + 63,240,120,120,96,28,224,28,224,0,224,0,120,0,127,0, + 63,240,7,252,0,60,0,14,0,14,224,14,224,14,224,14, + 120,60,63,248,15,192,16,20,40,18,1,0,255,255,255,255, + 1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192, + 1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192, + 1,192,1,192,16,20,40,20,2,0,224,7,224,7,224,7, + 224,7,224,7,224,7,224,7,224,7,224,7,224,7,224,7, + 224,7,224,7,224,7,224,7,96,6,112,14,60,60,31,248, + 15,224,17,20,60,18,1,0,224,3,128,224,7,0,224,7, + 0,112,7,0,112,14,0,112,14,0,56,14,0,56,28,0, + 56,28,0,28,56,0,28,56,0,12,56,0,14,112,0,14, + 112,0,7,112,0,7,224,0,7,224,0,3,224,0,3,192, + 0,3,192,0,26,20,80,27,1,0,224,28,1,192,224,30, + 3,128,224,62,3,128,224,62,3,128,112,54,3,0,112,119, + 7,0,112,115,7,0,48,99,7,0,56,99,134,0,56,227, + 142,0,24,225,142,0,28,193,140,0,28,193,220,0,29,193, + 220,0,13,192,216,0,15,128,216,0,15,128,248,0,7,128, + 120,0,7,0,112,0,7,0,112,0,18,20,60,20,1,0, + 120,7,128,56,7,0,60,14,0,30,30,0,14,28,0,15, + 56,0,7,56,0,3,240,0,1,224,0,1,224,0,3,224, + 0,3,240,0,7,120,0,14,56,0,14,28,0,28,30,0, + 56,15,0,120,7,0,112,7,128,224,3,192,17,20,60,19, + 1,0,224,3,128,240,7,0,112,7,0,56,14,0,60,28, + 0,28,28,0,14,56,0,14,48,0,7,112,0,7,96,0, + 3,224,0,1,192,0,1,192,0,1,192,0,1,192,0,1, + 192,0,1,192,0,1,192,0,1,192,0,1,192,0,15,20, + 40,17,1,0,255,252,255,252,0,28,0,56,0,120,0,240, + 0,224,1,192,3,192,3,128,7,0,14,0,30,0,28,0, + 56,0,112,0,240,0,224,0,255,254,255,254,5,25,25,11, + 3,251,248,248,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,248,248,9,21,42,11,1, + 255,192,0,96,0,96,0,96,0,48,0,48,0,48,0,24, + 0,24,0,24,0,8,0,12,0,12,0,12,0,6,0,6, + 0,6,0,3,0,3,0,3,0,1,128,6,25,25,12,3, + 251,252,252,28,28,28,28,28,28,28,28,28,28,28,28,28, + 28,28,28,28,28,28,28,28,252,252,14,17,34,28,7,0, + 3,0,3,0,7,128,7,128,4,128,12,192,8,64,24,96, + 24,96,16,32,48,48,48,48,96,24,96,24,64,8,192,12, + 192,12,14,2,4,14,0,252,255,252,255,252,6,5,5,6, + 255,16,224,112,48,24,12,12,14,28,15,1,0,31,192,63, + 224,112,112,112,112,0,112,15,240,63,240,112,112,224,112,224, + 112,224,112,224,240,127,176,30,48,13,20,40,16,2,0,224, + 0,224,0,224,0,224,0,224,0,224,0,231,192,255,224,240, + 112,224,48,224,56,224,56,224,56,224,56,224,56,224,56,224, + 112,240,112,255,224,231,128,12,14,28,14,1,0,31,128,63, + 224,112,112,224,112,224,112,224,0,224,0,224,0,224,0,224, + 112,96,112,112,224,63,224,31,128,13,20,40,16,1,0,0, + 56,0,56,0,56,0,56,0,56,0,56,31,56,63,248,112, + 248,96,120,224,56,224,56,224,56,224,56,224,56,224,56,112, + 56,112,120,63,248,15,184,13,14,28,15,1,0,15,128,63, + 224,112,112,96,48,224,56,255,248,255,248,224,0,224,0,224, + 56,96,112,112,112,63,224,15,128,9,20,40,10,1,0,7, + 128,31,128,28,0,28,0,28,0,28,0,255,128,255,128,28, + 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,28,0,13,19,38,16,1,251,31,184,63, + 248,112,120,96,56,224,56,224,56,224,56,224,56,224,56,224, + 56,96,56,112,120,63,248,31,56,0,56,112,48,112,112,63, + 224,15,128,12,20,40,16,2,0,224,0,224,0,224,0,224, + 0,224,0,224,0,239,192,255,224,240,240,224,112,224,112,224, + 112,224,112,224,112,224,112,224,112,224,112,224,112,224,112,224, + 112,3,20,20,7,2,0,224,224,224,0,0,0,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,5,25,25,7,1, + 251,56,56,56,0,0,0,56,56,56,56,56,56,56,56,56, + 56,56,56,56,56,56,56,56,240,224,11,20,40,14,2,0, + 224,0,224,0,224,0,224,0,224,0,224,0,225,224,225,192, + 227,128,231,0,238,0,252,0,252,0,254,0,238,0,231,0, + 227,128,227,192,225,192,224,224,3,20,20,7,2,0,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,21,14,42,25,2,0,231,195,224,255,239,240,240,248, + 56,224,120,56,224,112,24,224,112,24,224,112,24,224,112,24, + 224,112,24,224,112,24,224,112,24,224,112,24,224,112,24,224, + 112,24,12,14,28,16,2,0,239,128,255,224,240,240,224,112, + 224,112,224,112,224,112,224,112,224,112,224,112,224,112,224,112, + 224,112,224,112,14,14,28,16,1,0,15,192,63,224,112,112, + 112,56,224,24,224,28,224,28,224,28,224,28,224,24,112,56, + 112,112,63,224,15,192,14,19,38,17,2,251,231,192,255,240, + 240,112,240,56,224,24,224,28,224,28,224,28,224,28,224,24, + 224,56,240,112,255,240,231,192,224,0,224,0,224,0,224,0, + 224,0,14,19,38,17,1,251,15,156,63,220,112,124,112,60, + 224,28,224,28,224,28,224,28,224,28,224,28,96,60,112,124, + 63,252,15,156,0,28,0,28,0,28,0,28,0,28,8,14, + 14,10,2,0,239,255,240,224,224,224,224,224,224,224,224,224, + 224,224,12,14,28,14,1,0,31,128,127,192,112,224,224,224, + 224,0,120,0,63,128,15,224,0,224,0,112,224,112,224,224, + 127,192,63,128,8,18,18,10,1,0,8,56,56,56,255,255, + 56,56,56,56,56,56,56,56,56,56,31,15,12,14,28,16, + 2,0,224,112,224,112,224,112,224,112,224,112,224,112,224,112, + 224,112,224,112,224,112,224,112,240,240,127,240,63,112,13,14, + 28,15,1,0,224,24,224,56,224,56,112,48,112,112,56,96, + 56,224,24,192,28,192,29,192,15,128,15,128,7,0,7,0, + 21,14,42,23,1,0,192,112,24,224,248,56,224,248,56,96, + 216,48,97,216,112,113,156,112,49,140,96,51,140,224,59,14, + 224,27,6,192,27,7,192,30,7,128,14,3,128,14,3,128, + 13,14,28,15,1,0,240,56,112,112,56,96,28,224,31,192, + 15,128,7,0,7,128,15,192,29,192,56,224,112,112,112,120, + 224,56,13,19,38,15,1,251,224,24,224,56,96,56,112,112, + 112,112,56,96,56,224,28,224,29,192,13,192,15,128,15,128, + 7,128,7,0,7,0,6,0,14,0,14,0,12,0,10,14, + 28,12,1,0,255,192,255,192,1,192,3,128,7,0,14,0, + 14,0,28,0,56,0,48,0,112,0,224,0,255,192,255,192, + 9,27,54,13,2,249,3,128,15,128,14,0,12,0,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,56,0,248,0, + 240,0,240,0,56,0,24,0,28,0,28,0,28,0,28,0, + 12,0,12,0,12,0,14,0,15,128,3,128,1,29,29,9, + 4,249,128,128,128,128,128,128,128,128,128,128,128,128,128,128, + 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,9, + 27,54,13,2,249,240,0,248,0,24,0,28,0,28,0,28, + 0,28,0,28,0,28,0,12,0,12,0,14,0,7,128,3, + 128,7,128,14,0,12,0,12,0,28,0,28,0,28,0,28, + 0,28,0,28,0,24,0,248,0,240,0,15,3,6,15,0, + 5,62,14,127,252,224,248,255}; +/* + Fontname: -FreeType-FreeUniversal-Medium-R-Normal--34-340-72-72-P-161-ISO10646-1 + Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. + Capital A Height: 25, '1' Height: 25 + Calculated Max Values w=31 h=37 x= 8 y=22 dx=34 dy= 0 ascent=36 len=132 + Font Bounding box w=46 h=45 x=-2 y=-9 + Calculated Min Values x=-1 y=-9 dx= 0 dy= 0 + Pure Font ascent =25 descent=-7 + X Font ascent =25 descent=-7 + Max Font ascent =36 descent=-9 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_fur25[11949] U8G_FONT_SECTION("u8g_font_fur25") = { + 0,46,45,254,247,25,6,119,15,27,32,255,249,36,247,25, + 249,0,0,0,10,0,0,3,25,25,12,4,0,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, + 0,0,0,224,224,224,11,10,20,15,2,15,241,224,112,224, + 112,224,112,224,112,224,112,224,112,224,96,192,96,192,96,192, + 22,25,75,25,2,0,0,112,224,0,112,224,0,96,192,0, + 225,192,0,225,192,0,193,128,0,193,128,63,255,252,63,255, + 248,1,131,0,3,135,0,3,134,0,3,6,0,7,14,0, + 255,255,224,255,255,224,14,28,0,14,28,0,12,24,0,12, + 24,0,28,56,0,28,56,0,24,48,0,56,112,0,56,112, + 0,16,32,64,18,1,252,1,128,1,128,1,128,15,240,31, + 248,63,252,121,158,113,142,113,142,113,142,113,128,113,128,121, + 128,63,128,31,240,15,252,1,254,1,159,1,143,1,135,225, + 135,225,135,225,135,241,135,121,143,127,254,63,252,15,240,1, + 128,1,128,1,128,1,128,28,27,108,32,2,0,0,0,14, + 0,0,0,12,0,31,128,24,0,63,192,24,0,121,224,48, + 0,240,240,48,0,224,112,96,0,224,112,224,0,224,112,192, + 0,224,113,192,0,240,113,128,0,112,227,128,0,63,227,0, + 0,31,134,31,128,0,6,63,192,0,12,121,224,0,12,240, + 240,0,24,224,112,0,56,224,112,0,48,224,112,0,112,224, + 112,0,96,224,112,0,224,224,112,0,192,240,240,1,128,121, + 224,1,128,63,192,3,0,31,128,23,25,75,26,2,1,7, + 248,0,15,252,0,30,30,0,28,14,0,28,14,0,28,14, + 0,30,28,0,30,60,0,15,248,0,7,224,0,15,192,112, + 31,224,112,61,224,112,120,240,112,240,120,112,224,60,112,224, + 30,224,224,15,224,224,7,224,240,3,192,120,3,224,124,15, + 240,63,255,120,31,252,124,7,240,62,4,10,10,13,4,15, + 240,112,112,112,112,112,112,96,96,96,6,30,30,12,3,251, + 12,24,24,56,56,112,112,112,112,240,224,224,224,224,224,224, + 224,224,224,224,240,112,112,112,112,56,56,24,24,12,6,30, + 30,12,3,251,224,96,112,112,48,56,56,56,56,28,28,28, + 28,28,28,28,28,28,28,28,28,60,56,56,56,48,112,112, + 96,224,14,13,26,22,4,12,24,96,28,224,28,224,12,192, + 7,128,243,60,255,252,231,156,7,128,12,192,28,224,60,224, + 24,96,20,21,63,34,7,0,0,96,0,0,96,0,0,96, + 0,0,96,0,0,96,0,0,96,0,0,96,0,0,96,0, + 0,96,0,255,255,240,255,255,240,0,96,0,0,96,0,0, + 96,0,0,96,0,0,96,0,0,96,0,0,96,0,0,96, + 0,0,96,0,0,96,0,6,9,9,9,2,252,60,120,120, + 112,112,224,224,224,192,8,3,3,10,1,7,255,255,255,3, + 4,4,9,3,0,224,224,224,224,10,28,56,13,2,254,0, + 192,1,192,1,128,1,128,3,128,3,0,3,0,3,0,7, + 0,6,0,6,0,14,0,12,0,12,0,28,0,28,0,24, + 0,24,0,56,0,48,0,48,0,112,0,112,0,96,0,96, + 0,224,0,192,0,192,0,15,25,50,19,2,1,15,224,63, + 248,62,248,120,60,112,28,112,30,224,14,224,14,224,14,224, + 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,240, + 14,112,30,112,28,120,28,60,60,63,248,31,240,7,192,8, + 25,25,19,5,0,15,31,63,127,255,231,135,7,7,7,7, + 7,7,7,7,7,7,7,7,7,7,7,7,7,7,15,25, + 50,19,2,1,15,240,63,248,62,252,120,28,120,30,112,14, + 240,14,0,14,0,30,0,28,0,60,0,120,0,120,0,240, + 1,224,3,192,7,128,15,0,31,0,62,0,60,0,120,0, + 240,0,255,254,255,254,16,25,50,19,2,1,15,240,63,248, + 60,28,120,14,112,14,112,14,0,14,0,14,0,28,0,120, + 3,240,3,240,0,248,0,30,0,14,0,15,0,7,0,7, + 240,7,240,7,240,14,120,30,60,124,31,248,7,224,17,25, + 75,19,1,0,0,60,0,0,124,0,0,124,0,0,252,0, + 1,220,0,1,220,0,3,156,0,7,28,0,7,28,0,14, + 28,0,28,28,0,60,28,0,56,28,0,112,28,0,240,28, + 0,224,28,0,255,255,128,255,255,128,255,255,128,0,28,0, + 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,15, + 25,50,19,2,0,127,252,127,252,127,252,112,0,112,0,112, + 0,112,0,112,0,115,240,127,248,124,60,120,28,112,30,96, + 14,0,14,0,14,0,14,0,14,0,14,224,30,240,28,112, + 60,124,120,63,240,15,192,16,25,50,19,1,1,15,240,31, + 252,60,28,120,30,112,14,240,14,224,0,224,0,224,0,227, + 240,231,252,239,252,252,30,248,14,240,15,240,7,240,7,240, + 7,240,7,112,7,120,14,56,14,62,60,15,248,7,224,15, + 25,50,19,2,0,255,254,255,254,0,14,0,30,0,28,0, + 28,0,60,0,56,0,56,0,120,0,112,0,240,0,240,0, + 224,1,224,1,224,1,192,3,192,3,128,7,128,7,128,7, + 0,15,0,15,0,14,0,16,25,50,19,1,1,15,240,63, + 252,60,60,120,30,112,14,112,14,112,14,112,14,56,28,60, + 60,15,240,15,240,62,56,56,28,112,14,224,7,224,7,224, + 7,224,7,224,7,240,15,120,14,60,60,31,248,7,224,16, + 25,50,19,2,1,31,248,63,252,120,30,112,14,240,15,224, + 15,224,15,224,15,224,15,240,15,112,31,120,63,63,247,15, + 231,0,7,0,7,0,7,0,14,112,14,112,14,112,30,112, + 60,60,120,31,240,15,224,3,18,18,9,3,0,224,224,224, + 224,0,0,0,0,0,0,0,0,0,0,224,224,224,224,6, + 22,22,9,1,252,56,56,56,56,0,0,0,0,0,0,0, + 0,0,60,56,56,56,112,112,112,96,224,21,19,57,34,7, + 1,0,0,8,0,0,56,0,1,240,0,15,192,0,62,0, + 1,248,0,7,192,0,62,0,0,248,0,0,192,0,0,248, + 0,0,62,0,0,7,192,0,1,248,0,0,62,0,0,7, + 192,0,1,248,0,0,56,0,0,8,20,8,24,34,7,6, + 255,255,240,255,255,240,0,0,0,0,0,0,0,0,0,0, + 0,0,255,255,240,255,255,240,21,17,51,34,7,2,224,0, + 0,252,0,0,31,0,0,7,224,0,0,248,0,0,31,0, + 0,7,192,0,0,248,0,0,56,0,0,248,0,7,192,0, + 63,0,0,248,0,7,224,0,31,0,0,248,0,0,224,0, + 0,15,25,50,18,1,1,31,224,63,248,125,252,240,30,96, + 14,0,14,0,14,0,30,0,28,0,60,0,120,0,240,1, + 192,3,128,7,128,7,0,7,0,7,0,7,0,0,0,0, + 0,0,0,7,0,7,0,7,0,30,30,120,34,2,251,0, + 31,240,0,0,255,254,0,3,255,255,0,7,224,31,192,15, + 128,3,224,30,0,0,240,60,0,0,112,56,31,56,120,112, + 63,184,56,112,125,248,56,240,112,120,60,224,240,120,28,224, + 224,56,28,224,224,56,28,224,224,56,28,224,224,56,28,224, + 224,56,28,224,224,56,56,240,224,120,56,112,112,120,120,112, + 120,254,240,120,63,223,224,56,31,15,192,60,0,0,0,30, + 0,0,0,15,128,0,0,7,224,0,0,3,255,248,0,0, + 255,248,0,0,31,240,0,24,25,75,26,1,0,0,60,0, + 0,124,0,0,126,0,0,254,0,0,238,0,0,239,0,1, + 231,0,1,199,128,3,195,128,3,131,192,7,131,192,7,1, + 192,7,1,224,15,0,224,14,0,240,31,255,240,31,255,240, + 31,255,248,60,0,56,56,0,60,120,0,28,112,0,30,112, + 0,30,240,0,14,224,0,15,18,25,75,23,3,0,255,248, + 0,255,254,0,255,255,0,224,15,128,224,7,128,224,3,128, + 224,3,128,224,3,128,224,7,128,224,15,0,255,254,0,255, + 252,0,255,254,0,224,15,0,224,3,128,224,3,192,224,1, + 192,224,1,192,224,1,192,224,3,192,224,7,192,224,15,128, + 255,255,0,255,254,0,255,248,0,19,25,75,23,2,1,3, + 254,0,15,255,128,30,3,192,60,1,192,56,0,224,112,0, + 224,112,0,0,112,0,0,224,0,0,224,0,0,224,0,0, + 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, + 0,0,112,0,0,112,0,224,112,0,224,56,1,224,60,1, + 192,31,7,128,15,255,0,1,252,0,20,25,75,25,3,0, + 255,240,0,255,254,0,255,255,0,224,31,128,224,7,192,224, + 3,192,224,1,224,224,0,224,224,0,240,224,0,240,224,0, + 112,224,0,112,224,0,112,224,0,112,224,0,112,224,0,240, + 224,0,240,224,0,224,224,1,224,224,3,192,224,7,192,224, + 31,128,255,255,0,255,252,0,255,240,0,16,25,50,21,3, + 0,255,254,255,254,255,254,224,0,224,0,224,0,224,0,224, + 0,224,0,224,0,224,0,255,254,255,254,255,254,224,0,224, + 0,224,0,224,0,224,0,224,0,224,0,224,0,255,255,255, + 255,255,255,15,25,50,20,3,0,255,254,255,254,255,254,224, + 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,255, + 252,255,252,255,252,224,0,224,0,224,0,224,0,224,0,224, + 0,224,0,224,0,224,0,224,0,224,0,21,25,75,26,2, + 1,1,255,128,7,255,192,15,255,224,30,0,240,60,0,120, + 120,0,56,112,0,0,112,0,0,240,0,0,224,0,0,224, + 0,0,224,15,248,224,15,248,224,15,248,224,0,56,240,0, + 56,112,0,56,112,0,56,120,0,56,60,0,56,62,0,56, + 31,0,248,15,255,248,7,255,240,0,255,128,18,25,75,24, + 3,0,224,1,192,224,1,192,224,1,192,224,1,192,224,1, + 192,224,1,192,224,1,192,224,1,192,224,1,192,224,1,192, + 224,1,192,255,255,192,255,255,192,255,255,192,224,1,192,224, + 1,192,224,1,192,224,1,192,224,1,192,224,1,192,224,1, + 192,224,1,192,224,1,192,224,1,192,224,1,192,3,25,25, + 9,3,0,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,14,25,50,19, + 2,0,0,28,0,28,0,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,28,224,28,224,28,240,60,120,120,127,240, + 63,224,15,192,18,25,75,23,3,0,224,7,128,224,15,0, + 224,30,0,224,60,0,224,120,0,224,240,0,225,224,0,227, + 192,0,231,128,0,239,0,0,254,0,0,255,0,0,239,128, + 0,231,128,0,231,192,0,227,224,0,225,240,0,224,248,0, + 224,120,0,224,60,0,224,62,0,224,31,0,224,15,128,224, + 7,192,224,3,192,15,25,50,19,3,0,224,0,224,0,224, + 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, + 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, + 0,224,0,224,0,224,0,255,254,255,254,255,254,25,25,100, + 31,3,0,248,0,15,128,252,0,31,128,252,0,31,128,252, + 0,31,128,238,0,59,128,238,0,59,128,239,0,123,128,231, + 0,115,128,231,0,115,128,231,128,243,128,227,128,227,128,227, + 128,227,128,225,193,195,128,225,193,195,128,225,193,195,128,224, + 227,131,128,224,227,131,128,224,247,131,128,224,119,3,128,224, + 119,3,128,224,127,3,128,224,62,3,128,224,62,3,128,224, + 28,3,128,224,28,3,128,19,25,75,25,3,0,248,0,224, + 248,0,224,252,0,224,254,0,224,254,0,224,239,0,224,239, + 0,224,231,128,224,231,128,224,227,192,224,227,192,224,225,224, + 224,224,224,224,224,240,224,224,120,224,224,120,224,224,60,224, + 224,60,224,224,30,224,224,30,224,224,15,224,224,15,224,224, + 7,224,224,3,224,224,3,224,22,25,75,26,2,1,3,255, + 0,15,255,192,31,255,224,62,1,240,56,0,112,120,0,120, + 112,0,56,240,0,56,240,0,28,224,0,28,224,0,28,224, + 0,28,224,0,28,224,0,28,224,0,28,240,0,60,112,0, + 56,112,0,56,120,0,120,56,0,112,60,0,240,31,3,224, + 15,255,192,7,255,128,0,252,0,16,25,50,21,3,0,255, + 224,255,252,255,254,224,30,224,15,224,7,224,7,224,7,224, + 7,224,15,224,30,255,254,255,252,255,224,224,0,224,0,224, + 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, + 0,24,25,75,27,2,1,3,255,0,15,255,192,31,255,224, + 62,1,240,56,0,112,120,0,120,112,0,56,240,0,56,240, + 0,28,224,0,28,224,0,28,224,0,28,224,0,28,224,0, + 28,224,0,28,240,0,60,112,0,56,112,0,56,120,0,120, + 56,0,112,60,0,240,31,3,224,15,255,255,7,255,255,0, + 255,255,17,25,75,21,3,0,255,240,0,255,252,0,255,254, + 0,224,31,0,224,15,0,224,7,0,224,7,0,224,7,0, + 224,15,0,224,30,0,255,252,0,255,240,0,255,252,0,224, + 60,0,224,30,0,224,14,0,224,14,0,224,14,0,224,15, + 0,224,7,0,224,7,0,224,7,0,224,7,0,224,7,0, + 224,7,128,18,25,75,22,2,1,7,252,0,31,254,0,63, + 255,0,120,7,128,112,3,128,112,3,128,112,0,0,112,0, + 0,120,0,0,124,0,0,63,192,0,31,252,0,7,255,0, + 0,63,128,0,7,128,0,3,192,0,1,192,224,1,192,224, + 1,192,240,1,192,112,3,192,124,15,128,63,255,0,31,254, + 0,7,240,0,19,25,75,21,1,0,255,255,224,255,255,224, + 255,255,224,0,224,0,0,224,0,0,224,0,0,224,0,0, + 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, + 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, + 0,224,0,0,224,0,0,224,0,0,224,0,0,224,0,0, + 224,0,0,224,0,19,25,75,25,3,0,224,0,224,224,0, + 224,224,0,224,224,0,224,224,0,224,224,0,224,224,0,224, + 224,0,224,224,0,224,224,0,224,224,0,224,224,0,224,224, + 0,224,224,0,224,224,0,224,224,0,224,224,0,224,240,0, + 224,240,1,224,112,1,192,120,3,192,62,7,192,63,255,128, + 31,255,0,3,248,0,21,25,75,22,1,0,240,0,120,240, + 0,240,240,0,240,120,0,240,120,1,224,120,1,224,60,1, + 192,60,3,192,60,3,192,28,3,128,30,7,128,14,7,128, + 14,7,0,15,15,0,7,15,0,7,14,0,7,158,0,3, + 158,0,3,156,0,3,252,0,1,252,0,1,248,0,1,248, + 0,0,248,0,0,240,0,31,25,100,33,1,0,224,7,192, + 14,240,7,192,14,240,7,192,30,112,7,192,30,112,14,224, + 28,120,14,224,60,120,14,224,60,56,14,240,56,56,28,112, + 56,60,28,112,120,28,28,112,120,28,60,56,112,28,56,56, + 112,30,56,56,240,14,56,56,224,14,112,28,224,14,112,28, + 224,7,112,29,192,7,112,29,192,7,224,15,192,7,224,15, + 192,3,224,15,128,3,224,7,128,3,192,7,128,1,192,7, + 0,22,25,75,24,1,0,124,0,120,60,0,240,30,1,224, + 31,1,224,15,3,192,7,135,128,7,135,128,3,207,0,1, + 238,0,1,254,0,0,252,0,0,120,0,0,252,0,0,252, + 0,1,222,0,3,207,0,3,143,0,7,135,128,15,3,192, + 14,3,192,30,1,224,60,1,240,56,0,240,120,0,120,240, + 0,124,21,25,75,23,1,0,240,0,120,120,0,112,120,0, + 240,60,1,224,30,1,224,30,3,192,15,3,128,15,7,128, + 7,135,0,3,143,0,3,206,0,1,252,0,1,252,0,0, + 248,0,0,120,0,0,112,0,0,112,0,0,112,0,0,112, + 0,0,112,0,0,112,0,0,112,0,0,112,0,0,112,0, + 0,112,0,18,25,75,22,2,0,127,255,192,127,255,192,127, + 255,192,0,3,192,0,7,128,0,15,128,0,31,0,0,30, + 0,0,60,0,0,124,0,0,248,0,0,240,0,1,224,0, + 3,224,0,7,192,0,15,128,0,15,0,0,31,0,0,62, + 0,0,124,0,0,120,0,0,240,0,0,255,255,192,255,255, + 192,255,255,192,7,32,32,14,4,249,254,254,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,254,254,10,28,56,13,2,254, + 192,0,192,0,224,0,224,0,96,0,96,0,112,0,48,0, + 48,0,56,0,56,0,24,0,24,0,28,0,12,0,12,0, + 14,0,6,0,6,0,6,0,7,0,3,0,3,0,3,128, + 1,128,1,128,1,128,1,192,6,32,32,14,4,249,252,252, + 28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28, + 28,28,28,28,28,28,28,28,28,28,28,28,252,252,18,21, + 63,34,8,0,0,192,0,1,224,0,1,224,0,1,224,0, + 3,48,0,3,48,0,2,16,0,6,24,0,6,24,0,12, + 12,0,12,12,0,12,12,0,24,6,0,24,6,0,24,6, + 0,48,3,0,48,3,0,112,1,128,96,1,128,96,1,128, + 192,0,192,17,2,6,17,0,251,255,255,128,255,255,128,6, + 6,6,8,0,21,224,224,112,56,24,12,15,18,36,19,2, + 0,15,240,63,252,60,60,120,30,112,14,0,14,0,14,15, + 254,63,254,124,14,112,14,224,14,224,30,224,30,240,62,120, + 238,63,238,15,142,16,25,50,20,2,0,224,0,224,0,224, + 0,224,0,224,0,224,0,224,0,227,240,239,248,238,124,248, + 30,240,14,240,15,224,7,224,7,224,7,224,7,224,7,224, + 15,240,14,240,14,248,28,254,124,239,248,227,224,14,18,36, + 18,2,0,15,224,63,240,124,120,112,60,112,28,240,28,224, + 0,224,0,224,0,224,0,224,0,224,0,240,28,112,28,112, + 60,60,120,31,240,15,224,16,25,50,20,2,0,0,7,0, + 7,0,7,0,7,0,7,0,7,0,7,15,199,31,247,60, + 127,120,31,112,31,112,15,224,15,224,7,224,7,224,7,224, + 7,224,7,112,15,112,15,56,31,62,63,15,247,7,199,16, + 18,36,19,2,0,7,224,31,248,60,124,120,30,112,14,240, + 14,224,14,255,254,255,255,224,0,224,0,224,0,112,14,112, + 14,120,30,62,124,31,248,7,224,11,25,50,12,1,0,7, + 224,15,224,31,32,28,0,28,0,28,0,28,0,255,224,255, + 224,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, + 0,16,25,50,20,2,249,7,231,31,247,62,127,120,31,112, + 15,240,15,224,7,224,7,224,7,224,7,224,7,224,7,240, + 15,112,15,120,31,62,127,31,247,15,199,0,7,0,15,112, + 14,120,30,60,60,31,248,7,224,15,25,50,19,2,0,224, + 0,224,0,224,0,224,0,224,0,224,0,224,0,227,240,239, + 248,252,124,248,28,240,30,224,14,224,14,224,14,224,14,224, + 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,224, + 14,3,25,25,7,2,0,224,224,224,0,0,0,0,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, + 5,32,32,9,2,249,56,56,56,0,0,0,0,56,56,56, + 56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56, + 56,56,56,56,240,224,14,25,50,17,2,0,224,0,224,0, + 224,0,224,0,224,0,224,0,224,0,224,120,224,240,225,224, + 225,192,227,192,231,128,239,0,254,0,254,0,239,0,231,128, + 231,128,227,192,225,224,225,224,224,240,224,120,224,60,3,25, + 25,8,2,0,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,26,18,72, + 30,2,0,227,224,124,0,239,241,255,0,252,123,143,128,248, + 63,3,128,240,30,3,192,224,28,1,192,224,28,1,192,224, + 28,1,192,224,28,1,192,224,28,1,192,224,28,1,192,224, + 28,1,192,224,28,1,192,224,28,1,192,224,28,1,192,224, + 28,1,192,224,28,1,192,224,28,1,192,15,18,36,19,2, + 0,227,240,239,248,252,124,248,30,240,30,224,14,224,14,224, + 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,224, + 14,224,14,224,14,17,18,54,21,2,0,7,240,0,31,252, + 0,62,62,0,120,15,0,112,7,0,240,7,0,240,7,128, + 224,3,128,224,3,128,224,3,128,224,3,128,240,7,128,240, + 7,128,112,7,0,120,15,0,62,62,0,31,252,0,7,240, + 0,16,25,50,20,2,249,227,240,231,248,254,60,248,30,240, + 14,240,15,224,7,224,7,224,7,224,7,224,7,224,7,240, + 15,240,14,248,30,254,124,239,248,227,240,224,0,224,0,224, + 0,224,0,224,0,224,0,224,0,16,25,50,21,2,249,7, + 199,31,247,62,63,120,31,112,15,240,15,224,7,224,7,224, + 7,224,7,224,7,224,7,240,15,112,15,120,31,62,127,31, + 247,7,199,0,7,0,7,0,7,0,7,0,7,0,7,0, + 7,10,18,36,12,2,0,231,192,239,192,254,0,248,0,240, + 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, + 0,224,0,224,0,224,0,224,0,224,0,14,18,36,18,2, + 0,31,192,127,240,120,248,240,56,224,56,224,0,240,0,126, + 0,63,224,15,248,0,252,0,60,0,28,224,28,240,60,120, + 248,63,240,31,192,10,22,44,12,1,1,28,0,28,0,28, + 0,28,0,255,192,255,192,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, + 0,30,0,15,192,7,192,15,18,36,19,2,0,224,14,224, + 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,224, + 14,224,14,224,14,224,14,240,30,240,62,124,126,63,238,31, + 142,16,18,36,18,1,0,224,7,240,7,240,15,112,14,120, + 14,56,30,56,28,60,28,28,56,30,56,14,56,14,112,15, + 112,7,224,7,224,3,224,3,192,3,192,26,18,72,28,1, + 0,224,30,1,192,224,62,3,192,224,63,3,128,112,63,3, + 128,112,119,3,128,112,115,7,0,56,115,135,0,56,115,135, + 0,56,227,142,0,24,225,206,0,28,225,206,0,29,193,206, + 0,29,192,220,0,15,192,252,0,15,128,252,0,15,128,120, + 0,7,128,120,0,7,128,120,0,17,18,54,19,1,0,112, + 7,0,120,14,0,60,30,0,30,28,0,30,56,0,15,112, + 0,7,240,0,3,224,0,3,192,0,3,224,0,7,224,0, + 15,240,0,14,120,0,28,60,0,60,28,0,120,30,0,112, + 15,0,240,7,128,16,25,50,18,1,249,224,7,240,7,112, + 15,112,14,120,14,56,30,60,28,28,28,28,60,30,56,14, + 56,15,112,7,112,7,240,7,224,3,224,3,224,1,192,1, + 192,3,128,3,128,7,128,7,0,7,0,15,0,13,18,36, + 17,2,0,127,248,127,248,0,120,0,112,0,240,1,224,3, + 192,3,192,7,128,15,0,31,0,30,0,60,0,120,0,120, + 0,240,0,255,248,255,248,11,35,70,17,3,248,1,224,3, + 224,7,128,15,0,14,0,14,0,14,0,14,0,14,0,14, + 0,14,0,14,0,14,0,30,0,28,0,60,0,248,0,240, + 0,248,0,60,0,28,0,30,0,14,0,14,0,14,0,14, + 0,14,0,14,0,14,0,14,0,14,0,7,0,7,128,3, + 224,1,224,2,37,37,12,5,247,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,11,35, + 70,17,3,248,240,0,248,0,60,0,28,0,14,0,14,0, + 14,0,14,0,14,0,14,0,14,0,14,0,14,0,15,0, + 7,0,7,128,3,224,1,224,3,224,7,128,7,0,15,0, + 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, + 14,0,28,0,60,0,248,0,240,0,18,4,12,18,0,7, + 31,1,192,63,231,128,121,255,0,224,62,0,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,255,255,255,255,255,255,255,0,0,0, + 10,0,0,3,25,25,13,5,249,224,224,224,0,0,0,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,14,26,52,19,2,252,0,48,0,48,0,32,0,96, + 15,224,63,240,124,248,112,220,112,156,241,156,225,128,225,128, + 227,0,227,0,227,0,226,0,246,28,118,28,124,60,60,120, + 63,240,15,192,24,0,24,0,16,0,48,0,17,26,78,19, + 1,0,0,64,0,7,252,0,15,254,0,30,15,0,60,7, + 128,56,3,128,56,0,0,56,0,0,56,0,0,56,0,0, + 255,224,0,255,224,0,56,0,0,56,0,0,56,0,0,56, + 0,0,56,0,0,56,0,0,56,0,0,56,0,0,56,0, + 0,56,0,0,56,0,0,56,0,0,255,255,0,255,255,0, + 18,19,57,20,1,6,64,0,128,224,1,192,113,227,128,63, + 255,0,31,62,0,28,14,0,24,6,0,48,3,0,48,3, + 0,48,3,0,48,3,0,48,3,0,24,6,0,28,14,0, + 31,62,0,55,251,0,113,225,128,224,1,192,64,0,128,18, + 25,75,20,1,0,240,1,192,112,3,192,120,3,128,56,7, + 128,60,7,0,28,15,0,30,14,0,254,15,192,255,31,192, + 7,28,0,7,184,0,3,184,0,3,240,0,255,255,192,255, + 255,192,0,224,0,0,224,0,0,224,0,0,224,0,0,224, + 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, + 2,33,33,12,5,249,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,0,0,0,0,0,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,12,31,62,16,2,251,31,224,63, + 224,56,32,112,0,112,0,112,0,120,0,124,0,62,0,31, + 128,15,192,63,224,120,240,240,112,224,112,224,112,224,240,241, + 224,127,192,63,128,31,128,7,224,1,224,0,240,0,112,0, + 112,0,112,0,240,65,224,127,192,63,128,10,3,6,10,0, + 22,225,192,225,192,225,192,26,25,100,30,2,1,0,255,192, + 0,3,255,240,0,7,128,120,0,14,0,28,0,28,127,14, + 0,57,255,135,0,115,227,195,0,99,129,225,128,103,128,225, + 128,199,0,0,192,199,0,0,192,199,0,0,192,199,0,0, + 192,199,0,0,192,199,0,0,192,199,0,224,128,99,129,225, + 128,99,195,193,128,49,255,131,0,48,127,7,0,24,0,14, + 0,14,0,28,0,7,128,120,0,1,255,224,0,0,127,128, + 0,12,17,34,14,1,8,31,128,63,192,120,224,96,96,0, + 96,7,224,63,224,56,96,96,96,96,96,96,224,113,224,63, + 96,30,96,0,0,0,0,255,240,13,14,28,19,3,2,14, + 56,28,56,56,112,56,224,112,224,113,192,227,192,227,192,113, + 192,112,224,56,224,24,112,28,56,14,56,18,8,24,21,2, + 7,255,255,192,255,255,192,0,0,192,0,0,192,0,0,192, + 0,0,192,0,0,192,0,0,192,255,26,25,100,30,2,1, + 0,255,192,0,3,255,240,0,7,128,120,0,14,255,156,0, + 24,255,206,0,48,193,231,0,112,192,99,0,96,192,97,128, + 96,192,97,128,192,192,192,192,192,255,128,192,192,255,128,192, + 192,193,192,192,192,192,192,192,192,192,192,192,192,192,225,128, + 96,192,97,128,96,192,97,128,48,192,99,0,56,0,7,0, + 28,0,14,0,15,0,60,0,7,193,248,0,1,255,224,0, + 0,127,128,0,10,2,4,10,0,22,255,192,255,192,7,7, + 7,11,2,18,56,196,130,130,130,196,120,20,21,63,34,7, + 0,0,96,0,0,96,0,0,96,0,0,96,0,0,96,0, + 0,96,0,255,255,240,255,255,240,0,96,0,0,96,0,0, + 96,0,0,96,0,0,96,0,0,96,0,0,96,0,0,0, + 0,0,0,0,0,0,0,0,0,0,255,255,240,255,255,240, + 10,13,26,12,1,13,63,128,127,128,97,192,225,192,1,192, + 3,128,7,128,14,0,28,0,56,0,240,0,255,192,255,192, + 10,14,28,13,2,12,127,128,255,192,193,192,1,192,7,128, + 14,0,15,128,3,192,0,192,192,192,192,192,227,128,127,128, + 62,0,6,6,6,8,2,21,28,60,56,112,96,192,255,16, + 31,62,20,2,250,7,255,31,140,63,140,127,140,255,140,255, + 140,255,140,255,140,255,140,127,140,127,140,31,140,7,140,1, + 140,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1, + 140,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1, + 140,1,140,3,4,4,9,3,10,224,224,224,224,8,9,9, + 9,2,247,32,32,60,62,7,3,135,255,252,5,13,13,10, + 2,12,56,120,248,152,24,24,24,24,24,24,24,24,24,12, + 16,32,14,1,9,31,128,63,192,112,224,224,96,192,112,192, + 48,192,48,192,48,192,112,224,112,112,224,63,192,31,128,0, + 0,0,0,255,240,13,14,28,19,3,2,227,128,225,192,112, + 192,56,224,56,112,28,112,28,56,30,56,28,112,56,112,56, + 224,112,192,225,192,227,128,23,27,81,27,2,0,56,0,192, + 120,1,192,248,1,128,216,3,128,24,3,0,24,7,0,24, + 6,0,24,14,0,24,12,0,24,24,0,24,24,0,24,48, + 0,24,112,0,24,96,112,0,224,112,0,192,240,1,193,176, + 1,129,48,3,131,48,3,6,48,7,12,48,6,15,254,14, + 15,254,12,0,48,24,0,48,24,0,48,48,0,48,23,27, + 81,27,2,0,56,0,224,120,1,192,248,1,128,216,3,128, + 24,3,0,24,7,0,24,6,0,24,14,0,24,12,0,24, + 28,0,24,24,0,24,56,0,24,48,0,24,112,248,0,227, + 252,0,195,142,1,199,6,1,128,6,3,128,14,3,0,12, + 7,0,56,6,0,112,14,0,224,12,3,192,28,7,128,24, + 7,254,48,7,254,24,26,78,27,2,0,0,0,24,127,128, + 56,255,192,112,193,192,96,3,128,224,14,0,192,15,129,192, + 3,193,128,0,195,128,192,199,0,192,198,0,227,142,0,127, + 140,28,62,28,60,0,24,60,0,48,108,0,112,204,0,97, + 204,0,227,140,0,195,12,1,199,255,1,135,255,3,0,12, + 7,0,12,6,0,12,14,0,12,15,25,50,18,2,249,1, + 192,1,192,1,192,0,0,0,0,0,0,1,192,1,192,1, + 192,1,192,3,192,7,128,15,0,62,0,124,0,120,0,240, + 0,224,0,224,0,224,8,240,14,120,60,63,252,31,248,7, + 224,24,35,105,26,1,0,1,192,0,1,224,0,0,224,0, + 0,112,0,0,48,0,0,24,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,60,0,0,124,0,0,126,0,0,254, + 0,0,238,0,0,239,0,1,231,0,1,199,128,3,195,128, + 3,131,192,7,131,192,7,1,192,7,1,224,15,0,224,14, + 0,240,31,255,240,31,255,240,31,255,248,60,0,56,56,0, + 60,120,0,28,112,0,30,112,0,30,240,0,14,224,0,15, + 24,35,105,26,1,0,0,7,128,0,7,0,0,14,0,0, + 12,0,0,28,0,0,24,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,60,0,0,124,0,0,126,0,0,254,0, + 0,238,0,0,239,0,1,231,0,1,199,128,3,195,128,3, + 131,192,7,131,192,7,1,192,7,1,224,15,0,224,14,0, + 240,31,255,240,31,255,240,31,255,248,60,0,56,56,0,60, + 120,0,28,112,0,30,112,0,30,240,0,14,224,0,15,24, + 35,105,26,1,0,0,60,0,0,124,0,0,110,0,0,230, + 0,0,195,0,1,131,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,60,0,0,124,0,0,126,0,0,254,0,0, + 238,0,0,239,0,1,231,0,1,199,128,3,195,128,3,131, + 192,7,131,192,7,1,192,7,1,224,15,0,224,14,0,240, + 31,255,240,31,255,240,31,255,248,60,0,56,56,0,60,120, + 0,28,112,0,30,112,0,30,240,0,14,224,0,15,24,33, + 99,26,1,0,0,241,128,1,255,0,1,159,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,60,0,0, + 124,0,0,126,0,0,254,0,0,238,0,0,239,0,1,231, + 0,1,199,128,3,195,128,3,131,192,7,131,192,7,1,192, + 7,1,224,15,0,224,14,0,240,31,255,240,31,255,240,31, + 255,248,60,0,56,56,0,60,120,0,28,112,0,30,112,0, + 30,240,0,14,224,0,15,25,33,132,25,0,0,0,225,192, + 0,0,225,192,0,0,225,192,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,62,0, + 0,0,62,0,0,0,62,0,0,0,127,0,0,0,119,0, + 0,0,247,128,0,0,227,128,0,0,227,192,0,1,227,192, + 0,1,193,192,0,3,193,224,0,3,128,224,0,7,128,240, + 0,7,0,112,0,7,0,112,0,15,255,248,0,15,255,248, + 0,31,255,252,0,28,0,28,0,28,0,30,0,60,0,14, + 0,56,0,14,0,120,0,15,0,112,0,7,0,240,0,7, + 128,24,36,108,25,1,0,0,56,0,0,196,0,0,130,0, + 0,130,0,0,130,0,0,196,0,0,124,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,60,0,0,124,0,0,126, + 0,0,254,0,0,238,0,0,239,0,1,231,0,1,199,128, + 3,195,128,3,131,128,7,131,192,7,129,192,7,1,224,15, + 0,224,14,0,240,31,255,240,31,255,240,31,255,248,60,0, + 56,56,0,60,120,0,60,120,0,28,112,0,30,240,0,14, + 224,0,15,31,25,100,34,1,0,0,7,255,252,0,15,255, + 252,0,15,255,252,0,31,192,0,0,29,192,0,0,61,192, + 0,0,57,192,0,0,121,192,0,0,241,192,0,0,241,192, + 0,1,225,192,0,1,225,255,252,3,193,255,252,3,193,255, + 252,7,129,192,0,7,255,192,0,15,255,192,0,15,255,192, + 0,30,1,192,0,28,1,192,0,60,1,192,0,56,1,192, + 0,120,1,255,254,112,1,255,254,240,1,255,254,19,33,99, + 23,2,249,3,254,0,15,255,128,30,3,192,60,1,192,56, + 0,224,112,0,224,112,0,0,112,0,0,224,0,0,224,0, + 0,224,0,0,224,0,0,224,0,0,224,0,0,224,0,0, + 224,0,0,224,0,0,112,0,0,112,0,224,112,0,224,56, + 1,224,60,1,192,31,7,128,15,255,0,3,252,0,0,64, + 0,0,120,0,0,124,0,0,30,0,0,6,0,0,6,0, + 1,254,0,1,252,0,16,35,70,21,3,0,28,0,14,0, + 7,0,7,0,3,128,1,128,0,0,0,0,0,0,0,0, + 255,254,255,254,255,254,224,0,224,0,224,0,224,0,224,0, + 224,0,224,0,224,0,255,254,255,254,255,254,224,0,224,0, + 224,0,224,0,224,0,224,0,224,0,224,0,255,255,255,255, + 255,255,16,35,70,21,3,0,0,112,0,240,0,224,1,192, + 1,128,3,0,0,0,0,0,0,0,0,0,255,254,255,254, + 255,254,224,0,224,0,224,0,224,0,224,0,224,0,224,0, + 224,0,255,254,255,254,255,254,224,0,224,0,224,0,224,0, + 224,0,224,0,224,0,224,0,255,255,255,255,255,255,16,35, + 70,21,3,0,7,192,7,192,14,224,12,96,28,112,24,48, + 0,0,0,0,0,0,0,0,255,254,255,254,255,254,224,0, + 224,0,224,0,224,0,224,0,224,0,224,0,224,0,255,254, + 255,254,255,254,224,0,224,0,224,0,224,0,224,0,224,0, + 224,0,224,0,255,255,255,255,255,255,16,33,66,21,3,0, + 28,112,28,112,28,112,0,0,0,0,0,0,0,0,0,0, + 255,254,255,254,255,254,224,0,224,0,224,0,224,0,224,0, + 224,0,224,0,224,0,255,254,255,254,255,254,224,0,224,0, + 224,0,224,0,224,0,224,0,224,0,224,0,255,255,255,255, + 255,255,6,35,35,9,0,0,240,112,56,24,28,12,0,0, + 0,0,28,28,28,28,28,28,28,28,28,28,28,28,28,28, + 28,28,28,28,28,28,28,28,28,28,28,6,35,35,9,3, + 0,28,56,48,112,224,192,0,0,0,0,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,9,35,70,9,0,0,30,0,62,0,55,0, + 115,0,99,128,193,128,0,0,0,0,0,0,0,0,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 10,33,66,10,0,0,225,192,225,192,225,192,0,0,0,0, + 0,0,0,0,0,0,28,0,28,0,28,0,28,0,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,28,0,28,0,28,0,22,25,75,24,0,0,31,252, + 0,31,255,128,31,255,192,28,7,224,28,0,240,28,0,120, + 28,0,120,28,0,60,28,0,60,28,0,28,28,0,28,255, + 240,28,255,240,28,255,240,28,28,0,28,28,0,28,28,0, + 60,28,0,56,28,0,120,28,0,120,28,0,240,28,7,224, + 31,255,192,31,255,128,31,252,0,19,33,99,25,3,0,3, + 204,0,7,252,0,14,248,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,248,0,224,248,0,224,252,0,224, + 254,0,224,254,0,224,239,0,224,239,0,224,231,128,224,231, + 128,224,227,192,224,227,192,224,225,224,224,224,224,224,224,240, + 224,224,120,224,224,120,224,224,60,224,224,60,224,224,30,224, + 224,30,224,224,15,224,224,15,224,224,7,224,224,3,224,224, + 3,224,22,36,108,26,2,0,3,192,0,1,192,0,0,224, + 0,0,96,0,0,112,0,0,56,0,0,24,0,0,0,0, + 0,0,0,0,0,0,0,0,0,3,255,0,15,255,192,31, + 255,224,62,1,240,56,0,112,120,0,120,112,0,56,240,0, + 56,240,0,28,224,0,28,224,0,28,224,0,28,224,0,28, + 224,0,28,224,0,28,240,0,60,112,0,56,112,0,56,120, + 0,120,56,0,112,60,0,240,31,3,224,15,255,192,7,255, + 128,0,252,0,22,36,108,26,2,0,0,15,0,0,14,0, + 0,28,0,0,24,0,0,56,0,0,112,0,0,96,0,0, + 0,0,0,0,0,0,0,0,0,0,0,3,255,0,15,255, + 192,31,255,224,62,1,240,56,0,112,120,0,120,112,0,56, + 240,0,56,240,0,28,224,0,28,224,0,28,224,0,28,224, + 0,28,224,0,28,224,0,28,240,0,60,112,0,56,112,0, + 56,120,0,120,56,0,112,60,0,240,31,3,224,15,255,192, + 7,255,128,0,252,0,22,36,108,26,2,0,0,120,0,0, + 120,0,0,252,0,0,206,0,1,206,0,3,135,0,3,3, + 0,0,0,0,0,0,0,0,0,0,0,0,0,3,255,0, + 15,255,192,31,255,224,62,1,240,56,0,112,120,0,120,112, + 0,56,240,0,56,240,0,28,224,0,28,224,0,28,224,0, + 28,224,0,28,224,0,28,224,0,28,240,0,60,112,0,56, + 112,0,56,120,0,120,56,0,112,60,0,240,31,3,224,15, + 255,192,7,255,128,0,252,0,22,33,99,26,2,0,1,243, + 0,3,255,0,3,30,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,3,255,0,15,255,192,31,255,224,62, + 1,240,56,0,112,120,0,120,112,0,56,240,0,56,240,0, + 28,224,0,28,224,0,28,224,0,28,224,0,28,224,0,28, + 224,0,28,240,0,60,112,0,56,112,0,56,120,0,120,56, + 0,112,60,0,240,31,3,224,15,255,192,7,255,128,0,252, + 0,22,33,99,26,2,0,1,195,128,1,195,128,1,195,128, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3, + 255,0,15,255,192,31,255,224,62,1,240,56,0,112,120,0, + 120,112,0,56,240,0,56,240,0,28,224,0,28,224,0,28, + 224,0,28,224,0,28,224,0,28,224,0,28,240,0,60,112, + 0,56,112,0,56,120,0,120,56,0,112,60,0,240,31,3, + 224,15,255,192,7,255,128,0,252,0,18,19,57,34,8,1, + 64,0,128,224,1,192,112,3,128,56,7,0,24,6,0,12, + 12,0,6,24,0,3,48,0,1,224,0,0,192,0,1,224, + 0,3,48,0,6,24,0,12,12,0,24,6,0,48,3,0, + 96,1,128,224,1,192,64,0,128,22,31,93,26,2,253,0, + 0,24,0,0,60,0,0,56,3,255,120,15,255,240,31,255, + 240,62,1,240,56,1,240,120,3,248,112,7,184,240,15,60, + 240,15,60,224,30,28,224,60,28,224,60,28,224,120,28,224, + 240,28,224,224,28,241,224,60,115,192,56,115,128,56,127,128, + 120,63,0,112,62,0,240,31,3,224,63,255,192,63,255,128, + 121,252,0,240,0,0,224,0,0,32,0,0,19,36,108,25, + 3,0,7,0,0,3,128,0,3,128,0,1,192,0,0,224, + 0,0,96,0,0,48,0,0,0,0,0,0,0,0,0,0, + 0,0,0,224,0,224,224,0,224,224,0,224,224,0,224,224, + 0,224,224,0,224,224,0,224,224,0,224,224,0,224,224,0, + 224,224,0,224,224,0,224,224,0,224,224,0,224,224,0,224, + 224,0,224,224,0,224,240,0,224,240,1,224,112,1,192,120, + 3,192,62,7,192,63,255,128,31,255,0,3,248,0,19,36, + 108,25,3,0,0,28,0,0,60,0,0,56,0,0,112,0, + 0,96,0,0,192,0,1,192,0,0,0,0,0,0,0,0, + 0,0,0,0,0,224,0,224,224,0,224,224,0,224,224,0, + 224,224,0,224,224,0,224,224,0,224,224,0,224,224,0,224, + 224,0,224,224,0,224,224,0,224,224,0,224,224,0,224,224, + 0,224,224,0,224,224,0,224,240,0,224,240,1,224,112,1, + 192,120,3,192,62,7,192,63,255,128,31,255,0,3,248,0, + 19,36,108,25,3,0,0,224,0,1,240,0,1,240,0,3, + 184,0,3,28,0,6,12,0,6,14,0,0,0,0,0,0, + 0,0,0,0,0,0,0,224,0,224,224,0,224,224,0,224, + 224,0,224,224,0,224,224,0,224,224,0,224,224,0,224,224, + 0,224,224,0,224,224,0,224,224,0,224,224,0,224,224,0, + 224,224,0,224,224,0,224,224,0,224,240,0,224,240,1,224, + 112,1,192,120,3,192,62,7,192,63,255,128,31,255,0,3, + 248,0,19,33,99,25,3,0,7,14,0,7,14,0,7,14, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 224,0,224,224,0,224,224,0,224,224,0,224,224,0,224,224, + 0,224,224,0,224,224,0,224,224,0,224,224,0,224,224,0, + 224,224,0,224,224,0,224,224,0,224,224,0,224,224,0,224, + 224,0,224,240,0,224,240,1,224,112,1,192,120,3,192,62, + 7,192,63,255,128,31,255,0,3,248,0,21,35,105,23,1, + 0,0,14,0,0,30,0,0,28,0,0,56,0,0,48,0, + 0,96,0,0,0,0,0,0,0,0,0,0,0,0,0,240, + 0,120,120,0,112,120,0,240,60,1,224,30,1,224,30,3, + 192,15,3,128,15,7,128,7,135,0,3,143,0,3,206,0, + 1,252,0,1,252,0,0,248,0,0,120,0,0,112,0,0, + 112,0,0,112,0,0,112,0,0,112,0,0,112,0,0,112, + 0,0,112,0,0,112,0,0,112,0,16,25,50,21,3,0, + 224,0,224,0,224,0,224,0,255,224,255,252,255,254,224,62, + 224,15,224,7,224,7,224,7,224,7,224,7,224,15,224,62, + 255,254,255,252,255,224,224,0,224,0,224,0,224,0,224,0, + 224,0,17,25,75,19,2,0,7,224,0,31,248,0,126,124, + 0,112,60,0,240,28,0,224,28,0,224,28,0,224,56,0, + 224,248,0,225,224,0,225,192,0,225,192,0,225,224,0,225, + 240,0,224,252,0,224,63,0,224,15,0,224,7,128,224,3, + 128,224,3,128,231,3,128,227,131,128,227,231,128,225,255,0, + 224,124,0,15,27,54,19,2,0,14,0,7,0,3,128,3, + 128,1,192,0,192,0,0,0,0,0,0,15,240,63,252,60, + 60,120,30,112,14,0,14,0,14,15,254,63,254,124,14,112, + 14,224,14,224,30,224,30,240,62,120,238,63,238,15,142,15, + 28,56,19,2,0,0,112,0,224,0,224,1,192,3,128,3, + 0,6,0,0,0,0,0,0,0,15,240,63,252,60,60,120, + 30,112,14,0,14,0,14,15,254,63,254,124,14,112,14,224, + 14,224,30,224,30,240,62,120,238,63,238,15,142,15,28,56, + 19,2,0,3,192,7,192,7,224,14,224,12,112,28,48,24, + 24,0,0,0,0,0,0,15,240,63,252,60,60,120,30,112, + 14,0,14,0,14,15,254,63,254,124,14,112,14,224,14,224, + 30,224,30,240,62,120,238,63,238,15,142,15,25,50,19,2, + 0,15,152,31,240,25,224,0,0,0,0,0,0,0,0,15, + 240,63,252,60,60,120,30,112,14,0,14,0,14,15,254,63, + 254,124,14,112,14,224,14,224,30,224,30,240,62,120,238,63, + 238,15,142,15,25,50,19,2,0,28,56,28,56,28,56,0, + 0,0,0,0,0,0,0,15,240,63,252,60,60,120,30,112, + 14,0,14,0,14,15,254,63,254,124,14,112,14,224,14,224, + 30,224,30,240,62,120,238,63,238,15,142,15,29,58,19,2, + 0,3,128,12,64,8,32,8,32,8,32,12,64,7,192,0, + 0,0,0,0,0,0,0,15,240,63,252,60,124,120,30,112, + 30,0,30,0,30,15,254,63,254,124,14,112,14,224,14,224, + 30,224,30,240,62,120,238,63,238,15,142,27,18,72,31,2, + 0,15,224,126,0,63,241,255,0,124,121,199,128,112,31,129, + 192,112,15,1,192,0,15,0,224,0,14,0,224,15,255,255, + 224,63,255,255,224,124,14,0,0,240,14,0,0,224,14,0, + 0,224,31,0,224,224,27,1,192,240,59,131,192,124,241,239, + 128,63,225,255,128,31,192,126,0,14,26,52,18,2,248,15, + 224,63,248,60,120,112,60,112,28,240,28,224,0,224,0,224, + 0,224,0,224,0,224,0,240,28,112,28,112,60,60,120,31, + 240,7,224,1,0,1,224,1,240,0,120,0,24,0,24,7, + 240,7,224,16,28,56,19,2,0,28,0,14,0,14,0,7, + 0,3,128,1,128,0,192,0,0,0,0,0,0,7,224,31, + 248,60,124,120,30,112,14,240,14,224,14,255,254,255,255,224, + 0,224,0,224,0,112,14,112,14,120,30,62,124,31,248,7, + 224,16,28,56,19,2,0,0,120,0,240,0,224,1,192,1, + 128,3,128,3,0,0,0,0,0,0,0,7,224,31,248,60, + 124,120,30,112,14,240,14,224,14,255,254,255,255,224,0,224, + 0,224,0,112,14,112,14,120,30,62,124,31,248,7,224,16, + 28,56,19,2,0,3,192,7,192,7,224,14,224,12,112,24, + 48,24,24,0,0,0,0,0,0,7,224,31,248,60,124,120, + 30,112,14,240,14,224,14,255,254,255,255,224,0,224,0,224, + 0,112,14,112,14,120,30,62,124,31,248,7,224,16,25,50, + 19,2,0,28,56,28,56,28,56,0,0,0,0,0,0,0, + 0,7,224,31,248,60,60,120,14,112,14,240,14,224,6,255, + 254,255,255,224,0,224,0,224,0,112,14,112,14,120,30,62, + 60,31,248,7,224,6,27,27,8,255,0,240,112,56,24,28, + 12,0,0,0,28,28,28,28,28,28,28,28,28,28,28,28, + 28,28,28,28,28,28,6,27,27,8,2,0,28,56,112,112, + 224,192,0,0,0,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,9,27,54,8,255,0,62,0,62, + 0,119,0,115,0,227,128,193,128,0,0,0,0,0,0,28, + 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, + 0,28,0,10,25,50,8,255,0,227,192,227,192,227,192,0, + 0,0,0,0,0,0,0,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,28,0,28,0,28,0,17,26,78,21,2, + 0,16,4,0,56,28,0,30,248,0,7,192,0,15,192,0, + 60,240,0,112,120,0,0,60,0,7,252,0,31,254,0,62, + 63,0,120,15,0,112,7,0,240,7,128,240,3,128,224,3, + 128,224,3,128,224,3,128,224,3,128,224,3,128,240,7,0, + 112,7,0,120,15,0,62,62,0,31,252,0,7,240,0,15, + 25,50,19,2,0,15,48,31,240,27,224,0,0,0,0,0, + 0,0,0,227,240,239,248,252,124,248,30,240,30,224,14,224, + 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,224, + 14,224,14,224,14,224,14,17,28,84,21,2,0,14,0,0, + 15,0,0,7,0,0,3,128,0,1,128,0,0,192,0,0, + 224,0,0,0,0,0,0,0,0,0,0,7,240,0,31,252, + 0,62,62,0,120,15,0,112,7,0,240,7,0,240,7,128, + 224,3,128,224,3,128,224,3,128,224,3,128,240,7,128,240, + 7,128,112,7,0,120,15,0,62,62,0,31,252,0,7,240, + 0,17,28,84,21,2,0,0,56,0,0,120,0,0,112,0, + 0,224,0,0,192,0,1,128,0,3,0,0,0,0,0,0, + 0,0,0,0,0,7,240,0,31,252,0,62,62,0,120,15, + 0,112,7,0,240,7,0,240,7,128,224,3,128,224,3,128, + 224,3,128,224,3,128,240,7,128,240,7,128,112,7,0,120, + 15,0,62,62,0,31,252,0,7,240,0,17,28,84,21,2, + 0,1,192,0,3,224,0,3,224,0,7,112,0,14,56,0, + 12,24,0,28,28,0,0,0,0,0,0,0,0,0,0,7, + 240,0,31,252,0,62,62,0,120,15,0,112,7,0,240,7, + 0,240,7,128,224,3,128,224,3,128,224,3,128,224,3,128, + 240,7,128,240,7,128,112,7,0,120,15,0,62,62,0,31, + 252,0,7,240,0,17,25,75,21,2,0,7,152,0,15,248, + 0,12,240,0,0,0,0,0,0,0,0,0,0,0,0,0, + 7,240,0,31,252,0,62,62,0,120,15,0,112,7,0,240, + 7,0,240,7,128,224,3,128,224,3,128,224,3,128,224,3, + 128,240,7,128,240,7,128,112,7,0,120,15,0,62,62,0, + 31,252,0,7,240,0,17,25,75,21,2,0,28,56,0,28, + 56,0,28,56,0,0,0,0,0,0,0,0,0,0,0,0, + 0,7,240,0,31,252,0,62,62,0,120,15,0,112,7,0, + 240,7,0,240,7,128,224,3,128,224,3,128,224,3,128,224, + 3,128,240,7,128,240,7,128,112,7,0,120,15,0,62,62, + 0,31,252,0,7,240,0,20,15,45,34,7,3,0,96,0, + 0,240,0,0,240,0,0,96,0,0,0,0,0,0,0,0, + 0,0,255,255,240,255,255,240,0,0,0,0,0,0,0,96, + 0,0,240,0,0,240,0,0,96,0,17,23,69,21,2,254, + 0,1,0,0,1,128,0,3,128,7,247,0,31,254,0,62, + 62,0,120,31,0,112,63,0,240,55,128,240,119,128,224,227, + 128,225,195,128,225,131,128,227,131,128,231,7,128,254,7,128, + 124,7,0,124,15,0,62,62,0,127,252,0,103,240,0,224, + 0,0,192,0,0,15,28,56,19,2,0,28,0,30,0,14, + 0,7,0,3,0,1,128,1,128,0,0,0,0,0,0,224, + 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,224, + 14,224,14,224,14,224,14,224,14,240,30,240,30,124,126,63, + 238,31,142,15,28,56,19,2,0,0,112,0,240,0,224,1, + 192,1,128,3,0,7,0,0,0,0,0,0,0,224,14,224, + 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,224, + 14,224,14,224,14,224,14,240,30,240,30,124,126,63,238,31, + 142,15,28,56,19,2,0,3,128,7,192,7,192,14,224,12, + 96,24,48,24,48,0,0,0,0,0,0,224,14,224,14,224, + 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,224, + 14,224,14,224,14,240,30,240,30,124,126,63,238,31,142,15, + 25,50,19,2,0,56,112,56,112,56,112,0,0,0,0,0, + 0,0,0,224,14,224,14,224,14,224,14,224,14,224,14,224, + 14,224,14,224,14,224,14,224,14,224,14,224,14,240,30,240, + 62,124,126,63,238,31,142,16,34,68,18,1,249,0,56,0, + 112,0,96,0,224,1,192,1,128,0,0,0,0,0,0,224, + 7,240,7,112,15,112,14,120,14,56,30,60,28,28,28,28, + 60,30,56,14,120,15,112,7,112,7,240,7,224,3,224,3, + 224,1,192,1,192,3,128,3,128,231,128,255,0,127,0,62, + 0,16,32,64,20,2,249,224,0,224,0,224,0,224,0,224, + 0,224,0,224,0,227,240,231,248,254,60,248,30,240,14,240, + 15,224,7,224,7,224,7,224,7,224,7,224,7,240,15,240, + 14,248,30,254,124,239,248,227,240,224,0,224,0,224,0,224, + 0,224,0,224,0,224,0,16,32,64,18,1,249,28,56,28, + 56,28,56,0,0,0,0,0,0,0,0,224,7,224,7,240, + 15,112,14,120,14,56,30,60,28,60,28,28,56,30,56,14, + 120,15,112,15,112,7,240,7,224,3,224,3,192,3,192,3, + 192,3,128,3,128,7,128,7,0,7,0,15,0}; +/* + Fontname: -FreeType-FreeUniversal-Medium-R-Normal--34-340-72-72-P-161-ISO10646-1 + Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. + Capital A Height: 0, '1' Height: 25 + Calculated Max Values w=20 h=28 x= 7 y=12 dx=34 dy= 0 ascent=26 len=75 + Font Bounding box w=46 h=45 x=-2 y=-9 + Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 + Pure Font ascent =25 descent= 0 + X Font ascent =25 descent= 0 + Max Font ascent =26 descent=-4 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_fur25n[798] U8G_FONT_SECTION("u8g_font_fur25n") = { + 0,46,45,254,247,25,0,0,0,0,42,58,0,26,252,25, + 0,14,13,26,22,4,12,24,96,28,224,28,224,12,192,7, + 128,243,60,255,252,231,156,7,128,12,192,28,224,60,224,24, + 96,20,21,63,34,7,0,0,96,0,0,96,0,0,96,0, + 0,96,0,0,96,0,0,96,0,0,96,0,0,96,0,0, + 96,0,255,255,240,255,255,240,0,96,0,0,96,0,0,96, + 0,0,96,0,0,96,0,0,96,0,0,96,0,0,96,0, + 0,96,0,0,96,0,6,9,9,9,2,252,60,120,120,112, + 112,224,224,224,192,8,3,3,10,1,7,255,255,255,3,4, + 4,9,3,0,224,224,224,224,10,28,56,13,2,254,0,192, + 1,192,1,128,1,128,3,128,3,0,3,0,3,0,7,0, + 6,0,6,0,14,0,12,0,12,0,28,0,28,0,24,0, + 24,0,56,0,48,0,48,0,112,0,112,0,96,0,96,0, + 224,0,192,0,192,0,15,25,50,19,2,1,15,224,63,248, + 62,248,120,60,112,28,112,30,224,14,224,14,224,14,224,14, + 224,14,224,14,224,14,224,14,224,14,224,14,224,14,240,14, + 112,30,112,28,120,28,60,60,63,248,31,240,7,192,8,25, + 25,19,5,0,15,31,63,127,255,231,135,7,7,7,7,7, + 7,7,7,7,7,7,7,7,7,7,7,7,7,15,25,50, + 19,2,1,15,240,63,248,62,252,120,28,120,30,112,14,240, + 14,0,14,0,30,0,28,0,60,0,120,0,120,0,240,1, + 224,3,192,7,128,15,0,31,0,62,0,60,0,120,0,240, + 0,255,254,255,254,16,25,50,19,2,1,15,240,63,248,60, + 28,120,14,112,14,112,14,0,14,0,14,0,28,0,120,3, + 240,3,240,0,248,0,30,0,14,0,15,0,7,0,7,240, + 7,240,7,240,14,120,30,60,124,31,248,7,224,17,25,75, + 19,1,0,0,60,0,0,124,0,0,124,0,0,252,0,1, + 220,0,1,220,0,3,156,0,7,28,0,7,28,0,14,28, + 0,28,28,0,60,28,0,56,28,0,112,28,0,240,28,0, + 224,28,0,255,255,128,255,255,128,255,255,128,0,28,0,0, + 28,0,0,28,0,0,28,0,0,28,0,0,28,0,15,25, + 50,19,2,0,127,252,127,252,127,252,112,0,112,0,112,0, + 112,0,112,0,115,240,127,248,124,60,120,28,112,30,96,14, + 0,14,0,14,0,14,0,14,0,14,224,30,240,28,112,60, + 124,120,63,240,15,192,16,25,50,19,1,1,15,240,31,252, + 60,28,120,30,112,14,240,14,224,0,224,0,224,0,227,240, + 231,252,239,252,252,30,248,14,240,15,240,7,240,7,240,7, + 240,7,112,7,120,14,56,14,62,60,15,248,7,224,15,25, + 50,19,2,0,255,254,255,254,0,14,0,30,0,28,0,28, + 0,60,0,56,0,56,0,120,0,112,0,240,0,240,0,224, + 1,224,1,224,1,192,3,192,3,128,7,128,7,128,7,0, + 15,0,15,0,14,0,16,25,50,19,1,1,15,240,63,252, + 60,60,120,30,112,14,112,14,112,14,112,14,56,28,60,60, + 15,240,15,240,62,56,56,28,112,14,224,7,224,7,224,7, + 224,7,224,7,240,15,120,14,60,60,31,248,7,224,16,25, + 50,19,2,1,31,248,63,252,120,30,112,14,240,15,224,15, + 224,15,224,15,224,15,240,15,112,31,120,63,63,247,15,231, + 0,7,0,7,0,7,0,14,112,14,112,14,112,30,112,60, + 60,120,31,240,15,224,3,18,18,9,3,0,224,224,224,224, + 0,0,0,0,0,0,0,0,0,0,224,224,224,224}; +/* + Fontname: -FreeType-FreeUniversal-Medium-R-Normal--34-340-72-72-P-161-ISO10646-1 + Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. + Capital A Height: 25, '1' Height: 25 + Calculated Max Values w=31 h=37 x= 8 y=21 dx=34 dy= 0 ascent=28 len=120 + Font Bounding box w=46 h=45 x=-2 y=-9 + Calculated Min Values x= 0 y=-9 dx= 0 dy= 0 + Pure Font ascent =25 descent=-7 + X Font ascent =25 descent=-7 + Max Font ascent =28 descent=-9 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_fur25r[5389] U8G_FONT_SECTION("u8g_font_fur25r") = { + 0,46,45,254,247,25,6,119,15,27,32,127,249,28,247,25, + 249,0,0,0,10,0,0,3,25,25,12,4,0,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, + 0,0,0,224,224,224,11,10,20,15,2,15,241,224,112,224, + 112,224,112,224,112,224,112,224,112,224,96,192,96,192,96,192, + 22,25,75,25,2,0,0,112,224,0,112,224,0,96,192,0, + 225,192,0,225,192,0,193,128,0,193,128,63,255,252,63,255, + 248,1,131,0,3,135,0,3,134,0,3,6,0,7,14,0, + 255,255,224,255,255,224,14,28,0,14,28,0,12,24,0,12, + 24,0,28,56,0,28,56,0,24,48,0,56,112,0,56,112, + 0,16,32,64,18,1,252,1,128,1,128,1,128,15,240,31, + 248,63,252,121,158,113,142,113,142,113,142,113,128,113,128,121, + 128,63,128,31,240,15,252,1,254,1,159,1,143,1,135,225, + 135,225,135,225,135,241,135,121,143,127,254,63,252,15,240,1, + 128,1,128,1,128,1,128,28,27,108,32,2,0,0,0,14, + 0,0,0,12,0,31,128,24,0,63,192,24,0,121,224,48, + 0,240,240,48,0,224,112,96,0,224,112,224,0,224,112,192, + 0,224,113,192,0,240,113,128,0,112,227,128,0,63,227,0, + 0,31,134,31,128,0,6,63,192,0,12,121,224,0,12,240, + 240,0,24,224,112,0,56,224,112,0,48,224,112,0,112,224, + 112,0,96,224,112,0,224,224,112,0,192,240,240,1,128,121, + 224,1,128,63,192,3,0,31,128,23,25,75,26,2,1,7, + 248,0,15,252,0,30,30,0,28,14,0,28,14,0,28,14, + 0,30,28,0,30,60,0,15,248,0,7,224,0,15,192,112, + 31,224,112,61,224,112,120,240,112,240,120,112,224,60,112,224, + 30,224,224,15,224,224,7,224,240,3,192,120,3,224,124,15, + 240,63,255,120,31,252,124,7,240,62,4,10,10,13,4,15, + 240,112,112,112,112,112,112,96,96,96,6,30,30,12,3,251, + 12,24,24,56,56,112,112,112,112,240,224,224,224,224,224,224, + 224,224,224,224,240,112,112,112,112,56,56,24,24,12,6,30, + 30,12,3,251,224,96,112,112,48,56,56,56,56,28,28,28, + 28,28,28,28,28,28,28,28,28,60,56,56,56,48,112,112, + 96,224,14,13,26,22,4,12,24,96,28,224,28,224,12,192, + 7,128,243,60,255,252,231,156,7,128,12,192,28,224,60,224, + 24,96,20,21,63,34,7,0,0,96,0,0,96,0,0,96, + 0,0,96,0,0,96,0,0,96,0,0,96,0,0,96,0, + 0,96,0,255,255,240,255,255,240,0,96,0,0,96,0,0, + 96,0,0,96,0,0,96,0,0,96,0,0,96,0,0,96, + 0,0,96,0,0,96,0,6,9,9,9,2,252,60,120,120, + 112,112,224,224,224,192,8,3,3,10,1,7,255,255,255,3, + 4,4,9,3,0,224,224,224,224,10,28,56,13,2,254,0, + 192,1,192,1,128,1,128,3,128,3,0,3,0,3,0,7, + 0,6,0,6,0,14,0,12,0,12,0,28,0,28,0,24, + 0,24,0,56,0,48,0,48,0,112,0,112,0,96,0,96, + 0,224,0,192,0,192,0,15,25,50,19,2,1,15,224,63, + 248,62,248,120,60,112,28,112,30,224,14,224,14,224,14,224, + 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,240, + 14,112,30,112,28,120,28,60,60,63,248,31,240,7,192,8, + 25,25,19,5,0,15,31,63,127,255,231,135,7,7,7,7, + 7,7,7,7,7,7,7,7,7,7,7,7,7,7,15,25, + 50,19,2,1,15,240,63,248,62,252,120,28,120,30,112,14, + 240,14,0,14,0,30,0,28,0,60,0,120,0,120,0,240, + 1,224,3,192,7,128,15,0,31,0,62,0,60,0,120,0, + 240,0,255,254,255,254,16,25,50,19,2,1,15,240,63,248, + 60,28,120,14,112,14,112,14,0,14,0,14,0,28,0,120, + 3,240,3,240,0,248,0,30,0,14,0,15,0,7,0,7, + 240,7,240,7,240,14,120,30,60,124,31,248,7,224,17,25, + 75,19,1,0,0,60,0,0,124,0,0,124,0,0,252,0, + 1,220,0,1,220,0,3,156,0,7,28,0,7,28,0,14, + 28,0,28,28,0,60,28,0,56,28,0,112,28,0,240,28, + 0,224,28,0,255,255,128,255,255,128,255,255,128,0,28,0, + 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,15, + 25,50,19,2,0,127,252,127,252,127,252,112,0,112,0,112, + 0,112,0,112,0,115,240,127,248,124,60,120,28,112,30,96, + 14,0,14,0,14,0,14,0,14,0,14,224,30,240,28,112, + 60,124,120,63,240,15,192,16,25,50,19,1,1,15,240,31, + 252,60,28,120,30,112,14,240,14,224,0,224,0,224,0,227, + 240,231,252,239,252,252,30,248,14,240,15,240,7,240,7,240, + 7,240,7,112,7,120,14,56,14,62,60,15,248,7,224,15, + 25,50,19,2,0,255,254,255,254,0,14,0,30,0,28,0, + 28,0,60,0,56,0,56,0,120,0,112,0,240,0,240,0, + 224,1,224,1,224,1,192,3,192,3,128,7,128,7,128,7, + 0,15,0,15,0,14,0,16,25,50,19,1,1,15,240,63, + 252,60,60,120,30,112,14,112,14,112,14,112,14,56,28,60, + 60,15,240,15,240,62,56,56,28,112,14,224,7,224,7,224, + 7,224,7,224,7,240,15,120,14,60,60,31,248,7,224,16, + 25,50,19,2,1,31,248,63,252,120,30,112,14,240,15,224, + 15,224,15,224,15,224,15,240,15,112,31,120,63,63,247,15, + 231,0,7,0,7,0,7,0,14,112,14,112,14,112,30,112, + 60,60,120,31,240,15,224,3,18,18,9,3,0,224,224,224, + 224,0,0,0,0,0,0,0,0,0,0,224,224,224,224,6, + 22,22,9,1,252,56,56,56,56,0,0,0,0,0,0,0, + 0,0,60,56,56,56,112,112,112,96,224,21,19,57,34,7, + 1,0,0,8,0,0,56,0,1,240,0,15,192,0,62,0, + 1,248,0,7,192,0,62,0,0,248,0,0,192,0,0,248, + 0,0,62,0,0,7,192,0,1,248,0,0,62,0,0,7, + 192,0,1,248,0,0,56,0,0,8,20,8,24,34,7,6, + 255,255,240,255,255,240,0,0,0,0,0,0,0,0,0,0, + 0,0,255,255,240,255,255,240,21,17,51,34,7,2,224,0, + 0,252,0,0,31,0,0,7,224,0,0,248,0,0,31,0, + 0,7,192,0,0,248,0,0,56,0,0,248,0,7,192,0, + 63,0,0,248,0,7,224,0,31,0,0,248,0,0,224,0, + 0,15,25,50,18,1,1,31,224,63,248,125,252,240,30,96, + 14,0,14,0,14,0,30,0,28,0,60,0,120,0,240,1, + 192,3,128,7,128,7,0,7,0,7,0,7,0,0,0,0, + 0,0,0,7,0,7,0,7,0,30,30,120,34,2,251,0, + 31,240,0,0,255,254,0,3,255,255,0,7,224,31,192,15, + 128,3,224,30,0,0,240,60,0,0,112,56,31,56,120,112, + 63,184,56,112,125,248,56,240,112,120,60,224,240,120,28,224, + 224,56,28,224,224,56,28,224,224,56,28,224,224,56,28,224, + 224,56,28,224,224,56,56,240,224,120,56,112,112,120,120,112, + 120,254,240,120,63,223,224,56,31,15,192,60,0,0,0,30, + 0,0,0,15,128,0,0,7,224,0,0,3,255,248,0,0, + 255,248,0,0,31,240,0,24,25,75,26,1,0,0,60,0, + 0,124,0,0,126,0,0,254,0,0,238,0,0,239,0,1, + 231,0,1,199,128,3,195,128,3,131,192,7,131,192,7,1, + 192,7,1,224,15,0,224,14,0,240,31,255,240,31,255,240, + 31,255,248,60,0,56,56,0,60,120,0,28,112,0,30,112, + 0,30,240,0,14,224,0,15,18,25,75,23,3,0,255,248, + 0,255,254,0,255,255,0,224,15,128,224,7,128,224,3,128, + 224,3,128,224,3,128,224,7,128,224,15,0,255,254,0,255, + 252,0,255,254,0,224,15,0,224,3,128,224,3,192,224,1, + 192,224,1,192,224,1,192,224,3,192,224,7,192,224,15,128, + 255,255,0,255,254,0,255,248,0,19,25,75,23,2,1,3, + 254,0,15,255,128,30,3,192,60,1,192,56,0,224,112,0, + 224,112,0,0,112,0,0,224,0,0,224,0,0,224,0,0, + 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, + 0,0,112,0,0,112,0,224,112,0,224,56,1,224,60,1, + 192,31,7,128,15,255,0,1,252,0,20,25,75,25,3,0, + 255,240,0,255,254,0,255,255,0,224,31,128,224,7,192,224, + 3,192,224,1,224,224,0,224,224,0,240,224,0,240,224,0, + 112,224,0,112,224,0,112,224,0,112,224,0,112,224,0,240, + 224,0,240,224,0,224,224,1,224,224,3,192,224,7,192,224, + 31,128,255,255,0,255,252,0,255,240,0,16,25,50,21,3, + 0,255,254,255,254,255,254,224,0,224,0,224,0,224,0,224, + 0,224,0,224,0,224,0,255,254,255,254,255,254,224,0,224, + 0,224,0,224,0,224,0,224,0,224,0,224,0,255,255,255, + 255,255,255,15,25,50,20,3,0,255,254,255,254,255,254,224, + 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,255, + 252,255,252,255,252,224,0,224,0,224,0,224,0,224,0,224, + 0,224,0,224,0,224,0,224,0,224,0,21,25,75,26,2, + 1,1,255,128,7,255,192,15,255,224,30,0,240,60,0,120, + 120,0,56,112,0,0,112,0,0,240,0,0,224,0,0,224, + 0,0,224,15,248,224,15,248,224,15,248,224,0,56,240,0, + 56,112,0,56,112,0,56,120,0,56,60,0,56,62,0,56, + 31,0,248,15,255,248,7,255,240,0,255,128,18,25,75,24, + 3,0,224,1,192,224,1,192,224,1,192,224,1,192,224,1, + 192,224,1,192,224,1,192,224,1,192,224,1,192,224,1,192, + 224,1,192,255,255,192,255,255,192,255,255,192,224,1,192,224, + 1,192,224,1,192,224,1,192,224,1,192,224,1,192,224,1, + 192,224,1,192,224,1,192,224,1,192,224,1,192,3,25,25, + 9,3,0,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,14,25,50,19, + 2,0,0,28,0,28,0,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,28,224,28,224,28,240,60,120,120,127,240, + 63,224,15,192,18,25,75,23,3,0,224,7,128,224,15,0, + 224,30,0,224,60,0,224,120,0,224,240,0,225,224,0,227, + 192,0,231,128,0,239,0,0,254,0,0,255,0,0,239,128, + 0,231,128,0,231,192,0,227,224,0,225,240,0,224,248,0, + 224,120,0,224,60,0,224,62,0,224,31,0,224,15,128,224, + 7,192,224,3,192,15,25,50,19,3,0,224,0,224,0,224, + 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, + 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, + 0,224,0,224,0,224,0,255,254,255,254,255,254,25,25,100, + 31,3,0,248,0,15,128,252,0,31,128,252,0,31,128,252, + 0,31,128,238,0,59,128,238,0,59,128,239,0,123,128,231, + 0,115,128,231,0,115,128,231,128,243,128,227,128,227,128,227, + 128,227,128,225,193,195,128,225,193,195,128,225,193,195,128,224, + 227,131,128,224,227,131,128,224,247,131,128,224,119,3,128,224, + 119,3,128,224,127,3,128,224,62,3,128,224,62,3,128,224, + 28,3,128,224,28,3,128,19,25,75,25,3,0,248,0,224, + 248,0,224,252,0,224,254,0,224,254,0,224,239,0,224,239, + 0,224,231,128,224,231,128,224,227,192,224,227,192,224,225,224, + 224,224,224,224,224,240,224,224,120,224,224,120,224,224,60,224, + 224,60,224,224,30,224,224,30,224,224,15,224,224,15,224,224, + 7,224,224,3,224,224,3,224,22,25,75,26,2,1,3,255, + 0,15,255,192,31,255,224,62,1,240,56,0,112,120,0,120, + 112,0,56,240,0,56,240,0,28,224,0,28,224,0,28,224, + 0,28,224,0,28,224,0,28,224,0,28,240,0,60,112,0, + 56,112,0,56,120,0,120,56,0,112,60,0,240,31,3,224, + 15,255,192,7,255,128,0,252,0,16,25,50,21,3,0,255, + 224,255,252,255,254,224,30,224,15,224,7,224,7,224,7,224, + 7,224,15,224,30,255,254,255,252,255,224,224,0,224,0,224, + 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, + 0,24,25,75,27,2,1,3,255,0,15,255,192,31,255,224, + 62,1,240,56,0,112,120,0,120,112,0,56,240,0,56,240, + 0,28,224,0,28,224,0,28,224,0,28,224,0,28,224,0, + 28,224,0,28,240,0,60,112,0,56,112,0,56,120,0,120, + 56,0,112,60,0,240,31,3,224,15,255,255,7,255,255,0, + 255,255,17,25,75,21,3,0,255,240,0,255,252,0,255,254, + 0,224,31,0,224,15,0,224,7,0,224,7,0,224,7,0, + 224,15,0,224,30,0,255,252,0,255,240,0,255,252,0,224, + 60,0,224,30,0,224,14,0,224,14,0,224,14,0,224,15, + 0,224,7,0,224,7,0,224,7,0,224,7,0,224,7,0, + 224,7,128,18,25,75,22,2,1,7,252,0,31,254,0,63, + 255,0,120,7,128,112,3,128,112,3,128,112,0,0,112,0, + 0,120,0,0,124,0,0,63,192,0,31,252,0,7,255,0, + 0,63,128,0,7,128,0,3,192,0,1,192,224,1,192,224, + 1,192,240,1,192,112,3,192,124,15,128,63,255,0,31,254, + 0,7,240,0,19,25,75,21,1,0,255,255,224,255,255,224, + 255,255,224,0,224,0,0,224,0,0,224,0,0,224,0,0, + 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, + 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, + 0,224,0,0,224,0,0,224,0,0,224,0,0,224,0,0, + 224,0,0,224,0,19,25,75,25,3,0,224,0,224,224,0, + 224,224,0,224,224,0,224,224,0,224,224,0,224,224,0,224, + 224,0,224,224,0,224,224,0,224,224,0,224,224,0,224,224, + 0,224,224,0,224,224,0,224,224,0,224,224,0,224,240,0, + 224,240,1,224,112,1,192,120,3,192,62,7,192,63,255,128, + 31,255,0,3,248,0,21,25,75,22,1,0,240,0,120,240, + 0,240,240,0,240,120,0,240,120,1,224,120,1,224,60,1, + 192,60,3,192,60,3,192,28,3,128,30,7,128,14,7,128, + 14,7,0,15,15,0,7,15,0,7,14,0,7,158,0,3, + 158,0,3,156,0,3,252,0,1,252,0,1,248,0,1,248, + 0,0,248,0,0,240,0,31,25,100,33,1,0,224,7,192, + 14,240,7,192,14,240,7,192,30,112,7,192,30,112,14,224, + 28,120,14,224,60,120,14,224,60,56,14,240,56,56,28,112, + 56,60,28,112,120,28,28,112,120,28,60,56,112,28,56,56, + 112,30,56,56,240,14,56,56,224,14,112,28,224,14,112,28, + 224,7,112,29,192,7,112,29,192,7,224,15,192,7,224,15, + 192,3,224,15,128,3,224,7,128,3,192,7,128,1,192,7, + 0,22,25,75,24,1,0,124,0,120,60,0,240,30,1,224, + 31,1,224,15,3,192,7,135,128,7,135,128,3,207,0,1, + 238,0,1,254,0,0,252,0,0,120,0,0,252,0,0,252, + 0,1,222,0,3,207,0,3,143,0,7,135,128,15,3,192, + 14,3,192,30,1,224,60,1,240,56,0,240,120,0,120,240, + 0,124,21,25,75,23,1,0,240,0,120,120,0,112,120,0, + 240,60,1,224,30,1,224,30,3,192,15,3,128,15,7,128, + 7,135,0,3,143,0,3,206,0,1,252,0,1,252,0,0, + 248,0,0,120,0,0,112,0,0,112,0,0,112,0,0,112, + 0,0,112,0,0,112,0,0,112,0,0,112,0,0,112,0, + 0,112,0,18,25,75,22,2,0,127,255,192,127,255,192,127, + 255,192,0,3,192,0,7,128,0,15,128,0,31,0,0,30, + 0,0,60,0,0,124,0,0,248,0,0,240,0,1,224,0, + 3,224,0,7,192,0,15,128,0,15,0,0,31,0,0,62, + 0,0,124,0,0,120,0,0,240,0,0,255,255,192,255,255, + 192,255,255,192,7,32,32,14,4,249,254,254,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,254,254,10,28,56,13,2,254, + 192,0,192,0,224,0,224,0,96,0,96,0,112,0,48,0, + 48,0,56,0,56,0,24,0,24,0,28,0,12,0,12,0, + 14,0,6,0,6,0,6,0,7,0,3,0,3,0,3,128, + 1,128,1,128,1,128,1,192,6,32,32,14,4,249,252,252, + 28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28, + 28,28,28,28,28,28,28,28,28,28,28,28,252,252,18,21, + 63,34,8,0,0,192,0,1,224,0,1,224,0,1,224,0, + 3,48,0,3,48,0,2,16,0,6,24,0,6,24,0,12, + 12,0,12,12,0,12,12,0,24,6,0,24,6,0,24,6, + 0,48,3,0,48,3,0,112,1,128,96,1,128,96,1,128, + 192,0,192,17,2,6,17,0,251,255,255,128,255,255,128,6, + 6,6,8,0,21,224,224,112,56,24,12,15,18,36,19,2, + 0,15,240,63,252,60,60,120,30,112,14,0,14,0,14,15, + 254,63,254,124,14,112,14,224,14,224,30,224,30,240,62,120, + 238,63,238,15,142,16,25,50,20,2,0,224,0,224,0,224, + 0,224,0,224,0,224,0,224,0,227,240,239,248,238,124,248, + 30,240,14,240,15,224,7,224,7,224,7,224,7,224,7,224, + 15,240,14,240,14,248,28,254,124,239,248,227,224,14,18,36, + 18,2,0,15,224,63,240,124,120,112,60,112,28,240,28,224, + 0,224,0,224,0,224,0,224,0,224,0,240,28,112,28,112, + 60,60,120,31,240,15,224,16,25,50,20,2,0,0,7,0, + 7,0,7,0,7,0,7,0,7,0,7,15,199,31,247,60, + 127,120,31,112,31,112,15,224,15,224,7,224,7,224,7,224, + 7,224,7,112,15,112,15,56,31,62,63,15,247,7,199,16, + 18,36,19,2,0,7,224,31,248,60,124,120,30,112,14,240, + 14,224,14,255,254,255,255,224,0,224,0,224,0,112,14,112, + 14,120,30,62,124,31,248,7,224,11,25,50,12,1,0,7, + 224,15,224,31,32,28,0,28,0,28,0,28,0,255,224,255, + 224,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, + 0,16,25,50,20,2,249,7,231,31,247,62,127,120,31,112, + 15,240,15,224,7,224,7,224,7,224,7,224,7,224,7,240, + 15,112,15,120,31,62,127,31,247,15,199,0,7,0,15,112, + 14,120,30,60,60,31,248,7,224,15,25,50,19,2,0,224, + 0,224,0,224,0,224,0,224,0,224,0,224,0,227,240,239, + 248,252,124,248,28,240,30,224,14,224,14,224,14,224,14,224, + 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,224, + 14,3,25,25,7,2,0,224,224,224,0,0,0,0,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, + 5,32,32,9,2,249,56,56,56,0,0,0,0,56,56,56, + 56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56, + 56,56,56,56,240,224,14,25,50,17,2,0,224,0,224,0, + 224,0,224,0,224,0,224,0,224,0,224,120,224,240,225,224, + 225,192,227,192,231,128,239,0,254,0,254,0,239,0,231,128, + 231,128,227,192,225,224,225,224,224,240,224,120,224,60,3,25, + 25,8,2,0,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,26,18,72, + 30,2,0,227,224,124,0,239,241,255,0,252,123,143,128,248, + 63,3,128,240,30,3,192,224,28,1,192,224,28,1,192,224, + 28,1,192,224,28,1,192,224,28,1,192,224,28,1,192,224, + 28,1,192,224,28,1,192,224,28,1,192,224,28,1,192,224, + 28,1,192,224,28,1,192,224,28,1,192,15,18,36,19,2, + 0,227,240,239,248,252,124,248,30,240,30,224,14,224,14,224, + 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,224, + 14,224,14,224,14,17,18,54,21,2,0,7,240,0,31,252, + 0,62,62,0,120,15,0,112,7,0,240,7,0,240,7,128, + 224,3,128,224,3,128,224,3,128,224,3,128,240,7,128,240, + 7,128,112,7,0,120,15,0,62,62,0,31,252,0,7,240, + 0,16,25,50,20,2,249,227,240,231,248,254,60,248,30,240, + 14,240,15,224,7,224,7,224,7,224,7,224,7,224,7,240, + 15,240,14,248,30,254,124,239,248,227,240,224,0,224,0,224, + 0,224,0,224,0,224,0,224,0,16,25,50,21,2,249,7, + 199,31,247,62,63,120,31,112,15,240,15,224,7,224,7,224, + 7,224,7,224,7,224,7,240,15,112,15,120,31,62,127,31, + 247,7,199,0,7,0,7,0,7,0,7,0,7,0,7,0, + 7,10,18,36,12,2,0,231,192,239,192,254,0,248,0,240, + 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, + 0,224,0,224,0,224,0,224,0,224,0,14,18,36,18,2, + 0,31,192,127,240,120,248,240,56,224,56,224,0,240,0,126, + 0,63,224,15,248,0,252,0,60,0,28,224,28,240,60,120, + 248,63,240,31,192,10,22,44,12,1,1,28,0,28,0,28, + 0,28,0,255,192,255,192,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, + 0,30,0,15,192,7,192,15,18,36,19,2,0,224,14,224, + 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,224, + 14,224,14,224,14,224,14,240,30,240,62,124,126,63,238,31, + 142,16,18,36,18,1,0,224,7,240,7,240,15,112,14,120, + 14,56,30,56,28,60,28,28,56,30,56,14,56,14,112,15, + 112,7,224,7,224,3,224,3,192,3,192,26,18,72,28,1, + 0,224,30,1,192,224,62,3,192,224,63,3,128,112,63,3, + 128,112,119,3,128,112,115,7,0,56,115,135,0,56,115,135, + 0,56,227,142,0,24,225,206,0,28,225,206,0,29,193,206, + 0,29,192,220,0,15,192,252,0,15,128,252,0,15,128,120, + 0,7,128,120,0,7,128,120,0,17,18,54,19,1,0,112, + 7,0,120,14,0,60,30,0,30,28,0,30,56,0,15,112, + 0,7,240,0,3,224,0,3,192,0,3,224,0,7,224,0, + 15,240,0,14,120,0,28,60,0,60,28,0,120,30,0,112, + 15,0,240,7,128,16,25,50,18,1,249,224,7,240,7,112, + 15,112,14,120,14,56,30,60,28,28,28,28,60,30,56,14, + 56,15,112,7,112,7,240,7,224,3,224,3,224,1,192,1, + 192,3,128,3,128,7,128,7,0,7,0,15,0,13,18,36, + 17,2,0,127,248,127,248,0,120,0,112,0,240,1,224,3, + 192,3,192,7,128,15,0,31,0,30,0,60,0,120,0,120, + 0,240,0,255,248,255,248,11,35,70,17,3,248,1,224,3, + 224,7,128,15,0,14,0,14,0,14,0,14,0,14,0,14, + 0,14,0,14,0,14,0,30,0,28,0,60,0,248,0,240, + 0,248,0,60,0,28,0,30,0,14,0,14,0,14,0,14, + 0,14,0,14,0,14,0,14,0,14,0,7,0,7,128,3, + 224,1,224,2,37,37,12,5,247,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,11,35, + 70,17,3,248,240,0,248,0,60,0,28,0,14,0,14,0, + 14,0,14,0,14,0,14,0,14,0,14,0,14,0,15,0, + 7,0,7,128,3,224,1,224,3,224,7,128,7,0,15,0, + 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, + 14,0,28,0,60,0,248,0,240,0,18,4,12,18,0,7, + 31,1,192,63,231,128,121,255,0,224,62,0,255}; +/* + Fontname: -FreeType-FreeUniversal-Medium-R-Normal--40-400-72-72-P-189-ISO10646-1 + Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. + Capital A Height: 30, '1' Height: 30 + Calculated Max Values w=37 h=43 x=10 y=26 dx=40 dy= 0 ascent=43 len=185 + Font Bounding box w=54 h=54 x=-3 y=-11 + Calculated Min Values x=-1 y=-11 dx= 0 dy= 0 + Pure Font ascent =30 descent=-7 + X Font ascent =31 descent=-8 + Max Font ascent =43 descent=-11 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_fur30[16505] U8G_FONT_SECTION("u8g_font_fur30") = { + 0,54,54,253,245,30,9,94,20,223,32,255,249,43,245,31, + 248,0,0,0,12,0,0,4,30,30,14,5,0,240,240,240, + 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, + 240,240,240,240,0,0,0,240,240,240,240,12,12,24,18,3, + 18,240,240,240,240,240,240,240,240,240,240,240,240,240,112,224, + 112,224,112,96,112,96,112,96,96,26,30,120,30,2,0,0, + 28,14,0,0,28,28,0,0,28,28,0,0,28,28,0,0, + 56,24,0,0,56,56,0,0,56,56,0,0,112,56,0,0, + 112,112,0,31,255,255,192,31,255,255,128,31,255,255,128,0, + 224,224,0,0,224,224,0,1,192,224,0,1,193,192,0,1, + 193,192,0,127,255,254,0,255,255,254,0,255,255,254,0,3, + 3,128,0,7,7,0,0,7,7,0,0,7,7,0,0,14, + 7,0,0,14,14,0,0,14,14,0,0,14,14,0,0,28, + 28,0,0,28,28,0,0,20,37,111,22,1,252,0,96,0, + 0,96,0,0,96,0,3,252,0,15,254,0,63,255,0,63, + 255,128,124,103,128,120,99,192,240,99,192,240,99,192,240,96, + 0,240,96,0,240,96,0,120,96,0,127,96,0,63,240,0, + 31,254,0,15,255,128,1,255,192,0,111,224,0,97,224,0, + 96,240,0,96,240,0,96,240,240,96,240,240,96,240,240,96, + 240,120,96,240,124,97,224,63,255,192,31,255,128,15,255,0, + 0,96,0,0,96,0,0,96,0,0,96,0,33,31,155,37, + 2,0,0,0,0,224,0,15,192,0,192,0,31,240,1,192, + 0,63,248,1,128,0,120,60,3,0,0,240,60,7,0,0, + 240,30,6,0,0,240,30,14,0,0,240,30,12,0,0,240, + 30,28,0,0,240,30,24,0,0,240,28,56,0,0,112,60, + 48,0,0,120,124,112,0,0,63,248,224,0,0,31,240,192, + 96,0,3,129,195,252,0,0,1,135,254,0,0,3,143,15, + 0,0,3,14,7,0,0,7,30,7,128,0,6,30,7,128, + 0,14,30,7,128,0,28,30,7,128,0,28,30,7,128,0, + 56,30,7,128,0,56,30,7,128,0,112,15,15,0,0,96, + 15,254,0,0,224,7,252,0,0,192,1,248,0,27,30,120, + 30,2,1,3,254,0,0,7,255,0,0,15,143,128,0,15, + 3,192,0,30,3,192,0,30,3,192,0,30,3,192,0,30, + 3,192,0,31,7,128,0,15,15,128,0,15,191,0,0,7, + 252,0,0,3,248,0,0,7,224,15,0,15,240,15,0,63, + 248,15,0,124,124,15,0,120,62,15,0,248,31,15,0,240, + 15,142,0,240,7,206,0,240,3,254,0,240,1,254,0,240, + 0,252,0,248,0,124,0,124,0,126,0,126,1,255,0,63, + 255,255,128,31,255,207,192,7,255,3,224,4,12,12,15,5, + 18,240,240,240,240,112,112,112,112,112,112,112,112,7,36,36, + 15,4,251,14,14,28,28,60,56,56,120,120,120,112,112,240, + 240,240,240,240,240,240,240,240,240,240,240,112,112,120,120,120, + 56,56,60,28,28,14,14,7,36,36,14,4,251,224,224,96, + 112,112,120,56,56,60,60,60,28,28,28,30,30,30,30,30, + 30,30,30,28,28,60,60,60,60,56,56,120,112,112,224,224, + 224,16,15,30,26,5,15,12,48,28,56,14,112,14,112,7, + 224,3,192,253,191,255,255,243,207,3,192,6,96,14,112,30, + 120,28,56,12,48,24,25,75,40,8,0,0,56,0,0,56, + 0,0,56,0,0,56,0,0,56,0,0,56,0,0,56,0, + 0,56,0,0,56,0,0,56,0,0,56,0,255,255,255,255, + 255,255,255,255,255,0,56,0,0,56,0,0,56,0,0,56, + 0,0,56,0,0,56,0,0,56,0,0,56,0,0,56,0, + 0,56,0,0,56,0,7,10,10,11,2,251,62,60,60,124, + 120,120,112,112,224,224,10,3,6,14,2,8,255,192,255,192, + 255,192,4,5,5,11,4,0,240,240,240,240,240,12,33,66, + 16,2,254,0,112,0,112,0,96,0,224,0,224,0,224,0, + 192,1,192,1,192,1,128,3,128,3,128,3,128,7,0,7, + 0,7,0,6,0,14,0,14,0,14,0,28,0,28,0,28, + 0,24,0,56,0,56,0,56,0,112,0,112,0,112,0,96, + 0,224,0,224,0,18,30,90,22,2,1,7,248,0,31,254, + 0,63,255,0,60,15,0,120,7,128,120,7,128,112,7,128, + 112,3,128,240,3,192,240,3,192,240,3,192,240,3,192,240, + 3,192,240,3,192,240,3,192,240,3,192,240,3,192,240,3, + 192,240,3,192,240,3,192,240,3,192,112,3,192,112,3,128, + 120,7,128,120,7,128,56,7,0,60,15,0,31,254,0,15, + 254,0,7,248,0,10,30,60,22,5,0,7,192,15,192,31, + 192,63,192,127,192,251,192,243,192,195,192,3,192,3,192,3, + 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, + 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, + 192,3,192,3,192,3,192,17,30,90,22,2,1,15,248,0, + 31,252,0,63,254,0,124,15,0,120,7,0,120,7,128,120, + 7,128,240,7,128,0,7,128,0,7,128,0,7,128,0,15, + 0,0,31,0,0,30,0,0,62,0,0,124,0,0,248,0, + 0,248,0,1,240,0,3,224,0,7,192,0,15,128,0,31, + 0,0,31,0,0,62,0,0,124,0,0,248,0,0,255,255, + 128,255,255,128,255,255,128,18,30,90,22,2,1,7,248,0, + 31,254,0,62,31,0,60,7,128,124,3,128,120,3,192,120, + 3,192,120,3,192,0,3,192,0,3,128,0,7,128,0,15, + 0,0,62,0,3,252,0,3,248,0,3,254,0,0,63,0, + 0,15,128,0,7,128,0,3,192,0,3,192,0,3,192,240, + 3,192,240,3,192,248,3,192,120,7,128,124,15,128,62,31, + 0,31,254,0,15,248,0,20,30,90,22,1,0,0,15,128, + 0,31,128,0,31,128,0,63,128,0,127,128,0,127,128,0, + 247,128,1,231,128,1,231,128,3,199,128,3,135,128,7,135, + 128,15,7,128,14,7,128,30,7,128,60,7,128,60,7,128, + 120,7,128,240,7,128,240,7,128,255,255,240,255,255,240,255, + 255,240,0,7,128,0,7,128,0,7,128,0,7,128,0,7, + 128,0,7,128,0,7,128,18,30,90,22,2,0,127,255,0, + 127,255,0,127,255,0,120,0,0,120,0,0,120,0,0,120, + 0,0,120,0,0,120,0,0,120,0,0,120,96,0,123,252, + 0,127,254,0,126,31,0,124,7,128,120,7,128,112,3,128, + 0,3,192,0,3,192,0,3,192,0,3,192,0,3,192,0, + 3,192,240,3,192,240,7,128,240,7,128,120,15,0,127,254, + 0,31,252,0,15,248,0,19,30,90,22,2,1,3,252,0, + 15,255,0,31,255,0,63,15,128,62,7,128,124,3,192,120, + 3,192,120,3,192,240,0,0,240,0,0,240,0,0,240,0, + 0,241,252,0,243,255,0,247,255,128,254,7,128,252,3,192, + 252,3,192,248,1,192,248,1,224,248,1,224,248,1,224,248, + 1,224,248,1,224,120,1,192,124,3,192,60,7,128,31,15, + 128,15,255,0,7,252,0,18,30,90,22,2,0,255,255,192, + 255,255,192,255,255,192,0,3,192,0,3,192,0,7,128,0, + 7,128,0,7,128,0,15,0,0,15,0,0,31,0,0,30, + 0,0,30,0,0,60,0,0,60,0,0,60,0,0,120,0, + 0,120,0,0,248,0,0,240,0,0,240,0,1,240,0,1, + 224,0,1,224,0,3,192,0,3,192,0,7,192,0,7,128, + 0,7,128,0,15,128,0,19,30,90,22,2,1,7,252,0, + 31,254,0,62,15,128,60,7,128,120,3,192,120,3,192,120, + 3,192,120,3,192,120,3,192,120,3,192,56,3,128,60,7, + 128,30,15,0,15,254,0,7,252,0,31,254,0,60,7,128, + 120,3,128,112,1,192,240,1,192,240,1,224,240,1,224,240, + 1,224,240,1,224,240,1,224,120,3,192,120,3,192,62,15, + 128,31,255,0,7,252,0,19,30,90,22,2,1,7,252,0, + 31,255,0,62,31,128,120,7,128,120,3,192,112,3,192,240, + 3,192,240,3,224,240,1,224,240,1,224,240,3,224,240,3, + 224,240,3,224,112,3,224,120,7,224,60,15,224,63,253,224, + 31,249,224,7,241,224,0,1,192,0,1,192,0,1,192,0, + 3,192,112,3,192,112,3,128,120,7,128,56,15,0,62,31, + 0,31,254,0,15,248,0,4,20,20,11,4,0,240,240,240, + 240,240,0,0,0,0,0,0,0,0,0,0,240,240,240,240, + 240,6,26,26,11,2,250,60,60,60,60,60,0,0,0,0, + 0,0,0,0,0,0,0,60,60,60,56,120,112,112,112,224, + 224,24,21,63,40,8,2,0,0,1,0,0,15,0,0,63, + 0,1,252,0,7,224,0,63,0,1,252,0,7,224,0,63, + 0,0,252,0,0,224,0,0,248,0,0,126,0,0,15,192, + 0,3,248,0,0,126,0,0,31,192,0,3,240,0,0,126, + 0,0,31,0,0,3,24,10,30,40,8,7,255,255,255,255, + 255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0, + 0,255,255,255,255,255,255,255,255,255,24,21,63,40,8,2, + 128,0,0,240,0,0,252,0,0,63,128,0,7,224,0,0, + 252,0,0,63,0,0,7,224,0,0,252,0,0,63,0,0, + 7,0,0,31,0,0,126,0,3,240,0,31,192,0,126,0, + 3,248,0,15,192,0,126,0,0,248,0,0,192,0,0,18, + 30,90,21,1,1,15,248,0,31,254,0,63,255,0,126,127, + 128,248,7,128,112,3,192,0,3,192,0,3,192,0,3,192, + 0,7,128,0,7,128,0,15,0,0,30,0,0,60,0,0, + 120,0,1,240,0,1,224,0,3,192,0,3,192,0,3,192, + 0,3,192,0,3,192,0,3,192,0,0,0,0,0,0,0, + 0,0,0,3,192,0,3,192,0,3,192,0,3,192,0,35, + 37,185,39,2,249,0,7,252,0,0,0,63,255,128,0,0, + 255,255,240,0,1,255,255,248,0,7,248,3,252,0,15,224, + 0,126,0,15,128,0,31,0,31,0,0,15,128,62,0,0, + 7,128,60,0,0,7,192,120,7,231,131,192,120,15,247,131, + 192,112,31,255,129,224,240,62,31,129,224,240,60,15,129,224, + 240,120,7,129,224,240,120,7,129,224,240,120,7,129,224,240, + 120,7,129,224,240,120,7,129,224,240,120,7,129,224,240,120, + 7,129,192,240,120,7,129,192,112,56,15,131,192,120,60,15, + 135,128,120,30,27,255,0,124,31,251,255,0,60,15,240,252, + 0,62,1,128,48,0,31,0,0,0,0,31,128,0,0,0, + 15,224,0,0,0,7,248,0,128,0,3,255,255,128,0,0, + 255,255,128,0,0,63,255,128,0,0,7,254,0,0,28,30, + 120,30,1,0,0,15,0,0,0,31,128,0,0,31,128,0, + 0,63,192,0,0,63,192,0,0,127,192,0,0,121,224,0, + 0,121,224,0,0,241,240,0,0,240,240,0,1,240,240,0, + 1,224,248,0,1,224,120,0,3,224,124,0,3,192,60,0, + 7,192,60,0,7,128,62,0,7,128,30,0,15,128,31,0, + 15,255,255,0,31,255,255,128,31,255,255,128,30,0,7,128, + 60,0,3,192,60,0,3,192,124,0,3,224,120,0,1,224, + 120,0,1,224,240,0,0,240,240,0,0,240,21,30,90,26, + 3,0,255,254,0,255,255,128,255,255,192,255,255,224,240,7, + 224,240,1,240,240,0,240,240,0,240,240,0,240,240,0,240, + 240,0,224,240,1,224,240,7,192,255,255,128,255,255,0,255, + 255,192,240,3,224,240,0,240,240,0,112,240,0,120,240,0, + 120,240,0,120,240,0,120,240,0,248,240,1,248,240,7,240, + 255,255,224,255,255,224,255,255,128,255,254,0,22,30,90,26, + 2,1,1,255,128,7,255,224,15,255,240,31,0,248,62,0, + 120,60,0,60,120,0,60,120,0,60,120,0,0,112,0,0, + 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,240, + 0,0,240,0,0,240,0,0,240,0,0,240,0,0,112,0, + 0,112,0,0,120,0,60,120,0,60,60,0,60,60,0,120, + 31,0,248,15,255,240,7,255,224,1,255,128,23,30,90,28, + 3,0,255,248,0,255,255,0,255,255,192,255,255,224,240,15, + 240,240,1,248,240,0,248,240,0,124,240,0,60,240,0,60, + 240,0,30,240,0,30,240,0,30,240,0,30,240,0,30,240, + 0,30,240,0,30,240,0,30,240,0,30,240,0,30,240,0, + 60,240,0,60,240,0,124,240,0,248,240,1,240,240,7,240, + 255,255,224,255,255,192,255,255,0,255,248,0,19,30,90,24, + 3,0,255,255,192,255,255,192,255,255,192,255,255,192,240,0, + 0,240,0,0,240,0,0,240,0,0,240,0,0,240,0,0, + 240,0,0,240,0,0,240,0,0,255,255,192,255,255,192,255, + 255,192,255,255,192,240,0,0,240,0,0,240,0,0,240,0, + 0,240,0,0,240,0,0,240,0,0,240,0,0,240,0,0, + 255,255,224,255,255,224,255,255,224,255,255,224,17,30,90,23, + 3,0,255,255,128,255,255,128,255,255,128,255,255,128,240,0, + 0,240,0,0,240,0,0,240,0,0,240,0,0,240,0,0, + 240,0,0,240,0,0,240,0,0,255,255,0,255,255,0,255, + 255,0,255,255,0,240,0,0,240,0,0,240,0,0,240,0, + 0,240,0,0,240,0,0,240,0,0,240,0,0,240,0,0, + 240,0,0,240,0,0,240,0,0,240,0,0,25,30,120,30, + 2,1,0,255,224,0,3,255,248,0,7,255,252,0,15,255, + 254,0,31,128,63,0,62,0,15,0,60,0,7,128,120,0, + 7,128,120,0,0,0,112,0,0,0,240,0,0,0,240,0, + 0,0,240,0,0,0,240,0,0,0,240,3,255,128,240,3, + 255,128,240,3,255,128,240,3,255,128,240,0,7,128,240,0, + 7,128,120,0,7,128,120,0,7,128,124,0,7,128,62,0, + 7,128,62,0,7,128,31,128,7,128,15,255,255,128,7,255, + 255,128,3,255,255,0,0,255,248,0,22,30,90,28,3,0, + 240,0,60,240,0,60,240,0,60,240,0,60,240,0,60,240, + 0,60,240,0,60,240,0,60,240,0,60,240,0,60,240,0, + 60,240,0,60,240,0,60,255,255,252,255,255,252,255,255,252, + 255,255,252,240,0,60,240,0,60,240,0,60,240,0,60,240, + 0,60,240,0,60,240,0,60,240,0,60,240,0,60,240,0, + 60,240,0,60,240,0,60,240,0,60,4,30,30,10,3,0, + 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, + 240,240,240,240,240,240,240,240,240,240,240,240,240,240,17,30, + 90,22,2,0,0,7,128,0,7,128,0,7,128,0,7,128, + 0,7,128,0,7,128,0,7,128,0,7,128,0,7,128,0, + 7,128,0,7,128,0,7,128,0,7,128,0,7,128,0,7, + 128,0,7,128,0,7,128,0,7,128,0,7,128,0,7,128, + 0,7,128,0,7,128,240,7,128,240,7,128,240,15,128,120, + 31,0,127,255,0,63,254,0,31,252,0,15,240,0,22,30, + 90,26,3,0,240,1,240,240,3,224,240,7,192,240,15,128, + 240,31,0,240,30,0,240,60,0,240,124,0,240,248,0,241, + 240,0,243,224,0,247,192,0,255,128,0,255,128,0,255,192, + 0,247,192,0,243,224,0,243,240,0,241,248,0,240,252,0, + 240,124,0,240,62,0,240,31,0,240,31,128,240,15,192,240, + 7,192,240,3,224,240,1,240,240,1,248,240,0,252,17,30, + 90,21,3,0,240,0,0,240,0,0,240,0,0,240,0,0, + 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,240, + 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,0, + 0,240,0,0,240,0,0,240,0,0,240,0,0,240,0,0, + 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,240, + 0,0,255,255,128,255,255,128,255,255,128,255,255,128,30,30, + 120,36,3,0,252,0,0,252,254,0,1,252,254,0,1,252, + 254,0,1,252,255,0,3,252,255,0,3,252,247,128,7,188, + 247,128,7,188,247,128,7,188,243,192,15,60,243,192,15,60, + 243,192,14,60,241,224,30,60,241,224,30,60,240,224,28,60, + 240,240,60,60,240,240,60,60,240,120,120,60,240,120,120,60, + 240,120,120,60,240,60,240,60,240,60,240,60,240,28,224,60, + 240,31,224,60,240,31,224,60,240,15,192,60,240,15,192,60, + 240,15,192,60,240,7,128,60,240,7,128,60,22,30,90,28, + 3,0,252,0,60,252,0,60,254,0,60,254,0,60,255,0, + 60,255,0,60,255,128,60,247,128,60,247,192,60,243,192,60, + 243,224,60,241,224,60,241,240,60,240,240,60,240,248,60,240, + 120,60,240,124,60,240,60,60,240,62,60,240,30,60,240,31, + 60,240,15,60,240,15,188,240,7,188,240,3,252,240,3,252, + 240,1,252,240,1,252,240,0,252,240,0,252,26,30,120,30, + 2,1,1,255,224,0,3,255,240,0,15,255,252,0,31,255, + 254,0,31,0,62,0,62,0,31,0,60,0,15,0,120,0, + 7,128,120,0,7,128,112,0,3,128,240,0,3,192,240,0, + 3,192,240,0,3,192,240,0,3,192,240,0,3,192,240,0, + 3,192,240,0,3,192,240,0,3,192,240,0,3,192,112,0, + 3,128,120,0,7,128,120,0,7,128,120,0,15,128,60,0, + 15,0,62,0,31,0,31,128,126,0,15,255,252,0,7,255, + 248,0,3,255,240,0,0,255,192,0,19,30,90,24,3,0, + 255,248,0,255,254,0,255,255,128,255,255,192,240,15,192,240, + 3,224,240,1,224,240,1,224,240,1,224,240,1,224,240,1, + 224,240,1,224,240,3,224,240,15,192,255,255,192,255,255,128, + 255,254,0,255,248,0,240,0,0,240,0,0,240,0,0,240, + 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,0, + 0,240,0,0,240,0,0,240,0,0,28,30,120,31,2,1, + 0,255,192,0,3,255,240,0,15,255,252,0,31,255,254,0, + 31,0,62,0,62,0,31,0,60,0,15,128,120,0,7,128, + 120,0,7,128,112,0,3,192,240,0,3,192,240,0,3,192, + 240,0,3,192,240,0,3,192,240,0,3,192,240,0,3,192, + 240,0,3,192,240,0,3,192,240,0,3,192,112,0,3,128, + 120,0,7,128,120,0,7,128,120,0,15,0,60,0,15,0, + 62,0,30,0,31,128,126,0,15,255,255,240,7,255,255,240, + 3,255,255,240,0,255,255,240,20,30,90,25,3,0,255,252, + 0,255,255,0,255,255,192,255,255,224,240,7,224,240,1,224, + 240,0,240,240,0,240,240,0,240,240,0,240,240,0,224,240, + 1,224,240,7,192,255,255,128,255,255,0,255,255,0,255,255, + 128,240,7,192,240,3,192,240,3,192,240,1,224,240,1,224, + 240,1,224,240,1,224,240,0,224,240,0,224,240,0,240,240, + 0,240,240,0,240,240,0,112,22,30,90,26,2,1,3,255, + 0,15,255,192,63,255,224,63,255,240,124,0,240,120,0,120, + 240,0,120,240,0,120,240,0,0,240,0,0,120,0,0,124, + 0,0,63,128,0,31,252,0,15,255,128,0,255,224,0,7, + 240,0,0,248,0,0,120,0,0,56,0,0,60,240,0,60, + 240,0,60,240,0,60,120,0,120,124,0,248,63,255,240,63, + 255,240,31,255,192,7,255,0,23,30,90,25,1,0,255,255, + 254,255,255,254,255,255,254,255,255,254,0,120,0,0,120,0, + 0,120,0,0,120,0,0,120,0,0,120,0,0,120,0,0, + 120,0,0,120,0,0,120,0,0,120,0,0,120,0,0,120, + 0,0,120,0,0,120,0,0,120,0,0,120,0,0,120,0, + 0,120,0,0,120,0,0,120,0,0,120,0,0,120,0,0, + 120,0,0,120,0,0,120,0,23,30,90,29,3,0,240,0, + 30,240,0,30,240,0,30,240,0,30,240,0,30,240,0,30, + 240,0,30,240,0,30,240,0,30,240,0,30,240,0,30,240, + 0,30,240,0,30,240,0,30,240,0,30,240,0,30,240,0, + 30,240,0,30,240,0,30,240,0,30,240,0,30,240,0,30, + 120,0,60,120,0,60,124,0,124,62,0,248,63,255,248,31, + 255,240,15,255,224,3,255,128,24,30,90,26,1,0,240,0, + 15,248,0,15,248,0,31,120,0,30,124,0,30,124,0,62, + 60,0,60,62,0,60,30,0,124,30,0,120,31,0,120,15, + 0,248,15,0,240,15,0,240,7,129,240,7,129,224,7,129, + 224,3,195,224,3,195,192,3,195,192,1,231,192,1,231,128, + 1,231,128,0,255,128,0,255,0,0,255,0,0,126,0,0, + 126,0,0,126,0,0,60,0,37,30,150,39,1,0,240,0, + 248,0,120,240,0,248,0,120,240,1,248,0,248,120,1,252, + 0,240,120,1,252,0,240,120,1,220,0,240,124,3,222,1, + 224,60,3,222,1,224,60,3,222,1,224,60,3,142,1,224, + 30,7,143,3,192,30,7,143,3,192,30,7,15,3,192,30, + 7,7,3,128,15,15,7,135,128,15,15,7,135,128,15,14, + 3,135,128,7,14,3,135,0,7,158,3,207,0,7,158,3, + 207,0,7,156,1,206,0,3,156,1,222,0,3,252,1,254, + 0,3,252,1,254,0,1,248,0,252,0,1,248,0,252,0, + 1,248,0,252,0,1,240,0,248,0,0,240,0,120,0,0, + 240,0,120,0,26,30,120,28,1,0,62,0,15,0,62,0, + 31,0,31,0,30,0,15,128,60,0,15,128,124,0,7,192, + 120,0,3,224,240,0,3,224,240,0,1,241,224,0,0,243, + 224,0,0,251,192,0,0,127,128,0,0,63,128,0,0,63, + 0,0,0,63,0,0,0,63,128,0,0,127,128,0,0,247, + 192,0,0,243,224,0,1,227,224,0,3,225,240,0,3,192, + 248,0,7,128,248,0,15,128,124,0,15,0,62,0,31,0, + 62,0,62,0,31,0,60,0,31,0,124,0,15,128,248,0, + 7,192,24,30,90,26,1,0,248,0,15,248,0,31,124,0, + 30,124,0,60,62,0,124,30,0,120,31,0,248,15,0,240, + 15,129,224,7,129,224,3,195,192,3,227,192,1,231,128,1, + 247,0,0,255,0,0,254,0,0,126,0,0,60,0,0,60, + 0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0, + 0,60,0,0,60,0,0,60,0,0,60,0,0,60,0,0, + 60,0,21,30,90,25,2,0,127,255,248,127,255,248,127,255, + 248,127,255,248,0,0,248,0,1,248,0,1,240,0,3,224, + 0,7,192,0,15,128,0,31,128,0,31,0,0,62,0,0, + 124,0,0,252,0,0,248,0,1,240,0,3,224,0,7,192, + 0,15,192,0,15,128,0,31,0,0,62,0,0,126,0,0, + 252,0,0,248,0,0,255,255,248,255,255,248,255,255,248,255, + 255,248,8,38,38,16,4,248,255,255,255,240,240,240,240,240, + 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, + 240,240,240,240,240,240,240,240,240,240,240,255,255,255,12,33, + 66,16,2,254,224,0,224,0,224,0,96,0,112,0,112,0, + 48,0,56,0,56,0,56,0,28,0,28,0,28,0,12,0, + 14,0,14,0,6,0,7,0,7,0,7,0,3,0,3,128, + 3,128,1,128,1,192,1,192,1,192,0,192,0,224,0,224, + 0,96,0,112,0,112,8,38,38,16,4,248,255,255,255,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,255, + 255,255,20,25,75,40,10,0,0,96,0,0,240,0,0,240, + 0,0,240,0,1,248,0,1,152,0,3,156,0,3,12,0, + 3,12,0,7,14,0,6,6,0,6,6,0,14,7,0,12, + 3,0,28,3,128,28,1,128,24,1,128,56,1,192,48,0, + 192,48,0,192,112,0,224,96,0,96,224,0,112,224,0,112, + 192,0,48,20,3,9,20,0,251,255,255,240,255,255,240,255, + 255,240,8,7,7,9,255,25,240,120,56,28,14,14,7,18, + 20,60,23,2,1,15,254,0,63,255,0,62,15,128,120,7, + 128,120,3,192,0,3,192,0,3,192,3,255,192,15,255,192, + 63,255,192,126,3,192,120,3,192,240,3,192,240,3,192,240, + 7,192,240,7,192,248,15,192,124,63,192,63,251,192,31,227, + 192,19,30,90,24,3,0,240,0,0,240,0,0,240,0,0, + 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,240, + 0,0,240,0,0,243,252,0,247,255,0,255,15,128,252,7, + 128,248,3,192,248,3,192,240,1,192,240,1,224,240,1,224, + 240,1,224,240,1,224,240,1,224,240,1,192,240,3,192,240, + 3,192,248,7,128,252,7,128,254,31,0,247,254,0,243,252, + 0,17,20,60,21,2,1,15,252,0,31,254,0,62,31,0, + 120,15,128,120,7,128,240,7,128,240,0,0,240,0,0,240, + 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,7, + 128,112,7,128,120,7,128,120,15,0,62,31,0,31,254,0, + 15,252,0,19,30,90,24,2,0,0,1,224,0,1,224,0, + 1,224,0,1,224,0,1,224,0,1,224,0,1,224,0,1, + 224,0,1,224,0,1,224,15,249,224,31,253,224,62,31,224, + 60,7,224,120,7,224,120,3,224,240,1,224,240,1,224,240, + 1,224,240,1,224,240,1,224,240,1,224,240,1,224,240,1, + 224,120,3,224,120,3,224,60,7,224,31,15,224,15,255,224, + 7,249,224,18,20,60,22,2,1,7,252,0,31,254,0,62, + 31,0,60,7,128,120,3,128,112,3,192,240,3,192,240,3, + 192,255,255,192,255,255,192,255,255,192,240,0,0,240,0,0, + 240,0,0,112,3,192,120,7,128,56,7,128,62,31,0,31, + 254,0,7,252,0,13,30,60,14,1,0,1,248,3,248,7, + 248,15,128,15,0,15,0,15,0,15,0,15,0,15,0,255, + 240,255,240,255,240,15,0,15,0,15,0,15,0,15,0,15, + 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, + 0,15,0,15,0,15,0,19,28,84,24,2,249,15,249,224, + 31,253,224,62,31,224,120,7,224,120,3,224,112,3,224,240, + 1,224,240,1,224,240,1,224,240,1,224,240,1,224,240,1, + 224,240,1,224,240,3,224,120,3,224,124,7,224,62,15,224, + 31,253,224,15,249,224,0,129,224,0,1,224,0,3,192,120, + 3,192,120,3,192,60,7,128,63,255,0,15,254,0,3,248, + 0,18,30,90,24,3,0,240,0,0,240,0,0,240,0,0, + 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,240, + 0,0,240,0,0,243,254,0,247,255,0,254,31,128,248,7, + 128,240,7,128,240,3,192,240,3,192,240,3,192,240,3,192, + 240,3,192,240,3,192,240,3,192,240,3,192,240,3,192,240, + 3,192,240,3,192,240,3,192,240,3,192,240,3,192,240,3, + 192,4,30,30,8,2,0,240,240,240,240,0,0,0,0,0, + 0,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, + 240,240,240,240,240,7,38,38,11,2,248,30,30,30,30,0, + 0,0,0,0,0,30,30,30,30,30,30,30,30,30,30,30, + 30,30,30,30,30,30,30,30,30,30,30,30,30,30,254,252, + 248,16,30,60,20,3,0,240,0,240,0,240,0,240,0,240, + 0,240,0,240,0,240,0,240,0,240,0,240,30,240,62,240, + 124,240,248,241,240,243,224,247,192,255,128,255,0,255,0,247, + 128,247,192,243,224,241,240,240,240,240,248,240,124,240,62,240, + 30,240,31,4,30,30,10,3,0,240,240,240,240,240,240,240, + 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, + 240,240,240,240,240,240,240,30,20,80,36,3,1,243,252,31, + 224,247,254,63,240,254,31,112,248,252,15,224,120,248,7,192, + 60,240,7,128,60,240,7,128,60,240,7,128,60,240,7,128, + 60,240,7,128,60,240,7,128,60,240,7,128,60,240,7,128, + 60,240,7,128,60,240,7,128,60,240,7,128,60,240,7,128, + 60,240,7,128,60,240,7,128,60,240,7,128,60,18,20,60, + 24,3,1,243,254,0,247,255,0,254,31,128,248,7,128,248, + 7,128,240,3,192,240,3,192,240,3,192,240,3,192,240,3, + 192,240,3,192,240,3,192,240,3,192,240,3,192,240,3,192, + 240,3,192,240,3,192,240,3,192,240,3,192,240,3,192,20, + 20,60,24,2,1,7,252,0,15,255,0,63,15,128,60,3, + 192,120,3,224,120,1,224,240,1,224,240,0,240,240,0,240, + 240,0,240,240,0,240,240,0,240,240,0,240,240,1,224,120, + 1,224,120,3,224,60,3,192,63,15,128,15,255,0,7,254, + 0,19,28,84,24,3,249,243,254,0,247,255,0,254,15,128, + 252,7,192,248,3,192,248,3,192,240,1,224,240,1,224,240, + 1,224,240,1,224,240,1,224,240,1,224,240,1,224,240,1, + 224,248,3,192,248,3,192,252,7,192,254,15,128,247,255,0, + 243,254,0,240,0,0,240,0,0,240,0,0,240,0,0,240, + 0,0,240,0,0,240,0,0,240,0,0,19,28,84,24,2, + 249,15,249,224,31,253,224,62,15,224,124,7,224,120,3,224, + 120,3,224,240,1,224,240,1,224,240,1,224,240,1,224,240, + 1,224,240,1,224,240,1,224,240,1,224,120,3,224,120,3, + 224,124,7,224,62,15,224,31,253,224,15,249,224,0,1,224, + 0,1,224,0,1,224,0,1,224,0,1,224,0,1,224,0, + 1,224,0,1,224,11,20,40,15,3,0,243,224,247,224,255, + 224,254,0,248,0,248,0,240,0,240,0,240,0,240,0,240, + 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, + 0,240,0,16,20,40,20,2,1,31,248,63,254,124,62,248, + 31,240,15,240,0,240,0,124,0,127,192,63,248,15,254,0, + 126,0,31,0,15,240,15,240,15,240,31,124,62,127,252,31, + 248,12,25,50,14,1,1,14,0,30,0,30,0,30,0,30, + 0,255,240,255,240,255,240,30,0,30,0,30,0,30,0,30, + 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, + 0,30,0,15,0,15,240,7,240,18,20,60,24,3,0,240, + 3,192,240,3,192,240,3,192,240,3,192,240,3,192,240,3, + 192,240,3,192,240,3,192,240,3,192,240,3,192,240,3,192, + 240,3,192,240,3,192,240,3,192,240,3,192,240,7,192,120, + 15,192,126,31,192,63,251,192,31,243,192,20,20,60,21,1, + 0,240,0,240,240,1,224,120,1,224,120,1,192,124,3,192, + 60,3,192,60,7,128,30,7,128,30,7,0,15,15,0,15, + 14,0,15,14,0,7,158,0,7,156,0,3,252,0,3,248, + 0,3,248,0,1,248,0,1,240,0,0,240,0,31,20,80, + 33,1,0,240,7,192,30,240,15,192,28,240,15,192,60,120, + 15,224,60,120,30,224,56,120,30,224,120,56,28,240,120,60, + 28,112,112,60,60,112,112,28,56,120,240,30,56,56,224,30, + 120,56,224,14,112,57,224,15,112,29,192,15,240,29,192,7, + 224,31,192,7,224,31,128,7,224,15,128,3,192,15,128,3, + 192,15,0,20,20,60,22,1,0,120,1,224,60,3,192,62, + 3,192,31,7,128,15,15,0,7,158,0,7,222,0,3,252, + 0,1,248,0,0,240,0,1,248,0,3,252,0,3,188,0, + 7,158,0,15,31,0,30,15,128,62,7,128,60,3,192,120, + 3,224,240,1,240,20,28,84,21,1,248,240,0,240,240,1, + 224,120,1,224,120,1,192,60,3,192,60,3,192,62,7,128, + 30,7,128,30,7,128,15,15,0,15,15,0,15,158,0,7, + 158,0,7,158,0,3,252,0,3,252,0,1,248,0,1,248, + 0,1,248,0,0,240,0,0,240,0,0,224,0,1,224,0, + 1,224,0,1,192,0,3,192,0,3,128,0,7,128,0,15, + 20,40,19,2,0,127,254,127,254,127,254,0,62,0,124,0, + 120,0,240,1,240,3,224,3,192,7,128,15,128,31,0,30, + 0,60,0,124,0,248,0,255,254,255,254,255,254,13,41,82, + 19,3,246,0,24,1,248,3,248,3,224,7,128,7,128,7, + 128,7,0,7,0,7,0,7,0,7,128,7,128,7,0,7, + 0,7,0,15,0,31,0,62,0,252,0,248,0,252,0,126, + 0,30,0,15,0,15,0,7,0,7,0,7,0,7,128,7, + 128,7,0,7,0,7,0,7,0,7,128,7,128,3,192,3, + 248,1,248,0,120,2,43,43,14,6,245,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,13,41,82,19,3,246,192,0,252,0, + 254,0,30,0,15,0,15,0,7,0,7,0,7,0,7,0, + 7,0,7,128,7,128,7,128,7,128,7,128,7,128,3,192, + 3,224,1,248,0,248,1,248,1,240,3,192,3,192,7,128, + 7,128,7,128,7,128,7,128,7,128,7,0,7,0,7,0, + 7,0,7,0,15,0,31,0,254,0,252,0,240,0,21,5, + 15,21,0,8,2,0,56,31,240,120,63,255,240,120,127,224, + 240,15,128,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,255,255,255, + 255,255,255,255,0,0,0,12,0,0,4,28,28,14,5,248, + 240,240,240,240,0,0,240,240,240,240,240,240,240,240,240,240, + 240,240,240,240,240,240,240,240,240,240,240,240,17,31,93,23, + 3,250,0,12,0,0,12,0,0,24,0,0,24,0,0,24, + 0,15,248,0,63,254,0,62,63,0,120,119,0,120,103,0, + 240,103,128,240,96,0,240,192,0,240,192,0,240,192,0,241, + 128,0,241,128,0,241,128,0,243,7,128,243,7,128,123,7, + 0,126,15,0,62,30,0,31,254,0,15,248,0,12,0,0, + 12,0,0,28,0,0,24,0,0,24,0,0,8,0,0,20, + 31,93,23,2,0,0,16,0,1,255,0,7,255,192,15,135, + 224,15,1,224,30,0,240,30,0,240,30,0,0,30,0,0, + 30,0,0,30,0,0,30,0,0,255,248,0,255,248,0,255, + 248,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, + 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, + 30,0,0,30,0,0,30,0,0,255,255,224,255,255,224,255, + 255,224,21,22,66,25,2,7,192,0,24,224,0,56,96,48, + 48,51,254,96,63,255,224,31,7,192,28,1,192,24,0,192, + 56,0,224,48,0,96,48,0,96,48,0,96,48,0,96,56, + 0,224,24,0,192,28,1,192,14,3,128,31,255,192,59,254, + 224,112,248,112,224,0,56,192,0,24,21,30,90,23,1,0, + 240,0,120,248,0,120,120,0,240,124,0,240,60,1,240,62, + 1,224,30,1,224,30,3,192,15,3,192,15,7,128,255,135, + 248,255,143,248,255,207,248,3,207,0,1,254,0,1,252,0, + 255,255,248,255,255,248,255,255,248,0,120,0,0,120,0,0, + 120,0,0,120,0,0,120,0,0,120,0,0,120,0,0,120, + 0,0,120,0,0,120,0,0,120,0,2,38,38,14,6,248, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 0,0,0,0,0,0,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,15,37,74,19,2,250,15,248,31,248, + 62,24,60,0,120,0,120,0,120,0,120,0,60,0,63,0, + 31,128,15,224,15,240,63,248,124,124,120,62,240,30,240,30, + 240,30,240,60,248,120,127,240,63,224,31,224,7,240,1,248, + 0,124,0,60,0,30,0,30,0,30,0,28,0,60,96,248, + 127,240,127,224,3,0,12,4,8,12,0,26,240,240,240,240, + 240,240,240,240,30,30,120,34,2,1,0,63,240,0,0,255, + 252,0,3,240,63,0,7,128,7,128,15,0,3,192,28,3, + 0,224,56,63,240,112,56,127,248,112,112,248,124,56,97,240, + 30,24,97,224,30,24,225,224,30,28,195,192,0,12,195,192, + 0,12,195,192,0,12,195,192,0,12,195,192,0,12,195,192, + 0,12,193,192,30,12,97,224,30,24,97,224,30,24,96,240, + 60,56,48,255,252,48,56,63,248,112,28,15,224,224,14,0, + 1,192,7,0,3,128,3,192,15,0,1,255,252,0,0,63, + 240,0,14,19,38,16,1,11,15,192,63,240,56,120,112,56, + 0,56,0,56,15,248,63,248,120,56,224,56,224,56,224,120, + 240,248,127,184,31,56,0,0,0,0,255,252,255,252,16,16, + 32,22,3,2,7,7,15,14,14,14,28,28,60,60,56,120, + 120,112,240,240,240,240,120,112,56,120,60,60,28,28,14,14, + 15,14,7,7,21,10,30,25,2,8,255,255,248,255,255,248, + 255,255,248,0,0,24,0,0,24,0,0,24,0,0,24,0, + 0,24,0,0,24,0,0,24,255,30,30,120,34,2,1,0, + 63,240,0,0,255,252,0,3,240,63,0,7,128,7,128,14, + 0,1,192,28,127,240,224,56,127,248,112,48,127,252,48,112, + 112,30,56,96,112,14,24,96,112,14,24,192,112,14,12,192, + 112,28,12,192,127,248,12,192,127,240,12,192,127,248,12,192, + 112,28,12,192,112,28,12,192,112,28,12,96,112,12,24,96, + 112,12,24,112,112,14,56,48,112,14,48,56,112,14,112,28, + 0,0,224,14,0,1,192,7,128,7,128,3,240,63,0,1, + 255,252,0,0,63,240,0,12,3,6,12,0,26,255,240,255, + 240,255,240,9,9,18,13,2,21,62,0,127,0,227,128,193, + 128,193,128,193,128,227,128,127,0,62,0,24,24,72,40,8, + 0,0,56,0,0,56,0,0,56,0,0,56,0,0,56,0, + 0,56,0,0,56,0,255,255,255,255,255,255,255,255,255,0, + 56,0,0,56,0,0,56,0,0,56,0,0,56,0,0,56, + 0,0,56,0,0,0,0,0,0,0,0,0,0,0,0,0, + 255,255,255,255,255,255,255,255,255,12,16,32,14,1,15,31, + 192,127,224,120,240,112,112,224,112,0,112,0,224,1,224,3, + 192,7,128,14,0,60,0,120,0,255,240,255,240,255,240,12, + 16,32,14,1,15,63,192,127,224,112,240,96,112,0,112,0, + 240,7,224,7,128,7,224,0,240,0,112,224,112,224,112,127, + 224,127,192,31,128,8,7,7,9,2,25,15,30,28,56,56, + 112,224,255,18,36,108,22,2,250,3,255,192,15,255,192,63, + 195,0,127,195,0,127,195,0,255,195,0,255,195,0,255,195, + 0,255,195,0,255,195,0,255,195,0,127,195,0,127,195,0, + 63,195,0,15,195,0,0,195,0,0,195,0,0,195,0,0, + 195,0,0,195,0,0,195,0,0,195,0,0,195,0,0,195, + 0,0,195,0,0,195,0,0,195,0,0,195,0,0,195,0, + 0,195,0,0,195,0,0,195,0,0,195,0,0,195,0,0, + 195,0,0,195,0,4,5,5,10,3,11,240,240,240,240,240, + 10,10,20,10,2,246,48,0,48,0,62,0,63,128,7,128, + 1,192,1,192,3,192,255,128,254,0,7,16,16,12,2,14, + 30,62,254,238,142,14,14,14,14,14,14,14,14,14,14,14, + 14,19,38,16,1,10,15,192,63,224,120,112,112,56,224,56, + 224,28,224,28,224,28,224,28,224,28,224,56,112,56,56,112, + 31,224,7,128,0,0,0,0,255,252,255,252,16,16,32,22, + 3,2,224,224,112,112,120,120,56,56,28,60,30,30,15,14, + 15,15,15,15,15,14,30,30,28,60,56,56,120,120,112,112, + 224,224,28,30,120,32,2,0,30,0,12,0,62,0,28,0, + 254,0,56,0,238,0,56,0,142,0,112,0,14,0,112,0, + 14,0,224,0,14,0,192,0,14,1,192,0,14,3,128,0, + 14,3,128,0,14,7,0,0,14,7,0,0,14,14,0,0, + 14,12,7,128,14,28,7,128,0,56,15,128,0,56,31,128, + 0,112,27,128,0,112,59,128,0,224,115,128,0,224,99,128, + 1,192,195,128,1,129,195,128,3,129,255,240,7,1,255,240, + 7,0,3,128,14,0,3,128,14,0,3,128,28,0,3,128, + 28,30,120,32,2,0,30,0,28,0,62,0,28,0,254,0, + 56,0,238,0,56,0,142,0,112,0,14,0,112,0,14,0, + 224,0,14,0,224,0,14,1,192,0,14,3,128,0,14,3, + 128,0,14,7,0,0,14,7,0,0,14,14,0,0,14,14, + 31,128,14,28,63,224,0,56,121,224,0,56,112,112,0,112, + 240,112,0,112,0,112,0,224,0,240,0,224,0,224,1,192, + 3,192,1,128,7,128,3,128,15,0,7,0,60,0,7,0, + 120,0,14,0,255,240,14,0,255,240,28,0,255,240,30,31, + 124,32,1,0,0,0,1,192,63,192,3,128,127,224,3,128, + 112,240,7,0,96,112,6,0,0,112,14,0,0,240,28,0, + 7,224,28,0,7,128,56,0,7,224,56,0,0,240,112,0, + 0,112,112,0,224,112,224,0,224,113,192,0,127,225,192,0, + 127,195,129,224,31,131,129,224,0,7,3,224,0,7,7,224, + 0,14,6,224,0,12,12,224,0,28,28,224,0,56,24,224, + 0,56,48,224,0,112,112,224,0,112,127,252,0,224,127,252, + 0,224,0,224,1,192,0,224,1,128,0,224,3,128,0,224, + 17,28,84,21,2,248,0,240,0,0,240,0,0,240,0,0, + 240,0,0,0,0,0,0,0,0,0,0,0,240,0,0,240, + 0,0,240,0,0,240,0,1,240,0,1,224,0,7,192,0, + 15,128,0,31,0,0,60,0,0,120,0,0,240,0,0,240, + 0,0,240,0,0,240,3,0,240,3,128,124,15,128,127,255, + 0,63,254,0,31,252,0,3,240,0,28,41,164,30,1,0, + 0,240,0,0,0,240,0,0,0,120,0,0,0,56,0,0, + 0,28,0,0,0,14,0,0,0,14,0,0,0,7,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0, + 0,31,128,0,0,31,128,0,0,63,192,0,0,63,192,0, + 0,127,192,0,0,121,224,0,0,121,224,0,0,241,240,0, + 0,240,240,0,1,240,240,0,1,224,248,0,1,224,120,0, + 3,224,124,0,3,192,60,0,7,192,60,0,7,128,62,0, + 7,128,30,0,15,128,31,0,15,255,255,0,31,255,255,128, + 31,255,255,128,30,0,7,128,60,0,3,192,60,0,3,192, + 124,0,3,224,120,0,1,224,120,0,1,224,240,0,0,240, + 240,0,0,240,28,41,164,30,1,0,0,0,240,0,0,0, + 240,0,0,1,224,0,0,1,192,0,0,3,128,0,0,7, + 0,0,0,7,0,0,0,14,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,15,0,0,0,31,128,0,0,31, + 128,0,0,63,192,0,0,63,192,0,0,127,192,0,0,121, + 224,0,0,121,224,0,0,241,240,0,0,240,240,0,1,240, + 240,0,1,224,248,0,1,224,120,0,3,224,124,0,3,192, + 60,0,7,192,60,0,7,128,62,0,7,128,30,0,15,128, + 31,0,15,255,255,0,31,255,255,128,31,255,255,128,30,0, + 7,128,60,0,3,192,60,0,3,192,124,0,3,224,120,0, + 1,224,120,0,1,224,240,0,0,240,240,0,0,240,28,41, + 164,30,1,0,0,15,0,0,0,31,128,0,0,31,128,0, + 0,63,192,0,0,57,192,0,0,112,224,0,0,96,96,0, + 0,224,112,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,15,0,0,0,31,128,0,0,31,128,0,0,63,192,0, + 0,63,192,0,0,127,192,0,0,121,224,0,0,121,224,0, + 0,241,240,0,0,240,240,0,1,240,240,0,1,224,248,0, + 1,224,120,0,3,224,124,0,3,192,60,0,7,192,60,0, + 7,128,62,0,7,128,30,0,15,128,31,0,15,255,255,0, + 31,255,255,128,31,255,255,128,30,0,7,128,60,0,3,192, + 60,0,3,192,124,0,3,224,120,0,1,224,120,0,1,224, + 240,0,0,240,240,0,0,240,28,39,156,30,1,0,0,16, + 48,0,0,126,112,0,0,127,224,0,0,231,224,0,0,192, + 128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,15,0,0,0,31,128,0,0,31,128,0,0,63, + 192,0,0,63,192,0,0,127,192,0,0,121,224,0,0,121, + 224,0,0,241,240,0,0,240,240,0,1,240,240,0,1,224, + 248,0,1,224,120,0,3,224,124,0,3,192,60,0,7,192, + 60,0,7,128,62,0,7,128,30,0,15,128,31,0,15,255, + 255,0,31,255,255,128,31,255,255,128,30,0,7,128,60,0, + 3,192,60,0,3,192,124,0,3,224,120,0,1,224,120,0, + 1,224,240,0,0,240,240,0,0,240,29,39,156,30,1,0, + 0,120,120,0,0,120,120,0,0,120,120,0,0,120,120,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,15,128,0,0,15,128,0,0,31,128,0, + 0,31,192,0,0,63,192,0,0,61,224,0,0,125,224,0, + 0,121,240,0,0,120,240,0,0,240,240,0,0,240,248,0, + 1,240,120,0,1,224,124,0,1,224,60,0,3,224,60,0, + 3,192,62,0,7,192,30,0,7,128,31,0,7,128,15,0, + 15,255,255,128,15,255,255,128,31,255,255,128,30,0,3,192, + 30,0,3,192,60,0,3,224,60,0,1,224,120,0,1,224, + 120,0,0,240,120,0,0,240,240,0,0,248,28,43,172,30, + 1,0,0,14,0,0,0,63,0,0,0,49,128,0,0,96, + 192,0,0,96,192,0,0,96,192,0,0,96,192,0,0,49, + 128,0,0,63,128,0,0,14,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,31,0,0,0,31,0,0,0,31, + 128,0,0,63,128,0,0,63,192,0,0,123,192,0,0,123, + 192,0,0,121,224,0,0,241,224,0,0,241,240,0,1,224, + 240,0,1,224,248,0,1,224,120,0,3,192,120,0,3,192, + 124,0,7,192,60,0,7,128,62,0,15,128,30,0,15,0, + 30,0,15,255,255,0,31,255,255,0,31,255,255,128,60,0, + 7,128,60,0,7,192,60,0,3,192,120,0,3,192,120,0, + 1,224,240,0,1,224,240,0,1,240,240,0,0,240,37,30, + 150,39,0,0,0,1,255,255,240,0,1,255,255,240,0,3, + 255,255,240,0,3,255,255,240,0,7,252,0,0,0,7,188, + 0,0,0,15,188,0,0,0,15,60,0,0,0,31,60,0, + 0,0,30,60,0,0,0,62,60,0,0,0,60,60,0,0, + 0,124,60,0,0,0,120,63,255,240,0,248,63,255,240,0, + 240,63,255,240,1,240,63,255,240,1,224,60,0,0,3,224, + 60,0,0,3,255,252,0,0,7,255,252,0,0,7,255,252, + 0,0,15,0,60,0,0,31,0,60,0,0,30,0,60,0, + 0,62,0,60,0,0,60,0,63,255,248,124,0,63,255,248, + 120,0,63,255,248,248,0,63,255,248,22,40,120,26,2,247, + 1,255,128,7,255,224,15,255,240,31,0,248,62,0,120,60, + 0,60,120,0,60,120,0,60,120,0,0,112,0,0,240,0, + 0,240,0,0,240,0,0,240,0,0,240,0,0,240,0,0, + 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,112, + 0,0,120,0,60,120,0,60,60,0,60,60,0,120,31,0, + 248,15,255,240,7,255,224,3,255,128,0,48,0,0,48,0, + 0,62,0,0,63,128,0,63,192,0,1,192,0,1,192,0, + 1,192,0,255,128,0,254,0,19,41,123,24,3,0,30,0, + 0,15,0,0,7,0,0,3,128,0,3,128,0,1,192,0, + 0,224,0,0,96,0,0,0,0,0,0,0,0,0,0,255, + 255,192,255,255,192,255,255,192,255,255,192,240,0,0,240,0, + 0,240,0,0,240,0,0,240,0,0,240,0,0,240,0,0, + 240,0,0,240,0,0,255,255,192,255,255,192,255,255,192,255, + 255,192,240,0,0,240,0,0,240,0,0,240,0,0,240,0, + 0,240,0,0,240,0,0,240,0,0,240,0,0,255,255,224, + 255,255,224,255,255,224,255,255,224,19,41,123,24,3,0,0, + 30,0,0,60,0,0,56,0,0,120,0,0,240,0,0,224, + 0,1,192,0,1,128,0,0,0,0,0,0,0,0,0,0, + 255,255,192,255,255,192,255,255,192,255,255,192,240,0,0,240, + 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,0, + 0,240,0,0,240,0,0,255,255,192,255,255,192,255,255,192, + 255,255,192,240,0,0,240,0,0,240,0,0,240,0,0,240, + 0,0,240,0,0,240,0,0,240,0,0,240,0,0,255,255, + 224,255,255,224,255,255,224,255,255,224,19,41,123,24,3,0, + 1,224,0,3,240,0,7,240,0,7,120,0,15,56,0,14, + 28,0,28,28,0,24,14,0,0,0,0,0,0,0,0,0, + 0,255,255,192,255,255,192,255,255,192,255,255,192,240,0,0, + 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,240, + 0,0,240,0,0,240,0,0,255,255,192,255,255,192,255,255, + 192,255,255,192,240,0,0,240,0,0,240,0,0,240,0,0, + 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,255, + 255,224,255,255,224,255,255,224,255,255,224,19,39,117,24,3, + 0,30,30,0,30,30,0,30,30,0,30,30,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,255,255,192,255, + 255,192,255,255,192,255,255,192,240,0,0,240,0,0,240,0, + 0,240,0,0,240,0,0,240,0,0,240,0,0,240,0,0, + 240,0,0,255,255,192,255,255,192,255,255,192,255,255,192,240, + 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,0, + 0,240,0,0,240,0,0,240,0,0,255,255,224,255,255,224, + 255,255,224,255,255,224,8,41,41,10,255,0,240,120,56,28, + 30,14,7,3,0,0,0,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,7,41,41,10,3,0,30,30,60,56,112, + 112,224,192,0,0,0,240,240,240,240,240,240,240,240,240,240, + 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, + 240,240,240,240,12,41,82,10,255,0,15,0,31,0,31,128, + 63,128,57,192,112,224,96,224,224,112,0,0,0,0,0,0, + 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, + 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, + 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, + 15,0,15,0,15,0,15,0,15,0,15,0,12,39,78,11, + 0,0,240,240,240,240,240,240,240,240,0,0,0,0,0,0, + 0,0,0,0,15,0,15,0,15,0,15,0,15,0,15,0, + 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, + 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, + 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, + 26,30,120,28,0,0,31,255,0,0,31,255,224,0,31,255, + 248,0,31,255,252,0,30,0,254,0,30,0,63,0,30,0, + 31,0,30,0,15,128,30,0,7,128,30,0,7,128,30,0, + 3,192,30,0,3,192,30,0,3,192,30,0,3,192,255,252, + 3,192,255,252,3,192,255,252,3,192,30,0,3,192,30,0, + 3,192,30,0,3,192,30,0,7,128,30,0,7,128,30,0, + 15,128,30,0,31,0,30,0,63,0,30,0,254,0,31,255, + 252,0,31,255,248,0,31,255,224,0,31,255,0,0,22,39, + 117,28,3,0,0,131,0,3,243,0,7,255,0,7,62,0, + 6,8,0,0,0,0,0,0,0,0,0,0,0,0,0,252, + 0,60,252,0,60,254,0,60,254,0,60,255,0,60,255,0, + 60,255,128,60,247,128,60,247,192,60,243,192,60,243,224,60, + 241,224,60,241,240,60,240,240,60,240,248,60,240,120,60,240, + 124,60,240,60,60,240,62,60,240,30,60,240,31,60,240,15, + 60,240,15,188,240,7,188,240,3,252,240,3,252,240,1,252, + 240,1,252,240,0,252,240,0,252,26,41,164,30,2,0,1, + 224,0,0,0,240,0,0,0,120,0,0,0,56,0,0,0, + 28,0,0,0,28,0,0,0,14,0,0,0,7,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,1,255,224,0,3, + 255,240,0,15,255,252,0,31,255,254,0,31,0,62,0,62, + 0,31,0,60,0,15,0,120,0,7,128,120,0,7,128,112, + 0,3,128,240,0,3,192,240,0,3,192,240,0,3,192,240, + 0,3,192,240,0,3,192,240,0,3,192,240,0,3,192,240, + 0,3,192,240,0,3,192,112,0,3,128,120,0,7,128,120, + 0,7,128,120,0,15,128,60,0,15,0,62,0,31,0,31, + 128,126,0,15,255,252,0,7,255,248,0,3,255,240,0,0, + 255,192,0,26,41,164,30,2,0,0,1,224,0,0,3,192, + 0,0,7,128,0,0,7,0,0,0,15,0,0,0,14,0, + 0,0,28,0,0,0,24,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,1,255,224,0,3,255,240,0,15,255,252, + 0,31,255,254,0,31,0,62,0,62,0,31,0,60,0,15, + 0,120,0,7,128,120,0,7,128,112,0,3,128,240,0,3, + 192,240,0,3,192,240,0,3,192,240,0,3,192,240,0,3, + 192,240,0,3,192,240,0,3,192,240,0,3,192,240,0,3, + 192,112,0,3,128,120,0,7,128,120,0,7,128,120,0,15, + 128,60,0,15,0,62,0,31,0,31,128,126,0,15,255,252, + 0,7,255,248,0,3,255,240,0,0,255,192,0,26,41,164, + 30,2,0,0,30,0,0,0,63,0,0,0,63,0,0,0, + 127,128,0,0,115,128,0,0,225,192,0,0,192,224,0,1, + 192,96,0,0,0,0,0,0,0,0,0,0,0,0,0,1, + 255,224,0,3,255,240,0,15,255,252,0,31,255,254,0,31, + 0,62,0,62,0,31,0,60,0,15,0,120,0,7,128,120, + 0,7,128,112,0,3,128,240,0,3,192,240,0,3,192,240, + 0,3,192,240,0,3,192,240,0,3,192,240,0,3,192,240, + 0,3,192,240,0,3,192,240,0,3,192,112,0,3,128,120, + 0,7,128,120,0,7,128,120,0,15,128,60,0,15,0,62, + 0,31,0,31,128,126,0,15,255,252,0,7,255,248,0,3, + 255,240,0,0,255,192,0,26,39,156,30,2,0,0,32,96, + 0,0,252,224,0,0,255,224,0,1,207,192,0,1,129,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,1,255,224,0,3,255,240,0,15,255,252,0,31,255,254, + 0,31,0,62,0,62,0,31,0,60,0,15,0,120,0,7, + 128,120,0,7,128,112,0,3,128,240,0,3,192,240,0,3, + 192,240,0,3,192,240,0,3,192,240,0,3,192,240,0,3, + 192,240,0,3,192,240,0,3,192,240,0,3,192,112,0,3, + 128,120,0,7,128,120,0,7,128,120,0,15,128,60,0,15, + 0,62,0,31,0,31,128,126,0,15,255,252,0,7,255,248, + 0,3,255,240,0,0,255,192,0,26,39,156,30,2,0,0, + 240,240,0,0,240,240,0,0,240,240,0,0,240,240,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,1,255,224,0,3,255,240,0,15,255,252,0,31, + 255,254,0,31,0,62,0,62,0,31,0,60,0,15,0,120, + 0,7,128,120,0,7,128,112,0,3,128,240,0,3,192,240, + 0,3,192,240,0,3,192,240,0,3,192,240,0,3,192,240, + 0,3,192,240,0,3,192,240,0,3,192,240,0,3,192,112, + 0,3,128,120,0,7,128,120,0,7,128,120,0,15,128,60, + 0,15,0,62,0,31,0,31,128,126,0,15,255,252,0,7, + 255,248,0,3,255,240,0,0,255,192,0,22,22,66,40,9, + 1,96,0,24,240,0,60,120,0,120,56,0,112,28,0,224, + 14,1,192,7,3,128,3,135,0,1,206,0,0,252,0,0, + 120,0,0,120,0,0,252,0,1,206,0,3,135,0,7,3, + 128,14,1,192,28,0,224,56,0,112,112,0,56,96,0,24, + 64,0,8,26,38,152,30,2,252,0,0,1,0,0,0,3, + 128,0,0,3,192,0,0,7,128,0,255,199,128,3,255,255, + 0,15,255,255,0,31,255,254,0,31,0,62,0,62,0,127, + 0,124,0,127,0,120,0,255,128,120,1,247,128,240,1,227, + 128,240,3,195,192,240,7,195,192,240,7,131,192,240,15,3, + 192,240,31,3,192,240,30,3,192,240,60,3,192,240,124,3, + 192,240,248,3,192,112,240,3,192,121,240,7,128,123,224,7, + 128,127,192,15,128,63,192,15,0,63,128,31,0,31,128,126, + 0,31,255,252,0,31,255,248,0,63,255,240,0,124,255,192, + 0,120,0,0,0,240,0,0,0,112,0,0,0,32,0,0, + 0,23,41,123,29,3,0,3,192,0,1,192,0,1,224,0, + 0,240,0,0,112,0,0,56,0,0,24,0,0,28,0,0, + 0,0,0,0,0,0,0,0,240,0,30,240,0,30,240,0, + 30,240,0,30,240,0,30,240,0,30,240,0,30,240,0,30, + 240,0,30,240,0,30,240,0,30,240,0,30,240,0,30,240, + 0,30,240,0,30,240,0,30,240,0,30,240,0,30,240,0, + 30,240,0,30,240,0,30,240,0,30,120,0,60,120,0,60, + 124,0,124,62,0,248,63,255,248,31,255,240,15,255,224,3, + 255,128,23,41,123,29,3,0,0,7,128,0,7,0,0,15, + 0,0,30,0,0,28,0,0,56,0,0,48,0,0,112,0, + 0,0,0,0,0,0,0,0,0,240,0,30,240,0,30,240, + 0,30,240,0,30,240,0,30,240,0,30,240,0,30,240,0, + 30,240,0,30,240,0,30,240,0,30,240,0,30,240,0,30, + 240,0,30,240,0,30,240,0,30,240,0,30,240,0,30,240, + 0,30,240,0,30,240,0,30,240,0,30,120,0,60,120,0, + 60,124,0,124,62,0,248,63,255,248,31,255,240,15,255,224, + 3,255,128,23,41,123,29,3,0,0,124,0,0,124,0,0, + 254,0,0,238,0,1,199,0,1,199,0,3,131,128,7,1, + 128,0,0,0,0,0,0,0,0,0,240,0,30,240,0,30, + 240,0,30,240,0,30,240,0,30,240,0,30,240,0,30,240, + 0,30,240,0,30,240,0,30,240,0,30,240,0,30,240,0, + 30,240,0,30,240,0,30,240,0,30,240,0,30,240,0,30, + 240,0,30,240,0,30,240,0,30,240,0,30,120,0,60,120, + 0,60,124,0,124,62,0,248,63,255,248,31,255,240,15,255, + 224,3,255,128,23,38,114,29,3,0,3,195,192,3,195,192, + 3,195,192,3,195,192,0,0,0,0,0,0,0,0,0,0, + 0,0,240,0,30,240,0,30,240,0,30,240,0,30,240,0, + 30,240,0,30,240,0,30,240,0,30,240,0,30,240,0,30, + 240,0,30,240,0,30,240,0,30,240,0,30,240,0,30,240, + 0,30,240,0,30,240,0,30,240,0,30,240,0,30,240,0, + 30,240,0,30,120,0,60,120,0,60,124,0,124,62,0,248, + 63,255,248,31,255,240,15,255,224,3,255,128,24,41,123,26, + 1,0,0,3,192,0,7,128,0,7,0,0,15,0,0,14, + 0,0,28,0,0,24,0,0,48,0,0,0,0,0,0,0, + 0,0,0,248,0,15,248,0,31,124,0,30,124,0,60,62, + 0,124,30,0,120,31,0,248,15,0,240,15,129,224,7,129, + 224,3,195,192,3,227,192,1,231,128,1,247,0,0,255,0, + 0,254,0,0,126,0,0,60,0,0,60,0,0,60,0,0, + 60,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60, + 0,0,60,0,0,60,0,0,60,0,0,60,0,19,30,90, + 24,3,0,240,0,0,240,0,0,240,0,0,240,0,0,240, + 0,0,240,0,0,255,248,0,255,255,0,255,255,128,255,255, + 192,240,15,192,240,3,224,240,1,224,240,1,224,240,1,224, + 240,1,224,240,1,224,240,3,224,240,15,192,255,255,192,255, + 255,128,255,255,0,255,248,0,240,0,0,240,0,0,240,0, + 0,240,0,0,240,0,0,240,0,0,240,0,0,20,30,90, + 22,2,0,3,248,0,15,254,0,63,255,0,124,15,0,248, + 7,128,240,7,128,240,7,128,240,7,128,240,15,0,240,31, + 0,240,62,0,240,124,0,240,248,0,240,240,0,240,240,0, + 240,248,0,240,126,0,240,63,0,240,31,192,240,15,224,240, + 3,224,240,1,240,240,0,240,240,0,240,243,192,240,243,192, + 240,241,224,240,241,241,224,240,255,224,240,63,128,18,31,93, + 23,2,0,7,128,0,7,128,0,3,192,0,1,192,0,0, + 224,0,0,112,0,0,48,0,0,0,0,0,0,0,0,0, + 0,0,0,0,15,254,0,63,255,0,62,15,128,120,7,128, + 120,3,192,0,3,192,0,3,192,3,255,192,15,255,192,63, + 255,192,126,3,192,120,3,192,240,3,192,240,3,192,240,7, + 192,240,7,192,248,15,192,124,63,192,63,251,192,31,227,192, + 18,32,96,23,2,0,0,60,0,0,60,0,0,120,0,0, + 240,0,0,224,0,1,192,0,1,128,0,3,128,0,0,0, + 0,0,0,0,0,0,0,0,0,0,15,254,0,63,255,0, + 62,15,128,120,7,128,120,3,192,0,3,192,0,3,192,3, + 255,192,15,255,192,63,255,192,126,3,192,120,3,192,240,3, + 192,240,3,192,240,7,192,240,7,192,248,15,192,124,63,192, + 63,251,192,31,227,192,18,32,96,23,2,0,1,224,0,3, + 240,0,3,240,0,7,184,0,7,60,0,14,28,0,12,14, + 0,28,6,0,0,0,0,0,0,0,0,0,0,0,0,0, + 15,254,0,63,255,0,62,15,128,120,7,128,120,3,192,0, + 3,192,0,3,192,3,255,192,15,255,192,63,255,192,126,3, + 192,120,3,192,240,3,192,240,3,192,240,7,192,240,7,192, + 248,15,192,124,63,192,63,251,192,31,227,192,18,30,90,23, + 2,0,7,134,0,15,206,0,15,254,0,28,124,0,24,16, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 15,254,0,63,255,0,62,15,128,120,7,128,120,3,192,0, + 3,192,0,3,192,3,255,192,15,255,192,63,255,192,126,3, + 192,120,3,192,240,3,192,240,3,192,240,7,192,240,7,192, + 248,15,192,124,63,192,63,251,192,31,243,192,18,30,90,23, + 2,0,30,30,0,30,30,0,30,30,0,30,30,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 15,254,0,63,255,0,62,15,128,120,7,128,120,3,192,0, + 3,192,0,3,192,3,255,192,15,255,192,63,255,192,126,3, + 192,120,3,192,240,3,192,240,3,192,240,7,192,240,7,192, + 248,15,192,124,63,192,63,251,192,31,227,192,18,34,102,23, + 2,0,1,224,0,3,240,0,6,24,0,12,12,0,12,12, + 0,12,12,0,12,12,0,6,24,0,3,240,0,1,224,0, + 0,0,0,0,0,0,0,0,0,0,0,0,15,254,0,63, + 255,0,62,15,128,120,7,128,120,3,192,0,3,192,0,3, + 192,3,255,192,15,255,192,63,255,192,126,3,192,120,3,192, + 240,3,192,240,3,192,240,7,192,240,7,192,248,15,192,124, + 63,192,63,251,192,31,227,192,32,20,80,36,2,1,15,248, + 31,240,63,254,63,248,124,30,120,60,120,7,112,30,120,7, + 224,14,0,3,224,15,0,3,192,15,0,127,255,255,31,255, + 255,255,63,255,255,255,126,3,192,0,120,3,192,0,240,3, + 192,0,240,3,192,15,240,7,224,14,240,7,224,30,248,14, + 112,30,126,62,124,124,63,252,63,248,31,240,15,240,17,30, + 90,21,2,247,15,252,0,31,254,0,62,31,0,120,15,128, + 120,7,128,240,7,128,240,0,0,240,0,0,240,0,0,240, + 0,0,240,0,0,240,0,0,240,0,0,240,7,128,112,7, + 128,120,7,128,120,15,0,62,31,0,31,254,0,15,252,0, + 1,128,0,1,128,0,1,240,0,1,252,0,1,254,0,0, + 14,0,0,14,0,0,14,0,7,252,0,7,240,0,18,32, + 96,22,2,0,30,0,0,15,0,0,7,0,0,3,128,0, + 3,192,0,1,192,0,0,224,0,0,96,0,0,0,0,0, + 0,0,0,0,0,0,0,0,7,252,0,31,254,0,62,31, + 0,60,7,128,120,3,128,112,3,192,240,3,192,240,3,192, + 255,255,192,255,255,192,255,255,192,240,0,0,240,0,0,240, + 0,0,112,3,192,120,7,128,56,7,128,62,31,0,31,254, + 0,7,252,0,18,32,96,22,2,0,0,30,0,0,60,0, + 0,120,0,0,112,0,0,224,0,0,224,0,1,192,0,1, + 128,0,0,0,0,0,0,0,0,0,0,0,0,0,7,252, + 0,31,254,0,62,31,0,60,7,128,120,3,128,112,3,192, + 240,3,192,240,3,192,255,255,192,255,255,192,255,255,192,240, + 0,0,240,0,0,240,0,0,112,3,192,120,7,128,56,7, + 128,62,31,0,31,254,0,7,252,0,18,32,96,22,2,0, + 1,224,0,3,240,0,3,240,0,7,248,0,7,56,0,14, + 28,0,12,12,0,28,14,0,0,0,0,0,0,0,0,0, + 0,0,0,0,7,252,0,31,254,0,62,31,0,60,7,128, + 120,3,128,112,3,192,240,3,192,240,3,192,255,255,192,255, + 255,192,255,255,192,240,0,0,240,0,0,240,0,0,112,3, + 192,120,7,128,56,7,128,62,31,0,31,254,0,7,252,0, + 18,30,90,22,2,0,30,30,0,30,30,0,30,30,0,30, + 30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,7,252,0,31,254,0,62,15,0,60,7,128, + 120,3,128,112,3,192,240,3,192,240,3,192,255,255,192,255, + 255,192,255,255,192,240,0,0,240,0,0,240,0,0,112,3, + 192,120,3,128,60,7,128,62,15,0,31,254,0,7,252,0, + 8,32,32,10,255,0,240,120,56,28,30,14,7,3,0,0, + 0,0,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,9,32,64,10,2,0,15,128,15,0, + 30,0,28,0,56,0,56,0,112,0,224,0,0,0,0,0, + 0,0,0,0,120,0,120,0,120,0,120,0,120,0,120,0, + 120,0,120,0,120,0,120,0,120,0,120,0,120,0,120,0, + 120,0,120,0,120,0,120,0,120,0,120,0,12,32,64,10, + 255,0,15,0,31,128,31,128,59,192,57,192,112,224,224,96, + 192,112,0,0,0,0,0,0,0,0,15,0,15,0,15,0, + 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, + 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, + 15,0,12,30,60,10,255,0,240,240,240,240,240,240,240,240, + 0,0,0,0,0,0,0,0,0,0,0,0,15,0,15,0, + 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, + 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, + 15,0,15,0,20,30,90,24,2,0,16,1,0,60,7,0, + 30,31,0,7,252,0,3,240,0,7,240,0,62,120,0,120, + 60,0,96,30,0,0,15,0,7,255,128,31,255,192,63,15, + 192,60,3,192,120,1,224,120,1,224,240,1,224,240,0,240, + 240,0,240,240,0,240,240,0,240,240,0,240,240,0,240,240, + 1,224,120,1,224,120,3,224,60,3,192,63,15,128,31,255, + 0,7,254,0,18,30,90,24,3,0,7,14,0,15,204,0, + 31,252,0,28,248,0,24,16,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,243,254,0,247,255,0,254,31, + 128,248,7,128,248,7,128,240,3,192,240,3,192,240,3,192, + 240,3,192,240,3,192,240,3,192,240,3,192,240,3,192,240, + 3,192,240,3,192,240,3,192,240,3,192,240,3,192,240,3, + 192,240,3,192,20,32,96,24,2,0,15,0,0,7,128,0, + 3,128,0,1,192,0,1,192,0,0,224,0,0,112,0,0, + 48,0,0,0,0,0,0,0,0,0,0,0,0,0,7,252, + 0,15,255,0,63,15,128,60,3,192,120,3,224,120,1,224, + 240,1,224,240,0,240,240,0,240,240,0,240,240,0,240,240, + 0,240,240,0,240,240,1,224,120,1,224,120,3,224,60,3, + 192,63,15,128,15,255,0,7,254,0,20,32,96,24,2,0, + 0,30,0,0,30,0,0,60,0,0,56,0,0,112,0,0, + 96,0,0,224,0,1,192,0,0,0,0,0,0,0,0,0, + 0,0,0,0,7,252,0,15,255,0,63,15,128,60,3,192, + 120,3,224,120,1,224,240,1,224,240,0,240,240,0,240,240, + 0,240,240,0,240,240,0,240,240,0,240,240,1,224,120,1, + 224,120,3,224,60,3,192,63,15,128,15,255,0,7,254,0, + 20,32,96,24,2,0,0,240,0,1,248,0,1,248,0,3, + 188,0,3,156,0,7,14,0,6,6,0,12,7,0,0,0, + 0,0,0,0,0,0,0,0,0,0,7,252,0,15,255,0, + 63,15,128,60,3,192,120,3,224,120,1,224,240,1,224,240, + 0,240,240,0,240,240,0,240,240,0,240,240,0,240,240,0, + 240,240,1,224,120,1,224,120,3,224,60,3,192,63,15,128, + 15,255,0,7,254,0,20,30,90,24,2,0,3,135,0,7, + 230,0,15,254,0,14,124,0,12,8,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,7,252,0,15,255,0, + 63,15,128,60,3,192,120,3,224,120,1,224,240,1,224,240, + 0,240,240,0,240,240,0,240,240,0,240,240,0,240,240,0, + 240,240,1,224,120,1,224,120,3,224,60,3,192,63,15,128, + 15,255,0,7,254,0,20,30,90,24,2,0,15,15,0,15, + 15,0,15,15,0,15,15,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,7,252,0,15,255,0, + 63,15,128,60,3,192,120,3,224,120,1,224,240,1,224,240, + 0,240,240,0,240,240,0,240,240,0,240,240,0,240,240,0, + 240,240,1,224,120,1,224,120,3,224,60,3,192,63,15,128, + 15,255,0,7,254,0,24,19,57,40,8,2,0,16,0,0, + 56,0,0,124,0,0,124,0,0,124,0,0,0,0,0,0, + 0,0,0,0,255,255,255,255,255,255,255,255,255,0,0,0, + 0,0,0,0,0,0,0,56,0,0,124,0,0,124,0,0, + 124,0,0,56,0,21,26,78,24,1,254,0,0,56,0,0, + 120,0,0,112,3,255,224,7,255,192,31,135,192,30,3,224, + 60,7,240,60,15,240,120,14,240,120,28,120,120,56,120,120, + 120,120,120,112,120,120,224,120,121,192,120,123,192,240,63,128, + 240,63,1,240,30,1,224,15,135,192,31,255,128,59,255,0, + 112,0,0,240,0,0,96,0,0,18,32,96,24,3,0,30, + 0,0,15,0,0,7,0,0,3,128,0,3,192,0,1,192, + 0,0,224,0,0,96,0,0,0,0,0,0,0,0,0,0, + 0,0,0,240,3,192,240,3,192,240,3,192,240,3,192,240, + 3,192,240,3,192,240,3,192,240,3,192,240,3,192,240,3, + 192,240,3,192,240,3,192,240,3,192,240,3,192,240,3,192, + 240,7,192,120,7,192,124,31,192,63,251,192,31,243,192,18, + 32,96,24,3,0,0,62,0,0,60,0,0,120,0,0,112, + 0,0,224,0,0,224,0,1,192,0,3,128,0,0,0,0, + 0,0,0,0,0,0,0,0,0,240,3,192,240,3,192,240, + 3,192,240,3,192,240,3,192,240,3,192,240,3,192,240,3, + 192,240,3,192,240,3,192,240,3,192,240,3,192,240,3,192, + 240,3,192,240,3,192,240,7,192,120,7,192,124,31,192,63, + 251,192,31,243,192,18,32,96,24,3,0,1,224,0,3,240, + 0,3,240,0,7,120,0,7,56,0,14,28,0,28,12,0, + 24,14,0,0,0,0,0,0,0,0,0,0,0,0,0,240, + 3,192,240,3,192,240,3,192,240,3,192,240,3,192,240,3, + 192,240,3,192,240,3,192,240,3,192,240,3,192,240,3,192, + 240,3,192,240,3,192,240,3,192,240,3,192,240,7,192,120, + 7,192,124,31,192,63,251,192,31,243,192,18,30,90,24,3, + 0,30,30,0,30,30,0,30,30,0,30,30,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240, + 3,192,240,3,192,240,3,192,240,3,192,240,3,192,240,3, + 192,240,3,192,240,3,192,240,3,192,240,3,192,240,3,192, + 240,3,192,240,3,192,240,3,192,240,3,192,240,7,192,120, + 15,192,126,31,192,63,251,192,31,243,192,20,40,120,21,1, + 248,0,15,0,0,30,0,0,28,0,0,56,0,0,112,0, + 0,112,0,0,224,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,240,0,240,240,1,224,120,1,224,120,1, + 192,60,3,192,60,3,192,62,7,128,30,7,128,30,7,0, + 15,15,0,15,15,0,15,158,0,7,158,0,7,156,0,3, + 252,0,3,252,0,1,248,0,1,248,0,1,248,0,0,240, + 0,0,240,0,0,224,0,1,224,0,33,224,0,243,192,0, + 127,192,0,127,128,0,31,0,0,19,38,114,24,3,248,240, + 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,0, + 0,240,0,0,240,0,0,240,0,0,240,0,0,243,254,0, + 247,255,0,254,15,128,252,7,192,248,3,192,248,3,192,240, + 1,224,240,1,224,240,1,224,240,1,224,240,1,224,240,1, + 224,240,1,224,240,1,224,248,3,192,248,3,192,252,7,192, + 254,15,128,247,255,0,243,254,0,240,0,0,240,0,0,240, + 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,0, + 0,20,38,114,22,1,248,15,15,0,15,15,0,15,15,0, + 15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,240,0,240,248,0,224,120,1,224,120,1, + 224,60,3,192,60,3,192,62,3,128,30,7,128,30,7,128, + 15,15,0,15,15,0,7,143,0,7,158,0,7,222,0,3, + 252,0,3,252,0,1,252,0,1,248,0,0,248,0,0,240, + 0,0,240,0,0,240,0,1,224,0,1,224,0,1,192,0, + 3,192,0,3,192,0,3,128,0}; +/* + Fontname: -FreeType-FreeUniversal-Medium-R-Normal--40-400-72-72-P-189-ISO10646-1 + Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. + Capital A Height: 0, '1' Height: 30 + Calculated Max Values w=24 h=33 x= 8 y=15 dx=40 dy= 0 ascent=31 len=90 + Font Bounding box w=54 h=54 x=-3 y=-11 + Calculated Min Values x= 0 y=-5 dx= 0 dy= 0 + Pure Font ascent =30 descent= 0 + X Font ascent =30 descent= 0 + Max Font ascent =31 descent=-5 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_fur30n[1201] U8G_FONT_SECTION("u8g_font_fur30n") = { + 0,54,54,253,245,30,0,0,0,0,42,58,0,31,251,30, + 0,16,15,30,26,5,15,12,48,28,56,14,112,14,112,7, + 224,3,192,253,191,255,255,243,207,3,192,6,96,14,112,30, + 120,28,56,12,48,24,25,75,40,8,0,0,56,0,0,56, + 0,0,56,0,0,56,0,0,56,0,0,56,0,0,56,0, + 0,56,0,0,56,0,0,56,0,0,56,0,255,255,255,255, + 255,255,255,255,255,0,56,0,0,56,0,0,56,0,0,56, + 0,0,56,0,0,56,0,0,56,0,0,56,0,0,56,0, + 0,56,0,0,56,0,7,10,10,11,2,251,62,60,60,124, + 120,120,112,112,224,224,10,3,6,14,2,8,255,192,255,192, + 255,192,4,5,5,11,4,0,240,240,240,240,240,12,33,66, + 16,2,254,0,112,0,112,0,96,0,224,0,224,0,224,0, + 192,1,192,1,192,1,128,3,128,3,128,3,128,7,0,7, + 0,7,0,6,0,14,0,14,0,14,0,28,0,28,0,28, + 0,24,0,56,0,56,0,56,0,112,0,112,0,112,0,96, + 0,224,0,224,0,18,30,90,22,2,1,7,248,0,31,254, + 0,63,255,0,60,15,0,120,7,128,120,7,128,112,7,128, + 112,3,128,240,3,192,240,3,192,240,3,192,240,3,192,240, + 3,192,240,3,192,240,3,192,240,3,192,240,3,192,240,3, + 192,240,3,192,240,3,192,240,3,192,112,3,192,112,3,128, + 120,7,128,120,7,128,56,7,0,60,15,0,31,254,0,15, + 254,0,7,248,0,10,30,60,22,5,0,7,192,15,192,31, + 192,63,192,127,192,251,192,243,192,195,192,3,192,3,192,3, + 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, + 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, + 192,3,192,3,192,3,192,17,30,90,22,2,1,15,248,0, + 31,252,0,63,254,0,124,15,0,120,7,0,120,7,128,120, + 7,128,240,7,128,0,7,128,0,7,128,0,7,128,0,15, + 0,0,31,0,0,30,0,0,62,0,0,124,0,0,248,0, + 0,248,0,1,240,0,3,224,0,7,192,0,15,128,0,31, + 0,0,31,0,0,62,0,0,124,0,0,248,0,0,255,255, + 128,255,255,128,255,255,128,18,30,90,22,2,1,7,248,0, + 31,254,0,62,31,0,60,7,128,124,3,128,120,3,192,120, + 3,192,120,3,192,0,3,192,0,3,128,0,7,128,0,15, + 0,0,62,0,3,252,0,3,248,0,3,254,0,0,63,0, + 0,15,128,0,7,128,0,3,192,0,3,192,0,3,192,240, + 3,192,240,3,192,248,3,192,120,7,128,124,15,128,62,31, + 0,31,254,0,15,248,0,20,30,90,22,1,0,0,15,128, + 0,31,128,0,31,128,0,63,128,0,127,128,0,127,128,0, + 247,128,1,231,128,1,231,128,3,199,128,3,135,128,7,135, + 128,15,7,128,14,7,128,30,7,128,60,7,128,60,7,128, + 120,7,128,240,7,128,240,7,128,255,255,240,255,255,240,255, + 255,240,0,7,128,0,7,128,0,7,128,0,7,128,0,7, + 128,0,7,128,0,7,128,18,30,90,22,2,0,127,255,0, + 127,255,0,127,255,0,120,0,0,120,0,0,120,0,0,120, + 0,0,120,0,0,120,0,0,120,0,0,120,96,0,123,252, + 0,127,254,0,126,31,0,124,7,128,120,7,128,112,3,128, + 0,3,192,0,3,192,0,3,192,0,3,192,0,3,192,0, + 3,192,240,3,192,240,7,128,240,7,128,120,15,0,127,254, + 0,31,252,0,15,248,0,19,30,90,22,2,1,3,252,0, + 15,255,0,31,255,0,63,15,128,62,7,128,124,3,192,120, + 3,192,120,3,192,240,0,0,240,0,0,240,0,0,240,0, + 0,241,252,0,243,255,0,247,255,128,254,7,128,252,3,192, + 252,3,192,248,1,192,248,1,224,248,1,224,248,1,224,248, + 1,224,248,1,224,120,1,192,124,3,192,60,7,128,31,15, + 128,15,255,0,7,252,0,18,30,90,22,2,0,255,255,192, + 255,255,192,255,255,192,0,3,192,0,3,192,0,7,128,0, + 7,128,0,7,128,0,15,0,0,15,0,0,31,0,0,30, + 0,0,30,0,0,60,0,0,60,0,0,60,0,0,120,0, + 0,120,0,0,248,0,0,240,0,0,240,0,1,240,0,1, + 224,0,1,224,0,3,192,0,3,192,0,7,192,0,7,128, + 0,7,128,0,15,128,0,19,30,90,22,2,1,7,252,0, + 31,254,0,62,15,128,60,7,128,120,3,192,120,3,192,120, + 3,192,120,3,192,120,3,192,120,3,192,56,3,128,60,7, + 128,30,15,0,15,254,0,7,252,0,31,254,0,60,7,128, + 120,3,128,112,1,192,240,1,192,240,1,224,240,1,224,240, + 1,224,240,1,224,240,1,224,120,3,192,120,3,192,62,15, + 128,31,255,0,7,252,0,19,30,90,22,2,1,7,252,0, + 31,255,0,62,31,128,120,7,128,120,3,192,112,3,192,240, + 3,192,240,3,224,240,1,224,240,1,224,240,3,224,240,3, + 224,240,3,224,112,3,224,120,7,224,60,15,224,63,253,224, + 31,249,224,7,241,224,0,1,192,0,1,192,0,1,192,0, + 3,192,112,3,192,112,3,128,120,7,128,56,15,0,62,31, + 0,31,254,0,15,248,0,4,20,20,11,4,0,240,240,240, + 240,240,0,0,0,0,0,0,0,0,0,0,240,240,240,240, + 240}; +/* + Fontname: -FreeType-FreeUniversal-Medium-R-Normal--40-400-72-72-P-189-ISO10646-1 + Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. + Capital A Height: 30, '1' Height: 30 + Calculated Max Values w=37 h=43 x=10 y=25 dx=40 dy= 0 ascent=33 len=185 + Font Bounding box w=54 h=54 x=-3 y=-11 + Calculated Min Values x=-1 y=-11 dx= 0 dy= 0 + Pure Font ascent =30 descent=-7 + X Font ascent =31 descent=-8 + Max Font ascent =33 descent=-11 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_fur30r[7380] U8G_FONT_SECTION("u8g_font_fur30r") = { + 0,54,54,253,245,30,9,94,20,223,32,127,249,33,245,31, + 248,0,0,0,12,0,0,4,30,30,14,5,0,240,240,240, + 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, + 240,240,240,240,0,0,0,240,240,240,240,12,12,24,18,3, + 18,240,240,240,240,240,240,240,240,240,240,240,240,240,112,224, + 112,224,112,96,112,96,112,96,96,26,30,120,30,2,0,0, + 28,14,0,0,28,28,0,0,28,28,0,0,28,28,0,0, + 56,24,0,0,56,56,0,0,56,56,0,0,112,56,0,0, + 112,112,0,31,255,255,192,31,255,255,128,31,255,255,128,0, + 224,224,0,0,224,224,0,1,192,224,0,1,193,192,0,1, + 193,192,0,127,255,254,0,255,255,254,0,255,255,254,0,3, + 3,128,0,7,7,0,0,7,7,0,0,7,7,0,0,14, + 7,0,0,14,14,0,0,14,14,0,0,14,14,0,0,28, + 28,0,0,28,28,0,0,20,37,111,22,1,252,0,96,0, + 0,96,0,0,96,0,3,252,0,15,254,0,63,255,0,63, + 255,128,124,103,128,120,99,192,240,99,192,240,99,192,240,96, + 0,240,96,0,240,96,0,120,96,0,127,96,0,63,240,0, + 31,254,0,15,255,128,1,255,192,0,111,224,0,97,224,0, + 96,240,0,96,240,0,96,240,240,96,240,240,96,240,240,96, + 240,120,96,240,124,97,224,63,255,192,31,255,128,15,255,0, + 0,96,0,0,96,0,0,96,0,0,96,0,33,31,155,37, + 2,0,0,0,0,224,0,15,192,0,192,0,31,240,1,192, + 0,63,248,1,128,0,120,60,3,0,0,240,60,7,0,0, + 240,30,6,0,0,240,30,14,0,0,240,30,12,0,0,240, + 30,28,0,0,240,30,24,0,0,240,28,56,0,0,112,60, + 48,0,0,120,124,112,0,0,63,248,224,0,0,31,240,192, + 96,0,3,129,195,252,0,0,1,135,254,0,0,3,143,15, + 0,0,3,14,7,0,0,7,30,7,128,0,6,30,7,128, + 0,14,30,7,128,0,28,30,7,128,0,28,30,7,128,0, + 56,30,7,128,0,56,30,7,128,0,112,15,15,0,0,96, + 15,254,0,0,224,7,252,0,0,192,1,248,0,27,30,120, + 30,2,1,3,254,0,0,7,255,0,0,15,143,128,0,15, + 3,192,0,30,3,192,0,30,3,192,0,30,3,192,0,30, + 3,192,0,31,7,128,0,15,15,128,0,15,191,0,0,7, + 252,0,0,3,248,0,0,7,224,15,0,15,240,15,0,63, + 248,15,0,124,124,15,0,120,62,15,0,248,31,15,0,240, + 15,142,0,240,7,206,0,240,3,254,0,240,1,254,0,240, + 0,252,0,248,0,124,0,124,0,126,0,126,1,255,0,63, + 255,255,128,31,255,207,192,7,255,3,224,4,12,12,15,5, + 18,240,240,240,240,112,112,112,112,112,112,112,112,7,36,36, + 15,4,251,14,14,28,28,60,56,56,120,120,120,112,112,240, + 240,240,240,240,240,240,240,240,240,240,240,112,112,120,120,120, + 56,56,60,28,28,14,14,7,36,36,14,4,251,224,224,96, + 112,112,120,56,56,60,60,60,28,28,28,30,30,30,30,30, + 30,30,30,28,28,60,60,60,60,56,56,120,112,112,224,224, + 224,16,15,30,26,5,15,12,48,28,56,14,112,14,112,7, + 224,3,192,253,191,255,255,243,207,3,192,6,96,14,112,30, + 120,28,56,12,48,24,25,75,40,8,0,0,56,0,0,56, + 0,0,56,0,0,56,0,0,56,0,0,56,0,0,56,0, + 0,56,0,0,56,0,0,56,0,0,56,0,255,255,255,255, + 255,255,255,255,255,0,56,0,0,56,0,0,56,0,0,56, + 0,0,56,0,0,56,0,0,56,0,0,56,0,0,56,0, + 0,56,0,0,56,0,7,10,10,11,2,251,62,60,60,124, + 120,120,112,112,224,224,10,3,6,14,2,8,255,192,255,192, + 255,192,4,5,5,11,4,0,240,240,240,240,240,12,33,66, + 16,2,254,0,112,0,112,0,96,0,224,0,224,0,224,0, + 192,1,192,1,192,1,128,3,128,3,128,3,128,7,0,7, + 0,7,0,6,0,14,0,14,0,14,0,28,0,28,0,28, + 0,24,0,56,0,56,0,56,0,112,0,112,0,112,0,96, + 0,224,0,224,0,18,30,90,22,2,1,7,248,0,31,254, + 0,63,255,0,60,15,0,120,7,128,120,7,128,112,7,128, + 112,3,128,240,3,192,240,3,192,240,3,192,240,3,192,240, + 3,192,240,3,192,240,3,192,240,3,192,240,3,192,240,3, + 192,240,3,192,240,3,192,240,3,192,112,3,192,112,3,128, + 120,7,128,120,7,128,56,7,0,60,15,0,31,254,0,15, + 254,0,7,248,0,10,30,60,22,5,0,7,192,15,192,31, + 192,63,192,127,192,251,192,243,192,195,192,3,192,3,192,3, + 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, + 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, + 192,3,192,3,192,3,192,17,30,90,22,2,1,15,248,0, + 31,252,0,63,254,0,124,15,0,120,7,0,120,7,128,120, + 7,128,240,7,128,0,7,128,0,7,128,0,7,128,0,15, + 0,0,31,0,0,30,0,0,62,0,0,124,0,0,248,0, + 0,248,0,1,240,0,3,224,0,7,192,0,15,128,0,31, + 0,0,31,0,0,62,0,0,124,0,0,248,0,0,255,255, + 128,255,255,128,255,255,128,18,30,90,22,2,1,7,248,0, + 31,254,0,62,31,0,60,7,128,124,3,128,120,3,192,120, + 3,192,120,3,192,0,3,192,0,3,128,0,7,128,0,15, + 0,0,62,0,3,252,0,3,248,0,3,254,0,0,63,0, + 0,15,128,0,7,128,0,3,192,0,3,192,0,3,192,240, + 3,192,240,3,192,248,3,192,120,7,128,124,15,128,62,31, + 0,31,254,0,15,248,0,20,30,90,22,1,0,0,15,128, + 0,31,128,0,31,128,0,63,128,0,127,128,0,127,128,0, + 247,128,1,231,128,1,231,128,3,199,128,3,135,128,7,135, + 128,15,7,128,14,7,128,30,7,128,60,7,128,60,7,128, + 120,7,128,240,7,128,240,7,128,255,255,240,255,255,240,255, + 255,240,0,7,128,0,7,128,0,7,128,0,7,128,0,7, + 128,0,7,128,0,7,128,18,30,90,22,2,0,127,255,0, + 127,255,0,127,255,0,120,0,0,120,0,0,120,0,0,120, + 0,0,120,0,0,120,0,0,120,0,0,120,96,0,123,252, + 0,127,254,0,126,31,0,124,7,128,120,7,128,112,3,128, + 0,3,192,0,3,192,0,3,192,0,3,192,0,3,192,0, + 3,192,240,3,192,240,7,128,240,7,128,120,15,0,127,254, + 0,31,252,0,15,248,0,19,30,90,22,2,1,3,252,0, + 15,255,0,31,255,0,63,15,128,62,7,128,124,3,192,120, + 3,192,120,3,192,240,0,0,240,0,0,240,0,0,240,0, + 0,241,252,0,243,255,0,247,255,128,254,7,128,252,3,192, + 252,3,192,248,1,192,248,1,224,248,1,224,248,1,224,248, + 1,224,248,1,224,120,1,192,124,3,192,60,7,128,31,15, + 128,15,255,0,7,252,0,18,30,90,22,2,0,255,255,192, + 255,255,192,255,255,192,0,3,192,0,3,192,0,7,128,0, + 7,128,0,7,128,0,15,0,0,15,0,0,31,0,0,30, + 0,0,30,0,0,60,0,0,60,0,0,60,0,0,120,0, + 0,120,0,0,248,0,0,240,0,0,240,0,1,240,0,1, + 224,0,1,224,0,3,192,0,3,192,0,7,192,0,7,128, + 0,7,128,0,15,128,0,19,30,90,22,2,1,7,252,0, + 31,254,0,62,15,128,60,7,128,120,3,192,120,3,192,120, + 3,192,120,3,192,120,3,192,120,3,192,56,3,128,60,7, + 128,30,15,0,15,254,0,7,252,0,31,254,0,60,7,128, + 120,3,128,112,1,192,240,1,192,240,1,224,240,1,224,240, + 1,224,240,1,224,240,1,224,120,3,192,120,3,192,62,15, + 128,31,255,0,7,252,0,19,30,90,22,2,1,7,252,0, + 31,255,0,62,31,128,120,7,128,120,3,192,112,3,192,240, + 3,192,240,3,224,240,1,224,240,1,224,240,3,224,240,3, + 224,240,3,224,112,3,224,120,7,224,60,15,224,63,253,224, + 31,249,224,7,241,224,0,1,192,0,1,192,0,1,192,0, + 3,192,112,3,192,112,3,128,120,7,128,56,15,0,62,31, + 0,31,254,0,15,248,0,4,20,20,11,4,0,240,240,240, + 240,240,0,0,0,0,0,0,0,0,0,0,240,240,240,240, + 240,6,26,26,11,2,250,60,60,60,60,60,0,0,0,0, + 0,0,0,0,0,0,0,60,60,60,56,120,112,112,112,224, + 224,24,21,63,40,8,2,0,0,1,0,0,15,0,0,63, + 0,1,252,0,7,224,0,63,0,1,252,0,7,224,0,63, + 0,0,252,0,0,224,0,0,248,0,0,126,0,0,15,192, + 0,3,248,0,0,126,0,0,31,192,0,3,240,0,0,126, + 0,0,31,0,0,3,24,10,30,40,8,7,255,255,255,255, + 255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0, + 0,255,255,255,255,255,255,255,255,255,24,21,63,40,8,2, + 128,0,0,240,0,0,252,0,0,63,128,0,7,224,0,0, + 252,0,0,63,0,0,7,224,0,0,252,0,0,63,0,0, + 7,0,0,31,0,0,126,0,3,240,0,31,192,0,126,0, + 3,248,0,15,192,0,126,0,0,248,0,0,192,0,0,18, + 30,90,21,1,1,15,248,0,31,254,0,63,255,0,126,127, + 128,248,7,128,112,3,192,0,3,192,0,3,192,0,3,192, + 0,7,128,0,7,128,0,15,0,0,30,0,0,60,0,0, + 120,0,1,240,0,1,224,0,3,192,0,3,192,0,3,192, + 0,3,192,0,3,192,0,3,192,0,0,0,0,0,0,0, + 0,0,0,3,192,0,3,192,0,3,192,0,3,192,0,35, + 37,185,39,2,249,0,7,252,0,0,0,63,255,128,0,0, + 255,255,240,0,1,255,255,248,0,7,248,3,252,0,15,224, + 0,126,0,15,128,0,31,0,31,0,0,15,128,62,0,0, + 7,128,60,0,0,7,192,120,7,231,131,192,120,15,247,131, + 192,112,31,255,129,224,240,62,31,129,224,240,60,15,129,224, + 240,120,7,129,224,240,120,7,129,224,240,120,7,129,224,240, + 120,7,129,224,240,120,7,129,224,240,120,7,129,224,240,120, + 7,129,192,240,120,7,129,192,112,56,15,131,192,120,60,15, + 135,128,120,30,27,255,0,124,31,251,255,0,60,15,240,252, + 0,62,1,128,48,0,31,0,0,0,0,31,128,0,0,0, + 15,224,0,0,0,7,248,0,128,0,3,255,255,128,0,0, + 255,255,128,0,0,63,255,128,0,0,7,254,0,0,28,30, + 120,30,1,0,0,15,0,0,0,31,128,0,0,31,128,0, + 0,63,192,0,0,63,192,0,0,127,192,0,0,121,224,0, + 0,121,224,0,0,241,240,0,0,240,240,0,1,240,240,0, + 1,224,248,0,1,224,120,0,3,224,124,0,3,192,60,0, + 7,192,60,0,7,128,62,0,7,128,30,0,15,128,31,0, + 15,255,255,0,31,255,255,128,31,255,255,128,30,0,7,128, + 60,0,3,192,60,0,3,192,124,0,3,224,120,0,1,224, + 120,0,1,224,240,0,0,240,240,0,0,240,21,30,90,26, + 3,0,255,254,0,255,255,128,255,255,192,255,255,224,240,7, + 224,240,1,240,240,0,240,240,0,240,240,0,240,240,0,240, + 240,0,224,240,1,224,240,7,192,255,255,128,255,255,0,255, + 255,192,240,3,224,240,0,240,240,0,112,240,0,120,240,0, + 120,240,0,120,240,0,120,240,0,248,240,1,248,240,7,240, + 255,255,224,255,255,224,255,255,128,255,254,0,22,30,90,26, + 2,1,1,255,128,7,255,224,15,255,240,31,0,248,62,0, + 120,60,0,60,120,0,60,120,0,60,120,0,0,112,0,0, + 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,240, + 0,0,240,0,0,240,0,0,240,0,0,240,0,0,112,0, + 0,112,0,0,120,0,60,120,0,60,60,0,60,60,0,120, + 31,0,248,15,255,240,7,255,224,1,255,128,23,30,90,28, + 3,0,255,248,0,255,255,0,255,255,192,255,255,224,240,15, + 240,240,1,248,240,0,248,240,0,124,240,0,60,240,0,60, + 240,0,30,240,0,30,240,0,30,240,0,30,240,0,30,240, + 0,30,240,0,30,240,0,30,240,0,30,240,0,30,240,0, + 60,240,0,60,240,0,124,240,0,248,240,1,240,240,7,240, + 255,255,224,255,255,192,255,255,0,255,248,0,19,30,90,24, + 3,0,255,255,192,255,255,192,255,255,192,255,255,192,240,0, + 0,240,0,0,240,0,0,240,0,0,240,0,0,240,0,0, + 240,0,0,240,0,0,240,0,0,255,255,192,255,255,192,255, + 255,192,255,255,192,240,0,0,240,0,0,240,0,0,240,0, + 0,240,0,0,240,0,0,240,0,0,240,0,0,240,0,0, + 255,255,224,255,255,224,255,255,224,255,255,224,17,30,90,23, + 3,0,255,255,128,255,255,128,255,255,128,255,255,128,240,0, + 0,240,0,0,240,0,0,240,0,0,240,0,0,240,0,0, + 240,0,0,240,0,0,240,0,0,255,255,0,255,255,0,255, + 255,0,255,255,0,240,0,0,240,0,0,240,0,0,240,0, + 0,240,0,0,240,0,0,240,0,0,240,0,0,240,0,0, + 240,0,0,240,0,0,240,0,0,240,0,0,25,30,120,30, + 2,1,0,255,224,0,3,255,248,0,7,255,252,0,15,255, + 254,0,31,128,63,0,62,0,15,0,60,0,7,128,120,0, + 7,128,120,0,0,0,112,0,0,0,240,0,0,0,240,0, + 0,0,240,0,0,0,240,0,0,0,240,3,255,128,240,3, + 255,128,240,3,255,128,240,3,255,128,240,0,7,128,240,0, + 7,128,120,0,7,128,120,0,7,128,124,0,7,128,62,0, + 7,128,62,0,7,128,31,128,7,128,15,255,255,128,7,255, + 255,128,3,255,255,0,0,255,248,0,22,30,90,28,3,0, + 240,0,60,240,0,60,240,0,60,240,0,60,240,0,60,240, + 0,60,240,0,60,240,0,60,240,0,60,240,0,60,240,0, + 60,240,0,60,240,0,60,255,255,252,255,255,252,255,255,252, + 255,255,252,240,0,60,240,0,60,240,0,60,240,0,60,240, + 0,60,240,0,60,240,0,60,240,0,60,240,0,60,240,0, + 60,240,0,60,240,0,60,240,0,60,4,30,30,10,3,0, + 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, + 240,240,240,240,240,240,240,240,240,240,240,240,240,240,17,30, + 90,22,2,0,0,7,128,0,7,128,0,7,128,0,7,128, + 0,7,128,0,7,128,0,7,128,0,7,128,0,7,128,0, + 7,128,0,7,128,0,7,128,0,7,128,0,7,128,0,7, + 128,0,7,128,0,7,128,0,7,128,0,7,128,0,7,128, + 0,7,128,0,7,128,240,7,128,240,7,128,240,15,128,120, + 31,0,127,255,0,63,254,0,31,252,0,15,240,0,22,30, + 90,26,3,0,240,1,240,240,3,224,240,7,192,240,15,128, + 240,31,0,240,30,0,240,60,0,240,124,0,240,248,0,241, + 240,0,243,224,0,247,192,0,255,128,0,255,128,0,255,192, + 0,247,192,0,243,224,0,243,240,0,241,248,0,240,252,0, + 240,124,0,240,62,0,240,31,0,240,31,128,240,15,192,240, + 7,192,240,3,224,240,1,240,240,1,248,240,0,252,17,30, + 90,21,3,0,240,0,0,240,0,0,240,0,0,240,0,0, + 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,240, + 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,0, + 0,240,0,0,240,0,0,240,0,0,240,0,0,240,0,0, + 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,240, + 0,0,255,255,128,255,255,128,255,255,128,255,255,128,30,30, + 120,36,3,0,252,0,0,252,254,0,1,252,254,0,1,252, + 254,0,1,252,255,0,3,252,255,0,3,252,247,128,7,188, + 247,128,7,188,247,128,7,188,243,192,15,60,243,192,15,60, + 243,192,14,60,241,224,30,60,241,224,30,60,240,224,28,60, + 240,240,60,60,240,240,60,60,240,120,120,60,240,120,120,60, + 240,120,120,60,240,60,240,60,240,60,240,60,240,28,224,60, + 240,31,224,60,240,31,224,60,240,15,192,60,240,15,192,60, + 240,15,192,60,240,7,128,60,240,7,128,60,22,30,90,28, + 3,0,252,0,60,252,0,60,254,0,60,254,0,60,255,0, + 60,255,0,60,255,128,60,247,128,60,247,192,60,243,192,60, + 243,224,60,241,224,60,241,240,60,240,240,60,240,248,60,240, + 120,60,240,124,60,240,60,60,240,62,60,240,30,60,240,31, + 60,240,15,60,240,15,188,240,7,188,240,3,252,240,3,252, + 240,1,252,240,1,252,240,0,252,240,0,252,26,30,120,30, + 2,1,1,255,224,0,3,255,240,0,15,255,252,0,31,255, + 254,0,31,0,62,0,62,0,31,0,60,0,15,0,120,0, + 7,128,120,0,7,128,112,0,3,128,240,0,3,192,240,0, + 3,192,240,0,3,192,240,0,3,192,240,0,3,192,240,0, + 3,192,240,0,3,192,240,0,3,192,240,0,3,192,112,0, + 3,128,120,0,7,128,120,0,7,128,120,0,15,128,60,0, + 15,0,62,0,31,0,31,128,126,0,15,255,252,0,7,255, + 248,0,3,255,240,0,0,255,192,0,19,30,90,24,3,0, + 255,248,0,255,254,0,255,255,128,255,255,192,240,15,192,240, + 3,224,240,1,224,240,1,224,240,1,224,240,1,224,240,1, + 224,240,1,224,240,3,224,240,15,192,255,255,192,255,255,128, + 255,254,0,255,248,0,240,0,0,240,0,0,240,0,0,240, + 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,0, + 0,240,0,0,240,0,0,240,0,0,28,30,120,31,2,1, + 0,255,192,0,3,255,240,0,15,255,252,0,31,255,254,0, + 31,0,62,0,62,0,31,0,60,0,15,128,120,0,7,128, + 120,0,7,128,112,0,3,192,240,0,3,192,240,0,3,192, + 240,0,3,192,240,0,3,192,240,0,3,192,240,0,3,192, + 240,0,3,192,240,0,3,192,240,0,3,192,112,0,3,128, + 120,0,7,128,120,0,7,128,120,0,15,0,60,0,15,0, + 62,0,30,0,31,128,126,0,15,255,255,240,7,255,255,240, + 3,255,255,240,0,255,255,240,20,30,90,25,3,0,255,252, + 0,255,255,0,255,255,192,255,255,224,240,7,224,240,1,224, + 240,0,240,240,0,240,240,0,240,240,0,240,240,0,224,240, + 1,224,240,7,192,255,255,128,255,255,0,255,255,0,255,255, + 128,240,7,192,240,3,192,240,3,192,240,1,224,240,1,224, + 240,1,224,240,1,224,240,0,224,240,0,224,240,0,240,240, + 0,240,240,0,240,240,0,112,22,30,90,26,2,1,3,255, + 0,15,255,192,63,255,224,63,255,240,124,0,240,120,0,120, + 240,0,120,240,0,120,240,0,0,240,0,0,120,0,0,124, + 0,0,63,128,0,31,252,0,15,255,128,0,255,224,0,7, + 240,0,0,248,0,0,120,0,0,56,0,0,60,240,0,60, + 240,0,60,240,0,60,120,0,120,124,0,248,63,255,240,63, + 255,240,31,255,192,7,255,0,23,30,90,25,1,0,255,255, + 254,255,255,254,255,255,254,255,255,254,0,120,0,0,120,0, + 0,120,0,0,120,0,0,120,0,0,120,0,0,120,0,0, + 120,0,0,120,0,0,120,0,0,120,0,0,120,0,0,120, + 0,0,120,0,0,120,0,0,120,0,0,120,0,0,120,0, + 0,120,0,0,120,0,0,120,0,0,120,0,0,120,0,0, + 120,0,0,120,0,0,120,0,23,30,90,29,3,0,240,0, + 30,240,0,30,240,0,30,240,0,30,240,0,30,240,0,30, + 240,0,30,240,0,30,240,0,30,240,0,30,240,0,30,240, + 0,30,240,0,30,240,0,30,240,0,30,240,0,30,240,0, + 30,240,0,30,240,0,30,240,0,30,240,0,30,240,0,30, + 120,0,60,120,0,60,124,0,124,62,0,248,63,255,248,31, + 255,240,15,255,224,3,255,128,24,30,90,26,1,0,240,0, + 15,248,0,15,248,0,31,120,0,30,124,0,30,124,0,62, + 60,0,60,62,0,60,30,0,124,30,0,120,31,0,120,15, + 0,248,15,0,240,15,0,240,7,129,240,7,129,224,7,129, + 224,3,195,224,3,195,192,3,195,192,1,231,192,1,231,128, + 1,231,128,0,255,128,0,255,0,0,255,0,0,126,0,0, + 126,0,0,126,0,0,60,0,37,30,150,39,1,0,240,0, + 248,0,120,240,0,248,0,120,240,1,248,0,248,120,1,252, + 0,240,120,1,252,0,240,120,1,220,0,240,124,3,222,1, + 224,60,3,222,1,224,60,3,222,1,224,60,3,142,1,224, + 30,7,143,3,192,30,7,143,3,192,30,7,15,3,192,30, + 7,7,3,128,15,15,7,135,128,15,15,7,135,128,15,14, + 3,135,128,7,14,3,135,0,7,158,3,207,0,7,158,3, + 207,0,7,156,1,206,0,3,156,1,222,0,3,252,1,254, + 0,3,252,1,254,0,1,248,0,252,0,1,248,0,252,0, + 1,248,0,252,0,1,240,0,248,0,0,240,0,120,0,0, + 240,0,120,0,26,30,120,28,1,0,62,0,15,0,62,0, + 31,0,31,0,30,0,15,128,60,0,15,128,124,0,7,192, + 120,0,3,224,240,0,3,224,240,0,1,241,224,0,0,243, + 224,0,0,251,192,0,0,127,128,0,0,63,128,0,0,63, + 0,0,0,63,0,0,0,63,128,0,0,127,128,0,0,247, + 192,0,0,243,224,0,1,227,224,0,3,225,240,0,3,192, + 248,0,7,128,248,0,15,128,124,0,15,0,62,0,31,0, + 62,0,62,0,31,0,60,0,31,0,124,0,15,128,248,0, + 7,192,24,30,90,26,1,0,248,0,15,248,0,31,124,0, + 30,124,0,60,62,0,124,30,0,120,31,0,248,15,0,240, + 15,129,224,7,129,224,3,195,192,3,227,192,1,231,128,1, + 247,0,0,255,0,0,254,0,0,126,0,0,60,0,0,60, + 0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0, + 0,60,0,0,60,0,0,60,0,0,60,0,0,60,0,0, + 60,0,21,30,90,25,2,0,127,255,248,127,255,248,127,255, + 248,127,255,248,0,0,248,0,1,248,0,1,240,0,3,224, + 0,7,192,0,15,128,0,31,128,0,31,0,0,62,0,0, + 124,0,0,252,0,0,248,0,1,240,0,3,224,0,7,192, + 0,15,192,0,15,128,0,31,0,0,62,0,0,126,0,0, + 252,0,0,248,0,0,255,255,248,255,255,248,255,255,248,255, + 255,248,8,38,38,16,4,248,255,255,255,240,240,240,240,240, + 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, + 240,240,240,240,240,240,240,240,240,240,240,255,255,255,12,33, + 66,16,2,254,224,0,224,0,224,0,96,0,112,0,112,0, + 48,0,56,0,56,0,56,0,28,0,28,0,28,0,12,0, + 14,0,14,0,6,0,7,0,7,0,7,0,3,0,3,128, + 3,128,1,128,1,192,1,192,1,192,0,192,0,224,0,224, + 0,96,0,112,0,112,8,38,38,16,4,248,255,255,255,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,255, + 255,255,20,25,75,40,10,0,0,96,0,0,240,0,0,240, + 0,0,240,0,1,248,0,1,152,0,3,156,0,3,12,0, + 3,12,0,7,14,0,6,6,0,6,6,0,14,7,0,12, + 3,0,28,3,128,28,1,128,24,1,128,56,1,192,48,0, + 192,48,0,192,112,0,224,96,0,96,224,0,112,224,0,112, + 192,0,48,20,3,9,20,0,251,255,255,240,255,255,240,255, + 255,240,8,7,7,9,255,25,240,120,56,28,14,14,7,18, + 20,60,23,2,1,15,254,0,63,255,0,62,15,128,120,7, + 128,120,3,192,0,3,192,0,3,192,3,255,192,15,255,192, + 63,255,192,126,3,192,120,3,192,240,3,192,240,3,192,240, + 7,192,240,7,192,248,15,192,124,63,192,63,251,192,31,227, + 192,19,30,90,24,3,0,240,0,0,240,0,0,240,0,0, + 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,240, + 0,0,240,0,0,243,252,0,247,255,0,255,15,128,252,7, + 128,248,3,192,248,3,192,240,1,192,240,1,224,240,1,224, + 240,1,224,240,1,224,240,1,224,240,1,192,240,3,192,240, + 3,192,248,7,128,252,7,128,254,31,0,247,254,0,243,252, + 0,17,20,60,21,2,1,15,252,0,31,254,0,62,31,0, + 120,15,128,120,7,128,240,7,128,240,0,0,240,0,0,240, + 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,7, + 128,112,7,128,120,7,128,120,15,0,62,31,0,31,254,0, + 15,252,0,19,30,90,24,2,0,0,1,224,0,1,224,0, + 1,224,0,1,224,0,1,224,0,1,224,0,1,224,0,1, + 224,0,1,224,0,1,224,15,249,224,31,253,224,62,31,224, + 60,7,224,120,7,224,120,3,224,240,1,224,240,1,224,240, + 1,224,240,1,224,240,1,224,240,1,224,240,1,224,240,1, + 224,120,3,224,120,3,224,60,7,224,31,15,224,15,255,224, + 7,249,224,18,20,60,22,2,1,7,252,0,31,254,0,62, + 31,0,60,7,128,120,3,128,112,3,192,240,3,192,240,3, + 192,255,255,192,255,255,192,255,255,192,240,0,0,240,0,0, + 240,0,0,112,3,192,120,7,128,56,7,128,62,31,0,31, + 254,0,7,252,0,13,30,60,14,1,0,1,248,3,248,7, + 248,15,128,15,0,15,0,15,0,15,0,15,0,15,0,255, + 240,255,240,255,240,15,0,15,0,15,0,15,0,15,0,15, + 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, + 0,15,0,15,0,15,0,19,28,84,24,2,249,15,249,224, + 31,253,224,62,31,224,120,7,224,120,3,224,112,3,224,240, + 1,224,240,1,224,240,1,224,240,1,224,240,1,224,240,1, + 224,240,1,224,240,3,224,120,3,224,124,7,224,62,15,224, + 31,253,224,15,249,224,0,129,224,0,1,224,0,3,192,120, + 3,192,120,3,192,60,7,128,63,255,0,15,254,0,3,248, + 0,18,30,90,24,3,0,240,0,0,240,0,0,240,0,0, + 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,240, + 0,0,240,0,0,243,254,0,247,255,0,254,31,128,248,7, + 128,240,7,128,240,3,192,240,3,192,240,3,192,240,3,192, + 240,3,192,240,3,192,240,3,192,240,3,192,240,3,192,240, + 3,192,240,3,192,240,3,192,240,3,192,240,3,192,240,3, + 192,4,30,30,8,2,0,240,240,240,240,0,0,0,0,0, + 0,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, + 240,240,240,240,240,7,38,38,11,2,248,30,30,30,30,0, + 0,0,0,0,0,30,30,30,30,30,30,30,30,30,30,30, + 30,30,30,30,30,30,30,30,30,30,30,30,30,30,254,252, + 248,16,30,60,20,3,0,240,0,240,0,240,0,240,0,240, + 0,240,0,240,0,240,0,240,0,240,0,240,30,240,62,240, + 124,240,248,241,240,243,224,247,192,255,128,255,0,255,0,247, + 128,247,192,243,224,241,240,240,240,240,248,240,124,240,62,240, + 30,240,31,4,30,30,10,3,0,240,240,240,240,240,240,240, + 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, + 240,240,240,240,240,240,240,30,20,80,36,3,1,243,252,31, + 224,247,254,63,240,254,31,112,248,252,15,224,120,248,7,192, + 60,240,7,128,60,240,7,128,60,240,7,128,60,240,7,128, + 60,240,7,128,60,240,7,128,60,240,7,128,60,240,7,128, + 60,240,7,128,60,240,7,128,60,240,7,128,60,240,7,128, + 60,240,7,128,60,240,7,128,60,240,7,128,60,18,20,60, + 24,3,1,243,254,0,247,255,0,254,31,128,248,7,128,248, + 7,128,240,3,192,240,3,192,240,3,192,240,3,192,240,3, + 192,240,3,192,240,3,192,240,3,192,240,3,192,240,3,192, + 240,3,192,240,3,192,240,3,192,240,3,192,240,3,192,20, + 20,60,24,2,1,7,252,0,15,255,0,63,15,128,60,3, + 192,120,3,224,120,1,224,240,1,224,240,0,240,240,0,240, + 240,0,240,240,0,240,240,0,240,240,0,240,240,1,224,120, + 1,224,120,3,224,60,3,192,63,15,128,15,255,0,7,254, + 0,19,28,84,24,3,249,243,254,0,247,255,0,254,15,128, + 252,7,192,248,3,192,248,3,192,240,1,224,240,1,224,240, + 1,224,240,1,224,240,1,224,240,1,224,240,1,224,240,1, + 224,248,3,192,248,3,192,252,7,192,254,15,128,247,255,0, + 243,254,0,240,0,0,240,0,0,240,0,0,240,0,0,240, + 0,0,240,0,0,240,0,0,240,0,0,19,28,84,24,2, + 249,15,249,224,31,253,224,62,15,224,124,7,224,120,3,224, + 120,3,224,240,1,224,240,1,224,240,1,224,240,1,224,240, + 1,224,240,1,224,240,1,224,240,1,224,120,3,224,120,3, + 224,124,7,224,62,15,224,31,253,224,15,249,224,0,1,224, + 0,1,224,0,1,224,0,1,224,0,1,224,0,1,224,0, + 1,224,0,1,224,11,20,40,15,3,0,243,224,247,224,255, + 224,254,0,248,0,248,0,240,0,240,0,240,0,240,0,240, + 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, + 0,240,0,16,20,40,20,2,1,31,248,63,254,124,62,248, + 31,240,15,240,0,240,0,124,0,127,192,63,248,15,254,0, + 126,0,31,0,15,240,15,240,15,240,31,124,62,127,252,31, + 248,12,25,50,14,1,1,14,0,30,0,30,0,30,0,30, + 0,255,240,255,240,255,240,30,0,30,0,30,0,30,0,30, + 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, + 0,30,0,15,0,15,240,7,240,18,20,60,24,3,0,240, + 3,192,240,3,192,240,3,192,240,3,192,240,3,192,240,3, + 192,240,3,192,240,3,192,240,3,192,240,3,192,240,3,192, + 240,3,192,240,3,192,240,3,192,240,3,192,240,7,192,120, + 15,192,126,31,192,63,251,192,31,243,192,20,20,60,21,1, + 0,240,0,240,240,1,224,120,1,224,120,1,192,124,3,192, + 60,3,192,60,7,128,30,7,128,30,7,0,15,15,0,15, + 14,0,15,14,0,7,158,0,7,156,0,3,252,0,3,248, + 0,3,248,0,1,248,0,1,240,0,0,240,0,31,20,80, + 33,1,0,240,7,192,30,240,15,192,28,240,15,192,60,120, + 15,224,60,120,30,224,56,120,30,224,120,56,28,240,120,60, + 28,112,112,60,60,112,112,28,56,120,240,30,56,56,224,30, + 120,56,224,14,112,57,224,15,112,29,192,15,240,29,192,7, + 224,31,192,7,224,31,128,7,224,15,128,3,192,15,128,3, + 192,15,0,20,20,60,22,1,0,120,1,224,60,3,192,62, + 3,192,31,7,128,15,15,0,7,158,0,7,222,0,3,252, + 0,1,248,0,0,240,0,1,248,0,3,252,0,3,188,0, + 7,158,0,15,31,0,30,15,128,62,7,128,60,3,192,120, + 3,224,240,1,240,20,28,84,21,1,248,240,0,240,240,1, + 224,120,1,224,120,1,192,60,3,192,60,3,192,62,7,128, + 30,7,128,30,7,128,15,15,0,15,15,0,15,158,0,7, + 158,0,7,158,0,3,252,0,3,252,0,1,248,0,1,248, + 0,1,248,0,0,240,0,0,240,0,0,224,0,1,224,0, + 1,224,0,1,192,0,3,192,0,3,128,0,7,128,0,15, + 20,40,19,2,0,127,254,127,254,127,254,0,62,0,124,0, + 120,0,240,1,240,3,224,3,192,7,128,15,128,31,0,30, + 0,60,0,124,0,248,0,255,254,255,254,255,254,13,41,82, + 19,3,246,0,24,1,248,3,248,3,224,7,128,7,128,7, + 128,7,0,7,0,7,0,7,0,7,128,7,128,7,0,7, + 0,7,0,15,0,31,0,62,0,252,0,248,0,252,0,126, + 0,30,0,15,0,15,0,7,0,7,0,7,0,7,128,7, + 128,7,0,7,0,7,0,7,0,7,128,7,128,3,192,3, + 248,1,248,0,120,2,43,43,14,6,245,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,13,41,82,19,3,246,192,0,252,0, + 254,0,30,0,15,0,15,0,7,0,7,0,7,0,7,0, + 7,0,7,128,7,128,7,128,7,128,7,128,7,128,3,192, + 3,224,1,248,0,248,1,248,1,240,3,192,3,192,7,128, + 7,128,7,128,7,128,7,128,7,128,7,0,7,0,7,0, + 7,0,7,0,15,0,31,0,254,0,252,0,240,0,21,5, + 15,21,0,8,2,0,56,31,240,120,63,255,240,120,127,224, + 240,15,128,255}; +/* + Fontname: -FreeType-FreeUniversal-Medium-R-Normal--48-480-72-72-P-226-ISO10646-1 + Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. + Capital A Height: 0, '1' Height: 35 + Calculated Max Values w=29 h=39 x=10 y=16 dx=49 dy= 0 ascent=36 len=116 + Font Bounding box w=65 h=64 x=-4 y=-13 + Calculated Min Values x= 0 y=-6 dx= 0 dy= 0 + Pure Font ascent =35 descent= 0 + X Font ascent =35 descent= 0 + Max Font ascent =36 descent=-6 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_fur35n[1447] U8G_FONT_SECTION("u8g_font_fur35n") = { + 0,65,64,252,243,35,0,0,0,0,42,58,0,36,250,35, + 0,19,19,57,31,6,16,6,12,0,30,15,0,15,30,0, + 15,30,0,7,28,0,3,184,0,1,176,0,193,240,96,255, + 255,224,255,255,224,248,227,224,1,240,0,3,184,0,7,188, + 0,7,28,0,15,30,0,30,15,0,14,14,0,2,8,0, + 29,29,116,49,10,0,0,7,0,0,0,7,0,0,0,7, + 0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7, + 0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7, + 0,0,0,7,0,0,0,7,0,0,255,255,255,248,255,255, + 255,248,255,255,255,248,0,7,0,0,0,7,0,0,0,7, + 0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7, + 0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7, + 0,0,0,7,0,0,0,7,0,0,9,12,24,13,2,250, + 31,128,31,0,31,0,62,0,62,0,62,0,60,0,124,0, + 120,0,120,0,112,0,240,0,12,4,8,16,2,10,255,240, + 255,240,255,240,255,240,5,6,6,13,5,0,248,248,248,248, + 248,248,15,39,78,19,2,253,0,14,0,30,0,28,0,28, + 0,60,0,56,0,56,0,120,0,112,0,112,0,112,0,240, + 0,224,0,224,1,224,1,192,1,192,1,192,3,192,3,128, + 3,128,7,128,7,0,7,0,15,0,15,0,14,0,14,0, + 30,0,28,0,28,0,60,0,56,0,56,0,56,0,120,0, + 112,0,112,0,240,0,22,35,105,27,2,1,3,255,0,7, + 255,128,31,255,224,31,255,224,62,3,240,62,1,240,124,0, + 248,120,0,248,120,0,120,248,0,120,248,0,124,248,0,124, + 248,0,124,248,0,124,248,0,124,248,0,124,248,0,124,248, + 0,124,248,0,124,248,0,124,248,0,124,248,0,124,248,0, + 124,248,0,124,120,0,124,120,0,120,120,0,120,124,0,248, + 60,0,248,62,1,240,63,3,240,31,255,224,15,255,192,7, + 255,128,1,255,0,12,35,70,27,7,0,3,240,7,240,15, + 240,31,240,127,240,255,240,253,240,241,240,193,240,1,240,1, + 240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1, + 240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1, + 240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1, + 240,21,35,105,27,3,1,3,255,0,15,255,128,31,255,192, + 63,255,224,63,1,240,126,0,240,124,0,248,124,0,248,124, + 0,248,124,0,248,0,0,248,0,0,248,0,0,240,0,1, + 240,0,3,224,0,7,224,0,7,192,0,15,128,0,31,128, + 0,63,0,0,126,0,0,252,0,1,248,0,3,240,0,7, + 224,0,15,192,0,31,192,0,31,128,0,63,0,0,126,0, + 0,252,0,0,255,255,248,255,255,248,255,255,248,255,255,248, + 22,35,105,27,2,1,3,255,0,15,255,192,31,255,224,31, + 255,240,63,1,248,62,0,248,124,0,120,124,0,120,124,0, + 124,0,0,120,0,0,120,0,0,248,0,1,240,0,15,224, + 0,255,192,0,255,0,0,255,128,0,255,192,0,15,224,0, + 1,240,0,0,248,0,0,248,0,0,124,0,0,124,0,0, + 124,248,0,124,248,0,124,252,0,124,252,0,120,124,0,248, + 127,3,248,63,255,240,31,255,224,15,255,192,3,255,0,24, + 35,105,27,1,0,0,3,240,0,7,240,0,7,240,0,15, + 240,0,31,240,0,63,240,0,61,240,0,121,240,0,249,240, + 0,241,240,1,225,240,3,225,240,3,193,240,7,129,240,15, + 129,240,15,1,240,30,1,240,62,1,240,60,1,240,120,1, + 240,248,1,240,240,1,240,255,255,255,255,255,255,255,255,255, + 255,255,255,0,1,240,0,1,240,0,1,240,0,1,240,0, + 1,240,0,1,240,0,1,240,0,1,240,0,1,240,21,35, + 105,27,3,0,127,255,224,127,255,224,127,255,224,127,255,224, + 124,0,0,124,0,0,124,0,0,124,0,0,124,0,0,124, + 0,0,124,0,0,124,0,0,124,254,0,125,255,128,127,255, + 192,127,131,224,126,1,240,124,0,240,120,0,248,120,0,120, + 0,0,120,0,0,120,0,0,120,0,0,120,0,0,120,0, + 0,120,248,0,120,248,0,248,248,0,240,248,1,240,126,3, + 224,63,255,224,63,255,192,15,255,128,7,254,0,23,35,105, + 27,2,1,1,255,128,7,255,192,15,255,224,31,193,240,31, + 0,248,62,0,248,62,0,120,124,0,120,124,0,0,120,0, + 0,120,0,0,120,0,0,120,0,0,120,127,0,120,255,192, + 249,255,240,251,255,240,255,131,248,254,0,248,252,0,124,252, + 0,124,248,0,60,248,0,60,248,0,60,248,0,62,248,0, + 60,248,0,60,120,0,60,124,0,124,124,0,120,63,1,248, + 31,255,240,15,255,224,7,255,192,1,255,0,21,35,105,27, + 3,0,255,255,248,255,255,248,255,255,248,255,255,248,0,0, + 120,0,0,248,0,0,240,0,1,240,0,1,240,0,1,224, + 0,3,224,0,3,224,0,7,192,0,7,192,0,7,128,0, + 15,128,0,15,128,0,15,0,0,31,0,0,31,0,0,62, + 0,0,62,0,0,62,0,0,124,0,0,124,0,0,248,0, + 0,248,0,0,248,0,1,240,0,1,240,0,3,240,0,3, + 224,0,3,224,0,7,192,0,7,192,0,22,35,105,27,2, + 1,3,255,128,15,255,224,31,255,240,63,255,248,63,1,248, + 126,0,252,124,0,124,124,0,124,124,0,124,124,0,124,124, + 0,124,60,0,120,62,0,248,31,131,240,15,255,224,3,255, + 128,7,255,128,15,255,224,31,3,240,62,0,248,124,0,120, + 120,0,124,248,0,60,248,0,60,248,0,60,248,0,60,248, + 0,60,248,0,60,248,0,124,124,0,124,126,1,248,63,255, + 248,31,255,240,15,255,224,3,255,128,22,35,105,27,2,1, + 3,255,128,15,255,192,31,255,224,63,255,240,126,1,248,124, + 0,248,120,0,248,248,0,124,248,0,124,248,0,124,248,0, + 124,248,0,124,248,0,124,248,0,124,248,0,252,120,0,252, + 124,1,252,127,3,252,63,255,252,31,255,124,15,254,124,3, + 248,124,0,0,124,0,0,124,0,0,120,0,0,120,0,0, + 248,120,0,248,120,1,240,124,1,240,62,3,224,63,255,224, + 31,255,192,15,255,128,7,254,0,5,24,24,13,5,0,248, + 248,248,248,248,248,0,0,0,0,0,0,0,0,0,0,0, + 0,248,248,248,248,248,248}; +/* + Fontname: -FreeType-FreeUniversal-Medium-R-Normal--58-580-72-72-P-271-ISO10646-1 + Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. + Capital A Height: 0, '1' Height: 42 + Calculated Max Values w=35 h=46 x=12 y=20 dx=59 dy= 0 ascent=43 len=175 + Font Bounding box w=78 h=76 x=-4 y=-15 + Calculated Min Values x= 0 y=-7 dx= 0 dy= 0 + Pure Font ascent =42 descent= 0 + X Font ascent =42 descent= 0 + Max Font ascent =43 descent=-7 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_fur42n[2194] U8G_FONT_SECTION("u8g_font_fur42n") = { + 0,78,76,252,241,42,0,0,0,0,42,58,0,43,249,42, + 0,23,22,66,37,7,20,3,1,128,7,131,192,15,131,224, + 7,131,192,7,199,192,3,199,128,1,239,0,0,238,0,0, + 254,0,254,124,254,255,255,254,255,255,254,254,124,254,0,124, + 0,0,238,0,1,239,0,3,199,128,3,199,128,7,195,192, + 15,131,224,15,131,224,3,1,128,35,35,175,59,12,0,0, + 1,224,0,0,0,1,224,0,0,0,1,224,0,0,0,1, + 224,0,0,0,1,224,0,0,0,1,224,0,0,0,1,224, + 0,0,0,1,224,0,0,0,1,224,0,0,0,1,224,0, + 0,0,1,224,0,0,0,1,224,0,0,0,1,224,0,0, + 0,1,224,0,0,0,1,224,0,0,255,255,255,255,224,255, + 255,255,255,224,255,255,255,255,224,255,255,255,255,224,0,1, + 224,0,0,0,1,224,0,0,0,1,224,0,0,0,1,224, + 0,0,0,1,224,0,0,0,1,224,0,0,0,1,224,0, + 0,0,1,224,0,0,0,1,224,0,0,0,1,224,0,0, + 0,1,224,0,0,0,1,224,0,0,0,1,224,0,0,0, + 1,224,0,0,0,1,224,0,0,0,1,224,0,0,10,15, + 30,16,3,249,31,192,31,192,31,128,63,128,63,0,63,0, + 62,0,62,0,126,0,124,0,124,0,120,0,248,0,248,0, + 240,0,14,5,10,18,2,12,255,252,255,252,255,252,255,252, + 255,252,6,7,7,16,6,0,252,252,252,252,252,252,252,17, + 46,138,23,3,253,0,7,128,0,7,128,0,7,128,0,15, + 0,0,15,0,0,15,0,0,30,0,0,30,0,0,30,0, + 0,30,0,0,60,0,0,60,0,0,60,0,0,120,0,0, + 120,0,0,120,0,0,240,0,0,240,0,0,240,0,0,240, + 0,1,224,0,1,224,0,1,224,0,3,192,0,3,192,0, + 3,192,0,7,128,0,7,128,0,7,128,0,7,128,0,15, + 0,0,15,0,0,15,0,0,30,0,0,30,0,0,30,0, + 0,62,0,0,60,0,0,60,0,0,60,0,0,120,0,0, + 120,0,0,120,0,0,240,0,0,240,0,0,240,0,0,26, + 43,172,32,3,0,0,255,224,0,3,255,240,0,7,255,252, + 0,15,255,254,0,31,255,254,0,31,128,127,0,63,0,63, + 0,62,0,31,128,126,0,31,128,124,0,15,128,124,0,15, + 192,124,0,15,192,252,0,15,192,252,0,7,192,248,0,7, + 192,248,0,7,192,248,0,7,192,248,0,7,192,248,0,7, + 192,248,0,7,192,248,0,7,192,248,0,7,192,248,0,7, + 192,248,0,7,192,252,0,7,192,252,0,7,192,252,0,7, + 192,252,0,7,192,252,0,7,192,124,0,15,192,124,0,15, + 192,124,0,15,192,126,0,15,128,126,0,31,128,62,0,31, + 128,63,0,63,0,31,128,127,0,31,224,254,0,15,255,254, + 0,7,255,252,0,3,255,248,0,1,255,224,0,0,63,128, + 0,14,42,84,32,8,0,0,252,1,252,3,252,7,252,15, + 252,63,252,127,252,255,124,254,124,248,124,224,124,128,124,0, + 124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0, + 124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0, + 124,0,124,0,124,0,124,0,124,0,124,0,124,0,124,0, + 124,0,124,0,124,0,124,0,124,0,124,25,42,168,32,4, + 1,1,255,192,0,7,255,240,0,15,255,248,0,31,255,252, + 0,31,255,254,0,63,128,127,0,63,0,63,0,127,0,31, + 128,126,0,31,128,126,0,31,128,126,0,15,128,126,0,15, + 128,0,0,31,128,0,0,31,128,0,0,31,0,0,0,63, + 0,0,0,63,0,0,0,126,0,0,0,252,0,0,1,252, + 0,0,3,248,0,0,7,240,0,0,7,224,0,0,15,224, + 0,0,31,192,0,0,63,128,0,0,127,0,0,0,254,0, + 0,1,252,0,0,3,248,0,0,7,240,0,0,15,224,0, + 0,31,224,0,0,63,192,0,0,63,128,0,0,127,0,0, + 0,254,0,0,0,255,255,255,128,255,255,255,128,255,255,255, + 128,255,255,255,128,255,255,255,128,26,43,172,32,3,0,1, + 255,192,0,7,255,240,0,15,255,252,0,31,255,254,0,31, + 255,255,0,63,128,127,0,63,0,63,128,127,0,31,128,126, + 0,15,128,126,0,15,128,252,0,15,128,0,0,15,128,0, + 0,15,128,0,0,31,128,0,0,31,128,0,0,63,0,0, + 0,126,0,0,3,252,0,0,127,248,0,0,127,240,0,0, + 127,224,0,0,127,240,0,0,127,252,0,0,3,254,0,0, + 0,127,0,0,0,63,128,0,0,31,192,0,0,15,192,0, + 0,7,192,0,0,7,192,0,0,7,192,252,0,7,192,252, + 0,7,192,252,0,7,192,254,0,15,192,254,0,31,192,127, + 0,63,128,127,192,255,0,63,255,255,0,31,255,254,0,15, + 255,248,0,3,255,240,0,0,255,128,0,29,42,168,32,2, + 0,0,0,127,0,0,0,127,0,0,0,255,0,0,1,255, + 0,0,3,255,0,0,3,255,0,0,7,223,0,0,15,223, + 0,0,15,159,0,0,31,31,0,0,63,31,0,0,62,31, + 0,0,124,31,0,0,252,31,0,0,248,31,0,1,240,31, + 0,3,240,31,0,3,224,31,0,7,192,31,0,15,192,31, + 0,15,128,31,0,31,0,31,0,63,0,31,0,126,0,31, + 0,124,0,31,0,252,0,31,0,248,0,31,0,255,255,255, + 248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255, + 248,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31, + 0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31, + 0,0,0,31,0,0,0,31,0,26,43,172,32,3,255,127, + 255,255,0,127,255,255,0,127,255,255,0,127,255,255,0,127, + 255,255,0,124,0,0,0,124,0,0,0,124,0,0,0,124, + 0,0,0,124,0,0,0,124,0,0,0,124,0,0,0,124, + 0,0,0,124,0,0,0,124,31,192,0,124,127,240,0,124, + 255,252,0,125,255,252,0,127,224,254,0,127,128,63,0,127, + 0,31,0,126,0,31,128,126,0,15,128,124,0,15,128,0, + 0,15,192,0,0,15,192,0,0,15,192,0,0,7,192,0, + 0,7,192,0,0,15,192,0,0,15,192,0,0,15,192,252, + 0,15,128,252,0,31,128,254,0,31,128,126,0,63,0,127, + 0,127,0,127,192,254,0,63,255,252,0,31,255,248,0,15, + 255,240,0,3,255,224,0,0,127,0,0,27,43,172,32,3, + 0,0,127,240,0,1,255,252,0,3,255,254,0,7,255,255, + 0,15,240,63,0,31,192,31,128,31,128,15,128,63,0,15, + 192,63,0,15,192,126,0,7,192,126,0,0,0,126,0,0, + 0,124,0,0,0,124,0,0,0,124,0,0,0,124,0,0, + 0,124,15,224,0,124,63,248,0,124,255,254,0,124,255,255, + 0,125,255,255,128,127,224,127,128,127,192,31,192,255,128,15, + 192,255,0,7,192,255,0,7,224,254,0,7,224,254,0,7, + 224,254,0,3,224,254,0,3,224,254,0,3,224,254,0,7, + 224,254,0,7,224,126,0,7,224,127,0,7,192,63,0,15, + 192,63,192,31,128,31,224,127,128,15,255,255,0,7,255,254, + 0,3,255,252,0,0,255,240,0,0,63,192,0,26,42,168, + 32,3,0,255,255,255,192,255,255,255,192,255,255,255,192,255, + 255,255,192,255,255,255,192,0,0,7,192,0,0,15,192,0, + 0,15,128,0,0,31,128,0,0,31,128,0,0,31,0,0, + 0,63,0,0,0,63,0,0,0,126,0,0,0,126,0,0, + 0,124,0,0,0,252,0,0,0,252,0,0,1,248,0,0, + 1,248,0,0,1,248,0,0,3,240,0,0,3,240,0,0, + 7,224,0,0,7,224,0,0,15,224,0,0,15,192,0,0, + 15,192,0,0,31,128,0,0,31,128,0,0,63,128,0,0, + 63,0,0,0,63,0,0,0,127,0,0,0,126,0,0,0, + 254,0,0,0,252,0,0,0,252,0,0,1,252,0,0,1, + 248,0,0,3,248,0,0,3,240,0,0,27,43,172,32,2, + 0,0,255,224,0,3,255,252,0,15,255,254,0,31,255,255, + 0,63,255,255,128,63,128,63,192,127,0,31,192,126,0,15, + 192,126,0,7,192,126,0,7,192,124,0,7,192,124,0,7, + 192,126,0,7,192,62,0,15,192,63,0,15,128,31,128,31, + 0,15,224,127,0,7,255,254,0,3,255,248,0,0,255,240, + 0,3,255,248,0,15,255,254,0,31,224,127,0,63,128,31, + 128,62,0,15,128,126,0,7,192,124,0,7,224,124,0,3, + 224,252,0,3,224,248,0,3,224,248,0,3,224,252,0,3, + 224,252,0,3,224,252,0,7,224,254,0,7,224,126,0,15, + 224,127,0,31,192,63,192,127,192,63,255,255,128,31,255,255, + 0,7,255,254,0,1,255,248,0,0,63,192,0,27,43,172, + 32,3,0,1,255,240,0,7,255,252,0,15,255,254,0,31, + 255,255,0,63,255,255,128,63,128,63,128,126,0,31,192,126, + 0,15,192,124,0,15,192,252,0,15,224,252,0,7,224,252, + 0,7,224,248,0,7,224,248,0,7,224,248,0,7,224,252, + 0,7,224,252,0,7,224,124,0,15,224,124,0,15,224,126, + 0,31,224,63,0,63,224,63,192,251,224,31,255,243,224,15, + 255,243,224,3,255,195,224,0,255,7,224,0,0,7,224,0, + 0,7,224,0,0,7,192,0,0,7,192,0,0,7,192,0, + 0,15,192,124,0,15,192,124,0,15,128,62,0,31,128,62, + 0,63,128,63,0,127,0,31,193,254,0,31,255,254,0,15, + 255,252,0,7,255,248,0,3,255,224,0,0,127,128,0,6, + 29,29,16,6,0,252,252,252,252,252,252,252,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,252,252,252,252,252, + 252,252}; +/* + Fontname: -FreeType-FreeUniversal-Medium-R-Normal--68-680-72-72-P-317-ISO10646-1 + Copyright: (FreeUniversal) Copyright (c) Stephen Wilson 2009 a modification of: Original Font (SIL Sophia) Copyright (c) SIL International, 1994-2008. + Capital A Height: 0, '1' Height: 49 + Calculated Max Values w=41 h=54 x=14 y=23 dx=69 dy= 0 ascent=50 len=250 + Font Bounding box w=92 h=89 x=-5 y=-18 + Calculated Min Values x= 0 y=-9 dx= 0 dy= 0 + Pure Font ascent =49 descent= 0 + X Font ascent =49 descent= 0 + Max Font ascent =50 descent=-9 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_fur49n[2683] U8G_FONT_SECTION("u8g_font_fur49n") = { + 0,92,89,251,238,49,0,0,0,0,42,58,0,50,247,49, + 0,27,26,104,45,9,23,0,192,96,0,3,192,120,0,15, + 192,126,0,7,224,252,0,3,224,248,0,1,241,240,0,1, + 241,240,0,0,251,224,0,0,123,192,0,0,59,128,0,224, + 63,128,224,255,255,255,224,255,255,255,224,255,255,255,224,255, + 159,63,224,128,63,128,32,0,123,192,0,0,123,192,0,0, + 241,224,0,1,241,240,0,3,241,248,0,3,224,248,0,7, + 224,252,0,15,192,124,0,3,192,120,0,0,128,32,0,41, + 41,246,69,14,0,0,0,60,0,0,0,0,0,60,0,0, + 0,0,0,60,0,0,0,0,0,60,0,0,0,0,0,60, + 0,0,0,0,0,60,0,0,0,0,0,60,0,0,0,0, + 0,60,0,0,0,0,0,60,0,0,0,0,0,60,0,0, + 0,0,0,60,0,0,0,0,0,60,0,0,0,0,0,60, + 0,0,0,0,0,60,0,0,0,0,0,60,0,0,0,0, + 0,60,0,0,0,0,0,60,0,0,0,0,0,60,0,0, + 0,0,0,60,0,0,0,255,255,255,255,255,128,255,255,255, + 255,255,128,255,255,255,255,255,128,255,255,255,255,255,128,0, + 0,60,0,0,0,0,0,60,0,0,0,0,0,60,0,0, + 0,0,0,60,0,0,0,0,0,60,0,0,0,0,0,60, + 0,0,0,0,0,60,0,0,0,0,0,60,0,0,0,0, + 0,60,0,0,0,0,0,60,0,0,0,0,0,60,0,0, + 0,0,0,60,0,0,0,0,0,60,0,0,0,0,0,60, + 0,0,0,0,0,60,0,0,0,0,0,60,0,0,0,0, + 0,60,0,0,0,0,0,60,0,0,0,12,17,34,19,3, + 247,15,240,15,240,15,224,15,224,31,224,31,192,31,192,31, + 128,63,128,63,0,63,0,62,0,126,0,126,0,124,0,124, + 0,248,0,16,6,12,22,3,14,255,255,255,255,255,255,255, + 255,255,255,255,255,7,8,8,19,7,0,254,254,254,254,254, + 254,254,254,21,54,162,27,3,252,0,0,248,0,0,240,0, + 1,240,0,1,240,0,1,240,0,1,224,0,3,224,0,3, + 224,0,3,192,0,7,192,0,7,192,0,7,128,0,15,128, + 0,15,128,0,15,128,0,15,0,0,31,0,0,31,0,0, + 30,0,0,62,0,0,62,0,0,60,0,0,124,0,0,124, + 0,0,124,0,0,120,0,0,248,0,0,248,0,0,240,0, + 1,240,0,1,240,0,1,240,0,1,224,0,3,224,0,3, + 224,0,3,192,0,7,192,0,7,192,0,7,128,0,15,128, + 0,15,128,0,15,128,0,15,0,0,31,0,0,31,0,0, + 30,0,0,62,0,0,62,0,0,60,0,0,124,0,0,124, + 0,0,124,0,0,120,0,0,248,0,0,31,51,204,38,3, + 255,0,31,240,0,0,127,252,0,1,255,255,0,3,255,255, + 128,7,255,255,192,15,255,255,224,31,240,31,240,31,192,15, + 240,63,128,7,248,63,128,3,248,63,0,1,248,127,0,1, + 252,126,0,1,252,126,0,0,252,126,0,0,252,254,0,0, + 252,254,0,0,254,252,0,0,254,252,0,0,254,252,0,0, + 254,252,0,0,126,252,0,0,126,252,0,0,126,252,0,0, + 126,252,0,0,126,252,0,0,126,252,0,0,126,252,0,0, + 126,252,0,0,126,252,0,0,254,254,0,0,254,254,0,0, + 254,254,0,0,254,254,0,0,254,126,0,0,254,126,0,0, + 252,126,0,0,252,127,0,1,252,127,0,1,252,63,0,1, + 252,63,128,3,248,63,128,3,248,31,192,7,248,31,224,15, + 240,15,248,63,240,15,255,255,224,7,255,255,192,3,255,255, + 128,1,255,255,0,0,127,252,0,0,15,240,0,16,49,98, + 38,9,0,0,127,0,255,1,255,3,255,7,255,31,255,63, + 255,127,255,255,255,255,63,252,63,240,63,192,63,0,63,0, + 63,0,63,0,63,0,63,0,63,0,63,0,63,0,63,0, + 63,0,63,0,63,0,63,0,63,0,63,0,63,0,63,0, + 63,0,63,0,63,0,63,0,63,0,63,0,63,0,63,0, + 63,0,63,0,63,0,63,0,63,0,63,0,63,0,63,0, + 63,0,63,0,63,29,50,200,38,4,0,0,31,224,0,0, + 255,252,0,3,255,255,0,7,255,255,128,15,255,255,192,31, + 255,255,224,31,240,31,224,63,224,7,240,63,192,3,240,63, + 128,3,248,127,128,3,248,127,0,1,248,127,0,1,248,127, + 0,1,248,127,0,1,248,0,0,1,248,0,0,1,248,0, + 0,3,248,0,0,3,248,0,0,7,240,0,0,7,240,0, + 0,15,224,0,0,31,224,0,0,63,192,0,0,127,128,0, + 0,127,0,0,0,255,0,0,1,254,0,0,3,252,0,0, + 7,248,0,0,15,240,0,0,31,240,0,0,63,224,0,0, + 127,192,0,0,127,128,0,0,255,0,0,1,254,0,0,3, + 252,0,0,7,248,0,0,15,248,0,0,31,240,0,0,63, + 224,0,0,127,192,0,0,255,128,0,0,255,0,0,0,255, + 255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255, + 255,255,248,31,51,204,38,3,255,0,31,240,0,0,255,254, + 0,1,255,255,128,3,255,255,192,7,255,255,224,15,248,31, + 240,31,224,7,248,31,192,3,248,63,192,1,252,63,128,0, + 252,63,128,0,252,127,0,0,252,127,0,0,252,127,0,0, + 252,0,0,0,252,0,0,0,252,0,0,1,252,0,0,1, + 248,0,0,3,248,0,0,7,240,0,0,31,224,0,0,255, + 192,0,31,255,128,0,31,254,0,0,31,252,0,0,31,255, + 0,0,31,255,192,0,0,255,224,0,0,15,240,0,0,7, + 248,0,0,3,252,0,0,1,252,0,0,0,254,0,0,0, + 254,0,0,0,126,0,0,0,126,0,0,0,126,254,0,0, + 126,254,0,0,126,255,0,0,126,255,0,0,254,127,0,0, + 254,127,128,1,252,127,128,3,252,63,224,7,248,31,248,31, + 240,15,255,255,224,7,255,255,192,3,255,255,128,0,255,254, + 0,0,31,240,0,34,50,250,38,2,0,0,0,15,240,0, + 0,0,15,240,0,0,0,31,240,0,0,0,63,240,0,0, + 0,63,240,0,0,0,127,240,0,0,0,255,240,0,0,0, + 255,240,0,0,1,251,240,0,0,3,251,240,0,0,3,243, + 240,0,0,7,227,240,0,0,15,227,240,0,0,15,195,240, + 0,0,31,131,240,0,0,63,131,240,0,0,63,3,240,0, + 0,126,3,240,0,0,254,3,240,0,1,252,3,240,0,1, + 248,3,240,0,3,248,3,240,0,7,240,3,240,0,7,224, + 3,240,0,15,224,3,240,0,31,192,3,240,0,31,128,3, + 240,0,63,128,3,240,0,127,0,3,240,0,126,0,3,240, + 0,252,0,3,240,0,252,0,3,240,0,255,255,255,255,192, + 255,255,255,255,192,255,255,255,255,192,255,255,255,255,192,255, + 255,255,255,192,255,255,255,255,192,0,0,3,240,0,0,0, + 3,240,0,0,0,3,240,0,0,0,3,240,0,0,0,3, + 240,0,0,0,3,240,0,0,0,3,240,0,0,0,3,240, + 0,0,0,3,240,0,0,0,3,240,0,0,0,3,240,0, + 0,0,3,240,0,30,50,200,38,4,255,63,255,255,224,63, + 255,255,224,63,255,255,224,63,255,255,224,63,255,255,224,63, + 255,255,224,63,0,0,0,63,0,0,0,63,0,0,0,63, + 0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63, + 0,0,0,63,0,0,0,63,0,0,0,63,3,248,0,63, + 31,254,0,63,63,255,128,63,127,255,192,63,255,255,224,63, + 248,31,224,63,224,7,240,63,192,3,240,63,128,3,248,63, + 0,1,248,63,0,1,252,62,0,1,252,0,0,0,252,0, + 0,0,252,0,0,0,252,0,0,0,252,0,0,0,252,0, + 0,0,252,0,0,0,252,0,0,0,252,0,0,0,252,254, + 0,1,252,254,0,1,248,254,0,1,248,255,0,3,248,127, + 0,3,240,127,128,7,224,127,192,15,224,63,240,63,192,31, + 255,255,128,15,255,255,0,7,255,254,0,1,255,248,0,0, + 31,224,0,31,51,204,38,3,255,0,7,248,0,0,63,255, + 0,0,255,255,192,1,255,255,224,3,255,255,240,7,252,15, + 240,15,248,7,248,31,224,3,248,31,192,1,252,63,192,1, + 252,63,128,0,252,63,0,0,252,127,0,0,252,127,0,0, + 0,127,0,0,0,126,0,0,0,126,0,0,0,126,0,0, + 0,126,0,0,0,126,0,0,0,126,7,252,0,126,31,255, + 0,126,63,255,192,126,127,255,224,126,255,255,240,127,252,15, + 248,127,240,3,248,255,192,1,252,255,192,1,252,255,128,0, + 254,255,128,0,254,255,0,0,126,255,0,0,126,255,0,0, + 126,255,0,0,126,255,0,0,126,255,0,0,126,255,0,0, + 126,127,0,0,126,127,0,0,126,127,128,0,254,63,128,0, + 252,63,128,1,252,31,192,1,252,31,224,3,248,15,248,15, + 240,7,255,255,224,3,255,255,192,1,255,255,128,0,127,254, + 0,0,15,248,0,30,49,196,38,4,0,255,255,255,252,255, + 255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,0, + 0,0,252,0,0,1,252,0,0,1,252,0,0,1,248,0, + 0,3,248,0,0,3,240,0,0,7,240,0,0,7,240,0, + 0,7,224,0,0,15,224,0,0,15,224,0,0,31,192,0, + 0,31,192,0,0,31,128,0,0,63,128,0,0,63,128,0, + 0,127,0,0,0,127,0,0,0,127,0,0,0,254,0,0, + 0,254,0,0,0,254,0,0,1,252,0,0,1,252,0,0, + 3,248,0,0,3,248,0,0,3,248,0,0,7,240,0,0, + 7,240,0,0,15,240,0,0,15,224,0,0,15,224,0,0, + 31,192,0,0,31,192,0,0,63,192,0,0,63,128,0,0, + 63,128,0,0,127,128,0,0,127,0,0,0,127,0,0,0, + 254,0,0,0,254,0,0,1,254,0,0,1,252,0,0,32, + 51,204,38,3,255,0,15,248,0,0,127,255,0,1,255,255, + 128,3,255,255,224,7,255,255,240,15,248,31,248,31,224,7, + 252,31,192,1,252,63,128,1,252,63,128,0,254,63,0,0, + 254,63,0,0,254,63,0,0,126,63,0,0,126,63,0,0, + 126,63,0,0,254,63,0,0,252,31,128,0,252,31,128,1, + 248,15,192,3,248,15,224,7,240,7,248,31,224,3,255,255, + 192,0,255,255,128,0,127,254,0,1,255,255,128,3,255,255, + 192,15,248,15,240,31,192,3,248,31,128,1,248,63,0,0, + 252,127,0,0,126,126,0,0,126,126,0,0,126,254,0,0, + 127,252,0,0,63,252,0,0,63,252,0,0,63,254,0,0, + 127,254,0,0,127,254,0,0,127,254,0,0,127,127,0,0, + 254,127,128,1,254,63,192,3,252,63,240,15,252,31,255,255, + 248,15,255,255,240,3,255,255,192,0,255,255,0,0,15,248, + 0,31,51,204,38,3,255,0,31,248,0,0,255,255,0,3, + 255,255,192,7,255,255,224,15,255,255,240,31,240,31,248,63, + 192,7,248,63,128,3,252,127,0,1,252,126,0,1,252,126, + 0,0,254,254,0,0,254,254,0,0,254,252,0,0,254,252, + 0,0,254,252,0,0,254,252,0,0,254,252,0,0,254,254, + 0,0,254,254,0,0,254,254,0,0,254,126,0,1,254,127, + 0,1,254,63,128,3,254,63,192,7,254,31,240,31,254,31, + 255,255,126,15,255,254,126,7,255,252,126,1,255,248,126,0, + 63,224,126,0,0,0,126,0,0,0,126,0,0,0,126,0, + 0,0,254,0,0,0,252,0,0,0,252,0,0,0,252,126, + 0,0,252,127,0,1,248,63,0,1,248,63,0,3,248,63, + 0,7,240,63,128,7,240,31,192,31,224,31,224,63,224,15, + 255,255,192,7,255,255,128,3,255,255,0,1,255,252,0,0, + 63,224,0,7,34,34,19,7,0,254,254,254,254,254,254,254, + 254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,254,254,254,254,254,254,254,254}; +/* + Fontname: -FreeType-Gentium Basic-Bold-R-Normal--18-180-72-72-P-89-ISO10646-1 + Copyright: Copyright (c) SIL International, 2003-2008. + Capital A Height: 11, '1' Height: 11 + Calculated Max Values w=15 h=19 x= 2 y=11 dx=16 dy= 0 ascent=16 len=34 + Font Bounding box w=27 h=26 x=-9 y=-6 + Calculated Min Values x=-3 y=-5 dx= 0 dy= 0 + Pure Font ascent =11 descent=-4 + X Font ascent =14 descent=-4 + Max Font ascent =16 descent=-5 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_gdb11[4313] U8G_FONT_SECTION("u8g_font_gdb11") = { + 0,27,26,247,250,11,2,67,5,71,32,255,252,16,251,14, + 252,0,0,0,4,0,0,3,14,14,6,1,255,96,224,96, + 96,96,96,96,64,64,64,0,224,224,192,6,6,6,8,1, + 7,108,236,204,76,76,76,8,10,10,9,1,1,26,18,22, + 127,36,36,254,72,72,216,7,14,14,9,1,254,16,16,126, + 150,144,240,120,30,18,146,210,252,16,16,11,11,22,13,1, + 0,112,64,144,128,137,128,139,0,146,0,85,192,42,32,26, + 32,50,32,34,32,65,192,11,13,26,12,1,0,28,0,102, + 0,70,0,70,0,124,0,120,0,113,224,248,128,252,128,222, + 128,207,0,195,128,125,224,3,6,6,5,1,7,96,224,192, + 64,64,64,4,17,17,6,1,253,16,32,96,64,64,192,192, + 192,192,192,192,192,192,64,96,32,16,4,17,17,6,1,253, + 128,64,96,32,48,48,48,48,48,48,48,48,32,32,96,64, + 128,6,8,8,8,1,6,48,176,252,120,120,252,52,48,7, + 6,6,8,0,2,16,16,16,254,16,16,3,5,5,5,1, + 253,96,224,96,64,192,6,1,1,6,0,4,252,3,3,3, + 5,1,255,224,224,192,8,17,17,9,0,253,3,3,2,6, + 6,4,12,12,24,24,16,48,48,32,96,64,192,7,11,11, + 9,1,0,56,76,70,198,198,198,198,198,196,100,56,7,11, + 11,9,1,0,24,248,24,24,24,24,24,24,24,24,126,7, + 11,11,9,1,0,60,102,102,6,4,8,16,34,66,126,254, + 7,11,11,8,0,0,60,102,102,6,8,28,6,6,6,140, + 120,7,11,11,8,0,0,4,12,12,20,52,36,68,126,132, + 4,30,7,11,11,9,1,0,126,124,64,64,124,134,6,6, + 6,134,124,7,11,11,9,1,0,12,48,96,64,252,198,198, + 198,198,100,56,7,11,11,9,1,0,254,254,134,4,4,8, + 8,24,48,48,96,8,11,11,10,1,0,60,102,102,102,124, + 62,71,195,195,195,60,7,11,11,9,1,0,56,68,198,198, + 198,198,126,4,12,24,224,3,9,9,5,1,255,224,224,192, + 0,0,0,224,224,192,3,11,11,5,1,253,224,224,192,0, + 0,0,96,224,96,64,192,8,6,6,8,0,2,3,30,112, + 240,30,7,8,4,4,8,0,3,127,128,0,255,8,6,6, + 8,0,2,96,188,15,14,120,192,7,14,14,8,1,255,60, + 198,198,134,12,8,16,32,32,32,0,56,56,56,14,16,32, + 16,1,252,7,192,31,240,48,56,64,8,71,68,136,196,152, + 196,152,196,152,196,152,200,159,248,206,224,192,32,112,112,63, + 192,31,128,11,11,22,11,0,0,6,0,14,0,14,0,11, + 0,19,0,19,0,63,128,33,128,33,192,96,192,241,224,9, + 11,22,11,1,0,254,0,99,0,99,0,99,0,126,0,99, + 128,97,128,97,128,97,128,97,128,254,0,8,11,11,10,1, + 0,31,99,64,192,192,192,192,192,192,97,62,9,11,22,11, + 1,0,254,0,99,0,97,0,97,128,97,128,97,128,97,128, + 97,128,97,0,99,0,252,0,9,11,22,9,0,0,255,0, + 49,0,49,0,48,0,48,0,63,0,48,0,48,0,48,128, + 48,128,255,128,9,11,22,9,0,0,255,128,49,0,49,0, + 48,0,48,0,62,0,48,0,48,0,48,0,48,0,248,0, + 11,11,22,11,0,0,15,192,49,192,64,0,192,0,192,0, + 192,0,193,224,192,192,64,192,112,192,31,128,10,11,22,12, + 1,0,243,192,97,128,97,128,97,128,97,128,127,128,97,128, + 97,128,97,128,97,128,243,192,4,11,11,6,1,0,240,96, + 96,96,96,96,96,96,96,96,240,7,14,14,6,254,253,62, + 12,12,12,12,12,12,12,12,12,12,8,136,240,10,11,22, + 11,1,0,243,192,99,0,102,0,108,0,104,0,120,0,108, + 0,102,0,103,0,99,128,241,192,8,11,11,9,1,0,240, + 96,96,96,96,96,96,96,97,97,255,15,11,22,15,0,0, + 112,28,56,56,56,56,56,120,44,88,44,88,38,216,38,152, + 35,152,35,24,243,62,10,11,22,12,1,0,225,192,96,128, + 112,128,120,128,92,128,76,128,70,128,71,128,67,128,65,128, + 225,128,10,11,22,11,0,0,30,0,33,128,64,128,192,192, + 192,192,192,192,192,192,192,192,64,128,97,0,30,0,8,11, + 11,10,1,0,254,99,99,99,98,124,96,96,96,96,240,12, + 14,28,11,0,253,30,0,33,128,64,128,192,192,192,192,192, + 192,192,192,192,192,64,128,97,0,30,0,3,144,1,240,0, + 96,10,11,22,11,1,0,254,0,99,0,99,0,99,0,98, + 0,124,0,100,0,102,0,99,0,99,128,241,192,7,11,11, + 9,1,0,62,198,128,192,112,60,6,2,130,196,248,10,11, + 22,10,0,0,255,192,140,64,140,64,12,0,12,0,12,0, + 12,0,12,0,12,0,12,0,30,0,10,11,22,12,1,0, + 241,192,96,128,96,128,96,128,96,128,96,128,96,128,96,128, + 96,128,49,0,30,0,12,11,22,12,0,0,248,240,112,64, + 48,64,48,128,24,128,25,128,29,0,13,0,15,0,6,0, + 6,0,15,11,22,15,0,0,241,30,97,132,49,140,51,200, + 50,200,50,200,28,120,28,112,28,48,24,48,8,48,11,11, + 22,11,0,0,249,224,48,128,57,128,31,0,14,0,6,0, + 15,0,27,0,49,128,33,192,243,224,10,11,22,11,1,0, + 227,192,113,128,49,0,59,0,26,0,14,0,12,0,12,0, + 12,0,12,0,30,0,9,11,22,10,0,0,127,128,67,0, + 71,0,6,0,14,0,12,0,24,0,56,0,48,128,112,128, + 255,128,4,17,17,6,1,253,240,128,128,128,128,128,128,128, + 128,128,128,128,128,128,128,128,240,8,17,17,8,0,253,192, + 64,96,32,48,48,16,24,24,8,12,4,6,6,2,3,3, + 4,17,17,6,1,253,240,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,240,7,9,9,9,1,5,16,48,56, + 40,76,76,68,134,130,8,1,1,9,0,254,255,4,4,4, + 6,0,9,192,96,32,16,8,8,8,9,1,0,60,102,198, + 30,102,198,207,118,9,14,28,10,0,0,96,0,224,0,96, + 0,96,0,96,0,96,0,103,0,127,128,112,128,96,128,96, + 128,97,0,97,0,62,0,7,8,8,8,1,0,62,70,196, + 192,192,192,66,124,9,14,28,10,1,0,3,0,7,0,3, + 0,3,0,3,0,3,0,63,0,67,0,195,0,195,0,195, + 0,195,0,127,128,59,0,7,8,8,9,1,0,60,70,198, + 254,192,192,98,60,7,13,13,6,1,0,30,36,96,96,96, + 252,96,96,96,96,96,96,248,10,12,24,10,0,252,62,192, + 193,0,129,0,193,0,62,0,112,0,254,0,255,128,227,128, + 192,128,193,0,62,0,9,14,28,10,1,0,96,0,224,0, + 96,0,96,0,96,0,96,0,102,0,127,0,115,0,99,0, + 99,0,99,0,99,0,247,128,4,12,12,6,1,0,48,112, + 0,0,96,224,96,96,96,96,96,240,7,16,16,5,253,252, + 14,14,0,0,28,12,12,12,12,12,12,12,12,140,248,224, + 9,14,28,10,1,0,96,0,224,0,96,0,96,0,96,0, + 96,0,103,128,102,0,108,0,120,0,108,0,102,0,103,0, + 243,128,4,14,14,5,1,0,96,224,96,96,96,96,96,96, + 96,96,96,96,96,240,14,8,16,15,1,0,110,112,255,248, + 99,24,99,24,99,24,99,24,99,24,247,188,9,8,16,10, + 1,0,110,0,255,0,115,0,99,0,99,0,99,0,99,0, + 247,128,7,8,8,9,1,0,56,68,198,198,198,198,68,56, + 8,12,12,10,1,252,110,255,97,97,97,97,98,124,96,96, + 96,240,9,12,24,10,1,252,61,0,67,0,195,0,195,0, + 195,0,195,0,127,0,59,0,3,0,3,0,3,0,7,128, + 8,8,8,8,0,0,119,255,50,50,48,48,48,248,6,8, + 8,8,1,0,240,152,144,240,60,132,196,248,6,11,11,7, + 0,0,32,96,96,252,96,96,96,96,100,124,48,10,8,16, + 10,0,0,227,128,97,128,97,128,97,128,97,128,97,128,127, + 192,57,128,9,8,16,9,0,0,243,128,97,0,51,0,50, + 0,30,0,28,0,28,0,8,0,13,8,16,13,0,0,242, + 56,99,16,51,32,53,160,53,160,24,224,24,192,24,192,9, + 8,16,9,0,0,251,128,115,0,62,0,28,0,28,0,22, + 0,35,0,247,128,10,12,24,9,255,252,121,192,48,128,25, + 128,25,0,15,0,14,0,14,0,6,0,4,0,12,0,120, + 0,240,0,7,8,8,8,1,0,254,140,152,56,48,98,226, + 254,6,17,17,5,0,253,8,28,48,48,48,48,48,48,224, + 48,48,48,48,48,48,24,8,1,19,19,4,2,252,128,128, + 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, + 128,6,17,17,5,255,253,64,96,48,48,48,48,48,48,28, + 48,48,48,48,48,48,96,192,8,2,2,9,0,4,57,206, + 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,255,255,255,255,255,255, + 255,0,0,0,4,0,0,3,13,13,6,1,251,96,224,64, + 64,64,64,96,96,96,96,96,96,192,7,11,11,9,1,0, + 16,24,126,148,144,144,144,210,124,16,16,8,11,11,9,1, + 0,30,34,98,96,96,252,96,96,97,127,158,7,7,7,9, + 1,2,132,126,68,68,68,68,254,10,11,22,9,255,0,227, + 192,113,0,51,0,58,0,26,0,30,0,12,0,127,128,12, + 0,12,0,30,0,1,19,19,4,2,252,128,128,128,128,128, + 128,128,128,0,0,0,128,128,128,128,128,128,128,128,7,13, + 13,9,1,0,112,152,144,240,252,158,130,98,60,12,68,100, + 124,6,3,3,7,0,9,196,204,140,11,12,24,13,1,0, + 31,0,32,128,79,64,147,32,146,32,144,32,144,32,144,32, + 137,32,78,64,32,128,31,0,5,6,6,5,0,5,112,208, + 176,144,248,240,7,8,8,9,1,0,18,38,108,220,220,108, + 38,18,7,4,4,9,1,1,254,2,2,2,6,1,1,6, + 0,4,252,6,7,7,6,0,6,120,72,188,188,180,104,120, + 7,1,1,9,1,11,254,4,4,4,6,1,7,112,144,144, + 224,7,8,8,7,0,1,16,16,254,16,16,16,0,254,4, + 7,7,6,1,5,112,208,16,32,64,144,240,4,7,7,6, + 1,5,48,80,144,48,16,144,224,4,4,4,6,2,9,112, + 96,192,128,9,12,24,10,1,252,227,0,99,0,99,0,99, + 0,99,0,99,0,127,128,91,0,64,0,64,0,96,0,112, + 0,10,13,26,11,0,254,63,192,98,128,194,128,194,128,98, + 128,62,128,2,128,2,128,2,128,2,128,2,128,2,128,7, + 192,3,3,3,4,0,5,224,224,192,2,4,4,4,2,252, + 192,64,64,192,4,7,7,6,1,5,32,224,32,32,32,32, + 240,4,6,6,5,0,5,96,144,144,144,96,240,8,8,8, + 9,1,0,136,76,102,55,55,102,76,136,10,11,22,11,1, + 0,192,192,65,128,65,0,66,0,68,0,172,0,8,128,19, + 128,50,128,99,192,197,192,9,11,22,11,1,0,192,128,65, + 0,66,0,66,0,68,0,168,0,25,128,18,128,33,0,98, + 128,199,128,11,11,22,11,0,0,96,96,80,192,32,128,17, + 0,146,0,230,0,4,64,9,192,25,64,49,224,98,224,6, + 13,13,8,1,251,56,56,48,16,16,16,32,96,192,196,204, + 204,112,11,16,32,11,0,0,16,0,24,0,12,0,6,0, + 0,0,6,0,14,0,14,0,11,0,19,0,19,0,63,128, + 33,128,33,192,96,192,241,224,11,16,32,11,0,0,1,0, + 3,128,6,0,12,0,0,0,6,0,14,0,14,0,11,0, + 19,0,19,0,63,128,33,128,33,192,96,192,241,224,11,16, + 32,11,0,0,4,0,14,0,31,0,17,0,0,128,6,0, + 14,0,14,0,11,0,19,0,19,0,63,128,33,128,33,192, + 96,192,241,224,11,15,30,11,0,0,12,128,31,128,39,0, + 0,0,6,0,14,0,14,0,11,0,19,0,19,0,63,128, + 33,128,33,192,96,192,241,224,11,15,30,11,0,0,16,128, + 49,128,49,128,0,0,6,0,14,0,14,0,11,0,19,0, + 19,0,63,128,33,128,33,192,96,192,241,224,11,16,32,11, + 0,0,6,0,10,0,10,0,14,0,0,0,6,0,14,0, + 14,0,11,0,19,0,19,0,63,128,33,128,33,192,96,192, + 241,224,14,11,22,15,0,0,15,252,7,140,5,136,13,128, + 9,128,31,248,25,128,17,128,49,132,33,132,243,252,9,15, + 30,10,0,252,31,0,99,0,64,0,192,0,192,0,192,0, + 192,0,192,0,96,0,112,128,31,0,4,0,2,0,6,0, + 28,0,9,16,32,9,0,0,32,0,48,0,24,0,4,0, + 0,0,255,0,49,0,49,0,48,0,48,0,63,0,48,0, + 48,0,48,128,48,128,255,128,9,16,32,9,0,0,2,0, + 7,0,14,0,24,0,0,0,255,0,49,0,49,0,48,0, + 48,0,63,0,48,0,48,0,48,128,48,128,255,128,9,16, + 32,9,0,0,8,0,28,0,30,0,35,0,0,0,255,0, + 49,0,49,0,48,0,48,0,63,0,48,0,48,0,48,128, + 48,128,255,128,9,15,30,9,0,0,33,0,97,0,99,0, + 0,0,255,0,49,0,49,0,48,0,48,0,63,0,48,0, + 48,0,48,128,48,128,255,128,5,16,16,6,0,0,64,224, + 112,16,8,120,48,48,48,48,48,48,48,48,48,120,5,16, + 16,6,1,0,16,56,112,192,0,240,96,96,96,96,96,96, + 96,96,96,240,6,16,16,6,0,0,48,112,120,204,0,120, + 48,48,48,48,48,48,48,48,48,120,7,15,15,6,255,0, + 66,194,194,0,60,24,24,24,24,24,24,24,24,24,60,9, + 11,22,11,1,0,254,0,99,0,97,0,97,128,97,128,249, + 128,97,128,97,128,97,0,99,0,252,0,10,15,30,12,1, + 0,25,0,63,0,46,0,0,0,225,192,96,128,112,128,120, + 128,92,128,76,128,70,128,71,128,67,128,65,128,225,128,10, + 16,32,11,0,0,16,0,24,0,12,0,2,0,0,0,30, + 0,33,128,64,128,192,192,192,192,192,192,192,192,192,192,64, + 128,97,0,30,0,10,16,32,11,0,0,1,0,3,128,6, + 0,12,0,0,0,30,0,33,128,64,128,192,192,192,192,192, + 192,192,192,192,192,64,128,97,0,30,0,10,16,32,11,0, + 0,4,0,14,0,31,0,17,128,0,0,30,0,33,128,64, + 128,192,192,192,192,192,192,192,192,192,192,64,128,97,0,30, + 0,10,15,30,11,0,0,12,128,31,128,39,0,0,0,30, + 0,33,128,64,128,192,192,192,192,192,192,192,192,192,192,64, + 128,97,0,30,0,10,15,30,11,0,0,16,128,49,128,49, + 128,0,0,30,0,33,128,64,128,192,192,192,192,192,192,192, + 192,192,192,64,128,97,0,30,0,6,6,6,8,1,2,140, + 216,112,112,216,140,10,11,22,11,0,0,31,192,35,128,99, + 128,195,192,198,192,204,192,216,192,240,192,113,128,113,0,254, + 0,10,16,32,12,1,0,16,0,56,0,28,0,6,0,0, + 0,241,192,96,128,96,128,96,128,96,128,96,128,96,128,96, + 128,96,128,49,0,30,0,10,16,32,12,1,0,2,0,7, + 0,14,0,24,0,0,0,241,192,96,128,96,128,96,128,96, + 128,96,128,96,128,96,128,96,128,49,0,30,0,10,16,32, + 12,1,0,12,0,14,0,30,0,51,0,0,0,241,192,96, + 128,96,128,96,128,96,128,96,128,96,128,96,128,96,128,49, + 0,30,0,10,15,30,12,1,0,33,0,33,128,33,0,0, + 0,241,192,96,128,96,128,96,128,96,128,96,128,96,128,96, + 128,96,128,49,0,30,0,10,16,32,11,1,0,4,0,7, + 0,12,0,24,0,0,0,227,192,113,128,49,0,59,0,26, + 0,14,0,12,0,12,0,12,0,12,0,30,0,8,11,11, + 10,1,0,240,96,126,99,99,99,99,98,124,96,240,9,13, + 26,11,1,0,14,0,49,128,33,128,97,128,97,0,102,0, + 104,0,100,0,103,0,97,128,104,128,104,128,239,0,8,13, + 13,9,1,0,96,48,16,8,0,60,102,198,30,102,198,207, + 118,8,13,13,9,1,0,12,28,24,48,0,60,102,198,30, + 102,198,207,118,8,13,13,9,1,0,16,56,108,198,0,60, + 102,198,30,102,198,207,118,8,12,12,9,1,0,114,252,0, + 0,60,102,198,30,102,198,207,118,8,12,12,9,1,0,194, + 198,134,0,60,102,198,30,102,198,207,118,8,13,13,9,1, + 0,24,40,40,48,0,60,102,198,30,102,198,207,118,11,8, + 16,13,1,0,61,192,102,32,196,32,63,224,68,0,198,32, + 255,192,115,128,7,12,12,8,1,252,62,70,196,192,192,192, + 102,56,16,8,24,48,7,13,13,9,1,0,96,48,24,8, + 0,60,70,198,254,192,192,98,60,7,13,13,9,1,0,12, + 14,24,48,0,60,70,198,254,192,192,98,60,7,13,13,9, + 1,0,24,56,108,66,0,60,70,198,254,192,192,98,60,7, + 12,12,9,1,0,66,198,194,0,60,70,198,254,192,192,98, + 60,5,13,13,5,0,0,224,96,48,16,0,48,112,48,48, + 48,48,48,120,5,13,13,5,1,0,48,56,96,64,128,96, + 224,96,96,96,96,96,240,6,13,13,5,0,0,48,112,216, + 132,0,48,112,48,48,48,48,48,120,7,12,12,5,255,0, + 66,194,194,0,24,56,24,24,24,24,24,60,7,13,13,9, + 1,0,112,62,56,108,4,62,78,198,198,198,196,76,56,9, + 12,24,10,1,0,57,0,126,0,0,0,0,0,110,0,255, + 0,115,0,99,0,99,0,99,0,99,0,247,128,7,13,13, + 9,1,0,112,48,24,8,0,56,68,198,198,198,198,68,56, + 7,13,13,9,1,0,14,12,24,16,0,56,68,198,198,198, + 198,68,56,7,13,13,9,1,0,24,60,44,66,0,56,68, + 198,198,198,198,68,56,7,12,12,9,1,0,50,124,128,0, + 56,68,198,198,198,198,68,56,7,12,12,9,1,0,66,194, + 66,0,56,68,198,198,198,198,68,56,7,6,6,8,0,2, + 16,16,0,126,144,16,7,9,9,9,1,0,2,58,68,206, + 214,230,230,68,248,10,13,26,10,0,0,24,0,56,0,12, + 0,4,0,0,0,227,128,97,128,97,128,97,128,97,128,97, + 128,127,192,57,128,10,13,26,10,0,0,7,0,6,0,12, + 0,8,0,0,0,227,128,97,128,97,128,97,128,97,128,97, + 128,127,192,57,128,10,13,26,10,0,0,12,0,30,0,18, + 0,33,0,0,0,227,128,97,128,97,128,97,128,97,128,97, + 128,127,192,57,128,10,12,24,10,0,0,33,0,33,128,33, + 0,0,0,227,128,97,128,97,128,97,128,97,128,97,128,127, + 192,57,128,10,17,34,9,255,252,3,0,3,128,6,0,4, + 0,8,0,121,192,48,128,25,128,25,0,15,0,14,0,14, + 0,6,0,4,0,12,0,120,0,240,0,8,18,18,10,1, + 252,96,224,96,96,96,96,110,127,97,97,97,97,98,124,96, + 96,96,240,10,16,32,9,255,252,16,128,48,128,48,128,0, + 0,121,192,48,128,25,128,25,0,15,0,14,0,14,0,6, + 0,4,0,12,0,120,0,240,0}; +/* + Fontname: -FreeType-Gentium Basic-Bold-R-Normal--18-180-72-72-P-89-ISO10646-1 + Copyright: Copyright (c) SIL International, 2003-2008. + Capital A Height: 0, '1' Height: 11 + Calculated Max Values w= 8 h=17 x= 1 y= 6 dx=10 dy= 0 ascent=14 len=17 + Font Bounding box w=27 h=26 x=-9 y=-6 + Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 + Pure Font ascent =11 descent= 0 + X Font ascent =11 descent= 0 + Max Font ascent =14 descent=-3 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_gdb11n[278] U8G_FONT_SECTION("u8g_font_gdb11n") = { + 0,27,26,247,250,11,0,0,0,0,42,58,0,14,253,11, + 0,6,8,8,8,1,6,48,176,252,120,120,252,52,48,7, + 6,6,8,0,2,16,16,16,254,16,16,3,5,5,5,1, + 253,96,224,96,64,192,6,1,1,6,0,4,252,3,3,3, + 5,1,255,224,224,192,8,17,17,9,0,253,3,3,2,6, + 6,4,12,12,24,24,16,48,48,32,96,64,192,7,11,11, + 9,1,0,56,76,70,198,198,198,198,198,196,100,56,7,11, + 11,9,1,0,24,248,24,24,24,24,24,24,24,24,126,7, + 11,11,9,1,0,60,102,102,6,4,8,16,34,66,126,254, + 7,11,11,8,0,0,60,102,102,6,8,28,6,6,6,140, + 120,7,11,11,8,0,0,4,12,12,20,52,36,68,126,132, + 4,30,7,11,11,9,1,0,126,124,64,64,124,134,6,6, + 6,134,124,7,11,11,9,1,0,12,48,96,64,252,198,198, + 198,198,100,56,7,11,11,9,1,0,254,254,134,4,4,8, + 8,24,48,48,96,8,11,11,10,1,0,60,102,102,102,124, + 62,71,195,195,195,60,7,11,11,9,1,0,56,68,198,198, + 198,198,126,4,12,24,224,3,9,9,5,1,255,224,224,192, + 0,0,0,224,224,192}; +/* + Fontname: -FreeType-Gentium Basic-Bold-R-Normal--18-180-72-72-P-89-ISO10646-1 + Copyright: Copyright (c) SIL International, 2003-2008. + Capital A Height: 11, '1' Height: 11 + Calculated Max Values w=15 h=19 x= 2 y= 9 dx=16 dy= 0 ascent=15 len=32 + Font Bounding box w=27 h=26 x=-9 y=-6 + Calculated Min Values x=-3 y=-4 dx= 0 dy= 0 + Pure Font ascent =11 descent=-4 + X Font ascent =14 descent=-4 + Max Font ascent =15 descent=-4 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_gdb11r[2001] U8G_FONT_SECTION("u8g_font_gdb11r") = { + 0,27,26,247,250,11,2,67,5,71,32,127,252,15,252,14, + 252,0,0,0,4,0,0,3,14,14,6,1,255,96,224,96, + 96,96,96,96,64,64,64,0,224,224,192,6,6,6,8,1, + 7,108,236,204,76,76,76,8,10,10,9,1,1,26,18,22, + 127,36,36,254,72,72,216,7,14,14,9,1,254,16,16,126, + 150,144,240,120,30,18,146,210,252,16,16,11,11,22,13,1, + 0,112,64,144,128,137,128,139,0,146,0,85,192,42,32,26, + 32,50,32,34,32,65,192,11,13,26,12,1,0,28,0,102, + 0,70,0,70,0,124,0,120,0,113,224,248,128,252,128,222, + 128,207,0,195,128,125,224,3,6,6,5,1,7,96,224,192, + 64,64,64,4,17,17,6,1,253,16,32,96,64,64,192,192, + 192,192,192,192,192,192,64,96,32,16,4,17,17,6,1,253, + 128,64,96,32,48,48,48,48,48,48,48,48,32,32,96,64, + 128,6,8,8,8,1,6,48,176,252,120,120,252,52,48,7, + 6,6,8,0,2,16,16,16,254,16,16,3,5,5,5,1, + 253,96,224,96,64,192,6,1,1,6,0,4,252,3,3,3, + 5,1,255,224,224,192,8,17,17,9,0,253,3,3,2,6, + 6,4,12,12,24,24,16,48,48,32,96,64,192,7,11,11, + 9,1,0,56,76,70,198,198,198,198,198,196,100,56,7,11, + 11,9,1,0,24,248,24,24,24,24,24,24,24,24,126,7, + 11,11,9,1,0,60,102,102,6,4,8,16,34,66,126,254, + 7,11,11,8,0,0,60,102,102,6,8,28,6,6,6,140, + 120,7,11,11,8,0,0,4,12,12,20,52,36,68,126,132, + 4,30,7,11,11,9,1,0,126,124,64,64,124,134,6,6, + 6,134,124,7,11,11,9,1,0,12,48,96,64,252,198,198, + 198,198,100,56,7,11,11,9,1,0,254,254,134,4,4,8, + 8,24,48,48,96,8,11,11,10,1,0,60,102,102,102,124, + 62,71,195,195,195,60,7,11,11,9,1,0,56,68,198,198, + 198,198,126,4,12,24,224,3,9,9,5,1,255,224,224,192, + 0,0,0,224,224,192,3,11,11,5,1,253,224,224,192,0, + 0,0,96,224,96,64,192,8,6,6,8,0,2,3,30,112, + 240,30,7,8,4,4,8,0,3,127,128,0,255,8,6,6, + 8,0,2,96,188,15,14,120,192,7,14,14,8,1,255,60, + 198,198,134,12,8,16,32,32,32,0,56,56,56,14,16,32, + 16,1,252,7,192,31,240,48,56,64,8,71,68,136,196,152, + 196,152,196,152,196,152,200,159,248,206,224,192,32,112,112,63, + 192,31,128,11,11,22,11,0,0,6,0,14,0,14,0,11, + 0,19,0,19,0,63,128,33,128,33,192,96,192,241,224,9, + 11,22,11,1,0,254,0,99,0,99,0,99,0,126,0,99, + 128,97,128,97,128,97,128,97,128,254,0,8,11,11,10,1, + 0,31,99,64,192,192,192,192,192,192,97,62,9,11,22,11, + 1,0,254,0,99,0,97,0,97,128,97,128,97,128,97,128, + 97,128,97,0,99,0,252,0,9,11,22,9,0,0,255,0, + 49,0,49,0,48,0,48,0,63,0,48,0,48,0,48,128, + 48,128,255,128,9,11,22,9,0,0,255,128,49,0,49,0, + 48,0,48,0,62,0,48,0,48,0,48,0,48,0,248,0, + 11,11,22,11,0,0,15,192,49,192,64,0,192,0,192,0, + 192,0,193,224,192,192,64,192,112,192,31,128,10,11,22,12, + 1,0,243,192,97,128,97,128,97,128,97,128,127,128,97,128, + 97,128,97,128,97,128,243,192,4,11,11,6,1,0,240,96, + 96,96,96,96,96,96,96,96,240,7,14,14,6,254,253,62, + 12,12,12,12,12,12,12,12,12,12,8,136,240,10,11,22, + 11,1,0,243,192,99,0,102,0,108,0,104,0,120,0,108, + 0,102,0,103,0,99,128,241,192,8,11,11,9,1,0,240, + 96,96,96,96,96,96,96,97,97,255,15,11,22,15,0,0, + 112,28,56,56,56,56,56,120,44,88,44,88,38,216,38,152, + 35,152,35,24,243,62,10,11,22,12,1,0,225,192,96,128, + 112,128,120,128,92,128,76,128,70,128,71,128,67,128,65,128, + 225,128,10,11,22,11,0,0,30,0,33,128,64,128,192,192, + 192,192,192,192,192,192,192,192,64,128,97,0,30,0,8,11, + 11,10,1,0,254,99,99,99,98,124,96,96,96,96,240,12, + 14,28,11,0,253,30,0,33,128,64,128,192,192,192,192,192, + 192,192,192,192,192,64,128,97,0,30,0,3,144,1,240,0, + 96,10,11,22,11,1,0,254,0,99,0,99,0,99,0,98, + 0,124,0,100,0,102,0,99,0,99,128,241,192,7,11,11, + 9,1,0,62,198,128,192,112,60,6,2,130,196,248,10,11, + 22,10,0,0,255,192,140,64,140,64,12,0,12,0,12,0, + 12,0,12,0,12,0,12,0,30,0,10,11,22,12,1,0, + 241,192,96,128,96,128,96,128,96,128,96,128,96,128,96,128, + 96,128,49,0,30,0,12,11,22,12,0,0,248,240,112,64, + 48,64,48,128,24,128,25,128,29,0,13,0,15,0,6,0, + 6,0,15,11,22,15,0,0,241,30,97,132,49,140,51,200, + 50,200,50,200,28,120,28,112,28,48,24,48,8,48,11,11, + 22,11,0,0,249,224,48,128,57,128,31,0,14,0,6,0, + 15,0,27,0,49,128,33,192,243,224,10,11,22,11,1,0, + 227,192,113,128,49,0,59,0,26,0,14,0,12,0,12,0, + 12,0,12,0,30,0,9,11,22,10,0,0,127,128,67,0, + 71,0,6,0,14,0,12,0,24,0,56,0,48,128,112,128, + 255,128,4,17,17,6,1,253,240,128,128,128,128,128,128,128, + 128,128,128,128,128,128,128,128,240,8,17,17,8,0,253,192, + 64,96,32,48,48,16,24,24,8,12,4,6,6,2,3,3, + 4,17,17,6,1,253,240,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,16,240,7,9,9,9,1,5,16,48,56, + 40,76,76,68,134,130,8,1,1,9,0,254,255,4,4,4, + 6,0,9,192,96,32,16,8,8,8,9,1,0,60,102,198, + 30,102,198,207,118,9,14,28,10,0,0,96,0,224,0,96, + 0,96,0,96,0,96,0,103,0,127,128,112,128,96,128,96, + 128,97,0,97,0,62,0,7,8,8,8,1,0,62,70,196, + 192,192,192,66,124,9,14,28,10,1,0,3,0,7,0,3, + 0,3,0,3,0,3,0,63,0,67,0,195,0,195,0,195, + 0,195,0,127,128,59,0,7,8,8,9,1,0,60,70,198, + 254,192,192,98,60,7,13,13,6,1,0,30,36,96,96,96, + 252,96,96,96,96,96,96,248,10,12,24,10,0,252,62,192, + 193,0,129,0,193,0,62,0,112,0,254,0,255,128,227,128, + 192,128,193,0,62,0,9,14,28,10,1,0,96,0,224,0, + 96,0,96,0,96,0,96,0,102,0,127,0,115,0,99,0, + 99,0,99,0,99,0,247,128,4,12,12,6,1,0,48,112, + 0,0,96,224,96,96,96,96,96,240,7,16,16,5,253,252, + 14,14,0,0,28,12,12,12,12,12,12,12,12,140,248,224, + 9,14,28,10,1,0,96,0,224,0,96,0,96,0,96,0, + 96,0,103,128,102,0,108,0,120,0,108,0,102,0,103,0, + 243,128,4,14,14,5,1,0,96,224,96,96,96,96,96,96, + 96,96,96,96,96,240,14,8,16,15,1,0,110,112,255,248, + 99,24,99,24,99,24,99,24,99,24,247,188,9,8,16,10, + 1,0,110,0,255,0,115,0,99,0,99,0,99,0,99,0, + 247,128,7,8,8,9,1,0,56,68,198,198,198,198,68,56, + 8,12,12,10,1,252,110,255,97,97,97,97,98,124,96,96, + 96,240,9,12,24,10,1,252,61,0,67,0,195,0,195,0, + 195,0,195,0,127,0,59,0,3,0,3,0,3,0,7,128, + 8,8,8,8,0,0,119,255,50,50,48,48,48,248,6,8, + 8,8,1,0,240,152,144,240,60,132,196,248,6,11,11,7, + 0,0,32,96,96,252,96,96,96,96,100,124,48,10,8,16, + 10,0,0,227,128,97,128,97,128,97,128,97,128,97,128,127, + 192,57,128,9,8,16,9,0,0,243,128,97,0,51,0,50, + 0,30,0,28,0,28,0,8,0,13,8,16,13,0,0,242, + 56,99,16,51,32,53,160,53,160,24,224,24,192,24,192,9, + 8,16,9,0,0,251,128,115,0,62,0,28,0,28,0,22, + 0,35,0,247,128,10,12,24,9,255,252,121,192,48,128,25, + 128,25,0,15,0,14,0,14,0,6,0,4,0,12,0,120, + 0,240,0,7,8,8,8,1,0,254,140,152,56,48,98,226, + 254,6,17,17,5,0,253,8,28,48,48,48,48,48,48,224, + 48,48,48,48,48,48,24,8,1,19,19,4,2,252,128,128, + 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, + 128,6,17,17,5,255,253,64,96,48,48,48,48,48,48,28, + 48,48,48,48,48,48,96,192,8,2,2,9,0,4,57,206, + 255}; +/* + Fontname: -FreeType-Gentium Basic-Bold-R-Normal--19-190-72-72-P-94-ISO10646-1 + Copyright: Copyright (c) SIL International, 2003-2008. + Capital A Height: 12, '1' Height: 12 + Calculated Max Values w=16 h=20 x= 2 y=11 dx=16 dy= 0 ascent=17 len=36 + Font Bounding box w=29 h=28 x=-10 y=-7 + Calculated Min Values x=-3 y=-5 dx= 0 dy= 0 + Pure Font ascent =12 descent=-4 + X Font ascent =15 descent=-4 + Max Font ascent =17 descent=-5 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_gdb12[4626] U8G_FONT_SECTION("u8g_font_gdb12") = { + 0,29,28,246,249,12,2,113,5,210,32,255,252,17,251,15, + 252,0,0,0,5,0,0,3,14,14,6,1,0,32,96,96, + 96,96,96,96,96,96,96,0,224,224,192,7,6,6,9,1, + 8,102,236,108,76,68,68,9,11,22,10,1,1,27,0,26, + 0,18,0,127,128,54,0,36,0,36,0,255,0,104,0,72, + 0,88,0,8,15,15,9,0,254,8,8,63,75,74,104,60, + 30,11,137,73,235,126,8,8,12,12,24,14,1,0,112,32, + 144,64,136,128,137,128,139,0,146,0,100,224,13,16,25,16, + 17,16,33,16,96,224,12,13,26,13,1,0,30,0,35,0, + 99,0,99,0,118,0,124,0,120,240,252,64,222,64,207,64, + 199,128,193,192,62,240,3,6,6,5,1,8,96,224,96,64, + 64,64,4,18,18,6,1,253,16,48,96,96,64,192,192,192, + 192,192,192,192,192,192,96,96,48,16,4,18,18,6,1,253, + 128,192,96,96,48,48,48,48,48,48,48,48,48,32,96,96, + 192,128,7,7,7,8,1,7,48,180,222,48,222,148,48,7, + 7,7,8,1,2,16,16,16,254,16,16,16,3,6,6,5, + 1,252,96,224,96,96,64,128,6,1,1,7,0,4,252,3, + 3,3,5,1,0,224,224,192,9,18,36,9,0,253,1,128, + 3,0,3,0,3,0,6,0,6,0,4,0,12,0,12,0, + 24,0,24,0,16,0,48,0,48,0,32,0,96,0,96,0, + 192,0,8,11,11,10,1,0,60,102,66,195,195,195,195,195, + 66,98,60,7,12,12,10,1,0,8,120,152,24,24,24,24, + 24,24,24,24,254,7,11,11,9,1,0,60,102,230,6,4, + 8,16,34,66,126,254,7,11,11,9,1,0,60,102,230,6, + 8,28,6,6,6,140,120,8,12,12,9,0,0,6,14,14, + 22,22,38,102,70,255,6,6,31,7,11,11,10,1,0,126, + 124,64,64,124,134,6,6,6,134,124,8,12,12,10,1,0, + 14,56,112,96,192,254,195,195,195,195,98,60,8,11,11,10, + 1,0,255,254,130,6,4,12,8,24,24,48,96,8,11,11, + 10,1,0,60,102,102,102,124,62,71,195,195,195,60,8,11, + 11,10,1,0,60,70,195,195,195,195,63,2,6,12,112,3, + 9,9,5,1,0,224,224,192,0,0,0,224,224,192,3,13, + 13,5,1,252,224,224,64,0,0,0,0,96,224,96,96,64, + 128,8,7,7,9,0,2,1,15,60,96,248,31,3,8,4, + 4,9,0,3,127,128,0,255,8,7,7,9,0,2,96,248, + 15,7,30,120,192,7,14,14,9,1,0,60,70,198,134,6, + 12,8,16,16,16,0,56,56,56,14,17,34,16,1,252,7, + 192,31,240,56,56,32,8,99,164,68,100,204,100,204,100,204, + 100,204,100,204,104,199,248,103,112,112,8,56,24,31,240,15, + 192,12,12,24,12,0,0,6,0,14,0,15,0,11,0,27, + 0,19,128,17,128,63,128,33,192,32,192,96,224,241,240,9, + 12,24,11,1,0,254,0,99,0,99,0,99,0,98,0,126, + 0,99,128,97,128,97,128,97,128,97,128,254,0,9,12,24, + 11,1,0,31,0,99,128,65,0,192,0,192,0,192,0,192, + 0,192,0,192,0,97,128,127,0,60,0,10,12,24,12,1, + 0,254,0,99,128,97,128,96,192,96,192,96,192,96,192,96, + 192,96,192,97,128,99,0,254,0,10,12,24,10,0,0,255, + 128,48,128,48,128,48,0,48,0,63,0,50,0,48,0,48, + 0,48,64,48,128,255,128,9,12,24,10,0,0,255,128,48, + 128,48,128,48,0,48,0,63,0,50,0,48,0,48,0,48, + 0,48,0,252,0,10,12,24,11,1,0,31,128,33,128,65, + 0,64,0,192,0,192,0,192,0,195,192,193,128,65,128,97, + 128,31,0,11,12,24,13,1,0,241,224,96,192,96,192,96, + 192,96,192,127,192,96,192,96,192,96,192,96,192,96,192,241, + 224,4,12,12,6,1,0,240,96,96,96,96,96,96,96,96, + 96,96,240,8,16,16,6,253,252,31,6,6,6,6,6,6, + 6,6,6,6,6,6,68,124,240,11,12,24,12,1,0,243, + 192,99,0,99,0,102,0,108,0,120,0,124,0,110,0,103, + 0,99,0,97,128,241,224,8,12,12,10,1,0,240,96,96, + 96,96,96,96,96,96,97,97,255,15,12,24,16,0,0,112, + 30,56,28,56,28,60,60,44,44,44,108,38,76,38,204,35, + 140,35,140,35,140,241,30,11,12,24,13,1,0,224,224,112, + 64,112,64,120,64,92,64,78,64,78,64,71,64,67,192,65, + 192,65,192,224,192,10,12,24,12,1,0,30,0,33,128,65, + 128,64,192,192,192,192,192,192,192,192,192,192,128,96,128,97, + 0,30,0,9,12,24,11,1,0,254,0,99,0,97,128,97, + 128,97,128,97,0,126,0,96,0,96,0,96,0,96,0,248, + 0,12,15,30,12,1,253,30,0,33,128,65,128,64,192,192, + 192,192,192,192,192,192,192,192,192,96,128,33,0,30,0,3, + 144,1,240,0,96,11,12,24,12,1,0,254,0,99,128,97, + 128,97,128,97,128,127,0,126,0,102,0,99,0,99,128,97, + 192,241,224,8,12,12,10,1,0,62,198,128,128,240,124,30, + 7,3,131,194,252,10,12,24,11,0,0,255,192,140,64,140, + 64,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, + 0,30,0,11,12,24,13,1,0,240,224,96,64,96,64,96, + 64,96,64,96,64,96,64,96,64,96,64,96,128,48,128,31, + 0,12,12,24,13,0,0,248,240,112,96,48,64,56,64,24, + 192,24,128,28,128,13,128,15,0,7,0,7,0,6,0,16, + 12,24,16,0,0,248,143,49,134,49,196,49,196,51,196,58, + 108,26,108,30,120,28,56,28,56,12,24,8,16,12,12,24, + 12,0,0,249,224,48,192,56,128,29,0,15,0,14,0,15, + 0,11,0,27,128,49,192,32,224,241,240,11,12,24,12,0, + 0,241,224,48,192,24,128,29,128,13,0,15,0,6,0,6, + 0,6,0,6,0,6,0,15,0,10,12,24,10,0,0,127, + 192,67,128,67,0,7,0,6,0,14,0,28,0,24,0,56, + 0,48,64,112,192,255,192,5,18,18,6,1,253,248,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,248,9, + 18,36,9,0,253,192,0,96,0,96,0,32,0,48,0,48, + 0,16,0,24,0,24,0,12,0,12,0,4,0,6,0,6, + 0,2,0,3,0,3,0,1,128,5,18,18,6,0,253,248, + 24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24, + 248,7,9,9,9,1,5,16,24,40,44,44,68,70,130,130, + 9,1,2,9,0,254,255,128,4,4,4,6,0,10,192,96, + 48,16,8,9,9,9,1,0,60,102,198,14,126,198,198,207, + 118,9,14,28,10,0,0,96,0,224,0,96,0,96,0,96, + 0,103,0,127,0,112,128,96,128,96,128,96,128,97,0,126, + 0,60,0,7,9,9,9,1,0,62,70,196,192,192,192,194, + 124,56,9,14,28,11,1,0,7,0,3,0,3,0,3,0, + 3,0,63,0,67,0,195,0,195,0,195,0,195,0,227,0, + 127,128,59,0,7,9,9,9,1,0,60,100,198,198,254,192, + 226,124,56,7,14,14,6,1,0,30,38,96,96,96,252,96, + 96,96,96,96,96,96,248,10,13,26,10,0,252,60,192,67, + 0,195,0,195,0,226,0,60,0,112,0,124,0,127,128,195, + 128,193,128,193,0,62,0,9,14,28,10,1,0,96,0,224, + 0,96,0,96,0,96,0,102,0,127,0,115,0,99,0,99, + 0,99,0,99,0,99,0,247,128,4,12,12,6,1,0,48, + 112,0,96,224,96,96,96,96,96,96,240,7,16,16,5,253, + 252,14,14,0,12,28,12,12,12,12,12,12,12,12,136,248, + 224,10,14,28,10,1,0,96,0,224,0,96,0,96,0,96, + 0,103,128,99,0,100,0,104,0,124,0,110,0,102,0,99, + 0,243,192,5,14,14,6,0,0,48,240,48,48,48,48,48, + 48,48,48,48,48,48,248,14,9,18,16,1,0,110,112,255, + 248,115,152,99,24,99,24,99,24,99,24,99,24,247,188,9, + 9,18,10,1,0,102,0,255,0,115,0,99,0,99,0,99, + 0,99,0,99,0,247,128,8,9,9,10,1,0,60,70,195, + 195,195,195,194,98,60,9,13,26,11,1,252,103,0,255,0, + 97,128,97,128,97,128,97,128,97,0,127,0,110,0,96,0, + 96,0,96,0,248,0,9,13,26,10,1,252,29,0,103,0, + 195,0,195,0,195,0,195,0,199,0,127,0,59,0,3,0, + 3,0,3,0,15,128,8,9,9,8,0,0,55,255,57,49, + 48,48,48,48,252,6,9,9,8,1,0,240,152,144,224,120, + 28,132,196,248,6,12,12,7,1,0,32,96,96,252,96,96, + 96,96,96,100,124,48,10,9,18,11,0,0,227,128,97,128, + 97,128,97,128,97,128,97,128,99,128,127,192,57,128,10,9, + 18,10,0,0,241,192,97,128,49,0,51,0,58,0,26,0, + 30,0,12,0,8,0,14,9,18,14,0,0,241,60,99,24, + 51,144,51,144,53,176,60,224,28,224,24,96,24,64,10,9, + 18,10,0,0,251,192,113,0,58,0,28,0,12,0,30,0, + 55,0,35,128,247,192,11,13,26,10,255,252,121,224,56,128, + 24,128,25,128,13,0,13,0,14,0,6,0,6,0,4,0, + 12,0,120,0,240,0,7,9,9,9,1,0,254,142,156,24, + 56,48,98,226,254,5,18,18,6,1,253,24,48,96,96,96, + 48,48,48,96,224,48,48,48,96,96,96,48,24,1,20,20, + 4,2,252,128,128,128,128,128,128,128,128,128,128,128,128,128, + 128,128,128,128,128,128,128,6,18,18,6,0,253,64,224,48, + 48,48,48,48,48,28,24,48,48,48,48,48,48,96,192,9, + 4,8,9,0,4,48,0,125,128,79,0,134,0,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,255,255,255,255,255,255,255,0,0, + 0,5,0,0,3,14,14,6,1,251,96,224,64,0,96,96, + 96,96,96,96,96,96,96,64,7,12,12,10,2,0,16,16, + 62,86,144,144,144,144,86,124,16,16,9,11,22,10,0,0, + 15,128,49,128,49,0,112,0,112,0,254,0,112,0,112,0, + 96,128,123,128,255,0,8,7,7,10,1,2,255,66,66,66, + 66,102,255,10,11,22,10,0,0,227,192,113,0,51,0,26, + 0,26,0,12,0,127,128,12,0,12,0,12,0,30,0,1, + 20,20,4,2,252,128,128,128,128,128,128,128,128,128,0,0, + 128,128,128,128,128,128,128,128,128,8,13,13,10,1,0,120, + 152,136,240,190,135,193,113,62,14,34,50,62,6,3,3,7, + 0,10,236,252,220,12,13,26,14,1,0,15,0,48,192,64, + 32,143,32,145,16,145,16,144,16,144,16,144,16,136,160,79, + 32,32,64,31,128,5,7,7,5,0,5,112,208,112,144,248, + 0,240,8,9,9,10,1,0,17,34,102,204,220,204,102,34, + 17,8,4,4,10,1,2,255,1,1,1,6,1,1,7,0, + 4,252,7,7,7,7,0,7,56,68,186,170,178,108,56,8, + 2,2,9,1,11,255,254,5,5,5,7,1,7,112,136,136, + 136,112,8,9,9,8,0,1,8,8,8,127,8,8,8,0, + 255,4,7,7,7,2,6,112,208,16,32,64,144,240,5,7, + 7,6,0,6,56,104,8,24,8,136,112,4,4,4,6,2, + 10,48,96,192,128,10,13,26,11,1,252,99,0,227,0,99, + 0,99,0,99,0,99,0,103,0,127,128,91,64,64,0,64, + 0,96,0,112,0,9,14,28,11,1,254,63,128,101,0,197, + 0,197,0,197,0,101,0,61,0,5,0,5,0,5,0,5, + 0,5,0,5,0,15,128,3,3,3,4,0,5,224,224,192, + 3,4,4,4,1,252,64,96,96,192,5,7,7,7,1,6, + 32,224,32,32,32,32,248,4,7,7,5,0,5,96,144,144, + 144,96,0,240,8,9,9,10,1,0,136,76,102,55,51,55, + 102,76,136,11,11,22,12,1,0,64,64,192,128,65,0,67, + 0,70,0,228,0,8,192,25,64,50,64,35,224,192,224,10, + 11,22,12,1,0,64,64,192,128,65,0,65,0,66,0,228, + 192,9,64,26,128,16,128,33,64,99,192,11,11,22,11,0, + 0,96,32,208,64,32,128,145,128,227,0,2,0,4,192,13, + 64,25,64,19,224,96,224,7,14,14,9,1,251,56,56,48, + 0,16,16,16,32,96,192,194,198,196,120,12,16,32,12,0, + 0,24,0,28,0,3,0,0,0,6,0,14,0,15,0,11, + 0,27,0,19,128,17,128,63,128,33,192,32,192,96,224,241, + 240,12,16,32,12,0,0,1,0,7,128,12,0,0,0,6, + 0,14,0,15,0,11,0,27,0,19,128,17,128,63,128,33, + 192,32,192,96,224,241,240,12,16,32,12,0,0,6,0,15, + 0,16,128,0,0,6,0,14,0,15,0,11,0,27,0,19, + 128,17,128,63,128,33,192,32,192,96,224,241,240,12,16,32, + 12,0,0,12,192,31,128,35,0,0,0,6,0,14,0,15, + 0,11,0,27,0,19,128,17,128,63,128,33,192,32,192,96, + 224,241,240,12,16,32,12,0,0,27,0,27,128,27,0,0, + 0,6,0,14,0,15,0,11,0,27,0,19,128,17,128,63, + 128,33,192,32,192,96,224,241,240,12,17,34,12,0,0,6, + 0,9,0,17,0,14,0,0,0,6,0,14,0,15,0,11, + 0,27,0,19,128,17,128,63,128,33,192,32,192,96,224,241, + 240,15,12,24,15,0,0,31,252,5,132,5,132,13,128,9, + 128,31,248,17,144,17,128,49,128,33,130,97,132,243,252,9, + 16,32,11,1,252,31,0,99,128,65,0,192,0,192,0,192, + 0,192,0,192,0,192,0,96,128,59,128,30,0,8,0,6, + 0,14,0,28,0,10,16,32,10,0,0,48,0,56,0,6, + 0,0,0,255,128,48,128,48,128,48,0,48,0,63,0,50, + 0,48,0,48,0,48,64,48,128,255,128,10,16,32,10,0, + 0,3,0,7,0,24,0,0,0,255,128,48,128,48,128,48, + 0,48,0,63,0,50,0,48,0,48,0,48,64,48,128,255, + 128,10,16,32,10,0,0,12,0,30,0,33,0,0,0,255, + 128,48,128,48,128,48,0,48,0,63,0,50,0,48,0,48, + 0,48,64,48,128,255,128,10,16,32,10,0,0,51,0,63, + 0,54,0,0,0,255,128,48,128,48,128,48,0,48,0,63, + 0,50,0,48,0,48,0,48,64,48,128,255,128,5,16,16, + 6,0,0,192,224,24,0,120,48,48,48,48,48,48,48,48, + 48,48,120,5,16,16,6,1,0,24,56,192,0,240,96,96, + 96,96,96,96,96,96,96,96,240,6,16,16,6,0,0,48, + 120,132,0,120,48,48,48,48,48,48,48,48,48,48,120,6, + 16,16,6,0,0,204,252,216,0,120,48,48,48,48,48,48, + 48,48,48,48,120,10,12,24,12,1,0,254,0,99,128,97, + 128,96,192,96,192,248,192,96,192,96,192,96,192,97,128,99, + 0,254,0,11,16,32,13,1,0,28,128,63,0,39,0,0, + 0,224,224,112,64,112,64,120,64,92,64,78,64,78,64,71, + 64,67,192,65,192,65,192,224,192,10,16,32,12,1,0,48, + 0,56,0,6,0,0,0,30,0,33,128,65,128,64,192,192, + 192,192,192,192,192,192,192,192,128,96,128,97,0,30,0,10, + 16,32,12,1,0,2,0,15,0,24,0,0,0,30,0,33, + 128,65,128,64,192,192,192,192,192,192,192,192,192,192,128,96, + 128,97,0,30,0,10,16,32,12,1,0,12,0,30,0,33, + 0,0,0,30,0,33,128,65,128,64,192,192,192,192,192,192, + 192,192,192,192,128,96,128,97,0,30,0,10,16,32,12,1, + 0,25,128,63,0,70,0,0,0,30,0,33,128,65,128,64, + 192,192,192,192,192,192,192,192,192,192,128,96,128,97,0,30, + 0,10,16,32,12,1,0,55,0,55,0,54,0,0,0,30, + 0,33,128,65,128,64,192,192,192,192,192,192,192,192,192,192, + 128,96,128,97,0,30,0,6,6,6,8,1,2,132,72,48, + 48,72,132,10,12,24,12,1,0,30,192,33,128,97,128,67, + 192,198,192,196,192,200,192,216,192,240,128,97,128,97,0,222, + 0,11,16,32,13,1,0,16,0,60,0,6,0,0,0,240, + 224,96,64,96,64,96,64,96,64,96,64,96,64,96,64,96, + 64,96,128,48,128,31,0,11,16,32,13,1,0,3,0,7, + 128,12,0,0,0,240,224,96,64,96,64,96,64,96,64,96, + 64,96,64,96,64,96,64,96,128,48,128,31,0,11,16,32, + 13,1,0,12,0,30,0,49,0,0,128,240,224,96,64,96, + 64,96,64,96,64,96,64,96,64,96,64,96,64,96,128,48, + 128,31,0,11,16,32,13,1,0,27,0,63,0,51,0,0, + 0,240,224,96,64,96,64,96,64,96,64,96,64,96,64,96, + 64,96,64,96,128,48,128,31,0,11,16,32,12,0,0,1, + 0,7,128,12,0,0,0,241,224,48,192,24,128,29,128,13, + 0,15,0,6,0,6,0,6,0,6,0,6,0,15,0,9, + 12,24,11,1,0,248,0,96,0,126,0,99,0,97,128,97, + 128,97,128,97,128,113,0,110,0,96,0,248,0,9,14,28, + 12,1,0,14,0,51,0,33,128,97,128,97,128,103,0,108, + 0,108,0,102,0,99,0,97,128,104,128,104,128,239,0,8, + 14,14,9,1,0,112,48,24,8,0,60,102,198,14,126,198, + 198,207,118,8,14,14,9,1,0,14,12,24,48,0,60,102, + 198,14,126,198,198,207,118,8,14,14,9,1,0,24,60,108, + 66,0,60,102,198,14,126,198,198,207,118,8,13,13,9,1, + 0,114,126,140,0,60,102,198,14,126,198,198,207,118,8,13, + 13,9,1,0,108,110,108,0,60,102,198,14,126,198,198,207, + 118,8,14,14,9,1,0,56,68,72,56,0,60,102,198,14, + 126,198,198,207,118,12,9,18,14,1,0,29,192,111,32,198, + 48,166,48,63,240,70,0,199,16,251,224,113,192,8,13,13, + 9,1,252,62,70,196,192,192,192,194,127,60,16,12,28,48, + 7,14,14,9,1,0,112,48,24,8,0,60,100,198,198,254, + 192,226,124,56,7,14,14,9,1,0,14,12,24,16,0,60, + 100,198,198,254,192,226,124,56,7,14,14,9,1,0,24,60, + 100,66,0,60,100,198,198,254,192,226,124,56,7,13,13,9, + 1,0,110,126,108,0,60,100,198,198,254,192,226,124,56,5, + 14,14,6,0,0,224,96,48,16,0,48,112,48,48,48,48, + 48,48,120,5,14,14,6,1,0,56,48,96,64,0,96,224, + 96,96,96,96,96,96,240,6,14,14,6,0,0,48,120,200, + 132,0,48,112,48,48,48,48,48,48,120,6,13,13,6,0, + 0,220,220,216,0,48,112,48,48,48,48,48,48,120,8,14, + 14,10,1,0,48,255,28,102,6,63,71,195,195,195,195,194, + 102,60,9,13,26,11,1,0,57,0,63,0,78,0,0,0, + 102,0,255,0,115,0,99,0,99,0,99,0,99,0,99,0, + 247,128,8,14,14,10,1,0,48,112,24,12,0,60,70,195, + 195,195,195,194,98,60,8,14,14,10,1,0,6,12,24,16, + 0,60,70,195,195,195,195,194,98,60,8,14,14,10,1,0, + 24,60,38,66,0,60,70,195,195,195,195,194,98,60,8,13, + 13,10,1,0,57,126,76,0,60,70,195,195,195,195,194,98, + 60,8,13,13,10,1,0,118,126,108,0,60,70,195,195,195, + 195,194,98,60,8,7,7,8,0,2,8,8,0,127,128,8, + 8,8,9,9,10,1,0,63,102,71,203,219,211,226,102,252, + 10,14,28,11,0,0,24,0,60,0,12,0,6,0,0,0, + 227,128,97,128,97,128,97,128,97,128,97,128,99,128,127,192, + 57,128,10,14,28,11,0,0,3,0,7,0,4,0,8,0, + 0,0,227,128,97,128,97,128,97,128,97,128,97,128,99,128, + 127,192,57,128,10,14,28,11,0,0,12,0,14,0,27,0, + 33,0,0,0,227,128,97,128,97,128,97,128,97,128,97,128, + 99,128,127,192,57,128,10,13,26,11,0,0,27,0,63,0, + 51,0,0,0,227,128,97,128,97,128,97,128,97,128,97,128, + 99,128,127,192,57,128,11,18,36,10,255,252,3,128,3,0, + 6,0,4,0,0,0,121,224,56,128,24,128,25,128,13,0, + 13,0,14,0,6,0,6,0,4,0,12,0,120,0,240,0, + 9,18,36,11,1,252,96,0,224,0,96,0,96,0,96,0, + 103,0,111,0,113,128,97,128,97,128,97,128,97,0,127,0, + 110,0,96,0,96,0,96,0,248,0,11,17,34,10,255,252, + 25,128,31,128,27,0,0,0,121,224,56,128,24,128,25,128, + 13,0,13,0,14,0,6,0,6,0,4,0,12,0,120,0, + 240,0}; +/* + Fontname: -FreeType-Gentium Basic-Bold-R-Normal--19-190-72-72-P-94-ISO10646-1 + Copyright: Copyright (c) SIL International, 2003-2008. + Capital A Height: 0, '1' Height: 12 + Calculated Max Values w= 9 h=18 x= 1 y= 7 dx=10 dy= 0 ascent=15 len=36 + Font Bounding box w=29 h=28 x=-10 y=-7 + Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 + Pure Font ascent =12 descent= 0 + X Font ascent =12 descent= 0 + Max Font ascent =15 descent=-4 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_gdb12n[301] U8G_FONT_SECTION("u8g_font_gdb12n") = { + 0,29,28,246,249,12,0,0,0,0,42,58,0,15,252,12, + 0,7,7,7,8,1,7,48,180,222,48,222,148,48,7,7, + 7,8,1,2,16,16,16,254,16,16,16,3,6,6,5,1, + 252,96,224,96,96,64,128,6,1,1,7,0,4,252,3,3, + 3,5,1,0,224,224,192,9,18,36,9,0,253,1,128,3, + 0,3,0,3,0,6,0,6,0,4,0,12,0,12,0,24, + 0,24,0,16,0,48,0,48,0,32,0,96,0,96,0,192, + 0,8,11,11,10,1,0,60,102,66,195,195,195,195,195,66, + 98,60,7,12,12,10,1,0,8,120,152,24,24,24,24,24, + 24,24,24,254,7,11,11,9,1,0,60,102,230,6,4,8, + 16,34,66,126,254,7,11,11,9,1,0,60,102,230,6,8, + 28,6,6,6,140,120,8,12,12,9,0,0,6,14,14,22, + 22,38,102,70,255,6,6,31,7,11,11,10,1,0,126,124, + 64,64,124,134,6,6,6,134,124,8,12,12,10,1,0,14, + 56,112,96,192,254,195,195,195,195,98,60,8,11,11,10,1, + 0,255,254,130,6,4,12,8,24,24,48,96,8,11,11,10, + 1,0,60,102,102,102,124,62,71,195,195,195,60,8,11,11, + 10,1,0,60,70,195,195,195,195,63,2,6,12,112,3,9, + 9,5,1,0,224,224,192,0,0,0,224,224,192}; +/* + Fontname: -FreeType-Gentium Basic-Bold-R-Normal--19-190-72-72-P-94-ISO10646-1 + Copyright: Copyright (c) SIL International, 2003-2008. + Capital A Height: 12, '1' Height: 12 + Calculated Max Values w=16 h=20 x= 2 y=10 dx=16 dy= 0 ascent=16 len=36 + Font Bounding box w=29 h=28 x=-10 y=-7 + Calculated Min Values x=-3 y=-4 dx= 0 dy= 0 + Pure Font ascent =12 descent=-4 + X Font ascent =15 descent=-4 + Max Font ascent =16 descent=-4 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_gdb12r[2190] U8G_FONT_SECTION("u8g_font_gdb12r") = { + 0,29,28,246,249,12,2,113,5,210,32,127,252,16,252,15, + 252,0,0,0,5,0,0,3,14,14,6,1,0,32,96,96, + 96,96,96,96,96,96,96,0,224,224,192,7,6,6,9,1, + 8,102,236,108,76,68,68,9,11,22,10,1,1,27,0,26, + 0,18,0,127,128,54,0,36,0,36,0,255,0,104,0,72, + 0,88,0,8,15,15,9,0,254,8,8,63,75,74,104,60, + 30,11,137,73,235,126,8,8,12,12,24,14,1,0,112,32, + 144,64,136,128,137,128,139,0,146,0,100,224,13,16,25,16, + 17,16,33,16,96,224,12,13,26,13,1,0,30,0,35,0, + 99,0,99,0,118,0,124,0,120,240,252,64,222,64,207,64, + 199,128,193,192,62,240,3,6,6,5,1,8,96,224,96,64, + 64,64,4,18,18,6,1,253,16,48,96,96,64,192,192,192, + 192,192,192,192,192,192,96,96,48,16,4,18,18,6,1,253, + 128,192,96,96,48,48,48,48,48,48,48,48,48,32,96,96, + 192,128,7,7,7,8,1,7,48,180,222,48,222,148,48,7, + 7,7,8,1,2,16,16,16,254,16,16,16,3,6,6,5, + 1,252,96,224,96,96,64,128,6,1,1,7,0,4,252,3, + 3,3,5,1,0,224,224,192,9,18,36,9,0,253,1,128, + 3,0,3,0,3,0,6,0,6,0,4,0,12,0,12,0, + 24,0,24,0,16,0,48,0,48,0,32,0,96,0,96,0, + 192,0,8,11,11,10,1,0,60,102,66,195,195,195,195,195, + 66,98,60,7,12,12,10,1,0,8,120,152,24,24,24,24, + 24,24,24,24,254,7,11,11,9,1,0,60,102,230,6,4, + 8,16,34,66,126,254,7,11,11,9,1,0,60,102,230,6, + 8,28,6,6,6,140,120,8,12,12,9,0,0,6,14,14, + 22,22,38,102,70,255,6,6,31,7,11,11,10,1,0,126, + 124,64,64,124,134,6,6,6,134,124,8,12,12,10,1,0, + 14,56,112,96,192,254,195,195,195,195,98,60,8,11,11,10, + 1,0,255,254,130,6,4,12,8,24,24,48,96,8,11,11, + 10,1,0,60,102,102,102,124,62,71,195,195,195,60,8,11, + 11,10,1,0,60,70,195,195,195,195,63,2,6,12,112,3, + 9,9,5,1,0,224,224,192,0,0,0,224,224,192,3,13, + 13,5,1,252,224,224,64,0,0,0,0,96,224,96,96,64, + 128,8,7,7,9,0,2,1,15,60,96,248,31,3,8,4, + 4,9,0,3,127,128,0,255,8,7,7,9,0,2,96,248, + 15,7,30,120,192,7,14,14,9,1,0,60,70,198,134,6, + 12,8,16,16,16,0,56,56,56,14,17,34,16,1,252,7, + 192,31,240,56,56,32,8,99,164,68,100,204,100,204,100,204, + 100,204,100,204,104,199,248,103,112,112,8,56,24,31,240,15, + 192,12,12,24,12,0,0,6,0,14,0,15,0,11,0,27, + 0,19,128,17,128,63,128,33,192,32,192,96,224,241,240,9, + 12,24,11,1,0,254,0,99,0,99,0,99,0,98,0,126, + 0,99,128,97,128,97,128,97,128,97,128,254,0,9,12,24, + 11,1,0,31,0,99,128,65,0,192,0,192,0,192,0,192, + 0,192,0,192,0,97,128,127,0,60,0,10,12,24,12,1, + 0,254,0,99,128,97,128,96,192,96,192,96,192,96,192,96, + 192,96,192,97,128,99,0,254,0,10,12,24,10,0,0,255, + 128,48,128,48,128,48,0,48,0,63,0,50,0,48,0,48, + 0,48,64,48,128,255,128,9,12,24,10,0,0,255,128,48, + 128,48,128,48,0,48,0,63,0,50,0,48,0,48,0,48, + 0,48,0,252,0,10,12,24,11,1,0,31,128,33,128,65, + 0,64,0,192,0,192,0,192,0,195,192,193,128,65,128,97, + 128,31,0,11,12,24,13,1,0,241,224,96,192,96,192,96, + 192,96,192,127,192,96,192,96,192,96,192,96,192,96,192,241, + 224,4,12,12,6,1,0,240,96,96,96,96,96,96,96,96, + 96,96,240,8,16,16,6,253,252,31,6,6,6,6,6,6, + 6,6,6,6,6,6,68,124,240,11,12,24,12,1,0,243, + 192,99,0,99,0,102,0,108,0,120,0,124,0,110,0,103, + 0,99,0,97,128,241,224,8,12,12,10,1,0,240,96,96, + 96,96,96,96,96,96,97,97,255,15,12,24,16,0,0,112, + 30,56,28,56,28,60,60,44,44,44,108,38,76,38,204,35, + 140,35,140,35,140,241,30,11,12,24,13,1,0,224,224,112, + 64,112,64,120,64,92,64,78,64,78,64,71,64,67,192,65, + 192,65,192,224,192,10,12,24,12,1,0,30,0,33,128,65, + 128,64,192,192,192,192,192,192,192,192,192,192,128,96,128,97, + 0,30,0,9,12,24,11,1,0,254,0,99,0,97,128,97, + 128,97,128,97,0,126,0,96,0,96,0,96,0,96,0,248, + 0,12,15,30,12,1,253,30,0,33,128,65,128,64,192,192, + 192,192,192,192,192,192,192,192,192,96,128,33,0,30,0,3, + 144,1,240,0,96,11,12,24,12,1,0,254,0,99,128,97, + 128,97,128,97,128,127,0,126,0,102,0,99,0,99,128,97, + 192,241,224,8,12,12,10,1,0,62,198,128,128,240,124,30, + 7,3,131,194,252,10,12,24,11,0,0,255,192,140,64,140, + 64,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, + 0,30,0,11,12,24,13,1,0,240,224,96,64,96,64,96, + 64,96,64,96,64,96,64,96,64,96,64,96,128,48,128,31, + 0,12,12,24,13,0,0,248,240,112,96,48,64,56,64,24, + 192,24,128,28,128,13,128,15,0,7,0,7,0,6,0,16, + 12,24,16,0,0,248,143,49,134,49,196,49,196,51,196,58, + 108,26,108,30,120,28,56,28,56,12,24,8,16,12,12,24, + 12,0,0,249,224,48,192,56,128,29,0,15,0,14,0,15, + 0,11,0,27,128,49,192,32,224,241,240,11,12,24,12,0, + 0,241,224,48,192,24,128,29,128,13,0,15,0,6,0,6, + 0,6,0,6,0,6,0,15,0,10,12,24,10,0,0,127, + 192,67,128,67,0,7,0,6,0,14,0,28,0,24,0,56, + 0,48,64,112,192,255,192,5,18,18,6,1,253,248,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,248,9, + 18,36,9,0,253,192,0,96,0,96,0,32,0,48,0,48, + 0,16,0,24,0,24,0,12,0,12,0,4,0,6,0,6, + 0,2,0,3,0,3,0,1,128,5,18,18,6,0,253,248, + 24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24, + 248,7,9,9,9,1,5,16,24,40,44,44,68,70,130,130, + 9,1,2,9,0,254,255,128,4,4,4,6,0,10,192,96, + 48,16,8,9,9,9,1,0,60,102,198,14,126,198,198,207, + 118,9,14,28,10,0,0,96,0,224,0,96,0,96,0,96, + 0,103,0,127,0,112,128,96,128,96,128,96,128,97,0,126, + 0,60,0,7,9,9,9,1,0,62,70,196,192,192,192,194, + 124,56,9,14,28,11,1,0,7,0,3,0,3,0,3,0, + 3,0,63,0,67,0,195,0,195,0,195,0,195,0,227,0, + 127,128,59,0,7,9,9,9,1,0,60,100,198,198,254,192, + 226,124,56,7,14,14,6,1,0,30,38,96,96,96,252,96, + 96,96,96,96,96,96,248,10,13,26,10,0,252,60,192,67, + 0,195,0,195,0,226,0,60,0,112,0,124,0,127,128,195, + 128,193,128,193,0,62,0,9,14,28,10,1,0,96,0,224, + 0,96,0,96,0,96,0,102,0,127,0,115,0,99,0,99, + 0,99,0,99,0,99,0,247,128,4,12,12,6,1,0,48, + 112,0,96,224,96,96,96,96,96,96,240,7,16,16,5,253, + 252,14,14,0,12,28,12,12,12,12,12,12,12,12,136,248, + 224,10,14,28,10,1,0,96,0,224,0,96,0,96,0,96, + 0,103,128,99,0,100,0,104,0,124,0,110,0,102,0,99, + 0,243,192,5,14,14,6,0,0,48,240,48,48,48,48,48, + 48,48,48,48,48,48,248,14,9,18,16,1,0,110,112,255, + 248,115,152,99,24,99,24,99,24,99,24,99,24,247,188,9, + 9,18,10,1,0,102,0,255,0,115,0,99,0,99,0,99, + 0,99,0,99,0,247,128,8,9,9,10,1,0,60,70,195, + 195,195,195,194,98,60,9,13,26,11,1,252,103,0,255,0, + 97,128,97,128,97,128,97,128,97,0,127,0,110,0,96,0, + 96,0,96,0,248,0,9,13,26,10,1,252,29,0,103,0, + 195,0,195,0,195,0,195,0,199,0,127,0,59,0,3,0, + 3,0,3,0,15,128,8,9,9,8,0,0,55,255,57,49, + 48,48,48,48,252,6,9,9,8,1,0,240,152,144,224,120, + 28,132,196,248,6,12,12,7,1,0,32,96,96,252,96,96, + 96,96,96,100,124,48,10,9,18,11,0,0,227,128,97,128, + 97,128,97,128,97,128,97,128,99,128,127,192,57,128,10,9, + 18,10,0,0,241,192,97,128,49,0,51,0,58,0,26,0, + 30,0,12,0,8,0,14,9,18,14,0,0,241,60,99,24, + 51,144,51,144,53,176,60,224,28,224,24,96,24,64,10,9, + 18,10,0,0,251,192,113,0,58,0,28,0,12,0,30,0, + 55,0,35,128,247,192,11,13,26,10,255,252,121,224,56,128, + 24,128,25,128,13,0,13,0,14,0,6,0,6,0,4,0, + 12,0,120,0,240,0,7,9,9,9,1,0,254,142,156,24, + 56,48,98,226,254,5,18,18,6,1,253,24,48,96,96,96, + 48,48,48,96,224,48,48,48,96,96,96,48,24,1,20,20, + 4,2,252,128,128,128,128,128,128,128,128,128,128,128,128,128, + 128,128,128,128,128,128,128,6,18,18,6,0,253,64,224,48, + 48,48,48,48,48,28,24,48,48,48,48,48,48,96,192,9, + 4,8,9,0,4,48,0,125,128,79,0,134,0,255}; +/* + Fontname: -FreeType-Gentium Basic-Bold-R-Normal--23-230-72-72-P-114-ISO10646-1 + Copyright: Copyright (c) SIL International, 2003-2008. + Capital A Height: 14, '1' Height: 14 + Calculated Max Values w=19 h=24 x= 2 y=13 dx=20 dy= 0 ascent=20 len=60 + Font Bounding box w=36 h=33 x=-12 y=-8 + Calculated Min Values x=-3 y=-6 dx= 0 dy= 0 + Pure Font ascent =14 descent=-5 + X Font ascent =18 descent=-5 + Max Font ascent =20 descent=-6 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_gdb14[6044] U8G_FONT_SECTION("u8g_font_gdb14") = { + 0,36,33,244,248,14,3,134,7,177,32,255,251,20,250,18, + 251,0,0,0,6,0,0,4,17,17,7,2,0,96,224,224, + 224,224,224,224,224,224,64,64,64,0,0,96,240,224,7,8, + 8,11,2,9,102,238,206,206,198,198,198,196,11,13,26,12, + 1,1,12,192,12,128,9,128,127,224,25,0,19,0,19,0, + 51,0,255,128,38,0,38,0,100,0,140,0,10,18,36,12, + 1,254,12,0,12,0,63,128,127,192,205,128,204,128,236,0, + 124,0,63,0,15,128,13,192,140,192,140,192,204,192,255,128, + 127,0,12,0,12,0,15,14,28,17,1,0,56,24,76,16, + 198,48,198,96,198,192,199,128,101,128,59,56,6,68,12,198, + 12,198,24,198,48,100,96,56,15,16,32,16,1,0,15,0, + 17,128,49,128,49,128,51,0,62,0,60,0,28,254,124,120, + 126,48,207,48,199,160,195,224,193,240,97,252,62,56,3,8, + 8,6,2,9,96,224,192,192,192,192,192,192,5,22,22,8, + 2,252,8,24,48,96,96,96,192,192,192,192,192,192,192,192, + 192,192,96,96,96,48,24,8,5,22,22,8,1,252,128,192, + 96,48,48,48,24,24,24,24,24,24,24,24,24,24,48,48, + 48,96,192,128,9,10,20,10,1,8,24,0,24,0,219,0, + 255,128,60,0,62,0,255,0,219,0,24,0,24,0,8,8, + 8,10,1,2,24,24,24,255,24,24,24,24,4,7,7,6, + 1,252,48,240,48,48,32,96,64,7,1,1,8,1,5,254, + 4,3,3,6,1,0,96,240,224,11,22,44,11,0,252,0, + 96,0,192,0,192,1,128,1,128,3,128,3,0,3,0,7, + 0,6,0,6,0,12,0,12,0,28,0,24,0,24,0,56, + 0,48,0,48,0,96,0,96,0,192,0,10,14,28,12,1, + 0,30,0,51,0,97,128,97,128,225,192,225,192,225,192,225, + 192,225,192,225,192,97,128,97,128,51,0,30,0,8,14,14, + 12,2,0,8,120,248,24,24,24,24,24,24,24,24,24,24, + 255,8,14,14,11,2,0,62,103,227,195,3,6,4,12,24, + 48,33,65,255,255,9,14,28,11,1,0,30,0,99,0,227, + 0,67,0,3,0,6,0,31,0,7,128,3,128,1,128,1, + 128,1,128,67,0,190,0,10,14,28,12,1,0,1,0,7, + 0,7,0,15,0,27,0,19,0,51,0,99,0,99,0,255, + 192,3,0,3,0,3,0,15,192,9,14,28,12,1,0,63, + 128,63,0,32,0,96,0,96,0,126,0,67,0,1,128,1, + 128,1,128,1,128,1,128,195,0,62,0,10,14,28,12,1, + 0,7,0,28,0,48,0,96,0,64,0,223,0,225,128,192, + 192,192,192,192,192,192,192,96,128,49,128,30,0,10,14,28, + 12,1,0,127,192,255,128,129,128,129,128,3,0,3,0,2, + 0,6,0,6,0,12,0,12,0,24,0,56,0,48,0,9, + 14,28,11,1,0,62,0,113,128,241,128,241,128,249,128,127, + 0,63,0,63,128,99,128,193,128,193,128,193,128,99,0,62, + 0,10,14,28,12,1,0,31,0,35,128,65,128,192,192,192, + 192,192,192,192,192,97,192,62,192,0,128,1,128,3,0,14, + 0,56,0,4,10,10,6,1,0,224,240,96,0,0,0,0, + 96,240,224,4,15,15,6,1,252,96,240,224,0,0,0,0, + 0,48,240,48,48,32,96,64,9,7,14,10,1,3,1,128, + 15,128,124,0,224,0,248,0,31,0,3,128,9,4,8,10, + 1,4,255,128,0,0,0,0,255,128,9,7,14,10,1,3, + 192,0,248,0,31,0,3,128,31,0,240,0,128,0,9,16, + 32,10,1,0,63,0,103,128,227,128,227,128,3,128,7,0, + 7,0,14,0,12,0,24,0,24,0,24,0,0,0,28,0, + 60,0,56,0,18,20,60,20,1,251,1,248,0,7,254,0, + 28,15,0,56,3,128,48,1,128,97,233,192,99,24,192,194, + 24,192,198,24,192,198,24,192,198,24,192,198,24,128,199,57, + 128,227,255,0,97,222,0,112,0,0,56,1,0,62,7,0, + 15,252,0,3,240,0,14,14,28,14,0,0,1,0,7,128, + 7,128,5,128,13,192,12,192,8,224,24,224,31,224,16,112, + 48,112,48,48,32,56,248,124,13,14,28,14,0,0,127,128, + 176,192,48,96,48,96,48,96,48,192,63,224,48,112,48,56, + 48,56,48,56,48,56,48,112,255,224,11,14,28,13,1,0, + 15,192,49,192,96,128,64,0,192,0,192,0,192,0,192,0, + 192,0,192,0,224,0,112,96,127,128,31,0,14,14,28,15, + 0,0,127,192,240,240,48,56,48,24,48,28,48,28,48,28, + 48,28,48,28,48,28,48,24,48,56,48,240,255,192,12,14, + 28,12,0,0,255,224,56,96,56,96,56,64,56,0,56,0, + 63,192,56,128,56,0,56,0,56,0,56,48,56,32,255,224, + 11,14,28,12,0,0,255,224,56,96,56,32,56,32,56,0, + 56,0,63,128,57,0,56,0,56,0,56,0,56,0,56,0, + 254,0,12,14,28,14,1,0,15,192,16,224,32,64,96,0, + 64,0,192,0,192,0,192,0,193,240,192,96,96,96,96,96, + 48,96,15,128,16,14,28,16,0,0,252,63,48,12,48,12, + 48,12,48,12,48,12,63,252,48,12,48,12,48,12,48,12, + 48,12,48,12,252,63,6,14,14,8,1,0,252,48,48,48, + 48,48,48,48,48,48,48,48,48,252,10,19,38,8,253,251, + 15,192,3,0,3,0,3,0,3,0,3,0,3,0,3,0, + 3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0, + 38,0,124,0,248,0,13,14,28,14,0,0,252,248,48,224, + 48,192,49,128,51,0,54,0,60,0,62,0,55,0,51,128, + 49,192,48,224,48,120,252,120,11,14,28,12,0,0,252,0, + 48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0, + 48,0,48,0,48,96,48,64,255,192,18,14,42,19,1,0, + 240,7,128,120,15,0,120,15,0,124,15,0,124,31,0,108, + 23,0,110,55,0,102,55,0,103,103,0,99,103,0,99,199, + 0,99,199,0,97,135,0,241,143,192,15,14,28,15,0,0, + 248,126,56,24,60,24,62,24,54,24,55,24,51,152,49,152, + 49,216,48,248,48,120,48,56,48,56,252,24,12,14,28,14, + 1,0,15,128,48,192,96,96,64,96,192,48,192,48,192,48, + 192,48,192,48,192,48,96,96,96,64,48,128,31,0,12,14, + 28,13,0,0,127,192,176,224,48,48,48,48,48,48,48,48, + 48,96,55,128,48,0,48,0,48,0,48,0,48,0,252,0, + 15,18,36,14,1,252,15,128,48,192,96,96,64,96,192,48, + 192,48,192,48,192,48,192,48,192,48,96,96,96,96,48,192, + 31,0,1,192,0,228,0,126,0,24,14,14,28,14,0,0, + 127,192,240,224,48,48,48,48,48,48,48,96,63,192,51,128, + 49,192,49,192,48,224,48,112,48,124,252,60,10,14,28,12, + 1,0,31,128,97,192,192,128,192,0,240,0,124,0,63,0, + 15,128,3,192,1,192,128,192,192,128,225,128,254,0,12,14, + 28,13,1,0,255,240,198,48,134,16,134,16,6,0,6,0, + 6,0,6,0,6,0,6,0,6,0,6,0,6,0,31,128, + 15,14,28,15,0,0,252,126,48,24,48,24,48,24,48,24, + 48,24,48,24,48,24,48,24,48,24,48,24,24,48,24,32, + 7,192,15,14,28,15,0,0,252,62,56,8,56,24,56,16, + 28,48,28,48,14,32,14,96,6,96,7,64,7,192,3,128, + 3,128,1,0,19,14,42,20,0,0,252,99,224,48,96,192, + 56,112,192,56,240,128,56,241,128,24,185,128,25,153,128,29, + 29,0,29,29,0,15,15,0,14,15,0,14,7,0,14,6, + 0,4,6,0,14,14,28,14,0,0,252,124,56,48,28,96, + 28,96,14,192,7,128,7,128,7,128,7,192,12,224,24,224, + 24,112,48,56,248,252,13,14,28,14,0,0,240,120,56,48, + 28,96,28,96,14,192,6,128,7,128,3,0,3,0,3,0, + 3,0,3,0,3,0,15,192,11,14,28,13,1,0,127,224, + 193,192,195,128,131,128,7,0,15,0,14,0,28,0,28,0, + 56,0,120,32,112,96,224,96,255,224,6,21,21,8,2,253, + 248,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,252,10,22,44,11,0,252,192,0,96,0,96, + 0,48,0,48,0,48,0,24,0,24,0,28,0,12,0,12, + 0,6,0,6,0,6,0,3,0,3,0,3,0,1,128,1, + 128,1,192,0,192,0,192,5,21,21,7,1,253,248,24,24, + 24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24, + 24,248,9,11,22,11,1,6,8,0,12,0,28,0,22,0, + 54,0,34,0,35,0,99,0,65,128,65,128,129,128,10,1, + 2,11,1,253,255,192,5,5,5,7,0,12,224,224,112,56, + 8,10,10,20,11,1,0,62,0,99,0,227,0,3,0,63, + 0,99,0,195,0,195,0,255,192,123,0,11,17,34,12,0, + 0,96,0,224,0,96,0,96,0,96,0,96,0,96,0,119, + 128,127,192,112,224,96,96,96,96,96,96,96,64,96,192,127, + 128,30,0,9,10,20,10,1,0,31,0,99,128,65,0,192, + 0,192,0,192,0,192,0,225,0,127,128,60,0,12,17,34, + 13,1,0,0,192,3,192,0,192,0,192,0,192,0,192,0, + 192,31,192,33,192,64,192,192,192,192,192,192,192,192,192,97, + 192,127,240,60,192,9,10,20,11,1,0,30,0,99,0,65, + 128,193,128,255,128,192,0,192,0,225,128,127,0,62,0,9, + 17,34,8,0,0,7,128,25,0,16,0,48,0,48,0,48, + 0,48,0,126,0,176,0,48,0,48,0,48,0,48,0,48, + 0,48,0,48,0,124,0,11,15,30,12,1,251,30,96,35, + 192,97,128,97,128,97,128,115,0,62,0,48,0,124,0,63, + 128,111,192,192,192,192,192,225,128,62,0,12,17,34,13,1, + 0,48,0,240,0,48,0,48,0,48,0,48,0,48,0,51, + 128,63,192,56,192,48,192,48,192,48,192,48,192,48,192,48, + 192,249,240,5,15,15,7,1,0,48,112,48,0,0,112,240, + 48,48,48,48,48,48,48,248,7,20,20,6,254,251,6,14, + 6,0,0,6,14,6,6,6,6,6,6,6,6,6,6,68, + 248,240,12,17,34,13,1,0,48,0,240,0,48,0,48,0, + 48,0,48,0,48,0,49,240,49,192,51,0,54,0,62,0, + 55,0,51,128,49,192,49,224,248,240,6,17,17,7,1,0, + 48,240,48,48,48,48,48,48,48,48,48,48,48,48,48,48, + 252,18,10,30,19,1,0,103,142,0,255,255,0,112,227,0, + 96,195,0,96,195,0,96,195,0,96,195,0,96,195,0,96, + 195,0,241,231,192,12,10,20,13,1,0,51,128,247,192,56, + 192,48,192,48,192,48,192,48,192,48,192,48,192,249,240,10, + 10,20,12,1,0,30,0,33,128,65,128,192,192,192,192,192, + 192,192,192,96,128,113,0,30,0,11,15,30,13,1,251,51, + 128,255,192,56,224,48,96,48,96,48,96,48,96,48,192,63, + 128,55,0,48,0,48,0,48,0,48,0,252,0,11,15,30, + 13,1,251,30,64,97,192,64,192,192,192,192,192,192,192,192, + 192,225,192,127,192,60,192,0,192,0,192,0,192,0,192,3, + 224,9,10,20,10,1,0,119,128,255,128,121,128,113,0,112, + 0,112,0,112,0,112,0,112,0,252,0,8,10,10,10,1, + 0,126,198,198,240,124,63,135,131,194,252,8,14,14,9,0, + 0,16,48,48,48,127,176,48,48,48,48,48,50,63,24,12, + 10,20,13,1,0,97,192,224,192,96,192,96,192,96,192,96, + 192,96,192,97,192,127,240,60,192,12,10,20,12,0,0,248, + 240,112,64,56,192,56,128,28,128,29,128,13,0,15,0,6, + 0,6,0,16,10,20,17,0,0,248,135,112,194,49,198,57, + 230,59,100,27,124,30,124,14,56,12,56,12,16,12,10,20, + 12,0,0,253,240,56,192,29,128,31,0,14,0,15,0,27, + 128,17,192,33,224,243,240,13,15,30,12,255,251,124,120,56, + 32,28,96,28,64,14,192,14,192,6,128,7,128,7,0,3, + 0,3,0,6,0,70,0,124,0,248,0,9,10,20,11,1, + 0,255,128,199,0,135,0,14,0,28,0,60,0,57,0,112, + 128,225,128,255,128,5,22,22,8,2,252,24,48,96,96,96, + 96,48,48,48,48,96,224,48,48,48,48,96,96,96,96,48, + 24,2,24,24,5,2,251,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,5, + 22,22,8,1,252,192,96,48,48,48,48,96,96,96,96,56, + 48,96,96,96,96,48,48,48,48,96,192,10,4,8,11,1, + 5,48,64,124,128,159,0,135,0,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,255,255,255,255,255,255,255,0,0,0,6,0,0, + 4,16,16,7,1,250,112,240,96,0,32,32,32,112,112,112, + 112,112,112,112,112,96,10,14,28,12,1,0,12,0,12,0, + 31,128,125,192,108,128,204,0,204,0,204,0,204,0,236,192, + 127,128,63,0,12,0,12,0,11,14,28,12,0,0,7,192, + 12,224,24,64,24,64,56,0,56,0,56,0,127,0,184,0, + 56,0,56,32,48,32,127,224,255,224,10,9,18,12,1,2, + 128,64,94,128,51,0,97,128,97,128,97,128,51,128,94,128, + 128,64,12,14,28,12,0,0,241,240,120,192,56,192,29,128, + 29,128,13,0,15,0,6,0,63,192,6,0,6,0,6,0, + 6,0,31,128,2,24,24,5,2,251,192,192,192,192,192,192, + 192,192,192,192,128,0,0,64,192,192,192,192,192,192,192,192, + 192,192,9,16,32,11,1,0,62,0,99,0,99,0,112,0, + 60,0,127,0,199,128,195,128,225,128,121,128,63,0,31,0, + 71,0,67,0,99,0,126,0,7,3,3,9,1,12,198,238, + 198,15,15,30,17,1,0,7,192,24,48,48,24,99,204,108, + 236,200,70,216,6,216,6,216,6,216,6,108,44,103,204,48, + 24,24,48,7,192,6,7,7,6,0,7,120,216,24,248,216, + 252,248,9,10,20,12,1,0,8,128,17,128,51,0,103,0, + 238,0,238,0,103,0,51,0,17,128,8,128,10,5,10,12, + 1,2,255,192,0,192,0,192,0,192,0,192,7,1,1,8, + 1,5,254,8,8,8,8,0,8,60,66,157,149,153,153,86, + 60,9,2,4,11,1,13,255,128,255,128,6,5,5,8,1, + 9,56,76,204,200,112,8,10,10,9,1,2,24,24,24,24, + 255,24,24,24,0,255,6,8,8,8,1,7,120,204,140,24, + 16,32,68,252,6,8,8,8,1,7,56,204,140,56,12,12, + 140,120,6,5,5,7,2,12,56,60,112,96,192,12,15,30, + 13,1,251,96,192,225,192,96,192,96,192,96,192,96,192,96, + 192,113,192,127,240,110,192,96,0,96,0,112,0,112,0,96, + 0,14,17,34,14,0,253,31,252,113,176,225,176,225,176,225, + 176,225,176,113,176,31,176,1,176,1,176,1,176,1,176,1, + 176,1,176,1,176,1,176,7,252,4,3,3,5,0,6,96, + 240,224,4,5,5,5,1,251,32,96,48,48,224,6,8,8, + 8,1,7,48,240,48,48,48,48,48,252,5,7,7,6,0, + 7,112,216,216,216,216,112,248,10,10,20,12,1,0,196,0, + 102,0,99,0,51,128,57,192,61,192,49,128,99,0,102,0, + 196,0,12,14,28,14,1,0,48,16,240,48,48,96,48,192, + 48,128,49,128,255,0,6,96,4,224,13,224,25,96,19,240, + 48,96,96,240,12,14,28,14,1,0,48,48,240,96,48,192, + 48,192,49,128,51,0,254,0,6,240,13,48,26,48,16,96, + 48,192,97,144,195,240,14,14,28,15,0,0,56,8,76,24, + 40,48,60,96,12,64,140,192,121,128,3,24,2,56,6,88, + 12,88,8,252,24,24,48,60,9,16,32,11,1,250,28,0, + 30,0,12,0,0,0,12,0,12,0,12,0,24,0,56,0, + 112,0,96,0,224,0,227,128,227,128,231,0,126,0,14,20, + 40,14,0,0,8,0,28,0,15,0,3,128,0,0,0,0, + 1,0,7,128,7,128,5,128,13,192,12,192,8,224,24,224, + 31,224,16,112,48,112,48,48,32,56,248,124,14,20,40,14, + 0,0,0,128,0,224,3,192,7,0,0,0,0,0,1,0, + 7,128,7,128,5,128,13,192,12,192,8,224,24,224,31,224, + 16,112,48,112,48,48,32,56,248,124,14,20,40,14,0,0, + 3,0,7,128,15,192,12,96,16,0,0,0,1,0,7,128, + 7,128,5,128,13,192,12,192,8,224,24,224,31,224,16,112, + 48,112,48,48,32,56,248,124,14,19,38,14,0,0,4,32, + 15,240,27,192,0,0,0,0,1,0,7,128,7,128,5,128, + 13,192,12,192,8,224,24,224,31,224,16,112,48,112,48,48, + 32,56,248,124,14,19,38,14,0,0,8,64,28,224,24,224, + 0,0,0,0,1,0,7,128,7,128,5,128,13,192,12,192, + 8,224,24,224,31,224,16,112,48,112,48,48,32,56,248,124, + 14,20,40,14,0,0,1,128,6,192,6,192,7,128,0,0, + 0,0,1,0,7,128,7,128,5,128,13,192,12,192,8,224, + 24,224,31,224,16,112,48,112,48,48,32,56,248,124,18,14, + 42,19,0,0,7,255,128,1,225,128,3,96,128,3,96,128, + 6,96,0,6,96,0,7,255,0,12,98,0,12,96,0,24, + 96,0,24,96,0,48,96,64,48,96,192,249,255,128,11,19, + 38,13,1,251,15,192,49,192,96,128,64,0,192,0,192,0, + 192,0,192,0,192,0,192,0,96,0,112,96,63,192,31,128, + 4,0,6,0,3,0,3,0,12,0,12,20,40,12,0,0, + 16,0,56,0,30,0,7,0,0,0,0,0,255,224,56,96, + 56,96,56,64,56,0,56,0,63,192,56,128,56,0,56,0, + 56,0,56,48,56,32,255,224,12,20,40,12,0,0,1,0, + 1,192,7,128,14,0,0,0,0,0,255,224,56,96,56,96, + 56,64,56,0,56,0,63,192,56,128,56,0,56,0,56,0, + 56,48,56,32,255,224,12,20,40,12,0,0,6,0,15,0, + 31,128,48,192,0,0,0,0,255,224,56,96,56,96,56,64, + 56,0,56,0,63,192,56,128,56,0,56,0,56,0,56,48, + 56,32,255,224,12,19,38,12,0,0,16,128,49,192,49,192, + 0,0,0,0,255,224,56,96,56,96,56,64,56,0,56,0, + 63,192,56,128,56,0,56,0,56,0,56,48,56,32,255,224, + 7,20,20,8,0,0,64,224,112,24,4,0,126,24,24,24, + 24,24,24,24,24,24,24,24,24,126,7,20,20,8,1,0, + 8,30,60,96,128,0,252,48,48,48,48,48,48,48,48,48, + 48,48,48,252,7,20,20,8,0,0,16,56,124,198,0,0, + 126,24,24,24,24,24,24,24,24,24,24,24,24,126,8,19, + 19,8,255,0,65,99,227,0,0,63,12,12,12,12,12,12, + 12,12,12,12,12,12,63,14,14,28,15,0,0,127,192,240, + 240,48,56,48,24,48,28,48,28,254,28,48,28,48,28,48, + 28,48,24,48,56,48,240,255,192,15,19,38,15,0,0,2, + 32,15,240,11,224,16,0,0,0,248,126,56,24,60,24,62, + 24,54,24,55,24,51,152,49,152,49,216,48,248,48,120,48, + 56,48,56,252,24,12,20,40,14,1,0,16,0,60,0,30, + 0,3,0,0,0,0,0,15,128,48,192,96,96,64,96,192, + 48,192,48,192,48,192,48,192,48,192,48,96,96,96,64,48, + 128,31,0,12,20,40,14,1,0,1,0,1,192,7,128,14, + 0,0,0,0,0,15,128,48,192,96,96,64,96,192,48,192, + 48,192,48,192,48,192,48,192,48,96,96,96,64,48,128,31, + 0,12,20,40,14,1,0,6,0,15,0,15,128,24,192,32, + 0,0,0,15,128,48,192,96,96,64,96,192,48,192,48,192, + 48,192,48,192,48,192,48,96,96,96,64,48,128,31,0,12, + 19,38,14,1,0,8,64,31,224,55,128,0,0,0,0,15, + 128,48,192,96,96,64,96,192,48,192,48,192,48,192,48,192, + 48,192,48,96,96,96,64,48,128,31,0,12,19,38,14,1, + 0,16,128,57,192,49,192,0,0,0,0,15,128,48,192,96, + 96,64,96,192,48,192,48,192,48,192,48,192,48,192,48,96, + 96,96,64,48,128,31,0,8,7,7,10,1,3,195,102,60, + 24,60,102,195,12,15,30,14,1,255,15,176,16,224,32,224, + 96,224,193,240,195,112,195,48,198,48,204,48,232,32,120,96, + 112,64,112,128,223,0,128,0,15,20,40,15,0,0,4,0, + 14,0,7,0,1,192,0,0,0,0,252,126,48,24,48,24, + 48,24,48,24,48,24,48,24,48,24,48,24,48,24,48,24, + 24,48,24,32,7,192,15,20,40,15,0,0,0,64,0,240, + 1,224,3,0,0,0,0,0,252,126,48,24,48,24,48,24, + 48,24,48,24,48,24,48,24,48,24,48,24,48,24,24,48, + 24,32,7,192,15,20,40,15,0,0,1,128,3,128,7,192, + 12,96,0,16,0,0,252,126,48,24,48,24,48,24,48,24, + 48,24,48,24,48,24,48,24,48,24,48,24,24,48,24,32, + 7,192,15,19,38,15,0,0,4,32,12,112,12,96,0,0, + 0,0,252,126,48,24,48,24,48,24,48,24,48,24,48,24, + 48,24,48,24,48,24,48,24,24,48,24,32,7,192,13,20, + 40,14,0,0,0,128,0,224,3,192,7,0,0,0,0,0, + 240,120,56,48,28,96,28,96,14,192,6,128,7,128,3,0, + 3,0,3,0,3,0,3,0,3,0,15,192,12,14,28,13, + 0,0,252,0,48,0,48,0,63,192,48,96,48,48,48,48, + 48,48,48,48,48,96,55,192,48,0,48,0,252,0,11,17, + 34,14,1,0,15,128,16,192,32,96,32,96,96,96,96,96, + 97,192,99,0,99,0,99,0,99,192,97,192,96,224,104,96, + 104,96,108,64,239,128,10,17,34,11,1,0,48,0,120,0, + 24,0,12,0,6,0,0,0,0,0,62,0,99,0,227,0, + 3,0,63,0,99,0,195,0,195,0,255,192,123,0,10,17, + 34,11,1,0,7,0,7,0,14,0,12,0,24,0,0,0, + 0,0,62,0,99,0,227,0,3,0,63,0,99,0,195,0, + 195,0,255,192,123,0,10,17,34,11,1,0,12,0,30,0, + 62,0,115,0,65,128,0,0,0,0,62,0,99,0,227,0, + 3,0,63,0,99,0,195,0,195,0,255,192,123,0,10,16, + 32,11,1,0,56,128,124,128,127,0,198,0,0,0,0,0, + 62,0,99,0,227,0,3,0,63,0,99,0,195,0,195,0, + 255,192,123,0,10,15,30,11,1,0,99,0,99,128,99,0, + 0,0,0,0,62,0,99,0,227,0,3,0,63,0,99,0, + 195,0,195,0,255,192,123,0,10,16,32,11,1,0,14,0, + 27,0,26,0,28,0,0,0,0,0,62,0,99,0,227,0, + 3,0,63,0,99,0,195,0,195,0,255,192,123,0,15,10, + 20,17,1,0,30,120,119,140,227,6,131,6,31,252,99,0, + 195,0,199,132,253,252,112,240,9,15,30,10,1,251,31,0, + 99,128,65,0,192,0,192,0,192,0,192,0,225,0,126,0, + 60,0,16,0,28,0,12,0,12,0,48,0,9,17,34,11, + 1,0,56,0,56,0,28,0,12,0,6,0,0,0,0,0, + 30,0,99,0,65,128,193,128,255,128,192,0,192,0,225,128, + 127,0,62,0,9,17,34,11,1,0,7,0,7,128,14,0, + 12,0,24,0,0,0,0,0,30,0,99,0,65,128,193,128, + 255,128,192,0,192,0,225,128,127,0,62,0,9,17,34,11, + 1,0,12,0,30,0,63,0,51,0,96,128,0,0,0,0, + 30,0,99,0,65,128,193,128,255,128,192,0,192,0,225,128, + 127,0,62,0,9,15,30,11,1,0,97,128,99,128,99,0, + 0,0,0,0,30,0,99,0,65,128,193,128,255,128,192,0, + 192,0,225,128,127,0,62,0,6,17,17,7,0,0,224,112, + 48,24,8,0,0,56,120,24,24,24,24,24,24,24,124,6, + 17,17,7,1,0,28,60,56,96,64,0,0,112,240,48,48, + 48,48,48,48,48,248,7,17,17,7,0,0,56,56,124,198, + 130,0,0,56,120,24,24,24,24,24,24,24,124,8,15,15, + 7,255,0,99,227,195,0,0,28,60,12,12,12,12,12,12, + 12,62,10,17,34,12,1,0,24,0,125,192,15,128,31,0, + 51,128,3,128,1,192,31,192,97,192,64,192,192,192,192,192, + 192,192,192,128,225,128,113,0,30,0,12,16,32,13,1,0, + 28,64,62,64,63,128,99,0,0,0,0,0,51,128,247,192, + 56,192,48,192,48,192,48,192,48,192,48,192,48,192,249,240, + 10,17,34,12,1,0,56,0,56,0,28,0,6,0,2,0, + 0,0,0,0,30,0,33,128,65,128,192,192,192,192,192,192, + 192,192,96,128,113,0,30,0,10,17,34,12,1,0,3,128, + 7,0,6,0,12,0,8,0,0,0,0,0,30,0,33,128, + 65,128,192,192,192,192,192,192,192,192,96,128,113,0,30,0, + 10,17,34,12,1,0,12,0,30,0,31,0,49,128,96,128, + 0,0,0,0,30,0,33,128,65,128,192,192,192,192,192,192, + 192,192,96,128,113,0,30,0,10,16,32,12,1,0,24,64, + 60,128,127,128,71,0,0,0,0,0,30,0,33,128,65,128, + 192,192,192,192,192,192,192,192,96,128,113,0,30,0,10,15, + 30,12,1,0,49,128,115,128,97,128,0,0,0,0,30,0, + 33,128,65,128,192,192,192,192,192,192,192,192,96,128,113,0, + 30,0,8,8,8,10,1,2,24,24,16,255,0,24,24,24, + 10,12,24,12,1,255,0,64,30,192,51,128,99,192,199,192, + 196,192,200,192,248,192,113,128,113,0,94,0,128,0,12,17, + 34,13,1,0,56,0,28,0,12,0,6,0,2,0,0,0, + 0,0,97,192,224,192,96,192,96,192,96,192,96,192,96,192, + 97,192,127,240,60,192,12,17,34,13,1,0,3,128,7,128, + 6,0,12,0,8,0,0,0,0,0,97,192,224,192,96,192, + 96,192,96,192,96,192,96,192,97,192,127,240,60,192,12,17, + 34,13,1,0,14,0,14,0,31,0,49,128,32,128,0,0, + 0,0,97,192,224,192,96,192,96,192,96,192,96,192,96,192, + 97,192,127,240,60,192,12,15,30,13,1,0,49,128,113,128, + 97,128,0,0,0,0,97,192,224,192,96,192,96,192,96,192, + 96,192,96,192,97,192,127,240,60,192,13,22,44,12,255,251, + 0,192,1,224,1,128,3,0,6,0,0,0,0,0,124,120, + 56,32,28,96,28,64,14,192,14,192,6,128,7,128,7,0, + 3,0,3,0,6,0,70,0,124,0,248,0,11,22,44,13, + 1,251,48,0,240,0,48,0,48,0,48,0,48,0,48,0, + 51,128,63,192,56,224,48,96,48,96,48,96,48,96,48,192, + 63,128,55,0,48,0,48,0,48,0,48,0,252,0,13,20, + 40,12,255,251,24,96,28,224,24,192,0,0,0,0,124,120, + 56,32,28,96,28,64,14,192,14,192,6,128,7,128,7,0, + 3,0,3,0,6,0,70,0,124,0,248,0}; +/* + Fontname: -FreeType-Gentium Basic-Bold-R-Normal--23-230-72-72-P-114-ISO10646-1 + Copyright: Copyright (c) SIL International, 2003-2008. + Capital A Height: 0, '1' Height: 14 + Calculated Max Values w=11 h=22 x= 2 y= 8 dx=12 dy= 0 ascent=18 len=44 + Font Bounding box w=36 h=33 x=-12 y=-8 + Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 + Pure Font ascent =14 descent= 0 + X Font ascent =14 descent= 0 + Max Font ascent =18 descent=-4 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_gdb14n[464] U8G_FONT_SECTION("u8g_font_gdb14n") = { + 0,36,33,244,248,14,0,0,0,0,42,58,0,18,252,14, + 0,9,10,20,10,1,8,24,0,24,0,219,0,255,128,60, + 0,62,0,255,0,219,0,24,0,24,0,8,8,8,10,1, + 2,24,24,24,255,24,24,24,24,4,7,7,6,1,252,48, + 240,48,48,32,96,64,7,1,1,8,1,5,254,4,3,3, + 6,1,0,96,240,224,11,22,44,11,0,252,0,96,0,192, + 0,192,1,128,1,128,3,128,3,0,3,0,7,0,6,0, + 6,0,12,0,12,0,28,0,24,0,24,0,56,0,48,0, + 48,0,96,0,96,0,192,0,10,14,28,12,1,0,30,0, + 51,0,97,128,97,128,225,192,225,192,225,192,225,192,225,192, + 225,192,97,128,97,128,51,0,30,0,8,14,14,12,2,0, + 8,120,248,24,24,24,24,24,24,24,24,24,24,255,8,14, + 14,11,2,0,62,103,227,195,3,6,4,12,24,48,33,65, + 255,255,9,14,28,11,1,0,30,0,99,0,227,0,67,0, + 3,0,6,0,31,0,7,128,3,128,1,128,1,128,1,128, + 67,0,190,0,10,14,28,12,1,0,1,0,7,0,7,0, + 15,0,27,0,19,0,51,0,99,0,99,0,255,192,3,0, + 3,0,3,0,15,192,9,14,28,12,1,0,63,128,63,0, + 32,0,96,0,96,0,126,0,67,0,1,128,1,128,1,128, + 1,128,1,128,195,0,62,0,10,14,28,12,1,0,7,0, + 28,0,48,0,96,0,64,0,223,0,225,128,192,192,192,192, + 192,192,192,192,96,128,49,128,30,0,10,14,28,12,1,0, + 127,192,255,128,129,128,129,128,3,0,3,0,2,0,6,0, + 6,0,12,0,12,0,24,0,56,0,48,0,9,14,28,11, + 1,0,62,0,113,128,241,128,241,128,249,128,127,0,63,0, + 63,128,99,128,193,128,193,128,193,128,99,0,62,0,10,14, + 28,12,1,0,31,0,35,128,65,128,192,192,192,192,192,192, + 192,192,97,192,62,192,0,128,1,128,3,0,14,0,56,0, + 4,10,10,6,1,0,224,240,96,0,0,0,0,96,240,224 + }; +/* + Fontname: -FreeType-Gentium Basic-Bold-R-Normal--23-230-72-72-P-114-ISO10646-1 + Copyright: Copyright (c) SIL International, 2003-2008. + Capital A Height: 14, '1' Height: 14 + Calculated Max Values w=19 h=24 x= 2 y=12 dx=20 dy= 0 ascent=19 len=60 + Font Bounding box w=36 h=33 x=-12 y=-8 + Calculated Min Values x=-3 y=-5 dx= 0 dy= 0 + Pure Font ascent =14 descent=-5 + X Font ascent =18 descent=-5 + Max Font ascent =19 descent=-5 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_gdb14r[2842] U8G_FONT_SECTION("u8g_font_gdb14r") = { + 0,36,33,244,248,14,3,134,7,177,32,127,251,19,251,18, + 251,0,0,0,6,0,0,4,17,17,7,2,0,96,224,224, + 224,224,224,224,224,224,64,64,64,0,0,96,240,224,7,8, + 8,11,2,9,102,238,206,206,198,198,198,196,11,13,26,12, + 1,1,12,192,12,128,9,128,127,224,25,0,19,0,19,0, + 51,0,255,128,38,0,38,0,100,0,140,0,10,18,36,12, + 1,254,12,0,12,0,63,128,127,192,205,128,204,128,236,0, + 124,0,63,0,15,128,13,192,140,192,140,192,204,192,255,128, + 127,0,12,0,12,0,15,14,28,17,1,0,56,24,76,16, + 198,48,198,96,198,192,199,128,101,128,59,56,6,68,12,198, + 12,198,24,198,48,100,96,56,15,16,32,16,1,0,15,0, + 17,128,49,128,49,128,51,0,62,0,60,0,28,254,124,120, + 126,48,207,48,199,160,195,224,193,240,97,252,62,56,3,8, + 8,6,2,9,96,224,192,192,192,192,192,192,5,22,22,8, + 2,252,8,24,48,96,96,96,192,192,192,192,192,192,192,192, + 192,192,96,96,96,48,24,8,5,22,22,8,1,252,128,192, + 96,48,48,48,24,24,24,24,24,24,24,24,24,24,48,48, + 48,96,192,128,9,10,20,10,1,8,24,0,24,0,219,0, + 255,128,60,0,62,0,255,0,219,0,24,0,24,0,8,8, + 8,10,1,2,24,24,24,255,24,24,24,24,4,7,7,6, + 1,252,48,240,48,48,32,96,64,7,1,1,8,1,5,254, + 4,3,3,6,1,0,96,240,224,11,22,44,11,0,252,0, + 96,0,192,0,192,1,128,1,128,3,128,3,0,3,0,7, + 0,6,0,6,0,12,0,12,0,28,0,24,0,24,0,56, + 0,48,0,48,0,96,0,96,0,192,0,10,14,28,12,1, + 0,30,0,51,0,97,128,97,128,225,192,225,192,225,192,225, + 192,225,192,225,192,97,128,97,128,51,0,30,0,8,14,14, + 12,2,0,8,120,248,24,24,24,24,24,24,24,24,24,24, + 255,8,14,14,11,2,0,62,103,227,195,3,6,4,12,24, + 48,33,65,255,255,9,14,28,11,1,0,30,0,99,0,227, + 0,67,0,3,0,6,0,31,0,7,128,3,128,1,128,1, + 128,1,128,67,0,190,0,10,14,28,12,1,0,1,0,7, + 0,7,0,15,0,27,0,19,0,51,0,99,0,99,0,255, + 192,3,0,3,0,3,0,15,192,9,14,28,12,1,0,63, + 128,63,0,32,0,96,0,96,0,126,0,67,0,1,128,1, + 128,1,128,1,128,1,128,195,0,62,0,10,14,28,12,1, + 0,7,0,28,0,48,0,96,0,64,0,223,0,225,128,192, + 192,192,192,192,192,192,192,96,128,49,128,30,0,10,14,28, + 12,1,0,127,192,255,128,129,128,129,128,3,0,3,0,2, + 0,6,0,6,0,12,0,12,0,24,0,56,0,48,0,9, + 14,28,11,1,0,62,0,113,128,241,128,241,128,249,128,127, + 0,63,0,63,128,99,128,193,128,193,128,193,128,99,0,62, + 0,10,14,28,12,1,0,31,0,35,128,65,128,192,192,192, + 192,192,192,192,192,97,192,62,192,0,128,1,128,3,0,14, + 0,56,0,4,10,10,6,1,0,224,240,96,0,0,0,0, + 96,240,224,4,15,15,6,1,252,96,240,224,0,0,0,0, + 0,48,240,48,48,32,96,64,9,7,14,10,1,3,1,128, + 15,128,124,0,224,0,248,0,31,0,3,128,9,4,8,10, + 1,4,255,128,0,0,0,0,255,128,9,7,14,10,1,3, + 192,0,248,0,31,0,3,128,31,0,240,0,128,0,9,16, + 32,10,1,0,63,0,103,128,227,128,227,128,3,128,7,0, + 7,0,14,0,12,0,24,0,24,0,24,0,0,0,28,0, + 60,0,56,0,18,20,60,20,1,251,1,248,0,7,254,0, + 28,15,0,56,3,128,48,1,128,97,233,192,99,24,192,194, + 24,192,198,24,192,198,24,192,198,24,192,198,24,128,199,57, + 128,227,255,0,97,222,0,112,0,0,56,1,0,62,7,0, + 15,252,0,3,240,0,14,14,28,14,0,0,1,0,7,128, + 7,128,5,128,13,192,12,192,8,224,24,224,31,224,16,112, + 48,112,48,48,32,56,248,124,13,14,28,14,0,0,127,128, + 176,192,48,96,48,96,48,96,48,192,63,224,48,112,48,56, + 48,56,48,56,48,56,48,112,255,224,11,14,28,13,1,0, + 15,192,49,192,96,128,64,0,192,0,192,0,192,0,192,0, + 192,0,192,0,224,0,112,96,127,128,31,0,14,14,28,15, + 0,0,127,192,240,240,48,56,48,24,48,28,48,28,48,28, + 48,28,48,28,48,28,48,24,48,56,48,240,255,192,12,14, + 28,12,0,0,255,224,56,96,56,96,56,64,56,0,56,0, + 63,192,56,128,56,0,56,0,56,0,56,48,56,32,255,224, + 11,14,28,12,0,0,255,224,56,96,56,32,56,32,56,0, + 56,0,63,128,57,0,56,0,56,0,56,0,56,0,56,0, + 254,0,12,14,28,14,1,0,15,192,16,224,32,64,96,0, + 64,0,192,0,192,0,192,0,193,240,192,96,96,96,96,96, + 48,96,15,128,16,14,28,16,0,0,252,63,48,12,48,12, + 48,12,48,12,48,12,63,252,48,12,48,12,48,12,48,12, + 48,12,48,12,252,63,6,14,14,8,1,0,252,48,48,48, + 48,48,48,48,48,48,48,48,48,252,10,19,38,8,253,251, + 15,192,3,0,3,0,3,0,3,0,3,0,3,0,3,0, + 3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0, + 38,0,124,0,248,0,13,14,28,14,0,0,252,248,48,224, + 48,192,49,128,51,0,54,0,60,0,62,0,55,0,51,128, + 49,192,48,224,48,120,252,120,11,14,28,12,0,0,252,0, + 48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0, + 48,0,48,0,48,96,48,64,255,192,18,14,42,19,1,0, + 240,7,128,120,15,0,120,15,0,124,15,0,124,31,0,108, + 23,0,110,55,0,102,55,0,103,103,0,99,103,0,99,199, + 0,99,199,0,97,135,0,241,143,192,15,14,28,15,0,0, + 248,126,56,24,60,24,62,24,54,24,55,24,51,152,49,152, + 49,216,48,248,48,120,48,56,48,56,252,24,12,14,28,14, + 1,0,15,128,48,192,96,96,64,96,192,48,192,48,192,48, + 192,48,192,48,192,48,96,96,96,64,48,128,31,0,12,14, + 28,13,0,0,127,192,176,224,48,48,48,48,48,48,48,48, + 48,96,55,128,48,0,48,0,48,0,48,0,48,0,252,0, + 15,18,36,14,1,252,15,128,48,192,96,96,64,96,192,48, + 192,48,192,48,192,48,192,48,192,48,96,96,96,96,48,192, + 31,0,1,192,0,228,0,126,0,24,14,14,28,14,0,0, + 127,192,240,224,48,48,48,48,48,48,48,96,63,192,51,128, + 49,192,49,192,48,224,48,112,48,124,252,60,10,14,28,12, + 1,0,31,128,97,192,192,128,192,0,240,0,124,0,63,0, + 15,128,3,192,1,192,128,192,192,128,225,128,254,0,12,14, + 28,13,1,0,255,240,198,48,134,16,134,16,6,0,6,0, + 6,0,6,0,6,0,6,0,6,0,6,0,6,0,31,128, + 15,14,28,15,0,0,252,126,48,24,48,24,48,24,48,24, + 48,24,48,24,48,24,48,24,48,24,48,24,24,48,24,32, + 7,192,15,14,28,15,0,0,252,62,56,8,56,24,56,16, + 28,48,28,48,14,32,14,96,6,96,7,64,7,192,3,128, + 3,128,1,0,19,14,42,20,0,0,252,99,224,48,96,192, + 56,112,192,56,240,128,56,241,128,24,185,128,25,153,128,29, + 29,0,29,29,0,15,15,0,14,15,0,14,7,0,14,6, + 0,4,6,0,14,14,28,14,0,0,252,124,56,48,28,96, + 28,96,14,192,7,128,7,128,7,128,7,192,12,224,24,224, + 24,112,48,56,248,252,13,14,28,14,0,0,240,120,56,48, + 28,96,28,96,14,192,6,128,7,128,3,0,3,0,3,0, + 3,0,3,0,3,0,15,192,11,14,28,13,1,0,127,224, + 193,192,195,128,131,128,7,0,15,0,14,0,28,0,28,0, + 56,0,120,32,112,96,224,96,255,224,6,21,21,8,2,253, + 248,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,252,10,22,44,11,0,252,192,0,96,0,96, + 0,48,0,48,0,48,0,24,0,24,0,28,0,12,0,12, + 0,6,0,6,0,6,0,3,0,3,0,3,0,1,128,1, + 128,1,192,0,192,0,192,5,21,21,7,1,253,248,24,24, + 24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24, + 24,248,9,11,22,11,1,6,8,0,12,0,28,0,22,0, + 54,0,34,0,35,0,99,0,65,128,65,128,129,128,10,1, + 2,11,1,253,255,192,5,5,5,7,0,12,224,224,112,56, + 8,10,10,20,11,1,0,62,0,99,0,227,0,3,0,63, + 0,99,0,195,0,195,0,255,192,123,0,11,17,34,12,0, + 0,96,0,224,0,96,0,96,0,96,0,96,0,96,0,119, + 128,127,192,112,224,96,96,96,96,96,96,96,64,96,192,127, + 128,30,0,9,10,20,10,1,0,31,0,99,128,65,0,192, + 0,192,0,192,0,192,0,225,0,127,128,60,0,12,17,34, + 13,1,0,0,192,3,192,0,192,0,192,0,192,0,192,0, + 192,31,192,33,192,64,192,192,192,192,192,192,192,192,192,97, + 192,127,240,60,192,9,10,20,11,1,0,30,0,99,0,65, + 128,193,128,255,128,192,0,192,0,225,128,127,0,62,0,9, + 17,34,8,0,0,7,128,25,0,16,0,48,0,48,0,48, + 0,48,0,126,0,176,0,48,0,48,0,48,0,48,0,48, + 0,48,0,48,0,124,0,11,15,30,12,1,251,30,96,35, + 192,97,128,97,128,97,128,115,0,62,0,48,0,124,0,63, + 128,111,192,192,192,192,192,225,128,62,0,12,17,34,13,1, + 0,48,0,240,0,48,0,48,0,48,0,48,0,48,0,51, + 128,63,192,56,192,48,192,48,192,48,192,48,192,48,192,48, + 192,249,240,5,15,15,7,1,0,48,112,48,0,0,112,240, + 48,48,48,48,48,48,48,248,7,20,20,6,254,251,6,14, + 6,0,0,6,14,6,6,6,6,6,6,6,6,6,6,68, + 248,240,12,17,34,13,1,0,48,0,240,0,48,0,48,0, + 48,0,48,0,48,0,49,240,49,192,51,0,54,0,62,0, + 55,0,51,128,49,192,49,224,248,240,6,17,17,7,1,0, + 48,240,48,48,48,48,48,48,48,48,48,48,48,48,48,48, + 252,18,10,30,19,1,0,103,142,0,255,255,0,112,227,0, + 96,195,0,96,195,0,96,195,0,96,195,0,96,195,0,96, + 195,0,241,231,192,12,10,20,13,1,0,51,128,247,192,56, + 192,48,192,48,192,48,192,48,192,48,192,48,192,249,240,10, + 10,20,12,1,0,30,0,33,128,65,128,192,192,192,192,192, + 192,192,192,96,128,113,0,30,0,11,15,30,13,1,251,51, + 128,255,192,56,224,48,96,48,96,48,96,48,96,48,192,63, + 128,55,0,48,0,48,0,48,0,48,0,252,0,11,15,30, + 13,1,251,30,64,97,192,64,192,192,192,192,192,192,192,192, + 192,225,192,127,192,60,192,0,192,0,192,0,192,0,192,3, + 224,9,10,20,10,1,0,119,128,255,128,121,128,113,0,112, + 0,112,0,112,0,112,0,112,0,252,0,8,10,10,10,1, + 0,126,198,198,240,124,63,135,131,194,252,8,14,14,9,0, + 0,16,48,48,48,127,176,48,48,48,48,48,50,63,24,12, + 10,20,13,1,0,97,192,224,192,96,192,96,192,96,192,96, + 192,96,192,97,192,127,240,60,192,12,10,20,12,0,0,248, + 240,112,64,56,192,56,128,28,128,29,128,13,0,15,0,6, + 0,6,0,16,10,20,17,0,0,248,135,112,194,49,198,57, + 230,59,100,27,124,30,124,14,56,12,56,12,16,12,10,20, + 12,0,0,253,240,56,192,29,128,31,0,14,0,15,0,27, + 128,17,192,33,224,243,240,13,15,30,12,255,251,124,120,56, + 32,28,96,28,64,14,192,14,192,6,128,7,128,7,0,3, + 0,3,0,6,0,70,0,124,0,248,0,9,10,20,11,1, + 0,255,128,199,0,135,0,14,0,28,0,60,0,57,0,112, + 128,225,128,255,128,5,22,22,8,2,252,24,48,96,96,96, + 96,48,48,48,48,96,224,48,48,48,48,96,96,96,96,48, + 24,2,24,24,5,2,251,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,5, + 22,22,8,1,252,192,96,48,48,48,48,96,96,96,96,56, + 48,96,96,96,96,48,48,48,48,96,192,10,4,8,11,1, + 5,48,64,124,128,159,0,135,0,255}; +/* + Fontname: -FreeType-Gentium Basic-Bold-R-Normal--27-270-72-72-P-135-ISO10646-1 + Copyright: Copyright (c) SIL International, 2003-2008. + Capital A Height: 17, '1' Height: 16 + Calculated Max Values w=23 h=27 x= 3 y=16 dx=23 dy= 0 ascent=23 len=69 + Font Bounding box w=42 h=39 x=-14 y=-10 + Calculated Min Values x=-4 y=-7 dx= 0 dy= 0 + Pure Font ascent =17 descent=-6 + X Font ascent =21 descent=-6 + Max Font ascent =23 descent=-7 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_gdb17[7600] U8G_FONT_SECTION("u8g_font_gdb17") = { + 0,42,39,242,246,17,4,81,9,172,32,255,250,23,249,21, + 250,0,0,0,7,0,0,4,21,21,8,2,255,48,240,240, + 240,240,112,112,96,96,96,96,96,96,96,64,0,0,112,240, + 240,224,9,9,18,13,2,11,113,128,231,128,231,128,231,128, + 227,0,227,0,99,0,99,0,99,0,13,15,30,14,1,2, + 2,32,6,96,6,96,6,96,12,96,63,248,76,192,24,128, + 25,128,255,224,51,0,51,0,51,0,35,0,102,0,11,20, + 40,13,1,254,6,0,6,0,31,128,127,224,230,224,198,96, + 198,0,246,0,126,0,63,128,7,192,6,224,6,96,198,96, + 198,96,246,192,255,192,31,0,6,0,6,0,18,17,51,20, + 1,0,0,1,0,60,6,0,102,14,0,195,12,0,195,24, + 0,195,48,0,195,112,0,195,96,0,102,192,0,61,143,0, + 3,144,128,3,48,192,6,48,192,12,48,192,24,48,192,56, + 25,128,48,15,0,17,19,57,18,1,0,7,128,0,25,224, + 0,16,224,0,48,224,0,48,224,0,49,192,0,63,128,0, + 63,0,0,30,0,0,62,63,128,127,29,0,127,140,0,239, + 140,0,231,204,0,227,248,0,225,248,0,96,252,0,112,255, + 0,31,14,128,4,9,9,7,2,11,112,224,224,224,224,224, + 96,96,96,7,25,25,9,2,252,4,14,28,56,48,112,112, + 112,224,224,224,224,224,224,224,224,224,96,112,112,48,56,28, + 12,6,7,25,25,9,0,252,64,224,112,56,24,28,28,28, + 14,14,14,14,14,14,14,14,14,28,28,28,56,56,112,96, + 192,10,12,24,12,1,9,12,0,12,0,204,128,237,192,255, + 192,63,0,63,0,255,192,237,192,76,128,12,0,12,0,10, + 10,20,11,1,2,12,0,12,0,12,0,12,0,255,192,12, + 0,12,0,12,0,12,0,12,0,5,8,8,7,1,251,48, + 248,120,56,48,48,96,192,8,1,1,10,1,6,255,4,4, + 4,7,2,255,112,240,240,224,12,25,50,13,0,252,0,48, + 0,112,0,112,0,96,0,224,0,192,1,192,1,192,1,128, + 3,128,3,128,3,0,7,0,6,0,14,0,14,0,12,0, + 28,0,24,0,56,0,56,0,48,0,112,0,96,0,224,0, + 12,16,32,14,1,0,15,0,49,192,48,224,96,224,96,96, + 224,112,224,112,224,112,224,112,224,112,224,112,96,96,112,96, + 112,192,56,192,15,0,10,16,32,14,2,0,6,0,62,0, + 254,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, + 14,0,14,0,14,0,14,0,31,0,255,192,11,16,32,14, + 1,0,15,128,57,192,112,224,112,224,128,224,0,192,1,192, + 3,128,3,0,7,0,14,0,28,32,56,32,48,32,127,224, + 255,224,11,16,32,14,1,0,31,0,115,128,113,192,225,192, + 1,192,3,128,7,128,15,192,3,192,1,224,0,224,0,224, + 0,224,128,192,193,192,63,0,11,16,32,14,2,0,0,128, + 3,128,7,128,7,128,13,128,13,128,25,128,49,128,49,128, + 97,128,255,224,1,128,1,128,1,128,3,192,15,224,11,16, + 32,14,1,0,63,224,63,192,32,0,32,0,96,0,96,0, + 127,0,99,192,1,192,0,224,0,224,0,224,0,224,1,192, + 193,192,63,0,12,16,32,14,1,0,1,192,7,0,28,0, + 56,0,112,0,96,0,239,128,240,224,224,224,224,112,224,112, + 224,112,112,112,112,96,56,192,15,128,12,16,32,14,1,0, + 127,240,127,224,192,96,128,192,0,192,1,192,1,128,1,128, + 3,0,3,0,7,0,6,0,14,0,28,0,28,0,56,0, + 11,16,32,13,1,0,15,128,57,192,112,224,112,224,120,224, + 125,192,63,128,31,128,63,192,115,224,225,224,224,224,224,224, + 224,192,113,128,31,0,12,17,34,14,1,255,15,128,49,192, + 96,224,224,224,224,112,224,112,224,112,240,112,112,240,31,112, + 0,96,0,224,0,224,1,192,3,128,30,0,56,0,4,13, + 13,7,2,255,112,240,240,224,0,0,0,0,0,112,240,240, + 224,5,17,17,7,1,251,56,120,120,48,0,0,0,0,0, + 48,248,120,56,48,48,96,192,11,9,18,12,1,3,0,96, + 3,192,31,128,252,0,240,0,248,0,63,0,7,192,0,224, + 11,5,10,12,1,5,255,224,0,0,0,0,0,0,255,224, + 11,9,18,12,1,3,192,0,248,0,63,0,7,192,1,224, + 15,192,126,0,240,0,192,0,9,20,40,12,1,255,63,0, + 119,128,227,128,227,128,195,128,3,128,3,0,7,0,6,0, + 14,0,12,0,12,0,12,0,12,0,0,0,0,0,28,0, + 60,0,60,0,56,0,20,23,69,23,2,251,0,252,0,3, + 255,0,14,7,128,24,1,192,48,0,224,32,0,96,96,242, + 112,97,142,48,195,14,48,195,14,48,199,14,48,199,14,48, + 199,14,48,199,14,96,199,158,96,227,255,192,99,239,128,113, + 199,0,120,0,0,60,0,64,31,3,192,15,255,0,3,252, + 0,17,17,51,17,0,0,0,192,0,1,192,0,3,192,0, + 3,224,0,2,224,0,6,240,0,6,112,0,6,112,0,12, + 120,0,12,56,0,15,248,0,24,28,0,24,28,0,16,28, + 0,48,14,0,48,14,0,252,63,128,13,17,34,16,1,0, + 127,192,248,224,56,112,56,112,56,112,56,112,56,224,63,192, + 56,240,56,112,56,56,56,56,56,56,56,56,56,48,56,112, + 255,192,13,17,34,15,1,0,7,240,24,120,48,48,112,0, + 96,0,96,0,224,0,224,0,224,0,224,0,224,0,240,0, + 112,0,120,8,60,56,31,224,15,128,16,17,34,17,0,0, + 127,224,248,120,56,60,56,30,56,30,56,15,56,15,56,15, + 56,15,56,15,56,15,56,15,56,30,56,30,56,60,56,120, + 255,224,13,17,34,14,1,0,255,240,120,48,120,48,120,32, + 120,32,120,0,120,0,120,0,127,192,120,128,120,0,120,0, + 120,0,120,16,120,24,120,48,255,240,12,17,34,14,1,0, + 255,240,120,48,120,48,120,48,120,32,120,0,120,0,120,0, + 127,192,120,128,120,0,120,0,120,0,120,0,120,0,120,0, + 254,0,14,17,34,16,1,0,3,240,12,120,48,48,48,0, + 112,0,96,0,224,0,224,0,224,0,224,252,224,56,224,56, + 112,56,112,56,60,56,31,240,7,192,17,17,51,18,0,0, + 254,63,128,60,30,0,56,14,0,56,14,0,56,14,0,56, + 14,0,56,14,0,56,14,0,63,254,0,56,14,0,56,14, + 0,56,14,0,56,14,0,56,14,0,56,14,0,56,14,0, + 254,63,128,7,17,17,9,1,0,254,56,56,56,56,56,56, + 56,56,56,56,56,56,56,56,56,254,12,22,44,9,252,251, + 7,240,1,192,1,192,1,192,1,192,1,192,1,192,1,192, + 1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192, + 1,192,1,128,1,128,51,0,126,0,252,0,16,17,34,17, + 1,0,254,126,56,56,56,48,56,112,56,224,57,192,59,128, + 63,0,63,0,59,128,57,192,57,224,56,240,56,120,56,60, + 56,31,254,30,13,17,34,14,1,0,254,0,56,0,56,0, + 56,0,56,0,56,0,56,0,56,0,56,0,56,0,56,0, + 56,0,56,0,56,8,56,24,56,24,255,240,21,17,51,23, + 1,0,248,1,248,56,1,224,60,1,224,60,3,224,62,3, + 224,62,6,224,63,6,224,55,12,224,39,140,224,35,156,224, + 35,152,224,33,216,224,33,240,224,97,240,224,96,224,224,112, + 224,224,248,67,248,18,17,51,18,0,0,248,15,192,124,3, + 0,60,3,0,62,3,0,63,3,0,55,131,0,51,195,0, + 51,195,0,49,227,0,48,243,0,48,123,0,48,123,0,48, + 63,0,48,31,0,48,15,0,48,7,0,252,3,0,15,17, + 34,17,1,0,7,192,24,112,48,56,48,28,96,28,96,14, + 224,14,224,14,224,14,224,14,224,14,224,12,112,28,112,24, + 56,24,28,32,7,192,14,17,34,15,0,0,127,224,248,120, + 56,56,56,28,56,28,56,28,56,28,56,56,60,112,59,224, + 56,0,56,0,56,0,56,0,56,0,56,0,254,0,18,22, + 66,17,1,251,7,192,0,24,112,0,48,56,0,48,28,0, + 96,28,0,96,14,0,224,14,0,224,14,0,224,14,0,224, + 14,0,224,14,0,224,14,0,112,28,0,112,28,0,56,24, + 0,28,48,0,7,192,0,0,112,0,0,60,64,0,31,192, + 0,15,128,0,3,0,16,17,34,16,0,0,63,192,248,112, + 56,56,56,56,56,56,56,56,56,112,63,240,63,192,57,192, + 56,224,56,224,56,112,56,120,56,60,56,63,254,30,12,17, + 34,14,1,0,15,240,48,240,64,32,192,0,224,0,248,0, + 126,0,63,128,31,192,7,224,0,240,0,112,0,48,192,48, + 192,32,240,64,255,128,15,17,34,16,0,0,255,254,195,134, + 195,134,131,134,131,132,3,128,3,128,3,128,3,128,3,128, + 3,128,3,128,3,128,3,128,3,128,7,192,15,224,17,17, + 51,18,0,0,254,31,128,56,6,0,56,6,0,56,6,0, + 56,6,0,56,6,0,56,6,0,56,6,0,56,6,0,56, + 6,0,56,6,0,56,6,0,56,6,0,56,4,0,28,12, + 0,14,24,0,3,224,0,18,17,51,18,0,0,254,15,192, + 56,7,0,60,6,0,28,6,0,28,6,0,30,12,0,14, + 12,0,15,24,0,7,24,0,7,24,0,7,176,0,3,176, + 0,3,176,0,1,224,0,1,224,0,1,224,0,0,128,0, + 23,17,51,23,0,0,254,24,126,56,24,24,56,56,24,56, + 60,16,28,60,48,28,110,48,28,110,48,28,110,48,14,199, + 96,14,199,96,14,135,96,15,131,224,15,131,224,7,1,192, + 7,1,192,7,1,192,6,0,128,17,17,51,17,0,0,255, + 63,0,60,12,0,28,24,0,30,24,0,15,48,0,7,112, + 0,7,224,0,3,192,0,1,192,0,3,224,0,3,240,0, + 6,112,0,12,120,0,12,60,0,24,28,0,56,30,0,252, + 63,128,16,17,34,17,0,0,248,31,60,14,28,12,14,24, + 15,24,7,48,7,48,3,224,3,224,1,192,1,192,1,192, + 1,192,1,192,1,192,1,192,7,240,13,17,34,15,1,0, + 127,248,96,240,64,240,193,224,1,192,3,192,7,128,7,128, + 15,0,15,0,30,0,60,0,60,0,120,24,120,24,240,24, + 255,248,6,25,25,9,3,252,252,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 252,11,25,50,13,1,252,192,0,192,0,224,0,96,0,112, + 0,112,0,48,0,56,0,24,0,24,0,28,0,12,0,14, + 0,6,0,6,0,7,0,3,0,3,0,3,128,1,128,1, + 192,0,192,0,192,0,224,0,96,6,25,25,8,0,252,252, + 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12, + 12,12,12,12,12,12,12,252,11,13,26,13,1,7,6,0, + 14,0,14,0,15,0,27,0,19,0,17,128,49,128,33,192, + 96,192,96,192,64,96,192,64,11,1,2,13,1,253,255,224, + 6,6,6,9,0,14,224,240,112,56,24,12,12,12,24,13, + 1,0,31,128,113,192,241,192,129,192,3,192,63,192,113,192, + 225,192,225,192,227,240,253,224,121,128,14,20,40,15,0,0, + 24,0,248,0,56,0,56,0,56,0,56,0,56,0,56,0, + 56,240,59,248,62,56,56,28,56,12,56,12,56,12,56,8, + 56,8,60,16,63,224,7,128,11,12,24,12,1,0,15,224, + 48,192,112,192,96,64,224,0,224,0,224,0,224,0,240,64, + 120,224,63,192,31,0,14,20,40,15,1,0,0,48,1,240, + 0,112,0,112,0,112,0,112,0,112,0,112,15,240,48,240, + 96,112,96,112,224,112,224,112,224,112,240,112,248,240,127,244, + 63,124,30,48,11,12,24,13,1,0,15,0,49,192,112,192, + 96,224,224,224,255,192,224,0,224,0,240,64,120,224,63,192, + 31,0,11,19,38,9,1,0,3,224,12,192,24,0,24,0, + 56,0,56,0,56,0,255,128,56,0,56,0,56,0,56,0, + 56,0,56,0,56,0,56,0,56,0,56,0,255,0,14,18, + 36,15,0,250,15,140,16,252,32,112,96,48,96,48,112,48, + 56,96,31,128,28,0,124,0,127,224,63,248,127,252,240,60, + 224,28,224,24,112,48,31,192,15,20,40,16,1,0,24,0, + 248,0,56,0,56,0,56,0,56,0,56,0,56,0,56,240, + 59,248,62,56,56,56,56,56,56,56,56,56,56,56,56,56, + 56,56,56,56,254,254,7,18,18,8,1,0,56,120,112,0, + 0,0,56,248,56,56,56,56,56,56,56,56,56,254,10,24, + 48,8,252,250,1,192,3,192,3,128,0,0,0,0,0,0, + 3,128,15,128,3,128,3,128,3,128,3,128,3,128,3,128, + 3,128,3,128,3,128,3,128,3,128,3,128,3,0,102,0, + 252,0,120,0,14,20,40,15,1,0,24,0,248,0,56,0, + 56,0,56,0,56,0,56,0,56,0,56,252,56,112,56,224, + 57,128,59,0,63,0,59,128,57,192,56,224,56,240,56,120, + 252,60,7,20,20,8,1,0,24,248,56,56,56,56,56,56, + 56,56,56,56,56,56,56,56,56,56,56,254,23,12,36,23, + 0,0,25,241,240,251,255,248,62,62,56,56,56,56,56,56, + 56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56, + 56,56,56,254,254,254,15,12,24,16,1,0,24,240,251,248, + 62,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56, + 56,56,254,254,12,12,24,14,1,0,15,128,49,192,112,224, + 96,112,224,112,224,112,224,112,224,112,224,96,112,96,56,192, + 31,0,13,18,36,15,1,250,25,224,251,240,60,112,56,56, + 56,24,56,24,56,24,56,24,56,16,60,48,63,224,59,192, + 56,0,56,0,56,0,56,0,56,0,254,0,14,18,36,15, + 1,250,15,16,48,240,96,112,96,112,224,112,224,112,224,112, + 240,112,248,240,127,240,127,112,28,112,0,112,0,112,0,112, + 0,112,0,112,1,252,11,12,24,12,1,0,49,224,247,224, + 124,192,120,64,120,64,120,0,120,0,120,0,120,0,120,0, + 120,0,254,0,9,12,24,11,1,0,62,0,71,0,194,0, + 224,0,248,0,126,0,63,0,15,128,131,128,193,128,225,0, + 254,0,10,17,34,10,0,0,8,0,24,0,56,0,56,0, + 56,0,255,192,56,0,56,0,56,0,56,0,56,0,56,0, + 56,0,56,0,56,128,63,192,30,0,15,12,24,15,0,0, + 56,56,248,248,56,56,56,56,56,56,56,56,56,56,56,56, + 56,56,56,250,63,190,30,56,14,12,24,14,0,0,252,124, + 120,48,56,48,60,32,28,96,30,96,14,192,14,192,7,128, + 7,128,7,128,3,0,19,12,36,19,0,0,252,33,224,120, + 96,192,56,112,192,56,241,128,28,249,128,28,185,128,29,159, + 0,15,31,0,15,31,0,15,14,0,6,14,0,4,4,0, + 14,12,24,14,0,0,254,252,60,112,28,96,30,192,15,128, + 7,128,7,128,15,192,25,224,24,240,48,120,249,252,15,18, + 36,14,255,250,126,62,60,24,28,24,30,16,14,48,15,48, + 7,96,7,96,3,192,3,192,3,192,1,128,1,128,3,0, + 3,0,126,0,124,0,248,0,11,12,24,13,1,0,127,224, + 67,192,67,192,135,128,15,0,15,0,30,0,60,0,56,32, + 120,96,240,96,255,224,7,25,25,9,1,252,2,14,28,56, + 56,56,56,28,28,28,28,56,240,248,28,28,28,28,56,56, + 56,56,28,14,6,2,27,27,6,2,251,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,7,25,25,9,1,252,192,224,112,56, + 56,56,56,112,112,112,112,62,30,56,112,112,112,112,56,56, + 56,56,112,224,128,12,4,8,13,1,6,56,48,126,32,143, + 192,131,128,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,255,255,255, + 255,255,255,255,0,0,0,7,0,0,4,19,19,8,2,249, + 112,240,240,224,32,96,96,96,96,96,96,112,112,112,240,240, + 240,240,192,10,17,34,14,2,255,12,0,12,0,15,128,63, + 192,109,192,108,192,204,0,204,0,204,0,204,0,204,0,236, + 64,125,192,63,128,30,0,12,0,12,0,13,16,32,14,0, + 0,3,240,6,56,12,16,28,16,28,16,60,0,60,0,60, + 0,255,192,60,0,60,0,60,16,56,24,56,24,127,248,255, + 240,12,11,22,14,1,2,192,48,239,112,112,224,96,96,96, + 96,96,96,96,96,112,224,111,96,192,48,128,16,15,16,32, + 14,255,0,248,126,120,56,60,48,30,48,30,96,15,96,7, + 192,7,192,7,192,3,128,63,248,3,128,3,128,3,128,3, + 128,15,224,2,27,27,6,2,251,192,192,192,192,192,192,192, + 192,192,192,192,192,128,0,0,192,192,192,192,192,192,192,192, + 192,192,192,192,10,19,38,13,2,0,31,0,35,128,97,0, + 113,0,120,0,62,0,127,128,207,128,195,192,225,192,240,192, + 124,192,63,128,31,128,7,128,65,128,65,128,97,0,126,0, + 9,4,8,11,1,14,115,128,247,128,247,128,231,0,18,18, + 54,20,1,0,3,240,0,14,28,0,24,6,0,48,3,0, + 97,241,128,102,57,128,198,16,192,204,0,192,204,0,192,204, + 0,192,204,0,192,204,0,192,102,1,128,103,25,128,49,243, + 0,24,6,0,12,12,0,3,240,0,6,9,9,7,1,8, + 120,216,24,120,216,216,252,0,252,11,12,24,14,1,0,4, + 32,8,96,24,192,49,192,115,128,231,128,231,128,115,128,49, + 192,24,192,8,96,4,32,12,6,12,14,1,2,127,240,128, + 48,0,48,0,48,0,48,0,32,8,1,1,10,1,6,255, + 10,9,18,10,255,10,30,0,97,128,255,128,219,192,222,192, + 220,192,251,192,97,128,30,0,11,2,4,13,1,16,127,224, + 255,224,6,7,7,10,2,10,56,76,204,204,204,200,112,10, + 12,24,11,1,2,12,0,12,0,12,0,12,0,255,192,12, + 0,12,0,12,0,12,0,0,0,0,0,255,192,7,10,10, + 9,1,8,60,102,230,6,12,24,16,50,98,254,7,10,10, + 9,1,8,60,102,70,6,28,6,6,6,142,120,6,6,6, + 9,3,14,56,60,112,96,192,128,15,18,36,15,0,250,24, + 24,248,120,56,56,56,56,56,56,56,56,56,56,56,56,60, + 120,63,248,63,190,55,24,48,0,48,0,56,0,56,0,60, + 0,48,0,15,20,40,17,1,253,15,254,49,248,113,152,225, + 152,225,152,225,152,225,152,113,152,121,152,31,152,1,152,1, + 152,1,152,1,152,1,152,1,152,1,152,1,152,1,152,7, + 254,4,4,4,6,1,7,112,240,240,224,5,6,6,6,1, + 250,32,96,120,56,112,224,7,10,10,9,1,8,24,248,24, + 24,24,24,24,24,24,126,7,9,9,8,0,8,56,76,198, + 198,198,228,120,0,254,11,12,24,14,2,0,132,0,198,0, + 99,0,115,128,57,192,61,224,61,224,57,192,115,128,99,0, + 198,0,132,0,15,16,32,17,1,0,48,6,240,12,48,24, + 48,48,48,48,48,96,48,192,253,128,1,140,3,28,6,44, + 12,44,12,76,24,254,48,12,96,62,15,16,32,17,1,0, + 48,6,240,12,48,24,48,24,48,48,48,96,48,192,252,192, + 1,188,3,102,6,70,6,12,12,8,24,16,48,34,112,126, + 15,16,32,17,1,0,56,6,204,12,12,24,56,48,12,48, + 12,96,140,192,121,128,1,140,3,28,6,60,12,44,12,76, + 24,254,48,12,96,62,10,19,38,12,1,249,14,0,30,0, + 30,0,28,0,0,0,6,0,6,0,6,0,14,0,12,0, + 24,0,56,0,112,0,224,0,224,192,225,192,225,192,243,128, + 62,0,17,23,69,17,0,0,6,0,0,15,0,0,7,128, + 0,1,192,0,0,96,0,0,0,0,0,192,0,1,192,0, + 3,192,0,3,224,0,2,224,0,6,240,0,6,112,0,6, + 112,0,12,120,0,12,56,0,15,248,0,24,28,0,24,28, + 0,16,28,0,48,14,0,48,14,0,252,63,128,17,23,69, + 17,0,0,0,48,0,0,120,0,1,224,0,3,128,0,2, + 0,0,0,0,0,0,192,0,1,192,0,3,192,0,3,224, + 0,2,224,0,6,240,0,6,112,0,6,112,0,12,120,0, + 12,56,0,15,248,0,24,28,0,24,28,0,16,28,0,48, + 14,0,48,14,0,252,63,128,17,23,69,17,0,0,1,192, + 0,3,224,0,7,240,0,14,48,0,8,24,0,0,0,0, + 0,192,0,1,192,0,3,192,0,3,224,0,2,224,0,6, + 240,0,6,112,0,6,112,0,12,120,0,12,56,0,15,248, + 0,24,28,0,24,28,0,16,28,0,48,14,0,48,14,0, + 252,63,128,17,22,66,17,0,0,7,140,0,15,248,0,15, + 240,0,16,96,0,0,0,0,0,192,0,1,192,0,3,192, + 0,3,224,0,2,224,0,6,240,0,6,112,0,6,112,0, + 12,120,0,12,56,0,15,248,0,24,28,0,24,28,0,16, + 28,0,48,14,0,48,14,0,252,63,128,17,22,66,17,0, + 0,7,56,0,15,120,0,15,120,0,6,48,0,0,0,0, + 0,192,0,1,192,0,3,192,0,3,224,0,2,224,0,6, + 240,0,6,112,0,6,112,0,12,120,0,12,56,0,15,248, + 0,24,28,0,24,28,0,16,28,0,48,14,0,48,14,0, + 252,63,128,17,23,69,17,0,0,3,224,0,6,96,0,6, + 96,0,7,96,0,3,128,0,0,0,0,0,192,0,1,192, + 0,3,192,0,3,224,0,2,224,0,6,240,0,6,112,0, + 6,112,0,12,120,0,12,56,0,15,248,0,24,28,0,24, + 28,0,16,28,0,48,14,0,48,14,0,252,63,128,21,17, + 51,22,0,0,7,255,240,1,248,48,1,248,48,3,184,48, + 3,184,48,3,56,0,7,56,0,6,56,0,7,255,224,12, + 56,64,12,56,0,28,56,0,24,56,0,24,56,8,48,56, + 24,48,56,24,248,255,248,14,23,46,15,1,250,7,240,24, + 120,48,48,112,0,96,0,96,0,224,0,224,0,224,0,224, + 0,224,0,240,0,112,0,120,8,60,60,63,240,15,192,1, + 0,3,128,3,192,1,192,3,128,6,0,13,23,46,14,1, + 0,24,0,60,0,94,0,7,0,1,128,0,0,255,240,120, + 48,120,48,120,32,120,32,120,0,120,0,120,0,127,192,120, + 128,120,0,120,0,120,0,120,16,120,24,120,48,255,240,13, + 23,46,14,1,0,1,192,3,224,7,128,14,0,24,0,0, + 0,255,240,120,48,120,48,120,32,120,32,120,0,120,0,120, + 0,127,192,120,128,120,0,120,0,120,0,120,16,120,24,120, + 48,255,240,13,23,46,14,1,0,7,0,15,0,31,128,56, + 192,32,96,0,0,255,240,120,48,120,48,120,32,120,32,120, + 0,120,0,120,0,127,192,120,128,120,0,120,0,120,0,120, + 16,120,24,120,48,255,240,13,22,44,14,1,0,28,224,61, + 224,61,224,24,192,0,0,255,240,120,48,120,48,120,32,120, + 32,120,0,120,0,120,0,127,192,120,128,120,0,120,0,120, + 0,120,16,120,24,120,48,255,240,8,23,23,9,0,0,96, + 240,120,28,6,0,127,28,28,28,28,28,28,28,28,28,28, + 28,28,28,28,28,127,8,23,23,9,1,0,6,31,60,112, + 64,0,254,56,56,56,56,56,56,56,56,56,56,56,56,56, + 56,56,254,9,23,46,9,0,0,28,0,62,0,126,0,227, + 0,129,128,0,0,127,0,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,127,0,9,22,44,9,0,0,115,128,247, + 128,247,128,99,0,0,0,127,0,28,0,28,0,28,0,28, + 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,28,0,127,0,16,17,34,17,0,0,63, + 224,248,120,56,60,56,30,56,30,56,15,56,15,56,15,255, + 143,56,15,56,15,56,15,56,30,56,30,56,60,56,120,255, + 224,18,22,66,18,0,0,3,204,0,7,248,0,15,248,0, + 8,112,0,0,0,0,248,15,192,124,3,0,60,3,0,62, + 3,0,63,3,0,55,131,0,51,195,0,51,195,0,49,227, + 0,48,243,0,48,123,0,48,123,0,48,63,0,48,31,0, + 48,15,0,48,7,0,252,3,0,15,23,46,17,1,0,12, + 0,30,0,15,0,3,128,0,64,0,0,7,192,24,112,48, + 56,48,28,96,28,96,14,224,14,224,14,224,14,224,14,224, + 14,224,12,112,28,112,24,56,24,28,32,7,192,15,23,46, + 17,1,0,0,96,0,240,3,224,7,0,4,0,0,0,7, + 192,24,112,48,56,48,28,96,28,96,14,224,14,224,14,224, + 14,224,14,224,14,224,12,112,28,112,24,56,24,28,32,7, + 192,15,23,46,17,1,0,3,128,7,192,15,224,28,96,16, + 48,0,0,7,192,24,112,48,56,48,28,96,28,96,14,224, + 14,224,14,224,14,224,14,224,14,224,12,112,28,112,24,56, + 24,28,32,7,192,15,22,44,17,1,0,15,24,31,240,31, + 224,48,192,0,0,7,192,24,112,48,56,48,28,96,28,96, + 14,224,14,224,14,224,14,224,14,224,14,224,12,112,28,112, + 24,56,24,28,32,7,192,15,22,44,17,1,0,14,112,30, + 240,30,240,12,96,0,0,7,192,24,112,48,56,48,28,96, + 28,96,14,224,14,224,14,224,14,224,14,224,14,224,12,112, + 28,112,24,56,24,28,32,7,192,9,9,18,11,1,3,193, + 128,227,128,119,0,62,0,28,0,62,0,119,0,227,128,193, + 128,15,18,36,17,1,255,7,238,8,124,56,56,48,60,112, + 124,96,254,224,238,225,206,227,142,227,14,231,14,254,12,124, + 28,124,24,56,48,124,32,239,192,128,0,17,23,69,18,0, + 0,3,0,0,7,128,0,3,192,0,0,224,0,0,48,0, + 0,0,0,254,31,128,56,6,0,56,6,0,56,6,0,56, + 6,0,56,6,0,56,6,0,56,6,0,56,6,0,56,6, + 0,56,6,0,56,6,0,56,6,0,56,4,0,28,12,0, + 14,24,0,3,224,0,17,23,69,18,0,0,0,56,0,0, + 124,0,0,240,0,1,192,0,3,0,0,0,0,0,254,31, + 128,56,6,0,56,6,0,56,6,0,56,6,0,56,6,0, + 56,6,0,56,6,0,56,6,0,56,6,0,56,6,0,56, + 6,0,56,6,0,56,4,0,28,12,0,14,24,0,3,224, + 0,17,23,69,18,0,0,0,224,0,1,224,0,3,240,0, + 7,24,0,4,12,0,0,0,0,254,31,128,56,6,0,56, + 6,0,56,6,0,56,6,0,56,6,0,56,6,0,56,6, + 0,56,6,0,56,6,0,56,6,0,56,6,0,56,6,0, + 56,4,0,28,12,0,14,24,0,3,224,0,17,22,66,18, + 0,0,3,156,0,7,188,0,7,188,0,3,24,0,0,0, + 0,254,31,128,56,6,0,56,6,0,56,6,0,56,6,0, + 56,6,0,56,6,0,56,6,0,56,6,0,56,6,0,56, + 6,0,56,6,0,56,6,0,56,4,0,28,12,0,14,24, + 0,3,224,0,16,23,46,17,0,0,0,48,0,248,1,224, + 3,128,2,0,0,0,248,31,60,14,28,12,14,24,15,24, + 7,48,7,48,3,224,3,224,1,192,1,192,1,192,1,192, + 1,192,1,192,1,192,7,240,14,17,34,15,0,0,254,0, + 56,0,56,0,63,192,56,112,56,56,56,28,56,28,56,28, + 56,28,56,56,56,112,59,224,56,0,56,0,56,0,254,0, + 15,20,40,17,0,0,1,240,6,60,12,28,24,14,24,14, + 56,14,56,28,56,56,56,96,56,192,56,192,56,224,56,120, + 56,60,56,30,56,14,57,6,57,134,57,132,249,248,12,20, + 40,13,1,0,56,0,60,0,28,0,14,0,6,0,3,0, + 0,0,0,0,31,128,113,192,241,192,129,192,3,192,63,192, + 113,192,225,192,225,192,227,240,253,224,121,128,12,20,40,13, + 1,0,3,192,3,192,7,128,7,0,14,0,12,0,0,0, + 0,0,31,128,113,192,241,192,129,192,3,192,63,192,113,192, + 225,192,225,192,227,240,253,224,121,128,12,20,40,13,1,0, + 6,0,15,0,31,0,59,128,48,192,96,64,0,0,0,0, + 31,128,113,192,241,192,129,192,3,192,63,192,113,192,225,192, + 225,192,227,240,253,224,121,128,12,19,38,13,1,0,0,32, + 28,96,63,192,71,192,67,128,0,0,0,0,31,128,113,192, + 241,192,129,192,3,192,63,192,113,192,225,192,225,192,227,240, + 253,224,121,128,12,18,36,13,1,0,57,192,61,224,57,192, + 57,192,0,0,0,0,31,128,113,192,241,192,129,192,3,192, + 63,192,113,192,225,192,225,192,227,240,253,224,121,128,12,19, + 38,13,1,0,15,0,27,0,25,128,27,0,30,0,0,0, + 0,0,31,128,113,192,241,192,129,192,3,192,63,192,113,192, + 225,192,225,192,227,240,253,224,121,128,18,12,36,20,1,0, + 7,158,0,31,227,0,56,225,128,112,193,128,64,193,128,15, + 255,0,56,192,0,96,192,0,224,224,128,227,241,192,254,127, + 0,124,62,0,11,18,36,12,1,250,15,224,48,192,112,192, + 96,64,224,0,224,0,224,0,224,0,240,64,120,192,63,128, + 31,0,4,0,14,0,15,0,7,0,14,0,24,0,11,20, + 40,13,1,0,60,0,60,0,30,0,14,0,7,0,1,0, + 0,0,0,0,15,0,49,192,112,192,96,224,224,224,255,192, + 224,0,224,0,240,64,120,224,63,192,31,0,11,20,40,13, + 1,0,1,192,3,192,3,128,7,0,6,0,12,0,0,0, + 0,0,15,0,49,192,112,192,96,224,224,224,255,192,224,0, + 224,0,240,64,120,224,63,192,31,0,11,20,40,13,1,0, + 6,0,15,0,31,128,29,128,48,192,32,96,0,0,0,0, + 15,0,49,192,112,192,96,224,224,224,255,192,224,0,224,0, + 240,64,120,224,63,192,31,0,11,18,36,13,1,0,24,192, + 61,224,61,224,57,192,0,0,0,0,15,0,49,192,112,192, + 96,224,224,224,255,192,224,0,224,0,240,64,120,224,63,192, + 31,0,8,20,20,8,0,0,240,240,120,24,12,4,0,0, + 28,124,28,28,28,28,28,28,28,28,28,127,7,20,20,8, + 1,0,14,30,28,56,48,96,0,0,56,248,56,56,56,56, + 56,56,56,56,56,254,9,20,40,8,0,0,24,0,60,0, + 126,0,118,0,195,0,129,128,0,0,0,0,28,0,124,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,127,0,9,18,36,8,0,0,115,128,247,128,247,128, + 231,0,0,0,0,0,28,0,124,0,28,0,28,0,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,127,0,12,19, + 38,14,1,0,12,0,126,112,15,224,15,128,61,192,0,224, + 0,224,15,224,49,240,96,240,96,112,224,112,224,112,224,112, + 224,96,224,96,112,192,56,128,31,0,15,19,38,16,1,0, + 0,16,14,48,31,224,51,224,33,192,0,0,0,0,24,240, + 251,248,62,56,56,56,56,56,56,56,56,56,56,56,56,56, + 56,56,56,56,254,254,12,20,40,14,1,0,28,0,60,0, + 14,0,6,0,3,0,1,128,0,0,0,0,15,128,49,192, + 112,224,96,112,224,112,224,112,224,112,224,112,224,96,112,96, + 56,192,31,0,12,20,40,14,1,0,1,192,3,224,3,128, + 7,0,6,0,12,0,0,0,0,0,15,128,49,192,112,224, + 96,112,224,112,224,112,224,112,224,112,224,96,112,96,56,192, + 31,0,12,20,40,14,1,0,7,0,15,0,15,128,29,192, + 56,192,32,96,0,0,0,0,15,128,49,192,112,224,96,112, + 224,112,224,112,224,112,224,112,224,96,112,96,56,192,31,0, + 12,19,38,14,1,0,0,48,30,32,63,224,39,192,65,128, + 0,0,0,0,15,128,49,192,112,224,96,112,224,112,224,112, + 224,112,224,112,224,96,112,96,56,192,31,0,12,18,36,14, + 1,0,28,224,61,224,61,224,24,192,0,0,0,0,15,128, + 49,192,112,224,96,112,224,112,224,112,224,112,224,112,224,96, + 112,96,56,192,31,0,10,10,20,11,1,2,12,0,12,0, + 12,0,0,0,255,192,0,0,0,0,12,0,12,0,12,0, + 12,14,28,14,1,255,0,16,15,176,49,224,112,224,97,240, + 227,112,230,112,230,112,236,112,248,96,112,224,120,192,95,0, + 128,0,15,20,40,15,0,0,14,0,15,0,7,0,3,128, + 1,128,0,192,0,0,0,0,56,56,248,248,56,56,56,56, + 56,56,56,56,56,56,56,56,56,56,56,250,63,190,30,56, + 15,20,40,15,0,0,0,224,0,240,1,192,1,128,3,0, + 2,0,0,0,0,0,56,56,248,248,56,56,56,56,56,56, + 56,56,56,56,56,56,56,56,56,250,63,190,30,56,15,20, + 40,15,0,0,3,128,3,192,7,192,14,224,28,112,24,16, + 0,0,0,0,56,56,248,248,56,56,56,56,56,56,56,56, + 56,56,56,56,56,56,56,250,63,190,30,56,15,18,36,15, + 0,0,14,112,14,112,30,240,14,112,0,0,0,0,56,56, + 248,248,56,56,56,56,56,56,56,56,56,56,56,56,56,56, + 56,250,63,190,30,56,15,26,52,14,255,250,0,112,0,240, + 0,224,1,192,1,128,3,0,0,0,0,0,126,62,60,24, + 28,24,30,16,14,48,15,48,7,96,7,96,3,192,3,192, + 3,192,1,128,1,128,3,0,3,0,126,0,124,0,248,0, + 13,26,52,15,1,250,24,0,248,0,56,0,56,0,56,0, + 56,0,56,0,56,0,57,224,63,240,60,112,56,56,56,24, + 56,24,56,24,56,24,56,16,60,48,63,224,59,192,56,0, + 56,0,56,0,56,0,56,0,254,0,15,24,48,14,255,250, + 7,56,15,120,15,120,14,112,0,0,0,0,126,62,60,24, + 28,24,30,16,14,48,15,48,7,96,7,96,3,192,3,192, + 3,192,1,128,1,128,3,0,3,0,126,0,124,0,248,0 + }; +/* + Fontname: -FreeType-Gentium Basic-Bold-R-Normal--27-270-72-72-P-135-ISO10646-1 + Copyright: Copyright (c) SIL International, 2003-2008. + Capital A Height: 0, '1' Height: 16 + Calculated Max Values w=12 h=25 x= 2 y= 9 dx=14 dy= 0 ascent=21 len=50 + Font Bounding box w=42 h=39 x=-14 y=-10 + Calculated Min Values x= 0 y=-5 dx= 0 dy= 0 + Pure Font ascent =16 descent= 0 + X Font ascent =16 descent= 0 + Max Font ascent =21 descent=-5 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_gdb17n[561] U8G_FONT_SECTION("u8g_font_gdb17n") = { + 0,42,39,242,246,16,0,0,0,0,42,58,0,21,251,16, + 0,10,12,24,12,1,9,12,0,12,0,204,128,237,192,255, + 192,63,0,63,0,255,192,237,192,76,128,12,0,12,0,10, + 10,20,11,1,2,12,0,12,0,12,0,12,0,255,192,12, + 0,12,0,12,0,12,0,12,0,5,8,8,7,1,251,48, + 248,120,56,48,48,96,192,8,1,1,10,1,6,255,4,4, + 4,7,2,255,112,240,240,224,12,25,50,13,0,252,0,48, + 0,112,0,112,0,96,0,224,0,192,1,192,1,192,1,128, + 3,128,3,128,3,0,7,0,6,0,14,0,14,0,12,0, + 28,0,24,0,56,0,56,0,48,0,112,0,96,0,224,0, + 12,16,32,14,1,0,15,0,49,192,48,224,96,224,96,96, + 224,112,224,112,224,112,224,112,224,112,224,112,96,96,112,96, + 112,192,56,192,15,0,10,16,32,14,2,0,6,0,62,0, + 254,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, + 14,0,14,0,14,0,14,0,31,0,255,192,11,16,32,14, + 1,0,15,128,57,192,112,224,112,224,128,224,0,192,1,192, + 3,128,3,0,7,0,14,0,28,32,56,32,48,32,127,224, + 255,224,11,16,32,14,1,0,31,0,115,128,113,192,225,192, + 1,192,3,128,7,128,15,192,3,192,1,224,0,224,0,224, + 0,224,128,192,193,192,63,0,11,16,32,14,2,0,0,128, + 3,128,7,128,7,128,13,128,13,128,25,128,49,128,49,128, + 97,128,255,224,1,128,1,128,1,128,3,192,15,224,11,16, + 32,14,1,0,63,224,63,192,32,0,32,0,96,0,96,0, + 127,0,99,192,1,192,0,224,0,224,0,224,0,224,1,192, + 193,192,63,0,12,16,32,14,1,0,1,192,7,0,28,0, + 56,0,112,0,96,0,239,128,240,224,224,224,224,112,224,112, + 224,112,112,112,112,96,56,192,15,128,12,16,32,14,1,0, + 127,240,127,224,192,96,128,192,0,192,1,192,1,128,1,128, + 3,0,3,0,7,0,6,0,14,0,28,0,28,0,56,0, + 11,16,32,13,1,0,15,128,57,192,112,224,112,224,120,224, + 125,192,63,128,31,128,63,192,115,224,225,224,224,224,224,224, + 224,192,113,128,31,0,12,17,34,14,1,255,15,128,49,192, + 96,224,224,224,224,112,224,112,224,112,240,112,112,240,31,112, + 0,96,0,224,0,224,1,192,3,128,30,0,56,0,4,13, + 13,7,2,255,112,240,240,224,0,0,0,0,0,112,240,240, + 224}; +/* + Fontname: -FreeType-Gentium Basic-Bold-R-Normal--27-270-72-72-P-135-ISO10646-1 + Copyright: Copyright (c) SIL International, 2003-2008. + Capital A Height: 17, '1' Height: 16 + Calculated Max Values w=23 h=27 x= 3 y=14 dx=23 dy= 0 ascent=22 len=69 + Font Bounding box w=42 h=39 x=-14 y=-10 + Calculated Min Values x=-4 y=-6 dx= 0 dy= 0 + Pure Font ascent =17 descent=-6 + X Font ascent =21 descent=-6 + Max Font ascent =22 descent=-6 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_gdb17r[3540] U8G_FONT_SECTION("u8g_font_gdb17r") = { + 0,42,39,242,246,17,4,81,9,172,32,127,250,22,250,21, + 250,0,0,0,7,0,0,4,21,21,8,2,255,48,240,240, + 240,240,112,112,96,96,96,96,96,96,96,64,0,0,112,240, + 240,224,9,9,18,13,2,11,113,128,231,128,231,128,231,128, + 227,0,227,0,99,0,99,0,99,0,13,15,30,14,1,2, + 2,32,6,96,6,96,6,96,12,96,63,248,76,192,24,128, + 25,128,255,224,51,0,51,0,51,0,35,0,102,0,11,20, + 40,13,1,254,6,0,6,0,31,128,127,224,230,224,198,96, + 198,0,246,0,126,0,63,128,7,192,6,224,6,96,198,96, + 198,96,246,192,255,192,31,0,6,0,6,0,18,17,51,20, + 1,0,0,1,0,60,6,0,102,14,0,195,12,0,195,24, + 0,195,48,0,195,112,0,195,96,0,102,192,0,61,143,0, + 3,144,128,3,48,192,6,48,192,12,48,192,24,48,192,56, + 25,128,48,15,0,17,19,57,18,1,0,7,128,0,25,224, + 0,16,224,0,48,224,0,48,224,0,49,192,0,63,128,0, + 63,0,0,30,0,0,62,63,128,127,29,0,127,140,0,239, + 140,0,231,204,0,227,248,0,225,248,0,96,252,0,112,255, + 0,31,14,128,4,9,9,7,2,11,112,224,224,224,224,224, + 96,96,96,7,25,25,9,2,252,4,14,28,56,48,112,112, + 112,224,224,224,224,224,224,224,224,224,96,112,112,48,56,28, + 12,6,7,25,25,9,0,252,64,224,112,56,24,28,28,28, + 14,14,14,14,14,14,14,14,14,28,28,28,56,56,112,96, + 192,10,12,24,12,1,9,12,0,12,0,204,128,237,192,255, + 192,63,0,63,0,255,192,237,192,76,128,12,0,12,0,10, + 10,20,11,1,2,12,0,12,0,12,0,12,0,255,192,12, + 0,12,0,12,0,12,0,12,0,5,8,8,7,1,251,48, + 248,120,56,48,48,96,192,8,1,1,10,1,6,255,4,4, + 4,7,2,255,112,240,240,224,12,25,50,13,0,252,0,48, + 0,112,0,112,0,96,0,224,0,192,1,192,1,192,1,128, + 3,128,3,128,3,0,7,0,6,0,14,0,14,0,12,0, + 28,0,24,0,56,0,56,0,48,0,112,0,96,0,224,0, + 12,16,32,14,1,0,15,0,49,192,48,224,96,224,96,96, + 224,112,224,112,224,112,224,112,224,112,224,112,96,96,112,96, + 112,192,56,192,15,0,10,16,32,14,2,0,6,0,62,0, + 254,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, + 14,0,14,0,14,0,14,0,31,0,255,192,11,16,32,14, + 1,0,15,128,57,192,112,224,112,224,128,224,0,192,1,192, + 3,128,3,0,7,0,14,0,28,32,56,32,48,32,127,224, + 255,224,11,16,32,14,1,0,31,0,115,128,113,192,225,192, + 1,192,3,128,7,128,15,192,3,192,1,224,0,224,0,224, + 0,224,128,192,193,192,63,0,11,16,32,14,2,0,0,128, + 3,128,7,128,7,128,13,128,13,128,25,128,49,128,49,128, + 97,128,255,224,1,128,1,128,1,128,3,192,15,224,11,16, + 32,14,1,0,63,224,63,192,32,0,32,0,96,0,96,0, + 127,0,99,192,1,192,0,224,0,224,0,224,0,224,1,192, + 193,192,63,0,12,16,32,14,1,0,1,192,7,0,28,0, + 56,0,112,0,96,0,239,128,240,224,224,224,224,112,224,112, + 224,112,112,112,112,96,56,192,15,128,12,16,32,14,1,0, + 127,240,127,224,192,96,128,192,0,192,1,192,1,128,1,128, + 3,0,3,0,7,0,6,0,14,0,28,0,28,0,56,0, + 11,16,32,13,1,0,15,128,57,192,112,224,112,224,120,224, + 125,192,63,128,31,128,63,192,115,224,225,224,224,224,224,224, + 224,192,113,128,31,0,12,17,34,14,1,255,15,128,49,192, + 96,224,224,224,224,112,224,112,224,112,240,112,112,240,31,112, + 0,96,0,224,0,224,1,192,3,128,30,0,56,0,4,13, + 13,7,2,255,112,240,240,224,0,0,0,0,0,112,240,240, + 224,5,17,17,7,1,251,56,120,120,48,0,0,0,0,0, + 48,248,120,56,48,48,96,192,11,9,18,12,1,3,0,96, + 3,192,31,128,252,0,240,0,248,0,63,0,7,192,0,224, + 11,5,10,12,1,5,255,224,0,0,0,0,0,0,255,224, + 11,9,18,12,1,3,192,0,248,0,63,0,7,192,1,224, + 15,192,126,0,240,0,192,0,9,20,40,12,1,255,63,0, + 119,128,227,128,227,128,195,128,3,128,3,0,7,0,6,0, + 14,0,12,0,12,0,12,0,12,0,0,0,0,0,28,0, + 60,0,60,0,56,0,20,23,69,23,2,251,0,252,0,3, + 255,0,14,7,128,24,1,192,48,0,224,32,0,96,96,242, + 112,97,142,48,195,14,48,195,14,48,199,14,48,199,14,48, + 199,14,48,199,14,96,199,158,96,227,255,192,99,239,128,113, + 199,0,120,0,0,60,0,64,31,3,192,15,255,0,3,252, + 0,17,17,51,17,0,0,0,192,0,1,192,0,3,192,0, + 3,224,0,2,224,0,6,240,0,6,112,0,6,112,0,12, + 120,0,12,56,0,15,248,0,24,28,0,24,28,0,16,28, + 0,48,14,0,48,14,0,252,63,128,13,17,34,16,1,0, + 127,192,248,224,56,112,56,112,56,112,56,112,56,224,63,192, + 56,240,56,112,56,56,56,56,56,56,56,56,56,48,56,112, + 255,192,13,17,34,15,1,0,7,240,24,120,48,48,112,0, + 96,0,96,0,224,0,224,0,224,0,224,0,224,0,240,0, + 112,0,120,8,60,56,31,224,15,128,16,17,34,17,0,0, + 127,224,248,120,56,60,56,30,56,30,56,15,56,15,56,15, + 56,15,56,15,56,15,56,15,56,30,56,30,56,60,56,120, + 255,224,13,17,34,14,1,0,255,240,120,48,120,48,120,32, + 120,32,120,0,120,0,120,0,127,192,120,128,120,0,120,0, + 120,0,120,16,120,24,120,48,255,240,12,17,34,14,1,0, + 255,240,120,48,120,48,120,48,120,32,120,0,120,0,120,0, + 127,192,120,128,120,0,120,0,120,0,120,0,120,0,120,0, + 254,0,14,17,34,16,1,0,3,240,12,120,48,48,48,0, + 112,0,96,0,224,0,224,0,224,0,224,252,224,56,224,56, + 112,56,112,56,60,56,31,240,7,192,17,17,51,18,0,0, + 254,63,128,60,30,0,56,14,0,56,14,0,56,14,0,56, + 14,0,56,14,0,56,14,0,63,254,0,56,14,0,56,14, + 0,56,14,0,56,14,0,56,14,0,56,14,0,56,14,0, + 254,63,128,7,17,17,9,1,0,254,56,56,56,56,56,56, + 56,56,56,56,56,56,56,56,56,254,12,22,44,9,252,251, + 7,240,1,192,1,192,1,192,1,192,1,192,1,192,1,192, + 1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192, + 1,192,1,128,1,128,51,0,126,0,252,0,16,17,34,17, + 1,0,254,126,56,56,56,48,56,112,56,224,57,192,59,128, + 63,0,63,0,59,128,57,192,57,224,56,240,56,120,56,60, + 56,31,254,30,13,17,34,14,1,0,254,0,56,0,56,0, + 56,0,56,0,56,0,56,0,56,0,56,0,56,0,56,0, + 56,0,56,0,56,8,56,24,56,24,255,240,21,17,51,23, + 1,0,248,1,248,56,1,224,60,1,224,60,3,224,62,3, + 224,62,6,224,63,6,224,55,12,224,39,140,224,35,156,224, + 35,152,224,33,216,224,33,240,224,97,240,224,96,224,224,112, + 224,224,248,67,248,18,17,51,18,0,0,248,15,192,124,3, + 0,60,3,0,62,3,0,63,3,0,55,131,0,51,195,0, + 51,195,0,49,227,0,48,243,0,48,123,0,48,123,0,48, + 63,0,48,31,0,48,15,0,48,7,0,252,3,0,15,17, + 34,17,1,0,7,192,24,112,48,56,48,28,96,28,96,14, + 224,14,224,14,224,14,224,14,224,14,224,12,112,28,112,24, + 56,24,28,32,7,192,14,17,34,15,0,0,127,224,248,120, + 56,56,56,28,56,28,56,28,56,28,56,56,60,112,59,224, + 56,0,56,0,56,0,56,0,56,0,56,0,254,0,18,22, + 66,17,1,251,7,192,0,24,112,0,48,56,0,48,28,0, + 96,28,0,96,14,0,224,14,0,224,14,0,224,14,0,224, + 14,0,224,14,0,224,14,0,112,28,0,112,28,0,56,24, + 0,28,48,0,7,192,0,0,112,0,0,60,64,0,31,192, + 0,15,128,0,3,0,16,17,34,16,0,0,63,192,248,112, + 56,56,56,56,56,56,56,56,56,112,63,240,63,192,57,192, + 56,224,56,224,56,112,56,120,56,60,56,63,254,30,12,17, + 34,14,1,0,15,240,48,240,64,32,192,0,224,0,248,0, + 126,0,63,128,31,192,7,224,0,240,0,112,0,48,192,48, + 192,32,240,64,255,128,15,17,34,16,0,0,255,254,195,134, + 195,134,131,134,131,132,3,128,3,128,3,128,3,128,3,128, + 3,128,3,128,3,128,3,128,3,128,7,192,15,224,17,17, + 51,18,0,0,254,31,128,56,6,0,56,6,0,56,6,0, + 56,6,0,56,6,0,56,6,0,56,6,0,56,6,0,56, + 6,0,56,6,0,56,6,0,56,6,0,56,4,0,28,12, + 0,14,24,0,3,224,0,18,17,51,18,0,0,254,15,192, + 56,7,0,60,6,0,28,6,0,28,6,0,30,12,0,14, + 12,0,15,24,0,7,24,0,7,24,0,7,176,0,3,176, + 0,3,176,0,1,224,0,1,224,0,1,224,0,0,128,0, + 23,17,51,23,0,0,254,24,126,56,24,24,56,56,24,56, + 60,16,28,60,48,28,110,48,28,110,48,28,110,48,14,199, + 96,14,199,96,14,135,96,15,131,224,15,131,224,7,1,192, + 7,1,192,7,1,192,6,0,128,17,17,51,17,0,0,255, + 63,0,60,12,0,28,24,0,30,24,0,15,48,0,7,112, + 0,7,224,0,3,192,0,1,192,0,3,224,0,3,240,0, + 6,112,0,12,120,0,12,60,0,24,28,0,56,30,0,252, + 63,128,16,17,34,17,0,0,248,31,60,14,28,12,14,24, + 15,24,7,48,7,48,3,224,3,224,1,192,1,192,1,192, + 1,192,1,192,1,192,1,192,7,240,13,17,34,15,1,0, + 127,248,96,240,64,240,193,224,1,192,3,192,7,128,7,128, + 15,0,15,0,30,0,60,0,60,0,120,24,120,24,240,24, + 255,248,6,25,25,9,3,252,252,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 252,11,25,50,13,1,252,192,0,192,0,224,0,96,0,112, + 0,112,0,48,0,56,0,24,0,24,0,28,0,12,0,14, + 0,6,0,6,0,7,0,3,0,3,0,3,128,1,128,1, + 192,0,192,0,192,0,224,0,96,6,25,25,8,0,252,252, + 12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12, + 12,12,12,12,12,12,12,252,11,13,26,13,1,7,6,0, + 14,0,14,0,15,0,27,0,19,0,17,128,49,128,33,192, + 96,192,96,192,64,96,192,64,11,1,2,13,1,253,255,224, + 6,6,6,9,0,14,224,240,112,56,24,12,12,12,24,13, + 1,0,31,128,113,192,241,192,129,192,3,192,63,192,113,192, + 225,192,225,192,227,240,253,224,121,128,14,20,40,15,0,0, + 24,0,248,0,56,0,56,0,56,0,56,0,56,0,56,0, + 56,240,59,248,62,56,56,28,56,12,56,12,56,12,56,8, + 56,8,60,16,63,224,7,128,11,12,24,12,1,0,15,224, + 48,192,112,192,96,64,224,0,224,0,224,0,224,0,240,64, + 120,224,63,192,31,0,14,20,40,15,1,0,0,48,1,240, + 0,112,0,112,0,112,0,112,0,112,0,112,15,240,48,240, + 96,112,96,112,224,112,224,112,224,112,240,112,248,240,127,244, + 63,124,30,48,11,12,24,13,1,0,15,0,49,192,112,192, + 96,224,224,224,255,192,224,0,224,0,240,64,120,224,63,192, + 31,0,11,19,38,9,1,0,3,224,12,192,24,0,24,0, + 56,0,56,0,56,0,255,128,56,0,56,0,56,0,56,0, + 56,0,56,0,56,0,56,0,56,0,56,0,255,0,14,18, + 36,15,0,250,15,140,16,252,32,112,96,48,96,48,112,48, + 56,96,31,128,28,0,124,0,127,224,63,248,127,252,240,60, + 224,28,224,24,112,48,31,192,15,20,40,16,1,0,24,0, + 248,0,56,0,56,0,56,0,56,0,56,0,56,0,56,240, + 59,248,62,56,56,56,56,56,56,56,56,56,56,56,56,56, + 56,56,56,56,254,254,7,18,18,8,1,0,56,120,112,0, + 0,0,56,248,56,56,56,56,56,56,56,56,56,254,10,24, + 48,8,252,250,1,192,3,192,3,128,0,0,0,0,0,0, + 3,128,15,128,3,128,3,128,3,128,3,128,3,128,3,128, + 3,128,3,128,3,128,3,128,3,128,3,128,3,0,102,0, + 252,0,120,0,14,20,40,15,1,0,24,0,248,0,56,0, + 56,0,56,0,56,0,56,0,56,0,56,252,56,112,56,224, + 57,128,59,0,63,0,59,128,57,192,56,224,56,240,56,120, + 252,60,7,20,20,8,1,0,24,248,56,56,56,56,56,56, + 56,56,56,56,56,56,56,56,56,56,56,254,23,12,36,23, + 0,0,25,241,240,251,255,248,62,62,56,56,56,56,56,56, + 56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56, + 56,56,56,254,254,254,15,12,24,16,1,0,24,240,251,248, + 62,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56, + 56,56,254,254,12,12,24,14,1,0,15,128,49,192,112,224, + 96,112,224,112,224,112,224,112,224,112,224,96,112,96,56,192, + 31,0,13,18,36,15,1,250,25,224,251,240,60,112,56,56, + 56,24,56,24,56,24,56,24,56,16,60,48,63,224,59,192, + 56,0,56,0,56,0,56,0,56,0,254,0,14,18,36,15, + 1,250,15,16,48,240,96,112,96,112,224,112,224,112,224,112, + 240,112,248,240,127,240,127,112,28,112,0,112,0,112,0,112, + 0,112,0,112,1,252,11,12,24,12,1,0,49,224,247,224, + 124,192,120,64,120,64,120,0,120,0,120,0,120,0,120,0, + 120,0,254,0,9,12,24,11,1,0,62,0,71,0,194,0, + 224,0,248,0,126,0,63,0,15,128,131,128,193,128,225,0, + 254,0,10,17,34,10,0,0,8,0,24,0,56,0,56,0, + 56,0,255,192,56,0,56,0,56,0,56,0,56,0,56,0, + 56,0,56,0,56,128,63,192,30,0,15,12,24,15,0,0, + 56,56,248,248,56,56,56,56,56,56,56,56,56,56,56,56, + 56,56,56,250,63,190,30,56,14,12,24,14,0,0,252,124, + 120,48,56,48,60,32,28,96,30,96,14,192,14,192,7,128, + 7,128,7,128,3,0,19,12,36,19,0,0,252,33,224,120, + 96,192,56,112,192,56,241,128,28,249,128,28,185,128,29,159, + 0,15,31,0,15,31,0,15,14,0,6,14,0,4,4,0, + 14,12,24,14,0,0,254,252,60,112,28,96,30,192,15,128, + 7,128,7,128,15,192,25,224,24,240,48,120,249,252,15,18, + 36,14,255,250,126,62,60,24,28,24,30,16,14,48,15,48, + 7,96,7,96,3,192,3,192,3,192,1,128,1,128,3,0, + 3,0,126,0,124,0,248,0,11,12,24,13,1,0,127,224, + 67,192,67,192,135,128,15,0,15,0,30,0,60,0,56,32, + 120,96,240,96,255,224,7,25,25,9,1,252,2,14,28,56, + 56,56,56,28,28,28,28,56,240,248,28,28,28,28,56,56, + 56,56,28,14,6,2,27,27,6,2,251,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,7,25,25,9,1,252,192,224,112,56, + 56,56,56,112,112,112,112,62,30,56,112,112,112,112,56,56, + 56,56,112,224,128,12,4,8,13,1,6,56,48,126,32,143, + 192,131,128,255}; +/* + Fontname: -FreeType-Gentium Basic-Bold-R-Normal--32-320-72-72-P-159-ISO10646-1 + Copyright: Copyright (c) SIL International, 2003-2008. + Capital A Height: 20, '1' Height: 19 + Calculated Max Values w=27 h=32 x= 3 y=18 dx=28 dy= 0 ascent=28 len=112 + Font Bounding box w=49 h=47 x=-16 y=-12 + Calculated Min Values x=-5 y=-9 dx= 0 dy= 0 + Pure Font ascent =20 descent=-8 + X Font ascent =25 descent=-8 + Max Font ascent =28 descent=-9 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_gdb20[10077] U8G_FONT_SECTION("u8g_font_gdb20") = { + 0,49,47,240,244,20,5,86,12,137,32,255,248,28,247,25, + 248,0,0,0,8,0,0,5,24,24,10,2,255,24,120,120, + 120,120,120,120,120,120,112,112,112,112,48,48,48,48,0,0, + 112,248,248,248,112,11,10,20,15,2,13,56,224,243,224,241, + 224,241,192,113,192,113,192,113,192,113,192,112,192,96,192,15, + 18,36,16,1,2,1,140,3,152,3,24,3,24,3,56,63, + 254,63,254,6,112,14,96,12,96,12,96,127,252,255,248,24, + 192,24,192,57,128,49,128,49,128,14,25,50,16,1,253,3, + 0,3,0,3,0,31,240,63,248,115,120,227,56,227,16,243, + 0,255,0,127,0,63,224,15,240,3,248,3,124,3,28,195, + 28,195,28,227,28,251,120,255,240,63,224,3,0,3,0,3, + 0,21,20,60,23,1,0,0,0,96,30,0,192,115,129,192, + 97,131,128,225,195,0,225,198,0,225,206,0,225,220,0,97, + 152,0,115,176,0,30,113,224,0,231,112,1,198,48,1,142, + 56,3,142,56,7,14,56,14,14,56,12,6,48,28,7,48, + 56,3,192,21,23,69,22,1,0,1,240,0,7,120,0,14, + 60,0,14,60,0,30,60,0,30,124,0,30,120,0,31,240, + 0,31,224,0,15,192,0,15,128,0,31,143,248,63,195,160, + 123,225,128,123,241,128,241,249,128,240,251,0,240,127,0,240, + 126,0,248,63,0,120,31,240,63,247,240,15,195,192,5,10, + 10,9,2,13,56,240,240,240,112,112,112,112,112,96,9,30, + 60,11,2,251,1,0,3,128,6,0,14,0,28,0,60,0, + 56,0,120,0,120,0,112,0,112,0,240,0,240,0,240,0, + 240,0,240,0,240,0,240,0,240,0,240,0,112,0,120,0, + 120,0,56,0,60,0,28,0,30,0,14,0,7,0,1,128, + 9,30,60,11,0,251,64,0,240,0,56,0,60,0,28,0, + 30,0,14,0,15,0,15,0,15,0,7,128,7,128,7,128, + 7,128,7,128,7,128,7,128,7,128,7,128,7,0,15,0, + 15,0,15,0,14,0,30,0,28,0,56,0,48,0,96,0, + 192,0,12,13,26,14,1,11,3,0,15,0,70,64,102,112, + 246,240,63,192,15,0,63,224,254,240,230,112,70,32,7,0, + 14,0,12,12,24,13,1,3,6,0,6,0,6,0,6,0, + 6,0,127,240,255,224,6,0,6,0,6,0,6,0,6,0, + 6,10,10,9,2,250,56,252,252,60,60,56,56,112,96,192, + 10,2,4,11,1,7,255,192,255,128,5,5,5,9,2,255, + 112,248,248,248,112,14,30,60,15,1,251,0,28,0,56,0, + 56,0,120,0,112,0,112,0,224,0,224,0,224,1,192,1, + 192,3,128,3,128,3,128,7,0,7,0,7,0,14,0,14, + 0,28,0,28,0,28,0,56,0,56,0,120,0,112,0,112, + 0,224,0,224,0,192,0,14,18,36,16,1,0,7,192,24, + 224,56,112,112,120,112,120,240,60,240,60,240,60,240,60,240, + 60,240,60,240,60,240,56,112,56,120,56,56,112,28,96,15, + 128,13,19,38,16,2,0,1,128,15,128,127,128,239,128,7, + 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, + 128,7,128,7,128,7,128,7,128,63,224,127,248,13,19,38, + 16,1,0,15,224,56,240,120,120,240,120,112,120,0,120,0, + 240,0,240,1,224,1,192,3,128,7,0,14,0,28,8,28, + 8,56,24,127,248,255,248,255,248,13,19,38,16,1,0,31, + 128,121,224,112,240,240,240,64,240,0,240,1,224,7,192,15, + 192,3,240,0,240,0,120,0,120,0,120,0,120,128,240,192, + 240,127,224,31,128,14,19,38,17,1,0,0,48,1,240,1, + 240,3,240,7,240,6,240,12,240,12,240,24,240,56,240,48, + 240,96,240,255,252,255,248,0,240,0,240,0,240,1,248,7, + 252,13,19,38,16,1,0,63,248,63,240,63,224,112,0,112, + 0,96,0,96,0,127,128,127,224,97,240,0,248,0,120,0, + 120,0,120,0,120,0,112,128,240,193,224,127,128,14,20,40, + 16,1,0,0,112,3,240,7,128,15,0,28,0,60,0,120, + 0,120,0,115,224,255,240,252,120,240,124,240,60,240,60,240, + 60,112,60,120,56,56,56,28,112,7,192,13,19,38,16,2, + 0,255,248,255,248,255,240,192,48,128,96,128,96,0,224,0, + 192,1,192,1,128,3,128,3,128,7,0,7,0,14,0,14, + 0,30,0,28,0,56,0,14,19,38,16,1,0,15,192,24, + 240,48,120,112,120,112,120,120,120,126,240,63,192,31,224,15, + 240,63,248,120,252,248,124,240,60,240,60,240,56,112,56,56, + 112,31,192,14,20,40,16,1,255,7,192,24,240,56,120,112, + 120,240,60,240,60,240,60,240,60,248,60,124,124,63,252,31, + 60,0,56,0,120,0,112,0,240,1,224,7,128,63,0,56, + 0,5,16,16,9,2,255,112,248,248,248,112,0,0,0,0, + 0,0,112,248,248,248,112,6,21,21,9,2,250,112,248,248, + 248,112,0,0,0,0,0,0,56,252,252,60,60,56,56,112, + 96,192,13,10,20,15,1,4,0,24,0,240,7,240,63,128, + 252,0,248,0,127,0,15,224,1,248,0,48,13,7,14,15, + 1,5,255,248,255,240,0,0,0,0,0,0,255,248,255,240, + 13,10,20,15,1,4,96,0,252,0,63,128,7,240,0,248, + 1,240,15,224,127,0,248,0,192,0,12,24,48,15,1,255, + 31,192,121,224,240,240,240,240,240,240,192,240,0,240,1,224, + 1,192,3,192,3,128,7,0,7,0,6,0,6,0,6,0, + 0,0,0,0,0,0,14,0,31,0,31,0,31,0,14,0, + 26,28,112,28,1,249,0,31,192,0,0,255,248,0,3,255, + 252,0,7,224,62,0,15,128,15,0,30,0,7,128,60,30, + 35,128,60,49,225,128,120,97,225,192,120,225,224,192,240,225, + 224,192,241,225,224,192,241,225,224,192,241,225,224,192,241,225, + 224,192,241,225,225,128,241,225,225,128,248,243,227,0,120,255, + 254,0,120,125,252,0,124,56,240,0,62,0,0,0,62,0, + 2,0,31,128,6,0,15,224,63,0,7,255,248,0,1,255, + 240,0,0,63,128,0,20,20,60,20,0,0,0,32,0,0, + 240,0,0,240,0,1,248,0,1,248,0,1,248,0,3,188, + 0,3,60,0,3,60,0,7,30,0,6,30,0,14,31,0, + 15,255,0,12,7,0,28,7,128,24,7,128,24,3,128,56, + 3,192,56,3,192,254,15,240,17,20,60,19,1,0,63,224, + 0,252,120,0,60,60,0,60,30,0,60,30,0,60,30,0, + 60,30,0,60,60,0,60,120,0,63,248,0,60,30,0,60, + 15,0,60,15,0,60,7,128,60,7,128,60,7,128,60,7, + 128,60,15,0,124,30,0,255,248,0,16,20,40,18,1,0, + 1,254,6,31,28,14,56,4,56,0,112,0,112,0,240,0, + 240,0,240,0,240,0,240,0,240,0,248,0,120,0,124,3, + 63,14,31,252,15,248,3,224,18,20,60,20,1,0,63,240, + 0,252,60,0,60,14,0,60,15,0,60,7,128,60,7,128, + 60,3,192,60,3,192,60,3,192,60,3,192,60,3,192,60, + 3,192,60,3,192,60,3,128,60,7,128,60,7,128,60,15, + 0,60,14,0,124,28,0,255,240,0,15,20,40,17,1,0, + 255,252,124,12,60,12,60,12,60,12,60,0,60,0,60,0, + 60,0,63,240,60,32,60,0,60,0,60,0,60,0,60,0, + 60,2,60,6,124,14,255,254,14,20,40,16,1,0,255,252, + 124,12,60,12,60,12,60,12,60,0,60,0,60,0,60,0, + 63,240,60,32,60,0,60,0,60,0,60,0,60,0,60,0, + 60,0,126,0,255,0,18,20,60,19,1,0,1,254,0,6, + 15,0,28,6,0,56,4,0,56,0,0,120,0,0,112,0, + 0,240,0,0,240,0,0,240,0,0,240,127,192,240,127,192, + 240,15,0,240,15,0,120,15,0,120,15,0,60,15,0,30, + 15,0,15,254,0,3,240,0,20,20,60,22,1,0,255,15, + 240,126,7,224,60,3,192,60,3,192,60,3,192,60,3,192, + 60,3,192,60,3,192,60,3,192,63,255,192,60,3,192,60, + 3,192,60,3,192,60,3,192,60,3,192,60,3,192,60,3, + 192,60,3,192,126,7,224,255,15,240,8,20,20,10,1,0, + 255,126,60,60,60,60,60,60,60,60,60,60,60,60,60,60, + 60,60,126,255,14,27,54,11,252,249,7,252,1,248,0,240, + 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, + 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, + 0,240,0,240,0,224,1,224,49,192,127,128,255,0,60,0, + 19,20,60,20,1,0,255,31,192,126,15,0,60,14,0,60, + 28,0,60,56,0,60,112,0,60,224,0,60,224,0,61,192, + 0,63,128,0,63,192,0,61,224,0,60,240,0,60,120,0, + 60,60,0,60,62,0,60,31,0,60,15,128,126,7,224,255, + 3,128,15,20,40,16,1,0,255,0,126,0,60,0,60,0, + 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, + 60,0,60,0,60,0,60,0,60,2,60,6,124,14,255,254, + 25,20,80,27,1,0,252,0,31,128,62,0,62,0,62,0, + 62,0,62,0,126,0,63,0,126,0,55,0,254,0,55,128, + 222,0,55,129,222,0,51,193,158,0,51,195,158,0,49,195, + 158,0,49,227,30,0,48,231,30,0,48,246,30,0,48,254, + 30,0,48,124,30,0,48,124,30,0,48,56,30,0,120,56, + 63,0,252,24,127,128,19,20,60,21,1,0,248,7,224,124, + 3,192,60,1,128,62,1,128,63,1,128,63,129,128,55,129, + 128,51,193,128,51,225,128,49,225,128,48,241,128,48,249,128, + 48,125,128,48,61,128,48,31,128,48,31,128,48,15,128,48, + 7,128,120,7,128,252,1,128,18,20,60,20,1,0,3,240, + 0,12,28,0,28,14,0,56,7,0,56,7,128,112,7,128, + 112,3,192,240,3,192,240,3,192,240,3,192,240,3,192,240, + 3,192,240,3,192,248,3,128,120,7,128,120,7,0,60,15, + 0,30,30,0,15,248,0,3,224,0,16,20,40,18,1,0, + 63,240,252,60,60,30,60,15,60,15,60,15,60,15,60,15, + 60,14,60,30,62,60,61,240,60,0,60,0,60,0,60,0, + 60,0,60,0,126,0,255,128,21,25,75,20,1,251,3,240, + 0,14,28,0,28,14,0,56,15,0,56,7,128,112,7,128, + 112,3,128,240,3,192,240,3,192,240,3,192,240,3,192,240, + 3,192,240,3,192,240,3,128,120,3,128,120,7,128,60,7, + 0,28,14,0,14,28,0,3,248,0,0,60,0,0,15,8, + 0,7,248,0,3,240,0,0,224,18,20,60,19,1,0,63, + 224,0,252,120,0,60,60,0,60,30,0,60,30,0,60,30, + 0,60,30,0,60,60,0,60,252,0,63,240,0,63,224,0, + 60,240,0,60,112,0,60,120,0,60,60,0,60,62,0,60, + 30,0,60,15,0,126,15,192,255,7,128,13,20,40,16,2, + 0,15,224,48,224,96,96,224,0,224,0,240,0,252,0,127, + 0,127,192,31,224,15,240,3,248,0,248,0,120,128,120,192, + 120,192,112,224,224,255,192,63,0,18,20,60,19,0,0,255, + 255,192,193,225,192,193,224,192,193,224,192,129,224,128,1,224, + 0,1,224,0,1,224,0,1,224,0,1,224,0,1,224,0, + 1,224,0,1,224,0,1,224,0,1,224,0,1,224,0,1, + 224,0,1,224,0,3,240,0,7,248,0,19,20,60,21,1, + 0,255,7,224,126,3,192,60,1,128,60,1,128,60,1,128, + 60,1,128,60,1,128,60,1,128,60,1,128,60,1,128,60, + 1,128,60,1,128,60,1,128,60,1,128,60,1,128,60,3, + 0,30,3,0,15,6,0,7,252,0,3,240,0,21,20,60, + 21,0,0,255,3,248,60,0,224,60,0,192,30,0,192,30, + 1,128,15,1,128,15,3,128,15,3,0,7,131,0,7,135, + 0,3,198,0,3,198,0,3,206,0,1,236,0,1,236,0, + 0,248,0,0,248,0,0,248,0,0,112,0,0,96,0,27, + 20,80,27,0,0,255,6,15,224,60,6,3,192,28,15,3, + 128,28,15,3,0,28,15,3,0,30,31,131,0,30,27,131, + 0,14,27,199,0,14,59,198,0,15,49,198,0,15,49,230, + 0,7,112,238,0,7,96,252,0,7,224,252,0,7,192,124, + 0,3,192,124,0,3,192,60,0,3,128,56,0,3,128,56, + 0,3,0,16,0,20,20,60,20,0,0,127,143,224,62,3, + 128,30,7,0,15,6,0,15,142,0,7,140,0,3,220,0, + 3,248,0,1,240,0,0,240,0,0,248,0,1,248,0,3, + 188,0,3,190,0,7,30,0,6,15,0,14,15,128,28,7, + 128,60,7,192,254,31,240,19,20,60,20,0,0,252,7,224, + 60,3,192,30,3,128,15,3,0,15,7,0,7,134,0,3, + 142,0,3,204,0,1,220,0,1,248,0,0,248,0,0,240, + 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,0, + 0,240,0,1,248,0,3,252,0,15,20,40,17,1,0,127, + 254,96,62,96,124,64,124,64,248,0,240,1,240,1,224,3, + 224,7,192,7,192,15,128,15,0,31,0,62,0,62,2,124, + 2,124,6,248,6,255,254,9,30,60,11,2,251,255,128,255, + 128,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, + 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, + 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, + 0,240,0,240,0,255,128,255,128,13,30,60,15,1,251,192, + 0,224,0,224,0,112,0,112,0,48,0,56,0,56,0,28, + 0,28,0,28,0,14,0,14,0,6,0,7,0,7,0,3, + 128,3,128,3,128,1,192,1,192,0,192,0,224,0,224,0, + 112,0,112,0,112,0,56,0,56,0,24,9,30,60,11,0, + 251,255,128,255,128,7,128,7,128,7,128,7,128,7,128,7, + 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, + 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, + 128,7,128,7,128,7,128,7,128,255,128,255,128,12,15,30, + 16,2,9,2,0,6,0,15,0,15,0,27,0,27,128,17, + 128,49,192,49,192,96,192,96,224,96,96,192,112,192,48,128, + 32,14,2,4,15,1,252,255,252,255,248,7,8,8,10,0, + 16,112,240,120,56,60,28,14,6,14,15,30,16,1,0,31, + 192,112,224,240,240,192,240,0,240,3,240,31,240,63,240,120, + 240,240,240,240,240,240,240,251,252,126,248,56,96,16,24,48, + 17,0,0,12,0,252,0,124,0,60,0,60,0,60,0,60, + 0,60,0,60,0,60,120,61,252,63,254,63,30,60,15,60, + 7,60,7,60,7,60,7,60,6,60,14,62,28,63,248,31, + 240,7,192,13,15,30,15,1,0,3,248,12,120,56,48,112, + 16,112,0,240,0,240,0,240,0,240,0,248,0,248,8,124, + 56,63,240,31,224,15,128,16,24,48,18,1,0,0,28,0, + 252,0,60,0,60,0,60,0,60,0,60,0,60,0,60,7, + 252,24,124,56,60,112,60,112,60,240,60,240,60,240,60,240, + 60,248,60,248,60,124,124,127,255,63,190,30,24,13,15,30, + 15,1,0,7,192,24,224,56,112,112,120,112,120,240,120,255, + 240,240,0,240,0,240,0,248,8,124,56,127,240,63,224,15, + 128,13,24,48,11,1,0,1,240,7,248,14,112,28,32,28, + 0,60,0,60,0,60,0,60,0,255,192,60,128,60,0,60, + 0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60, + 0,60,0,127,0,255,128,16,23,46,17,0,248,7,227,28, + 127,56,126,120,60,120,60,120,60,120,60,60,56,60,112,15, + 192,14,0,28,0,31,192,63,252,15,254,31,255,120,127,240, + 15,240,14,240,14,120,28,63,248,15,192,17,24,72,18,1, + 0,12,0,0,252,0,0,124,0,0,60,0,0,60,0,0, + 60,0,0,60,0,0,60,0,0,60,0,0,60,120,0,61, + 252,0,63,254,0,63,30,0,62,30,0,60,30,0,60,30, + 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, + 60,30,0,126,63,0,255,127,128,8,21,21,10,1,0,28, + 62,62,28,0,0,28,252,124,60,60,60,60,60,60,60,60, + 60,60,126,255,12,29,58,9,251,248,0,224,1,240,1,240, + 0,224,0,0,0,0,0,224,7,224,3,224,1,224,1,224, + 1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,224, + 1,224,1,224,1,224,1,224,1,192,1,192,99,128,255,0, + 254,0,120,0,17,24,72,18,1,0,12,0,0,252,0,0, + 124,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60, + 0,0,60,0,0,60,63,128,60,30,0,60,60,0,60,112, + 0,60,224,0,61,192,0,63,192,0,63,224,0,61,224,0, + 60,240,0,60,120,0,60,60,0,60,62,0,126,31,128,255, + 15,0,8,24,24,10,1,0,12,252,124,60,60,60,60,60, + 60,60,60,60,60,60,60,60,60,60,60,60,60,60,126,255, + 26,15,60,28,1,0,28,120,60,0,252,252,254,0,127,255, + 255,0,63,31,143,0,60,30,15,0,60,30,15,0,60,30, + 15,0,60,30,15,0,60,30,15,0,60,30,15,0,60,30, + 15,0,60,30,15,0,60,30,15,0,126,63,31,128,255,127, + 191,192,17,15,45,18,1,0,12,60,0,252,252,0,127,254, + 0,63,30,0,62,30,0,60,30,0,60,30,0,60,30,0, + 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,126, + 63,0,255,127,128,15,15,30,17,1,0,7,224,24,112,56, + 56,112,60,112,30,240,30,240,30,240,30,240,30,240,30,240, + 28,120,28,56,56,28,48,15,192,16,23,46,18,1,248,12, + 120,252,252,127,254,62,62,60,31,60,15,60,15,60,15,60, + 15,60,15,60,14,62,30,63,252,61,248,60,240,60,0,60, + 0,60,0,60,0,60,0,60,0,127,0,255,128,17,23,69, + 18,1,248,3,194,0,12,54,0,56,30,0,112,30,0,112, + 30,0,240,30,0,240,30,0,240,30,0,240,30,0,248,30, + 0,248,30,0,124,126,0,127,254,0,63,222,0,15,30,0, + 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, + 30,0,0,63,0,0,255,128,13,15,30,14,1,0,24,240, + 249,248,123,248,62,48,60,48,60,48,60,0,60,0,60,0, + 60,0,60,0,60,0,60,0,126,0,255,0,11,15,30,13, + 1,0,31,192,97,192,225,128,224,128,248,0,254,0,127,128, + 127,192,31,224,7,224,129,224,192,224,192,192,224,192,255,0, + 11,20,40,12,0,0,4,0,28,0,60,0,60,0,60,0, + 255,224,60,64,60,0,60,0,60,0,60,0,60,0,60,0, + 60,0,60,0,60,0,60,96,63,224,31,128,14,0,17,15, + 45,18,0,0,28,14,0,252,126,0,60,30,0,60,30,0, + 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, + 30,0,60,30,0,60,126,0,63,255,128,31,223,0,15,12, + 0,16,15,30,16,0,0,254,31,124,14,60,12,60,12,30, + 28,30,24,15,24,15,48,7,48,7,240,7,224,3,224,3, + 192,1,192,1,128,23,15,45,23,0,0,254,24,62,124,24, + 28,60,28,24,60,60,24,28,62,48,30,126,48,30,111,48, + 14,111,112,15,199,96,15,199,224,7,195,224,7,131,192,7, + 131,192,3,1,192,2,1,128,16,15,30,17,0,0,255,63, + 62,28,30,24,15,48,15,240,7,224,3,192,3,224,3,224, + 6,240,14,248,28,120,24,60,120,62,252,127,17,23,69,16, + 255,248,127,15,128,62,7,0,30,6,0,30,6,0,15,14, + 0,15,12,0,7,140,0,7,152,0,7,152,0,3,248,0, + 3,240,0,1,240,0,1,240,0,1,224,0,0,224,0,0, + 192,0,0,192,0,1,192,0,1,128,0,39,128,0,127,0, + 0,254,0,0,120,0,0,13,15,30,15,1,0,127,248,96, + 248,65,240,65,224,3,224,7,192,7,128,15,128,15,0,31, + 0,62,16,60,24,124,24,248,24,255,248,9,30,60,12,2, + 251,1,0,7,128,14,0,28,0,60,0,60,0,60,0,60, + 0,62,0,30,0,30,0,30,0,30,0,60,0,120,0,252, + 0,60,0,30,0,30,0,30,0,30,0,62,0,60,0,60, + 0,60,0,60,0,28,0,30,0,7,0,1,128,2,32,32, + 7,3,250,64,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,128,9,30,60,12,1,251,64,0,240,0,60,0,28, + 0,30,0,30,0,30,0,30,0,62,0,60,0,60,0,60, + 0,60,0,30,0,31,128,15,0,30,0,60,0,60,0,60, + 0,60,0,62,0,30,0,30,0,30,0,30,0,28,0,56, + 0,112,0,192,0,14,6,12,16,1,7,28,8,62,12,127, + 136,71,240,131,240,128,224,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,255,255,255,255,255,255,255,0,0,0,8,0,0,5,24, + 24,10,2,247,112,248,248,248,112,0,0,48,48,48,48,112, + 112,112,112,120,120,120,120,120,120,120,120,96,13,20,40,16, + 2,255,3,0,3,0,3,0,15,248,31,248,59,56,115,16, + 227,0,227,0,227,0,227,0,227,0,227,0,115,24,123,48, + 63,224,31,192,3,0,3,0,3,0,14,19,38,16,1,0, + 1,252,6,60,14,28,28,12,28,8,60,0,60,0,60,0, + 60,0,255,224,60,0,60,0,60,0,60,4,56,4,56,12, + 127,252,255,252,128,48,12,13,26,16,2,3,192,48,239,112, + 112,224,48,192,96,96,96,96,96,96,96,96,112,224,57,192, + 111,96,192,48,128,16,18,19,57,16,255,0,248,31,192,252, + 15,128,62,6,0,30,14,0,31,12,0,15,156,0,7,152, + 0,7,248,0,3,240,0,3,240,0,3,240,0,1,224,0, + 63,255,0,1,224,0,1,224,0,1,224,0,1,224,0,3, + 240,0,7,248,0,2,32,32,7,3,250,64,192,192,192,192, + 192,192,192,192,192,192,192,192,192,128,0,0,64,192,192,192, + 192,192,192,192,192,192,192,192,192,192,128,12,22,44,16,2, + 0,15,192,49,224,112,224,112,64,124,0,126,0,63,128,127, + 192,99,224,225,240,224,240,240,112,252,112,127,112,63,224,31, + 192,7,224,65,224,64,224,224,224,240,192,127,0,11,5,10, + 13,1,17,112,224,241,224,241,224,241,224,225,192,21,21,63, + 23,1,0,1,252,0,7,7,0,12,1,128,24,0,192,48, + 126,96,96,199,48,97,134,48,195,2,24,199,0,24,199,0, + 24,199,0,24,199,0,24,199,0,24,199,128,24,99,199,48, + 97,252,48,48,248,96,16,0,64,8,1,128,6,3,0,1, + 252,0,7,11,11,9,1,9,60,204,140,60,108,204,206,252, + 0,0,254,14,15,30,16,1,0,2,8,6,28,12,56,28, + 112,56,112,120,224,241,224,243,192,241,224,120,224,56,112,28, + 112,12,56,6,24,2,12,13,7,14,16,2,3,255,248,255, + 248,0,24,0,24,0,24,0,24,0,16,10,2,4,11,1, + 7,255,192,255,128,12,11,22,11,0,11,31,128,48,192,126, + 96,219,48,219,48,222,48,219,48,217,48,100,224,48,192,31, + 128,14,3,6,16,1,18,127,248,127,252,255,248,7,8,8, + 11,2,12,60,126,70,198,198,204,252,120,12,15,30,13,1, + 2,6,0,6,0,6,0,6,0,6,0,127,240,255,224,6, + 0,6,0,6,0,6,0,4,0,0,0,255,240,255,224,8, + 11,11,11,2,10,62,115,227,3,6,6,12,24,49,97,255, + 9,11,22,11,1,10,62,0,231,0,231,0,7,0,28,0, + 63,0,7,128,3,128,3,128,199,0,126,0,8,8,8,10, + 3,16,28,30,63,60,120,112,224,192,18,23,69,19,1,248, + 28,6,0,252,30,0,60,30,0,60,30,0,60,30,0,60, + 30,0,60,30,0,60,30,0,60,30,0,60,30,0,60,30, + 0,62,62,0,63,255,128,63,223,192,51,142,0,48,0,0, + 48,0,0,56,0,0,56,0,0,56,0,0,60,0,0,62, + 0,0,48,0,0,17,24,72,19,1,252,15,255,128,60,127, + 0,120,102,0,112,102,0,240,102,0,240,102,0,240,102,0, + 240,102,0,120,102,0,120,102,0,60,102,0,15,230,0,0, + 102,0,0,102,0,0,102,0,0,102,0,0,102,0,0,102, + 0,0,102,0,0,102,0,0,102,0,0,102,0,0,255,0, + 1,255,128,5,5,5,7,1,8,112,248,248,248,112,7,7, + 7,7,0,249,24,48,60,62,30,60,240,8,11,11,11,2, + 10,8,248,24,24,24,24,24,24,24,24,255,7,11,11,9, + 1,9,56,76,198,198,198,198,198,108,56,0,254,13,15,30, + 16,2,0,129,0,195,128,97,128,112,192,56,224,60,112,30, + 120,30,120,30,120,60,112,56,224,112,192,97,192,193,128,131, + 0,17,19,57,20,2,0,48,3,128,240,3,0,48,6,0, + 48,12,0,48,28,0,48,24,0,48,48,0,48,96,0,120, + 224,0,132,193,0,1,135,0,3,15,0,7,11,0,6,19, + 0,12,51,0,24,63,128,56,67,0,48,3,0,224,15,128, + 17,19,57,20,2,0,48,1,128,240,3,0,48,7,0,48, + 6,0,48,12,0,48,24,0,48,56,0,48,48,0,120,96, + 0,132,192,0,1,207,0,1,153,128,3,49,128,7,1,0, + 14,3,0,12,6,0,24,12,0,56,24,128,112,63,128,18, + 19,57,20,1,0,60,1,192,102,1,128,70,3,0,12,6, + 0,28,14,0,6,12,0,6,24,0,134,48,0,124,112,0, + 0,96,128,0,195,128,1,135,128,3,133,128,3,9,128,6, + 25,128,12,31,192,28,33,128,24,1,128,112,7,192,13,23, + 46,15,1,248,7,0,15,128,15,128,15,128,7,0,0,0, + 0,0,3,0,3,0,3,0,7,0,6,0,14,0,28,0, + 60,0,120,0,112,0,240,24,240,120,240,120,240,120,120,240, + 63,192,20,28,84,20,0,0,3,0,0,7,128,0,7,192, + 0,15,224,0,1,224,0,0,112,0,0,24,0,0,0,0, + 0,32,0,0,240,0,0,240,0,1,248,0,1,248,0,1, + 248,0,3,188,0,3,60,0,3,60,0,7,30,0,6,30, + 0,14,31,0,15,255,0,12,7,0,28,7,128,24,7,128, + 24,3,128,56,3,192,56,3,192,254,15,240,20,28,84,20, + 0,0,0,8,0,0,30,0,0,62,0,0,124,0,0,240, + 0,1,224,0,1,128,0,0,0,0,0,32,0,0,240,0, + 0,240,0,1,248,0,1,248,0,1,248,0,3,188,0,3, + 60,0,3,60,0,7,30,0,6,30,0,14,31,0,15,255, + 0,12,7,0,28,7,128,24,7,128,24,3,128,56,3,192, + 56,3,192,254,15,240,20,27,81,20,0,0,0,224,0,0, + 240,0,1,248,0,3,252,0,7,14,0,4,6,0,0,0, + 0,0,32,0,0,240,0,0,240,0,1,248,0,1,248,0, + 1,248,0,3,188,0,3,60,0,3,60,0,7,30,0,6, + 30,0,14,31,0,15,255,0,12,7,0,28,7,128,24,7, + 128,24,3,128,56,3,192,56,3,192,254,15,240,20,26,78, + 20,0,0,3,195,0,7,254,0,7,254,0,12,124,0,8, + 0,0,0,0,0,0,32,0,0,240,0,0,240,0,1,248, + 0,1,248,0,1,248,0,3,188,0,3,60,0,3,60,0, + 7,30,0,6,30,0,14,31,0,15,255,0,12,7,0,28, + 7,128,24,7,128,24,3,128,56,3,192,56,3,192,254,15, + 240,20,26,78,20,0,0,6,12,0,15,30,0,15,30,0, + 15,30,0,14,28,0,0,0,0,0,32,0,0,240,0,0, + 240,0,1,248,0,1,248,0,1,248,0,3,188,0,3,60, + 0,3,60,0,7,30,0,6,30,0,14,31,0,15,255,0, + 12,7,0,28,7,128,24,7,128,24,3,128,56,3,192,56, + 3,192,254,15,240,20,27,81,20,0,0,0,112,0,1,152, + 0,1,152,0,1,144,0,0,224,0,0,0,0,0,0,0, + 0,32,0,0,240,0,0,240,0,1,248,0,1,248,0,1, + 248,0,3,188,0,3,60,0,3,60,0,7,30,0,6,30, + 0,14,31,0,15,255,0,12,7,0,28,7,128,24,7,128, + 24,3,128,56,3,192,56,3,192,254,15,240,25,20,80,26, + 0,0,3,255,255,0,0,255,3,0,0,255,3,0,0,239, + 3,0,0,239,3,0,1,207,0,0,1,207,0,0,3,143, + 0,0,3,143,0,0,3,255,254,0,7,15,4,0,6,15, + 0,0,14,15,0,0,14,15,0,0,12,15,0,0,28,15, + 0,0,24,15,0,128,24,15,1,128,56,31,1,128,254,63, + 255,128,16,27,54,18,1,249,1,254,6,31,28,14,56,4, + 56,0,112,0,112,0,240,0,240,0,240,0,240,0,240,0, + 240,0,248,0,120,0,124,1,126,7,63,254,31,252,15,240, + 0,192,1,192,1,240,0,240,0,240,1,224,3,128,15,28, + 56,17,1,0,8,0,28,0,62,0,31,0,7,128,1,192, + 0,64,0,0,255,252,124,12,60,12,60,12,60,12,60,0, + 60,0,60,0,60,0,63,240,60,32,60,0,60,0,60,0, + 60,0,60,0,60,2,60,6,124,14,255,254,15,28,56,17, + 1,0,0,96,0,240,1,248,1,240,3,192,7,0,12,0, + 0,0,255,252,124,12,60,12,60,12,60,12,60,0,60,0, + 60,0,60,0,63,240,60,32,60,0,60,0,60,0,60,0, + 60,0,60,2,60,6,124,14,255,254,15,27,54,17,1,0, + 3,128,7,192,15,192,31,224,28,112,48,24,0,0,255,252, + 124,12,60,12,60,12,60,12,60,0,60,0,60,0,60,0, + 63,240,60,32,60,0,60,0,60,0,60,0,60,0,60,2, + 60,6,124,14,255,254,15,26,52,17,1,0,56,112,56,112, + 120,240,120,240,48,96,0,0,255,252,124,12,60,12,60,12, + 60,12,60,0,60,0,60,0,60,0,63,240,60,32,60,0, + 60,0,60,0,60,0,60,0,60,2,60,6,124,14,255,254, + 9,28,56,10,0,0,32,0,240,0,248,0,124,0,30,0, + 15,0,3,0,0,0,127,128,63,0,30,0,30,0,30,0, + 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, + 30,0,30,0,30,0,30,0,30,0,63,0,127,128,10,28, + 56,10,1,0,2,0,7,128,15,192,31,0,62,0,120,0, + 96,0,0,0,255,0,126,0,60,0,60,0,60,0,60,0, + 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, + 60,0,60,0,60,0,60,0,126,0,255,0,10,27,54,10, + 0,0,12,0,30,0,63,0,127,128,225,192,192,64,0,0, + 127,128,63,0,30,0,30,0,30,0,30,0,30,0,30,0, + 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, + 30,0,30,0,63,0,127,128,11,26,52,10,255,0,112,224, + 241,224,241,224,241,224,96,192,0,0,63,192,31,128,15,0, + 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, + 15,0,15,0,15,0,15,0,15,0,15,0,15,0,31,128, + 63,192,18,20,60,20,1,0,63,240,0,252,60,0,60,14, + 0,60,15,0,60,7,128,60,7,128,60,3,192,60,3,192, + 60,3,192,255,195,192,60,3,192,60,3,192,60,3,192,60, + 3,128,60,7,128,60,7,128,60,15,0,60,14,0,124,28, + 0,255,240,0,19,26,78,21,1,0,3,195,0,7,254,0, + 15,252,0,12,120,0,24,0,0,0,0,0,248,7,224,124, + 3,192,60,1,128,62,1,128,63,1,128,63,129,128,55,129, + 128,51,193,128,51,225,128,49,225,128,48,241,128,48,249,128, + 48,125,128,48,61,128,48,31,128,48,31,128,48,15,128,48, + 7,128,120,7,128,252,1,128,18,28,84,20,1,0,2,0, + 0,15,0,0,15,128,0,7,192,0,3,224,0,0,240,0, + 0,48,0,0,0,0,3,240,0,12,28,0,28,14,0,56, + 7,0,56,7,128,112,7,128,112,3,192,240,3,192,240,3, + 192,240,3,192,240,3,192,240,3,192,240,3,192,248,3,128, + 120,7,128,120,7,0,60,15,0,30,30,0,15,248,0,3, + 224,0,18,28,84,20,1,0,0,16,0,0,60,0,0,124, + 0,0,248,0,1,224,0,3,192,0,3,0,0,0,0,0, + 3,240,0,12,28,0,28,14,0,56,7,0,56,7,128,112, + 7,128,112,3,192,240,3,192,240,3,192,240,3,192,240,3, + 192,240,3,192,240,3,192,248,3,128,120,7,128,120,7,0, + 60,15,0,30,30,0,15,248,0,3,224,0,18,27,81,20, + 1,0,0,192,0,1,224,0,3,240,0,7,248,0,14,28, + 0,8,12,0,0,0,0,3,240,0,12,28,0,28,14,0, + 56,7,0,56,7,128,112,7,128,112,3,192,240,3,192,240, + 3,192,240,3,192,240,3,192,240,3,192,240,3,192,248,3, + 128,120,7,128,120,7,0,60,15,0,30,30,0,15,248,0, + 3,224,0,18,26,78,20,1,0,3,198,0,15,252,0,15, + 252,0,24,120,0,16,0,0,0,0,0,3,240,0,12,28, + 0,28,14,0,56,7,0,56,7,128,112,7,128,112,3,192, + 240,3,192,240,3,192,240,3,192,240,3,192,240,3,192,240, + 3,192,248,3,128,120,7,128,120,7,0,60,15,0,30,30, + 0,15,248,0,3,224,0,18,26,78,20,1,0,14,28,0, + 30,60,0,30,60,0,30,60,0,28,56,0,0,0,0,3, + 240,0,12,28,0,28,14,0,56,7,0,56,7,128,112,7, + 128,112,3,192,240,3,192,240,3,192,240,3,192,240,3,192, + 240,3,192,240,3,192,248,3,128,120,7,128,120,7,0,60, + 15,0,30,30,0,15,248,0,3,224,0,11,10,20,13,1, + 4,96,96,240,224,57,192,31,128,15,0,15,0,31,128,57, + 192,112,224,224,96,18,21,63,20,1,255,3,241,192,12,31, + 128,28,15,0,56,15,0,56,31,128,112,63,128,112,63,192, + 240,123,192,240,243,192,240,227,192,241,195,192,241,195,192,243, + 131,192,247,3,128,126,7,128,126,7,0,60,7,0,62,14, + 0,127,248,0,227,224,0,128,0,0,19,28,84,21,1,0, + 3,0,0,7,128,0,15,192,0,7,192,0,1,224,0,0, + 112,0,0,24,0,0,0,0,255,7,224,126,3,192,60,1, + 128,60,1,128,60,1,128,60,1,128,60,1,128,60,1,128, + 60,1,128,60,1,128,60,1,128,60,1,128,60,1,128,60, + 1,128,60,1,128,60,3,0,30,3,0,15,6,0,7,252, + 0,3,240,0,19,28,84,21,1,0,0,8,0,0,30,0, + 0,62,0,0,124,0,0,240,0,1,192,0,1,128,0,0, + 0,0,255,7,224,126,3,192,60,1,128,60,1,128,60,1, + 128,60,1,128,60,1,128,60,1,128,60,1,128,60,1,128, + 60,1,128,60,1,128,60,1,128,60,1,128,60,1,128,60, + 3,0,30,3,0,15,6,0,7,252,0,3,240,0,19,27, + 81,21,1,0,0,224,0,0,240,0,1,248,0,3,252,0, + 7,14,0,12,6,0,0,0,0,255,7,224,126,3,192,60, + 1,128,60,1,128,60,1,128,60,1,128,60,1,128,60,1, + 128,60,1,128,60,1,128,60,1,128,60,1,128,60,1,128, + 60,1,128,60,1,128,60,3,0,30,3,0,15,6,0,7, + 252,0,3,240,0,19,26,78,21,1,0,6,12,0,15,30, + 0,15,30,0,15,30,0,14,28,0,0,0,0,255,7,224, + 126,3,192,60,1,128,60,1,128,60,1,128,60,1,128,60, + 1,128,60,1,128,60,1,128,60,1,128,60,1,128,60,1, + 128,60,1,128,60,1,128,60,1,128,60,3,0,30,3,0, + 15,6,0,7,252,0,3,240,0,19,28,84,20,0,0,0, + 8,0,0,30,0,0,62,0,0,124,0,0,240,0,1,192, + 0,1,128,0,0,0,0,252,7,224,60,3,192,30,3,128, + 15,3,0,15,7,0,7,134,0,3,142,0,3,204,0,1, + 220,0,1,248,0,0,248,0,0,240,0,0,240,0,0,240, + 0,0,240,0,0,240,0,0,240,0,0,240,0,1,248,0, + 3,252,0,16,20,40,18,1,0,255,128,126,0,60,0,60, + 0,63,240,60,60,60,30,60,15,60,15,60,15,60,15,60, + 14,60,30,60,60,63,240,60,0,60,0,60,0,126,0,255, + 128,18,24,72,21,1,0,0,248,0,3,254,0,15,31,0, + 14,15,128,28,7,128,28,7,128,60,7,128,60,7,128,60, + 15,0,60,60,0,60,112,0,60,224,0,60,224,0,60,240, + 0,60,252,0,60,127,0,60,63,128,60,15,192,60,7,192, + 61,3,192,60,129,192,60,193,128,124,225,128,252,254,0,14, + 24,48,16,1,0,28,0,62,0,30,0,15,0,7,0,3, + 128,1,128,0,192,0,0,31,192,112,224,240,240,192,240,0, + 240,3,240,31,240,63,240,120,240,240,240,240,240,240,240,251, + 252,126,248,56,96,14,24,48,16,1,0,0,224,1,240,1, + 224,3,192,3,128,3,0,7,0,6,0,0,0,31,192,112, + 224,240,240,192,240,0,240,3,240,31,240,63,240,120,240,240, + 240,240,240,240,240,251,252,126,248,56,96,14,23,46,16,1, + 0,3,128,7,128,15,192,31,224,28,224,56,48,32,16,0, + 0,31,192,112,224,240,240,192,240,0,240,3,240,31,240,63, + 240,120,240,240,240,240,240,240,240,251,252,126,248,56,96,14, + 22,44,16,1,0,14,8,31,24,63,240,99,240,64,224,0, + 0,0,0,31,192,112,224,240,240,192,240,0,240,3,240,31, + 240,63,240,120,240,240,240,240,240,240,240,251,252,126,248,56, + 96,14,22,44,16,1,0,56,112,120,240,120,240,120,240,48, + 96,0,0,0,0,31,192,112,224,240,240,192,240,0,240,3, + 240,31,240,63,240,120,240,240,240,240,240,240,240,251,252,126, + 248,56,96,14,22,44,16,1,0,3,128,4,192,12,192,12, + 192,7,128,0,0,0,0,31,192,112,224,240,240,192,240,0, + 240,3,240,31,240,63,240,120,240,240,240,240,240,240,240,251, + 252,126,248,56,96,22,15,45,23,1,0,3,227,224,31,252, + 112,60,252,56,120,120,60,112,120,60,128,120,60,7,255,248, + 28,120,0,120,120,0,112,120,0,240,124,8,249,254,28,255, + 191,248,127,31,240,60,7,192,14,22,44,15,1,249,3,248, + 12,120,56,48,112,16,112,0,240,0,240,0,240,0,240,0, + 240,0,248,8,124,28,63,248,31,240,15,192,3,0,3,192, + 3,224,5,224,1,224,3,192,14,0,13,24,48,15,1,0, + 14,0,30,0,31,0,15,0,7,128,3,128,1,192,0,192, + 0,0,7,192,24,224,56,112,112,120,112,120,240,120,255,240, + 240,0,240,0,240,0,248,8,124,56,127,240,63,224,15,128, + 13,24,48,15,1,0,0,224,0,240,1,240,1,224,3,192, + 3,128,7,0,6,0,0,0,7,192,24,224,56,112,112,120, + 112,120,240,120,255,240,240,0,240,0,240,0,248,8,124,56, + 127,240,63,224,15,128,13,23,46,15,1,0,3,128,7,192, + 15,192,15,224,28,112,56,48,48,24,0,0,7,192,24,224, + 56,112,112,120,112,120,240,120,255,240,240,0,240,0,240,0, + 248,8,124,56,127,240,63,224,15,128,13,22,44,15,1,0, + 56,112,56,112,120,240,120,240,48,96,0,0,0,0,7,192, + 24,224,56,112,112,120,112,120,240,120,255,240,240,0,240,0, + 240,0,248,8,124,56,127,240,63,224,15,128,9,24,48,10, + 0,0,112,0,248,0,120,0,60,0,28,0,14,0,6,0, + 2,0,0,0,14,0,126,0,62,0,30,0,30,0,30,0, + 30,0,30,0,30,0,30,0,30,0,30,0,30,0,63,0, + 127,128,9,24,48,10,1,0,7,0,15,128,15,0,30,0, + 28,0,56,0,48,0,32,0,0,0,28,0,252,0,124,0, + 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, + 60,0,60,0,126,0,255,0,10,23,46,10,0,0,28,0, + 30,0,63,0,127,0,115,128,193,192,128,64,0,0,14,0, + 126,0,62,0,30,0,30,0,30,0,30,0,30,0,30,0, + 30,0,30,0,30,0,30,0,63,0,127,128,11,22,44,10, + 255,0,112,224,241,224,241,224,241,224,225,192,0,0,0,0, + 7,0,63,0,31,0,15,0,15,0,15,0,15,0,15,0, + 15,0,15,0,15,0,15,0,15,0,31,128,63,192,14,23, + 46,16,1,0,14,0,63,28,95,248,3,224,15,224,60,224, + 0,112,0,56,15,248,24,248,56,124,112,60,112,60,240,60, + 240,60,240,60,240,60,240,56,240,56,120,112,120,112,60,96, + 15,128,17,22,66,19,1,0,7,6,0,15,204,0,31,252, + 0,17,248,0,48,112,0,0,0,0,0,0,0,12,60,0, + 252,252,0,127,254,0,63,30,0,62,30,0,60,30,0,60, + 30,0,60,30,0,60,30,0,60,30,0,60,30,0,60,30, + 0,60,30,0,126,63,0,255,127,128,15,24,48,17,1,0, + 14,0,31,0,15,0,7,0,3,128,1,128,0,192,0,192, + 0,0,7,224,24,112,56,56,112,60,112,30,240,30,240,30, + 240,30,240,30,240,30,240,28,120,28,56,56,28,48,15,192, + 15,24,48,17,1,0,0,240,0,248,0,240,1,224,1,192, + 3,128,3,0,6,0,0,0,7,224,24,112,56,56,112,60, + 112,30,240,30,240,30,240,30,240,30,240,30,240,28,120,28, + 56,56,28,48,15,192,15,23,46,17,1,0,3,128,3,192, + 7,224,15,224,30,112,24,56,48,24,0,0,7,224,24,112, + 56,56,112,60,112,30,240,30,240,30,240,30,240,30,240,30, + 240,28,120,28,56,56,28,48,15,192,15,22,44,17,1,0, + 14,12,31,136,31,248,49,240,32,224,0,0,0,0,7,224, + 24,112,56,56,112,60,112,30,240,30,240,30,240,30,240,30, + 240,30,240,28,120,28,56,56,28,48,15,192,15,22,44,17, + 1,0,24,48,60,120,60,120,56,112,56,112,0,0,0,0, + 7,224,24,112,56,56,112,60,112,30,240,30,240,30,240,30, + 240,30,240,30,240,28,120,28,56,56,28,48,15,192,12,12, + 24,13,1,3,6,0,14,0,14,0,12,0,0,0,255,240, + 255,224,0,0,6,0,14,0,14,0,12,0,15,16,32,17, + 1,255,7,238,24,124,56,60,112,124,112,254,240,254,241,222, + 243,158,243,158,247,30,254,28,124,28,124,56,124,48,111,192, + 128,0,17,24,72,18,0,0,7,0,0,15,128,0,7,128, + 0,3,192,0,1,192,0,0,224,0,0,96,0,0,48,0, + 0,0,0,28,14,0,252,126,0,60,30,0,60,30,0,60, + 30,0,60,30,0,60,30,0,60,30,0,60,30,0,60,30, + 0,60,30,0,60,126,0,63,255,128,31,223,0,15,12,0, + 17,24,72,18,0,0,0,56,0,0,124,0,0,120,0,0, + 240,0,0,224,0,0,192,0,1,128,0,1,128,0,0,0, + 0,28,14,0,252,126,0,60,30,0,60,30,0,60,30,0, + 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, + 30,0,60,126,0,63,255,128,31,223,0,15,12,0,17,23, + 69,18,0,0,0,192,0,1,224,0,3,240,0,7,248,0, + 7,56,0,14,12,0,8,4,0,0,0,0,28,14,0,252, + 126,0,60,30,0,60,30,0,60,30,0,60,30,0,60,30, + 0,60,30,0,60,30,0,60,30,0,60,30,0,60,126,0, + 63,255,128,31,223,0,15,12,0,17,22,66,18,0,0,14, + 28,0,30,60,0,30,60,0,30,60,0,12,24,0,0,0, + 0,0,0,0,28,14,0,252,126,0,60,30,0,60,30,0, + 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, + 30,0,60,30,0,60,126,0,63,255,128,31,223,0,15,12, + 0,17,32,96,16,255,248,0,56,0,0,62,0,0,124,0, + 0,120,0,0,240,0,0,224,0,0,192,0,1,128,0,0, + 0,0,127,15,128,62,7,0,30,6,0,30,6,0,15,14, + 0,15,12,0,7,140,0,7,152,0,7,152,0,3,248,0, + 3,240,0,1,240,0,1,240,0,1,224,0,0,224,0,0, + 192,0,0,192,0,1,192,0,1,128,0,39,128,0,127,0, + 0,254,0,0,120,0,0,16,32,64,18,1,248,12,0,252, + 0,124,0,60,0,60,0,60,0,60,0,60,0,60,0,60, + 120,61,252,63,254,62,62,60,31,60,15,60,15,60,15,60, + 15,60,15,60,14,63,30,63,252,61,248,60,240,60,0,60, + 0,60,0,60,0,60,0,60,0,127,0,255,128,17,30,90, + 16,255,248,6,12,0,15,30,0,15,30,0,14,28,0,14, + 28,0,0,0,0,0,0,0,127,15,128,62,7,0,30,6, + 0,30,6,0,15,14,0,15,12,0,7,140,0,7,152,0, + 7,152,0,3,248,0,3,240,0,1,240,0,1,240,0,1, + 224,0,0,224,0,0,192,0,0,192,0,1,192,0,1,128, + 0,39,128,0,127,0,0,254,0,0,120,0,0}; +/* + Fontname: -FreeType-Gentium Basic-Bold-R-Normal--32-320-72-72-P-159-ISO10646-1 + Copyright: Copyright (c) SIL International, 2003-2008. + Capital A Height: 0, '1' Height: 19 + Calculated Max Values w=14 h=30 x= 2 y=11 dx=17 dy= 0 ascent=25 len=60 + Font Bounding box w=49 h=47 x=-16 y=-12 + Calculated Min Values x= 0 y=-6 dx= 0 dy= 0 + Pure Font ascent =19 descent= 0 + X Font ascent =19 descent= 0 + Max Font ascent =25 descent=-6 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_gdb20n[646] U8G_FONT_SECTION("u8g_font_gdb20n") = { + 0,49,47,240,244,19,0,0,0,0,42,58,0,25,250,19, + 0,12,13,26,14,1,11,3,0,15,0,70,64,102,112,246, + 240,63,192,15,0,63,224,254,240,230,112,70,32,7,0,14, + 0,12,12,24,13,1,3,6,0,6,0,6,0,6,0,6, + 0,127,240,255,224,6,0,6,0,6,0,6,0,6,0,6, + 10,10,9,2,250,56,252,252,60,60,56,56,112,96,192,10, + 2,4,11,1,7,255,192,255,128,5,5,5,9,2,255,112, + 248,248,248,112,14,30,60,15,1,251,0,28,0,56,0,56, + 0,120,0,112,0,112,0,224,0,224,0,224,1,192,1,192, + 3,128,3,128,3,128,7,0,7,0,7,0,14,0,14,0, + 28,0,28,0,28,0,56,0,56,0,120,0,112,0,112,0, + 224,0,224,0,192,0,14,18,36,16,1,0,7,192,24,224, + 56,112,112,120,112,120,240,60,240,60,240,60,240,60,240,60, + 240,60,240,60,240,56,112,56,120,56,56,112,28,96,15,128, + 13,19,38,16,2,0,1,128,15,128,127,128,239,128,7,128, + 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, + 7,128,7,128,7,128,7,128,63,224,127,248,13,19,38,16, + 1,0,15,224,56,240,120,120,240,120,112,120,0,120,0,240, + 0,240,1,224,1,192,3,128,7,0,14,0,28,8,28,8, + 56,24,127,248,255,248,255,248,13,19,38,16,1,0,31,128, + 121,224,112,240,240,240,64,240,0,240,1,224,7,192,15,192, + 3,240,0,240,0,120,0,120,0,120,0,120,128,240,192,240, + 127,224,31,128,14,19,38,17,1,0,0,48,1,240,1,240, + 3,240,7,240,6,240,12,240,12,240,24,240,56,240,48,240, + 96,240,255,252,255,248,0,240,0,240,0,240,1,248,7,252, + 13,19,38,16,1,0,63,248,63,240,63,224,112,0,112,0, + 96,0,96,0,127,128,127,224,97,240,0,248,0,120,0,120, + 0,120,0,120,0,112,128,240,193,224,127,128,14,20,40,16, + 1,0,0,112,3,240,7,128,15,0,28,0,60,0,120,0, + 120,0,115,224,255,240,252,120,240,124,240,60,240,60,240,60, + 112,60,120,56,56,56,28,112,7,192,13,19,38,16,2,0, + 255,248,255,248,255,240,192,48,128,96,128,96,0,224,0,192, + 1,192,1,128,3,128,3,128,7,0,7,0,14,0,14,0, + 30,0,28,0,56,0,14,19,38,16,1,0,15,192,24,240, + 48,120,112,120,112,120,120,120,126,240,63,192,31,224,15,240, + 63,248,120,252,248,124,240,60,240,60,240,56,112,56,56,112, + 31,192,14,20,40,16,1,255,7,192,24,240,56,120,112,120, + 240,60,240,60,240,60,240,60,248,60,124,124,63,252,31,60, + 0,56,0,120,0,112,0,240,1,224,7,128,63,0,56,0, + 5,16,16,9,2,255,112,248,248,248,112,0,0,0,0,0, + 0,112,248,248,248,112}; +/* + Fontname: -FreeType-Gentium Basic-Bold-R-Normal--32-320-72-72-P-159-ISO10646-1 + Copyright: Copyright (c) SIL International, 2003-2008. + Capital A Height: 20, '1' Height: 19 + Calculated Max Values w=27 h=32 x= 3 y=16 dx=28 dy= 0 ascent=26 len=112 + Font Bounding box w=49 h=47 x=-16 y=-12 + Calculated Min Values x=-5 y=-8 dx= 0 dy= 0 + Pure Font ascent =20 descent=-8 + X Font ascent =25 descent=-8 + Max Font ascent =26 descent=-8 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_gdb20r[4680] U8G_FONT_SECTION("u8g_font_gdb20r") = { + 0,49,47,240,244,20,5,86,12,137,32,127,248,26,248,25, + 248,0,0,0,8,0,0,5,24,24,10,2,255,24,120,120, + 120,120,120,120,120,120,112,112,112,112,48,48,48,48,0,0, + 112,248,248,248,112,11,10,20,15,2,13,56,224,243,224,241, + 224,241,192,113,192,113,192,113,192,113,192,112,192,96,192,15, + 18,36,16,1,2,1,140,3,152,3,24,3,24,3,56,63, + 254,63,254,6,112,14,96,12,96,12,96,127,252,255,248,24, + 192,24,192,57,128,49,128,49,128,14,25,50,16,1,253,3, + 0,3,0,3,0,31,240,63,248,115,120,227,56,227,16,243, + 0,255,0,127,0,63,224,15,240,3,248,3,124,3,28,195, + 28,195,28,227,28,251,120,255,240,63,224,3,0,3,0,3, + 0,21,20,60,23,1,0,0,0,96,30,0,192,115,129,192, + 97,131,128,225,195,0,225,198,0,225,206,0,225,220,0,97, + 152,0,115,176,0,30,113,224,0,231,112,1,198,48,1,142, + 56,3,142,56,7,14,56,14,14,56,12,6,48,28,7,48, + 56,3,192,21,23,69,22,1,0,1,240,0,7,120,0,14, + 60,0,14,60,0,30,60,0,30,124,0,30,120,0,31,240, + 0,31,224,0,15,192,0,15,128,0,31,143,248,63,195,160, + 123,225,128,123,241,128,241,249,128,240,251,0,240,127,0,240, + 126,0,248,63,0,120,31,240,63,247,240,15,195,192,5,10, + 10,9,2,13,56,240,240,240,112,112,112,112,112,96,9,30, + 60,11,2,251,1,0,3,128,6,0,14,0,28,0,60,0, + 56,0,120,0,120,0,112,0,112,0,240,0,240,0,240,0, + 240,0,240,0,240,0,240,0,240,0,240,0,112,0,120,0, + 120,0,56,0,60,0,28,0,30,0,14,0,7,0,1,128, + 9,30,60,11,0,251,64,0,240,0,56,0,60,0,28,0, + 30,0,14,0,15,0,15,0,15,0,7,128,7,128,7,128, + 7,128,7,128,7,128,7,128,7,128,7,128,7,0,15,0, + 15,0,15,0,14,0,30,0,28,0,56,0,48,0,96,0, + 192,0,12,13,26,14,1,11,3,0,15,0,70,64,102,112, + 246,240,63,192,15,0,63,224,254,240,230,112,70,32,7,0, + 14,0,12,12,24,13,1,3,6,0,6,0,6,0,6,0, + 6,0,127,240,255,224,6,0,6,0,6,0,6,0,6,0, + 6,10,10,9,2,250,56,252,252,60,60,56,56,112,96,192, + 10,2,4,11,1,7,255,192,255,128,5,5,5,9,2,255, + 112,248,248,248,112,14,30,60,15,1,251,0,28,0,56,0, + 56,0,120,0,112,0,112,0,224,0,224,0,224,1,192,1, + 192,3,128,3,128,3,128,7,0,7,0,7,0,14,0,14, + 0,28,0,28,0,28,0,56,0,56,0,120,0,112,0,112, + 0,224,0,224,0,192,0,14,18,36,16,1,0,7,192,24, + 224,56,112,112,120,112,120,240,60,240,60,240,60,240,60,240, + 60,240,60,240,60,240,56,112,56,120,56,56,112,28,96,15, + 128,13,19,38,16,2,0,1,128,15,128,127,128,239,128,7, + 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, + 128,7,128,7,128,7,128,7,128,63,224,127,248,13,19,38, + 16,1,0,15,224,56,240,120,120,240,120,112,120,0,120,0, + 240,0,240,1,224,1,192,3,128,7,0,14,0,28,8,28, + 8,56,24,127,248,255,248,255,248,13,19,38,16,1,0,31, + 128,121,224,112,240,240,240,64,240,0,240,1,224,7,192,15, + 192,3,240,0,240,0,120,0,120,0,120,0,120,128,240,192, + 240,127,224,31,128,14,19,38,17,1,0,0,48,1,240,1, + 240,3,240,7,240,6,240,12,240,12,240,24,240,56,240,48, + 240,96,240,255,252,255,248,0,240,0,240,0,240,1,248,7, + 252,13,19,38,16,1,0,63,248,63,240,63,224,112,0,112, + 0,96,0,96,0,127,128,127,224,97,240,0,248,0,120,0, + 120,0,120,0,120,0,112,128,240,193,224,127,128,14,20,40, + 16,1,0,0,112,3,240,7,128,15,0,28,0,60,0,120, + 0,120,0,115,224,255,240,252,120,240,124,240,60,240,60,240, + 60,112,60,120,56,56,56,28,112,7,192,13,19,38,16,2, + 0,255,248,255,248,255,240,192,48,128,96,128,96,0,224,0, + 192,1,192,1,128,3,128,3,128,7,0,7,0,14,0,14, + 0,30,0,28,0,56,0,14,19,38,16,1,0,15,192,24, + 240,48,120,112,120,112,120,120,120,126,240,63,192,31,224,15, + 240,63,248,120,252,248,124,240,60,240,60,240,56,112,56,56, + 112,31,192,14,20,40,16,1,255,7,192,24,240,56,120,112, + 120,240,60,240,60,240,60,240,60,248,60,124,124,63,252,31, + 60,0,56,0,120,0,112,0,240,1,224,7,128,63,0,56, + 0,5,16,16,9,2,255,112,248,248,248,112,0,0,0,0, + 0,0,112,248,248,248,112,6,21,21,9,2,250,112,248,248, + 248,112,0,0,0,0,0,0,56,252,252,60,60,56,56,112, + 96,192,13,10,20,15,1,4,0,24,0,240,7,240,63,128, + 252,0,248,0,127,0,15,224,1,248,0,48,13,7,14,15, + 1,5,255,248,255,240,0,0,0,0,0,0,255,248,255,240, + 13,10,20,15,1,4,96,0,252,0,63,128,7,240,0,248, + 1,240,15,224,127,0,248,0,192,0,12,24,48,15,1,255, + 31,192,121,224,240,240,240,240,240,240,192,240,0,240,1,224, + 1,192,3,192,3,128,7,0,7,0,6,0,6,0,6,0, + 0,0,0,0,0,0,14,0,31,0,31,0,31,0,14,0, + 26,28,112,28,1,249,0,31,192,0,0,255,248,0,3,255, + 252,0,7,224,62,0,15,128,15,0,30,0,7,128,60,30, + 35,128,60,49,225,128,120,97,225,192,120,225,224,192,240,225, + 224,192,241,225,224,192,241,225,224,192,241,225,224,192,241,225, + 224,192,241,225,225,128,241,225,225,128,248,243,227,0,120,255, + 254,0,120,125,252,0,124,56,240,0,62,0,0,0,62,0, + 2,0,31,128,6,0,15,224,63,0,7,255,248,0,1,255, + 240,0,0,63,128,0,20,20,60,20,0,0,0,32,0,0, + 240,0,0,240,0,1,248,0,1,248,0,1,248,0,3,188, + 0,3,60,0,3,60,0,7,30,0,6,30,0,14,31,0, + 15,255,0,12,7,0,28,7,128,24,7,128,24,3,128,56, + 3,192,56,3,192,254,15,240,17,20,60,19,1,0,63,224, + 0,252,120,0,60,60,0,60,30,0,60,30,0,60,30,0, + 60,30,0,60,60,0,60,120,0,63,248,0,60,30,0,60, + 15,0,60,15,0,60,7,128,60,7,128,60,7,128,60,7, + 128,60,15,0,124,30,0,255,248,0,16,20,40,18,1,0, + 1,254,6,31,28,14,56,4,56,0,112,0,112,0,240,0, + 240,0,240,0,240,0,240,0,240,0,248,0,120,0,124,3, + 63,14,31,252,15,248,3,224,18,20,60,20,1,0,63,240, + 0,252,60,0,60,14,0,60,15,0,60,7,128,60,7,128, + 60,3,192,60,3,192,60,3,192,60,3,192,60,3,192,60, + 3,192,60,3,192,60,3,128,60,7,128,60,7,128,60,15, + 0,60,14,0,124,28,0,255,240,0,15,20,40,17,1,0, + 255,252,124,12,60,12,60,12,60,12,60,0,60,0,60,0, + 60,0,63,240,60,32,60,0,60,0,60,0,60,0,60,0, + 60,2,60,6,124,14,255,254,14,20,40,16,1,0,255,252, + 124,12,60,12,60,12,60,12,60,0,60,0,60,0,60,0, + 63,240,60,32,60,0,60,0,60,0,60,0,60,0,60,0, + 60,0,126,0,255,0,18,20,60,19,1,0,1,254,0,6, + 15,0,28,6,0,56,4,0,56,0,0,120,0,0,112,0, + 0,240,0,0,240,0,0,240,0,0,240,127,192,240,127,192, + 240,15,0,240,15,0,120,15,0,120,15,0,60,15,0,30, + 15,0,15,254,0,3,240,0,20,20,60,22,1,0,255,15, + 240,126,7,224,60,3,192,60,3,192,60,3,192,60,3,192, + 60,3,192,60,3,192,60,3,192,63,255,192,60,3,192,60, + 3,192,60,3,192,60,3,192,60,3,192,60,3,192,60,3, + 192,60,3,192,126,7,224,255,15,240,8,20,20,10,1,0, + 255,126,60,60,60,60,60,60,60,60,60,60,60,60,60,60, + 60,60,126,255,14,27,54,11,252,249,7,252,1,248,0,240, + 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, + 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, + 0,240,0,240,0,224,1,224,49,192,127,128,255,0,60,0, + 19,20,60,20,1,0,255,31,192,126,15,0,60,14,0,60, + 28,0,60,56,0,60,112,0,60,224,0,60,224,0,61,192, + 0,63,128,0,63,192,0,61,224,0,60,240,0,60,120,0, + 60,60,0,60,62,0,60,31,0,60,15,128,126,7,224,255, + 3,128,15,20,40,16,1,0,255,0,126,0,60,0,60,0, + 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, + 60,0,60,0,60,0,60,0,60,2,60,6,124,14,255,254, + 25,20,80,27,1,0,252,0,31,128,62,0,62,0,62,0, + 62,0,62,0,126,0,63,0,126,0,55,0,254,0,55,128, + 222,0,55,129,222,0,51,193,158,0,51,195,158,0,49,195, + 158,0,49,227,30,0,48,231,30,0,48,246,30,0,48,254, + 30,0,48,124,30,0,48,124,30,0,48,56,30,0,120,56, + 63,0,252,24,127,128,19,20,60,21,1,0,248,7,224,124, + 3,192,60,1,128,62,1,128,63,1,128,63,129,128,55,129, + 128,51,193,128,51,225,128,49,225,128,48,241,128,48,249,128, + 48,125,128,48,61,128,48,31,128,48,31,128,48,15,128,48, + 7,128,120,7,128,252,1,128,18,20,60,20,1,0,3,240, + 0,12,28,0,28,14,0,56,7,0,56,7,128,112,7,128, + 112,3,192,240,3,192,240,3,192,240,3,192,240,3,192,240, + 3,192,240,3,192,248,3,128,120,7,128,120,7,0,60,15, + 0,30,30,0,15,248,0,3,224,0,16,20,40,18,1,0, + 63,240,252,60,60,30,60,15,60,15,60,15,60,15,60,15, + 60,14,60,30,62,60,61,240,60,0,60,0,60,0,60,0, + 60,0,60,0,126,0,255,128,21,25,75,20,1,251,3,240, + 0,14,28,0,28,14,0,56,15,0,56,7,128,112,7,128, + 112,3,128,240,3,192,240,3,192,240,3,192,240,3,192,240, + 3,192,240,3,192,240,3,128,120,3,128,120,7,128,60,7, + 0,28,14,0,14,28,0,3,248,0,0,60,0,0,15,8, + 0,7,248,0,3,240,0,0,224,18,20,60,19,1,0,63, + 224,0,252,120,0,60,60,0,60,30,0,60,30,0,60,30, + 0,60,30,0,60,60,0,60,252,0,63,240,0,63,224,0, + 60,240,0,60,112,0,60,120,0,60,60,0,60,62,0,60, + 30,0,60,15,0,126,15,192,255,7,128,13,20,40,16,2, + 0,15,224,48,224,96,96,224,0,224,0,240,0,252,0,127, + 0,127,192,31,224,15,240,3,248,0,248,0,120,128,120,192, + 120,192,112,224,224,255,192,63,0,18,20,60,19,0,0,255, + 255,192,193,225,192,193,224,192,193,224,192,129,224,128,1,224, + 0,1,224,0,1,224,0,1,224,0,1,224,0,1,224,0, + 1,224,0,1,224,0,1,224,0,1,224,0,1,224,0,1, + 224,0,1,224,0,3,240,0,7,248,0,19,20,60,21,1, + 0,255,7,224,126,3,192,60,1,128,60,1,128,60,1,128, + 60,1,128,60,1,128,60,1,128,60,1,128,60,1,128,60, + 1,128,60,1,128,60,1,128,60,1,128,60,1,128,60,3, + 0,30,3,0,15,6,0,7,252,0,3,240,0,21,20,60, + 21,0,0,255,3,248,60,0,224,60,0,192,30,0,192,30, + 1,128,15,1,128,15,3,128,15,3,0,7,131,0,7,135, + 0,3,198,0,3,198,0,3,206,0,1,236,0,1,236,0, + 0,248,0,0,248,0,0,248,0,0,112,0,0,96,0,27, + 20,80,27,0,0,255,6,15,224,60,6,3,192,28,15,3, + 128,28,15,3,0,28,15,3,0,30,31,131,0,30,27,131, + 0,14,27,199,0,14,59,198,0,15,49,198,0,15,49,230, + 0,7,112,238,0,7,96,252,0,7,224,252,0,7,192,124, + 0,3,192,124,0,3,192,60,0,3,128,56,0,3,128,56, + 0,3,0,16,0,20,20,60,20,0,0,127,143,224,62,3, + 128,30,7,0,15,6,0,15,142,0,7,140,0,3,220,0, + 3,248,0,1,240,0,0,240,0,0,248,0,1,248,0,3, + 188,0,3,190,0,7,30,0,6,15,0,14,15,128,28,7, + 128,60,7,192,254,31,240,19,20,60,20,0,0,252,7,224, + 60,3,192,30,3,128,15,3,0,15,7,0,7,134,0,3, + 142,0,3,204,0,1,220,0,1,248,0,0,248,0,0,240, + 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,0, + 0,240,0,1,248,0,3,252,0,15,20,40,17,1,0,127, + 254,96,62,96,124,64,124,64,248,0,240,1,240,1,224,3, + 224,7,192,7,192,15,128,15,0,31,0,62,0,62,2,124, + 2,124,6,248,6,255,254,9,30,60,11,2,251,255,128,255, + 128,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, + 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, + 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, + 0,240,0,240,0,255,128,255,128,13,30,60,15,1,251,192, + 0,224,0,224,0,112,0,112,0,48,0,56,0,56,0,28, + 0,28,0,28,0,14,0,14,0,6,0,7,0,7,0,3, + 128,3,128,3,128,1,192,1,192,0,192,0,224,0,224,0, + 112,0,112,0,112,0,56,0,56,0,24,9,30,60,11,0, + 251,255,128,255,128,7,128,7,128,7,128,7,128,7,128,7, + 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, + 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, + 128,7,128,7,128,7,128,7,128,255,128,255,128,12,15,30, + 16,2,9,2,0,6,0,15,0,15,0,27,0,27,128,17, + 128,49,192,49,192,96,192,96,224,96,96,192,112,192,48,128, + 32,14,2,4,15,1,252,255,252,255,248,7,8,8,10,0, + 16,112,240,120,56,60,28,14,6,14,15,30,16,1,0,31, + 192,112,224,240,240,192,240,0,240,3,240,31,240,63,240,120, + 240,240,240,240,240,240,240,251,252,126,248,56,96,16,24,48, + 17,0,0,12,0,252,0,124,0,60,0,60,0,60,0,60, + 0,60,0,60,0,60,120,61,252,63,254,63,30,60,15,60, + 7,60,7,60,7,60,7,60,6,60,14,62,28,63,248,31, + 240,7,192,13,15,30,15,1,0,3,248,12,120,56,48,112, + 16,112,0,240,0,240,0,240,0,240,0,248,0,248,8,124, + 56,63,240,31,224,15,128,16,24,48,18,1,0,0,28,0, + 252,0,60,0,60,0,60,0,60,0,60,0,60,0,60,7, + 252,24,124,56,60,112,60,112,60,240,60,240,60,240,60,240, + 60,248,60,248,60,124,124,127,255,63,190,30,24,13,15,30, + 15,1,0,7,192,24,224,56,112,112,120,112,120,240,120,255, + 240,240,0,240,0,240,0,248,8,124,56,127,240,63,224,15, + 128,13,24,48,11,1,0,1,240,7,248,14,112,28,32,28, + 0,60,0,60,0,60,0,60,0,255,192,60,128,60,0,60, + 0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60, + 0,60,0,127,0,255,128,16,23,46,17,0,248,7,227,28, + 127,56,126,120,60,120,60,120,60,120,60,60,56,60,112,15, + 192,14,0,28,0,31,192,63,252,15,254,31,255,120,127,240, + 15,240,14,240,14,120,28,63,248,15,192,17,24,72,18,1, + 0,12,0,0,252,0,0,124,0,0,60,0,0,60,0,0, + 60,0,0,60,0,0,60,0,0,60,0,0,60,120,0,61, + 252,0,63,254,0,63,30,0,62,30,0,60,30,0,60,30, + 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, + 60,30,0,126,63,0,255,127,128,8,21,21,10,1,0,28, + 62,62,28,0,0,28,252,124,60,60,60,60,60,60,60,60, + 60,60,126,255,12,29,58,9,251,248,0,224,1,240,1,240, + 0,224,0,0,0,0,0,224,7,224,3,224,1,224,1,224, + 1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,224, + 1,224,1,224,1,224,1,224,1,192,1,192,99,128,255,0, + 254,0,120,0,17,24,72,18,1,0,12,0,0,252,0,0, + 124,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60, + 0,0,60,0,0,60,63,128,60,30,0,60,60,0,60,112, + 0,60,224,0,61,192,0,63,192,0,63,224,0,61,224,0, + 60,240,0,60,120,0,60,60,0,60,62,0,126,31,128,255, + 15,0,8,24,24,10,1,0,12,252,124,60,60,60,60,60, + 60,60,60,60,60,60,60,60,60,60,60,60,60,60,126,255, + 26,15,60,28,1,0,28,120,60,0,252,252,254,0,127,255, + 255,0,63,31,143,0,60,30,15,0,60,30,15,0,60,30, + 15,0,60,30,15,0,60,30,15,0,60,30,15,0,60,30, + 15,0,60,30,15,0,60,30,15,0,126,63,31,128,255,127, + 191,192,17,15,45,18,1,0,12,60,0,252,252,0,127,254, + 0,63,30,0,62,30,0,60,30,0,60,30,0,60,30,0, + 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,126, + 63,0,255,127,128,15,15,30,17,1,0,7,224,24,112,56, + 56,112,60,112,30,240,30,240,30,240,30,240,30,240,30,240, + 28,120,28,56,56,28,48,15,192,16,23,46,18,1,248,12, + 120,252,252,127,254,62,62,60,31,60,15,60,15,60,15,60, + 15,60,15,60,14,62,30,63,252,61,248,60,240,60,0,60, + 0,60,0,60,0,60,0,60,0,127,0,255,128,17,23,69, + 18,1,248,3,194,0,12,54,0,56,30,0,112,30,0,112, + 30,0,240,30,0,240,30,0,240,30,0,240,30,0,248,30, + 0,248,30,0,124,126,0,127,254,0,63,222,0,15,30,0, + 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, + 30,0,0,63,0,0,255,128,13,15,30,14,1,0,24,240, + 249,248,123,248,62,48,60,48,60,48,60,0,60,0,60,0, + 60,0,60,0,60,0,60,0,126,0,255,0,11,15,30,13, + 1,0,31,192,97,192,225,128,224,128,248,0,254,0,127,128, + 127,192,31,224,7,224,129,224,192,224,192,192,224,192,255,0, + 11,20,40,12,0,0,4,0,28,0,60,0,60,0,60,0, + 255,224,60,64,60,0,60,0,60,0,60,0,60,0,60,0, + 60,0,60,0,60,0,60,96,63,224,31,128,14,0,17,15, + 45,18,0,0,28,14,0,252,126,0,60,30,0,60,30,0, + 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, + 30,0,60,30,0,60,126,0,63,255,128,31,223,0,15,12, + 0,16,15,30,16,0,0,254,31,124,14,60,12,60,12,30, + 28,30,24,15,24,15,48,7,48,7,240,7,224,3,224,3, + 192,1,192,1,128,23,15,45,23,0,0,254,24,62,124,24, + 28,60,28,24,60,60,24,28,62,48,30,126,48,30,111,48, + 14,111,112,15,199,96,15,199,224,7,195,224,7,131,192,7, + 131,192,3,1,192,2,1,128,16,15,30,17,0,0,255,63, + 62,28,30,24,15,48,15,240,7,224,3,192,3,224,3,224, + 6,240,14,248,28,120,24,60,120,62,252,127,17,23,69,16, + 255,248,127,15,128,62,7,0,30,6,0,30,6,0,15,14, + 0,15,12,0,7,140,0,7,152,0,7,152,0,3,248,0, + 3,240,0,1,240,0,1,240,0,1,224,0,0,224,0,0, + 192,0,0,192,0,1,192,0,1,128,0,39,128,0,127,0, + 0,254,0,0,120,0,0,13,15,30,15,1,0,127,248,96, + 248,65,240,65,224,3,224,7,192,7,128,15,128,15,0,31, + 0,62,16,60,24,124,24,248,24,255,248,9,30,60,12,2, + 251,1,0,7,128,14,0,28,0,60,0,60,0,60,0,60, + 0,62,0,30,0,30,0,30,0,30,0,60,0,120,0,252, + 0,60,0,30,0,30,0,30,0,30,0,62,0,60,0,60, + 0,60,0,60,0,28,0,30,0,7,0,1,128,2,32,32, + 7,3,250,64,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,128,9,30,60,12,1,251,64,0,240,0,60,0,28, + 0,30,0,30,0,30,0,30,0,62,0,60,0,60,0,60, + 0,60,0,30,0,31,128,15,0,30,0,60,0,60,0,60, + 0,60,0,62,0,30,0,30,0,30,0,30,0,28,0,56, + 0,112,0,192,0,14,6,12,16,1,7,28,8,62,12,127, + 136,71,240,131,240,128,224,255}; +/* + Fontname: -FreeType-Gentium Basic-Bold-R-Normal--40-400-72-72-P-200-ISO10646-1 + Copyright: Copyright (c) SIL International, 2003-2008. + Capital A Height: 25, '1' Height: 24 + Calculated Max Values w=34 h=41 x= 4 y=23 dx=35 dy= 0 ascent=34 len=136 + Font Bounding box w=61 h=57 x=-20 y=-14 + Calculated Min Values x=-6 y=-11 dx= 0 dy= 0 + Pure Font ascent =25 descent=-9 + X Font ascent =31 descent=-9 + Max Font ascent =34 descent=-11 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_gdb25[14643] U8G_FONT_SECTION("u8g_font_gdb25") = { + 0,61,57,236,242,25,7,167,18,92,32,255,247,34,245,31, + 247,0,0,0,10,0,0,6,30,30,12,3,255,12,60,252, + 252,252,124,120,120,120,120,120,120,120,120,120,120,120,120,56, + 48,48,32,0,0,56,124,252,252,252,120,13,13,26,19,3, + 16,24,56,248,248,248,248,248,248,248,248,248,248,248,240,112, + 240,112,112,112,112,112,112,112,112,112,112,19,23,69,20,1, + 2,0,97,192,0,227,128,0,227,128,0,195,128,1,195,0, + 1,199,0,31,255,224,31,255,224,35,142,0,3,142,0,3, + 14,0,7,12,0,7,28,0,7,28,0,127,255,128,255,255, + 128,14,56,0,12,56,0,28,48,0,28,112,0,24,112,0, + 24,112,0,32,224,0,17,30,90,21,2,253,0,192,0,1, + 192,0,1,192,0,3,240,0,31,254,0,63,255,128,113,223, + 0,225,207,0,225,199,0,225,194,0,241,192,0,255,192,0, + 127,192,0,63,248,0,15,252,0,3,254,0,1,255,0,1, + 223,128,1,207,128,193,199,128,193,199,128,225,199,128,241,207, + 0,253,207,0,255,254,0,63,252,0,7,224,0,1,192,0, + 1,192,0,1,128,0,26,25,100,28,1,0,0,0,3,0, + 15,128,15,0,63,192,14,0,113,224,28,0,112,224,56,0, + 224,112,120,0,224,112,112,0,224,112,224,0,224,113,192,0, + 224,115,192,0,96,103,128,0,112,103,0,0,48,206,62,0, + 31,28,99,0,0,60,195,128,0,56,193,128,0,113,193,192, + 0,225,193,192,1,225,193,192,1,193,193,192,3,129,193,192, + 7,0,225,128,15,0,227,128,14,0,127,0,28,0,62,0, + 27,28,112,28,1,0,0,126,0,0,1,255,128,0,3,143, + 128,0,7,7,192,0,7,7,192,0,15,7,192,0,15,7, + 192,0,15,15,128,0,15,159,0,0,15,191,0,0,7,254, + 0,0,7,248,0,0,7,240,0,0,15,240,255,224,31,241, + 255,192,63,248,61,128,125,252,60,0,124,254,28,0,248,254, + 28,0,248,127,28,0,248,63,184,0,248,31,248,0,248,15, + 240,0,252,7,248,0,124,3,252,0,63,7,255,192,31,254, + 127,128,7,240,28,0,5,13,13,11,3,16,24,248,248,248, + 248,248,248,112,112,112,112,112,112,11,37,74,13,2,250,0, + 64,1,224,3,192,7,128,15,0,15,0,30,0,30,0,60, + 0,60,0,124,0,124,0,120,0,248,0,248,0,248,0,248, + 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,120, + 0,124,0,124,0,124,0,60,0,62,0,30,0,31,0,15, + 0,7,128,3,192,1,224,0,64,11,37,74,13,0,250,64, + 0,240,0,120,0,60,0,30,0,31,0,15,0,15,128,7, + 128,7,192,7,192,7,192,7,192,3,224,3,224,3,224,3, + 224,3,224,3,224,3,224,3,224,3,224,3,224,3,192,7, + 192,7,192,7,192,7,128,15,128,15,0,15,0,30,0,30, + 0,60,0,120,0,240,0,64,0,16,16,32,18,1,14,0, + 192,3,192,3,192,99,140,123,158,125,191,127,252,15,224,7, + 224,63,252,253,190,249,158,51,142,3,192,3,192,3,0,15, + 14,28,17,1,4,1,128,3,128,3,128,3,128,3,128,3, + 128,127,254,255,252,3,128,3,128,3,128,3,128,3,128,3, + 0,8,12,12,11,2,249,30,127,255,127,31,31,30,30,60, + 56,112,96,12,2,4,14,1,9,127,240,255,240,6,6,6, + 11,3,255,56,124,252,252,252,120,17,38,114,19,1,249,0, + 1,128,0,7,128,0,7,128,0,15,0,0,15,0,0,15, + 0,0,30,0,0,30,0,0,28,0,0,60,0,0,60,0, + 0,120,0,0,120,0,0,120,0,0,240,0,0,240,0,0, + 224,0,1,224,0,1,224,0,3,192,0,3,192,0,3,192, + 0,7,128,0,7,128,0,7,0,0,15,0,0,15,0,0, + 30,0,0,30,0,0,30,0,0,60,0,0,60,0,0,56, + 0,0,120,0,0,120,0,0,240,0,0,240,0,0,192,0, + 0,18,24,72,20,1,0,3,240,0,7,252,0,30,62,0, + 28,31,0,60,15,0,120,15,128,120,15,128,120,7,128,248, + 7,192,248,7,192,248,7,192,248,7,192,248,7,192,248,7, + 192,248,7,192,248,7,192,120,7,128,124,7,128,124,15,128, + 60,15,0,62,14,0,31,30,0,15,248,0,3,224,0,16, + 24,48,20,2,0,0,96,3,224,31,224,255,224,99,224,3, + 224,3,224,3,224,3,224,3,224,3,224,3,224,3,224,3, + 224,3,224,3,224,3,224,3,224,3,224,3,224,3,224,7, + 240,127,255,127,255,16,24,48,20,2,0,3,248,15,252,60, + 62,124,63,120,31,248,31,112,31,0,31,0,62,0,60,0, + 124,0,120,0,240,1,224,3,224,3,192,7,128,15,1,30, + 3,60,3,120,3,127,255,255,255,255,255,16,24,48,20,2, + 0,7,240,31,248,60,124,120,62,248,62,248,62,64,62,0, + 60,0,124,0,240,7,240,7,252,0,254,0,62,0,63,0, + 31,0,31,0,31,0,31,0,30,192,62,240,124,127,248,15, + 192,17,24,72,20,1,0,0,12,0,0,124,0,0,124,0, + 0,252,0,1,252,0,1,252,0,3,188,0,7,188,0,7, + 60,0,14,60,0,14,60,0,28,60,0,56,60,0,56,60, + 0,112,60,0,255,255,128,255,255,0,0,60,0,0,60,0, + 0,60,0,0,60,0,0,60,0,3,255,128,3,255,128,17, + 24,72,20,1,0,31,255,0,31,255,128,31,254,0,31,252, + 0,24,0,0,56,0,0,56,0,0,56,0,0,56,0,0, + 63,240,0,63,252,0,48,126,0,96,31,0,0,31,0,0, + 15,128,0,15,128,0,15,128,0,15,128,0,15,128,0,31, + 0,96,31,0,248,126,0,63,252,0,7,224,0,17,24,72, + 20,2,0,0,14,0,0,126,0,1,240,0,7,192,0,15, + 128,0,30,0,0,62,0,0,60,0,0,124,0,0,121,248, + 0,127,254,0,254,63,0,252,31,0,248,15,128,248,15,128, + 248,15,128,248,15,128,248,15,128,124,15,128,124,15,0,60, + 31,0,31,30,0,15,252,0,3,240,0,17,24,72,20,2, + 0,127,255,128,127,255,0,255,255,0,255,255,0,224,6,0, + 192,14,0,128,12,0,0,28,0,0,28,0,0,56,0,0, + 56,0,0,112,0,0,112,0,0,240,0,0,224,0,1,224, + 0,1,192,0,3,192,0,3,192,0,7,128,0,7,128,0, + 15,128,0,31,0,0,28,0,0,17,24,72,21,2,0,3, + 240,0,15,252,0,28,62,0,24,31,0,56,31,0,56,31, + 0,56,31,0,60,62,0,63,60,0,31,248,0,15,240,0, + 7,252,0,14,254,0,62,63,0,124,31,128,120,31,128,248, + 15,128,248,15,128,248,15,128,248,15,0,124,31,0,126,62, + 0,63,252,0,7,224,0,17,25,75,20,2,255,3,240,0, + 15,252,0,30,62,0,60,30,0,120,31,0,120,31,0,248, + 15,128,248,15,128,248,15,128,248,15,128,248,15,128,124,31, + 128,126,63,128,63,255,128,15,207,0,0,15,0,0,31,0, + 0,30,0,0,62,0,0,124,0,0,248,0,1,240,0,15, + 192,0,63,0,0,56,0,0,6,19,19,11,3,255,56,124, + 252,252,252,120,0,0,0,0,0,0,0,56,124,252,252,252, + 120,8,26,26,11,2,249,8,62,126,126,126,124,0,0,0, + 0,0,0,0,0,30,127,255,127,31,31,30,30,60,56,112, + 96,16,13,26,18,1,5,0,3,0,31,0,255,3,252,31, + 224,127,128,252,0,254,0,127,192,15,248,1,255,0,63,0, + 6,16,8,16,18,1,7,127,255,255,255,0,0,0,0,0, + 0,0,0,127,255,255,255,16,13,26,18,1,5,112,0,252, + 0,255,128,31,240,3,254,0,127,0,63,0,255,7,248,63, + 224,127,0,248,0,192,0,15,30,60,18,1,255,7,240,31, + 248,60,124,120,126,248,62,248,62,248,62,224,62,0,62,0, + 124,0,124,0,248,0,240,1,240,1,224,1,192,3,192,3, + 128,3,128,3,128,3,128,0,0,0,0,0,0,3,128,7, + 192,15,192,15,192,15,192,7,128,31,34,136,35,2,248,0, + 7,248,0,0,63,255,0,0,255,255,192,1,248,15,224,3, + 192,1,240,7,128,0,248,15,0,0,120,30,0,0,60,60, + 3,195,60,56,15,238,28,120,30,126,30,120,60,62,14,112, + 120,62,14,240,120,62,14,240,248,62,14,240,248,62,14,240, + 248,62,14,240,248,62,14,240,248,62,12,240,248,62,28,240, + 252,62,28,248,124,126,56,120,127,255,240,120,127,191,224,124, + 63,159,192,60,30,15,0,62,0,0,0,31,0,0,0,31, + 128,0,48,15,224,0,240,7,248,7,224,1,255,255,192,0, + 127,255,0,0,15,248,0,25,25,100,25,0,0,0,4,0, + 0,0,30,0,0,0,62,0,0,0,126,0,0,0,127,0, + 0,0,111,0,0,0,239,128,0,0,239,128,0,0,199,128, + 0,1,199,192,0,1,199,192,0,1,131,192,0,3,131,224, + 0,3,131,224,0,3,255,224,0,7,255,240,0,7,0,240, + 0,6,0,248,0,14,0,248,0,14,0,120,0,12,0,124, + 0,28,0,124,0,28,0,124,0,255,129,255,0,255,129,255, + 128,22,25,75,24,0,0,15,254,0,255,255,128,223,15,224, + 31,3,240,31,1,240,31,1,240,31,1,240,31,1,240,31, + 1,224,31,3,224,31,15,128,31,255,0,31,255,224,31,3, + 240,31,1,248,31,0,248,31,0,124,31,0,124,31,0,124, + 31,0,124,31,0,124,31,0,248,31,3,240,127,255,224,255, + 255,0,20,25,75,22,1,0,0,127,128,3,255,240,7,135, + 224,15,1,224,30,0,192,60,0,64,60,0,0,124,0,0, + 120,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248, + 0,0,248,0,0,248,0,0,252,0,0,124,0,0,124,0, + 0,126,0,32,63,0,112,31,193,224,15,255,192,7,255,0, + 1,252,0,22,25,75,25,1,0,15,252,0,255,255,128,255, + 15,192,31,3,224,31,1,240,31,1,248,31,0,248,31,0, + 248,31,0,124,31,0,124,31,0,124,31,0,124,31,0,124, + 31,0,124,31,0,124,31,0,124,31,0,120,31,0,248,31, + 0,248,31,1,240,31,1,240,31,3,224,31,7,192,127,255, + 128,255,252,0,19,25,75,21,1,0,255,255,192,255,255,192, + 62,1,192,30,1,192,30,1,128,30,1,128,30,0,128,30, + 0,0,30,0,0,30,0,0,30,0,0,31,255,0,31,254, + 0,30,6,0,30,0,0,30,0,0,30,0,0,30,0,0, + 30,0,0,30,0,96,30,0,96,30,0,224,63,1,224,255, + 255,224,255,255,192,18,25,75,20,1,0,255,255,192,255,255, + 192,62,1,192,30,1,192,30,1,192,30,0,192,30,0,128, + 30,0,0,30,0,0,30,0,0,30,0,0,31,254,0,31, + 254,0,30,4,0,30,0,0,30,0,0,30,0,0,30,0, + 0,30,0,0,30,0,0,30,0,0,30,0,0,62,0,0, + 255,192,0,255,224,0,22,25,75,24,1,0,0,127,128,1, + 255,240,7,131,240,15,1,224,30,0,224,60,0,64,60,0, + 0,124,0,0,120,0,0,248,0,0,248,0,0,248,0,0, + 248,15,252,248,15,252,248,1,240,248,1,240,252,1,240,124, + 1,240,124,1,240,126,1,240,63,1,240,31,129,240,15,255, + 192,7,255,128,0,252,0,25,25,100,27,1,0,255,227,255, + 128,127,227,255,128,31,0,124,0,31,0,124,0,31,0,124, + 0,31,0,124,0,31,0,124,0,31,0,124,0,31,0,124, + 0,31,0,124,0,31,0,124,0,31,255,252,0,31,255,252, + 0,31,0,124,0,31,0,124,0,31,0,124,0,31,0,124, + 0,31,0,124,0,31,0,124,0,31,0,124,0,31,0,124, + 0,31,0,124,0,31,0,124,0,127,195,255,128,255,227,255, + 128,11,25,50,13,1,0,255,224,127,224,31,0,31,0,31, + 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, + 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, + 0,31,0,31,0,127,192,255,224,18,33,99,13,251,248,3, + 255,192,1,255,128,0,62,0,0,62,0,0,62,0,0,62, + 0,0,62,0,0,62,0,0,62,0,0,62,0,0,62,0, + 0,62,0,0,62,0,0,62,0,0,62,0,0,62,0,0, + 62,0,0,62,0,0,62,0,0,62,0,0,62,0,0,62, + 0,0,62,0,0,62,0,0,62,0,0,60,0,0,60,0, + 0,56,0,16,120,0,56,112,0,127,224,0,255,128,0,62, + 0,0,24,25,75,25,0,0,255,227,254,127,193,254,31,0, + 240,31,1,224,31,3,192,31,7,128,31,15,0,31,14,0, + 31,28,0,31,60,0,31,120,0,31,240,0,31,248,0,31, + 124,0,31,60,0,31,62,0,31,31,0,31,15,128,31,7, + 192,31,3,224,31,3,240,31,1,248,31,0,255,127,224,127, + 255,224,60,20,25,75,20,0,0,255,224,0,127,224,0,31, + 0,0,31,0,0,31,0,0,31,0,0,31,0,0,31,0, + 0,31,0,0,31,0,0,31,0,0,31,0,0,31,0,0, + 31,0,0,31,0,0,31,0,0,31,0,0,31,0,0,31, + 0,0,31,0,48,31,0,96,31,0,96,31,128,224,127,255, + 224,255,255,224,31,25,100,34,1,0,255,0,1,254,127,0, + 1,254,31,128,1,240,31,128,3,240,31,192,3,240,31,192, + 7,240,31,192,7,240,31,224,14,240,29,224,14,240,29,240, + 30,240,28,240,28,240,28,248,28,240,28,248,56,240,28,124, + 56,248,28,124,112,248,28,60,112,248,28,62,224,248,28,30, + 224,248,28,31,224,248,28,31,192,248,28,15,192,248,28,15, + 128,248,28,7,128,248,255,7,7,254,255,3,7,254,25,25, + 100,27,1,0,254,0,255,128,255,0,127,0,31,0,28,0, + 31,128,28,0,31,192,28,0,31,192,28,0,31,224,28,0, + 29,240,28,0,29,248,28,0,28,248,28,0,28,124,28,0, + 28,126,28,0,28,62,28,0,28,31,28,0,28,15,156,0, + 28,15,156,0,28,7,220,0,28,3,252,0,28,3,252,0, + 28,1,252,0,28,0,252,0,28,0,252,0,28,0,124,0, + 127,0,60,0,255,128,12,0,23,25,75,25,1,0,0,126, + 0,3,255,192,7,135,224,14,1,240,30,0,248,60,0,248, + 60,0,124,124,0,124,120,0,126,248,0,62,248,0,62,248, + 0,62,248,0,62,248,0,62,248,0,62,248,0,62,252,0, + 60,124,0,124,124,0,120,62,0,120,62,0,240,31,1,224, + 15,195,192,7,255,0,0,252,0,21,25,75,23,1,0,15, + 254,0,255,255,192,255,7,224,31,3,240,31,1,248,31,0, + 248,31,0,248,31,0,248,31,0,248,31,0,248,31,1,240, + 31,1,240,31,135,224,31,127,128,31,62,0,31,0,0,31, + 0,0,31,0,0,31,0,0,31,0,0,31,0,0,31,0, + 0,31,0,0,127,224,0,255,224,0,27,31,124,25,1,250, + 0,126,0,0,3,255,192,0,7,135,224,0,14,1,240,0, + 30,0,248,0,60,0,248,0,60,0,124,0,124,0,124,0, + 120,0,124,0,248,0,62,0,248,0,62,0,248,0,62,0, + 248,0,62,0,248,0,62,0,248,0,62,0,248,0,62,0, + 252,0,60,0,124,0,124,0,124,0,120,0,62,0,120,0, + 62,0,240,0,31,1,224,0,15,195,192,0,7,255,128,0, + 0,255,0,0,0,7,224,0,0,1,248,96,0,0,255,224, + 0,0,127,192,0,0,31,128,0,0,7,0,23,25,75,24, + 1,0,15,252,0,255,255,128,255,15,192,31,7,192,31,3, + 224,31,3,224,31,3,224,31,3,224,31,3,224,31,7,192, + 31,7,128,31,255,0,31,254,0,31,124,0,31,30,0,31, + 15,0,31,15,0,31,7,128,31,7,192,31,3,224,31,3, + 224,31,1,240,31,1,254,127,192,254,255,224,248,17,25,75, + 21,2,0,3,252,0,31,255,0,60,63,0,112,14,0,240, + 6,0,240,0,0,248,0,0,252,0,0,254,0,0,127,128, + 0,63,224,0,31,248,0,7,254,0,1,255,0,0,127,0, + 0,31,128,0,15,128,0,7,128,192,7,128,192,7,128,224, + 7,0,240,14,0,252,28,0,255,248,0,31,224,0,23,25, + 75,23,0,0,127,255,252,127,255,254,96,124,14,224,124,12, + 192,124,12,192,124,12,192,124,12,0,124,0,0,124,0,0, + 124,0,0,124,0,0,124,0,0,124,0,0,124,0,0,124, + 0,0,124,0,0,124,0,0,124,0,0,124,0,0,124,0, + 0,124,0,0,124,0,0,124,0,3,255,128,3,255,128,25, + 25,100,27,1,0,255,224,255,128,127,224,255,0,31,0,28, + 0,31,0,28,0,31,0,28,0,31,0,28,0,31,0,28, + 0,31,0,28,0,31,0,28,0,31,0,28,0,31,0,28, + 0,31,0,28,0,31,0,28,0,31,0,28,0,31,0,28, + 0,31,0,28,0,31,0,28,0,31,0,28,0,31,0,24, + 0,15,128,56,0,15,128,56,0,7,192,112,0,3,224,224, + 0,1,255,192,0,0,127,0,0,26,25,100,27,0,0,255, + 192,63,192,127,192,63,192,31,0,14,0,31,0,14,0,15, + 128,28,0,15,128,28,0,15,128,28,0,7,192,56,0,7, + 192,56,0,3,224,48,0,3,224,112,0,3,224,112,0,1, + 240,224,0,1,240,224,0,0,240,224,0,0,249,192,0,0, + 249,192,0,0,125,192,0,0,127,128,0,0,63,128,0,0, + 63,0,0,0,63,0,0,0,31,0,0,0,30,0,0,0, + 8,0,0,34,25,125,34,0,0,255,192,224,127,192,127,128, + 224,63,192,30,0,224,14,0,31,1,240,14,0,31,1,240, + 12,0,15,1,248,28,0,15,3,248,28,0,15,131,248,28, + 0,15,131,252,28,0,7,135,60,24,0,7,135,60,56,0, + 7,134,62,56,0,7,206,30,56,0,3,206,31,56,0,3, + 204,15,48,0,3,220,15,112,0,3,252,15,240,0,3,248, + 7,240,0,1,248,7,224,0,1,248,7,224,0,1,240,3, + 224,0,1,240,3,224,0,0,240,1,224,0,0,224,1,192, + 0,0,192,1,128,0,25,25,100,25,0,0,127,225,255,0, + 127,225,255,0,31,128,124,0,15,128,112,0,15,192,240,0, + 7,224,224,0,3,225,192,0,1,243,192,0,1,251,128,0, + 0,255,0,0,0,127,0,0,0,126,0,0,0,62,0,0, + 0,127,0,0,0,127,128,0,0,239,192,0,1,231,192,0, + 1,195,224,0,3,131,240,0,7,129,240,0,7,0,248,0, + 14,0,252,0,30,0,254,0,255,131,255,128,255,131,255,128, + 24,25,75,25,0,0,126,0,255,255,0,255,31,0,56,15, + 128,56,15,192,112,7,192,112,3,224,224,3,224,224,1,241, + 192,1,241,192,0,251,128,0,251,128,0,127,0,0,127,0, + 0,62,0,0,62,0,0,62,0,0,62,0,0,62,0,0, + 62,0,0,62,0,0,62,0,0,62,0,1,255,192,1,255, + 192,19,25,75,22,1,0,63,255,224,63,255,224,120,7,192, + 112,15,192,96,15,128,96,31,128,32,63,0,0,62,0,0, + 126,0,0,124,0,0,252,0,1,248,0,1,240,0,3,240, + 0,3,224,0,7,224,0,15,192,0,15,128,0,31,128,32, + 31,0,96,63,0,96,126,0,96,124,0,224,255,255,224,255, + 255,224,11,37,74,14,2,250,255,224,255,224,248,0,248,0, + 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, + 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, + 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, + 248,0,248,0,248,0,248,0,248,0,248,0,248,0,255,224, + 255,224,17,38,114,19,1,249,192,0,0,240,0,0,112,0, + 0,112,0,0,120,0,0,56,0,0,60,0,0,60,0,0, + 28,0,0,30,0,0,30,0,0,14,0,0,15,0,0,7, + 0,0,7,128,0,7,128,0,3,128,0,3,192,0,3,192, + 0,1,192,0,1,224,0,0,224,0,0,224,0,0,240,0, + 0,112,0,0,120,0,0,120,0,0,56,0,0,60,0,0, + 60,0,0,28,0,0,30,0,0,14,0,0,15,0,0,15, + 0,0,7,0,0,7,128,0,1,128,10,37,74,13,1,250, + 255,192,255,192,3,192,3,192,3,192,3,192,3,192,3,192, + 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, + 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, + 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, + 3,192,3,192,3,192,255,192,255,192,16,19,38,20,2,11, + 0,128,3,128,3,192,3,192,7,224,6,224,14,224,12,112, + 12,112,28,120,24,56,24,56,48,28,48,28,112,28,96,14, + 96,14,224,7,128,6,17,2,6,19,1,251,127,255,128,255, + 255,128,9,10,20,13,0,20,56,0,248,0,252,0,124,0, + 62,0,30,0,15,0,7,0,3,128,1,0,19,18,54,20, + 1,0,1,248,0,15,254,0,62,63,0,124,31,0,124,31, + 0,112,31,0,0,31,0,1,255,0,15,255,0,63,31,0, + 124,31,0,120,31,0,248,31,0,248,31,32,248,127,224,255, + 223,192,127,159,128,62,14,0,20,30,90,21,0,0,6,0, + 0,254,0,0,254,0,0,62,0,0,62,0,0,62,0,0, + 62,0,0,62,0,0,62,0,0,62,0,0,62,0,0,62, + 0,0,62,31,0,62,127,192,63,255,192,63,199,224,63,1, + 224,62,1,240,62,0,240,62,0,240,62,0,240,62,0,240, + 62,0,240,62,0,224,62,1,224,62,1,192,63,131,128,63, + 255,0,15,252,0,1,240,0,16,18,36,18,1,0,1,252, + 7,255,31,31,60,15,60,7,120,6,120,0,248,0,248,0, + 248,0,248,0,248,0,124,0,126,3,63,7,63,254,15,252, + 3,240,21,30,90,22,1,0,0,1,192,0,63,192,0,63, + 192,0,7,192,0,7,192,0,7,192,0,7,192,0,7,192, + 0,7,192,0,7,192,0,7,192,0,7,192,3,247,192,15, + 255,192,30,31,192,60,15,192,124,7,192,120,7,192,248,7, + 192,248,7,192,248,7,192,248,7,192,248,7,192,252,7,192, + 252,15,192,126,31,192,127,255,248,63,247,248,31,231,224,7, + 131,128,17,18,54,19,1,0,1,240,0,15,252,0,30,62, + 0,60,31,0,120,15,0,120,15,128,248,15,128,255,255,128, + 255,254,0,248,0,0,248,0,0,248,0,0,252,0,0,126, + 1,128,127,7,0,63,254,0,31,252,0,7,240,0,17,29, + 87,14,0,0,0,63,0,0,255,128,3,143,0,7,134,0, + 7,0,0,15,0,0,15,0,0,31,0,0,31,0,0,31, + 0,0,31,0,0,127,252,0,255,248,0,31,16,0,31,0, + 0,31,0,0,31,0,0,31,0,0,31,0,0,31,0,0, + 31,0,0,31,0,0,31,0,0,31,0,0,31,0,0,31, + 0,0,31,0,0,127,240,0,255,240,0,21,27,81,22,0, + 247,1,248,24,15,255,248,30,31,240,60,15,128,124,7,192, + 124,7,192,124,7,192,124,7,192,62,7,128,63,15,0,31, + 254,0,3,248,0,7,128,0,15,128,0,31,192,0,31,255, + 0,31,255,224,7,255,240,30,255,248,124,3,248,120,0,248, + 248,0,248,248,0,240,252,1,224,127,3,192,31,255,0,3, + 248,0,22,30,90,23,1,0,6,0,0,254,0,0,254,0, + 0,62,0,0,62,0,0,62,0,0,62,0,0,62,0,0, + 62,0,0,62,0,0,62,0,0,62,0,0,62,15,128,62, + 63,192,62,127,224,62,255,224,63,199,224,63,3,224,62,3, + 224,62,3,224,62,3,224,62,3,224,62,3,224,62,3,224, + 62,3,224,62,3,224,62,3,224,62,3,224,255,143,248,255, + 223,252,10,27,54,12,1,0,30,0,63,0,63,0,63,0, + 30,0,0,0,0,0,0,0,0,0,14,0,254,0,254,0, + 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, + 62,0,62,0,62,0,62,0,62,0,255,128,255,192,15,36, + 72,11,250,247,0,60,0,126,0,126,0,126,0,60,0,0, + 0,0,0,0,0,0,0,28,3,252,3,252,0,124,0,124, + 0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124, + 0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,120, + 0,120,32,240,120,224,255,192,255,128,60,0,21,30,90,22, + 1,0,6,0,0,254,0,0,254,0,0,62,0,0,62,0, + 0,62,0,0,62,0,0,62,0,0,62,0,0,62,0,0, + 62,0,0,62,0,0,62,15,240,62,7,240,62,7,128,62, + 15,0,62,62,0,62,120,0,62,240,0,63,224,0,63,240, + 0,62,248,0,62,124,0,62,62,0,62,31,0,62,31,128, + 62,15,192,62,7,224,255,131,248,255,129,224,10,30,60,12, + 1,0,6,0,254,0,254,0,62,0,62,0,62,0,62,0, + 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, + 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, + 62,0,62,0,62,0,62,0,62,0,255,128,255,192,34,18, + 90,34,0,0,6,15,192,248,0,255,63,227,252,0,255,127, + 255,254,0,31,227,252,126,0,31,129,248,62,0,31,1,240, + 62,0,31,1,240,62,0,31,1,240,62,0,31,1,240,62, + 0,31,1,240,62,0,31,1,240,62,0,31,1,240,62,0, + 31,1,240,62,0,31,1,240,62,0,31,1,240,62,0,31, + 1,240,62,0,127,199,252,255,128,255,199,252,255,192,22,18, + 54,23,1,0,14,15,128,254,63,192,254,255,224,63,255,224, + 63,199,224,63,3,224,62,3,224,62,3,224,62,3,224,62, + 3,224,62,3,224,62,3,224,62,3,224,62,3,224,62,3, + 224,62,3,224,255,143,248,255,223,252,19,18,54,21,1,0, + 1,248,0,7,254,0,30,31,128,60,15,128,124,7,192,120, + 7,192,248,3,224,248,3,224,248,3,224,248,3,224,248,3, + 224,248,3,192,124,3,192,124,7,128,62,7,128,63,15,0, + 15,252,0,3,240,0,20,27,81,22,1,247,14,31,0,254, + 127,128,254,255,192,63,135,224,63,3,224,62,1,240,62,0, + 240,62,0,240,62,0,240,62,0,240,62,0,240,62,0,224, + 62,0,224,62,1,192,63,195,192,63,255,128,62,255,0,62, + 60,0,62,0,0,62,0,0,62,0,0,62,0,0,62,0, + 0,62,0,0,62,0,0,255,192,0,255,192,0,21,27,81, + 22,1,247,1,240,64,7,252,224,14,31,192,60,15,192,60, + 7,192,120,7,192,248,7,192,248,7,192,248,7,192,248,7, + 192,248,7,192,252,7,192,252,15,192,126,31,192,127,255,192, + 63,247,192,31,231,192,7,135,192,0,7,192,0,7,192,0, + 7,192,0,7,192,0,7,192,0,7,192,0,7,192,0,63, + 240,0,63,248,16,18,36,18,1,0,14,30,254,127,254,255, + 63,255,63,207,31,135,31,6,30,6,30,0,30,0,30,0, + 30,0,30,0,30,0,30,0,62,0,255,192,255,224,14,18, + 36,17,2,0,15,192,63,248,120,248,240,112,240,48,248,48, + 254,0,127,128,63,224,15,248,3,248,192,252,192,124,224,60, + 224,60,248,120,255,240,63,192,15,25,50,15,0,0,3,0, + 7,0,15,0,31,0,31,0,31,0,31,0,127,254,255,252, + 31,8,31,0,31,0,31,0,31,0,31,0,31,0,31,0, + 31,0,31,0,31,0,31,140,31,254,31,248,15,224,7,128, + 22,18,54,23,1,0,14,0,224,254,31,224,126,7,224,62, + 3,224,62,3,224,62,3,224,62,3,224,62,3,224,62,3, + 224,62,3,224,62,3,224,62,3,224,62,3,224,62,7,224, + 63,31,252,31,251,252,31,243,240,15,193,192,20,18,54,20, + 0,0,255,131,240,127,3,240,62,1,192,31,1,192,31,1, + 128,15,3,128,15,131,0,15,135,0,7,199,0,7,206,0, + 3,238,0,3,236,0,1,252,0,1,252,0,0,248,0,0, + 248,0,0,240,0,0,96,0,28,18,72,29,0,0,255,131, + 3,240,127,3,129,240,62,3,128,192,30,7,193,192,31,7, + 193,192,31,15,193,192,15,15,227,128,15,157,227,128,15,157, + 243,128,7,153,243,0,7,248,255,0,7,240,255,0,3,240, + 126,0,3,240,126,0,3,224,62,0,1,224,60,0,1,192, + 28,0,1,128,24,0,21,18,54,21,0,0,255,199,240,255, + 199,240,63,131,192,15,131,128,15,199,0,7,238,0,3,252, + 0,1,248,0,1,248,0,0,252,0,1,254,0,3,190,0, + 7,31,0,6,31,128,12,15,192,28,7,224,127,31,248,255, + 31,248,21,27,81,20,255,247,127,193,248,63,129,248,31,0, + 224,15,128,224,15,129,192,7,193,192,7,193,128,7,195,128, + 3,227,128,3,231,0,1,247,0,1,246,0,0,254,0,0, + 254,0,0,252,0,0,124,0,0,120,0,0,56,0,0,56, + 0,0,112,0,0,112,0,0,224,0,33,224,0,127,192,0, + 127,128,0,255,0,0,124,0,0,16,18,36,19,1,0,63, + 255,63,255,112,62,112,126,96,124,96,248,1,248,1,240,3, + 224,7,224,7,192,15,128,31,129,31,3,62,3,124,3,127, + 255,255,255,11,37,74,14,2,250,0,96,1,224,3,192,7, + 128,15,0,31,0,31,0,31,0,31,0,31,0,31,128,15, + 128,15,128,15,128,15,128,15,0,31,0,62,0,252,0,255, + 0,31,0,15,128,15,128,15,128,15,128,15,128,31,128,31, + 0,31,0,31,0,31,0,31,0,15,0,15,128,7,192,1, + 224,0,96,3,41,41,9,3,248,96,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,192,11,37,74,14,1,250,192,0,240,0,124,0,62,0, + 30,0,31,0,31,0,31,0,31,0,31,0,63,0,62,0, + 62,0,62,0,62,0,62,0,31,0,31,224,7,224,15,128, + 31,0,30,0,62,0,62,0,62,0,62,0,63,0,31,0, + 31,0,31,0,31,0,31,0,30,0,60,0,120,0,240,0, + 192,0,18,6,18,20,1,9,15,0,192,31,192,128,63,225, + 0,99,255,0,192,254,0,128,56,0,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,255,255,255,255,255,255,255,0,0,0,10,0, + 0,6,29,29,12,3,245,120,252,252,252,248,112,0,16,48, + 56,56,120,120,120,120,120,120,120,120,120,120,120,124,124,252, + 252,252,248,192,16,25,50,20,2,255,0,192,1,192,1,192, + 1,248,7,255,31,255,61,223,121,198,121,198,113,192,241,192, + 241,192,241,192,241,192,241,192,241,192,121,195,125,199,63,206, + 31,252,15,248,3,192,1,192,1,192,1,128,19,25,75,20, + 1,255,0,127,0,1,255,192,3,199,192,7,131,192,7,1, + 192,15,1,128,15,1,128,31,0,0,31,0,0,31,0,0, + 31,0,0,31,0,0,127,252,0,255,248,0,31,0,0,31, + 0,0,31,0,0,31,0,0,30,0,96,30,0,192,30,0, + 192,63,255,192,127,255,192,255,255,192,64,31,128,17,16,48, + 20,1,4,64,0,128,224,1,128,115,243,128,63,255,0,30, + 30,0,28,14,0,56,7,0,56,7,0,56,7,0,56,7, + 0,56,7,0,28,14,0,62,31,0,127,255,128,243,243,128, + 96,1,128,22,24,72,20,254,0,254,3,252,255,3,252,31, + 0,240,31,128,224,15,193,192,7,193,192,7,227,128,3,227, + 128,3,247,128,1,247,0,0,255,0,0,254,0,0,254,0, + 0,124,0,31,255,240,31,255,224,0,124,0,0,124,0,0, + 124,0,0,124,0,0,124,0,0,124,0,3,255,128,3,255, + 128,3,41,41,9,3,248,96,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,128,0,0,0,64,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,192, + 16,28,56,20,2,0,7,224,31,252,60,124,120,56,120,24, + 124,24,127,0,63,192,63,240,127,248,243,252,240,254,240,63, + 240,31,248,15,126,15,127,15,63,206,15,254,3,252,0,254, + 48,126,48,62,48,30,56,30,60,60,63,248,15,224,14,6, + 12,16,1,21,112,56,120,60,248,124,248,124,240,120,112,56, + 27,26,104,30,1,0,0,63,128,0,1,255,240,0,7,192, + 124,0,15,0,30,0,30,0,15,0,60,31,135,128,56,127, + 227,128,112,225,193,192,113,193,193,192,225,192,193,224,227,128, + 128,224,227,128,0,224,227,128,0,224,227,128,0,224,227,128, + 0,224,227,128,0,224,225,192,1,224,113,224,33,192,112,240, + 113,192,56,127,227,128,60,31,7,128,30,0,15,0,15,0, + 30,0,7,192,124,0,1,255,240,0,0,63,128,0,9,14, + 28,11,1,11,30,0,62,0,103,0,231,0,7,0,63,0, + 103,0,231,0,231,0,255,128,119,0,0,0,255,128,255,128, + 17,18,54,21,1,0,0,128,128,1,129,128,3,3,0,7, + 7,0,14,14,0,30,30,0,60,60,0,124,124,0,248,248, + 0,252,248,0,124,124,0,60,60,0,30,30,0,14,14,0, + 7,7,0,3,3,0,1,129,128,0,128,128,17,9,27,20, + 2,3,255,255,128,255,255,128,0,3,128,0,3,128,0,3, + 128,0,3,128,0,3,128,0,3,128,0,3,0,12,2,4, + 14,1,9,127,240,255,240,13,15,30,14,1,14,15,128,31, + 192,48,96,96,48,95,16,137,136,137,136,143,136,139,8,137, + 8,73,144,124,240,48,96,31,192,15,128,16,3,6,20,2, + 23,255,255,255,255,255,254,10,10,20,14,2,15,15,0,63, + 128,115,192,97,192,225,192,225,192,225,128,243,128,127,0,60, + 0,15,18,36,16,1,3,1,128,3,128,3,128,3,128,3, + 128,3,128,127,254,255,252,3,128,3,128,3,128,3,128,3, + 128,3,0,0,0,0,0,127,254,255,252,11,15,30,13,1, + 12,7,192,31,224,56,224,120,224,112,224,0,192,1,192,3, + 128,3,0,6,0,12,0,24,32,48,96,127,224,255,224,11, + 15,30,13,0,12,7,128,31,224,56,224,56,224,32,224,1, + 192,3,128,7,192,0,224,0,224,0,224,128,224,225,192,127, + 192,31,0,9,10,20,13,4,20,14,0,31,128,31,128,63, + 0,62,0,60,0,120,0,112,0,224,0,64,0,22,27,81, + 23,1,247,14,0,96,254,7,224,254,3,224,62,3,224,62, + 3,224,62,3,224,62,3,224,62,3,224,62,3,224,62,3, + 224,62,3,224,62,3,224,63,7,224,63,143,224,63,255,228, + 63,251,252,59,241,248,57,225,224,56,0,0,56,0,0,60, + 0,0,60,0,0,60,0,0,62,0,0,63,0,0,62,0, + 0,48,0,0,22,30,90,24,1,251,3,255,252,31,255,252, + 63,29,240,124,28,224,124,28,224,248,28,224,248,28,224,248, + 28,224,248,28,224,248,28,224,124,28,224,126,28,224,63,28, + 224,31,252,224,3,252,224,0,28,224,0,28,224,0,28,224, + 0,28,224,0,28,224,0,28,224,0,28,224,0,28,224,0, + 28,224,0,28,224,0,28,224,0,28,224,0,28,224,0,127, + 248,0,255,252,6,6,6,8,1,11,56,124,252,252,252,120, + 8,9,9,9,1,247,24,56,60,63,127,31,30,252,224,10, + 15,30,14,2,12,6,0,62,0,254,0,14,0,14,0,14, + 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,63, + 0,255,192,9,14,28,11,1,11,30,0,63,0,119,0,227, + 128,227,128,227,128,227,128,227,128,119,0,126,0,60,0,0, + 0,255,128,255,128,17,18,54,21,2,0,64,64,0,224,224, + 0,112,112,0,56,56,0,60,60,0,30,30,0,31,31,0, + 15,143,128,15,143,128,15,143,128,15,143,128,31,31,0,30, + 30,0,60,60,0,56,56,0,112,112,0,96,96,0,192,192, + 0,22,24,72,25,2,0,12,0,24,252,0,56,28,0,112, + 28,0,224,28,1,192,28,1,192,28,3,128,28,7,0,28, + 6,0,28,14,0,62,28,0,255,184,0,0,56,112,0,112, + 240,0,225,240,1,193,112,1,195,112,3,134,112,7,4,112, + 14,15,252,14,31,248,28,0,112,56,0,112,112,1,252,21, + 24,72,25,2,0,12,0,56,252,0,112,28,0,112,28,0, + 224,28,1,192,28,3,128,28,3,128,28,7,0,28,14,0, + 28,28,0,62,28,0,255,184,0,0,113,240,0,227,248,0, + 230,56,1,206,56,3,128,48,7,0,96,7,0,224,14,0, + 192,28,1,136,60,7,8,56,15,248,112,15,248,23,24,72, + 25,1,0,31,0,12,63,128,28,115,128,56,227,128,112,7, + 0,224,31,0,224,3,129,192,3,131,128,3,131,0,135,135, + 0,255,14,0,60,28,0,0,28,56,0,56,120,0,112,248, + 0,224,184,0,225,184,1,195,56,3,130,56,7,7,254,7, + 15,252,14,0,56,28,0,56,56,0,254,16,29,58,18,1, + 245,3,192,7,224,7,224,7,224,7,192,3,128,0,0,0, + 0,1,192,1,192,1,192,1,192,3,192,3,128,7,128,15, + 0,31,0,62,0,60,0,124,0,248,0,248,7,248,31,248, + 31,248,31,252,30,126,60,63,248,15,224,25,34,136,25,0, + 0,0,192,0,0,3,224,0,0,3,240,0,0,3,248,0, + 0,0,252,0,0,0,62,0,0,0,15,0,0,0,2,0, + 0,0,0,0,0,0,4,0,0,0,30,0,0,0,62,0, + 0,0,126,0,0,0,127,0,0,0,111,0,0,0,239,128, + 0,0,239,128,0,0,199,128,0,1,199,192,0,1,199,192, + 0,1,131,192,0,3,131,224,0,3,131,224,0,3,255,224, + 0,7,255,240,0,7,0,240,0,6,0,248,0,14,0,248, + 0,14,0,120,0,12,0,124,0,28,0,124,0,28,0,124, + 0,255,129,255,0,255,129,255,128,25,34,136,25,0,0,0, + 1,128,0,0,3,192,0,0,7,224,0,0,15,192,0,0, + 31,0,0,0,124,0,0,0,240,0,0,0,64,0,0,0, + 0,0,0,0,4,0,0,0,30,0,0,0,62,0,0,0, + 126,0,0,0,127,0,0,0,111,0,0,0,239,128,0,0, + 239,128,0,0,199,128,0,1,199,192,0,1,199,192,0,1, + 131,192,0,3,131,224,0,3,131,224,0,3,255,224,0,7, + 255,240,0,7,0,240,0,6,0,248,0,14,0,248,0,14, + 0,120,0,12,0,124,0,28,0,124,0,28,0,124,0,255, + 129,255,0,255,129,255,128,25,34,136,25,0,0,0,28,0, + 0,0,62,0,0,0,127,0,0,0,255,128,0,1,255,128, + 0,1,227,192,0,3,128,224,0,2,0,64,0,0,0,0, + 0,0,4,0,0,0,30,0,0,0,62,0,0,0,126,0, + 0,0,127,0,0,0,111,0,0,0,239,128,0,0,239,128, + 0,0,199,128,0,1,199,192,0,1,199,192,0,1,131,192, + 0,3,131,224,0,3,131,224,0,3,255,224,0,7,255,240, + 0,7,0,240,0,6,0,248,0,14,0,248,0,14,0,120, + 0,12,0,124,0,28,0,124,0,28,0,124,0,255,129,255, + 0,255,129,255,128,25,33,132,25,0,0,0,248,48,0,1, + 254,240,0,3,255,224,0,3,255,192,0,6,31,128,0,6, + 3,0,0,4,0,0,0,0,0,0,0,0,4,0,0,0, + 30,0,0,0,62,0,0,0,126,0,0,0,127,0,0,0, + 111,0,0,0,239,128,0,0,239,128,0,0,199,128,0,1, + 199,192,0,1,199,192,0,1,131,192,0,3,131,224,0,3, + 131,224,0,3,255,224,0,7,255,240,0,7,0,240,0,6, + 0,248,0,14,0,248,0,14,0,120,0,12,0,124,0,28, + 0,124,0,28,0,124,0,255,129,255,0,255,129,255,128,25, + 32,128,25,0,0,1,192,224,0,3,193,224,0,7,195,224, + 0,7,195,224,0,3,193,224,0,1,129,192,0,0,0,0, + 0,0,4,0,0,0,30,0,0,0,62,0,0,0,126,0, + 0,0,127,0,0,0,111,0,0,0,239,128,0,0,239,128, + 0,0,199,128,0,1,199,192,0,1,199,192,0,1,131,192, + 0,3,131,224,0,3,131,224,0,3,255,224,0,7,255,240, + 0,7,0,240,0,6,0,248,0,14,0,248,0,14,0,120, + 0,12,0,124,0,28,0,124,0,28,0,124,0,255,129,255, + 0,255,129,255,128,25,34,136,25,0,0,0,30,0,0,0, + 127,0,0,0,119,0,0,0,103,0,0,0,231,0,0,0, + 119,0,0,0,126,0,0,0,56,0,0,0,0,0,0,0, + 4,0,0,0,30,0,0,0,62,0,0,0,126,0,0,0, + 127,0,0,0,111,0,0,0,239,128,0,0,239,128,0,0, + 199,128,0,1,199,192,0,1,199,192,0,1,131,192,0,3, + 131,224,0,3,131,224,0,3,255,224,0,7,255,240,0,7, + 0,240,0,6,0,248,0,14,0,248,0,14,0,120,0,12, + 0,124,0,28,0,124,0,28,0,124,0,255,129,255,0,255, + 129,255,128,32,25,100,32,0,0,0,255,255,252,0,255,255, + 252,0,31,240,28,0,61,240,12,0,61,240,12,0,57,240, + 12,0,121,240,12,0,113,240,0,0,241,240,0,0,225,240, + 0,0,225,240,0,1,255,255,240,1,255,255,240,3,193,240, + 32,3,129,240,0,3,129,240,0,7,129,240,0,7,1,240, + 0,15,1,240,0,14,1,240,3,14,1,240,3,30,1,240, + 6,28,1,240,14,255,7,255,254,255,15,255,254,20,34,102, + 22,1,247,0,127,128,3,255,240,7,135,224,15,1,224,30, + 0,192,60,0,64,60,0,0,124,0,0,120,0,0,120,0, + 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, + 248,0,0,248,0,0,252,0,0,124,0,0,126,0,0,127, + 0,96,63,129,224,31,255,192,15,255,0,7,254,0,1,240, + 0,0,224,0,0,248,0,0,252,0,1,252,0,0,124,0, + 0,120,0,1,240,0,1,192,0,19,34,102,21,1,0,6, + 0,0,31,0,0,31,128,0,31,192,0,7,224,0,1,240, + 0,0,120,0,0,16,0,0,0,0,255,255,192,255,255,192, + 62,1,192,30,1,192,30,1,128,30,1,128,30,0,128,30, + 0,0,30,0,0,30,0,0,30,0,0,31,255,0,31,254, + 0,30,6,0,30,0,0,30,0,0,30,0,0,30,0,0, + 30,0,0,30,0,96,30,0,96,30,0,224,63,1,224,255, + 255,224,255,255,192,19,34,102,21,1,0,0,12,0,0,31, + 0,0,63,0,0,126,0,0,248,0,1,224,0,3,128,0, + 2,0,0,0,0,0,255,255,192,255,255,192,62,1,192,30, + 1,192,30,1,128,30,1,128,30,0,128,30,0,0,30,0, + 0,30,0,0,30,0,0,31,255,0,31,254,0,30,6,0, + 30,0,0,30,0,0,30,0,0,30,0,0,30,0,0,30, + 0,96,30,0,96,30,0,224,63,1,224,255,255,224,255,255, + 192,19,34,102,21,1,0,0,224,0,1,240,0,3,248,0, + 7,252,0,15,252,0,15,30,0,28,7,0,16,2,0,0, + 0,0,255,255,192,255,255,192,62,1,192,30,1,192,30,1, + 128,30,1,128,30,0,128,30,0,0,30,0,0,30,0,0, + 30,0,0,31,255,0,31,254,0,30,6,0,30,0,0,30, + 0,0,30,0,0,30,0,0,30,0,0,30,0,96,30,0, + 96,30,0,224,63,1,224,255,255,224,255,255,192,19,32,96, + 21,1,0,14,7,0,30,15,0,31,15,128,30,15,0,30, + 15,0,12,6,0,0,0,0,255,255,192,255,255,192,62,1, + 192,30,1,192,30,1,128,30,1,128,30,0,128,30,0,0, + 30,0,0,30,0,0,30,0,0,31,255,0,31,254,0,30, + 6,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, + 0,30,0,96,30,0,96,30,0,224,63,1,224,255,255,224, + 255,255,192,12,34,68,13,0,0,48,0,248,0,252,0,254, + 0,63,0,15,128,3,192,0,128,0,0,127,240,63,240,15, + 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, + 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, + 128,15,128,15,128,15,128,15,128,63,224,127,240,12,34,68, + 13,1,0,0,192,1,224,3,240,7,224,31,128,62,0,120, + 0,32,0,0,0,255,224,127,224,31,0,31,0,31,0,31, + 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, + 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, + 0,31,0,127,192,255,224,13,34,68,13,0,0,7,0,15, + 128,31,192,63,224,127,224,248,240,224,56,128,16,0,0,127, + 240,63,240,15,128,15,128,15,128,15,128,15,128,15,128,15, + 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, + 128,15,128,15,128,15,128,15,128,15,128,15,128,63,224,127, + 240,14,32,64,13,255,0,56,28,120,60,248,124,248,124,120, + 60,112,56,0,0,63,248,31,248,7,192,7,192,7,192,7, + 192,7,192,7,192,7,192,7,192,7,192,7,192,7,192,7, + 192,7,192,7,192,7,192,7,192,7,192,7,192,7,192,7, + 192,7,192,31,240,63,248,22,25,75,25,1,0,15,252,0, + 255,255,128,255,15,192,31,3,224,31,1,240,31,1,248,31, + 0,248,31,0,248,31,0,124,31,0,124,31,0,124,255,248, + 124,255,248,124,31,0,124,31,0,124,31,0,124,31,0,120, + 31,0,248,31,0,248,31,1,240,31,1,240,31,3,224,31, + 7,192,127,255,128,255,252,0,25,33,132,27,1,0,0,240, + 48,0,1,254,224,0,3,255,224,0,3,255,192,0,6,31, + 128,0,6,3,0,0,4,0,0,0,0,0,0,0,254,0, + 255,128,255,0,127,0,31,0,28,0,31,128,28,0,31,192, + 28,0,31,192,28,0,31,224,28,0,29,240,28,0,29,248, + 28,0,28,248,28,0,28,124,28,0,28,126,28,0,28,62, + 28,0,28,31,28,0,28,15,156,0,28,15,156,0,28,7, + 220,0,28,3,252,0,28,3,252,0,28,1,252,0,28,0, + 252,0,28,0,252,0,28,0,124,0,127,0,60,0,255,128, + 12,0,23,34,102,25,1,0,1,128,0,7,192,0,7,224, + 0,7,240,0,1,248,0,0,124,0,0,30,0,0,4,0, + 0,0,0,0,126,0,3,255,192,7,135,224,14,1,240,30, + 0,248,60,0,248,60,0,124,124,0,124,120,0,126,248,0, + 62,248,0,62,248,0,62,248,0,62,248,0,62,248,0,62, + 248,0,62,252,0,60,124,0,124,124,0,120,62,0,120,62, + 0,240,31,1,224,15,195,192,7,255,0,0,252,0,23,34, + 102,25,1,0,0,3,0,0,7,192,0,15,192,0,31,128, + 0,62,0,0,120,0,0,224,0,0,128,0,0,0,0,0, + 126,0,3,255,192,7,135,224,14,1,240,30,0,248,60,0, + 248,60,0,124,124,0,124,120,0,126,248,0,62,248,0,62, + 248,0,62,248,0,62,248,0,62,248,0,62,248,0,62,252, + 0,60,124,0,124,124,0,120,62,0,120,62,0,240,31,1, + 224,15,195,192,7,255,0,0,252,0,23,34,102,25,1,0, + 0,56,0,0,124,0,0,254,0,1,255,0,3,255,0,3, + 199,128,7,1,192,4,0,128,0,0,0,0,126,0,3,255, + 192,7,135,224,14,1,240,30,0,248,60,0,248,60,0,124, + 124,0,124,120,0,126,248,0,62,248,0,62,248,0,62,248, + 0,62,248,0,62,248,0,62,248,0,62,252,0,60,124,0, + 124,124,0,120,62,0,120,62,0,240,31,1,224,15,195,192, + 7,255,0,0,252,0,23,33,99,25,1,0,1,240,96,3, + 252,224,7,255,192,7,255,128,14,63,128,12,6,0,8,0, + 0,0,0,0,0,126,0,3,255,192,7,135,224,14,1,240, + 30,0,248,60,0,248,60,0,124,124,0,124,120,0,126,248, + 0,62,248,0,62,248,0,62,248,0,62,248,0,62,248,0, + 62,248,0,62,252,0,60,124,0,124,124,0,120,62,0,120, + 62,0,240,31,1,224,15,195,192,7,255,0,0,252,0,23, + 32,96,25,1,0,3,129,192,7,131,192,7,195,224,7,131, + 192,7,131,192,3,1,128,0,0,0,0,126,0,3,255,192, + 7,135,224,14,1,240,30,0,248,60,0,248,60,0,124,124, + 0,124,120,0,126,248,0,62,248,0,62,248,0,62,248,0, + 62,248,0,62,248,0,62,248,0,62,252,0,60,124,0,124, + 124,0,120,62,0,120,62,0,240,31,1,224,15,195,192,7, + 255,0,0,252,0,13,12,24,17,2,5,96,48,240,120,120, + 240,61,224,31,192,15,128,15,128,31,192,57,224,120,240,240, + 120,96,48,23,26,78,25,1,255,0,126,30,3,255,252,7, + 135,248,14,3,240,30,1,248,60,1,252,60,3,252,124,7, + 252,120,15,254,248,15,126,248,30,62,248,62,62,248,60,62, + 248,120,62,248,240,62,248,240,62,253,224,60,127,192,124,127, + 128,120,127,128,120,63,0,240,31,129,224,63,195,192,127,255, + 0,240,252,0,192,0,0,25,34,136,27,1,0,0,192,0, + 0,3,224,0,0,3,240,0,0,3,248,0,0,0,252,0, + 0,0,30,0,0,0,7,0,0,0,2,0,0,0,0,0, + 0,255,224,255,128,127,224,255,0,31,0,28,0,31,0,28, + 0,31,0,28,0,31,0,28,0,31,0,28,0,31,0,28, + 0,31,0,28,0,31,0,28,0,31,0,28,0,31,0,28, + 0,31,0,28,0,31,0,28,0,31,0,28,0,31,0,28, + 0,31,0,28,0,31,0,28,0,31,0,24,0,15,128,56, + 0,15,128,56,0,7,192,112,0,3,224,224,0,1,255,192, + 0,0,127,0,0,25,34,136,27,1,0,0,1,128,0,0, + 3,224,0,0,7,224,0,0,15,192,0,0,31,0,0,0, + 60,0,0,0,112,0,0,0,64,0,0,0,0,0,0,255, + 224,255,128,127,224,255,0,31,0,28,0,31,0,28,0,31, + 0,28,0,31,0,28,0,31,0,28,0,31,0,28,0,31, + 0,28,0,31,0,28,0,31,0,28,0,31,0,28,0,31, + 0,28,0,31,0,28,0,31,0,28,0,31,0,28,0,31, + 0,28,0,31,0,28,0,31,0,24,0,15,128,56,0,15, + 128,56,0,7,192,112,0,3,224,224,0,1,255,192,0,0, + 127,0,0,25,34,136,27,1,0,0,28,0,0,0,62,0, + 0,0,127,0,0,0,255,128,0,1,255,192,0,1,227,192, + 0,3,128,224,0,2,0,64,0,0,0,0,0,255,224,255, + 128,127,224,255,0,31,0,28,0,31,0,28,0,31,0,28, + 0,31,0,28,0,31,0,28,0,31,0,28,0,31,0,28, + 0,31,0,28,0,31,0,28,0,31,0,28,0,31,0,28, + 0,31,0,28,0,31,0,28,0,31,0,28,0,31,0,28, + 0,31,0,28,0,31,0,24,0,15,128,56,0,15,128,56, + 0,7,192,112,0,3,224,224,0,1,255,192,0,0,127,0, + 0,25,32,128,27,1,0,1,192,224,0,3,225,240,0,3, + 225,240,0,3,193,224,0,3,193,224,0,1,128,192,0,0, + 0,0,0,255,224,255,128,127,224,255,0,31,0,28,0,31, + 0,28,0,31,0,28,0,31,0,28,0,31,0,28,0,31, + 0,28,0,31,0,28,0,31,0,28,0,31,0,28,0,31, + 0,28,0,31,0,28,0,31,0,28,0,31,0,28,0,31, + 0,28,0,31,0,28,0,31,0,28,0,31,0,24,0,15, + 128,56,0,15,128,56,0,7,192,112,0,3,224,224,0,1, + 255,192,0,0,127,0,0,24,34,102,25,0,0,0,1,128, + 0,3,192,0,7,224,0,31,192,0,63,0,0,124,0,0, + 240,0,0,64,0,0,0,0,126,0,255,255,0,255,31,0, + 56,15,128,56,15,192,112,7,192,112,3,224,224,3,224,224, + 1,241,192,1,241,192,0,251,128,0,251,128,0,127,0,0, + 127,0,0,62,0,0,62,0,0,62,0,0,62,0,0,62, + 0,0,62,0,0,62,0,0,62,0,0,62,0,1,255,192, + 1,255,192,21,25,75,23,1,0,255,224,0,127,224,0,31, + 0,0,31,0,0,31,0,0,31,254,0,31,255,192,31,7, + 224,31,3,240,31,1,248,31,0,248,31,0,248,31,0,248, + 31,0,248,31,0,248,31,1,240,31,1,240,31,135,224,31, + 127,128,31,62,0,31,0,0,31,0,0,31,0,0,127,224, + 0,255,224,0,23,30,90,25,0,0,0,31,128,0,255,224, + 1,195,240,3,128,248,7,128,248,15,0,124,15,0,124,15, + 0,124,31,0,124,31,0,248,31,1,248,31,7,240,31,15, + 128,31,31,0,31,30,0,31,30,0,31,31,0,31,31,128, + 31,15,224,31,7,248,31,3,252,31,0,252,31,0,126,31, + 48,62,31,48,30,31,48,30,31,56,28,31,60,60,127,63, + 248,255,15,224,19,30,90,20,1,0,7,0,0,31,128,0, + 15,128,0,15,192,0,7,192,0,3,224,0,1,224,0,0, + 224,0,0,112,0,0,48,0,0,0,0,0,0,0,1,248, + 0,15,254,0,62,63,0,124,31,0,124,31,0,112,31,0, + 0,31,0,1,255,0,15,255,0,63,31,0,124,31,0,120, + 31,0,248,31,0,248,31,32,248,127,224,255,223,192,127,159, + 128,62,14,0,19,30,90,20,1,0,0,56,0,0,62,0, + 0,126,0,0,124,0,0,248,0,0,240,0,1,224,0,1, + 192,0,3,128,0,1,0,0,0,0,0,0,0,0,1,248, + 0,15,254,0,62,63,0,124,31,0,124,31,0,112,31,0, + 0,31,0,1,255,0,15,255,0,63,31,0,124,31,0,120, + 31,0,248,31,0,248,31,32,248,127,224,255,223,192,127,159, + 128,62,14,0,19,29,87,20,1,0,1,224,0,1,224,0, + 3,240,0,7,248,0,7,252,0,15,60,0,30,30,0,56, + 7,0,16,2,0,0,0,0,0,0,0,1,248,0,15,254, + 0,62,63,0,124,31,0,124,31,0,112,31,0,0,31,0, + 1,255,0,15,255,0,63,31,0,124,31,0,120,31,0,248, + 31,0,248,31,32,248,127,224,255,223,192,127,159,128,62,14, + 0,19,27,81,20,1,0,7,129,128,15,227,0,31,255,0, + 63,254,0,49,252,0,96,56,0,0,0,0,0,0,0,0, + 0,0,1,248,0,15,254,0,62,63,0,124,31,0,124,31, + 0,112,31,0,0,31,0,1,255,0,15,255,0,63,31,0, + 124,31,0,120,31,0,248,31,0,248,31,32,248,127,224,255, + 223,192,127,159,128,62,14,0,19,27,81,20,1,0,12,6, + 0,30,15,0,62,31,0,62,31,0,62,31,0,28,14,0, + 0,0,0,0,0,0,0,0,0,1,248,0,15,254,0,62, + 63,0,124,31,0,124,31,0,112,31,0,0,31,0,1,255, + 0,15,255,0,63,31,0,124,31,0,120,31,0,248,31,0, + 248,31,32,248,127,224,255,223,192,127,159,128,62,14,0,19, + 28,84,20,1,0,0,240,0,3,248,0,3,184,0,7,56, + 0,7,56,0,7,56,0,3,240,0,1,224,0,0,0,0, + 0,0,0,1,248,0,15,254,0,62,63,0,124,31,0,124, + 31,0,112,31,0,0,31,0,1,255,0,15,255,0,63,31, + 0,124,31,0,120,31,0,248,31,0,248,31,32,248,127,224, + 255,223,192,127,159,128,62,14,0,27,18,72,29,1,0,0, + 252,62,0,7,254,255,128,15,191,199,128,30,15,131,192,62, + 15,129,192,124,15,1,224,0,15,1,224,0,255,255,224,15, + 255,255,192,31,15,0,0,124,15,0,0,120,15,0,0,248, + 15,128,0,248,31,128,96,252,127,225,224,255,227,255,192,127, + 193,255,0,63,0,124,0,17,27,81,18,1,247,1,252,0, + 7,255,0,31,31,0,60,15,0,60,7,0,120,6,0,120, + 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, + 0,252,0,0,126,1,0,127,7,128,63,254,0,31,252,0, + 7,240,0,1,192,0,1,192,0,1,240,0,3,248,0,0, + 248,0,0,248,0,1,240,0,3,224,0,7,0,0,17,30, + 90,19,1,0,3,128,0,15,128,0,31,192,0,7,192,0, + 3,192,0,1,224,0,0,224,0,0,112,0,0,48,0,0, + 56,0,0,0,0,0,0,0,1,240,0,15,252,0,30,62, + 0,60,31,0,120,15,0,120,15,128,248,15,128,255,255,128, + 255,254,0,248,0,0,248,0,0,248,0,0,252,0,0,126, + 1,128,127,7,0,63,254,0,31,252,0,7,240,0,17,30, + 90,19,1,0,0,60,0,0,63,0,0,62,0,0,124,0, + 0,120,0,0,240,0,0,240,0,1,224,0,1,192,0,1, + 128,0,0,0,0,0,0,0,1,240,0,15,252,0,30,62, + 0,60,31,0,120,15,0,120,15,128,248,15,128,255,255,128, + 255,254,0,248,0,0,248,0,0,248,0,0,252,0,0,126, + 1,128,127,7,0,63,254,0,31,252,0,7,240,0,17,29, + 87,19,1,0,0,224,0,1,240,0,3,248,0,3,248,0, + 7,252,0,15,30,0,14,14,0,28,7,0,24,3,0,0, + 0,0,0,0,0,1,240,0,15,252,0,30,62,0,60,31, + 0,120,15,0,120,15,128,248,15,128,255,255,128,255,254,0, + 248,0,0,248,0,0,248,0,0,252,0,0,126,1,128,127, + 7,0,63,254,0,31,252,0,7,240,0,17,27,81,19,1, + 0,14,7,0,30,15,0,31,15,128,30,15,0,30,15,0, + 28,14,0,0,0,0,0,0,0,0,0,0,1,240,0,15, + 252,0,30,62,0,60,31,0,120,15,0,120,15,128,248,15, + 128,255,255,128,255,254,0,248,0,0,248,0,0,248,0,0, + 252,0,0,126,1,128,127,7,0,63,254,0,31,252,0,7, + 240,0,11,30,60,12,0,0,56,0,252,0,124,0,62,0, + 62,0,31,0,15,0,7,128,3,128,1,128,0,0,0,0, + 7,0,127,0,127,0,31,0,31,0,31,0,31,0,31,0, + 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, + 127,192,127,224,11,30,60,12,1,0,3,128,3,224,7,224, + 7,192,15,128,15,0,30,0,28,0,24,0,48,0,0,0, + 0,0,14,0,254,0,254,0,62,0,62,0,62,0,62,0, + 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, + 62,0,255,128,255,192,14,29,58,12,255,0,7,128,7,192, + 15,192,31,224,31,240,60,240,120,120,112,28,192,8,0,0, + 0,0,3,128,63,128,63,128,15,128,15,128,15,128,15,128, + 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, + 15,128,63,224,63,240,14,27,54,12,255,0,48,24,120,60, + 248,124,248,124,248,124,112,56,0,0,0,0,0,0,3,128, + 63,128,63,128,15,128,15,128,15,128,15,128,15,128,15,128, + 15,128,15,128,15,128,15,128,15,128,15,128,15,128,63,224, + 63,240,18,29,87,20,1,0,3,0,0,31,192,0,63,231, + 192,3,255,0,0,252,0,3,252,0,15,252,0,30,30,0, + 0,31,0,0,15,0,0,15,128,3,231,128,15,255,128,30, + 63,192,60,31,192,124,15,192,120,7,192,248,7,192,248,7, + 192,248,7,192,248,7,192,248,7,128,248,7,128,124,15,128, + 124,15,0,126,14,0,63,28,0,15,248,0,3,224,0,22, + 27,81,23,1,0,1,192,64,3,248,224,7,255,192,15,255, + 128,12,127,0,24,30,0,0,0,0,0,0,0,0,0,0, + 14,15,128,254,63,192,254,255,224,63,255,224,63,199,224,63, + 3,224,62,3,224,62,3,224,62,3,224,62,3,224,62,3, + 224,62,3,224,62,3,224,62,3,224,62,3,224,62,3,224, + 255,143,248,255,223,252,19,30,90,21,1,0,3,128,0,15, + 192,0,15,192,0,7,192,0,3,224,0,1,224,0,0,240, + 0,0,112,0,0,56,0,0,16,0,0,0,0,0,0,0, + 1,248,0,7,254,0,30,31,128,60,15,128,124,7,192,120, + 7,192,248,3,224,248,3,224,248,3,224,248,3,224,248,3, + 224,248,3,192,124,3,192,124,7,128,62,7,128,63,15,0, + 15,252,0,3,240,0,19,30,90,21,1,0,0,28,0,0, + 63,0,0,63,0,0,62,0,0,124,0,0,120,0,0,240, + 0,0,224,0,1,192,0,0,128,0,0,0,0,0,0,0, + 1,248,0,7,254,0,30,31,128,60,15,128,124,7,192,120, + 7,192,248,3,224,248,3,224,248,3,224,248,3,224,248,3, + 224,248,3,192,124,3,192,124,7,128,62,7,128,63,15,0, + 15,252,0,3,240,0,19,29,87,21,1,0,0,240,0,0, + 240,0,1,248,0,3,252,0,7,252,0,7,158,0,15,15, + 0,28,3,0,8,1,128,0,0,0,0,0,0,1,248,0, + 7,254,0,30,31,128,60,15,128,124,7,192,120,7,192,248, + 3,224,248,3,224,248,3,224,248,3,224,248,3,224,248,3, + 192,124,3,192,124,7,128,62,7,128,63,15,0,15,252,0, + 3,240,0,19,27,81,21,1,0,3,128,128,7,241,192,15, + 255,128,31,255,0,24,254,0,48,60,0,0,0,0,0,0, + 0,0,0,0,1,248,0,7,254,0,30,31,128,60,15,128, + 124,7,192,120,7,192,248,3,224,248,3,224,248,3,224,248, + 3,224,248,3,224,248,3,192,124,3,192,124,7,128,62,7, + 128,63,15,0,15,252,0,3,240,0,19,27,81,21,1,0, + 14,7,0,15,7,128,31,15,128,31,15,128,30,15,0,14, + 7,0,0,0,0,0,0,0,0,0,0,1,248,0,7,254, + 0,30,31,128,60,15,128,124,7,192,120,7,192,248,3,224, + 248,3,224,248,3,224,248,3,224,248,3,224,248,3,192,124, + 3,192,124,7,128,62,7,128,63,15,0,15,252,0,3,240, + 0,15,15,30,17,1,3,3,0,7,0,7,0,7,0,6, + 0,0,0,127,254,255,252,0,0,0,0,3,0,7,0,7, + 0,7,0,6,0,19,20,60,21,1,255,0,0,32,1,248, + 224,7,255,192,30,31,128,60,15,192,60,31,192,120,31,224, + 120,59,224,248,115,224,248,227,224,249,227,224,249,195,224,251, + 131,192,127,3,192,126,7,128,62,7,128,63,15,0,63,252, + 0,99,240,0,192,0,0,22,30,90,23,1,0,3,128,0, + 7,192,0,15,192,0,3,224,0,1,224,0,0,240,0,0, + 240,0,0,120,0,0,56,0,0,24,0,0,0,0,0,0, + 0,14,0,224,254,31,224,126,7,224,62,3,224,62,3,224, + 62,3,224,62,3,224,62,3,224,62,3,224,62,3,224,62, + 3,224,62,3,224,62,3,224,62,7,224,63,31,252,31,251, + 252,31,243,240,15,193,192,22,30,90,23,1,0,0,30,0, + 0,31,0,0,63,128,0,62,0,0,124,0,0,120,0,0, + 112,0,0,224,0,0,224,0,1,192,0,0,0,0,0,0, + 0,14,0,224,254,31,224,126,7,224,62,3,224,62,3,224, + 62,3,224,62,3,224,62,3,224,62,3,224,62,3,224,62, + 3,224,62,3,224,62,3,224,62,7,224,63,31,252,31,251, + 252,31,243,240,15,193,192,22,29,87,23,1,0,0,112,0, + 0,248,0,1,248,0,3,252,0,3,254,0,7,158,0,15, + 7,0,14,3,128,8,1,0,0,0,0,0,0,0,14,0, + 224,254,31,224,126,7,224,62,3,224,62,3,224,62,3,224, + 62,3,224,62,3,224,62,3,224,62,3,224,62,3,224,62, + 3,224,62,3,224,62,7,224,63,31,252,31,251,252,31,243, + 240,15,193,192,22,27,81,23,1,0,7,3,128,15,7,128, + 31,15,128,31,15,128,31,15,128,14,7,0,0,0,0,0, + 0,0,0,0,0,14,0,224,254,31,224,126,7,224,62,3, + 224,62,3,224,62,3,224,62,3,224,62,3,224,62,3,224, + 62,3,224,62,3,224,62,3,224,62,3,224,62,7,224,63, + 31,252,31,251,252,31,243,240,15,193,192,21,39,117,20,255, + 247,0,7,0,0,15,192,0,15,128,0,31,0,0,31,0, + 0,62,0,0,60,0,0,120,0,0,112,0,0,96,0,0, + 0,0,0,0,0,127,193,248,63,129,248,31,0,224,15,128, + 224,15,129,192,7,193,192,7,193,128,7,195,128,3,227,128, + 3,231,0,1,247,0,1,246,0,0,254,0,0,254,0,0, + 252,0,0,124,0,0,120,0,0,56,0,0,56,0,0,112, + 0,0,112,0,0,224,0,33,224,0,127,192,0,127,128,0, + 255,0,0,124,0,0,20,39,117,22,1,247,6,0,0,254, + 0,0,254,0,0,62,0,0,62,0,0,62,0,0,62,0, + 0,62,0,0,62,0,0,62,0,0,62,0,0,62,0,0, + 62,31,0,62,127,128,62,255,192,63,135,224,63,3,224,62, + 1,240,62,0,240,62,0,240,62,0,240,62,0,240,62,0, + 240,62,0,224,62,0,224,62,1,192,63,195,192,63,255,128, + 62,255,0,62,60,0,62,0,0,62,0,0,62,0,0,62, + 0,0,62,0,0,62,0,0,62,0,0,255,192,0,255,192, + 0,21,36,108,20,255,247,3,129,192,7,195,224,7,195,224, + 7,195,224,7,131,192,7,3,128,0,0,0,0,0,0,0, + 0,0,127,193,248,63,129,248,31,0,224,15,128,224,15,129, + 192,7,193,192,7,193,128,7,195,128,3,227,128,3,231,0, + 1,247,0,1,246,0,0,254,0,0,254,0,0,252,0,0, + 124,0,0,120,0,0,56,0,0,56,0,0,112,0,0,112, + 0,0,224,0,33,224,0,127,192,0,127,128,0,255,0,0, + 124,0,0}; +/* + Fontname: -FreeType-Gentium Basic-Bold-R-Normal--40-400-72-72-P-200-ISO10646-1 + Copyright: Copyright (c) SIL International, 2003-2008. + Capital A Height: 0, '1' Height: 24 + Calculated Max Values w=18 h=38 x= 3 y=14 dx=21 dy= 0 ascent=31 len=114 + Font Bounding box w=61 h=57 x=-20 y=-14 + Calculated Min Values x= 0 y=-7 dx= 0 dy= 0 + Pure Font ascent =24 descent= 0 + X Font ascent =24 descent= 0 + Max Font ascent =31 descent=-7 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_gdb25n[985] U8G_FONT_SECTION("u8g_font_gdb25n") = { + 0,61,57,236,242,24,0,0,0,0,42,58,0,31,249,24, + 0,16,16,32,18,1,14,0,192,3,192,3,192,99,140,123, + 158,125,191,127,252,15,224,7,224,63,252,253,190,249,158,51, + 142,3,192,3,192,3,0,15,14,28,17,1,4,1,128,3, + 128,3,128,3,128,3,128,3,128,127,254,255,252,3,128,3, + 128,3,128,3,128,3,128,3,0,8,12,12,11,2,249,30, + 127,255,127,31,31,30,30,60,56,112,96,12,2,4,14,1, + 9,127,240,255,240,6,6,6,11,3,255,56,124,252,252,252, + 120,17,38,114,19,1,249,0,1,128,0,7,128,0,7,128, + 0,15,0,0,15,0,0,15,0,0,30,0,0,30,0,0, + 28,0,0,60,0,0,60,0,0,120,0,0,120,0,0,120, + 0,0,240,0,0,240,0,0,224,0,1,224,0,1,224,0, + 3,192,0,3,192,0,3,192,0,7,128,0,7,128,0,7, + 0,0,15,0,0,15,0,0,30,0,0,30,0,0,30,0, + 0,60,0,0,60,0,0,56,0,0,120,0,0,120,0,0, + 240,0,0,240,0,0,192,0,0,18,24,72,20,1,0,3, + 240,0,7,252,0,30,62,0,28,31,0,60,15,0,120,15, + 128,120,15,128,120,7,128,248,7,192,248,7,192,248,7,192, + 248,7,192,248,7,192,248,7,192,248,7,192,248,7,192,120, + 7,128,124,7,128,124,15,128,60,15,0,62,14,0,31,30, + 0,15,248,0,3,224,0,16,24,48,20,2,0,0,96,3, + 224,31,224,255,224,99,224,3,224,3,224,3,224,3,224,3, + 224,3,224,3,224,3,224,3,224,3,224,3,224,3,224,3, + 224,3,224,3,224,3,224,7,240,127,255,127,255,16,24,48, + 20,2,0,3,248,15,252,60,62,124,63,120,31,248,31,112, + 31,0,31,0,62,0,60,0,124,0,120,0,240,1,224,3, + 224,3,192,7,128,15,1,30,3,60,3,120,3,127,255,255, + 255,255,255,16,24,48,20,2,0,7,240,31,248,60,124,120, + 62,248,62,248,62,64,62,0,60,0,124,0,240,7,240,7, + 252,0,254,0,62,0,63,0,31,0,31,0,31,0,31,0, + 30,192,62,240,124,127,248,15,192,17,24,72,20,1,0,0, + 12,0,0,124,0,0,124,0,0,252,0,1,252,0,1,252, + 0,3,188,0,7,188,0,7,60,0,14,60,0,14,60,0, + 28,60,0,56,60,0,56,60,0,112,60,0,255,255,128,255, + 255,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60, + 0,3,255,128,3,255,128,17,24,72,20,1,0,31,255,0, + 31,255,128,31,254,0,31,252,0,24,0,0,56,0,0,56, + 0,0,56,0,0,56,0,0,63,240,0,63,252,0,48,126, + 0,96,31,0,0,31,0,0,15,128,0,15,128,0,15,128, + 0,15,128,0,15,128,0,31,0,96,31,0,248,126,0,63, + 252,0,7,224,0,17,24,72,20,2,0,0,14,0,0,126, + 0,1,240,0,7,192,0,15,128,0,30,0,0,62,0,0, + 60,0,0,124,0,0,121,248,0,127,254,0,254,63,0,252, + 31,0,248,15,128,248,15,128,248,15,128,248,15,128,248,15, + 128,124,15,128,124,15,0,60,31,0,31,30,0,15,252,0, + 3,240,0,17,24,72,20,2,0,127,255,128,127,255,0,255, + 255,0,255,255,0,224,6,0,192,14,0,128,12,0,0,28, + 0,0,28,0,0,56,0,0,56,0,0,112,0,0,112,0, + 0,240,0,0,224,0,1,224,0,1,192,0,3,192,0,3, + 192,0,7,128,0,7,128,0,15,128,0,31,0,0,28,0, + 0,17,24,72,21,2,0,3,240,0,15,252,0,28,62,0, + 24,31,0,56,31,0,56,31,0,56,31,0,60,62,0,63, + 60,0,31,248,0,15,240,0,7,252,0,14,254,0,62,63, + 0,124,31,128,120,31,128,248,15,128,248,15,128,248,15,128, + 248,15,0,124,31,0,126,62,0,63,252,0,7,224,0,17, + 25,75,20,2,255,3,240,0,15,252,0,30,62,0,60,30, + 0,120,31,0,120,31,0,248,15,128,248,15,128,248,15,128, + 248,15,128,248,15,128,124,31,128,126,63,128,63,255,128,15, + 207,0,0,15,0,0,31,0,0,30,0,0,62,0,0,124, + 0,0,248,0,1,240,0,15,192,0,63,0,0,56,0,0, + 6,19,19,11,3,255,56,124,252,252,252,120,0,0,0,0, + 0,0,0,56,124,252,252,252,120}; +/* + Fontname: -FreeType-Gentium Basic-Bold-R-Normal--40-400-72-72-P-200-ISO10646-1 + Copyright: Copyright (c) SIL International, 2003-2008. + Capital A Height: 25, '1' Height: 24 + Calculated Max Values w=34 h=41 x= 3 y=20 dx=35 dy= 0 ascent=33 len=136 + Font Bounding box w=61 h=57 x=-20 y=-14 + Calculated Min Values x=-6 y=-9 dx= 0 dy= 0 + Pure Font ascent =25 descent=-9 + X Font ascent =31 descent=-9 + Max Font ascent =33 descent=-9 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_gdb25r[6779] U8G_FONT_SECTION("u8g_font_gdb25r") = { + 0,61,57,236,242,25,7,167,18,92,32,127,247,33,247,31, + 247,0,0,0,10,0,0,6,30,30,12,3,255,12,60,252, + 252,252,124,120,120,120,120,120,120,120,120,120,120,120,120,56, + 48,48,32,0,0,56,124,252,252,252,120,13,13,26,19,3, + 16,24,56,248,248,248,248,248,248,248,248,248,248,248,240,112, + 240,112,112,112,112,112,112,112,112,112,112,19,23,69,20,1, + 2,0,97,192,0,227,128,0,227,128,0,195,128,1,195,0, + 1,199,0,31,255,224,31,255,224,35,142,0,3,142,0,3, + 14,0,7,12,0,7,28,0,7,28,0,127,255,128,255,255, + 128,14,56,0,12,56,0,28,48,0,28,112,0,24,112,0, + 24,112,0,32,224,0,17,30,90,21,2,253,0,192,0,1, + 192,0,1,192,0,3,240,0,31,254,0,63,255,128,113,223, + 0,225,207,0,225,199,0,225,194,0,241,192,0,255,192,0, + 127,192,0,63,248,0,15,252,0,3,254,0,1,255,0,1, + 223,128,1,207,128,193,199,128,193,199,128,225,199,128,241,207, + 0,253,207,0,255,254,0,63,252,0,7,224,0,1,192,0, + 1,192,0,1,128,0,26,25,100,28,1,0,0,0,3,0, + 15,128,15,0,63,192,14,0,113,224,28,0,112,224,56,0, + 224,112,120,0,224,112,112,0,224,112,224,0,224,113,192,0, + 224,115,192,0,96,103,128,0,112,103,0,0,48,206,62,0, + 31,28,99,0,0,60,195,128,0,56,193,128,0,113,193,192, + 0,225,193,192,1,225,193,192,1,193,193,192,3,129,193,192, + 7,0,225,128,15,0,227,128,14,0,127,0,28,0,62,0, + 27,28,112,28,1,0,0,126,0,0,1,255,128,0,3,143, + 128,0,7,7,192,0,7,7,192,0,15,7,192,0,15,7, + 192,0,15,15,128,0,15,159,0,0,15,191,0,0,7,254, + 0,0,7,248,0,0,7,240,0,0,15,240,255,224,31,241, + 255,192,63,248,61,128,125,252,60,0,124,254,28,0,248,254, + 28,0,248,127,28,0,248,63,184,0,248,31,248,0,248,15, + 240,0,252,7,248,0,124,3,252,0,63,7,255,192,31,254, + 127,128,7,240,28,0,5,13,13,11,3,16,24,248,248,248, + 248,248,248,112,112,112,112,112,112,11,37,74,13,2,250,0, + 64,1,224,3,192,7,128,15,0,15,0,30,0,30,0,60, + 0,60,0,124,0,124,0,120,0,248,0,248,0,248,0,248, + 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,120, + 0,124,0,124,0,124,0,60,0,62,0,30,0,31,0,15, + 0,7,128,3,192,1,224,0,64,11,37,74,13,0,250,64, + 0,240,0,120,0,60,0,30,0,31,0,15,0,15,128,7, + 128,7,192,7,192,7,192,7,192,3,224,3,224,3,224,3, + 224,3,224,3,224,3,224,3,224,3,224,3,224,3,192,7, + 192,7,192,7,192,7,128,15,128,15,0,15,0,30,0,30, + 0,60,0,120,0,240,0,64,0,16,16,32,18,1,14,0, + 192,3,192,3,192,99,140,123,158,125,191,127,252,15,224,7, + 224,63,252,253,190,249,158,51,142,3,192,3,192,3,0,15, + 14,28,17,1,4,1,128,3,128,3,128,3,128,3,128,3, + 128,127,254,255,252,3,128,3,128,3,128,3,128,3,128,3, + 0,8,12,12,11,2,249,30,127,255,127,31,31,30,30,60, + 56,112,96,12,2,4,14,1,9,127,240,255,240,6,6,6, + 11,3,255,56,124,252,252,252,120,17,38,114,19,1,249,0, + 1,128,0,7,128,0,7,128,0,15,0,0,15,0,0,15, + 0,0,30,0,0,30,0,0,28,0,0,60,0,0,60,0, + 0,120,0,0,120,0,0,120,0,0,240,0,0,240,0,0, + 224,0,1,224,0,1,224,0,3,192,0,3,192,0,3,192, + 0,7,128,0,7,128,0,7,0,0,15,0,0,15,0,0, + 30,0,0,30,0,0,30,0,0,60,0,0,60,0,0,56, + 0,0,120,0,0,120,0,0,240,0,0,240,0,0,192,0, + 0,18,24,72,20,1,0,3,240,0,7,252,0,30,62,0, + 28,31,0,60,15,0,120,15,128,120,15,128,120,7,128,248, + 7,192,248,7,192,248,7,192,248,7,192,248,7,192,248,7, + 192,248,7,192,248,7,192,120,7,128,124,7,128,124,15,128, + 60,15,0,62,14,0,31,30,0,15,248,0,3,224,0,16, + 24,48,20,2,0,0,96,3,224,31,224,255,224,99,224,3, + 224,3,224,3,224,3,224,3,224,3,224,3,224,3,224,3, + 224,3,224,3,224,3,224,3,224,3,224,3,224,3,224,7, + 240,127,255,127,255,16,24,48,20,2,0,3,248,15,252,60, + 62,124,63,120,31,248,31,112,31,0,31,0,62,0,60,0, + 124,0,120,0,240,1,224,3,224,3,192,7,128,15,1,30, + 3,60,3,120,3,127,255,255,255,255,255,16,24,48,20,2, + 0,7,240,31,248,60,124,120,62,248,62,248,62,64,62,0, + 60,0,124,0,240,7,240,7,252,0,254,0,62,0,63,0, + 31,0,31,0,31,0,31,0,30,192,62,240,124,127,248,15, + 192,17,24,72,20,1,0,0,12,0,0,124,0,0,124,0, + 0,252,0,1,252,0,1,252,0,3,188,0,7,188,0,7, + 60,0,14,60,0,14,60,0,28,60,0,56,60,0,56,60, + 0,112,60,0,255,255,128,255,255,0,0,60,0,0,60,0, + 0,60,0,0,60,0,0,60,0,3,255,128,3,255,128,17, + 24,72,20,1,0,31,255,0,31,255,128,31,254,0,31,252, + 0,24,0,0,56,0,0,56,0,0,56,0,0,56,0,0, + 63,240,0,63,252,0,48,126,0,96,31,0,0,31,0,0, + 15,128,0,15,128,0,15,128,0,15,128,0,15,128,0,31, + 0,96,31,0,248,126,0,63,252,0,7,224,0,17,24,72, + 20,2,0,0,14,0,0,126,0,1,240,0,7,192,0,15, + 128,0,30,0,0,62,0,0,60,0,0,124,0,0,121,248, + 0,127,254,0,254,63,0,252,31,0,248,15,128,248,15,128, + 248,15,128,248,15,128,248,15,128,124,15,128,124,15,0,60, + 31,0,31,30,0,15,252,0,3,240,0,17,24,72,20,2, + 0,127,255,128,127,255,0,255,255,0,255,255,0,224,6,0, + 192,14,0,128,12,0,0,28,0,0,28,0,0,56,0,0, + 56,0,0,112,0,0,112,0,0,240,0,0,224,0,1,224, + 0,1,192,0,3,192,0,3,192,0,7,128,0,7,128,0, + 15,128,0,31,0,0,28,0,0,17,24,72,21,2,0,3, + 240,0,15,252,0,28,62,0,24,31,0,56,31,0,56,31, + 0,56,31,0,60,62,0,63,60,0,31,248,0,15,240,0, + 7,252,0,14,254,0,62,63,0,124,31,128,120,31,128,248, + 15,128,248,15,128,248,15,128,248,15,0,124,31,0,126,62, + 0,63,252,0,7,224,0,17,25,75,20,2,255,3,240,0, + 15,252,0,30,62,0,60,30,0,120,31,0,120,31,0,248, + 15,128,248,15,128,248,15,128,248,15,128,248,15,128,124,31, + 128,126,63,128,63,255,128,15,207,0,0,15,0,0,31,0, + 0,30,0,0,62,0,0,124,0,0,248,0,1,240,0,15, + 192,0,63,0,0,56,0,0,6,19,19,11,3,255,56,124, + 252,252,252,120,0,0,0,0,0,0,0,56,124,252,252,252, + 120,8,26,26,11,2,249,8,62,126,126,126,124,0,0,0, + 0,0,0,0,0,30,127,255,127,31,31,30,30,60,56,112, + 96,16,13,26,18,1,5,0,3,0,31,0,255,3,252,31, + 224,127,128,252,0,254,0,127,192,15,248,1,255,0,63,0, + 6,16,8,16,18,1,7,127,255,255,255,0,0,0,0,0, + 0,0,0,127,255,255,255,16,13,26,18,1,5,112,0,252, + 0,255,128,31,240,3,254,0,127,0,63,0,255,7,248,63, + 224,127,0,248,0,192,0,15,30,60,18,1,255,7,240,31, + 248,60,124,120,126,248,62,248,62,248,62,224,62,0,62,0, + 124,0,124,0,248,0,240,1,240,1,224,1,192,3,192,3, + 128,3,128,3,128,3,128,0,0,0,0,0,0,3,128,7, + 192,15,192,15,192,15,192,7,128,31,34,136,35,2,248,0, + 7,248,0,0,63,255,0,0,255,255,192,1,248,15,224,3, + 192,1,240,7,128,0,248,15,0,0,120,30,0,0,60,60, + 3,195,60,56,15,238,28,120,30,126,30,120,60,62,14,112, + 120,62,14,240,120,62,14,240,248,62,14,240,248,62,14,240, + 248,62,14,240,248,62,14,240,248,62,12,240,248,62,28,240, + 252,62,28,248,124,126,56,120,127,255,240,120,127,191,224,124, + 63,159,192,60,30,15,0,62,0,0,0,31,0,0,0,31, + 128,0,48,15,224,0,240,7,248,7,224,1,255,255,192,0, + 127,255,0,0,15,248,0,25,25,100,25,0,0,0,4,0, + 0,0,30,0,0,0,62,0,0,0,126,0,0,0,127,0, + 0,0,111,0,0,0,239,128,0,0,239,128,0,0,199,128, + 0,1,199,192,0,1,199,192,0,1,131,192,0,3,131,224, + 0,3,131,224,0,3,255,224,0,7,255,240,0,7,0,240, + 0,6,0,248,0,14,0,248,0,14,0,120,0,12,0,124, + 0,28,0,124,0,28,0,124,0,255,129,255,0,255,129,255, + 128,22,25,75,24,0,0,15,254,0,255,255,128,223,15,224, + 31,3,240,31,1,240,31,1,240,31,1,240,31,1,240,31, + 1,224,31,3,224,31,15,128,31,255,0,31,255,224,31,3, + 240,31,1,248,31,0,248,31,0,124,31,0,124,31,0,124, + 31,0,124,31,0,124,31,0,248,31,3,240,127,255,224,255, + 255,0,20,25,75,22,1,0,0,127,128,3,255,240,7,135, + 224,15,1,224,30,0,192,60,0,64,60,0,0,124,0,0, + 120,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248, + 0,0,248,0,0,248,0,0,252,0,0,124,0,0,124,0, + 0,126,0,32,63,0,112,31,193,224,15,255,192,7,255,0, + 1,252,0,22,25,75,25,1,0,15,252,0,255,255,128,255, + 15,192,31,3,224,31,1,240,31,1,248,31,0,248,31,0, + 248,31,0,124,31,0,124,31,0,124,31,0,124,31,0,124, + 31,0,124,31,0,124,31,0,124,31,0,120,31,0,248,31, + 0,248,31,1,240,31,1,240,31,3,224,31,7,192,127,255, + 128,255,252,0,19,25,75,21,1,0,255,255,192,255,255,192, + 62,1,192,30,1,192,30,1,128,30,1,128,30,0,128,30, + 0,0,30,0,0,30,0,0,30,0,0,31,255,0,31,254, + 0,30,6,0,30,0,0,30,0,0,30,0,0,30,0,0, + 30,0,0,30,0,96,30,0,96,30,0,224,63,1,224,255, + 255,224,255,255,192,18,25,75,20,1,0,255,255,192,255,255, + 192,62,1,192,30,1,192,30,1,192,30,0,192,30,0,128, + 30,0,0,30,0,0,30,0,0,30,0,0,31,254,0,31, + 254,0,30,4,0,30,0,0,30,0,0,30,0,0,30,0, + 0,30,0,0,30,0,0,30,0,0,30,0,0,62,0,0, + 255,192,0,255,224,0,22,25,75,24,1,0,0,127,128,1, + 255,240,7,131,240,15,1,224,30,0,224,60,0,64,60,0, + 0,124,0,0,120,0,0,248,0,0,248,0,0,248,0,0, + 248,15,252,248,15,252,248,1,240,248,1,240,252,1,240,124, + 1,240,124,1,240,126,1,240,63,1,240,31,129,240,15,255, + 192,7,255,128,0,252,0,25,25,100,27,1,0,255,227,255, + 128,127,227,255,128,31,0,124,0,31,0,124,0,31,0,124, + 0,31,0,124,0,31,0,124,0,31,0,124,0,31,0,124, + 0,31,0,124,0,31,0,124,0,31,255,252,0,31,255,252, + 0,31,0,124,0,31,0,124,0,31,0,124,0,31,0,124, + 0,31,0,124,0,31,0,124,0,31,0,124,0,31,0,124, + 0,31,0,124,0,31,0,124,0,127,195,255,128,255,227,255, + 128,11,25,50,13,1,0,255,224,127,224,31,0,31,0,31, + 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, + 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, + 0,31,0,31,0,127,192,255,224,18,33,99,13,251,248,3, + 255,192,1,255,128,0,62,0,0,62,0,0,62,0,0,62, + 0,0,62,0,0,62,0,0,62,0,0,62,0,0,62,0, + 0,62,0,0,62,0,0,62,0,0,62,0,0,62,0,0, + 62,0,0,62,0,0,62,0,0,62,0,0,62,0,0,62, + 0,0,62,0,0,62,0,0,62,0,0,60,0,0,60,0, + 0,56,0,16,120,0,56,112,0,127,224,0,255,128,0,62, + 0,0,24,25,75,25,0,0,255,227,254,127,193,254,31,0, + 240,31,1,224,31,3,192,31,7,128,31,15,0,31,14,0, + 31,28,0,31,60,0,31,120,0,31,240,0,31,248,0,31, + 124,0,31,60,0,31,62,0,31,31,0,31,15,128,31,7, + 192,31,3,224,31,3,240,31,1,248,31,0,255,127,224,127, + 255,224,60,20,25,75,20,0,0,255,224,0,127,224,0,31, + 0,0,31,0,0,31,0,0,31,0,0,31,0,0,31,0, + 0,31,0,0,31,0,0,31,0,0,31,0,0,31,0,0, + 31,0,0,31,0,0,31,0,0,31,0,0,31,0,0,31, + 0,0,31,0,48,31,0,96,31,0,96,31,128,224,127,255, + 224,255,255,224,31,25,100,34,1,0,255,0,1,254,127,0, + 1,254,31,128,1,240,31,128,3,240,31,192,3,240,31,192, + 7,240,31,192,7,240,31,224,14,240,29,224,14,240,29,240, + 30,240,28,240,28,240,28,248,28,240,28,248,56,240,28,124, + 56,248,28,124,112,248,28,60,112,248,28,62,224,248,28,30, + 224,248,28,31,224,248,28,31,192,248,28,15,192,248,28,15, + 128,248,28,7,128,248,255,7,7,254,255,3,7,254,25,25, + 100,27,1,0,254,0,255,128,255,0,127,0,31,0,28,0, + 31,128,28,0,31,192,28,0,31,192,28,0,31,224,28,0, + 29,240,28,0,29,248,28,0,28,248,28,0,28,124,28,0, + 28,126,28,0,28,62,28,0,28,31,28,0,28,15,156,0, + 28,15,156,0,28,7,220,0,28,3,252,0,28,3,252,0, + 28,1,252,0,28,0,252,0,28,0,252,0,28,0,124,0, + 127,0,60,0,255,128,12,0,23,25,75,25,1,0,0,126, + 0,3,255,192,7,135,224,14,1,240,30,0,248,60,0,248, + 60,0,124,124,0,124,120,0,126,248,0,62,248,0,62,248, + 0,62,248,0,62,248,0,62,248,0,62,248,0,62,252,0, + 60,124,0,124,124,0,120,62,0,120,62,0,240,31,1,224, + 15,195,192,7,255,0,0,252,0,21,25,75,23,1,0,15, + 254,0,255,255,192,255,7,224,31,3,240,31,1,248,31,0, + 248,31,0,248,31,0,248,31,0,248,31,0,248,31,1,240, + 31,1,240,31,135,224,31,127,128,31,62,0,31,0,0,31, + 0,0,31,0,0,31,0,0,31,0,0,31,0,0,31,0, + 0,31,0,0,127,224,0,255,224,0,27,31,124,25,1,250, + 0,126,0,0,3,255,192,0,7,135,224,0,14,1,240,0, + 30,0,248,0,60,0,248,0,60,0,124,0,124,0,124,0, + 120,0,124,0,248,0,62,0,248,0,62,0,248,0,62,0, + 248,0,62,0,248,0,62,0,248,0,62,0,248,0,62,0, + 252,0,60,0,124,0,124,0,124,0,120,0,62,0,120,0, + 62,0,240,0,31,1,224,0,15,195,192,0,7,255,128,0, + 0,255,0,0,0,7,224,0,0,1,248,96,0,0,255,224, + 0,0,127,192,0,0,31,128,0,0,7,0,23,25,75,24, + 1,0,15,252,0,255,255,128,255,15,192,31,7,192,31,3, + 224,31,3,224,31,3,224,31,3,224,31,3,224,31,7,192, + 31,7,128,31,255,0,31,254,0,31,124,0,31,30,0,31, + 15,0,31,15,0,31,7,128,31,7,192,31,3,224,31,3, + 224,31,1,240,31,1,254,127,192,254,255,224,248,17,25,75, + 21,2,0,3,252,0,31,255,0,60,63,0,112,14,0,240, + 6,0,240,0,0,248,0,0,252,0,0,254,0,0,127,128, + 0,63,224,0,31,248,0,7,254,0,1,255,0,0,127,0, + 0,31,128,0,15,128,0,7,128,192,7,128,192,7,128,224, + 7,0,240,14,0,252,28,0,255,248,0,31,224,0,23,25, + 75,23,0,0,127,255,252,127,255,254,96,124,14,224,124,12, + 192,124,12,192,124,12,192,124,12,0,124,0,0,124,0,0, + 124,0,0,124,0,0,124,0,0,124,0,0,124,0,0,124, + 0,0,124,0,0,124,0,0,124,0,0,124,0,0,124,0, + 0,124,0,0,124,0,0,124,0,3,255,128,3,255,128,25, + 25,100,27,1,0,255,224,255,128,127,224,255,0,31,0,28, + 0,31,0,28,0,31,0,28,0,31,0,28,0,31,0,28, + 0,31,0,28,0,31,0,28,0,31,0,28,0,31,0,28, + 0,31,0,28,0,31,0,28,0,31,0,28,0,31,0,28, + 0,31,0,28,0,31,0,28,0,31,0,28,0,31,0,24, + 0,15,128,56,0,15,128,56,0,7,192,112,0,3,224,224, + 0,1,255,192,0,0,127,0,0,26,25,100,27,0,0,255, + 192,63,192,127,192,63,192,31,0,14,0,31,0,14,0,15, + 128,28,0,15,128,28,0,15,128,28,0,7,192,56,0,7, + 192,56,0,3,224,48,0,3,224,112,0,3,224,112,0,1, + 240,224,0,1,240,224,0,0,240,224,0,0,249,192,0,0, + 249,192,0,0,125,192,0,0,127,128,0,0,63,128,0,0, + 63,0,0,0,63,0,0,0,31,0,0,0,30,0,0,0, + 8,0,0,34,25,125,34,0,0,255,192,224,127,192,127,128, + 224,63,192,30,0,224,14,0,31,1,240,14,0,31,1,240, + 12,0,15,1,248,28,0,15,3,248,28,0,15,131,248,28, + 0,15,131,252,28,0,7,135,60,24,0,7,135,60,56,0, + 7,134,62,56,0,7,206,30,56,0,3,206,31,56,0,3, + 204,15,48,0,3,220,15,112,0,3,252,15,240,0,3,248, + 7,240,0,1,248,7,224,0,1,248,7,224,0,1,240,3, + 224,0,1,240,3,224,0,0,240,1,224,0,0,224,1,192, + 0,0,192,1,128,0,25,25,100,25,0,0,127,225,255,0, + 127,225,255,0,31,128,124,0,15,128,112,0,15,192,240,0, + 7,224,224,0,3,225,192,0,1,243,192,0,1,251,128,0, + 0,255,0,0,0,127,0,0,0,126,0,0,0,62,0,0, + 0,127,0,0,0,127,128,0,0,239,192,0,1,231,192,0, + 1,195,224,0,3,131,240,0,7,129,240,0,7,0,248,0, + 14,0,252,0,30,0,254,0,255,131,255,128,255,131,255,128, + 24,25,75,25,0,0,126,0,255,255,0,255,31,0,56,15, + 128,56,15,192,112,7,192,112,3,224,224,3,224,224,1,241, + 192,1,241,192,0,251,128,0,251,128,0,127,0,0,127,0, + 0,62,0,0,62,0,0,62,0,0,62,0,0,62,0,0, + 62,0,0,62,0,0,62,0,0,62,0,1,255,192,1,255, + 192,19,25,75,22,1,0,63,255,224,63,255,224,120,7,192, + 112,15,192,96,15,128,96,31,128,32,63,0,0,62,0,0, + 126,0,0,124,0,0,252,0,1,248,0,1,240,0,3,240, + 0,3,224,0,7,224,0,15,192,0,15,128,0,31,128,32, + 31,0,96,63,0,96,126,0,96,124,0,224,255,255,224,255, + 255,224,11,37,74,14,2,250,255,224,255,224,248,0,248,0, + 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, + 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, + 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, + 248,0,248,0,248,0,248,0,248,0,248,0,248,0,255,224, + 255,224,17,38,114,19,1,249,192,0,0,240,0,0,112,0, + 0,112,0,0,120,0,0,56,0,0,60,0,0,60,0,0, + 28,0,0,30,0,0,30,0,0,14,0,0,15,0,0,7, + 0,0,7,128,0,7,128,0,3,128,0,3,192,0,3,192, + 0,1,192,0,1,224,0,0,224,0,0,224,0,0,240,0, + 0,112,0,0,120,0,0,120,0,0,56,0,0,60,0,0, + 60,0,0,28,0,0,30,0,0,14,0,0,15,0,0,15, + 0,0,7,0,0,7,128,0,1,128,10,37,74,13,1,250, + 255,192,255,192,3,192,3,192,3,192,3,192,3,192,3,192, + 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, + 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, + 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, + 3,192,3,192,3,192,255,192,255,192,16,19,38,20,2,11, + 0,128,3,128,3,192,3,192,7,224,6,224,14,224,12,112, + 12,112,28,120,24,56,24,56,48,28,48,28,112,28,96,14, + 96,14,224,7,128,6,17,2,6,19,1,251,127,255,128,255, + 255,128,9,10,20,13,0,20,56,0,248,0,252,0,124,0, + 62,0,30,0,15,0,7,0,3,128,1,0,19,18,54,20, + 1,0,1,248,0,15,254,0,62,63,0,124,31,0,124,31, + 0,112,31,0,0,31,0,1,255,0,15,255,0,63,31,0, + 124,31,0,120,31,0,248,31,0,248,31,32,248,127,224,255, + 223,192,127,159,128,62,14,0,20,30,90,21,0,0,6,0, + 0,254,0,0,254,0,0,62,0,0,62,0,0,62,0,0, + 62,0,0,62,0,0,62,0,0,62,0,0,62,0,0,62, + 0,0,62,31,0,62,127,192,63,255,192,63,199,224,63,1, + 224,62,1,240,62,0,240,62,0,240,62,0,240,62,0,240, + 62,0,240,62,0,224,62,1,224,62,1,192,63,131,128,63, + 255,0,15,252,0,1,240,0,16,18,36,18,1,0,1,252, + 7,255,31,31,60,15,60,7,120,6,120,0,248,0,248,0, + 248,0,248,0,248,0,124,0,126,3,63,7,63,254,15,252, + 3,240,21,30,90,22,1,0,0,1,192,0,63,192,0,63, + 192,0,7,192,0,7,192,0,7,192,0,7,192,0,7,192, + 0,7,192,0,7,192,0,7,192,0,7,192,3,247,192,15, + 255,192,30,31,192,60,15,192,124,7,192,120,7,192,248,7, + 192,248,7,192,248,7,192,248,7,192,248,7,192,252,7,192, + 252,15,192,126,31,192,127,255,248,63,247,248,31,231,224,7, + 131,128,17,18,54,19,1,0,1,240,0,15,252,0,30,62, + 0,60,31,0,120,15,0,120,15,128,248,15,128,255,255,128, + 255,254,0,248,0,0,248,0,0,248,0,0,252,0,0,126, + 1,128,127,7,0,63,254,0,31,252,0,7,240,0,17,29, + 87,14,0,0,0,63,0,0,255,128,3,143,0,7,134,0, + 7,0,0,15,0,0,15,0,0,31,0,0,31,0,0,31, + 0,0,31,0,0,127,252,0,255,248,0,31,16,0,31,0, + 0,31,0,0,31,0,0,31,0,0,31,0,0,31,0,0, + 31,0,0,31,0,0,31,0,0,31,0,0,31,0,0,31, + 0,0,31,0,0,127,240,0,255,240,0,21,27,81,22,0, + 247,1,248,24,15,255,248,30,31,240,60,15,128,124,7,192, + 124,7,192,124,7,192,124,7,192,62,7,128,63,15,0,31, + 254,0,3,248,0,7,128,0,15,128,0,31,192,0,31,255, + 0,31,255,224,7,255,240,30,255,248,124,3,248,120,0,248, + 248,0,248,248,0,240,252,1,224,127,3,192,31,255,0,3, + 248,0,22,30,90,23,1,0,6,0,0,254,0,0,254,0, + 0,62,0,0,62,0,0,62,0,0,62,0,0,62,0,0, + 62,0,0,62,0,0,62,0,0,62,0,0,62,15,128,62, + 63,192,62,127,224,62,255,224,63,199,224,63,3,224,62,3, + 224,62,3,224,62,3,224,62,3,224,62,3,224,62,3,224, + 62,3,224,62,3,224,62,3,224,62,3,224,255,143,248,255, + 223,252,10,27,54,12,1,0,30,0,63,0,63,0,63,0, + 30,0,0,0,0,0,0,0,0,0,14,0,254,0,254,0, + 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, + 62,0,62,0,62,0,62,0,62,0,255,128,255,192,15,36, + 72,11,250,247,0,60,0,126,0,126,0,126,0,60,0,0, + 0,0,0,0,0,0,0,28,3,252,3,252,0,124,0,124, + 0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,124, + 0,124,0,124,0,124,0,124,0,124,0,124,0,124,0,120, + 0,120,32,240,120,224,255,192,255,128,60,0,21,30,90,22, + 1,0,6,0,0,254,0,0,254,0,0,62,0,0,62,0, + 0,62,0,0,62,0,0,62,0,0,62,0,0,62,0,0, + 62,0,0,62,0,0,62,15,240,62,7,240,62,7,128,62, + 15,0,62,62,0,62,120,0,62,240,0,63,224,0,63,240, + 0,62,248,0,62,124,0,62,62,0,62,31,0,62,31,128, + 62,15,192,62,7,224,255,131,248,255,129,224,10,30,60,12, + 1,0,6,0,254,0,254,0,62,0,62,0,62,0,62,0, + 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, + 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, + 62,0,62,0,62,0,62,0,62,0,255,128,255,192,34,18, + 90,34,0,0,6,15,192,248,0,255,63,227,252,0,255,127, + 255,254,0,31,227,252,126,0,31,129,248,62,0,31,1,240, + 62,0,31,1,240,62,0,31,1,240,62,0,31,1,240,62, + 0,31,1,240,62,0,31,1,240,62,0,31,1,240,62,0, + 31,1,240,62,0,31,1,240,62,0,31,1,240,62,0,31, + 1,240,62,0,127,199,252,255,128,255,199,252,255,192,22,18, + 54,23,1,0,14,15,128,254,63,192,254,255,224,63,255,224, + 63,199,224,63,3,224,62,3,224,62,3,224,62,3,224,62, + 3,224,62,3,224,62,3,224,62,3,224,62,3,224,62,3, + 224,62,3,224,255,143,248,255,223,252,19,18,54,21,1,0, + 1,248,0,7,254,0,30,31,128,60,15,128,124,7,192,120, + 7,192,248,3,224,248,3,224,248,3,224,248,3,224,248,3, + 224,248,3,192,124,3,192,124,7,128,62,7,128,63,15,0, + 15,252,0,3,240,0,20,27,81,22,1,247,14,31,0,254, + 127,128,254,255,192,63,135,224,63,3,224,62,1,240,62,0, + 240,62,0,240,62,0,240,62,0,240,62,0,240,62,0,224, + 62,0,224,62,1,192,63,195,192,63,255,128,62,255,0,62, + 60,0,62,0,0,62,0,0,62,0,0,62,0,0,62,0, + 0,62,0,0,62,0,0,255,192,0,255,192,0,21,27,81, + 22,1,247,1,240,64,7,252,224,14,31,192,60,15,192,60, + 7,192,120,7,192,248,7,192,248,7,192,248,7,192,248,7, + 192,248,7,192,252,7,192,252,15,192,126,31,192,127,255,192, + 63,247,192,31,231,192,7,135,192,0,7,192,0,7,192,0, + 7,192,0,7,192,0,7,192,0,7,192,0,7,192,0,63, + 240,0,63,248,16,18,36,18,1,0,14,30,254,127,254,255, + 63,255,63,207,31,135,31,6,30,6,30,0,30,0,30,0, + 30,0,30,0,30,0,30,0,62,0,255,192,255,224,14,18, + 36,17,2,0,15,192,63,248,120,248,240,112,240,48,248,48, + 254,0,127,128,63,224,15,248,3,248,192,252,192,124,224,60, + 224,60,248,120,255,240,63,192,15,25,50,15,0,0,3,0, + 7,0,15,0,31,0,31,0,31,0,31,0,127,254,255,252, + 31,8,31,0,31,0,31,0,31,0,31,0,31,0,31,0, + 31,0,31,0,31,0,31,140,31,254,31,248,15,224,7,128, + 22,18,54,23,1,0,14,0,224,254,31,224,126,7,224,62, + 3,224,62,3,224,62,3,224,62,3,224,62,3,224,62,3, + 224,62,3,224,62,3,224,62,3,224,62,3,224,62,7,224, + 63,31,252,31,251,252,31,243,240,15,193,192,20,18,54,20, + 0,0,255,131,240,127,3,240,62,1,192,31,1,192,31,1, + 128,15,3,128,15,131,0,15,135,0,7,199,0,7,206,0, + 3,238,0,3,236,0,1,252,0,1,252,0,0,248,0,0, + 248,0,0,240,0,0,96,0,28,18,72,29,0,0,255,131, + 3,240,127,3,129,240,62,3,128,192,30,7,193,192,31,7, + 193,192,31,15,193,192,15,15,227,128,15,157,227,128,15,157, + 243,128,7,153,243,0,7,248,255,0,7,240,255,0,3,240, + 126,0,3,240,126,0,3,224,62,0,1,224,60,0,1,192, + 28,0,1,128,24,0,21,18,54,21,0,0,255,199,240,255, + 199,240,63,131,192,15,131,128,15,199,0,7,238,0,3,252, + 0,1,248,0,1,248,0,0,252,0,1,254,0,3,190,0, + 7,31,0,6,31,128,12,15,192,28,7,224,127,31,248,255, + 31,248,21,27,81,20,255,247,127,193,248,63,129,248,31,0, + 224,15,128,224,15,129,192,7,193,192,7,193,128,7,195,128, + 3,227,128,3,231,0,1,247,0,1,246,0,0,254,0,0, + 254,0,0,252,0,0,124,0,0,120,0,0,56,0,0,56, + 0,0,112,0,0,112,0,0,224,0,33,224,0,127,192,0, + 127,128,0,255,0,0,124,0,0,16,18,36,19,1,0,63, + 255,63,255,112,62,112,126,96,124,96,248,1,248,1,240,3, + 224,7,224,7,192,15,128,31,129,31,3,62,3,124,3,127, + 255,255,255,11,37,74,14,2,250,0,96,1,224,3,192,7, + 128,15,0,31,0,31,0,31,0,31,0,31,0,31,128,15, + 128,15,128,15,128,15,128,15,0,31,0,62,0,252,0,255, + 0,31,0,15,128,15,128,15,128,15,128,15,128,31,128,31, + 0,31,0,31,0,31,0,31,0,15,0,15,128,7,192,1, + 224,0,96,3,41,41,9,3,248,96,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,192,11,37,74,14,1,250,192,0,240,0,124,0,62,0, + 30,0,31,0,31,0,31,0,31,0,31,0,63,0,62,0, + 62,0,62,0,62,0,62,0,31,0,31,224,7,224,15,128, + 31,0,30,0,62,0,62,0,62,0,62,0,63,0,31,0, + 31,0,31,0,31,0,31,0,30,0,60,0,120,0,240,0, + 192,0,18,6,18,20,1,9,15,0,192,31,192,128,63,225, + 0,99,255,0,192,254,0,128,56,0,255}; +/* + Fontname: -FreeType-Gentium Basic-Bold-R-Normal--48-480-72-72-P-238-ISO10646-1 + Copyright: Copyright (c) SIL International, 2003-2008. + Capital A Height: 30, '1' Height: 29 + Calculated Max Values w=41 h=49 x= 5 y=27 dx=42 dy= 0 ascent=42 len=210 + Font Bounding box w=74 h=69 x=-24 y=-17 + Calculated Min Values x=-7 y=-13 dx= 0 dy= 0 + Pure Font ascent =30 descent=-11 + X Font ascent =38 descent=-11 + Max Font ascent =42 descent=-13 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_gdb30[19508] U8G_FONT_SECTION("u8g_font_gdb30") = { + 0,74,69,232,239,30,10,50,24,78,32,255,245,42,243,38, + 245,0,0,0,12,0,0,8,36,36,15,3,255,6,31,127, + 126,126,126,126,126,126,126,62,62,62,62,62,62,62,60,60, + 60,60,60,60,28,28,24,0,0,0,62,127,255,255,255,254, + 124,16,16,32,23,3,19,14,3,126,31,254,63,254,63,124, + 63,124,63,124,63,124,63,124,30,124,30,124,30,60,30,60, + 30,56,30,56,30,56,14,22,27,81,24,2,3,0,56,48, + 0,120,112,0,112,240,0,112,224,0,240,224,0,225,224,0, + 225,192,31,255,252,31,255,252,63,255,252,3,195,128,3,195, + 128,3,135,128,3,135,0,7,135,0,7,135,0,255,255,240, + 255,255,240,255,255,224,14,30,0,14,28,0,30,28,0,28, + 60,0,28,60,0,28,56,0,60,56,0,56,112,0,20,36, + 108,24,2,252,0,48,0,0,112,0,0,112,0,0,112,0, + 3,255,0,15,255,224,63,255,240,124,119,240,120,115,224,240, + 113,224,240,112,192,248,112,0,252,112,0,255,112,0,127,240, + 0,63,248,0,31,254,0,7,255,128,0,255,192,0,127,224, + 0,119,224,0,113,240,0,113,240,224,112,240,224,112,240,240, + 112,240,248,112,224,252,113,224,255,119,192,255,255,192,63,255, + 0,7,252,0,0,112,0,0,112,0,0,112,0,0,96,0, + 31,30,120,34,2,0,0,0,0,16,7,192,0,240,31,224, + 1,224,56,240,3,192,120,120,3,128,112,120,7,128,240,60, + 15,0,240,60,30,0,240,60,28,0,240,60,60,0,240,60, + 120,0,240,60,240,0,112,57,224,0,120,57,224,0,56,115, + 192,0,31,231,131,224,15,143,12,48,0,15,24,56,0,30, + 56,28,0,60,56,28,0,120,120,30,0,120,120,30,0,240, + 120,30,1,224,120,30,3,192,120,30,3,192,120,28,7,128, + 60,60,15,0,30,56,30,0,15,240,28,0,7,192,31,34, + 136,33,2,0,0,31,128,0,0,127,224,0,0,227,240,0, + 1,225,248,0,3,193,248,0,3,193,248,0,7,193,248,0, + 7,193,248,0,7,195,240,0,7,195,240,0,7,231,224,0, + 7,239,192,0,3,255,128,0,3,255,0,0,3,252,0,0, + 1,248,0,0,7,252,63,252,15,252,127,254,31,254,31,184, + 63,127,15,128,62,127,7,128,126,63,135,128,252,31,199,128, + 252,31,231,128,252,15,247,0,252,7,255,0,252,3,254,0, + 252,1,252,0,254,0,255,0,127,0,127,128,127,129,255,248, + 63,255,223,248,15,255,15,244,3,252,7,128,7,16,16,13, + 3,19,14,126,254,254,124,124,124,124,124,124,124,60,60,56, + 56,56,13,45,90,16,3,249,0,16,0,120,0,240,1,224, + 3,224,7,192,7,128,15,128,31,0,31,0,63,0,62,0, + 62,0,126,0,126,0,126,0,124,0,252,0,252,0,252,0, + 252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0, + 252,0,126,0,126,0,126,0,126,0,62,0,63,0,63,0, + 31,0,15,128,15,128,7,192,3,192,1,224,0,240,0,120, + 0,16,13,44,88,16,0,249,64,0,240,0,120,0,60,0, + 30,0,31,0,15,128,15,192,7,192,7,224,7,224,3,224, + 3,240,3,240,3,240,1,240,1,248,1,248,1,248,1,248, + 1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,240, + 3,240,3,240,3,240,3,224,3,224,7,224,7,192,7,192, + 15,128,15,0,31,0,62,0,60,0,120,0,240,0,64,0, + 19,20,60,21,1,17,0,48,0,1,240,0,1,240,0,32, + 240,0,112,225,128,120,227,192,126,231,224,127,255,224,31,255, + 0,3,248,0,3,248,0,31,255,0,127,255,192,254,231,192, + 124,227,192,48,225,192,0,240,128,0,240,0,1,240,0,0, + 192,0,18,18,54,20,1,4,0,224,0,1,224,0,1,224, + 0,1,224,0,1,224,0,1,224,0,1,224,0,127,255,192, + 255,255,192,255,255,128,1,224,0,1,224,0,1,224,0,1, + 224,0,1,224,0,1,224,0,1,224,0,1,192,0,10,15, + 30,13,1,247,7,0,63,128,255,192,127,192,63,192,15,192, + 15,192,15,128,15,128,15,0,31,0,30,0,60,0,120,0, + 48,0,15,3,6,17,1,11,127,254,127,252,255,252,8,7, + 7,13,3,255,62,127,255,255,255,254,124,21,46,138,23,1, + 248,0,0,56,0,0,248,0,0,240,0,1,240,0,1,240, + 0,1,224,0,3,224,0,3,224,0,3,192,0,7,192,0, + 7,128,0,15,128,0,15,128,0,15,0,0,31,0,0,31, + 0,0,30,0,0,62,0,0,60,0,0,124,0,0,124,0, + 0,120,0,0,248,0,0,248,0,0,240,0,1,240,0,1, + 224,0,3,224,0,3,224,0,3,192,0,7,192,0,7,192, + 0,7,128,0,15,128,0,15,0,0,31,0,0,31,0,0, + 30,0,0,62,0,0,62,0,0,60,0,0,124,0,0,120, + 0,0,248,0,0,248,0,0,192,0,0,22,29,87,24,1, + 0,0,252,0,3,255,0,7,143,192,15,7,224,30,3,224, + 62,1,240,62,1,240,124,1,248,124,1,248,124,0,248,252, + 0,252,252,0,252,252,0,252,252,0,252,252,0,252,252,0, + 252,252,0,252,252,0,252,252,0,252,124,0,248,124,0,248, + 126,0,248,62,1,240,62,1,240,31,1,224,31,3,192,15, + 135,128,3,255,0,0,252,0,19,29,87,24,3,0,0,16, + 0,0,248,0,7,248,0,63,248,0,255,248,0,225,248,0, + 1,248,0,1,248,0,1,248,0,1,248,0,1,248,0,1, + 248,0,1,248,0,1,248,0,1,248,0,1,248,0,1,248, + 0,1,248,0,1,248,0,1,248,0,1,248,0,1,248,0, + 1,248,0,1,248,0,1,248,0,1,248,0,15,255,0,127, + 255,224,127,255,224,20,29,87,24,1,0,0,255,0,7,255, + 192,15,143,224,63,7,224,62,3,240,126,3,240,126,3,240, + 120,3,240,0,3,240,0,7,224,0,7,224,0,15,192,0, + 15,128,0,31,128,0,31,0,0,62,0,0,124,0,0,248, + 0,0,248,0,1,240,0,3,224,32,7,192,48,15,128,48, + 15,0,48,30,0,112,63,255,240,127,255,240,255,255,240,127, + 255,240,20,29,87,24,1,0,1,254,0,7,255,128,31,31, + 192,63,15,192,62,7,224,126,7,224,60,7,224,0,7,224, + 0,7,192,0,15,192,0,31,128,0,127,0,1,254,0,1, + 255,128,2,63,192,0,15,224,0,7,224,0,3,240,0,3, + 240,0,3,240,0,3,240,0,3,240,0,3,240,64,7,224, + 96,15,224,252,31,192,63,255,128,31,254,0,3,248,0,21, + 29,87,25,2,0,0,1,128,0,15,128,0,31,128,0,63, + 128,0,63,128,0,127,128,0,255,128,0,239,128,1,239,128, + 3,207,128,3,143,128,7,143,128,7,15,128,14,15,128,30, + 15,128,28,15,128,56,15,128,56,15,128,127,255,248,255,255, + 240,255,255,224,0,15,128,0,15,128,0,15,128,0,15,128, + 0,15,128,0,31,192,1,255,240,1,255,240,20,29,87,24, + 2,0,0,0,32,31,255,240,31,255,192,31,255,192,31,255, + 128,28,0,0,28,0,0,28,0,0,60,0,0,60,0,0, + 56,0,0,59,252,0,63,255,0,63,255,128,120,31,192,32, + 15,224,0,7,224,0,7,240,0,3,240,0,3,240,0,3, + 240,0,3,240,0,3,240,0,7,224,64,7,224,224,15,192, + 252,31,128,63,254,0,7,248,0,20,29,87,24,2,0,0, + 1,128,0,31,192,0,127,0,1,252,0,3,240,0,7,192, + 0,15,128,0,31,128,0,63,0,0,62,0,0,126,0,0, + 124,126,0,125,255,128,255,255,192,255,15,224,254,7,224,252, + 7,240,252,3,240,252,3,240,252,3,240,252,3,240,124,3, + 240,126,3,224,126,3,224,62,3,192,31,7,192,15,143,128, + 7,255,0,1,248,0,21,28,84,24,2,0,127,255,240,127, + 255,248,127,255,240,127,255,224,112,1,224,224,1,224,192,1, + 192,64,3,192,0,3,128,0,7,128,0,7,0,0,15,0, + 0,15,0,0,30,0,0,30,0,0,60,0,0,60,0,0, + 124,0,0,120,0,0,248,0,0,240,0,1,240,0,1,240, + 0,3,224,0,3,224,0,7,224,0,15,192,0,6,0,0, + 20,29,87,24,2,0,0,252,0,7,255,128,15,31,192,30, + 15,192,28,7,224,60,7,224,60,7,224,60,7,224,62,15, + 192,63,143,128,31,255,0,31,254,0,15,252,0,3,255,0, + 7,255,128,15,255,192,31,31,224,62,15,240,126,7,240,252, + 3,240,252,3,240,252,3,240,252,3,240,252,3,224,126,3, + 224,126,7,192,63,15,128,31,254,0,3,248,0,20,29,87, + 24,2,255,1,252,0,7,255,0,15,31,128,30,15,192,62, + 7,224,124,7,224,124,7,224,252,3,240,252,3,240,252,3, + 240,252,3,240,252,3,240,254,3,240,126,7,240,127,15,240, + 63,255,240,31,251,224,7,227,224,0,7,224,0,7,192,0, + 7,192,0,15,128,0,31,0,0,62,0,0,252,0,3,248, + 0,15,224,0,63,128,0,56,0,0,8,23,23,13,3,255, + 62,127,255,255,255,254,124,0,0,0,0,0,0,0,0,0, + 62,127,255,255,255,254,124,10,31,62,13,1,247,15,128,31, + 192,63,192,63,192,63,192,31,128,14,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,63, + 128,255,192,127,192,63,192,15,192,15,192,15,128,15,128,15, + 0,31,0,30,0,60,0,120,0,48,0,20,16,48,22,1, + 6,0,0,96,0,1,240,0,15,224,0,127,224,3,255,128, + 15,252,0,127,224,0,127,0,0,254,0,0,255,192,0,63, + 248,0,7,254,0,1,255,192,0,63,224,0,7,240,0,0, + 192,20,10,30,22,1,8,127,255,224,127,255,240,255,255,224, + 0,0,0,0,0,0,0,0,0,0,0,0,127,255,224,127, + 255,240,255,255,224,20,16,48,22,1,6,48,0,0,126,0, + 0,255,192,0,63,240,0,15,254,0,1,255,192,0,63,224, + 0,7,240,0,31,224,0,127,224,3,255,0,31,248,0,127, + 224,0,127,0,0,248,0,0,64,0,0,19,35,105,22,2, + 255,1,254,0,15,255,128,63,31,192,126,15,192,124,7,224, + 252,7,224,252,7,224,252,7,224,240,7,224,0,7,192,0, + 15,192,0,15,128,0,31,128,0,63,0,0,126,0,0,124, + 0,0,248,0,1,240,0,1,224,0,3,224,0,3,192,0, + 3,192,0,3,192,0,3,192,0,3,128,0,0,0,0,0, + 0,0,0,0,0,1,240,0,3,248,0,7,248,0,7,248, + 0,7,248,0,7,240,0,3,224,0,38,42,210,42,2,246, + 0,0,255,192,0,0,7,255,248,0,0,31,255,254,0,0, + 127,255,255,0,0,255,0,255,128,1,248,0,31,192,3,224, + 0,7,224,7,192,0,3,224,15,128,0,1,240,31,0,0, + 1,240,31,0,252,24,248,62,3,254,120,248,60,7,255,240, + 120,124,15,135,240,124,124,31,3,240,124,120,31,3,240,60, + 120,62,3,240,60,248,62,3,240,60,248,126,3,240,60,248, + 126,3,240,60,248,126,3,240,60,248,126,3,240,60,248,126, + 3,240,56,248,126,3,240,56,248,126,3,240,120,252,127,3, + 240,112,252,63,7,240,224,124,63,143,249,224,124,31,255,255, + 192,126,31,251,255,128,62,15,241,254,0,63,3,224,248,0, + 63,128,0,0,0,31,192,0,0,0,15,224,0,0,128,15, + 240,0,1,192,7,252,0,7,192,3,255,128,127,128,0,255, + 255,254,0,0,127,255,252,0,0,31,255,240,0,0,1,255, + 0,0,30,30,120,30,0,0,0,1,128,0,0,7,128,0, + 0,15,192,0,0,31,192,0,0,31,224,0,0,31,224,0, + 0,63,224,0,0,63,240,0,0,59,240,0,0,121,240,0, + 0,121,248,0,0,113,248,0,0,240,252,0,0,240,252,0, + 0,224,252,0,1,224,126,0,1,224,126,0,1,192,126,0, + 3,255,255,0,3,255,255,0,3,128,31,0,7,128,31,128, + 7,0,31,128,7,0,15,192,15,0,15,192,14,0,15,192, + 14,0,7,224,30,0,7,224,255,192,63,252,255,192,63,252, + 26,30,120,29,0,0,3,255,128,0,255,255,240,0,127,193, + 252,0,15,192,126,0,15,192,127,0,15,192,63,0,15,192, + 63,0,15,192,63,0,15,192,63,0,15,192,62,0,15,192, + 126,0,15,192,252,0,15,195,248,0,15,255,224,0,15,255, + 252,0,15,192,254,0,15,192,63,0,15,192,31,128,15,192, + 31,128,15,192,15,192,15,192,15,192,15,192,15,192,15,192, + 15,192,15,192,15,192,15,192,15,128,15,192,31,128,15,192, + 63,0,31,192,254,0,127,255,252,0,127,255,224,0,24,30, + 90,27,1,0,0,31,224,0,255,252,1,255,254,7,224,254, + 15,128,126,31,128,60,31,0,28,62,0,0,62,0,0,126, + 0,0,124,0,0,252,0,0,252,0,0,252,0,0,252,0, + 0,252,0,0,252,0,0,252,0,0,252,0,0,254,0,0, + 126,0,0,126,0,0,127,0,0,63,128,2,63,192,15,31, + 240,62,15,255,248,7,255,240,1,255,192,0,127,0,29,30, + 120,31,0,0,3,255,192,0,255,255,248,0,127,192,254,0, + 143,192,63,128,15,192,31,192,15,192,15,192,15,192,7,224, + 15,192,7,240,15,192,3,240,15,192,3,240,15,192,3,248, + 15,192,1,248,15,192,1,248,15,192,1,248,15,192,1,248, + 15,192,1,248,15,192,1,248,15,192,1,248,15,192,1,248, + 15,192,1,240,15,192,3,240,15,192,3,240,15,192,7,224, + 15,192,7,224,15,192,15,192,15,192,31,128,15,192,63,0, + 31,224,254,0,127,255,248,0,127,255,192,0,23,30,90,25, + 1,0,255,255,248,255,255,252,63,128,56,31,128,56,31,128, + 24,31,128,24,31,128,24,31,128,24,31,128,0,31,128,0, + 31,128,0,31,128,0,31,128,0,31,255,224,31,255,224,31, + 128,192,31,128,0,31,128,0,31,128,0,31,128,0,31,128, + 0,31,128,0,31,128,0,31,128,6,31,128,6,31,128,14, + 31,128,14,63,192,30,255,255,254,255,255,252,22,30,90,24, + 1,0,255,255,248,255,255,252,63,128,60,31,128,28,31,128, + 24,31,128,24,31,128,24,31,128,24,31,128,0,31,128,0, + 31,128,0,31,128,0,31,128,0,31,255,192,31,255,224,31, + 129,128,31,128,0,31,128,0,31,128,0,31,128,0,31,128, + 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, + 31,128,0,63,192,0,255,248,0,255,248,0,27,30,120,29, + 1,0,0,15,248,0,0,127,255,128,1,240,127,128,3,192, + 63,0,7,128,15,0,15,0,14,0,31,0,0,0,62,0, + 0,0,62,0,0,0,126,0,0,0,124,0,0,0,124,0, + 0,0,252,0,0,0,252,0,0,0,252,1,255,224,252,1, + 255,224,252,0,127,192,252,0,31,128,252,0,31,128,254,0, + 31,128,126,0,31,128,127,0,31,128,127,0,31,128,63,128, + 31,128,63,192,31,128,31,240,63,0,15,255,254,0,7,255, + 252,0,1,255,240,0,0,63,128,0,30,30,120,33,1,0, + 255,240,63,252,255,240,63,252,63,192,15,240,31,128,7,224, + 31,128,7,224,31,128,7,224,31,128,7,224,31,128,7,224, + 31,128,7,224,31,128,7,224,31,128,7,224,31,128,7,224, + 31,128,7,224,31,128,7,224,31,255,255,224,31,255,255,224, + 31,128,7,224,31,128,7,224,31,128,7,224,31,128,7,224, + 31,128,7,224,31,128,7,224,31,128,7,224,31,128,7,224, + 31,128,7,224,31,128,7,224,31,128,7,224,63,192,15,240, + 255,240,63,252,255,240,63,252,12,30,60,16,2,0,255,240, + 255,240,63,192,31,128,31,128,31,128,31,128,31,128,31,128, + 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, + 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, + 31,128,31,128,63,192,255,240,255,240,21,40,120,16,249,246, + 0,255,248,0,255,248,0,31,224,0,15,192,0,15,192,0, + 15,192,0,15,192,0,15,192,0,15,192,0,15,192,0,15, + 192,0,15,192,0,15,192,0,15,192,0,15,192,0,15,192, + 0,15,192,0,15,192,0,15,192,0,15,192,0,15,192,0, + 15,192,0,15,192,0,15,192,0,15,192,0,15,192,0,15, + 192,0,15,192,0,15,192,0,15,192,0,15,128,0,15,128, + 0,15,128,0,31,0,24,30,0,62,62,0,127,248,0,255, + 240,0,127,224,0,31,128,0,29,30,120,30,1,0,255,240, + 255,224,255,240,255,224,63,192,31,0,31,128,62,0,31,128, + 124,0,31,128,248,0,31,129,240,0,31,129,224,0,31,131, + 192,0,31,135,128,0,31,143,0,0,31,159,0,0,31,190, + 0,0,31,188,0,0,31,252,0,0,31,254,0,0,31,191, + 0,0,31,159,128,0,31,143,192,0,31,135,224,0,31,135, + 240,0,31,131,248,0,31,129,252,0,31,128,254,0,31,128, + 126,0,31,128,127,0,31,128,63,192,63,192,31,240,255,240, + 15,248,255,240,7,128,23,30,90,24,1,0,255,240,0,255, + 240,0,63,192,0,31,128,0,31,128,0,31,128,0,31,128, + 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, + 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, + 128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128, + 0,31,128,4,31,128,6,31,128,14,31,128,30,63,192,60, + 255,255,252,255,255,252,38,30,150,41,1,0,255,128,0,15, + 248,255,192,0,15,248,15,192,0,31,192,15,224,0,31,192, + 15,224,0,31,192,15,240,0,63,192,15,240,0,63,192,15, + 248,0,127,192,15,248,0,119,192,14,252,0,247,192,14,252, + 0,247,192,14,124,1,231,192,14,126,1,231,192,14,62,1, + 199,192,14,63,3,199,192,14,31,3,135,192,14,31,135,135, + 192,14,31,135,135,192,14,15,143,7,192,14,15,207,7,192, + 30,7,222,7,192,30,7,254,7,192,30,3,252,7,192,30, + 3,252,7,192,30,3,248,7,192,30,1,248,7,224,30,1, + 248,7,224,31,0,240,15,224,255,192,240,63,252,255,192,96, + 63,252,30,30,120,32,1,0,255,0,15,252,255,128,15,252, + 63,192,3,240,31,192,1,224,31,224,1,224,31,240,1,224, + 31,240,1,224,31,248,1,224,31,252,1,224,30,254,1,224, + 30,126,1,224,30,63,1,224,30,63,129,224,30,31,129,224, + 30,15,193,224,30,7,225,224,30,7,225,224,30,3,241,224, + 30,1,249,224,30,1,253,224,30,0,253,224,30,0,127,224, + 30,0,63,224,30,0,63,224,30,0,31,224,30,0,15,224, + 30,0,7,224,63,0,7,224,255,192,3,224,255,192,0,224, + 27,30,120,30,1,0,0,31,192,0,0,255,240,0,3,225, + 252,0,7,128,126,0,15,0,63,0,31,0,31,0,30,0, + 31,128,62,0,15,128,126,0,15,192,124,0,15,192,124,0, + 7,224,252,0,7,224,252,0,7,224,252,0,7,224,252,0, + 7,224,252,0,7,224,252,0,7,224,252,0,7,224,252,0, + 7,224,254,0,7,192,126,0,15,192,126,0,15,128,127,0, + 15,128,63,0,31,0,31,128,31,0,31,192,62,0,15,240, + 252,0,7,255,240,0,1,255,224,0,0,127,0,0,25,30, + 120,27,0,0,3,255,192,0,255,255,248,0,127,193,252,0, + 143,192,126,0,15,192,63,0,15,192,63,0,15,192,31,128, + 15,192,31,128,15,192,31,128,15,192,31,128,15,192,31,128, + 15,192,31,0,15,192,63,0,15,192,62,0,15,192,126,0, + 15,208,252,0,15,223,240,0,15,207,192,0,15,192,0,0, + 15,192,0,0,15,192,0,0,15,192,0,0,15,192,0,0, + 15,192,0,0,15,192,0,0,15,192,0,0,15,192,0,0, + 31,224,0,0,127,252,0,0,127,252,0,0,32,38,152,30, + 1,248,0,31,192,0,0,255,240,0,3,225,252,0,7,128, + 126,0,15,0,63,0,31,0,31,0,30,0,31,128,62,0, + 15,128,126,0,15,192,124,0,15,192,124,0,7,192,252,0, + 7,224,252,0,7,224,252,0,7,224,252,0,7,224,252,0, + 7,224,252,0,7,224,252,0,7,224,252,0,7,224,254,0, + 7,192,126,0,15,192,126,0,15,128,127,0,15,128,63,0, + 31,0,31,128,31,0,31,192,62,0,15,240,252,0,7,255, + 248,0,1,255,224,0,0,127,240,0,0,1,252,0,0,0, + 254,2,0,0,63,135,0,0,31,255,0,0,15,254,0,0, + 3,252,0,0,1,252,0,0,0,120,29,30,120,29,0,0, + 7,255,128,0,255,255,240,0,127,193,252,0,143,192,126,0, + 15,192,126,0,15,192,63,0,15,192,63,0,15,192,63,0, + 15,192,63,0,15,192,63,0,15,192,126,0,15,192,126,0, + 15,192,252,0,15,255,248,0,15,255,240,0,15,255,192,0, + 15,199,192,0,15,195,224,0,15,193,240,0,15,193,240,0, + 15,192,248,0,15,192,252,0,15,192,126,0,15,192,126,0, + 15,192,63,0,15,192,63,128,15,192,31,192,31,224,31,248, + 127,248,15,248,127,248,15,128,20,30,90,25,3,0,1,255, + 0,15,255,192,30,15,224,60,7,192,120,3,192,248,1,128, + 248,0,0,252,0,0,254,0,0,255,0,0,127,192,0,127, + 240,0,63,252,0,31,255,0,7,255,128,1,255,192,0,127, + 224,0,31,224,0,7,240,0,3,240,0,1,240,192,1,240, + 224,1,240,224,1,224,240,3,224,248,3,192,254,15,128,255, + 255,0,127,254,0,15,240,0,27,30,120,28,0,0,127,255, + 255,224,127,255,255,224,112,31,128,224,112,31,128,224,96,31, + 128,224,96,31,128,224,224,31,128,96,64,31,128,96,0,31, + 128,0,0,31,128,0,0,31,128,0,0,31,128,0,0,31, + 128,0,0,31,128,0,0,31,128,0,0,31,128,0,0,31, + 128,0,0,31,128,0,0,31,128,0,0,31,128,0,0,31, + 128,0,0,31,128,0,0,31,128,0,0,31,128,0,0,31, + 128,0,0,31,128,0,0,31,128,0,0,63,192,0,1,255, + 248,0,1,255,248,0,29,30,120,32,1,0,255,240,31,248, + 255,240,31,248,63,192,7,224,31,128,3,192,31,128,3,192, + 31,128,3,192,31,128,3,192,31,128,3,192,31,128,3,192, + 31,128,3,192,31,128,3,192,31,128,3,192,31,128,3,192, + 31,128,3,192,31,128,3,192,31,128,3,192,31,128,3,192, + 31,128,3,192,31,128,3,192,31,128,3,192,31,128,3,192, + 31,128,3,128,31,192,7,128,15,192,7,128,15,224,7,0, + 7,224,15,0,3,248,62,0,1,255,252,0,0,255,240,0, + 0,31,192,0,31,30,120,32,0,0,255,240,7,254,255,240, + 7,254,31,128,0,240,15,192,0,224,15,192,0,224,15,192, + 1,224,7,224,1,192,7,224,3,192,3,240,3,192,3,240, + 3,128,3,240,7,128,1,248,7,128,1,248,7,0,0,248, + 15,0,0,252,14,0,0,252,14,0,0,126,30,0,0,126, + 28,0,0,62,28,0,0,63,60,0,0,63,56,0,0,31, + 248,0,0,31,240,0,0,15,240,0,0,15,240,0,0,15, + 224,0,0,7,224,0,0,7,224,0,0,3,192,0,0,3, + 0,0,41,30,180,41,0,0,255,240,12,3,255,128,255,240, + 30,3,255,128,31,128,30,0,124,0,15,128,30,0,56,0, + 15,128,63,0,120,0,15,128,63,0,120,0,15,192,63,128, + 112,0,7,192,127,128,112,0,7,192,127,128,112,0,7,192, + 127,192,240,0,7,224,247,192,224,0,3,224,231,224,224,0, + 3,224,227,224,224,0,3,225,227,225,224,0,3,241,195,241, + 224,0,3,241,193,241,192,0,1,243,193,241,192,0,1,243, + 128,249,192,0,1,251,128,251,192,0,1,255,128,255,192,0, + 0,255,0,127,128,0,0,255,0,127,128,0,0,254,0,127, + 128,0,0,254,0,63,128,0,0,126,0,63,0,0,0,124, + 0,31,0,0,0,124,0,31,0,0,0,124,0,31,0,0, + 0,120,0,14,0,0,0,48,0,12,0,0,29,30,120,30, + 1,0,255,240,127,240,255,240,127,240,63,192,31,128,31,192, + 15,0,15,192,30,0,7,224,60,0,7,240,60,0,3,240, + 120,0,1,248,240,0,1,252,240,0,0,255,224,0,0,127, + 192,0,0,127,192,0,0,63,128,0,0,31,128,0,0,31, + 192,0,0,63,224,0,0,127,224,0,0,127,240,0,0,243, + 248,0,1,241,248,0,1,225,252,0,3,192,254,0,7,192, + 126,0,7,128,63,0,15,0,63,128,31,0,31,192,63,0, + 63,224,255,192,255,248,255,192,255,248,29,30,120,29,0,0, + 127,0,31,248,255,128,31,248,31,192,3,192,15,192,3,128, + 7,224,7,128,3,240,7,0,3,240,15,0,1,248,14,0, + 1,248,30,0,0,252,28,0,0,124,60,0,0,126,56,0, + 0,63,120,0,0,63,240,0,0,31,240,0,0,31,224,0, + 0,15,224,0,0,15,192,0,0,15,192,0,0,15,192,0, + 0,15,192,0,0,15,192,0,0,15,192,0,0,15,192,0, + 0,15,192,0,0,15,192,0,0,15,192,0,0,31,224,0, + 0,255,252,0,0,255,252,0,23,30,90,26,1,0,63,255, + 254,63,255,254,60,0,254,56,1,252,56,1,248,48,3,248, + 48,7,240,64,7,240,0,15,224,0,15,192,0,31,192,0, + 63,128,0,63,128,0,127,0,0,126,0,0,254,0,1,252, + 0,1,252,0,3,248,0,3,248,0,7,240,0,15,224,0, + 15,224,4,31,192,6,31,192,6,63,128,14,127,0,14,127, + 0,30,255,255,254,127,255,254,12,45,90,16,3,248,255,240, + 255,240,255,240,248,0,248,0,248,0,248,0,248,0,248,0, + 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, + 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, + 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, + 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, + 248,0,255,240,255,240,255,240,21,46,138,23,1,248,224,0, + 0,248,0,0,120,0,0,120,0,0,124,0,0,60,0,0, + 60,0,0,62,0,0,30,0,0,31,0,0,15,0,0,15, + 0,0,15,128,0,7,128,0,7,128,0,7,192,0,3,192, + 0,3,192,0,3,224,0,1,224,0,1,240,0,0,240,0, + 0,240,0,0,248,0,0,120,0,0,120,0,0,124,0,0, + 60,0,0,60,0,0,62,0,0,30,0,0,31,0,0,15, + 0,0,15,0,0,15,128,0,7,128,0,7,128,0,7,192, + 0,3,192,0,3,192,0,1,224,0,1,224,0,1,240,0, + 0,240,0,0,240,0,0,56,12,45,90,16,1,248,255,240, + 255,240,255,240,1,240,1,240,1,240,1,240,1,240,1,240, + 1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240, + 1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240, + 1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240, + 1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240, + 1,240,255,240,255,240,255,240,19,23,69,24,2,13,0,32, + 0,0,112,0,0,240,0,1,240,0,1,248,0,1,248,0, + 3,188,0,3,188,0,7,60,0,7,30,0,6,30,0,14, + 14,0,14,15,0,12,15,0,28,7,128,28,7,128,24,3, + 128,56,3,192,48,3,192,112,1,224,112,1,224,96,0,224, + 192,0,192,21,3,9,23,1,250,127,255,248,127,255,248,255, + 255,240,11,11,22,15,0,24,60,0,252,0,254,0,126,0, + 63,0,31,0,15,128,7,128,3,192,1,192,0,224,23,22, + 66,24,1,0,0,255,0,15,255,128,31,15,192,62,7,224, + 126,7,224,252,7,224,96,7,224,0,7,224,0,31,224,1, + 255,224,7,255,224,31,231,224,63,135,224,63,7,224,126,7, + 224,126,7,224,126,7,224,126,31,228,127,63,252,63,247,254, + 63,231,240,15,131,128,24,36,108,26,0,0,3,0,0,63, + 128,0,255,128,0,127,128,0,31,128,0,31,128,0,31,128, + 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, + 31,128,0,31,128,0,31,131,224,31,143,248,31,191,252,31, + 255,252,31,240,254,31,192,126,31,128,63,31,128,63,31,128, + 31,31,128,31,31,128,31,31,128,31,31,128,31,31,128,30, + 31,128,30,31,128,60,31,128,56,31,240,248,31,255,240,15, + 255,192,3,255,128,0,126,0,20,22,66,22,1,0,0,127, + 128,1,255,240,7,135,224,15,3,224,30,1,224,62,0,192, + 124,0,192,124,0,0,252,0,0,252,0,0,252,0,0,252, + 0,0,252,0,0,252,0,0,254,0,0,126,0,32,127,0, + 112,63,193,224,63,255,192,31,255,128,7,255,0,1,252,0, + 25,36,144,27,2,0,0,0,56,0,0,15,248,0,0,15, + 248,0,0,3,248,0,0,1,248,0,0,1,248,0,0,1, + 248,0,0,1,248,0,0,1,248,0,0,1,248,0,0,1, + 248,0,0,1,248,0,0,1,248,0,0,1,248,0,0,249, + 248,0,7,255,248,0,15,255,248,0,31,135,248,0,63,3, + 248,0,62,1,248,0,126,1,248,0,124,1,248,0,252,1, + 248,0,252,1,248,0,252,1,248,0,252,1,248,0,252,1, + 248,0,252,1,248,0,254,1,248,0,126,1,248,0,127,3, + 248,0,127,135,253,0,63,255,255,128,31,253,254,0,15,248, + 252,0,3,224,224,0,19,22,66,23,2,0,0,252,0,7, + 255,0,15,31,128,30,15,128,62,15,192,124,7,192,124,7, + 224,124,7,224,252,7,224,255,255,224,255,255,128,252,0,0, + 252,0,0,252,0,0,254,0,0,126,0,64,127,0,224,63, + 131,192,63,255,128,31,255,0,15,254,0,3,248,0,20,37, + 111,16,1,0,0,15,128,0,63,224,0,255,240,1,255,224, + 3,227,224,7,193,192,7,193,0,15,128,0,15,128,0,15, + 128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128, + 0,127,255,0,255,254,0,31,132,0,31,128,0,31,128,0, + 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, + 128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128, + 0,31,128,0,31,128,0,31,128,0,63,224,0,255,252,0, + 255,252,0,25,33,132,25,0,245,0,126,1,128,3,255,223, + 128,7,135,255,0,15,3,254,0,30,1,240,0,30,0,248, + 0,62,0,248,0,62,0,248,0,62,0,248,0,62,0,248, + 0,63,0,240,0,31,129,224,0,15,195,192,0,7,255,128, + 0,1,254,0,0,3,224,0,0,7,192,0,0,15,192,0, + 0,31,254,0,0,31,255,240,0,15,255,252,0,7,255,254, + 0,15,159,255,0,62,0,127,0,124,0,63,0,252,0,31, + 0,252,0,30,0,254,0,30,0,255,0,60,0,127,192,248, + 0,63,255,240,0,15,255,192,0,1,254,0,0,26,36,144, + 28,1,0,1,128,0,0,63,128,0,0,255,128,0,0,255, + 128,0,0,31,128,0,0,31,128,0,0,31,128,0,0,31, + 128,0,0,31,128,0,0,31,128,0,0,31,128,0,0,31, + 128,0,0,31,128,0,0,31,128,0,0,31,129,240,0,31, + 143,252,0,31,159,252,0,31,255,254,0,31,248,254,0,31, + 224,126,0,31,192,126,0,31,128,126,0,31,128,126,0,31, + 128,126,0,31,128,126,0,31,128,126,0,31,128,126,0,31, + 128,126,0,31,128,126,0,31,128,126,0,31,128,126,0,31, + 128,126,0,31,128,126,0,63,192,255,0,255,243,255,192,255, + 243,255,192,12,32,64,14,1,0,7,128,15,192,31,192,31, + 192,31,128,15,0,0,0,0,0,0,0,0,0,3,128,127, + 128,255,128,127,128,31,128,31,128,31,128,31,128,31,128,31, + 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, + 128,31,128,63,192,255,240,255,240,17,43,129,14,250,245,0, + 15,0,0,31,128,0,63,128,0,63,128,0,63,0,0,30, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,128, + 0,127,128,0,255,128,0,127,128,0,31,128,0,31,128,0, + 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, + 128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128, + 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, + 31,128,0,31,128,0,31,0,0,31,0,0,62,0,16,62, + 0,60,124,0,127,248,0,255,224,0,255,192,0,63,0,0, + 26,36,144,26,1,0,1,128,0,0,63,128,0,0,255,128, + 0,0,255,128,0,0,31,128,0,0,31,128,0,0,31,128, + 0,0,31,128,0,0,31,128,0,0,31,128,0,0,31,128, + 0,0,31,128,0,0,31,128,0,0,31,128,0,0,31,129, + 255,128,31,129,255,128,31,128,252,0,31,128,248,0,31,131, + 224,0,31,135,192,0,31,143,128,0,31,158,0,0,31,188, + 0,0,31,252,0,0,31,190,0,0,31,191,0,0,31,159, + 128,0,31,143,192,0,31,135,224,0,31,135,240,0,31,131, + 248,0,31,129,252,0,31,128,252,0,63,128,255,192,255,240, + 127,192,255,240,62,0,12,36,72,14,1,0,1,128,63,128, + 255,128,255,128,31,128,31,128,31,128,31,128,31,128,31,128, + 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, + 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, + 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,192, + 255,240,255,240,39,22,110,41,1,0,3,3,224,31,128,127, + 143,248,127,192,255,159,249,255,224,127,255,255,255,240,31,241, + 255,135,240,31,224,255,3,240,31,128,252,3,240,31,128,252, + 3,240,31,128,252,3,240,31,128,252,3,240,31,128,252,3, + 240,31,128,252,3,240,31,128,252,3,240,31,128,252,3,240, + 31,128,252,3,240,31,128,252,3,240,31,128,252,3,240,31, + 128,252,3,240,31,128,252,3,240,63,128,252,3,248,255,247, + 255,159,254,255,247,255,159,254,26,22,88,28,1,0,3,1, + 240,0,127,135,252,0,255,159,252,0,63,191,254,0,31,248, + 254,0,31,224,126,0,31,192,126,0,31,128,126,0,31,128, + 126,0,31,128,126,0,31,128,126,0,31,128,126,0,31,128, + 126,0,31,128,126,0,31,128,126,0,31,128,126,0,31,128, + 126,0,31,128,126,0,31,128,126,0,63,192,255,0,255,243, + 255,192,255,243,255,192,21,22,66,25,2,0,0,252,0,3, + 255,0,15,15,192,30,7,224,62,7,224,62,3,240,124,3, + 240,124,1,248,252,1,248,252,1,248,252,1,248,252,1,248, + 252,1,248,252,1,248,252,1,240,126,1,240,126,3,224,62, + 3,224,63,3,192,31,135,128,7,254,0,1,248,0,24,33, + 99,27,1,245,3,3,224,127,143,248,255,159,252,63,255,252, + 31,240,254,31,192,126,31,128,63,31,128,63,31,128,31,31, + 128,31,31,128,31,31,128,31,31,128,31,31,128,30,31,128, + 30,31,128,62,31,192,60,31,240,124,31,255,248,31,255,240, + 31,159,224,31,135,128,31,128,0,31,128,0,31,128,0,31, + 128,0,31,128,0,31,128,0,31,128,0,31,128,0,63,192, + 0,255,248,0,255,248,0,24,33,99,26,2,245,0,124,8, + 1,255,28,7,255,248,15,135,248,30,3,248,62,1,248,124, + 1,248,124,1,248,252,1,248,252,1,248,252,1,248,252,1, + 248,252,1,248,252,1,248,254,1,248,126,1,248,127,3,248, + 127,143,248,63,255,248,31,253,248,15,249,248,3,225,248,0, + 1,248,0,1,248,0,1,248,0,1,248,0,1,248,0,1, + 248,0,1,248,0,1,248,0,3,248,0,31,255,0,31,255, + 20,22,66,21,1,0,3,7,192,127,143,240,255,191,240,63, + 255,224,31,241,224,31,224,224,31,192,224,31,128,192,31,128, + 192,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, + 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, + 192,0,255,248,0,255,248,0,16,22,44,20,2,0,7,248, + 31,254,60,62,120,30,248,14,248,12,252,0,255,0,127,192, + 127,240,63,248,15,254,3,254,0,255,128,127,192,63,224,31, + 224,31,240,30,248,60,255,248,63,224,18,30,90,18,255,0, + 0,192,0,1,192,0,7,192,0,15,192,0,15,192,0,15, + 192,0,15,192,0,15,192,0,63,255,192,255,255,128,15,193, + 0,15,192,0,15,192,0,15,192,0,15,192,0,15,192,0, + 15,192,0,15,192,0,15,192,0,15,192,0,15,192,0,15, + 192,0,15,192,0,15,192,0,15,192,128,15,227,192,15,255, + 128,7,255,0,3,252,0,1,240,0,26,22,88,27,1,0, + 3,128,28,0,255,135,252,0,255,135,252,0,31,128,252,0, + 31,128,252,0,31,128,252,0,31,128,252,0,31,128,252,0, + 31,128,252,0,31,128,252,0,31,128,252,0,31,128,252,0, + 31,128,252,0,31,128,252,0,31,128,252,0,31,128,252,0, + 31,129,252,0,31,199,252,128,31,255,255,128,15,254,255,192, + 7,248,126,0,3,224,112,0,24,22,66,24,0,0,255,224, + 255,255,224,255,63,128,60,31,128,60,31,128,56,15,192,120, + 15,192,112,7,192,112,7,224,240,7,224,224,3,241,224,3, + 241,192,1,249,192,1,251,128,0,255,128,0,255,128,0,127, + 0,0,127,0,0,126,0,0,62,0,0,60,0,0,24,0, + 34,22,110,34,0,0,255,224,96,63,192,255,224,112,63,192, + 63,0,240,7,0,31,0,248,15,0,31,128,248,14,0,15, + 129,252,14,0,15,129,252,30,0,15,195,252,28,0,7,195, + 254,28,0,7,195,190,28,0,7,231,63,60,0,3,231,31, + 56,0,3,239,31,184,0,3,254,31,248,0,1,254,15,240, + 0,1,252,15,240,0,1,252,7,240,0,0,252,7,224,0, + 0,248,3,224,0,0,248,3,224,0,0,112,1,192,0,0, + 96,1,128,0,25,22,88,25,0,0,127,241,255,0,127,241, + 255,0,31,192,124,0,15,224,112,0,7,224,224,0,7,241, + 224,0,3,251,192,0,1,255,128,0,0,255,0,0,0,254, + 0,0,0,127,0,0,0,127,0,0,0,127,128,0,0,255, + 192,0,1,207,224,0,3,199,224,0,7,131,240,0,7,3, + 248,0,14,1,252,0,30,1,254,0,255,135,255,128,255,135, + 255,128,25,33,132,24,255,245,127,240,127,128,127,240,127,128, + 31,192,30,0,15,192,28,0,15,192,28,0,7,224,60,0, + 7,224,56,0,3,240,56,0,3,240,112,0,1,240,112,0, + 1,248,240,0,1,248,224,0,0,252,224,0,0,253,224,0, + 0,125,192,0,0,127,192,0,0,127,128,0,0,63,128,0, + 0,63,128,0,0,31,0,0,0,31,0,0,0,14,0,0, + 0,14,0,0,0,30,0,0,0,28,0,0,0,60,0,0, + 0,120,0,0,32,248,0,0,63,240,0,0,127,224,0,0, + 255,192,0,0,255,128,0,0,126,0,0,0,20,22,66,22, + 1,0,63,255,240,63,255,240,56,15,224,56,15,192,48,31, + 192,48,31,128,32,63,0,0,127,0,0,126,0,0,252,0, + 1,252,0,1,248,0,3,240,0,7,240,0,7,224,0,15, + 224,48,31,192,48,31,128,112,63,128,112,127,0,240,127,255, + 240,255,255,224,14,45,90,17,2,249,0,8,0,60,0,248, + 1,240,3,224,7,224,7,192,15,192,15,192,15,192,15,192, + 15,192,15,224,7,224,7,224,7,224,7,224,7,224,7,192, + 15,192,15,128,63,0,254,0,255,128,31,192,7,192,7,224, + 7,224,7,224,7,224,7,224,7,224,15,224,15,192,15,192, + 15,192,15,192,15,192,15,192,7,192,7,224,3,240,0,248, + 0,124,0,8,4,49,49,11,4,246,48,240,240,240,240,240, + 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, + 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, + 240,240,240,240,240,240,240,240,240,240,192,14,44,88,17,1, + 249,64,0,248,0,124,0,63,0,31,128,15,128,15,192,15, + 192,15,192,15,192,15,192,15,192,31,192,31,128,31,128,31, + 128,31,128,31,128,31,128,15,192,15,252,7,252,1,248,7, + 224,15,192,15,128,31,128,31,128,31,128,31,128,31,128,31, + 192,15,192,15,192,15,192,15,192,15,192,15,128,31,128,31, + 0,62,0,124,0,240,0,64,0,21,8,24,23,1,11,7, + 128,8,15,224,24,31,240,16,63,252,48,49,255,224,96,127, + 192,64,31,128,192,15,0,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,255,255,255,255,255,255,255,0,0,0,12,0,0,8,35, + 35,15,3,243,62,127,255,255,255,254,124,0,0,12,28,28, + 28,60,60,60,60,60,62,62,62,62,62,62,62,62,126,126, + 126,126,126,127,126,120,96,21,30,90,24,2,255,0,24,0, + 0,56,0,0,56,0,0,56,0,0,127,192,3,255,240,7, + 255,248,31,187,240,62,56,240,60,56,96,124,56,32,120,56, + 0,248,56,0,248,56,0,248,56,0,248,56,0,248,56,0, + 248,56,0,252,56,0,124,56,16,126,56,56,63,56,240,31, + 251,224,15,255,192,7,255,128,1,252,0,0,56,0,0,56, + 0,0,56,0,0,48,0,22,29,87,24,1,0,0,31,192, + 0,255,248,1,225,248,3,192,248,7,192,120,7,128,112,15, + 128,48,15,128,48,15,128,0,31,128,0,31,128,0,31,128, + 0,31,128,0,31,128,0,255,255,0,255,255,0,31,128,0, + 31,128,0,31,128,0,31,128,0,31,128,16,31,0,12,31, + 0,24,30,0,56,62,0,120,63,255,248,127,255,248,255,255, + 248,128,15,240,20,20,60,24,2,4,64,0,32,224,0,96, + 113,248,240,63,255,192,31,15,128,30,7,128,28,3,128,56, + 1,192,56,1,192,56,1,192,56,1,192,56,1,192,60,3, + 192,30,7,128,31,15,128,31,255,128,57,249,192,112,0,224, + 224,0,112,64,0,32,27,28,112,24,254,0,127,0,127,224, + 255,128,127,224,127,192,15,0,15,224,30,0,15,224,30,0, + 7,240,60,0,3,240,60,0,3,248,56,0,1,252,120,0, + 0,252,112,0,0,254,240,0,0,126,224,0,0,127,224,0, + 0,63,192,0,0,63,192,0,0,31,192,0,0,31,128,0, + 15,255,255,0,15,255,254,0,0,31,128,0,0,31,128,0, + 0,31,128,0,0,31,128,0,0,31,128,0,0,31,128,0, + 0,63,192,0,1,255,248,0,1,255,248,0,4,49,49,11, + 4,246,48,240,240,240,240,240,240,240,240,240,240,240,240,240, + 240,240,240,240,240,240,240,224,0,0,0,0,0,112,240,240, + 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, + 240,240,192,18,34,102,23,3,0,3,252,0,15,255,0,30, + 31,0,60,15,0,124,7,0,124,6,0,126,2,0,127,128, + 0,63,224,0,63,240,0,63,252,0,127,254,0,123,255,0, + 240,255,128,240,63,128,240,31,192,240,7,192,248,7,192,124, + 3,192,127,3,192,63,195,192,31,243,128,15,255,128,7,255, + 0,1,255,0,0,127,128,96,63,128,96,31,128,112,15,128, + 112,15,128,120,15,0,126,30,0,127,252,0,15,240,0,17, + 7,21,19,1,26,56,7,0,124,15,128,252,31,128,252,31, + 128,252,31,128,248,31,0,112,14,0,31,31,124,35,2,0, + 0,31,224,0,0,127,252,0,1,240,31,0,7,192,7,128, + 15,0,1,224,30,0,0,224,28,3,240,112,56,31,254,56, + 56,60,124,56,112,120,60,28,112,240,28,28,240,240,24,28, + 224,224,0,14,225,224,0,14,225,224,0,14,225,224,0,14, + 225,224,0,14,225,224,0,14,225,240,0,14,240,240,0,30, + 112,248,6,28,112,126,30,28,56,127,252,56,56,31,240,56, + 28,7,192,112,14,0,0,224,15,0,1,224,7,192,7,128, + 1,240,31,0,0,127,252,0,0,31,240,0,12,16,32,13, + 1,14,15,0,63,128,99,192,227,192,131,192,7,192,63,192, + 123,192,243,192,243,192,247,224,255,240,115,128,0,0,255,224, + 255,224,20,22,66,25,2,0,0,192,32,1,192,112,1,192, + 224,3,129,224,7,131,192,15,7,192,31,15,128,62,15,128, + 126,31,0,252,63,0,252,126,0,252,126,0,252,63,0,126, + 31,0,62,15,128,31,15,128,15,7,192,7,131,192,3,129, + 224,1,192,224,0,192,112,0,192,32,21,11,33,24,2,4, + 127,255,248,255,255,248,255,255,248,0,0,120,0,0,120,0, + 0,120,0,0,120,0,0,120,0,0,120,0,0,120,0,0, + 96,15,3,6,17,1,11,127,254,127,252,255,252,17,17,51, + 17,0,17,3,224,0,15,248,0,60,30,0,48,6,0,103, + 227,0,99,51,0,195,49,128,195,49,128,195,225,128,195,65, + 128,195,97,128,99,35,0,99,51,0,55,158,0,60,30,0, + 15,248,0,3,224,0,20,4,12,24,2,27,127,255,240,255, + 255,240,255,255,224,255,255,224,11,13,26,17,3,17,15,0, + 31,192,63,192,123,224,113,224,241,224,241,224,241,224,241,192, + 251,192,127,128,127,0,30,0,18,22,66,20,1,3,0,224, + 0,1,224,0,1,224,0,1,224,0,1,224,0,1,224,0, + 1,224,0,127,255,192,255,255,192,255,255,128,1,224,0,1, + 224,0,1,224,0,1,224,0,1,224,0,1,224,0,1,192, + 0,0,0,0,0,0,0,127,255,192,127,255,192,255,255,128, + 13,17,34,17,2,15,7,224,31,240,120,248,120,120,248,120, + 0,120,0,240,0,224,1,224,3,192,7,128,15,0,30,8, + 60,8,120,24,255,248,255,248,13,18,36,17,1,14,7,224, + 31,240,60,248,120,120,124,120,0,120,0,240,1,224,7,240, + 5,240,0,120,0,120,0,120,0,120,128,120,224,240,127,224, + 31,128,11,11,22,15,5,24,15,0,15,192,31,224,31,128, + 63,0,62,0,124,0,120,0,240,0,224,0,64,0,27,33, + 132,28,1,245,3,0,6,0,255,128,254,0,255,128,126,0, + 63,128,126,0,31,128,126,0,31,128,126,0,31,128,126,0, + 31,128,126,0,31,128,126,0,31,128,126,0,31,128,126,0, + 31,128,126,0,31,128,126,0,31,128,126,0,31,128,126,0, + 31,192,254,0,31,227,254,0,31,255,254,64,31,255,127,224, + 30,254,127,192,30,124,63,128,30,56,28,0,30,0,0,0, + 30,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0, + 31,0,0,0,31,128,0,0,31,128,0,0,31,192,0,0, + 31,0,0,0,24,0,0,0,26,36,144,29,1,250,1,255, + 255,192,7,255,255,192,31,195,255,0,63,3,222,0,126,3, + 222,0,124,3,222,0,252,3,222,0,252,3,222,0,252,3, + 222,0,252,3,222,0,252,3,222,0,126,3,222,0,127,3, + 222,0,63,3,222,0,31,195,222,0,7,255,222,0,1,255, + 222,0,0,3,222,0,0,3,222,0,0,3,222,0,0,3, + 222,0,0,3,222,0,0,3,222,0,0,3,222,0,0,3, + 222,0,0,3,222,0,0,3,222,0,0,3,222,0,0,3, + 222,0,0,3,222,0,0,3,222,0,0,3,222,0,0,3, + 222,0,0,7,255,0,0,31,255,192,0,31,255,192,7,7, + 7,10,1,13,60,126,254,254,254,252,120,10,10,20,11,1, + 246,14,0,28,0,30,0,63,128,63,192,15,192,15,192,31, + 128,254,0,112,0,13,17,34,17,2,15,1,128,15,128,255, + 128,71,128,7,128,7,128,7,128,7,128,7,128,7,128,7, + 128,7,128,7,128,7,128,7,128,63,240,127,248,11,16,32, + 13,1,14,15,0,63,128,123,192,113,192,241,224,241,224,241, + 224,241,224,241,224,241,192,123,192,63,128,30,0,0,0,255, + 224,255,224,20,22,66,25,3,0,64,32,0,224,112,0,112, + 56,0,120,28,0,56,30,0,60,15,0,30,15,128,31,7, + 192,31,135,224,15,199,240,15,227,240,15,227,240,15,199,240, + 31,135,224,31,7,192,30,15,128,60,15,0,56,30,0,120, + 28,0,112,56,0,224,48,0,64,96,0,27,29,116,30,2, + 0,3,0,1,192,63,0,3,128,255,0,7,128,15,0,15, + 0,15,0,14,0,15,0,28,0,15,0,60,0,15,0,120, + 0,15,0,112,0,15,0,240,0,15,1,224,0,15,1,192, + 0,31,131,128,0,255,231,128,0,0,15,0,0,0,14,1, + 0,0,28,15,128,0,60,15,128,0,120,31,128,0,112,55, + 128,0,224,55,128,1,224,103,128,3,192,199,128,3,129,199, + 128,7,129,255,224,15,3,255,192,30,0,7,128,28,0,7, + 128,60,0,63,224,26,29,116,30,2,0,3,0,1,192,63, + 0,7,128,255,0,7,128,15,0,15,0,15,0,30,0,15, + 0,60,0,15,0,60,0,15,0,120,0,15,0,240,0,15, + 0,224,0,15,1,224,0,15,3,192,0,31,135,128,0,255, + 231,0,0,0,15,0,0,0,30,63,0,0,60,127,192,0, + 56,231,192,0,121,195,192,0,241,131,192,1,224,3,128,1, + 192,7,0,3,192,14,0,7,128,28,0,15,0,56,0,14, + 0,112,64,30,0,224,64,60,1,255,192,120,3,255,192,28, + 29,116,30,1,0,15,128,0,224,63,192,1,192,115,224,3, + 192,241,224,7,128,129,192,7,0,3,128,14,0,15,192,30, + 0,15,224,60,0,1,240,56,0,0,240,120,0,0,240,240, + 0,0,240,224,0,225,225,192,0,127,195,192,0,31,7,128, + 0,0,7,0,128,0,14,7,192,0,30,7,192,0,60,11, + 192,0,56,27,192,0,112,19,192,0,240,51,192,1,224,99, + 192,1,192,227,192,3,192,255,240,7,129,255,224,15,0,3, + 192,14,0,3,192,30,0,31,240,18,35,105,22,2,243,0, + 248,0,1,252,0,3,252,0,3,252,0,3,252,0,3,248, + 0,1,240,0,0,0,0,0,0,0,0,0,0,0,112,0, + 0,240,0,0,240,0,0,240,0,0,240,0,1,240,0,1, + 224,0,3,224,0,7,192,0,15,192,0,15,128,0,31,0, + 0,63,0,0,126,0,0,126,0,0,252,0,0,252,3,192, + 252,15,192,252,15,192,252,15,192,252,15,128,126,31,128,127, + 31,0,63,254,0,15,240,0,30,42,168,30,0,0,0,32, + 0,0,0,112,0,0,0,248,0,0,1,252,0,0,1,254, + 0,0,0,255,0,0,0,63,128,0,0,15,192,0,0,3, + 224,0,0,0,224,0,0,0,64,0,0,0,0,0,0,1, + 128,0,0,7,128,0,0,15,192,0,0,31,192,0,0,31, + 224,0,0,31,224,0,0,63,224,0,0,63,240,0,0,59, + 240,0,0,121,240,0,0,121,248,0,0,113,248,0,0,240, + 252,0,0,240,252,0,0,224,252,0,1,224,126,0,1,224, + 126,0,1,192,126,0,3,255,255,0,3,255,255,0,3,128, + 31,0,7,128,31,128,7,0,31,128,7,0,15,192,15,0, + 15,192,14,0,15,192,14,0,7,224,30,0,7,224,255,192, + 63,252,255,192,63,252,30,42,168,30,0,0,0,0,32,0, + 0,0,48,0,0,0,124,0,0,0,254,0,0,1,254,0, + 0,3,248,0,0,7,224,0,0,15,128,0,0,31,0,0, + 0,60,0,0,0,16,0,0,0,0,0,0,0,1,128,0, + 0,7,128,0,0,15,192,0,0,31,192,0,0,31,224,0, + 0,31,224,0,0,63,224,0,0,63,240,0,0,59,240,0, + 0,121,240,0,0,121,248,0,0,113,248,0,0,240,252,0, + 0,240,252,0,0,224,252,0,1,224,126,0,1,224,126,0, + 1,192,126,0,3,255,255,0,3,255,255,0,3,128,31,0, + 7,128,31,128,7,0,31,128,7,0,15,192,15,0,15,192, + 14,0,15,192,14,0,7,224,30,0,7,224,255,192,63,252, + 255,192,63,252,30,41,164,30,0,0,0,7,0,0,0,7, + 128,0,0,15,192,0,0,31,224,0,0,63,240,0,0,127, + 248,0,0,248,248,0,1,240,60,0,1,192,14,0,1,0, + 8,0,0,0,0,0,0,1,128,0,0,7,128,0,0,15, + 192,0,0,31,192,0,0,31,224,0,0,31,224,0,0,63, + 224,0,0,63,240,0,0,59,240,0,0,121,240,0,0,121, + 248,0,0,113,248,0,0,240,252,0,0,240,252,0,0,224, + 252,0,1,224,126,0,1,224,126,0,1,192,126,0,3,255, + 255,0,3,255,255,0,3,128,31,0,7,128,31,128,7,0, + 31,128,7,0,15,192,15,0,15,192,14,0,15,192,14,0, + 7,224,30,0,7,224,255,192,63,252,255,192,63,252,30,40, + 160,30,0,0,0,16,4,0,0,127,7,0,0,255,254,0, + 1,255,254,0,1,255,252,0,3,255,248,0,3,3,240,0, + 2,0,64,0,0,0,0,0,0,0,0,0,0,1,128,0, + 0,7,128,0,0,15,192,0,0,31,192,0,0,31,224,0, + 0,31,224,0,0,63,224,0,0,63,240,0,0,59,240,0, + 0,121,240,0,0,121,248,0,0,113,248,0,0,240,252,0, + 0,240,252,0,0,224,252,0,1,224,126,0,1,224,126,0, + 1,192,126,0,3,255,255,0,3,255,255,0,3,128,31,0, + 7,128,31,128,7,0,31,128,7,0,15,192,15,0,15,192, + 14,0,15,192,14,0,7,224,30,0,7,224,255,192,63,252, + 255,192,63,252,30,40,160,30,0,0,0,64,16,0,0,240, + 60,0,1,248,126,0,1,248,126,0,1,248,126,0,1,240, + 124,0,1,240,124,0,0,64,32,0,0,0,0,0,0,0, + 0,0,0,1,128,0,0,7,128,0,0,15,192,0,0,31, + 192,0,0,31,224,0,0,31,224,0,0,63,224,0,0,63, + 240,0,0,59,240,0,0,121,240,0,0,121,248,0,0,113, + 248,0,0,240,252,0,0,240,252,0,0,224,252,0,1,224, + 126,0,1,224,126,0,1,192,126,0,3,255,255,0,3,255, + 255,0,3,128,31,0,7,128,31,128,7,0,31,128,7,0, + 15,192,15,0,15,192,14,0,15,192,14,0,7,224,30,0, + 7,224,255,192,63,252,255,192,63,252,30,42,168,30,0,0, + 0,1,0,0,0,15,224,0,0,31,224,0,0,28,240,0, + 0,60,240,0,0,60,240,0,0,60,224,0,0,63,224,0, + 0,31,128,0,0,4,0,0,0,0,0,0,0,0,0,0, + 0,1,128,0,0,7,128,0,0,15,192,0,0,31,192,0, + 0,31,224,0,0,31,224,0,0,63,224,0,0,63,240,0, + 0,59,240,0,0,121,240,0,0,121,248,0,0,113,248,0, + 0,240,252,0,0,240,252,0,0,224,252,0,1,224,126,0, + 1,224,126,0,1,192,126,0,3,255,255,0,3,255,255,0, + 3,128,31,0,7,128,31,128,7,0,31,128,7,0,15,192, + 15,0,15,192,14,0,15,192,14,0,7,224,30,0,7,224, + 255,192,63,252,255,192,63,252,38,30,150,39,0,0,0,127, + 255,255,240,0,127,255,255,248,0,15,255,0,112,0,7,255, + 0,112,0,15,63,0,112,0,15,63,0,48,0,15,63,0, + 48,0,30,63,0,48,0,30,63,0,0,0,60,63,0,0, + 0,60,63,0,0,0,60,63,0,0,0,120,63,0,0,0, + 127,255,255,192,0,255,255,255,128,0,240,63,1,128,0,224, + 63,0,0,1,224,63,0,0,1,224,63,0,0,3,192,63, + 0,0,3,192,63,0,0,3,128,63,0,0,7,128,63,0, + 0,7,128,63,0,12,15,0,63,0,12,15,0,63,0,28, + 14,0,63,0,28,31,0,127,128,124,255,193,255,255,248,255, + 193,255,255,248,24,40,120,27,1,246,0,31,224,0,255,252, + 1,255,254,7,224,254,15,192,126,31,128,60,31,0,28,62, + 0,0,62,0,0,126,0,0,124,0,0,124,0,0,252,0, + 0,252,0,0,252,0,0,252,0,0,252,0,0,252,0,0, + 252,0,0,252,0,0,254,0,0,126,0,0,127,0,0,63, + 128,2,63,128,7,31,224,15,15,252,254,7,255,248,3,255, + 240,0,255,192,0,30,0,0,28,0,0,31,0,0,63,192, + 0,63,192,0,15,192,0,15,128,0,31,128,0,254,0,0, + 112,0,23,42,126,25,1,0,1,0,0,3,128,0,15,192, + 0,15,224,0,31,240,0,7,248,0,1,252,0,0,126,0, + 0,31,0,0,7,0,0,2,0,0,0,0,255,255,248,255, + 255,252,63,128,56,31,128,56,31,128,24,31,128,24,31,128, + 24,31,128,24,31,128,0,31,128,0,31,128,0,31,128,0, + 31,128,0,31,255,224,31,255,224,31,128,192,31,128,0,31, + 128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128, + 0,31,128,6,31,128,6,31,128,14,31,128,14,63,192,30, + 255,255,254,255,255,252,23,42,126,25,1,0,0,2,0,0, + 3,128,0,7,224,0,15,240,0,31,240,0,63,192,0,127, + 0,0,252,0,1,240,0,1,192,0,1,0,0,0,0,0, + 255,255,248,255,255,252,63,128,56,31,128,56,31,128,24,31, + 128,24,31,128,24,31,128,24,31,128,0,31,128,0,31,128, + 0,31,128,0,31,128,0,31,255,224,31,255,224,31,128,192, + 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, + 128,0,31,128,0,31,128,6,31,128,6,31,128,14,31,128, + 14,63,192,30,255,255,254,255,255,252,23,41,123,25,1,0, + 0,56,0,0,124,0,0,254,0,0,255,0,1,255,0,3, + 255,128,7,199,192,15,1,224,14,0,224,8,0,64,0,0, + 0,255,255,248,255,255,252,63,128,56,31,128,56,31,128,24, + 31,128,24,31,128,24,31,128,24,31,128,0,31,128,0,31, + 128,0,31,128,0,31,128,0,31,255,224,31,255,224,31,128, + 192,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, + 31,128,0,31,128,0,31,128,6,31,128,6,31,128,14,31, + 128,14,63,192,30,255,255,254,255,255,252,23,40,120,25,1, + 0,2,0,128,7,129,224,15,195,240,15,195,240,15,195,240, + 15,131,224,15,3,192,4,1,0,0,0,0,0,0,0,255, + 255,248,255,255,252,63,128,56,31,128,56,31,128,24,31,128, + 24,31,128,24,31,128,24,31,128,0,31,128,0,31,128,0, + 31,128,0,31,128,0,31,255,224,31,255,224,31,128,192,31, + 128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128, + 0,31,128,0,31,128,6,31,128,6,31,128,14,31,128,14, + 63,192,30,255,255,254,255,255,252,15,42,84,16,255,0,8, + 0,28,0,62,0,127,0,127,128,191,192,15,224,3,240,0, + 248,0,56,0,16,0,0,31,254,31,254,7,248,3,240,3, + 240,3,240,3,240,3,240,3,240,3,240,3,240,3,240,3, + 240,3,240,3,240,3,240,3,240,3,240,3,240,3,240,3, + 240,3,240,3,240,3,240,3,240,3,240,3,240,7,248,31, + 254,31,254,14,42,84,16,2,0,0,128,0,224,1,248,3, + 252,7,252,15,240,31,192,63,0,124,0,112,0,32,0,0, + 0,255,240,255,240,63,192,31,128,31,128,31,128,31,128,31, + 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, + 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, + 128,31,128,31,128,31,128,63,192,255,240,255,240,16,41,82, + 16,0,0,3,128,7,192,15,224,15,240,31,240,63,248,124, + 124,240,30,224,15,128,4,0,0,63,252,63,252,15,240,7, + 224,7,224,7,224,7,224,7,224,7,224,7,224,7,224,7, + 224,7,224,7,224,7,224,7,224,7,224,7,224,7,224,7, + 224,7,224,7,224,7,224,7,224,7,224,7,224,7,224,15, + 240,63,252,63,252,16,40,80,16,0,0,32,8,120,30,252, + 63,252,63,252,63,248,62,240,60,64,16,0,0,0,0,63, + 252,63,252,15,240,7,224,7,224,7,224,7,224,7,224,7, + 224,7,224,7,224,7,224,7,224,7,224,7,224,7,224,7, + 224,7,224,7,224,7,224,7,224,7,224,7,224,7,224,7, + 224,7,224,7,224,15,240,63,252,63,252,29,30,120,31,0, + 0,3,255,192,0,255,255,248,0,127,192,254,0,143,192,63, + 128,15,192,31,192,15,192,15,192,15,192,7,224,15,192,7, + 240,15,192,3,240,15,192,3,240,15,192,3,248,15,192,1, + 248,15,192,1,248,127,255,1,248,255,255,1,248,15,192,1, + 248,15,192,1,248,15,192,1,248,15,192,1,248,15,192,1, + 240,15,192,3,240,15,192,3,240,15,192,7,224,15,192,7, + 224,15,192,15,192,15,192,31,128,15,192,63,0,31,224,254, + 0,127,255,248,0,127,255,192,0,30,40,160,32,1,0,0, + 16,4,0,0,127,7,0,0,255,255,0,0,255,254,0,1, + 255,252,0,3,255,252,0,3,3,248,0,2,0,64,0,0, + 0,0,0,0,0,0,0,255,0,15,252,255,128,15,252,63, + 192,3,240,31,192,1,224,31,224,1,224,31,240,1,224,31, + 240,1,224,31,248,1,224,31,252,1,224,30,254,1,224,30, + 126,1,224,30,63,1,224,30,63,129,224,30,31,129,224,30, + 15,193,224,30,7,225,224,30,7,225,224,30,3,241,224,30, + 1,249,224,30,1,253,224,30,0,253,224,30,0,127,224,30, + 0,63,224,30,0,63,224,30,0,31,224,30,0,15,224,30, + 0,7,224,63,0,7,224,255,192,3,224,255,192,0,224,27, + 42,168,30,1,0,0,64,0,0,0,224,0,0,1,240,0, + 0,3,248,0,0,3,252,0,0,1,254,0,0,0,127,0, + 0,0,31,128,0,0,7,192,0,0,1,192,0,0,0,128, + 0,0,0,0,0,0,31,192,0,0,255,240,0,3,225,252, + 0,7,128,126,0,15,0,63,0,31,0,31,0,30,0,31, + 128,62,0,15,128,126,0,15,192,124,0,15,192,124,0,7, + 224,252,0,7,224,252,0,7,224,252,0,7,224,252,0,7, + 224,252,0,7,224,252,0,7,224,252,0,7,224,252,0,7, + 224,254,0,7,192,126,0,15,192,126,0,15,128,127,0,15, + 128,63,0,31,0,31,128,31,0,31,192,62,0,15,240,252, + 0,7,255,240,0,1,255,224,0,0,127,0,0,27,42,168, + 30,1,0,0,0,64,0,0,0,96,0,0,0,248,0,0, + 1,252,0,0,3,252,0,0,7,240,0,0,15,192,0,0, + 31,128,0,0,62,0,0,0,120,0,0,0,32,0,0,0, + 0,0,0,0,31,192,0,0,255,240,0,3,225,252,0,7, + 128,126,0,15,0,63,0,31,0,31,0,30,0,31,128,62, + 0,15,128,126,0,15,192,124,0,15,192,124,0,7,224,252, + 0,7,224,252,0,7,224,252,0,7,224,252,0,7,224,252, + 0,7,224,252,0,7,224,252,0,7,224,252,0,7,224,254, + 0,7,192,126,0,15,192,126,0,15,128,127,0,15,128,63, + 0,31,0,31,128,31,0,31,192,62,0,15,240,252,0,7, + 255,240,0,1,255,224,0,0,127,0,0,27,41,164,30,1, + 0,0,6,0,0,0,15,0,0,0,31,128,0,0,63,192, + 0,0,127,224,0,0,255,240,0,1,249,248,0,3,224,120, + 0,3,128,28,0,2,0,8,0,0,0,0,0,0,31,192, + 0,0,255,240,0,3,225,252,0,7,128,126,0,15,0,63, + 0,31,0,31,0,30,0,31,128,62,0,15,128,126,0,15, + 192,124,0,15,192,124,0,7,224,252,0,7,224,252,0,7, + 224,252,0,7,224,252,0,7,224,252,0,7,224,252,0,7, + 224,252,0,7,224,252,0,7,224,254,0,7,192,126,0,15, + 192,126,0,15,128,127,0,15,128,63,0,31,0,31,128,31, + 0,31,192,62,0,15,240,252,0,7,255,240,0,1,255,224, + 0,0,127,0,0,27,40,160,30,1,0,0,32,8,0,0, + 254,14,0,1,255,254,0,1,255,252,0,3,255,248,0,7, + 255,248,0,6,7,240,0,2,0,128,0,0,0,0,0,0, + 0,0,0,0,31,192,0,0,255,240,0,3,225,252,0,7, + 128,126,0,15,0,63,0,31,0,31,0,30,0,31,128,62, + 0,15,128,126,0,15,192,124,0,15,192,124,0,7,224,252, + 0,7,224,252,0,7,224,252,0,7,224,252,0,7,224,252, + 0,7,224,252,0,7,224,252,0,7,224,252,0,7,224,254, + 0,7,192,126,0,15,192,126,0,15,128,127,0,15,128,63, + 0,31,0,31,128,31,0,31,192,62,0,15,240,252,0,7, + 255,240,0,1,255,224,0,0,127,0,0,27,40,160,30,1, + 0,0,128,32,0,1,240,124,0,1,240,124,0,3,240,252, + 0,3,240,252,0,3,240,252,0,3,224,248,0,0,128,32, + 0,0,0,0,0,0,0,0,0,0,31,192,0,0,255,240, + 0,3,225,252,0,7,128,126,0,15,0,63,0,31,0,31, + 0,30,0,31,128,62,0,15,128,126,0,15,192,124,0,15, + 192,124,0,7,224,252,0,7,224,252,0,7,224,252,0,7, + 224,252,0,7,224,252,0,7,224,252,0,7,224,252,0,7, + 224,252,0,7,224,254,0,7,192,126,0,15,192,126,0,15, + 128,127,0,15,128,63,0,31,0,31,128,31,0,31,192,62, + 0,15,240,252,0,7,255,240,0,1,255,224,0,0,127,0, + 0,16,15,30,20,2,6,96,6,240,15,120,31,60,62,30, + 124,15,248,7,240,3,192,7,224,15,248,30,124,60,62,120, + 31,240,15,96,6,27,31,124,30,1,255,0,31,195,224,0, + 255,247,192,3,225,255,128,7,128,127,0,15,0,63,0,31, + 0,63,128,30,0,127,128,62,0,255,192,126,0,255,192,124, + 1,255,192,124,3,239,224,252,3,231,224,252,7,199,224,252, + 15,135,224,252,15,7,224,252,31,7,224,252,62,7,224,252, + 60,7,224,252,120,7,192,254,248,7,192,127,240,15,192,127, + 224,15,128,127,192,15,128,63,128,31,0,63,128,31,0,31, + 192,62,0,31,240,252,0,63,255,240,0,121,255,224,0,248, + 127,0,0,192,0,0,0,29,42,168,32,1,0,0,32,0, + 0,0,48,0,0,0,248,0,0,1,252,0,0,1,254,0, + 0,0,127,0,0,0,31,128,0,0,15,192,0,0,3,224, + 0,0,0,240,0,0,0,64,0,0,0,0,0,255,240,31, + 248,255,240,31,248,63,192,7,224,31,128,3,192,31,128,3, + 192,31,128,3,192,31,128,3,192,31,128,3,192,31,128,3, + 192,31,128,3,192,31,128,3,192,31,128,3,192,31,128,3, + 192,31,128,3,192,31,128,3,192,31,128,3,192,31,128,3, + 192,31,128,3,192,31,128,3,192,31,128,3,192,31,128,3, + 192,31,128,3,128,31,192,7,128,15,192,7,128,15,224,7, + 0,7,224,15,0,3,248,62,0,1,255,252,0,0,255,240, + 0,0,31,192,0,29,42,168,32,1,0,0,0,32,0,0, + 0,56,0,0,0,124,0,0,0,254,0,0,1,254,0,0, + 3,252,0,0,7,240,0,0,15,192,0,0,31,0,0,0, + 28,0,0,0,16,0,0,0,0,0,0,255,240,31,248,255, + 240,31,248,63,192,7,224,31,128,3,192,31,128,3,192,31, + 128,3,192,31,128,3,192,31,128,3,192,31,128,3,192,31, + 128,3,192,31,128,3,192,31,128,3,192,31,128,3,192,31, + 128,3,192,31,128,3,192,31,128,3,192,31,128,3,192,31, + 128,3,192,31,128,3,192,31,128,3,192,31,128,3,192,31, + 128,3,128,31,192,7,128,15,192,7,128,15,224,7,0,7, + 224,15,0,3,248,62,0,1,255,252,0,0,255,240,0,0, + 31,192,0,29,41,164,32,1,0,0,3,128,0,0,7,128, + 0,0,15,192,0,0,31,224,0,0,63,240,0,0,127,248, + 0,0,124,124,0,0,240,62,0,1,192,14,0,0,128,4, + 0,0,0,0,0,255,240,31,248,255,240,31,248,63,192,7, + 224,31,128,3,192,31,128,3,192,31,128,3,192,31,128,3, + 192,31,128,3,192,31,128,3,192,31,128,3,192,31,128,3, + 192,31,128,3,192,31,128,3,192,31,128,3,192,31,128,3, + 192,31,128,3,192,31,128,3,192,31,128,3,192,31,128,3, + 192,31,128,3,192,31,128,3,192,31,128,3,128,31,192,7, + 128,15,192,7,128,15,224,7,0,7,224,15,0,3,248,62, + 0,1,255,252,0,0,255,240,0,0,31,192,0,29,40,160, + 32,1,0,0,32,8,0,0,248,62,0,0,248,62,0,1, + 248,126,0,1,248,126,0,1,248,126,0,0,240,60,0,0, + 64,16,0,0,0,0,0,0,0,0,0,255,240,31,248,255, + 240,31,248,63,192,7,224,31,128,3,192,31,128,3,192,31, + 128,3,192,31,128,3,192,31,128,3,192,31,128,3,192,31, + 128,3,192,31,128,3,192,31,128,3,192,31,128,3,192,31, + 128,3,192,31,128,3,192,31,128,3,192,31,128,3,192,31, + 128,3,192,31,128,3,192,31,128,3,192,31,128,3,192,31, + 128,3,128,31,192,7,128,15,192,7,128,15,224,7,0,7, + 224,15,0,3,248,62,0,1,255,252,0,0,255,240,0,0, + 31,192,0,29,42,168,29,0,0,0,0,32,0,0,0,48, + 0,0,0,124,0,0,1,254,0,0,3,254,0,0,7,248, + 0,0,15,224,0,0,31,128,0,0,62,0,0,0,60,0, + 0,0,16,0,0,0,0,0,0,127,0,31,248,255,128,31, + 248,31,192,3,192,15,192,3,128,7,224,7,128,3,240,7, + 0,3,240,15,0,1,248,14,0,1,248,30,0,0,252,28, + 0,0,124,60,0,0,126,56,0,0,63,120,0,0,63,240, + 0,0,31,240,0,0,31,224,0,0,15,224,0,0,15,192, + 0,0,15,192,0,0,15,192,0,0,15,192,0,0,15,192, + 0,0,15,192,0,0,15,192,0,0,15,192,0,0,15,192, + 0,0,15,192,0,0,31,224,0,0,255,252,0,0,255,252, + 0,24,30,90,27,1,0,255,248,0,255,248,0,63,192,0, + 31,128,0,31,128,0,31,128,0,31,255,128,31,255,240,31, + 131,248,31,128,252,31,128,126,31,128,127,31,128,63,31,128, + 63,31,128,63,31,128,63,31,128,63,31,128,62,31,128,126, + 31,128,252,31,129,248,31,191,240,31,191,128,31,128,0,31, + 128,0,31,128,0,31,128,0,63,192,0,255,248,0,255,248, + 0,28,36,144,31,1,0,0,7,240,0,0,63,252,0,0, + 255,254,0,1,240,255,0,3,224,63,128,7,192,31,128,7, + 192,31,192,15,128,15,192,15,128,15,192,31,128,15,192,31, + 128,15,192,31,128,31,128,31,128,63,0,31,128,126,0,31, + 129,248,0,31,135,224,0,31,135,128,0,31,143,128,0,31, + 143,128,0,31,143,192,0,31,143,224,0,31,135,248,0,31, + 135,254,0,31,131,255,128,31,128,255,192,31,128,63,224,31, + 128,31,240,31,128,7,240,31,140,3,240,31,142,1,240,31, + 142,1,240,31,142,1,240,31,143,1,224,63,143,195,192,255, + 143,255,128,255,129,254,0,23,35,105,24,1,0,1,192,0, + 15,192,0,15,224,0,7,240,0,3,240,0,1,248,0,0, + 248,0,0,124,0,0,60,0,0,30,0,0,12,0,0,0, + 0,0,0,0,0,255,0,15,255,128,31,15,192,62,7,224, + 126,7,224,252,7,224,96,7,224,0,7,224,0,31,224,1, + 255,224,7,255,224,31,231,224,63,135,224,63,7,224,126,7, + 224,126,7,224,126,7,224,126,31,228,127,63,252,63,247,254, + 63,231,240,15,131,128,23,35,105,24,1,0,0,15,0,0, + 15,192,0,31,224,0,31,128,0,63,0,0,62,0,0,124, + 0,0,120,0,0,240,0,0,224,0,0,192,0,0,0,0, + 0,0,0,0,255,0,15,255,128,31,15,192,62,7,224,126, + 7,224,252,7,224,96,7,224,0,7,224,0,31,224,1,255, + 224,7,255,224,31,231,224,63,135,224,63,7,224,126,7,224, + 126,7,224,126,7,224,126,31,228,127,63,252,63,247,254,63, + 231,240,15,131,128,23,35,105,24,1,0,0,120,0,0,252, + 0,0,252,0,1,254,0,3,255,0,3,255,0,7,207,128, + 15,135,192,15,1,192,28,0,224,8,0,64,0,0,0,0, + 0,0,0,255,0,15,255,128,31,15,192,62,7,224,126,7, + 224,252,7,224,96,7,224,0,7,224,0,31,224,1,255,224, + 7,255,224,31,231,224,63,135,224,63,7,224,126,7,224,126, + 7,224,126,7,224,126,31,228,127,63,252,63,247,254,63,231, + 240,15,131,128,23,33,99,24,1,0,3,192,48,7,240,48, + 15,252,96,31,255,224,31,255,192,56,127,128,48,15,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,255,0,15,255, + 128,31,15,192,62,7,224,126,7,224,252,7,224,96,7,224, + 0,7,224,0,31,224,1,255,224,7,255,224,31,231,224,63, + 135,224,63,7,224,126,7,224,126,7,224,126,7,224,126,31, + 228,127,63,252,63,247,254,63,231,240,15,131,128,23,33,99, + 24,1,0,7,1,192,15,131,224,31,135,224,31,135,224,31, + 135,224,31,7,192,14,3,128,0,0,0,0,0,0,0,0, + 0,0,0,0,0,255,0,15,255,128,31,15,192,62,7,224, + 126,7,224,252,7,224,96,7,224,0,7,224,0,31,224,1, + 255,224,7,255,224,31,231,224,63,135,224,63,7,224,126,7, + 224,126,7,224,126,7,224,126,31,228,127,63,252,63,247,254, + 63,231,240,15,131,128,23,34,102,24,1,0,0,60,0,0, + 254,0,1,239,0,3,207,0,3,207,0,3,207,0,3,238, + 0,1,252,0,0,248,0,0,0,0,0,0,0,0,0,0, + 0,255,0,15,255,128,31,15,192,62,7,224,126,7,224,252, + 7,224,96,7,224,0,7,224,0,31,224,1,255,224,7,255, + 224,31,231,224,63,135,224,63,7,224,126,7,224,126,7,224, + 126,7,224,126,31,228,127,63,252,63,247,254,63,231,240,15, + 131,128,33,22,110,35,1,0,0,63,3,224,0,1,255,159, + 248,0,7,255,252,62,0,15,135,248,30,0,31,3,240,31, + 0,63,3,240,15,0,127,3,224,15,128,120,3,224,15,128, + 0,3,224,15,128,0,127,255,255,128,3,255,255,254,0,15, + 195,224,0,0,63,3,224,0,0,126,3,224,0,0,124,3, + 240,0,0,252,3,240,1,0,252,7,248,7,0,254,31,252, + 31,0,255,252,255,254,0,127,248,127,252,0,127,224,63,240, + 0,31,128,15,192,0,20,32,96,22,2,246,0,127,128,1, + 255,240,7,135,224,15,3,224,30,1,224,62,0,192,124,0, + 192,124,0,0,252,0,0,252,0,0,252,0,0,252,0,0, + 252,0,0,252,0,0,254,0,0,126,0,0,127,0,96,127, + 129,224,63,255,192,31,255,128,15,254,0,3,252,0,0,240, + 0,0,224,0,0,252,0,1,254,0,0,254,0,0,126,0, + 0,124,0,0,252,0,3,240,0,1,128,0,19,35,105,23, + 2,0,3,128,0,15,192,0,31,224,0,7,224,0,3,240, + 0,1,240,0,0,248,0,0,120,0,0,60,0,0,28,0, + 0,8,0,0,0,0,0,0,0,0,252,0,7,255,0,15, + 31,128,30,15,128,62,15,192,124,7,192,124,7,224,124,7, + 224,252,7,224,255,255,224,255,255,128,252,0,0,252,0,0, + 252,0,0,254,0,0,126,0,64,127,0,224,63,131,192,63, + 255,128,31,255,0,15,254,0,3,248,0,19,35,105,23,2, + 0,0,14,0,0,31,192,0,31,192,0,63,128,0,63,0, + 0,126,0,0,124,0,0,248,0,0,240,0,1,224,0,0, + 192,0,0,0,0,0,0,0,0,252,0,7,255,0,15,31, + 128,30,15,128,62,15,192,124,7,192,124,7,224,124,7,224, + 252,7,224,255,255,224,255,255,128,252,0,0,252,0,0,252, + 0,0,254,0,0,126,0,64,127,0,224,63,131,192,63,255, + 128,31,255,0,15,254,0,3,248,0,19,35,105,23,2,0, + 0,120,0,0,248,0,1,252,0,1,254,0,3,254,0,7, + 255,0,15,223,128,15,7,128,30,3,192,60,1,224,24,0, + 64,0,0,0,0,0,0,0,252,0,7,255,0,15,31,128, + 30,15,128,62,15,192,124,7,192,124,7,224,124,7,224,252, + 7,224,255,255,224,255,255,128,252,0,0,252,0,0,252,0, + 0,254,0,0,126,0,64,127,0,224,63,131,192,63,255,128, + 31,255,0,15,254,0,3,248,0,19,33,99,23,2,0,15, + 3,192,31,7,192,31,135,224,31,135,224,31,7,192,31,7, + 192,14,3,128,0,0,0,0,0,0,0,0,0,0,0,0, + 0,252,0,7,255,0,15,31,128,30,15,128,62,15,192,124, + 7,192,124,7,224,124,7,224,252,7,224,255,255,224,255,255, + 128,252,0,0,252,0,0,252,0,0,254,0,0,126,0,64, + 127,0,224,63,131,192,63,255,128,31,255,0,15,254,0,3, + 248,0,13,35,70,14,0,0,28,0,126,0,254,0,127,0, + 31,0,15,128,7,128,3,192,1,192,0,224,0,64,0,0, + 0,0,1,192,63,192,127,192,63,192,15,192,15,192,15,192, + 15,192,15,192,15,192,15,192,15,192,15,192,15,192,15,192, + 15,192,15,192,15,192,15,192,31,224,127,248,127,248,14,35, + 70,14,1,0,0,224,1,252,1,252,3,248,3,240,7,224, + 7,192,15,128,15,0,30,0,8,0,0,0,0,0,3,128, + 127,128,255,128,127,128,31,128,31,128,31,128,31,128,31,128, + 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, + 31,128,31,128,63,192,255,240,255,240,16,35,70,14,255,0, + 3,192,3,224,7,240,15,240,15,248,31,252,62,124,60,30, + 120,15,240,7,64,3,0,0,0,0,0,224,31,224,63,224, + 31,224,7,224,7,224,7,224,7,224,7,224,7,224,7,224, + 7,224,7,224,7,224,7,224,7,224,7,224,7,224,7,224, + 15,240,63,252,63,252,16,33,66,14,255,0,56,14,124,31, + 124,31,252,63,252,63,124,31,120,30,0,0,0,0,0,0, + 0,0,0,224,31,224,63,224,31,224,7,224,7,224,7,224, + 7,224,7,224,7,224,7,224,7,224,7,224,7,224,7,224, + 7,224,7,224,7,224,7,224,15,240,63,252,63,252,21,34, + 102,25,2,0,1,192,0,15,224,0,63,240,248,31,255,248, + 0,255,192,0,126,0,1,255,0,7,239,128,31,143,128,2, + 7,192,0,3,224,0,3,224,1,251,240,7,253,240,15,255, + 240,31,15,248,62,7,248,62,3,248,124,3,248,124,1,248, + 252,1,248,252,1,248,252,1,248,252,1,248,252,1,240,252, + 1,240,252,1,240,126,3,224,126,3,224,63,3,192,63,7, + 128,31,143,0,7,254,0,1,248,0,26,33,132,28,1,0, + 0,240,12,0,1,252,12,0,3,255,28,0,3,255,248,0, + 7,255,240,0,14,31,224,0,12,3,192,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,3,1,240,0, + 127,135,252,0,255,159,252,0,63,191,254,0,31,248,254,0, + 31,224,126,0,31,192,126,0,31,128,126,0,31,128,126,0, + 31,128,126,0,31,128,126,0,31,128,126,0,31,128,126,0, + 31,128,126,0,31,128,126,0,31,128,126,0,31,128,126,0, + 31,128,126,0,31,128,126,0,63,192,255,0,255,243,255,192, + 255,243,255,192,21,35,105,25,2,0,1,192,0,15,224,0, + 15,224,0,7,240,0,3,240,0,1,248,0,0,248,0,0, + 124,0,0,60,0,0,30,0,0,12,0,0,0,0,0,0, + 0,0,252,0,3,255,0,15,15,192,30,7,224,62,7,224, + 62,3,240,124,3,240,124,1,248,252,1,248,252,1,248,252, + 1,248,252,1,248,252,1,248,252,1,248,252,1,240,126,1, + 240,126,3,224,62,3,224,63,3,192,31,135,128,7,254,0, + 1,248,0,21,35,105,25,2,0,0,15,0,0,15,192,0, + 31,224,0,31,128,0,63,0,0,62,0,0,124,0,0,120, + 0,0,240,0,0,224,0,0,192,0,0,0,0,0,0,0, + 0,252,0,3,255,0,15,15,192,30,7,224,62,7,224,62, + 3,240,124,3,240,124,1,248,252,1,248,252,1,248,252,1, + 248,252,1,248,252,1,248,252,1,248,252,1,240,126,1,240, + 126,3,224,62,3,224,63,3,192,31,135,128,7,254,0,1, + 248,0,21,35,105,25,2,0,0,120,0,0,252,0,0,252, + 0,1,254,0,3,255,0,3,255,0,7,207,128,15,135,192, + 15,1,192,28,0,224,8,0,64,0,0,0,0,0,0,0, + 252,0,3,255,0,15,15,192,30,7,224,62,7,224,62,3, + 240,124,3,240,124,1,248,252,1,248,252,1,248,252,1,248, + 252,1,248,252,1,248,252,1,248,252,1,240,126,1,240,126, + 3,224,62,3,224,63,3,192,31,135,128,7,254,0,1,248, + 0,21,33,99,25,2,0,3,192,48,7,240,48,15,252,96, + 31,255,224,31,255,192,56,127,128,48,15,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,252,0,3,255,0,15,15, + 192,30,7,224,62,7,224,62,3,240,124,3,240,124,1,248, + 252,1,248,252,1,248,252,1,248,252,1,248,252,1,248,252, + 1,248,252,1,240,126,1,240,126,3,224,62,3,224,63,3, + 192,31,135,128,7,254,0,1,248,0,21,33,99,25,2,0, + 7,1,192,15,131,224,31,135,224,31,135,224,31,135,224,31, + 7,192,14,3,128,0,0,0,0,0,0,0,0,0,0,0, + 0,0,252,0,3,255,0,15,15,192,30,7,224,62,7,224, + 62,3,240,124,3,240,124,1,248,252,1,248,252,1,248,252, + 1,248,252,1,248,252,1,248,252,1,248,252,1,240,126,1, + 240,126,3,224,62,3,224,63,3,192,31,135,128,7,254,0, + 1,248,0,18,18,54,20,1,4,0,192,0,1,224,0,1, + 224,0,1,224,0,1,224,0,0,192,0,0,0,0,127,255, + 192,127,255,192,255,255,128,0,0,0,0,0,0,0,192,0, + 1,224,0,1,224,0,1,224,0,1,224,0,0,192,0,21, + 24,72,25,2,255,0,0,24,0,252,56,3,255,240,15,15, + 224,30,7,224,62,3,240,60,7,240,124,15,240,124,31,248, + 252,29,248,252,57,248,252,121,248,252,241,248,252,225,248,253, + 193,248,255,193,240,127,129,240,127,1,224,62,3,224,63,3, + 192,63,135,128,127,254,0,113,248,0,192,0,0,26,35,140, + 27,1,0,0,224,0,0,3,240,0,0,7,240,0,0,1, + 248,0,0,0,248,0,0,0,124,0,0,0,62,0,0,0, + 30,0,0,0,15,0,0,0,7,0,0,0,2,0,0,0, + 0,0,0,0,0,0,0,3,128,28,0,255,135,252,0,255, + 135,252,0,31,128,252,0,31,128,252,0,31,128,252,0,31, + 128,252,0,31,128,252,0,31,128,252,0,31,128,252,0,31, + 128,252,0,31,128,252,0,31,128,252,0,31,128,252,0,31, + 128,252,0,31,128,252,0,31,129,252,0,31,199,252,128,31, + 255,255,128,15,254,255,192,7,248,126,0,3,224,112,0,26, + 35,140,27,1,0,0,3,128,0,0,7,240,0,0,7,240, + 0,0,15,224,0,0,15,192,0,0,31,128,0,0,31,0, + 0,0,62,0,0,0,60,0,0,0,120,0,0,0,48,0, + 0,0,0,0,0,0,0,0,0,3,128,28,0,255,135,252, + 0,255,135,252,0,31,128,252,0,31,128,252,0,31,128,252, + 0,31,128,252,0,31,128,252,0,31,128,252,0,31,128,252, + 0,31,128,252,0,31,128,252,0,31,128,252,0,31,128,252, + 0,31,128,252,0,31,128,252,0,31,129,252,0,31,199,252, + 128,31,255,255,128,15,254,255,192,7,248,126,0,3,224,112, + 0,26,35,140,27,1,0,0,30,0,0,0,62,0,0,0, + 127,0,0,0,255,128,0,0,255,128,0,1,255,192,0,3, + 247,224,0,3,193,224,0,7,128,240,0,15,0,112,0,6, + 0,48,0,0,0,0,0,0,0,0,0,3,128,28,0,255, + 135,252,0,255,135,252,0,31,128,252,0,31,128,252,0,31, + 128,252,0,31,128,252,0,31,128,252,0,31,128,252,0,31, + 128,252,0,31,128,252,0,31,128,252,0,31,128,252,0,31, + 128,252,0,31,128,252,0,31,128,252,0,31,129,252,0,31, + 199,252,128,31,255,255,128,15,254,255,192,7,248,126,0,3, + 224,112,0,26,33,132,27,1,0,3,192,240,0,7,193,240, + 0,7,225,248,0,7,225,248,0,7,193,240,0,7,193,240, + 0,7,129,224,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,3,128,28,0,255,135,252,0,255,135,252, + 0,31,128,252,0,31,128,252,0,31,128,252,0,31,128,252, + 0,31,128,252,0,31,128,252,0,31,128,252,0,31,128,252, + 0,31,128,252,0,31,128,252,0,31,128,252,0,31,128,252, + 0,31,128,252,0,31,129,252,0,31,199,252,128,31,255,255, + 128,15,254,255,192,7,248,126,0,3,224,112,0,25,46,184, + 24,255,245,0,1,224,0,0,3,248,0,0,3,248,0,0, + 3,240,0,0,7,224,0,0,7,192,0,0,15,128,0,0, + 15,0,0,0,30,0,0,0,28,0,0,0,56,0,0,0, + 0,0,0,0,0,0,0,127,240,127,128,127,240,127,128,31, + 192,30,0,15,192,28,0,15,192,28,0,7,224,60,0,7, + 224,56,0,3,240,56,0,3,240,112,0,1,240,112,0,1, + 248,240,0,1,248,224,0,0,252,224,0,0,253,224,0,0, + 125,192,0,0,127,192,0,0,127,128,0,0,63,128,0,0, + 63,128,0,0,31,0,0,0,31,0,0,0,14,0,0,0, + 14,0,0,0,30,0,0,0,28,0,0,0,60,0,0,0, + 120,0,0,32,248,0,0,63,240,0,0,127,224,0,0,255, + 192,0,0,255,128,0,0,126,0,0,0,24,47,141,27,1, + 245,3,0,0,63,128,0,255,128,0,255,128,0,31,128,0, + 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, + 128,0,31,128,0,31,128,0,31,128,0,31,131,224,31,143, + 248,31,191,252,31,255,252,31,240,254,31,192,126,31,128,63, + 31,128,63,31,128,31,31,128,31,31,128,31,31,128,31,31, + 128,31,31,128,30,31,128,30,31,128,62,31,192,60,31,240, + 124,31,255,248,31,255,240,31,159,224,31,135,128,31,128,0, + 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, + 128,0,31,128,0,63,192,0,255,248,0,255,248,0,25,44, + 176,24,255,245,0,224,56,0,1,240,124,0,3,240,252,0, + 3,240,252,0,3,240,252,0,3,224,248,0,1,192,112,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 127,240,127,128,127,240,127,128,31,192,30,0,15,192,28,0, + 15,192,28,0,7,224,60,0,7,224,56,0,3,240,56,0, + 3,240,112,0,1,240,112,0,1,248,240,0,1,248,224,0, + 0,252,224,0,0,253,224,0,0,125,192,0,0,127,192,0, + 0,127,128,0,0,63,128,0,0,63,128,0,0,31,0,0, + 0,31,0,0,0,14,0,0,0,14,0,0,0,30,0,0, + 0,28,0,0,0,60,0,0,0,120,0,0,32,248,0,0, + 63,240,0,0,127,224,0,0,255,192,0,0,255,128,0,0, + 126,0,0,0}; +/* + Fontname: -FreeType-Gentium Basic-Bold-R-Normal--48-480-72-72-P-238-ISO10646-1 + Copyright: Copyright (c) SIL International, 2003-2008. + Capital A Height: 0, '1' Height: 29 + Calculated Max Values w=22 h=46 x= 3 y=17 dx=25 dy= 0 ascent=38 len=138 + Font Bounding box w=74 h=69 x=-24 y=-17 + Calculated Min Values x= 0 y=-9 dx= 0 dy= 0 + Pure Font ascent =29 descent= 0 + X Font ascent =29 descent= 0 + Max Font ascent =38 descent=-9 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_gdb30n[1304] U8G_FONT_SECTION("u8g_font_gdb30n") = { + 0,74,69,232,239,29,0,0,0,0,42,58,0,38,247,29, + 0,19,20,60,21,1,17,0,48,0,1,240,0,1,240,0, + 32,240,0,112,225,128,120,227,192,126,231,224,127,255,224,31, + 255,0,3,248,0,3,248,0,31,255,0,127,255,192,254,231, + 192,124,227,192,48,225,192,0,240,128,0,240,0,1,240,0, + 0,192,0,18,18,54,20,1,4,0,224,0,1,224,0,1, + 224,0,1,224,0,1,224,0,1,224,0,1,224,0,127,255, + 192,255,255,192,255,255,128,1,224,0,1,224,0,1,224,0, + 1,224,0,1,224,0,1,224,0,1,224,0,1,192,0,10, + 15,30,13,1,247,7,0,63,128,255,192,127,192,63,192,15, + 192,15,192,15,128,15,128,15,0,31,0,30,0,60,0,120, + 0,48,0,15,3,6,17,1,11,127,254,127,252,255,252,8, + 7,7,13,3,255,62,127,255,255,255,254,124,21,46,138,23, + 1,248,0,0,56,0,0,248,0,0,240,0,1,240,0,1, + 240,0,1,224,0,3,224,0,3,224,0,3,192,0,7,192, + 0,7,128,0,15,128,0,15,128,0,15,0,0,31,0,0, + 31,0,0,30,0,0,62,0,0,60,0,0,124,0,0,124, + 0,0,120,0,0,248,0,0,248,0,0,240,0,1,240,0, + 1,224,0,3,224,0,3,224,0,3,192,0,7,192,0,7, + 192,0,7,128,0,15,128,0,15,0,0,31,0,0,31,0, + 0,30,0,0,62,0,0,62,0,0,60,0,0,124,0,0, + 120,0,0,248,0,0,248,0,0,192,0,0,22,29,87,24, + 1,0,0,252,0,3,255,0,7,143,192,15,7,224,30,3, + 224,62,1,240,62,1,240,124,1,248,124,1,248,124,0,248, + 252,0,252,252,0,252,252,0,252,252,0,252,252,0,252,252, + 0,252,252,0,252,252,0,252,252,0,252,124,0,248,124,0, + 248,126,0,248,62,1,240,62,1,240,31,1,224,31,3,192, + 15,135,128,3,255,0,0,252,0,19,29,87,24,3,0,0, + 16,0,0,248,0,7,248,0,63,248,0,255,248,0,225,248, + 0,1,248,0,1,248,0,1,248,0,1,248,0,1,248,0, + 1,248,0,1,248,0,1,248,0,1,248,0,1,248,0,1, + 248,0,1,248,0,1,248,0,1,248,0,1,248,0,1,248, + 0,1,248,0,1,248,0,1,248,0,1,248,0,15,255,0, + 127,255,224,127,255,224,20,29,87,24,1,0,0,255,0,7, + 255,192,15,143,224,63,7,224,62,3,240,126,3,240,126,3, + 240,120,3,240,0,3,240,0,7,224,0,7,224,0,15,192, + 0,15,128,0,31,128,0,31,0,0,62,0,0,124,0,0, + 248,0,0,248,0,1,240,0,3,224,32,7,192,48,15,128, + 48,15,0,48,30,0,112,63,255,240,127,255,240,255,255,240, + 127,255,240,20,29,87,24,1,0,1,254,0,7,255,128,31, + 31,192,63,15,192,62,7,224,126,7,224,60,7,224,0,7, + 224,0,7,192,0,15,192,0,31,128,0,127,0,1,254,0, + 1,255,128,2,63,192,0,15,224,0,7,224,0,3,240,0, + 3,240,0,3,240,0,3,240,0,3,240,0,3,240,64,7, + 224,96,15,224,252,31,192,63,255,128,31,254,0,3,248,0, + 21,29,87,25,2,0,0,1,128,0,15,128,0,31,128,0, + 63,128,0,63,128,0,127,128,0,255,128,0,239,128,1,239, + 128,3,207,128,3,143,128,7,143,128,7,15,128,14,15,128, + 30,15,128,28,15,128,56,15,128,56,15,128,127,255,248,255, + 255,240,255,255,224,0,15,128,0,15,128,0,15,128,0,15, + 128,0,15,128,0,31,192,1,255,240,1,255,240,20,29,87, + 24,2,0,0,0,32,31,255,240,31,255,192,31,255,192,31, + 255,128,28,0,0,28,0,0,28,0,0,60,0,0,60,0, + 0,56,0,0,59,252,0,63,255,0,63,255,128,120,31,192, + 32,15,224,0,7,224,0,7,240,0,3,240,0,3,240,0, + 3,240,0,3,240,0,3,240,0,7,224,64,7,224,224,15, + 192,252,31,128,63,254,0,7,248,0,20,29,87,24,2,0, + 0,1,128,0,31,192,0,127,0,1,252,0,3,240,0,7, + 192,0,15,128,0,31,128,0,63,0,0,62,0,0,126,0, + 0,124,126,0,125,255,128,255,255,192,255,15,224,254,7,224, + 252,7,240,252,3,240,252,3,240,252,3,240,252,3,240,124, + 3,240,126,3,224,126,3,224,62,3,192,31,7,192,15,143, + 128,7,255,0,1,248,0,21,28,84,24,2,0,127,255,240, + 127,255,248,127,255,240,127,255,224,112,1,224,224,1,224,192, + 1,192,64,3,192,0,3,128,0,7,128,0,7,0,0,15, + 0,0,15,0,0,30,0,0,30,0,0,60,0,0,60,0, + 0,124,0,0,120,0,0,248,0,0,240,0,1,240,0,1, + 240,0,3,224,0,3,224,0,7,224,0,15,192,0,6,0, + 0,20,29,87,24,2,0,0,252,0,7,255,128,15,31,192, + 30,15,192,28,7,224,60,7,224,60,7,224,60,7,224,62, + 15,192,63,143,128,31,255,0,31,254,0,15,252,0,3,255, + 0,7,255,128,15,255,192,31,31,224,62,15,240,126,7,240, + 252,3,240,252,3,240,252,3,240,252,3,240,252,3,224,126, + 3,224,126,7,192,63,15,128,31,254,0,3,248,0,20,29, + 87,24,2,255,1,252,0,7,255,0,15,31,128,30,15,192, + 62,7,224,124,7,224,124,7,224,252,3,240,252,3,240,252, + 3,240,252,3,240,252,3,240,254,3,240,126,7,240,127,15, + 240,63,255,240,31,251,224,7,227,224,0,7,224,0,7,192, + 0,7,192,0,15,128,0,31,0,0,62,0,0,252,0,3, + 248,0,15,224,0,63,128,0,56,0,0,8,23,23,13,3, + 255,62,127,255,255,255,254,124,0,0,0,0,0,0,0,0, + 0,62,127,255,255,255,254,124}; +/* + Fontname: -FreeType-Gentium Basic-Bold-R-Normal--48-480-72-72-P-238-ISO10646-1 + Copyright: Copyright (c) SIL International, 2003-2008. + Capital A Height: 30, '1' Height: 29 + Calculated Max Values w=41 h=49 x= 4 y=24 dx=42 dy= 0 ascent=39 len=210 + Font Bounding box w=74 h=69 x=-24 y=-17 + Calculated Min Values x=-7 y=-11 dx= 0 dy= 0 + Pure Font ascent =30 descent=-11 + X Font ascent =38 descent=-11 + Max Font ascent =39 descent=-11 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_gdb30r[9112] U8G_FONT_SECTION("u8g_font_gdb30r") = { + 0,74,69,232,239,30,10,50,24,78,32,127,245,39,245,38, + 245,0,0,0,12,0,0,8,36,36,15,3,255,6,31,127, + 126,126,126,126,126,126,126,62,62,62,62,62,62,62,60,60, + 60,60,60,60,28,28,24,0,0,0,62,127,255,255,255,254, + 124,16,16,32,23,3,19,14,3,126,31,254,63,254,63,124, + 63,124,63,124,63,124,63,124,30,124,30,124,30,60,30,60, + 30,56,30,56,30,56,14,22,27,81,24,2,3,0,56,48, + 0,120,112,0,112,240,0,112,224,0,240,224,0,225,224,0, + 225,192,31,255,252,31,255,252,63,255,252,3,195,128,3,195, + 128,3,135,128,3,135,0,7,135,0,7,135,0,255,255,240, + 255,255,240,255,255,224,14,30,0,14,28,0,30,28,0,28, + 60,0,28,60,0,28,56,0,60,56,0,56,112,0,20,36, + 108,24,2,252,0,48,0,0,112,0,0,112,0,0,112,0, + 3,255,0,15,255,224,63,255,240,124,119,240,120,115,224,240, + 113,224,240,112,192,248,112,0,252,112,0,255,112,0,127,240, + 0,63,248,0,31,254,0,7,255,128,0,255,192,0,127,224, + 0,119,224,0,113,240,0,113,240,224,112,240,224,112,240,240, + 112,240,248,112,224,252,113,224,255,119,192,255,255,192,63,255, + 0,7,252,0,0,112,0,0,112,0,0,112,0,0,96,0, + 31,30,120,34,2,0,0,0,0,16,7,192,0,240,31,224, + 1,224,56,240,3,192,120,120,3,128,112,120,7,128,240,60, + 15,0,240,60,30,0,240,60,28,0,240,60,60,0,240,60, + 120,0,240,60,240,0,112,57,224,0,120,57,224,0,56,115, + 192,0,31,231,131,224,15,143,12,48,0,15,24,56,0,30, + 56,28,0,60,56,28,0,120,120,30,0,120,120,30,0,240, + 120,30,1,224,120,30,3,192,120,30,3,192,120,28,7,128, + 60,60,15,0,30,56,30,0,15,240,28,0,7,192,31,34, + 136,33,2,0,0,31,128,0,0,127,224,0,0,227,240,0, + 1,225,248,0,3,193,248,0,3,193,248,0,7,193,248,0, + 7,193,248,0,7,195,240,0,7,195,240,0,7,231,224,0, + 7,239,192,0,3,255,128,0,3,255,0,0,3,252,0,0, + 1,248,0,0,7,252,63,252,15,252,127,254,31,254,31,184, + 63,127,15,128,62,127,7,128,126,63,135,128,252,31,199,128, + 252,31,231,128,252,15,247,0,252,7,255,0,252,3,254,0, + 252,1,252,0,254,0,255,0,127,0,127,128,127,129,255,248, + 63,255,223,248,15,255,15,244,3,252,7,128,7,16,16,13, + 3,19,14,126,254,254,124,124,124,124,124,124,124,60,60,56, + 56,56,13,45,90,16,3,249,0,16,0,120,0,240,1,224, + 3,224,7,192,7,128,15,128,31,0,31,0,63,0,62,0, + 62,0,126,0,126,0,126,0,124,0,252,0,252,0,252,0, + 252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0, + 252,0,126,0,126,0,126,0,126,0,62,0,63,0,63,0, + 31,0,15,128,15,128,7,192,3,192,1,224,0,240,0,120, + 0,16,13,44,88,16,0,249,64,0,240,0,120,0,60,0, + 30,0,31,0,15,128,15,192,7,192,7,224,7,224,3,224, + 3,240,3,240,3,240,1,240,1,248,1,248,1,248,1,248, + 1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,240, + 3,240,3,240,3,240,3,224,3,224,7,224,7,192,7,192, + 15,128,15,0,31,0,62,0,60,0,120,0,240,0,64,0, + 19,20,60,21,1,17,0,48,0,1,240,0,1,240,0,32, + 240,0,112,225,128,120,227,192,126,231,224,127,255,224,31,255, + 0,3,248,0,3,248,0,31,255,0,127,255,192,254,231,192, + 124,227,192,48,225,192,0,240,128,0,240,0,1,240,0,0, + 192,0,18,18,54,20,1,4,0,224,0,1,224,0,1,224, + 0,1,224,0,1,224,0,1,224,0,1,224,0,127,255,192, + 255,255,192,255,255,128,1,224,0,1,224,0,1,224,0,1, + 224,0,1,224,0,1,224,0,1,224,0,1,192,0,10,15, + 30,13,1,247,7,0,63,128,255,192,127,192,63,192,15,192, + 15,192,15,128,15,128,15,0,31,0,30,0,60,0,120,0, + 48,0,15,3,6,17,1,11,127,254,127,252,255,252,8,7, + 7,13,3,255,62,127,255,255,255,254,124,21,46,138,23,1, + 248,0,0,56,0,0,248,0,0,240,0,1,240,0,1,240, + 0,1,224,0,3,224,0,3,224,0,3,192,0,7,192,0, + 7,128,0,15,128,0,15,128,0,15,0,0,31,0,0,31, + 0,0,30,0,0,62,0,0,60,0,0,124,0,0,124,0, + 0,120,0,0,248,0,0,248,0,0,240,0,1,240,0,1, + 224,0,3,224,0,3,224,0,3,192,0,7,192,0,7,192, + 0,7,128,0,15,128,0,15,0,0,31,0,0,31,0,0, + 30,0,0,62,0,0,62,0,0,60,0,0,124,0,0,120, + 0,0,248,0,0,248,0,0,192,0,0,22,29,87,24,1, + 0,0,252,0,3,255,0,7,143,192,15,7,224,30,3,224, + 62,1,240,62,1,240,124,1,248,124,1,248,124,0,248,252, + 0,252,252,0,252,252,0,252,252,0,252,252,0,252,252,0, + 252,252,0,252,252,0,252,252,0,252,124,0,248,124,0,248, + 126,0,248,62,1,240,62,1,240,31,1,224,31,3,192,15, + 135,128,3,255,0,0,252,0,19,29,87,24,3,0,0,16, + 0,0,248,0,7,248,0,63,248,0,255,248,0,225,248,0, + 1,248,0,1,248,0,1,248,0,1,248,0,1,248,0,1, + 248,0,1,248,0,1,248,0,1,248,0,1,248,0,1,248, + 0,1,248,0,1,248,0,1,248,0,1,248,0,1,248,0, + 1,248,0,1,248,0,1,248,0,1,248,0,15,255,0,127, + 255,224,127,255,224,20,29,87,24,1,0,0,255,0,7,255, + 192,15,143,224,63,7,224,62,3,240,126,3,240,126,3,240, + 120,3,240,0,3,240,0,7,224,0,7,224,0,15,192,0, + 15,128,0,31,128,0,31,0,0,62,0,0,124,0,0,248, + 0,0,248,0,1,240,0,3,224,32,7,192,48,15,128,48, + 15,0,48,30,0,112,63,255,240,127,255,240,255,255,240,127, + 255,240,20,29,87,24,1,0,1,254,0,7,255,128,31,31, + 192,63,15,192,62,7,224,126,7,224,60,7,224,0,7,224, + 0,7,192,0,15,192,0,31,128,0,127,0,1,254,0,1, + 255,128,2,63,192,0,15,224,0,7,224,0,3,240,0,3, + 240,0,3,240,0,3,240,0,3,240,0,3,240,64,7,224, + 96,15,224,252,31,192,63,255,128,31,254,0,3,248,0,21, + 29,87,25,2,0,0,1,128,0,15,128,0,31,128,0,63, + 128,0,63,128,0,127,128,0,255,128,0,239,128,1,239,128, + 3,207,128,3,143,128,7,143,128,7,15,128,14,15,128,30, + 15,128,28,15,128,56,15,128,56,15,128,127,255,248,255,255, + 240,255,255,224,0,15,128,0,15,128,0,15,128,0,15,128, + 0,15,128,0,31,192,1,255,240,1,255,240,20,29,87,24, + 2,0,0,0,32,31,255,240,31,255,192,31,255,192,31,255, + 128,28,0,0,28,0,0,28,0,0,60,0,0,60,0,0, + 56,0,0,59,252,0,63,255,0,63,255,128,120,31,192,32, + 15,224,0,7,224,0,7,240,0,3,240,0,3,240,0,3, + 240,0,3,240,0,3,240,0,7,224,64,7,224,224,15,192, + 252,31,128,63,254,0,7,248,0,20,29,87,24,2,0,0, + 1,128,0,31,192,0,127,0,1,252,0,3,240,0,7,192, + 0,15,128,0,31,128,0,63,0,0,62,0,0,126,0,0, + 124,126,0,125,255,128,255,255,192,255,15,224,254,7,224,252, + 7,240,252,3,240,252,3,240,252,3,240,252,3,240,124,3, + 240,126,3,224,126,3,224,62,3,192,31,7,192,15,143,128, + 7,255,0,1,248,0,21,28,84,24,2,0,127,255,240,127, + 255,248,127,255,240,127,255,224,112,1,224,224,1,224,192,1, + 192,64,3,192,0,3,128,0,7,128,0,7,0,0,15,0, + 0,15,0,0,30,0,0,30,0,0,60,0,0,60,0,0, + 124,0,0,120,0,0,248,0,0,240,0,1,240,0,1,240, + 0,3,224,0,3,224,0,7,224,0,15,192,0,6,0,0, + 20,29,87,24,2,0,0,252,0,7,255,128,15,31,192,30, + 15,192,28,7,224,60,7,224,60,7,224,60,7,224,62,15, + 192,63,143,128,31,255,0,31,254,0,15,252,0,3,255,0, + 7,255,128,15,255,192,31,31,224,62,15,240,126,7,240,252, + 3,240,252,3,240,252,3,240,252,3,240,252,3,224,126,3, + 224,126,7,192,63,15,128,31,254,0,3,248,0,20,29,87, + 24,2,255,1,252,0,7,255,0,15,31,128,30,15,192,62, + 7,224,124,7,224,124,7,224,252,3,240,252,3,240,252,3, + 240,252,3,240,252,3,240,254,3,240,126,7,240,127,15,240, + 63,255,240,31,251,224,7,227,224,0,7,224,0,7,192,0, + 7,192,0,15,128,0,31,0,0,62,0,0,252,0,3,248, + 0,15,224,0,63,128,0,56,0,0,8,23,23,13,3,255, + 62,127,255,255,255,254,124,0,0,0,0,0,0,0,0,0, + 62,127,255,255,255,254,124,10,31,62,13,1,247,15,128,31, + 192,63,192,63,192,63,192,31,128,14,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,63, + 128,255,192,127,192,63,192,15,192,15,192,15,128,15,128,15, + 0,31,0,30,0,60,0,120,0,48,0,20,16,48,22,1, + 6,0,0,96,0,1,240,0,15,224,0,127,224,3,255,128, + 15,252,0,127,224,0,127,0,0,254,0,0,255,192,0,63, + 248,0,7,254,0,1,255,192,0,63,224,0,7,240,0,0, + 192,20,10,30,22,1,8,127,255,224,127,255,240,255,255,224, + 0,0,0,0,0,0,0,0,0,0,0,0,127,255,224,127, + 255,240,255,255,224,20,16,48,22,1,6,48,0,0,126,0, + 0,255,192,0,63,240,0,15,254,0,1,255,192,0,63,224, + 0,7,240,0,31,224,0,127,224,3,255,0,31,248,0,127, + 224,0,127,0,0,248,0,0,64,0,0,19,35,105,22,2, + 255,1,254,0,15,255,128,63,31,192,126,15,192,124,7,224, + 252,7,224,252,7,224,252,7,224,240,7,224,0,7,192,0, + 15,192,0,15,128,0,31,128,0,63,0,0,126,0,0,124, + 0,0,248,0,1,240,0,1,224,0,3,224,0,3,192,0, + 3,192,0,3,192,0,3,192,0,3,128,0,0,0,0,0, + 0,0,0,0,0,1,240,0,3,248,0,7,248,0,7,248, + 0,7,248,0,7,240,0,3,224,0,38,42,210,42,2,246, + 0,0,255,192,0,0,7,255,248,0,0,31,255,254,0,0, + 127,255,255,0,0,255,0,255,128,1,248,0,31,192,3,224, + 0,7,224,7,192,0,3,224,15,128,0,1,240,31,0,0, + 1,240,31,0,252,24,248,62,3,254,120,248,60,7,255,240, + 120,124,15,135,240,124,124,31,3,240,124,120,31,3,240,60, + 120,62,3,240,60,248,62,3,240,60,248,126,3,240,60,248, + 126,3,240,60,248,126,3,240,60,248,126,3,240,60,248,126, + 3,240,56,248,126,3,240,56,248,126,3,240,120,252,127,3, + 240,112,252,63,7,240,224,124,63,143,249,224,124,31,255,255, + 192,126,31,251,255,128,62,15,241,254,0,63,3,224,248,0, + 63,128,0,0,0,31,192,0,0,0,15,224,0,0,128,15, + 240,0,1,192,7,252,0,7,192,3,255,128,127,128,0,255, + 255,254,0,0,127,255,252,0,0,31,255,240,0,0,1,255, + 0,0,30,30,120,30,0,0,0,1,128,0,0,7,128,0, + 0,15,192,0,0,31,192,0,0,31,224,0,0,31,224,0, + 0,63,224,0,0,63,240,0,0,59,240,0,0,121,240,0, + 0,121,248,0,0,113,248,0,0,240,252,0,0,240,252,0, + 0,224,252,0,1,224,126,0,1,224,126,0,1,192,126,0, + 3,255,255,0,3,255,255,0,3,128,31,0,7,128,31,128, + 7,0,31,128,7,0,15,192,15,0,15,192,14,0,15,192, + 14,0,7,224,30,0,7,224,255,192,63,252,255,192,63,252, + 26,30,120,29,0,0,3,255,128,0,255,255,240,0,127,193, + 252,0,15,192,126,0,15,192,127,0,15,192,63,0,15,192, + 63,0,15,192,63,0,15,192,63,0,15,192,62,0,15,192, + 126,0,15,192,252,0,15,195,248,0,15,255,224,0,15,255, + 252,0,15,192,254,0,15,192,63,0,15,192,31,128,15,192, + 31,128,15,192,15,192,15,192,15,192,15,192,15,192,15,192, + 15,192,15,192,15,192,15,192,15,128,15,192,31,128,15,192, + 63,0,31,192,254,0,127,255,252,0,127,255,224,0,24,30, + 90,27,1,0,0,31,224,0,255,252,1,255,254,7,224,254, + 15,128,126,31,128,60,31,0,28,62,0,0,62,0,0,126, + 0,0,124,0,0,252,0,0,252,0,0,252,0,0,252,0, + 0,252,0,0,252,0,0,252,0,0,252,0,0,254,0,0, + 126,0,0,126,0,0,127,0,0,63,128,2,63,192,15,31, + 240,62,15,255,248,7,255,240,1,255,192,0,127,0,29,30, + 120,31,0,0,3,255,192,0,255,255,248,0,127,192,254,0, + 143,192,63,128,15,192,31,192,15,192,15,192,15,192,7,224, + 15,192,7,240,15,192,3,240,15,192,3,240,15,192,3,248, + 15,192,1,248,15,192,1,248,15,192,1,248,15,192,1,248, + 15,192,1,248,15,192,1,248,15,192,1,248,15,192,1,248, + 15,192,1,240,15,192,3,240,15,192,3,240,15,192,7,224, + 15,192,7,224,15,192,15,192,15,192,31,128,15,192,63,0, + 31,224,254,0,127,255,248,0,127,255,192,0,23,30,90,25, + 1,0,255,255,248,255,255,252,63,128,56,31,128,56,31,128, + 24,31,128,24,31,128,24,31,128,24,31,128,0,31,128,0, + 31,128,0,31,128,0,31,128,0,31,255,224,31,255,224,31, + 128,192,31,128,0,31,128,0,31,128,0,31,128,0,31,128, + 0,31,128,0,31,128,0,31,128,6,31,128,6,31,128,14, + 31,128,14,63,192,30,255,255,254,255,255,252,22,30,90,24, + 1,0,255,255,248,255,255,252,63,128,60,31,128,28,31,128, + 24,31,128,24,31,128,24,31,128,24,31,128,0,31,128,0, + 31,128,0,31,128,0,31,128,0,31,255,192,31,255,224,31, + 129,128,31,128,0,31,128,0,31,128,0,31,128,0,31,128, + 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, + 31,128,0,63,192,0,255,248,0,255,248,0,27,30,120,29, + 1,0,0,15,248,0,0,127,255,128,1,240,127,128,3,192, + 63,0,7,128,15,0,15,0,14,0,31,0,0,0,62,0, + 0,0,62,0,0,0,126,0,0,0,124,0,0,0,124,0, + 0,0,252,0,0,0,252,0,0,0,252,1,255,224,252,1, + 255,224,252,0,127,192,252,0,31,128,252,0,31,128,254,0, + 31,128,126,0,31,128,127,0,31,128,127,0,31,128,63,128, + 31,128,63,192,31,128,31,240,63,0,15,255,254,0,7,255, + 252,0,1,255,240,0,0,63,128,0,30,30,120,33,1,0, + 255,240,63,252,255,240,63,252,63,192,15,240,31,128,7,224, + 31,128,7,224,31,128,7,224,31,128,7,224,31,128,7,224, + 31,128,7,224,31,128,7,224,31,128,7,224,31,128,7,224, + 31,128,7,224,31,128,7,224,31,255,255,224,31,255,255,224, + 31,128,7,224,31,128,7,224,31,128,7,224,31,128,7,224, + 31,128,7,224,31,128,7,224,31,128,7,224,31,128,7,224, + 31,128,7,224,31,128,7,224,31,128,7,224,63,192,15,240, + 255,240,63,252,255,240,63,252,12,30,60,16,2,0,255,240, + 255,240,63,192,31,128,31,128,31,128,31,128,31,128,31,128, + 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, + 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, + 31,128,31,128,63,192,255,240,255,240,21,40,120,16,249,246, + 0,255,248,0,255,248,0,31,224,0,15,192,0,15,192,0, + 15,192,0,15,192,0,15,192,0,15,192,0,15,192,0,15, + 192,0,15,192,0,15,192,0,15,192,0,15,192,0,15,192, + 0,15,192,0,15,192,0,15,192,0,15,192,0,15,192,0, + 15,192,0,15,192,0,15,192,0,15,192,0,15,192,0,15, + 192,0,15,192,0,15,192,0,15,192,0,15,128,0,15,128, + 0,15,128,0,31,0,24,30,0,62,62,0,127,248,0,255, + 240,0,127,224,0,31,128,0,29,30,120,30,1,0,255,240, + 255,224,255,240,255,224,63,192,31,0,31,128,62,0,31,128, + 124,0,31,128,248,0,31,129,240,0,31,129,224,0,31,131, + 192,0,31,135,128,0,31,143,0,0,31,159,0,0,31,190, + 0,0,31,188,0,0,31,252,0,0,31,254,0,0,31,191, + 0,0,31,159,128,0,31,143,192,0,31,135,224,0,31,135, + 240,0,31,131,248,0,31,129,252,0,31,128,254,0,31,128, + 126,0,31,128,127,0,31,128,63,192,63,192,31,240,255,240, + 15,248,255,240,7,128,23,30,90,24,1,0,255,240,0,255, + 240,0,63,192,0,31,128,0,31,128,0,31,128,0,31,128, + 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, + 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, + 128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128, + 0,31,128,4,31,128,6,31,128,14,31,128,30,63,192,60, + 255,255,252,255,255,252,38,30,150,41,1,0,255,128,0,15, + 248,255,192,0,15,248,15,192,0,31,192,15,224,0,31,192, + 15,224,0,31,192,15,240,0,63,192,15,240,0,63,192,15, + 248,0,127,192,15,248,0,119,192,14,252,0,247,192,14,252, + 0,247,192,14,124,1,231,192,14,126,1,231,192,14,62,1, + 199,192,14,63,3,199,192,14,31,3,135,192,14,31,135,135, + 192,14,31,135,135,192,14,15,143,7,192,14,15,207,7,192, + 30,7,222,7,192,30,7,254,7,192,30,3,252,7,192,30, + 3,252,7,192,30,3,248,7,192,30,1,248,7,224,30,1, + 248,7,224,31,0,240,15,224,255,192,240,63,252,255,192,96, + 63,252,30,30,120,32,1,0,255,0,15,252,255,128,15,252, + 63,192,3,240,31,192,1,224,31,224,1,224,31,240,1,224, + 31,240,1,224,31,248,1,224,31,252,1,224,30,254,1,224, + 30,126,1,224,30,63,1,224,30,63,129,224,30,31,129,224, + 30,15,193,224,30,7,225,224,30,7,225,224,30,3,241,224, + 30,1,249,224,30,1,253,224,30,0,253,224,30,0,127,224, + 30,0,63,224,30,0,63,224,30,0,31,224,30,0,15,224, + 30,0,7,224,63,0,7,224,255,192,3,224,255,192,0,224, + 27,30,120,30,1,0,0,31,192,0,0,255,240,0,3,225, + 252,0,7,128,126,0,15,0,63,0,31,0,31,0,30,0, + 31,128,62,0,15,128,126,0,15,192,124,0,15,192,124,0, + 7,224,252,0,7,224,252,0,7,224,252,0,7,224,252,0, + 7,224,252,0,7,224,252,0,7,224,252,0,7,224,252,0, + 7,224,254,0,7,192,126,0,15,192,126,0,15,128,127,0, + 15,128,63,0,31,0,31,128,31,0,31,192,62,0,15,240, + 252,0,7,255,240,0,1,255,224,0,0,127,0,0,25,30, + 120,27,0,0,3,255,192,0,255,255,248,0,127,193,252,0, + 143,192,126,0,15,192,63,0,15,192,63,0,15,192,31,128, + 15,192,31,128,15,192,31,128,15,192,31,128,15,192,31,128, + 15,192,31,0,15,192,63,0,15,192,62,0,15,192,126,0, + 15,208,252,0,15,223,240,0,15,207,192,0,15,192,0,0, + 15,192,0,0,15,192,0,0,15,192,0,0,15,192,0,0, + 15,192,0,0,15,192,0,0,15,192,0,0,15,192,0,0, + 31,224,0,0,127,252,0,0,127,252,0,0,32,38,152,30, + 1,248,0,31,192,0,0,255,240,0,3,225,252,0,7,128, + 126,0,15,0,63,0,31,0,31,0,30,0,31,128,62,0, + 15,128,126,0,15,192,124,0,15,192,124,0,7,192,252,0, + 7,224,252,0,7,224,252,0,7,224,252,0,7,224,252,0, + 7,224,252,0,7,224,252,0,7,224,252,0,7,224,254,0, + 7,192,126,0,15,192,126,0,15,128,127,0,15,128,63,0, + 31,0,31,128,31,0,31,192,62,0,15,240,252,0,7,255, + 248,0,1,255,224,0,0,127,240,0,0,1,252,0,0,0, + 254,2,0,0,63,135,0,0,31,255,0,0,15,254,0,0, + 3,252,0,0,1,252,0,0,0,120,29,30,120,29,0,0, + 7,255,128,0,255,255,240,0,127,193,252,0,143,192,126,0, + 15,192,126,0,15,192,63,0,15,192,63,0,15,192,63,0, + 15,192,63,0,15,192,63,0,15,192,126,0,15,192,126,0, + 15,192,252,0,15,255,248,0,15,255,240,0,15,255,192,0, + 15,199,192,0,15,195,224,0,15,193,240,0,15,193,240,0, + 15,192,248,0,15,192,252,0,15,192,126,0,15,192,126,0, + 15,192,63,0,15,192,63,128,15,192,31,192,31,224,31,248, + 127,248,15,248,127,248,15,128,20,30,90,25,3,0,1,255, + 0,15,255,192,30,15,224,60,7,192,120,3,192,248,1,128, + 248,0,0,252,0,0,254,0,0,255,0,0,127,192,0,127, + 240,0,63,252,0,31,255,0,7,255,128,1,255,192,0,127, + 224,0,31,224,0,7,240,0,3,240,0,1,240,192,1,240, + 224,1,240,224,1,224,240,3,224,248,3,192,254,15,128,255, + 255,0,127,254,0,15,240,0,27,30,120,28,0,0,127,255, + 255,224,127,255,255,224,112,31,128,224,112,31,128,224,96,31, + 128,224,96,31,128,224,224,31,128,96,64,31,128,96,0,31, + 128,0,0,31,128,0,0,31,128,0,0,31,128,0,0,31, + 128,0,0,31,128,0,0,31,128,0,0,31,128,0,0,31, + 128,0,0,31,128,0,0,31,128,0,0,31,128,0,0,31, + 128,0,0,31,128,0,0,31,128,0,0,31,128,0,0,31, + 128,0,0,31,128,0,0,31,128,0,0,63,192,0,1,255, + 248,0,1,255,248,0,29,30,120,32,1,0,255,240,31,248, + 255,240,31,248,63,192,7,224,31,128,3,192,31,128,3,192, + 31,128,3,192,31,128,3,192,31,128,3,192,31,128,3,192, + 31,128,3,192,31,128,3,192,31,128,3,192,31,128,3,192, + 31,128,3,192,31,128,3,192,31,128,3,192,31,128,3,192, + 31,128,3,192,31,128,3,192,31,128,3,192,31,128,3,192, + 31,128,3,128,31,192,7,128,15,192,7,128,15,224,7,0, + 7,224,15,0,3,248,62,0,1,255,252,0,0,255,240,0, + 0,31,192,0,31,30,120,32,0,0,255,240,7,254,255,240, + 7,254,31,128,0,240,15,192,0,224,15,192,0,224,15,192, + 1,224,7,224,1,192,7,224,3,192,3,240,3,192,3,240, + 3,128,3,240,7,128,1,248,7,128,1,248,7,0,0,248, + 15,0,0,252,14,0,0,252,14,0,0,126,30,0,0,126, + 28,0,0,62,28,0,0,63,60,0,0,63,56,0,0,31, + 248,0,0,31,240,0,0,15,240,0,0,15,240,0,0,15, + 224,0,0,7,224,0,0,7,224,0,0,3,192,0,0,3, + 0,0,41,30,180,41,0,0,255,240,12,3,255,128,255,240, + 30,3,255,128,31,128,30,0,124,0,15,128,30,0,56,0, + 15,128,63,0,120,0,15,128,63,0,120,0,15,192,63,128, + 112,0,7,192,127,128,112,0,7,192,127,128,112,0,7,192, + 127,192,240,0,7,224,247,192,224,0,3,224,231,224,224,0, + 3,224,227,224,224,0,3,225,227,225,224,0,3,241,195,241, + 224,0,3,241,193,241,192,0,1,243,193,241,192,0,1,243, + 128,249,192,0,1,251,128,251,192,0,1,255,128,255,192,0, + 0,255,0,127,128,0,0,255,0,127,128,0,0,254,0,127, + 128,0,0,254,0,63,128,0,0,126,0,63,0,0,0,124, + 0,31,0,0,0,124,0,31,0,0,0,124,0,31,0,0, + 0,120,0,14,0,0,0,48,0,12,0,0,29,30,120,30, + 1,0,255,240,127,240,255,240,127,240,63,192,31,128,31,192, + 15,0,15,192,30,0,7,224,60,0,7,240,60,0,3,240, + 120,0,1,248,240,0,1,252,240,0,0,255,224,0,0,127, + 192,0,0,127,192,0,0,63,128,0,0,31,128,0,0,31, + 192,0,0,63,224,0,0,127,224,0,0,127,240,0,0,243, + 248,0,1,241,248,0,1,225,252,0,3,192,254,0,7,192, + 126,0,7,128,63,0,15,0,63,128,31,0,31,192,63,0, + 63,224,255,192,255,248,255,192,255,248,29,30,120,29,0,0, + 127,0,31,248,255,128,31,248,31,192,3,192,15,192,3,128, + 7,224,7,128,3,240,7,0,3,240,15,0,1,248,14,0, + 1,248,30,0,0,252,28,0,0,124,60,0,0,126,56,0, + 0,63,120,0,0,63,240,0,0,31,240,0,0,31,224,0, + 0,15,224,0,0,15,192,0,0,15,192,0,0,15,192,0, + 0,15,192,0,0,15,192,0,0,15,192,0,0,15,192,0, + 0,15,192,0,0,15,192,0,0,15,192,0,0,31,224,0, + 0,255,252,0,0,255,252,0,23,30,90,26,1,0,63,255, + 254,63,255,254,60,0,254,56,1,252,56,1,248,48,3,248, + 48,7,240,64,7,240,0,15,224,0,15,192,0,31,192,0, + 63,128,0,63,128,0,127,0,0,126,0,0,254,0,1,252, + 0,1,252,0,3,248,0,3,248,0,7,240,0,15,224,0, + 15,224,4,31,192,6,31,192,6,63,128,14,127,0,14,127, + 0,30,255,255,254,127,255,254,12,45,90,16,3,248,255,240, + 255,240,255,240,248,0,248,0,248,0,248,0,248,0,248,0, + 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, + 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, + 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, + 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, + 248,0,255,240,255,240,255,240,21,46,138,23,1,248,224,0, + 0,248,0,0,120,0,0,120,0,0,124,0,0,60,0,0, + 60,0,0,62,0,0,30,0,0,31,0,0,15,0,0,15, + 0,0,15,128,0,7,128,0,7,128,0,7,192,0,3,192, + 0,3,192,0,3,224,0,1,224,0,1,240,0,0,240,0, + 0,240,0,0,248,0,0,120,0,0,120,0,0,124,0,0, + 60,0,0,60,0,0,62,0,0,30,0,0,31,0,0,15, + 0,0,15,0,0,15,128,0,7,128,0,7,128,0,7,192, + 0,3,192,0,3,192,0,1,224,0,1,224,0,1,240,0, + 0,240,0,0,240,0,0,56,12,45,90,16,1,248,255,240, + 255,240,255,240,1,240,1,240,1,240,1,240,1,240,1,240, + 1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240, + 1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240, + 1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240, + 1,240,1,240,1,240,1,240,1,240,1,240,1,240,1,240, + 1,240,255,240,255,240,255,240,19,23,69,24,2,13,0,32, + 0,0,112,0,0,240,0,1,240,0,1,248,0,1,248,0, + 3,188,0,3,188,0,7,60,0,7,30,0,6,30,0,14, + 14,0,14,15,0,12,15,0,28,7,128,28,7,128,24,3, + 128,56,3,192,48,3,192,112,1,224,112,1,224,96,0,224, + 192,0,192,21,3,9,23,1,250,127,255,248,127,255,248,255, + 255,240,11,11,22,15,0,24,60,0,252,0,254,0,126,0, + 63,0,31,0,15,128,7,128,3,192,1,192,0,224,23,22, + 66,24,1,0,0,255,0,15,255,128,31,15,192,62,7,224, + 126,7,224,252,7,224,96,7,224,0,7,224,0,31,224,1, + 255,224,7,255,224,31,231,224,63,135,224,63,7,224,126,7, + 224,126,7,224,126,7,224,126,31,228,127,63,252,63,247,254, + 63,231,240,15,131,128,24,36,108,26,0,0,3,0,0,63, + 128,0,255,128,0,127,128,0,31,128,0,31,128,0,31,128, + 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, + 31,128,0,31,128,0,31,131,224,31,143,248,31,191,252,31, + 255,252,31,240,254,31,192,126,31,128,63,31,128,63,31,128, + 31,31,128,31,31,128,31,31,128,31,31,128,31,31,128,30, + 31,128,30,31,128,60,31,128,56,31,240,248,31,255,240,15, + 255,192,3,255,128,0,126,0,20,22,66,22,1,0,0,127, + 128,1,255,240,7,135,224,15,3,224,30,1,224,62,0,192, + 124,0,192,124,0,0,252,0,0,252,0,0,252,0,0,252, + 0,0,252,0,0,252,0,0,254,0,0,126,0,32,127,0, + 112,63,193,224,63,255,192,31,255,128,7,255,0,1,252,0, + 25,36,144,27,2,0,0,0,56,0,0,15,248,0,0,15, + 248,0,0,3,248,0,0,1,248,0,0,1,248,0,0,1, + 248,0,0,1,248,0,0,1,248,0,0,1,248,0,0,1, + 248,0,0,1,248,0,0,1,248,0,0,1,248,0,0,249, + 248,0,7,255,248,0,15,255,248,0,31,135,248,0,63,3, + 248,0,62,1,248,0,126,1,248,0,124,1,248,0,252,1, + 248,0,252,1,248,0,252,1,248,0,252,1,248,0,252,1, + 248,0,252,1,248,0,254,1,248,0,126,1,248,0,127,3, + 248,0,127,135,253,0,63,255,255,128,31,253,254,0,15,248, + 252,0,3,224,224,0,19,22,66,23,2,0,0,252,0,7, + 255,0,15,31,128,30,15,128,62,15,192,124,7,192,124,7, + 224,124,7,224,252,7,224,255,255,224,255,255,128,252,0,0, + 252,0,0,252,0,0,254,0,0,126,0,64,127,0,224,63, + 131,192,63,255,128,31,255,0,15,254,0,3,248,0,20,37, + 111,16,1,0,0,15,128,0,63,224,0,255,240,1,255,224, + 3,227,224,7,193,192,7,193,0,15,128,0,15,128,0,15, + 128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128, + 0,127,255,0,255,254,0,31,132,0,31,128,0,31,128,0, + 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, + 128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128, + 0,31,128,0,31,128,0,31,128,0,63,224,0,255,252,0, + 255,252,0,25,33,132,25,0,245,0,126,1,128,3,255,223, + 128,7,135,255,0,15,3,254,0,30,1,240,0,30,0,248, + 0,62,0,248,0,62,0,248,0,62,0,248,0,62,0,248, + 0,63,0,240,0,31,129,224,0,15,195,192,0,7,255,128, + 0,1,254,0,0,3,224,0,0,7,192,0,0,15,192,0, + 0,31,254,0,0,31,255,240,0,15,255,252,0,7,255,254, + 0,15,159,255,0,62,0,127,0,124,0,63,0,252,0,31, + 0,252,0,30,0,254,0,30,0,255,0,60,0,127,192,248, + 0,63,255,240,0,15,255,192,0,1,254,0,0,26,36,144, + 28,1,0,1,128,0,0,63,128,0,0,255,128,0,0,255, + 128,0,0,31,128,0,0,31,128,0,0,31,128,0,0,31, + 128,0,0,31,128,0,0,31,128,0,0,31,128,0,0,31, + 128,0,0,31,128,0,0,31,128,0,0,31,129,240,0,31, + 143,252,0,31,159,252,0,31,255,254,0,31,248,254,0,31, + 224,126,0,31,192,126,0,31,128,126,0,31,128,126,0,31, + 128,126,0,31,128,126,0,31,128,126,0,31,128,126,0,31, + 128,126,0,31,128,126,0,31,128,126,0,31,128,126,0,31, + 128,126,0,31,128,126,0,63,192,255,0,255,243,255,192,255, + 243,255,192,12,32,64,14,1,0,7,128,15,192,31,192,31, + 192,31,128,15,0,0,0,0,0,0,0,0,0,3,128,127, + 128,255,128,127,128,31,128,31,128,31,128,31,128,31,128,31, + 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, + 128,31,128,63,192,255,240,255,240,17,43,129,14,250,245,0, + 15,0,0,31,128,0,63,128,0,63,128,0,63,0,0,30, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,128, + 0,127,128,0,255,128,0,127,128,0,31,128,0,31,128,0, + 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, + 128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128, + 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, + 31,128,0,31,128,0,31,0,0,31,0,0,62,0,16,62, + 0,60,124,0,127,248,0,255,224,0,255,192,0,63,0,0, + 26,36,144,26,1,0,1,128,0,0,63,128,0,0,255,128, + 0,0,255,128,0,0,31,128,0,0,31,128,0,0,31,128, + 0,0,31,128,0,0,31,128,0,0,31,128,0,0,31,128, + 0,0,31,128,0,0,31,128,0,0,31,128,0,0,31,129, + 255,128,31,129,255,128,31,128,252,0,31,128,248,0,31,131, + 224,0,31,135,192,0,31,143,128,0,31,158,0,0,31,188, + 0,0,31,252,0,0,31,190,0,0,31,191,0,0,31,159, + 128,0,31,143,192,0,31,135,224,0,31,135,240,0,31,131, + 248,0,31,129,252,0,31,128,252,0,63,128,255,192,255,240, + 127,192,255,240,62,0,12,36,72,14,1,0,1,128,63,128, + 255,128,255,128,31,128,31,128,31,128,31,128,31,128,31,128, + 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, + 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, + 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,192, + 255,240,255,240,39,22,110,41,1,0,3,3,224,31,128,127, + 143,248,127,192,255,159,249,255,224,127,255,255,255,240,31,241, + 255,135,240,31,224,255,3,240,31,128,252,3,240,31,128,252, + 3,240,31,128,252,3,240,31,128,252,3,240,31,128,252,3, + 240,31,128,252,3,240,31,128,252,3,240,31,128,252,3,240, + 31,128,252,3,240,31,128,252,3,240,31,128,252,3,240,31, + 128,252,3,240,31,128,252,3,240,63,128,252,3,248,255,247, + 255,159,254,255,247,255,159,254,26,22,88,28,1,0,3,1, + 240,0,127,135,252,0,255,159,252,0,63,191,254,0,31,248, + 254,0,31,224,126,0,31,192,126,0,31,128,126,0,31,128, + 126,0,31,128,126,0,31,128,126,0,31,128,126,0,31,128, + 126,0,31,128,126,0,31,128,126,0,31,128,126,0,31,128, + 126,0,31,128,126,0,31,128,126,0,63,192,255,0,255,243, + 255,192,255,243,255,192,21,22,66,25,2,0,0,252,0,3, + 255,0,15,15,192,30,7,224,62,7,224,62,3,240,124,3, + 240,124,1,248,252,1,248,252,1,248,252,1,248,252,1,248, + 252,1,248,252,1,248,252,1,240,126,1,240,126,3,224,62, + 3,224,63,3,192,31,135,128,7,254,0,1,248,0,24,33, + 99,27,1,245,3,3,224,127,143,248,255,159,252,63,255,252, + 31,240,254,31,192,126,31,128,63,31,128,63,31,128,31,31, + 128,31,31,128,31,31,128,31,31,128,31,31,128,30,31,128, + 30,31,128,62,31,192,60,31,240,124,31,255,248,31,255,240, + 31,159,224,31,135,128,31,128,0,31,128,0,31,128,0,31, + 128,0,31,128,0,31,128,0,31,128,0,31,128,0,63,192, + 0,255,248,0,255,248,0,24,33,99,26,2,245,0,124,8, + 1,255,28,7,255,248,15,135,248,30,3,248,62,1,248,124, + 1,248,124,1,248,252,1,248,252,1,248,252,1,248,252,1, + 248,252,1,248,252,1,248,254,1,248,126,1,248,127,3,248, + 127,143,248,63,255,248,31,253,248,15,249,248,3,225,248,0, + 1,248,0,1,248,0,1,248,0,1,248,0,1,248,0,1, + 248,0,1,248,0,1,248,0,3,248,0,31,255,0,31,255, + 20,22,66,21,1,0,3,7,192,127,143,240,255,191,240,63, + 255,224,31,241,224,31,224,224,31,192,224,31,128,192,31,128, + 192,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, + 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, + 192,0,255,248,0,255,248,0,16,22,44,20,2,0,7,248, + 31,254,60,62,120,30,248,14,248,12,252,0,255,0,127,192, + 127,240,63,248,15,254,3,254,0,255,128,127,192,63,224,31, + 224,31,240,30,248,60,255,248,63,224,18,30,90,18,255,0, + 0,192,0,1,192,0,7,192,0,15,192,0,15,192,0,15, + 192,0,15,192,0,15,192,0,63,255,192,255,255,128,15,193, + 0,15,192,0,15,192,0,15,192,0,15,192,0,15,192,0, + 15,192,0,15,192,0,15,192,0,15,192,0,15,192,0,15, + 192,0,15,192,0,15,192,0,15,192,128,15,227,192,15,255, + 128,7,255,0,3,252,0,1,240,0,26,22,88,27,1,0, + 3,128,28,0,255,135,252,0,255,135,252,0,31,128,252,0, + 31,128,252,0,31,128,252,0,31,128,252,0,31,128,252,0, + 31,128,252,0,31,128,252,0,31,128,252,0,31,128,252,0, + 31,128,252,0,31,128,252,0,31,128,252,0,31,128,252,0, + 31,129,252,0,31,199,252,128,31,255,255,128,15,254,255,192, + 7,248,126,0,3,224,112,0,24,22,66,24,0,0,255,224, + 255,255,224,255,63,128,60,31,128,60,31,128,56,15,192,120, + 15,192,112,7,192,112,7,224,240,7,224,224,3,241,224,3, + 241,192,1,249,192,1,251,128,0,255,128,0,255,128,0,127, + 0,0,127,0,0,126,0,0,62,0,0,60,0,0,24,0, + 34,22,110,34,0,0,255,224,96,63,192,255,224,112,63,192, + 63,0,240,7,0,31,0,248,15,0,31,128,248,14,0,15, + 129,252,14,0,15,129,252,30,0,15,195,252,28,0,7,195, + 254,28,0,7,195,190,28,0,7,231,63,60,0,3,231,31, + 56,0,3,239,31,184,0,3,254,31,248,0,1,254,15,240, + 0,1,252,15,240,0,1,252,7,240,0,0,252,7,224,0, + 0,248,3,224,0,0,248,3,224,0,0,112,1,192,0,0, + 96,1,128,0,25,22,88,25,0,0,127,241,255,0,127,241, + 255,0,31,192,124,0,15,224,112,0,7,224,224,0,7,241, + 224,0,3,251,192,0,1,255,128,0,0,255,0,0,0,254, + 0,0,0,127,0,0,0,127,0,0,0,127,128,0,0,255, + 192,0,1,207,224,0,3,199,224,0,7,131,240,0,7,3, + 248,0,14,1,252,0,30,1,254,0,255,135,255,128,255,135, + 255,128,25,33,132,24,255,245,127,240,127,128,127,240,127,128, + 31,192,30,0,15,192,28,0,15,192,28,0,7,224,60,0, + 7,224,56,0,3,240,56,0,3,240,112,0,1,240,112,0, + 1,248,240,0,1,248,224,0,0,252,224,0,0,253,224,0, + 0,125,192,0,0,127,192,0,0,127,128,0,0,63,128,0, + 0,63,128,0,0,31,0,0,0,31,0,0,0,14,0,0, + 0,14,0,0,0,30,0,0,0,28,0,0,0,60,0,0, + 0,120,0,0,32,248,0,0,63,240,0,0,127,224,0,0, + 255,192,0,0,255,128,0,0,126,0,0,0,20,22,66,22, + 1,0,63,255,240,63,255,240,56,15,224,56,15,192,48,31, + 192,48,31,128,32,63,0,0,127,0,0,126,0,0,252,0, + 1,252,0,1,248,0,3,240,0,7,240,0,7,224,0,15, + 224,48,31,192,48,31,128,112,63,128,112,127,0,240,127,255, + 240,255,255,224,14,45,90,17,2,249,0,8,0,60,0,248, + 1,240,3,224,7,224,7,192,15,192,15,192,15,192,15,192, + 15,192,15,224,7,224,7,224,7,224,7,224,7,224,7,192, + 15,192,15,128,63,0,254,0,255,128,31,192,7,192,7,224, + 7,224,7,224,7,224,7,224,7,224,15,224,15,192,15,192, + 15,192,15,192,15,192,15,192,7,192,7,224,3,240,0,248, + 0,124,0,8,4,49,49,11,4,246,48,240,240,240,240,240, + 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, + 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, + 240,240,240,240,240,240,240,240,240,240,192,14,44,88,17,1, + 249,64,0,248,0,124,0,63,0,31,128,15,128,15,192,15, + 192,15,192,15,192,15,192,15,192,31,192,31,128,31,128,31, + 128,31,128,31,128,31,128,15,192,15,252,7,252,1,248,7, + 224,15,192,15,128,31,128,31,128,31,128,31,128,31,128,31, + 192,15,192,15,192,15,192,15,192,15,192,15,128,31,128,31, + 0,62,0,124,0,240,0,64,0,21,8,24,23,1,11,7, + 128,8,15,224,24,31,240,16,63,252,48,49,255,224,96,127, + 192,64,31,128,192,15,0,255}; +/* + Fontname: -FreeType-Gentium Basic-Medium-R-Normal--17-170-72-72-P-77-ISO10646-1 + Copyright: Copyright (c) SIL International, 2003-2008. + Capital A Height: 10, '1' Height: 10 + Calculated Max Values w=14 h=17 x= 2 y= 9 dx=14 dy= 0 ascent=15 len=30 + Font Bounding box w=25 h=24 x=-9 y=-6 + Calculated Min Values x=-2 y=-5 dx= 0 dy= 0 + Pure Font ascent =10 descent=-4 + X Font ascent =13 descent=-4 + Max Font ascent =15 descent=-5 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_gdr10[3670] U8G_FONT_SECTION("u8g_font_gdr10") = { + 0,25,24,247,250,10,2,30,4,177,32,255,252,15,251,13, + 252,0,0,0,4,0,0,2,12,12,5,1,0,64,192,64, + 64,64,64,64,64,64,0,64,64,5,5,5,7,1,7,216, + 216,88,72,72,7,9,9,8,1,1,20,36,126,40,72,252, + 80,80,144,7,12,12,8,0,255,16,56,84,80,112,56,30, + 18,146,212,120,16,10,10,20,12,1,0,96,128,145,0,146, + 0,150,0,164,0,105,128,18,64,50,64,34,64,65,128,10, + 12,24,11,1,0,28,0,36,0,36,0,36,0,40,0,51, + 192,81,0,153,0,141,0,134,0,135,0,121,192,2,5,5, + 4,1,7,192,192,64,64,64,3,16,16,5,1,253,32,64, + 64,128,128,128,128,128,128,128,128,128,128,64,64,32,3,16, + 16,5,1,253,128,64,64,32,32,32,32,32,32,32,32,32, + 32,64,64,128,6,7,7,8,1,6,32,168,236,48,252,164, + 32,6,6,6,7,1,2,32,32,32,252,32,32,2,4,4, + 4,1,253,192,64,64,128,4,1,1,6,1,4,240,1,2, + 2,4,2,0,128,128,8,16,16,8,0,253,3,2,6,4, + 4,12,8,8,16,16,48,32,32,96,64,192,6,10,10,8, + 1,0,56,72,132,132,132,132,132,132,72,112,5,10,10,8, + 2,0,32,224,32,32,32,32,32,32,32,248,5,10,10,8, + 2,0,56,200,136,8,16,32,32,64,136,248,6,10,10,8, + 1,0,112,136,136,16,48,8,4,4,140,120,6,10,10,8, + 1,0,8,24,40,40,72,136,252,8,8,60,6,10,10,8, + 1,0,124,64,64,120,140,4,4,4,132,120,6,10,10,8, + 1,0,24,32,64,128,248,132,132,132,72,56,6,10,10,8, + 1,0,252,132,8,8,8,16,16,32,32,64,6,10,10,8, + 1,0,120,196,196,200,56,204,132,132,132,120,6,10,10,8, + 1,0,56,200,132,132,132,124,4,8,16,96,1,8,8,4, + 2,0,128,128,0,0,0,0,128,128,2,11,11,4,1,253, + 64,64,0,0,0,0,0,192,64,64,128,6,5,5,7,1, + 2,12,112,128,112,12,6,3,3,7,1,3,252,0,252,6, + 5,5,7,1,2,192,56,12,112,128,6,12,12,7,1,0, + 56,68,132,4,4,8,16,32,32,32,32,32,12,14,28,14, + 1,253,15,128,16,64,96,32,71,144,136,144,144,144,144,144, + 144,144,144,144,137,160,78,192,96,0,48,96,15,128,10,10, + 20,10,0,0,4,0,12,0,20,0,18,0,18,0,30,0, + 33,0,33,0,65,128,227,192,7,10,10,9,1,0,248,68, + 68,68,124,70,66,66,66,252,7,10,10,9,1,0,62,66, + 128,128,128,128,128,128,66,60,8,10,10,10,1,0,252,70, + 65,65,65,65,65,66,66,252,7,10,10,8,1,0,252,68, + 64,64,124,64,64,64,66,254,7,10,10,8,1,0,254,68, + 64,64,120,64,64,64,64,224,9,10,20,10,1,0,30,0, + 99,0,128,0,128,0,128,0,135,128,129,0,129,0,97,0, + 62,0,9,10,20,11,1,0,227,128,65,0,65,0,65,0, + 127,0,65,0,65,0,65,0,65,0,227,128,3,10,10,5, + 1,0,224,64,64,64,64,64,64,64,64,224,6,13,13,5, + 254,253,60,8,8,8,8,8,8,8,8,8,8,16,224,9, + 10,20,10,1,0,231,0,68,0,72,0,80,0,96,0,80, + 0,88,0,76,0,70,0,227,128,7,10,10,8,1,0,224, + 64,64,64,64,64,64,64,66,254,12,10,20,14,1,0,192, + 112,96,96,96,224,112,224,81,96,89,32,74,32,78,32,68, + 32,228,240,9,10,20,11,1,0,195,128,97,0,97,0,81, + 0,73,0,77,0,69,0,67,0,67,0,225,0,8,10,10, + 10,1,0,60,66,129,129,129,129,129,130,66,60,7,10,10, + 9,1,0,252,70,66,66,70,120,64,64,64,224,10,12,24, + 10,1,254,60,0,66,0,129,0,129,0,129,0,129,0,129, + 0,130,0,66,0,60,0,6,128,3,192,9,10,20,10,1, + 0,252,0,70,0,66,0,66,0,68,0,120,0,76,0,68, + 0,70,0,227,128,6,10,10,8,1,0,120,140,128,192,112, + 8,4,132,132,248,9,10,20,9,0,0,255,128,136,128,8, + 0,8,0,8,0,8,0,8,0,8,0,8,0,28,0,9, + 10,20,11,1,0,227,128,65,0,65,0,65,0,65,0,65, + 0,65,0,65,0,34,0,60,0,11,10,20,11,0,0,241, + 224,32,128,32,128,49,0,17,0,25,0,10,0,10,0,14, + 0,4,0,14,10,20,14,0,0,241,28,99,8,35,16,35, + 144,36,144,52,144,20,80,24,96,24,96,24,32,10,10,20, + 10,0,0,243,192,33,0,51,0,26,0,12,0,12,0,18, + 0,49,0,33,128,243,192,9,10,20,10,1,0,195,128,97, + 0,50,0,22,0,28,0,8,0,8,0,8,0,8,0,28, + 0,8,10,10,9,0,0,127,66,70,4,8,24,16,33,97, + 255,4,16,16,5,1,253,240,128,128,128,128,128,128,128,128, + 128,128,128,128,128,128,240,8,16,16,8,0,253,192,64,64, + 32,32,48,16,16,8,8,12,4,4,6,2,3,4,16,16, + 5,0,253,240,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,240,7,8,8,8,1,5,16,48,56,72,72,76,132, + 134,6,1,1,8,1,254,252,4,3,3,5,0,9,192,96, + 48,7,8,8,8,1,0,28,100,4,28,100,132,140,118,8, + 13,13,9,0,0,64,192,64,64,64,78,115,65,65,65,65, + 66,60,6,8,8,7,1,0,60,72,128,128,128,128,196,120, + 8,13,13,9,1,0,6,2,2,2,2,62,66,130,130,130, + 130,70,59,6,8,8,8,1,0,56,68,132,252,128,128,68, + 120,6,13,13,5,1,0,28,40,64,64,64,240,64,64,64, + 64,64,64,240,8,12,12,8,0,252,63,70,130,130,196,56, + 96,60,195,129,194,124,8,13,13,9,1,0,64,192,64,64, + 64,78,82,98,66,66,66,66,231,3,11,11,5,1,0,64, + 192,0,64,192,64,64,64,64,64,224,5,15,15,4,254,252, + 8,24,0,8,24,8,8,8,8,8,8,8,8,16,224,8, + 13,13,9,1,0,64,192,64,64,64,78,72,80,96,80,72, + 76,231,3,13,13,5,1,0,64,192,64,64,64,64,64,64, + 64,64,64,64,224,11,8,16,12,1,0,221,192,102,64,68, + 64,68,64,68,64,68,64,68,64,238,224,8,8,8,9,1, + 0,78,210,98,66,66,66,66,231,7,8,8,9,1,0,56, + 68,130,130,130,130,68,56,7,12,12,9,1,252,92,230,66, + 66,66,66,68,120,64,64,64,224,8,12,12,9,1,252,62, + 66,130,130,130,130,70,58,2,2,2,7,6,8,8,7,1, + 0,220,104,64,64,64,64,64,224,5,8,8,7,1,0,112, + 136,128,96,24,136,136,240,5,10,10,6,1,0,64,64,248, + 64,64,64,64,64,64,120,9,8,16,9,0,0,195,0,65, + 0,65,0,65,0,65,0,65,0,67,0,61,128,8,8,8, + 8,0,0,227,98,34,36,52,20,24,8,12,8,16,12,0, + 0,226,112,102,32,38,32,39,64,41,64,57,64,24,128,16, + 128,8,8,8,9,0,0,247,34,52,24,28,36,66,231,8, + 12,12,8,0,252,231,98,34,36,52,20,24,8,8,16,160, + 192,6,8,8,8,1,0,252,136,16,48,32,64,196,252,4, + 16,16,6,1,253,48,64,64,64,96,32,32,64,224,32,32, + 96,64,64,64,32,1,17,17,4,2,253,128,128,128,128,128, + 128,128,128,128,128,128,128,128,128,128,128,128,5,16,16,5, + 0,253,64,32,32,32,32,32,32,56,48,32,32,32,32,32, + 32,192,8,2,2,8,0,4,57,206,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,255,255,255,255,255,255,255,0,0,0,4,0, + 0,2,13,13,5,1,251,64,64,0,0,64,64,64,64,64, + 64,64,192,192,6,10,10,8,1,0,16,28,116,144,144,144, + 144,116,56,16,7,11,11,8,1,255,60,68,68,64,64,240, + 64,64,66,134,252,4,6,6,8,2,2,144,240,144,144,240, + 144,9,10,20,8,255,0,231,128,34,0,22,0,20,0,8, + 0,62,0,8,0,8,0,8,0,28,0,1,17,17,4,2, + 253,128,128,128,128,128,128,128,128,0,128,128,128,128,128,128, + 128,128,6,12,12,8,1,0,112,152,128,96,184,140,196,100, + 24,136,200,112,5,2,2,7,1,9,136,136,10,10,20,12, + 1,0,30,0,127,128,114,128,160,64,160,64,160,64,176,64, + 94,128,97,128,30,0,4,6,6,4,0,5,96,160,96,160, + 240,240,6,8,8,8,1,0,36,72,72,144,144,72,72,36, + 7,3,3,8,0,2,254,2,2,4,1,1,6,1,4,240, + 6,6,6,6,0,6,120,132,180,180,180,120,6,1,1,8, + 1,9,252,4,4,4,6,1,6,112,144,144,224,6,8,8, + 7,1,1,32,32,32,252,32,32,64,248,4,7,7,6,1, + 5,112,144,16,32,64,144,240,4,7,7,5,0,5,112,144, + 16,48,16,144,224,3,3,3,5,2,9,96,64,128,9,12, + 24,9,0,252,195,0,65,0,65,0,65,0,65,0,65,0, + 99,0,125,128,64,0,64,0,96,0,96,0,8,12,12,10, + 1,254,63,202,138,138,202,122,10,10,10,10,10,31,1,2, + 2,2,1,5,128,128,2,4,4,4,1,252,128,192,64,128, + 4,6,6,6,0,5,96,160,32,32,32,112,4,6,6,5, + 0,5,96,144,144,144,96,240,7,8,8,8,1,0,144,72, + 108,36,54,108,72,144,9,10,20,10,1,0,193,0,66,0, + 66,0,68,0,72,0,169,0,23,0,37,0,39,128,67,128, + 8,10,10,10,1,0,193,66,68,68,72,171,21,34,37,79, + 10,11,22,10,0,0,112,0,80,128,33,0,18,0,18,0, + 228,0,8,128,11,128,18,128,19,192,33,192,6,13,13,8, + 1,251,32,32,0,32,32,32,64,64,128,128,132,136,112,10, + 15,30,10,0,0,32,0,24,0,12,0,0,0,0,0,4, + 0,12,0,20,0,18,0,18,0,30,0,33,0,33,0,65, + 128,227,192,10,15,30,10,0,0,2,0,7,0,12,0,16, + 0,0,0,4,0,12,0,20,0,18,0,18,0,30,0,33, + 0,33,0,65,128,227,192,10,15,30,10,0,0,12,0,12, + 0,18,0,33,0,0,0,4,0,12,0,20,0,18,0,18, + 0,30,0,33,0,33,0,65,128,227,192,10,14,28,10,0, + 0,10,0,25,0,38,0,0,0,4,0,12,0,20,0,18, + 0,18,0,30,0,33,0,33,0,65,128,227,192,10,13,26, + 10,0,0,34,0,34,0,0,0,4,0,12,0,20,0,18, + 0,18,0,30,0,33,0,33,0,65,128,227,192,10,15,30, + 10,0,0,12,0,20,0,28,0,0,0,0,0,4,0,12, + 0,20,0,18,0,18,0,30,0,33,0,33,0,65,128,227, + 192,12,10,20,13,1,0,31,224,10,32,10,0,18,0,31, + 224,50,0,34,0,34,0,66,16,231,240,7,14,14,9,1, + 252,62,66,128,128,128,128,128,128,66,102,24,24,8,16,7, + 15,15,8,1,0,64,224,16,8,0,252,68,64,64,124,64, + 64,64,66,254,7,15,15,8,1,0,8,28,48,0,0,252, + 68,64,64,124,64,64,64,66,254,7,15,15,8,1,0,16, + 56,72,4,0,252,68,64,64,124,64,64,64,66,254,7,13, + 13,8,1,0,136,136,0,252,68,64,64,124,64,64,64,66, + 254,4,15,15,5,0,0,128,192,32,16,0,112,32,32,32, + 32,32,32,32,32,112,4,15,15,5,1,0,32,48,64,128, + 0,224,64,64,64,64,64,64,64,64,224,5,15,15,5,0, + 0,32,112,136,0,0,112,32,32,32,32,32,32,32,32,112, + 5,13,13,5,0,0,136,136,0,112,32,32,32,32,32,32, + 32,32,112,8,10,10,10,1,0,252,70,65,65,241,65,65, + 66,66,252,9,14,28,11,1,0,18,0,58,0,4,0,0, + 0,195,128,97,0,97,0,81,0,73,0,77,0,69,0,67, + 0,67,0,225,0,8,15,15,10,1,0,32,112,8,4,0, + 60,66,129,129,129,129,129,130,66,60,8,15,15,10,1,0, + 4,14,24,0,0,60,66,129,129,129,129,129,130,66,60,8, + 15,15,10,1,0,8,28,36,66,0,60,66,129,129,129,129, + 129,130,66,60,8,14,14,10,1,0,18,50,76,0,60,66, + 129,129,129,129,129,130,66,60,8,13,13,10,1,0,68,68, + 0,60,66,129,129,129,129,129,130,66,60,5,5,5,7,1, + 2,136,80,32,80,136,8,10,10,10,1,0,29,98,131,133, + 137,145,161,194,66,188,9,15,30,11,1,0,32,0,48,0, + 12,0,0,0,0,0,227,128,65,0,65,0,65,0,65,0, + 65,0,65,0,65,0,34,0,60,0,9,15,30,11,1,0, + 2,0,6,0,8,0,16,0,0,0,227,128,65,0,65,0, + 65,0,65,0,65,0,65,0,65,0,34,0,60,0,9,15, + 30,11,1,0,8,0,28,0,34,0,0,0,0,0,227,128, + 65,0,65,0,65,0,65,0,65,0,65,0,65,0,34,0, + 60,0,9,13,26,11,1,0,34,0,34,0,0,0,227,128, + 65,0,65,0,65,0,65,0,65,0,65,0,65,0,34,0, + 60,0,9,15,30,10,1,0,4,0,14,0,24,0,0,0, + 0,0,195,128,97,0,50,0,22,0,28,0,8,0,8,0, + 8,0,8,0,28,0,7,10,10,9,1,0,224,64,124,70, + 66,66,66,124,64,224,8,13,13,10,1,0,28,38,66,66, + 68,72,80,88,78,67,81,81,206,7,12,12,8,1,0,64, + 32,16,0,28,100,4,28,100,132,140,118,7,12,12,8,1, + 0,8,16,32,0,28,100,4,28,100,132,140,118,7,12,12, + 8,1,0,48,72,136,4,28,100,4,28,100,132,140,118,7, + 11,11,8,1,0,100,152,0,28,100,4,28,100,132,140,118, + 7,11,11,8,1,0,136,136,0,28,100,4,28,100,132,140, + 118,7,12,12,8,1,0,48,80,112,0,28,100,4,28,100, + 132,140,118,10,8,16,12,1,0,59,128,204,64,136,64,63, + 192,72,0,136,0,156,192,231,0,6,12,12,7,1,252,60, + 72,128,128,128,128,196,120,32,48,16,32,6,12,12,8,1, + 0,96,32,16,0,56,68,132,252,128,128,68,120,6,12,12, + 8,1,0,12,24,32,0,56,68,132,252,128,128,68,120,6, + 12,12,8,1,0,48,72,132,0,56,68,132,252,128,128,68, + 120,6,11,11,8,1,0,132,136,0,56,68,132,252,128,128, + 68,120,4,12,12,5,0,0,192,64,32,0,32,96,32,32, + 32,32,32,112,4,12,12,5,1,0,48,96,64,0,64,192, + 64,64,64,64,64,224,5,12,12,5,0,0,32,80,136,0, + 32,96,32,32,32,32,32,112,5,11,11,5,0,0,136,136, + 0,32,96,32,32,32,32,32,112,6,12,12,8,1,0,104, + 28,120,8,52,204,132,132,132,132,72,112,8,11,11,9,1, + 0,54,76,0,78,210,98,66,66,66,66,231,7,12,12,9, + 1,0,96,32,16,0,56,68,130,130,130,130,68,56,7,12, + 12,9,1,0,12,8,16,0,56,68,130,130,130,130,68,56, + 7,12,12,9,1,0,16,40,68,0,56,68,130,130,130,130, + 68,56,7,11,11,9,1,0,52,216,0,56,68,130,130,130, + 130,68,56,7,11,11,9,1,0,132,132,0,56,68,130,130, + 130,130,68,56,5,6,6,7,1,2,32,32,0,248,32,32, + 7,8,8,9,1,0,62,68,142,146,146,226,68,248,9,12, + 24,9,0,0,48,0,24,0,8,0,0,0,195,0,65,0, + 65,0,65,0,65,0,65,0,67,0,61,128,9,12,24,9, + 0,0,6,0,4,0,8,0,0,0,195,0,65,0,65,0, + 65,0,65,0,65,0,67,0,61,128,9,12,24,9,0,0, + 8,0,20,0,34,0,0,0,195,0,65,0,65,0,65,0, + 65,0,65,0,67,0,61,128,9,11,22,9,0,0,34,0, + 66,0,0,0,195,0,65,0,65,0,65,0,65,0,65,0, + 67,0,61,128,8,16,16,8,0,252,6,12,8,0,231,98, + 34,36,52,20,24,8,8,16,160,192,7,17,17,9,1,252, + 64,192,64,64,64,92,102,66,66,66,66,100,120,64,64,64, + 224,8,15,15,8,0,252,66,66,0,231,98,34,36,52,20, + 24,8,8,16,160,192}; +/* + Fontname: -FreeType-Gentium Basic-Medium-R-Normal--17-170-72-72-P-77-ISO10646-1 + Copyright: Copyright (c) SIL International, 2003-2008. + Capital A Height: 0, '1' Height: 10 + Calculated Max Values w= 8 h=16 x= 2 y= 6 dx= 8 dy= 0 ascent=13 len=16 + Font Bounding box w=25 h=24 x=-9 y=-6 + Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 + Pure Font ascent =10 descent= 0 + X Font ascent =10 descent= 0 + Max Font ascent =13 descent=-3 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_gdr10n[263] U8G_FONT_SECTION("u8g_font_gdr10n") = { + 0,25,24,247,250,10,0,0,0,0,42,58,0,13,253,10, + 0,6,7,7,8,1,6,32,168,236,48,252,164,32,6,6, + 6,7,1,2,32,32,32,252,32,32,2,4,4,4,1,253, + 192,64,64,128,4,1,1,6,1,4,240,1,2,2,4,2, + 0,128,128,8,16,16,8,0,253,3,2,6,4,4,12,8, + 8,16,16,48,32,32,96,64,192,6,10,10,8,1,0,56, + 72,132,132,132,132,132,132,72,112,5,10,10,8,2,0,32, + 224,32,32,32,32,32,32,32,248,5,10,10,8,2,0,56, + 200,136,8,16,32,32,64,136,248,6,10,10,8,1,0,112, + 136,136,16,48,8,4,4,140,120,6,10,10,8,1,0,8, + 24,40,40,72,136,252,8,8,60,6,10,10,8,1,0,124, + 64,64,120,140,4,4,4,132,120,6,10,10,8,1,0,24, + 32,64,128,248,132,132,132,72,56,6,10,10,8,1,0,252, + 132,8,8,8,16,16,32,32,64,6,10,10,8,1,0,120, + 196,196,200,56,204,132,132,132,120,6,10,10,8,1,0,56, + 200,132,132,132,124,4,8,16,96,1,8,8,4,2,0,128, + 128,0,0,0,0,128,128}; +/* + Fontname: -FreeType-Gentium Basic-Medium-R-Normal--17-170-72-72-P-77-ISO10646-1 + Copyright: Copyright (c) SIL International, 2003-2008. + Capital A Height: 10, '1' Height: 10 + Calculated Max Values w=14 h=17 x= 2 y= 9 dx=14 dy= 0 ascent=14 len=28 + Font Bounding box w=25 h=24 x=-9 y=-6 + Calculated Min Values x=-2 y=-4 dx= 0 dy= 0 + Pure Font ascent =10 descent=-4 + X Font ascent =13 descent=-4 + Max Font ascent =14 descent=-4 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_gdr10r[1723] U8G_FONT_SECTION("u8g_font_gdr10r") = { + 0,25,24,247,250,10,2,30,4,177,32,127,252,14,252,13, + 252,0,0,0,4,0,0,2,12,12,5,1,0,64,192,64, + 64,64,64,64,64,64,0,64,64,5,5,5,7,1,7,216, + 216,88,72,72,7,9,9,8,1,1,20,36,126,40,72,252, + 80,80,144,7,12,12,8,0,255,16,56,84,80,112,56,30, + 18,146,212,120,16,10,10,20,12,1,0,96,128,145,0,146, + 0,150,0,164,0,105,128,18,64,50,64,34,64,65,128,10, + 12,24,11,1,0,28,0,36,0,36,0,36,0,40,0,51, + 192,81,0,153,0,141,0,134,0,135,0,121,192,2,5,5, + 4,1,7,192,192,64,64,64,3,16,16,5,1,253,32,64, + 64,128,128,128,128,128,128,128,128,128,128,64,64,32,3,16, + 16,5,1,253,128,64,64,32,32,32,32,32,32,32,32,32, + 32,64,64,128,6,7,7,8,1,6,32,168,236,48,252,164, + 32,6,6,6,7,1,2,32,32,32,252,32,32,2,4,4, + 4,1,253,192,64,64,128,4,1,1,6,1,4,240,1,2, + 2,4,2,0,128,128,8,16,16,8,0,253,3,2,6,4, + 4,12,8,8,16,16,48,32,32,96,64,192,6,10,10,8, + 1,0,56,72,132,132,132,132,132,132,72,112,5,10,10,8, + 2,0,32,224,32,32,32,32,32,32,32,248,5,10,10,8, + 2,0,56,200,136,8,16,32,32,64,136,248,6,10,10,8, + 1,0,112,136,136,16,48,8,4,4,140,120,6,10,10,8, + 1,0,8,24,40,40,72,136,252,8,8,60,6,10,10,8, + 1,0,124,64,64,120,140,4,4,4,132,120,6,10,10,8, + 1,0,24,32,64,128,248,132,132,132,72,56,6,10,10,8, + 1,0,252,132,8,8,8,16,16,32,32,64,6,10,10,8, + 1,0,120,196,196,200,56,204,132,132,132,120,6,10,10,8, + 1,0,56,200,132,132,132,124,4,8,16,96,1,8,8,4, + 2,0,128,128,0,0,0,0,128,128,2,11,11,4,1,253, + 64,64,0,0,0,0,0,192,64,64,128,6,5,5,7,1, + 2,12,112,128,112,12,6,3,3,7,1,3,252,0,252,6, + 5,5,7,1,2,192,56,12,112,128,6,12,12,7,1,0, + 56,68,132,4,4,8,16,32,32,32,32,32,12,14,28,14, + 1,253,15,128,16,64,96,32,71,144,136,144,144,144,144,144, + 144,144,144,144,137,160,78,192,96,0,48,96,15,128,10,10, + 20,10,0,0,4,0,12,0,20,0,18,0,18,0,30,0, + 33,0,33,0,65,128,227,192,7,10,10,9,1,0,248,68, + 68,68,124,70,66,66,66,252,7,10,10,9,1,0,62,66, + 128,128,128,128,128,128,66,60,8,10,10,10,1,0,252,70, + 65,65,65,65,65,66,66,252,7,10,10,8,1,0,252,68, + 64,64,124,64,64,64,66,254,7,10,10,8,1,0,254,68, + 64,64,120,64,64,64,64,224,9,10,20,10,1,0,30,0, + 99,0,128,0,128,0,128,0,135,128,129,0,129,0,97,0, + 62,0,9,10,20,11,1,0,227,128,65,0,65,0,65,0, + 127,0,65,0,65,0,65,0,65,0,227,128,3,10,10,5, + 1,0,224,64,64,64,64,64,64,64,64,224,6,13,13,5, + 254,253,60,8,8,8,8,8,8,8,8,8,8,16,224,9, + 10,20,10,1,0,231,0,68,0,72,0,80,0,96,0,80, + 0,88,0,76,0,70,0,227,128,7,10,10,8,1,0,224, + 64,64,64,64,64,64,64,66,254,12,10,20,14,1,0,192, + 112,96,96,96,224,112,224,81,96,89,32,74,32,78,32,68, + 32,228,240,9,10,20,11,1,0,195,128,97,0,97,0,81, + 0,73,0,77,0,69,0,67,0,67,0,225,0,8,10,10, + 10,1,0,60,66,129,129,129,129,129,130,66,60,7,10,10, + 9,1,0,252,70,66,66,70,120,64,64,64,224,10,12,24, + 10,1,254,60,0,66,0,129,0,129,0,129,0,129,0,129, + 0,130,0,66,0,60,0,6,128,3,192,9,10,20,10,1, + 0,252,0,70,0,66,0,66,0,68,0,120,0,76,0,68, + 0,70,0,227,128,6,10,10,8,1,0,120,140,128,192,112, + 8,4,132,132,248,9,10,20,9,0,0,255,128,136,128,8, + 0,8,0,8,0,8,0,8,0,8,0,8,0,28,0,9, + 10,20,11,1,0,227,128,65,0,65,0,65,0,65,0,65, + 0,65,0,65,0,34,0,60,0,11,10,20,11,0,0,241, + 224,32,128,32,128,49,0,17,0,25,0,10,0,10,0,14, + 0,4,0,14,10,20,14,0,0,241,28,99,8,35,16,35, + 144,36,144,52,144,20,80,24,96,24,96,24,32,10,10,20, + 10,0,0,243,192,33,0,51,0,26,0,12,0,12,0,18, + 0,49,0,33,128,243,192,9,10,20,10,1,0,195,128,97, + 0,50,0,22,0,28,0,8,0,8,0,8,0,8,0,28, + 0,8,10,10,9,0,0,127,66,70,4,8,24,16,33,97, + 255,4,16,16,5,1,253,240,128,128,128,128,128,128,128,128, + 128,128,128,128,128,128,240,8,16,16,8,0,253,192,64,64, + 32,32,48,16,16,8,8,12,4,4,6,2,3,4,16,16, + 5,0,253,240,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,240,7,8,8,8,1,5,16,48,56,72,72,76,132, + 134,6,1,1,8,1,254,252,4,3,3,5,0,9,192,96, + 48,7,8,8,8,1,0,28,100,4,28,100,132,140,118,8, + 13,13,9,0,0,64,192,64,64,64,78,115,65,65,65,65, + 66,60,6,8,8,7,1,0,60,72,128,128,128,128,196,120, + 8,13,13,9,1,0,6,2,2,2,2,62,66,130,130,130, + 130,70,59,6,8,8,8,1,0,56,68,132,252,128,128,68, + 120,6,13,13,5,1,0,28,40,64,64,64,240,64,64,64, + 64,64,64,240,8,12,12,8,0,252,63,70,130,130,196,56, + 96,60,195,129,194,124,8,13,13,9,1,0,64,192,64,64, + 64,78,82,98,66,66,66,66,231,3,11,11,5,1,0,64, + 192,0,64,192,64,64,64,64,64,224,5,15,15,4,254,252, + 8,24,0,8,24,8,8,8,8,8,8,8,8,16,224,8, + 13,13,9,1,0,64,192,64,64,64,78,72,80,96,80,72, + 76,231,3,13,13,5,1,0,64,192,64,64,64,64,64,64, + 64,64,64,64,224,11,8,16,12,1,0,221,192,102,64,68, + 64,68,64,68,64,68,64,68,64,238,224,8,8,8,9,1, + 0,78,210,98,66,66,66,66,231,7,8,8,9,1,0,56, + 68,130,130,130,130,68,56,7,12,12,9,1,252,92,230,66, + 66,66,66,68,120,64,64,64,224,8,12,12,9,1,252,62, + 66,130,130,130,130,70,58,2,2,2,7,6,8,8,7,1, + 0,220,104,64,64,64,64,64,224,5,8,8,7,1,0,112, + 136,128,96,24,136,136,240,5,10,10,6,1,0,64,64,248, + 64,64,64,64,64,64,120,9,8,16,9,0,0,195,0,65, + 0,65,0,65,0,65,0,65,0,67,0,61,128,8,8,8, + 8,0,0,227,98,34,36,52,20,24,8,12,8,16,12,0, + 0,226,112,102,32,38,32,39,64,41,64,57,64,24,128,16, + 128,8,8,8,9,0,0,247,34,52,24,28,36,66,231,8, + 12,12,8,0,252,231,98,34,36,52,20,24,8,8,16,160, + 192,6,8,8,8,1,0,252,136,16,48,32,64,196,252,4, + 16,16,6,1,253,48,64,64,64,96,32,32,64,224,32,32, + 96,64,64,64,32,1,17,17,4,2,253,128,128,128,128,128, + 128,128,128,128,128,128,128,128,128,128,128,128,5,16,16,5, + 0,253,64,32,32,32,32,32,32,56,48,32,32,32,32,32, + 32,192,8,2,2,8,0,4,57,206,255}; +/* + Fontname: -FreeType-Gentium Basic-Medium-R-Normal--18-180-72-72-P-81-ISO10646-1 + Copyright: Copyright (c) SIL International, 2003-2008. + Capital A Height: 11, '1' Height: 11 + Calculated Max Values w=15 h=19 x= 2 y=10 dx=15 dy= 0 ascent=16 len=34 + Font Bounding box w=26 h=25 x=-9 y=-6 + Calculated Min Values x=-2 y=-5 dx= 0 dy= 0 + Pure Font ascent =11 descent=-4 + X Font ascent =14 descent=-4 + Max Font ascent =16 descent=-5 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_gdr11[3977] U8G_FONT_SECTION("u8g_font_gdr11") = { + 0,26,25,247,250,11,2,61,5,21,32,255,252,16,251,14, + 252,0,0,0,4,0,0,2,13,13,5,1,0,64,64,64, + 64,64,64,64,64,64,64,0,192,128,5,6,6,8,1,7, + 200,200,72,72,72,72,8,10,10,8,1,1,18,20,20,127, + 36,40,254,72,80,144,7,14,14,8,1,254,16,16,126,148, + 144,240,56,28,20,148,148,248,16,16,11,11,22,13,1,0, + 96,192,161,128,145,0,146,0,166,0,101,192,10,32,18,32, + 50,32,34,32,65,192,11,13,26,12,1,0,28,0,34,0, + 34,0,34,0,36,0,56,0,49,224,216,128,156,128,142,128, + 135,0,135,128,124,224,2,6,6,5,1,7,192,192,64,64, + 64,64,3,17,17,6,1,253,32,64,64,128,128,128,128,128, + 128,128,128,128,128,128,64,64,32,3,17,17,6,1,253,128, + 64,64,32,32,32,32,32,32,32,32,32,32,32,64,64,128, + 6,8,8,8,1,6,48,16,164,120,120,164,16,48,7,6, + 6,7,0,2,16,16,16,254,16,16,2,5,5,4,1,253, + 64,192,64,64,128,5,1,1,6,1,4,248,2,2,2,4, + 1,0,192,128,8,17,17,8,0,253,1,2,2,6,4,4, + 12,8,8,16,16,48,32,32,96,64,192,6,11,11,8,1, + 0,48,72,132,132,132,132,132,132,132,72,48,6,11,11,8, + 1,0,16,240,16,16,16,16,16,16,16,16,124,6,11,11, + 8,1,0,28,100,68,4,8,8,16,32,68,68,252,6,11, + 11,7,0,0,56,68,68,4,24,12,4,4,4,140,120,7, + 11,11,8,0,0,4,12,12,20,36,36,68,254,4,4,30, + 6,11,11,8,1,0,124,64,64,64,120,132,4,4,4,132, + 120,6,11,11,8,1,0,12,48,64,192,184,196,132,132,132, + 72,56,7,11,11,8,1,0,254,132,4,8,8,8,16,16, + 32,32,96,7,11,11,9,1,0,120,196,196,196,120,60,194, + 130,130,130,124,6,11,11,8,1,0,56,200,132,132,132,132, + 124,4,8,16,224,2,8,8,4,1,0,192,128,0,0,0, + 0,192,128,2,11,11,4,1,253,192,128,0,0,0,0,64, + 192,64,64,128,6,6,6,8,1,2,4,56,224,192,56,12, + 6,4,4,8,1,3,252,0,0,252,6,6,6,8,1,2, + 192,112,12,28,112,128,6,13,13,8,1,0,56,68,132,132, + 4,8,16,32,32,32,0,48,32,13,15,30,15,1,253,7, + 192,24,96,32,16,64,16,135,136,136,136,144,136,144,136,144, + 136,144,144,137,144,78,224,96,16,48,32,15,192,11,11,22, + 11,0,0,4,0,12,0,14,0,18,0,18,0,19,0,31, + 0,33,0,33,128,32,128,241,224,8,11,11,10,1,0,252, + 66,66,68,126,67,65,65,65,67,254,8,11,11,10,1,0, + 62,66,128,128,128,128,128,128,128,67,60,9,11,22,11,1, + 0,252,0,67,0,65,0,64,128,64,128,64,128,64,128,64, + 128,65,0,67,0,252,0,7,11,11,9,1,0,254,66,64, + 64,124,64,64,64,66,66,254,7,11,11,9,1,0,254,66, + 64,64,124,64,64,64,64,64,240,10,11,22,11,1,0,15, + 0,49,128,64,0,128,0,128,0,128,0,131,192,128,128,64, + 128,96,128,31,0,10,11,22,12,1,0,225,192,64,128,64, + 128,64,128,64,128,127,128,64,128,64,128,64,128,64,128,225, + 192,3,11,11,5,1,0,224,64,64,64,64,64,64,64,64, + 64,224,6,14,14,6,254,253,60,8,8,8,8,8,8,8, + 8,8,8,8,144,224,9,11,22,10,1,0,231,128,70,0, + 76,0,72,0,80,0,112,0,88,0,72,0,68,0,70,0, + 227,128,7,11,11,9,1,0,224,64,64,64,64,64,64,64, + 66,66,254,13,11,22,15,1,0,224,56,96,96,96,96,80, + 160,80,160,88,160,73,32,77,48,70,48,70,48,228,120,10, + 11,22,12,1,0,193,192,96,128,112,128,80,128,72,128,76, + 128,70,128,66,128,65,128,65,128,224,128,9,11,22,11,1, + 0,30,0,99,0,129,0,128,128,128,128,128,128,128,128,128, + 128,65,0,98,0,60,0,7,11,11,9,1,0,252,66,66, + 66,66,92,96,64,64,64,240,10,14,28,11,1,253,30,0, + 99,0,129,0,128,128,128,128,128,128,128,128,128,128,65,0, + 98,0,60,0,6,0,3,64,1,192,9,11,22,10,1,0, + 252,0,70,0,66,0,66,0,68,0,72,0,120,0,76,0, + 70,0,66,0,227,128,7,11,11,9,1,0,60,198,128,128, + 112,28,6,2,130,196,248,9,11,22,10,0,0,255,128,136, + 128,136,0,8,0,8,0,8,0,8,0,8,0,8,0,8, + 0,28,0,10,11,22,12,1,0,225,192,64,128,64,128,64, + 128,64,128,64,128,64,128,64,128,64,128,33,0,30,0,11, + 11,22,12,0,0,240,224,32,64,32,128,48,128,16,128,25, + 0,9,0,9,0,14,0,6,0,4,0,15,11,22,15,0, + 0,241,30,33,8,33,136,34,136,50,136,50,200,20,80,20, + 112,20,48,24,48,8,32,11,11,22,11,0,0,243,192,32, + 128,49,0,26,0,14,0,4,0,14,0,19,0,49,128,32, + 192,241,224,10,11,22,11,0,0,225,192,48,128,17,0,25, + 0,10,0,14,0,4,0,4,0,4,0,4,0,14,0,8, + 11,11,9,1,0,255,134,132,12,24,16,48,32,65,193,255, + 4,17,17,6,1,253,240,128,128,128,128,128,128,128,128,128, + 128,128,128,128,128,128,240,8,17,17,8,0,253,192,64,96, + 32,32,48,16,16,8,8,12,4,4,6,2,2,1,4,17, + 17,5,0,253,240,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,240,7,9,9,9,1,5,16,48,56,40,76, + 76,68,134,130,7,1,1,8,1,254,254,4,4,4,6,0, + 9,192,96,32,16,7,8,8,8,1,0,60,68,132,28,100, + 132,140,118,8,14,14,9,0,0,64,192,64,64,64,64,78, + 115,65,65,65,65,66,60,6,8,8,8,1,0,60,68,128, + 128,128,128,196,120,7,14,14,9,1,0,12,4,4,4,4, + 4,60,196,132,132,132,132,76,118,6,8,8,8,1,0,56, + 68,132,252,128,128,68,120,6,14,14,6,1,0,28,40,64, + 64,64,64,248,64,64,64,64,64,64,240,9,12,24,8,0, + 252,61,128,194,0,130,0,194,0,124,0,32,0,112,0,63, + 0,193,0,129,0,130,0,124,0,8,14,14,10,1,0,64, + 192,64,64,64,64,78,114,98,66,66,66,66,231,3,12,12, + 5,1,0,192,192,0,0,64,192,64,64,64,64,64,224,5, + 16,16,5,254,252,24,24,0,0,8,24,8,8,8,8,8, + 8,8,8,16,224,8,14,14,9,1,0,64,192,64,64,64, + 64,79,72,80,112,80,72,68,231,3,14,14,5,1,0,64, + 192,64,64,64,64,64,64,64,64,64,64,64,224,13,8,16, + 15,1,0,206,112,115,144,98,16,66,16,66,16,66,16,66, + 16,231,56,8,8,8,10,1,0,78,210,98,66,66,66,66, + 231,7,8,8,9,1,0,56,196,130,130,130,130,68,56,8, + 12,12,10,1,252,206,115,65,65,65,65,98,92,64,64,64, + 224,8,12,12,9,1,252,62,66,130,130,130,130,70,58,2, + 2,2,15,6,8,8,7,1,0,220,100,64,64,64,64,64, + 224,5,8,8,7,1,0,112,136,128,96,24,136,136,240,5, + 11,11,6,1,0,64,64,64,248,64,64,64,64,64,64,120, + 8,8,8,10,1,0,198,66,66,66,66,66,70,59,9,8, + 16,9,0,0,243,128,98,0,34,0,50,0,20,0,20,0, + 28,0,8,0,13,8,16,13,0,0,242,56,98,32,39,32, + 37,32,53,160,24,192,24,192,16,192,9,8,16,9,0,0, + 247,128,34,0,20,0,24,0,28,0,38,0,35,0,247,128, + 9,12,24,9,0,252,243,128,97,0,34,0,50,0,20,0, + 20,0,28,0,8,0,8,0,16,0,176,0,224,0,6,8, + 8,8,1,0,252,136,24,16,32,64,196,252,5,17,17,6, + 1,253,24,32,32,32,32,32,32,32,192,32,32,32,32,32, + 32,32,24,1,19,19,4,2,252,128,128,128,128,128,128,128, + 128,128,128,128,128,128,128,128,128,128,128,128,5,17,17,6, + 0,253,64,160,32,32,32,32,32,32,24,32,32,32,32,32, + 32,64,192,8,2,2,9,0,4,57,206,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,255,255,255,255,255,255,255,0,0,0,4, + 0,0,2,13,13,5,1,251,64,192,0,64,64,64,64,64, + 64,64,64,64,64,7,11,11,8,1,0,16,24,118,144,144, + 144,144,212,126,16,16,7,11,11,8,1,0,60,68,68,64, + 64,240,64,64,66,130,254,6,6,6,8,1,2,248,76,72, + 72,120,132,9,11,22,8,0,0,231,128,98,0,50,0,20, + 0,28,0,8,0,127,0,8,0,8,0,8,0,28,0,1, + 19,19,4,2,252,128,128,128,128,128,128,128,128,0,0,0, + 128,128,128,128,128,128,128,128,7,13,13,9,1,0,112,152, + 128,224,248,142,130,66,60,12,132,196,120,5,2,2,7,1, + 10,136,136,11,11,22,13,1,0,31,0,32,128,94,64,162, + 32,160,32,160,32,160,32,177,32,94,64,32,128,31,0,5, + 6,6,5,0,5,48,80,112,144,248,240,7,8,8,9,1, + 0,38,36,72,152,152,72,36,38,7,3,3,8,1,2,254, + 2,2,5,1,1,6,1,4,248,6,7,7,6,0,6,120, + 72,188,188,180,104,120,6,1,1,9,1,10,252,4,4,4, + 6,1,7,112,144,144,224,7,8,8,7,0,1,16,16,254, + 16,16,16,0,126,4,7,7,6,1,5,112,144,16,32,64, + 144,240,5,7,7,6,0,5,56,72,8,24,8,136,112,3, + 4,4,6,2,9,32,96,64,128,8,12,12,10,1,252,198, + 66,66,66,66,66,102,123,64,64,64,96,8,13,13,10,1, + 254,63,202,138,138,138,202,122,10,10,10,10,10,31,1,2, + 2,3,1,5,128,128,2,4,4,4,1,252,192,64,192,128, + 4,7,7,6,1,5,32,224,32,32,32,32,240,4,6,6, + 5,0,5,96,144,144,144,96,240,7,8,8,9,1,0,144, + 72,100,54,54,100,72,144,10,11,22,11,1,0,192,128,65, + 0,65,0,66,0,70,0,164,0,8,128,27,128,18,128,35, + 192,101,192,9,11,22,11,1,0,193,0,65,0,66,0,68, + 0,68,0,168,0,11,128,20,128,33,0,34,128,71,128,10, + 11,22,10,0,0,96,128,144,128,33,0,17,0,18,0,228, + 0,4,128,11,128,18,128,19,192,37,192,6,13,13,8,1, + 251,16,48,0,16,16,16,32,64,128,132,132,136,112,11,15, + 30,11,0,0,16,0,56,0,4,0,2,0,4,0,12,0, + 14,0,18,0,18,0,19,0,31,0,33,0,33,128,32,128, + 241,224,11,15,30,11,0,0,1,0,7,0,12,0,0,0, + 4,0,12,0,14,0,18,0,18,0,19,0,31,0,33,0, + 33,128,32,128,241,224,11,15,30,11,0,0,4,0,14,0, + 17,0,32,0,4,0,12,0,14,0,18,0,18,0,19,0, + 31,0,33,0,33,128,32,128,241,224,11,15,30,11,0,0, + 9,0,29,0,34,0,0,0,4,0,12,0,14,0,18,0, + 18,0,19,0,31,0,33,0,33,128,32,128,241,224,11,14, + 28,11,0,0,33,0,33,0,0,0,4,0,12,0,14,0, + 18,0,18,0,19,0,31,0,33,0,33,128,32,128,241,224, + 11,16,32,11,0,0,4,0,10,0,18,0,12,0,0,0, + 4,0,12,0,14,0,18,0,18,0,19,0,31,0,33,0, + 33,128,32,128,241,224,13,11,22,14,0,0,15,248,5,8, + 5,0,9,0,15,240,17,0,17,0,17,0,33,8,33,8, + 243,248,9,15,30,10,1,252,62,0,66,0,128,0,128,0, + 128,0,128,0,128,0,128,0,192,0,97,128,62,0,8,0, + 12,0,4,0,8,0,7,15,15,9,1,0,64,224,24,0, + 254,66,64,64,124,64,64,64,66,66,254,7,15,15,9,1, + 0,4,12,48,0,254,66,64,64,124,64,64,64,66,66,254, + 7,15,15,9,1,0,16,40,68,0,254,66,64,64,124,64, + 64,64,66,66,254,7,14,14,9,1,0,68,68,0,254,66, + 64,64,124,64,64,64,66,66,254,4,15,15,5,0,0,128, + 192,48,0,112,32,32,32,32,32,32,32,32,32,112,5,15, + 15,5,1,0,16,56,192,0,224,64,64,64,64,64,64,64, + 64,64,224,5,15,15,5,0,0,32,80,136,0,112,32,32, + 32,32,32,32,32,32,32,112,5,14,14,5,0,0,136,136, + 0,112,32,32,32,32,32,32,32,32,32,112,9,11,22,11, + 1,0,252,0,67,0,65,0,64,128,64,128,240,128,64,128, + 64,128,65,0,67,0,252,0,10,15,30,12,1,0,25,0, + 57,0,38,0,0,0,193,192,96,128,112,128,80,128,72,128, + 76,128,70,128,66,128,65,128,65,128,224,128,9,15,30,11, + 1,0,32,0,112,0,12,0,0,0,30,0,99,0,129,0, + 128,128,128,128,128,128,128,128,128,128,65,0,98,0,60,0, + 9,15,30,11,1,0,2,0,6,0,24,0,0,0,30,0, + 99,0,129,0,128,128,128,128,128,128,128,128,128,128,65,0, + 98,0,60,0,9,15,30,11,1,0,8,0,20,0,34,0, + 0,0,30,0,99,0,129,0,128,128,128,128,128,128,128,128, + 128,128,65,0,98,0,60,0,9,15,30,11,1,0,18,0, + 58,0,68,0,0,0,30,0,99,0,129,0,128,128,128,128, + 128,128,128,128,128,128,65,0,98,0,60,0,9,14,28,11, + 1,0,34,0,34,0,0,0,30,0,99,0,129,0,128,128, + 128,128,128,128,128,128,128,128,65,0,98,0,60,0,6,6, + 6,7,1,2,140,88,48,48,88,140,9,11,22,11,1,0, + 30,128,35,0,67,0,134,128,132,128,136,128,144,128,176,128, + 97,0,98,0,188,0,10,15,30,12,1,0,32,0,24,0, + 4,0,2,0,225,192,64,128,64,128,64,128,64,128,64,128, + 64,128,64,128,64,128,33,0,30,0,10,15,30,12,1,0, + 2,0,7,0,8,0,16,0,225,192,64,128,64,128,64,128, + 64,128,64,128,64,128,64,128,64,128,33,0,30,0,10,15, + 30,12,1,0,12,0,30,0,34,0,1,0,225,192,64,128, + 64,128,64,128,64,128,64,128,64,128,64,128,64,128,33,0, + 30,0,10,14,28,12,1,0,34,0,34,0,0,0,225,192, + 64,128,64,128,64,128,64,128,64,128,64,128,64,128,64,128, + 33,0,30,0,10,15,30,11,0,0,1,0,7,0,12,0, + 0,0,225,192,48,128,17,0,25,0,10,0,14,0,4,0, + 4,0,4,0,4,0,14,0,7,11,11,9,1,0,240,64, + 124,70,66,66,66,68,124,64,240,8,14,14,10,1,0,28, + 38,66,66,66,76,80,80,76,71,65,81,81,222,7,13,13, + 8,1,0,64,96,48,16,0,60,68,132,28,100,132,140,118, + 7,13,13,8,1,0,12,8,16,32,0,60,68,132,28,100, + 132,140,118,7,13,13,8,1,0,48,56,72,132,0,60,68, + 132,28,100,132,140,118,7,12,12,8,1,0,116,152,0,0, + 60,68,132,28,100,132,140,118,7,12,12,8,1,0,132,132, + 0,0,60,68,132,28,100,132,140,118,7,13,13,8,1,0, + 48,72,72,48,0,60,68,132,28,100,132,140,118,11,8,16, + 12,1,0,29,192,102,32,68,32,159,224,100,0,132,0,142, + 32,115,192,7,12,12,8,1,252,60,68,128,128,128,128,194, + 124,16,24,8,16,6,13,13,8,1,0,96,32,16,16,0, + 56,68,132,252,128,128,68,120,6,13,13,8,1,0,12,8, + 16,16,0,56,68,132,252,128,128,68,120,6,13,13,8,1, + 0,16,56,108,68,0,56,68,132,252,128,128,68,120,6,12, + 12,8,1,0,68,68,0,0,56,68,132,252,128,128,68,120, + 4,13,13,5,0,0,192,64,32,32,16,32,96,32,32,32, + 32,32,112,4,13,13,5,1,0,48,32,64,64,0,64,192, + 64,64,64,64,64,224,5,13,13,5,0,0,32,112,216,136, + 0,32,96,32,32,32,32,32,112,5,12,12,5,0,0,136, + 136,0,0,32,96,32,32,32,32,32,112,7,13,13,9,1, + 0,96,30,56,68,4,62,198,130,130,130,132,68,56,8,12, + 12,10,1,0,50,76,0,0,78,210,98,66,66,66,66,231, + 7,13,13,9,1,0,96,32,16,8,0,56,196,130,130,130, + 130,68,56,7,13,13,9,1,0,4,12,24,16,0,56,196, + 130,130,130,130,68,56,7,13,13,9,1,0,16,56,36,68, + 0,56,196,130,130,130,130,68,56,7,12,12,9,1,0,50, + 92,0,0,56,196,130,130,130,130,68,56,7,12,12,9,1, + 0,68,68,0,0,56,196,130,130,130,130,68,56,6,6,6, + 7,1,2,32,32,0,252,32,32,7,9,9,9,1,0,2, + 62,68,138,146,162,226,68,248,8,13,13,10,1,0,96,48, + 16,8,0,198,66,66,66,66,66,70,59,8,13,13,10,1, + 0,4,12,8,16,0,198,66,66,66,66,66,70,59,8,13, + 13,10,1,0,24,56,36,66,0,198,66,66,66,66,66,70, + 59,8,12,12,10,1,0,68,68,0,0,198,66,66,66,66, + 66,70,59,9,17,34,9,0,252,2,0,4,0,12,0,8, + 0,0,0,243,128,97,0,34,0,50,0,20,0,20,0,28, + 0,8,0,8,0,16,0,176,0,224,0,8,18,18,10,1, + 252,64,192,64,64,64,64,78,115,65,65,65,65,98,124,64, + 64,64,240,9,16,32,9,0,252,34,0,34,0,0,0,0, + 0,243,128,97,0,34,0,50,0,20,0,20,0,28,0,8, + 0,8,0,16,0,176,0,224,0}; +/* + Fontname: -FreeType-Gentium Basic-Medium-R-Normal--18-180-72-72-P-81-ISO10646-1 + Copyright: Copyright (c) SIL International, 2003-2008. + Capital A Height: 0, '1' Height: 11 + Calculated Max Values w= 8 h=17 x= 1 y= 6 dx= 9 dy= 0 ascent=14 len=17 + Font Bounding box w=26 h=25 x=-9 y=-6 + Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 + Pure Font ascent =11 descent= 0 + X Font ascent =11 descent= 0 + Max Font ascent =14 descent=-3 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_gdr11n[276] U8G_FONT_SECTION("u8g_font_gdr11n") = { + 0,26,25,247,250,11,0,0,0,0,42,58,0,14,253,11, + 0,6,8,8,8,1,6,48,16,164,120,120,164,16,48,7, + 6,6,7,0,2,16,16,16,254,16,16,2,5,5,4,1, + 253,64,192,64,64,128,5,1,1,6,1,4,248,2,2,2, + 4,1,0,192,128,8,17,17,8,0,253,1,2,2,6,4, + 4,12,8,8,16,16,48,32,32,96,64,192,6,11,11,8, + 1,0,48,72,132,132,132,132,132,132,132,72,48,6,11,11, + 8,1,0,16,240,16,16,16,16,16,16,16,16,124,6,11, + 11,8,1,0,28,100,68,4,8,8,16,32,68,68,252,6, + 11,11,7,0,0,56,68,68,4,24,12,4,4,4,140,120, + 7,11,11,8,0,0,4,12,12,20,36,36,68,254,4,4, + 30,6,11,11,8,1,0,124,64,64,64,120,132,4,4,4, + 132,120,6,11,11,8,1,0,12,48,64,192,184,196,132,132, + 132,72,56,7,11,11,8,1,0,254,132,4,8,8,8,16, + 16,32,32,96,7,11,11,9,1,0,120,196,196,196,120,60, + 194,130,130,130,124,6,11,11,8,1,0,56,200,132,132,132, + 132,124,4,8,16,224,2,8,8,4,1,0,192,128,0,0, + 0,0,192,128}; +/* + Fontname: -FreeType-Gentium Basic-Medium-R-Normal--18-180-72-72-P-81-ISO10646-1 + Copyright: Copyright (c) SIL International, 2003-2008. + Capital A Height: 11, '1' Height: 11 + Calculated Max Values w=15 h=19 x= 2 y= 9 dx=15 dy= 0 ascent=15 len=30 + Font Bounding box w=26 h=25 x=-9 y=-6 + Calculated Min Values x=-2 y=-4 dx= 0 dy= 0 + Pure Font ascent =11 descent=-4 + X Font ascent =14 descent=-4 + Max Font ascent =15 descent=-4 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_gdr11r[1868] U8G_FONT_SECTION("u8g_font_gdr11r") = { + 0,26,25,247,250,11,2,61,5,21,32,127,252,15,252,14, + 252,0,0,0,4,0,0,2,13,13,5,1,0,64,64,64, + 64,64,64,64,64,64,64,0,192,128,5,6,6,8,1,7, + 200,200,72,72,72,72,8,10,10,8,1,1,18,20,20,127, + 36,40,254,72,80,144,7,14,14,8,1,254,16,16,126,148, + 144,240,56,28,20,148,148,248,16,16,11,11,22,13,1,0, + 96,192,161,128,145,0,146,0,166,0,101,192,10,32,18,32, + 50,32,34,32,65,192,11,13,26,12,1,0,28,0,34,0, + 34,0,34,0,36,0,56,0,49,224,216,128,156,128,142,128, + 135,0,135,128,124,224,2,6,6,5,1,7,192,192,64,64, + 64,64,3,17,17,6,1,253,32,64,64,128,128,128,128,128, + 128,128,128,128,128,128,64,64,32,3,17,17,6,1,253,128, + 64,64,32,32,32,32,32,32,32,32,32,32,32,64,64,128, + 6,8,8,8,1,6,48,16,164,120,120,164,16,48,7,6, + 6,7,0,2,16,16,16,254,16,16,2,5,5,4,1,253, + 64,192,64,64,128,5,1,1,6,1,4,248,2,2,2,4, + 1,0,192,128,8,17,17,8,0,253,1,2,2,6,4,4, + 12,8,8,16,16,48,32,32,96,64,192,6,11,11,8,1, + 0,48,72,132,132,132,132,132,132,132,72,48,6,11,11,8, + 1,0,16,240,16,16,16,16,16,16,16,16,124,6,11,11, + 8,1,0,28,100,68,4,8,8,16,32,68,68,252,6,11, + 11,7,0,0,56,68,68,4,24,12,4,4,4,140,120,7, + 11,11,8,0,0,4,12,12,20,36,36,68,254,4,4,30, + 6,11,11,8,1,0,124,64,64,64,120,132,4,4,4,132, + 120,6,11,11,8,1,0,12,48,64,192,184,196,132,132,132, + 72,56,7,11,11,8,1,0,254,132,4,8,8,8,16,16, + 32,32,96,7,11,11,9,1,0,120,196,196,196,120,60,194, + 130,130,130,124,6,11,11,8,1,0,56,200,132,132,132,132, + 124,4,8,16,224,2,8,8,4,1,0,192,128,0,0,0, + 0,192,128,2,11,11,4,1,253,192,128,0,0,0,0,64, + 192,64,64,128,6,6,6,8,1,2,4,56,224,192,56,12, + 6,4,4,8,1,3,252,0,0,252,6,6,6,8,1,2, + 192,112,12,28,112,128,6,13,13,8,1,0,56,68,132,132, + 4,8,16,32,32,32,0,48,32,13,15,30,15,1,253,7, + 192,24,96,32,16,64,16,135,136,136,136,144,136,144,136,144, + 136,144,144,137,144,78,224,96,16,48,32,15,192,11,11,22, + 11,0,0,4,0,12,0,14,0,18,0,18,0,19,0,31, + 0,33,0,33,128,32,128,241,224,8,11,11,10,1,0,252, + 66,66,68,126,67,65,65,65,67,254,8,11,11,10,1,0, + 62,66,128,128,128,128,128,128,128,67,60,9,11,22,11,1, + 0,252,0,67,0,65,0,64,128,64,128,64,128,64,128,64, + 128,65,0,67,0,252,0,7,11,11,9,1,0,254,66,64, + 64,124,64,64,64,66,66,254,7,11,11,9,1,0,254,66, + 64,64,124,64,64,64,64,64,240,10,11,22,11,1,0,15, + 0,49,128,64,0,128,0,128,0,128,0,131,192,128,128,64, + 128,96,128,31,0,10,11,22,12,1,0,225,192,64,128,64, + 128,64,128,64,128,127,128,64,128,64,128,64,128,64,128,225, + 192,3,11,11,5,1,0,224,64,64,64,64,64,64,64,64, + 64,224,6,14,14,6,254,253,60,8,8,8,8,8,8,8, + 8,8,8,8,144,224,9,11,22,10,1,0,231,128,70,0, + 76,0,72,0,80,0,112,0,88,0,72,0,68,0,70,0, + 227,128,7,11,11,9,1,0,224,64,64,64,64,64,64,64, + 66,66,254,13,11,22,15,1,0,224,56,96,96,96,96,80, + 160,80,160,88,160,73,32,77,48,70,48,70,48,228,120,10, + 11,22,12,1,0,193,192,96,128,112,128,80,128,72,128,76, + 128,70,128,66,128,65,128,65,128,224,128,9,11,22,11,1, + 0,30,0,99,0,129,0,128,128,128,128,128,128,128,128,128, + 128,65,0,98,0,60,0,7,11,11,9,1,0,252,66,66, + 66,66,92,96,64,64,64,240,10,14,28,11,1,253,30,0, + 99,0,129,0,128,128,128,128,128,128,128,128,128,128,65,0, + 98,0,60,0,6,0,3,64,1,192,9,11,22,10,1,0, + 252,0,70,0,66,0,66,0,68,0,72,0,120,0,76,0, + 70,0,66,0,227,128,7,11,11,9,1,0,60,198,128,128, + 112,28,6,2,130,196,248,9,11,22,10,0,0,255,128,136, + 128,136,0,8,0,8,0,8,0,8,0,8,0,8,0,8, + 0,28,0,10,11,22,12,1,0,225,192,64,128,64,128,64, + 128,64,128,64,128,64,128,64,128,64,128,33,0,30,0,11, + 11,22,12,0,0,240,224,32,64,32,128,48,128,16,128,25, + 0,9,0,9,0,14,0,6,0,4,0,15,11,22,15,0, + 0,241,30,33,8,33,136,34,136,50,136,50,200,20,80,20, + 112,20,48,24,48,8,32,11,11,22,11,0,0,243,192,32, + 128,49,0,26,0,14,0,4,0,14,0,19,0,49,128,32, + 192,241,224,10,11,22,11,0,0,225,192,48,128,17,0,25, + 0,10,0,14,0,4,0,4,0,4,0,4,0,14,0,8, + 11,11,9,1,0,255,134,132,12,24,16,48,32,65,193,255, + 4,17,17,6,1,253,240,128,128,128,128,128,128,128,128,128, + 128,128,128,128,128,128,240,8,17,17,8,0,253,192,64,96, + 32,32,48,16,16,8,8,12,4,4,6,2,2,1,4,17, + 17,5,0,253,240,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,240,7,9,9,9,1,5,16,48,56,40,76, + 76,68,134,130,7,1,1,8,1,254,254,4,4,4,6,0, + 9,192,96,32,16,7,8,8,8,1,0,60,68,132,28,100, + 132,140,118,8,14,14,9,0,0,64,192,64,64,64,64,78, + 115,65,65,65,65,66,60,6,8,8,8,1,0,60,68,128, + 128,128,128,196,120,7,14,14,9,1,0,12,4,4,4,4, + 4,60,196,132,132,132,132,76,118,6,8,8,8,1,0,56, + 68,132,252,128,128,68,120,6,14,14,6,1,0,28,40,64, + 64,64,64,248,64,64,64,64,64,64,240,9,12,24,8,0, + 252,61,128,194,0,130,0,194,0,124,0,32,0,112,0,63, + 0,193,0,129,0,130,0,124,0,8,14,14,10,1,0,64, + 192,64,64,64,64,78,114,98,66,66,66,66,231,3,12,12, + 5,1,0,192,192,0,0,64,192,64,64,64,64,64,224,5, + 16,16,5,254,252,24,24,0,0,8,24,8,8,8,8,8, + 8,8,8,16,224,8,14,14,9,1,0,64,192,64,64,64, + 64,79,72,80,112,80,72,68,231,3,14,14,5,1,0,64, + 192,64,64,64,64,64,64,64,64,64,64,64,224,13,8,16, + 15,1,0,206,112,115,144,98,16,66,16,66,16,66,16,66, + 16,231,56,8,8,8,10,1,0,78,210,98,66,66,66,66, + 231,7,8,8,9,1,0,56,196,130,130,130,130,68,56,8, + 12,12,10,1,252,206,115,65,65,65,65,98,92,64,64,64, + 224,8,12,12,9,1,252,62,66,130,130,130,130,70,58,2, + 2,2,15,6,8,8,7,1,0,220,100,64,64,64,64,64, + 224,5,8,8,7,1,0,112,136,128,96,24,136,136,240,5, + 11,11,6,1,0,64,64,64,248,64,64,64,64,64,64,120, + 8,8,8,10,1,0,198,66,66,66,66,66,70,59,9,8, + 16,9,0,0,243,128,98,0,34,0,50,0,20,0,20,0, + 28,0,8,0,13,8,16,13,0,0,242,56,98,32,39,32, + 37,32,53,160,24,192,24,192,16,192,9,8,16,9,0,0, + 247,128,34,0,20,0,24,0,28,0,38,0,35,0,247,128, + 9,12,24,9,0,252,243,128,97,0,34,0,50,0,20,0, + 20,0,28,0,8,0,8,0,16,0,176,0,224,0,6,8, + 8,8,1,0,252,136,24,16,32,64,196,252,5,17,17,6, + 1,253,24,32,32,32,32,32,32,32,192,32,32,32,32,32, + 32,32,24,1,19,19,4,2,252,128,128,128,128,128,128,128, + 128,128,128,128,128,128,128,128,128,128,128,128,5,17,17,6, + 0,253,64,160,32,32,32,32,32,32,24,32,32,32,32,32, + 32,64,192,8,2,2,9,0,4,57,206,255}; +/* + Fontname: -FreeType-Gentium Basic-Medium-R-Normal--19-190-72-72-P-84-ISO10646-1 + Copyright: Copyright (c) SIL International, 2003-2008. + Capital A Height: 12, '1' Height: 12 + Calculated Max Values w=16 h=20 x= 2 y=11 dx=16 dy= 0 ascent=17 len=36 + Font Bounding box w=28 h=28 x=-10 y=-7 + Calculated Min Values x=-2 y=-5 dx= 0 dy= 0 + Pure Font ascent =12 descent=-4 + X Font ascent =15 descent=-4 + Max Font ascent =17 descent=-5 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_gdr12[4200] U8G_FONT_SECTION("u8g_font_gdr12") = { + 0,28,28,246,249,12,2,80,5,85,32,255,252,17,251,15, + 252,0,0,0,4,0,0,2,15,15,5,2,255,128,128,128, + 128,128,128,128,128,128,128,0,0,192,192,128,6,6,6,8, + 1,8,204,76,72,72,72,72,8,11,11,9,1,1,26,18, + 18,127,36,36,36,254,72,72,80,7,15,15,9,1,254,16, + 16,126,148,144,208,112,28,22,18,146,146,252,16,16,11,11, + 22,13,1,0,112,64,144,128,137,128,139,0,146,0,117,192, + 10,32,26,32,18,32,34,32,65,192,11,13,26,12,1,0, + 28,0,34,0,34,0,34,0,36,0,56,0,49,224,216,128, + 140,128,140,128,135,0,199,128,60,224,2,6,6,5,1,8, + 192,64,64,64,64,64,4,18,18,6,1,253,48,96,64,64, + 128,128,128,128,128,128,128,128,128,128,192,64,96,48,4,18, + 18,6,1,253,192,96,32,48,16,16,16,16,16,16,16,16, + 16,16,32,32,96,128,7,7,7,8,1,7,16,148,222,48, + 252,146,16,7,7,7,8,0,2,16,16,16,254,16,16,16, + 2,5,5,4,1,253,64,192,64,64,128,5,1,1,6,1, + 4,248,2,3,3,4,1,255,192,192,128,8,18,18,9,0, + 253,1,1,3,2,6,4,4,12,8,8,24,16,48,32,32, + 96,64,192,7,11,11,9,1,0,56,68,130,130,130,130,130, + 130,132,68,56,6,12,12,9,1,0,16,112,144,16,16,16, + 16,16,16,16,16,252,6,12,12,8,1,0,60,68,196,4, + 4,8,16,16,32,68,132,252,7,12,12,8,0,0,28,38, + 98,2,4,28,2,2,2,2,134,124,7,12,12,9,1,0, + 4,12,12,20,20,36,68,68,254,4,4,30,6,11,11,9, + 2,0,124,64,64,64,120,132,4,4,4,132,120,7,12,12, + 9,1,0,12,48,64,64,128,252,198,130,130,130,68,56,7, + 11,11,9,1,0,254,130,4,4,8,8,24,16,48,32,96, + 7,12,12,9,1,0,120,196,196,196,232,60,78,130,130,130, + 194,124,7,11,11,9,1,0,56,68,130,130,130,198,122,2, + 4,8,112,2,10,10,4,1,255,128,192,128,0,0,0,0, + 192,192,128,2,12,12,4,1,253,128,192,128,0,0,0,0, + 64,192,64,64,128,7,6,6,8,1,2,6,28,224,192,56, + 6,7,4,4,8,1,3,254,0,0,254,7,6,6,8,1, + 2,192,112,14,28,112,128,6,15,15,8,1,255,56,68,132, + 132,4,8,16,16,32,32,32,0,48,48,32,14,15,30,16, + 1,253,7,224,24,48,32,8,71,200,136,68,144,68,144,68, + 144,68,144,68,144,72,136,200,71,112,32,8,24,48,15,192, + 11,12,24,11,0,0,4,0,6,0,14,0,10,0,11,0, + 17,0,17,0,31,128,33,128,32,128,32,192,241,224,8,12, + 12,10,1,0,252,66,66,66,68,126,67,65,65,65,67,254, + 8,12,12,10,1,0,30,99,128,128,128,128,128,128,128,192, + 99,60,9,12,24,11,1,0,252,0,67,0,65,0,64,128, + 64,128,64,128,64,128,64,128,64,128,65,0,66,0,252,0, + 8,12,12,9,1,0,254,66,64,64,64,124,72,64,64,66, + 67,254,7,12,12,9,1,0,254,66,64,64,64,124,72,64, + 64,64,64,240,10,12,24,11,1,0,15,0,49,128,64,0, + 128,0,128,0,128,0,131,192,128,128,128,128,64,128,96,128, + 31,0,10,12,24,12,1,0,225,192,64,128,64,128,64,128, + 64,128,127,128,64,128,64,128,64,128,64,128,64,128,225,192, + 3,12,12,6,1,0,224,64,64,64,64,64,64,64,64,64, + 64,224,6,15,15,6,255,253,60,8,8,8,8,8,8,8, + 8,8,8,8,8,144,224,10,12,24,11,1,0,231,128,66, + 0,68,0,72,0,80,0,96,0,80,0,88,0,76,0,70, + 0,67,0,225,192,7,12,12,9,1,0,224,64,64,64,64, + 64,64,64,64,66,66,254,14,12,24,15,1,0,224,56,96, + 48,112,112,80,80,80,80,88,144,72,144,77,16,69,16,71, + 16,66,16,226,124,10,12,24,12,1,0,193,192,96,128,112, + 128,80,128,88,128,76,128,68,128,70,128,67,128,65,128,65, + 128,224,128,9,12,24,11,1,0,30,0,99,0,129,0,128, + 128,128,128,128,128,128,128,128,128,128,128,65,0,98,0,60, + 0,8,12,12,10,1,0,252,66,65,65,65,66,92,64,64, + 64,64,240,11,15,30,11,1,253,30,0,99,0,129,0,128, + 128,128,128,128,128,128,128,128,128,128,128,65,0,98,0,60, + 0,6,0,3,32,0,192,10,12,24,11,1,0,252,0,67, + 0,65,0,65,0,65,0,66,0,124,0,76,0,70,0,67, + 0,67,0,225,192,7,12,12,9,1,0,60,198,128,128,224, + 56,12,2,2,130,196,248,9,12,24,10,1,0,255,128,136, + 128,136,128,8,0,8,0,8,0,8,0,8,0,8,0,8, + 0,8,0,62,0,10,12,24,12,1,0,225,192,64,128,64, + 128,64,128,64,128,64,128,64,128,64,128,64,128,64,128,33, + 0,30,0,12,12,24,12,0,0,240,240,32,64,48,64,48, + 64,16,128,24,128,9,128,9,0,13,0,7,0,6,0,6, + 0,16,12,24,16,0,0,241,15,33,132,33,132,33,132,50, + 196,50,72,18,104,20,104,28,40,28,56,8,48,8,16,11, + 12,24,12,0,0,249,224,32,128,49,128,25,0,14,0,6, + 0,6,0,11,0,25,128,48,128,32,192,241,224,11,12,24, + 11,0,0,225,224,48,128,49,128,25,0,10,0,14,0,4, + 0,4,0,4,0,4,0,4,0,31,0,8,12,12,10,1, + 0,255,130,134,4,12,24,16,48,96,65,193,255,4,18,18, + 6,1,253,240,128,128,128,128,128,128,128,128,128,128,128,128, + 128,128,128,128,240,7,18,18,9,1,253,128,128,192,64,64, + 32,32,48,16,16,24,8,8,4,4,6,2,2,4,18,18, + 5,0,253,240,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,240,7,9,9,9,1,5,16,24,40,44,44, + 68,70,130,130,7,1,1,9,1,254,254,4,4,4,6,0, + 10,192,96,32,16,7,9,9,9,1,0,60,68,132,4,60, + 196,132,140,118,9,14,28,10,0,0,64,0,192,0,64,0, + 64,0,64,0,70,0,89,0,96,128,64,128,64,128,64,128, + 65,0,97,0,62,0,6,9,9,8,1,0,60,68,128,128, + 128,128,128,196,120,8,14,14,10,1,0,6,2,2,2,2, + 62,66,130,130,130,130,130,70,59,7,9,9,9,1,0,60, + 68,130,130,254,128,128,66,60,6,14,14,6,1,0,28,36, + 64,64,64,248,64,64,64,64,64,64,64,240,10,13,26,10, + 0,252,62,192,67,0,129,0,129,0,194,0,60,0,48,0, + 120,0,39,128,192,128,128,128,193,0,62,0,8,14,14,10, + 1,0,64,192,64,64,64,76,82,98,66,66,66,66,66,231, + 3,12,12,5,1,0,192,192,0,64,192,64,64,64,64,64, + 64,224,5,16,16,5,254,252,24,24,0,8,24,8,8,8, + 8,8,8,8,8,8,16,224,8,14,14,10,1,0,64,192, + 64,64,64,79,68,72,112,112,88,76,70,231,3,14,14,5, + 1,0,64,192,64,64,64,64,64,64,64,64,64,64,64,224, + 13,9,18,15,1,0,204,96,82,144,99,16,66,16,66,16, + 66,16,66,16,66,16,231,56,8,9,9,10,1,0,76,210, + 98,66,66,66,66,66,231,8,9,9,10,1,0,60,66,129, + 129,129,129,130,66,60,8,13,13,10,1,252,206,114,65,65, + 65,65,66,98,92,64,64,64,240,9,13,26,10,1,252,29, + 0,99,0,129,0,129,0,129,0,129,0,129,0,71,0,57, + 0,1,0,1,0,1,0,7,128,6,9,9,8,1,0,92, + 228,96,64,64,64,64,64,240,5,9,9,7,1,0,112,136, + 128,192,48,8,136,136,240,5,12,12,7,1,0,64,64,64, + 248,64,64,64,64,64,64,72,112,8,9,9,10,1,0,198, + 66,66,66,66,66,66,70,59,9,9,18,9,0,0,243,128, + 97,0,33,0,50,0,18,0,18,0,28,0,12,0,8,0, + 13,9,18,13,0,0,242,56,99,16,35,16,37,16,53,160, + 20,160,24,224,24,192,24,64,9,9,18,10,0,0,243,128, + 33,0,50,0,28,0,12,0,22,0,34,0,33,0,243,128, + 9,13,26,9,0,252,243,128,97,0,33,0,50,0,18,0, + 20,0,28,0,12,0,8,0,8,0,16,0,176,0,224,0, + 7,9,9,8,1,0,254,132,8,24,48,32,98,194,254,5, + 18,18,6,1,253,8,16,32,32,32,32,32,32,64,224,32, + 32,32,32,32,32,32,24,1,20,20,4,2,252,128,128,128, + 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, + 128,5,18,18,6,0,253,192,32,32,32,32,32,32,32,56, + 16,32,32,32,32,32,32,64,128,9,4,8,9,0,4,48, + 0,125,128,79,0,134,0,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,255,255,255,255,255,255,255,0,0,0,4,0,0,2,14, + 14,5,2,251,64,192,64,128,128,128,128,128,128,128,128,128, + 128,128,7,12,12,9,1,0,16,16,62,212,144,144,144,144, + 210,124,16,16,7,12,12,9,1,0,60,70,68,64,64,64, + 240,64,64,66,66,254,7,6,6,9,1,3,132,126,68,68, + 68,254,9,11,22,9,0,0,231,128,99,0,50,0,20,0, + 28,0,8,0,127,0,8,0,8,0,8,0,62,0,1,20, + 20,4,2,252,128,128,128,128,128,128,128,128,128,0,0,128, + 128,128,128,128,128,128,128,128,7,13,13,9,1,0,112,152, + 128,224,184,134,130,98,60,12,132,196,120,5,2,2,7,1, + 10,136,136,12,12,24,14,1,0,15,0,48,192,94,32,146, + 32,160,16,160,16,160,16,160,16,144,160,79,32,32,64,31, + 128,5,7,7,5,0,5,48,208,112,208,176,72,240,7,8, + 8,9,1,0,34,36,76,216,216,76,36,34,8,4,4,9, + 0,2,255,1,1,1,5,1,1,6,1,4,248,7,6,6, + 7,0,7,56,238,170,178,238,56,6,1,1,9,2,11,252, + 5,5,5,7,1,7,112,136,136,136,112,7,9,9,8,0, + 1,16,16,16,254,16,16,16,0,126,4,7,7,6,1,6, + 112,144,16,32,64,144,240,5,8,8,6,0,5,56,72,8, + 16,8,8,136,112,4,4,4,6,2,10,48,96,64,128,8, + 13,13,10,1,252,194,70,66,66,66,66,102,126,91,64,64, + 64,96,8,14,14,10,1,254,63,70,134,134,134,70,62,6, + 6,6,6,6,6,15,1,2,2,3,1,5,128,128,2,4, + 4,4,2,252,192,192,64,128,5,7,7,6,1,6,32,224, + 32,32,32,32,248,4,7,7,5,0,5,96,144,144,144,144, + 96,240,7,8,8,9,1,0,136,72,36,50,50,36,72,136, + 10,11,22,11,1,0,192,128,65,0,65,0,66,0,68,0, + 228,0,9,128,18,128,18,128,39,192,65,192,9,11,22,11, + 1,0,192,128,65,0,66,0,66,0,68,0,239,128,12,128, + 17,0,49,0,34,128,71,128,10,12,24,11,1,0,96,0, + 144,128,33,0,18,0,146,0,228,0,8,0,9,128,18,128, + 50,128,39,192,65,192,6,14,14,8,1,251,16,48,16,16, + 16,16,32,32,64,128,132,132,136,112,11,16,32,11,0,0, + 16,0,60,0,2,0,0,0,4,0,6,0,14,0,10,0, + 11,0,17,0,17,0,31,128,33,128,32,128,32,192,241,224, + 11,16,32,11,0,0,1,0,7,128,8,0,0,0,4,0, + 6,0,14,0,10,0,11,0,17,0,17,0,31,128,33,128, + 32,128,32,192,241,224,11,16,32,11,0,0,4,0,10,0, + 17,0,0,0,4,0,6,0,14,0,10,0,11,0,17,0, + 17,0,31,128,33,128,32,128,32,192,241,224,11,15,30,11, + 0,0,29,128,39,0,0,0,4,0,6,0,14,0,10,0, + 11,0,17,0,17,0,31,128,33,128,32,128,32,192,241,224, + 11,15,30,11,0,0,33,0,33,0,0,0,4,0,6,0, + 14,0,10,0,11,0,17,0,17,0,31,128,33,128,32,128, + 32,192,241,224,11,17,34,11,0,0,14,0,18,0,18,0, + 12,0,0,0,4,0,6,0,14,0,10,0,11,0,17,0, + 17,0,31,128,33,128,32,128,32,192,241,224,14,12,24,15, + 0,0,31,248,5,8,5,0,9,0,9,0,31,240,17,32, + 17,0,33,0,33,8,97,12,243,248,9,16,32,10,1,252, + 30,0,99,0,128,0,128,0,128,0,128,0,128,0,128,0, + 128,0,65,0,97,128,62,0,8,0,12,0,4,0,8,0, + 8,16,16,9,1,0,64,48,8,0,254,66,64,64,64,124, + 72,64,64,66,67,254,8,16,16,9,1,0,4,14,48,0, + 254,66,64,64,64,124,72,64,64,66,67,254,8,16,16,9, + 1,0,24,44,68,2,254,66,64,64,64,124,72,64,64,66, + 67,254,8,15,15,9,1,0,132,132,0,254,66,64,64,64, + 124,72,64,64,66,67,254,4,16,16,6,0,0,128,96,16, + 0,112,32,32,32,32,32,32,32,32,32,32,112,5,16,16, + 6,1,0,24,48,192,0,224,64,64,64,64,64,64,64,64, + 64,64,224,6,16,16,6,0,0,48,88,132,0,112,32,32, + 32,32,32,32,32,32,32,32,112,6,15,15,6,0,0,132, + 136,0,112,32,32,32,32,32,32,32,32,32,32,112,10,12, + 24,11,0,0,126,0,33,128,32,128,32,64,32,64,124,64, + 160,64,32,64,32,64,32,128,33,0,126,0,10,15,30,12, + 1,0,25,0,38,0,0,0,193,192,96,128,112,128,80,128, + 88,128,76,128,68,128,70,128,67,128,65,128,65,128,224,128, + 9,16,32,11,1,0,32,0,24,0,4,0,0,0,30,0, + 99,0,129,0,128,128,128,128,128,128,128,128,128,128,128,128, + 65,0,98,0,60,0,9,16,32,11,1,0,3,0,6,0, + 24,0,0,0,30,0,99,0,129,0,128,128,128,128,128,128, + 128,128,128,128,128,128,65,0,98,0,60,0,9,16,32,11, + 1,0,12,0,22,0,34,0,1,0,30,0,99,0,129,0, + 128,128,128,128,128,128,128,128,128,128,128,128,65,0,98,0, + 60,0,9,15,30,11,1,0,25,0,110,0,0,0,30,0, + 99,0,129,0,128,128,128,128,128,128,128,128,128,128,128,128, + 65,0,98,0,60,0,9,15,30,11,1,0,66,0,66,0, + 0,0,30,0,99,0,129,0,128,128,128,128,128,128,128,128, + 128,128,128,128,65,0,98,0,60,0,6,6,6,8,1,2, + 132,72,48,48,72,132,9,12,24,11,1,0,30,128,35,0, + 67,0,131,128,132,128,136,128,136,128,144,128,225,0,97,0, + 98,0,188,0,10,16,32,12,1,0,48,0,24,0,6,0, + 0,0,225,192,64,128,64,128,64,128,64,128,64,128,64,128, + 64,128,64,128,64,128,33,0,30,0,10,16,32,12,1,0, + 1,0,6,0,8,0,0,0,225,192,64,128,64,128,64,128, + 64,128,64,128,64,128,64,128,64,128,64,128,33,0,30,0, + 10,16,32,12,1,0,12,0,26,0,33,0,0,0,225,192, + 64,128,64,128,64,128,64,128,64,128,64,128,64,128,64,128, + 64,128,33,0,30,0,10,15,30,12,1,0,33,0,33,0, + 0,0,225,192,64,128,64,128,64,128,64,128,64,128,64,128, + 64,128,64,128,64,128,33,0,30,0,11,16,32,11,0,0, + 1,0,3,128,12,0,0,0,225,224,48,128,49,128,25,0, + 10,0,14,0,4,0,4,0,4,0,4,0,4,0,31,0, + 8,12,12,10,1,0,240,64,124,66,65,65,65,65,98,92, + 64,240,9,14,28,11,1,0,30,0,35,0,65,0,65,0, + 65,0,70,0,72,0,72,0,70,0,67,128,64,128,72,128, + 72,128,207,0,7,14,14,9,1,0,96,32,16,16,8,60, + 68,132,4,60,196,132,140,118,7,14,14,9,1,0,12,8, + 16,16,0,60,68,132,4,60,196,132,140,118,7,14,14,9, + 1,0,16,56,76,132,0,60,68,132,4,60,196,132,140,118, + 7,13,13,9,1,0,34,116,152,0,60,68,132,4,60,196, + 132,140,118,7,12,12,9,1,0,132,132,0,60,68,132,4, + 60,196,132,140,118,7,14,14,9,1,0,56,72,72,48,0, + 60,68,132,4,60,196,132,140,118,11,9,18,13,1,0,57, + 192,70,64,196,32,4,32,31,224,100,0,132,0,142,32,115, + 192,7,13,13,8,1,252,60,68,128,128,128,128,128,98,60, + 16,24,8,16,7,14,14,9,1,0,96,32,16,8,0,60, + 68,130,130,254,128,128,66,60,7,14,14,9,1,0,4,14, + 8,16,0,60,68,130,130,254,128,128,66,60,7,14,14,9, + 1,0,24,56,36,66,0,60,68,130,130,254,128,128,66,60, + 7,12,12,9,1,0,130,132,0,60,68,130,130,254,128,128, + 66,60,4,14,14,5,0,0,192,64,32,16,0,32,96,32, + 32,32,32,32,32,112,4,14,14,5,1,0,16,48,96,64, + 0,64,192,64,64,64,64,64,64,224,6,14,14,5,0,0, + 32,112,200,132,0,32,96,32,32,32,32,32,32,112,6,12, + 12,5,255,0,132,132,0,16,48,16,16,16,16,16,16,56, + 7,13,13,9,1,0,96,30,56,68,60,70,130,130,130,130, + 132,68,56,8,13,13,10,1,0,51,58,76,0,76,210,98, + 66,66,66,66,66,231,8,14,14,10,1,0,96,48,16,8, + 0,60,66,129,129,129,129,130,66,60,8,14,14,10,1,0, + 6,12,8,16,0,60,66,129,129,129,129,130,66,60,8,14, + 14,10,1,0,24,56,36,66,0,60,66,129,129,129,129,130, + 66,60,8,13,13,10,1,0,50,122,76,0,60,66,129,129, + 129,129,130,66,60,8,12,12,10,1,0,130,130,0,60,66, + 129,129,129,129,130,66,60,6,6,6,8,1,2,32,32,252, + 0,32,32,8,9,9,10,1,0,29,102,135,137,153,145,226, + 98,252,8,14,14,10,1,0,96,48,16,8,0,198,66,66, + 66,66,66,66,70,59,8,14,14,10,1,0,6,12,8,16, + 0,198,66,66,66,66,66,66,70,59,8,14,14,10,1,0, + 24,28,36,66,0,198,66,66,66,66,66,66,70,59,8,12, + 12,10,1,0,130,130,0,198,66,66,66,66,66,66,70,59, + 9,18,36,9,0,252,3,0,6,0,4,0,8,0,0,0, + 243,128,97,0,33,0,50,0,18,0,20,0,28,0,12,0, + 8,0,8,0,16,0,176,0,224,0,8,18,18,10,1,252, + 64,192,64,64,64,78,114,65,65,65,65,66,98,124,64,64, + 64,240,9,16,32,9,0,252,65,0,65,0,0,0,243,128, + 97,0,33,0,50,0,18,0,20,0,28,0,12,0,8,0, + 8,0,16,0,176,0,224,0}; +/* + Fontname: -FreeType-Gentium Basic-Medium-R-Normal--19-190-72-72-P-84-ISO10646-1 + Copyright: Copyright (c) SIL International, 2003-2008. + Capital A Height: 0, '1' Height: 12 + Calculated Max Values w= 8 h=18 x= 2 y= 7 dx= 9 dy= 0 ascent=15 len=18 + Font Bounding box w=28 h=28 x=-10 y=-7 + Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 + Pure Font ascent =12 descent= 0 + X Font ascent =12 descent= 0 + Max Font ascent =15 descent=-3 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_gdr12n[286] U8G_FONT_SECTION("u8g_font_gdr12n") = { + 0,28,28,246,249,12,0,0,0,0,42,58,0,15,253,12, + 0,7,7,7,8,1,7,16,148,222,48,252,146,16,7,7, + 7,8,0,2,16,16,16,254,16,16,16,2,5,5,4,1, + 253,64,192,64,64,128,5,1,1,6,1,4,248,2,3,3, + 4,1,255,192,192,128,8,18,18,9,0,253,1,1,3,2, + 6,4,4,12,8,8,24,16,48,32,32,96,64,192,7,11, + 11,9,1,0,56,68,130,130,130,130,130,130,132,68,56,6, + 12,12,9,1,0,16,112,144,16,16,16,16,16,16,16,16, + 252,6,12,12,8,1,0,60,68,196,4,4,8,16,16,32, + 68,132,252,7,12,12,8,0,0,28,38,98,2,4,28,2, + 2,2,2,134,124,7,12,12,9,1,0,4,12,12,20,20, + 36,68,68,254,4,4,30,6,11,11,9,2,0,124,64,64, + 64,120,132,4,4,4,132,120,7,12,12,9,1,0,12,48, + 64,64,128,252,198,130,130,130,68,56,7,11,11,9,1,0, + 254,130,4,4,8,8,24,16,48,32,96,7,12,12,9,1, + 0,120,196,196,196,232,60,78,130,130,130,194,124,7,11,11, + 9,1,0,56,68,130,130,130,198,122,2,4,8,112,2,10, + 10,4,1,255,128,192,128,0,0,0,0,192,192,128}; +/* + Fontname: -FreeType-Gentium Basic-Medium-R-Normal--19-190-72-72-P-84-ISO10646-1 + Copyright: Copyright (c) SIL International, 2003-2008. + Capital A Height: 12, '1' Height: 12 + Calculated Max Values w=16 h=20 x= 2 y=10 dx=16 dy= 0 ascent=16 len=30 + Font Bounding box w=28 h=28 x=-10 y=-7 + Calculated Min Values x=-2 y=-4 dx= 0 dy= 0 + Pure Font ascent =12 descent=-4 + X Font ascent =15 descent=-4 + Max Font ascent =16 descent=-4 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_gdr12r[1992] U8G_FONT_SECTION("u8g_font_gdr12r") = { + 0,28,28,246,249,12,2,80,5,85,32,127,252,16,252,15, + 252,0,0,0,4,0,0,2,15,15,5,2,255,128,128,128, + 128,128,128,128,128,128,128,0,0,192,192,128,6,6,6,8, + 1,8,204,76,72,72,72,72,8,11,11,9,1,1,26,18, + 18,127,36,36,36,254,72,72,80,7,15,15,9,1,254,16, + 16,126,148,144,208,112,28,22,18,146,146,252,16,16,11,11, + 22,13,1,0,112,64,144,128,137,128,139,0,146,0,117,192, + 10,32,26,32,18,32,34,32,65,192,11,13,26,12,1,0, + 28,0,34,0,34,0,34,0,36,0,56,0,49,224,216,128, + 140,128,140,128,135,0,199,128,60,224,2,6,6,5,1,8, + 192,64,64,64,64,64,4,18,18,6,1,253,48,96,64,64, + 128,128,128,128,128,128,128,128,128,128,192,64,96,48,4,18, + 18,6,1,253,192,96,32,48,16,16,16,16,16,16,16,16, + 16,16,32,32,96,128,7,7,7,8,1,7,16,148,222,48, + 252,146,16,7,7,7,8,0,2,16,16,16,254,16,16,16, + 2,5,5,4,1,253,64,192,64,64,128,5,1,1,6,1, + 4,248,2,3,3,4,1,255,192,192,128,8,18,18,9,0, + 253,1,1,3,2,6,4,4,12,8,8,24,16,48,32,32, + 96,64,192,7,11,11,9,1,0,56,68,130,130,130,130,130, + 130,132,68,56,6,12,12,9,1,0,16,112,144,16,16,16, + 16,16,16,16,16,252,6,12,12,8,1,0,60,68,196,4, + 4,8,16,16,32,68,132,252,7,12,12,8,0,0,28,38, + 98,2,4,28,2,2,2,2,134,124,7,12,12,9,1,0, + 4,12,12,20,20,36,68,68,254,4,4,30,6,11,11,9, + 2,0,124,64,64,64,120,132,4,4,4,132,120,7,12,12, + 9,1,0,12,48,64,64,128,252,198,130,130,130,68,56,7, + 11,11,9,1,0,254,130,4,4,8,8,24,16,48,32,96, + 7,12,12,9,1,0,120,196,196,196,232,60,78,130,130,130, + 194,124,7,11,11,9,1,0,56,68,130,130,130,198,122,2, + 4,8,112,2,10,10,4,1,255,128,192,128,0,0,0,0, + 192,192,128,2,12,12,4,1,253,128,192,128,0,0,0,0, + 64,192,64,64,128,7,6,6,8,1,2,6,28,224,192,56, + 6,7,4,4,8,1,3,254,0,0,254,7,6,6,8,1, + 2,192,112,14,28,112,128,6,15,15,8,1,255,56,68,132, + 132,4,8,16,16,32,32,32,0,48,48,32,14,15,30,16, + 1,253,7,224,24,48,32,8,71,200,136,68,144,68,144,68, + 144,68,144,68,144,72,136,200,71,112,32,8,24,48,15,192, + 11,12,24,11,0,0,4,0,6,0,14,0,10,0,11,0, + 17,0,17,0,31,128,33,128,32,128,32,192,241,224,8,12, + 12,10,1,0,252,66,66,66,68,126,67,65,65,65,67,254, + 8,12,12,10,1,0,30,99,128,128,128,128,128,128,128,192, + 99,60,9,12,24,11,1,0,252,0,67,0,65,0,64,128, + 64,128,64,128,64,128,64,128,64,128,65,0,66,0,252,0, + 8,12,12,9,1,0,254,66,64,64,64,124,72,64,64,66, + 67,254,7,12,12,9,1,0,254,66,64,64,64,124,72,64, + 64,64,64,240,10,12,24,11,1,0,15,0,49,128,64,0, + 128,0,128,0,128,0,131,192,128,128,128,128,64,128,96,128, + 31,0,10,12,24,12,1,0,225,192,64,128,64,128,64,128, + 64,128,127,128,64,128,64,128,64,128,64,128,64,128,225,192, + 3,12,12,6,1,0,224,64,64,64,64,64,64,64,64,64, + 64,224,6,15,15,6,255,253,60,8,8,8,8,8,8,8, + 8,8,8,8,8,144,224,10,12,24,11,1,0,231,128,66, + 0,68,0,72,0,80,0,96,0,80,0,88,0,76,0,70, + 0,67,0,225,192,7,12,12,9,1,0,224,64,64,64,64, + 64,64,64,64,66,66,254,14,12,24,15,1,0,224,56,96, + 48,112,112,80,80,80,80,88,144,72,144,77,16,69,16,71, + 16,66,16,226,124,10,12,24,12,1,0,193,192,96,128,112, + 128,80,128,88,128,76,128,68,128,70,128,67,128,65,128,65, + 128,224,128,9,12,24,11,1,0,30,0,99,0,129,0,128, + 128,128,128,128,128,128,128,128,128,128,128,65,0,98,0,60, + 0,8,12,12,10,1,0,252,66,65,65,65,66,92,64,64, + 64,64,240,11,15,30,11,1,253,30,0,99,0,129,0,128, + 128,128,128,128,128,128,128,128,128,128,128,65,0,98,0,60, + 0,6,0,3,32,0,192,10,12,24,11,1,0,252,0,67, + 0,65,0,65,0,65,0,66,0,124,0,76,0,70,0,67, + 0,67,0,225,192,7,12,12,9,1,0,60,198,128,128,224, + 56,12,2,2,130,196,248,9,12,24,10,1,0,255,128,136, + 128,136,128,8,0,8,0,8,0,8,0,8,0,8,0,8, + 0,8,0,62,0,10,12,24,12,1,0,225,192,64,128,64, + 128,64,128,64,128,64,128,64,128,64,128,64,128,64,128,33, + 0,30,0,12,12,24,12,0,0,240,240,32,64,48,64,48, + 64,16,128,24,128,9,128,9,0,13,0,7,0,6,0,6, + 0,16,12,24,16,0,0,241,15,33,132,33,132,33,132,50, + 196,50,72,18,104,20,104,28,40,28,56,8,48,8,16,11, + 12,24,12,0,0,249,224,32,128,49,128,25,0,14,0,6, + 0,6,0,11,0,25,128,48,128,32,192,241,224,11,12,24, + 11,0,0,225,224,48,128,49,128,25,0,10,0,14,0,4, + 0,4,0,4,0,4,0,4,0,31,0,8,12,12,10,1, + 0,255,130,134,4,12,24,16,48,96,65,193,255,4,18,18, + 6,1,253,240,128,128,128,128,128,128,128,128,128,128,128,128, + 128,128,128,128,240,7,18,18,9,1,253,128,128,192,64,64, + 32,32,48,16,16,24,8,8,4,4,6,2,2,4,18,18, + 5,0,253,240,16,16,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,240,7,9,9,9,1,5,16,24,40,44,44, + 68,70,130,130,7,1,1,9,1,254,254,4,4,4,6,0, + 10,192,96,32,16,7,9,9,9,1,0,60,68,132,4,60, + 196,132,140,118,9,14,28,10,0,0,64,0,192,0,64,0, + 64,0,64,0,70,0,89,0,96,128,64,128,64,128,64,128, + 65,0,97,0,62,0,6,9,9,8,1,0,60,68,128,128, + 128,128,128,196,120,8,14,14,10,1,0,6,2,2,2,2, + 62,66,130,130,130,130,130,70,59,7,9,9,9,1,0,60, + 68,130,130,254,128,128,66,60,6,14,14,6,1,0,28,36, + 64,64,64,248,64,64,64,64,64,64,64,240,10,13,26,10, + 0,252,62,192,67,0,129,0,129,0,194,0,60,0,48,0, + 120,0,39,128,192,128,128,128,193,0,62,0,8,14,14,10, + 1,0,64,192,64,64,64,76,82,98,66,66,66,66,66,231, + 3,12,12,5,1,0,192,192,0,64,192,64,64,64,64,64, + 64,224,5,16,16,5,254,252,24,24,0,8,24,8,8,8, + 8,8,8,8,8,8,16,224,8,14,14,10,1,0,64,192, + 64,64,64,79,68,72,112,112,88,76,70,231,3,14,14,5, + 1,0,64,192,64,64,64,64,64,64,64,64,64,64,64,224, + 13,9,18,15,1,0,204,96,82,144,99,16,66,16,66,16, + 66,16,66,16,66,16,231,56,8,9,9,10,1,0,76,210, + 98,66,66,66,66,66,231,8,9,9,10,1,0,60,66,129, + 129,129,129,130,66,60,8,13,13,10,1,252,206,114,65,65, + 65,65,66,98,92,64,64,64,240,9,13,26,10,1,252,29, + 0,99,0,129,0,129,0,129,0,129,0,129,0,71,0,57, + 0,1,0,1,0,1,0,7,128,6,9,9,8,1,0,92, + 228,96,64,64,64,64,64,240,5,9,9,7,1,0,112,136, + 128,192,48,8,136,136,240,5,12,12,7,1,0,64,64,64, + 248,64,64,64,64,64,64,72,112,8,9,9,10,1,0,198, + 66,66,66,66,66,66,70,59,9,9,18,9,0,0,243,128, + 97,0,33,0,50,0,18,0,18,0,28,0,12,0,8,0, + 13,9,18,13,0,0,242,56,99,16,35,16,37,16,53,160, + 20,160,24,224,24,192,24,64,9,9,18,10,0,0,243,128, + 33,0,50,0,28,0,12,0,22,0,34,0,33,0,243,128, + 9,13,26,9,0,252,243,128,97,0,33,0,50,0,18,0, + 20,0,28,0,12,0,8,0,8,0,16,0,176,0,224,0, + 7,9,9,8,1,0,254,132,8,24,48,32,98,194,254,5, + 18,18,6,1,253,8,16,32,32,32,32,32,32,64,224,32, + 32,32,32,32,32,32,24,1,20,20,4,2,252,128,128,128, + 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, + 128,5,18,18,6,0,253,192,32,32,32,32,32,32,32,56, + 16,32,32,32,32,32,32,64,128,9,4,8,9,0,4,48, + 0,125,128,79,0,134,0,255}; +/* + Fontname: -FreeType-Gentium Basic-Medium-R-Normal--23-230-72-72-P-110-ISO10646-1 + Copyright: Copyright (c) SIL International, 2003-2008. + Capital A Height: 14, '1' Height: 14 + Calculated Max Values w=20 h=24 x= 2 y=13 dx=20 dy= 0 ascent=20 len=57 + Font Bounding box w=35 h=33 x=-12 y=-8 + Calculated Min Values x=-3 y=-6 dx= 0 dy= 0 + Pure Font ascent =14 descent=-5 + X Font ascent =18 descent=-5 + Max Font ascent =20 descent=-6 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_gdr14[5942] U8G_FONT_SECTION("u8g_font_gdr14") = { + 0,35,33,244,248,14,3,95,7,136,32,255,251,20,250,18, + 251,0,0,0,5,0,0,2,17,17,6,2,0,64,192,192, + 192,192,192,192,192,192,192,192,192,128,0,192,192,192,6,8, + 8,10,2,9,204,204,204,204,204,204,204,140,10,13,26,11, + 1,1,12,128,9,128,9,0,9,0,127,192,19,0,18,0, + 50,0,255,128,36,0,100,0,68,0,76,0,9,18,36,11, + 1,254,12,0,12,0,63,128,109,128,205,0,204,0,236,0, + 124,0,63,0,15,0,13,128,13,128,141,128,205,128,239,0, + 126,0,12,0,12,0,14,14,28,16,1,0,56,24,72,48, + 204,96,204,64,204,192,205,128,75,0,114,56,6,76,12,204, + 8,204,16,204,48,200,96,112,14,16,32,16,1,0,15,0, + 25,128,49,128,49,128,49,0,51,0,60,0,60,252,124,112, + 102,48,199,48,195,176,193,224,192,224,96,176,63,28,2,8, + 8,6,2,9,192,192,192,192,192,192,192,128,6,22,22,7, + 1,252,12,24,16,32,96,96,64,192,192,192,192,192,192,192, + 192,64,96,96,32,48,24,12,6,22,22,7,0,252,192,96, + 48,16,24,24,8,12,12,12,12,12,12,12,12,8,24,24, + 16,32,96,192,9,10,20,10,1,8,24,0,24,0,137,0, + 235,128,60,0,60,0,235,0,137,0,24,0,24,0,8,8, + 8,9,1,2,24,24,24,255,24,24,24,24,4,6,6,5, + 0,253,112,240,48,48,32,64,6,1,1,8,1,5,252,2, + 3,3,5,2,0,192,192,192,9,22,44,11,1,252,0,128, + 1,128,1,0,3,0,3,0,2,0,6,0,6,0,12,0, + 12,0,8,0,24,0,24,0,16,0,48,0,48,0,96,0, + 96,0,64,0,192,0,192,0,128,0,9,14,28,11,1,0, + 28,0,39,0,99,0,67,128,193,128,193,128,193,128,193,128, + 193,128,193,128,193,0,97,0,98,0,28,0,8,14,14,11, + 2,0,24,120,152,24,24,24,24,24,24,24,24,24,24,255, + 8,14,14,11,1,0,60,103,195,131,3,6,6,12,24,24, + 48,97,193,255,9,14,28,12,1,0,30,0,103,0,195,0, + 3,0,2,0,4,0,30,0,3,0,1,128,1,128,1,128, + 1,128,195,0,60,0,10,14,28,11,0,0,3,0,7,0, + 7,0,11,0,27,0,19,0,35,0,99,0,67,0,255,192, + 3,0,3,0,3,0,15,192,9,14,28,11,0,0,0,128, + 63,0,32,0,32,0,96,0,126,0,67,0,1,128,1,128, + 1,128,1,128,1,0,195,0,60,0,9,14,28,11,1,0, + 3,0,12,0,48,0,32,0,96,0,222,0,227,0,193,128, + 193,128,193,128,193,128,97,0,99,0,30,0,9,13,26,11, + 1,0,127,128,129,0,129,0,3,0,2,0,6,0,4,0, + 12,0,8,0,24,0,24,0,48,0,32,0,9,14,28,11, + 1,0,62,0,71,0,195,0,195,0,195,0,118,0,30,0, + 39,0,99,128,193,128,193,128,193,128,99,0,60,0,9,14, + 28,11,1,0,30,0,99,0,67,0,193,128,193,128,193,128, + 193,128,99,128,61,128,1,0,3,0,6,0,8,0,112,0, + 2,11,11,5,2,0,192,192,192,0,0,0,0,0,192,192, + 192,4,14,14,5,0,253,48,48,48,0,0,0,0,0,112, + 240,48,48,32,64,8,7,7,10,1,3,1,15,120,192,112, + 30,3,8,4,4,10,1,4,255,0,0,255,8,7,7,10, + 1,3,192,120,15,3,30,240,128,8,17,17,10,1,0,62, + 103,195,195,3,3,6,12,12,24,24,24,16,0,24,24,24, + 17,19,57,19,1,252,1,240,0,6,28,0,24,6,0,48, + 3,0,32,3,0,97,211,128,66,49,128,196,49,128,204,49, + 128,204,49,128,204,49,128,204,49,0,236,51,0,102,114,0, + 99,156,0,48,0,0,56,2,0,14,15,0,3,240,0,13, + 14,28,14,0,0,2,0,3,0,5,0,5,128,5,128,8, + 128,8,192,8,192,31,192,16,96,16,96,32,48,32,48,248, + 120,11,14,28,12,0,0,127,0,177,192,48,192,48,192,48, + 192,49,128,63,128,49,192,48,224,48,96,48,96,48,96,48, + 192,255,128,11,14,28,12,1,0,7,192,24,96,32,0,96, + 0,64,0,192,0,192,0,192,0,192,0,192,0,96,0,96, + 32,56,64,15,128,13,14,28,14,0,0,127,128,176,224,48, + 112,48,48,48,24,48,24,48,24,48,24,48,24,48,24,48, + 48,48,112,48,224,255,128,11,14,28,11,0,0,255,192,48, + 64,48,64,48,0,48,0,48,0,63,128,49,0,48,0,48, + 0,48,0,48,32,48,96,255,192,10,14,28,11,0,0,255, + 192,48,64,48,64,48,0,48,0,48,0,63,128,49,0,48, + 0,48,0,48,0,48,0,48,0,252,0,11,14,28,13,1, + 0,15,128,16,192,32,0,96,0,192,0,192,0,192,0,195, + 224,192,192,192,192,96,192,96,192,48,192,31,0,15,14,28, + 15,0,0,252,126,48,24,48,24,48,24,48,24,48,24,63, + 248,48,24,48,24,48,24,48,24,48,24,48,24,252,126,6, + 14,14,7,0,0,252,48,48,48,48,48,48,48,48,48,48, + 48,48,252,9,18,36,7,254,252,31,128,6,0,6,0,6, + 0,6,0,6,0,6,0,6,0,6,0,6,0,6,0,6, + 0,6,0,6,0,6,0,4,0,72,0,240,0,13,14,28, + 13,0,0,252,240,48,64,48,128,49,0,50,0,54,0,60, + 0,54,0,54,0,51,0,49,128,48,192,48,96,252,56,11, + 14,28,11,0,0,252,0,48,0,48,0,48,0,48,0,48, + 0,48,0,48,0,48,0,48,0,48,0,48,32,48,64,255, + 192,17,14,42,19,1,0,240,7,0,112,14,0,112,14,0, + 120,30,0,104,22,0,108,22,0,108,38,0,102,38,0,102, + 102,0,99,70,0,99,198,0,97,134,0,97,134,0,241,15, + 128,15,14,28,15,0,0,240,126,48,24,56,24,60,24,52, + 24,50,24,51,24,49,152,48,152,48,216,48,120,48,56,48, + 56,252,24,12,14,28,14,1,0,15,128,48,192,32,96,96, + 96,192,48,192,48,192,48,192,48,192,48,192,48,96,96,96, + 64,48,128,31,0,11,14,28,12,0,0,127,128,176,192,48, + 96,48,96,48,96,48,96,48,192,63,0,48,0,48,0,48, + 0,48,0,48,0,252,0,14,17,34,14,1,253,15,128,48, + 192,32,96,96,96,192,48,192,48,192,48,192,48,192,48,192, + 48,96,96,96,96,48,192,31,0,1,128,0,196,0,56,13, + 14,28,13,0,0,127,0,177,128,48,192,48,192,48,192,48, + 128,49,0,62,0,51,0,49,0,49,128,48,192,48,192,252, + 120,9,14,28,11,1,0,62,0,99,0,192,0,192,0,224, + 0,120,0,62,0,15,0,3,128,1,128,129,128,129,0,195, + 0,124,0,12,14,28,13,0,0,255,240,134,16,134,16,6, + 0,6,0,6,0,6,0,6,0,6,0,6,0,6,0,6, + 0,6,0,31,128,15,14,28,15,0,0,252,126,48,24,48, + 24,48,24,48,24,48,24,48,24,48,24,48,24,48,24,48, + 24,24,48,28,96,7,192,14,14,28,15,0,0,248,60,48, + 24,48,16,24,16,24,48,24,32,12,96,12,64,4,64,6, + 192,6,128,3,128,3,128,1,0,19,14,42,20,0,0,248, + 67,224,48,96,128,48,96,128,48,224,128,16,177,128,16,177, + 0,25,145,0,25,25,0,25,25,0,11,11,0,14,14,0, + 14,14,0,14,6,0,4,6,0,14,14,28,14,0,0,252, + 248,48,48,24,96,28,192,12,128,7,128,3,0,3,128,5, + 128,12,192,24,96,16,112,48,48,248,124,14,14,28,14,0, + 0,224,124,48,48,24,32,24,96,12,64,6,192,7,128,3, + 0,3,0,3,0,3,0,3,0,3,0,15,192,10,14,28, + 12,1,0,127,192,65,128,129,128,3,0,6,0,6,0,12, + 0,28,0,24,0,48,0,48,0,96,64,192,64,255,192,5, + 22,22,7,1,252,248,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,248,9,22,44,11,1, + 252,128,0,192,0,192,0,64,0,96,0,32,0,48,0,48, + 0,16,0,24,0,24,0,8,0,12,0,4,0,4,0,6, + 0,2,0,3,0,3,0,1,0,1,128,0,128,5,22,22, + 8,1,252,248,24,24,24,24,24,24,24,24,24,24,24,24, + 24,24,24,24,24,24,24,24,248,9,11,22,11,1,6,8, + 0,12,0,28,0,22,0,54,0,34,0,35,0,99,0,65, + 128,65,128,129,128,9,1,2,11,1,253,255,128,5,5,5, + 7,0,12,224,96,48,16,8,10,10,20,11,1,0,30,0, + 99,0,195,0,3,0,31,0,99,0,195,0,195,0,199,0, + 123,192,10,17,34,12,1,0,96,0,224,0,96,0,96,0, + 96,0,96,0,96,0,103,0,121,128,113,192,96,192,96,192, + 96,192,96,192,96,128,113,0,30,0,9,10,20,10,1,0, + 15,0,49,128,96,0,192,0,192,0,192,0,192,0,96,0, + 113,128,30,0,11,17,34,12,1,0,1,128,7,128,1,128, + 1,128,1,128,1,128,1,128,31,128,35,128,65,128,193,128, + 193,128,193,128,193,128,225,128,103,160,57,192,9,10,20,11, + 1,0,30,0,33,0,65,128,255,128,192,0,192,0,192,0, + 224,0,113,128,62,0,9,17,34,7,0,0,7,128,9,0, + 16,0,48,0,48,0,48,0,48,0,126,0,176,0,48,0, + 48,0,48,0,48,0,48,0,48,0,48,0,252,0,12,15, + 30,12,0,251,31,48,49,192,96,192,96,192,96,192,49,128, + 31,0,24,0,56,0,31,192,96,112,192,48,192,48,96,96, + 63,128,13,17,34,13,0,0,48,0,240,0,48,0,48,0, + 48,0,48,0,48,0,51,192,52,96,56,96,48,96,48,96, + 48,96,48,96,48,96,48,96,253,248,6,15,15,6,0,0, + 48,48,48,0,0,48,240,48,48,48,48,48,48,48,252,7, + 20,20,6,253,251,6,6,6,0,0,6,30,6,6,6,6, + 6,6,6,6,6,6,4,8,240,12,17,34,12,0,0,48, + 0,240,0,48,0,48,0,48,0,48,0,48,0,49,224,49, + 128,51,0,52,0,60,0,54,0,51,0,49,128,48,192,248, + 240,6,17,17,6,0,0,48,240,48,48,48,48,48,48,48, + 48,48,48,48,48,48,48,252,20,10,30,20,0,0,113,199, + 128,182,104,192,56,112,192,48,96,192,48,96,192,48,96,192, + 48,96,192,48,96,192,48,96,192,253,251,240,13,10,20,13, + 0,0,113,192,182,96,56,96,48,96,48,96,48,96,48,96, + 48,96,48,96,253,248,10,10,20,12,1,0,30,0,35,128, + 65,128,192,192,192,192,192,192,192,192,224,128,113,0,30,0, + 11,15,30,12,0,251,115,128,188,192,56,224,48,96,48,96, + 48,96,48,96,48,64,56,192,55,0,48,0,48,0,48,0, + 48,0,252,0,11,15,30,12,1,251,30,128,35,128,97,128, + 193,128,193,128,193,128,193,128,225,128,99,128,61,128,1,128, + 1,128,1,128,1,128,7,224,9,10,20,9,0,0,51,128, + 252,128,56,0,48,0,48,0,48,0,48,0,48,0,48,0, + 252,0,7,10,10,9,1,0,124,204,192,224,120,30,6,134, + 134,248,8,14,14,8,0,0,16,48,48,48,127,176,48,48, + 48,48,48,48,49,30,11,10,20,12,1,0,97,128,231,128, + 97,128,97,128,97,128,97,128,97,128,97,128,103,160,57,192, + 11,10,20,11,0,0,249,224,32,64,48,128,48,128,25,128, + 25,0,9,0,14,0,6,0,4,0,16,10,20,16,0,0, + 248,143,33,130,49,196,49,196,19,100,26,108,26,40,12,56, + 12,56,12,16,11,10,20,12,0,0,249,224,48,128,25,0, + 15,0,6,0,14,0,11,0,17,128,32,192,241,224,12,15, + 30,11,255,251,124,240,16,32,24,64,24,64,12,192,12,128, + 4,128,7,0,3,0,3,0,2,0,6,0,4,0,120,0, + 240,0,8,10,10,10,1,0,255,131,134,12,8,24,48,97, + 65,255,6,22,22,8,1,252,4,24,16,48,48,48,56,24, + 24,24,48,240,24,24,24,24,48,48,48,48,24,4,2,24, + 24,5,2,251,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,6,22,22,8, + 1,252,128,96,48,48,48,48,96,96,96,96,60,16,32,96, + 96,112,48,48,48,32,96,128,10,4,8,11,1,5,48,64, + 124,128,159,0,135,0,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, + 255,255,255,255,255,255,255,0,0,0,5,0,0,2,16,16, + 6,2,250,192,192,128,64,192,192,192,192,192,192,192,192,192, + 192,192,128,9,14,28,11,1,0,12,0,12,0,31,128,109, + 128,76,0,204,0,204,0,204,0,204,0,236,128,125,128,63, + 0,12,0,12,0,10,14,28,11,0,0,7,128,24,192,16, + 128,48,128,48,0,48,0,48,0,126,0,48,0,48,0,48, + 0,32,64,32,64,255,192,9,7,14,11,1,3,221,128,119, + 0,99,0,99,0,115,0,127,0,128,128,12,14,28,11,255, + 0,225,240,48,64,48,192,25,128,29,128,15,0,7,0,6, + 0,63,192,6,0,6,0,6,0,6,0,31,128,2,24,24, + 5,2,251,192,192,192,192,192,192,192,192,192,192,128,0,0, + 64,192,192,192,192,192,192,192,192,192,192,9,16,32,11,1, + 0,30,0,99,0,98,0,112,0,56,0,94,0,199,0,195, + 128,225,128,113,128,63,0,15,0,7,0,67,0,99,0,62, + 0,7,3,3,9,1,12,198,198,198,15,14,28,16,0,0, + 7,192,24,48,49,248,98,44,198,6,204,6,204,6,204,6, + 204,6,206,38,102,76,51,152,24,48,7,192,6,8,8,6, + 0,6,112,152,24,56,120,124,0,124,9,10,20,11,1,0, + 17,128,17,0,34,0,102,0,204,0,204,0,102,0,34,0, + 17,0,17,128,10,5,10,11,0,2,255,192,0,192,0,192, + 0,192,0,192,6,1,1,8,1,5,252,8,8,8,8,0, + 8,60,66,189,149,153,153,86,60,7,1,1,11,2,13,254, + 4,5,5,8,2,9,96,240,240,240,96,8,10,10,9,1, + 2,24,24,24,24,255,24,24,24,0,255,6,8,8,8,1, + 7,120,140,140,8,16,32,68,252,7,8,8,7,255,7,60, + 102,6,28,6,6,134,120,5,5,5,7,2,12,24,48,32, + 64,192,12,15,30,13,1,251,96,192,224,192,96,192,96,192, + 96,192,96,192,96,192,113,192,127,208,92,224,64,0,64,0, + 96,0,96,0,112,0,13,17,34,14,0,253,31,248,99,96, + 195,96,195,96,195,96,227,96,115,96,63,96,3,96,3,96, + 3,96,3,96,3,96,3,96,3,96,3,96,15,248,2,3, + 3,3,1,6,192,192,192,4,5,5,5,1,251,96,96,112, + 48,192,6,8,8,8,1,7,48,240,48,48,48,48,48,252, + 4,8,8,6,1,6,96,240,240,240,240,96,0,240,8,10, + 10,11,2,0,136,140,68,98,51,51,102,68,140,136,12,14, + 28,13,0,0,24,96,120,192,24,192,25,128,27,0,27,0, + 126,0,4,96,12,224,25,96,18,96,51,240,96,96,192,240, + 13,14,28,14,0,0,48,16,240,32,48,96,48,64,48,128, + 48,128,249,0,3,120,2,152,4,24,12,48,8,32,16,72, + 49,248,12,14,28,14,1,0,112,32,152,64,24,64,56,128, + 77,128,141,0,114,0,6,96,4,224,9,96,25,96,19,240, + 32,96,96,240,8,16,16,10,1,250,24,24,16,4,12,12, + 12,24,48,96,96,192,195,195,230,124,13,20,40,14,0,0, + 16,0,28,0,14,0,3,0,0,128,0,0,2,0,3,0, + 5,0,5,128,5,128,8,128,8,192,8,192,31,192,16,96, + 16,96,32,48,32,48,248,120,13,20,40,14,0,0,0,128, + 0,192,3,160,6,0,0,0,0,0,2,0,3,0,5,0, + 5,128,5,128,8,128,8,192,8,192,31,192,16,96,16,96, + 32,48,32,48,248,120,13,20,40,14,0,0,2,0,7,0, + 13,128,8,64,16,0,0,0,2,0,3,0,5,0,5,128, + 5,128,8,128,8,192,8,192,31,192,16,96,16,96,32,48, + 32,48,248,120,13,19,38,14,0,0,4,64,14,96,19,192, + 0,0,0,0,2,0,3,0,5,0,5,128,5,128,8,128, + 8,192,8,192,31,192,16,96,16,96,32,48,32,48,248,120, + 13,18,36,14,0,0,8,64,12,96,8,64,0,0,2,0, + 3,0,5,0,5,128,5,128,8,128,8,192,8,192,31,192, + 16,96,16,96,32,48,32,48,248,120,13,20,40,14,0,0, + 2,0,7,0,7,128,7,0,0,0,0,0,2,0,3,0, + 5,0,5,128,5,128,8,128,8,192,8,192,31,192,16,96, + 16,96,32,48,32,48,248,120,18,14,42,18,0,0,7,255, + 128,1,96,128,3,96,128,2,96,0,6,96,0,6,96,0, + 7,255,0,12,98,0,8,96,0,24,96,0,16,96,0,16, + 96,64,48,96,64,249,255,128,11,19,38,12,1,251,7,192, + 24,96,32,0,96,0,64,0,192,0,192,0,192,0,192,0, + 192,0,224,0,96,128,113,192,62,0,8,0,4,0,14,0, + 6,0,24,0,11,20,40,11,0,0,32,0,56,0,28,0, + 6,0,1,0,0,0,255,192,48,64,48,64,48,0,48,0, + 48,0,63,128,49,0,48,0,48,0,48,0,48,32,48,96, + 255,192,11,20,40,11,0,0,1,0,1,128,7,0,12,0, + 0,0,0,0,255,192,48,64,48,64,48,0,48,0,48,0, + 63,128,49,0,48,0,48,0,48,0,48,32,48,96,255,192, + 11,20,40,11,0,0,4,0,14,0,27,0,48,128,0,0, + 0,0,255,192,48,64,48,64,48,0,48,0,48,0,63,128, + 49,0,48,0,48,0,48,0,48,32,48,96,255,192,11,18, + 36,11,0,0,16,128,49,128,49,128,0,0,255,192,48,64, + 48,64,48,0,48,0,48,0,63,128,49,0,48,0,48,0, + 48,0,48,32,48,96,255,192,6,20,20,7,0,0,128,192, + 112,24,0,0,252,48,48,48,48,48,48,48,48,48,48,48, + 48,252,7,20,20,7,0,0,4,14,28,48,64,0,252,48, + 48,48,48,48,48,48,48,48,48,48,48,252,7,20,20,7, + 0,0,16,56,108,134,0,0,252,48,48,48,48,48,48,48, + 48,48,48,48,48,252,7,18,18,7,0,0,66,198,198,0, + 252,48,48,48,48,48,48,48,48,48,48,48,48,252,13,14, + 28,14,0,0,127,128,176,224,48,112,48,48,48,24,48,24, + 254,24,48,24,48,24,48,24,48,48,48,112,48,224,255,128, + 15,19,38,15,0,0,2,32,7,32,9,192,0,0,0,0, + 240,126,48,24,56,24,60,24,52,24,50,24,51,24,49,152, + 48,152,48,216,48,120,48,56,48,56,252,24,12,20,40,14, + 1,0,16,0,56,0,12,0,2,0,1,0,0,0,15,128, + 48,192,32,96,96,96,192,48,192,48,192,48,192,48,192,48, + 192,48,96,96,96,64,48,128,31,0,12,20,40,14,1,0, + 1,0,1,192,3,0,12,0,0,0,0,0,15,128,48,192, + 32,96,96,96,192,48,192,48,192,48,192,48,192,48,192,48, + 96,96,96,64,48,128,31,0,12,20,40,14,1,0,6,0, + 14,0,11,0,16,128,32,0,0,0,15,128,48,192,32,96, + 96,96,192,48,192,48,192,48,192,48,192,48,192,48,96,96, + 96,64,48,128,31,0,12,19,38,14,1,0,8,128,28,64, + 55,128,0,0,0,0,15,128,48,192,32,96,96,96,192,48, + 192,48,192,48,192,48,192,48,192,48,96,96,96,64,48,128, + 31,0,12,18,36,14,1,0,16,128,24,192,16,128,0,0, + 15,128,48,192,32,96,96,96,192,48,192,48,192,48,192,48, + 192,48,192,48,96,96,96,64,48,128,31,0,7,7,7,9, + 1,3,194,102,60,24,60,102,194,12,15,30,14,1,255,15, + 48,48,224,32,224,64,224,193,176,195,48,194,48,198,48,204, + 48,200,48,88,32,112,64,112,128,207,0,128,0,15,20,40, + 15,0,0,8,0,14,0,7,0,1,128,0,64,0,0,252, + 126,48,24,48,24,48,24,48,24,48,24,48,24,48,24,48, + 24,48,24,48,24,24,48,28,96,7,192,15,20,40,15,0, + 0,0,64,0,96,1,192,3,0,0,0,0,0,252,126,48, + 24,48,24,48,24,48,24,48,24,48,24,48,24,48,24,48, + 24,48,24,24,48,28,96,7,192,15,20,40,15,0,0,1, + 0,3,128,6,192,12,96,0,0,0,0,252,126,48,24,48, + 24,48,24,48,24,48,24,48,24,48,24,48,24,48,24,48, + 24,24,48,28,96,7,192,15,18,36,15,0,0,4,32,12, + 96,12,96,0,0,252,126,48,24,48,24,48,24,48,24,48, + 24,48,24,48,24,48,24,48,24,48,24,24,48,28,96,7, + 192,14,20,40,14,0,0,0,128,0,224,1,128,6,0,0, + 0,0,0,224,124,48,48,24,32,24,96,12,64,6,192,7, + 128,3,0,3,0,3,0,3,0,3,0,3,0,15,192,11, + 14,28,12,0,0,252,0,48,0,48,0,63,128,48,192,48, + 96,48,96,48,96,48,96,48,192,63,128,48,0,48,0,252, + 0,13,17,34,13,0,0,7,128,8,192,16,96,48,96,48, + 96,48,224,51,192,55,0,54,0,55,0,51,192,48,240,48, + 56,48,24,52,24,50,16,243,224,10,17,34,11,1,0,96, + 0,48,0,16,0,8,0,4,0,0,0,0,0,30,0,99, + 0,195,0,3,0,31,0,99,0,195,0,195,0,199,0,123, + 192,10,17,34,11,1,0,3,0,6,0,12,0,8,0,16, + 0,0,0,0,0,30,0,99,0,195,0,3,0,31,0,99, + 0,195,0,195,0,199,0,123,192,10,17,34,11,1,0,24, + 0,28,0,54,0,98,0,65,0,0,0,0,0,30,0,99, + 0,195,0,3,0,31,0,99,0,195,0,195,0,199,0,123, + 192,10,15,30,11,1,0,57,0,78,0,0,0,0,0,0, + 0,30,0,99,0,195,0,3,0,31,0,99,0,195,0,195, + 0,199,0,123,192,10,15,30,11,1,0,33,0,99,0,99, + 0,0,0,0,0,30,0,99,0,195,0,3,0,31,0,99, + 0,195,0,195,0,199,0,123,192,10,16,32,11,1,0,28, + 0,60,0,60,0,24,0,0,0,0,0,30,0,99,0,195, + 0,3,0,31,0,99,0,195,0,195,0,199,0,123,192,14, + 10,20,16,1,0,30,112,99,152,195,12,131,12,31,252,115, + 0,195,0,195,0,197,132,120,248,9,15,30,10,1,251,15, + 0,49,128,96,0,192,0,192,0,192,0,192,0,192,0,99, + 0,124,0,16,0,8,0,28,0,12,0,48,0,9,17,34, + 11,1,0,48,0,112,0,24,0,8,0,4,0,0,0,0, + 0,30,0,33,0,65,128,255,128,192,0,192,0,192,0,224, + 0,113,128,62,0,9,17,34,11,1,0,3,0,6,0,6, + 0,12,0,8,0,0,0,0,0,30,0,33,0,65,128,255, + 128,192,0,192,0,192,0,224,0,113,128,62,0,9,17,34, + 11,1,0,12,0,28,0,54,0,35,0,65,0,0,0,0, + 0,30,0,33,0,65,128,255,128,192,0,192,0,192,0,224, + 0,113,128,62,0,9,15,30,11,1,0,33,0,49,128,33, + 0,0,0,0,0,30,0,33,0,65,128,255,128,192,0,192, + 0,192,0,224,0,113,128,62,0,6,17,17,6,0,0,192, + 96,32,48,16,0,0,48,240,48,48,48,48,48,48,48,252, + 7,17,17,6,0,0,12,14,24,16,32,0,0,48,240,48, + 48,48,48,48,48,48,252,7,17,17,6,0,0,48,56,104, + 196,130,0,0,48,240,48,48,48,48,48,48,48,252,7,15, + 15,6,0,0,198,198,198,0,0,48,240,48,48,48,48,48, + 48,48,252,9,16,32,11,1,0,48,0,91,128,12,0,50, + 0,3,0,1,0,31,128,99,128,67,128,193,128,193,128,193, + 128,193,0,227,0,98,0,60,0,13,15,30,13,0,0,14, + 64,19,128,0,0,0,0,0,0,113,192,182,96,56,96,48, + 96,48,96,48,96,48,96,48,96,48,96,253,248,10,17,34, + 12,1,0,48,0,48,0,24,0,12,0,4,0,0,0,0, + 0,30,0,35,128,65,128,192,192,192,192,192,192,192,192,224, + 128,113,0,30,0,10,17,34,12,1,0,3,0,3,0,6, + 0,4,0,8,0,0,0,0,0,30,0,35,128,65,128,192, + 192,192,192,192,192,192,192,224,128,113,0,30,0,10,17,34, + 12,1,0,12,0,30,0,18,0,33,0,64,128,0,0,0, + 0,30,0,35,128,65,128,192,192,192,192,192,192,192,192,224, + 128,113,0,30,0,10,15,30,12,1,0,56,128,71,0,0, + 0,0,0,0,0,30,0,35,128,65,128,192,192,192,192,192, + 192,192,192,224,128,113,0,30,0,10,15,30,12,1,0,49, + 128,49,128,33,0,0,0,0,0,30,0,35,128,65,128,192, + 192,192,192,192,192,192,192,224,128,113,0,30,0,8,7,7, + 9,1,3,24,24,0,255,0,24,24,10,12,24,12,1,255, + 0,64,30,192,35,128,67,192,194,192,196,192,200,192,216,192, + 240,128,113,0,222,0,128,0,11,17,34,12,1,0,48,0, + 24,0,24,0,12,0,4,0,0,0,0,0,97,128,231,128, + 97,128,97,128,97,128,97,128,97,128,97,128,103,160,57,192, + 11,17,34,12,1,0,3,0,3,128,6,0,4,0,8,0, + 0,0,0,0,97,128,231,128,97,128,97,128,97,128,97,128, + 97,128,97,128,103,160,57,192,11,17,34,12,1,0,12,0, + 14,0,26,0,49,0,32,128,0,0,0,0,97,128,231,128, + 97,128,97,128,97,128,97,128,97,128,97,128,103,160,57,192, + 11,15,30,12,1,0,49,128,49,128,49,128,0,0,0,0, + 97,128,231,128,97,128,97,128,97,128,97,128,97,128,97,128, + 103,160,57,192,12,22,44,11,255,251,0,192,0,192,1,128, + 3,0,2,0,0,0,0,0,124,240,16,32,24,64,24,64, + 12,192,12,128,4,128,7,0,3,0,3,0,2,0,6,0, + 4,0,120,0,240,0,11,22,44,12,0,251,48,0,240,0, + 48,0,48,0,48,0,48,0,48,0,51,128,60,192,56,224, + 48,96,48,96,48,96,48,96,48,64,56,128,55,0,48,0, + 48,0,48,0,48,0,252,0,12,20,40,11,255,251,12,96, + 12,96,8,64,0,0,0,0,124,240,16,32,24,64,24,64, + 12,192,12,128,4,128,7,0,3,0,3,0,2,0,6,0, + 4,0,120,0,240,0}; +/* + Fontname: -FreeType-Gentium Basic-Medium-R-Normal--23-230-72-72-P-110-ISO10646-1 + Copyright: Copyright (c) SIL International, 2003-2008. + Capital A Height: 0, '1' Height: 14 + Calculated Max Values w=10 h=22 x= 2 y= 8 dx=12 dy= 0 ascent=18 len=44 + Font Bounding box w=35 h=33 x=-12 y=-8 + Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 + Pure Font ascent =14 descent= 0 + X Font ascent =14 descent= 0 + Max Font ascent =18 descent=-4 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_gdr14n[462] U8G_FONT_SECTION("u8g_font_gdr14n") = { + 0,35,33,244,248,14,0,0,0,0,42,58,0,18,252,14, + 0,9,10,20,10,1,8,24,0,24,0,137,0,235,128,60, + 0,60,0,235,0,137,0,24,0,24,0,8,8,8,9,1, + 2,24,24,24,255,24,24,24,24,4,6,6,5,0,253,112, + 240,48,48,32,64,6,1,1,8,1,5,252,2,3,3,5, + 2,0,192,192,192,9,22,44,11,1,252,0,128,1,128,1, + 0,3,0,3,0,2,0,6,0,6,0,12,0,12,0,8, + 0,24,0,24,0,16,0,48,0,48,0,96,0,96,0,64, + 0,192,0,192,0,128,0,9,14,28,11,1,0,28,0,39, + 0,99,0,67,128,193,128,193,128,193,128,193,128,193,128,193, + 128,193,0,97,0,98,0,28,0,8,14,14,11,2,0,24, + 120,152,24,24,24,24,24,24,24,24,24,24,255,8,14,14, + 11,1,0,60,103,195,131,3,6,6,12,24,24,48,97,193, + 255,9,14,28,12,1,0,30,0,103,0,195,0,3,0,2, + 0,4,0,30,0,3,0,1,128,1,128,1,128,1,128,195, + 0,60,0,10,14,28,11,0,0,3,0,7,0,7,0,11, + 0,27,0,19,0,35,0,99,0,67,0,255,192,3,0,3, + 0,3,0,15,192,9,14,28,11,0,0,0,128,63,0,32, + 0,32,0,96,0,126,0,67,0,1,128,1,128,1,128,1, + 128,1,0,195,0,60,0,9,14,28,11,1,0,3,0,12, + 0,48,0,32,0,96,0,222,0,227,0,193,128,193,128,193, + 128,193,128,97,0,99,0,30,0,9,13,26,11,1,0,127, + 128,129,0,129,0,3,0,2,0,6,0,4,0,12,0,8, + 0,24,0,24,0,48,0,32,0,9,14,28,11,1,0,62, + 0,71,0,195,0,195,0,195,0,118,0,30,0,39,0,99, + 128,193,128,193,128,193,128,99,0,60,0,9,14,28,11,1, + 0,30,0,99,0,67,0,193,128,193,128,193,128,193,128,99, + 128,61,128,1,0,3,0,6,0,8,0,112,0,2,11,11, + 5,2,0,192,192,192,0,0,0,0,0,192,192,192}; +/* + Fontname: -FreeType-Gentium Basic-Medium-R-Normal--23-230-72-72-P-110-ISO10646-1 + Copyright: Copyright (c) SIL International, 2003-2008. + Capital A Height: 14, '1' Height: 14 + Calculated Max Values w=20 h=24 x= 2 y=12 dx=20 dy= 0 ascent=19 len=57 + Font Bounding box w=35 h=33 x=-12 y=-8 + Calculated Min Values x=-3 y=-5 dx= 0 dy= 0 + Pure Font ascent =14 descent=-5 + X Font ascent =18 descent=-5 + Max Font ascent =19 descent=-5 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_gdr14r[2791] U8G_FONT_SECTION("u8g_font_gdr14r") = { + 0,35,33,244,248,14,3,95,7,136,32,127,251,19,251,18, + 251,0,0,0,5,0,0,2,17,17,6,2,0,64,192,192, + 192,192,192,192,192,192,192,192,192,128,0,192,192,192,6,8, + 8,10,2,9,204,204,204,204,204,204,204,140,10,13,26,11, + 1,1,12,128,9,128,9,0,9,0,127,192,19,0,18,0, + 50,0,255,128,36,0,100,0,68,0,76,0,9,18,36,11, + 1,254,12,0,12,0,63,128,109,128,205,0,204,0,236,0, + 124,0,63,0,15,0,13,128,13,128,141,128,205,128,239,0, + 126,0,12,0,12,0,14,14,28,16,1,0,56,24,72,48, + 204,96,204,64,204,192,205,128,75,0,114,56,6,76,12,204, + 8,204,16,204,48,200,96,112,14,16,32,16,1,0,15,0, + 25,128,49,128,49,128,49,0,51,0,60,0,60,252,124,112, + 102,48,199,48,195,176,193,224,192,224,96,176,63,28,2,8, + 8,6,2,9,192,192,192,192,192,192,192,128,6,22,22,7, + 1,252,12,24,16,32,96,96,64,192,192,192,192,192,192,192, + 192,64,96,96,32,48,24,12,6,22,22,7,0,252,192,96, + 48,16,24,24,8,12,12,12,12,12,12,12,12,8,24,24, + 16,32,96,192,9,10,20,10,1,8,24,0,24,0,137,0, + 235,128,60,0,60,0,235,0,137,0,24,0,24,0,8,8, + 8,9,1,2,24,24,24,255,24,24,24,24,4,6,6,5, + 0,253,112,240,48,48,32,64,6,1,1,8,1,5,252,2, + 3,3,5,2,0,192,192,192,9,22,44,11,1,252,0,128, + 1,128,1,0,3,0,3,0,2,0,6,0,6,0,12,0, + 12,0,8,0,24,0,24,0,16,0,48,0,48,0,96,0, + 96,0,64,0,192,0,192,0,128,0,9,14,28,11,1,0, + 28,0,39,0,99,0,67,128,193,128,193,128,193,128,193,128, + 193,128,193,128,193,0,97,0,98,0,28,0,8,14,14,11, + 2,0,24,120,152,24,24,24,24,24,24,24,24,24,24,255, + 8,14,14,11,1,0,60,103,195,131,3,6,6,12,24,24, + 48,97,193,255,9,14,28,12,1,0,30,0,103,0,195,0, + 3,0,2,0,4,0,30,0,3,0,1,128,1,128,1,128, + 1,128,195,0,60,0,10,14,28,11,0,0,3,0,7,0, + 7,0,11,0,27,0,19,0,35,0,99,0,67,0,255,192, + 3,0,3,0,3,0,15,192,9,14,28,11,0,0,0,128, + 63,0,32,0,32,0,96,0,126,0,67,0,1,128,1,128, + 1,128,1,128,1,0,195,0,60,0,9,14,28,11,1,0, + 3,0,12,0,48,0,32,0,96,0,222,0,227,0,193,128, + 193,128,193,128,193,128,97,0,99,0,30,0,9,13,26,11, + 1,0,127,128,129,0,129,0,3,0,2,0,6,0,4,0, + 12,0,8,0,24,0,24,0,48,0,32,0,9,14,28,11, + 1,0,62,0,71,0,195,0,195,0,195,0,118,0,30,0, + 39,0,99,128,193,128,193,128,193,128,99,0,60,0,9,14, + 28,11,1,0,30,0,99,0,67,0,193,128,193,128,193,128, + 193,128,99,128,61,128,1,0,3,0,6,0,8,0,112,0, + 2,11,11,5,2,0,192,192,192,0,0,0,0,0,192,192, + 192,4,14,14,5,0,253,48,48,48,0,0,0,0,0,112, + 240,48,48,32,64,8,7,7,10,1,3,1,15,120,192,112, + 30,3,8,4,4,10,1,4,255,0,0,255,8,7,7,10, + 1,3,192,120,15,3,30,240,128,8,17,17,10,1,0,62, + 103,195,195,3,3,6,12,12,24,24,24,16,0,24,24,24, + 17,19,57,19,1,252,1,240,0,6,28,0,24,6,0,48, + 3,0,32,3,0,97,211,128,66,49,128,196,49,128,204,49, + 128,204,49,128,204,49,128,204,49,0,236,51,0,102,114,0, + 99,156,0,48,0,0,56,2,0,14,15,0,3,240,0,13, + 14,28,14,0,0,2,0,3,0,5,0,5,128,5,128,8, + 128,8,192,8,192,31,192,16,96,16,96,32,48,32,48,248, + 120,11,14,28,12,0,0,127,0,177,192,48,192,48,192,48, + 192,49,128,63,128,49,192,48,224,48,96,48,96,48,96,48, + 192,255,128,11,14,28,12,1,0,7,192,24,96,32,0,96, + 0,64,0,192,0,192,0,192,0,192,0,192,0,96,0,96, + 32,56,64,15,128,13,14,28,14,0,0,127,128,176,224,48, + 112,48,48,48,24,48,24,48,24,48,24,48,24,48,24,48, + 48,48,112,48,224,255,128,11,14,28,11,0,0,255,192,48, + 64,48,64,48,0,48,0,48,0,63,128,49,0,48,0,48, + 0,48,0,48,32,48,96,255,192,10,14,28,11,0,0,255, + 192,48,64,48,64,48,0,48,0,48,0,63,128,49,0,48, + 0,48,0,48,0,48,0,48,0,252,0,11,14,28,13,1, + 0,15,128,16,192,32,0,96,0,192,0,192,0,192,0,195, + 224,192,192,192,192,96,192,96,192,48,192,31,0,15,14,28, + 15,0,0,252,126,48,24,48,24,48,24,48,24,48,24,63, + 248,48,24,48,24,48,24,48,24,48,24,48,24,252,126,6, + 14,14,7,0,0,252,48,48,48,48,48,48,48,48,48,48, + 48,48,252,9,18,36,7,254,252,31,128,6,0,6,0,6, + 0,6,0,6,0,6,0,6,0,6,0,6,0,6,0,6, + 0,6,0,6,0,6,0,4,0,72,0,240,0,13,14,28, + 13,0,0,252,240,48,64,48,128,49,0,50,0,54,0,60, + 0,54,0,54,0,51,0,49,128,48,192,48,96,252,56,11, + 14,28,11,0,0,252,0,48,0,48,0,48,0,48,0,48, + 0,48,0,48,0,48,0,48,0,48,0,48,32,48,64,255, + 192,17,14,42,19,1,0,240,7,0,112,14,0,112,14,0, + 120,30,0,104,22,0,108,22,0,108,38,0,102,38,0,102, + 102,0,99,70,0,99,198,0,97,134,0,97,134,0,241,15, + 128,15,14,28,15,0,0,240,126,48,24,56,24,60,24,52, + 24,50,24,51,24,49,152,48,152,48,216,48,120,48,56,48, + 56,252,24,12,14,28,14,1,0,15,128,48,192,32,96,96, + 96,192,48,192,48,192,48,192,48,192,48,192,48,96,96,96, + 64,48,128,31,0,11,14,28,12,0,0,127,128,176,192,48, + 96,48,96,48,96,48,96,48,192,63,0,48,0,48,0,48, + 0,48,0,48,0,252,0,14,17,34,14,1,253,15,128,48, + 192,32,96,96,96,192,48,192,48,192,48,192,48,192,48,192, + 48,96,96,96,96,48,192,31,0,1,128,0,196,0,56,13, + 14,28,13,0,0,127,0,177,128,48,192,48,192,48,192,48, + 128,49,0,62,0,51,0,49,0,49,128,48,192,48,192,252, + 120,9,14,28,11,1,0,62,0,99,0,192,0,192,0,224, + 0,120,0,62,0,15,0,3,128,1,128,129,128,129,0,195, + 0,124,0,12,14,28,13,0,0,255,240,134,16,134,16,6, + 0,6,0,6,0,6,0,6,0,6,0,6,0,6,0,6, + 0,6,0,31,128,15,14,28,15,0,0,252,126,48,24,48, + 24,48,24,48,24,48,24,48,24,48,24,48,24,48,24,48, + 24,24,48,28,96,7,192,14,14,28,15,0,0,248,60,48, + 24,48,16,24,16,24,48,24,32,12,96,12,64,4,64,6, + 192,6,128,3,128,3,128,1,0,19,14,42,20,0,0,248, + 67,224,48,96,128,48,96,128,48,224,128,16,177,128,16,177, + 0,25,145,0,25,25,0,25,25,0,11,11,0,14,14,0, + 14,14,0,14,6,0,4,6,0,14,14,28,14,0,0,252, + 248,48,48,24,96,28,192,12,128,7,128,3,0,3,128,5, + 128,12,192,24,96,16,112,48,48,248,124,14,14,28,14,0, + 0,224,124,48,48,24,32,24,96,12,64,6,192,7,128,3, + 0,3,0,3,0,3,0,3,0,3,0,15,192,10,14,28, + 12,1,0,127,192,65,128,129,128,3,0,6,0,6,0,12, + 0,28,0,24,0,48,0,48,0,96,64,192,64,255,192,5, + 22,22,7,1,252,248,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,248,9,22,44,11,1, + 252,128,0,192,0,192,0,64,0,96,0,32,0,48,0,48, + 0,16,0,24,0,24,0,8,0,12,0,4,0,4,0,6, + 0,2,0,3,0,3,0,1,0,1,128,0,128,5,22,22, + 8,1,252,248,24,24,24,24,24,24,24,24,24,24,24,24, + 24,24,24,24,24,24,24,24,248,9,11,22,11,1,6,8, + 0,12,0,28,0,22,0,54,0,34,0,35,0,99,0,65, + 128,65,128,129,128,9,1,2,11,1,253,255,128,5,5,5, + 7,0,12,224,96,48,16,8,10,10,20,11,1,0,30,0, + 99,0,195,0,3,0,31,0,99,0,195,0,195,0,199,0, + 123,192,10,17,34,12,1,0,96,0,224,0,96,0,96,0, + 96,0,96,0,96,0,103,0,121,128,113,192,96,192,96,192, + 96,192,96,192,96,128,113,0,30,0,9,10,20,10,1,0, + 15,0,49,128,96,0,192,0,192,0,192,0,192,0,96,0, + 113,128,30,0,11,17,34,12,1,0,1,128,7,128,1,128, + 1,128,1,128,1,128,1,128,31,128,35,128,65,128,193,128, + 193,128,193,128,193,128,225,128,103,160,57,192,9,10,20,11, + 1,0,30,0,33,0,65,128,255,128,192,0,192,0,192,0, + 224,0,113,128,62,0,9,17,34,7,0,0,7,128,9,0, + 16,0,48,0,48,0,48,0,48,0,126,0,176,0,48,0, + 48,0,48,0,48,0,48,0,48,0,48,0,252,0,12,15, + 30,12,0,251,31,48,49,192,96,192,96,192,96,192,49,128, + 31,0,24,0,56,0,31,192,96,112,192,48,192,48,96,96, + 63,128,13,17,34,13,0,0,48,0,240,0,48,0,48,0, + 48,0,48,0,48,0,51,192,52,96,56,96,48,96,48,96, + 48,96,48,96,48,96,48,96,253,248,6,15,15,6,0,0, + 48,48,48,0,0,48,240,48,48,48,48,48,48,48,252,7, + 20,20,6,253,251,6,6,6,0,0,6,30,6,6,6,6, + 6,6,6,6,6,6,4,8,240,12,17,34,12,0,0,48, + 0,240,0,48,0,48,0,48,0,48,0,48,0,49,224,49, + 128,51,0,52,0,60,0,54,0,51,0,49,128,48,192,248, + 240,6,17,17,6,0,0,48,240,48,48,48,48,48,48,48, + 48,48,48,48,48,48,48,252,20,10,30,20,0,0,113,199, + 128,182,104,192,56,112,192,48,96,192,48,96,192,48,96,192, + 48,96,192,48,96,192,48,96,192,253,251,240,13,10,20,13, + 0,0,113,192,182,96,56,96,48,96,48,96,48,96,48,96, + 48,96,48,96,253,248,10,10,20,12,1,0,30,0,35,128, + 65,128,192,192,192,192,192,192,192,192,224,128,113,0,30,0, + 11,15,30,12,0,251,115,128,188,192,56,224,48,96,48,96, + 48,96,48,96,48,64,56,192,55,0,48,0,48,0,48,0, + 48,0,252,0,11,15,30,12,1,251,30,128,35,128,97,128, + 193,128,193,128,193,128,193,128,225,128,99,128,61,128,1,128, + 1,128,1,128,1,128,7,224,9,10,20,9,0,0,51,128, + 252,128,56,0,48,0,48,0,48,0,48,0,48,0,48,0, + 252,0,7,10,10,9,1,0,124,204,192,224,120,30,6,134, + 134,248,8,14,14,8,0,0,16,48,48,48,127,176,48,48, + 48,48,48,48,49,30,11,10,20,12,1,0,97,128,231,128, + 97,128,97,128,97,128,97,128,97,128,97,128,103,160,57,192, + 11,10,20,11,0,0,249,224,32,64,48,128,48,128,25,128, + 25,0,9,0,14,0,6,0,4,0,16,10,20,16,0,0, + 248,143,33,130,49,196,49,196,19,100,26,108,26,40,12,56, + 12,56,12,16,11,10,20,12,0,0,249,224,48,128,25,0, + 15,0,6,0,14,0,11,0,17,128,32,192,241,224,12,15, + 30,11,255,251,124,240,16,32,24,64,24,64,12,192,12,128, + 4,128,7,0,3,0,3,0,2,0,6,0,4,0,120,0, + 240,0,8,10,10,10,1,0,255,131,134,12,8,24,48,97, + 65,255,6,22,22,8,1,252,4,24,16,48,48,48,56,24, + 24,24,48,240,24,24,24,24,48,48,48,48,24,4,2,24, + 24,5,2,251,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,6,22,22,8, + 1,252,128,96,48,48,48,48,96,96,96,96,60,16,32,96, + 96,112,48,48,48,32,96,128,10,4,8,11,1,5,48,64, + 124,128,159,0,135,0,255}; +/* + Fontname: -FreeType-Gentium Basic-Medium-R-Normal--27-270-72-72-P-125-ISO10646-1 + Copyright: Copyright (c) SIL International, 2003-2008. + Capital A Height: 17, '1' Height: 16 + Calculated Max Values w=22 h=27 x= 3 y=16 dx=23 dy= 0 ascent=23 len=66 + Font Bounding box w=40 h=38 x=-14 y=-9 + Calculated Min Values x=-3 y=-7 dx= 0 dy= 0 + Pure Font ascent =17 descent=-6 + X Font ascent =21 descent=-6 + Max Font ascent =23 descent=-7 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_gdr17[7056] U8G_FONT_SECTION("u8g_font_gdr17") = { + 0,40,38,242,247,17,4,64,9,46,32,255,250,23,249,21, + 250,0,0,0,6,0,0,3,21,21,7,2,255,96,224,224, + 224,224,96,96,96,96,96,64,64,64,64,64,0,0,96,224, + 224,192,7,9,9,11,2,11,102,230,230,198,198,70,70,70, + 70,12,15,30,13,1,2,6,96,6,96,4,64,4,64,12, + 192,63,240,8,128,25,128,17,0,255,224,51,0,34,0,34, + 0,102,0,68,0,11,20,40,12,0,254,6,0,6,0,15, + 128,55,224,102,64,102,0,102,0,118,0,62,0,31,128,7, + 192,6,224,6,96,134,96,198,96,230,192,127,192,31,0,6, + 0,6,0,17,16,48,19,1,0,56,6,0,108,12,0,198, + 24,0,198,24,0,198,48,0,198,96,0,198,192,0,108,192, + 0,57,158,0,3,51,0,6,97,128,6,97,128,12,97,128, + 24,97,128,48,51,0,32,30,0,17,19,57,18,1,0,3, + 192,0,12,224,0,8,96,0,24,96,0,24,96,0,24,192, + 0,29,192,0,31,128,0,14,0,0,62,63,128,119,29,0, + 103,12,0,195,140,0,193,204,0,193,232,0,192,248,0,96, + 120,0,112,222,0,31,7,128,3,9,9,7,2,11,96,224, + 224,192,192,64,64,64,64,6,25,25,9,2,252,4,8,24, + 48,32,96,96,96,192,192,192,192,192,192,192,192,192,224,96, + 96,96,48,24,8,4,6,25,25,9,1,252,128,64,96,48, + 24,24,24,24,12,12,12,12,12,12,12,12,12,24,24,24, + 48,48,96,64,128,10,12,24,12,1,9,12,0,12,0,140, + 0,204,192,119,128,30,0,30,0,119,128,204,192,12,128,12, + 0,12,0,10,9,18,11,1,3,12,0,12,0,12,0,12, + 0,255,192,12,0,12,0,12,0,12,0,4,7,7,6,1, + 252,112,240,48,48,32,96,64,7,1,1,9,1,6,254,3, + 4,4,6,2,255,96,224,224,192,11,25,50,13,1,252,0, + 96,0,96,0,192,0,192,1,128,1,128,1,128,3,0,3, + 0,6,0,6,0,6,0,12,0,12,0,12,0,24,0,24, + 0,48,0,48,0,48,0,96,0,96,0,224,0,192,0,192, + 0,11,16,32,13,1,0,15,0,49,128,96,192,64,192,64, + 224,192,96,192,96,192,96,192,96,192,96,192,96,192,64,96, + 64,96,192,49,128,30,0,9,16,32,13,2,0,12,0,60, + 0,252,0,12,0,12,0,12,0,12,0,12,0,12,0,12, + 0,12,0,12,0,12,0,12,0,12,0,255,128,10,16,32, + 13,1,0,15,0,49,128,96,192,96,192,0,192,0,192,1, + 128,1,128,3,0,6,0,12,0,28,0,24,0,48,64,96, + 64,255,192,10,16,32,13,1,0,30,0,99,0,97,128,193, + 128,1,128,3,0,6,0,31,0,3,128,1,192,0,192,0, + 192,0,192,1,128,193,128,62,0,11,16,32,13,1,0,1, + 128,3,128,7,128,5,128,13,128,25,128,17,128,49,128,97, + 128,65,128,255,224,1,128,1,128,1,128,1,128,15,224,10, + 16,32,13,1,0,63,192,32,0,32,0,32,0,96,0,96, + 0,127,0,67,128,1,192,0,192,0,192,0,192,0,192,1, + 128,193,128,62,0,11,16,32,13,1,0,3,128,14,0,24, + 0,48,0,96,0,96,0,207,0,241,192,192,224,192,96,192, + 96,192,96,96,96,96,64,48,128,31,0,11,16,32,13,1, + 0,127,224,64,192,128,192,0,128,1,128,1,128,3,0,3, + 0,6,0,6,0,4,0,12,0,12,0,24,0,24,0,48, + 0,11,16,32,13,1,0,31,0,113,128,224,192,224,192,224, + 192,241,128,63,0,15,128,51,192,96,224,192,96,192,96,192, + 96,192,64,96,128,31,0,11,17,34,13,1,255,31,0,49, + 128,96,192,192,192,192,96,192,96,192,96,224,96,113,224,30, + 96,0,224,0,192,0,192,1,128,3,0,14,0,48,0,3, + 14,14,6,2,255,64,224,224,224,0,0,0,0,0,0,96, + 224,224,192,4,17,17,6,1,252,32,112,112,112,0,0,0, + 0,0,0,112,240,48,48,32,96,64,10,9,18,12,1,3, + 0,192,3,192,31,0,120,0,224,0,248,0,30,0,7,192, + 0,192,10,5,10,12,1,5,255,192,0,0,0,0,0,0, + 255,192,10,9,18,12,1,3,192,0,248,0,30,0,7,192, + 1,192,7,128,60,0,240,0,128,0,10,20,40,12,1,255, + 31,0,97,128,192,192,192,192,192,192,0,192,1,128,1,128, + 3,0,6,0,6,0,12,0,12,0,12,0,8,0,0,0, + 12,0,28,0,28,0,24,0,20,22,66,22,1,251,0,252, + 0,3,7,0,12,1,192,24,0,192,48,0,96,32,244,96, + 97,28,112,67,12,48,194,12,48,198,12,48,198,12,48,198, + 12,48,198,12,32,198,12,96,227,12,64,99,60,128,97,199, + 0,48,0,0,56,0,0,28,0,64,7,3,128,1,252,0, + 16,17,34,16,0,0,0,128,1,128,3,128,3,192,2,192, + 6,192,6,96,4,96,12,112,12,48,15,240,24,24,24,24, + 16,24,48,12,48,12,248,63,12,17,34,14,1,0,127,128, + 176,192,48,96,48,96,48,96,48,64,49,128,63,192,48,224, + 48,96,48,48,48,48,48,48,48,48,48,96,48,224,255,128, + 12,17,34,14,1,0,7,224,24,112,48,0,32,0,96,0, + 64,0,192,0,192,0,192,0,192,0,192,0,192,0,96,0, + 96,0,48,16,24,32,15,192,14,17,34,16,1,0,127,128, + 176,224,48,48,48,24,48,24,48,12,48,12,48,12,48,12, + 48,12,48,12,48,12,48,24,48,24,48,48,48,96,255,128, + 12,17,34,13,1,0,255,224,48,32,48,32,48,0,48,0, + 48,0,48,0,63,192,48,128,48,0,48,0,48,0,48,0, + 48,0,48,16,48,48,255,224,11,17,34,13,1,0,255,224, + 48,32,48,32,48,0,48,0,48,0,48,0,63,128,49,0, + 48,0,48,0,48,0,48,0,48,0,48,0,48,0,252,0, + 14,17,34,16,1,0,3,240,12,56,16,0,32,0,96,0, + 64,0,192,0,192,0,192,0,192,252,192,24,192,24,96,24, + 96,24,48,24,24,24,7,224,16,17,34,18,1,0,252,63, + 48,12,48,12,48,12,48,12,48,12,48,12,48,12,63,252, + 48,12,48,12,48,12,48,12,48,12,48,12,48,12,252,63, + 6,17,17,8,1,0,252,48,48,48,48,48,48,48,48,48, + 48,48,48,48,48,48,252,10,22,44,8,253,251,31,192,3, + 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, + 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, + 0,2,0,6,0,68,0,248,0,15,17,34,16,1,0,252, + 252,48,48,48,96,48,192,49,128,51,0,54,0,52,0,62, + 0,54,0,51,0,49,128,49,192,48,224,48,112,48,56,252, + 30,12,17,34,13,1,0,252,0,48,0,48,0,48,0,48, + 0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48, + 0,48,0,48,16,48,48,255,224,20,17,51,22,1,0,240, + 1,224,56,1,192,56,3,192,44,2,192,44,6,192,44,6, + 192,38,4,192,38,12,192,35,8,192,35,24,192,35,152,192, + 33,144,192,33,176,192,32,224,192,32,224,192,32,64,192,248, + 67,240,16,17,34,18,1,0,240,63,48,12,56,12,60,12, + 52,12,54,12,51,12,51,12,49,140,48,204,48,204,48,108, + 48,60,48,60,48,28,48,28,252,12,14,17,34,16,1,0, + 7,192,24,96,48,48,96,24,96,24,64,12,192,12,192,12, + 192,12,192,12,192,12,192,8,96,24,96,16,48,48,24,96, + 15,128,12,17,34,14,1,0,127,128,176,224,48,96,48,48, + 48,48,48,48,48,48,48,96,48,192,63,128,48,0,48,0, + 48,0,48,0,48,0,48,0,252,0,16,21,42,16,1,252, + 7,192,24,96,48,48,96,24,96,24,64,12,192,12,192,12, + 192,12,192,12,192,12,192,12,96,24,96,24,48,48,24,96, + 15,192,0,192,0,96,0,49,0,14,14,17,34,15,1,0, + 127,0,177,192,48,96,48,96,48,96,48,96,48,192,49,192, + 63,0,51,0,49,128,49,128,48,192,48,224,48,96,48,112, + 252,60,10,17,34,13,2,0,31,0,99,128,193,0,192,0, + 224,0,240,0,124,0,126,0,31,128,7,128,1,192,0,192, + 0,192,128,192,128,128,193,0,126,0,14,17,34,15,0,0, + 255,252,131,4,131,4,3,0,3,0,3,0,3,0,3,0, + 3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0, + 15,192,16,17,34,18,1,0,252,63,48,12,48,12,48,12, + 48,12,48,12,48,12,48,12,48,12,48,12,48,12,48,12, + 48,12,48,24,24,24,12,48,7,224,17,17,51,18,0,0, + 252,15,128,48,6,0,24,6,0,24,4,0,24,12,0,12, + 12,0,12,8,0,14,24,0,6,24,0,6,16,0,3,48, + 0,3,32,0,3,96,0,1,224,0,1,192,0,1,192,0, + 0,128,0,22,17,51,23,0,0,252,16,124,48,16,16,48, + 56,16,24,56,48,24,56,48,24,108,48,24,108,32,24,76, + 32,12,198,96,12,198,96,12,134,96,13,131,64,7,131,64, + 7,3,192,7,1,192,7,1,192,6,1,128,16,17,34,17, + 0,0,124,63,56,28,24,24,12,48,14,48,7,96,3,192, + 3,192,1,192,3,192,3,224,6,112,12,48,12,24,24,28, + 56,14,252,63,15,17,34,16,0,0,240,62,56,12,24,24, + 28,24,14,48,6,32,7,96,3,192,3,192,1,128,1,128, + 1,128,1,128,1,128,1,128,1,128,7,224,12,17,34,14, + 1,0,127,240,64,96,64,224,128,192,1,192,3,128,3,0, + 7,0,6,0,14,0,28,0,24,0,56,0,48,16,112,16, + 224,48,255,240,6,25,25,8,2,252,252,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,252,11,25,50,13,1,252,128,0,192,0,64,0,96, + 0,96,0,48,0,48,0,48,0,24,0,24,0,8,0,12, + 0,12,0,6,0,6,0,2,0,3,0,3,0,1,128,1, + 128,1,128,0,192,0,192,0,64,0,96,6,25,25,9,1, + 252,252,12,12,12,12,12,12,12,12,12,12,12,12,12,12, + 12,12,12,12,12,12,12,12,12,252,11,13,26,13,1,7, + 6,0,14,0,14,0,15,0,27,0,19,0,17,128,49,128, + 33,192,96,192,96,192,64,96,192,64,11,1,2,13,1,253, + 255,224,6,6,6,9,0,14,96,224,48,24,8,4,11,12, + 24,12,1,0,31,0,97,128,225,128,1,128,1,128,31,128, + 121,128,225,128,193,128,193,128,199,128,121,224,13,20,40,14, + 0,0,48,0,240,0,48,0,48,0,48,0,48,0,48,0, + 48,0,49,224,54,112,56,48,48,56,48,24,48,24,48,24, + 48,24,48,16,48,48,56,96,15,128,10,12,24,12,1,0, + 15,192,48,192,96,128,64,0,192,0,192,0,192,0,192,0, + 192,0,96,64,48,192,31,0,13,20,40,14,1,0,0,96, + 1,224,0,96,0,96,0,96,0,96,0,96,0,96,15,224, + 48,224,96,96,64,96,192,96,192,96,192,96,192,96,192,96, + 96,224,49,120,30,96,10,12,24,12,1,0,15,0,49,128, + 96,192,64,192,255,192,192,0,192,0,192,0,224,0,96,64, + 48,128,31,0,10,20,40,8,1,0,3,192,12,128,24,0, + 16,0,48,0,48,0,48,0,48,0,255,0,48,0,48,0, + 48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0, + 254,0,13,18,36,13,0,250,15,24,48,240,32,96,96,96, + 96,96,96,96,56,192,31,0,24,0,56,0,63,128,31,240, + 48,120,192,24,192,24,192,16,112,96,31,128,14,20,40,15, + 1,0,48,0,240,0,48,0,48,0,48,0,48,0,48,0, + 48,0,49,224,50,48,52,48,56,48,48,48,48,48,48,48, + 48,48,48,48,48,48,48,48,252,252,6,18,18,7,1,0, + 48,112,48,0,0,0,48,240,48,48,48,48,48,48,48,48, + 48,252,8,24,24,7,253,250,3,7,3,0,0,0,3,15, + 3,3,3,3,3,3,3,3,3,3,3,3,2,2,4,248, + 13,20,40,14,1,0,48,0,240,0,48,0,48,0,48,0, + 48,0,48,0,48,0,49,240,48,192,49,128,51,0,52,0, + 60,0,54,0,51,0,49,128,48,192,48,224,248,120,6,20, + 20,7,1,0,48,240,48,48,48,48,48,48,48,48,48,48, + 48,48,48,48,48,48,48,252,20,12,36,21,1,0,113,195, + 128,182,108,192,56,112,192,56,112,192,48,96,192,48,96,192, + 48,96,192,48,96,192,48,96,192,48,96,192,48,96,192,253, + 251,240,14,12,24,15,1,0,113,224,178,48,52,48,56,48, + 48,48,48,48,48,48,48,48,48,48,48,48,48,48,252,252, + 12,12,24,14,1,0,15,128,48,192,96,96,64,112,192,48, + 192,48,192,48,192,48,224,32,96,96,48,192,31,0,12,18, + 36,14,1,250,113,192,182,224,56,96,48,48,48,48,48,48, + 48,48,48,48,48,32,48,96,56,64,55,128,48,0,48,0, + 48,0,48,0,48,0,252,0,13,18,36,14,1,250,15,32, + 48,224,96,96,64,96,192,96,192,96,192,96,192,96,192,96, + 96,224,49,96,30,96,0,96,0,96,0,96,0,96,0,96, + 1,248,10,12,24,11,1,0,51,192,244,128,56,128,56,0, + 48,0,48,0,48,0,48,0,48,0,48,0,48,0,252,0, + 8,12,12,10,1,0,62,70,194,224,240,124,30,7,131,131, + 198,124,9,17,34,9,0,0,16,0,48,0,48,0,48,0, + 48,0,255,128,48,0,48,0,48,0,48,0,48,0,48,0, + 48,0,48,0,48,0,49,0,30,128,14,12,24,14,0,0, + 48,48,240,240,48,48,48,48,48,48,48,48,48,48,48,48, + 48,48,48,112,56,188,31,48,13,12,24,13,0,0,248,120, + 48,48,48,32,24,96,24,64,28,64,12,192,12,128,7,128, + 7,0,7,0,2,0,19,12,36,19,0,0,248,99,224,48, + 96,128,48,96,128,48,241,128,24,177,128,25,177,0,25,153, + 0,13,27,0,15,26,0,14,14,0,6,14,0,4,4,0, + 13,12,24,14,0,0,252,248,56,96,24,64,12,128,7,128, + 7,0,7,128,13,128,8,192,16,96,48,112,248,248,14,18, + 36,13,255,250,124,60,24,24,24,16,12,48,12,32,14,32, + 6,96,6,64,3,192,3,128,3,128,1,128,1,0,3,0, + 2,0,6,0,124,0,240,0,10,12,24,12,1,0,127,192, + 65,128,131,128,3,0,6,0,12,0,28,0,24,0,48,0, + 112,64,96,64,255,192,6,25,25,9,2,252,4,8,24,48, + 48,48,48,24,24,24,24,48,224,56,24,24,24,24,48,48, + 48,48,16,24,4,2,27,27,6,2,251,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,6,25,25,9,1,252,128,96,32,48, + 48,48,48,96,96,96,96,48,28,48,96,96,96,96,48,48, + 48,48,96,64,128,12,4,8,13,1,6,56,48,126,32,143, + 192,131,128,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,255,255,255, + 255,255,255,255,0,0,0,6,0,0,3,19,19,7,2,249, + 96,224,224,192,64,64,64,64,64,96,96,96,96,224,224,224, + 224,224,192,11,17,34,13,1,255,6,0,6,0,7,128,31, + 224,38,64,102,0,198,0,198,0,198,0,198,0,198,0,230, + 32,118,64,63,128,15,0,6,0,6,0,11,16,32,13,1, + 0,7,192,24,224,16,64,48,64,48,0,48,0,48,0,48, + 0,255,0,48,0,48,0,48,0,48,32,32,32,96,96,255, + 224,9,8,16,13,2,4,128,128,93,0,119,0,99,0,99, + 0,119,0,93,0,128,128,14,16,32,13,255,0,240,124,48, + 48,24,96,28,96,12,192,14,192,7,128,3,128,3,0,63, + 240,3,0,3,0,3,0,3,0,3,0,15,192,2,27,27, + 6,2,251,192,192,192,192,192,192,192,192,192,192,192,192,128, + 0,0,192,192,192,192,192,192,192,192,192,192,192,192,10,19, + 38,13,1,0,31,0,35,128,97,0,96,0,112,0,60,0, + 127,0,199,128,195,192,193,192,224,192,120,192,63,128,15,0, + 3,128,65,128,65,128,97,0,62,0,9,3,6,11,1,15, + 193,128,193,128,193,128,17,17,51,19,1,0,3,224,0,12, + 24,0,48,6,0,48,246,0,99,27,0,102,1,0,204,1, + 128,204,1,128,204,1,128,204,1,128,204,1,128,70,19,0, + 103,19,0,49,230,0,48,6,0,12,24,0,3,224,0,7, + 8,8,7,0,8,56,76,140,60,108,108,126,126,10,12,24, + 13,1,0,8,64,24,192,16,128,49,128,99,0,230,0,231, + 0,99,0,49,128,16,128,8,192,8,64,11,6,12,13,1, + 2,255,224,0,96,0,96,0,96,0,96,0,96,7,1,1, + 9,1,6,254,9,9,18,10,0,10,62,0,99,0,255,128, + 146,128,156,128,152,128,213,128,107,0,62,0,9,1,2,13, + 2,16,255,128,6,6,6,10,2,10,56,76,204,204,200,112, + 10,12,24,11,1,2,12,0,12,0,12,0,12,0,255,192, + 12,0,12,0,12,0,12,0,0,0,0,0,255,128,7,10, + 10,9,1,8,60,70,198,6,12,24,16,32,66,254,8,10, + 10,9,255,8,30,35,67,2,14,3,3,3,198,60,5,6, + 6,9,3,14,24,56,48,96,192,128,14,18,36,14,0,250, + 48,48,240,112,48,48,48,48,48,48,48,48,48,48,48,48, + 48,48,56,240,63,188,55,56,48,0,48,0,48,0,48,0, + 56,0,48,0,13,20,40,15,1,253,31,248,49,224,97,224, + 193,224,193,224,193,224,193,224,97,224,113,224,31,224,1,224, + 1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,224, + 7,248,2,3,3,4,1,8,192,192,192,5,6,6,6,0, + 250,48,32,56,88,16,224,7,10,10,9,1,8,24,248,24, + 24,24,24,24,24,24,126,6,8,8,8,1,8,56,76,204, + 204,204,200,112,252,10,12,24,13,2,0,132,0,198,0,98, + 0,35,0,49,128,24,192,25,192,49,128,35,0,98,0,198, + 0,132,0,14,16,32,16,1,0,48,24,240,56,48,48,48, + 96,48,192,48,192,49,128,255,0,3,24,6,56,12,88,12, + 88,24,152,17,252,48,24,96,60,13,16,32,15,1,0,48, + 8,240,16,48,48,48,32,48,96,48,192,48,128,253,128,3, + 112,2,152,7,24,4,16,8,48,24,96,16,200,49,248,14, + 16,32,16,1,0,56,24,204,16,12,48,56,32,12,64,12, + 192,140,128,113,128,3,24,2,56,6,88,12,88,8,152,25, + 252,16,24,48,60,10,19,38,12,1,249,6,0,14,0,14, + 0,12,0,2,0,6,0,6,0,6,0,12,0,28,0,56, + 0,112,0,96,0,192,0,192,192,192,192,192,192,97,128,62, + 0,16,23,46,16,0,0,12,0,30,0,7,0,1,128,0, + 64,0,0,0,128,1,128,3,128,3,192,2,192,6,192,6, + 96,4,96,12,112,12,48,15,240,24,24,24,24,16,24,48, + 12,48,12,248,63,16,23,46,16,0,0,0,48,0,112,1, + 192,3,128,2,0,0,0,0,128,1,128,3,128,3,192,2, + 192,6,192,6,96,4,96,12,112,12,48,15,240,24,24,24, + 24,16,24,48,12,48,12,248,63,16,22,44,16,0,0,3, + 128,6,192,12,32,8,16,0,0,0,128,1,128,3,128,3, + 192,2,192,6,192,6,96,4,96,12,112,12,48,15,240,24, + 24,24,24,16,24,48,12,48,12,248,63,16,22,44,16,0, + 0,0,16,7,176,9,224,16,192,0,0,0,128,1,128,3, + 128,3,192,2,192,6,192,6,96,4,96,12,112,12,48,15, + 240,24,24,24,24,16,24,48,12,48,12,248,63,16,21,42, + 16,0,0,12,48,12,48,8,32,0,0,0,128,1,128,3, + 128,3,192,2,192,6,192,6,96,4,96,12,112,12,48,15, + 240,24,24,24,24,16,24,48,12,48,12,248,63,16,23,46, + 16,0,0,1,192,3,96,3,96,3,192,1,128,0,0,0, + 128,1,128,3,128,3,192,2,192,6,192,6,96,4,96,12, + 112,12,48,15,240,24,24,24,24,16,24,48,12,48,12,248, + 63,20,17,51,21,0,0,7,255,224,1,176,32,1,176,32, + 1,48,0,3,48,0,3,48,0,6,48,0,7,255,192,4, + 48,128,12,48,0,12,48,0,24,48,0,24,48,0,16,48, + 0,48,48,16,48,48,48,248,255,240,12,23,46,14,1,250, + 7,224,24,112,48,0,32,0,96,0,64,0,192,0,192,0, + 192,0,192,0,192,0,192,0,224,0,96,32,112,32,61,192, + 31,128,4,0,4,0,7,0,3,0,2,0,28,0,12,23, + 46,13,1,0,48,0,120,0,28,0,6,0,1,0,0,0, + 255,224,48,32,48,32,48,0,48,0,48,0,48,0,63,192, + 48,128,48,0,48,0,48,0,48,0,48,0,48,16,48,48, + 255,224,12,23,46,13,1,0,0,192,3,192,7,0,12,0, + 16,0,0,0,255,224,48,32,48,32,48,0,48,0,48,0, + 48,0,63,192,48,128,48,0,48,0,48,0,48,0,48,0, + 48,16,48,48,255,224,12,22,44,13,1,0,14,0,27,0, + 48,128,64,64,0,0,255,224,48,32,48,32,48,0,48,0, + 48,0,48,0,63,192,48,128,48,0,48,0,48,0,48,0, + 48,0,48,16,48,48,255,224,12,21,42,13,1,0,32,128, + 97,128,32,128,0,0,255,224,48,32,48,32,48,0,48,0, + 48,0,48,0,63,192,48,128,48,0,48,0,48,0,48,0, + 48,0,48,16,48,48,255,224,8,23,23,8,255,0,96,240, + 56,12,2,0,63,12,12,12,12,12,12,12,12,12,12,12, + 12,12,12,12,63,7,23,23,8,1,0,6,14,56,112,64, + 0,252,48,48,48,48,48,48,48,48,48,48,48,48,48,48, + 48,252,8,22,22,8,0,0,56,108,194,129,0,126,24,24, + 24,24,24,24,24,24,24,24,24,24,24,24,24,126,8,21, + 21,8,0,0,195,195,130,0,126,24,24,24,24,24,24,24, + 24,24,24,24,24,24,24,24,126,14,17,34,16,1,0,127, + 128,176,224,48,48,48,24,48,24,48,12,48,12,48,12,255, + 12,48,12,48,12,48,12,48,24,48,24,48,48,48,96,255, + 128,16,22,44,18,1,0,0,16,7,176,9,224,16,192,0, + 0,240,63,48,12,56,12,60,12,52,12,54,12,51,12,51, + 12,49,140,48,204,48,204,48,108,48,60,48,60,48,28,48, + 28,252,12,14,23,46,16,1,0,24,0,28,0,7,0,3, + 128,0,128,0,0,7,192,24,96,48,48,96,24,96,24,64, + 12,192,12,192,12,192,12,192,12,192,12,192,8,96,24,96, + 16,48,48,24,96,15,128,14,23,46,16,1,0,0,96,0, + 240,1,192,3,0,4,0,0,0,7,192,24,96,48,48,96, + 24,96,24,64,12,192,12,192,12,192,12,192,12,192,12,192, + 8,96,24,96,16,48,48,24,96,15,128,14,22,44,16,1, + 0,3,128,4,192,8,96,16,32,0,0,7,192,24,96,48, + 48,96,24,96,24,64,12,192,12,192,12,192,12,192,12,192, + 12,192,8,96,24,96,16,48,48,24,96,15,128,14,22,44, + 16,1,0,0,32,15,48,19,224,32,128,0,0,7,192,24, + 96,48,48,96,24,96,24,64,12,192,12,192,12,192,12,192, + 12,192,12,192,8,96,24,96,16,48,48,24,96,15,128,14, + 21,42,16,1,0,24,96,24,96,16,64,0,0,7,192,24, + 96,48,48,96,24,96,24,64,12,192,12,192,12,192,12,192, + 12,192,12,192,8,96,24,96,16,48,48,24,96,15,128,9, + 9,18,11,1,3,193,128,99,0,54,0,28,0,28,0,28, + 0,54,0,99,0,193,128,14,18,36,16,1,255,7,204,24, + 120,48,48,32,120,96,120,64,220,193,204,193,140,195,12,199, + 12,198,12,204,8,104,24,120,16,48,48,120,96,207,128,128, + 0,16,23,46,18,1,0,12,0,30,0,7,0,1,192,0, + 64,0,0,252,63,48,12,48,12,48,12,48,12,48,12,48, + 12,48,12,48,12,48,12,48,12,48,12,48,12,48,24,24, + 24,12,48,7,224,16,23,46,18,1,0,0,48,0,112,1, + 192,3,128,2,0,0,0,252,63,48,12,48,12,48,12,48, + 12,48,12,48,12,48,12,48,12,48,12,48,12,48,12,48, + 12,48,24,24,24,12,48,7,224,16,22,44,18,1,0,1, + 128,2,64,4,32,8,16,0,0,252,63,48,12,48,12,48, + 12,48,12,48,12,48,12,48,12,48,12,48,12,48,12,48, + 12,48,12,48,24,24,24,12,48,7,224,16,21,42,18,1, + 0,12,48,12,48,8,32,0,0,252,63,48,12,48,12,48, + 12,48,12,48,12,48,12,48,12,48,12,48,12,48,12,48, + 12,48,12,48,24,24,24,12,48,7,224,15,23,46,16,0, + 0,0,48,0,112,0,192,3,128,2,0,0,0,240,62,56, + 12,24,24,28,24,14,48,6,32,7,96,3,192,3,192,1, + 128,1,128,1,128,1,128,1,128,1,128,1,128,7,224,12, + 17,34,14,1,0,252,0,48,0,48,0,63,128,48,224,48, + 96,48,48,48,48,48,48,48,48,48,48,48,96,56,192,55, + 128,48,0,48,0,252,0,14,20,40,15,1,0,3,192,12, + 224,24,112,16,48,48,48,48,48,48,96,49,192,51,0,54, + 0,54,0,55,128,51,224,48,248,48,60,48,28,50,12,50, + 12,51,24,243,240,11,20,40,12,1,0,48,0,120,0,24, + 0,12,0,4,0,2,0,0,0,0,0,31,0,97,128,225, + 128,1,128,1,128,31,128,121,128,225,128,193,128,193,128,199, + 128,121,224,11,20,40,12,1,0,1,128,3,128,3,0,6, + 0,4,0,8,0,0,0,0,0,31,0,97,128,225,128,1, + 128,1,128,31,128,121,128,225,128,193,128,193,128,199,128,121, + 224,11,19,38,12,1,0,12,0,30,0,19,0,33,128,64, + 192,0,0,0,0,31,0,97,128,225,128,1,128,1,128,31, + 128,121,128,225,128,193,128,193,128,199,128,121,224,11,18,36, + 12,1,0,24,64,60,128,71,0,0,0,0,0,0,0,31, + 0,97,128,225,128,1,128,1,128,31,128,121,128,225,128,193, + 128,193,128,199,128,121,224,11,18,36,12,1,0,97,128,97, + 128,97,128,0,0,0,0,0,0,31,0,97,128,225,128,1, + 128,1,128,31,128,121,128,225,128,193,128,193,128,199,128,121, + 224,11,19,38,12,1,0,14,0,11,0,27,0,27,0,14, + 0,0,0,0,0,31,0,97,128,225,128,1,128,1,128,31, + 128,121,128,225,128,193,128,193,128,199,128,121,224,17,12,36, + 19,1,0,31,62,0,97,195,0,97,193,128,193,129,128,15, + 255,128,57,128,0,97,128,0,193,128,0,193,128,0,193,193, + 0,198,227,0,120,124,0,10,18,36,12,1,250,15,192,48, + 192,96,128,64,0,192,0,192,0,192,0,192,0,224,0,96, + 64,120,192,63,0,12,0,4,0,7,0,3,0,2,0,28, + 0,10,20,40,12,1,0,48,0,56,0,24,0,12,0,6, + 0,2,0,0,0,0,0,15,0,49,128,96,192,64,192,255, + 192,192,0,192,0,192,0,224,0,96,64,48,128,31,0,10, + 20,40,12,1,0,1,192,1,128,3,0,2,0,4,0,12, + 0,0,0,0,0,15,0,49,128,96,192,64,192,255,192,192, + 0,192,0,192,0,224,0,96,64,48,128,31,0,10,19,38, + 12,1,0,6,0,15,0,25,0,48,128,32,64,0,0,0, + 0,15,0,49,128,96,192,64,192,255,192,192,0,192,0,192, + 0,224,0,96,64,48,128,31,0,10,18,36,12,1,0,32, + 128,48,192,32,128,0,0,0,0,0,0,15,0,49,128,96, + 192,64,192,255,192,192,0,192,0,192,0,224,0,96,64,48, + 128,31,0,7,20,20,7,0,0,192,224,112,48,24,8,0, + 0,24,120,24,24,24,24,24,24,24,24,24,126,7,20,20, + 7,1,0,14,12,24,16,48,96,0,0,48,240,48,48,48, + 48,48,48,48,48,48,252,8,19,19,7,0,0,24,60,100, + 194,129,0,0,24,120,24,24,24,24,24,24,24,24,24,126, + 8,18,18,7,0,0,130,195,130,0,0,0,24,120,24,24, + 24,24,24,24,24,24,24,126,11,19,38,13,1,0,24,0, + 60,224,7,128,31,0,49,128,0,192,0,192,15,192,49,224, + 96,224,64,96,192,96,192,96,192,96,192,64,224,192,96,192, + 49,128,30,0,14,18,36,15,1,0,12,32,31,64,35,128, + 0,0,0,0,0,0,113,224,178,48,52,48,56,48,48,48, + 48,48,48,48,48,48,48,48,48,48,48,48,252,252,12,20, + 40,14,1,0,56,0,24,0,12,0,4,0,6,0,3,0, + 0,0,0,0,15,128,48,192,96,96,64,112,192,48,192,48, + 192,48,192,48,224,32,96,96,48,192,31,0,12,20,40,14, + 1,0,0,192,1,128,3,128,3,0,6,0,4,0,0,0, + 0,0,15,128,48,192,96,96,64,112,192,48,192,48,192,48, + 192,48,224,32,96,96,48,192,31,0,12,19,38,14,1,0, + 6,0,15,0,25,128,16,128,32,64,0,0,0,0,15,128, + 48,192,96,96,64,112,192,48,192,48,192,48,192,48,224,32, + 96,96,48,192,31,0,12,18,36,14,1,0,28,96,62,64, + 35,128,0,0,0,0,0,0,15,128,48,192,96,96,64,112, + 192,48,192,48,192,48,192,48,224,32,96,96,48,192,31,0, + 12,18,36,14,1,0,48,192,48,192,48,192,0,0,0,0, + 0,0,15,128,48,192,96,96,64,112,192,48,192,48,192,48, + 192,48,224,32,96,96,48,192,31,0,9,9,18,11,1,3, + 12,0,12,0,0,0,0,0,255,128,0,0,0,0,12,0, + 12,0,12,14,28,14,1,255,0,16,15,176,49,224,96,224, + 65,240,195,48,198,48,198,48,204,48,248,32,112,96,120,192, + 223,0,128,0,14,20,40,14,0,0,28,0,12,0,6,0, + 3,0,1,0,1,128,0,0,0,0,48,48,240,240,48,48, + 48,48,48,48,48,48,48,48,48,48,48,48,48,112,56,188, + 31,48,14,20,40,14,0,0,0,96,0,224,0,192,1,128, + 3,0,2,0,0,0,0,0,48,48,240,240,48,48,48,48, + 48,48,48,48,48,48,48,48,48,48,48,112,56,188,31,48, + 14,19,38,14,0,0,3,0,7,128,4,192,8,96,16,32, + 0,0,0,0,48,48,240,240,48,48,48,48,48,48,48,48, + 48,48,48,48,48,48,48,112,56,188,31,48,14,18,36,14, + 0,0,24,96,24,96,24,96,0,0,0,0,0,0,48,48, + 240,240,48,48,48,48,48,48,48,48,48,48,48,48,48,48, + 48,112,56,188,31,48,14,26,52,13,255,250,0,112,0,96, + 0,224,0,192,1,128,1,0,0,0,0,0,124,60,24,24, + 24,16,12,48,12,32,14,32,6,96,6,64,3,192,3,128, + 3,128,1,128,1,0,3,0,2,0,6,0,124,0,240,0, + 12,26,52,14,1,250,48,0,240,0,48,0,48,0,48,0, + 48,0,48,0,48,0,51,192,52,224,56,96,48,48,48,48, + 48,48,48,48,48,48,48,32,48,96,56,64,55,128,48,0, + 48,0,48,0,48,0,48,0,252,0,14,24,48,13,255,250, + 12,48,12,48,8,32,0,0,0,0,0,0,124,60,24,24, + 24,16,12,48,12,32,14,32,6,96,6,64,3,192,3,128, + 3,128,1,128,1,0,3,0,2,0,6,0,124,0,240,0 + }; +/* + Fontname: -FreeType-Gentium Basic-Medium-R-Normal--27-270-72-72-P-125-ISO10646-1 + Copyright: Copyright (c) SIL International, 2003-2008. + Capital A Height: 0, '1' Height: 16 + Calculated Max Values w=11 h=25 x= 2 y= 9 dx=13 dy= 0 ascent=21 len=50 + Font Bounding box w=40 h=38 x=-14 y=-9 + Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 + Pure Font ascent =16 descent= 0 + X Font ascent =16 descent= 0 + Max Font ascent =21 descent=-4 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_gdr17n[559] U8G_FONT_SECTION("u8g_font_gdr17n") = { + 0,40,38,242,247,16,0,0,0,0,42,58,0,21,252,16, + 0,10,12,24,12,1,9,12,0,12,0,140,0,204,192,119, + 128,30,0,30,0,119,128,204,192,12,128,12,0,12,0,10, + 9,18,11,1,3,12,0,12,0,12,0,12,0,255,192,12, + 0,12,0,12,0,12,0,4,7,7,6,1,252,112,240,48, + 48,32,96,64,7,1,1,9,1,6,254,3,4,4,6,2, + 255,96,224,224,192,11,25,50,13,1,252,0,96,0,96,0, + 192,0,192,1,128,1,128,1,128,3,0,3,0,6,0,6, + 0,6,0,12,0,12,0,12,0,24,0,24,0,48,0,48, + 0,48,0,96,0,96,0,224,0,192,0,192,0,11,16,32, + 13,1,0,15,0,49,128,96,192,64,192,64,224,192,96,192, + 96,192,96,192,96,192,96,192,96,192,64,96,64,96,192,49, + 128,30,0,9,16,32,13,2,0,12,0,60,0,252,0,12, + 0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, + 0,12,0,12,0,12,0,255,128,10,16,32,13,1,0,15, + 0,49,128,96,192,96,192,0,192,0,192,1,128,1,128,3, + 0,6,0,12,0,28,0,24,0,48,64,96,64,255,192,10, + 16,32,13,1,0,30,0,99,0,97,128,193,128,1,128,3, + 0,6,0,31,0,3,128,1,192,0,192,0,192,0,192,1, + 128,193,128,62,0,11,16,32,13,1,0,1,128,3,128,7, + 128,5,128,13,128,25,128,17,128,49,128,97,128,65,128,255, + 224,1,128,1,128,1,128,1,128,15,224,10,16,32,13,1, + 0,63,192,32,0,32,0,32,0,96,0,96,0,127,0,67, + 128,1,192,0,192,0,192,0,192,0,192,1,128,193,128,62, + 0,11,16,32,13,1,0,3,128,14,0,24,0,48,0,96, + 0,96,0,207,0,241,192,192,224,192,96,192,96,192,96,96, + 96,96,64,48,128,31,0,11,16,32,13,1,0,127,224,64, + 192,128,192,0,128,1,128,1,128,3,0,3,0,6,0,6, + 0,4,0,12,0,12,0,24,0,24,0,48,0,11,16,32, + 13,1,0,31,0,113,128,224,192,224,192,224,192,241,128,63, + 0,15,128,51,192,96,224,192,96,192,96,192,96,192,64,96, + 128,31,0,11,17,34,13,1,255,31,0,49,128,96,192,192, + 192,192,96,192,96,192,96,224,96,113,224,30,96,0,224,0, + 192,0,192,1,128,3,0,14,0,48,0,3,14,14,6,2, + 255,64,224,224,224,0,0,0,0,0,0,96,224,224,192}; +/* + Fontname: -FreeType-Gentium Basic-Medium-R-Normal--27-270-72-72-P-125-ISO10646-1 + Copyright: Copyright (c) SIL International, 2003-2008. + Capital A Height: 17, '1' Height: 16 + Calculated Max Values w=22 h=27 x= 2 y=14 dx=23 dy= 0 ascent=22 len=66 + Font Bounding box w=40 h=38 x=-14 y=-9 + Calculated Min Values x=-3 y=-6 dx= 0 dy= 0 + Pure Font ascent =17 descent=-6 + X Font ascent =21 descent=-6 + Max Font ascent =22 descent=-6 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_gdr17r[3380] U8G_FONT_SECTION("u8g_font_gdr17r") = { + 0,40,38,242,247,17,4,64,9,46,32,127,250,22,250,21, + 250,0,0,0,6,0,0,3,21,21,7,2,255,96,224,224, + 224,224,96,96,96,96,96,64,64,64,64,64,0,0,96,224, + 224,192,7,9,9,11,2,11,102,230,230,198,198,70,70,70, + 70,12,15,30,13,1,2,6,96,6,96,4,64,4,64,12, + 192,63,240,8,128,25,128,17,0,255,224,51,0,34,0,34, + 0,102,0,68,0,11,20,40,12,0,254,6,0,6,0,15, + 128,55,224,102,64,102,0,102,0,118,0,62,0,31,128,7, + 192,6,224,6,96,134,96,198,96,230,192,127,192,31,0,6, + 0,6,0,17,16,48,19,1,0,56,6,0,108,12,0,198, + 24,0,198,24,0,198,48,0,198,96,0,198,192,0,108,192, + 0,57,158,0,3,51,0,6,97,128,6,97,128,12,97,128, + 24,97,128,48,51,0,32,30,0,17,19,57,18,1,0,3, + 192,0,12,224,0,8,96,0,24,96,0,24,96,0,24,192, + 0,29,192,0,31,128,0,14,0,0,62,63,128,119,29,0, + 103,12,0,195,140,0,193,204,0,193,232,0,192,248,0,96, + 120,0,112,222,0,31,7,128,3,9,9,7,2,11,96,224, + 224,192,192,64,64,64,64,6,25,25,9,2,252,4,8,24, + 48,32,96,96,96,192,192,192,192,192,192,192,192,192,224,96, + 96,96,48,24,8,4,6,25,25,9,1,252,128,64,96,48, + 24,24,24,24,12,12,12,12,12,12,12,12,12,24,24,24, + 48,48,96,64,128,10,12,24,12,1,9,12,0,12,0,140, + 0,204,192,119,128,30,0,30,0,119,128,204,192,12,128,12, + 0,12,0,10,9,18,11,1,3,12,0,12,0,12,0,12, + 0,255,192,12,0,12,0,12,0,12,0,4,7,7,6,1, + 252,112,240,48,48,32,96,64,7,1,1,9,1,6,254,3, + 4,4,6,2,255,96,224,224,192,11,25,50,13,1,252,0, + 96,0,96,0,192,0,192,1,128,1,128,1,128,3,0,3, + 0,6,0,6,0,6,0,12,0,12,0,12,0,24,0,24, + 0,48,0,48,0,48,0,96,0,96,0,224,0,192,0,192, + 0,11,16,32,13,1,0,15,0,49,128,96,192,64,192,64, + 224,192,96,192,96,192,96,192,96,192,96,192,96,192,64,96, + 64,96,192,49,128,30,0,9,16,32,13,2,0,12,0,60, + 0,252,0,12,0,12,0,12,0,12,0,12,0,12,0,12, + 0,12,0,12,0,12,0,12,0,12,0,255,128,10,16,32, + 13,1,0,15,0,49,128,96,192,96,192,0,192,0,192,1, + 128,1,128,3,0,6,0,12,0,28,0,24,0,48,64,96, + 64,255,192,10,16,32,13,1,0,30,0,99,0,97,128,193, + 128,1,128,3,0,6,0,31,0,3,128,1,192,0,192,0, + 192,0,192,1,128,193,128,62,0,11,16,32,13,1,0,1, + 128,3,128,7,128,5,128,13,128,25,128,17,128,49,128,97, + 128,65,128,255,224,1,128,1,128,1,128,1,128,15,224,10, + 16,32,13,1,0,63,192,32,0,32,0,32,0,96,0,96, + 0,127,0,67,128,1,192,0,192,0,192,0,192,0,192,1, + 128,193,128,62,0,11,16,32,13,1,0,3,128,14,0,24, + 0,48,0,96,0,96,0,207,0,241,192,192,224,192,96,192, + 96,192,96,96,96,96,64,48,128,31,0,11,16,32,13,1, + 0,127,224,64,192,128,192,0,128,1,128,1,128,3,0,3, + 0,6,0,6,0,4,0,12,0,12,0,24,0,24,0,48, + 0,11,16,32,13,1,0,31,0,113,128,224,192,224,192,224, + 192,241,128,63,0,15,128,51,192,96,224,192,96,192,96,192, + 96,192,64,96,128,31,0,11,17,34,13,1,255,31,0,49, + 128,96,192,192,192,192,96,192,96,192,96,224,96,113,224,30, + 96,0,224,0,192,0,192,1,128,3,0,14,0,48,0,3, + 14,14,6,2,255,64,224,224,224,0,0,0,0,0,0,96, + 224,224,192,4,17,17,6,1,252,32,112,112,112,0,0,0, + 0,0,0,112,240,48,48,32,96,64,10,9,18,12,1,3, + 0,192,3,192,31,0,120,0,224,0,248,0,30,0,7,192, + 0,192,10,5,10,12,1,5,255,192,0,0,0,0,0,0, + 255,192,10,9,18,12,1,3,192,0,248,0,30,0,7,192, + 1,192,7,128,60,0,240,0,128,0,10,20,40,12,1,255, + 31,0,97,128,192,192,192,192,192,192,0,192,1,128,1,128, + 3,0,6,0,6,0,12,0,12,0,12,0,8,0,0,0, + 12,0,28,0,28,0,24,0,20,22,66,22,1,251,0,252, + 0,3,7,0,12,1,192,24,0,192,48,0,96,32,244,96, + 97,28,112,67,12,48,194,12,48,198,12,48,198,12,48,198, + 12,48,198,12,32,198,12,96,227,12,64,99,60,128,97,199, + 0,48,0,0,56,0,0,28,0,64,7,3,128,1,252,0, + 16,17,34,16,0,0,0,128,1,128,3,128,3,192,2,192, + 6,192,6,96,4,96,12,112,12,48,15,240,24,24,24,24, + 16,24,48,12,48,12,248,63,12,17,34,14,1,0,127,128, + 176,192,48,96,48,96,48,96,48,64,49,128,63,192,48,224, + 48,96,48,48,48,48,48,48,48,48,48,96,48,224,255,128, + 12,17,34,14,1,0,7,224,24,112,48,0,32,0,96,0, + 64,0,192,0,192,0,192,0,192,0,192,0,192,0,96,0, + 96,0,48,16,24,32,15,192,14,17,34,16,1,0,127,128, + 176,224,48,48,48,24,48,24,48,12,48,12,48,12,48,12, + 48,12,48,12,48,12,48,24,48,24,48,48,48,96,255,128, + 12,17,34,13,1,0,255,224,48,32,48,32,48,0,48,0, + 48,0,48,0,63,192,48,128,48,0,48,0,48,0,48,0, + 48,0,48,16,48,48,255,224,11,17,34,13,1,0,255,224, + 48,32,48,32,48,0,48,0,48,0,48,0,63,128,49,0, + 48,0,48,0,48,0,48,0,48,0,48,0,48,0,252,0, + 14,17,34,16,1,0,3,240,12,56,16,0,32,0,96,0, + 64,0,192,0,192,0,192,0,192,252,192,24,192,24,96,24, + 96,24,48,24,24,24,7,224,16,17,34,18,1,0,252,63, + 48,12,48,12,48,12,48,12,48,12,48,12,48,12,63,252, + 48,12,48,12,48,12,48,12,48,12,48,12,48,12,252,63, + 6,17,17,8,1,0,252,48,48,48,48,48,48,48,48,48, + 48,48,48,48,48,48,252,10,22,44,8,253,251,31,192,3, + 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, + 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, + 0,2,0,6,0,68,0,248,0,15,17,34,16,1,0,252, + 252,48,48,48,96,48,192,49,128,51,0,54,0,52,0,62, + 0,54,0,51,0,49,128,49,192,48,224,48,112,48,56,252, + 30,12,17,34,13,1,0,252,0,48,0,48,0,48,0,48, + 0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48, + 0,48,0,48,16,48,48,255,224,20,17,51,22,1,0,240, + 1,224,56,1,192,56,3,192,44,2,192,44,6,192,44,6, + 192,38,4,192,38,12,192,35,8,192,35,24,192,35,152,192, + 33,144,192,33,176,192,32,224,192,32,224,192,32,64,192,248, + 67,240,16,17,34,18,1,0,240,63,48,12,56,12,60,12, + 52,12,54,12,51,12,51,12,49,140,48,204,48,204,48,108, + 48,60,48,60,48,28,48,28,252,12,14,17,34,16,1,0, + 7,192,24,96,48,48,96,24,96,24,64,12,192,12,192,12, + 192,12,192,12,192,12,192,8,96,24,96,16,48,48,24,96, + 15,128,12,17,34,14,1,0,127,128,176,224,48,96,48,48, + 48,48,48,48,48,48,48,96,48,192,63,128,48,0,48,0, + 48,0,48,0,48,0,48,0,252,0,16,21,42,16,1,252, + 7,192,24,96,48,48,96,24,96,24,64,12,192,12,192,12, + 192,12,192,12,192,12,192,12,96,24,96,24,48,48,24,96, + 15,192,0,192,0,96,0,49,0,14,14,17,34,15,1,0, + 127,0,177,192,48,96,48,96,48,96,48,96,48,192,49,192, + 63,0,51,0,49,128,49,128,48,192,48,224,48,96,48,112, + 252,60,10,17,34,13,2,0,31,0,99,128,193,0,192,0, + 224,0,240,0,124,0,126,0,31,128,7,128,1,192,0,192, + 0,192,128,192,128,128,193,0,126,0,14,17,34,15,0,0, + 255,252,131,4,131,4,3,0,3,0,3,0,3,0,3,0, + 3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0, + 15,192,16,17,34,18,1,0,252,63,48,12,48,12,48,12, + 48,12,48,12,48,12,48,12,48,12,48,12,48,12,48,12, + 48,12,48,24,24,24,12,48,7,224,17,17,51,18,0,0, + 252,15,128,48,6,0,24,6,0,24,4,0,24,12,0,12, + 12,0,12,8,0,14,24,0,6,24,0,6,16,0,3,48, + 0,3,32,0,3,96,0,1,224,0,1,192,0,1,192,0, + 0,128,0,22,17,51,23,0,0,252,16,124,48,16,16,48, + 56,16,24,56,48,24,56,48,24,108,48,24,108,32,24,76, + 32,12,198,96,12,198,96,12,134,96,13,131,64,7,131,64, + 7,3,192,7,1,192,7,1,192,6,1,128,16,17,34,17, + 0,0,124,63,56,28,24,24,12,48,14,48,7,96,3,192, + 3,192,1,192,3,192,3,224,6,112,12,48,12,24,24,28, + 56,14,252,63,15,17,34,16,0,0,240,62,56,12,24,24, + 28,24,14,48,6,32,7,96,3,192,3,192,1,128,1,128, + 1,128,1,128,1,128,1,128,1,128,7,224,12,17,34,14, + 1,0,127,240,64,96,64,224,128,192,1,192,3,128,3,0, + 7,0,6,0,14,0,28,0,24,0,56,0,48,16,112,16, + 224,48,255,240,6,25,25,8,2,252,252,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,252,11,25,50,13,1,252,128,0,192,0,64,0,96, + 0,96,0,48,0,48,0,48,0,24,0,24,0,8,0,12, + 0,12,0,6,0,6,0,2,0,3,0,3,0,1,128,1, + 128,1,128,0,192,0,192,0,64,0,96,6,25,25,9,1, + 252,252,12,12,12,12,12,12,12,12,12,12,12,12,12,12, + 12,12,12,12,12,12,12,12,12,252,11,13,26,13,1,7, + 6,0,14,0,14,0,15,0,27,0,19,0,17,128,49,128, + 33,192,96,192,96,192,64,96,192,64,11,1,2,13,1,253, + 255,224,6,6,6,9,0,14,96,224,48,24,8,4,11,12, + 24,12,1,0,31,0,97,128,225,128,1,128,1,128,31,128, + 121,128,225,128,193,128,193,128,199,128,121,224,13,20,40,14, + 0,0,48,0,240,0,48,0,48,0,48,0,48,0,48,0, + 48,0,49,224,54,112,56,48,48,56,48,24,48,24,48,24, + 48,24,48,16,48,48,56,96,15,128,10,12,24,12,1,0, + 15,192,48,192,96,128,64,0,192,0,192,0,192,0,192,0, + 192,0,96,64,48,192,31,0,13,20,40,14,1,0,0,96, + 1,224,0,96,0,96,0,96,0,96,0,96,0,96,15,224, + 48,224,96,96,64,96,192,96,192,96,192,96,192,96,192,96, + 96,224,49,120,30,96,10,12,24,12,1,0,15,0,49,128, + 96,192,64,192,255,192,192,0,192,0,192,0,224,0,96,64, + 48,128,31,0,10,20,40,8,1,0,3,192,12,128,24,0, + 16,0,48,0,48,0,48,0,48,0,255,0,48,0,48,0, + 48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0, + 254,0,13,18,36,13,0,250,15,24,48,240,32,96,96,96, + 96,96,96,96,56,192,31,0,24,0,56,0,63,128,31,240, + 48,120,192,24,192,24,192,16,112,96,31,128,14,20,40,15, + 1,0,48,0,240,0,48,0,48,0,48,0,48,0,48,0, + 48,0,49,224,50,48,52,48,56,48,48,48,48,48,48,48, + 48,48,48,48,48,48,48,48,252,252,6,18,18,7,1,0, + 48,112,48,0,0,0,48,240,48,48,48,48,48,48,48,48, + 48,252,8,24,24,7,253,250,3,7,3,0,0,0,3,15, + 3,3,3,3,3,3,3,3,3,3,3,3,2,2,4,248, + 13,20,40,14,1,0,48,0,240,0,48,0,48,0,48,0, + 48,0,48,0,48,0,49,240,48,192,49,128,51,0,52,0, + 60,0,54,0,51,0,49,128,48,192,48,224,248,120,6,20, + 20,7,1,0,48,240,48,48,48,48,48,48,48,48,48,48, + 48,48,48,48,48,48,48,252,20,12,36,21,1,0,113,195, + 128,182,108,192,56,112,192,56,112,192,48,96,192,48,96,192, + 48,96,192,48,96,192,48,96,192,48,96,192,48,96,192,253, + 251,240,14,12,24,15,1,0,113,224,178,48,52,48,56,48, + 48,48,48,48,48,48,48,48,48,48,48,48,48,48,252,252, + 12,12,24,14,1,0,15,128,48,192,96,96,64,112,192,48, + 192,48,192,48,192,48,224,32,96,96,48,192,31,0,12,18, + 36,14,1,250,113,192,182,224,56,96,48,48,48,48,48,48, + 48,48,48,48,48,32,48,96,56,64,55,128,48,0,48,0, + 48,0,48,0,48,0,252,0,13,18,36,14,1,250,15,32, + 48,224,96,96,64,96,192,96,192,96,192,96,192,96,192,96, + 96,224,49,96,30,96,0,96,0,96,0,96,0,96,0,96, + 1,248,10,12,24,11,1,0,51,192,244,128,56,128,56,0, + 48,0,48,0,48,0,48,0,48,0,48,0,48,0,252,0, + 8,12,12,10,1,0,62,70,194,224,240,124,30,7,131,131, + 198,124,9,17,34,9,0,0,16,0,48,0,48,0,48,0, + 48,0,255,128,48,0,48,0,48,0,48,0,48,0,48,0, + 48,0,48,0,48,0,49,0,30,128,14,12,24,14,0,0, + 48,48,240,240,48,48,48,48,48,48,48,48,48,48,48,48, + 48,48,48,112,56,188,31,48,13,12,24,13,0,0,248,120, + 48,48,48,32,24,96,24,64,28,64,12,192,12,128,7,128, + 7,0,7,0,2,0,19,12,36,19,0,0,248,99,224,48, + 96,128,48,96,128,48,241,128,24,177,128,25,177,0,25,153, + 0,13,27,0,15,26,0,14,14,0,6,14,0,4,4,0, + 13,12,24,14,0,0,252,248,56,96,24,64,12,128,7,128, + 7,0,7,128,13,128,8,192,16,96,48,112,248,248,14,18, + 36,13,255,250,124,60,24,24,24,16,12,48,12,32,14,32, + 6,96,6,64,3,192,3,128,3,128,1,128,1,0,3,0, + 2,0,6,0,124,0,240,0,10,12,24,12,1,0,127,192, + 65,128,131,128,3,0,6,0,12,0,28,0,24,0,48,0, + 112,64,96,64,255,192,6,25,25,9,2,252,4,8,24,48, + 48,48,48,24,24,24,24,48,224,56,24,24,24,24,48,48, + 48,48,16,24,4,2,27,27,6,2,251,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,6,25,25,9,1,252,128,96,32,48, + 48,48,48,96,96,96,96,48,28,48,96,96,96,96,48,48, + 48,48,96,64,128,12,4,8,13,1,6,56,48,126,32,143, + 192,131,128,255}; +/* + Fontname: -FreeType-Gentium Basic-Medium-R-Normal--32-320-72-72-P-146-ISO10646-1 + Copyright: Copyright (c) SIL International, 2003-2008. + Capital A Height: 20, '1' Height: 19 + Calculated Max Values w=27 h=32 x= 3 y=19 dx=27 dy= 0 ascent=27 len=81 + Font Bounding box w=47 h=44 x=-16 y=-10 + Calculated Min Values x=-4 y=-9 dx= 0 dy= 0 + Pure Font ascent =20 descent=-8 + X Font ascent =25 descent=-8 + Max Font ascent =27 descent=-9 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_gdr20[9119] U8G_FONT_SECTION("u8g_font_gdr20") = { + 0,47,44,240,246,20,4,220,11,144,32,255,248,27,247,25, + 248,0,0,0,7,0,0,4,23,23,9,2,0,48,112,112, + 112,112,112,112,112,112,96,96,96,96,96,96,96,96,64,0, + 112,240,240,224,8,10,10,14,3,13,227,199,199,199,199,195, + 195,195,195,194,14,18,36,15,1,2,1,24,3,24,3,16, + 2,48,6,48,63,252,4,96,12,96,12,96,12,64,8,192, + 255,248,24,128,17,128,49,128,49,128,49,0,35,0,12,25, + 50,15,1,253,6,0,6,0,6,0,31,192,63,240,102,96, + 102,0,102,0,102,0,118,0,62,0,31,128,7,192,7,224, + 6,112,6,48,6,48,134,48,198,48,230,96,255,192,127,128, + 6,0,6,0,6,0,20,20,60,22,1,255,30,0,192,99, + 1,128,67,3,128,193,131,0,193,134,0,193,140,0,193,156, + 0,97,24,0,99,48,0,60,115,192,0,108,96,0,200,96, + 1,152,48,3,152,48,3,24,48,6,24,48,14,8,32,28, + 12,96,24,7,128,48,0,0,19,22,66,21,2,0,3,192, + 0,4,224,0,8,96,0,24,96,0,24,96,0,24,96,0, + 24,192,0,29,128,0,15,0,0,12,0,0,28,63,224,62, + 14,128,119,6,0,99,134,0,193,134,0,193,198,0,192,236, + 0,192,124,0,192,60,0,96,30,0,48,47,192,31,195,128, + 3,10,10,8,3,13,224,192,192,192,192,192,192,192,192,192, + 7,30,30,10,2,251,2,12,24,24,48,48,96,96,96,96, + 192,192,192,192,192,192,192,192,192,192,224,96,96,96,112,48, + 56,24,12,2,7,30,30,10,1,251,128,96,48,56,24,28, + 12,12,12,14,6,6,6,6,6,6,6,6,6,6,12,12, + 12,12,24,24,48,48,96,128,12,13,26,14,1,11,6,0, + 6,0,134,0,102,48,242,240,27,128,6,0,27,128,114,240, + 230,48,6,32,6,0,6,0,12,11,22,13,1,3,6,0, + 6,0,6,0,6,0,6,0,255,240,6,0,6,0,6,0, + 6,0,6,0,4,8,8,7,2,251,112,240,48,48,48,32, + 64,192,9,1,2,11,1,8,255,128,4,4,4,7,2,0, + 112,240,240,224,13,30,60,15,1,251,0,24,0,56,0,48, + 0,48,0,112,0,96,0,96,0,224,0,192,1,192,1,128, + 1,128,3,128,3,0,7,0,6,0,6,0,14,0,12,0, + 12,0,28,0,24,0,56,0,48,0,48,0,112,0,96,0, + 96,0,224,0,192,0,13,19,38,15,1,0,7,128,24,192, + 32,96,96,48,64,48,64,56,192,24,192,24,192,24,192,24, + 192,24,192,24,192,24,192,16,96,16,96,48,48,32,24,64, + 15,128,11,19,38,15,2,0,2,0,30,0,126,0,134,0, + 6,0,6,0,6,0,6,0,6,0,6,0,6,0,6,0, + 6,0,6,0,6,0,6,0,6,0,15,0,127,224,11,19, + 38,15,2,0,15,128,48,192,96,96,96,96,96,96,0,96, + 0,96,0,192,0,192,1,128,3,0,7,0,6,0,12,0, + 24,0,48,32,112,32,224,32,255,224,11,19,38,15,2,0, + 31,0,113,128,96,192,224,192,0,192,0,192,1,128,3,0, + 15,0,3,192,0,192,0,224,0,96,0,96,0,96,0,96, + 128,192,193,128,127,0,12,19,38,15,1,0,0,64,1,192, + 3,192,3,192,6,192,12,192,12,192,24,192,48,192,48,192, + 96,192,224,192,255,240,0,192,0,192,0,192,0,192,0,192, + 7,240,11,19,38,15,2,0,63,224,32,0,32,0,96,0, + 96,0,96,0,96,0,127,0,97,192,0,192,0,96,0,96, + 0,96,0,96,0,96,0,64,128,192,193,128,63,0,12,20, + 40,15,2,0,0,192,7,0,14,0,24,0,48,0,112,0, + 96,0,96,0,207,128,240,224,224,96,192,112,192,48,192,48, + 192,48,96,48,96,32,32,96,48,64,15,128,12,19,38,15, + 2,0,255,240,128,96,128,96,0,224,0,192,0,192,1,128, + 1,128,3,0,3,0,7,0,6,0,6,0,12,0,12,0, + 28,0,24,0,56,0,48,0,12,19,38,15,2,0,31,128, + 48,192,96,96,224,96,224,96,224,96,248,192,127,128,31,128, + 31,192,49,224,96,112,192,112,192,48,192,48,192,32,96,32, + 112,64,31,128,12,20,40,15,2,255,15,128,49,192,32,224, + 64,96,192,112,192,48,192,48,192,48,192,48,96,112,48,176, + 31,48,0,96,0,96,0,96,0,192,1,128,7,0,30,0, + 48,0,4,15,15,7,2,0,112,240,240,96,0,0,0,0, + 0,0,0,112,240,240,224,4,20,20,7,2,251,112,240,240, + 96,0,0,0,0,0,0,0,0,112,240,48,48,48,32,64, + 192,12,10,20,14,1,4,0,48,0,240,7,192,62,0,248, + 0,240,0,126,0,15,128,1,240,0,112,12,6,12,14,1, + 6,255,240,0,0,0,0,0,0,0,0,255,240,12,10,20, + 14,1,4,96,0,248,0,31,0,7,224,0,240,1,240,7, + 192,62,0,240,0,192,0,10,23,46,14,2,0,31,0,99, + 128,65,192,192,192,192,192,128,192,0,192,1,128,1,128,3, + 0,3,0,6,0,14,0,12,0,12,0,12,0,12,0,0, + 0,0,0,14,0,30,0,30,0,28,0,24,25,75,26,1, + 251,0,63,128,1,192,224,2,0,56,12,0,28,24,0,12, + 16,60,142,32,67,134,96,129,135,65,129,131,193,1,131,195, + 1,131,195,1,131,195,1,131,195,1,131,195,1,131,195,1, + 130,225,129,134,97,131,132,112,197,200,48,120,240,56,0,0, + 28,0,4,15,0,28,3,192,112,0,127,128,19,20,60,19, + 0,0,0,64,0,0,224,0,0,224,0,1,224,0,1,240, + 0,1,176,0,3,48,0,3,56,0,3,24,0,6,28,0, + 6,28,0,6,12,0,15,254,0,12,6,0,8,6,0,24, + 7,0,24,3,0,16,3,0,48,3,128,254,15,224,14,20, + 40,17,1,0,63,192,240,112,48,56,48,24,48,24,48,24, + 48,24,48,48,48,224,63,224,48,112,48,56,48,28,48,12, + 48,12,48,12,48,12,48,24,48,48,255,192,14,20,40,17, + 1,0,3,248,12,28,16,8,48,0,96,0,96,0,64,0, + 192,0,192,0,192,0,192,0,192,0,192,0,192,0,96,0, + 96,0,112,0,56,4,28,24,7,224,17,20,60,19,1,0, + 63,224,0,240,56,0,48,12,0,48,6,0,48,3,0,48, + 3,0,48,3,128,48,1,128,48,1,128,48,1,128,48,1, + 128,48,1,128,48,1,128,48,3,0,48,3,0,48,3,0, + 48,6,0,48,12,0,48,56,0,255,224,0,13,20,40,16, + 1,0,255,240,48,16,48,16,48,16,48,0,48,0,48,0, + 48,0,48,0,63,224,48,64,48,0,48,0,48,0,48,0, + 48,0,48,8,48,8,48,24,255,248,12,20,40,15,1,0, + 255,240,48,16,48,16,48,16,48,0,48,0,48,0,48,0, + 48,0,63,192,48,128,48,0,48,0,48,0,48,0,48,0, + 48,0,48,0,48,0,254,0,18,20,60,19,1,0,1,254, + 0,6,15,0,8,0,0,16,0,0,32,0,0,96,0,0, + 64,0,0,192,0,0,192,0,0,192,0,0,192,0,0,192, + 31,192,192,7,0,192,3,0,96,3,0,96,3,0,48,3, + 0,24,3,0,12,3,0,3,252,0,19,20,60,21,1,0, + 252,7,224,48,1,128,48,1,128,48,1,128,48,1,128,48, + 1,128,48,1,128,48,1,128,48,1,128,63,255,128,48,1, + 128,48,1,128,48,1,128,48,1,128,48,1,128,48,1,128, + 48,1,128,48,1,128,48,1,128,252,7,224,6,20,20,10, + 2,0,252,48,48,48,48,48,48,48,48,48,48,48,48,48, + 48,48,48,48,48,252,11,25,50,10,253,251,15,224,1,128, + 1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128, + 1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128, + 1,128,1,128,1,0,1,0,3,0,98,0,252,0,17,20, + 60,19,1,0,252,127,0,48,24,0,48,48,0,48,96,0, + 48,224,0,49,192,0,49,128,0,51,0,0,54,0,0,62, + 0,0,54,0,0,55,0,0,51,128,0,49,192,0,48,224, + 0,48,112,0,48,120,0,48,60,0,48,30,0,252,15,128, + 13,20,40,15,1,0,252,0,48,0,48,0,48,0,48,0, + 48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0, + 48,0,48,0,48,0,48,8,48,8,48,24,255,248,24,20, + 60,26,1,0,248,0,62,60,0,56,60,0,120,62,0,120, + 54,0,216,54,0,216,55,0,152,51,1,152,51,129,152,49, + 131,24,49,195,24,49,198,24,48,198,24,48,230,24,48,108, + 24,48,124,24,48,56,24,48,56,24,48,56,24,252,16,255, + 19,20,60,21,1,0,240,7,224,56,1,128,60,1,128,60, + 1,128,62,1,128,55,1,128,51,129,128,51,129,128,49,193, + 128,48,225,128,48,97,128,48,113,128,48,57,128,48,29,128, + 48,13,128,48,15,128,48,7,128,48,3,128,48,3,128,252, + 1,128,17,20,60,19,1,0,3,240,0,12,24,0,16,12, + 0,48,6,0,32,3,0,96,3,0,64,3,128,192,1,128, + 192,1,128,192,1,128,192,1,128,192,1,128,192,1,128,224, + 1,0,96,3,0,96,2,0,48,6,0,56,4,0,12,24, + 0,7,224,0,15,20,40,17,1,0,63,224,240,56,48,28, + 48,14,48,6,48,6,48,6,48,6,48,12,48,12,52,56, + 51,224,48,0,48,0,48,0,48,0,48,0,48,0,48,0, + 254,0,19,25,75,19,1,251,3,240,0,12,24,0,16,12, + 0,48,6,0,32,3,0,96,3,0,64,3,128,192,1,128, + 192,1,128,192,1,128,192,1,128,192,1,128,192,1,128,224, + 1,0,96,3,0,96,3,0,48,6,0,24,4,0,12,24, + 0,7,240,0,0,112,0,0,24,0,0,14,32,0,7,192, + 0,1,128,18,20,60,18,1,0,63,192,0,240,112,0,48, + 24,0,48,12,0,48,12,0,48,12,0,48,12,0,48,24, + 0,48,112,0,63,224,0,63,192,0,49,192,0,48,224,0, + 48,112,0,48,112,0,48,56,0,48,60,0,48,28,0,48, + 15,0,252,15,192,12,20,40,15,2,0,15,224,48,224,64, + 64,192,0,192,0,224,0,248,0,126,0,127,0,31,192,7, + 224,1,240,0,240,0,112,0,48,0,48,128,32,192,96,224, + 192,127,0,16,20,40,18,1,0,255,255,129,131,129,129,129, + 129,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1, + 128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,15, + 240,19,20,60,21,1,0,252,7,224,48,1,128,48,1,128, + 48,1,128,48,1,128,48,1,128,48,1,128,48,1,128,48, + 1,128,48,1,128,48,1,128,48,1,128,48,1,128,48,1, + 128,48,1,128,48,1,0,24,3,0,28,6,0,14,12,0, + 3,240,0,20,20,60,21,0,0,254,3,240,56,0,192,24, + 0,128,28,1,128,12,1,128,14,3,0,14,3,0,6,3, + 0,7,6,0,7,6,0,3,6,0,3,140,0,1,140,0, + 1,204,0,1,216,0,0,216,0,0,248,0,0,240,0,0, + 112,0,0,96,0,27,20,80,27,0,0,254,4,15,224,56, + 4,3,0,24,14,3,0,24,14,3,0,28,15,3,0,28, + 27,2,0,12,27,6,0,12,27,134,0,12,49,134,0,14, + 49,134,0,14,49,196,0,6,96,204,0,6,96,204,0,7, + 96,236,0,7,192,108,0,3,192,120,0,3,192,120,0,3, + 128,56,0,3,128,56,0,3,0,48,0,19,20,60,20,0, + 0,127,31,192,60,7,0,28,6,0,14,6,0,7,12,0, + 7,28,0,3,152,0,1,240,0,1,240,0,0,224,0,0, + 240,0,1,240,0,1,184,0,3,28,0,7,12,0,6,14, + 0,12,7,0,28,3,128,56,3,192,255,15,224,18,20,60, + 19,0,0,240,31,192,56,7,0,28,6,0,12,12,0,14, + 12,0,7,24,0,7,24,0,3,48,0,3,176,0,1,224, + 0,1,224,0,0,192,0,0,192,0,0,192,0,0,192,0, + 0,192,0,0,192,0,0,192,0,0,192,0,7,248,0,14, + 20,40,17,1,0,127,252,96,28,64,56,64,120,0,112,0, + 224,0,224,1,192,3,192,3,128,7,0,7,0,14,0,30, + 0,28,0,56,0,56,4,112,4,240,12,255,252,7,30,30, + 10,2,251,254,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 254,13,30,60,15,1,251,192,0,192,0,96,0,96,0,112, + 0,48,0,48,0,24,0,24,0,28,0,12,0,12,0,14, + 0,6,0,6,0,3,0,3,0,3,128,1,128,1,128,0, + 192,0,192,0,192,0,96,0,96,0,112,0,48,0,48,0, + 24,0,24,7,30,30,10,1,251,254,6,6,6,6,6,6, + 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, + 6,6,6,6,6,6,254,12,15,30,16,2,9,2,0,6, + 0,15,0,15,0,27,0,27,128,17,128,49,192,49,192,96, + 192,96,224,96,96,192,112,192,48,128,32,13,1,2,15,1, + 253,255,248,7,7,7,10,0,16,96,240,56,24,12,4,2, + 13,15,30,15,1,0,15,192,48,224,112,96,96,96,0,96, + 0,96,15,224,63,224,126,96,240,96,224,96,192,96,192,96, + 65,224,62,120,15,24,48,16,0,0,48,0,240,0,48,0, + 48,0,48,0,48,0,48,0,48,0,48,0,48,240,49,248, + 54,28,60,12,56,14,48,6,48,6,48,6,48,6,48,6, + 48,4,48,12,48,8,28,16,7,224,12,15,30,14,1,0, + 7,224,24,96,32,32,96,0,64,0,192,0,192,0,192,0, + 192,0,192,0,192,0,96,0,112,32,56,112,31,128,15,24, + 48,17,1,0,0,24,0,120,0,24,0,24,0,24,0,24, + 0,24,0,24,0,24,7,248,24,56,32,24,96,24,64,24, + 192,24,192,24,192,24,192,24,192,24,192,24,96,24,112,56, + 56,222,15,24,13,15,30,15,1,0,7,192,24,96,32,48, + 96,24,64,24,192,24,255,240,192,0,192,0,192,0,224,0, + 96,0,112,8,56,48,15,192,11,24,48,10,1,0,3,224, + 4,192,24,0,16,0,48,0,48,0,48,0,48,0,48,0, + 255,0,50,0,48,0,48,0,48,0,48,0,48,0,48,0, + 48,0,48,0,48,0,48,0,48,0,48,0,254,0,15,23, + 46,16,1,248,7,134,24,252,32,96,96,48,96,48,96,48, + 96,48,112,96,56,64,31,128,8,0,16,0,60,0,63,224, + 15,248,63,252,112,124,224,12,192,12,192,8,96,16,112,32, + 31,192,16,24,48,18,1,0,16,0,240,0,48,0,48,0, + 48,0,48,0,48,0,48,0,48,0,48,112,49,136,54,12, + 56,12,56,12,48,12,48,12,48,12,48,12,48,12,48,12, + 48,12,48,12,48,12,252,63,6,21,21,9,1,0,48,112, + 112,96,0,0,48,240,48,48,48,48,48,48,48,48,48,48, + 48,48,252,9,29,58,8,252,248,1,128,3,128,3,128,3, + 0,0,0,0,0,1,128,7,128,1,128,1,128,1,128,1, + 128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1, + 128,1,128,1,128,1,128,1,128,1,0,3,0,2,0,124, + 0,248,0,15,24,48,16,1,0,16,0,240,0,48,0,48, + 0,48,0,48,0,48,0,48,0,48,0,48,252,48,112,48, + 224,49,128,51,0,54,0,62,0,54,0,55,0,51,128,49, + 192,48,224,48,112,48,120,252,62,6,24,24,9,1,0,16, + 240,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48, + 48,48,48,48,48,48,252,24,15,45,26,1,0,240,240,120, + 51,25,140,52,26,12,56,28,12,56,28,12,48,24,12,48, + 24,12,48,24,12,48,24,12,48,24,12,48,24,12,48,24, + 12,48,24,12,48,24,12,252,126,63,16,15,30,18,1,0, + 112,112,177,136,54,12,56,12,56,12,48,12,48,12,48,12, + 48,12,48,12,48,12,48,12,48,12,48,12,252,63,14,15, + 30,16,1,0,7,192,24,112,32,56,96,24,64,28,192,12, + 192,12,192,12,192,12,192,12,224,8,96,24,112,16,56,32, + 15,192,15,23,46,17,1,248,112,240,179,24,52,28,56,12, + 48,14,48,6,48,6,48,6,48,6,48,6,48,4,48,12, + 48,8,60,16,55,224,48,0,48,0,48,0,48,0,48,0, + 48,0,48,0,254,0,14,23,46,16,1,248,7,144,24,112, + 32,48,96,48,64,48,192,48,192,48,192,48,192,48,192,48, + 192,48,96,48,96,112,48,176,31,48,0,48,0,48,0,48, + 0,48,0,48,0,48,0,48,1,252,11,15,30,13,1,0, + 49,224,243,224,52,64,56,64,56,0,48,0,48,0,48,0, + 48,0,48,0,48,0,48,0,48,0,48,0,254,0,9,15, + 30,12,2,0,63,0,67,0,193,0,192,0,224,0,248,0, + 126,0,63,0,15,128,3,128,1,128,129,128,129,0,195,0, + 252,0,10,20,40,11,1,0,16,0,48,0,48,0,48,0, + 48,0,255,192,49,0,48,0,48,0,48,0,48,0,48,0, + 48,0,48,0,48,0,48,0,48,0,48,0,48,128,31,64, + 15,15,30,17,1,0,48,24,240,120,48,24,48,24,48,24, + 48,24,48,24,48,24,48,24,48,24,48,24,48,24,48,56, + 24,222,15,24,15,15,30,16,0,0,252,62,56,12,56,8, + 24,24,28,24,12,16,12,48,14,48,6,32,7,96,7,64, + 3,64,3,192,1,128,1,0,22,15,45,23,0,0,252,16, + 124,48,24,24,56,56,16,24,56,48,24,60,48,28,108,48, + 12,110,32,12,78,96,12,198,96,14,199,64,6,131,64,7, + 131,192,7,131,192,3,1,128,2,1,0,16,15,30,16,0, + 0,254,63,60,28,28,16,14,48,6,96,7,192,3,192,1, + 192,3,192,6,224,12,112,12,56,24,24,56,28,252,63,16, + 23,46,16,255,248,126,31,28,6,28,4,12,12,14,12,14, + 8,6,24,7,24,3,16,3,48,3,176,1,160,1,224,1, + 224,0,192,0,192,0,128,1,128,1,128,3,0,126,0,124, + 0,248,0,12,15,30,14,1,0,127,240,64,96,64,224,1, + 192,1,128,3,128,7,0,6,0,14,0,28,0,28,0,56, + 16,112,16,112,48,255,240,8,30,30,11,2,251,3,6,12, + 8,24,24,24,24,28,12,12,12,12,24,48,248,28,12,12, + 12,12,28,24,24,24,24,24,12,6,3,2,32,32,7,3, + 250,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,8,30,30,11,1,251,192,96,48,24,24,24,24,24,56, + 48,48,48,48,56,31,12,24,48,48,48,48,56,24,24,24, + 24,16,48,96,192,14,6,12,16,1,7,28,8,62,12,127, + 136,71,240,131,240,128,224,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,255,255,255,255,255,255,255,0,0,0,7,0,0,4,24, + 24,9,2,247,112,240,240,224,0,0,32,96,96,96,96,96, + 96,96,96,96,112,112,112,112,112,112,112,64,12,20,40,15, + 2,255,6,0,6,0,6,0,15,224,54,224,102,96,102,0, + 198,0,198,0,198,0,198,0,198,0,198,0,230,32,118,48, + 63,192,31,128,6,0,6,0,6,0,13,19,38,15,1,0, + 7,224,8,112,16,48,16,32,48,32,48,0,48,0,48,0, + 48,0,255,0,48,0,48,0,48,0,48,0,48,8,32,24, + 96,48,127,240,131,240,11,10,20,15,2,4,192,96,127,192, + 49,192,96,192,96,192,96,192,113,192,63,128,64,64,128,32, + 16,19,38,15,255,0,240,63,56,28,28,24,28,56,14,48, + 6,112,7,96,3,192,3,192,1,128,1,128,63,252,1,128, + 1,128,1,128,1,128,1,128,1,128,15,240,2,32,32,7, + 3,250,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 128,0,0,64,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,11,22,44,15,2,0,31,128,49,192,96,128,96,0, + 112,0,120,0,62,0,111,128,199,192,193,224,192,224,224,96, + 240,96,124,96,63,192,15,128,3,192,1,192,64,192,64,192, + 96,128,63,0,9,4,8,13,2,17,97,128,227,128,227,128, + 195,0,21,20,60,24,1,0,1,252,0,6,3,0,24,0, + 192,48,0,96,48,124,96,97,134,48,99,0,48,194,0,24, + 198,0,24,198,0,24,198,0,24,198,0,24,199,0,24,99, + 0,48,97,198,48,48,248,96,48,0,96,24,0,192,6,3, + 0,1,252,0,7,10,10,8,1,9,56,204,140,28,108,204, + 220,238,0,254,12,14,28,16,1,0,6,16,4,48,8,96, + 24,96,48,192,113,192,227,128,227,128,113,192,48,192,24,96, + 8,96,4,48,6,16,13,6,12,15,1,3,255,248,0,24, + 0,24,0,24,0,24,0,24,9,1,2,11,1,8,255,128, + 10,11,22,11,1,11,30,0,97,0,126,128,147,64,151,64, + 156,64,148,64,146,64,105,128,33,0,30,0,10,1,2,16, + 3,19,255,192,7,7,7,11,2,12,60,110,198,198,198,236, + 120,12,14,28,13,1,2,6,0,6,0,6,0,6,0,6, + 0,255,240,6,0,6,0,6,0,6,0,4,0,0,0,0, + 0,255,224,8,11,11,10,1,10,62,99,195,3,6,6,12, + 24,50,97,255,9,12,24,11,0,9,31,0,51,128,97,128, + 1,128,3,0,15,0,1,128,1,128,1,128,1,128,195,0, + 62,0,7,7,7,10,3,16,12,30,24,48,48,96,192,15, + 23,46,17,1,248,48,8,240,56,48,24,48,24,48,24,48, + 24,48,24,48,24,48,24,48,24,56,56,56,120,63,248,55, + 222,51,152,48,0,48,0,48,0,48,0,56,0,56,0,56, + 0,48,0,15,24,48,18,1,252,15,254,48,252,96,216,64, + 216,192,216,192,216,192,216,192,216,224,216,112,216,56,216,15, + 216,0,216,0,216,0,216,0,216,0,216,0,216,0,216,0, + 216,0,216,0,216,0,216,3,254,3,4,4,5,1,9,96, + 224,224,192,5,7,7,7,1,249,48,32,48,120,24,48,224, + 8,11,11,11,2,10,24,248,24,24,24,24,24,24,24,24, + 255,7,10,10,9,1,9,56,108,198,198,198,198,108,56,0, + 254,12,14,28,16,2,0,130,0,65,0,97,128,48,192,56, + 224,28,96,12,112,28,112,30,96,56,224,48,192,97,128,65, + 0,130,0,16,19,38,19,2,0,48,6,240,14,48,12,48, + 24,48,56,48,48,48,96,48,224,48,192,205,130,1,142,3, + 30,6,22,6,38,12,70,24,127,24,134,48,6,96,31,15, + 19,38,18,2,0,48,6,240,12,48,8,48,24,48,48,48, + 48,48,96,48,192,48,192,205,128,1,28,3,102,6,70,4, + 6,12,12,24,24,24,48,48,98,96,254,17,19,57,19,1, + 0,60,3,0,70,6,0,6,4,0,28,12,0,6,24,0, + 6,16,0,6,48,0,142,96,0,120,96,0,0,193,0,1, + 135,0,1,143,0,3,11,0,2,19,0,6,35,0,12,63, + 128,12,67,0,24,3,0,48,15,128,10,24,48,13,2,247, + 14,0,30,0,30,0,28,0,0,0,0,0,0,0,12,0, + 12,0,12,0,12,0,28,0,24,0,48,0,48,0,96,0, + 96,0,192,0,192,64,192,192,192,192,224,128,97,128,62,0, + 19,27,81,19,0,0,6,0,0,15,0,0,7,128,0,1, + 192,0,0,96,0,0,16,0,0,0,0,0,64,0,0,224, + 0,0,224,0,1,224,0,1,240,0,1,176,0,3,48,0, + 3,56,0,3,24,0,6,28,0,6,28,0,6,12,0,15, + 254,0,12,6,0,8,6,0,24,7,0,24,3,0,16,3, + 0,48,3,128,254,15,224,19,27,81,19,0,0,0,8,0, + 0,30,0,0,60,0,0,112,0,1,192,0,1,0,0,0, + 0,0,0,64,0,0,224,0,0,224,0,1,224,0,1,240, + 0,1,176,0,3,48,0,3,56,0,3,24,0,6,28,0, + 6,28,0,6,12,0,15,254,0,12,6,0,8,6,0,24, + 7,0,24,3,0,16,3,0,48,3,128,254,15,224,19,27, + 81,19,0,0,0,224,0,1,224,0,1,240,0,3,56,0, + 6,12,0,12,4,0,0,0,0,0,64,0,0,224,0,0, + 224,0,1,224,0,1,240,0,1,176,0,3,48,0,3,56, + 0,3,24,0,6,28,0,6,28,0,6,12,0,15,254,0, + 12,6,0,8,6,0,24,7,0,24,3,0,16,3,0,48, + 3,128,254,15,224,19,26,78,19,0,0,3,132,0,7,230, + 0,4,252,0,8,56,0,0,0,0,0,0,0,0,64,0, + 0,224,0,0,224,0,1,224,0,1,240,0,1,176,0,3, + 48,0,3,56,0,3,24,0,6,28,0,6,28,0,6,12, + 0,15,254,0,12,6,0,8,6,0,24,7,0,24,3,0, + 16,3,0,48,3,128,254,15,224,19,25,75,19,0,0,6, + 12,0,6,12,0,14,28,0,6,12,0,0,0,0,0,64, + 0,0,224,0,0,224,0,1,224,0,1,240,0,1,176,0, + 3,48,0,3,56,0,3,24,0,6,28,0,6,28,0,6, + 12,0,15,254,0,12,6,0,8,6,0,24,7,0,24,3, + 0,16,3,0,48,3,128,254,15,224,19,27,81,19,0,0, + 0,224,0,1,176,0,1,48,0,3,48,0,1,176,0,1, + 224,0,0,0,0,0,64,0,0,224,0,0,224,0,1,224, + 0,1,240,0,1,176,0,3,48,0,3,56,0,3,24,0, + 6,28,0,6,28,0,6,12,0,15,254,0,12,6,0,8, + 6,0,24,7,0,24,3,0,16,3,0,48,3,128,254,15, + 224,23,20,60,25,0,0,3,255,252,0,124,4,0,108,4, + 0,236,4,0,204,0,1,204,0,1,140,0,1,140,0,3, + 140,0,3,255,248,7,12,16,6,12,0,6,12,0,12,12, + 0,12,12,0,28,12,0,24,12,2,24,12,2,48,12,6, + 252,63,254,15,27,54,17,1,249,3,248,12,28,16,8,48, + 0,96,0,96,0,64,0,192,0,192,0,192,0,192,0,192, + 0,192,0,224,0,96,0,112,0,120,2,60,12,31,248,15, + 240,0,128,0,128,1,224,0,224,0,96,0,192,3,0,13, + 27,54,16,1,0,16,0,56,0,28,0,15,0,3,128,0, + 192,0,0,255,240,48,16,48,16,48,16,48,0,48,0,48, + 0,48,0,48,0,63,224,48,64,48,0,48,0,48,0,48, + 0,48,0,48,8,48,8,48,24,255,248,13,27,54,16,1, + 0,0,32,0,240,1,224,3,128,7,0,12,0,0,0,255, + 240,48,16,48,16,48,16,48,0,48,0,48,0,48,0,48, + 0,63,224,48,64,48,0,48,0,48,0,48,0,48,0,48, + 8,48,8,48,24,255,248,13,27,54,16,1,0,3,0,7, + 128,15,192,28,192,56,96,32,48,0,0,255,240,48,16,48, + 16,48,16,48,0,48,0,48,0,48,0,48,0,63,224,48, + 64,48,0,48,0,48,0,48,0,48,0,48,8,48,8,48, + 24,255,248,13,25,50,16,1,0,24,48,56,112,56,112,48, + 96,0,0,255,240,48,16,48,16,48,16,48,0,48,0,48, + 0,48,0,48,0,63,224,48,64,48,0,48,0,48,0,48, + 0,48,0,48,8,48,8,48,24,255,248,9,27,54,10,255, + 0,96,0,240,0,120,0,28,0,7,0,1,0,0,0,31, + 128,6,0,6,0,6,0,6,0,6,0,6,0,6,0,6, + 0,6,0,6,0,6,0,6,0,6,0,6,0,6,0,6, + 0,6,0,6,0,31,128,8,27,27,10,2,0,6,15,30, + 56,96,128,0,252,48,48,48,48,48,48,48,48,48,48,48, + 48,48,48,48,48,48,48,252,10,27,54,10,0,0,28,0, + 30,0,62,0,115,0,193,128,128,192,0,0,63,0,12,0, + 12,0,12,0,12,0,12,0,12,0,12,0,12,0,12,0, + 12,0,12,0,12,0,12,0,12,0,12,0,12,0,12,0, + 12,0,63,0,10,25,50,10,0,0,193,128,225,192,225,192, + 193,128,0,0,63,0,12,0,12,0,12,0,12,0,12,0, + 12,0,12,0,12,0,12,0,12,0,12,0,12,0,12,0, + 12,0,12,0,12,0,12,0,12,0,63,0,18,20,60,19, + 0,0,31,240,0,120,28,0,24,6,0,24,3,0,24,1, + 128,24,1,128,24,1,192,24,0,192,24,0,192,255,128,192, + 24,0,192,24,0,192,24,0,192,24,1,128,24,1,128,24, + 1,128,24,3,0,24,6,0,24,28,0,127,240,0,19,26, + 78,21,1,0,3,132,0,7,230,0,4,124,0,8,56,0, + 0,0,0,0,0,0,240,7,224,56,1,128,60,1,128,60, + 1,128,62,1,128,55,1,128,51,129,128,51,129,128,49,193, + 128,48,225,128,48,97,128,48,113,128,48,57,128,48,29,128, + 48,13,128,48,15,128,48,7,128,48,3,128,48,3,128,252, + 1,128,17,27,81,19,1,0,12,0,0,30,0,0,15,0, + 0,3,128,0,0,224,0,0,32,0,0,0,0,3,240,0, + 12,24,0,16,12,0,48,6,0,32,3,0,96,3,0,64, + 3,128,192,1,128,192,1,128,192,1,128,192,1,128,192,1, + 128,192,1,128,224,1,0,96,3,0,96,2,0,48,6,0, + 56,4,0,12,24,0,7,224,0,17,27,81,19,1,0,0, + 24,0,0,60,0,0,120,0,0,224,0,1,128,0,2,0, + 0,0,0,0,3,240,0,12,24,0,16,12,0,48,6,0, + 32,3,0,96,3,0,64,3,128,192,1,128,192,1,128,192, + 1,128,192,1,128,192,1,128,192,1,128,224,1,0,96,3, + 0,96,2,0,48,6,0,56,4,0,12,24,0,7,224,0, + 17,27,81,19,1,0,1,192,0,1,224,0,3,224,0,7, + 48,0,12,24,0,8,12,0,0,0,0,3,240,0,12,24, + 0,16,12,0,48,6,0,32,3,0,96,3,0,64,3,128, + 192,1,128,192,1,128,192,1,128,192,1,128,192,1,128,192, + 1,128,224,1,0,96,3,0,96,2,0,48,6,0,56,4, + 0,12,24,0,7,224,0,17,26,78,19,1,0,3,4,0, + 7,204,0,8,248,0,16,112,0,0,0,0,0,0,0,3, + 240,0,12,24,0,16,12,0,48,6,0,32,3,0,96,3, + 0,64,3,128,192,1,128,192,1,128,192,1,128,192,1,128, + 192,1,128,192,1,128,224,1,0,96,3,0,96,2,0,48, + 6,0,56,4,0,12,24,0,7,224,0,17,25,75,19,1, + 0,12,24,0,14,28,0,14,28,0,12,24,0,0,0,0, + 3,240,0,12,24,0,16,12,0,48,6,0,32,3,0,96, + 3,0,64,3,128,192,1,128,192,1,128,192,1,128,192,1, + 128,192,1,128,192,1,128,224,1,0,96,3,0,96,2,0, + 48,6,0,56,4,0,12,24,0,7,224,0,11,10,20,13, + 1,4,192,96,96,192,49,128,27,0,14,0,14,0,27,0, + 49,128,96,192,192,96,17,21,63,19,1,255,3,241,128,4, + 31,0,24,14,0,48,30,0,32,31,0,96,63,0,64,59, + 128,192,115,128,192,225,128,192,225,128,193,193,128,195,129,128, + 195,1,128,231,1,0,110,3,0,124,2,0,124,6,0,56, + 4,0,124,24,0,199,224,0,128,0,0,19,27,81,21,1, + 0,6,0,0,15,0,0,7,128,0,1,192,0,0,96,0, + 0,16,0,0,0,0,252,7,224,48,1,128,48,1,128,48, + 1,128,48,1,128,48,1,128,48,1,128,48,1,128,48,1, + 128,48,1,128,48,1,128,48,1,128,48,1,128,48,1,128, + 48,1,128,48,1,0,24,3,0,28,6,0,14,12,0,3, + 240,0,19,27,81,21,1,0,0,12,0,0,30,0,0,60, + 0,0,112,0,0,192,0,1,0,0,0,0,0,252,7,224, + 48,1,128,48,1,128,48,1,128,48,1,128,48,1,128,48, + 1,128,48,1,128,48,1,128,48,1,128,48,1,128,48,1, + 128,48,1,128,48,1,128,48,1,128,48,1,0,24,3,0, + 28,6,0,14,12,0,3,240,0,19,27,81,21,1,0,0, + 224,0,0,240,0,1,240,0,3,152,0,6,12,0,4,6, + 0,0,0,0,252,7,224,48,1,128,48,1,128,48,1,128, + 48,1,128,48,1,128,48,1,128,48,1,128,48,1,128,48, + 1,128,48,1,128,48,1,128,48,1,128,48,1,128,48,1, + 128,48,1,0,24,3,0,28,6,0,14,12,0,3,240,0, + 19,25,75,21,1,0,6,12,0,7,14,0,7,14,0,6, + 12,0,0,0,0,252,7,224,48,1,128,48,1,128,48,1, + 128,48,1,128,48,1,128,48,1,128,48,1,128,48,1,128, + 48,1,128,48,1,128,48,1,128,48,1,128,48,1,128,48, + 1,128,48,1,0,24,3,0,28,6,0,14,12,0,3,240, + 0,18,27,81,19,0,0,0,12,0,0,30,0,0,60,0, + 0,112,0,0,192,0,1,0,0,0,0,0,240,31,192,56, + 7,0,28,6,0,12,12,0,14,12,0,7,24,0,7,24, + 0,3,48,0,3,176,0,1,224,0,1,224,0,0,192,0, + 0,192,0,0,192,0,0,192,0,0,192,0,0,192,0,0, + 192,0,0,192,0,7,248,0,15,20,40,17,1,0,254,0, + 48,0,48,0,48,0,63,224,48,120,48,28,48,14,48,6, + 48,6,48,6,48,6,48,12,48,12,52,56,51,224,48,0, + 48,0,48,0,254,0,16,24,48,18,1,0,1,224,6,56, + 8,24,16,28,16,12,48,12,48,12,48,28,48,56,48,240, + 49,192,49,128,49,128,49,192,48,240,48,124,48,62,48,15, + 48,7,48,3,49,3,49,3,49,134,241,248,13,23,46,15, + 1,0,56,0,56,0,28,0,14,0,6,0,3,0,1,0, + 0,0,15,192,48,224,112,96,96,96,0,96,0,96,15,224, + 63,224,126,96,240,96,224,96,192,96,192,96,65,224,62,120, + 13,23,46,15,1,0,0,224,0,224,1,192,1,128,3,0, + 2,0,4,0,0,0,15,192,48,224,112,96,96,96,0,96, + 0,96,15,224,63,224,126,96,240,96,224,96,192,96,192,96, + 65,224,62,120,13,23,46,15,1,0,7,0,7,0,15,128, + 29,192,24,192,48,96,32,32,0,0,15,192,48,224,112,96, + 96,96,0,96,0,96,15,224,63,224,126,96,240,96,224,96, + 192,96,192,96,65,224,62,120,13,21,42,15,1,0,28,16, + 63,32,35,192,64,0,0,0,0,0,15,192,48,224,112,96, + 96,96,0,96,0,96,15,224,63,224,126,96,240,96,224,96, + 192,96,192,96,65,224,62,120,13,21,42,15,1,0,48,96, + 56,112,48,96,48,96,0,0,0,0,15,192,48,224,112,96, + 96,96,0,96,0,96,15,224,63,224,126,96,240,96,224,96, + 192,96,192,96,65,224,62,120,13,22,44,15,1,0,7,128, + 13,128,12,192,12,128,13,128,15,0,0,0,15,192,48,224, + 112,96,96,96,0,96,0,96,15,224,63,224,126,96,240,96, + 224,96,192,96,192,96,65,224,62,120,19,15,45,22,2,0, + 31,143,0,113,176,192,96,224,192,224,224,96,128,192,96,0, + 192,96,7,255,192,28,192,0,112,192,0,96,192,0,192,192, + 0,192,224,0,193,96,64,194,112,224,124,31,0,12,22,44, + 14,1,249,7,224,24,96,32,32,96,0,64,0,192,0,192, + 0,192,0,192,0,192,0,224,0,112,16,120,96,63,192,31, + 128,2,0,2,0,7,128,3,128,1,128,3,0,12,0,13, + 23,46,15,1,0,24,0,60,0,12,0,6,0,3,0,1, + 0,1,128,0,0,7,192,24,96,32,48,96,24,64,24,192, + 24,255,240,192,0,192,0,192,0,224,0,96,0,112,8,56, + 48,15,192,13,23,46,15,1,0,0,96,0,240,0,192,1, + 128,1,128,3,0,6,0,0,0,7,192,24,96,32,48,96, + 24,64,24,192,24,255,240,192,0,192,0,192,0,224,0,96, + 0,112,8,56,48,15,192,13,23,46,15,1,0,3,0,7, + 128,15,128,12,192,24,96,16,32,32,16,0,0,7,192,24, + 96,32,48,96,24,64,24,192,24,255,240,192,0,192,0,192, + 0,224,0,96,0,112,8,56,48,15,192,13,21,42,15,1, + 0,24,48,56,112,56,112,48,96,0,0,0,0,7,192,24, + 96,32,48,96,24,64,24,192,24,255,240,192,0,192,0,192, + 0,224,0,96,0,112,8,56,48,15,192,7,23,23,9,0, + 0,224,224,112,48,24,12,4,0,24,120,24,24,24,24,24, + 24,24,24,24,24,24,24,126,8,23,23,9,1,0,7,7, + 14,12,24,48,32,0,48,240,48,48,48,48,48,48,48,48, + 48,48,48,48,252,9,23,46,9,0,0,28,0,28,0,62, + 0,119,0,99,0,193,128,128,128,0,0,24,0,120,0,24, + 0,24,0,24,0,24,0,24,0,24,0,24,0,24,0,24, + 0,24,0,24,0,24,0,126,0,10,21,42,9,0,0,193, + 128,193,128,227,192,193,128,0,0,0,0,24,0,120,0,24, + 0,24,0,24,0,24,0,24,0,24,0,24,0,24,0,24, + 0,24,0,24,0,24,0,126,0,14,23,46,16,1,0,12, + 0,62,24,3,240,3,192,30,224,48,96,0,112,0,56,7, + 152,24,120,32,60,96,28,64,12,192,12,192,12,192,12,192, + 12,192,8,224,24,96,16,112,48,56,96,15,128,16,21,42, + 18,1,0,7,8,15,144,24,224,16,0,0,0,0,0,112, + 112,177,136,54,12,56,12,56,12,48,12,48,12,48,12,48, + 12,48,12,48,12,48,12,48,12,48,12,252,63,14,23,46, + 16,1,0,28,0,28,0,14,0,6,0,3,0,1,128,0, + 128,0,0,7,192,24,112,32,56,96,24,64,28,192,12,192, + 12,192,12,192,12,192,12,224,8,96,24,112,16,56,32,15, + 192,14,23,46,16,1,0,0,112,0,112,0,224,1,192,1, + 128,3,0,2,0,0,0,7,192,24,112,32,56,96,24,64, + 28,192,12,192,12,192,12,192,12,192,12,224,8,96,24,112, + 16,56,32,15,192,14,23,46,16,1,0,3,128,3,128,7, + 192,14,192,12,96,24,48,48,16,0,0,7,192,24,112,32, + 56,96,24,64,28,192,12,192,12,192,12,192,12,192,12,224, + 8,96,24,112,16,56,32,15,192,14,21,42,16,1,0,14, + 8,31,144,17,224,32,0,0,0,0,0,7,192,24,112,32, + 56,96,24,64,28,192,12,192,12,192,12,192,12,192,12,224, + 8,96,24,112,16,56,32,15,192,14,21,42,16,1,0,24, + 48,24,48,56,112,24,48,0,0,0,0,7,192,24,112,32, + 56,96,24,64,28,192,12,192,12,192,12,192,12,192,12,224, + 8,96,24,112,16,56,32,15,192,11,10,20,13,1,4,6, + 0,6,0,6,0,0,0,0,0,255,224,0,0,6,0,6, + 0,6,0,14,16,32,16,1,255,7,204,24,120,32,120,96, + 120,64,252,193,220,193,140,195,140,199,12,198,12,236,8,124, + 24,120,16,120,32,207,192,128,0,15,23,46,17,1,0,28, + 0,28,0,14,0,7,0,3,0,1,128,0,128,0,0,48, + 24,240,120,48,24,48,24,48,24,48,24,48,24,48,24,48, + 24,48,24,48,24,48,24,48,56,24,222,15,24,15,23,46, + 17,1,0,0,112,0,112,0,224,0,192,1,128,1,0,2, + 0,0,0,48,24,240,120,48,24,48,24,48,24,48,24,48, + 24,48,24,48,24,48,24,48,24,48,24,48,56,24,222,15, + 24,15,23,46,17,1,0,3,128,3,128,7,192,14,224,12, + 96,24,48,16,16,0,0,48,24,240,120,48,24,48,24,48, + 24,48,24,48,24,48,24,48,24,48,24,48,24,48,24,48, + 56,24,222,15,24,15,21,42,17,1,0,24,48,28,56,24, + 48,24,48,0,0,0,0,48,24,240,120,48,24,48,24,48, + 24,48,24,48,24,48,24,48,24,48,24,48,24,48,24,48, + 56,24,222,15,24,16,31,62,16,255,248,0,28,0,28,0, + 56,0,112,0,96,0,192,0,128,0,0,126,31,28,6,28, + 4,12,12,14,12,14,8,6,24,7,24,3,16,3,48,3, + 176,1,160,1,224,1,224,0,192,0,192,0,128,1,128,1, + 128,3,0,126,0,124,0,248,0,15,32,64,17,1,248,16, + 0,240,0,48,0,48,0,48,0,48,0,48,0,48,0,48, + 0,48,240,51,24,52,28,56,12,48,14,48,6,48,6,48, + 6,48,6,48,6,48,4,48,12,56,8,60,16,55,224,48, + 0,48,0,48,0,48,0,48,0,48,0,48,0,254,0,16, + 29,58,16,255,248,6,12,14,28,14,28,6,12,0,0,0, + 0,126,31,28,6,28,4,12,12,14,12,14,8,6,24,7, + 24,3,16,3,48,3,176,1,160,1,224,1,224,0,192,0, + 192,0,128,1,128,1,128,3,0,126,0,124,0,248,0}; +/* + Fontname: -FreeType-Gentium Basic-Medium-R-Normal--32-320-72-72-P-146-ISO10646-1 + Copyright: Copyright (c) SIL International, 2003-2008. + Capital A Height: 0, '1' Height: 19 + Calculated Max Values w=13 h=30 x= 2 y=11 dx=15 dy= 0 ascent=25 len=60 + Font Bounding box w=47 h=44 x=-16 y=-10 + Calculated Min Values x= 0 y=-5 dx= 0 dy= 0 + Pure Font ascent =19 descent= 0 + X Font ascent =19 descent= 0 + Max Font ascent =25 descent=-5 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_gdr20n[640] U8G_FONT_SECTION("u8g_font_gdr20n") = { + 0,47,44,240,246,19,0,0,0,0,42,58,0,25,251,19, + 0,12,13,26,14,1,11,6,0,6,0,134,0,102,48,242, + 240,27,128,6,0,27,128,114,240,230,48,6,32,6,0,6, + 0,12,11,22,13,1,3,6,0,6,0,6,0,6,0,6, + 0,255,240,6,0,6,0,6,0,6,0,6,0,4,8,8, + 7,2,251,112,240,48,48,48,32,64,192,9,1,2,11,1, + 8,255,128,4,4,4,7,2,0,112,240,240,224,13,30,60, + 15,1,251,0,24,0,56,0,48,0,48,0,112,0,96,0, + 96,0,224,0,192,1,192,1,128,1,128,3,128,3,0,7, + 0,6,0,6,0,14,0,12,0,12,0,28,0,24,0,56, + 0,48,0,48,0,112,0,96,0,96,0,224,0,192,0,13, + 19,38,15,1,0,7,128,24,192,32,96,96,48,64,48,64, + 56,192,24,192,24,192,24,192,24,192,24,192,24,192,24,192, + 16,96,16,96,48,48,32,24,64,15,128,11,19,38,15,2, + 0,2,0,30,0,126,0,134,0,6,0,6,0,6,0,6, + 0,6,0,6,0,6,0,6,0,6,0,6,0,6,0,6, + 0,6,0,15,0,127,224,11,19,38,15,2,0,15,128,48, + 192,96,96,96,96,96,96,0,96,0,96,0,192,0,192,1, + 128,3,0,7,0,6,0,12,0,24,0,48,32,112,32,224, + 32,255,224,11,19,38,15,2,0,31,0,113,128,96,192,224, + 192,0,192,0,192,1,128,3,0,15,0,3,192,0,192,0, + 224,0,96,0,96,0,96,0,96,128,192,193,128,127,0,12, + 19,38,15,1,0,0,64,1,192,3,192,3,192,6,192,12, + 192,12,192,24,192,48,192,48,192,96,192,224,192,255,240,0, + 192,0,192,0,192,0,192,0,192,7,240,11,19,38,15,2, + 0,63,224,32,0,32,0,96,0,96,0,96,0,96,0,127, + 0,97,192,0,192,0,96,0,96,0,96,0,96,0,96,0, + 64,128,192,193,128,63,0,12,20,40,15,2,0,0,192,7, + 0,14,0,24,0,48,0,112,0,96,0,96,0,207,128,240, + 224,224,96,192,112,192,48,192,48,192,48,96,48,96,32,32, + 96,48,64,15,128,12,19,38,15,2,0,255,240,128,96,128, + 96,0,224,0,192,0,192,1,128,1,128,3,0,3,0,7, + 0,6,0,6,0,12,0,12,0,28,0,24,0,56,0,48, + 0,12,19,38,15,2,0,31,128,48,192,96,96,224,96,224, + 96,224,96,248,192,127,128,31,128,31,192,49,224,96,112,192, + 112,192,48,192,48,192,32,96,32,112,64,31,128,12,20,40, + 15,2,255,15,128,49,192,32,224,64,96,192,112,192,48,192, + 48,192,48,192,48,96,112,48,176,31,48,0,96,0,96,0, + 96,0,192,1,128,7,0,30,0,48,0,4,15,15,7,2, + 0,112,240,240,96,0,0,0,0,0,0,0,112,240,240,224 + }; +/* + Fontname: -FreeType-Gentium Basic-Medium-R-Normal--32-320-72-72-P-146-ISO10646-1 + Copyright: Copyright (c) SIL International, 2003-2008. + Capital A Height: 20, '1' Height: 19 + Calculated Max Values w=27 h=32 x= 3 y=16 dx=27 dy= 0 ascent=26 len=80 + Font Bounding box w=47 h=44 x=-16 y=-10 + Calculated Min Values x=-4 y=-8 dx= 0 dy= 0 + Pure Font ascent =20 descent=-8 + X Font ascent =25 descent=-8 + Max Font ascent =26 descent=-8 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_gdr20r[4232] U8G_FONT_SECTION("u8g_font_gdr20r") = { + 0,47,44,240,246,20,4,220,11,144,32,127,248,26,248,25, + 248,0,0,0,7,0,0,4,23,23,9,2,0,48,112,112, + 112,112,112,112,112,112,96,96,96,96,96,96,96,96,64,0, + 112,240,240,224,8,10,10,14,3,13,227,199,199,199,199,195, + 195,195,195,194,14,18,36,15,1,2,1,24,3,24,3,16, + 2,48,6,48,63,252,4,96,12,96,12,96,12,64,8,192, + 255,248,24,128,17,128,49,128,49,128,49,0,35,0,12,25, + 50,15,1,253,6,0,6,0,6,0,31,192,63,240,102,96, + 102,0,102,0,102,0,118,0,62,0,31,128,7,192,7,224, + 6,112,6,48,6,48,134,48,198,48,230,96,255,192,127,128, + 6,0,6,0,6,0,20,20,60,22,1,255,30,0,192,99, + 1,128,67,3,128,193,131,0,193,134,0,193,140,0,193,156, + 0,97,24,0,99,48,0,60,115,192,0,108,96,0,200,96, + 1,152,48,3,152,48,3,24,48,6,24,48,14,8,32,28, + 12,96,24,7,128,48,0,0,19,22,66,21,2,0,3,192, + 0,4,224,0,8,96,0,24,96,0,24,96,0,24,96,0, + 24,192,0,29,128,0,15,0,0,12,0,0,28,63,224,62, + 14,128,119,6,0,99,134,0,193,134,0,193,198,0,192,236, + 0,192,124,0,192,60,0,96,30,0,48,47,192,31,195,128, + 3,10,10,8,3,13,224,192,192,192,192,192,192,192,192,192, + 7,30,30,10,2,251,2,12,24,24,48,48,96,96,96,96, + 192,192,192,192,192,192,192,192,192,192,224,96,96,96,112,48, + 56,24,12,2,7,30,30,10,1,251,128,96,48,56,24,28, + 12,12,12,14,6,6,6,6,6,6,6,6,6,6,12,12, + 12,12,24,24,48,48,96,128,12,13,26,14,1,11,6,0, + 6,0,134,0,102,48,242,240,27,128,6,0,27,128,114,240, + 230,48,6,32,6,0,6,0,12,11,22,13,1,3,6,0, + 6,0,6,0,6,0,6,0,255,240,6,0,6,0,6,0, + 6,0,6,0,4,8,8,7,2,251,112,240,48,48,48,32, + 64,192,9,1,2,11,1,8,255,128,4,4,4,7,2,0, + 112,240,240,224,13,30,60,15,1,251,0,24,0,56,0,48, + 0,48,0,112,0,96,0,96,0,224,0,192,1,192,1,128, + 1,128,3,128,3,0,7,0,6,0,6,0,14,0,12,0, + 12,0,28,0,24,0,56,0,48,0,48,0,112,0,96,0, + 96,0,224,0,192,0,13,19,38,15,1,0,7,128,24,192, + 32,96,96,48,64,48,64,56,192,24,192,24,192,24,192,24, + 192,24,192,24,192,24,192,16,96,16,96,48,48,32,24,64, + 15,128,11,19,38,15,2,0,2,0,30,0,126,0,134,0, + 6,0,6,0,6,0,6,0,6,0,6,0,6,0,6,0, + 6,0,6,0,6,0,6,0,6,0,15,0,127,224,11,19, + 38,15,2,0,15,128,48,192,96,96,96,96,96,96,0,96, + 0,96,0,192,0,192,1,128,3,0,7,0,6,0,12,0, + 24,0,48,32,112,32,224,32,255,224,11,19,38,15,2,0, + 31,0,113,128,96,192,224,192,0,192,0,192,1,128,3,0, + 15,0,3,192,0,192,0,224,0,96,0,96,0,96,0,96, + 128,192,193,128,127,0,12,19,38,15,1,0,0,64,1,192, + 3,192,3,192,6,192,12,192,12,192,24,192,48,192,48,192, + 96,192,224,192,255,240,0,192,0,192,0,192,0,192,0,192, + 7,240,11,19,38,15,2,0,63,224,32,0,32,0,96,0, + 96,0,96,0,96,0,127,0,97,192,0,192,0,96,0,96, + 0,96,0,96,0,96,0,64,128,192,193,128,63,0,12,20, + 40,15,2,0,0,192,7,0,14,0,24,0,48,0,112,0, + 96,0,96,0,207,128,240,224,224,96,192,112,192,48,192,48, + 192,48,96,48,96,32,32,96,48,64,15,128,12,19,38,15, + 2,0,255,240,128,96,128,96,0,224,0,192,0,192,1,128, + 1,128,3,0,3,0,7,0,6,0,6,0,12,0,12,0, + 28,0,24,0,56,0,48,0,12,19,38,15,2,0,31,128, + 48,192,96,96,224,96,224,96,224,96,248,192,127,128,31,128, + 31,192,49,224,96,112,192,112,192,48,192,48,192,32,96,32, + 112,64,31,128,12,20,40,15,2,255,15,128,49,192,32,224, + 64,96,192,112,192,48,192,48,192,48,192,48,96,112,48,176, + 31,48,0,96,0,96,0,96,0,192,1,128,7,0,30,0, + 48,0,4,15,15,7,2,0,112,240,240,96,0,0,0,0, + 0,0,0,112,240,240,224,4,20,20,7,2,251,112,240,240, + 96,0,0,0,0,0,0,0,0,112,240,48,48,48,32,64, + 192,12,10,20,14,1,4,0,48,0,240,7,192,62,0,248, + 0,240,0,126,0,15,128,1,240,0,112,12,6,12,14,1, + 6,255,240,0,0,0,0,0,0,0,0,255,240,12,10,20, + 14,1,4,96,0,248,0,31,0,7,224,0,240,1,240,7, + 192,62,0,240,0,192,0,10,23,46,14,2,0,31,0,99, + 128,65,192,192,192,192,192,128,192,0,192,1,128,1,128,3, + 0,3,0,6,0,14,0,12,0,12,0,12,0,12,0,0, + 0,0,0,14,0,30,0,30,0,28,0,24,25,75,26,1, + 251,0,63,128,1,192,224,2,0,56,12,0,28,24,0,12, + 16,60,142,32,67,134,96,129,135,65,129,131,193,1,131,195, + 1,131,195,1,131,195,1,131,195,1,131,195,1,131,195,1, + 130,225,129,134,97,131,132,112,197,200,48,120,240,56,0,0, + 28,0,4,15,0,28,3,192,112,0,127,128,19,20,60,19, + 0,0,0,64,0,0,224,0,0,224,0,1,224,0,1,240, + 0,1,176,0,3,48,0,3,56,0,3,24,0,6,28,0, + 6,28,0,6,12,0,15,254,0,12,6,0,8,6,0,24, + 7,0,24,3,0,16,3,0,48,3,128,254,15,224,14,20, + 40,17,1,0,63,192,240,112,48,56,48,24,48,24,48,24, + 48,24,48,48,48,224,63,224,48,112,48,56,48,28,48,12, + 48,12,48,12,48,12,48,24,48,48,255,192,14,20,40,17, + 1,0,3,248,12,28,16,8,48,0,96,0,96,0,64,0, + 192,0,192,0,192,0,192,0,192,0,192,0,192,0,96,0, + 96,0,112,0,56,4,28,24,7,224,17,20,60,19,1,0, + 63,224,0,240,56,0,48,12,0,48,6,0,48,3,0,48, + 3,0,48,3,128,48,1,128,48,1,128,48,1,128,48,1, + 128,48,1,128,48,1,128,48,3,0,48,3,0,48,3,0, + 48,6,0,48,12,0,48,56,0,255,224,0,13,20,40,16, + 1,0,255,240,48,16,48,16,48,16,48,0,48,0,48,0, + 48,0,48,0,63,224,48,64,48,0,48,0,48,0,48,0, + 48,0,48,8,48,8,48,24,255,248,12,20,40,15,1,0, + 255,240,48,16,48,16,48,16,48,0,48,0,48,0,48,0, + 48,0,63,192,48,128,48,0,48,0,48,0,48,0,48,0, + 48,0,48,0,48,0,254,0,18,20,60,19,1,0,1,254, + 0,6,15,0,8,0,0,16,0,0,32,0,0,96,0,0, + 64,0,0,192,0,0,192,0,0,192,0,0,192,0,0,192, + 31,192,192,7,0,192,3,0,96,3,0,96,3,0,48,3, + 0,24,3,0,12,3,0,3,252,0,19,20,60,21,1,0, + 252,7,224,48,1,128,48,1,128,48,1,128,48,1,128,48, + 1,128,48,1,128,48,1,128,48,1,128,63,255,128,48,1, + 128,48,1,128,48,1,128,48,1,128,48,1,128,48,1,128, + 48,1,128,48,1,128,48,1,128,252,7,224,6,20,20,10, + 2,0,252,48,48,48,48,48,48,48,48,48,48,48,48,48, + 48,48,48,48,48,252,11,25,50,10,253,251,15,224,1,128, + 1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128, + 1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128, + 1,128,1,128,1,0,1,0,3,0,98,0,252,0,17,20, + 60,19,1,0,252,127,0,48,24,0,48,48,0,48,96,0, + 48,224,0,49,192,0,49,128,0,51,0,0,54,0,0,62, + 0,0,54,0,0,55,0,0,51,128,0,49,192,0,48,224, + 0,48,112,0,48,120,0,48,60,0,48,30,0,252,15,128, + 13,20,40,15,1,0,252,0,48,0,48,0,48,0,48,0, + 48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0, + 48,0,48,0,48,0,48,8,48,8,48,24,255,248,24,20, + 60,26,1,0,248,0,62,60,0,56,60,0,120,62,0,120, + 54,0,216,54,0,216,55,0,152,51,1,152,51,129,152,49, + 131,24,49,195,24,49,198,24,48,198,24,48,230,24,48,108, + 24,48,124,24,48,56,24,48,56,24,48,56,24,252,16,255, + 19,20,60,21,1,0,240,7,224,56,1,128,60,1,128,60, + 1,128,62,1,128,55,1,128,51,129,128,51,129,128,49,193, + 128,48,225,128,48,97,128,48,113,128,48,57,128,48,29,128, + 48,13,128,48,15,128,48,7,128,48,3,128,48,3,128,252, + 1,128,17,20,60,19,1,0,3,240,0,12,24,0,16,12, + 0,48,6,0,32,3,0,96,3,0,64,3,128,192,1,128, + 192,1,128,192,1,128,192,1,128,192,1,128,192,1,128,224, + 1,0,96,3,0,96,2,0,48,6,0,56,4,0,12,24, + 0,7,224,0,15,20,40,17,1,0,63,224,240,56,48,28, + 48,14,48,6,48,6,48,6,48,6,48,12,48,12,52,56, + 51,224,48,0,48,0,48,0,48,0,48,0,48,0,48,0, + 254,0,19,25,75,19,1,251,3,240,0,12,24,0,16,12, + 0,48,6,0,32,3,0,96,3,0,64,3,128,192,1,128, + 192,1,128,192,1,128,192,1,128,192,1,128,192,1,128,224, + 1,0,96,3,0,96,3,0,48,6,0,24,4,0,12,24, + 0,7,240,0,0,112,0,0,24,0,0,14,32,0,7,192, + 0,1,128,18,20,60,18,1,0,63,192,0,240,112,0,48, + 24,0,48,12,0,48,12,0,48,12,0,48,12,0,48,24, + 0,48,112,0,63,224,0,63,192,0,49,192,0,48,224,0, + 48,112,0,48,112,0,48,56,0,48,60,0,48,28,0,48, + 15,0,252,15,192,12,20,40,15,2,0,15,224,48,224,64, + 64,192,0,192,0,224,0,248,0,126,0,127,0,31,192,7, + 224,1,240,0,240,0,112,0,48,0,48,128,32,192,96,224, + 192,127,0,16,20,40,18,1,0,255,255,129,131,129,129,129, + 129,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1, + 128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,15, + 240,19,20,60,21,1,0,252,7,224,48,1,128,48,1,128, + 48,1,128,48,1,128,48,1,128,48,1,128,48,1,128,48, + 1,128,48,1,128,48,1,128,48,1,128,48,1,128,48,1, + 128,48,1,128,48,1,0,24,3,0,28,6,0,14,12,0, + 3,240,0,20,20,60,21,0,0,254,3,240,56,0,192,24, + 0,128,28,1,128,12,1,128,14,3,0,14,3,0,6,3, + 0,7,6,0,7,6,0,3,6,0,3,140,0,1,140,0, + 1,204,0,1,216,0,0,216,0,0,248,0,0,240,0,0, + 112,0,0,96,0,27,20,80,27,0,0,254,4,15,224,56, + 4,3,0,24,14,3,0,24,14,3,0,28,15,3,0,28, + 27,2,0,12,27,6,0,12,27,134,0,12,49,134,0,14, + 49,134,0,14,49,196,0,6,96,204,0,6,96,204,0,7, + 96,236,0,7,192,108,0,3,192,120,0,3,192,120,0,3, + 128,56,0,3,128,56,0,3,0,48,0,19,20,60,20,0, + 0,127,31,192,60,7,0,28,6,0,14,6,0,7,12,0, + 7,28,0,3,152,0,1,240,0,1,240,0,0,224,0,0, + 240,0,1,240,0,1,184,0,3,28,0,7,12,0,6,14, + 0,12,7,0,28,3,128,56,3,192,255,15,224,18,20,60, + 19,0,0,240,31,192,56,7,0,28,6,0,12,12,0,14, + 12,0,7,24,0,7,24,0,3,48,0,3,176,0,1,224, + 0,1,224,0,0,192,0,0,192,0,0,192,0,0,192,0, + 0,192,0,0,192,0,0,192,0,0,192,0,7,248,0,14, + 20,40,17,1,0,127,252,96,28,64,56,64,120,0,112,0, + 224,0,224,1,192,3,192,3,128,7,0,7,0,14,0,30, + 0,28,0,56,0,56,4,112,4,240,12,255,252,7,30,30, + 10,2,251,254,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 254,13,30,60,15,1,251,192,0,192,0,96,0,96,0,112, + 0,48,0,48,0,24,0,24,0,28,0,12,0,12,0,14, + 0,6,0,6,0,3,0,3,0,3,128,1,128,1,128,0, + 192,0,192,0,192,0,96,0,96,0,112,0,48,0,48,0, + 24,0,24,7,30,30,10,1,251,254,6,6,6,6,6,6, + 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, + 6,6,6,6,6,6,254,12,15,30,16,2,9,2,0,6, + 0,15,0,15,0,27,0,27,128,17,128,49,192,49,192,96, + 192,96,224,96,96,192,112,192,48,128,32,13,1,2,15,1, + 253,255,248,7,7,7,10,0,16,96,240,56,24,12,4,2, + 13,15,30,15,1,0,15,192,48,224,112,96,96,96,0,96, + 0,96,15,224,63,224,126,96,240,96,224,96,192,96,192,96, + 65,224,62,120,15,24,48,16,0,0,48,0,240,0,48,0, + 48,0,48,0,48,0,48,0,48,0,48,0,48,240,49,248, + 54,28,60,12,56,14,48,6,48,6,48,6,48,6,48,6, + 48,4,48,12,48,8,28,16,7,224,12,15,30,14,1,0, + 7,224,24,96,32,32,96,0,64,0,192,0,192,0,192,0, + 192,0,192,0,192,0,96,0,112,32,56,112,31,128,15,24, + 48,17,1,0,0,24,0,120,0,24,0,24,0,24,0,24, + 0,24,0,24,0,24,7,248,24,56,32,24,96,24,64,24, + 192,24,192,24,192,24,192,24,192,24,192,24,96,24,112,56, + 56,222,15,24,13,15,30,15,1,0,7,192,24,96,32,48, + 96,24,64,24,192,24,255,240,192,0,192,0,192,0,224,0, + 96,0,112,8,56,48,15,192,11,24,48,10,1,0,3,224, + 4,192,24,0,16,0,48,0,48,0,48,0,48,0,48,0, + 255,0,50,0,48,0,48,0,48,0,48,0,48,0,48,0, + 48,0,48,0,48,0,48,0,48,0,48,0,254,0,15,23, + 46,16,1,248,7,134,24,252,32,96,96,48,96,48,96,48, + 96,48,112,96,56,64,31,128,8,0,16,0,60,0,63,224, + 15,248,63,252,112,124,224,12,192,12,192,8,96,16,112,32, + 31,192,16,24,48,18,1,0,16,0,240,0,48,0,48,0, + 48,0,48,0,48,0,48,0,48,0,48,112,49,136,54,12, + 56,12,56,12,48,12,48,12,48,12,48,12,48,12,48,12, + 48,12,48,12,48,12,252,63,6,21,21,9,1,0,48,112, + 112,96,0,0,48,240,48,48,48,48,48,48,48,48,48,48, + 48,48,252,9,29,58,8,252,248,1,128,3,128,3,128,3, + 0,0,0,0,0,1,128,7,128,1,128,1,128,1,128,1, + 128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1, + 128,1,128,1,128,1,128,1,128,1,0,3,0,2,0,124, + 0,248,0,15,24,48,16,1,0,16,0,240,0,48,0,48, + 0,48,0,48,0,48,0,48,0,48,0,48,252,48,112,48, + 224,49,128,51,0,54,0,62,0,54,0,55,0,51,128,49, + 192,48,224,48,112,48,120,252,62,6,24,24,9,1,0,16, + 240,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48, + 48,48,48,48,48,48,252,24,15,45,26,1,0,240,240,120, + 51,25,140,52,26,12,56,28,12,56,28,12,48,24,12,48, + 24,12,48,24,12,48,24,12,48,24,12,48,24,12,48,24, + 12,48,24,12,48,24,12,252,126,63,16,15,30,18,1,0, + 112,112,177,136,54,12,56,12,56,12,48,12,48,12,48,12, + 48,12,48,12,48,12,48,12,48,12,48,12,252,63,14,15, + 30,16,1,0,7,192,24,112,32,56,96,24,64,28,192,12, + 192,12,192,12,192,12,192,12,224,8,96,24,112,16,56,32, + 15,192,15,23,46,17,1,248,112,240,179,24,52,28,56,12, + 48,14,48,6,48,6,48,6,48,6,48,6,48,4,48,12, + 48,8,60,16,55,224,48,0,48,0,48,0,48,0,48,0, + 48,0,48,0,254,0,14,23,46,16,1,248,7,144,24,112, + 32,48,96,48,64,48,192,48,192,48,192,48,192,48,192,48, + 192,48,96,48,96,112,48,176,31,48,0,48,0,48,0,48, + 0,48,0,48,0,48,0,48,1,252,11,15,30,13,1,0, + 49,224,243,224,52,64,56,64,56,0,48,0,48,0,48,0, + 48,0,48,0,48,0,48,0,48,0,48,0,254,0,9,15, + 30,12,2,0,63,0,67,0,193,0,192,0,224,0,248,0, + 126,0,63,0,15,128,3,128,1,128,129,128,129,0,195,0, + 252,0,10,20,40,11,1,0,16,0,48,0,48,0,48,0, + 48,0,255,192,49,0,48,0,48,0,48,0,48,0,48,0, + 48,0,48,0,48,0,48,0,48,0,48,0,48,128,31,64, + 15,15,30,17,1,0,48,24,240,120,48,24,48,24,48,24, + 48,24,48,24,48,24,48,24,48,24,48,24,48,24,48,56, + 24,222,15,24,15,15,30,16,0,0,252,62,56,12,56,8, + 24,24,28,24,12,16,12,48,14,48,6,32,7,96,7,64, + 3,64,3,192,1,128,1,0,22,15,45,23,0,0,252,16, + 124,48,24,24,56,56,16,24,56,48,24,60,48,28,108,48, + 12,110,32,12,78,96,12,198,96,14,199,64,6,131,64,7, + 131,192,7,131,192,3,1,128,2,1,0,16,15,30,16,0, + 0,254,63,60,28,28,16,14,48,6,96,7,192,3,192,1, + 192,3,192,6,224,12,112,12,56,24,24,56,28,252,63,16, + 23,46,16,255,248,126,31,28,6,28,4,12,12,14,12,14, + 8,6,24,7,24,3,16,3,48,3,176,1,160,1,224,1, + 224,0,192,0,192,0,128,1,128,1,128,3,0,126,0,124, + 0,248,0,12,15,30,14,1,0,127,240,64,96,64,224,1, + 192,1,128,3,128,7,0,6,0,14,0,28,0,28,0,56, + 16,112,16,112,48,255,240,8,30,30,11,2,251,3,6,12, + 8,24,24,24,24,28,12,12,12,12,24,48,248,28,12,12, + 12,12,28,24,24,24,24,24,12,6,3,2,32,32,7,3, + 250,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,8,30,30,11,1,251,192,96,48,24,24,24,24,24,56, + 48,48,48,48,56,31,12,24,48,48,48,48,56,24,24,24, + 24,16,48,96,192,14,6,12,16,1,7,28,8,62,12,127, + 136,71,240,131,240,128,224,255}; +/* + Fontname: -FreeType-Gentium Basic-Medium-R-Normal--40-400-72-72-P-182-ISO10646-1 + Copyright: Copyright (c) SIL International, 2003-2008. + Capital A Height: 25, '1' Height: 24 + Calculated Max Values w=33 h=41 x= 4 y=23 dx=34 dy= 0 ascent=34 len=132 + Font Bounding box w=59 h=57 x=-20 y=-14 + Calculated Min Values x=-4 y=-11 dx= 0 dy= 0 + Pure Font ascent =25 descent=-9 + X Font ascent =31 descent=-9 + Max Font ascent =34 descent=-11 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_gdr25[13042] U8G_FONT_SECTION("u8g_font_gdr25") = { + 0,59,57,236,242,25,6,209,16,163,32,255,247,34,245,31, + 247,0,0,0,9,0,0,5,30,30,11,3,255,48,112,240, + 112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112, + 96,96,96,0,0,0,112,248,248,248,112,11,13,26,17,3, + 16,112,224,241,224,241,224,241,224,241,224,112,224,96,192,96, + 192,96,192,96,192,96,192,96,192,96,192,17,23,69,19,2, + 2,0,194,0,1,134,0,1,134,0,1,142,0,3,140,0, + 3,12,0,3,12,0,63,255,128,63,255,128,6,24,0,6, + 56,0,14,48,0,12,48,0,12,48,0,255,254,0,255,254, + 0,24,96,0,24,224,0,48,192,0,48,192,0,48,192,0, + 113,192,0,97,128,0,16,30,60,19,1,253,1,128,1,128, + 1,128,3,224,15,252,57,254,49,156,113,136,113,128,113,128, + 121,128,61,128,63,128,31,224,7,248,1,252,1,190,1,143, + 1,143,1,135,193,135,193,135,225,142,241,142,255,252,63,240, + 15,192,1,128,1,128,1,128,25,25,100,27,1,255,15,128, + 6,0,63,192,28,0,113,224,56,0,112,224,56,0,224,112, + 112,0,224,112,224,0,224,112,224,0,224,113,192,0,224,115, + 128,0,112,231,0,0,120,231,0,0,63,206,60,0,31,28, + 254,0,0,29,207,0,0,57,199,0,0,115,131,128,0,227, + 131,128,0,227,131,128,1,195,131,128,3,131,131,128,3,131, + 131,128,7,1,199,0,14,1,199,0,28,0,254,0,24,0, + 120,0,24,28,84,27,2,0,0,248,0,1,252,0,3,30, + 0,7,14,0,14,14,0,14,14,0,14,14,0,14,12,0, + 14,28,0,15,56,0,7,112,0,7,192,0,7,131,255,15, + 135,255,29,193,242,57,224,240,112,240,112,112,112,112,224,120, + 112,224,60,112,224,30,224,224,15,224,224,7,192,240,3,192, + 120,3,240,60,30,248,31,252,127,7,224,56,4,13,13,10, + 3,16,112,240,240,240,240,112,96,96,96,96,96,96,96,9, + 37,74,13,3,250,0,128,3,128,7,0,14,0,12,0,28, + 0,24,0,56,0,56,0,112,0,112,0,112,0,112,0,224, + 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, + 0,224,0,224,0,224,0,112,0,112,0,112,0,112,0,56, + 0,56,0,28,0,28,0,14,0,7,0,3,128,0,128,9, + 37,74,13,1,250,128,0,224,0,112,0,56,0,28,0,28, + 0,14,0,14,0,14,0,7,0,7,0,7,0,7,128,3, + 128,3,128,3,128,3,128,3,128,3,128,3,128,3,128,3, + 128,3,128,3,128,7,0,7,0,7,0,7,0,14,0,14, + 0,12,0,28,0,24,0,56,0,112,0,224,0,128,0,16, + 16,32,18,1,14,1,128,1,128,1,128,97,132,113,142,121, + 159,31,248,7,192,3,192,31,248,121,158,241,142,33,134,1, + 128,1,128,1,128,15,14,28,16,1,4,3,128,3,128,3, + 128,3,128,3,128,3,128,255,254,255,254,3,128,3,128,3, + 128,3,128,3,128,3,128,6,10,10,9,2,250,60,252,60, + 28,28,24,24,48,32,64,11,2,4,13,1,9,127,224,255, + 224,5,5,5,9,2,255,112,248,248,248,112,17,38,114,19, + 1,249,0,1,128,0,7,0,0,7,0,0,7,0,0,14, + 0,0,14,0,0,14,0,0,28,0,0,28,0,0,56,0, + 0,56,0,0,56,0,0,112,0,0,112,0,0,112,0,0, + 224,0,0,224,0,1,192,0,1,192,0,1,192,0,3,128, + 0,3,128,0,3,128,0,7,0,0,7,0,0,14,0,0, + 14,0,0,14,0,0,28,0,0,28,0,0,28,0,0,56, + 0,0,56,0,0,112,0,0,112,0,0,112,0,0,224,0, + 0,192,0,0,17,24,72,19,1,0,3,224,0,15,248,0, + 28,60,0,56,30,0,48,14,0,112,7,0,96,7,0,96, + 7,128,224,3,128,224,3,128,224,3,128,224,3,128,224,3, + 128,224,3,128,224,3,128,224,3,128,240,3,0,112,7,0, + 112,7,0,120,6,0,60,14,0,30,28,0,15,248,0,7, + 224,0,14,24,48,19,3,0,1,128,7,128,63,128,255,128, + 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, + 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, + 3,128,3,128,15,224,127,252,14,24,48,19,2,0,3,224, + 15,248,24,120,48,60,112,28,96,28,224,28,0,28,0,24, + 0,56,0,48,0,112,0,224,1,192,1,128,3,128,7,0, + 14,0,28,0,24,4,48,4,112,12,255,252,255,252,15,24, + 48,19,1,0,3,224,15,248,28,120,56,60,112,28,112,28, + 0,28,0,24,0,48,0,96,3,224,3,248,0,60,0,28, + 0,14,0,14,0,14,0,14,0,14,0,28,64,28,240,120, + 63,240,15,192,16,24,48,19,1,0,0,24,0,120,0,120, + 0,248,1,248,1,184,3,56,7,56,6,56,12,56,28,56, + 24,56,48,56,112,56,96,56,255,255,255,254,0,56,0,56, + 0,56,0,56,0,56,0,124,3,255,15,24,48,19,1,0, + 0,4,31,252,31,248,24,0,24,0,24,0,48,0,48,0, + 48,0,63,224,63,248,48,124,64,28,0,30,0,14,0,14, + 0,14,0,14,0,14,0,28,64,28,240,120,63,240,15,192, + 15,24,48,19,2,0,0,56,0,240,3,192,7,0,14,0, + 28,0,56,0,112,0,112,0,99,224,239,248,248,60,240,28, + 224,30,224,14,224,14,224,14,224,14,112,14,112,12,56,28, + 60,56,31,240,7,192,15,23,46,19,2,0,127,254,255,254, + 192,12,192,12,128,28,0,24,0,56,0,48,0,112,0,96, + 0,96,0,224,0,192,1,192,1,128,3,128,3,0,7,0, + 7,0,14,0,14,0,28,0,56,0,15,24,48,19,2,0, + 15,192,63,240,120,120,112,60,240,28,224,28,224,28,240,24, + 120,48,62,96,31,192,7,240,24,120,48,60,112,30,96,14, + 224,14,224,14,224,14,224,12,112,28,124,56,63,240,15,192, + 15,25,50,19,2,255,7,192,15,240,56,120,48,60,112,28, + 96,28,224,14,224,14,224,14,224,14,240,14,112,30,120,62, + 63,238,15,140,0,28,0,28,0,24,0,56,0,112,0,224, + 1,192,7,128,30,0,48,0,5,19,19,9,2,255,120,248, + 248,248,96,0,0,0,0,0,0,0,0,0,112,248,248,248, + 112,6,24,24,9,2,250,120,248,248,248,96,0,0,0,0, + 0,0,0,0,0,60,252,60,28,28,24,24,48,32,64,15, + 13,26,18,1,5,0,2,0,30,0,254,3,240,31,192,126, + 0,240,0,252,0,63,128,7,224,1,252,0,62,0,12,15, + 8,16,18,1,7,127,254,255,254,0,0,0,0,0,0,0, + 0,127,254,255,254,15,13,26,18,1,5,96,0,252,0,63, + 0,15,224,1,252,0,126,0,30,0,126,3,240,31,192,126, + 0,248,0,192,0,14,30,60,17,2,255,7,224,31,240,56, + 120,112,56,224,28,224,28,224,28,192,28,0,28,0,56,0, + 56,0,112,0,240,0,224,1,192,3,128,3,128,7,0,7, + 0,7,0,7,0,7,0,0,0,0,0,0,0,7,0,15, + 128,15,128,15,128,7,0,30,33,132,32,1,249,0,7,248, + 0,0,63,254,0,0,240,31,128,1,192,7,192,3,0,1, + 224,6,0,0,240,12,0,0,112,24,0,0,120,56,3,198, + 56,48,15,252,56,112,28,60,60,112,56,28,28,96,112,28, + 28,224,96,28,28,224,224,28,28,224,224,28,28,224,224,28, + 28,224,224,28,28,224,224,28,28,224,224,28,24,240,240,28, + 56,112,112,28,48,112,120,60,96,120,60,94,224,56,31,143, + 128,60,15,15,0,30,0,0,0,31,0,0,0,15,128,0, + 32,7,192,0,192,1,248,15,128,0,255,254,0,0,31,240, + 0,23,25,75,24,0,0,0,8,0,0,56,0,0,60,0, + 0,60,0,0,108,0,0,110,0,0,110,0,0,198,0,0, + 199,0,0,199,0,1,131,0,1,131,128,1,131,128,3,1, + 128,3,255,192,3,255,192,6,0,224,6,0,224,6,0,224, + 12,0,112,12,0,112,12,0,112,24,0,56,28,0,120,255, + 1,254,19,25,75,22,1,0,31,240,0,255,254,0,28,31, + 0,28,7,128,28,3,128,28,3,128,28,3,128,28,3,128, + 28,7,0,28,6,0,28,28,0,31,254,0,31,255,0,28, + 15,128,28,3,192,28,1,224,28,0,224,28,0,224,28,0, + 224,28,0,224,28,1,224,28,1,192,28,7,128,63,255,0, + 255,252,0,19,25,75,21,1,0,0,254,0,3,255,192,7, + 7,192,12,1,128,24,0,0,56,0,0,112,0,0,112,0, + 0,112,0,0,224,0,0,224,0,0,224,0,0,224,0,0, + 224,0,0,224,0,0,224,0,0,224,0,0,112,0,0,112, + 0,0,120,0,0,60,0,64,30,1,224,15,135,128,7,254, + 0,1,248,0,21,25,75,24,1,0,31,248,0,255,255,0, + 28,15,128,28,3,192,28,1,224,28,0,240,28,0,112,28, + 0,112,28,0,120,28,0,56,28,0,56,28,0,56,28,0, + 56,28,0,56,28,0,56,28,0,56,28,0,112,28,0,112, + 28,0,112,28,0,224,28,1,224,28,3,192,28,15,128,63, + 254,0,255,248,0,18,25,75,20,1,0,255,255,0,63,255, + 0,28,3,0,28,1,0,28,1,0,28,0,0,28,0,0, + 28,0,0,28,0,0,28,0,0,31,252,0,31,252,0,28, + 8,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, + 0,28,0,0,28,0,0,28,0,64,28,0,192,28,1,128, + 63,255,128,255,255,128,17,25,75,19,1,0,255,255,128,63, + 255,128,28,3,0,28,1,0,28,1,0,28,0,0,28,0, + 0,28,0,0,28,0,0,28,0,0,31,252,0,31,248,0, + 28,24,0,28,0,0,28,0,0,28,0,0,28,0,0,28, + 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, + 0,62,0,0,255,128,0,21,25,75,23,1,0,0,127,0, + 1,255,192,7,3,224,14,0,192,28,0,0,56,0,0,48, + 0,0,112,0,0,112,0,0,224,0,0,224,0,0,224,0, + 0,224,0,0,224,15,248,224,1,224,224,0,224,224,0,224, + 112,0,224,112,0,224,120,0,224,60,0,224,30,0,224,15, + 129,192,7,255,128,1,252,0,24,25,75,26,1,0,255,129, + 255,62,0,124,28,0,56,28,0,56,28,0,56,28,0,56, + 28,0,56,28,0,56,28,0,56,28,0,56,28,0,56,31, + 255,248,31,255,248,28,0,56,28,0,56,28,0,56,28,0, + 56,28,0,56,28,0,56,28,0,56,28,0,56,28,0,56, + 28,0,56,62,0,124,255,129,255,9,25,50,12,1,0,255, + 128,62,0,28,0,28,0,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,28,0,28,0,28,0,28,0,62,0,255, + 128,15,32,64,12,252,249,7,254,0,248,0,112,0,112,0, + 112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0, + 112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0, + 112,0,112,0,112,0,112,0,112,0,96,0,96,0,224,0, + 192,49,128,127,0,252,0,22,25,75,23,1,0,255,135,248, + 62,1,192,28,3,128,28,7,0,28,14,0,28,12,0,28, + 24,0,28,56,0,28,112,0,28,224,0,29,192,0,31,128, + 0,31,192,0,29,224,0,28,224,0,28,112,0,28,56,0, + 28,60,0,28,30,0,28,15,0,28,7,128,28,3,192,28, + 3,224,62,1,252,255,128,240,18,25,75,19,1,0,255,128, + 0,62,0,0,28,0,0,28,0,0,28,0,0,28,0,0, + 28,0,0,28,0,0,28,0,0,28,0,0,28,0,0,28, + 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, + 0,28,0,0,28,0,0,28,0,0,28,0,192,28,0,128, + 30,1,128,63,255,128,255,255,128,30,25,100,32,1,0,254, + 0,1,248,30,0,3,224,31,0,3,224,31,0,3,224,31, + 0,7,224,27,128,6,224,27,128,14,224,25,192,12,224,25, + 192,12,224,24,224,28,224,24,224,24,224,24,224,56,224,24, + 112,48,224,24,112,112,224,24,56,96,224,24,56,96,224,24, + 28,224,224,24,28,192,224,24,31,192,224,24,15,128,224,24, + 15,128,224,24,7,128,224,24,7,0,224,60,7,1,224,255, + 2,7,252,24,25,75,26,1,0,248,1,255,60,0,124,30, + 0,56,30,0,56,31,0,56,31,128,56,29,128,56,29,192, + 56,28,224,56,28,96,56,28,112,56,28,56,56,28,28,56, + 28,28,56,28,14,56,28,7,56,28,7,56,28,3,184,28, + 3,248,28,1,248,28,0,248,28,0,248,28,0,120,62,0, + 56,255,128,24,21,25,75,24,1,0,0,252,0,3,255,0, + 7,7,128,12,3,192,24,1,224,56,0,224,112,0,112,112, + 0,112,96,0,120,224,0,56,224,0,56,224,0,56,224,0, + 56,224,0,56,224,0,56,224,0,56,240,0,48,112,0,112, + 112,0,96,120,0,224,60,0,192,30,1,128,15,7,0,7, + 254,0,1,248,0,18,25,75,21,1,0,31,248,0,255,254, + 0,28,31,0,28,7,128,28,3,192,28,1,192,28,1,192, + 28,1,192,28,1,192,28,1,192,28,3,128,28,7,128,28, + 15,0,29,254,0,28,248,0,28,0,0,28,0,0,28,0, + 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,0, + 62,0,0,255,128,0,24,31,93,24,1,250,0,252,0,3, + 255,0,7,7,128,12,3,192,24,1,224,56,0,224,112,0, + 112,112,0,112,96,0,120,224,0,56,224,0,56,224,0,56, + 224,0,56,224,0,56,224,0,56,224,0,56,240,0,48,112, + 0,112,112,0,112,56,0,224,60,0,192,30,1,192,15,7, + 128,7,254,0,1,252,0,0,14,0,0,7,0,0,3,130, + 0,1,227,0,0,254,0,0,60,21,25,75,22,1,0,31, + 240,0,255,254,0,28,31,0,28,7,0,28,7,128,28,3, + 128,28,3,128,28,3,128,28,3,128,28,7,0,28,6,0, + 28,28,0,31,240,0,28,112,0,28,56,0,28,56,0,28, + 28,0,28,30,0,28,14,0,28,7,0,28,7,128,28,3, + 128,28,3,192,62,1,248,255,129,240,15,25,50,19,2,0, + 7,224,31,248,120,124,112,24,224,0,224,0,224,0,240,0, + 248,0,126,0,63,128,31,224,7,248,1,252,0,124,0,30, + 0,30,0,14,128,14,128,14,192,28,224,28,240,120,255,240, + 31,128,21,25,75,22,0,0,127,255,248,255,255,248,192,112, + 24,192,112,24,128,112,16,0,112,0,0,112,0,0,112,0, + 0,112,0,0,112,0,0,112,0,0,112,0,0,112,0,0, + 112,0,0,112,0,0,112,0,0,112,0,0,112,0,0,112, + 0,0,112,0,0,112,0,0,112,0,0,112,0,0,248,0, + 3,254,0,24,25,75,26,1,0,255,129,255,62,0,124,28, + 0,56,28,0,56,28,0,56,28,0,56,28,0,56,28,0, + 56,28,0,56,28,0,56,28,0,56,28,0,56,28,0,56, + 28,0,56,28,0,56,28,0,56,28,0,56,28,0,56,28, + 0,112,14,0,112,14,0,112,15,0,224,7,193,192,3,255, + 128,0,126,0,25,25,100,26,0,0,255,128,127,128,28,0, + 14,0,30,0,12,0,14,0,28,0,14,0,24,0,15,0, + 24,0,7,0,56,0,7,0,48,0,3,128,48,0,3,128, + 112,0,3,192,96,0,1,192,224,0,1,192,224,0,1,224, + 192,0,0,225,192,0,0,225,128,0,0,113,128,0,0,115, + 128,0,0,123,0,0,0,59,0,0,0,63,0,0,0,62, + 0,0,0,30,0,0,0,30,0,0,0,8,0,0,33,25, + 125,34,0,0,255,128,192,127,128,28,0,192,14,0,28,0, + 192,12,0,28,1,224,12,0,14,1,224,28,0,14,1,224, + 28,0,14,3,240,24,0,14,3,112,24,0,7,3,48,24, + 0,7,7,56,56,0,7,6,56,56,0,7,6,24,48,0, + 7,14,28,48,0,3,140,28,48,0,3,140,14,112,0,3, + 156,14,96,0,3,152,14,96,0,1,216,7,96,0,1,248, + 7,96,0,1,240,7,224,0,1,240,3,192,0,1,240,3, + 192,0,0,224,3,192,0,0,224,1,192,0,0,192,1,128, + 0,23,25,75,25,1,0,255,135,252,60,0,240,28,0,224, + 30,1,192,15,1,128,7,3,128,7,135,0,3,198,0,1, + 238,0,0,252,0,0,252,0,0,120,0,0,120,0,0,124, + 0,0,254,0,1,206,0,1,207,0,3,135,128,3,3,128, + 7,3,192,14,1,224,12,0,224,28,0,240,60,0,248,255, + 3,254,23,25,75,24,0,0,248,1,254,60,0,120,30,0, + 96,14,0,224,7,0,192,7,129,192,3,129,128,3,195,128, + 1,195,0,0,231,0,0,238,0,0,126,0,0,124,0,0, + 56,0,0,56,0,0,56,0,0,56,0,0,56,0,0,56, + 0,0,56,0,0,56,0,0,56,0,0,56,0,0,124,0, + 1,255,0,18,25,75,21,1,0,63,255,192,63,255,192,48, + 3,128,32,7,128,96,15,0,96,14,0,0,30,0,0,28, + 0,0,56,0,0,120,0,0,112,0,0,240,0,1,224,0, + 1,192,0,3,192,0,3,128,0,7,0,0,15,0,0,14, + 0,0,30,0,64,60,0,64,56,0,192,120,0,192,127,255, + 192,255,255,192,9,37,74,12,3,250,255,128,255,128,224,0, + 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, + 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, + 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, + 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, + 255,128,255,128,17,38,114,19,1,249,192,0,0,224,0,0, + 112,0,0,112,0,0,48,0,0,56,0,0,56,0,0,24, + 0,0,28,0,0,28,0,0,14,0,0,14,0,0,6,0, + 0,7,0,0,7,0,0,3,0,0,3,128,0,3,128,0, + 1,192,0,1,192,0,0,192,0,0,224,0,0,224,0,0, + 96,0,0,112,0,0,112,0,0,56,0,0,56,0,0,24, + 0,0,28,0,0,28,0,0,12,0,0,14,0,0,14,0, + 0,7,0,0,7,0,0,3,0,0,1,128,9,37,74,13, + 1,250,255,128,255,128,3,128,3,128,3,128,3,128,3,128, + 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, + 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, + 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, + 3,128,3,128,3,128,3,128,255,128,255,128,16,19,38,20, + 2,11,0,128,3,128,3,192,3,192,7,224,6,224,14,224, + 12,112,12,112,28,120,24,56,24,56,48,28,48,28,112,28, + 96,14,96,14,224,7,128,6,17,2,6,19,1,251,127,255, + 128,255,255,0,8,9,9,13,1,20,224,240,112,56,56,28, + 14,6,3,16,18,36,18,2,0,3,224,31,240,56,120,112, + 56,240,56,192,56,0,56,0,120,7,248,28,56,112,56,96, + 56,224,56,224,56,224,120,241,185,127,63,60,24,18,30,90, + 20,0,0,12,0,0,124,0,0,188,0,0,28,0,0,28, + 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, + 0,28,0,0,28,0,0,28,60,0,28,255,0,29,143,0, + 31,7,128,30,3,128,28,3,192,28,1,192,28,1,192,28, + 1,192,28,1,192,28,1,192,28,1,128,28,1,128,28,3, + 128,30,3,0,31,134,0,7,252,0,1,240,0,15,18,36, + 17,2,0,1,248,7,254,28,28,56,12,112,4,112,0,224, + 0,224,0,224,0,224,0,224,0,224,0,240,0,112,4,120, + 6,62,28,31,248,7,224,19,30,90,21,2,0,0,3,0, + 0,63,0,0,15,0,0,7,0,0,7,0,0,7,0,0, + 7,0,0,7,0,0,7,0,0,7,0,0,7,0,0,7, + 0,3,247,0,15,255,0,28,31,0,56,15,0,48,7,0, + 112,7,0,96,7,0,224,7,0,224,7,0,224,7,0,224, + 7,0,224,7,0,240,7,0,112,15,0,120,31,0,60,55, + 224,31,231,192,7,131,0,14,18,36,18,2,0,3,192,15, + 240,28,120,48,56,112,28,96,28,224,28,255,252,255,248,224, + 0,224,0,224,0,240,0,112,4,120,12,60,56,31,240,7, + 192,15,30,60,12,1,0,0,120,1,254,3,28,6,8,14, + 0,12,0,12,0,28,0,28,0,28,0,28,0,28,0,127, + 240,255,224,28,64,28,0,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,62, + 0,255,192,18,27,81,19,1,247,3,224,192,15,255,192,28, + 63,0,56,28,0,112,14,0,112,14,0,112,14,0,112,14, + 0,120,28,0,60,56,0,31,240,0,7,192,0,6,0,0, + 12,0,0,28,0,0,31,224,0,15,254,0,12,63,128,24, + 3,192,112,1,192,224,1,192,224,1,192,224,3,128,240,3, + 128,124,15,0,63,252,0,7,240,0,21,30,90,22,1,0, + 12,0,0,252,0,0,124,0,0,28,0,0,28,0,0,28, + 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, + 0,28,0,0,28,31,0,28,63,128,28,227,192,29,129,192, + 31,1,192,30,1,192,30,1,192,28,1,192,28,1,192,28, + 1,192,28,1,192,28,1,192,28,1,192,28,1,192,28,1, + 192,28,1,192,62,3,192,255,143,248,9,27,54,11,1,0, + 28,0,60,0,60,0,60,0,24,0,0,0,0,0,0,0, + 0,0,12,0,252,0,60,0,28,0,28,0,28,0,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,60,0,255,128,11,36,72,10,252,247,0,224,1,224, + 1,224,1,224,0,192,0,0,0,0,0,0,0,0,0,96, + 7,224,1,224,0,224,0,224,0,224,0,224,0,224,0,224, + 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, + 0,224,0,224,0,224,0,192,0,192,1,192,1,128,35,0, + 254,0,248,0,19,30,90,20,1,0,12,0,0,252,0,0, + 60,0,0,28,0,0,28,0,0,28,0,0,28,0,0,28, + 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,31, + 224,28,7,0,28,14,0,28,28,0,28,48,0,28,224,0, + 29,192,0,31,128,0,29,192,0,29,224,0,28,240,0,28, + 120,0,28,56,0,28,28,0,28,30,0,28,15,0,60,7, + 128,255,3,224,9,30,60,11,1,0,12,0,252,0,124,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,60,0,255,128,31,18,72,32,1,0,12,30,3,192, + 252,127,15,224,60,199,152,240,29,131,176,112,31,3,224,112, + 30,3,192,112,28,3,128,112,28,3,128,112,28,3,128,112, + 28,3,128,112,28,3,128,112,28,3,128,112,28,3,128,112, + 28,3,128,112,28,3,128,112,28,3,128,112,60,7,192,240, + 255,159,243,254,21,18,54,22,1,0,12,15,0,252,63,128, + 60,99,192,29,129,192,29,1,192,30,1,192,30,1,192,28, + 1,192,28,1,192,28,1,192,28,1,192,28,1,192,28,1, + 192,28,1,192,28,1,192,28,1,192,62,3,192,255,143,248, + 16,18,36,20,2,0,3,224,15,248,28,60,48,30,112,14, + 96,15,224,7,224,7,224,7,224,7,224,7,224,7,240,6, + 112,14,120,12,62,56,31,240,7,192,18,27,81,21,1,247, + 12,28,0,252,127,0,60,143,128,29,7,128,30,3,128,30, + 3,192,28,1,192,28,1,192,28,1,192,28,1,192,28,1, + 192,28,1,128,28,1,128,28,3,128,30,3,0,31,6,0, + 29,252,0,28,120,0,28,0,0,28,0,0,28,0,0,28, + 0,0,28,0,0,28,0,0,28,0,0,62,0,0,255,128, + 0,19,27,81,21,2,247,1,241,128,7,251,0,28,31,0, + 56,15,0,48,7,0,112,7,0,96,7,0,224,7,0,224, + 7,0,224,7,0,224,7,0,224,7,0,240,7,0,112,15, + 0,120,31,0,60,55,0,31,231,0,7,135,0,0,7,0, + 0,7,0,0,7,0,0,7,0,0,7,0,0,7,0,0, + 7,0,0,7,0,0,63,224,14,18,36,16,1,0,12,60, + 252,252,61,140,29,12,31,4,30,0,30,0,28,0,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,0,30,0, + 255,128,11,18,36,15,2,0,31,0,127,128,115,192,225,128, + 224,128,240,0,248,0,126,0,31,0,15,192,3,224,1,224, + 128,224,128,224,192,224,225,192,255,128,62,0,13,25,50,14, + 0,0,4,0,12,0,28,0,28,0,28,0,28,0,28,0, + 127,248,255,240,28,32,28,0,28,0,28,0,28,0,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,0,30,56, + 15,240,7,128,21,18,54,21,0,0,12,0,192,252,15,192, + 28,1,192,28,1,192,28,1,192,28,1,192,28,1,192,28, + 1,192,28,1,192,28,1,192,28,1,192,28,1,192,28,1, + 192,28,3,192,28,7,192,30,29,200,15,241,240,7,192,192, + 19,18,54,20,0,0,255,7,224,60,1,192,28,1,128,28, + 3,128,14,3,0,14,3,0,14,6,0,7,6,0,7,6, + 0,3,140,0,3,140,0,3,156,0,1,216,0,1,216,0, + 0,240,0,0,240,0,0,240,0,0,64,0,28,18,72,28, + 0,0,255,3,7,240,60,7,0,192,28,7,0,192,28,7, + 129,128,28,15,129,128,14,15,129,128,14,13,195,128,14,25, + 195,0,6,25,195,0,7,24,227,0,7,48,230,0,3,48, + 118,0,3,176,118,0,3,224,124,0,1,224,60,0,1,224, + 60,0,1,192,60,0,1,128,16,0,20,18,54,20,0,0, + 127,143,224,30,3,128,14,3,0,7,6,0,7,140,0,3, + 156,0,1,216,0,0,240,0,0,240,0,0,240,0,1,184, + 0,1,156,0,3,30,0,6,14,0,14,7,0,12,3,128, + 60,3,192,255,15,240,20,27,81,20,255,247,127,131,240,30, + 0,224,14,0,192,14,0,192,7,1,128,7,1,128,7,3, + 0,3,131,0,3,131,0,1,198,0,1,198,0,1,198,0, + 0,236,0,0,236,0,0,120,0,0,120,0,0,120,0,0, + 48,0,0,48,0,0,96,0,0,96,0,0,224,0,1,192, + 0,67,128,0,127,0,0,254,0,0,124,0,0,15,18,36, + 18,1,0,63,254,63,254,96,28,96,56,64,56,0,112,0, + 224,1,192,1,192,3,128,7,0,7,0,14,0,28,2,56, + 2,56,6,127,254,255,254,11,37,74,14,2,250,0,64,1, + 224,3,128,7,0,6,0,14,0,14,0,14,0,14,0,14, + 0,15,0,7,0,7,0,7,0,7,0,7,0,14,0,28, + 0,124,0,254,0,15,0,7,0,7,0,7,0,7,0,7, + 0,15,0,14,0,14,0,14,0,14,0,14,0,14,0,7, + 0,3,0,1,192,0,64,3,41,41,9,3,248,96,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,192,11,37,74,14,1,250,64,0,112,0, + 56,0,28,0,12,0,14,0,14,0,14,0,14,0,14,0, + 30,0,28,0,28,0,28,0,28,0,28,0,14,0,15,192, + 3,224,7,0,14,0,12,0,28,0,28,0,28,0,28,0, + 30,0,14,0,14,0,14,0,14,0,14,0,12,0,28,0, + 56,0,112,0,192,0,18,6,18,20,1,9,15,0,192,31, + 192,128,63,225,0,99,255,0,192,254,0,128,56,0,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,255,255,255,255,255,255,255,0, + 0,0,9,0,0,5,29,29,11,3,245,112,248,248,248,112, + 0,0,96,96,96,96,112,112,112,112,112,112,112,112,112,112, + 112,112,112,112,240,240,240,192,15,25,50,19,2,255,1,128, + 1,128,1,128,1,240,7,252,31,254,57,140,113,132,113,128, + 97,128,225,128,225,128,225,128,225,128,225,128,241,128,113,128, + 121,134,61,140,63,248,31,240,3,192,1,128,1,128,1,128, + 17,25,75,19,1,255,0,252,0,3,255,0,7,15,0,14, + 7,0,12,6,0,12,2,0,28,2,0,28,0,0,28,0, + 0,28,0,0,28,0,0,28,0,0,127,224,0,255,224,0, + 28,0,0,28,0,0,28,0,0,28,0,0,28,0,0,24, + 0,128,24,1,0,24,3,0,63,223,0,127,255,0,192,255, + 0,13,13,26,19,3,5,192,24,239,184,127,240,56,224,96, + 112,96,48,96,48,96,48,120,240,63,224,111,176,192,24,128, + 8,21,24,72,19,255,0,120,7,248,252,1,248,62,1,224, + 31,3,128,15,3,128,7,135,0,7,135,0,3,206,0,1, + 206,0,1,252,0,0,248,0,0,248,0,0,112,0,0,112, + 0,15,255,192,31,255,128,0,112,0,0,112,0,0,112,0, + 0,112,0,0,112,0,0,112,0,0,248,0,3,254,0,3, + 41,41,9,3,248,96,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,128,0,0,0,64,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,192,15,28, + 56,19,2,0,7,224,15,248,28,120,56,24,56,8,56,0, + 60,0,31,0,31,128,63,224,99,248,224,252,224,124,224,30, + 240,30,120,14,62,14,31,14,15,220,3,248,0,248,0,60, + 32,28,32,28,48,28,60,56,63,240,7,192,12,5,10,16, + 2,22,96,48,224,112,224,112,224,112,192,96,25,25,100,29, + 2,0,0,127,0,0,3,255,224,0,7,128,240,0,14,0, + 56,0,28,31,28,0,56,127,206,0,112,225,199,0,97,192, + 131,0,99,128,3,0,195,0,1,128,199,0,1,128,199,0, + 1,128,199,0,1,128,199,0,1,128,199,0,1,128,199,128, + 1,128,99,128,3,0,99,192,67,0,113,241,135,0,56,255, + 14,0,28,60,28,0,14,0,56,0,7,128,240,0,3,255, + 224,0,0,127,0,0,8,14,14,10,1,11,28,60,70,198, + 6,30,102,198,198,206,119,0,255,255,15,18,36,19,2,0, + 2,6,6,4,12,12,12,24,24,56,56,112,112,224,241,224, + 225,192,225,192,241,224,112,240,56,112,24,56,12,24,12,12, + 6,4,2,6,17,8,24,19,1,4,255,255,128,255,255,128, + 0,3,128,0,3,128,0,3,128,0,3,128,0,3,128,0, + 3,0,11,2,4,13,1,9,127,224,255,224,13,14,28,14, + 1,14,15,128,63,224,112,96,127,48,200,152,136,136,143,8, + 138,8,137,8,201,152,92,240,112,112,63,224,15,128,13,2, + 4,20,3,23,127,248,255,248,8,9,9,14,3,15,28,62, + 103,231,231,231,230,124,56,15,18,36,16,1,3,3,128,3, + 128,3,128,3,128,3,128,3,128,255,254,255,254,3,128,3, + 128,3,128,3,128,3,128,3,0,0,0,0,0,127,252,255, + 252,11,15,30,14,1,12,15,128,31,192,49,224,96,224,64, + 224,0,192,1,192,1,128,3,0,6,0,12,0,24,32,48, + 32,127,224,255,224,11,16,32,13,1,11,31,0,63,128,99, + 192,225,192,1,192,1,128,7,0,31,128,1,192,0,224,0, + 224,0,224,0,224,193,192,127,128,30,0,8,9,9,13,4, + 20,7,15,30,28,56,48,112,96,192,20,27,81,21,1,247, + 12,1,128,252,7,128,28,3,128,28,3,128,28,3,128,28, + 3,128,28,3,128,28,3,128,28,3,128,28,3,128,28,3, + 128,28,3,128,28,3,128,30,7,128,31,31,128,31,251,144, + 27,243,224,25,225,128,24,0,0,24,0,0,24,0,0,28, + 0,0,28,0,0,28,0,0,30,0,0,30,0,0,24,0, + 0,20,30,90,22,1,251,3,255,240,28,63,192,48,59,128, + 112,59,128,96,59,128,224,59,128,224,59,128,224,59,128,224, + 59,128,240,59,128,112,59,128,120,59,128,62,59,128,31,251, + 128,7,251,128,0,59,128,0,59,128,0,59,128,0,59,128, + 0,59,128,0,59,128,0,59,128,0,59,128,0,59,128,0, + 59,128,0,59,128,0,59,128,0,59,128,0,127,192,1,255, + 240,3,5,5,6,1,11,96,224,224,224,192,7,9,9,9, + 1,247,24,16,56,60,62,14,12,56,224,10,15,30,13,2, + 12,6,0,62,0,254,0,14,0,14,0,14,0,14,0,14, + 0,14,0,14,0,14,0,14,0,14,0,14,0,255,192,9, + 14,28,11,1,11,30,0,63,0,103,0,67,128,193,128,193, + 128,193,128,193,128,225,0,115,0,126,0,60,0,255,128,255, + 128,15,18,36,19,3,0,129,0,193,128,96,192,112,96,48, + 112,56,48,28,56,30,28,15,30,15,30,30,28,28,56,56, + 56,48,112,112,224,96,192,193,128,129,0,19,24,72,23,2, + 0,12,0,192,252,1,224,28,1,128,28,3,128,28,3,0, + 28,6,0,28,14,0,28,12,0,28,24,0,28,56,0,28, + 48,0,255,224,0,0,224,0,0,192,192,1,193,192,1,130, + 192,3,2,192,7,4,192,6,8,192,12,16,192,28,31,224, + 24,63,224,48,0,192,112,3,224,20,24,72,24,2,0,12, + 0,96,252,0,192,28,0,192,28,1,128,28,3,0,28,3, + 0,28,6,0,28,14,0,28,12,0,28,24,0,28,56,0, + 255,176,0,0,97,224,0,99,240,0,196,112,1,204,112,1, + 128,96,3,0,224,7,0,192,6,1,128,12,3,32,28,6, + 16,24,15,240,48,31,240,20,25,75,23,1,0,30,0,0, + 63,0,48,103,128,96,195,128,224,3,0,192,6,1,128,31, + 129,128,3,195,0,0,231,0,0,230,0,97,204,0,63,220, + 0,15,24,0,0,48,0,0,48,96,0,96,224,0,225,96, + 0,195,96,1,130,96,3,132,96,3,12,112,6,31,240,14, + 0,96,12,0,96,24,1,240,14,29,58,18,2,245,3,128, + 7,192,7,192,7,192,3,128,0,0,0,0,3,128,3,128, + 3,128,3,128,3,128,7,0,7,0,14,0,28,0,60,0, + 56,0,112,0,112,0,224,0,224,12,224,28,224,28,224,28, + 240,56,120,112,63,224,31,128,23,34,102,24,0,0,3,0, + 0,7,128,0,7,224,0,1,240,0,0,120,0,0,60,0, + 0,14,0,0,2,0,0,0,0,0,8,0,0,56,0,0, + 60,0,0,60,0,0,108,0,0,110,0,0,110,0,0,198, + 0,0,199,0,0,199,0,1,131,0,1,131,128,1,131,128, + 3,1,128,3,255,192,3,255,192,6,0,224,6,0,224,6, + 0,224,12,0,112,12,0,112,12,0,112,24,0,56,28,0, + 120,255,1,254,23,34,102,24,0,0,0,1,128,0,3,192, + 0,7,192,0,15,0,0,30,0,0,56,0,0,96,0,0, + 192,0,0,0,0,0,8,0,0,56,0,0,60,0,0,60, + 0,0,108,0,0,110,0,0,110,0,0,198,0,0,199,0, + 0,199,0,1,131,0,1,131,128,1,131,128,3,1,128,3, + 255,192,3,255,192,6,0,224,6,0,224,6,0,224,12,0, + 112,12,0,112,12,0,112,24,0,56,28,0,120,255,1,254, + 23,33,99,24,0,0,0,56,0,0,124,0,0,254,0,1, + 231,0,1,131,128,3,1,192,6,0,128,0,0,0,0,8, + 0,0,56,0,0,60,0,0,60,0,0,108,0,0,110,0, + 0,110,0,0,198,0,0,199,0,0,199,0,1,131,0,1, + 131,128,1,131,128,3,1,128,3,255,192,3,255,192,6,0, + 224,6,0,224,6,0,224,12,0,112,12,0,112,12,0,112, + 24,0,56,28,0,120,255,1,254,23,32,96,24,0,0,0, + 224,64,1,248,192,3,253,128,6,31,0,4,6,0,0,0, + 0,0,0,0,0,8,0,0,56,0,0,60,0,0,60,0, + 0,108,0,0,110,0,0,110,0,0,198,0,0,199,0,0, + 199,0,1,131,0,1,131,128,1,131,128,3,1,128,3,255, + 192,3,255,192,6,0,224,6,0,224,6,0,224,12,0,112, + 12,0,112,12,0,112,24,0,56,28,0,120,255,1,254,23, + 31,93,24,0,0,3,129,192,3,129,192,3,129,192,3,1, + 128,3,1,128,0,0,0,0,8,0,0,56,0,0,60,0, + 0,60,0,0,108,0,0,110,0,0,110,0,0,198,0,0, + 199,0,0,199,0,1,131,0,1,131,128,1,131,128,3,1, + 128,3,255,192,3,255,192,6,0,224,6,0,224,6,0,224, + 12,0,112,12,0,112,12,0,112,24,0,56,28,0,120,255, + 1,254,23,34,102,24,0,0,0,62,0,0,126,0,0,199, + 0,0,195,0,0,195,0,0,230,0,0,252,0,0,48,0, + 0,0,0,0,8,0,0,56,0,0,60,0,0,60,0,0, + 108,0,0,110,0,0,110,0,0,198,0,0,199,0,0,199, + 0,1,131,0,1,131,128,1,131,128,3,1,128,3,255,192, + 3,255,192,6,0,224,6,0,224,6,0,224,12,0,112,12, + 0,112,12,0,112,24,0,56,28,0,120,255,1,254,30,25, + 100,31,0,0,1,255,255,240,0,63,255,240,0,25,192,48, + 0,25,192,16,0,57,192,16,0,49,192,0,0,113,192,0, + 0,97,192,0,0,97,192,0,0,225,192,0,0,255,255,192, + 1,255,255,192,1,193,192,128,1,129,192,0,3,129,192,0, + 3,1,192,0,7,1,192,0,7,1,192,0,6,1,192,0, + 14,1,192,0,12,1,192,4,28,1,192,12,28,1,192,24, + 60,3,255,248,255,15,255,248,18,34,102,21,1,247,0,126, + 0,3,255,192,7,7,192,14,1,128,28,0,0,56,0,0, + 48,0,0,112,0,0,112,0,0,96,0,0,224,0,0,224, + 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, + 0,240,0,0,112,0,0,120,0,0,56,0,64,60,0,192, + 30,3,128,15,254,0,7,252,0,1,240,0,0,64,0,0, + 96,0,0,240,0,0,120,0,0,56,0,0,48,0,0,224, + 0,3,128,0,18,34,102,20,1,0,12,0,0,62,0,0, + 63,0,0,15,128,0,3,192,0,0,224,0,0,112,0,0, + 16,0,0,0,0,255,255,0,63,255,0,28,3,0,28,1, + 0,28,1,0,28,0,0,28,0,0,28,0,0,28,0,0, + 28,0,0,31,252,0,31,252,0,28,8,0,28,0,0,28, + 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, + 0,28,0,64,28,0,192,28,1,128,63,255,128,255,255,128, + 18,34,102,20,1,0,0,12,0,0,30,0,0,62,0,0, + 120,0,0,240,0,1,192,0,3,0,0,6,0,0,0,0, + 0,255,255,0,63,255,0,28,3,0,28,1,0,28,1,0, + 28,0,0,28,0,0,28,0,0,28,0,0,28,0,0,31, + 252,0,31,252,0,28,8,0,28,0,0,28,0,0,28,0, + 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,64, + 28,0,192,28,1,128,63,255,128,255,255,128,18,33,99,20, + 1,0,1,192,0,3,224,0,7,240,0,7,56,0,12,28, + 0,24,14,0,16,2,0,0,0,0,255,255,0,63,255,0, + 28,3,0,28,1,0,28,1,0,28,0,0,28,0,0,28, + 0,0,28,0,0,28,0,0,31,252,0,31,252,0,28,8, + 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,0, + 28,0,0,28,0,0,28,0,64,28,0,192,28,1,128,63, + 255,128,255,255,128,18,31,93,20,1,0,28,14,0,28,14, + 0,28,14,0,28,14,0,24,12,0,0,0,0,255,255,0, + 63,255,0,28,3,0,28,1,0,28,1,0,28,0,0,28, + 0,0,28,0,0,28,0,0,28,0,0,31,252,0,31,252, + 0,28,8,0,28,0,0,28,0,0,28,0,0,28,0,0, + 28,0,0,28,0,0,28,0,0,28,0,64,28,0,192,28, + 1,128,63,255,128,255,255,128,11,34,68,12,255,0,96,0, + 248,0,252,0,62,0,15,0,3,128,1,192,0,64,0,0, + 63,224,15,128,7,0,7,0,7,0,7,0,7,0,7,0, + 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, + 7,0,7,0,7,0,7,0,7,0,7,0,7,0,15,128, + 63,224,11,34,68,12,1,0,0,192,1,224,3,224,7,128, + 15,0,28,0,48,0,96,0,0,0,255,128,62,0,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,28,0,28,0,28,0,62,0,255,128,12,33,66,12, + 0,0,14,0,31,0,63,128,57,192,96,224,192,112,128,32, + 0,0,127,192,31,0,14,0,14,0,14,0,14,0,14,0, + 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, + 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, + 31,0,127,192,12,31,62,12,0,0,224,112,224,112,224,112, + 224,112,192,96,0,0,127,192,31,0,14,0,14,0,14,0, + 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, + 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, + 14,0,14,0,31,0,127,192,21,25,75,24,1,0,31,248, + 0,255,255,0,28,15,128,28,3,192,28,1,224,28,0,240, + 28,0,112,28,0,112,28,0,120,28,0,56,28,0,56,255, + 240,56,255,224,56,28,0,56,28,0,56,28,0,56,28,0, + 112,28,0,112,28,0,112,28,0,224,28,1,224,28,3,192, + 28,15,128,63,254,0,255,248,0,24,32,96,26,1,0,0, + 240,64,1,248,96,3,252,192,2,31,128,6,6,0,0,0, + 0,0,0,0,248,1,255,60,0,124,30,0,56,30,0,56, + 31,0,56,31,128,56,29,128,56,29,192,56,28,224,56,28, + 96,56,28,112,56,28,56,56,28,28,56,28,28,56,28,14, + 56,28,7,56,28,7,56,28,3,184,28,3,248,28,1,248, + 28,0,248,28,0,248,28,0,120,62,0,56,255,128,24,21, + 34,102,24,1,0,3,0,0,7,128,0,15,192,0,3,224, + 0,0,240,0,0,56,0,0,28,0,0,4,0,0,0,0, + 0,252,0,3,255,0,7,7,128,12,3,192,24,1,224,56, + 0,224,112,0,112,112,0,112,96,0,120,224,0,56,224,0, + 56,224,0,56,224,0,56,224,0,56,224,0,56,224,0,56, + 240,0,48,112,0,112,112,0,96,120,0,224,60,0,192,30, + 1,128,15,7,0,7,254,0,1,248,0,21,34,102,24,1, + 0,0,3,0,0,7,128,0,15,192,0,31,0,0,60,0, + 0,112,0,0,224,0,0,128,0,0,0,0,0,252,0,3, + 255,0,7,7,128,12,3,192,24,1,224,56,0,224,112,0, + 112,112,0,112,96,0,120,224,0,56,224,0,56,224,0,56, + 224,0,56,224,0,56,224,0,56,224,0,56,240,0,48,112, + 0,112,112,0,96,120,0,224,60,0,192,30,1,128,15,7, + 0,7,254,0,1,248,0,21,33,99,24,1,0,0,120,0, + 0,252,0,0,252,0,1,206,0,3,135,0,6,1,128,4, + 0,128,0,0,0,0,252,0,3,255,0,7,7,128,12,3, + 192,24,1,224,56,0,224,112,0,112,112,0,112,96,0,120, + 224,0,56,224,0,56,224,0,56,224,0,56,224,0,56,224, + 0,56,224,0,56,240,0,48,112,0,112,112,0,96,120,0, + 224,60,0,192,30,1,128,15,7,0,7,254,0,1,248,0, + 21,32,96,24,1,0,1,224,128,3,240,192,7,249,128,6, + 63,0,12,12,0,0,0,0,0,0,0,0,252,0,3,255, + 0,7,7,128,12,3,192,24,1,224,56,0,224,112,0,112, + 112,0,112,96,0,120,224,0,56,224,0,56,224,0,56,224, + 0,56,224,0,56,224,0,56,224,0,56,240,0,48,112,0, + 112,112,0,96,120,0,224,60,0,192,30,1,128,15,7,0, + 7,254,0,1,248,0,21,31,93,24,1,0,3,1,128,7, + 3,128,7,3,128,7,3,128,2,1,0,0,0,0,0,252, + 0,3,255,0,7,7,128,12,3,192,24,1,224,56,0,224, + 112,0,112,112,0,112,96,0,120,224,0,56,224,0,56,224, + 0,56,224,0,56,224,0,56,224,0,56,224,0,56,240,0, + 48,112,0,112,112,0,96,120,0,224,60,0,192,30,1,128, + 15,7,0,7,254,0,1,248,0,13,12,24,16,2,5,192, + 48,224,120,112,224,57,192,31,128,15,0,15,0,31,128,57, + 192,112,224,224,112,192,56,21,26,78,24,1,255,0,252,56, + 3,255,112,7,7,224,12,3,224,24,1,224,56,3,240,48, + 7,240,112,7,112,96,14,120,224,28,56,224,28,56,224,56, + 56,224,112,56,224,112,56,224,224,56,225,192,56,243,128,48, + 115,128,112,119,0,96,126,0,224,60,0,192,62,1,128,63, + 7,0,119,254,0,225,248,0,128,0,0,24,34,102,26,1, + 0,1,128,0,3,192,0,3,224,0,0,240,0,0,120,0, + 0,28,0,0,6,0,0,3,0,0,0,0,255,129,255,62, + 0,124,28,0,56,28,0,56,28,0,56,28,0,56,28,0, + 56,28,0,56,28,0,56,28,0,56,28,0,56,28,0,56, + 28,0,56,28,0,56,28,0,56,28,0,56,28,0,56,28, + 0,56,28,0,112,14,0,112,14,0,112,15,0,224,7,193, + 192,3,255,128,0,126,0,24,34,102,26,1,0,0,1,128, + 0,3,224,0,7,224,0,15,128,0,30,0,0,56,0,0, + 112,0,0,64,0,0,0,0,255,129,255,62,0,124,28,0, + 56,28,0,56,28,0,56,28,0,56,28,0,56,28,0,56, + 28,0,56,28,0,56,28,0,56,28,0,56,28,0,56,28, + 0,56,28,0,56,28,0,56,28,0,56,28,0,56,28,0, + 112,14,0,112,14,0,112,15,0,224,7,193,192,3,255,128, + 0,126,0,24,33,99,26,1,0,0,28,0,0,62,0,0, + 127,0,0,231,0,1,193,128,3,128,192,2,0,64,0,0, + 0,255,129,255,62,0,124,28,0,56,28,0,56,28,0,56, + 28,0,56,28,0,56,28,0,56,28,0,56,28,0,56,28, + 0,56,28,0,56,28,0,56,28,0,56,28,0,56,28,0, + 56,28,0,56,28,0,56,28,0,112,14,0,112,14,0,112, + 15,0,224,7,193,192,3,255,128,0,126,0,24,31,93,26, + 1,0,1,128,192,3,129,192,3,129,192,3,129,192,1,0, + 128,0,0,0,255,129,255,62,0,124,28,0,56,28,0,56, + 28,0,56,28,0,56,28,0,56,28,0,56,28,0,56,28, + 0,56,28,0,56,28,0,56,28,0,56,28,0,56,28,0, + 56,28,0,56,28,0,56,28,0,56,28,0,112,14,0,112, + 14,0,112,15,0,224,7,193,192,3,255,128,0,126,0,23, + 34,102,24,0,0,0,1,128,0,3,192,0,7,192,0,15, + 0,0,30,0,0,56,0,0,96,0,0,192,0,0,0,0, + 248,1,254,60,0,120,30,0,96,14,0,224,7,0,192,7, + 129,192,3,129,128,3,195,128,1,195,0,0,231,0,0,238, + 0,0,126,0,0,124,0,0,56,0,0,56,0,0,56,0, + 0,56,0,0,56,0,0,56,0,0,56,0,0,56,0,0, + 56,0,0,56,0,0,124,0,1,255,0,18,25,75,21,1, + 0,255,128,0,60,0,0,28,0,0,28,0,0,31,248,0, + 31,254,0,28,31,0,28,7,128,28,3,128,28,3,192,28, + 1,192,28,1,192,28,1,192,28,1,192,28,1,192,28,3, + 128,28,7,128,28,15,0,29,254,0,28,248,0,28,0,0, + 28,0,0,28,0,0,62,0,0,255,128,0,20,30,90,23, + 1,0,0,124,0,1,255,0,3,15,128,6,3,128,14,3, + 192,12,1,192,12,1,192,28,1,192,28,1,192,28,3,128, + 28,7,128,28,31,0,28,120,0,28,240,0,28,224,0,28, + 224,0,28,240,0,28,124,0,28,63,0,28,31,192,28,7, + 224,28,1,224,28,0,240,28,0,112,28,128,112,28,128,112, + 28,192,96,28,224,224,60,255,192,252,63,0,16,29,58,18, + 2,0,56,0,60,0,28,0,14,0,14,0,7,0,3,128, + 1,128,0,192,0,0,0,0,3,224,31,240,56,120,112,56, + 240,56,192,56,0,56,0,120,7,248,28,56,112,56,96,56, + 224,56,224,56,224,120,241,185,127,63,60,24,16,29,58,18, + 2,0,0,56,0,120,0,112,0,224,0,192,1,192,3,128, + 3,0,6,0,0,0,0,0,3,224,31,240,56,120,112,56, + 240,56,192,56,0,56,0,120,7,248,28,56,112,56,96,56, + 224,56,224,56,224,120,241,185,127,63,60,24,16,29,58,18, + 2,0,3,128,7,128,7,192,15,224,30,224,28,112,56,56, + 48,24,96,12,0,0,0,0,3,224,31,240,56,120,112,56, + 240,56,192,56,0,56,0,120,7,248,28,56,112,56,96,56, + 224,56,224,56,224,120,241,185,127,63,60,24,16,27,54,18, + 2,0,14,4,31,12,63,152,99,240,64,224,0,0,0,0, + 0,0,0,0,3,224,31,240,56,120,112,56,240,56,192,56, + 0,56,0,120,7,248,28,56,112,56,96,56,224,56,224,56, + 224,120,241,185,127,63,60,24,16,27,54,18,2,0,48,24, + 48,24,112,56,112,56,48,24,0,0,0,0,0,0,0,0, + 3,224,31,240,56,120,112,56,240,56,192,56,0,56,0,120, + 7,248,28,56,112,56,96,56,224,56,224,56,224,120,241,185, + 127,63,60,24,16,28,56,18,2,0,3,192,7,224,12,96, + 12,96,24,96,12,96,15,192,7,128,0,0,0,0,3,224, + 31,240,56,120,112,56,240,56,192,56,0,56,0,120,7,248, + 28,56,112,56,96,56,224,56,224,56,224,120,241,185,127,63, + 60,24,24,18,54,28,2,0,3,225,240,15,243,252,56,119, + 30,112,60,14,224,60,7,240,56,7,192,56,7,1,255,255, + 15,255,254,30,56,0,120,56,0,112,56,0,224,56,0,224, + 60,2,224,92,3,241,159,14,127,15,248,60,3,224,15,27, + 54,17,2,247,1,248,7,254,28,28,56,12,48,4,112,0, + 96,0,224,0,224,0,224,0,224,0,224,0,224,0,240,0, + 112,8,120,24,63,240,31,224,15,128,2,0,2,0,3,128, + 7,192,1,192,1,128,7,0,28,0,14,29,58,18,2,0, + 28,0,60,0,30,0,14,0,7,0,3,128,1,128,0,192, + 0,64,0,0,0,0,3,192,15,240,28,120,48,56,112,28, + 96,28,224,28,255,252,255,248,224,0,224,0,224,0,240,0, + 112,4,120,12,60,56,31,240,7,192,14,29,58,18,2,0, + 0,56,0,60,0,120,0,112,0,224,0,192,1,128,1,0, + 3,0,0,0,0,0,3,192,15,240,28,120,48,56,112,28, + 96,28,224,28,255,252,255,248,224,0,224,0,224,0,240,0, + 112,4,120,12,60,56,31,240,7,192,14,29,58,18,2,0, + 1,128,3,192,7,224,7,224,14,112,28,56,24,24,48,12, + 32,4,0,0,0,0,3,192,15,240,28,120,48,56,112,28, + 96,28,224,28,255,252,255,248,224,0,224,0,224,0,240,0, + 112,4,120,12,60,56,31,240,7,192,14,27,54,18,2,0, + 24,12,56,28,56,28,56,28,48,24,0,0,0,0,0,0, + 0,0,3,192,15,240,28,120,48,56,112,28,96,28,224,28, + 255,252,255,248,224,0,224,0,224,0,240,0,112,4,120,12, + 60,56,31,240,7,192,10,29,58,11,0,0,224,0,240,0, + 120,0,56,0,28,0,12,0,14,0,6,0,3,0,0,0, + 0,0,6,0,126,0,30,0,14,0,14,0,14,0,14,0, + 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, + 14,0,30,0,127,192,10,29,58,11,1,0,1,192,3,192, + 3,128,7,128,7,0,14,0,12,0,24,0,16,0,0,0, + 0,0,12,0,252,0,60,0,28,0,28,0,28,0,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,60,0,255,128,13,29,58,11,255,0,7,0,7,128, + 15,128,31,192,29,192,56,224,112,112,96,48,192,24,0,0, + 0,0,3,0,63,0,15,0,7,0,7,0,7,0,7,0, + 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, + 7,0,15,0,63,224,12,27,54,11,0,0,192,96,224,112, + 224,112,192,96,192,96,0,0,0,0,0,0,0,0,6,0, + 126,0,30,0,14,0,14,0,14,0,14,0,14,0,14,0, + 14,0,14,0,14,0,14,0,14,0,14,0,14,0,30,0, + 127,192,16,28,56,20,2,0,6,0,63,6,7,159,1,248, + 3,224,15,112,28,56,0,28,0,28,0,14,3,206,15,254, + 28,127,48,31,112,15,96,15,224,7,224,7,224,7,224,7, + 224,6,224,6,240,14,112,12,120,28,60,56,31,240,7,192, + 21,27,81,22,1,0,1,192,128,7,225,0,7,243,0,12, + 126,0,8,28,0,0,0,0,0,0,0,0,0,0,0,0, + 0,12,15,0,252,63,128,60,99,192,29,129,192,29,1,192, + 30,1,192,30,1,192,28,1,192,28,1,192,28,1,192,28, + 1,192,28,1,192,28,1,192,28,1,192,28,1,192,28,1, + 192,62,3,192,255,143,248,16,29,58,20,2,0,28,0,30, + 0,14,0,7,0,3,128,3,128,1,192,0,192,0,96,0, + 0,0,0,3,224,15,248,28,60,48,30,112,14,96,15,224, + 7,224,7,224,7,224,7,224,7,224,7,240,6,112,14,120, + 12,62,56,31,240,7,192,16,29,58,20,2,0,0,28,0, + 60,0,56,0,112,0,112,0,224,0,192,1,128,3,0,0, + 0,0,0,3,224,15,248,28,60,48,30,112,14,96,15,224, + 7,224,7,224,7,224,7,224,7,224,7,240,6,112,14,120, + 12,62,56,31,240,7,192,16,29,58,20,2,0,1,192,3, + 192,3,224,7,240,7,112,14,56,28,28,24,12,48,6,0, + 0,0,0,3,224,15,248,28,60,48,30,112,14,96,15,224, + 7,224,7,224,7,224,7,224,7,224,7,240,6,112,14,120, + 12,62,56,31,240,7,192,16,27,54,20,2,0,7,2,15, + 134,31,204,49,248,32,112,0,0,0,0,0,0,0,0,3, + 224,15,248,28,60,48,30,112,14,96,15,224,7,224,7,224, + 7,224,7,224,7,224,7,240,6,112,14,120,12,62,56,31, + 240,7,192,16,27,54,20,2,0,24,12,24,12,28,14,24, + 12,24,12,0,0,0,0,0,0,0,0,3,224,15,248,28, + 60,48,30,112,14,96,15,224,7,224,7,224,7,224,7,224, + 7,224,7,240,6,112,14,120,12,62,56,31,240,7,192,14, + 14,28,16,1,4,1,128,3,128,3,128,3,0,0,0,0, + 0,127,252,255,252,0,0,0,0,1,128,3,128,3,128,3, + 0,16,20,40,20,2,255,0,1,3,227,15,254,28,60,48, + 30,112,30,96,63,224,103,224,199,224,135,225,135,227,7,230, + 7,252,6,120,14,120,12,60,56,127,240,199,192,128,0,21, + 29,87,21,0,0,7,0,0,7,128,0,3,192,0,1,192, + 0,0,224,0,0,96,0,0,48,0,0,48,0,0,24,0, + 0,0,0,0,0,0,12,0,192,252,15,192,28,1,192,28, + 1,192,28,1,192,28,1,192,28,1,192,28,1,192,28,1, + 192,28,1,192,28,1,192,28,1,192,28,1,192,28,3,192, + 28,7,192,30,29,200,15,241,240,7,192,192,21,29,87,21, + 0,0,0,7,0,0,15,128,0,14,0,0,30,0,0,28, + 0,0,56,0,0,48,0,0,96,0,0,64,0,0,0,0, + 0,0,0,12,0,192,252,15,192,28,1,192,28,1,192,28, + 1,192,28,1,192,28,1,192,28,1,192,28,1,192,28,1, + 192,28,1,192,28,1,192,28,1,192,28,3,192,28,7,192, + 30,29,200,15,241,240,7,192,192,21,29,87,21,0,0,0, + 112,0,0,120,0,0,248,0,1,252,0,1,222,0,3,142, + 0,7,7,0,6,3,0,12,1,128,0,0,0,0,0,0, + 12,0,192,252,15,192,28,1,192,28,1,192,28,1,192,28, + 1,192,28,1,192,28,1,192,28,1,192,28,1,192,28,1, + 192,28,1,192,28,1,192,28,3,192,28,7,192,30,29,200, + 15,241,240,7,192,192,21,27,81,21,0,0,6,3,0,7, + 3,128,7,3,128,6,3,0,6,3,0,0,0,0,0,0, + 0,0,0,0,0,0,0,12,0,192,252,15,192,28,1,192, + 28,1,192,28,1,192,28,1,192,28,1,192,28,1,192,28, + 1,192,28,1,192,28,1,192,28,1,192,28,1,192,28,3, + 192,28,7,192,30,29,200,15,241,240,7,192,192,20,38,114, + 20,255,247,0,3,128,0,7,128,0,7,0,0,14,0,0, + 12,0,0,28,0,0,56,0,0,48,0,0,96,0,0,0, + 0,0,0,0,127,131,240,30,0,224,14,0,192,14,0,192, + 7,1,128,7,1,128,7,3,0,3,131,0,3,131,0,1, + 198,0,1,198,0,1,198,0,0,236,0,0,236,0,0,120, + 0,0,120,0,0,120,0,0,48,0,0,48,0,0,96,0, + 0,96,0,0,224,0,1,192,0,67,128,0,127,0,0,254, + 0,0,124,0,0,18,39,117,21,1,247,12,0,0,252,0, + 0,60,0,0,28,0,0,28,0,0,28,0,0,28,0,0, + 28,0,0,28,0,0,28,0,0,28,0,0,28,0,0,28, + 60,0,28,255,0,29,143,0,31,7,128,30,3,128,28,3, + 192,28,1,192,28,1,192,28,1,192,28,1,192,28,1,192, + 28,1,128,28,1,128,28,3,128,30,3,0,31,134,0,31, + 252,0,28,240,0,28,0,0,28,0,0,28,0,0,28,0, + 0,28,0,0,28,0,0,28,0,0,62,0,0,255,128,0, + 20,36,108,20,255,247,3,1,128,3,1,128,7,3,128,7, + 3,128,3,1,128,0,0,0,0,0,0,0,0,0,0,0, + 0,127,131,240,30,0,224,14,0,192,14,0,192,7,1,128, + 7,1,128,7,3,0,3,131,0,3,131,0,1,198,0,1, + 198,0,1,198,0,0,236,0,0,236,0,0,120,0,0,120, + 0,0,120,0,0,48,0,0,48,0,0,96,0,0,96,0, + 0,224,0,1,192,0,67,128,0,127,0,0,254,0,0,124, + 0,0}; +/* + Fontname: -FreeType-Gentium Basic-Medium-R-Normal--40-400-72-72-P-182-ISO10646-1 + Copyright: Copyright (c) SIL International, 2003-2008. + Capital A Height: 0, '1' Height: 24 + Calculated Max Values w=17 h=38 x= 3 y=14 dx=19 dy= 0 ascent=31 len=114 + Font Bounding box w=59 h=57 x=-20 y=-14 + Calculated Min Values x= 0 y=-7 dx= 0 dy= 0 + Pure Font ascent =24 descent= 0 + X Font ascent =24 descent= 0 + Max Font ascent =31 descent=-7 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_gdr25n[835] U8G_FONT_SECTION("u8g_font_gdr25n") = { + 0,59,57,236,242,24,0,0,0,0,42,58,0,31,249,24, + 0,16,16,32,18,1,14,1,128,1,128,1,128,97,132,113, + 142,121,159,31,248,7,192,3,192,31,248,121,158,241,142,33, + 134,1,128,1,128,1,128,15,14,28,16,1,4,3,128,3, + 128,3,128,3,128,3,128,3,128,255,254,255,254,3,128,3, + 128,3,128,3,128,3,128,3,128,6,10,10,9,2,250,60, + 252,60,28,28,24,24,48,32,64,11,2,4,13,1,9,127, + 224,255,224,5,5,5,9,2,255,112,248,248,248,112,17,38, + 114,19,1,249,0,1,128,0,7,0,0,7,0,0,7,0, + 0,14,0,0,14,0,0,14,0,0,28,0,0,28,0,0, + 56,0,0,56,0,0,56,0,0,112,0,0,112,0,0,112, + 0,0,224,0,0,224,0,1,192,0,1,192,0,1,192,0, + 3,128,0,3,128,0,3,128,0,7,0,0,7,0,0,14, + 0,0,14,0,0,14,0,0,28,0,0,28,0,0,28,0, + 0,56,0,0,56,0,0,112,0,0,112,0,0,112,0,0, + 224,0,0,192,0,0,17,24,72,19,1,0,3,224,0,15, + 248,0,28,60,0,56,30,0,48,14,0,112,7,0,96,7, + 0,96,7,128,224,3,128,224,3,128,224,3,128,224,3,128, + 224,3,128,224,3,128,224,3,128,224,3,128,240,3,0,112, + 7,0,112,7,0,120,6,0,60,14,0,30,28,0,15,248, + 0,7,224,0,14,24,48,19,3,0,1,128,7,128,63,128, + 255,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, + 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, + 3,128,3,128,3,128,15,224,127,252,14,24,48,19,2,0, + 3,224,15,248,24,120,48,60,112,28,96,28,224,28,0,28, + 0,24,0,56,0,48,0,112,0,224,1,192,1,128,3,128, + 7,0,14,0,28,0,24,4,48,4,112,12,255,252,255,252, + 15,24,48,19,1,0,3,224,15,248,28,120,56,60,112,28, + 112,28,0,28,0,24,0,48,0,96,3,224,3,248,0,60, + 0,28,0,14,0,14,0,14,0,14,0,14,0,28,64,28, + 240,120,63,240,15,192,16,24,48,19,1,0,0,24,0,120, + 0,120,0,248,1,248,1,184,3,56,7,56,6,56,12,56, + 28,56,24,56,48,56,112,56,96,56,255,255,255,254,0,56, + 0,56,0,56,0,56,0,56,0,124,3,255,15,24,48,19, + 1,0,0,4,31,252,31,248,24,0,24,0,24,0,48,0, + 48,0,48,0,63,224,63,248,48,124,64,28,0,30,0,14, + 0,14,0,14,0,14,0,14,0,28,64,28,240,120,63,240, + 15,192,15,24,48,19,2,0,0,56,0,240,3,192,7,0, + 14,0,28,0,56,0,112,0,112,0,99,224,239,248,248,60, + 240,28,224,30,224,14,224,14,224,14,224,14,112,14,112,12, + 56,28,60,56,31,240,7,192,15,23,46,19,2,0,127,254, + 255,254,192,12,192,12,128,28,0,24,0,56,0,48,0,112, + 0,96,0,96,0,224,0,192,1,192,1,128,3,128,3,0, + 7,0,7,0,14,0,14,0,28,0,56,0,15,24,48,19, + 2,0,15,192,63,240,120,120,112,60,240,28,224,28,224,28, + 240,24,120,48,62,96,31,192,7,240,24,120,48,60,112,30, + 96,14,224,14,224,14,224,14,224,12,112,28,124,56,63,240, + 15,192,15,25,50,19,2,255,7,192,15,240,56,120,48,60, + 112,28,96,28,224,14,224,14,224,14,224,14,240,14,112,30, + 120,62,63,238,15,140,0,28,0,28,0,24,0,56,0,112, + 0,224,1,192,7,128,30,0,48,0,5,19,19,9,2,255, + 120,248,248,248,96,0,0,0,0,0,0,0,0,0,112,248, + 248,248,112}; +/* + Fontname: -FreeType-Gentium Basic-Medium-R-Normal--40-400-72-72-P-182-ISO10646-1 + Copyright: Copyright (c) SIL International, 2003-2008. + Capital A Height: 25, '1' Height: 24 + Calculated Max Values w=33 h=41 x= 3 y=20 dx=34 dy= 0 ascent=33 len=132 + Font Bounding box w=59 h=57 x=-20 y=-14 + Calculated Min Values x=-4 y=-9 dx= 0 dy= 0 + Pure Font ascent =25 descent=-9 + X Font ascent =31 descent=-9 + Max Font ascent =33 descent=-9 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_gdr25r[6239] U8G_FONT_SECTION("u8g_font_gdr25r") = { + 0,59,57,236,242,25,6,209,16,163,32,127,247,33,247,31, + 247,0,0,0,9,0,0,5,30,30,11,3,255,48,112,240, + 112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112, + 96,96,96,0,0,0,112,248,248,248,112,11,13,26,17,3, + 16,112,224,241,224,241,224,241,224,241,224,112,224,96,192,96, + 192,96,192,96,192,96,192,96,192,96,192,17,23,69,19,2, + 2,0,194,0,1,134,0,1,134,0,1,142,0,3,140,0, + 3,12,0,3,12,0,63,255,128,63,255,128,6,24,0,6, + 56,0,14,48,0,12,48,0,12,48,0,255,254,0,255,254, + 0,24,96,0,24,224,0,48,192,0,48,192,0,48,192,0, + 113,192,0,97,128,0,16,30,60,19,1,253,1,128,1,128, + 1,128,3,224,15,252,57,254,49,156,113,136,113,128,113,128, + 121,128,61,128,63,128,31,224,7,248,1,252,1,190,1,143, + 1,143,1,135,193,135,193,135,225,142,241,142,255,252,63,240, + 15,192,1,128,1,128,1,128,25,25,100,27,1,255,15,128, + 6,0,63,192,28,0,113,224,56,0,112,224,56,0,224,112, + 112,0,224,112,224,0,224,112,224,0,224,113,192,0,224,115, + 128,0,112,231,0,0,120,231,0,0,63,206,60,0,31,28, + 254,0,0,29,207,0,0,57,199,0,0,115,131,128,0,227, + 131,128,0,227,131,128,1,195,131,128,3,131,131,128,3,131, + 131,128,7,1,199,0,14,1,199,0,28,0,254,0,24,0, + 120,0,24,28,84,27,2,0,0,248,0,1,252,0,3,30, + 0,7,14,0,14,14,0,14,14,0,14,14,0,14,12,0, + 14,28,0,15,56,0,7,112,0,7,192,0,7,131,255,15, + 135,255,29,193,242,57,224,240,112,240,112,112,112,112,224,120, + 112,224,60,112,224,30,224,224,15,224,224,7,192,240,3,192, + 120,3,240,60,30,248,31,252,127,7,224,56,4,13,13,10, + 3,16,112,240,240,240,240,112,96,96,96,96,96,96,96,9, + 37,74,13,3,250,0,128,3,128,7,0,14,0,12,0,28, + 0,24,0,56,0,56,0,112,0,112,0,112,0,112,0,224, + 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, + 0,224,0,224,0,224,0,112,0,112,0,112,0,112,0,56, + 0,56,0,28,0,28,0,14,0,7,0,3,128,0,128,9, + 37,74,13,1,250,128,0,224,0,112,0,56,0,28,0,28, + 0,14,0,14,0,14,0,7,0,7,0,7,0,7,128,3, + 128,3,128,3,128,3,128,3,128,3,128,3,128,3,128,3, + 128,3,128,3,128,7,0,7,0,7,0,7,0,14,0,14, + 0,12,0,28,0,24,0,56,0,112,0,224,0,128,0,16, + 16,32,18,1,14,1,128,1,128,1,128,97,132,113,142,121, + 159,31,248,7,192,3,192,31,248,121,158,241,142,33,134,1, + 128,1,128,1,128,15,14,28,16,1,4,3,128,3,128,3, + 128,3,128,3,128,3,128,255,254,255,254,3,128,3,128,3, + 128,3,128,3,128,3,128,6,10,10,9,2,250,60,252,60, + 28,28,24,24,48,32,64,11,2,4,13,1,9,127,224,255, + 224,5,5,5,9,2,255,112,248,248,248,112,17,38,114,19, + 1,249,0,1,128,0,7,0,0,7,0,0,7,0,0,14, + 0,0,14,0,0,14,0,0,28,0,0,28,0,0,56,0, + 0,56,0,0,56,0,0,112,0,0,112,0,0,112,0,0, + 224,0,0,224,0,1,192,0,1,192,0,1,192,0,3,128, + 0,3,128,0,3,128,0,7,0,0,7,0,0,14,0,0, + 14,0,0,14,0,0,28,0,0,28,0,0,28,0,0,56, + 0,0,56,0,0,112,0,0,112,0,0,112,0,0,224,0, + 0,192,0,0,17,24,72,19,1,0,3,224,0,15,248,0, + 28,60,0,56,30,0,48,14,0,112,7,0,96,7,0,96, + 7,128,224,3,128,224,3,128,224,3,128,224,3,128,224,3, + 128,224,3,128,224,3,128,224,3,128,240,3,0,112,7,0, + 112,7,0,120,6,0,60,14,0,30,28,0,15,248,0,7, + 224,0,14,24,48,19,3,0,1,128,7,128,63,128,255,128, + 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, + 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, + 3,128,3,128,15,224,127,252,14,24,48,19,2,0,3,224, + 15,248,24,120,48,60,112,28,96,28,224,28,0,28,0,24, + 0,56,0,48,0,112,0,224,1,192,1,128,3,128,7,0, + 14,0,28,0,24,4,48,4,112,12,255,252,255,252,15,24, + 48,19,1,0,3,224,15,248,28,120,56,60,112,28,112,28, + 0,28,0,24,0,48,0,96,3,224,3,248,0,60,0,28, + 0,14,0,14,0,14,0,14,0,14,0,28,64,28,240,120, + 63,240,15,192,16,24,48,19,1,0,0,24,0,120,0,120, + 0,248,1,248,1,184,3,56,7,56,6,56,12,56,28,56, + 24,56,48,56,112,56,96,56,255,255,255,254,0,56,0,56, + 0,56,0,56,0,56,0,124,3,255,15,24,48,19,1,0, + 0,4,31,252,31,248,24,0,24,0,24,0,48,0,48,0, + 48,0,63,224,63,248,48,124,64,28,0,30,0,14,0,14, + 0,14,0,14,0,14,0,28,64,28,240,120,63,240,15,192, + 15,24,48,19,2,0,0,56,0,240,3,192,7,0,14,0, + 28,0,56,0,112,0,112,0,99,224,239,248,248,60,240,28, + 224,30,224,14,224,14,224,14,224,14,112,14,112,12,56,28, + 60,56,31,240,7,192,15,23,46,19,2,0,127,254,255,254, + 192,12,192,12,128,28,0,24,0,56,0,48,0,112,0,96, + 0,96,0,224,0,192,1,192,1,128,3,128,3,0,7,0, + 7,0,14,0,14,0,28,0,56,0,15,24,48,19,2,0, + 15,192,63,240,120,120,112,60,240,28,224,28,224,28,240,24, + 120,48,62,96,31,192,7,240,24,120,48,60,112,30,96,14, + 224,14,224,14,224,14,224,12,112,28,124,56,63,240,15,192, + 15,25,50,19,2,255,7,192,15,240,56,120,48,60,112,28, + 96,28,224,14,224,14,224,14,224,14,240,14,112,30,120,62, + 63,238,15,140,0,28,0,28,0,24,0,56,0,112,0,224, + 1,192,7,128,30,0,48,0,5,19,19,9,2,255,120,248, + 248,248,96,0,0,0,0,0,0,0,0,0,112,248,248,248, + 112,6,24,24,9,2,250,120,248,248,248,96,0,0,0,0, + 0,0,0,0,0,60,252,60,28,28,24,24,48,32,64,15, + 13,26,18,1,5,0,2,0,30,0,254,3,240,31,192,126, + 0,240,0,252,0,63,128,7,224,1,252,0,62,0,12,15, + 8,16,18,1,7,127,254,255,254,0,0,0,0,0,0,0, + 0,127,254,255,254,15,13,26,18,1,5,96,0,252,0,63, + 0,15,224,1,252,0,126,0,30,0,126,3,240,31,192,126, + 0,248,0,192,0,14,30,60,17,2,255,7,224,31,240,56, + 120,112,56,224,28,224,28,224,28,192,28,0,28,0,56,0, + 56,0,112,0,240,0,224,1,192,3,128,3,128,7,0,7, + 0,7,0,7,0,7,0,0,0,0,0,0,0,7,0,15, + 128,15,128,15,128,7,0,30,33,132,32,1,249,0,7,248, + 0,0,63,254,0,0,240,31,128,1,192,7,192,3,0,1, + 224,6,0,0,240,12,0,0,112,24,0,0,120,56,3,198, + 56,48,15,252,56,112,28,60,60,112,56,28,28,96,112,28, + 28,224,96,28,28,224,224,28,28,224,224,28,28,224,224,28, + 28,224,224,28,28,224,224,28,28,224,224,28,24,240,240,28, + 56,112,112,28,48,112,120,60,96,120,60,94,224,56,31,143, + 128,60,15,15,0,30,0,0,0,31,0,0,0,15,128,0, + 32,7,192,0,192,1,248,15,128,0,255,254,0,0,31,240, + 0,23,25,75,24,0,0,0,8,0,0,56,0,0,60,0, + 0,60,0,0,108,0,0,110,0,0,110,0,0,198,0,0, + 199,0,0,199,0,1,131,0,1,131,128,1,131,128,3,1, + 128,3,255,192,3,255,192,6,0,224,6,0,224,6,0,224, + 12,0,112,12,0,112,12,0,112,24,0,56,28,0,120,255, + 1,254,19,25,75,22,1,0,31,240,0,255,254,0,28,31, + 0,28,7,128,28,3,128,28,3,128,28,3,128,28,3,128, + 28,7,0,28,6,0,28,28,0,31,254,0,31,255,0,28, + 15,128,28,3,192,28,1,224,28,0,224,28,0,224,28,0, + 224,28,0,224,28,1,224,28,1,192,28,7,128,63,255,0, + 255,252,0,19,25,75,21,1,0,0,254,0,3,255,192,7, + 7,192,12,1,128,24,0,0,56,0,0,112,0,0,112,0, + 0,112,0,0,224,0,0,224,0,0,224,0,0,224,0,0, + 224,0,0,224,0,0,224,0,0,224,0,0,112,0,0,112, + 0,0,120,0,0,60,0,64,30,1,224,15,135,128,7,254, + 0,1,248,0,21,25,75,24,1,0,31,248,0,255,255,0, + 28,15,128,28,3,192,28,1,224,28,0,240,28,0,112,28, + 0,112,28,0,120,28,0,56,28,0,56,28,0,56,28,0, + 56,28,0,56,28,0,56,28,0,56,28,0,112,28,0,112, + 28,0,112,28,0,224,28,1,224,28,3,192,28,15,128,63, + 254,0,255,248,0,18,25,75,20,1,0,255,255,0,63,255, + 0,28,3,0,28,1,0,28,1,0,28,0,0,28,0,0, + 28,0,0,28,0,0,28,0,0,31,252,0,31,252,0,28, + 8,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, + 0,28,0,0,28,0,0,28,0,64,28,0,192,28,1,128, + 63,255,128,255,255,128,17,25,75,19,1,0,255,255,128,63, + 255,128,28,3,0,28,1,0,28,1,0,28,0,0,28,0, + 0,28,0,0,28,0,0,28,0,0,31,252,0,31,248,0, + 28,24,0,28,0,0,28,0,0,28,0,0,28,0,0,28, + 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, + 0,62,0,0,255,128,0,21,25,75,23,1,0,0,127,0, + 1,255,192,7,3,224,14,0,192,28,0,0,56,0,0,48, + 0,0,112,0,0,112,0,0,224,0,0,224,0,0,224,0, + 0,224,0,0,224,15,248,224,1,224,224,0,224,224,0,224, + 112,0,224,112,0,224,120,0,224,60,0,224,30,0,224,15, + 129,192,7,255,128,1,252,0,24,25,75,26,1,0,255,129, + 255,62,0,124,28,0,56,28,0,56,28,0,56,28,0,56, + 28,0,56,28,0,56,28,0,56,28,0,56,28,0,56,31, + 255,248,31,255,248,28,0,56,28,0,56,28,0,56,28,0, + 56,28,0,56,28,0,56,28,0,56,28,0,56,28,0,56, + 28,0,56,62,0,124,255,129,255,9,25,50,12,1,0,255, + 128,62,0,28,0,28,0,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,28,0,28,0,28,0,28,0,62,0,255, + 128,15,32,64,12,252,249,7,254,0,248,0,112,0,112,0, + 112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0, + 112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0, + 112,0,112,0,112,0,112,0,112,0,96,0,96,0,224,0, + 192,49,128,127,0,252,0,22,25,75,23,1,0,255,135,248, + 62,1,192,28,3,128,28,7,0,28,14,0,28,12,0,28, + 24,0,28,56,0,28,112,0,28,224,0,29,192,0,31,128, + 0,31,192,0,29,224,0,28,224,0,28,112,0,28,56,0, + 28,60,0,28,30,0,28,15,0,28,7,128,28,3,192,28, + 3,224,62,1,252,255,128,240,18,25,75,19,1,0,255,128, + 0,62,0,0,28,0,0,28,0,0,28,0,0,28,0,0, + 28,0,0,28,0,0,28,0,0,28,0,0,28,0,0,28, + 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, + 0,28,0,0,28,0,0,28,0,0,28,0,192,28,0,128, + 30,1,128,63,255,128,255,255,128,30,25,100,32,1,0,254, + 0,1,248,30,0,3,224,31,0,3,224,31,0,3,224,31, + 0,7,224,27,128,6,224,27,128,14,224,25,192,12,224,25, + 192,12,224,24,224,28,224,24,224,24,224,24,224,56,224,24, + 112,48,224,24,112,112,224,24,56,96,224,24,56,96,224,24, + 28,224,224,24,28,192,224,24,31,192,224,24,15,128,224,24, + 15,128,224,24,7,128,224,24,7,0,224,60,7,1,224,255, + 2,7,252,24,25,75,26,1,0,248,1,255,60,0,124,30, + 0,56,30,0,56,31,0,56,31,128,56,29,128,56,29,192, + 56,28,224,56,28,96,56,28,112,56,28,56,56,28,28,56, + 28,28,56,28,14,56,28,7,56,28,7,56,28,3,184,28, + 3,248,28,1,248,28,0,248,28,0,248,28,0,120,62,0, + 56,255,128,24,21,25,75,24,1,0,0,252,0,3,255,0, + 7,7,128,12,3,192,24,1,224,56,0,224,112,0,112,112, + 0,112,96,0,120,224,0,56,224,0,56,224,0,56,224,0, + 56,224,0,56,224,0,56,224,0,56,240,0,48,112,0,112, + 112,0,96,120,0,224,60,0,192,30,1,128,15,7,0,7, + 254,0,1,248,0,18,25,75,21,1,0,31,248,0,255,254, + 0,28,31,0,28,7,128,28,3,192,28,1,192,28,1,192, + 28,1,192,28,1,192,28,1,192,28,3,128,28,7,128,28, + 15,0,29,254,0,28,248,0,28,0,0,28,0,0,28,0, + 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,0, + 62,0,0,255,128,0,24,31,93,24,1,250,0,252,0,3, + 255,0,7,7,128,12,3,192,24,1,224,56,0,224,112,0, + 112,112,0,112,96,0,120,224,0,56,224,0,56,224,0,56, + 224,0,56,224,0,56,224,0,56,224,0,56,240,0,48,112, + 0,112,112,0,112,56,0,224,60,0,192,30,1,192,15,7, + 128,7,254,0,1,252,0,0,14,0,0,7,0,0,3,130, + 0,1,227,0,0,254,0,0,60,21,25,75,22,1,0,31, + 240,0,255,254,0,28,31,0,28,7,0,28,7,128,28,3, + 128,28,3,128,28,3,128,28,3,128,28,7,0,28,6,0, + 28,28,0,31,240,0,28,112,0,28,56,0,28,56,0,28, + 28,0,28,30,0,28,14,0,28,7,0,28,7,128,28,3, + 128,28,3,192,62,1,248,255,129,240,15,25,50,19,2,0, + 7,224,31,248,120,124,112,24,224,0,224,0,224,0,240,0, + 248,0,126,0,63,128,31,224,7,248,1,252,0,124,0,30, + 0,30,0,14,128,14,128,14,192,28,224,28,240,120,255,240, + 31,128,21,25,75,22,0,0,127,255,248,255,255,248,192,112, + 24,192,112,24,128,112,16,0,112,0,0,112,0,0,112,0, + 0,112,0,0,112,0,0,112,0,0,112,0,0,112,0,0, + 112,0,0,112,0,0,112,0,0,112,0,0,112,0,0,112, + 0,0,112,0,0,112,0,0,112,0,0,112,0,0,248,0, + 3,254,0,24,25,75,26,1,0,255,129,255,62,0,124,28, + 0,56,28,0,56,28,0,56,28,0,56,28,0,56,28,0, + 56,28,0,56,28,0,56,28,0,56,28,0,56,28,0,56, + 28,0,56,28,0,56,28,0,56,28,0,56,28,0,56,28, + 0,112,14,0,112,14,0,112,15,0,224,7,193,192,3,255, + 128,0,126,0,25,25,100,26,0,0,255,128,127,128,28,0, + 14,0,30,0,12,0,14,0,28,0,14,0,24,0,15,0, + 24,0,7,0,56,0,7,0,48,0,3,128,48,0,3,128, + 112,0,3,192,96,0,1,192,224,0,1,192,224,0,1,224, + 192,0,0,225,192,0,0,225,128,0,0,113,128,0,0,115, + 128,0,0,123,0,0,0,59,0,0,0,63,0,0,0,62, + 0,0,0,30,0,0,0,30,0,0,0,8,0,0,33,25, + 125,34,0,0,255,128,192,127,128,28,0,192,14,0,28,0, + 192,12,0,28,1,224,12,0,14,1,224,28,0,14,1,224, + 28,0,14,3,240,24,0,14,3,112,24,0,7,3,48,24, + 0,7,7,56,56,0,7,6,56,56,0,7,6,24,48,0, + 7,14,28,48,0,3,140,28,48,0,3,140,14,112,0,3, + 156,14,96,0,3,152,14,96,0,1,216,7,96,0,1,248, + 7,96,0,1,240,7,224,0,1,240,3,192,0,1,240,3, + 192,0,0,224,3,192,0,0,224,1,192,0,0,192,1,128, + 0,23,25,75,25,1,0,255,135,252,60,0,240,28,0,224, + 30,1,192,15,1,128,7,3,128,7,135,0,3,198,0,1, + 238,0,0,252,0,0,252,0,0,120,0,0,120,0,0,124, + 0,0,254,0,1,206,0,1,207,0,3,135,128,3,3,128, + 7,3,192,14,1,224,12,0,224,28,0,240,60,0,248,255, + 3,254,23,25,75,24,0,0,248,1,254,60,0,120,30,0, + 96,14,0,224,7,0,192,7,129,192,3,129,128,3,195,128, + 1,195,0,0,231,0,0,238,0,0,126,0,0,124,0,0, + 56,0,0,56,0,0,56,0,0,56,0,0,56,0,0,56, + 0,0,56,0,0,56,0,0,56,0,0,56,0,0,124,0, + 1,255,0,18,25,75,21,1,0,63,255,192,63,255,192,48, + 3,128,32,7,128,96,15,0,96,14,0,0,30,0,0,28, + 0,0,56,0,0,120,0,0,112,0,0,240,0,1,224,0, + 1,192,0,3,192,0,3,128,0,7,0,0,15,0,0,14, + 0,0,30,0,64,60,0,64,56,0,192,120,0,192,127,255, + 192,255,255,192,9,37,74,12,3,250,255,128,255,128,224,0, + 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, + 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, + 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, + 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, + 255,128,255,128,17,38,114,19,1,249,192,0,0,224,0,0, + 112,0,0,112,0,0,48,0,0,56,0,0,56,0,0,24, + 0,0,28,0,0,28,0,0,14,0,0,14,0,0,6,0, + 0,7,0,0,7,0,0,3,0,0,3,128,0,3,128,0, + 1,192,0,1,192,0,0,192,0,0,224,0,0,224,0,0, + 96,0,0,112,0,0,112,0,0,56,0,0,56,0,0,24, + 0,0,28,0,0,28,0,0,12,0,0,14,0,0,14,0, + 0,7,0,0,7,0,0,3,0,0,1,128,9,37,74,13, + 1,250,255,128,255,128,3,128,3,128,3,128,3,128,3,128, + 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, + 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, + 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, + 3,128,3,128,3,128,3,128,255,128,255,128,16,19,38,20, + 2,11,0,128,3,128,3,192,3,192,7,224,6,224,14,224, + 12,112,12,112,28,120,24,56,24,56,48,28,48,28,112,28, + 96,14,96,14,224,7,128,6,17,2,6,19,1,251,127,255, + 128,255,255,0,8,9,9,13,1,20,224,240,112,56,56,28, + 14,6,3,16,18,36,18,2,0,3,224,31,240,56,120,112, + 56,240,56,192,56,0,56,0,120,7,248,28,56,112,56,96, + 56,224,56,224,56,224,120,241,185,127,63,60,24,18,30,90, + 20,0,0,12,0,0,124,0,0,188,0,0,28,0,0,28, + 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, + 0,28,0,0,28,0,0,28,60,0,28,255,0,29,143,0, + 31,7,128,30,3,128,28,3,192,28,1,192,28,1,192,28, + 1,192,28,1,192,28,1,192,28,1,128,28,1,128,28,3, + 128,30,3,0,31,134,0,7,252,0,1,240,0,15,18,36, + 17,2,0,1,248,7,254,28,28,56,12,112,4,112,0,224, + 0,224,0,224,0,224,0,224,0,224,0,240,0,112,4,120, + 6,62,28,31,248,7,224,19,30,90,21,2,0,0,3,0, + 0,63,0,0,15,0,0,7,0,0,7,0,0,7,0,0, + 7,0,0,7,0,0,7,0,0,7,0,0,7,0,0,7, + 0,3,247,0,15,255,0,28,31,0,56,15,0,48,7,0, + 112,7,0,96,7,0,224,7,0,224,7,0,224,7,0,224, + 7,0,224,7,0,240,7,0,112,15,0,120,31,0,60,55, + 224,31,231,192,7,131,0,14,18,36,18,2,0,3,192,15, + 240,28,120,48,56,112,28,96,28,224,28,255,252,255,248,224, + 0,224,0,224,0,240,0,112,4,120,12,60,56,31,240,7, + 192,15,30,60,12,1,0,0,120,1,254,3,28,6,8,14, + 0,12,0,12,0,28,0,28,0,28,0,28,0,28,0,127, + 240,255,224,28,64,28,0,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,62, + 0,255,192,18,27,81,19,1,247,3,224,192,15,255,192,28, + 63,0,56,28,0,112,14,0,112,14,0,112,14,0,112,14, + 0,120,28,0,60,56,0,31,240,0,7,192,0,6,0,0, + 12,0,0,28,0,0,31,224,0,15,254,0,12,63,128,24, + 3,192,112,1,192,224,1,192,224,1,192,224,3,128,240,3, + 128,124,15,0,63,252,0,7,240,0,21,30,90,22,1,0, + 12,0,0,252,0,0,124,0,0,28,0,0,28,0,0,28, + 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, + 0,28,0,0,28,31,0,28,63,128,28,227,192,29,129,192, + 31,1,192,30,1,192,30,1,192,28,1,192,28,1,192,28, + 1,192,28,1,192,28,1,192,28,1,192,28,1,192,28,1, + 192,28,1,192,62,3,192,255,143,248,9,27,54,11,1,0, + 28,0,60,0,60,0,60,0,24,0,0,0,0,0,0,0, + 0,0,12,0,252,0,60,0,28,0,28,0,28,0,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,60,0,255,128,11,36,72,10,252,247,0,224,1,224, + 1,224,1,224,0,192,0,0,0,0,0,0,0,0,0,96, + 7,224,1,224,0,224,0,224,0,224,0,224,0,224,0,224, + 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, + 0,224,0,224,0,224,0,192,0,192,1,192,1,128,35,0, + 254,0,248,0,19,30,90,20,1,0,12,0,0,252,0,0, + 60,0,0,28,0,0,28,0,0,28,0,0,28,0,0,28, + 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,31, + 224,28,7,0,28,14,0,28,28,0,28,48,0,28,224,0, + 29,192,0,31,128,0,29,192,0,29,224,0,28,240,0,28, + 120,0,28,56,0,28,28,0,28,30,0,28,15,0,60,7, + 128,255,3,224,9,30,60,11,1,0,12,0,252,0,124,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,60,0,255,128,31,18,72,32,1,0,12,30,3,192, + 252,127,15,224,60,199,152,240,29,131,176,112,31,3,224,112, + 30,3,192,112,28,3,128,112,28,3,128,112,28,3,128,112, + 28,3,128,112,28,3,128,112,28,3,128,112,28,3,128,112, + 28,3,128,112,28,3,128,112,28,3,128,112,60,7,192,240, + 255,159,243,254,21,18,54,22,1,0,12,15,0,252,63,128, + 60,99,192,29,129,192,29,1,192,30,1,192,30,1,192,28, + 1,192,28,1,192,28,1,192,28,1,192,28,1,192,28,1, + 192,28,1,192,28,1,192,28,1,192,62,3,192,255,143,248, + 16,18,36,20,2,0,3,224,15,248,28,60,48,30,112,14, + 96,15,224,7,224,7,224,7,224,7,224,7,224,7,240,6, + 112,14,120,12,62,56,31,240,7,192,18,27,81,21,1,247, + 12,28,0,252,127,0,60,143,128,29,7,128,30,3,128,30, + 3,192,28,1,192,28,1,192,28,1,192,28,1,192,28,1, + 192,28,1,128,28,1,128,28,3,128,30,3,0,31,6,0, + 29,252,0,28,120,0,28,0,0,28,0,0,28,0,0,28, + 0,0,28,0,0,28,0,0,28,0,0,62,0,0,255,128, + 0,19,27,81,21,2,247,1,241,128,7,251,0,28,31,0, + 56,15,0,48,7,0,112,7,0,96,7,0,224,7,0,224, + 7,0,224,7,0,224,7,0,224,7,0,240,7,0,112,15, + 0,120,31,0,60,55,0,31,231,0,7,135,0,0,7,0, + 0,7,0,0,7,0,0,7,0,0,7,0,0,7,0,0, + 7,0,0,7,0,0,63,224,14,18,36,16,1,0,12,60, + 252,252,61,140,29,12,31,4,30,0,30,0,28,0,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,0,30,0, + 255,128,11,18,36,15,2,0,31,0,127,128,115,192,225,128, + 224,128,240,0,248,0,126,0,31,0,15,192,3,224,1,224, + 128,224,128,224,192,224,225,192,255,128,62,0,13,25,50,14, + 0,0,4,0,12,0,28,0,28,0,28,0,28,0,28,0, + 127,248,255,240,28,32,28,0,28,0,28,0,28,0,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,0,30,56, + 15,240,7,128,21,18,54,21,0,0,12,0,192,252,15,192, + 28,1,192,28,1,192,28,1,192,28,1,192,28,1,192,28, + 1,192,28,1,192,28,1,192,28,1,192,28,1,192,28,1, + 192,28,3,192,28,7,192,30,29,200,15,241,240,7,192,192, + 19,18,54,20,0,0,255,7,224,60,1,192,28,1,128,28, + 3,128,14,3,0,14,3,0,14,6,0,7,6,0,7,6, + 0,3,140,0,3,140,0,3,156,0,1,216,0,1,216,0, + 0,240,0,0,240,0,0,240,0,0,64,0,28,18,72,28, + 0,0,255,3,7,240,60,7,0,192,28,7,0,192,28,7, + 129,128,28,15,129,128,14,15,129,128,14,13,195,128,14,25, + 195,0,6,25,195,0,7,24,227,0,7,48,230,0,3,48, + 118,0,3,176,118,0,3,224,124,0,1,224,60,0,1,224, + 60,0,1,192,60,0,1,128,16,0,20,18,54,20,0,0, + 127,143,224,30,3,128,14,3,0,7,6,0,7,140,0,3, + 156,0,1,216,0,0,240,0,0,240,0,0,240,0,1,184, + 0,1,156,0,3,30,0,6,14,0,14,7,0,12,3,128, + 60,3,192,255,15,240,20,27,81,20,255,247,127,131,240,30, + 0,224,14,0,192,14,0,192,7,1,128,7,1,128,7,3, + 0,3,131,0,3,131,0,1,198,0,1,198,0,1,198,0, + 0,236,0,0,236,0,0,120,0,0,120,0,0,120,0,0, + 48,0,0,48,0,0,96,0,0,96,0,0,224,0,1,192, + 0,67,128,0,127,0,0,254,0,0,124,0,0,15,18,36, + 18,1,0,63,254,63,254,96,28,96,56,64,56,0,112,0, + 224,1,192,1,192,3,128,7,0,7,0,14,0,28,2,56, + 2,56,6,127,254,255,254,11,37,74,14,2,250,0,64,1, + 224,3,128,7,0,6,0,14,0,14,0,14,0,14,0,14, + 0,15,0,7,0,7,0,7,0,7,0,7,0,14,0,28, + 0,124,0,254,0,15,0,7,0,7,0,7,0,7,0,7, + 0,15,0,14,0,14,0,14,0,14,0,14,0,14,0,7, + 0,3,0,1,192,0,64,3,41,41,9,3,248,96,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,192,11,37,74,14,1,250,64,0,112,0, + 56,0,28,0,12,0,14,0,14,0,14,0,14,0,14,0, + 30,0,28,0,28,0,28,0,28,0,28,0,14,0,15,192, + 3,224,7,0,14,0,12,0,28,0,28,0,28,0,28,0, + 30,0,14,0,14,0,14,0,14,0,14,0,12,0,28,0, + 56,0,112,0,192,0,18,6,18,20,1,9,15,0,192,31, + 192,128,63,225,0,99,255,0,192,254,0,128,56,0,255}; +/* + Fontname: -FreeType-Gentium Basic-Medium-R-Normal--48-480-72-72-P-218-ISO10646-1 + Copyright: Copyright (c) SIL International, 2003-2008. + Capital A Height: 30, '1' Height: 29 + Calculated Max Values w=40 h=49 x= 5 y=28 dx=41 dy= 0 ascent=42 len=195 + Font Bounding box w=71 h=68 x=-24 y=-17 + Calculated Min Values x=-5 y=-13 dx= 0 dy= 0 + Pure Font ascent =30 descent=-11 + X Font ascent =38 descent=-11 + Max Font ascent =42 descent=-13 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_gdr30[18369] U8G_FONT_SECTION("u8g_font_gdr30") = { + 0,71,68,232,239,30,9,231,23,124,32,255,245,42,243,38, + 245,0,0,0,11,0,0,6,36,36,13,3,255,12,60,124, + 124,124,124,124,120,120,120,56,56,56,56,56,56,56,56,56, + 56,56,56,56,56,56,56,0,0,0,0,56,124,252,252,248, + 112,13,16,32,20,4,19,48,56,240,248,240,248,240,240,240, + 240,240,240,240,112,240,112,240,112,240,112,112,112,112,112,96, + 112,96,112,96,112,96,112,21,27,81,23,2,3,0,48,96, + 0,112,224,0,96,192,0,224,192,0,225,192,0,225,192,0, + 193,128,1,195,128,31,255,248,31,255,248,3,135,0,3,135, + 0,3,7,0,3,6,0,7,14,0,7,14,0,6,14,0, + 255,255,192,255,255,192,12,28,0,12,24,0,28,56,0,28, + 56,0,24,48,0,56,112,0,56,112,0,48,96,0,20,36, + 108,23,1,252,0,96,0,0,96,0,0,96,0,0,96,0, + 3,254,0,15,255,128,62,127,192,120,103,128,112,99,128,240, + 96,0,240,96,0,240,96,0,248,96,0,126,96,0,127,224, + 0,63,240,0,15,254,0,1,255,0,0,127,192,0,111,224, + 0,99,224,0,97,240,0,96,240,0,96,240,64,96,240,96, + 96,240,112,96,224,120,97,224,124,99,192,127,255,128,31,255, + 0,7,248,0,0,96,0,0,96,0,0,96,0,0,96,0, + 31,30,120,34,1,255,7,192,0,96,31,224,1,240,60,240, + 1,192,120,120,3,192,112,120,7,128,240,60,7,0,240,60, + 14,0,240,60,30,0,240,60,60,0,240,60,56,0,240,60, + 120,0,120,56,240,0,120,120,224,0,60,241,192,0,31,227, + 195,224,15,135,143,240,0,7,30,120,0,15,60,60,0,30, + 56,60,0,28,120,30,0,56,120,30,0,120,120,30,0,240, + 120,30,0,224,120,30,1,192,120,30,3,192,60,28,3,128, + 60,60,7,0,30,120,15,0,15,240,12,0,7,192,30,34, + 136,32,2,0,0,63,0,0,0,255,128,0,1,199,192,0, + 3,131,224,0,7,1,224,0,7,1,224,0,15,1,224,0, + 15,1,224,0,15,3,224,0,15,3,192,0,15,135,192,0, + 15,143,128,0,7,191,0,0,7,254,0,0,7,248,0,0, + 7,240,0,0,15,240,63,248,31,240,127,252,62,120,30,48, + 60,124,15,0,124,60,15,0,120,30,7,0,240,31,7,0, + 240,15,135,0,240,7,198,0,240,3,198,0,240,3,236,0, + 240,1,252,0,248,0,252,0,120,0,126,0,60,0,255,0, + 63,3,143,200,15,255,7,240,3,248,3,192,4,16,16,12, + 4,19,48,240,240,240,240,240,240,240,240,240,112,112,96,96, + 96,96,11,45,90,15,3,249,0,32,0,224,1,192,3,128, + 3,128,7,0,14,0,14,0,28,0,28,0,60,0,56,0, + 56,0,120,0,120,0,120,0,112,0,240,0,240,0,240,0, + 240,0,240,0,240,0,240,0,240,0,240,0,240,0,240,0, + 240,0,120,0,120,0,120,0,120,0,56,0,60,0,60,0, + 28,0,30,0,14,0,15,0,7,0,3,128,1,192,0,224, + 0,32,11,45,90,15,1,249,128,0,224,0,112,0,56,0, + 28,0,30,0,14,0,15,0,7,0,7,128,7,128,3,128, + 3,192,3,192,3,192,3,192,1,224,1,224,1,224,1,224, + 1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,224, + 1,192,3,192,3,192,3,192,3,128,3,128,7,128,7,0, + 15,0,14,0,14,0,28,0,56,0,56,0,112,0,224,0, + 128,0,18,20,60,21,2,17,0,192,0,1,192,0,1,192, + 0,1,192,0,193,193,0,240,195,192,248,207,192,124,223,0, + 15,252,0,3,224,0,3,224,0,15,252,0,60,223,0,248, + 207,128,240,195,128,64,193,128,1,192,0,1,192,0,1,192, + 0,1,128,0,17,17,51,20,1,5,0,192,0,1,192,0, + 1,192,0,1,192,0,1,192,0,1,192,0,1,192,0,1, + 192,0,255,255,128,255,255,128,1,192,0,1,192,0,1,192, + 0,1,192,0,1,192,0,1,192,0,1,128,0,7,13,13, + 11,2,249,8,60,254,254,30,30,30,28,28,56,48,96,64, + 14,2,4,16,1,11,127,252,255,248,6,6,6,11,3,255, + 56,124,252,252,248,112,20,46,138,23,1,248,0,0,48,0, + 0,240,0,0,240,0,0,224,0,1,224,0,1,192,0,1, + 192,0,3,192,0,3,128,0,7,128,0,7,128,0,7,0, + 0,15,0,0,15,0,0,14,0,0,30,0,0,28,0,0, + 28,0,0,60,0,0,56,0,0,120,0,0,120,0,0,112, + 0,0,240,0,0,224,0,0,224,0,1,224,0,1,192,0, + 3,192,0,3,192,0,3,128,0,7,128,0,7,128,0,7, + 0,0,15,0,0,14,0,0,30,0,0,30,0,0,28,0, + 0,60,0,0,60,0,0,56,0,0,120,0,0,112,0,0, + 240,0,0,192,0,0,19,29,87,23,2,0,1,248,0,7, + 252,0,14,30,0,28,15,0,24,7,128,56,7,128,56,3, + 192,112,3,192,112,3,192,112,3,224,240,1,224,240,1,224, + 240,1,224,240,1,224,240,1,224,240,1,224,240,1,224,240, + 1,224,240,1,224,240,1,192,120,1,192,120,3,192,120,3, + 128,60,3,128,60,3,0,30,7,0,15,14,0,7,252,0, + 3,240,0,17,29,87,23,3,0,0,96,0,1,224,0,15, + 224,0,127,224,0,255,224,0,1,224,0,1,224,0,1,224, + 0,1,224,0,1,224,0,1,224,0,1,224,0,1,224,0, + 1,224,0,1,224,0,1,224,0,1,224,0,1,224,0,1, + 224,0,1,224,0,1,224,0,1,224,0,1,224,0,1,224, + 0,1,224,0,1,224,0,3,240,0,63,254,0,127,255,128, + 17,29,87,22,2,0,1,248,0,7,254,0,28,31,0,56, + 15,0,120,15,128,112,7,128,240,7,128,224,7,128,0,7, + 128,0,7,128,0,15,0,0,15,0,0,30,0,0,30,0, + 0,60,0,0,120,0,0,240,0,0,240,0,1,224,0,3, + 192,0,7,128,0,15,0,0,15,0,0,30,0,128,60,0, + 128,120,0,128,240,1,128,255,255,128,255,255,128,18,29,87, + 22,1,0,1,248,0,7,254,0,30,31,0,60,15,0,56, + 7,128,120,7,128,112,7,128,0,7,128,0,7,0,0,15, + 0,0,30,0,0,60,0,0,248,0,3,254,0,0,63,0, + 0,15,128,0,7,128,0,3,192,0,3,192,0,3,192,0, + 3,192,0,3,192,0,3,192,0,7,128,128,7,128,224,15, + 0,120,62,0,63,252,0,7,224,0,19,29,87,23,1,0, + 0,3,0,0,15,0,0,31,0,0,63,0,0,127,0,0, + 127,0,0,239,0,0,207,0,1,207,0,3,143,0,3,143, + 0,7,15,0,14,15,0,14,15,0,28,15,0,24,15,0, + 56,15,0,112,15,0,112,15,0,255,255,224,255,255,192,0, + 15,0,0,15,0,0,15,0,0,15,0,0,15,0,0,15, + 0,0,63,128,1,255,224,18,29,87,23,2,0,0,0,128, + 0,1,128,31,255,0,31,254,0,24,0,0,24,0,0,24, + 0,0,24,0,0,56,0,0,56,0,0,56,0,0,63,240, + 0,63,252,0,120,63,0,32,15,0,0,7,128,0,7,192, + 0,3,192,0,3,192,0,3,192,0,3,192,0,3,192,0, + 3,128,0,7,128,128,7,128,224,15,0,120,62,0,63,252, + 0,7,240,0,18,29,87,23,3,0,0,7,0,0,63,0, + 0,248,0,1,224,0,3,192,0,15,0,0,14,0,0,30, + 0,0,60,0,0,56,0,0,120,0,0,120,248,0,119,254, + 0,254,31,0,248,15,128,240,7,128,240,7,192,240,3,192, + 240,3,192,240,3,192,240,3,192,248,3,192,120,3,128,120, + 3,128,60,7,128,60,7,0,31,14,0,15,252,0,3,240, + 0,19,27,81,23,2,0,127,255,192,127,255,224,96,1,192, + 64,3,192,192,3,128,0,3,128,0,7,0,0,7,0,0, + 14,0,0,14,0,0,28,0,0,28,0,0,56,0,0,56, + 0,0,56,0,0,112,0,0,112,0,0,224,0,0,224,0, + 1,192,0,1,192,0,3,192,0,7,128,0,7,128,0,15, + 0,0,15,0,0,28,0,0,18,29,87,22,2,0,3,248, + 0,15,254,0,28,31,0,56,15,0,48,7,128,112,7,128, + 112,7,128,112,7,128,112,7,0,120,15,0,62,30,0,31, + 188,0,15,240,0,3,252,0,7,254,0,30,63,0,60,15, + 128,120,7,192,112,7,192,240,3,192,240,3,192,240,3,192, + 240,3,192,240,3,128,120,7,128,124,7,0,62,14,0,31, + 252,0,7,224,0,19,30,90,23,2,255,1,248,0,7,254, + 0,14,31,0,28,15,128,56,7,128,120,3,192,112,3,192, + 240,3,224,240,1,224,240,1,224,240,1,224,240,1,224,248, + 1,224,120,3,224,124,7,224,62,13,224,31,249,224,7,225, + 192,0,3,192,0,3,192,0,7,128,0,7,128,0,15,0, + 0,30,0,0,60,0,0,120,0,0,240,0,3,224,0,31, + 128,0,56,0,0,6,23,23,11,3,255,56,124,252,252,248, + 112,0,0,0,0,0,0,0,0,0,0,0,56,124,252,252, + 248,112,7,29,29,11,2,249,28,62,126,126,124,56,0,0, + 0,0,0,0,0,0,0,0,8,60,254,254,30,30,30,28, + 28,56,48,96,64,19,15,45,21,1,6,0,0,96,0,3, + 192,0,31,192,0,127,0,3,252,0,31,224,0,127,0,0, + 124,0,0,254,0,0,63,192,0,7,240,0,1,254,0,0, + 63,192,0,7,224,0,1,128,19,9,27,21,1,9,127,255, + 224,255,255,192,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,127,255,224,255,255,192,19,15,45,21,1,6,48, + 0,0,252,0,0,127,128,0,15,240,0,3,254,0,0,127, + 128,0,15,224,0,3,192,0,31,192,0,255,0,3,248,0, + 31,192,0,127,0,0,120,0,0,192,0,0,17,36,108,21, + 2,255,3,248,0,15,254,0,60,63,0,120,15,0,120,15, + 128,240,7,128,240,7,128,240,7,128,224,7,128,0,7,128, + 0,15,0,0,15,0,0,30,0,0,30,0,0,60,0,0, + 120,0,0,112,0,0,224,0,1,224,0,1,192,0,3,192, + 0,3,128,0,3,128,0,3,128,0,3,128,0,3,128,0, + 0,0,0,0,0,0,0,0,0,0,0,0,1,192,0,3, + 224,0,7,224,0,7,224,0,7,192,0,3,128,0,36,39, + 195,39,1,248,0,0,255,128,0,0,7,255,224,0,0,31, + 1,248,0,0,120,0,62,0,0,224,0,31,0,1,192,0, + 15,0,7,128,0,7,128,7,0,0,3,192,14,0,0,1, + 192,28,0,124,33,224,28,1,255,96,224,56,3,135,224,224, + 56,7,3,224,224,120,14,1,224,240,112,14,1,224,112,112, + 30,1,224,112,240,28,1,224,112,240,60,1,224,112,240,60, + 1,224,112,240,60,1,224,112,240,60,1,224,112,240,60,1, + 224,112,240,60,1,224,96,248,60,1,224,224,248,62,1,224, + 192,120,30,1,224,192,120,31,3,225,128,124,15,5,225,0, + 60,15,141,242,0,62,7,248,252,0,31,1,224,112,0,31, + 0,0,0,0,15,128,0,0,0,7,192,0,1,0,3,240, + 0,3,128,1,248,0,14,0,0,127,0,252,0,0,31,255, + 240,0,0,3,255,0,0,28,30,120,29,0,0,0,2,0, + 0,0,7,0,0,0,15,0,0,0,15,0,0,0,31,128, + 0,0,31,128,0,0,27,128,0,0,59,192,0,0,57,192, + 0,0,49,224,0,0,113,224,0,0,112,224,0,0,96,240, + 0,0,224,240,0,0,224,112,0,0,192,120,0,1,192,120, + 0,1,192,56,0,1,255,252,0,3,255,252,0,3,128,30, + 0,3,0,30,0,7,0,30,0,7,0,15,0,6,0,15, + 0,14,0,15,0,14,0,7,128,12,0,7,128,62,0,7, + 192,255,192,63,240,24,30,90,27,0,0,7,254,0,255,255, + 192,111,7,224,15,1,240,15,0,248,15,0,120,15,0,120, + 15,0,120,15,0,120,15,0,112,15,0,240,15,1,224,15, + 7,192,15,255,192,15,255,240,15,1,248,15,0,124,15,0, + 62,15,0,30,15,0,31,15,0,15,15,0,15,15,0,15, + 15,0,15,15,0,14,15,0,30,15,0,60,15,0,248,63, + 255,240,127,255,128,23,30,90,26,1,0,0,31,224,0,255, + 252,1,192,252,7,128,56,14,0,16,14,0,0,28,0,0, + 56,0,0,56,0,0,120,0,0,112,0,0,112,0,0,240, + 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,0, + 0,240,0,0,240,0,0,120,0,0,120,0,0,124,0,0, + 60,0,0,30,0,4,31,0,14,15,128,56,7,224,240,1, + 255,192,0,127,0,25,30,120,28,1,0,7,254,0,0,255, + 255,192,0,111,3,240,0,15,0,248,0,15,0,124,0,15, + 0,62,0,15,0,30,0,15,0,31,0,15,0,15,0,15, + 0,15,0,15,0,15,128,15,0,7,128,15,0,7,128,15, + 0,7,128,15,0,7,128,15,0,7,128,15,0,7,128,15, + 0,7,128,15,0,7,128,15,0,7,0,15,0,15,0,15, + 0,15,0,15,0,30,0,15,0,30,0,15,0,60,0,15, + 0,124,0,15,0,248,0,15,3,224,0,63,255,192,0,127, + 254,0,0,21,30,90,24,1,0,255,255,224,127,255,240,30, + 0,96,30,0,96,30,0,96,30,0,96,30,0,0,30,0, + 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, + 31,255,128,31,255,128,30,3,0,30,0,0,30,0,0,30, + 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, + 0,30,0,8,30,0,24,30,0,24,31,0,56,127,255,240, + 255,255,240,20,30,90,23,1,0,255,255,240,127,255,240,30, + 0,96,30,0,96,30,0,32,30,0,32,30,0,0,30,0, + 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, + 31,255,0,31,255,0,30,6,0,30,0,0,30,0,0,30, + 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, + 0,30,0,0,30,0,0,30,0,0,30,0,0,127,128,0, + 255,224,0,24,30,90,28,2,0,0,31,224,0,255,248,1, + 192,252,7,128,56,15,0,16,30,0,0,28,0,0,56,0, + 0,56,0,0,120,0,0,112,0,0,240,0,0,240,0,0, + 240,0,0,240,0,0,240,0,0,240,7,255,240,0,254,240, + 0,60,240,0,60,248,0,60,120,0,60,120,0,60,60,0, + 60,62,0,60,30,0,60,15,0,60,7,192,248,3,255,224, + 0,127,0,27,30,120,31,2,0,255,192,127,224,127,128,63, + 192,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, + 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, + 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, + 0,31,255,255,0,31,255,255,0,30,0,15,0,30,0,15, + 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, + 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, + 0,30,0,15,0,30,0,15,0,127,0,31,192,255,192,127, + 224,10,30,60,14,2,0,255,192,127,128,30,0,30,0,30, + 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, + 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, + 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,127, + 128,255,192,17,38,114,15,252,248,7,255,128,0,255,0,0, + 60,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60, + 0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0, + 0,60,0,0,60,0,0,60,0,0,60,0,0,60,0,0, + 60,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60, + 0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0, + 0,56,0,0,56,0,0,56,0,0,112,0,0,112,0,0, + 224,0,112,192,0,255,0,0,124,0,0,26,30,120,28,1, + 0,255,193,255,128,127,128,124,0,30,0,120,0,30,0,240, + 0,30,1,224,0,30,1,192,0,30,3,128,0,30,7,0, + 0,30,14,0,0,30,28,0,0,30,56,0,0,30,120,0, + 0,30,112,0,0,30,224,0,0,31,224,0,0,30,240,0, + 0,30,120,0,0,30,124,0,0,30,62,0,0,30,30,0, + 0,30,15,0,0,30,7,128,0,30,7,192,0,30,3,224, + 0,30,1,240,0,30,0,248,0,30,0,124,0,30,0,126, + 0,127,128,63,192,255,192,31,0,21,30,90,23,1,0,255, + 192,0,127,128,0,30,0,0,30,0,0,30,0,0,30,0, + 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, + 30,0,0,30,0,0,30,0,0,30,0,0,30,0,0,30, + 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, + 0,30,0,0,30,0,0,30,0,8,30,0,24,30,0,24, + 31,0,48,127,255,240,255,255,240,36,30,150,39,1,0,127, + 0,0,15,224,31,128,0,31,128,15,128,0,31,0,15,128, + 0,63,0,15,192,0,63,0,15,192,0,55,0,15,224,0, + 119,0,14,224,0,119,0,14,240,0,231,0,14,240,0,231, + 0,14,120,0,199,0,14,120,1,199,0,14,56,1,199,0, + 14,60,3,135,0,14,28,3,135,0,14,30,7,7,0,14, + 30,7,7,0,14,15,6,7,0,14,15,14,7,0,14,7, + 14,7,0,14,7,156,7,0,14,3,156,7,0,14,3,216, + 7,0,14,3,248,7,0,14,1,248,7,0,14,1,240,7, + 0,14,0,240,7,0,14,0,224,7,0,63,0,224,31,192, + 255,192,96,127,240,27,30,120,31,2,0,252,0,63,224,124, + 0,15,128,30,0,7,0,31,0,7,0,31,0,7,0,31, + 128,7,0,31,192,7,0,29,192,7,0,28,224,7,0,28, + 240,7,0,28,120,7,0,28,56,7,0,28,60,7,0,28, + 30,7,0,28,14,7,0,28,15,7,0,28,7,135,0,28, + 7,135,0,28,3,199,0,28,1,231,0,28,1,231,0,28, + 0,247,0,28,0,127,0,28,0,127,0,28,0,63,0,28, + 0,31,0,28,0,31,0,28,0,15,0,62,0,7,0,255, + 128,3,0,25,30,120,29,2,0,0,63,0,0,0,255,224, + 0,3,193,240,0,7,0,248,0,14,0,124,0,28,0,62, + 0,60,0,30,0,56,0,31,0,120,0,15,0,120,0,15, + 0,112,0,15,128,240,0,7,128,240,0,7,128,240,0,7, + 128,240,0,7,128,240,0,7,128,240,0,7,128,240,0,7, + 128,240,0,7,128,248,0,7,0,120,0,15,0,120,0,15, + 0,124,0,14,0,60,0,28,0,62,0,28,0,31,0,56, + 0,15,128,112,0,7,193,224,0,3,255,128,0,0,254,0, + 0,22,30,90,25,1,0,7,254,0,255,255,192,111,7,224, + 15,1,240,15,0,248,15,0,124,15,0,60,15,0,60,15, + 0,60,15,0,60,15,0,60,15,0,60,15,0,120,15,0, + 120,15,0,240,15,131,224,15,127,192,15,62,0,15,0,0, + 15,0,0,15,0,0,15,0,0,15,0,0,15,0,0,15, + 0,0,15,0,0,15,0,0,15,0,0,63,192,0,127,240, + 0,28,37,148,29,2,249,0,63,0,0,0,255,224,0,3, + 193,240,0,7,0,248,0,14,0,124,0,28,0,62,0,60, + 0,30,0,56,0,31,0,120,0,15,0,120,0,15,0,112, + 0,15,128,240,0,7,128,240,0,7,128,240,0,7,128,240, + 0,7,128,240,0,7,128,240,0,7,128,240,0,7,128,240, + 0,7,128,248,0,7,0,120,0,15,0,120,0,15,0,124, + 0,14,0,60,0,30,0,62,0,28,0,31,0,56,0,15, + 128,112,0,7,193,224,0,3,255,192,0,0,127,128,0,0, + 3,192,0,0,1,224,0,0,0,248,16,0,0,124,48,0, + 0,31,224,0,0,15,224,0,0,3,128,26,30,120,27,1, + 0,7,254,0,0,255,255,192,0,111,7,224,0,15,1,240, + 0,15,0,240,0,15,0,120,0,15,0,120,0,15,0,120, + 0,15,0,120,0,15,0,120,0,15,0,112,0,15,0,240, + 0,15,1,224,0,15,3,192,0,15,255,0,0,15,254,0, + 0,15,14,0,0,15,7,0,0,15,7,128,0,15,3,128, + 0,15,3,192,0,15,1,192,0,15,1,224,0,15,0,240, + 0,15,0,240,0,15,0,120,0,15,0,124,0,15,0,62, + 0,63,192,63,192,127,224,31,0,18,30,90,23,3,0,3, + 248,0,31,254,0,60,63,0,120,14,0,112,4,0,240,0, + 0,240,0,0,240,0,0,248,0,0,252,0,0,127,0,0, + 127,192,0,63,240,0,31,248,0,7,254,0,1,255,0,0, + 127,128,0,31,128,0,15,192,0,7,192,0,3,192,0,3, + 192,0,3,192,128,3,128,192,3,128,224,7,0,240,15,0, + 252,62,0,255,248,0,15,224,0,26,30,120,26,0,0,127, + 255,255,192,127,255,255,192,96,30,1,128,192,30,1,128,192, + 30,1,128,128,30,0,128,0,30,0,0,0,30,0,0,0, + 30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0, + 30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0, + 30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0, + 30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0, + 30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0, + 127,128,0,1,255,224,0,27,30,120,31,2,0,255,192,127, + 224,127,128,63,192,30,0,15,0,30,0,15,0,30,0,15, + 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, + 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, + 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, + 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, + 0,30,0,15,0,30,0,30,0,15,0,30,0,15,0,30, + 0,7,128,60,0,7,192,120,0,3,224,240,0,1,255,224, + 0,0,63,128,0,30,30,120,31,0,0,255,224,15,252,31, + 0,1,240,15,0,0,224,15,0,1,192,7,0,1,192,7, + 128,1,192,7,128,3,128,3,192,3,128,3,192,3,128,3, + 192,7,0,1,224,7,0,1,224,6,0,0,224,14,0,0, + 240,14,0,0,240,12,0,0,120,28,0,0,120,28,0,0, + 120,56,0,0,60,56,0,0,60,56,0,0,28,112,0,0, + 30,112,0,0,30,112,0,0,15,224,0,0,15,224,0,0, + 15,224,0,0,7,192,0,0,7,192,0,0,3,128,0,0, + 3,0,0,40,30,150,41,0,0,255,224,24,3,255,63,0, + 24,0,252,14,0,28,0,48,15,0,60,0,112,15,0,60, + 0,112,15,0,62,0,112,7,0,126,0,96,7,0,127,0, + 224,7,128,127,0,224,7,128,103,0,224,7,128,231,128,224, + 3,128,231,128,192,3,192,195,129,192,3,193,195,193,192,3, + 193,195,193,192,1,193,129,193,192,1,195,129,225,128,1,227, + 129,227,128,1,227,0,227,128,1,231,0,243,128,0,231,0, + 243,128,0,246,0,115,0,0,254,0,127,0,0,254,0,63, + 0,0,124,0,63,0,0,124,0,62,0,0,124,0,30,0, + 0,124,0,30,0,0,120,0,30,0,0,48,0,8,0,28, + 30,120,30,1,0,255,224,255,224,255,224,255,224,63,0,31, + 0,31,0,30,0,15,128,28,0,7,128,56,0,3,192,120, + 0,3,224,112,0,1,224,224,0,0,241,224,0,0,249,192, + 0,0,127,128,0,0,63,128,0,0,31,0,0,0,31,0, + 0,0,31,0,0,0,63,128,0,0,63,192,0,0,115,224, + 0,0,241,224,0,0,224,240,0,1,192,248,0,3,192,120, + 0,3,128,60,0,7,0,62,0,15,0,31,0,14,0,15, + 0,62,0,15,192,255,192,127,240,255,192,127,240,28,30,120, + 29,0,0,252,0,63,240,254,0,63,240,31,0,15,128,15, + 0,7,0,15,128,14,0,7,192,14,0,3,192,28,0,3, + 224,60,0,1,224,56,0,0,240,120,0,0,248,112,0,0, + 120,224,0,0,125,224,0,0,61,192,0,0,63,192,0,0, + 31,128,0,0,31,128,0,0,15,0,0,0,15,0,0,0, + 15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0, + 15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0, + 15,0,0,0,63,192,0,0,255,240,0,22,30,90,25,1, + 0,63,255,252,63,255,252,56,0,120,48,0,248,48,1,240, + 32,1,224,32,3,224,0,3,192,0,7,128,0,15,128,0, + 15,0,0,31,0,0,30,0,0,60,0,0,124,0,0,120, + 0,0,248,0,1,240,0,1,224,0,3,224,0,3,192,0, + 7,128,0,15,128,0,15,0,4,31,0,12,62,0,12,60, + 0,12,124,0,28,127,255,252,255,255,252,11,45,90,15,3, + 248,255,224,255,224,240,0,240,0,240,0,240,0,240,0,240, + 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, + 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, + 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, + 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, + 0,240,0,240,0,240,0,255,224,255,224,20,46,138,23,1, + 248,224,0,0,112,0,0,112,0,0,120,0,0,56,0,0, + 56,0,0,28,0,0,28,0,0,30,0,0,14,0,0,14, + 0,0,15,0,0,7,0,0,7,0,0,7,128,0,3,128, + 0,3,192,0,1,192,0,1,192,0,1,224,0,0,224,0, + 0,224,0,0,240,0,0,112,0,0,112,0,0,56,0,0, + 56,0,0,60,0,0,28,0,0,28,0,0,30,0,0,14, + 0,0,14,0,0,7,0,0,7,0,0,7,128,0,3,128, + 0,3,128,0,3,192,0,1,192,0,1,192,0,1,224,0, + 0,224,0,0,240,0,0,112,0,0,48,11,45,90,15,1, + 248,255,224,255,224,1,224,1,224,1,224,1,224,1,224,1, + 224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1, + 224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1, + 224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1, + 224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1, + 224,1,224,1,224,1,224,255,224,255,224,19,23,69,24,2, + 13,0,32,0,0,112,0,0,240,0,1,240,0,1,248,0, + 1,248,0,3,188,0,3,188,0,7,60,0,7,30,0,6, + 30,0,14,14,0,14,15,0,12,15,0,28,7,128,28,7, + 128,24,3,128,56,3,192,48,3,192,112,1,224,112,1,224, + 96,0,224,192,0,192,20,2,6,23,1,251,127,255,240,255, + 255,240,9,10,20,15,1,25,240,0,248,0,120,0,60,0, + 28,0,14,0,7,0,3,0,1,128,1,128,20,22,66,22, + 2,0,1,248,0,15,254,0,28,30,0,120,15,0,112,15, + 0,240,15,0,128,15,0,0,15,0,0,15,0,0,255,0, + 7,255,0,31,143,0,62,15,0,120,15,0,248,15,0,240, + 15,0,240,15,0,240,31,0,240,63,0,120,239,32,127,143, + 240,30,7,128,22,36,108,24,0,0,6,0,0,126,0,0, + 254,0,0,30,0,0,30,0,0,30,0,0,30,0,0,30, + 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, + 0,30,0,0,30,15,128,30,63,224,30,127,240,30,227,240, + 31,192,248,31,128,248,31,0,124,30,0,124,30,0,60,30, + 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, + 56,30,0,56,30,0,112,30,0,96,31,0,224,15,193,192, + 3,255,0,0,252,0,18,22,66,21,2,0,0,127,0,3, + 255,192,7,7,192,14,1,128,28,0,128,56,0,0,120,0, + 0,112,0,0,240,0,0,240,0,0,240,0,0,240,0,0, + 240,0,0,240,0,0,248,0,0,120,0,0,120,0,0,60, + 0,64,62,1,192,31,131,128,7,254,0,1,248,0,23,36, + 108,25,2,0,0,0,224,0,15,224,0,15,224,0,1,224, + 0,1,224,0,1,224,0,1,224,0,1,224,0,1,224,0, + 1,224,0,1,224,0,1,224,0,1,224,0,1,224,0,253, + 224,3,255,224,15,15,224,28,3,224,60,1,224,56,1,224, + 120,1,224,112,1,224,240,1,224,240,1,224,240,1,224,240, + 1,224,240,1,224,240,1,224,240,1,224,120,1,224,120,1, + 224,124,3,224,62,5,228,31,25,254,15,240,248,7,192,224, + 18,22,66,22,2,0,0,248,0,7,254,0,14,15,0,28, + 7,128,56,7,128,56,3,192,112,3,192,112,3,192,255,255, + 192,255,255,128,240,0,0,240,0,0,240,0,0,240,0,0, + 248,0,0,120,0,0,120,0,0,124,0,192,62,1,128,31, + 7,0,15,254,0,3,248,0,19,36,108,15,0,0,0,15, + 128,0,63,224,0,99,192,1,193,128,3,128,0,3,128,0, + 7,128,0,7,0,0,15,0,0,15,0,0,15,0,0,15, + 0,0,15,0,0,15,0,0,63,254,0,255,252,0,15,8, + 0,15,0,0,15,0,0,15,0,0,15,0,0,15,0,0, + 15,0,0,15,0,0,15,0,0,15,0,0,15,0,0,15, + 0,0,15,0,0,15,0,0,15,0,0,15,0,0,15,0, + 0,15,0,0,31,224,0,127,248,0,24,33,99,24,0,245, + 0,252,2,3,255,126,7,7,252,14,3,224,30,1,224,28, + 1,240,60,0,240,60,0,240,60,0,240,60,0,240,62,0, + 224,31,1,192,15,131,128,7,255,0,1,252,0,3,192,0, + 7,128,0,15,128,0,15,224,0,7,255,128,3,255,240,7, + 191,252,14,0,254,60,0,31,120,0,15,240,0,15,240,0, + 15,240,0,14,248,0,28,124,0,56,63,128,240,15,255,192, + 1,254,0,23,36,108,26,2,0,6,0,0,126,0,0,254, + 0,0,62,0,0,30,0,0,30,0,0,30,0,0,30,0, + 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, + 30,0,0,30,7,128,28,31,224,28,49,224,28,96,240,28, + 192,240,29,128,240,31,0,240,31,0,240,30,0,240,30,0, + 240,30,0,240,30,0,240,30,0,240,30,0,240,30,0,240, + 30,0,240,30,0,240,30,0,240,30,0,240,30,0,240,63, + 131,248,255,199,254,10,32,64,13,2,0,28,0,30,0,62, + 0,62,0,28,0,0,0,0,0,0,0,0,0,0,0,6, + 0,126,0,254,0,62,0,30,0,30,0,30,0,30,0,30, + 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, + 0,30,0,30,0,30,0,63,0,255,192,14,43,86,12,251, + 245,0,56,0,60,0,124,0,124,0,56,0,0,0,0,0, + 0,0,0,0,0,0,12,0,252,1,252,0,124,0,60,0, + 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, + 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, + 60,0,60,0,60,0,56,0,56,0,120,0,112,0,112,48, + 224,127,128,255,0,124,0,23,36,108,24,1,0,6,0,0, + 126,0,0,254,0,0,62,0,0,30,0,0,30,0,0,30, + 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, + 0,30,0,0,30,0,0,30,7,252,30,1,240,30,1,192, + 30,3,128,30,7,0,30,14,0,30,56,0,30,112,0,30, + 224,0,31,224,0,30,240,0,30,248,0,30,120,0,30,60, + 0,30,30,0,30,15,0,30,15,128,30,7,192,30,3,224, + 30,1,224,63,0,254,255,192,124,12,36,72,13,1,0,3, + 0,63,0,127,0,31,0,15,0,15,0,15,0,15,0,15, + 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, + 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, + 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, + 0,15,0,31,128,255,240,36,22,110,39,2,0,12,7,192, + 124,0,254,31,224,255,0,62,49,227,143,0,30,96,247,7, + 128,30,192,254,7,128,31,128,252,7,128,31,0,248,7,128, + 31,0,248,7,128,30,0,240,7,128,30,0,240,7,128,30, + 0,240,7,128,30,0,240,7,128,30,0,240,7,128,30,0, + 240,7,128,30,0,240,7,128,30,0,240,7,128,30,0,240, + 7,128,30,0,240,7,128,30,0,240,7,128,30,0,240,7, + 128,127,131,252,31,192,255,199,254,63,240,23,22,66,26,2, + 0,12,7,192,254,15,224,62,49,224,30,96,240,30,192,240, + 30,128,240,31,0,240,31,0,240,30,0,240,30,0,240,30, + 0,240,30,0,240,30,0,240,30,0,240,30,0,240,30,0, + 240,30,0,240,30,0,240,30,0,240,30,0,240,127,131,248, + 255,199,254,20,22,66,24,2,0,0,252,0,7,255,0,14, + 15,128,28,7,192,56,3,192,56,3,224,112,1,224,112,1, + 240,240,0,240,240,0,240,240,0,240,240,0,240,240,0,240, + 240,0,240,248,0,224,120,1,224,124,1,192,60,1,192,62, + 3,128,31,7,0,15,254,0,3,240,0,21,33,99,25,2, + 245,12,7,128,254,31,192,62,35,224,30,65,240,30,129,240, + 31,0,240,31,0,248,30,0,248,30,0,120,30,0,120,30, + 0,120,30,0,120,30,0,120,30,0,120,30,0,112,30,0, + 112,30,0,224,30,0,224,31,1,192,31,195,128,30,255,0, + 30,62,0,30,0,0,30,0,0,30,0,0,30,0,0,30, + 0,0,30,0,0,30,0,0,30,0,0,30,0,0,127,0, + 0,255,224,0,22,33,99,25,2,245,0,252,48,3,255,96, + 7,15,224,30,3,224,28,1,224,56,1,224,120,1,224,112, + 1,224,240,1,224,240,1,224,240,1,224,240,1,224,240,1, + 224,240,1,224,240,1,224,120,1,224,120,1,224,124,3,224, + 62,7,224,31,29,224,15,249,224,3,225,224,0,1,224,0, + 1,224,0,1,224,0,1,224,0,1,224,0,1,224,0,1, + 224,0,1,224,0,1,224,0,3,240,0,31,252,17,22,66, + 19,1,0,4,15,0,126,63,128,254,127,128,30,227,128,30, + 195,128,31,129,0,31,128,0,31,0,0,31,0,0,30,0, + 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, + 30,0,0,30,0,0,30,0,0,30,0,0,30,0,0,63, + 128,0,255,224,0,15,22,44,19,2,0,15,192,63,248,120, + 120,112,56,240,16,240,0,248,0,252,0,127,0,63,192,31, + 240,7,248,1,252,0,126,0,62,128,30,128,30,192,30,224, + 60,240,120,255,240,31,192,16,30,60,17,0,0,3,0,7, + 0,15,0,15,0,15,0,15,0,15,0,15,0,63,255,255, + 255,15,4,15,0,15,0,15,0,15,0,15,0,15,0,15, + 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, + 0,15,1,7,135,7,254,3,240,24,22,66,25,1,0,6, + 0,112,254,7,240,126,7,240,30,0,240,30,0,240,30,0, + 240,30,0,240,30,0,240,30,0,240,30,0,240,30,0,240, + 30,0,240,30,0,240,30,0,240,30,0,240,30,0,240,30, + 0,240,30,1,240,31,2,240,15,12,255,15,248,252,3,224, + 112,23,22,66,24,0,0,255,192,254,62,0,60,30,0,56, + 30,0,48,15,0,112,15,0,112,7,0,96,7,128,224,7, + 128,192,3,193,192,3,193,192,1,193,128,1,227,128,1,227, + 0,0,243,0,0,247,0,0,118,0,0,126,0,0,126,0, + 0,60,0,0,60,0,0,16,0,33,22,110,34,0,0,255, + 192,96,63,128,62,0,224,15,0,30,0,224,14,0,30,0, + 240,14,0,14,1,240,12,0,15,1,240,12,0,15,1,248, + 28,0,7,3,248,28,0,7,3,56,24,0,7,131,60,24, + 0,3,135,28,56,0,3,134,30,48,0,3,198,30,48,0, + 1,206,14,112,0,1,204,15,96,0,1,252,15,96,0,1, + 252,7,96,0,0,248,7,224,0,0,248,7,192,0,0,240, + 3,192,0,0,112,3,192,0,0,96,3,0,0,24,22,66, + 24,0,0,127,227,254,127,227,254,31,128,248,15,128,224,7, + 128,192,3,193,192,1,227,128,0,247,0,0,254,0,0,124, + 0,0,60,0,0,62,0,0,127,0,0,239,0,1,199,128, + 3,131,192,3,1,224,7,0,240,14,0,248,62,0,252,255, + 131,255,255,131,255,24,33,99,24,255,245,127,224,255,31,0, + 62,15,0,28,15,0,24,7,128,56,7,128,56,3,128,48, + 3,192,112,3,192,96,1,224,224,1,224,224,0,224,192,0, + 241,192,0,241,192,0,121,128,0,123,128,0,59,0,0,63, + 0,0,63,0,0,30,0,0,30,0,0,12,0,0,12,0, + 0,28,0,0,24,0,0,56,0,0,112,0,0,112,0,0, + 224,0,63,192,0,127,128,0,255,0,0,124,0,0,17,22, + 66,21,2,0,127,255,128,127,255,128,96,15,0,96,15,0, + 64,30,0,64,60,0,0,60,0,0,120,0,0,240,0,0, + 240,0,1,224,0,3,192,0,3,192,0,7,128,0,15,0, + 0,14,0,0,30,0,128,60,0,128,120,0,128,120,1,128, + 255,255,128,255,255,128,13,45,90,16,2,249,0,8,0,56, + 0,112,1,224,1,192,3,128,3,128,7,128,7,128,7,128, + 7,128,7,128,7,192,3,192,3,192,3,192,3,192,3,192, + 3,128,7,128,7,0,30,0,126,0,255,0,7,128,3,192, + 3,192,3,192,3,192,3,192,3,192,3,192,7,192,7,128, + 7,128,7,128,7,128,7,128,7,128,3,128,3,192,1,192, + 0,224,0,120,0,24,4,49,49,11,4,246,112,240,240,240, + 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, + 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, + 240,240,240,240,240,240,240,240,240,240,240,240,224,13,45,90, + 16,1,249,192,0,240,0,56,0,28,0,30,0,14,0,15, + 0,15,0,15,0,15,0,15,0,15,0,31,0,30,0,30, + 0,30,0,30,0,30,0,30,0,30,0,15,0,7,240,3, + 248,3,192,7,0,15,0,14,0,30,0,30,0,30,0,30, + 0,30,0,31,0,15,0,15,0,15,0,15,0,15,0,14, + 0,30,0,28,0,56,0,112,0,224,0,128,0,21,8,24, + 23,1,11,7,128,8,15,224,24,31,240,16,63,252,48,49, + 255,224,96,127,192,64,31,128,192,15,0,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,255,255,255,255,255,255,255,0,0,0,11, + 0,0,6,35,35,13,3,243,56,124,252,252,252,248,112,0, + 16,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56, + 120,120,120,120,120,124,124,124,124,120,96,18,30,90,23,2, + 255,0,96,0,0,96,0,0,96,0,0,96,0,0,255,0, + 3,255,128,15,255,192,30,99,128,60,97,128,56,97,0,120, + 96,0,112,96,0,240,96,0,240,96,0,240,96,0,240,96, + 0,240,96,0,240,96,0,248,96,0,120,96,0,124,96,192, + 62,97,128,63,231,128,31,255,0,15,252,0,3,248,0,0, + 96,0,0,96,0,0,96,0,0,96,0,19,29,87,23,2, + 0,0,127,0,1,255,224,3,131,224,7,1,192,6,0,192, + 14,0,192,14,0,192,30,0,64,30,0,0,30,0,0,30, + 0,0,30,0,0,30,0,0,30,0,0,255,248,0,255,248, + 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, + 28,0,0,28,0,32,28,0,32,24,0,96,56,0,224,63, + 255,224,127,255,224,192,255,224,15,15,30,23,4,7,128,2, + 192,6,103,204,63,248,56,56,112,28,96,12,96,12,96,12, + 96,12,48,24,56,56,127,252,231,206,192,6,25,28,112,23, + 254,0,126,0,255,128,254,0,63,128,31,0,30,0,15,128, + 60,0,7,192,120,0,3,192,112,0,3,224,240,0,1,224, + 224,0,0,241,224,0,0,241,192,0,0,123,192,0,0,127, + 128,0,0,63,0,0,0,63,0,0,0,30,0,0,0,30, + 0,0,15,255,252,0,15,255,252,0,0,30,0,0,0,30, + 0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,30, + 0,0,0,30,0,0,0,30,0,0,0,127,128,0,1,255, + 224,0,4,49,49,11,4,246,112,240,240,240,240,240,240,240, + 240,240,240,240,240,240,240,240,240,240,240,240,240,224,0,0, + 0,0,0,112,240,240,240,240,240,240,240,240,240,240,240,240, + 240,240,240,240,240,240,240,240,224,19,34,102,24,2,0,1, + 248,0,7,254,0,30,31,0,60,7,0,60,6,0,60,0, + 0,62,0,0,63,0,0,31,128,0,31,224,0,31,248,0, + 63,252,0,121,255,0,240,127,128,240,63,192,240,15,192,240, + 7,224,248,3,224,124,1,224,126,1,224,63,129,192,31,225, + 192,7,251,128,3,255,0,0,255,0,0,63,128,0,15,128, + 16,7,128,16,7,128,24,7,128,28,7,0,30,15,0,31, + 254,0,3,240,0,15,5,10,19,2,27,112,14,240,30,240, + 30,240,30,224,28,30,30,120,34,2,0,0,31,224,0,0, + 255,252,0,1,224,30,0,7,128,7,128,14,0,1,192,28, + 3,240,224,24,15,252,96,48,60,60,48,112,112,8,56,96, + 224,0,24,97,224,0,24,193,224,0,12,195,192,0,12,195, + 192,0,12,195,192,0,12,195,192,0,12,195,192,0,12,195, + 192,0,12,195,224,0,12,97,224,0,24,97,240,8,24,112, + 248,12,56,48,124,48,48,24,63,224,96,28,15,128,224,14, + 0,1,192,7,128,7,128,1,224,30,0,0,255,252,0,0, + 31,224,0,11,15,30,12,1,14,15,0,31,0,51,128,97, + 128,97,128,3,128,29,128,97,128,193,128,193,128,239,128,253, + 224,121,128,255,192,255,192,18,21,63,23,2,0,0,128,64, + 1,128,192,3,1,128,7,3,0,14,7,0,14,14,0,28, + 30,0,60,60,0,120,60,0,240,120,0,240,120,0,248,120, + 0,120,60,0,60,60,0,28,30,0,14,14,0,14,7,0, + 7,3,0,3,1,128,1,128,192,0,128,64,20,10,30,23, + 1,4,127,255,240,255,255,240,0,0,112,0,0,112,0,0, + 112,0,0,112,0,0,112,0,0,112,0,0,112,0,0,96, + 14,2,4,16,1,11,127,252,255,248,15,17,34,17,1,17, + 7,192,31,240,56,56,96,12,79,132,196,70,132,66,132,194, + 135,130,133,130,132,130,196,198,68,100,106,60,56,56,31,240, + 7,192,16,2,4,24,4,28,127,255,255,254,11,11,22,17, + 3,18,15,0,63,192,113,224,96,224,224,224,224,224,224,224, + 224,192,241,128,127,0,62,0,17,22,66,20,1,3,0,192, + 0,1,192,0,1,192,0,1,192,0,1,192,0,1,192,0, + 1,192,0,1,192,0,255,255,128,255,255,128,1,192,0,1, + 192,0,1,192,0,1,192,0,1,192,0,1,192,0,1,192, + 0,0,0,0,0,0,0,0,0,0,127,255,128,255,255,128, + 13,17,34,17,2,15,7,192,31,240,112,248,96,120,224,120, + 0,120,0,112,0,224,1,224,3,192,7,128,15,0,30,0, + 60,8,120,24,255,248,255,248,14,18,36,16,1,14,15,128, + 63,224,113,240,224,240,192,240,0,240,1,224,7,128,15,224, + 1,240,0,120,0,60,0,60,0,60,128,120,224,248,63,224, + 15,128,10,10,20,15,5,25,7,128,7,192,15,0,15,0, + 30,0,60,0,56,0,112,0,96,0,192,0,25,33,132,26, + 1,245,6,0,24,0,254,0,248,0,126,0,120,0,30,0, + 120,0,30,0,120,0,30,0,120,0,30,0,120,0,30,0, + 120,0,30,0,120,0,30,0,120,0,30,0,120,0,30,0, + 120,0,30,0,120,0,30,0,120,0,30,0,120,0,31,0, + 248,0,31,1,248,0,31,131,248,0,31,255,121,0,27,254, + 127,128,25,252,126,0,24,240,56,0,24,0,0,0,24,0, + 0,0,24,0,0,0,28,0,0,0,28,0,0,0,28,0, + 0,0,30,0,0,0,30,0,0,0,31,0,0,0,31,0, + 0,0,24,0,0,0,23,36,108,26,1,250,1,255,254,15, + 255,254,31,7,252,60,7,112,120,7,112,120,7,112,240,7, + 112,240,7,112,240,7,112,240,7,112,240,7,112,248,7,112, + 120,7,112,124,7,112,62,7,112,31,135,112,15,255,112,1, + 255,112,0,7,112,0,7,112,0,7,112,0,7,112,0,7, + 112,0,7,112,0,7,112,0,7,112,0,7,112,0,7,112, + 0,7,112,0,7,112,0,7,112,0,7,112,0,7,112,0, + 7,112,0,31,248,0,63,254,4,5,5,7,2,14,112,240, + 240,240,224,8,10,10,11,2,246,24,56,48,62,127,15,15, + 30,120,224,13,17,34,16,2,15,3,128,31,128,255,128,7, + 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, + 128,7,128,7,128,7,128,15,192,127,248,12,15,30,14,1, + 14,15,128,63,192,49,224,96,96,192,112,192,48,192,48,192, + 48,224,48,224,96,120,192,63,128,31,0,255,240,255,240,18, + 21,63,23,3,0,64,64,0,224,96,0,96,48,0,48,24, + 0,56,28,0,28,14,0,14,15,0,15,7,128,7,135,128, + 7,195,192,3,195,192,7,195,192,7,135,128,15,7,128,30, + 15,0,28,14,0,56,28,0,48,56,0,112,48,0,96,96, + 0,192,64,0,24,29,87,28,2,0,4,0,4,60,0,14, + 204,0,24,12,0,56,12,0,48,12,0,112,12,0,224,12, + 0,192,12,1,192,12,3,128,12,3,0,12,7,0,12,6, + 0,127,142,0,0,28,0,0,24,4,0,56,28,0,112,28, + 0,96,44,0,224,108,1,192,76,1,192,140,3,129,12,3, + 3,12,7,3,255,14,7,254,12,0,12,28,0,12,56,0, + 127,24,29,87,28,2,0,4,0,6,60,0,14,204,0,28, + 12,0,24,12,0,56,12,0,112,12,0,112,12,0,224,12, + 0,192,12,1,192,12,3,128,12,3,0,12,7,0,127,142, + 0,0,14,0,0,28,60,0,24,255,0,57,199,0,115,131, + 0,99,3,0,224,2,1,192,4,1,128,8,3,128,16,7, + 0,32,7,0,65,14,0,129,12,1,255,28,1,255,25,29, + 116,28,1,0,15,128,3,0,31,192,7,0,49,192,14,0, + 112,192,12,0,0,192,28,0,1,128,24,0,15,0,56,0, + 1,192,112,0,0,192,96,0,0,192,224,0,0,193,192,0, + 0,193,128,0,193,195,128,0,127,135,0,0,30,7,0,0, + 0,14,2,0,0,12,14,0,0,28,14,0,0,56,22,0, + 0,48,38,0,0,112,102,0,0,224,198,0,0,224,134,0, + 1,193,134,128,3,131,255,0,3,128,6,0,7,0,6,0, + 6,0,6,0,14,0,63,128,17,35,105,21,2,243,0,224, + 0,1,240,0,3,240,0,3,240,0,3,224,0,1,192,0, + 0,0,0,0,0,0,0,0,0,0,224,0,0,224,0,0, + 224,0,0,224,0,0,224,0,1,224,0,1,192,0,3,192, + 0,3,128,0,7,0,0,15,0,0,30,0,0,60,0,0, + 60,0,0,120,0,0,120,0,0,240,0,0,240,3,128,240, + 7,128,240,7,128,240,7,128,248,15,0,120,15,0,126,30, + 0,63,248,0,15,224,0,28,41,164,29,0,0,0,128,0, + 0,1,192,0,0,3,240,0,0,1,248,0,0,0,124,0, + 0,0,31,0,0,0,7,128,0,0,1,192,0,0,0,128, + 0,0,0,0,0,0,0,0,0,0,2,0,0,0,7,0, + 0,0,15,0,0,0,15,0,0,0,31,128,0,0,31,128, + 0,0,27,128,0,0,59,192,0,0,57,192,0,0,49,224, + 0,0,113,224,0,0,112,224,0,0,96,240,0,0,224,240, + 0,0,224,112,0,0,192,120,0,1,192,120,0,1,192,56, + 0,1,255,252,0,3,255,252,0,3,128,30,0,3,0,30, + 0,7,0,30,0,7,0,15,0,6,0,15,0,14,0,15, + 0,14,0,7,128,12,0,7,128,62,0,7,192,255,192,63, + 240,28,41,164,29,0,0,0,0,32,0,0,0,56,0,0, + 0,252,0,0,1,248,0,0,3,224,0,0,15,128,0,0, + 30,0,0,0,56,0,0,0,32,0,0,0,0,0,0,0, + 0,0,0,0,2,0,0,0,7,0,0,0,15,0,0,0, + 15,0,0,0,31,128,0,0,31,128,0,0,27,128,0,0, + 59,192,0,0,57,192,0,0,49,224,0,0,113,224,0,0, + 112,224,0,0,96,240,0,0,224,240,0,0,224,112,0,0, + 192,120,0,1,192,120,0,1,192,56,0,1,255,252,0,3, + 255,252,0,3,128,30,0,3,0,30,0,7,0,30,0,7, + 0,15,0,6,0,15,0,14,0,15,0,14,0,7,128,12, + 0,7,128,62,0,7,192,255,192,63,240,28,41,164,29,0, + 0,0,6,0,0,0,15,0,0,0,31,128,0,0,63,192, + 0,0,121,224,0,0,240,240,0,1,192,56,0,1,128,24, + 0,1,0,16,0,0,0,0,0,0,0,0,0,0,2,0, + 0,0,7,0,0,0,15,0,0,0,15,0,0,0,31,128, + 0,0,31,128,0,0,27,128,0,0,59,192,0,0,57,192, + 0,0,49,224,0,0,113,224,0,0,112,224,0,0,96,240, + 0,0,224,240,0,0,224,112,0,0,192,120,0,1,192,120, + 0,1,192,56,0,1,255,252,0,3,255,252,0,3,128,30, + 0,3,0,30,0,7,0,30,0,7,0,15,0,6,0,15, + 0,14,0,15,0,14,0,7,128,12,0,7,128,62,0,7, + 192,255,192,63,240,28,39,156,29,0,0,0,16,8,0,0, + 124,12,0,0,254,28,0,1,255,248,0,1,135,240,0,3, + 3,224,0,2,1,0,0,0,0,0,0,0,0,0,0,0, + 2,0,0,0,7,0,0,0,15,0,0,0,15,0,0,0, + 31,128,0,0,31,128,0,0,27,128,0,0,59,192,0,0, + 57,192,0,0,49,224,0,0,113,224,0,0,112,224,0,0, + 96,240,0,0,224,240,0,0,224,112,0,0,192,120,0,1, + 192,120,0,1,192,56,0,1,255,252,0,3,255,252,0,3, + 128,30,0,3,0,30,0,7,0,30,0,7,0,15,0,6, + 0,15,0,14,0,15,0,14,0,7,128,12,0,7,128,62, + 0,7,192,255,192,63,240,28,38,152,29,0,0,0,128,32, + 0,0,224,56,0,1,224,120,0,1,224,120,0,1,224,120, + 0,0,128,32,0,0,0,0,0,0,0,0,0,0,2,0, + 0,0,7,0,0,0,15,0,0,0,15,0,0,0,31,128, + 0,0,31,128,0,0,27,128,0,0,59,192,0,0,57,192, + 0,0,49,224,0,0,113,224,0,0,112,224,0,0,96,240, + 0,0,224,240,0,0,224,112,0,0,192,120,0,1,192,120, + 0,1,192,56,0,1,255,252,0,3,255,252,0,3,128,30, + 0,3,0,30,0,7,0,30,0,7,0,15,0,6,0,15, + 0,14,0,15,0,14,0,7,128,12,0,7,128,62,0,7, + 192,255,192,63,240,28,42,168,29,0,0,0,2,0,0,0, + 15,128,0,0,31,192,0,0,24,192,0,0,48,192,0,0, + 48,192,0,0,48,192,0,0,63,128,0,0,31,0,0,0, + 8,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0, + 7,0,0,0,15,0,0,0,15,0,0,0,31,128,0,0, + 31,128,0,0,27,128,0,0,59,192,0,0,57,192,0,0, + 49,224,0,0,113,224,0,0,112,224,0,0,96,240,0,0, + 224,240,0,0,224,112,0,0,192,120,0,1,192,120,0,1, + 192,56,0,1,255,252,0,3,255,252,0,3,128,30,0,3, + 0,30,0,7,0,30,0,7,0,15,0,6,0,15,0,14, + 0,15,0,14,0,7,128,12,0,7,128,62,0,7,192,255, + 192,63,240,36,30,150,37,0,0,0,127,255,255,192,0,31, + 255,255,224,0,7,252,0,192,0,7,60,0,192,0,7,60, + 0,192,0,14,60,0,192,0,14,60,0,0,0,30,60,0, + 0,0,28,60,0,0,0,28,60,0,0,0,60,60,0,0, + 0,56,60,0,0,0,120,60,0,0,0,127,255,255,0,0, + 127,255,255,0,0,240,60,6,0,0,224,60,0,0,1,224, + 60,0,0,1,192,60,0,0,1,192,60,0,0,3,128,60, + 0,0,3,128,60,0,0,7,128,60,0,0,7,0,60,0, + 0,7,0,60,0,16,14,0,60,0,48,14,0,60,0,48, + 30,0,62,0,112,62,0,127,255,224,255,193,255,255,224,22, + 40,120,26,2,246,0,31,224,0,255,252,1,192,252,7,128, + 56,14,0,16,14,0,0,28,0,0,56,0,0,56,0,0, + 120,0,0,112,0,0,112,0,0,240,0,0,240,0,0,240, + 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,0, + 0,248,0,0,120,0,0,124,0,0,60,0,0,62,0,8, + 31,0,60,15,128,240,15,255,224,3,255,128,0,254,0,0, + 24,0,0,16,0,0,28,0,0,62,0,0,63,0,0,15, + 0,0,15,0,0,30,0,0,120,0,1,192,0,21,41,123, + 24,1,0,4,0,0,14,0,0,31,0,0,15,192,0,3, + 224,0,0,240,0,0,60,0,0,14,0,0,4,0,0,0, + 0,0,0,0,255,255,224,127,255,240,30,0,96,30,0,96, + 30,0,96,30,0,96,30,0,0,30,0,0,30,0,0,30, + 0,0,30,0,0,30,0,0,30,0,0,31,255,128,31,255, + 128,30,3,0,30,0,0,30,0,0,30,0,0,30,0,0, + 30,0,0,30,0,0,30,0,0,30,0,0,30,0,8,30, + 0,24,30,0,24,31,0,56,127,255,240,255,255,240,21,41, + 123,24,1,0,0,1,0,0,3,192,0,7,224,0,15,192, + 0,63,0,0,124,0,0,240,0,1,192,0,1,0,0,0, + 0,0,0,0,0,255,255,224,127,255,240,30,0,96,30,0, + 96,30,0,96,30,0,96,30,0,0,30,0,0,30,0,0, + 30,0,0,30,0,0,30,0,0,30,0,0,31,255,128,31, + 255,128,30,3,0,30,0,0,30,0,0,30,0,0,30,0, + 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,8, + 30,0,24,30,0,24,31,0,56,127,255,240,255,255,240,21, + 41,123,24,1,0,0,48,0,0,120,0,0,252,0,1,254, + 0,3,207,0,7,7,0,14,1,128,28,0,192,16,0,128, + 0,0,0,0,0,0,255,255,224,127,255,240,30,0,96,30, + 0,96,30,0,96,30,0,96,30,0,0,30,0,0,30,0, + 0,30,0,0,30,0,0,30,0,0,30,0,0,31,255,128, + 31,255,128,30,3,0,30,0,0,30,0,0,30,0,0,30, + 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, + 8,30,0,24,30,0,24,31,0,56,127,255,240,255,255,240, + 21,38,114,24,1,0,4,1,0,15,3,192,15,3,192,15, + 3,192,14,3,128,4,1,0,0,0,0,0,0,0,255,255, + 224,127,255,240,30,0,96,30,0,96,30,0,96,30,0,96, + 30,0,0,30,0,0,30,0,0,30,0,0,30,0,0,30, + 0,0,30,0,0,31,255,128,31,255,128,30,3,0,30,0, + 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, + 30,0,0,30,0,0,30,0,8,30,0,24,30,0,24,31, + 0,56,127,255,240,255,255,240,13,41,82,14,255,0,32,0, + 112,0,252,0,126,0,31,0,7,128,1,224,0,112,0,32, + 0,0,0,0,31,248,15,240,3,192,3,192,3,192,3,192, + 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, + 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, + 3,192,3,192,3,192,3,192,3,192,3,192,15,240,31,248, + 13,41,82,14,2,0,0,64,0,112,1,248,3,240,7,192, + 31,0,60,0,112,0,64,0,0,0,0,0,255,192,127,128, + 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, + 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, + 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, + 30,0,30,0,127,128,255,192,15,41,82,14,255,0,1,128, + 3,192,7,224,15,240,30,120,56,60,112,12,224,6,64,4, + 0,0,0,0,31,248,15,240,3,192,3,192,3,192,3,192, + 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, + 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, + 3,192,3,192,3,192,3,192,3,192,3,192,15,240,31,248, + 14,38,76,14,0,0,64,16,112,28,240,60,240,60,224,56, + 64,16,0,0,0,0,63,240,31,224,7,128,7,128,7,128, + 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, + 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, + 7,128,7,128,7,128,7,128,7,128,7,128,7,128,31,224, + 63,240,25,30,120,28,1,0,7,254,0,0,255,255,192,0, + 127,3,240,0,15,0,248,0,15,0,124,0,15,0,62,0, + 15,0,30,0,15,0,31,0,15,0,15,0,15,0,15,0, + 15,0,15,128,15,0,7,128,15,0,7,128,15,0,7,128, + 255,254,7,128,255,252,7,128,15,0,7,128,15,0,7,128, + 15,0,7,128,15,0,7,0,15,0,15,0,15,0,15,0, + 15,0,30,0,15,0,30,0,15,0,60,0,15,0,124,0, + 15,0,248,0,15,3,224,0,31,255,192,0,127,254,0,0, + 27,39,156,31,2,0,0,32,16,0,0,124,12,0,0,254, + 24,0,1,255,240,0,3,15,240,0,3,3,224,0,2,1, + 0,0,0,0,0,0,0,0,0,0,252,0,63,224,124,0, + 15,128,30,0,7,0,31,0,7,0,31,0,7,0,31,128, + 7,0,31,192,7,0,29,192,7,0,28,224,7,0,28,240, + 7,0,28,120,7,0,28,56,7,0,28,60,7,0,28,30, + 7,0,28,14,7,0,28,15,7,0,28,7,135,0,28,7, + 135,0,28,3,199,0,28,1,231,0,28,1,231,0,28,0, + 247,0,28,0,127,0,28,0,127,0,28,0,63,0,28,0, + 31,0,28,0,31,0,28,0,15,0,62,0,7,0,255,128, + 3,0,25,41,164,29,2,0,2,0,0,0,3,128,0,0, + 7,192,0,0,7,224,0,0,1,248,0,0,0,124,0,0, + 0,30,0,0,0,7,128,0,0,1,0,0,0,0,0,0, + 0,0,0,0,0,63,0,0,0,255,224,0,3,193,240,0, + 7,0,248,0,14,0,124,0,28,0,62,0,60,0,30,0, + 56,0,31,0,120,0,15,0,120,0,15,0,112,0,15,128, + 240,0,7,128,240,0,7,128,240,0,7,128,240,0,7,128, + 240,0,7,128,240,0,7,128,240,0,7,128,240,0,7,128, + 248,0,7,0,120,0,15,0,120,0,15,0,124,0,14,0, + 60,0,28,0,62,0,28,0,31,0,56,0,15,128,112,0, + 7,193,224,0,3,255,128,0,0,254,0,0,25,41,164,29, + 2,0,0,0,128,0,0,0,224,0,0,1,240,0,0,7, + 240,0,0,15,192,0,0,30,0,0,0,56,0,0,0,224, + 0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,63, + 0,0,0,255,224,0,3,193,240,0,7,0,248,0,14,0, + 124,0,28,0,62,0,60,0,30,0,56,0,31,0,120,0, + 15,0,120,0,15,0,112,0,15,128,240,0,7,128,240,0, + 7,128,240,0,7,128,240,0,7,128,240,0,7,128,240,0, + 7,128,240,0,7,128,240,0,7,128,248,0,7,0,120,0, + 15,0,120,0,15,0,124,0,14,0,60,0,28,0,62,0, + 28,0,31,0,56,0,15,128,112,0,7,193,224,0,3,255, + 128,0,0,254,0,0,25,41,164,29,2,0,0,28,0,0, + 0,62,0,0,0,126,0,0,0,127,0,0,0,227,128,0, + 1,193,192,0,3,128,224,0,6,0,112,0,4,0,32,0, + 0,0,0,0,0,0,0,0,0,63,0,0,0,255,224,0, + 3,193,240,0,7,0,248,0,14,0,124,0,28,0,62,0, + 60,0,30,0,56,0,31,0,120,0,15,0,120,0,15,0, + 112,0,15,128,240,0,7,128,240,0,7,128,240,0,7,128, + 240,0,7,128,240,0,7,128,240,0,7,128,240,0,7,128, + 240,0,7,128,248,0,7,0,120,0,15,0,120,0,15,0, + 124,0,14,0,60,0,28,0,62,0,28,0,31,0,56,0, + 15,128,112,0,7,193,224,0,3,255,128,0,0,254,0,0, + 25,39,156,29,2,0,0,64,32,0,1,248,48,0,3,252, + 48,0,3,255,224,0,6,31,192,0,4,15,128,0,12,2, + 0,0,0,0,0,0,0,0,0,0,0,63,0,0,0,255, + 224,0,3,193,240,0,7,0,248,0,14,0,124,0,28,0, + 62,0,60,0,30,0,56,0,31,0,120,0,15,0,120,0, + 15,0,112,0,15,128,240,0,7,128,240,0,7,128,240,0, + 7,128,240,0,7,128,240,0,7,128,240,0,7,128,240,0, + 7,128,240,0,7,128,248,0,7,0,120,0,15,0,120,0, + 15,0,124,0,14,0,60,0,28,0,62,0,28,0,31,0, + 56,0,15,128,112,0,7,193,224,0,3,255,128,0,0,254, + 0,0,25,38,152,29,2,0,1,0,64,0,3,128,224,0, + 3,128,224,0,7,129,224,0,3,128,224,0,2,0,128,0, + 0,0,0,0,0,0,0,0,0,63,0,0,0,255,224,0, + 3,193,240,0,7,0,248,0,14,0,124,0,28,0,62,0, + 60,0,30,0,56,0,31,0,120,0,15,0,120,0,15,0, + 112,0,15,128,240,0,7,128,240,0,7,128,240,0,7,128, + 240,0,7,128,240,0,7,128,240,0,7,128,240,0,7,128, + 240,0,7,128,248,0,7,0,120,0,15,0,120,0,15,0, + 124,0,14,0,60,0,28,0,62,0,28,0,31,0,56,0, + 15,128,112,0,7,193,224,0,3,255,128,0,0,254,0,0, + 15,14,28,20,2,6,96,6,240,14,120,28,60,56,30,112, + 15,224,7,192,7,192,15,224,30,112,60,56,120,28,240,14, + 96,6,25,31,124,29,2,255,0,63,7,128,1,255,207,0, + 3,193,254,0,7,0,126,0,14,0,60,0,28,0,126,0, + 56,0,126,0,56,0,255,0,120,1,239,0,120,1,239,0, + 112,3,207,128,240,7,135,128,240,7,7,128,240,15,7,128, + 240,30,7,128,240,60,7,128,240,60,7,128,240,120,7,128, + 240,240,7,128,240,224,7,0,121,224,7,0,123,192,15,0, + 123,128,14,0,63,128,12,0,63,0,28,0,30,0,56,0, + 31,0,112,0,63,193,224,0,121,255,128,0,240,126,0,0, + 192,0,0,0,27,41,164,31,2,0,0,128,0,0,1,192, + 0,0,3,240,0,0,1,248,0,0,0,124,0,0,0,30, + 0,0,0,7,128,0,0,1,192,0,0,0,128,0,0,0, + 0,0,0,0,0,0,255,192,127,224,127,128,63,192,30,0, + 15,0,30,0,15,0,30,0,15,0,30,0,15,0,30,0, + 15,0,30,0,15,0,30,0,15,0,30,0,15,0,30,0, + 15,0,30,0,15,0,30,0,15,0,30,0,15,0,30,0, + 15,0,30,0,15,0,30,0,15,0,30,0,15,0,30,0, + 15,0,30,0,15,0,30,0,15,0,30,0,15,0,30,0, + 30,0,15,0,30,0,15,0,30,0,7,128,60,0,7,192, + 120,0,3,224,240,0,1,255,224,0,0,63,128,0,27,41, + 164,31,2,0,0,0,32,0,0,0,120,0,0,0,252,0, + 0,1,248,0,0,3,224,0,0,15,128,0,0,30,0,0, + 0,56,0,0,0,32,0,0,0,0,0,0,0,0,0,0, + 255,192,127,224,127,128,63,192,30,0,15,0,30,0,15,0, + 30,0,15,0,30,0,15,0,30,0,15,0,30,0,15,0, + 30,0,15,0,30,0,15,0,30,0,15,0,30,0,15,0, + 30,0,15,0,30,0,15,0,30,0,15,0,30,0,15,0, + 30,0,15,0,30,0,15,0,30,0,15,0,30,0,15,0, + 30,0,15,0,30,0,15,0,30,0,30,0,15,0,30,0, + 15,0,30,0,7,128,60,0,7,192,120,0,3,224,240,0, + 1,255,224,0,0,63,128,0,27,41,164,31,2,0,0,6, + 0,0,0,15,0,0,0,31,128,0,0,63,192,0,0,121, + 224,0,0,224,240,0,1,192,48,0,3,128,24,0,1,0, + 16,0,0,0,0,0,0,0,0,0,255,192,127,224,127,128, + 63,192,30,0,15,0,30,0,15,0,30,0,15,0,30,0, + 15,0,30,0,15,0,30,0,15,0,30,0,15,0,30,0, + 15,0,30,0,15,0,30,0,15,0,30,0,15,0,30,0, + 15,0,30,0,15,0,30,0,15,0,30,0,15,0,30,0, + 15,0,30,0,15,0,30,0,15,0,30,0,15,0,30,0, + 15,0,30,0,30,0,15,0,30,0,15,0,30,0,7,128, + 60,0,7,192,120,0,3,224,240,0,1,255,224,0,0,63, + 128,0,27,38,152,31,2,0,0,128,32,0,0,224,56,0, + 1,224,120,0,1,224,120,0,1,192,112,0,0,128,32,0, + 0,0,0,0,0,0,0,0,255,192,127,224,127,128,63,192, + 30,0,15,0,30,0,15,0,30,0,15,0,30,0,15,0, + 30,0,15,0,30,0,15,0,30,0,15,0,30,0,15,0, + 30,0,15,0,30,0,15,0,30,0,15,0,30,0,15,0, + 30,0,15,0,30,0,15,0,30,0,15,0,30,0,15,0, + 30,0,15,0,30,0,15,0,30,0,15,0,30,0,15,0, + 30,0,30,0,15,0,30,0,15,0,30,0,7,128,60,0, + 7,192,120,0,3,224,240,0,1,255,224,0,0,63,128,0, + 28,41,164,29,0,0,0,0,32,0,0,0,56,0,0,0, + 252,0,0,1,248,0,0,3,224,0,0,7,128,0,0,30, + 0,0,0,56,0,0,0,32,0,0,0,0,0,0,0,0, + 0,0,252,0,63,240,254,0,63,240,31,0,15,128,15,0, + 7,0,15,128,14,0,7,192,14,0,3,192,28,0,3,224, + 60,0,1,224,56,0,0,240,120,0,0,248,112,0,0,120, + 224,0,0,125,224,0,0,61,192,0,0,63,192,0,0,31, + 128,0,0,31,128,0,0,15,0,0,0,15,0,0,0,15, + 0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15, + 0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15, + 0,0,0,63,192,0,0,255,240,0,21,30,90,25,2,0, + 255,224,0,127,128,0,30,0,0,30,0,0,30,0,0,30, + 0,0,31,254,0,31,255,128,30,15,192,30,3,224,30,1, + 240,30,0,248,30,0,120,30,0,120,30,0,120,30,0,120, + 30,0,120,30,0,120,30,0,240,30,0,240,30,1,224,31, + 7,192,30,255,128,30,124,0,30,0,0,30,0,0,30,0, + 0,30,0,0,127,128,0,255,224,0,25,36,144,27,1,0, + 0,31,128,0,0,127,224,0,1,195,240,0,3,128,248,0, + 7,0,120,0,7,0,124,0,14,0,60,0,14,0,60,0, + 14,0,60,0,30,0,60,0,30,0,60,0,30,0,120,0, + 30,1,248,0,30,7,240,0,30,15,192,0,30,31,0,0, + 30,60,0,0,30,60,0,0,30,60,0,0,30,62,0,0, + 30,63,0,0,30,31,192,0,30,15,240,0,30,3,252,0, + 30,0,254,0,30,0,127,0,30,0,31,128,30,0,15,128, + 30,0,7,128,30,32,7,128,30,48,7,128,30,48,7,0, + 30,56,15,0,30,60,30,0,62,63,252,0,254,7,224,0, + 20,35,105,22,2,0,30,0,0,62,0,0,31,0,0,15, + 0,0,7,128,0,3,192,0,1,192,0,0,224,0,0,96, + 0,0,48,0,0,0,0,0,0,0,0,0,0,1,248,0, + 15,254,0,28,30,0,120,15,0,112,15,0,240,15,0,128, + 15,0,0,15,0,0,15,0,0,255,0,7,255,0,31,143, + 0,62,15,0,120,15,0,248,15,0,240,15,0,240,15,0, + 240,31,0,240,63,0,120,239,32,127,143,240,30,7,128,20, + 35,105,22,2,0,0,15,0,0,31,0,0,30,0,0,60, + 0,0,56,0,0,112,0,0,112,0,0,224,0,1,192,0, + 1,128,0,0,0,0,0,0,0,0,0,0,1,248,0,15, + 254,0,28,30,0,120,15,0,112,15,0,240,15,0,128,15, + 0,0,15,0,0,15,0,0,255,0,7,255,0,31,143,0, + 62,15,0,120,15,0,248,15,0,240,15,0,240,15,0,240, + 31,0,240,63,0,120,239,32,127,143,240,30,7,128,20,34, + 102,22,2,0,0,224,0,1,240,0,3,240,0,7,56,0, + 6,28,0,12,14,0,24,6,0,48,3,0,32,1,128,0, + 0,0,0,0,0,0,0,0,1,248,0,15,254,0,28,30, + 0,120,15,0,112,15,0,240,15,0,128,15,0,0,15,0, + 0,15,0,0,255,0,7,255,0,31,143,0,62,15,0,120, + 15,0,248,15,0,240,15,0,240,15,0,240,31,0,240,63, + 0,120,239,32,127,143,240,30,7,128,20,32,96,22,2,0, + 7,0,128,15,193,128,31,193,0,63,243,0,48,254,0,96, + 56,0,0,0,0,0,0,0,0,0,0,0,0,0,1,248, + 0,15,254,0,28,30,0,120,15,0,112,15,0,240,15,0, + 128,15,0,0,15,0,0,15,0,0,255,0,7,255,0,31, + 143,0,62,15,0,120,15,0,248,15,0,240,15,0,240,15, + 0,240,31,0,240,63,0,120,239,32,127,143,240,30,7,128, + 20,32,96,22,2,0,28,7,0,28,7,0,60,15,0,60, + 15,0,24,6,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,1,248,0,15,254,0,28,30,0,120,15,0, + 112,15,0,240,15,0,128,15,0,0,15,0,0,15,0,0, + 255,0,7,255,0,31,143,0,62,15,0,120,15,0,248,15, + 0,240,15,0,240,15,0,240,31,0,240,63,0,120,239,32, + 127,143,240,30,7,128,20,34,102,22,2,0,0,240,0,1, + 248,0,3,24,0,3,24,0,6,24,0,6,24,0,7,56, + 0,3,240,0,1,192,0,0,0,0,0,0,0,0,0,0, + 1,248,0,15,254,0,28,30,0,120,15,0,112,15,0,240, + 15,0,128,15,0,0,15,0,0,15,0,0,255,0,7,255, + 0,31,143,0,62,15,0,120,15,0,248,15,0,240,15,0, + 240,15,0,240,31,0,240,63,0,120,239,32,127,143,240,30, + 7,128,29,22,88,33,2,0,1,248,31,128,7,252,127,192, + 28,62,225,224,56,31,192,240,112,15,128,112,240,15,128,120, + 240,15,0,120,192,15,0,120,0,127,255,248,3,255,255,240, + 15,143,0,0,30,15,0,0,60,15,0,0,120,15,0,0, + 240,15,0,0,240,15,128,0,240,31,128,24,240,63,192,48, + 248,243,224,240,127,227,255,192,127,128,255,128,30,0,126,0, + 18,32,96,21,2,246,0,127,0,1,255,192,7,7,192,14, + 1,128,28,0,128,56,0,0,120,0,0,112,0,0,240,0, + 0,240,0,0,240,0,0,240,0,0,240,0,0,240,0,0, + 240,0,0,248,0,0,120,1,0,124,3,128,62,7,0,31, + 254,0,31,248,0,7,240,0,0,192,0,0,128,0,0,224, + 0,0,240,0,1,248,0,0,120,0,0,120,0,0,240,0, + 3,192,0,14,0,0,18,35,105,22,2,0,14,0,0,31, + 0,0,15,128,0,7,128,0,3,192,0,1,192,0,0,224, + 0,0,112,0,0,48,0,0,24,0,0,0,0,0,0,0, + 0,0,0,0,248,0,7,254,0,14,15,0,28,7,128,56, + 7,128,56,3,192,112,3,192,112,3,192,255,255,192,255,255, + 128,240,0,0,240,0,0,240,0,0,240,0,0,248,0,0, + 120,0,0,120,0,0,124,0,192,62,1,128,31,7,0,15, + 254,0,3,248,0,18,35,105,22,2,0,0,7,0,0,15, + 128,0,15,0,0,30,0,0,60,0,0,56,0,0,112,0, + 0,96,0,0,192,0,0,128,0,0,0,0,0,0,0,0, + 0,0,0,248,0,7,254,0,14,15,0,28,7,128,56,7, + 128,56,3,192,112,3,192,112,3,192,255,255,192,255,255,128, + 240,0,0,240,0,0,240,0,0,240,0,0,248,0,0,120, + 0,0,120,0,0,124,0,192,62,1,128,31,7,0,15,254, + 0,3,248,0,18,34,102,22,2,0,0,240,0,0,240,0, + 1,248,0,3,156,0,7,14,0,14,6,0,12,3,0,24, + 1,128,16,0,128,0,0,0,0,0,0,0,0,0,0,248, + 0,7,254,0,14,15,0,28,7,128,56,7,128,56,3,192, + 112,3,192,112,3,192,255,255,192,255,255,128,240,0,0,240, + 0,0,240,0,0,240,0,0,248,0,0,120,0,0,120,0, + 0,124,0,192,62,1,128,31,7,0,15,254,0,3,248,0, + 18,32,96,22,2,0,14,3,128,30,7,128,30,7,128,30, + 7,128,28,7,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,248,0,7,254,0,14,15,0,28,7,128, + 56,7,128,56,3,192,112,3,192,112,3,192,255,255,192,255, + 255,128,240,0,0,240,0,0,240,0,0,240,0,0,248,0, + 0,120,0,0,120,0,0,124,0,192,62,1,128,31,7,0, + 15,254,0,3,248,0,12,35,70,13,0,0,240,0,248,0, + 120,0,60,0,28,0,14,0,7,0,3,0,1,128,0,128, + 0,0,0,0,0,0,1,128,31,128,63,128,15,128,7,128, + 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, + 7,128,7,128,7,128,7,128,7,128,7,128,7,128,15,192, + 63,240,12,35,70,13,2,0,0,224,1,240,3,224,3,192, + 7,128,7,0,14,0,28,0,24,0,48,0,0,0,0,0, + 0,0,6,0,126,0,254,0,62,0,30,0,30,0,30,0, + 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, + 30,0,30,0,30,0,30,0,30,0,63,0,255,192,15,34, + 68,13,255,0,3,128,7,192,7,224,14,240,28,112,56,56, + 112,12,96,6,192,2,0,0,0,0,0,0,0,192,15,192, + 31,192,7,192,3,192,3,192,3,192,3,192,3,192,3,192, + 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, + 3,192,3,192,7,224,31,248,14,32,64,13,0,0,96,24, + 240,60,240,60,224,56,224,56,0,0,0,0,0,0,0,0, + 0,0,1,128,31,128,63,128,15,128,7,128,7,128,7,128, + 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, + 7,128,7,128,7,128,7,128,7,128,15,192,63,240,20,34, + 102,24,2,0,3,0,0,31,192,128,31,225,224,1,255,192, + 0,126,0,0,252,0,3,254,0,15,143,0,4,7,128,0, + 3,128,0,3,192,0,1,192,1,241,224,7,255,224,14,31, + 224,28,7,240,56,3,240,56,1,240,120,1,240,112,0,240, + 240,0,240,240,0,240,240,0,240,240,0,240,240,0,224,240, + 0,224,248,1,224,120,1,192,124,1,192,124,3,128,62,7, + 0,31,14,0,15,252,0,3,240,0,23,32,96,26,2,0, + 1,224,32,3,240,48,7,248,96,7,252,192,14,63,128,8, + 15,0,0,0,0,0,0,0,0,0,0,0,0,0,12,7, + 192,254,15,224,62,49,224,30,96,240,30,192,240,30,128,240, + 31,0,240,31,0,240,30,0,240,30,0,240,30,0,240,30, + 0,240,30,0,240,30,0,240,30,0,240,30,0,240,30,0, + 240,30,0,240,30,0,240,30,0,240,127,131,248,255,199,254, + 20,35,105,24,2,0,15,0,0,15,0,0,7,128,0,3, + 192,0,1,192,0,0,224,0,0,112,0,0,112,0,0,56, + 0,0,24,0,0,0,0,0,0,0,0,0,0,0,252,0, + 7,255,0,14,15,128,28,7,192,56,3,192,56,3,224,112, + 1,224,112,1,240,240,0,240,240,0,240,240,0,240,240,0, + 240,240,0,240,240,0,240,248,0,224,120,1,224,124,1,192, + 60,1,192,62,3,128,31,7,0,15,254,0,3,240,0,20, + 35,105,24,2,0,0,7,128,0,7,192,0,15,128,0,15, + 0,0,30,0,0,60,0,0,56,0,0,112,0,0,96,0, + 0,192,0,0,0,0,0,0,0,0,0,0,0,252,0,7, + 255,0,14,15,128,28,7,192,56,3,192,56,3,224,112,1, + 224,112,1,240,240,0,240,240,0,240,240,0,240,240,0,240, + 240,0,240,240,0,240,248,0,224,120,1,224,124,1,192,60, + 1,192,62,3,128,31,7,0,15,254,0,3,240,0,20,34, + 102,24,2,0,0,112,0,0,248,0,1,252,0,1,220,0, + 3,142,0,7,7,0,14,3,128,12,1,192,24,0,192,0, + 0,0,0,0,0,0,0,0,0,252,0,7,255,0,14,15, + 128,28,7,192,56,3,192,56,3,224,112,1,224,112,1,240, + 240,0,240,240,0,240,240,0,240,240,0,240,240,0,240,240, + 0,240,248,0,224,120,1,224,124,1,192,60,1,192,62,3, + 128,31,7,0,15,254,0,3,240,0,20,32,96,24,2,0, + 3,192,64,7,224,96,15,240,192,15,249,128,28,127,0,16, + 30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252, + 0,7,255,0,14,15,128,28,7,192,56,3,192,56,3,224, + 112,1,224,112,1,240,240,0,240,240,0,240,240,0,240,240, + 0,240,240,0,240,240,0,240,248,0,224,120,1,224,124,1, + 192,60,1,192,62,3,128,31,7,0,15,254,0,3,240,0, + 20,32,96,24,2,0,6,1,128,15,3,192,15,3,192,14, + 3,128,14,3,128,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,252,0,7,255,0,14,15,128,28,7,192, + 56,3,192,56,3,224,112,1,224,112,1,240,240,0,240,240, + 0,240,240,0,240,240,0,240,240,0,240,240,0,240,248,0, + 224,120,1,224,124,1,192,60,1,192,62,3,128,31,7,0, + 15,254,0,3,240,0,17,15,45,20,1,6,0,224,0,1, + 224,0,1,224,0,1,192,0,0,0,0,0,0,0,0,0, + 0,127,255,128,255,255,128,0,0,0,0,0,0,0,224,0, + 1,224,0,1,224,0,1,192,0,20,24,72,24,2,255,0, + 0,48,1,248,112,7,254,224,14,15,192,28,7,192,56,3, + 224,56,7,224,112,15,224,112,28,240,240,24,240,240,56,240, + 240,112,240,240,224,240,240,192,240,241,192,240,243,128,224,255, + 0,224,126,1,192,126,1,192,62,3,128,63,7,0,119,254, + 0,225,248,0,128,0,0,24,35,105,25,1,0,3,128,0, + 7,192,0,3,192,0,1,224,0,0,240,0,0,112,0,0, + 56,0,0,24,0,0,12,0,0,4,0,0,0,0,0,0, + 0,0,0,0,6,0,112,254,7,240,126,7,240,30,0,240, + 30,0,240,30,0,240,30,0,240,30,0,240,30,0,240,30, + 0,240,30,0,240,30,0,240,30,0,240,30,0,240,30,0, + 240,30,0,240,30,0,240,30,1,240,31,2,240,15,12,255, + 15,248,252,3,224,112,24,35,105,25,1,0,0,1,192,0, + 3,224,0,7,192,0,7,128,0,15,0,0,14,0,0,28, + 0,0,56,0,0,48,0,0,96,0,0,0,0,0,0,0, + 0,0,0,6,0,112,254,7,240,126,7,240,30,0,240,30, + 0,240,30,0,240,30,0,240,30,0,240,30,0,240,30,0, + 240,30,0,240,30,0,240,30,0,240,30,0,240,30,0,240, + 30,0,240,30,0,240,30,1,240,31,2,240,15,12,255,15, + 248,252,3,224,112,24,34,102,25,1,0,0,56,0,0,124, + 0,0,126,0,0,231,0,1,195,0,3,129,128,3,0,192, + 6,0,96,12,0,32,0,0,0,0,0,0,0,0,0,6, + 0,112,254,7,240,126,7,240,30,0,240,30,0,240,30,0, + 240,30,0,240,30,0,240,30,0,240,30,0,240,30,0,240, + 30,0,240,30,0,240,30,0,240,30,0,240,30,0,240,30, + 0,240,30,1,240,31,2,240,15,12,255,15,248,252,3,224, + 112,24,32,96,25,1,0,3,0,192,7,129,224,7,129,224, + 7,129,224,7,1,192,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,6,0,112,254,7,240,126,7,240,30,0, + 240,30,0,240,30,0,240,30,0,240,30,0,240,30,0,240, + 30,0,240,30,0,240,30,0,240,30,0,240,30,0,240,30, + 0,240,30,0,240,30,0,240,30,1,240,31,2,240,15,12, + 255,15,248,252,3,224,112,24,46,138,24,255,245,0,0,240, + 0,0,248,0,1,224,0,3,224,0,3,192,0,7,128,0, + 7,0,0,14,0,0,12,0,0,24,0,0,0,0,0,0, + 0,0,0,0,127,224,255,31,0,62,15,0,28,15,0,24, + 7,128,56,7,128,56,3,128,48,3,192,112,3,192,96,1, + 224,224,1,224,224,0,224,192,0,241,192,0,241,192,0,121, + 128,0,123,128,0,59,0,0,63,0,0,63,0,0,30,0, + 0,30,0,0,12,0,0,12,0,0,28,0,0,24,0,0, + 56,0,0,112,0,0,112,0,0,224,0,63,192,0,127,128, + 0,255,0,0,124,0,0,21,47,141,25,2,245,6,0,0, + 126,0,0,254,0,0,62,0,0,30,0,0,30,0,0,30, + 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, + 0,30,0,0,30,0,0,30,15,0,28,63,192,28,99,224, + 28,193,224,29,129,240,31,0,240,31,0,248,30,0,248,30, + 0,120,30,0,120,30,0,120,30,0,120,30,0,120,30,0, + 120,30,0,112,30,0,112,30,0,224,30,0,224,31,129,192, + 31,195,128,31,255,0,30,124,0,30,0,0,30,0,0,30, + 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, + 0,30,0,0,63,0,0,255,224,0,24,43,129,24,255,245, + 0,192,48,1,192,112,1,224,120,3,192,240,1,128,96,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,224, + 255,31,0,62,15,0,28,15,0,24,7,128,56,7,128,56, + 3,128,48,3,192,112,3,192,96,1,224,224,1,224,224,0, + 224,192,0,241,192,0,241,192,0,121,128,0,123,128,0,59, + 0,0,63,0,0,63,0,0,30,0,0,30,0,0,12,0, + 0,12,0,0,28,0,0,24,0,0,56,0,0,112,0,0, + 112,0,0,224,0,63,192,0,127,128,0,255,0,0,124,0, + 0}; +/* + Fontname: -FreeType-Gentium Basic-Medium-R-Normal--48-480-72-72-P-218-ISO10646-1 + Copyright: Copyright (c) SIL International, 2003-2008. + Capital A Height: 0, '1' Height: 29 + Calculated Max Values w=20 h=46 x= 3 y=17 dx=23 dy= 0 ascent=38 len=138 + Font Bounding box w=71 h=68 x=-24 y=-17 + Calculated Min Values x= 0 y=-8 dx= 0 dy= 0 + Pure Font ascent =29 descent= 0 + X Font ascent =29 descent= 0 + Max Font ascent =38 descent=-8 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_gdr30n[1281] U8G_FONT_SECTION("u8g_font_gdr30n") = { + 0,71,68,232,239,29,0,0,0,0,42,58,0,38,248,29, + 0,18,20,60,21,2,17,0,192,0,1,192,0,1,192,0, + 1,192,0,193,193,0,240,195,192,248,207,192,124,223,0,15, + 252,0,3,224,0,3,224,0,15,252,0,60,223,0,248,207, + 128,240,195,128,64,193,128,1,192,0,1,192,0,1,192,0, + 1,128,0,17,17,51,20,1,5,0,192,0,1,192,0,1, + 192,0,1,192,0,1,192,0,1,192,0,1,192,0,1,192, + 0,255,255,128,255,255,128,1,192,0,1,192,0,1,192,0, + 1,192,0,1,192,0,1,192,0,1,128,0,7,13,13,11, + 2,249,8,60,254,254,30,30,30,28,28,56,48,96,64,14, + 2,4,16,1,11,127,252,255,248,6,6,6,11,3,255,56, + 124,252,252,248,112,20,46,138,23,1,248,0,0,48,0,0, + 240,0,0,240,0,0,224,0,1,224,0,1,192,0,1,192, + 0,3,192,0,3,128,0,7,128,0,7,128,0,7,0,0, + 15,0,0,15,0,0,14,0,0,30,0,0,28,0,0,28, + 0,0,60,0,0,56,0,0,120,0,0,120,0,0,112,0, + 0,240,0,0,224,0,0,224,0,1,224,0,1,192,0,3, + 192,0,3,192,0,3,128,0,7,128,0,7,128,0,7,0, + 0,15,0,0,14,0,0,30,0,0,30,0,0,28,0,0, + 60,0,0,60,0,0,56,0,0,120,0,0,112,0,0,240, + 0,0,192,0,0,19,29,87,23,2,0,1,248,0,7,252, + 0,14,30,0,28,15,0,24,7,128,56,7,128,56,3,192, + 112,3,192,112,3,192,112,3,224,240,1,224,240,1,224,240, + 1,224,240,1,224,240,1,224,240,1,224,240,1,224,240,1, + 224,240,1,224,240,1,192,120,1,192,120,3,192,120,3,128, + 60,3,128,60,3,0,30,7,0,15,14,0,7,252,0,3, + 240,0,17,29,87,23,3,0,0,96,0,1,224,0,15,224, + 0,127,224,0,255,224,0,1,224,0,1,224,0,1,224,0, + 1,224,0,1,224,0,1,224,0,1,224,0,1,224,0,1, + 224,0,1,224,0,1,224,0,1,224,0,1,224,0,1,224, + 0,1,224,0,1,224,0,1,224,0,1,224,0,1,224,0, + 1,224,0,1,224,0,3,240,0,63,254,0,127,255,128,17, + 29,87,22,2,0,1,248,0,7,254,0,28,31,0,56,15, + 0,120,15,128,112,7,128,240,7,128,224,7,128,0,7,128, + 0,7,128,0,15,0,0,15,0,0,30,0,0,30,0,0, + 60,0,0,120,0,0,240,0,0,240,0,1,224,0,3,192, + 0,7,128,0,15,0,0,15,0,0,30,0,128,60,0,128, + 120,0,128,240,1,128,255,255,128,255,255,128,18,29,87,22, + 1,0,1,248,0,7,254,0,30,31,0,60,15,0,56,7, + 128,120,7,128,112,7,128,0,7,128,0,7,0,0,15,0, + 0,30,0,0,60,0,0,248,0,3,254,0,0,63,0,0, + 15,128,0,7,128,0,3,192,0,3,192,0,3,192,0,3, + 192,0,3,192,0,3,192,0,7,128,128,7,128,224,15,0, + 120,62,0,63,252,0,7,224,0,19,29,87,23,1,0,0, + 3,0,0,15,0,0,31,0,0,63,0,0,127,0,0,127, + 0,0,239,0,0,207,0,1,207,0,3,143,0,3,143,0, + 7,15,0,14,15,0,14,15,0,28,15,0,24,15,0,56, + 15,0,112,15,0,112,15,0,255,255,224,255,255,192,0,15, + 0,0,15,0,0,15,0,0,15,0,0,15,0,0,15,0, + 0,63,128,1,255,224,18,29,87,23,2,0,0,0,128,0, + 1,128,31,255,0,31,254,0,24,0,0,24,0,0,24,0, + 0,24,0,0,56,0,0,56,0,0,56,0,0,63,240,0, + 63,252,0,120,63,0,32,15,0,0,7,128,0,7,192,0, + 3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3, + 128,0,7,128,128,7,128,224,15,0,120,62,0,63,252,0, + 7,240,0,18,29,87,23,3,0,0,7,0,0,63,0,0, + 248,0,1,224,0,3,192,0,15,0,0,14,0,0,30,0, + 0,60,0,0,56,0,0,120,0,0,120,248,0,119,254,0, + 254,31,0,248,15,128,240,7,128,240,7,192,240,3,192,240, + 3,192,240,3,192,240,3,192,248,3,192,120,3,128,120,3, + 128,60,7,128,60,7,0,31,14,0,15,252,0,3,240,0, + 19,27,81,23,2,0,127,255,192,127,255,224,96,1,192,64, + 3,192,192,3,128,0,3,128,0,7,0,0,7,0,0,14, + 0,0,14,0,0,28,0,0,28,0,0,56,0,0,56,0, + 0,56,0,0,112,0,0,112,0,0,224,0,0,224,0,1, + 192,0,1,192,0,3,192,0,7,128,0,7,128,0,15,0, + 0,15,0,0,28,0,0,18,29,87,22,2,0,3,248,0, + 15,254,0,28,31,0,56,15,0,48,7,128,112,7,128,112, + 7,128,112,7,128,112,7,0,120,15,0,62,30,0,31,188, + 0,15,240,0,3,252,0,7,254,0,30,63,0,60,15,128, + 120,7,192,112,7,192,240,3,192,240,3,192,240,3,192,240, + 3,192,240,3,128,120,7,128,124,7,0,62,14,0,31,252, + 0,7,224,0,19,30,90,23,2,255,1,248,0,7,254,0, + 14,31,0,28,15,128,56,7,128,120,3,192,112,3,192,240, + 3,224,240,1,224,240,1,224,240,1,224,240,1,224,248,1, + 224,120,3,224,124,7,224,62,13,224,31,249,224,7,225,192, + 0,3,192,0,3,192,0,7,128,0,7,128,0,15,0,0, + 30,0,0,60,0,0,120,0,0,240,0,3,224,0,31,128, + 0,56,0,0,6,23,23,11,3,255,56,124,252,252,248,112, + 0,0,0,0,0,0,0,0,0,0,0,56,124,252,252,248, + 112}; +/* + Fontname: -FreeType-Gentium Basic-Medium-R-Normal--48-480-72-72-P-218-ISO10646-1 + Copyright: Copyright (c) SIL International, 2003-2008. + Capital A Height: 30, '1' Height: 29 + Calculated Max Values w=40 h=49 x= 4 y=25 dx=41 dy= 0 ascent=39 len=195 + Font Bounding box w=71 h=68 x=-24 y=-17 + Calculated Min Values x=-5 y=-11 dx= 0 dy= 0 + Pure Font ascent =30 descent=-11 + X Font ascent =38 descent=-11 + Max Font ascent =39 descent=-11 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_gdr30r[8588] U8G_FONT_SECTION("u8g_font_gdr30r") = { + 0,71,68,232,239,30,9,231,23,124,32,127,245,39,245,38, + 245,0,0,0,11,0,0,6,36,36,13,3,255,12,60,124, + 124,124,124,124,120,120,120,56,56,56,56,56,56,56,56,56, + 56,56,56,56,56,56,56,0,0,0,0,56,124,252,252,248, + 112,13,16,32,20,4,19,48,56,240,248,240,248,240,240,240, + 240,240,240,240,112,240,112,240,112,240,112,112,112,112,112,96, + 112,96,112,96,112,96,112,21,27,81,23,2,3,0,48,96, + 0,112,224,0,96,192,0,224,192,0,225,192,0,225,192,0, + 193,128,1,195,128,31,255,248,31,255,248,3,135,0,3,135, + 0,3,7,0,3,6,0,7,14,0,7,14,0,6,14,0, + 255,255,192,255,255,192,12,28,0,12,24,0,28,56,0,28, + 56,0,24,48,0,56,112,0,56,112,0,48,96,0,20,36, + 108,23,1,252,0,96,0,0,96,0,0,96,0,0,96,0, + 3,254,0,15,255,128,62,127,192,120,103,128,112,99,128,240, + 96,0,240,96,0,240,96,0,248,96,0,126,96,0,127,224, + 0,63,240,0,15,254,0,1,255,0,0,127,192,0,111,224, + 0,99,224,0,97,240,0,96,240,0,96,240,64,96,240,96, + 96,240,112,96,224,120,97,224,124,99,192,127,255,128,31,255, + 0,7,248,0,0,96,0,0,96,0,0,96,0,0,96,0, + 31,30,120,34,1,255,7,192,0,96,31,224,1,240,60,240, + 1,192,120,120,3,192,112,120,7,128,240,60,7,0,240,60, + 14,0,240,60,30,0,240,60,60,0,240,60,56,0,240,60, + 120,0,120,56,240,0,120,120,224,0,60,241,192,0,31,227, + 195,224,15,135,143,240,0,7,30,120,0,15,60,60,0,30, + 56,60,0,28,120,30,0,56,120,30,0,120,120,30,0,240, + 120,30,0,224,120,30,1,192,120,30,3,192,60,28,3,128, + 60,60,7,0,30,120,15,0,15,240,12,0,7,192,30,34, + 136,32,2,0,0,63,0,0,0,255,128,0,1,199,192,0, + 3,131,224,0,7,1,224,0,7,1,224,0,15,1,224,0, + 15,1,224,0,15,3,224,0,15,3,192,0,15,135,192,0, + 15,143,128,0,7,191,0,0,7,254,0,0,7,248,0,0, + 7,240,0,0,15,240,63,248,31,240,127,252,62,120,30,48, + 60,124,15,0,124,60,15,0,120,30,7,0,240,31,7,0, + 240,15,135,0,240,7,198,0,240,3,198,0,240,3,236,0, + 240,1,252,0,248,0,252,0,120,0,126,0,60,0,255,0, + 63,3,143,200,15,255,7,240,3,248,3,192,4,16,16,12, + 4,19,48,240,240,240,240,240,240,240,240,240,112,112,96,96, + 96,96,11,45,90,15,3,249,0,32,0,224,1,192,3,128, + 3,128,7,0,14,0,14,0,28,0,28,0,60,0,56,0, + 56,0,120,0,120,0,120,0,112,0,240,0,240,0,240,0, + 240,0,240,0,240,0,240,0,240,0,240,0,240,0,240,0, + 240,0,120,0,120,0,120,0,120,0,56,0,60,0,60,0, + 28,0,30,0,14,0,15,0,7,0,3,128,1,192,0,224, + 0,32,11,45,90,15,1,249,128,0,224,0,112,0,56,0, + 28,0,30,0,14,0,15,0,7,0,7,128,7,128,3,128, + 3,192,3,192,3,192,3,192,1,224,1,224,1,224,1,224, + 1,224,1,224,1,224,1,224,1,224,1,224,1,224,1,224, + 1,192,3,192,3,192,3,192,3,128,3,128,7,128,7,0, + 15,0,14,0,14,0,28,0,56,0,56,0,112,0,224,0, + 128,0,18,20,60,21,2,17,0,192,0,1,192,0,1,192, + 0,1,192,0,193,193,0,240,195,192,248,207,192,124,223,0, + 15,252,0,3,224,0,3,224,0,15,252,0,60,223,0,248, + 207,128,240,195,128,64,193,128,1,192,0,1,192,0,1,192, + 0,1,128,0,17,17,51,20,1,5,0,192,0,1,192,0, + 1,192,0,1,192,0,1,192,0,1,192,0,1,192,0,1, + 192,0,255,255,128,255,255,128,1,192,0,1,192,0,1,192, + 0,1,192,0,1,192,0,1,192,0,1,128,0,7,13,13, + 11,2,249,8,60,254,254,30,30,30,28,28,56,48,96,64, + 14,2,4,16,1,11,127,252,255,248,6,6,6,11,3,255, + 56,124,252,252,248,112,20,46,138,23,1,248,0,0,48,0, + 0,240,0,0,240,0,0,224,0,1,224,0,1,192,0,1, + 192,0,3,192,0,3,128,0,7,128,0,7,128,0,7,0, + 0,15,0,0,15,0,0,14,0,0,30,0,0,28,0,0, + 28,0,0,60,0,0,56,0,0,120,0,0,120,0,0,112, + 0,0,240,0,0,224,0,0,224,0,1,224,0,1,192,0, + 3,192,0,3,192,0,3,128,0,7,128,0,7,128,0,7, + 0,0,15,0,0,14,0,0,30,0,0,30,0,0,28,0, + 0,60,0,0,60,0,0,56,0,0,120,0,0,112,0,0, + 240,0,0,192,0,0,19,29,87,23,2,0,1,248,0,7, + 252,0,14,30,0,28,15,0,24,7,128,56,7,128,56,3, + 192,112,3,192,112,3,192,112,3,224,240,1,224,240,1,224, + 240,1,224,240,1,224,240,1,224,240,1,224,240,1,224,240, + 1,224,240,1,224,240,1,192,120,1,192,120,3,192,120,3, + 128,60,3,128,60,3,0,30,7,0,15,14,0,7,252,0, + 3,240,0,17,29,87,23,3,0,0,96,0,1,224,0,15, + 224,0,127,224,0,255,224,0,1,224,0,1,224,0,1,224, + 0,1,224,0,1,224,0,1,224,0,1,224,0,1,224,0, + 1,224,0,1,224,0,1,224,0,1,224,0,1,224,0,1, + 224,0,1,224,0,1,224,0,1,224,0,1,224,0,1,224, + 0,1,224,0,1,224,0,3,240,0,63,254,0,127,255,128, + 17,29,87,22,2,0,1,248,0,7,254,0,28,31,0,56, + 15,0,120,15,128,112,7,128,240,7,128,224,7,128,0,7, + 128,0,7,128,0,15,0,0,15,0,0,30,0,0,30,0, + 0,60,0,0,120,0,0,240,0,0,240,0,1,224,0,3, + 192,0,7,128,0,15,0,0,15,0,0,30,0,128,60,0, + 128,120,0,128,240,1,128,255,255,128,255,255,128,18,29,87, + 22,1,0,1,248,0,7,254,0,30,31,0,60,15,0,56, + 7,128,120,7,128,112,7,128,0,7,128,0,7,0,0,15, + 0,0,30,0,0,60,0,0,248,0,3,254,0,0,63,0, + 0,15,128,0,7,128,0,3,192,0,3,192,0,3,192,0, + 3,192,0,3,192,0,3,192,0,7,128,128,7,128,224,15, + 0,120,62,0,63,252,0,7,224,0,19,29,87,23,1,0, + 0,3,0,0,15,0,0,31,0,0,63,0,0,127,0,0, + 127,0,0,239,0,0,207,0,1,207,0,3,143,0,3,143, + 0,7,15,0,14,15,0,14,15,0,28,15,0,24,15,0, + 56,15,0,112,15,0,112,15,0,255,255,224,255,255,192,0, + 15,0,0,15,0,0,15,0,0,15,0,0,15,0,0,15, + 0,0,63,128,1,255,224,18,29,87,23,2,0,0,0,128, + 0,1,128,31,255,0,31,254,0,24,0,0,24,0,0,24, + 0,0,24,0,0,56,0,0,56,0,0,56,0,0,63,240, + 0,63,252,0,120,63,0,32,15,0,0,7,128,0,7,192, + 0,3,192,0,3,192,0,3,192,0,3,192,0,3,192,0, + 3,128,0,7,128,128,7,128,224,15,0,120,62,0,63,252, + 0,7,240,0,18,29,87,23,3,0,0,7,0,0,63,0, + 0,248,0,1,224,0,3,192,0,15,0,0,14,0,0,30, + 0,0,60,0,0,56,0,0,120,0,0,120,248,0,119,254, + 0,254,31,0,248,15,128,240,7,128,240,7,192,240,3,192, + 240,3,192,240,3,192,240,3,192,248,3,192,120,3,128,120, + 3,128,60,7,128,60,7,0,31,14,0,15,252,0,3,240, + 0,19,27,81,23,2,0,127,255,192,127,255,224,96,1,192, + 64,3,192,192,3,128,0,3,128,0,7,0,0,7,0,0, + 14,0,0,14,0,0,28,0,0,28,0,0,56,0,0,56, + 0,0,56,0,0,112,0,0,112,0,0,224,0,0,224,0, + 1,192,0,1,192,0,3,192,0,7,128,0,7,128,0,15, + 0,0,15,0,0,28,0,0,18,29,87,22,2,0,3,248, + 0,15,254,0,28,31,0,56,15,0,48,7,128,112,7,128, + 112,7,128,112,7,128,112,7,0,120,15,0,62,30,0,31, + 188,0,15,240,0,3,252,0,7,254,0,30,63,0,60,15, + 128,120,7,192,112,7,192,240,3,192,240,3,192,240,3,192, + 240,3,192,240,3,128,120,7,128,124,7,0,62,14,0,31, + 252,0,7,224,0,19,30,90,23,2,255,1,248,0,7,254, + 0,14,31,0,28,15,128,56,7,128,120,3,192,112,3,192, + 240,3,224,240,1,224,240,1,224,240,1,224,240,1,224,248, + 1,224,120,3,224,124,7,224,62,13,224,31,249,224,7,225, + 192,0,3,192,0,3,192,0,7,128,0,7,128,0,15,0, + 0,30,0,0,60,0,0,120,0,0,240,0,3,224,0,31, + 128,0,56,0,0,6,23,23,11,3,255,56,124,252,252,248, + 112,0,0,0,0,0,0,0,0,0,0,0,56,124,252,252, + 248,112,7,29,29,11,2,249,28,62,126,126,124,56,0,0, + 0,0,0,0,0,0,0,0,8,60,254,254,30,30,30,28, + 28,56,48,96,64,19,15,45,21,1,6,0,0,96,0,3, + 192,0,31,192,0,127,0,3,252,0,31,224,0,127,0,0, + 124,0,0,254,0,0,63,192,0,7,240,0,1,254,0,0, + 63,192,0,7,224,0,1,128,19,9,27,21,1,9,127,255, + 224,255,255,192,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,127,255,224,255,255,192,19,15,45,21,1,6,48, + 0,0,252,0,0,127,128,0,15,240,0,3,254,0,0,127, + 128,0,15,224,0,3,192,0,31,192,0,255,0,3,248,0, + 31,192,0,127,0,0,120,0,0,192,0,0,17,36,108,21, + 2,255,3,248,0,15,254,0,60,63,0,120,15,0,120,15, + 128,240,7,128,240,7,128,240,7,128,224,7,128,0,7,128, + 0,15,0,0,15,0,0,30,0,0,30,0,0,60,0,0, + 120,0,0,112,0,0,224,0,1,224,0,1,192,0,3,192, + 0,3,128,0,3,128,0,3,128,0,3,128,0,3,128,0, + 0,0,0,0,0,0,0,0,0,0,0,0,1,192,0,3, + 224,0,7,224,0,7,224,0,7,192,0,3,128,0,36,39, + 195,39,1,248,0,0,255,128,0,0,7,255,224,0,0,31, + 1,248,0,0,120,0,62,0,0,224,0,31,0,1,192,0, + 15,0,7,128,0,7,128,7,0,0,3,192,14,0,0,1, + 192,28,0,124,33,224,28,1,255,96,224,56,3,135,224,224, + 56,7,3,224,224,120,14,1,224,240,112,14,1,224,112,112, + 30,1,224,112,240,28,1,224,112,240,60,1,224,112,240,60, + 1,224,112,240,60,1,224,112,240,60,1,224,112,240,60,1, + 224,112,240,60,1,224,96,248,60,1,224,224,248,62,1,224, + 192,120,30,1,224,192,120,31,3,225,128,124,15,5,225,0, + 60,15,141,242,0,62,7,248,252,0,31,1,224,112,0,31, + 0,0,0,0,15,128,0,0,0,7,192,0,1,0,3,240, + 0,3,128,1,248,0,14,0,0,127,0,252,0,0,31,255, + 240,0,0,3,255,0,0,28,30,120,29,0,0,0,2,0, + 0,0,7,0,0,0,15,0,0,0,15,0,0,0,31,128, + 0,0,31,128,0,0,27,128,0,0,59,192,0,0,57,192, + 0,0,49,224,0,0,113,224,0,0,112,224,0,0,96,240, + 0,0,224,240,0,0,224,112,0,0,192,120,0,1,192,120, + 0,1,192,56,0,1,255,252,0,3,255,252,0,3,128,30, + 0,3,0,30,0,7,0,30,0,7,0,15,0,6,0,15, + 0,14,0,15,0,14,0,7,128,12,0,7,128,62,0,7, + 192,255,192,63,240,24,30,90,27,0,0,7,254,0,255,255, + 192,111,7,224,15,1,240,15,0,248,15,0,120,15,0,120, + 15,0,120,15,0,120,15,0,112,15,0,240,15,1,224,15, + 7,192,15,255,192,15,255,240,15,1,248,15,0,124,15,0, + 62,15,0,30,15,0,31,15,0,15,15,0,15,15,0,15, + 15,0,15,15,0,14,15,0,30,15,0,60,15,0,248,63, + 255,240,127,255,128,23,30,90,26,1,0,0,31,224,0,255, + 252,1,192,252,7,128,56,14,0,16,14,0,0,28,0,0, + 56,0,0,56,0,0,120,0,0,112,0,0,112,0,0,240, + 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,0, + 0,240,0,0,240,0,0,120,0,0,120,0,0,124,0,0, + 60,0,0,30,0,4,31,0,14,15,128,56,7,224,240,1, + 255,192,0,127,0,25,30,120,28,1,0,7,254,0,0,255, + 255,192,0,111,3,240,0,15,0,248,0,15,0,124,0,15, + 0,62,0,15,0,30,0,15,0,31,0,15,0,15,0,15, + 0,15,0,15,0,15,128,15,0,7,128,15,0,7,128,15, + 0,7,128,15,0,7,128,15,0,7,128,15,0,7,128,15, + 0,7,128,15,0,7,128,15,0,7,0,15,0,15,0,15, + 0,15,0,15,0,30,0,15,0,30,0,15,0,60,0,15, + 0,124,0,15,0,248,0,15,3,224,0,63,255,192,0,127, + 254,0,0,21,30,90,24,1,0,255,255,224,127,255,240,30, + 0,96,30,0,96,30,0,96,30,0,96,30,0,0,30,0, + 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, + 31,255,128,31,255,128,30,3,0,30,0,0,30,0,0,30, + 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, + 0,30,0,8,30,0,24,30,0,24,31,0,56,127,255,240, + 255,255,240,20,30,90,23,1,0,255,255,240,127,255,240,30, + 0,96,30,0,96,30,0,32,30,0,32,30,0,0,30,0, + 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, + 31,255,0,31,255,0,30,6,0,30,0,0,30,0,0,30, + 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, + 0,30,0,0,30,0,0,30,0,0,30,0,0,127,128,0, + 255,224,0,24,30,90,28,2,0,0,31,224,0,255,248,1, + 192,252,7,128,56,15,0,16,30,0,0,28,0,0,56,0, + 0,56,0,0,120,0,0,112,0,0,240,0,0,240,0,0, + 240,0,0,240,0,0,240,0,0,240,7,255,240,0,254,240, + 0,60,240,0,60,248,0,60,120,0,60,120,0,60,60,0, + 60,62,0,60,30,0,60,15,0,60,7,192,248,3,255,224, + 0,127,0,27,30,120,31,2,0,255,192,127,224,127,128,63, + 192,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, + 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, + 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, + 0,31,255,255,0,31,255,255,0,30,0,15,0,30,0,15, + 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, + 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, + 0,30,0,15,0,30,0,15,0,127,0,31,192,255,192,127, + 224,10,30,60,14,2,0,255,192,127,128,30,0,30,0,30, + 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, + 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, + 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,127, + 128,255,192,17,38,114,15,252,248,7,255,128,0,255,0,0, + 60,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60, + 0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0, + 0,60,0,0,60,0,0,60,0,0,60,0,0,60,0,0, + 60,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60, + 0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0, + 0,56,0,0,56,0,0,56,0,0,112,0,0,112,0,0, + 224,0,112,192,0,255,0,0,124,0,0,26,30,120,28,1, + 0,255,193,255,128,127,128,124,0,30,0,120,0,30,0,240, + 0,30,1,224,0,30,1,192,0,30,3,128,0,30,7,0, + 0,30,14,0,0,30,28,0,0,30,56,0,0,30,120,0, + 0,30,112,0,0,30,224,0,0,31,224,0,0,30,240,0, + 0,30,120,0,0,30,124,0,0,30,62,0,0,30,30,0, + 0,30,15,0,0,30,7,128,0,30,7,192,0,30,3,224, + 0,30,1,240,0,30,0,248,0,30,0,124,0,30,0,126, + 0,127,128,63,192,255,192,31,0,21,30,90,23,1,0,255, + 192,0,127,128,0,30,0,0,30,0,0,30,0,0,30,0, + 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, + 30,0,0,30,0,0,30,0,0,30,0,0,30,0,0,30, + 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, + 0,30,0,0,30,0,0,30,0,8,30,0,24,30,0,24, + 31,0,48,127,255,240,255,255,240,36,30,150,39,1,0,127, + 0,0,15,224,31,128,0,31,128,15,128,0,31,0,15,128, + 0,63,0,15,192,0,63,0,15,192,0,55,0,15,224,0, + 119,0,14,224,0,119,0,14,240,0,231,0,14,240,0,231, + 0,14,120,0,199,0,14,120,1,199,0,14,56,1,199,0, + 14,60,3,135,0,14,28,3,135,0,14,30,7,7,0,14, + 30,7,7,0,14,15,6,7,0,14,15,14,7,0,14,7, + 14,7,0,14,7,156,7,0,14,3,156,7,0,14,3,216, + 7,0,14,3,248,7,0,14,1,248,7,0,14,1,240,7, + 0,14,0,240,7,0,14,0,224,7,0,63,0,224,31,192, + 255,192,96,127,240,27,30,120,31,2,0,252,0,63,224,124, + 0,15,128,30,0,7,0,31,0,7,0,31,0,7,0,31, + 128,7,0,31,192,7,0,29,192,7,0,28,224,7,0,28, + 240,7,0,28,120,7,0,28,56,7,0,28,60,7,0,28, + 30,7,0,28,14,7,0,28,15,7,0,28,7,135,0,28, + 7,135,0,28,3,199,0,28,1,231,0,28,1,231,0,28, + 0,247,0,28,0,127,0,28,0,127,0,28,0,63,0,28, + 0,31,0,28,0,31,0,28,0,15,0,62,0,7,0,255, + 128,3,0,25,30,120,29,2,0,0,63,0,0,0,255,224, + 0,3,193,240,0,7,0,248,0,14,0,124,0,28,0,62, + 0,60,0,30,0,56,0,31,0,120,0,15,0,120,0,15, + 0,112,0,15,128,240,0,7,128,240,0,7,128,240,0,7, + 128,240,0,7,128,240,0,7,128,240,0,7,128,240,0,7, + 128,240,0,7,128,248,0,7,0,120,0,15,0,120,0,15, + 0,124,0,14,0,60,0,28,0,62,0,28,0,31,0,56, + 0,15,128,112,0,7,193,224,0,3,255,128,0,0,254,0, + 0,22,30,90,25,1,0,7,254,0,255,255,192,111,7,224, + 15,1,240,15,0,248,15,0,124,15,0,60,15,0,60,15, + 0,60,15,0,60,15,0,60,15,0,60,15,0,120,15,0, + 120,15,0,240,15,131,224,15,127,192,15,62,0,15,0,0, + 15,0,0,15,0,0,15,0,0,15,0,0,15,0,0,15, + 0,0,15,0,0,15,0,0,15,0,0,63,192,0,127,240, + 0,28,37,148,29,2,249,0,63,0,0,0,255,224,0,3, + 193,240,0,7,0,248,0,14,0,124,0,28,0,62,0,60, + 0,30,0,56,0,31,0,120,0,15,0,120,0,15,0,112, + 0,15,128,240,0,7,128,240,0,7,128,240,0,7,128,240, + 0,7,128,240,0,7,128,240,0,7,128,240,0,7,128,240, + 0,7,128,248,0,7,0,120,0,15,0,120,0,15,0,124, + 0,14,0,60,0,30,0,62,0,28,0,31,0,56,0,15, + 128,112,0,7,193,224,0,3,255,192,0,0,127,128,0,0, + 3,192,0,0,1,224,0,0,0,248,16,0,0,124,48,0, + 0,31,224,0,0,15,224,0,0,3,128,26,30,120,27,1, + 0,7,254,0,0,255,255,192,0,111,7,224,0,15,1,240, + 0,15,0,240,0,15,0,120,0,15,0,120,0,15,0,120, + 0,15,0,120,0,15,0,120,0,15,0,112,0,15,0,240, + 0,15,1,224,0,15,3,192,0,15,255,0,0,15,254,0, + 0,15,14,0,0,15,7,0,0,15,7,128,0,15,3,128, + 0,15,3,192,0,15,1,192,0,15,1,224,0,15,0,240, + 0,15,0,240,0,15,0,120,0,15,0,124,0,15,0,62, + 0,63,192,63,192,127,224,31,0,18,30,90,23,3,0,3, + 248,0,31,254,0,60,63,0,120,14,0,112,4,0,240,0, + 0,240,0,0,240,0,0,248,0,0,252,0,0,127,0,0, + 127,192,0,63,240,0,31,248,0,7,254,0,1,255,0,0, + 127,128,0,31,128,0,15,192,0,7,192,0,3,192,0,3, + 192,0,3,192,128,3,128,192,3,128,224,7,0,240,15,0, + 252,62,0,255,248,0,15,224,0,26,30,120,26,0,0,127, + 255,255,192,127,255,255,192,96,30,1,128,192,30,1,128,192, + 30,1,128,128,30,0,128,0,30,0,0,0,30,0,0,0, + 30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0, + 30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0, + 30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0, + 30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0, + 30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0, + 127,128,0,1,255,224,0,27,30,120,31,2,0,255,192,127, + 224,127,128,63,192,30,0,15,0,30,0,15,0,30,0,15, + 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, + 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, + 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, + 0,30,0,15,0,30,0,15,0,30,0,15,0,30,0,15, + 0,30,0,15,0,30,0,30,0,15,0,30,0,15,0,30, + 0,7,128,60,0,7,192,120,0,3,224,240,0,1,255,224, + 0,0,63,128,0,30,30,120,31,0,0,255,224,15,252,31, + 0,1,240,15,0,0,224,15,0,1,192,7,0,1,192,7, + 128,1,192,7,128,3,128,3,192,3,128,3,192,3,128,3, + 192,7,0,1,224,7,0,1,224,6,0,0,224,14,0,0, + 240,14,0,0,240,12,0,0,120,28,0,0,120,28,0,0, + 120,56,0,0,60,56,0,0,60,56,0,0,28,112,0,0, + 30,112,0,0,30,112,0,0,15,224,0,0,15,224,0,0, + 15,224,0,0,7,192,0,0,7,192,0,0,3,128,0,0, + 3,0,0,40,30,150,41,0,0,255,224,24,3,255,63,0, + 24,0,252,14,0,28,0,48,15,0,60,0,112,15,0,60, + 0,112,15,0,62,0,112,7,0,126,0,96,7,0,127,0, + 224,7,128,127,0,224,7,128,103,0,224,7,128,231,128,224, + 3,128,231,128,192,3,192,195,129,192,3,193,195,193,192,3, + 193,195,193,192,1,193,129,193,192,1,195,129,225,128,1,227, + 129,227,128,1,227,0,227,128,1,231,0,243,128,0,231,0, + 243,128,0,246,0,115,0,0,254,0,127,0,0,254,0,63, + 0,0,124,0,63,0,0,124,0,62,0,0,124,0,30,0, + 0,124,0,30,0,0,120,0,30,0,0,48,0,8,0,28, + 30,120,30,1,0,255,224,255,224,255,224,255,224,63,0,31, + 0,31,0,30,0,15,128,28,0,7,128,56,0,3,192,120, + 0,3,224,112,0,1,224,224,0,0,241,224,0,0,249,192, + 0,0,127,128,0,0,63,128,0,0,31,0,0,0,31,0, + 0,0,31,0,0,0,63,128,0,0,63,192,0,0,115,224, + 0,0,241,224,0,0,224,240,0,1,192,248,0,3,192,120, + 0,3,128,60,0,7,0,62,0,15,0,31,0,14,0,15, + 0,62,0,15,192,255,192,127,240,255,192,127,240,28,30,120, + 29,0,0,252,0,63,240,254,0,63,240,31,0,15,128,15, + 0,7,0,15,128,14,0,7,192,14,0,3,192,28,0,3, + 224,60,0,1,224,56,0,0,240,120,0,0,248,112,0,0, + 120,224,0,0,125,224,0,0,61,192,0,0,63,192,0,0, + 31,128,0,0,31,128,0,0,15,0,0,0,15,0,0,0, + 15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0, + 15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0, + 15,0,0,0,63,192,0,0,255,240,0,22,30,90,25,1, + 0,63,255,252,63,255,252,56,0,120,48,0,248,48,1,240, + 32,1,224,32,3,224,0,3,192,0,7,128,0,15,128,0, + 15,0,0,31,0,0,30,0,0,60,0,0,124,0,0,120, + 0,0,248,0,1,240,0,1,224,0,3,224,0,3,192,0, + 7,128,0,15,128,0,15,0,4,31,0,12,62,0,12,60, + 0,12,124,0,28,127,255,252,255,255,252,11,45,90,15,3, + 248,255,224,255,224,240,0,240,0,240,0,240,0,240,0,240, + 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, + 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, + 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, + 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, + 0,240,0,240,0,240,0,255,224,255,224,20,46,138,23,1, + 248,224,0,0,112,0,0,112,0,0,120,0,0,56,0,0, + 56,0,0,28,0,0,28,0,0,30,0,0,14,0,0,14, + 0,0,15,0,0,7,0,0,7,0,0,7,128,0,3,128, + 0,3,192,0,1,192,0,1,192,0,1,224,0,0,224,0, + 0,224,0,0,240,0,0,112,0,0,112,0,0,56,0,0, + 56,0,0,60,0,0,28,0,0,28,0,0,30,0,0,14, + 0,0,14,0,0,7,0,0,7,0,0,7,128,0,3,128, + 0,3,128,0,3,192,0,1,192,0,1,192,0,1,224,0, + 0,224,0,0,240,0,0,112,0,0,48,11,45,90,15,1, + 248,255,224,255,224,1,224,1,224,1,224,1,224,1,224,1, + 224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1, + 224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1, + 224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1, + 224,1,224,1,224,1,224,1,224,1,224,1,224,1,224,1, + 224,1,224,1,224,1,224,255,224,255,224,19,23,69,24,2, + 13,0,32,0,0,112,0,0,240,0,1,240,0,1,248,0, + 1,248,0,3,188,0,3,188,0,7,60,0,7,30,0,6, + 30,0,14,14,0,14,15,0,12,15,0,28,7,128,28,7, + 128,24,3,128,56,3,192,48,3,192,112,1,224,112,1,224, + 96,0,224,192,0,192,20,2,6,23,1,251,127,255,240,255, + 255,240,9,10,20,15,1,25,240,0,248,0,120,0,60,0, + 28,0,14,0,7,0,3,0,1,128,1,128,20,22,66,22, + 2,0,1,248,0,15,254,0,28,30,0,120,15,0,112,15, + 0,240,15,0,128,15,0,0,15,0,0,15,0,0,255,0, + 7,255,0,31,143,0,62,15,0,120,15,0,248,15,0,240, + 15,0,240,15,0,240,31,0,240,63,0,120,239,32,127,143, + 240,30,7,128,22,36,108,24,0,0,6,0,0,126,0,0, + 254,0,0,30,0,0,30,0,0,30,0,0,30,0,0,30, + 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, + 0,30,0,0,30,15,128,30,63,224,30,127,240,30,227,240, + 31,192,248,31,128,248,31,0,124,30,0,124,30,0,60,30, + 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, + 56,30,0,56,30,0,112,30,0,96,31,0,224,15,193,192, + 3,255,0,0,252,0,18,22,66,21,2,0,0,127,0,3, + 255,192,7,7,192,14,1,128,28,0,128,56,0,0,120,0, + 0,112,0,0,240,0,0,240,0,0,240,0,0,240,0,0, + 240,0,0,240,0,0,248,0,0,120,0,0,120,0,0,60, + 0,64,62,1,192,31,131,128,7,254,0,1,248,0,23,36, + 108,25,2,0,0,0,224,0,15,224,0,15,224,0,1,224, + 0,1,224,0,1,224,0,1,224,0,1,224,0,1,224,0, + 1,224,0,1,224,0,1,224,0,1,224,0,1,224,0,253, + 224,3,255,224,15,15,224,28,3,224,60,1,224,56,1,224, + 120,1,224,112,1,224,240,1,224,240,1,224,240,1,224,240, + 1,224,240,1,224,240,1,224,240,1,224,120,1,224,120,1, + 224,124,3,224,62,5,228,31,25,254,15,240,248,7,192,224, + 18,22,66,22,2,0,0,248,0,7,254,0,14,15,0,28, + 7,128,56,7,128,56,3,192,112,3,192,112,3,192,255,255, + 192,255,255,128,240,0,0,240,0,0,240,0,0,240,0,0, + 248,0,0,120,0,0,120,0,0,124,0,192,62,1,128,31, + 7,0,15,254,0,3,248,0,19,36,108,15,0,0,0,15, + 128,0,63,224,0,99,192,1,193,128,3,128,0,3,128,0, + 7,128,0,7,0,0,15,0,0,15,0,0,15,0,0,15, + 0,0,15,0,0,15,0,0,63,254,0,255,252,0,15,8, + 0,15,0,0,15,0,0,15,0,0,15,0,0,15,0,0, + 15,0,0,15,0,0,15,0,0,15,0,0,15,0,0,15, + 0,0,15,0,0,15,0,0,15,0,0,15,0,0,15,0, + 0,15,0,0,31,224,0,127,248,0,24,33,99,24,0,245, + 0,252,2,3,255,126,7,7,252,14,3,224,30,1,224,28, + 1,240,60,0,240,60,0,240,60,0,240,60,0,240,62,0, + 224,31,1,192,15,131,128,7,255,0,1,252,0,3,192,0, + 7,128,0,15,128,0,15,224,0,7,255,128,3,255,240,7, + 191,252,14,0,254,60,0,31,120,0,15,240,0,15,240,0, + 15,240,0,14,248,0,28,124,0,56,63,128,240,15,255,192, + 1,254,0,23,36,108,26,2,0,6,0,0,126,0,0,254, + 0,0,62,0,0,30,0,0,30,0,0,30,0,0,30,0, + 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, + 30,0,0,30,7,128,28,31,224,28,49,224,28,96,240,28, + 192,240,29,128,240,31,0,240,31,0,240,30,0,240,30,0, + 240,30,0,240,30,0,240,30,0,240,30,0,240,30,0,240, + 30,0,240,30,0,240,30,0,240,30,0,240,30,0,240,63, + 131,248,255,199,254,10,32,64,13,2,0,28,0,30,0,62, + 0,62,0,28,0,0,0,0,0,0,0,0,0,0,0,6, + 0,126,0,254,0,62,0,30,0,30,0,30,0,30,0,30, + 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, + 0,30,0,30,0,30,0,63,0,255,192,14,43,86,12,251, + 245,0,56,0,60,0,124,0,124,0,56,0,0,0,0,0, + 0,0,0,0,0,0,12,0,252,1,252,0,124,0,60,0, + 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, + 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, + 60,0,60,0,60,0,56,0,56,0,120,0,112,0,112,48, + 224,127,128,255,0,124,0,23,36,108,24,1,0,6,0,0, + 126,0,0,254,0,0,62,0,0,30,0,0,30,0,0,30, + 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, + 0,30,0,0,30,0,0,30,7,252,30,1,240,30,1,192, + 30,3,128,30,7,0,30,14,0,30,56,0,30,112,0,30, + 224,0,31,224,0,30,240,0,30,248,0,30,120,0,30,60, + 0,30,30,0,30,15,0,30,15,128,30,7,192,30,3,224, + 30,1,224,63,0,254,255,192,124,12,36,72,13,1,0,3, + 0,63,0,127,0,31,0,15,0,15,0,15,0,15,0,15, + 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, + 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, + 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, + 0,15,0,31,128,255,240,36,22,110,39,2,0,12,7,192, + 124,0,254,31,224,255,0,62,49,227,143,0,30,96,247,7, + 128,30,192,254,7,128,31,128,252,7,128,31,0,248,7,128, + 31,0,248,7,128,30,0,240,7,128,30,0,240,7,128,30, + 0,240,7,128,30,0,240,7,128,30,0,240,7,128,30,0, + 240,7,128,30,0,240,7,128,30,0,240,7,128,30,0,240, + 7,128,30,0,240,7,128,30,0,240,7,128,30,0,240,7, + 128,127,131,252,31,192,255,199,254,63,240,23,22,66,26,2, + 0,12,7,192,254,15,224,62,49,224,30,96,240,30,192,240, + 30,128,240,31,0,240,31,0,240,30,0,240,30,0,240,30, + 0,240,30,0,240,30,0,240,30,0,240,30,0,240,30,0, + 240,30,0,240,30,0,240,30,0,240,30,0,240,127,131,248, + 255,199,254,20,22,66,24,2,0,0,252,0,7,255,0,14, + 15,128,28,7,192,56,3,192,56,3,224,112,1,224,112,1, + 240,240,0,240,240,0,240,240,0,240,240,0,240,240,0,240, + 240,0,240,248,0,224,120,1,224,124,1,192,60,1,192,62, + 3,128,31,7,0,15,254,0,3,240,0,21,33,99,25,2, + 245,12,7,128,254,31,192,62,35,224,30,65,240,30,129,240, + 31,0,240,31,0,248,30,0,248,30,0,120,30,0,120,30, + 0,120,30,0,120,30,0,120,30,0,120,30,0,112,30,0, + 112,30,0,224,30,0,224,31,1,192,31,195,128,30,255,0, + 30,62,0,30,0,0,30,0,0,30,0,0,30,0,0,30, + 0,0,30,0,0,30,0,0,30,0,0,30,0,0,127,0, + 0,255,224,0,22,33,99,25,2,245,0,252,48,3,255,96, + 7,15,224,30,3,224,28,1,224,56,1,224,120,1,224,112, + 1,224,240,1,224,240,1,224,240,1,224,240,1,224,240,1, + 224,240,1,224,240,1,224,120,1,224,120,1,224,124,3,224, + 62,7,224,31,29,224,15,249,224,3,225,224,0,1,224,0, + 1,224,0,1,224,0,1,224,0,1,224,0,1,224,0,1, + 224,0,1,224,0,1,224,0,3,240,0,31,252,17,22,66, + 19,1,0,4,15,0,126,63,128,254,127,128,30,227,128,30, + 195,128,31,129,0,31,128,0,31,0,0,31,0,0,30,0, + 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, + 30,0,0,30,0,0,30,0,0,30,0,0,30,0,0,63, + 128,0,255,224,0,15,22,44,19,2,0,15,192,63,248,120, + 120,112,56,240,16,240,0,248,0,252,0,127,0,63,192,31, + 240,7,248,1,252,0,126,0,62,128,30,128,30,192,30,224, + 60,240,120,255,240,31,192,16,30,60,17,0,0,3,0,7, + 0,15,0,15,0,15,0,15,0,15,0,15,0,63,255,255, + 255,15,4,15,0,15,0,15,0,15,0,15,0,15,0,15, + 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, + 0,15,1,7,135,7,254,3,240,24,22,66,25,1,0,6, + 0,112,254,7,240,126,7,240,30,0,240,30,0,240,30,0, + 240,30,0,240,30,0,240,30,0,240,30,0,240,30,0,240, + 30,0,240,30,0,240,30,0,240,30,0,240,30,0,240,30, + 0,240,30,1,240,31,2,240,15,12,255,15,248,252,3,224, + 112,23,22,66,24,0,0,255,192,254,62,0,60,30,0,56, + 30,0,48,15,0,112,15,0,112,7,0,96,7,128,224,7, + 128,192,3,193,192,3,193,192,1,193,128,1,227,128,1,227, + 0,0,243,0,0,247,0,0,118,0,0,126,0,0,126,0, + 0,60,0,0,60,0,0,16,0,33,22,110,34,0,0,255, + 192,96,63,128,62,0,224,15,0,30,0,224,14,0,30,0, + 240,14,0,14,1,240,12,0,15,1,240,12,0,15,1,248, + 28,0,7,3,248,28,0,7,3,56,24,0,7,131,60,24, + 0,3,135,28,56,0,3,134,30,48,0,3,198,30,48,0, + 1,206,14,112,0,1,204,15,96,0,1,252,15,96,0,1, + 252,7,96,0,0,248,7,224,0,0,248,7,192,0,0,240, + 3,192,0,0,112,3,192,0,0,96,3,0,0,24,22,66, + 24,0,0,127,227,254,127,227,254,31,128,248,15,128,224,7, + 128,192,3,193,192,1,227,128,0,247,0,0,254,0,0,124, + 0,0,60,0,0,62,0,0,127,0,0,239,0,1,199,128, + 3,131,192,3,1,224,7,0,240,14,0,248,62,0,252,255, + 131,255,255,131,255,24,33,99,24,255,245,127,224,255,31,0, + 62,15,0,28,15,0,24,7,128,56,7,128,56,3,128,48, + 3,192,112,3,192,96,1,224,224,1,224,224,0,224,192,0, + 241,192,0,241,192,0,121,128,0,123,128,0,59,0,0,63, + 0,0,63,0,0,30,0,0,30,0,0,12,0,0,12,0, + 0,28,0,0,24,0,0,56,0,0,112,0,0,112,0,0, + 224,0,63,192,0,127,128,0,255,0,0,124,0,0,17,22, + 66,21,2,0,127,255,128,127,255,128,96,15,0,96,15,0, + 64,30,0,64,60,0,0,60,0,0,120,0,0,240,0,0, + 240,0,1,224,0,3,192,0,3,192,0,7,128,0,15,0, + 0,14,0,0,30,0,128,60,0,128,120,0,128,120,1,128, + 255,255,128,255,255,128,13,45,90,16,2,249,0,8,0,56, + 0,112,1,224,1,192,3,128,3,128,7,128,7,128,7,128, + 7,128,7,128,7,192,3,192,3,192,3,192,3,192,3,192, + 3,128,7,128,7,0,30,0,126,0,255,0,7,128,3,192, + 3,192,3,192,3,192,3,192,3,192,3,192,7,192,7,128, + 7,128,7,128,7,128,7,128,7,128,3,128,3,192,1,192, + 0,224,0,120,0,24,4,49,49,11,4,246,112,240,240,240, + 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, + 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, + 240,240,240,240,240,240,240,240,240,240,240,240,224,13,45,90, + 16,1,249,192,0,240,0,56,0,28,0,30,0,14,0,15, + 0,15,0,15,0,15,0,15,0,15,0,31,0,30,0,30, + 0,30,0,30,0,30,0,30,0,30,0,15,0,7,240,3, + 248,3,192,7,0,15,0,14,0,30,0,30,0,30,0,30, + 0,30,0,31,0,15,0,15,0,15,0,15,0,15,0,14, + 0,30,0,28,0,56,0,112,0,224,0,128,0,21,8,24, + 23,1,11,7,128,8,15,224,24,31,240,16,63,252,48,49, + 255,224,96,127,192,64,31,128,192,15,0,255}; +/* + Fontname: -FreeType-Gentium Basic-Medium-R-Normal--15-150-72-72-P-70-ISO10646-1 + Copyright: Copyright (c) SIL International, 2003-2008. + Capital A Height: 9, '1' Height: 9 + Calculated Max Values w=12 h=15 x= 2 y= 8 dx=13 dy= 0 ascent=13 len=26 + Font Bounding box w=23 h=21 x=-8 y=-5 + Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 + Pure Font ascent = 9 descent=-4 + X Font ascent =12 descent=-4 + Max Font ascent =13 descent=-4 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_gdr9[3248] U8G_FONT_SECTION("u8g_font_gdr9") = { + 0,23,21,248,251,9,1,255,4,54,32,255,252,13,252,12, + 252,0,0,0,3,0,0,2,11,11,4,1,0,192,192,192, + 192,192,64,128,128,0,128,128,4,5,5,6,1,6,208,144, + 144,144,144,6,8,8,7,1,1,44,40,252,72,80,248,80, + 160,6,11,11,7,0,255,16,60,84,80,112,24,20,148,212, + 120,16,9,9,18,11,1,0,97,0,146,0,148,0,152,0, + 107,0,20,128,36,128,68,128,195,0,9,11,22,10,1,0, + 56,0,72,0,72,0,72,0,112,0,103,128,162,0,146,0, + 138,0,134,0,123,0,2,5,5,4,1,6,192,128,128,128, + 128,3,14,14,5,1,254,32,64,64,128,128,128,128,128,128, + 128,128,64,64,32,3,14,14,5,1,254,128,64,64,32,32, + 32,32,32,32,32,32,64,64,128,5,6,6,7,1,5,32, + 168,112,112,168,32,5,5,5,6,1,2,32,32,248,32,32, + 2,4,4,3,1,254,64,192,64,128,5,1,1,5,0,3, + 248,1,2,2,3,1,0,128,128,7,14,14,7,0,254,6, + 4,4,8,8,8,16,16,32,32,32,64,64,192,5,9,9, + 7,1,0,112,144,136,136,136,136,136,80,112,5,9,9,7, + 1,0,32,224,32,32,32,32,32,32,248,5,9,9,7,1, + 0,56,72,136,8,16,32,64,136,248,6,9,9,7,0,0, + 48,72,136,16,120,4,4,132,120,6,9,9,7,0,0,8, + 24,40,40,72,72,252,8,60,5,9,9,7,1,0,120,128, + 128,240,136,8,8,136,112,5,9,9,7,1,0,24,96,64, + 176,200,136,136,136,112,5,9,9,7,1,0,248,136,8,16, + 16,32,32,96,64,5,9,9,7,1,0,112,200,136,208,112, + 136,136,136,112,5,9,9,7,1,0,112,152,136,136,136,120, + 16,16,224,1,7,7,3,1,0,128,128,0,0,0,128,128, + 2,9,9,3,1,254,128,128,0,0,0,64,192,64,128,6, + 5,5,7,0,2,4,56,64,176,12,6,3,3,7,0,3, + 124,128,252,6,5,5,7,0,2,192,56,4,56,192,5,11, + 11,7,1,0,112,136,136,8,16,16,32,32,32,32,32,11, + 13,26,13,1,253,15,0,48,192,64,64,142,32,178,32,162, + 32,162,32,162,32,162,64,95,128,64,0,48,192,31,0,9, + 9,18,9,0,0,8,0,8,0,20,0,20,0,36,0,62, + 0,34,0,67,0,227,128,7,9,9,9,1,0,248,68,68, + 124,70,66,66,66,252,7,9,9,8,1,0,60,68,128,128, + 128,128,128,70,56,8,9,9,9,0,0,252,66,65,65,65, + 65,65,66,252,6,9,9,7,1,0,252,68,64,120,64,64, + 64,68,252,6,9,9,7,1,0,252,68,64,120,64,64,64, + 64,224,8,9,9,9,1,0,30,100,128,128,143,130,130,66, + 60,9,9,18,10,0,0,227,128,65,0,65,0,65,0,127, + 0,65,0,65,0,65,0,227,128,3,9,9,4,1,0,224, + 64,64,64,64,64,64,64,224,5,12,12,5,255,253,56,16, + 16,16,16,16,16,16,16,16,32,192,8,9,9,9,1,0, + 239,68,72,80,96,80,72,68,231,6,9,9,7,1,0,224, + 64,64,64,64,64,64,68,252,12,9,18,12,0,0,96,96, + 32,192,80,192,81,64,73,64,73,64,70,64,70,64,228,240, + 10,9,18,10,0,0,193,192,96,128,80,128,88,128,76,128, + 70,128,67,128,65,128,224,128,7,9,9,9,1,0,56,68, + 130,130,130,130,130,68,56,7,9,9,8,0,0,252,66,66, + 66,92,96,64,64,224,8,11,11,9,1,254,56,68,130,130, + 130,130,130,68,56,13,3,8,9,9,8,0,0,248,68,68, + 68,88,104,72,68,231,5,9,9,7,1,0,112,152,128,64, + 48,8,136,136,240,7,9,9,8,1,0,254,146,16,16,16, + 16,16,16,56,9,9,18,10,0,0,227,128,65,0,65,0, + 65,0,65,0,65,0,65,0,98,0,60,0,9,9,18,10, + 0,0,227,128,97,0,33,0,34,0,18,0,18,0,28,0, + 12,0,8,0,12,9,18,13,0,0,226,112,66,32,38,32, + 37,32,41,32,41,192,56,192,16,192,16,192,9,9,18,9, + 0,0,247,128,98,0,54,0,28,0,8,0,20,0,34,0, + 35,0,243,128,9,9,18,9,0,0,227,128,98,0,50,0, + 20,0,28,0,8,0,8,0,8,0,28,0,7,9,9,8, + 0,0,126,68,4,8,16,16,34,66,254,3,15,15,5,1, + 253,224,128,128,128,128,128,128,128,128,128,128,128,128,128,224, + 7,14,14,7,0,254,192,64,64,32,32,32,16,16,8,8, + 8,4,4,6,3,15,15,5,1,253,224,32,32,32,32,32, + 32,32,32,32,32,32,32,32,224,6,7,7,7,1,4,32, + 48,80,80,136,136,140,7,1,1,7,0,254,254,3,3,3, + 5,0,8,192,64,32,6,7,7,7,1,0,56,72,136,56, + 200,136,252,7,11,11,8,0,0,192,64,64,64,92,98,66, + 66,66,68,56,5,7,7,7,1,0,120,136,128,128,128,200, + 112,7,11,11,8,1,0,12,4,4,4,60,196,132,132,132, + 204,118,5,7,7,7,1,0,112,72,136,248,128,200,112,5, + 11,11,5,1,0,24,104,64,64,240,64,64,64,64,64,240, + 7,11,11,7,0,252,126,132,132,196,120,96,120,70,130,134, + 120,8,11,11,8,0,0,192,64,64,64,78,114,66,66,66, + 66,231,3,10,10,4,1,0,64,64,0,192,64,64,64,64, + 64,224,4,14,14,4,255,252,16,16,0,48,16,16,16,16, + 16,16,16,16,32,192,7,11,11,8,0,0,192,64,64,64, + 78,72,112,112,80,72,230,3,11,11,4,1,0,192,64,64, + 64,64,64,64,64,64,64,224,11,7,14,11,0,0,221,192, + 102,64,68,64,68,64,68,64,68,64,238,224,8,7,7,8, + 0,0,78,242,66,66,66,66,231,6,7,7,8,1,0,56, + 204,132,132,132,200,112,7,11,11,8,0,252,92,230,66,66, + 66,68,120,64,64,64,224,7,11,11,8,1,252,60,68,132, + 132,132,204,116,4,4,4,14,5,7,7,6,0,0,216,104, + 64,64,64,64,224,4,7,7,6,1,0,96,176,128,96,16, + 144,224,5,9,9,5,0,0,64,64,248,64,64,64,64,64, + 120,8,7,7,8,0,0,198,66,66,66,66,70,59,7,7, + 7,7,0,0,230,68,36,40,56,24,16,10,7,14,11,0, + 0,228,192,68,128,110,128,42,128,50,128,49,0,17,0,7, + 7,7,8,0,0,238,100,56,24,40,68,238,7,11,11,7, + 0,252,230,68,36,36,40,24,16,16,16,32,192,5,7,7, + 7,1,0,248,144,32,32,64,136,248,3,14,14,5,1,254, + 32,64,64,64,32,32,64,224,32,32,64,64,64,32,1,15, + 15,3,1,253,128,128,128,128,128,128,128,128,128,128,128,128, + 128,128,128,3,14,14,5,1,254,128,64,64,64,128,128,192, + 96,128,128,64,64,64,128,7,3,3,7,0,3,50,220,128, + 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,255,255,255,255,255,255, + 255,0,0,0,3,0,0,2,11,11,4,1,252,128,128,0, + 128,128,128,192,192,192,192,192,5,9,9,7,1,0,32,56, + 232,160,160,160,232,112,32,6,9,9,7,1,0,56,68,72, + 64,240,64,64,68,252,3,5,5,7,2,2,160,224,160,160, + 224,7,9,9,7,0,0,206,100,40,56,16,124,16,16,56, + 1,15,15,3,1,253,128,128,128,128,128,128,128,0,128,128, + 128,128,128,128,128,6,11,11,8,1,0,112,144,128,224,184, + 132,68,56,136,136,112,4,2,2,6,1,8,144,144,9,9, + 18,11,1,0,62,0,93,0,166,128,160,128,160,128,160,128, + 182,128,93,0,62,0,4,5,5,4,0,4,96,160,224,224, + 240,5,7,7,7,1,0,104,72,144,176,144,72,104,6,4, + 4,7,1,1,252,4,4,4,5,1,1,5,0,3,248,5, + 6,6,5,0,5,112,136,184,168,168,112,5,1,1,7,1, + 8,248,3,4,4,5,1,5,96,160,160,192,6,7,7,6, + 0,1,16,16,124,16,16,0,252,4,6,6,5,0,4,48, + 208,32,32,80,240,4,6,6,5,0,4,48,80,32,16,144, + 96,3,3,3,5,2,8,96,128,128,8,11,11,8,0,252, + 198,66,66,66,66,70,123,64,64,64,96,8,11,11,9,0, + 254,127,138,138,202,122,10,10,10,10,10,31,1,2,2,2, + 1,4,128,128,2,3,3,3,1,253,128,64,192,3,5,5, + 5,1,5,192,64,64,64,224,3,5,5,4,0,4,96,160, + 160,192,224,6,7,7,7,1,0,160,80,72,44,72,80,160, + 8,9,9,9,1,0,194,68,68,72,178,22,42,79,199,7, + 9,9,9,1,0,194,68,72,72,182,26,36,74,206,9,9, + 18,9,0,0,49,0,82,0,52,0,20,0,233,0,11,0, + 21,0,39,128,99,128,5,11,11,7,1,252,32,32,32,32, + 32,64,128,128,136,136,112,9,12,24,9,0,0,48,0,12, + 0,0,0,8,0,8,0,20,0,20,0,36,0,62,0,34, + 0,67,0,227,128,9,12,24,9,0,0,6,0,24,0,0, + 0,8,0,8,0,20,0,20,0,36,0,62,0,34,0,67, + 0,227,128,9,12,24,9,0,0,28,0,34,0,0,0,8, + 0,8,0,20,0,20,0,36,0,62,0,34,0,67,0,227, + 128,9,12,24,9,0,0,58,0,60,0,0,0,8,0,8, + 0,20,0,20,0,36,0,62,0,34,0,67,0,227,128,9, + 11,22,9,0,0,36,0,36,0,8,0,8,0,20,0,20, + 0,36,0,62,0,34,0,67,0,227,128,9,13,26,9,0, + 0,12,0,20,0,20,0,8,0,8,0,8,0,20,0,20, + 0,36,0,62,0,34,0,67,0,227,128,11,9,18,12,0, + 0,31,224,10,32,18,0,31,192,18,0,34,0,34,0,34, + 32,231,224,6,12,12,8,1,253,60,68,128,128,128,128,128, + 68,120,32,16,48,6,12,12,7,1,0,224,16,0,252,68, + 64,120,64,64,64,68,252,6,12,12,7,1,0,24,96,0, + 252,68,64,120,64,64,64,68,252,6,12,12,7,1,0,112, + 136,0,252,68,64,120,64,64,64,68,252,6,11,11,7,1, + 0,144,144,124,68,64,120,64,64,64,68,252,4,12,12,4, + 0,0,192,32,0,112,32,32,32,32,32,32,32,112,4,12, + 12,4,1,0,112,128,0,224,64,64,64,64,64,64,64,224, + 4,12,12,4,0,0,96,144,0,112,32,32,32,32,32,32, + 32,112,4,11,11,4,0,0,144,144,96,32,32,32,32,32, + 32,32,112,8,9,9,9,0,0,252,66,65,65,241,65,65, + 66,252,10,12,24,10,0,0,26,0,60,0,0,0,193,192, + 96,128,80,128,88,128,76,128,70,128,67,128,65,128,224,128, + 7,12,12,9,1,0,96,24,0,56,68,130,130,130,130,130, + 68,56,7,12,12,9,1,0,12,48,0,56,68,130,130,130, + 130,130,68,56,7,12,12,9,1,0,56,68,0,56,68,130, + 130,130,130,130,68,56,7,12,12,9,1,0,52,120,0,56, + 68,130,130,130,130,130,68,56,7,11,11,9,1,0,72,72, + 56,68,130,130,130,130,130,68,56,4,4,4,6,1,2,144, + 96,96,144,7,9,9,9,1,0,58,68,138,138,146,162,194, + 68,184,9,12,24,10,0,0,56,0,4,0,0,0,227,128, + 65,0,65,0,65,0,65,0,65,0,65,0,98,0,60,0, + 9,12,24,10,0,0,6,0,24,0,0,0,227,128,65,0, + 65,0,65,0,65,0,65,0,65,0,98,0,60,0,9,12, + 24,10,0,0,28,0,34,0,0,0,227,128,65,0,65,0, + 65,0,65,0,65,0,65,0,98,0,60,0,9,11,22,10, + 0,0,34,0,36,0,195,128,65,0,65,0,65,0,65,0, + 65,0,65,0,98,0,60,0,9,12,24,9,0,0,6,0, + 24,0,0,0,227,128,98,0,50,0,20,0,28,0,8,0, + 8,0,8,0,28,0,7,9,9,8,0,0,224,124,70,66, + 66,66,100,92,224,8,11,11,8,0,0,28,34,66,66,68, + 72,76,67,65,73,206,6,11,11,7,1,0,192,96,32,0, + 56,72,136,56,200,136,252,6,11,11,7,1,0,24,16,32, + 0,56,72,136,56,200,136,252,6,11,11,7,1,0,32,80, + 136,0,56,72,136,56,200,136,252,6,10,10,7,1,0,104, + 176,0,56,72,136,56,200,136,252,6,10,10,7,1,0,144, + 144,0,56,72,136,56,200,136,252,6,11,11,7,1,0,48, + 80,80,48,56,72,136,56,200,136,252,9,7,14,10,1,0, + 63,0,76,128,136,128,63,128,200,0,136,128,247,0,5,10, + 10,7,1,253,120,136,128,128,128,200,112,32,16,48,5,11, + 11,7,1,0,64,32,32,16,112,72,136,248,128,200,112,5, + 11,11,7,1,0,24,16,32,0,112,72,136,248,128,200,112, + 5,11,11,7,1,0,32,80,136,0,112,72,136,248,128,200, + 112,5,10,10,7,1,0,144,152,0,112,72,136,248,128,200, + 112,4,11,11,4,0,0,128,64,32,0,96,32,32,32,32, + 32,112,3,11,11,4,1,0,32,64,128,0,192,64,64,64, + 64,64,224,4,11,11,4,0,0,96,80,144,0,96,32,32, + 32,32,32,112,4,10,10,4,0,0,144,144,0,96,32,32, + 32,32,32,112,5,11,11,7,1,0,200,48,80,16,120,136, + 136,136,136,144,112,8,10,10,8,0,0,18,108,0,78,242, + 66,66,66,66,231,6,11,11,8,1,0,64,32,16,0,56, + 204,132,132,132,200,112,6,11,11,8,1,0,8,16,32,0, + 56,204,132,132,132,200,112,6,11,11,8,1,0,48,80,136, + 0,56,204,132,132,132,200,112,6,10,10,8,1,0,104,152, + 0,56,204,132,132,132,200,112,6,10,10,8,1,0,136,136, + 0,56,204,132,132,132,200,112,6,4,4,6,0,2,16,124, + 128,16,6,7,7,8,1,0,60,204,148,164,164,200,240,8, + 11,11,8,0,0,32,16,8,0,198,66,66,66,66,70,59, + 8,11,11,8,0,0,4,8,16,0,198,66,66,66,66,70, + 59,8,11,11,8,0,0,24,24,36,0,198,66,66,66,66, + 70,59,8,10,10,8,0,0,36,68,0,198,66,66,66,66, + 70,59,7,15,15,7,0,252,4,8,16,0,230,68,36,36, + 40,24,16,16,16,32,192,7,15,15,8,0,252,192,64,64, + 64,76,114,66,66,66,68,120,64,64,64,224,7,14,14,7, + 0,252,68,68,0,230,68,36,36,40,24,16,16,16,32,192 + }; +/* + Fontname: -FreeType-Gentium Basic-Medium-R-Normal--15-150-72-72-P-70-ISO10646-1 + Copyright: Copyright (c) SIL International, 2003-2008. + Capital A Height: 0, '1' Height: 9 + Calculated Max Values w= 7 h=14 x= 1 y= 5 dx= 7 dy= 0 ascent=12 len=14 + Font Bounding box w=23 h=21 x=-8 y=-5 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent = 9 descent= 0 + X Font ascent = 9 descent= 0 + Max Font ascent =12 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_gdr9n[248] U8G_FONT_SECTION("u8g_font_gdr9n") = { + 0,23,21,248,251,9,0,0,0,0,42,58,0,12,254,9, + 0,5,6,6,7,1,5,32,168,112,112,168,32,5,5,5, + 6,1,2,32,32,248,32,32,2,4,4,3,1,254,64,192, + 64,128,5,1,1,5,0,3,248,1,2,2,3,1,0,128, + 128,7,14,14,7,0,254,6,4,4,8,8,8,16,16,32, + 32,32,64,64,192,5,9,9,7,1,0,112,144,136,136,136, + 136,136,80,112,5,9,9,7,1,0,32,224,32,32,32,32, + 32,32,248,5,9,9,7,1,0,56,72,136,8,16,32,64, + 136,248,6,9,9,7,0,0,48,72,136,16,120,4,4,132, + 120,6,9,9,7,0,0,8,24,40,40,72,72,252,8,60, + 5,9,9,7,1,0,120,128,128,240,136,8,8,136,112,5, + 9,9,7,1,0,24,96,64,176,200,136,136,136,112,5,9, + 9,7,1,0,248,136,8,16,16,32,32,96,64,5,9,9, + 7,1,0,112,200,136,208,112,136,136,136,112,5,9,9,7, + 1,0,112,152,136,136,136,120,16,16,224,1,7,7,3,1, + 0,128,128,0,0,0,128,128}; +/* + Fontname: -FreeType-Gentium Basic-Medium-R-Normal--15-150-72-72-P-70-ISO10646-1 + Copyright: Copyright (c) SIL International, 2003-2008. + Capital A Height: 9, '1' Height: 9 + Calculated Max Values w=12 h=15 x= 1 y= 8 dx=13 dy= 0 ascent=12 len=26 + Font Bounding box w=23 h=21 x=-8 y=-5 + Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 + Pure Font ascent = 9 descent=-4 + X Font ascent =12 descent=-4 + Max Font ascent =12 descent=-4 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_gdr9r[1553] U8G_FONT_SECTION("u8g_font_gdr9r") = { + 0,23,21,248,251,9,1,255,4,54,32,127,252,12,252,12, + 252,0,0,0,3,0,0,2,11,11,4,1,0,192,192,192, + 192,192,64,128,128,0,128,128,4,5,5,6,1,6,208,144, + 144,144,144,6,8,8,7,1,1,44,40,252,72,80,248,80, + 160,6,11,11,7,0,255,16,60,84,80,112,24,20,148,212, + 120,16,9,9,18,11,1,0,97,0,146,0,148,0,152,0, + 107,0,20,128,36,128,68,128,195,0,9,11,22,10,1,0, + 56,0,72,0,72,0,72,0,112,0,103,128,162,0,146,0, + 138,0,134,0,123,0,2,5,5,4,1,6,192,128,128,128, + 128,3,14,14,5,1,254,32,64,64,128,128,128,128,128,128, + 128,128,64,64,32,3,14,14,5,1,254,128,64,64,32,32, + 32,32,32,32,32,32,64,64,128,5,6,6,7,1,5,32, + 168,112,112,168,32,5,5,5,6,1,2,32,32,248,32,32, + 2,4,4,3,1,254,64,192,64,128,5,1,1,5,0,3, + 248,1,2,2,3,1,0,128,128,7,14,14,7,0,254,6, + 4,4,8,8,8,16,16,32,32,32,64,64,192,5,9,9, + 7,1,0,112,144,136,136,136,136,136,80,112,5,9,9,7, + 1,0,32,224,32,32,32,32,32,32,248,5,9,9,7,1, + 0,56,72,136,8,16,32,64,136,248,6,9,9,7,0,0, + 48,72,136,16,120,4,4,132,120,6,9,9,7,0,0,8, + 24,40,40,72,72,252,8,60,5,9,9,7,1,0,120,128, + 128,240,136,8,8,136,112,5,9,9,7,1,0,24,96,64, + 176,200,136,136,136,112,5,9,9,7,1,0,248,136,8,16, + 16,32,32,96,64,5,9,9,7,1,0,112,200,136,208,112, + 136,136,136,112,5,9,9,7,1,0,112,152,136,136,136,120, + 16,16,224,1,7,7,3,1,0,128,128,0,0,0,128,128, + 2,9,9,3,1,254,128,128,0,0,0,64,192,64,128,6, + 5,5,7,0,2,4,56,64,176,12,6,3,3,7,0,3, + 124,128,252,6,5,5,7,0,2,192,56,4,56,192,5,11, + 11,7,1,0,112,136,136,8,16,16,32,32,32,32,32,11, + 13,26,13,1,253,15,0,48,192,64,64,142,32,178,32,162, + 32,162,32,162,32,162,64,95,128,64,0,48,192,31,0,9, + 9,18,9,0,0,8,0,8,0,20,0,20,0,36,0,62, + 0,34,0,67,0,227,128,7,9,9,9,1,0,248,68,68, + 124,70,66,66,66,252,7,9,9,8,1,0,60,68,128,128, + 128,128,128,70,56,8,9,9,9,0,0,252,66,65,65,65, + 65,65,66,252,6,9,9,7,1,0,252,68,64,120,64,64, + 64,68,252,6,9,9,7,1,0,252,68,64,120,64,64,64, + 64,224,8,9,9,9,1,0,30,100,128,128,143,130,130,66, + 60,9,9,18,10,0,0,227,128,65,0,65,0,65,0,127, + 0,65,0,65,0,65,0,227,128,3,9,9,4,1,0,224, + 64,64,64,64,64,64,64,224,5,12,12,5,255,253,56,16, + 16,16,16,16,16,16,16,16,32,192,8,9,9,9,1,0, + 239,68,72,80,96,80,72,68,231,6,9,9,7,1,0,224, + 64,64,64,64,64,64,68,252,12,9,18,12,0,0,96,96, + 32,192,80,192,81,64,73,64,73,64,70,64,70,64,228,240, + 10,9,18,10,0,0,193,192,96,128,80,128,88,128,76,128, + 70,128,67,128,65,128,224,128,7,9,9,9,1,0,56,68, + 130,130,130,130,130,68,56,7,9,9,8,0,0,252,66,66, + 66,92,96,64,64,224,8,11,11,9,1,254,56,68,130,130, + 130,130,130,68,56,13,3,8,9,9,8,0,0,248,68,68, + 68,88,104,72,68,231,5,9,9,7,1,0,112,152,128,64, + 48,8,136,136,240,7,9,9,8,1,0,254,146,16,16,16, + 16,16,16,56,9,9,18,10,0,0,227,128,65,0,65,0, + 65,0,65,0,65,0,65,0,98,0,60,0,9,9,18,10, + 0,0,227,128,97,0,33,0,34,0,18,0,18,0,28,0, + 12,0,8,0,12,9,18,13,0,0,226,112,66,32,38,32, + 37,32,41,32,41,192,56,192,16,192,16,192,9,9,18,9, + 0,0,247,128,98,0,54,0,28,0,8,0,20,0,34,0, + 35,0,243,128,9,9,18,9,0,0,227,128,98,0,50,0, + 20,0,28,0,8,0,8,0,8,0,28,0,7,9,9,8, + 0,0,126,68,4,8,16,16,34,66,254,3,15,15,5,1, + 253,224,128,128,128,128,128,128,128,128,128,128,128,128,128,224, + 7,14,14,7,0,254,192,64,64,32,32,32,16,16,8,8, + 8,4,4,6,3,15,15,5,1,253,224,32,32,32,32,32, + 32,32,32,32,32,32,32,32,224,6,7,7,7,1,4,32, + 48,80,80,136,136,140,7,1,1,7,0,254,254,3,3,3, + 5,0,8,192,64,32,6,7,7,7,1,0,56,72,136,56, + 200,136,252,7,11,11,8,0,0,192,64,64,64,92,98,66, + 66,66,68,56,5,7,7,7,1,0,120,136,128,128,128,200, + 112,7,11,11,8,1,0,12,4,4,4,60,196,132,132,132, + 204,118,5,7,7,7,1,0,112,72,136,248,128,200,112,5, + 11,11,5,1,0,24,104,64,64,240,64,64,64,64,64,240, + 7,11,11,7,0,252,126,132,132,196,120,96,120,70,130,134, + 120,8,11,11,8,0,0,192,64,64,64,78,114,66,66,66, + 66,231,3,10,10,4,1,0,64,64,0,192,64,64,64,64, + 64,224,4,14,14,4,255,252,16,16,0,48,16,16,16,16, + 16,16,16,16,32,192,7,11,11,8,0,0,192,64,64,64, + 78,72,112,112,80,72,230,3,11,11,4,1,0,192,64,64, + 64,64,64,64,64,64,64,224,11,7,14,11,0,0,221,192, + 102,64,68,64,68,64,68,64,68,64,238,224,8,7,7,8, + 0,0,78,242,66,66,66,66,231,6,7,7,8,1,0,56, + 204,132,132,132,200,112,7,11,11,8,0,252,92,230,66,66, + 66,68,120,64,64,64,224,7,11,11,8,1,252,60,68,132, + 132,132,204,116,4,4,4,14,5,7,7,6,0,0,216,104, + 64,64,64,64,224,4,7,7,6,1,0,96,176,128,96,16, + 144,224,5,9,9,5,0,0,64,64,248,64,64,64,64,64, + 120,8,7,7,8,0,0,198,66,66,66,66,70,59,7,7, + 7,7,0,0,230,68,36,40,56,24,16,10,7,14,11,0, + 0,228,192,68,128,110,128,42,128,50,128,49,0,17,0,7, + 7,7,8,0,0,238,100,56,24,40,68,238,7,11,11,7, + 0,252,230,68,36,36,40,24,16,16,16,32,192,5,7,7, + 7,1,0,248,144,32,32,64,136,248,3,14,14,5,1,254, + 32,64,64,64,32,32,64,224,32,32,64,64,64,32,1,15, + 15,3,1,253,128,128,128,128,128,128,128,128,128,128,128,128, + 128,128,128,3,14,14,5,1,254,128,64,64,64,128,128,192, + 96,128,128,64,64,64,128,7,3,3,7,0,3,50,220,128, + 255}; +/* + Fontname: -Adobe-Helvetica-Bold-R-Normal--11-80-100-100-P-60-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 8, '1' Height: 8 + Calculated Max Values w=10 h=11 x= 1 y= 7 dx=11 dy= 0 ascent=11 len=18 + Font Bounding box w=12 h=19 x=-1 y=-5 + Calculated Min Values x=-1 y=-2 dx= 0 dy= 0 + Pure Font ascent = 8 descent=-2 + X Font ascent = 8 descent=-2 + Max Font ascent =11 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_helvB08[2677] U8G_FONT_SECTION("u8g_font_helvB08") = { + 0,12,19,255,251,8,1,182,3,122,32,255,254,11,254,8, + 254,0,0,0,3,0,1,2,8,8,4,1,0,192,192,192, + 192,128,128,0,192,3,3,3,5,1,5,160,160,160,7,7, + 7,6,255,0,40,40,126,40,252,80,80,5,10,10,6,0, + 255,32,112,168,224,112,56,40,168,112,32,7,8,8,8,0, + 0,98,180,104,16,16,44,86,140,7,8,8,8,0,0,112, + 216,216,112,222,204,220,118,1,3,3,3,1,5,128,128,128, + 3,10,10,4,0,254,32,96,64,192,192,192,192,64,96,32, + 3,10,10,4,0,254,128,192,64,96,96,96,96,64,192,128, + 3,3,3,4,0,5,160,64,160,6,5,5,6,0,1,48, + 48,252,48,48,2,4,4,3,0,254,192,192,64,128,4,1, + 1,5,0,3,240,2,2,2,3,0,0,192,192,4,8,8, + 4,0,0,16,16,32,32,64,64,128,128,5,8,8,6,0, + 0,112,216,216,216,216,216,216,112,3,8,8,6,1,0,96, + 224,96,96,96,96,96,96,5,8,8,6,0,0,112,216,24, + 24,48,96,192,248,5,8,8,6,0,0,112,216,24,48,24, + 24,216,112,6,8,8,6,0,0,8,24,56,88,152,252,24, + 24,5,8,8,6,0,0,248,192,192,240,24,152,216,112,5, + 8,8,6,0,0,112,216,192,240,216,216,216,112,5,8,8, + 6,0,0,248,24,24,48,48,96,96,96,5,8,8,6,0, + 0,112,216,216,112,216,216,216,112,5,8,8,6,0,0,112, + 216,216,216,120,24,216,112,2,6,6,3,0,0,192,192,0, + 0,192,192,2,8,8,3,0,254,192,192,0,0,192,192,64, + 128,4,5,5,5,0,1,48,96,192,96,48,5,3,3,6, + 0,2,248,0,248,4,5,5,5,0,1,192,96,48,96,192, + 5,8,8,6,0,0,112,216,24,48,96,96,0,96,10,9, + 18,11,0,255,31,0,96,128,77,64,146,64,162,64,164,128, + 155,0,64,0,62,0,7,8,8,8,0,0,56,56,108,108, + 108,254,198,198,6,8,8,7,0,0,248,204,204,248,204,204, + 204,248,7,8,8,8,0,0,60,102,194,192,192,194,102,60, + 6,8,8,7,0,0,240,216,204,204,204,204,216,240,5,8, + 8,6,0,0,248,192,192,248,192,192,192,248,5,8,8,6, + 0,0,248,192,192,240,192,192,192,192,7,8,8,8,0,0, + 60,102,194,192,206,198,102,58,6,8,8,7,0,0,204,204, + 204,252,204,204,204,204,2,8,8,3,0,0,192,192,192,192, + 192,192,192,192,5,8,8,6,0,0,24,24,24,24,24,24, + 216,112,7,8,8,7,0,0,204,216,240,224,240,216,204,198, + 5,8,8,6,0,0,192,192,192,192,192,192,192,248,9,8, + 16,10,0,0,193,128,227,128,227,128,247,128,213,128,221,128, + 201,128,201,128,7,8,8,8,0,0,198,230,230,214,214,206, + 206,198,7,8,8,8,0,0,56,108,198,198,198,198,108,56, + 6,8,8,7,0,0,248,204,204,204,248,192,192,192,7,9, + 9,8,0,255,56,108,198,198,198,214,108,60,2,6,8,8, + 7,0,0,248,204,204,204,248,204,204,204,6,8,8,7,0, + 0,120,204,224,120,28,140,204,120,6,8,8,7,0,0,252, + 48,48,48,48,48,48,48,6,8,8,7,0,0,204,204,204, + 204,204,204,204,120,7,8,8,8,0,0,198,198,108,108,108, + 56,56,16,10,8,16,11,0,0,204,192,204,192,204,192,109, + 128,109,128,127,128,51,0,51,0,7,8,8,8,0,0,198, + 198,108,56,56,108,198,198,8,8,8,9,0,0,195,195,102, + 102,60,24,24,24,6,8,8,7,0,0,252,12,24,48,112, + 96,192,252,3,10,10,4,0,254,224,192,192,192,192,192,192, + 192,192,224,4,8,8,4,0,0,128,128,64,64,32,32,16, + 16,3,10,10,4,0,254,224,96,96,96,96,96,96,96,96, + 224,4,4,4,5,0,4,96,240,144,144,6,1,1,6,0, + 254,252,2,2,2,3,0,7,128,64,6,6,6,6,0,0, + 112,152,120,216,216,108,5,8,8,6,0,0,192,192,240,216, + 216,216,216,240,4,6,6,5,0,0,112,208,192,192,208,112, + 5,8,8,6,0,0,24,24,120,216,216,216,216,120,5,6, + 6,6,0,0,112,216,248,192,216,112,5,8,8,4,255,0, + 56,96,240,96,96,96,96,96,5,8,8,6,0,254,104,216, + 216,216,216,120,24,112,5,8,8,6,0,0,192,192,240,216, + 216,216,216,216,2,8,8,3,0,0,192,0,192,192,192,192, + 192,192,3,10,10,3,255,254,96,0,96,96,96,96,96,96, + 96,192,6,8,8,6,0,0,192,192,216,240,224,240,216,204, + 2,8,8,3,0,0,192,192,192,192,192,192,192,192,8,6, + 6,9,0,0,182,219,219,219,219,219,5,6,6,6,0,0, + 176,216,216,216,216,216,5,6,6,6,0,0,112,216,216,216, + 216,112,5,8,8,6,0,254,176,216,216,216,216,240,192,192, + 5,8,8,6,0,254,104,216,216,216,216,120,24,24,4,6, + 6,4,0,0,176,224,192,192,192,192,5,6,6,6,0,0, + 112,216,112,24,216,112,4,8,8,4,255,0,96,96,240,96, + 96,96,96,48,5,6,6,6,0,0,216,216,216,216,216,104, + 5,6,6,6,0,0,216,216,216,80,112,32,7,6,6,8, + 0,0,214,214,214,108,108,108,6,6,6,7,0,0,204,120, + 48,120,204,204,5,8,8,6,0,254,216,216,216,216,120,48, + 48,96,5,6,6,6,0,0,248,24,48,96,192,248,4,10, + 10,5,0,254,48,96,96,96,192,96,96,96,96,48,1,10, + 10,3,1,254,128,128,128,128,128,128,128,128,128,128,4,10, + 10,5,0,254,192,96,96,96,48,96,96,96,96,192,5,2, + 2,6,0,3,104,176,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, + 255,255,255,255,255,255,255,0,0,0,3,0,1,2,8,8, + 4,1,254,192,0,64,64,192,192,192,192,5,8,8,6,0, + 255,16,112,216,160,160,216,112,64,5,8,8,6,0,0,56, + 104,96,240,96,96,104,216,6,6,6,6,0,1,132,120,72, + 72,120,132,6,8,8,7,0,0,132,132,204,72,252,48,252, + 48,1,10,10,3,1,254,128,128,128,128,0,0,128,128,128, + 128,5,10,10,6,0,254,112,200,224,112,152,200,112,56,152, + 112,3,1,1,3,0,7,160,8,8,8,10,1,0,60,66, + 153,165,161,157,66,60,3,5,5,5,1,3,224,32,160,0, + 224,6,3,3,7,0,1,108,216,108,5,3,3,7,1,2, + 248,8,8,4,1,1,5,0,3,240,8,8,8,10,1,0, + 60,66,189,165,185,165,66,60,3,1,1,3,0,7,224,3, + 3,3,4,0,5,96,160,192,6,7,7,6,0,0,48,48, + 252,48,48,0,252,3,4,4,3,0,4,96,160,64,224,3, + 4,4,3,0,4,224,64,32,192,2,2,2,3,0,7,64, + 128,5,8,8,6,0,254,216,216,216,216,216,232,192,192,6, + 10,10,6,0,254,124,232,232,232,104,40,40,40,40,40,2, + 1,1,3,0,3,192,2,2,2,3,0,254,64,192,2,4, + 4,3,0,4,64,192,64,64,3,5,5,5,1,3,224,160, + 224,0,224,6,3,3,7,0,1,216,108,216,8,8,8,9, + 0,0,68,196,72,72,18,38,47,66,7,8,8,9,0,0, + 68,196,72,72,22,42,36,78,8,8,8,9,0,0,228,68, + 40,200,18,38,47,66,5,8,8,6,0,254,48,0,48,48, + 96,192,216,112,7,11,11,8,0,0,32,16,0,56,56,108, + 108,108,254,198,198,7,11,11,8,0,0,8,16,0,56,56, + 108,108,108,254,198,198,7,11,11,8,0,0,16,40,0,56, + 56,108,108,108,254,198,198,7,11,11,8,0,0,20,40,0, + 56,56,108,108,108,254,198,198,7,10,10,8,0,0,40,0, + 56,56,108,108,108,254,198,198,7,11,11,8,0,0,16,40, + 16,56,56,108,108,108,254,198,198,9,8,16,10,0,0,63, + 128,60,0,108,0,111,128,108,0,252,0,204,0,207,128,7, + 10,10,8,0,254,60,102,194,192,192,194,102,60,16,48,5, + 11,11,6,0,0,64,32,0,248,192,192,248,192,192,192,248, + 5,11,11,6,0,0,16,32,0,248,192,192,248,192,192,192, + 248,5,11,11,6,0,0,32,80,0,248,192,192,248,192,192, + 192,248,5,10,10,6,0,0,80,0,248,192,192,248,192,192, + 192,248,2,11,11,3,0,0,128,64,0,192,192,192,192,192, + 192,192,192,2,11,11,3,0,0,64,128,0,192,192,192,192, + 192,192,192,192,3,11,11,3,255,0,64,160,0,96,96,96, + 96,96,96,96,96,4,10,10,3,255,0,144,0,96,96,96, + 96,96,96,96,96,7,8,8,7,255,0,120,108,102,246,102, + 102,108,120,7,11,11,8,0,0,20,40,0,198,230,230,214, + 214,206,206,198,7,11,11,8,0,0,16,8,0,56,108,198, + 198,198,198,108,56,7,11,11,8,0,0,8,16,0,56,108, + 198,198,198,198,108,56,7,11,11,8,0,0,16,40,0,56, + 108,198,198,198,198,108,56,7,11,11,8,0,0,20,40,0, + 56,108,198,198,198,198,108,56,7,10,10,8,0,0,40,0, + 56,108,198,198,198,198,108,56,6,5,5,6,0,1,204,120, + 48,120,204,7,8,8,8,0,0,58,108,206,214,214,230,108, + 184,6,11,11,7,0,0,32,16,0,204,204,204,204,204,204, + 204,120,6,11,11,7,0,0,8,16,0,204,204,204,204,204, + 204,204,120,6,11,11,7,0,0,32,80,0,204,204,204,204, + 204,204,204,120,6,10,10,7,0,0,72,0,204,204,204,204, + 204,204,204,120,8,11,11,9,0,0,4,8,0,195,195,102, + 102,60,24,24,24,6,8,8,7,0,0,192,248,204,204,204, + 248,192,192,5,8,8,6,0,0,112,200,200,208,200,200,200, + 208,6,9,9,6,0,0,32,16,0,112,152,120,216,216,108, + 6,9,9,6,0,0,16,32,0,112,152,120,216,216,108,6, + 9,9,6,0,0,32,80,0,112,152,120,216,216,108,6,9, + 9,6,0,0,40,80,0,112,152,120,216,216,108,6,8,8, + 6,0,0,80,0,112,152,120,216,216,108,6,9,9,6,0, + 0,32,80,32,112,152,120,216,216,108,8,6,6,9,0,0, + 126,155,127,216,219,110,4,8,8,5,0,254,112,208,192,192, + 208,112,32,96,5,9,9,6,0,0,64,32,0,112,216,248, + 192,216,112,5,9,9,6,0,0,16,32,0,112,216,248,192, + 216,112,5,9,9,6,0,0,32,80,0,112,216,248,192,216, + 112,5,8,8,6,0,0,80,0,112,216,248,192,216,112,2, + 9,9,3,0,0,128,64,0,192,192,192,192,192,192,2,9, + 9,3,0,0,64,128,0,192,192,192,192,192,192,3,9,9, + 3,0,0,64,160,0,192,192,192,192,192,192,3,8,8,3, + 0,0,160,0,192,192,192,192,192,192,5,9,9,6,0,0, + 80,96,160,112,216,216,216,216,112,5,9,9,6,0,0,80, + 160,0,176,216,216,216,216,216,5,9,9,6,0,0,64,32, + 0,112,216,216,216,216,112,5,9,9,6,0,0,16,32,0, + 112,216,216,216,216,112,5,9,9,6,0,0,32,80,0,112, + 216,216,216,216,112,5,9,9,6,0,0,80,160,0,112,216, + 216,216,216,112,5,8,8,6,0,0,80,0,112,216,216,216, + 216,112,6,5,5,6,0,1,48,0,252,0,48,7,6,6, + 6,255,0,58,108,124,108,108,184,5,9,9,6,0,0,64, + 32,0,216,216,216,216,216,104,5,9,9,6,0,0,16,32, + 0,216,216,216,216,216,104,5,9,9,6,0,0,32,80,0, + 216,216,216,216,216,104,5,8,8,6,0,0,80,0,216,216, + 216,216,216,104,5,11,11,6,0,254,16,32,0,216,216,216, + 216,120,48,48,96,5,10,10,6,0,254,192,192,240,216,200, + 200,216,240,192,192,5,10,10,6,0,254,80,0,216,216,216, + 216,120,48,48,96}; +/* + Fontname: -Adobe-Helvetica-Bold-R-Normal--11-80-100-100-P-60-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 0, '1' Height: 8 + Calculated Max Values w= 6 h= 8 x= 1 y= 5 dx= 6 dy= 0 ascent= 8 len= 8 + Font Bounding box w=12 h=19 x=-1 y=-5 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent = 8 descent= 0 + X Font ascent = 8 descent= 0 + Max Font ascent = 8 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_helvB08n[228] U8G_FONT_SECTION("u8g_font_helvB08n") = { + 0,12,19,255,251,8,0,0,0,0,42,58,0,8,254,8, + 0,3,3,3,4,0,5,160,64,160,6,5,5,6,0,1, + 48,48,252,48,48,2,4,4,3,0,254,192,192,64,128,4, + 1,1,5,0,3,240,2,2,2,3,0,0,192,192,4,8, + 8,4,0,0,16,16,32,32,64,64,128,128,5,8,8,6, + 0,0,112,216,216,216,216,216,216,112,3,8,8,6,1,0, + 96,224,96,96,96,96,96,96,5,8,8,6,0,0,112,216, + 24,24,48,96,192,248,5,8,8,6,0,0,112,216,24,48, + 24,24,216,112,6,8,8,6,0,0,8,24,56,88,152,252, + 24,24,5,8,8,6,0,0,248,192,192,240,24,152,216,112, + 5,8,8,6,0,0,112,216,192,240,216,216,216,112,5,8, + 8,6,0,0,248,24,24,48,48,96,96,96,5,8,8,6, + 0,0,112,216,216,112,216,216,216,112,5,8,8,6,0,0, + 112,216,216,216,120,24,216,112,2,6,6,3,0,0,192,192, + 0,0,192,192}; +/* + Fontname: -Adobe-Helvetica-Bold-R-Normal--11-80-100-100-P-60-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 8, '1' Height: 8 + Calculated Max Values w=10 h=10 x= 1 y= 7 dx=11 dy= 0 ascent= 9 len=18 + Font Bounding box w=12 h=19 x=-1 y=-5 + Calculated Min Values x=-1 y=-2 dx= 0 dy= 0 + Pure Font ascent = 8 descent=-2 + X Font ascent = 8 descent=-2 + Max Font ascent = 9 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_helvB08r[1287] U8G_FONT_SECTION("u8g_font_helvB08r") = { + 0,12,19,255,251,8,1,182,3,122,32,127,254,9,254,8, + 254,0,0,0,3,0,1,2,8,8,4,1,0,192,192,192, + 192,128,128,0,192,3,3,3,5,1,5,160,160,160,7,7, + 7,6,255,0,40,40,126,40,252,80,80,5,10,10,6,0, + 255,32,112,168,224,112,56,40,168,112,32,7,8,8,8,0, + 0,98,180,104,16,16,44,86,140,7,8,8,8,0,0,112, + 216,216,112,222,204,220,118,1,3,3,3,1,5,128,128,128, + 3,10,10,4,0,254,32,96,64,192,192,192,192,64,96,32, + 3,10,10,4,0,254,128,192,64,96,96,96,96,64,192,128, + 3,3,3,4,0,5,160,64,160,6,5,5,6,0,1,48, + 48,252,48,48,2,4,4,3,0,254,192,192,64,128,4,1, + 1,5,0,3,240,2,2,2,3,0,0,192,192,4,8,8, + 4,0,0,16,16,32,32,64,64,128,128,5,8,8,6,0, + 0,112,216,216,216,216,216,216,112,3,8,8,6,1,0,96, + 224,96,96,96,96,96,96,5,8,8,6,0,0,112,216,24, + 24,48,96,192,248,5,8,8,6,0,0,112,216,24,48,24, + 24,216,112,6,8,8,6,0,0,8,24,56,88,152,252,24, + 24,5,8,8,6,0,0,248,192,192,240,24,152,216,112,5, + 8,8,6,0,0,112,216,192,240,216,216,216,112,5,8,8, + 6,0,0,248,24,24,48,48,96,96,96,5,8,8,6,0, + 0,112,216,216,112,216,216,216,112,5,8,8,6,0,0,112, + 216,216,216,120,24,216,112,2,6,6,3,0,0,192,192,0, + 0,192,192,2,8,8,3,0,254,192,192,0,0,192,192,64, + 128,4,5,5,5,0,1,48,96,192,96,48,5,3,3,6, + 0,2,248,0,248,4,5,5,5,0,1,192,96,48,96,192, + 5,8,8,6,0,0,112,216,24,48,96,96,0,96,10,9, + 18,11,0,255,31,0,96,128,77,64,146,64,162,64,164,128, + 155,0,64,0,62,0,7,8,8,8,0,0,56,56,108,108, + 108,254,198,198,6,8,8,7,0,0,248,204,204,248,204,204, + 204,248,7,8,8,8,0,0,60,102,194,192,192,194,102,60, + 6,8,8,7,0,0,240,216,204,204,204,204,216,240,5,8, + 8,6,0,0,248,192,192,248,192,192,192,248,5,8,8,6, + 0,0,248,192,192,240,192,192,192,192,7,8,8,8,0,0, + 60,102,194,192,206,198,102,58,6,8,8,7,0,0,204,204, + 204,252,204,204,204,204,2,8,8,3,0,0,192,192,192,192, + 192,192,192,192,5,8,8,6,0,0,24,24,24,24,24,24, + 216,112,7,8,8,7,0,0,204,216,240,224,240,216,204,198, + 5,8,8,6,0,0,192,192,192,192,192,192,192,248,9,8, + 16,10,0,0,193,128,227,128,227,128,247,128,213,128,221,128, + 201,128,201,128,7,8,8,8,0,0,198,230,230,214,214,206, + 206,198,7,8,8,8,0,0,56,108,198,198,198,198,108,56, + 6,8,8,7,0,0,248,204,204,204,248,192,192,192,7,9, + 9,8,0,255,56,108,198,198,198,214,108,60,2,6,8,8, + 7,0,0,248,204,204,204,248,204,204,204,6,8,8,7,0, + 0,120,204,224,120,28,140,204,120,6,8,8,7,0,0,252, + 48,48,48,48,48,48,48,6,8,8,7,0,0,204,204,204, + 204,204,204,204,120,7,8,8,8,0,0,198,198,108,108,108, + 56,56,16,10,8,16,11,0,0,204,192,204,192,204,192,109, + 128,109,128,127,128,51,0,51,0,7,8,8,8,0,0,198, + 198,108,56,56,108,198,198,8,8,8,9,0,0,195,195,102, + 102,60,24,24,24,6,8,8,7,0,0,252,12,24,48,112, + 96,192,252,3,10,10,4,0,254,224,192,192,192,192,192,192, + 192,192,224,4,8,8,4,0,0,128,128,64,64,32,32,16, + 16,3,10,10,4,0,254,224,96,96,96,96,96,96,96,96, + 224,4,4,4,5,0,4,96,240,144,144,6,1,1,6,0, + 254,252,2,2,2,3,0,7,128,64,6,6,6,6,0,0, + 112,152,120,216,216,108,5,8,8,6,0,0,192,192,240,216, + 216,216,216,240,4,6,6,5,0,0,112,208,192,192,208,112, + 5,8,8,6,0,0,24,24,120,216,216,216,216,120,5,6, + 6,6,0,0,112,216,248,192,216,112,5,8,8,4,255,0, + 56,96,240,96,96,96,96,96,5,8,8,6,0,254,104,216, + 216,216,216,120,24,112,5,8,8,6,0,0,192,192,240,216, + 216,216,216,216,2,8,8,3,0,0,192,0,192,192,192,192, + 192,192,3,10,10,3,255,254,96,0,96,96,96,96,96,96, + 96,192,6,8,8,6,0,0,192,192,216,240,224,240,216,204, + 2,8,8,3,0,0,192,192,192,192,192,192,192,192,8,6, + 6,9,0,0,182,219,219,219,219,219,5,6,6,6,0,0, + 176,216,216,216,216,216,5,6,6,6,0,0,112,216,216,216, + 216,112,5,8,8,6,0,254,176,216,216,216,216,240,192,192, + 5,8,8,6,0,254,104,216,216,216,216,120,24,24,4,6, + 6,4,0,0,176,224,192,192,192,192,5,6,6,6,0,0, + 112,216,112,24,216,112,4,8,8,4,255,0,96,96,240,96, + 96,96,96,48,5,6,6,6,0,0,216,216,216,216,216,104, + 5,6,6,6,0,0,216,216,216,80,112,32,7,6,6,8, + 0,0,214,214,214,108,108,108,6,6,6,7,0,0,204,120, + 48,120,204,204,5,8,8,6,0,254,216,216,216,216,120,48, + 48,96,5,6,6,6,0,0,248,24,48,96,192,248,4,10, + 10,5,0,254,48,96,96,96,192,96,96,96,96,48,1,10, + 10,3,1,254,128,128,128,128,128,128,128,128,128,128,4,10, + 10,5,0,254,192,96,96,96,48,96,96,96,96,192,5,2, + 2,6,0,3,104,176,255}; +/* + Fontname: -Adobe-Helvetica-Bold-R-Normal--14-100-100-100-P-82-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 11, '1' Height: 11 + Calculated Max Values w=14 h=14 x= 2 y= 9 dx=15 dy= 0 ascent=14 len=28 + Font Bounding box w=17 h=23 x=-1 y=-6 + Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 + Pure Font ascent =11 descent=-3 + X Font ascent =11 descent=-3 + Max Font ascent =14 descent=-3 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_helvB10[3692] U8G_FONT_SECTION("u8g_font_helvB10") = { + 0,17,23,255,250,11,2,27,4,205,32,255,253,14,253,11, + 253,0,0,0,4,0,1,2,11,11,4,1,0,192,192,192, + 192,192,192,128,128,0,192,192,5,3,3,7,1,8,216,216, + 144,9,10,20,9,0,0,27,0,27,0,27,0,127,128,54, + 0,54,0,255,0,108,0,108,0,108,0,7,14,14,8,0, + 254,16,124,214,214,208,240,120,28,22,214,214,124,16,16,12, + 11,22,13,0,0,120,64,204,192,205,128,121,0,3,0,6, + 0,4,0,13,224,11,48,27,48,17,224,9,10,20,11,1, + 0,56,0,108,0,108,0,56,0,115,0,251,0,206,0,198, + 0,207,0,125,128,2,3,3,4,1,8,192,192,128,4,14, + 14,5,1,253,48,96,96,192,192,192,192,192,192,192,192,96, + 96,48,4,14,14,5,0,253,192,96,96,48,48,48,48,48, + 48,48,48,96,96,192,5,4,4,6,0,7,32,248,112,216, + 8,7,7,9,0,1,24,24,24,255,24,24,24,3,3,3, + 4,0,255,96,96,192,3,1,1,4,0,4,224,2,2,2, + 4,1,0,192,192,4,11,11,4,0,0,16,16,48,32,32, + 96,64,64,192,128,128,7,11,11,8,0,0,56,108,198,198, + 198,198,198,198,198,108,56,4,11,11,8,1,0,48,240,48, + 48,48,48,48,48,48,48,48,7,11,11,8,0,0,124,198, + 198,6,14,12,24,48,96,192,254,7,11,11,8,0,0,124, + 198,198,6,6,60,6,6,198,198,124,8,11,11,8,0,0, + 6,14,30,54,102,198,198,255,6,6,6,7,11,11,8,0, + 0,126,96,96,192,252,14,6,6,198,204,120,7,11,11,8, + 0,0,60,102,102,192,220,230,198,198,198,198,124,7,11,11, + 8,0,0,254,6,12,12,24,24,48,48,96,96,96,7,11, + 11,8,0,0,124,198,198,198,198,124,198,198,198,198,124,7, + 11,11,8,0,0,124,198,198,198,198,198,126,6,198,204,120, + 2,8,8,5,2,0,192,192,0,0,0,0,192,192,3,9, + 9,5,1,255,96,96,0,0,0,0,96,96,192,6,5,5, + 8,1,2,28,112,192,112,28,7,3,3,9,1,3,254,0, + 254,6,5,5,8,1,2,224,56,12,56,224,7,11,11,9, + 1,0,124,198,198,6,12,24,48,48,0,48,48,13,12,24, + 14,0,255,15,128,56,224,112,112,102,176,205,152,217,152,219, + 24,219,48,206,224,96,0,49,128,31,0,10,11,22,10,0, + 0,12,0,12,0,30,0,18,0,51,0,51,0,97,128,127, + 128,97,128,192,192,192,192,8,11,11,10,1,0,254,199,195, + 195,198,252,198,195,195,199,254,9,11,22,11,1,0,31,0, + 123,128,96,128,192,0,192,0,192,0,192,0,192,0,96,128, + 123,128,31,0,9,11,22,11,1,0,252,0,199,0,195,0, + 193,128,193,128,193,128,193,128,193,128,195,0,199,0,252,0, + 7,11,11,9,1,0,254,192,192,192,192,254,192,192,192,192, + 254,7,11,11,9,1,0,254,192,192,192,192,252,192,192,192, + 192,192,9,11,22,11,1,0,31,0,123,128,96,128,192,0, + 192,0,199,128,193,128,193,128,97,128,123,128,30,128,8,11, + 11,10,1,0,195,195,195,195,195,255,195,195,195,195,195,2, + 11,11,4,1,0,192,192,192,192,192,192,192,192,192,192,192, + 7,11,11,8,0,0,6,6,6,6,6,6,6,198,198,238, + 124,9,11,22,10,1,0,195,0,198,0,204,0,216,0,240, + 0,240,0,216,0,204,0,198,0,195,0,193,128,7,11,11, + 8,1,0,192,192,192,192,192,192,192,192,192,192,254,11,11, + 22,13,1,0,192,96,192,96,224,224,224,224,241,224,209,96, + 209,96,219,96,202,96,206,96,196,96,9,11,22,11,1,0, + 193,128,225,128,225,128,209,128,217,128,201,128,205,128,197,128, + 195,128,195,128,193,128,10,11,22,12,1,0,30,0,115,128, + 97,128,192,192,192,192,192,192,192,192,192,192,97,128,115,128, + 30,0,8,11,11,10,1,0,254,199,195,195,199,254,192,192, + 192,192,192,10,11,22,12,1,0,30,0,115,128,97,128,192, + 192,192,192,192,192,192,192,198,192,99,128,115,128,30,192,9, + 11,22,11,1,0,254,0,199,0,195,0,195,0,198,0,254, + 0,199,0,195,0,195,0,195,0,193,128,8,11,11,10,1, + 0,126,231,195,224,120,30,7,3,195,238,124,8,11,11,8, + 0,0,255,24,24,24,24,24,24,24,24,24,24,9,11,22, + 11,1,0,193,128,193,128,193,128,193,128,193,128,193,128,193, + 128,193,128,193,128,99,0,62,0,10,11,22,10,0,0,192, + 192,192,192,97,128,97,128,115,128,51,0,51,0,30,0,30, + 0,12,0,12,0,14,11,22,14,0,0,195,12,195,12,195, + 12,103,152,100,152,100,152,108,216,44,208,56,112,24,96,24, + 96,9,11,22,9,0,0,193,128,193,128,99,0,54,0,28, + 0,28,0,54,0,99,0,99,0,193,128,193,128,10,11,22, + 10,0,0,192,192,97,128,97,128,51,0,51,0,30,0,30, + 0,12,0,12,0,12,0,12,0,8,11,11,9,0,0,255, + 3,6,12,28,24,48,112,96,192,255,4,14,14,5,1,253, + 240,192,192,192,192,192,192,192,192,192,192,192,192,240,4,11, + 11,4,0,0,128,128,192,64,64,96,32,32,48,16,16,4, + 14,14,5,0,253,240,48,48,48,48,48,48,48,48,48,48, + 48,48,240,6,5,5,8,1,6,48,120,72,204,204,8,1, + 1,8,0,253,255,3,2,2,5,1,9,192,96,7,8,8, + 8,1,0,120,204,12,124,204,204,220,118,7,11,11,9,1, + 0,192,192,192,216,236,198,198,198,198,236,216,6,8,8,8, + 1,0,56,108,204,192,192,204,108,56,7,11,11,9,1,0, + 6,6,6,54,110,198,198,198,198,110,54,6,8,8,8,1, + 0,120,204,204,252,192,192,236,120,5,11,11,4,0,0,56, + 96,96,240,96,96,96,96,96,96,96,7,11,11,9,1,253, + 58,110,198,198,198,198,110,54,6,206,124,7,11,11,9,1, + 0,192,192,192,220,238,198,198,198,198,198,198,2,11,11,4, + 1,0,192,192,0,192,192,192,192,192,192,192,192,3,14,14, + 4,0,253,96,96,0,96,96,96,96,96,96,96,96,96,224, + 192,6,11,11,8,1,0,192,192,192,204,216,240,240,216,216, + 204,204,2,11,11,4,1,0,192,192,192,192,192,192,192,192, + 192,192,192,10,8,16,12,1,0,219,128,238,192,204,192,204, + 192,204,192,204,192,204,192,204,192,7,8,8,9,1,0,220, + 238,198,198,198,198,198,198,7,8,8,9,1,0,56,108,198, + 198,198,198,108,56,7,11,11,9,1,253,216,236,198,198,198, + 198,236,216,192,192,192,7,11,11,9,1,253,54,110,198,198, + 198,198,110,54,6,6,6,5,8,8,6,1,0,216,248,192, + 192,192,192,192,192,6,8,8,8,1,0,120,204,224,120,28, + 12,236,120,5,10,10,5,0,0,96,96,248,96,96,96,96, + 96,104,48,7,8,8,9,1,0,198,198,198,198,198,198,238, + 118,8,8,8,8,0,0,195,195,102,102,36,60,24,24,10, + 8,16,10,0,0,204,192,204,192,204,192,109,128,109,128,51, + 0,51,0,51,0,7,8,8,7,0,0,198,198,108,56,56, + 108,198,198,8,11,11,8,0,253,195,195,102,102,36,60,24, + 24,24,48,112,6,8,8,6,0,0,252,12,24,48,48,96, + 192,252,5,14,14,6,0,253,24,48,48,48,48,96,192,96, + 48,48,48,48,48,24,1,14,14,4,2,253,128,128,128,128, + 128,128,128,128,128,128,128,128,128,128,5,14,14,6,1,253, + 192,96,96,96,96,48,24,48,96,96,96,96,96,192,7,3, + 3,9,1,3,114,222,140,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,255,255,255,255,255,255,255,0,0,0,4,0,1,2,11, + 11,4,1,253,192,192,0,64,64,192,192,192,192,192,192,7, + 10,10,8,0,255,4,60,110,200,208,208,230,102,124,64,8, + 11,11,8,0,0,60,102,102,96,252,48,48,48,96,251,222, + 7,7,7,8,0,2,130,124,108,108,108,124,130,8,11,11, + 9,0,0,195,195,195,102,102,60,126,24,126,24,24,1,14, + 14,4,2,253,128,128,128,128,128,128,0,0,128,128,128,128, + 128,128,6,14,14,8,1,253,120,204,204,224,120,220,204,204, + 236,120,28,204,204,120,5,2,2,5,0,9,216,216,10,11, + 22,12,1,0,30,0,97,128,76,128,210,192,144,64,144,64, + 144,64,146,64,76,128,97,128,30,0,5,7,7,6,0,4, + 112,144,112,208,248,0,248,7,5,5,9,1,2,54,108,216, + 108,54,7,4,4,9,1,2,254,254,2,2,3,1,1,4, + 0,4,224,10,11,22,12,1,0,30,0,97,128,92,128,146, + 64,146,64,156,64,146,64,146,64,82,128,97,128,30,0,5, + 1,1,5,0,9,248,4,4,4,6,1,7,96,144,144,96, + 8,9,9,9,0,0,24,24,24,255,24,24,24,0,255,4, + 6,6,5,0,5,96,176,48,96,192,240,4,6,6,5,0, + 5,96,176,96,48,176,96,3,2,2,5,1,9,96,192,7, + 11,11,9,1,253,198,198,198,198,198,198,238,246,192,192,192, + 8,14,14,8,0,253,63,122,250,250,250,122,58,10,10,10, + 10,10,10,10,2,2,2,4,1,3,192,192,5,3,3,5, + 0,253,24,216,112,3,6,6,4,0,5,96,224,96,96,96, + 96,5,7,7,6,0,4,112,216,216,216,112,0,248,7,5, + 5,9,1,2,216,108,54,108,216,12,11,22,12,0,0,97, + 128,225,128,99,0,99,0,102,0,102,32,6,96,12,224,13, + 96,25,240,24,96,11,11,22,12,0,0,97,128,225,128,99, + 0,99,0,102,0,102,192,7,96,12,96,12,192,25,128,25, + 224,12,11,22,12,0,0,97,128,177,128,99,0,51,0,182, + 0,102,32,6,96,12,224,13,96,25,240,24,96,7,11,11, + 9,1,253,24,24,0,24,24,48,96,192,198,198,124,10,14, + 28,10,0,0,24,0,12,0,0,0,12,0,12,0,30,0, + 18,0,51,0,51,0,97,128,127,128,97,128,192,192,192,192, + 10,14,28,10,0,0,6,0,12,0,0,0,12,0,12,0, + 30,0,18,0,51,0,51,0,97,128,127,128,97,128,192,192, + 192,192,10,14,28,10,0,0,14,0,27,0,0,0,12,0, + 12,0,30,0,18,0,51,0,51,0,97,128,127,128,97,128, + 192,192,192,192,10,14,28,10,0,0,13,0,22,0,0,0, + 12,0,12,0,30,0,18,0,51,0,51,0,97,128,127,128, + 97,128,192,192,192,192,10,14,28,10,0,0,51,0,51,0, + 0,0,12,0,12,0,30,0,18,0,51,0,51,0,97,128, + 127,128,97,128,192,192,192,192,10,14,28,10,0,0,12,0, + 18,0,12,0,12,0,12,0,30,0,18,0,51,0,51,0, + 97,128,127,128,97,128,192,192,192,192,14,11,22,15,0,0, + 15,252,15,0,27,0,19,0,51,0,51,248,99,0,127,0, + 99,0,195,0,195,252,9,14,28,11,1,253,31,0,123,128, + 96,128,192,0,192,0,192,0,192,0,192,0,96,128,123,128, + 31,0,6,0,54,0,28,0,7,14,14,9,1,0,48,24, + 0,254,192,192,192,192,254,192,192,192,192,254,7,14,14,9, + 1,0,12,24,0,254,192,192,192,192,254,192,192,192,192,254, + 7,14,14,9,1,0,28,54,0,254,192,192,192,192,254,192, + 192,192,192,254,7,14,14,9,1,0,108,108,0,254,192,192, + 192,192,254,192,192,192,192,254,3,14,14,4,0,0,192,96, + 0,96,96,96,96,96,96,96,96,96,96,96,3,14,14,4, + 1,0,96,192,0,192,192,192,192,192,192,192,192,192,192,192, + 5,14,14,4,0,0,112,216,0,96,96,96,96,96,96,96, + 96,96,96,96,5,14,14,4,0,0,216,216,0,96,96,96, + 96,96,96,96,96,96,96,96,10,11,22,11,0,0,126,0, + 99,128,97,128,96,192,96,192,248,192,96,192,96,192,97,128, + 99,128,126,0,9,14,28,11,1,0,26,0,44,0,0,0, + 193,128,225,128,225,128,209,128,217,128,201,128,205,128,197,128, + 195,128,195,128,193,128,10,14,28,12,1,0,24,0,12,0, + 0,0,30,0,115,128,97,128,192,192,192,192,192,192,192,192, + 192,192,97,128,115,128,30,0,10,14,28,12,1,0,6,0, + 12,0,0,0,30,0,115,128,97,128,192,192,192,192,192,192, + 192,192,192,192,97,128,115,128,30,0,10,14,28,12,1,0, + 14,0,27,0,0,0,30,0,115,128,97,128,192,192,192,192, + 192,192,192,192,192,192,97,128,115,128,30,0,10,14,28,12, + 1,0,13,0,22,0,0,0,30,0,115,128,97,128,192,192, + 192,192,192,192,192,192,192,192,97,128,115,128,30,0,10,14, + 28,12,1,0,51,0,51,0,0,0,30,0,115,128,97,128, + 192,192,192,192,192,192,192,192,192,192,97,128,115,128,30,0, + 8,7,7,9,0,1,195,102,60,24,60,102,195,12,11,22, + 12,0,0,15,48,57,224,48,192,97,224,99,96,102,96,108, + 96,120,96,48,192,121,192,207,0,9,14,28,11,1,0,24, + 0,12,0,0,0,193,128,193,128,193,128,193,128,193,128,193, + 128,193,128,193,128,193,128,99,0,62,0,9,14,28,11,1, + 0,6,0,12,0,0,0,193,128,193,128,193,128,193,128,193, + 128,193,128,193,128,193,128,193,128,99,0,62,0,9,14,28, + 11,1,0,28,0,54,0,0,0,193,128,193,128,193,128,193, + 128,193,128,193,128,193,128,193,128,193,128,99,0,62,0,9, + 14,28,11,1,0,99,0,99,0,0,0,193,128,193,128,193, + 128,193,128,193,128,193,128,193,128,193,128,193,128,99,0,62, + 0,10,14,28,10,0,0,6,0,12,0,0,0,192,192,97, + 128,97,128,51,0,51,0,30,0,30,0,12,0,12,0,12, + 0,12,0,8,11,11,10,1,0,192,192,254,199,195,195,199, + 254,192,192,192,6,11,11,8,1,0,120,204,204,204,216,216, + 204,204,204,204,216,7,11,11,8,1,0,48,24,0,120,204, + 12,124,204,204,220,118,7,11,11,8,1,0,24,48,0,120, + 204,12,124,204,204,220,118,7,11,11,8,1,0,56,108,0, + 120,204,12,124,204,204,220,118,7,11,11,8,1,0,52,88, + 0,120,204,12,124,204,204,220,118,7,11,11,8,1,0,108, + 108,0,120,204,12,124,204,204,220,118,7,11,11,8,1,0, + 48,72,48,120,204,12,124,204,204,220,118,11,8,16,13,1, + 0,123,192,206,96,12,96,127,224,204,0,204,0,222,96,119, + 192,7,11,11,9,1,253,60,102,198,192,192,198,102,60,24, + 88,112,6,11,11,8,1,0,96,48,0,120,204,204,252,192, + 192,236,120,6,11,11,8,1,0,24,48,0,120,204,204,252, + 192,192,236,120,6,11,11,8,1,0,56,108,0,120,204,204, + 252,192,192,236,120,6,11,11,8,1,0,108,108,0,120,204, + 204,252,192,192,236,120,3,11,11,4,0,0,192,96,0,96, + 96,96,96,96,96,96,96,3,11,11,4,1,0,96,192,0, + 192,192,192,192,192,192,192,192,5,11,11,4,0,0,112,216, + 0,96,96,96,96,96,96,96,96,5,11,11,4,0,0,216, + 216,0,96,96,96,96,96,96,96,96,7,11,11,9,1,0, + 108,56,72,60,108,198,198,198,198,108,56,7,11,11,9,1, + 0,52,88,0,220,238,198,198,198,198,198,198,7,11,11,9, + 1,0,48,24,0,56,108,198,198,198,198,108,56,7,11,11, + 9,1,0,24,48,0,56,108,198,198,198,198,108,56,7,11, + 11,9,1,0,56,108,0,56,108,198,198,198,198,108,56,7, + 11,11,9,1,0,52,88,0,56,108,198,198,198,198,108,56, + 7,11,11,9,1,0,108,108,0,56,108,198,198,198,198,108, + 56,8,7,7,9,0,1,24,24,0,255,0,24,24,7,8, + 8,9,1,0,58,108,206,214,214,230,108,184,7,11,11,9, + 1,0,48,24,0,198,198,198,198,198,198,238,118,7,11,11, + 9,1,0,12,24,0,198,198,198,198,198,198,238,118,7,11, + 11,9,1,0,56,108,0,198,198,198,198,198,198,238,118,7, + 11,11,9,1,0,108,108,0,198,198,198,198,198,198,238,118, + 8,14,14,8,0,253,12,24,0,195,195,102,102,36,60,24, + 24,24,48,112,7,14,14,9,1,253,192,192,192,216,236,198, + 198,198,198,236,216,192,192,192,8,14,14,8,0,253,54,54, + 0,195,195,102,102,36,60,24,24,24,48,112}; +/* + Fontname: -Adobe-Helvetica-Bold-R-Normal--14-100-100-100-P-82-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 0, '1' Height: 11 + Calculated Max Values w= 8 h=11 x= 2 y= 7 dx= 9 dy= 0 ascent=11 len=11 + Font Bounding box w=17 h=23 x=-1 y=-6 + Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 + Pure Font ascent =11 descent= 0 + X Font ascent =11 descent= 0 + Max Font ascent =11 descent=-1 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_helvB10n[265] U8G_FONT_SECTION("u8g_font_helvB10n") = { + 0,17,23,255,250,11,0,0,0,0,42,58,0,11,255,11, + 0,5,4,4,6,0,7,32,248,112,216,8,7,7,9,0, + 1,24,24,24,255,24,24,24,3,3,3,4,0,255,96,96, + 192,3,1,1,4,0,4,224,2,2,2,4,1,0,192,192, + 4,11,11,4,0,0,16,16,48,32,32,96,64,64,192,128, + 128,7,11,11,8,0,0,56,108,198,198,198,198,198,198,198, + 108,56,4,11,11,8,1,0,48,240,48,48,48,48,48,48, + 48,48,48,7,11,11,8,0,0,124,198,198,6,14,12,24, + 48,96,192,254,7,11,11,8,0,0,124,198,198,6,6,60, + 6,6,198,198,124,8,11,11,8,0,0,6,14,30,54,102, + 198,198,255,6,6,6,7,11,11,8,0,0,126,96,96,192, + 252,14,6,6,198,204,120,7,11,11,8,0,0,60,102,102, + 192,220,230,198,198,198,198,124,7,11,11,8,0,0,254,6, + 12,12,24,24,48,48,96,96,96,7,11,11,8,0,0,124, + 198,198,198,198,124,198,198,198,198,124,7,11,11,8,0,0, + 124,198,198,198,198,198,126,6,198,204,120,2,8,8,5,2, + 0,192,192,0,0,0,0,192,192}; +/* + Fontname: -Adobe-Helvetica-Bold-R-Normal--14-100-100-100-P-82-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 11, '1' Height: 11 + Calculated Max Values w=14 h=14 x= 2 y= 9 dx=14 dy= 0 ascent=12 len=24 + Font Bounding box w=17 h=23 x=-1 y=-6 + Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 + Pure Font ascent =11 descent=-3 + X Font ascent =11 descent=-3 + Max Font ascent =12 descent=-3 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_helvB10r[1720] U8G_FONT_SECTION("u8g_font_helvB10r") = { + 0,17,23,255,250,11,2,27,4,205,32,127,253,12,253,11, + 253,0,0,0,4,0,1,2,11,11,4,1,0,192,192,192, + 192,192,192,128,128,0,192,192,5,3,3,7,1,8,216,216, + 144,9,10,20,9,0,0,27,0,27,0,27,0,127,128,54, + 0,54,0,255,0,108,0,108,0,108,0,7,14,14,8,0, + 254,16,124,214,214,208,240,120,28,22,214,214,124,16,16,12, + 11,22,13,0,0,120,64,204,192,205,128,121,0,3,0,6, + 0,4,0,13,224,11,48,27,48,17,224,9,10,20,11,1, + 0,56,0,108,0,108,0,56,0,115,0,251,0,206,0,198, + 0,207,0,125,128,2,3,3,4,1,8,192,192,128,4,14, + 14,5,1,253,48,96,96,192,192,192,192,192,192,192,192,96, + 96,48,4,14,14,5,0,253,192,96,96,48,48,48,48,48, + 48,48,48,96,96,192,5,4,4,6,0,7,32,248,112,216, + 8,7,7,9,0,1,24,24,24,255,24,24,24,3,3,3, + 4,0,255,96,96,192,3,1,1,4,0,4,224,2,2,2, + 4,1,0,192,192,4,11,11,4,0,0,16,16,48,32,32, + 96,64,64,192,128,128,7,11,11,8,0,0,56,108,198,198, + 198,198,198,198,198,108,56,4,11,11,8,1,0,48,240,48, + 48,48,48,48,48,48,48,48,7,11,11,8,0,0,124,198, + 198,6,14,12,24,48,96,192,254,7,11,11,8,0,0,124, + 198,198,6,6,60,6,6,198,198,124,8,11,11,8,0,0, + 6,14,30,54,102,198,198,255,6,6,6,7,11,11,8,0, + 0,126,96,96,192,252,14,6,6,198,204,120,7,11,11,8, + 0,0,60,102,102,192,220,230,198,198,198,198,124,7,11,11, + 8,0,0,254,6,12,12,24,24,48,48,96,96,96,7,11, + 11,8,0,0,124,198,198,198,198,124,198,198,198,198,124,7, + 11,11,8,0,0,124,198,198,198,198,198,126,6,198,204,120, + 2,8,8,5,2,0,192,192,0,0,0,0,192,192,3,9, + 9,5,1,255,96,96,0,0,0,0,96,96,192,6,5,5, + 8,1,2,28,112,192,112,28,7,3,3,9,1,3,254,0, + 254,6,5,5,8,1,2,224,56,12,56,224,7,11,11,9, + 1,0,124,198,198,6,12,24,48,48,0,48,48,13,12,24, + 14,0,255,15,128,56,224,112,112,102,176,205,152,217,152,219, + 24,219,48,206,224,96,0,49,128,31,0,10,11,22,10,0, + 0,12,0,12,0,30,0,18,0,51,0,51,0,97,128,127, + 128,97,128,192,192,192,192,8,11,11,10,1,0,254,199,195, + 195,198,252,198,195,195,199,254,9,11,22,11,1,0,31,0, + 123,128,96,128,192,0,192,0,192,0,192,0,192,0,96,128, + 123,128,31,0,9,11,22,11,1,0,252,0,199,0,195,0, + 193,128,193,128,193,128,193,128,193,128,195,0,199,0,252,0, + 7,11,11,9,1,0,254,192,192,192,192,254,192,192,192,192, + 254,7,11,11,9,1,0,254,192,192,192,192,252,192,192,192, + 192,192,9,11,22,11,1,0,31,0,123,128,96,128,192,0, + 192,0,199,128,193,128,193,128,97,128,123,128,30,128,8,11, + 11,10,1,0,195,195,195,195,195,255,195,195,195,195,195,2, + 11,11,4,1,0,192,192,192,192,192,192,192,192,192,192,192, + 7,11,11,8,0,0,6,6,6,6,6,6,6,198,198,238, + 124,9,11,22,10,1,0,195,0,198,0,204,0,216,0,240, + 0,240,0,216,0,204,0,198,0,195,0,193,128,7,11,11, + 8,1,0,192,192,192,192,192,192,192,192,192,192,254,11,11, + 22,13,1,0,192,96,192,96,224,224,224,224,241,224,209,96, + 209,96,219,96,202,96,206,96,196,96,9,11,22,11,1,0, + 193,128,225,128,225,128,209,128,217,128,201,128,205,128,197,128, + 195,128,195,128,193,128,10,11,22,12,1,0,30,0,115,128, + 97,128,192,192,192,192,192,192,192,192,192,192,97,128,115,128, + 30,0,8,11,11,10,1,0,254,199,195,195,199,254,192,192, + 192,192,192,10,11,22,12,1,0,30,0,115,128,97,128,192, + 192,192,192,192,192,192,192,198,192,99,128,115,128,30,192,9, + 11,22,11,1,0,254,0,199,0,195,0,195,0,198,0,254, + 0,199,0,195,0,195,0,195,0,193,128,8,11,11,10,1, + 0,126,231,195,224,120,30,7,3,195,238,124,8,11,11,8, + 0,0,255,24,24,24,24,24,24,24,24,24,24,9,11,22, + 11,1,0,193,128,193,128,193,128,193,128,193,128,193,128,193, + 128,193,128,193,128,99,0,62,0,10,11,22,10,0,0,192, + 192,192,192,97,128,97,128,115,128,51,0,51,0,30,0,30, + 0,12,0,12,0,14,11,22,14,0,0,195,12,195,12,195, + 12,103,152,100,152,100,152,108,216,44,208,56,112,24,96,24, + 96,9,11,22,9,0,0,193,128,193,128,99,0,54,0,28, + 0,28,0,54,0,99,0,99,0,193,128,193,128,10,11,22, + 10,0,0,192,192,97,128,97,128,51,0,51,0,30,0,30, + 0,12,0,12,0,12,0,12,0,8,11,11,9,0,0,255, + 3,6,12,28,24,48,112,96,192,255,4,14,14,5,1,253, + 240,192,192,192,192,192,192,192,192,192,192,192,192,240,4,11, + 11,4,0,0,128,128,192,64,64,96,32,32,48,16,16,4, + 14,14,5,0,253,240,48,48,48,48,48,48,48,48,48,48, + 48,48,240,6,5,5,8,1,6,48,120,72,204,204,8,1, + 1,8,0,253,255,3,2,2,5,1,9,192,96,7,8,8, + 8,1,0,120,204,12,124,204,204,220,118,7,11,11,9,1, + 0,192,192,192,216,236,198,198,198,198,236,216,6,8,8,8, + 1,0,56,108,204,192,192,204,108,56,7,11,11,9,1,0, + 6,6,6,54,110,198,198,198,198,110,54,6,8,8,8,1, + 0,120,204,204,252,192,192,236,120,5,11,11,4,0,0,56, + 96,96,240,96,96,96,96,96,96,96,7,11,11,9,1,253, + 58,110,198,198,198,198,110,54,6,206,124,7,11,11,9,1, + 0,192,192,192,220,238,198,198,198,198,198,198,2,11,11,4, + 1,0,192,192,0,192,192,192,192,192,192,192,192,3,14,14, + 4,0,253,96,96,0,96,96,96,96,96,96,96,96,96,224, + 192,6,11,11,8,1,0,192,192,192,204,216,240,240,216,216, + 204,204,2,11,11,4,1,0,192,192,192,192,192,192,192,192, + 192,192,192,10,8,16,12,1,0,219,128,238,192,204,192,204, + 192,204,192,204,192,204,192,204,192,7,8,8,9,1,0,220, + 238,198,198,198,198,198,198,7,8,8,9,1,0,56,108,198, + 198,198,198,108,56,7,11,11,9,1,253,216,236,198,198,198, + 198,236,216,192,192,192,7,11,11,9,1,253,54,110,198,198, + 198,198,110,54,6,6,6,5,8,8,6,1,0,216,248,192, + 192,192,192,192,192,6,8,8,8,1,0,120,204,224,120,28, + 12,236,120,5,10,10,5,0,0,96,96,248,96,96,96,96, + 96,104,48,7,8,8,9,1,0,198,198,198,198,198,198,238, + 118,8,8,8,8,0,0,195,195,102,102,36,60,24,24,10, + 8,16,10,0,0,204,192,204,192,204,192,109,128,109,128,51, + 0,51,0,51,0,7,8,8,7,0,0,198,198,108,56,56, + 108,198,198,8,11,11,8,0,253,195,195,102,102,36,60,24, + 24,24,48,112,6,8,8,6,0,0,252,12,24,48,48,96, + 192,252,5,14,14,6,0,253,24,48,48,48,48,96,192,96, + 48,48,48,48,48,24,1,14,14,4,2,253,128,128,128,128, + 128,128,128,128,128,128,128,128,128,128,5,14,14,6,1,253, + 192,96,96,96,96,48,24,48,96,96,96,96,96,192,7,3, + 3,9,1,3,114,222,140,255}; +/* + Fontname: -Adobe-Helvetica-Bold-R-Normal--17-120-100-100-P-92-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 12, '1' Height: 12 + Calculated Max Values w=14 h=17 x= 2 y=10 dx=16 dy= 0 ascent=16 len=32 + Font Bounding box w=20 h=27 x=-2 y=-7 + Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 + Pure Font ascent =12 descent=-4 + X Font ascent =12 descent=-4 + Max Font ascent =16 descent=-4 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_helvB12[4077] U8G_FONT_SECTION("u8g_font_helvB12") = { + 0,20,27,254,249,12,2,74,5,106,32,255,252,16,252,12, + 252,0,0,0,5,0,1,2,12,12,6,2,0,192,192,192, + 192,192,192,128,128,128,0,192,192,5,4,4,8,1,8,216, + 216,216,72,9,12,24,9,0,0,27,0,27,0,27,0,127, + 128,127,128,54,0,54,0,255,0,255,0,108,0,108,0,108, + 0,7,14,14,9,1,255,16,124,254,214,208,240,120,60,30, + 22,214,254,124,16,13,12,24,14,0,0,48,64,120,128,204, + 128,205,0,121,0,50,0,2,96,4,240,5,152,9,152,8, + 240,16,96,10,12,24,12,1,0,60,0,126,0,102,0,102, + 0,60,0,56,192,125,192,207,128,199,0,199,0,127,128,57, + 192,2,4,4,4,1,8,192,192,192,64,4,15,15,6,1, + 253,48,112,96,192,192,192,192,192,192,192,192,192,96,112,48, + 4,15,15,6,0,253,192,224,96,48,48,48,48,48,48,48, + 48,48,96,224,192,5,5,5,6,0,7,32,168,112,112,136, + 8,8,8,10,1,0,24,24,24,255,255,24,24,24,2,5, + 5,4,1,253,192,192,64,64,128,4,2,2,5,0,3,240, + 240,2,2,2,4,1,0,192,192,4,12,12,5,0,0,16, + 16,48,32,32,96,64,64,192,128,128,128,8,12,12,9,0, + 0,60,126,231,195,195,195,195,195,195,231,126,60,5,12,12, + 9,1,0,8,24,248,248,24,24,24,24,24,24,24,24,8, + 12,12,9,0,0,60,126,231,195,195,7,14,28,56,112,255, + 255,8,12,12,9,0,0,60,126,231,195,7,30,30,7,195, + 231,126,60,8,12,12,9,0,0,14,30,54,54,102,102,198, + 255,255,6,6,6,8,12,12,9,0,0,63,63,48,48,124, + 126,71,3,3,231,126,60,8,12,12,9,0,0,60,126,231, + 192,220,254,231,195,195,231,126,60,8,12,12,9,0,0,255, + 255,6,6,12,12,24,24,24,48,48,48,8,12,12,9,0, + 0,60,126,231,195,102,60,126,231,195,231,126,60,8,12,12, + 9,0,0,60,126,231,195,195,231,127,59,3,231,126,60,2, + 8,8,5,2,0,192,192,0,0,0,0,192,192,2,11,11, + 5,2,253,192,192,0,0,0,0,192,192,64,64,128,8,8, + 8,10,1,0,3,15,60,224,224,60,15,3,8,6,6,10, + 1,1,255,255,0,0,255,255,8,8,8,10,1,0,192,240, + 60,7,7,60,240,192,7,12,12,10,1,0,124,254,198,198, + 6,14,12,24,24,0,24,24,13,14,28,16,1,254,15,192, + 56,96,96,16,71,216,204,72,136,200,152,200,152,136,153,152, + 201,144,70,96,96,0,56,192,15,128,11,12,24,12,0,0, + 14,0,14,0,31,0,27,0,59,128,49,128,113,192,96,192, + 127,192,255,224,192,96,192,96,9,12,24,11,1,0,254,0, + 255,0,195,128,193,128,195,128,255,0,255,0,195,128,193,128, + 195,128,255,0,254,0,10,12,24,12,1,0,31,0,63,128, + 113,192,96,192,224,0,192,0,192,0,224,0,96,192,113,192, + 63,128,31,0,10,12,24,12,1,0,252,0,255,0,195,128, + 193,128,193,192,192,192,192,192,193,192,193,128,195,128,255,0, + 252,0,8,12,12,10,1,0,255,255,192,192,192,254,254,192, + 192,192,255,255,8,12,12,10,1,0,255,255,192,192,192,254, + 254,192,192,192,192,192,10,12,24,12,1,0,31,0,63,128, + 113,192,96,192,224,0,192,0,195,192,227,192,96,192,113,192, + 63,192,30,192,10,12,24,12,1,0,192,192,192,192,192,192, + 192,192,255,192,255,192,192,192,192,192,192,192,192,192,192,192, + 192,192,2,12,12,4,1,0,192,192,192,192,192,192,192,192, + 192,192,192,192,7,12,12,9,1,0,6,6,6,6,6,6, + 6,6,198,198,254,124,11,12,24,12,1,0,193,192,195,128, + 199,0,206,0,220,0,248,0,252,0,206,0,199,0,195,128, + 193,192,192,224,8,12,12,10,1,0,192,192,192,192,192,192, + 192,192,192,192,255,255,11,12,24,13,1,0,224,224,224,224, + 224,224,241,224,241,224,209,96,219,96,219,96,202,96,206,96, + 206,96,196,96,10,12,24,12,1,0,224,192,240,192,240,192, + 216,192,216,192,204,192,204,192,198,192,198,192,195,192,195,192, + 193,192,11,12,24,13,1,0,31,0,63,128,113,192,96,192, + 224,224,192,96,192,96,224,224,96,192,113,192,63,128,31,0, + 9,12,24,11,1,0,254,0,255,0,195,128,193,128,193,128, + 195,128,255,0,254,0,192,0,192,0,192,0,192,0,11,13, + 26,13,1,255,31,0,63,128,113,192,96,192,224,224,192,96, + 192,96,226,96,103,192,115,192,63,128,31,192,0,128,10,12, + 24,12,1,0,255,0,255,128,193,128,193,128,195,128,255,0, + 255,0,195,128,193,128,193,128,193,192,193,192,9,12,24,11, + 1,0,62,0,127,0,227,128,193,128,240,0,126,0,31,0, + 3,128,193,128,227,128,127,0,62,0,10,12,24,10,0,0, + 255,192,255,192,12,0,12,0,12,0,12,0,12,0,12,0, + 12,0,12,0,12,0,12,0,10,12,24,12,1,0,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 225,192,127,128,63,0,10,12,24,11,0,0,192,192,192,192, + 97,128,97,128,97,128,51,0,51,0,51,0,30,0,30,0, + 12,0,12,0,14,12,24,15,0,0,195,12,195,12,195,12, + 99,24,103,152,103,152,52,176,60,240,60,240,24,96,24,96, + 24,96,9,12,24,11,1,0,193,128,227,128,99,0,54,0, + 62,0,28,0,28,0,62,0,54,0,99,0,227,128,193,128, + 10,12,24,11,0,0,192,192,225,192,97,128,51,0,51,0, + 30,0,30,0,12,0,12,0,12,0,12,0,12,0,8,12, + 12,10,1,0,255,255,7,6,12,28,56,48,96,224,255,255, + 4,15,15,6,1,253,240,240,192,192,192,192,192,192,192,192, + 192,192,192,240,240,4,12,12,5,0,0,128,128,192,64,64, + 96,32,32,48,16,16,16,4,15,15,6,0,253,240,240,48, + 48,48,48,48,48,48,48,48,48,48,240,240,8,7,7,10, + 1,5,24,24,60,102,102,195,195,9,1,2,9,0,253,255, + 128,3,3,3,6,2,10,128,192,32,8,9,9,9,1,0, + 124,254,198,14,126,230,198,254,119,8,12,12,10,1,0,192, + 192,192,220,254,231,195,195,195,231,254,220,8,9,9,9,1, + 0,60,126,231,192,192,192,231,126,60,8,12,12,10,1,0, + 3,3,3,63,127,231,195,195,195,231,127,59,8,9,9,10, + 1,0,60,126,195,255,255,192,231,126,60,4,12,12,6,1, + 0,48,112,96,240,240,96,96,96,96,96,96,96,8,13,13, + 10,1,252,59,127,231,195,195,195,231,127,59,3,231,126,60, + 8,12,12,10,1,0,192,192,192,222,255,227,195,195,195,195, + 195,195,2,12,12,4,1,0,192,192,0,192,192,192,192,192, + 192,192,192,192,3,16,16,5,1,252,96,96,0,96,96,96, + 96,96,96,96,96,96,96,96,224,192,8,12,12,9,1,0, + 192,192,192,199,206,220,248,252,236,206,198,199,2,12,12,4, + 1,0,192,192,192,192,192,192,192,192,192,192,192,192,12,9, + 18,14,1,0,222,224,255,240,231,48,198,48,198,48,198,48, + 198,48,198,48,198,48,8,9,9,10,1,0,222,255,227,195, + 195,195,195,195,195,8,9,9,10,1,0,60,126,231,195,195, + 195,231,126,60,8,13,13,10,1,252,220,254,231,195,195,195, + 231,254,220,192,192,192,192,8,13,13,10,1,252,59,127,231, + 195,195,195,231,127,59,3,3,3,3,5,9,9,6,1,0, + 216,248,224,192,192,192,192,192,192,7,9,9,9,1,0,124, + 254,198,240,124,14,198,254,124,4,11,11,6,1,0,96,96, + 240,240,96,96,96,96,96,112,48,8,9,9,10,1,0,195, + 195,195,195,195,195,199,255,123,8,9,9,9,0,0,195,195, + 102,102,102,60,60,24,24,12,9,18,13,0,0,198,48,198, + 48,102,96,102,96,111,96,63,192,57,192,25,128,25,128,7, + 9,9,9,1,0,198,198,108,124,56,124,108,198,198,8,13, + 13,9,0,252,195,195,99,102,54,54,60,28,24,24,24,112, + 96,7,9,9,8,0,0,254,254,14,28,24,56,112,254,254, + 4,15,15,6,1,253,48,112,96,96,96,96,96,192,96,96, + 96,96,96,112,48,1,16,16,4,1,252,128,128,128,128,128, + 128,128,128,128,128,128,128,128,128,128,128,4,15,15,6,1, + 253,192,224,96,96,96,96,96,48,96,96,96,96,96,224,192, + 8,3,3,10,1,3,113,153,142,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,255,255,255,255,255,255,255,0,0,0,5,0,1, + 2,12,12,6,1,253,192,192,0,64,64,64,192,192,192,192, + 192,192,8,11,11,9,0,255,4,60,126,239,200,216,208,247, + 126,60,32,8,12,12,9,0,0,28,62,99,99,96,48,124, + 48,48,32,127,255,7,7,7,9,1,2,186,124,198,198,198, + 124,186,8,12,12,9,0,0,195,195,102,102,60,24,126,24, + 126,24,24,24,1,16,16,5,2,252,128,128,128,128,128,128, + 128,0,0,128,128,128,128,128,128,128,8,15,15,9,0,253, + 60,126,102,96,120,126,199,195,243,126,30,6,102,126,60,5, + 2,2,6,0,10,216,216,12,12,24,12,0,0,15,0,57, + 192,96,96,79,32,217,176,144,16,144,16,217,176,79,32,96, + 32,57,192,15,0,5,7,7,6,1,5,96,144,112,144,120, + 0,248,8,6,6,9,0,2,51,102,204,204,102,51,8,5, + 5,10,0,2,255,255,3,3,3,4,2,2,5,0,3,240, + 240,12,12,24,12,0,0,15,0,57,192,96,96,95,32,217, + 176,153,144,158,16,219,48,91,32,96,96,57,192,15,0,5, + 1,1,6,0,10,248,4,5,5,7,1,7,96,144,144,144, + 96,8,11,11,10,1,0,24,24,24,255,255,24,24,24,0, + 255,255,5,7,7,6,0,5,112,216,216,48,96,248,248,5, + 7,7,6,0,5,112,216,24,48,24,216,112,3,3,3,6, + 1,10,32,96,128,8,12,12,10,1,253,195,195,195,195,195, + 195,199,255,251,192,192,192,8,15,15,9,0,253,127,242,242, + 242,242,242,114,18,18,18,18,18,18,18,18,2,2,2,5, + 1,4,192,192,5,4,4,6,0,252,32,48,152,112,4,7, + 7,6,1,5,48,240,240,48,48,48,48,5,7,7,6,0, + 5,112,216,136,216,112,0,248,8,6,6,9,1,2,204,102, + 51,51,102,204,13,12,24,14,1,0,48,192,240,128,241,128, + 49,0,51,48,50,112,54,240,4,176,13,176,9,248,24,48, + 16,48,12,12,24,14,0,0,48,128,241,128,241,0,51,0, + 50,0,54,224,53,176,13,176,8,96,24,192,17,240,49,240, + 13,12,24,14,0,0,112,64,216,192,24,128,49,128,25,48, + 219,112,114,240,6,176,5,176,13,248,8,48,24,48,7,12, + 12,10,1,253,48,48,0,48,48,96,224,192,198,198,254,124, + 11,16,32,12,0,0,16,0,24,0,4,0,0,0,14,0, + 14,0,31,0,27,0,59,128,49,128,113,192,96,192,127,192, + 255,224,192,96,192,96,11,16,32,12,0,0,2,0,6,0, + 8,0,0,0,14,0,14,0,31,0,27,0,59,128,49,128, + 113,192,96,192,127,192,255,224,192,96,192,96,11,16,32,12, + 0,0,4,0,14,0,17,0,0,0,14,0,14,0,31,0, + 27,0,59,128,49,128,113,192,96,192,127,192,255,224,192,96, + 192,96,11,15,30,12,0,0,14,128,23,0,0,0,14,0, + 14,0,31,0,27,0,59,128,49,128,113,192,96,192,127,192, + 255,224,192,96,192,96,11,15,30,12,0,0,49,128,49,128, + 0,0,14,0,14,0,31,0,27,0,59,128,49,128,113,192, + 96,192,127,192,255,224,192,96,192,96,11,16,32,12,0,0, + 12,0,18,0,18,0,12,0,14,0,14,0,31,0,27,0, + 59,128,49,128,113,192,96,192,127,192,255,224,192,96,192,96, + 14,12,24,15,0,0,31,252,31,252,27,0,51,0,51,0, + 51,248,99,248,127,0,127,0,195,0,195,252,195,252,10,16, + 32,12,1,252,31,0,63,128,113,192,96,192,224,0,192,0, + 192,0,224,0,96,192,113,192,63,128,31,0,4,0,6,0, + 19,0,14,0,8,16,16,10,1,0,32,48,8,0,255,255, + 192,192,192,254,254,192,192,192,255,255,8,16,16,10,1,0, + 4,12,16,0,255,255,192,192,192,254,254,192,192,192,255,255, + 8,16,16,10,1,0,8,28,34,0,255,255,192,192,192,254, + 254,192,192,192,255,255,8,15,15,10,1,0,102,102,0,255, + 255,192,192,192,254,254,192,192,192,255,255,3,16,16,4,0, + 0,128,192,32,0,96,96,96,96,96,96,96,96,96,96,96, + 96,3,16,16,4,1,0,32,96,128,0,192,192,192,192,192, + 192,192,192,192,192,192,192,5,16,16,4,0,0,32,112,136, + 0,96,96,96,96,96,96,96,96,96,96,96,96,6,15,15, + 4,255,0,204,204,0,48,48,48,48,48,48,48,48,48,48, + 48,48,12,12,24,12,0,0,63,0,63,192,48,224,48,96, + 48,112,252,48,252,48,48,112,48,96,48,224,63,192,63,0, + 10,15,30,12,1,0,29,0,46,0,0,0,224,192,240,192, + 240,192,216,192,216,192,204,192,204,192,198,192,198,192,195,192, + 195,192,193,192,11,16,32,13,1,0,8,0,12,0,2,0, + 0,0,31,0,63,128,113,192,96,192,224,224,192,96,192,96, + 224,224,96,192,113,192,63,128,31,0,11,16,32,13,1,0, + 1,0,3,0,4,0,0,0,31,0,63,128,113,192,96,192, + 224,224,192,96,192,96,224,224,96,192,113,192,63,128,31,0, + 11,16,32,13,1,0,4,0,14,0,17,0,0,0,31,0, + 63,128,113,192,96,192,224,224,192,96,192,96,224,224,96,192, + 113,192,63,128,31,0,11,15,30,13,1,0,14,128,23,0, + 0,0,31,0,63,128,113,192,96,192,224,224,192,96,192,96, + 224,224,96,192,113,192,63,128,31,0,11,15,30,13,1,0, + 25,128,25,128,0,0,31,0,63,128,113,192,96,192,224,224, + 192,96,192,96,224,224,96,192,113,192,63,128,31,0,9,9, + 18,10,0,0,65,0,227,128,119,0,62,0,28,0,62,0, + 119,0,227,128,65,0,11,12,24,13,1,0,31,32,63,192, + 112,192,97,192,227,96,198,96,204,96,216,224,112,192,97,192, + 127,128,159,0,10,16,32,12,1,0,16,0,24,0,4,0, + 0,0,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,225,192,127,128,63,0,10,16,32,12,1,0, + 2,0,6,0,8,0,0,0,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,225,192,127,128,63,0, + 10,16,32,12,1,0,4,0,14,0,17,0,0,0,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 225,192,127,128,63,0,10,15,30,12,1,0,51,0,51,0, + 0,0,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,225,192,127,128,63,0,10,16,32,11,0,0, + 2,0,6,0,8,0,0,0,192,192,225,192,97,128,51,0, + 51,0,30,0,30,0,12,0,12,0,12,0,12,0,12,0, + 9,12,24,11,1,0,192,0,254,0,255,0,195,128,193,128, + 193,128,195,128,255,0,254,0,192,0,192,0,192,0,8,12, + 12,10,1,0,124,254,198,198,220,222,195,195,195,195,222,220, + 8,13,13,9,1,0,32,48,8,0,124,254,198,14,126,230, + 198,254,119,8,13,13,9,1,0,4,12,16,0,124,254,198, + 14,126,230,198,254,119,8,13,13,9,1,0,16,56,68,0, + 124,254,198,14,126,230,198,254,119,8,12,12,9,1,0,58, + 92,0,124,254,198,14,126,230,198,254,119,8,12,12,9,1, + 0,108,108,0,124,254,198,14,126,230,198,254,119,8,13,13, + 9,1,0,24,36,36,24,124,254,198,14,126,230,198,254,119, + 13,9,18,15,1,0,125,224,255,240,198,24,15,248,127,248, + 230,0,207,56,255,240,121,224,8,13,13,9,1,252,60,126, + 231,192,192,192,231,126,60,16,24,76,56,8,13,13,10,1, + 0,32,48,8,0,60,126,195,255,255,192,231,126,60,8,13, + 13,10,1,0,4,12,16,0,60,126,195,255,255,192,231,126, + 60,8,13,13,10,1,0,8,28,34,0,60,126,195,255,255, + 192,231,126,60,8,12,12,10,1,0,54,54,0,60,126,195, + 255,255,192,231,126,60,3,13,13,4,0,0,128,192,32,0, + 96,96,96,96,96,96,96,96,96,3,13,13,4,1,0,32, + 96,128,0,192,192,192,192,192,192,192,192,192,5,13,13,4, + 0,0,32,112,136,0,96,96,96,96,96,96,96,96,96,5, + 12,12,4,0,0,216,216,0,96,96,96,96,96,96,96,96, + 96,8,12,12,10,1,0,96,124,248,28,126,231,195,195,195, + 231,126,60,8,12,12,10,1,0,58,92,0,222,255,227,195, + 195,195,195,195,195,8,13,13,10,1,0,32,48,8,0,60, + 126,231,195,195,195,231,126,60,8,13,13,10,1,0,8,24, + 32,0,60,126,231,195,195,195,231,126,60,8,13,13,10,1, + 0,16,56,68,0,60,126,231,195,195,195,231,126,60,8,12, + 12,10,1,0,58,92,0,60,126,231,195,195,195,231,126,60, + 8,12,12,10,1,0,108,108,0,60,126,231,195,195,195,231, + 126,60,8,8,8,10,1,0,24,24,0,255,255,0,24,24, + 8,9,9,10,1,0,61,127,231,207,219,243,231,254,188,8, + 13,13,10,1,0,32,48,8,0,195,195,195,195,195,195,199, + 255,123,8,13,13,10,1,0,8,24,32,0,195,195,195,195, + 195,195,199,255,123,8,13,13,10,1,0,16,56,68,0,195, + 195,195,195,195,195,199,255,123,8,12,12,10,1,0,108,108, + 0,195,195,195,195,195,195,199,255,123,8,17,17,9,0,252, + 4,12,16,0,195,195,99,102,54,54,60,28,24,24,24,112, + 96,8,16,16,10,1,252,192,192,192,220,254,231,195,195,195, + 231,254,220,192,192,192,192,8,16,16,9,0,252,54,54,0, + 195,195,99,102,54,54,60,28,24,24,24,112,96}; +/* + Fontname: -Adobe-Helvetica-Bold-R-Normal--17-120-100-100-P-92-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 0, '1' Height: 12 + Calculated Max Values w= 8 h=12 x= 2 y= 7 dx=10 dy= 0 ascent=12 len=12 + Font Bounding box w=20 h=27 x=-2 y=-7 + Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 + Pure Font ascent =12 descent= 0 + X Font ascent =12 descent= 0 + Max Font ascent =12 descent=-3 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_helvB12n[281] U8G_FONT_SECTION("u8g_font_helvB12n") = { + 0,20,27,254,249,12,0,0,0,0,42,58,0,12,253,12, + 0,5,5,5,6,0,7,32,168,112,112,136,8,8,8,10, + 1,0,24,24,24,255,255,24,24,24,2,5,5,4,1,253, + 192,192,64,64,128,4,2,2,5,0,3,240,240,2,2,2, + 4,1,0,192,192,4,12,12,5,0,0,16,16,48,32,32, + 96,64,64,192,128,128,128,8,12,12,9,0,0,60,126,231, + 195,195,195,195,195,195,231,126,60,5,12,12,9,1,0,8, + 24,248,248,24,24,24,24,24,24,24,24,8,12,12,9,0, + 0,60,126,231,195,195,7,14,28,56,112,255,255,8,12,12, + 9,0,0,60,126,231,195,7,30,30,7,195,231,126,60,8, + 12,12,9,0,0,14,30,54,54,102,102,198,255,255,6,6, + 6,8,12,12,9,0,0,63,63,48,48,124,126,71,3,3, + 231,126,60,8,12,12,9,0,0,60,126,231,192,220,254,231, + 195,195,231,126,60,8,12,12,9,0,0,255,255,6,6,12, + 12,24,24,24,48,48,48,8,12,12,9,0,0,60,126,231, + 195,102,60,126,231,195,231,126,60,8,12,12,9,0,0,60, + 126,231,195,195,231,127,59,3,231,126,60,2,8,8,5,2, + 0,192,192,0,0,0,0,192,192}; +/* + Fontname: -Adobe-Helvetica-Bold-R-Normal--17-120-100-100-P-92-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 12, '1' Height: 12 + Calculated Max Values w=14 h=16 x= 2 y=10 dx=16 dy= 0 ascent=13 len=28 + Font Bounding box w=20 h=27 x=-2 y=-7 + Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 + Pure Font ascent =12 descent=-4 + X Font ascent =12 descent=-4 + Max Font ascent =13 descent=-4 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_helvB12r[1914] U8G_FONT_SECTION("u8g_font_helvB12r") = { + 0,20,27,254,249,12,2,74,5,106,32,127,252,13,252,12, + 252,0,0,0,5,0,1,2,12,12,6,2,0,192,192,192, + 192,192,192,128,128,128,0,192,192,5,4,4,8,1,8,216, + 216,216,72,9,12,24,9,0,0,27,0,27,0,27,0,127, + 128,127,128,54,0,54,0,255,0,255,0,108,0,108,0,108, + 0,7,14,14,9,1,255,16,124,254,214,208,240,120,60,30, + 22,214,254,124,16,13,12,24,14,0,0,48,64,120,128,204, + 128,205,0,121,0,50,0,2,96,4,240,5,152,9,152,8, + 240,16,96,10,12,24,12,1,0,60,0,126,0,102,0,102, + 0,60,0,56,192,125,192,207,128,199,0,199,0,127,128,57, + 192,2,4,4,4,1,8,192,192,192,64,4,15,15,6,1, + 253,48,112,96,192,192,192,192,192,192,192,192,192,96,112,48, + 4,15,15,6,0,253,192,224,96,48,48,48,48,48,48,48, + 48,48,96,224,192,5,5,5,6,0,7,32,168,112,112,136, + 8,8,8,10,1,0,24,24,24,255,255,24,24,24,2,5, + 5,4,1,253,192,192,64,64,128,4,2,2,5,0,3,240, + 240,2,2,2,4,1,0,192,192,4,12,12,5,0,0,16, + 16,48,32,32,96,64,64,192,128,128,128,8,12,12,9,0, + 0,60,126,231,195,195,195,195,195,195,231,126,60,5,12,12, + 9,1,0,8,24,248,248,24,24,24,24,24,24,24,24,8, + 12,12,9,0,0,60,126,231,195,195,7,14,28,56,112,255, + 255,8,12,12,9,0,0,60,126,231,195,7,30,30,7,195, + 231,126,60,8,12,12,9,0,0,14,30,54,54,102,102,198, + 255,255,6,6,6,8,12,12,9,0,0,63,63,48,48,124, + 126,71,3,3,231,126,60,8,12,12,9,0,0,60,126,231, + 192,220,254,231,195,195,231,126,60,8,12,12,9,0,0,255, + 255,6,6,12,12,24,24,24,48,48,48,8,12,12,9,0, + 0,60,126,231,195,102,60,126,231,195,231,126,60,8,12,12, + 9,0,0,60,126,231,195,195,231,127,59,3,231,126,60,2, + 8,8,5,2,0,192,192,0,0,0,0,192,192,2,11,11, + 5,2,253,192,192,0,0,0,0,192,192,64,64,128,8,8, + 8,10,1,0,3,15,60,224,224,60,15,3,8,6,6,10, + 1,1,255,255,0,0,255,255,8,8,8,10,1,0,192,240, + 60,7,7,60,240,192,7,12,12,10,1,0,124,254,198,198, + 6,14,12,24,24,0,24,24,13,14,28,16,1,254,15,192, + 56,96,96,16,71,216,204,72,136,200,152,200,152,136,153,152, + 201,144,70,96,96,0,56,192,15,128,11,12,24,12,0,0, + 14,0,14,0,31,0,27,0,59,128,49,128,113,192,96,192, + 127,192,255,224,192,96,192,96,9,12,24,11,1,0,254,0, + 255,0,195,128,193,128,195,128,255,0,255,0,195,128,193,128, + 195,128,255,0,254,0,10,12,24,12,1,0,31,0,63,128, + 113,192,96,192,224,0,192,0,192,0,224,0,96,192,113,192, + 63,128,31,0,10,12,24,12,1,0,252,0,255,0,195,128, + 193,128,193,192,192,192,192,192,193,192,193,128,195,128,255,0, + 252,0,8,12,12,10,1,0,255,255,192,192,192,254,254,192, + 192,192,255,255,8,12,12,10,1,0,255,255,192,192,192,254, + 254,192,192,192,192,192,10,12,24,12,1,0,31,0,63,128, + 113,192,96,192,224,0,192,0,195,192,227,192,96,192,113,192, + 63,192,30,192,10,12,24,12,1,0,192,192,192,192,192,192, + 192,192,255,192,255,192,192,192,192,192,192,192,192,192,192,192, + 192,192,2,12,12,4,1,0,192,192,192,192,192,192,192,192, + 192,192,192,192,7,12,12,9,1,0,6,6,6,6,6,6, + 6,6,198,198,254,124,11,12,24,12,1,0,193,192,195,128, + 199,0,206,0,220,0,248,0,252,0,206,0,199,0,195,128, + 193,192,192,224,8,12,12,10,1,0,192,192,192,192,192,192, + 192,192,192,192,255,255,11,12,24,13,1,0,224,224,224,224, + 224,224,241,224,241,224,209,96,219,96,219,96,202,96,206,96, + 206,96,196,96,10,12,24,12,1,0,224,192,240,192,240,192, + 216,192,216,192,204,192,204,192,198,192,198,192,195,192,195,192, + 193,192,11,12,24,13,1,0,31,0,63,128,113,192,96,192, + 224,224,192,96,192,96,224,224,96,192,113,192,63,128,31,0, + 9,12,24,11,1,0,254,0,255,0,195,128,193,128,193,128, + 195,128,255,0,254,0,192,0,192,0,192,0,192,0,11,13, + 26,13,1,255,31,0,63,128,113,192,96,192,224,224,192,96, + 192,96,226,96,103,192,115,192,63,128,31,192,0,128,10,12, + 24,12,1,0,255,0,255,128,193,128,193,128,195,128,255,0, + 255,0,195,128,193,128,193,128,193,192,193,192,9,12,24,11, + 1,0,62,0,127,0,227,128,193,128,240,0,126,0,31,0, + 3,128,193,128,227,128,127,0,62,0,10,12,24,10,0,0, + 255,192,255,192,12,0,12,0,12,0,12,0,12,0,12,0, + 12,0,12,0,12,0,12,0,10,12,24,12,1,0,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 225,192,127,128,63,0,10,12,24,11,0,0,192,192,192,192, + 97,128,97,128,97,128,51,0,51,0,51,0,30,0,30,0, + 12,0,12,0,14,12,24,15,0,0,195,12,195,12,195,12, + 99,24,103,152,103,152,52,176,60,240,60,240,24,96,24,96, + 24,96,9,12,24,11,1,0,193,128,227,128,99,0,54,0, + 62,0,28,0,28,0,62,0,54,0,99,0,227,128,193,128, + 10,12,24,11,0,0,192,192,225,192,97,128,51,0,51,0, + 30,0,30,0,12,0,12,0,12,0,12,0,12,0,8,12, + 12,10,1,0,255,255,7,6,12,28,56,48,96,224,255,255, + 4,15,15,6,1,253,240,240,192,192,192,192,192,192,192,192, + 192,192,192,240,240,4,12,12,5,0,0,128,128,192,64,64, + 96,32,32,48,16,16,16,4,15,15,6,0,253,240,240,48, + 48,48,48,48,48,48,48,48,48,48,240,240,8,7,7,10, + 1,5,24,24,60,102,102,195,195,9,1,2,9,0,253,255, + 128,3,3,3,6,2,10,128,192,32,8,9,9,9,1,0, + 124,254,198,14,126,230,198,254,119,8,12,12,10,1,0,192, + 192,192,220,254,231,195,195,195,231,254,220,8,9,9,9,1, + 0,60,126,231,192,192,192,231,126,60,8,12,12,10,1,0, + 3,3,3,63,127,231,195,195,195,231,127,59,8,9,9,10, + 1,0,60,126,195,255,255,192,231,126,60,4,12,12,6,1, + 0,48,112,96,240,240,96,96,96,96,96,96,96,8,13,13, + 10,1,252,59,127,231,195,195,195,231,127,59,3,231,126,60, + 8,12,12,10,1,0,192,192,192,222,255,227,195,195,195,195, + 195,195,2,12,12,4,1,0,192,192,0,192,192,192,192,192, + 192,192,192,192,3,16,16,5,1,252,96,96,0,96,96,96, + 96,96,96,96,96,96,96,96,224,192,8,12,12,9,1,0, + 192,192,192,199,206,220,248,252,236,206,198,199,2,12,12,4, + 1,0,192,192,192,192,192,192,192,192,192,192,192,192,12,9, + 18,14,1,0,222,224,255,240,231,48,198,48,198,48,198,48, + 198,48,198,48,198,48,8,9,9,10,1,0,222,255,227,195, + 195,195,195,195,195,8,9,9,10,1,0,60,126,231,195,195, + 195,231,126,60,8,13,13,10,1,252,220,254,231,195,195,195, + 231,254,220,192,192,192,192,8,13,13,10,1,252,59,127,231, + 195,195,195,231,127,59,3,3,3,3,5,9,9,6,1,0, + 216,248,224,192,192,192,192,192,192,7,9,9,9,1,0,124, + 254,198,240,124,14,198,254,124,4,11,11,6,1,0,96,96, + 240,240,96,96,96,96,96,112,48,8,9,9,10,1,0,195, + 195,195,195,195,195,199,255,123,8,9,9,9,0,0,195,195, + 102,102,102,60,60,24,24,12,9,18,13,0,0,198,48,198, + 48,102,96,102,96,111,96,63,192,57,192,25,128,25,128,7, + 9,9,9,1,0,198,198,108,124,56,124,108,198,198,8,13, + 13,9,0,252,195,195,99,102,54,54,60,28,24,24,24,112, + 96,7,9,9,8,0,0,254,254,14,28,24,56,112,254,254, + 4,15,15,6,1,253,48,112,96,96,96,96,96,192,96,96, + 96,96,96,112,48,1,16,16,4,1,252,128,128,128,128,128, + 128,128,128,128,128,128,128,128,128,128,128,4,15,15,6,1, + 253,192,224,96,96,96,96,96,48,96,96,96,96,96,224,192, + 8,3,3,10,1,3,113,153,142,255}; +/* + Fontname: -Adobe-Helvetica-Bold-R-Normal--20-140-100-100-P-105-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 14, '1' Height: 13 + Calculated Max Values w=16 h=19 x= 2 y=12 dx=18 dy= 0 ascent=18 len=38 + Font Bounding box w=22 h=29 x=-2 y=-7 + Calculated Min Values x=-1 y=-5 dx= 0 dy= 0 + Pure Font ascent =14 descent=-4 + X Font ascent =14 descent=-4 + Max Font ascent =18 descent=-5 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_helvB14[5489] U8G_FONT_SECTION("u8g_font_helvB14") = { + 0,22,29,254,249,14,3,23,6,234,32,255,252,18,251,14, + 252,0,0,0,5,0,1,3,14,14,5,1,0,224,224,224, + 224,224,224,224,224,192,192,0,224,224,224,5,5,5,7,1, + 9,216,216,216,216,144,11,13,26,11,0,0,13,128,13,128, + 13,128,127,224,127,224,27,0,27,0,27,0,255,192,255,192, + 54,0,54,0,54,0,10,16,32,10,0,254,4,0,63,0, + 127,128,229,128,228,0,228,0,124,0,63,0,15,128,9,192, + 233,192,233,192,127,128,63,0,8,0,8,0,13,13,26,16, + 1,0,120,96,252,96,204,192,204,128,253,128,123,0,2,0, + 6,240,13,248,9,152,25,152,49,248,48,240,13,14,28,14, + 1,0,30,0,63,0,115,128,97,128,115,0,62,0,28,96, + 126,96,231,224,195,192,193,192,227,224,127,112,62,56,2,5, + 5,4,1,9,192,192,192,192,128,6,18,18,7,1,252,28, + 56,48,112,96,224,224,224,224,224,224,224,224,96,112,48,56, + 28,6,18,18,7,0,252,224,112,48,56,24,28,28,28,28, + 28,28,28,28,24,56,48,112,224,7,6,6,9,1,8,16, + 214,124,56,108,68,8,8,8,11,1,1,24,24,24,255,255, + 24,24,24,3,6,6,5,1,253,224,224,224,96,192,128,5, + 3,3,6,0,4,248,248,248,3,3,3,5,1,0,224,224, + 224,5,14,14,5,0,0,24,24,24,56,48,48,48,112,96, + 96,224,192,192,192,9,13,26,10,0,0,28,0,127,0,119, + 0,227,128,227,128,227,128,227,128,227,128,227,128,227,128,119, + 0,127,0,28,0,6,13,13,10,1,0,28,60,252,252,28, + 28,28,28,28,28,28,28,28,9,13,26,10,0,0,62,0, + 127,0,227,128,227,128,3,128,7,0,31,0,62,0,120,0, + 112,0,224,0,255,128,255,128,9,13,26,10,0,0,62,0, + 127,0,231,0,227,0,7,0,30,0,31,0,7,128,3,128, + 227,128,231,128,127,0,62,0,9,13,26,10,0,0,7,0, + 15,0,31,0,63,0,55,0,119,0,103,0,231,0,255,128, + 255,128,7,0,7,0,7,0,9,13,26,10,0,0,255,0, + 255,0,224,0,224,0,254,0,255,0,231,128,3,128,3,128, + 227,128,231,128,255,0,126,0,9,13,26,10,0,0,63,0, + 127,128,113,128,224,0,238,0,255,0,243,128,225,128,225,128, + 225,128,243,128,127,0,62,0,9,13,26,10,0,0,255,128, + 255,128,3,128,7,0,14,0,14,0,28,0,28,0,56,0, + 56,0,112,0,112,0,112,0,9,13,26,10,0,0,62,0, + 127,0,227,128,227,128,227,128,127,0,62,0,119,0,227,128, + 227,128,227,128,127,0,62,0,9,13,26,10,0,0,62,0, + 127,0,231,128,195,128,195,128,195,128,231,128,127,128,59,128, + 3,128,199,0,255,0,126,0,3,10,10,6,1,0,224,224, + 224,0,0,0,0,224,224,224,3,13,13,6,1,253,224,224, + 224,0,0,0,0,224,224,224,96,192,128,9,9,18,11,1, + 0,3,128,15,128,62,0,120,0,224,0,120,0,62,0,15, + 128,3,128,9,5,10,11,1,3,255,128,255,128,0,0,255, + 128,255,128,9,9,18,11,1,0,224,0,248,0,62,0,15, + 0,3,128,15,0,62,0,248,0,224,0,8,14,14,10,1, + 0,126,255,231,231,14,30,28,56,56,56,0,56,56,56,16, + 17,34,18,1,253,7,240,31,252,60,30,112,6,99,183,231, + 243,198,99,204,99,204,195,204,198,204,198,239,252,231,184,112, + 0,60,0,31,240,7,240,12,14,28,14,1,0,15,0,15, + 0,31,128,25,128,25,128,57,192,57,192,48,192,112,224,127, + 224,127,224,224,112,224,112,224,112,11,14,28,14,2,0,254, + 0,255,128,227,192,225,192,225,192,227,128,255,128,255,192,225, + 224,224,224,224,224,225,224,255,192,255,0,12,14,28,14,1, + 0,15,128,63,224,120,224,112,112,240,112,224,0,224,0,224, + 0,224,0,240,112,112,112,120,224,63,224,15,128,12,14,28, + 14,1,0,255,0,255,192,225,224,224,224,224,112,224,112,224, + 112,224,112,224,112,224,112,224,224,225,224,255,192,255,0,10, + 14,28,13,2,0,255,192,255,192,224,0,224,0,224,0,224, + 0,255,128,255,128,224,0,224,0,224,0,224,0,255,192,255, + 192,10,14,28,12,1,0,255,192,255,192,224,0,224,0,224, + 0,224,0,255,128,255,128,224,0,224,0,224,0,224,0,224, + 0,224,0,12,14,28,15,1,0,15,128,63,224,120,224,112, + 112,240,112,224,0,224,0,227,240,227,240,240,112,112,112,120, + 240,63,240,31,176,12,14,28,14,1,0,224,112,224,112,224, + 112,224,112,224,112,224,112,255,240,255,240,224,112,224,112,224, + 112,224,112,224,112,224,112,3,14,14,5,1,0,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,9,14,28,10,0, + 0,3,128,3,128,3,128,3,128,3,128,3,128,3,128,3, + 128,3,128,227,128,227,128,247,128,127,0,62,0,13,14,28, + 14,1,0,224,240,225,224,227,192,231,128,239,0,254,0,252, + 0,254,0,239,0,231,128,227,192,225,224,224,240,224,120,9, + 14,28,11,1,0,224,0,224,0,224,0,224,0,224,0,224, + 0,224,0,224,0,224,0,224,0,224,0,224,0,255,128,255, + 128,14,14,28,16,1,0,224,28,224,28,240,60,240,60,248, + 124,248,124,248,124,236,220,236,220,236,220,231,156,231,156,227, + 28,227,28,12,14,28,14,1,0,224,112,240,112,240,112,248, + 112,252,112,236,112,238,112,230,112,231,112,227,112,225,240,225, + 240,224,240,224,112,13,14,28,15,1,0,15,128,63,224,120, + 240,112,112,240,120,224,56,224,56,224,56,224,56,240,120,112, + 112,120,240,63,224,15,128,11,14,28,13,1,0,255,0,255, + 192,225,224,224,224,224,224,224,224,225,224,255,192,255,0,224, + 0,224,0,224,0,224,0,224,0,13,15,30,15,1,255,15, + 128,63,224,120,240,112,112,240,120,224,56,224,56,224,56,224, + 56,243,120,115,240,121,240,63,224,15,240,0,48,12,14,28, + 14,1,0,255,0,255,192,225,224,224,224,224,224,225,224,255, + 192,255,128,225,192,224,224,224,224,224,224,224,224,224,240,11, + 14,28,13,1,0,63,128,127,192,241,224,224,224,240,0,126, + 0,63,128,15,192,1,224,224,224,224,224,241,224,127,192,63, + 128,11,14,28,11,0,0,255,224,255,224,14,0,14,0,14, + 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, + 0,14,0,12,14,28,14,1,0,224,112,224,112,224,112,224, + 112,224,112,224,112,224,112,224,112,224,112,224,112,224,112,112, + 224,127,224,31,128,13,14,28,13,0,0,224,56,224,56,112, + 112,112,112,48,96,56,224,56,224,29,192,29,192,13,128,15, + 128,15,128,7,0,7,0,15,14,28,17,1,0,227,142,227, + 142,227,142,227,142,115,156,115,156,115,156,118,220,54,216,54, + 216,62,248,28,112,28,112,28,112,12,14,28,12,0,0,224, + 112,224,112,112,224,121,224,25,128,31,128,15,0,31,128,25, + 128,57,192,112,224,112,224,224,112,224,112,13,14,28,13,0, + 0,224,56,224,56,112,112,56,224,56,224,29,192,29,192,15, + 128,7,0,7,0,7,0,7,0,7,0,7,0,10,14,28, + 12,1,0,255,192,255,192,1,192,3,128,7,0,7,0,14, + 0,28,0,56,0,56,0,112,0,224,0,255,192,255,192,5, + 18,18,6,1,252,248,248,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,248,248,5,14,14,5,0,0,192,192,192, + 224,96,96,96,112,48,48,56,24,24,24,5,18,18,6,0, + 252,248,248,56,56,56,56,56,56,56,56,56,56,56,56,56, + 56,248,248,10,7,14,10,0,6,12,0,30,0,30,0,51, + 0,115,128,97,128,225,192,10,2,4,10,0,252,255,192,255, + 192,5,3,3,5,0,11,224,112,56,10,10,20,11,1,0, + 62,0,127,0,99,128,7,128,63,128,123,128,227,128,231,128, + 251,128,123,192,10,14,28,12,1,0,224,0,224,0,224,0, + 224,0,239,0,255,128,243,128,225,192,225,192,225,192,225,192, + 243,128,255,128,239,0,9,10,20,11,1,0,30,0,127,128, + 115,128,224,0,224,0,224,0,224,0,115,128,127,128,30,0, + 10,14,28,12,1,0,1,192,1,192,1,192,1,192,61,192, + 127,192,115,192,225,192,225,192,225,192,225,192,115,192,127,192, + 61,192,9,10,20,11,1,0,30,0,127,0,115,128,225,128, + 255,128,255,128,224,0,115,128,127,128,30,0,7,14,14,7, + 0,0,30,62,56,56,254,254,56,56,56,56,56,56,56,56, + 10,14,28,12,1,252,61,192,127,192,115,192,225,192,225,192, + 225,192,225,192,115,192,127,192,61,192,1,192,115,128,127,128, + 30,0,9,14,28,11,1,0,224,0,224,0,224,0,224,0, + 239,0,255,128,243,128,227,128,227,128,227,128,227,128,227,128, + 227,128,227,128,3,14,14,5,1,0,224,224,224,0,224,224, + 224,224,224,224,224,224,224,224,5,18,18,5,255,252,56,56, + 56,0,56,56,56,56,56,56,56,56,56,56,56,56,248,240, + 9,14,28,10,1,0,224,0,224,0,224,0,224,0,231,0, + 238,0,252,0,248,0,248,0,252,0,238,0,231,0,231,128, + 227,128,3,14,14,5,1,0,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,15,10,20,17,1,0,239,60,255,254, + 243,206,227,142,227,142,227,142,227,142,227,142,227,142,227,142, + 9,10,20,11,1,0,239,0,255,128,243,128,227,128,227,128, + 227,128,227,128,227,128,227,128,227,128,10,10,20,12,1,0, + 30,0,127,128,115,128,225,192,225,192,225,192,225,192,115,128, + 127,128,30,0,10,14,28,12,1,252,239,0,255,128,243,128, + 225,192,225,192,225,192,225,192,243,128,255,128,239,0,224,0, + 224,0,224,0,224,0,10,14,28,12,1,252,61,192,127,192, + 115,192,225,192,225,192,225,192,225,192,115,192,127,192,61,192, + 1,192,1,192,1,192,1,192,6,10,10,7,1,0,236,252, + 252,224,224,224,224,224,224,224,9,10,20,11,1,0,63,0, + 127,128,227,128,224,0,255,0,63,128,3,128,227,128,255,0, + 126,0,6,13,13,6,0,0,112,112,112,252,252,112,112,112, + 112,112,112,124,60,9,10,20,11,1,0,227,128,227,128,227, + 128,227,128,227,128,227,128,227,128,231,128,255,128,123,128,9, + 10,20,9,0,0,227,128,227,128,227,128,119,0,119,0,119, + 0,62,0,62,0,28,0,28,0,15,10,20,15,0,0,227, + 142,227,142,227,142,115,156,119,220,118,220,62,248,60,120,28, + 112,28,112,9,10,20,11,1,0,227,128,227,128,119,0,62, + 0,28,0,62,0,119,0,119,0,227,128,227,128,9,14,28, + 11,1,252,227,128,227,128,227,128,119,0,119,0,119,0,62, + 0,62,0,28,0,28,0,28,0,24,0,120,0,112,0,8, + 10,10,10,1,0,255,255,7,14,28,56,112,224,255,255,7, + 18,18,8,1,252,14,28,56,56,56,56,56,112,224,112,56, + 56,56,56,56,56,28,14,2,18,18,5,1,252,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,7, + 18,18,8,0,252,224,112,56,56,56,56,56,28,14,28,56, + 56,56,56,56,56,112,224,9,3,6,11,1,4,121,128,255, + 128,207,0,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,255,255,255, + 255,255,255,255,0,0,0,5,0,1,3,14,14,6,2,252, + 224,224,224,0,96,96,224,224,224,224,224,224,224,224,8,14, + 14,10,1,254,2,2,62,127,231,200,200,208,208,227,127,126, + 64,64,10,13,26,11,0,0,31,0,63,192,113,192,112,0, + 112,0,56,0,127,0,28,0,28,0,56,0,112,192,255,192, + 239,128,9,8,16,11,1,2,193,128,255,128,119,0,99,0, + 99,0,119,0,255,128,193,128,9,13,26,10,0,0,227,128, + 227,128,227,128,119,0,119,0,62,0,255,128,28,0,255,128, + 28,0,28,0,28,0,28,0,2,18,18,5,1,252,192,192, + 192,192,192,192,192,192,0,0,192,192,192,192,192,192,192,192, + 9,18,36,10,0,252,62,0,127,0,227,128,227,128,240,0, + 124,0,254,0,199,0,195,128,225,128,113,128,63,128,15,0, + 7,128,227,128,227,128,127,0,62,0,5,2,2,7,1,12, + 216,216,14,14,28,15,1,0,15,192,56,112,96,24,199,140, + 207,204,152,196,152,4,152,4,152,68,207,204,199,140,96,24, + 56,112,15,192,6,9,9,8,1,5,120,140,124,204,204,116, + 0,252,252,10,8,16,11,0,1,29,192,59,128,119,0,238, + 0,238,0,119,0,59,128,29,192,9,5,10,11,1,3,255, + 128,255,128,1,128,1,128,1,128,5,3,3,6,0,4,248, + 248,248,13,14,28,15,1,0,15,128,48,96,96,16,95,144, + 153,200,152,200,153,200,159,8,153,136,153,136,88,208,96,48, + 56,224,15,128,5,2,2,7,1,12,248,248,6,6,6,7, + 0,7,120,252,204,204,252,120,9,9,18,11,1,0,28,0, + 28,0,255,128,255,128,28,0,28,0,0,0,255,128,255,128, + 6,8,8,6,0,5,120,252,204,28,120,224,252,252,6,8, + 8,6,0,5,120,252,204,56,60,204,252,120,5,3,3,5, + 0,11,56,112,224,9,14,28,11,1,252,227,128,227,128,227, + 128,227,128,227,128,227,128,227,128,231,128,255,128,251,128,224, + 0,224,0,224,0,224,0,9,18,36,10,0,252,63,128,123, + 0,251,0,251,0,251,0,251,0,251,0,123,0,59,0,27, + 0,27,0,27,0,27,0,27,0,27,0,27,0,27,0,27, + 0,2,2,2,5,1,6,192,192,5,5,5,7,1,251,96, + 112,24,248,240,4,8,8,6,0,5,48,240,240,48,48,48, + 48,48,6,9,9,8,1,5,120,204,204,204,204,120,0,252, + 252,10,8,16,11,0,1,238,0,119,0,59,128,29,192,29, + 192,59,128,119,0,238,0,14,13,26,15,0,0,48,96,240, + 96,240,192,48,192,49,128,49,152,51,56,54,56,6,120,12, + 216,12,252,24,24,24,24,15,13,26,15,0,0,48,96,240, + 96,240,192,48,192,49,128,49,188,51,126,54,102,6,14,12, + 60,12,112,24,126,24,126,14,13,26,15,0,0,120,48,252, + 48,204,96,56,96,60,192,204,216,253,184,123,56,3,120,6, + 216,6,252,12,24,12,24,8,14,14,10,1,252,28,28,28, + 0,28,28,28,56,120,112,231,231,255,126,12,18,36,14,1, + 0,56,0,28,0,6,0,0,0,15,0,15,0,31,128,25, + 128,25,128,57,192,57,192,48,192,112,224,127,224,127,224,224, + 112,224,112,224,112,12,18,36,14,1,0,1,192,3,128,6, + 0,0,0,15,0,15,0,31,128,25,128,25,128,57,192,57, + 192,48,192,112,224,127,224,127,224,224,112,224,112,224,112,12, + 18,36,14,1,0,7,0,15,128,29,192,0,0,15,0,15, + 0,31,128,25,128,25,128,57,192,57,192,48,192,112,224,127, + 224,127,224,224,112,224,112,224,112,12,18,36,14,1,0,14, + 32,31,192,35,128,0,0,15,0,15,0,31,128,25,128,25, + 128,57,192,57,192,48,192,112,224,127,224,127,224,224,112,224, + 112,224,112,12,18,36,14,1,0,25,128,25,128,25,128,0, + 0,15,0,15,0,31,128,25,128,25,128,57,192,57,192,48, + 192,112,224,127,224,127,224,224,112,224,112,224,112,12,18,36, + 14,1,0,15,0,25,128,25,128,15,0,15,0,15,0,31, + 128,25,128,25,128,57,192,57,192,48,192,112,224,127,224,127, + 224,224,112,224,112,224,112,16,14,28,18,1,0,15,255,15, + 255,31,128,27,128,59,128,59,128,51,254,115,254,115,128,127, + 128,255,128,227,128,227,255,227,255,12,19,38,14,1,251,15, + 128,63,224,120,224,112,112,240,112,224,0,224,0,224,0,224, + 0,240,112,112,112,120,224,63,224,15,128,12,0,14,0,3, + 0,31,0,30,0,10,18,36,13,2,0,56,0,28,0,6, + 0,0,0,255,192,255,192,224,0,224,0,224,0,224,0,255, + 128,255,128,224,0,224,0,224,0,224,0,255,192,255,192,10, + 18,36,13,2,0,3,128,7,0,12,0,0,0,255,192,255, + 192,224,0,224,0,224,0,224,0,255,128,255,128,224,0,224, + 0,224,0,224,0,255,192,255,192,10,18,36,13,2,0,14, + 0,31,0,59,128,0,0,255,192,255,192,224,0,224,0,224, + 0,224,0,255,128,255,128,224,0,224,0,224,0,224,0,255, + 192,255,192,10,18,36,13,2,0,51,0,51,0,51,0,0, + 0,255,192,255,192,224,0,224,0,224,0,224,0,255,128,255, + 128,224,0,224,0,224,0,224,0,255,192,255,192,5,18,18, + 5,255,0,224,112,24,0,56,56,56,56,56,56,56,56,56, + 56,56,56,56,56,5,18,18,5,1,0,56,112,192,0,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,7,18,18, + 5,255,0,56,124,238,0,56,56,56,56,56,56,56,56,56, + 56,56,56,56,56,6,18,18,5,0,0,204,204,204,0,112, + 112,112,112,112,112,112,112,112,112,112,112,112,112,14,14,28, + 14,255,0,63,192,63,240,56,120,56,56,56,28,56,28,255, + 28,255,28,56,28,56,28,56,56,56,120,63,240,63,192,12, + 18,36,14,1,0,14,32,31,192,35,128,0,0,224,112,240, + 112,240,112,248,112,252,112,236,112,238,112,230,112,231,112,227, + 112,225,240,225,240,224,240,224,112,13,18,36,15,1,0,28, + 0,14,0,3,0,0,0,15,128,63,224,120,240,112,112,240, + 120,224,56,224,56,224,56,224,56,240,120,112,112,120,240,63, + 224,15,128,13,18,36,15,1,0,1,192,3,128,6,0,0, + 0,15,128,63,224,120,240,112,112,240,120,224,56,224,56,224, + 56,224,56,240,120,112,112,120,240,63,224,15,128,13,18,36, + 15,1,0,7,0,15,128,29,192,0,0,15,128,63,224,120, + 240,112,112,240,120,224,56,224,56,224,56,224,56,240,120,112, + 112,120,240,63,224,15,128,13,18,36,15,1,0,7,16,15, + 224,17,192,0,0,15,128,63,224,120,240,112,112,240,120,224, + 56,224,56,224,56,224,56,240,120,112,112,120,240,63,224,15, + 128,13,18,36,15,1,0,12,192,12,192,12,192,0,0,15, + 128,63,224,120,240,112,112,240,120,224,56,224,56,224,56,224, + 56,240,120,112,112,120,240,63,224,15,128,10,8,16,11,0, + 1,225,192,115,128,63,0,30,0,30,0,63,0,115,128,225, + 192,15,14,28,15,0,0,7,198,31,252,60,56,56,120,120, + 220,113,156,113,28,115,28,118,28,124,60,56,56,60,120,127, + 240,199,192,12,18,36,14,1,0,28,0,14,0,3,0,0, + 0,224,112,224,112,224,112,224,112,224,112,224,112,224,112,224, + 112,224,112,224,112,224,112,112,224,127,224,31,128,12,18,36, + 14,1,0,1,192,3,128,6,0,0,0,224,112,224,112,224, + 112,224,112,224,112,224,112,224,112,224,112,224,112,224,112,224, + 112,112,224,127,224,31,128,12,18,36,14,1,0,7,0,15, + 128,29,192,0,0,224,112,224,112,224,112,224,112,224,112,224, + 112,224,112,224,112,224,112,224,112,224,112,112,224,127,224,31, + 128,12,18,36,14,1,0,25,128,25,128,25,128,0,0,224, + 112,224,112,224,112,224,112,224,112,224,112,224,112,224,112,224, + 112,224,112,224,112,112,224,127,224,31,128,13,18,36,13,0, + 0,1,192,3,128,6,0,0,0,224,56,224,56,112,112,56, + 224,56,224,29,192,29,192,15,128,7,0,7,0,7,0,7, + 0,7,0,7,0,11,14,28,13,1,0,224,0,224,0,224, + 0,255,0,255,192,225,224,224,224,224,224,225,224,255,192,255, + 0,224,0,224,0,224,0,8,14,14,10,1,0,60,126,231, + 231,231,231,238,238,231,231,231,231,239,238,10,14,28,11,1, + 0,112,0,56,0,12,0,0,0,62,0,127,0,115,128,7, + 128,63,128,123,128,227,128,231,128,251,128,123,192,10,14,28, + 11,1,0,3,128,7,0,12,0,0,0,62,0,127,0,115, + 128,7,128,63,128,123,128,227,128,231,128,251,128,123,192,10, + 14,28,11,1,0,28,0,62,0,119,0,0,0,62,0,127, + 0,115,128,7,128,63,128,123,128,227,128,231,128,251,128,123, + 192,10,14,28,11,1,0,59,0,127,0,110,0,0,0,62, + 0,127,0,115,128,7,128,63,128,123,128,227,128,231,128,251, + 128,123,192,10,14,28,11,1,0,51,0,51,0,51,0,0, + 0,62,0,127,0,115,128,7,128,63,128,123,128,227,128,231, + 128,251,128,123,192,10,14,28,11,1,0,60,0,102,0,102, + 0,60,0,62,0,127,0,115,128,7,128,63,128,123,128,227, + 128,231,128,251,128,123,192,14,10,20,16,1,0,61,240,127, + 248,103,28,15,28,63,252,119,0,231,0,239,156,255,252,121, + 240,9,15,30,10,1,251,30,0,127,128,115,128,224,0,224, + 0,224,0,224,0,115,128,127,128,30,0,24,0,28,0,6, + 0,62,0,60,0,9,14,28,11,1,0,112,0,56,0,12, + 0,0,0,30,0,127,0,115,128,225,128,255,128,255,128,224, + 0,115,128,127,128,30,0,9,14,28,11,1,0,3,128,7, + 0,12,0,0,0,30,0,127,0,115,128,225,128,255,128,255, + 128,224,0,115,128,127,128,30,0,9,14,28,11,1,0,28, + 0,62,0,119,0,0,0,30,0,127,0,115,128,225,128,255, + 128,255,128,224,0,115,128,127,128,30,0,9,14,28,11,1, + 0,51,0,51,0,51,0,0,0,30,0,127,0,115,128,225, + 128,255,128,255,128,224,0,115,128,127,128,30,0,5,14,14, + 5,255,0,224,112,24,0,56,56,56,56,56,56,56,56,56, + 56,5,14,14,5,1,0,56,112,192,0,224,224,224,224,224, + 224,224,224,224,224,7,14,14,5,255,0,56,124,238,0,56, + 56,56,56,56,56,56,56,56,56,5,14,14,5,0,0,216, + 216,216,0,112,112,112,112,112,112,112,112,112,112,10,14,28, + 12,1,0,96,0,55,0,60,0,102,0,31,0,127,128,115, + 128,225,192,225,192,225,192,225,192,115,128,127,128,30,0,9, + 14,28,11,1,0,59,0,127,0,110,0,0,0,239,0,255, + 128,243,128,227,128,227,128,227,128,227,128,227,128,227,128,227, + 128,10,14,28,12,1,0,112,0,56,0,12,0,0,0,30, + 0,127,128,115,128,225,192,225,192,225,192,225,192,115,128,127, + 128,30,0,10,14,28,12,1,0,3,128,7,0,12,0,0, + 0,30,0,127,128,115,128,225,192,225,192,225,192,225,192,115, + 128,127,128,30,0,10,14,28,12,1,0,28,0,62,0,119, + 0,0,0,30,0,127,128,115,128,225,192,225,192,225,192,225, + 192,115,128,127,128,30,0,10,14,28,12,1,0,59,0,127, + 0,110,0,0,0,30,0,127,128,115,128,225,192,225,192,225, + 192,225,192,115,128,127,128,30,0,10,14,28,12,1,0,51, + 0,51,0,51,0,0,0,30,0,127,128,115,128,225,192,225, + 192,225,192,225,192,115,128,127,128,30,0,9,8,16,11,1, + 1,28,0,28,0,0,0,255,128,255,128,0,0,28,0,28, + 0,12,10,20,12,0,0,15,48,63,224,57,192,115,224,119, + 224,126,224,124,224,57,192,127,192,207,0,9,14,28,11,1, + 0,112,0,56,0,12,0,0,0,227,128,227,128,227,128,227, + 128,227,128,227,128,227,128,231,128,255,128,123,128,9,14,28, + 11,1,0,3,128,7,0,12,0,0,0,227,128,227,128,227, + 128,227,128,227,128,227,128,227,128,231,128,255,128,123,128,9, + 14,28,11,1,0,28,0,62,0,119,0,0,0,227,128,227, + 128,227,128,227,128,227,128,227,128,227,128,231,128,255,128,123, + 128,9,14,28,11,1,0,51,0,51,0,51,0,0,0,227, + 128,227,128,227,128,227,128,227,128,227,128,227,128,231,128,255, + 128,123,128,9,18,36,11,1,252,7,0,14,0,24,0,0, + 0,227,128,227,128,227,128,119,0,119,0,119,0,62,0,62, + 0,28,0,28,0,28,0,24,0,120,0,112,0,10,18,36, + 12,1,252,224,0,224,0,224,0,224,0,239,0,255,128,243, + 128,225,192,225,192,225,192,225,192,243,128,255,128,239,0,224, + 0,224,0,224,0,224,0,9,18,36,11,1,252,51,0,51, + 0,51,0,0,0,227,128,227,128,227,128,119,0,119,0,119, + 0,62,0,62,0,28,0,28,0,28,0,24,0,120,0,112, + 0}; +/* + Fontname: -Adobe-Helvetica-Bold-R-Normal--20-140-100-100-P-105-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 0, '1' Height: 13 + Calculated Max Values w= 9 h=14 x= 1 y= 8 dx=11 dy= 0 ascent=14 len=26 + Font Bounding box w=22 h=29 x=-2 y=-7 + Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 + Pure Font ascent =13 descent= 0 + X Font ascent =13 descent= 0 + Max Font ascent =14 descent=-3 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_helvB14n[416] U8G_FONT_SECTION("u8g_font_helvB14n") = { + 0,22,29,254,249,13,0,0,0,0,42,58,0,14,253,13, + 0,7,6,6,9,1,8,16,214,124,56,108,68,8,8,8, + 11,1,1,24,24,24,255,255,24,24,24,3,6,6,5,1, + 253,224,224,224,96,192,128,5,3,3,6,0,4,248,248,248, + 3,3,3,5,1,0,224,224,224,5,14,14,5,0,0,24, + 24,24,56,48,48,48,112,96,96,224,192,192,192,9,13,26, + 10,0,0,28,0,127,0,119,0,227,128,227,128,227,128,227, + 128,227,128,227,128,227,128,119,0,127,0,28,0,6,13,13, + 10,1,0,28,60,252,252,28,28,28,28,28,28,28,28,28, + 9,13,26,10,0,0,62,0,127,0,227,128,227,128,3,128, + 7,0,31,0,62,0,120,0,112,0,224,0,255,128,255,128, + 9,13,26,10,0,0,62,0,127,0,231,0,227,0,7,0, + 30,0,31,0,7,128,3,128,227,128,231,128,127,0,62,0, + 9,13,26,10,0,0,7,0,15,0,31,0,63,0,55,0, + 119,0,103,0,231,0,255,128,255,128,7,0,7,0,7,0, + 9,13,26,10,0,0,255,0,255,0,224,0,224,0,254,0, + 255,0,231,128,3,128,3,128,227,128,231,128,255,0,126,0, + 9,13,26,10,0,0,63,0,127,128,113,128,224,0,238,0, + 255,0,243,128,225,128,225,128,225,128,243,128,127,0,62,0, + 9,13,26,10,0,0,255,128,255,128,3,128,7,0,14,0, + 14,0,28,0,28,0,56,0,56,0,112,0,112,0,112,0, + 9,13,26,10,0,0,62,0,127,0,227,128,227,128,227,128, + 127,0,62,0,119,0,227,128,227,128,227,128,127,0,62,0, + 9,13,26,10,0,0,62,0,127,0,231,128,195,128,195,128, + 195,128,231,128,127,128,59,128,3,128,199,0,255,0,126,0, + 3,10,10,6,1,0,224,224,224,0,0,0,0,224,224,224 + }; +/* + Fontname: -Adobe-Helvetica-Bold-R-Normal--20-140-100-100-P-105-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 14, '1' Height: 13 + Calculated Max Values w=16 h=18 x= 2 y=11 dx=18 dy= 0 ascent=14 len=34 + Font Bounding box w=22 h=29 x=-2 y=-7 + Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 + Pure Font ascent =14 descent=-4 + X Font ascent =14 descent=-4 + Max Font ascent =14 descent=-4 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_helvB14r[2548] U8G_FONT_SECTION("u8g_font_helvB14r") = { + 0,22,29,254,249,14,3,23,6,234,32,127,252,14,252,14, + 252,0,0,0,5,0,1,3,14,14,5,1,0,224,224,224, + 224,224,224,224,224,192,192,0,224,224,224,5,5,5,7,1, + 9,216,216,216,216,144,11,13,26,11,0,0,13,128,13,128, + 13,128,127,224,127,224,27,0,27,0,27,0,255,192,255,192, + 54,0,54,0,54,0,10,16,32,10,0,254,4,0,63,0, + 127,128,229,128,228,0,228,0,124,0,63,0,15,128,9,192, + 233,192,233,192,127,128,63,0,8,0,8,0,13,13,26,16, + 1,0,120,96,252,96,204,192,204,128,253,128,123,0,2,0, + 6,240,13,248,9,152,25,152,49,248,48,240,13,14,28,14, + 1,0,30,0,63,0,115,128,97,128,115,0,62,0,28,96, + 126,96,231,224,195,192,193,192,227,224,127,112,62,56,2,5, + 5,4,1,9,192,192,192,192,128,6,18,18,7,1,252,28, + 56,48,112,96,224,224,224,224,224,224,224,224,96,112,48,56, + 28,6,18,18,7,0,252,224,112,48,56,24,28,28,28,28, + 28,28,28,28,24,56,48,112,224,7,6,6,9,1,8,16, + 214,124,56,108,68,8,8,8,11,1,1,24,24,24,255,255, + 24,24,24,3,6,6,5,1,253,224,224,224,96,192,128,5, + 3,3,6,0,4,248,248,248,3,3,3,5,1,0,224,224, + 224,5,14,14,5,0,0,24,24,24,56,48,48,48,112,96, + 96,224,192,192,192,9,13,26,10,0,0,28,0,127,0,119, + 0,227,128,227,128,227,128,227,128,227,128,227,128,227,128,119, + 0,127,0,28,0,6,13,13,10,1,0,28,60,252,252,28, + 28,28,28,28,28,28,28,28,9,13,26,10,0,0,62,0, + 127,0,227,128,227,128,3,128,7,0,31,0,62,0,120,0, + 112,0,224,0,255,128,255,128,9,13,26,10,0,0,62,0, + 127,0,231,0,227,0,7,0,30,0,31,0,7,128,3,128, + 227,128,231,128,127,0,62,0,9,13,26,10,0,0,7,0, + 15,0,31,0,63,0,55,0,119,0,103,0,231,0,255,128, + 255,128,7,0,7,0,7,0,9,13,26,10,0,0,255,0, + 255,0,224,0,224,0,254,0,255,0,231,128,3,128,3,128, + 227,128,231,128,255,0,126,0,9,13,26,10,0,0,63,0, + 127,128,113,128,224,0,238,0,255,0,243,128,225,128,225,128, + 225,128,243,128,127,0,62,0,9,13,26,10,0,0,255,128, + 255,128,3,128,7,0,14,0,14,0,28,0,28,0,56,0, + 56,0,112,0,112,0,112,0,9,13,26,10,0,0,62,0, + 127,0,227,128,227,128,227,128,127,0,62,0,119,0,227,128, + 227,128,227,128,127,0,62,0,9,13,26,10,0,0,62,0, + 127,0,231,128,195,128,195,128,195,128,231,128,127,128,59,128, + 3,128,199,0,255,0,126,0,3,10,10,6,1,0,224,224, + 224,0,0,0,0,224,224,224,3,13,13,6,1,253,224,224, + 224,0,0,0,0,224,224,224,96,192,128,9,9,18,11,1, + 0,3,128,15,128,62,0,120,0,224,0,120,0,62,0,15, + 128,3,128,9,5,10,11,1,3,255,128,255,128,0,0,255, + 128,255,128,9,9,18,11,1,0,224,0,248,0,62,0,15, + 0,3,128,15,0,62,0,248,0,224,0,8,14,14,10,1, + 0,126,255,231,231,14,30,28,56,56,56,0,56,56,56,16, + 17,34,18,1,253,7,240,31,252,60,30,112,6,99,183,231, + 243,198,99,204,99,204,195,204,198,204,198,239,252,231,184,112, + 0,60,0,31,240,7,240,12,14,28,14,1,0,15,0,15, + 0,31,128,25,128,25,128,57,192,57,192,48,192,112,224,127, + 224,127,224,224,112,224,112,224,112,11,14,28,14,2,0,254, + 0,255,128,227,192,225,192,225,192,227,128,255,128,255,192,225, + 224,224,224,224,224,225,224,255,192,255,0,12,14,28,14,1, + 0,15,128,63,224,120,224,112,112,240,112,224,0,224,0,224, + 0,224,0,240,112,112,112,120,224,63,224,15,128,12,14,28, + 14,1,0,255,0,255,192,225,224,224,224,224,112,224,112,224, + 112,224,112,224,112,224,112,224,224,225,224,255,192,255,0,10, + 14,28,13,2,0,255,192,255,192,224,0,224,0,224,0,224, + 0,255,128,255,128,224,0,224,0,224,0,224,0,255,192,255, + 192,10,14,28,12,1,0,255,192,255,192,224,0,224,0,224, + 0,224,0,255,128,255,128,224,0,224,0,224,0,224,0,224, + 0,224,0,12,14,28,15,1,0,15,128,63,224,120,224,112, + 112,240,112,224,0,224,0,227,240,227,240,240,112,112,112,120, + 240,63,240,31,176,12,14,28,14,1,0,224,112,224,112,224, + 112,224,112,224,112,224,112,255,240,255,240,224,112,224,112,224, + 112,224,112,224,112,224,112,3,14,14,5,1,0,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,9,14,28,10,0, + 0,3,128,3,128,3,128,3,128,3,128,3,128,3,128,3, + 128,3,128,227,128,227,128,247,128,127,0,62,0,13,14,28, + 14,1,0,224,240,225,224,227,192,231,128,239,0,254,0,252, + 0,254,0,239,0,231,128,227,192,225,224,224,240,224,120,9, + 14,28,11,1,0,224,0,224,0,224,0,224,0,224,0,224, + 0,224,0,224,0,224,0,224,0,224,0,224,0,255,128,255, + 128,14,14,28,16,1,0,224,28,224,28,240,60,240,60,248, + 124,248,124,248,124,236,220,236,220,236,220,231,156,231,156,227, + 28,227,28,12,14,28,14,1,0,224,112,240,112,240,112,248, + 112,252,112,236,112,238,112,230,112,231,112,227,112,225,240,225, + 240,224,240,224,112,13,14,28,15,1,0,15,128,63,224,120, + 240,112,112,240,120,224,56,224,56,224,56,224,56,240,120,112, + 112,120,240,63,224,15,128,11,14,28,13,1,0,255,0,255, + 192,225,224,224,224,224,224,224,224,225,224,255,192,255,0,224, + 0,224,0,224,0,224,0,224,0,13,15,30,15,1,255,15, + 128,63,224,120,240,112,112,240,120,224,56,224,56,224,56,224, + 56,243,120,115,240,121,240,63,224,15,240,0,48,12,14,28, + 14,1,0,255,0,255,192,225,224,224,224,224,224,225,224,255, + 192,255,128,225,192,224,224,224,224,224,224,224,224,224,240,11, + 14,28,13,1,0,63,128,127,192,241,224,224,224,240,0,126, + 0,63,128,15,192,1,224,224,224,224,224,241,224,127,192,63, + 128,11,14,28,11,0,0,255,224,255,224,14,0,14,0,14, + 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, + 0,14,0,12,14,28,14,1,0,224,112,224,112,224,112,224, + 112,224,112,224,112,224,112,224,112,224,112,224,112,224,112,112, + 224,127,224,31,128,13,14,28,13,0,0,224,56,224,56,112, + 112,112,112,48,96,56,224,56,224,29,192,29,192,13,128,15, + 128,15,128,7,0,7,0,15,14,28,17,1,0,227,142,227, + 142,227,142,227,142,115,156,115,156,115,156,118,220,54,216,54, + 216,62,248,28,112,28,112,28,112,12,14,28,12,0,0,224, + 112,224,112,112,224,121,224,25,128,31,128,15,0,31,128,25, + 128,57,192,112,224,112,224,224,112,224,112,13,14,28,13,0, + 0,224,56,224,56,112,112,56,224,56,224,29,192,29,192,15, + 128,7,0,7,0,7,0,7,0,7,0,7,0,10,14,28, + 12,1,0,255,192,255,192,1,192,3,128,7,0,7,0,14, + 0,28,0,56,0,56,0,112,0,224,0,255,192,255,192,5, + 18,18,6,1,252,248,248,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,248,248,5,14,14,5,0,0,192,192,192, + 224,96,96,96,112,48,48,56,24,24,24,5,18,18,6,0, + 252,248,248,56,56,56,56,56,56,56,56,56,56,56,56,56, + 56,248,248,10,7,14,10,0,6,12,0,30,0,30,0,51, + 0,115,128,97,128,225,192,10,2,4,10,0,252,255,192,255, + 192,5,3,3,5,0,11,224,112,56,10,10,20,11,1,0, + 62,0,127,0,99,128,7,128,63,128,123,128,227,128,231,128, + 251,128,123,192,10,14,28,12,1,0,224,0,224,0,224,0, + 224,0,239,0,255,128,243,128,225,192,225,192,225,192,225,192, + 243,128,255,128,239,0,9,10,20,11,1,0,30,0,127,128, + 115,128,224,0,224,0,224,0,224,0,115,128,127,128,30,0, + 10,14,28,12,1,0,1,192,1,192,1,192,1,192,61,192, + 127,192,115,192,225,192,225,192,225,192,225,192,115,192,127,192, + 61,192,9,10,20,11,1,0,30,0,127,0,115,128,225,128, + 255,128,255,128,224,0,115,128,127,128,30,0,7,14,14,7, + 0,0,30,62,56,56,254,254,56,56,56,56,56,56,56,56, + 10,14,28,12,1,252,61,192,127,192,115,192,225,192,225,192, + 225,192,225,192,115,192,127,192,61,192,1,192,115,128,127,128, + 30,0,9,14,28,11,1,0,224,0,224,0,224,0,224,0, + 239,0,255,128,243,128,227,128,227,128,227,128,227,128,227,128, + 227,128,227,128,3,14,14,5,1,0,224,224,224,0,224,224, + 224,224,224,224,224,224,224,224,5,18,18,5,255,252,56,56, + 56,0,56,56,56,56,56,56,56,56,56,56,56,56,248,240, + 9,14,28,10,1,0,224,0,224,0,224,0,224,0,231,0, + 238,0,252,0,248,0,248,0,252,0,238,0,231,0,231,128, + 227,128,3,14,14,5,1,0,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,15,10,20,17,1,0,239,60,255,254, + 243,206,227,142,227,142,227,142,227,142,227,142,227,142,227,142, + 9,10,20,11,1,0,239,0,255,128,243,128,227,128,227,128, + 227,128,227,128,227,128,227,128,227,128,10,10,20,12,1,0, + 30,0,127,128,115,128,225,192,225,192,225,192,225,192,115,128, + 127,128,30,0,10,14,28,12,1,252,239,0,255,128,243,128, + 225,192,225,192,225,192,225,192,243,128,255,128,239,0,224,0, + 224,0,224,0,224,0,10,14,28,12,1,252,61,192,127,192, + 115,192,225,192,225,192,225,192,225,192,115,192,127,192,61,192, + 1,192,1,192,1,192,1,192,6,10,10,7,1,0,236,252, + 252,224,224,224,224,224,224,224,9,10,20,11,1,0,63,0, + 127,128,227,128,224,0,255,0,63,128,3,128,227,128,255,0, + 126,0,6,13,13,6,0,0,112,112,112,252,252,112,112,112, + 112,112,112,124,60,9,10,20,11,1,0,227,128,227,128,227, + 128,227,128,227,128,227,128,227,128,231,128,255,128,123,128,9, + 10,20,9,0,0,227,128,227,128,227,128,119,0,119,0,119, + 0,62,0,62,0,28,0,28,0,15,10,20,15,0,0,227, + 142,227,142,227,142,115,156,119,220,118,220,62,248,60,120,28, + 112,28,112,9,10,20,11,1,0,227,128,227,128,119,0,62, + 0,28,0,62,0,119,0,119,0,227,128,227,128,9,14,28, + 11,1,252,227,128,227,128,227,128,119,0,119,0,119,0,62, + 0,62,0,28,0,28,0,28,0,24,0,120,0,112,0,8, + 10,10,10,1,0,255,255,7,14,28,56,112,224,255,255,7, + 18,18,8,1,252,14,28,56,56,56,56,56,112,224,112,56, + 56,56,56,56,56,28,14,2,18,18,5,1,252,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,7, + 18,18,8,0,252,224,112,56,56,56,56,56,28,14,28,56, + 56,56,56,56,56,112,224,9,3,6,11,1,4,121,128,255, + 128,207,0,255}; +/* + Fontname: -Adobe-Helvetica-Bold-R-Normal--25-180-100-100-P-138-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 19, '1' Height: 18 + Calculated Max Values w=22 h=24 x= 3 y=17 dx=24 dy= 0 ascent=24 len=72 + Font Bounding box w=28 h=37 x=-2 y=-8 + Calculated Min Values x=-1 y=-5 dx= 0 dy= 0 + Pure Font ascent =19 descent=-5 + X Font ascent =19 descent=-5 + Max Font ascent =24 descent=-5 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_helvB18[7527] U8G_FONT_SECTION("u8g_font_helvB18") = { + 0,28,37,254,248,19,4,35,9,107,32,255,251,24,251,19, + 251,0,0,0,6,0,1,3,19,19,7,2,0,224,224,224, + 224,224,224,224,224,224,224,224,192,192,192,0,0,224,224,224, + 5,6,6,9,2,13,216,216,216,216,216,144,12,18,36,14, + 1,0,12,192,12,192,12,192,12,192,12,192,127,240,127,240, + 25,128,25,128,25,128,25,128,255,224,255,224,51,0,51,0, + 51,0,51,0,51,0,12,21,42,13,0,254,6,0,63,128, + 127,224,246,224,230,112,230,112,246,0,126,0,62,0,15,0, + 7,192,7,224,6,240,230,112,230,112,230,112,246,240,127,224, + 31,192,6,0,6,0,21,18,54,22,0,0,0,7,0,62, + 7,0,127,14,0,227,142,0,193,156,0,193,156,0,227,184, + 0,127,56,0,62,112,0,0,112,0,0,227,224,0,231,240, + 1,206,56,1,204,24,3,140,24,3,142,56,7,7,240,7, + 3,224,16,18,36,18,1,0,15,128,31,192,61,224,56,224, + 56,224,56,224,29,192,15,128,31,0,63,156,123,220,113,252, + 224,248,224,112,224,248,241,252,127,206,31,135,2,6,6,6, + 2,13,192,192,192,192,192,128,6,24,24,8,1,251,12,28, + 56,56,112,112,96,224,224,224,224,224,224,224,224,224,224,96, + 112,112,56,56,28,12,6,24,24,8,1,251,192,224,112,112, + 56,56,24,28,28,28,28,28,28,28,28,28,28,24,56,56, + 112,112,224,192,8,7,7,10,1,12,24,24,219,255,60,102, + 102,12,12,24,15,1,1,6,0,6,0,6,0,6,0,6, + 0,255,240,255,240,6,0,6,0,6,0,6,0,6,0,3, + 6,6,7,2,253,224,224,224,96,96,192,7,3,3,8,0, + 6,254,254,254,3,3,3,7,2,0,224,224,224,7,19,19, + 8,1,0,6,6,6,12,12,12,24,24,24,24,48,48,48, + 96,96,96,192,192,192,12,18,36,13,0,0,31,128,63,192, + 121,224,112,224,112,224,224,112,224,112,224,112,224,112,224,112, + 224,112,224,112,224,112,112,224,112,224,121,224,63,192,31,128, + 7,18,18,13,2,0,14,14,30,254,254,14,14,14,14,14, + 14,14,14,14,14,14,14,14,12,18,36,13,0,0,31,0, + 127,192,113,224,224,224,224,112,224,112,0,112,0,224,1,224, + 3,192,7,128,31,0,60,0,120,0,240,0,224,0,255,240, + 255,240,12,18,36,13,0,0,31,0,127,192,113,192,224,224, + 224,224,224,224,0,224,1,192,15,128,15,224,0,224,0,112, + 0,112,224,112,224,240,113,224,127,224,31,128,12,18,36,13, + 0,0,1,192,3,192,3,192,7,192,7,192,13,192,29,192, + 25,192,49,192,113,192,97,192,225,192,255,240,255,240,1,192, + 1,192,1,192,1,192,12,18,36,13,0,0,127,224,127,224, + 112,0,112,0,112,0,112,0,127,128,127,192,113,224,0,224, + 0,112,0,112,0,112,224,112,224,240,241,224,127,192,31,128, + 12,18,36,13,0,0,15,128,63,224,120,224,112,112,224,112, + 224,0,224,0,239,0,255,192,249,224,240,224,224,112,224,112, + 224,112,112,224,121,224,63,192,31,128,12,18,36,13,0,0, + 255,240,255,240,0,240,0,224,1,192,1,192,3,128,3,128, + 7,0,7,0,14,0,14,0,30,0,28,0,28,0,60,0, + 56,0,56,0,12,18,36,13,0,0,15,0,63,192,57,192, + 112,224,112,224,112,224,112,224,57,192,31,128,63,192,112,224, + 224,112,224,112,224,112,224,112,112,224,127,224,31,128,12,18, + 36,13,0,0,31,128,127,192,121,224,240,224,224,112,224,112, + 224,112,224,112,240,240,121,240,127,240,31,112,0,112,0,112, + 224,224,243,224,127,192,31,0,3,14,14,7,2,0,224,224, + 224,0,0,0,0,0,0,0,0,224,224,224,3,17,17,7, + 2,253,224,224,224,0,0,0,0,0,0,0,0,224,224,224, + 96,96,192,13,12,24,15,0,1,0,56,0,248,3,224,15, + 128,62,0,240,0,240,0,62,0,15,128,3,224,0,248,0, + 56,10,5,10,14,2,5,255,192,255,192,0,0,255,192,255, + 192,13,12,24,14,1,1,224,0,248,0,62,0,15,128,3, + 224,0,120,0,120,3,224,15,128,62,0,248,0,224,0,11, + 19,38,15,2,0,31,128,127,192,121,224,240,224,224,224,225, + 224,1,192,3,192,7,128,7,0,14,0,14,0,14,0,14, + 0,0,0,0,0,14,0,14,0,14,0,22,22,66,24,1, + 252,1,255,0,7,255,192,15,129,240,30,0,120,60,0,56, + 120,125,156,112,255,156,241,199,28,227,135,28,227,14,28,231, + 14,56,231,12,56,231,28,112,231,28,112,227,157,224,243,255, + 192,113,247,0,120,0,0,60,0,0,31,7,0,15,255,0, + 3,252,0,16,19,38,18,1,0,3,192,3,192,7,224,7, + 224,14,96,14,112,14,112,28,56,28,56,28,56,56,28,56, + 28,63,252,127,254,112,14,112,14,224,7,224,7,224,7,15, + 19,38,18,2,0,255,224,255,248,224,120,224,28,224,28,224, + 28,224,28,224,56,255,240,255,248,224,28,224,14,224,14,224, + 14,224,14,224,30,224,124,255,248,255,224,16,19,38,18,1, + 0,7,240,31,252,62,62,120,15,112,7,240,0,224,0,224, + 0,224,0,224,0,224,0,224,0,224,0,240,7,112,7,120, + 15,62,62,31,252,7,240,16,19,38,19,2,0,255,224,255, + 248,224,124,224,30,224,14,224,15,224,7,224,7,224,7,224, + 7,224,7,224,7,224,7,224,15,224,14,224,30,224,124,255, + 248,255,224,13,19,38,16,2,0,255,240,255,240,224,0,224, + 0,224,0,224,0,224,0,224,0,255,224,255,224,224,0,224, + 0,224,0,224,0,224,0,224,0,224,0,255,248,255,248,12, + 19,38,15,2,0,255,240,255,240,224,0,224,0,224,0,224, + 0,224,0,224,0,255,224,255,224,224,0,224,0,224,0,224, + 0,224,0,224,0,224,0,224,0,224,0,17,19,57,19,1, + 0,7,240,0,31,252,0,62,62,0,120,15,0,112,7,0, + 240,0,0,224,0,0,224,0,0,224,0,0,224,127,128,224, + 127,128,224,3,128,224,3,128,240,3,128,112,7,128,120,15, + 128,62,63,128,31,251,128,7,243,128,15,19,38,19,2,0, + 224,14,224,14,224,14,224,14,224,14,224,14,224,14,224,14, + 255,254,255,254,224,14,224,14,224,14,224,14,224,14,224,14, + 224,14,224,14,224,14,3,19,19,7,2,0,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,11, + 19,38,14,1,0,0,224,0,224,0,224,0,224,0,224,0, + 224,0,224,0,224,0,224,0,224,0,224,0,224,224,224,224, + 224,224,224,224,224,113,224,127,192,63,128,14,19,38,18,2, + 0,224,60,224,120,224,240,225,224,227,192,231,128,239,0,254, + 0,254,0,255,0,247,128,227,128,225,192,225,224,224,224,224, + 112,224,120,224,56,224,60,12,19,38,15,2,0,224,0,224, + 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, + 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,255, + 240,255,240,19,19,57,23,2,0,224,0,224,240,1,224,240, + 1,224,248,3,224,248,3,224,252,7,224,236,6,224,238,14, + 224,230,12,224,231,28,224,231,28,224,227,24,224,227,184,224, + 227,184,224,225,240,224,225,240,224,224,224,224,224,224,224,224, + 224,224,15,19,38,19,2,0,224,14,240,14,240,14,248,14, + 248,14,252,14,238,14,238,14,231,14,227,142,227,142,225,206, + 224,206,224,238,224,126,224,62,224,62,224,30,224,14,17,19, + 57,19,1,0,7,240,0,31,252,0,62,62,0,120,15,0, + 112,7,0,240,7,128,224,3,128,224,3,128,224,3,128,224, + 3,128,224,3,128,224,3,128,224,3,128,240,7,128,112,7, + 0,120,15,0,62,62,0,31,252,0,7,240,0,14,19,38, + 17,2,0,255,224,255,248,224,56,224,28,224,28,224,28,224, + 28,224,56,255,248,255,240,224,0,224,0,224,0,224,0,224, + 0,224,0,224,0,224,0,224,0,17,20,60,19,1,255,7, + 240,0,31,252,0,62,62,0,120,15,0,112,7,0,240,7, + 128,224,3,128,224,3,128,224,3,128,224,3,128,224,3,128, + 224,3,128,224,3,128,240,39,128,112,119,0,120,63,0,62, + 30,0,31,254,0,7,247,0,0,2,0,14,19,38,17,2, + 0,255,224,255,248,224,56,224,28,224,28,224,28,224,28,224, + 56,255,248,255,240,224,120,224,56,224,28,224,28,224,28,224, + 28,224,28,224,28,224,28,14,19,38,17,2,0,15,192,63, + 240,120,248,240,56,224,56,224,0,240,0,124,0,63,192,7, + 240,0,248,0,60,0,28,224,28,224,28,224,60,248,248,127, + 240,31,192,15,19,38,15,0,0,255,254,255,254,3,128,3, + 128,3,128,3,128,3,128,3,128,3,128,3,128,3,128,3, + 128,3,128,3,128,3,128,3,128,3,128,3,128,3,128,15, + 19,38,19,2,0,224,14,224,14,224,14,224,14,224,14,224, + 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,224, + 14,240,30,112,28,124,124,63,248,15,224,16,19,38,18,1, + 0,224,7,224,7,240,15,112,14,120,30,56,28,56,28,60, + 60,28,56,28,56,30,120,14,112,14,112,14,112,7,224,7, + 224,3,192,3,192,3,192,21,19,57,23,1,0,224,112,56, + 224,112,56,224,112,56,224,112,56,112,248,112,112,248,112,112, + 216,112,113,220,112,49,220,96,57,220,224,57,140,224,59,142, + 224,27,142,192,27,142,192,31,7,192,31,7,192,14,3,128, + 14,3,128,14,3,128,16,19,38,18,1,0,224,7,240,15, + 120,30,56,28,28,56,14,112,15,240,7,224,3,192,3,192, + 7,224,15,240,14,112,28,56,60,60,56,28,112,14,240,15, + 224,7,15,19,38,17,1,0,224,14,240,14,112,28,120,28, + 56,56,60,56,28,112,28,112,14,224,14,224,7,192,7,192, + 3,128,3,128,3,128,3,128,3,128,3,128,3,128,14,19, + 38,16,1,0,255,252,255,252,0,60,0,120,0,240,1,224, + 1,224,3,192,7,128,7,128,15,0,30,0,30,0,60,0, + 56,0,120,0,240,0,255,252,255,252,5,24,24,8,1,251, + 248,248,224,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,248,248,7,19,19,8,0,0,192,192, + 192,96,96,96,48,48,48,48,24,24,24,12,12,12,6,6, + 6,5,24,24,8,2,251,248,248,56,56,56,56,56,56,56, + 56,56,56,56,56,56,56,56,56,56,56,56,56,248,248,11, + 9,18,14,1,10,14,0,14,0,31,0,27,0,59,128,113, + 192,113,192,224,224,224,224,14,2,4,14,0,251,255,252,255, + 252,6,4,4,8,1,15,224,112,56,28,12,14,28,14,1, + 0,31,128,63,192,113,224,112,224,0,224,7,224,63,224,124, + 224,240,224,224,224,225,224,243,224,127,240,62,112,12,19,38, + 15,2,0,224,0,224,0,224,0,224,0,224,0,239,128,255, + 192,249,224,240,224,224,112,224,112,224,112,224,112,224,112,224, + 112,240,224,249,224,255,192,239,128,11,14,28,13,1,0,31, + 128,63,192,121,224,112,224,224,0,224,0,224,0,224,0,224, + 0,224,0,112,224,121,224,63,192,31,128,12,19,38,15,1, + 0,0,112,0,112,0,112,0,112,0,112,31,112,63,240,121, + 240,112,240,224,112,224,112,224,112,224,112,224,112,224,112,112, + 240,121,240,63,240,31,112,12,14,28,14,1,0,15,0,63, + 192,121,224,112,224,224,112,224,112,255,240,255,240,224,0,224, + 0,112,112,120,240,63,224,15,128,7,19,19,9,1,0,30, + 62,56,56,56,254,254,56,56,56,56,56,56,56,56,56,56, + 56,56,12,19,38,15,1,251,31,112,63,240,121,240,112,240, + 224,112,224,112,224,112,224,112,224,112,224,112,112,240,121,240, + 63,240,31,112,0,112,224,112,240,224,127,224,31,128,11,19, + 38,15,2,0,224,0,224,0,224,0,224,0,224,0,239,0, + 255,192,241,192,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,3,19,19,7,2,0, + 224,224,224,0,0,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,5,24,24,7,0,251,56,56,56,0,0,56,56, + 56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,248, + 240,11,19,38,14,2,0,224,0,224,0,224,0,224,0,224, + 0,225,192,227,192,231,128,239,0,254,0,252,0,254,0,239, + 0,231,0,231,128,227,192,225,192,225,224,224,224,3,19,19, + 7,2,0,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,17,14,42,21,2,0,239,62,0,255, + 255,0,243,231,128,225,195,128,225,195,128,225,195,128,225,195, + 128,225,195,128,225,195,128,225,195,128,225,195,128,225,195,128, + 225,195,128,225,195,128,11,14,28,15,2,0,239,128,255,192, + 241,192,224,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,12,14,28,14,1,0,15,0, + 63,192,121,224,112,224,224,112,224,112,224,112,224,112,224,112, + 224,112,112,224,121,224,63,192,15,0,12,19,38,15,2,251, + 239,128,255,192,249,224,240,224,224,112,224,112,224,112,224,112, + 224,112,224,112,240,224,249,224,255,192,239,128,224,0,224,0, + 224,0,224,0,224,0,12,19,38,15,1,251,31,112,63,240, + 121,240,112,240,224,112,224,112,224,112,224,112,224,112,224,112, + 112,240,121,240,63,240,31,112,0,112,0,112,0,112,0,112, + 0,112,7,14,14,10,2,0,238,254,254,240,224,224,224,224, + 224,224,224,224,224,224,11,14,28,13,1,0,63,0,127,128, + 243,192,225,192,224,0,252,0,127,128,15,192,1,224,224,224, + 224,224,241,224,127,192,63,128,7,18,18,9,1,0,56,56, + 56,56,254,254,56,56,56,56,56,56,56,56,56,56,62,30, + 11,14,28,15,2,0,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,225,224,115,224,126,224, + 28,224,12,14,28,14,1,0,224,112,224,112,224,112,112,224, + 112,224,112,224,57,192,57,192,57,192,31,128,31,128,15,0, + 15,0,15,0,19,14,42,19,0,0,224,224,224,224,224,224, + 96,224,192,113,241,192,113,241,192,49,177,128,51,185,128,59, + 187,128,27,27,0,31,31,0,31,31,0,14,14,0,14,14, + 0,14,14,0,11,14,28,13,1,0,224,224,241,224,113,192, + 59,128,63,128,31,0,14,0,31,0,31,0,59,128,123,192, + 113,192,241,224,224,224,13,19,38,15,1,251,224,56,224,56, + 112,56,120,112,56,112,60,240,28,224,28,224,15,192,15,192, + 7,192,7,128,3,128,3,128,7,0,7,0,14,0,62,0, + 60,0,11,14,28,13,1,0,255,224,255,224,1,192,3,128, + 7,128,15,0,14,0,30,0,60,0,56,0,112,0,240,0, + 255,224,255,224,7,24,24,10,1,251,14,28,56,56,56,56, + 56,56,56,56,112,224,224,112,56,56,56,56,56,56,56,56, + 28,14,2,24,24,7,3,251,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 7,24,24,10,2,251,224,112,56,56,56,56,56,56,56,56, + 28,14,14,28,56,56,56,56,56,56,56,56,112,224,11,4, + 8,14,1,5,120,224,254,224,239,224,227,192,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,255,255,255,255,255,255,255,0,0,0, + 6,0,1,3,19,19,7,2,251,224,224,224,0,0,96,96, + 96,224,224,224,224,224,224,224,224,224,224,224,11,18,36,14, + 1,254,1,128,1,128,31,128,63,192,123,224,115,96,227,0, + 230,0,230,0,230,0,230,0,236,0,236,224,125,224,127,192, + 63,128,24,0,24,0,13,18,36,14,1,0,31,128,63,192, + 112,224,112,224,112,0,120,0,56,0,28,0,255,192,255,192, + 28,0,28,0,28,0,56,0,56,0,127,56,255,248,241,240, + 12,12,24,14,1,3,192,48,239,112,127,224,57,192,112,224, + 112,224,112,224,112,224,57,192,127,224,239,112,192,48,13,18, + 36,14,0,0,224,56,224,56,112,112,112,112,56,224,56,224, + 29,192,29,192,127,240,127,240,7,0,127,240,127,240,7,0, + 7,0,7,0,7,0,7,0,2,24,24,7,3,251,192,192, + 192,192,192,192,192,192,192,192,0,0,0,0,192,192,192,192, + 192,192,192,192,192,192,12,24,48,14,1,251,31,128,63,192, + 121,224,112,224,120,224,60,0,30,0,127,0,247,128,227,192, + 225,224,224,224,112,112,120,112,60,112,30,224,15,192,7,128, + 3,192,113,224,112,224,121,224,63,192,31,128,7,2,2,9, + 1,16,238,238,19,19,57,19,0,0,1,240,0,15,254,0, + 30,15,0,56,3,128,112,1,192,97,240,192,227,184,224,198, + 12,96,198,0,96,198,0,96,198,0,96,198,12,96,227,184, + 224,97,240,192,112,1,192,56,3,128,30,15,0,15,254,0, + 1,240,0,8,12,12,10,1,7,124,254,198,30,126,230,198, + 255,123,0,255,255,10,8,16,13,1,3,29,192,59,128,119, + 0,238,0,238,0,119,0,59,128,29,192,12,7,14,15,1, + 4,255,240,255,240,0,48,0,48,0,48,0,48,0,48,7, + 3,3,8,0,6,254,254,254,19,19,57,19,0,0,3,248, + 0,15,254,0,28,15,0,56,3,128,115,249,192,99,28,192, + 227,12,224,195,12,96,195,24,96,195,240,96,195,48,96,195, + 24,96,227,24,96,99,12,224,112,0,192,56,1,192,30,3, + 128,15,254,0,3,248,0,7,2,2,9,1,17,254,254,8, + 7,7,9,0,11,60,102,195,195,195,102,60,11,13,26,15, + 2,0,14,0,14,0,14,0,14,0,255,224,255,224,14,0, + 14,0,14,0,14,0,0,0,255,224,255,224,6,10,10,7, + 0,8,120,252,204,12,28,120,224,192,252,252,6,10,10,7, + 0,8,120,252,204,12,56,56,12,204,252,120,6,4,4,8, + 1,15,28,56,112,224,11,19,38,15,2,251,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, + 225,224,243,224,254,224,236,224,224,0,224,0,224,0,224,0, + 224,0,11,24,48,13,1,251,15,224,63,224,124,192,124,192, + 252,192,252,192,252,192,252,192,252,192,124,192,124,192,60,192, + 28,192,12,192,12,192,12,192,12,192,12,192,12,192,12,192, + 12,192,12,192,12,192,12,192,3,3,3,7,2,6,224,224, + 224,6,6,6,8,1,251,112,120,28,28,252,120,4,10,10, + 7,1,8,48,48,240,240,48,48,48,48,48,48,8,12,12, + 10,1,7,60,126,231,195,195,195,231,126,60,0,255,255,10, + 8,16,13,1,3,238,0,119,0,59,128,29,192,29,192,59, + 128,119,0,238,0,17,18,54,19,1,0,48,24,0,48,24, + 0,240,48,0,240,48,0,48,96,0,48,96,0,48,192,0, + 48,192,0,49,134,0,49,142,0,3,30,0,3,30,0,6, + 54,0,6,102,0,12,127,128,12,127,128,24,6,0,24,6, + 0,16,18,36,19,1,0,48,24,48,24,240,48,240,48,48, + 96,48,96,48,192,48,192,49,158,49,191,3,51,3,3,6, + 7,6,30,12,56,12,48,24,63,24,63,17,18,54,19,1, + 0,120,24,0,252,24,0,204,48,0,12,48,0,56,96,0, + 56,96,0,12,192,0,204,192,0,253,134,0,121,142,0,3, + 30,0,3,30,0,6,54,0,6,102,0,12,127,128,12,127, + 128,24,6,0,24,6,0,11,19,38,15,2,251,14,0,14, + 0,14,0,0,0,0,0,14,0,14,0,14,0,14,0,28, + 0,60,0,120,0,112,0,240,224,224,224,225,224,243,192,127, + 192,63,0,16,24,48,18,1,0,14,0,7,0,3,128,1, + 192,0,0,3,192,3,192,7,224,7,224,14,96,14,112,14, + 112,28,56,28,56,28,56,56,28,56,28,63,252,127,254,112, + 14,112,14,224,7,224,7,224,7,16,24,48,18,1,0,0, + 112,0,224,1,192,3,128,0,0,3,192,3,192,7,224,7, + 224,14,96,14,112,14,112,28,56,28,56,28,56,56,28,56, + 28,63,252,127,254,112,14,112,14,224,7,224,7,224,7,16, + 24,48,18,1,0,1,192,3,224,7,112,14,56,0,0,3, + 192,3,192,7,224,7,224,14,96,14,112,14,112,28,56,28, + 56,28,56,56,28,56,28,63,252,127,254,112,14,112,14,224, + 7,224,7,224,7,16,23,46,18,1,0,7,152,15,248,12, + 240,0,0,3,192,3,192,7,224,7,224,14,96,14,112,14, + 112,28,56,28,56,28,56,56,28,56,28,63,252,127,254,112, + 14,112,14,224,7,224,7,224,7,16,23,46,18,1,0,14, + 112,14,112,0,0,0,0,3,192,3,192,7,224,7,224,14, + 96,14,112,14,112,28,56,28,56,28,56,56,28,56,28,63, + 252,127,254,112,14,112,14,224,7,224,7,224,7,16,24,48, + 18,1,0,3,192,6,96,4,32,6,96,3,192,3,192,3, + 192,7,224,7,224,14,96,14,112,14,112,28,56,28,56,28, + 56,56,28,56,28,63,252,127,254,112,14,112,14,224,7,224, + 7,224,7,22,19,57,24,1,0,3,255,248,3,255,248,7, + 112,0,7,112,0,14,112,0,14,112,0,14,112,0,28,112, + 0,28,127,240,28,127,240,56,112,0,56,112,0,63,240,0, + 127,240,0,112,112,0,112,112,0,224,112,0,224,127,252,224, + 127,252,16,24,48,18,1,251,7,240,31,252,62,62,120,15, + 112,7,240,0,224,0,224,0,224,0,224,0,224,0,224,0, + 224,0,240,7,112,7,120,15,62,62,31,252,7,240,3,192, + 0,224,0,224,7,224,3,192,13,24,48,16,2,0,56,0, + 28,0,14,0,7,0,0,0,255,240,255,240,224,0,224,0, + 224,0,224,0,224,0,224,0,255,224,255,224,224,0,224,0, + 224,0,224,0,224,0,224,0,224,0,255,248,255,248,13,24, + 48,16,2,0,1,192,3,128,7,0,14,0,0,0,255,240, + 255,240,224,0,224,0,224,0,224,0,224,0,224,0,255,224, + 255,224,224,0,224,0,224,0,224,0,224,0,224,0,224,0, + 255,248,255,248,13,24,48,16,2,0,7,0,15,128,29,192, + 56,224,0,0,255,240,255,240,224,0,224,0,224,0,224,0, + 224,0,224,0,255,224,255,224,224,0,224,0,224,0,224,0, + 224,0,224,0,224,0,255,248,255,248,13,23,46,16,2,0, + 56,224,56,224,0,0,0,0,255,240,255,240,224,0,224,0, + 224,0,224,0,224,0,224,0,255,224,255,224,224,0,224,0, + 224,0,224,0,224,0,224,0,224,0,255,248,255,248,6,24, + 24,7,0,0,224,112,56,28,0,56,56,56,56,56,56,56, + 56,56,56,56,56,56,56,56,56,56,56,56,6,24,24,7, + 1,0,28,56,112,224,0,112,112,112,112,112,112,112,112,112, + 112,112,112,112,112,112,112,112,112,112,9,24,48,7,255,0, + 28,0,62,0,119,0,227,128,0,0,28,0,28,0,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 7,23,23,7,0,0,238,238,0,0,56,56,56,56,56,56, + 56,56,56,56,56,56,56,56,56,56,56,56,56,19,19,57, + 19,255,0,31,252,0,31,255,0,28,15,128,28,3,192,28, + 1,192,28,1,224,28,0,224,28,0,224,255,192,224,255,192, + 224,28,0,224,28,0,224,28,0,224,28,1,224,28,1,192, + 28,3,192,28,15,128,31,255,0,31,252,0,15,23,46,19, + 2,0,15,48,31,240,25,224,0,0,224,14,240,14,240,14, + 248,14,248,14,252,14,238,14,238,14,231,14,227,142,227,142, + 225,206,224,206,224,238,224,126,224,62,224,62,224,30,224,14, + 17,24,72,19,1,0,14,0,0,7,0,0,3,128,0,1, + 192,0,0,0,0,7,240,0,31,252,0,62,62,0,120,15, + 0,112,7,0,240,7,128,224,3,128,224,3,128,224,3,128, + 224,3,128,224,3,128,224,3,128,224,3,128,240,7,128,112, + 7,0,120,15,0,62,62,0,31,252,0,7,240,0,17,24, + 72,19,1,0,0,56,0,0,112,0,0,224,0,1,192,0, + 0,0,0,7,240,0,31,252,0,62,62,0,120,15,0,112, + 7,0,240,7,128,224,3,128,224,3,128,224,3,128,224,3, + 128,224,3,128,224,3,128,224,3,128,240,7,128,112,7,0, + 120,15,0,62,62,0,31,252,0,7,240,0,17,24,72,19, + 1,0,1,192,0,3,224,0,7,112,0,14,56,0,0,0, + 0,7,240,0,31,252,0,62,62,0,120,15,0,112,7,0, + 240,7,128,224,3,128,224,3,128,224,3,128,224,3,128,224, + 3,128,224,3,128,224,3,128,240,7,128,112,7,0,120,15, + 0,62,62,0,31,252,0,7,240,0,17,23,69,19,1,0, + 7,152,0,15,248,0,12,240,0,0,0,0,7,240,0,31, + 252,0,62,62,0,120,15,0,112,7,0,240,7,128,224,3, + 128,224,3,128,224,3,128,224,3,128,224,3,128,224,3,128, + 224,3,128,240,7,128,112,7,0,120,15,0,62,62,0,31, + 252,0,7,240,0,17,23,69,19,1,0,14,56,0,14,56, + 0,0,0,0,0,0,0,7,240,0,31,252,0,62,62,0, + 120,15,0,112,7,0,240,7,128,224,3,128,224,3,128,224, + 3,128,224,3,128,224,3,128,224,3,128,224,3,128,240,7, + 128,112,7,0,120,15,0,62,62,0,31,252,0,7,240,0, + 12,12,24,15,1,1,64,32,224,112,112,224,57,192,31,128, + 15,0,15,0,31,128,57,192,112,224,224,112,64,32,19,19, + 57,19,0,0,3,248,96,15,254,224,31,31,192,60,3,128, + 56,7,128,120,15,192,112,29,192,112,57,192,112,113,192,112, + 225,192,113,193,192,115,129,192,119,1,192,126,3,192,60,3, + 128,60,7,128,127,31,0,239,254,0,195,248,0,15,24,48, + 19,2,0,14,0,7,0,3,128,1,192,0,0,224,14,224, + 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,224, + 14,224,14,224,14,224,14,224,14,240,30,112,28,124,124,63, + 248,15,224,15,24,48,19,2,0,0,112,0,224,1,192,3, + 128,0,0,224,14,224,14,224,14,224,14,224,14,224,14,224, + 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,240, + 30,112,28,124,124,63,248,15,224,15,24,48,19,2,0,3, + 128,7,192,14,224,28,112,0,0,224,14,224,14,224,14,224, + 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,224, + 14,224,14,224,14,240,30,112,28,124,124,63,248,15,224,15, + 23,46,19,2,0,28,112,28,112,0,0,0,0,224,14,224, + 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,224, + 14,224,14,224,14,224,14,224,14,240,30,112,28,124,124,63, + 248,15,224,15,24,48,17,1,0,0,112,0,224,1,192,3, + 128,0,0,224,14,240,30,112,28,120,60,56,56,60,120,28, + 112,30,240,14,224,15,224,7,192,7,192,3,128,3,128,3, + 128,3,128,3,128,3,128,3,128,14,19,38,17,2,0,224, + 0,224,0,224,0,224,0,255,224,255,248,224,56,224,28,224, + 28,224,28,224,28,224,56,255,248,255,240,224,0,224,0,224, + 0,224,0,224,0,11,19,38,14,2,0,30,0,127,128,243, + 128,225,192,225,192,225,192,225,192,227,128,239,0,239,128,227, + 192,225,192,224,224,224,224,224,224,224,224,225,192,239,192,239, + 128,12,19,38,14,1,0,28,0,14,0,7,0,3,128,0, + 0,31,128,63,192,113,224,112,224,0,224,7,224,63,224,124, + 224,240,224,224,224,225,224,243,224,127,240,62,112,12,19,38, + 14,1,0,1,192,3,128,7,0,14,0,0,0,31,128,63, + 192,113,224,112,224,0,224,7,224,63,224,124,224,240,224,224, + 224,225,224,243,224,127,240,62,112,12,19,38,14,1,0,7, + 0,15,128,29,192,56,224,0,0,31,128,63,192,113,224,112, + 224,0,224,7,224,63,224,124,224,240,224,224,224,225,224,243, + 224,127,240,62,112,12,19,38,14,1,0,60,192,127,192,103, + 128,0,0,0,0,31,128,63,192,113,224,112,224,0,224,7, + 224,63,224,124,224,240,224,224,224,225,224,243,224,127,240,62, + 112,12,18,36,14,1,0,57,192,57,192,0,0,0,0,31, + 128,63,192,113,224,112,224,0,224,7,224,63,224,124,224,240, + 224,224,224,225,224,243,224,127,240,62,112,12,19,38,14,1, + 0,7,0,13,128,8,128,13,128,7,0,31,128,63,192,113, + 224,112,224,0,224,7,224,63,224,124,224,240,224,224,224,225, + 224,243,224,127,240,62,112,20,14,42,22,1,0,31,143,0, + 63,255,192,113,249,224,112,240,224,0,224,112,7,224,112,63, + 255,240,124,255,240,240,224,0,224,224,0,225,240,112,243,248, + 240,127,63,224,62,15,128,11,19,38,13,1,251,31,128,63, + 192,121,224,112,224,224,0,224,0,224,0,224,0,224,0,224, + 0,112,224,121,224,63,192,31,128,30,0,7,0,7,0,63, + 0,30,0,12,19,38,14,1,0,28,0,14,0,7,0,3, + 128,0,0,15,0,63,192,121,224,112,224,224,112,224,112,255, + 240,255,240,224,0,224,0,112,112,120,240,63,224,15,128,12, + 19,38,14,1,0,3,128,7,0,14,0,28,0,0,0,15, + 0,63,192,121,224,112,224,224,112,224,112,255,240,255,240,224, + 0,224,0,112,112,120,240,63,224,15,128,12,19,38,14,1, + 0,7,0,15,128,29,192,56,224,0,0,15,0,63,192,121, + 224,112,224,224,112,224,112,255,240,255,240,224,0,224,0,112, + 112,120,240,63,224,15,128,12,18,36,14,1,0,57,192,57, + 192,0,0,0,0,15,0,63,192,121,224,112,224,224,112,224, + 112,255,240,255,240,224,0,224,0,112,112,120,240,63,224,15, + 128,6,19,19,7,0,0,224,112,56,28,0,56,56,56,56, + 56,56,56,56,56,56,56,56,56,56,6,19,19,7,1,0, + 28,56,112,224,0,112,112,112,112,112,112,112,112,112,112,112, + 112,112,112,9,19,38,7,255,0,28,0,62,0,119,0,227, + 128,0,0,28,0,28,0,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,7, + 18,18,7,0,0,238,238,0,0,56,56,56,56,56,56,56, + 56,56,56,56,56,56,56,12,19,38,14,1,0,112,0,29, + 192,7,0,31,0,97,128,15,192,63,192,121,224,112,224,224, + 112,224,112,224,112,224,112,224,112,224,112,112,224,121,224,63, + 192,15,0,11,19,38,15,2,0,60,192,127,192,103,128,0, + 0,0,0,239,128,255,192,241,192,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,12, + 19,38,14,1,0,28,0,14,0,7,0,3,128,0,0,15, + 0,63,192,121,224,112,224,224,112,224,112,224,112,224,112,224, + 112,224,112,112,224,121,224,63,192,15,0,12,19,38,14,1, + 0,3,128,7,0,14,0,28,0,0,0,15,0,63,192,121, + 224,112,224,224,112,224,112,224,112,224,112,224,112,224,112,112, + 224,121,224,63,192,15,0,12,19,38,14,1,0,14,0,31, + 0,59,128,113,192,0,0,15,0,63,192,121,224,112,224,224, + 112,224,112,224,112,224,112,224,112,224,112,112,224,121,224,63, + 192,15,0,12,19,38,14,1,0,60,192,127,192,103,128,0, + 0,0,0,15,0,63,192,121,224,112,224,224,112,224,112,224, + 112,224,112,224,112,224,112,112,224,121,224,63,192,15,0,12, + 18,36,14,1,0,57,192,57,192,0,0,0,0,15,0,63, + 192,121,224,112,224,224,112,224,112,224,112,224,112,224,112,224, + 112,112,224,121,224,63,192,15,0,11,12,24,15,2,1,14, + 0,14,0,14,0,0,0,0,0,255,224,255,224,0,0,0, + 0,14,0,14,0,14,0,14,14,28,14,0,0,7,140,31, + 252,60,248,56,112,112,248,113,248,115,184,119,56,126,56,124, + 56,56,112,124,240,255,224,199,128,11,19,38,15,2,0,56, + 0,28,0,14,0,7,0,0,0,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,225,224,115, + 224,126,224,28,224,11,19,38,15,2,0,3,128,7,0,14, + 0,28,0,0,0,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,225,224,115,224,126,224,28, + 224,11,19,38,15,2,0,14,0,31,0,59,128,113,192,0, + 0,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,225,224,115,224,126,224,28,224,11,18,36, + 15,2,0,57,192,57,192,0,0,0,0,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,225, + 224,115,224,126,224,28,224,13,24,48,15,1,251,0,224,1, + 192,3,128,7,0,0,0,224,56,224,56,112,56,120,112,56, + 112,60,240,28,224,28,224,15,192,15,192,7,192,7,128,3, + 128,3,128,7,0,7,0,14,0,62,0,60,0,12,24,48, + 15,2,251,224,0,224,0,224,0,224,0,224,0,239,128,255, + 192,249,224,240,224,224,112,224,112,224,112,224,112,224,112,224, + 112,240,224,249,224,255,192,239,128,224,0,224,0,224,0,224, + 0,224,0,13,23,46,15,1,251,28,224,28,224,0,0,0, + 0,224,56,224,56,112,56,120,112,56,112,60,240,28,224,28, + 224,15,192,15,192,7,192,7,128,3,128,3,128,7,0,7, + 0,14,0,62,0,60,0}; +/* + Fontname: -Adobe-Helvetica-Bold-R-Normal--25-180-100-100-P-138-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 0, '1' Height: 18 + Calculated Max Values w=12 h=19 x= 2 y=12 dx=15 dy= 0 ascent=19 len=36 + Font Bounding box w=28 h=37 x=-2 y=-8 + Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 + Pure Font ascent =18 descent= 0 + X Font ascent =18 descent= 0 + Max Font ascent =19 descent=-3 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_helvB18n[537] U8G_FONT_SECTION("u8g_font_helvB18n") = { + 0,28,37,254,248,18,0,0,0,0,42,58,0,19,253,18, + 0,8,7,7,10,1,12,24,24,219,255,60,102,102,12,12, + 24,15,1,1,6,0,6,0,6,0,6,0,6,0,255,240, + 255,240,6,0,6,0,6,0,6,0,6,0,3,6,6,7, + 2,253,224,224,224,96,96,192,7,3,3,8,0,6,254,254, + 254,3,3,3,7,2,0,224,224,224,7,19,19,8,1,0, + 6,6,6,12,12,12,24,24,24,24,48,48,48,96,96,96, + 192,192,192,12,18,36,13,0,0,31,128,63,192,121,224,112, + 224,112,224,224,112,224,112,224,112,224,112,224,112,224,112,224, + 112,224,112,112,224,112,224,121,224,63,192,31,128,7,18,18, + 13,2,0,14,14,30,254,254,14,14,14,14,14,14,14,14, + 14,14,14,14,14,12,18,36,13,0,0,31,0,127,192,113, + 224,224,224,224,112,224,112,0,112,0,224,1,224,3,192,7, + 128,31,0,60,0,120,0,240,0,224,0,255,240,255,240,12, + 18,36,13,0,0,31,0,127,192,113,192,224,224,224,224,224, + 224,0,224,1,192,15,128,15,224,0,224,0,112,0,112,224, + 112,224,240,113,224,127,224,31,128,12,18,36,13,0,0,1, + 192,3,192,3,192,7,192,7,192,13,192,29,192,25,192,49, + 192,113,192,97,192,225,192,255,240,255,240,1,192,1,192,1, + 192,1,192,12,18,36,13,0,0,127,224,127,224,112,0,112, + 0,112,0,112,0,127,128,127,192,113,224,0,224,0,112,0, + 112,0,112,224,112,224,240,241,224,127,192,31,128,12,18,36, + 13,0,0,15,128,63,224,120,224,112,112,224,112,224,0,224, + 0,239,0,255,192,249,224,240,224,224,112,224,112,224,112,112, + 224,121,224,63,192,31,128,12,18,36,13,0,0,255,240,255, + 240,0,240,0,224,1,192,1,192,3,128,3,128,7,0,7, + 0,14,0,14,0,30,0,28,0,28,0,60,0,56,0,56, + 0,12,18,36,13,0,0,15,0,63,192,57,192,112,224,112, + 224,112,224,112,224,57,192,31,128,63,192,112,224,224,112,224, + 112,224,112,224,112,112,224,127,224,31,128,12,18,36,13,0, + 0,31,128,127,192,121,224,240,224,224,112,224,112,224,112,224, + 112,240,240,121,240,127,240,31,112,0,112,0,112,224,224,243, + 224,127,192,31,0,3,14,14,7,2,0,224,224,224,0,0, + 0,0,0,0,0,0,224,224,224}; +/* + Fontname: -Adobe-Helvetica-Bold-R-Normal--25-180-100-100-P-138-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 19, '1' Height: 18 + Calculated Max Values w=22 h=24 x= 3 y=15 dx=24 dy= 0 ascent=19 len=66 + Font Bounding box w=28 h=37 x=-2 y=-8 + Calculated Min Values x= 0 y=-5 dx= 0 dy= 0 + Pure Font ascent =19 descent=-5 + X Font ascent =19 descent=-5 + Max Font ascent =19 descent=-5 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_helvB18r[3453] U8G_FONT_SECTION("u8g_font_helvB18r") = { + 0,28,37,254,248,19,4,35,9,107,32,127,251,19,251,19, + 251,0,0,0,6,0,1,3,19,19,7,2,0,224,224,224, + 224,224,224,224,224,224,224,224,192,192,192,0,0,224,224,224, + 5,6,6,9,2,13,216,216,216,216,216,144,12,18,36,14, + 1,0,12,192,12,192,12,192,12,192,12,192,127,240,127,240, + 25,128,25,128,25,128,25,128,255,224,255,224,51,0,51,0, + 51,0,51,0,51,0,12,21,42,13,0,254,6,0,63,128, + 127,224,246,224,230,112,230,112,246,0,126,0,62,0,15,0, + 7,192,7,224,6,240,230,112,230,112,230,112,246,240,127,224, + 31,192,6,0,6,0,21,18,54,22,0,0,0,7,0,62, + 7,0,127,14,0,227,142,0,193,156,0,193,156,0,227,184, + 0,127,56,0,62,112,0,0,112,0,0,227,224,0,231,240, + 1,206,56,1,204,24,3,140,24,3,142,56,7,7,240,7, + 3,224,16,18,36,18,1,0,15,128,31,192,61,224,56,224, + 56,224,56,224,29,192,15,128,31,0,63,156,123,220,113,252, + 224,248,224,112,224,248,241,252,127,206,31,135,2,6,6,6, + 2,13,192,192,192,192,192,128,6,24,24,8,1,251,12,28, + 56,56,112,112,96,224,224,224,224,224,224,224,224,224,224,96, + 112,112,56,56,28,12,6,24,24,8,1,251,192,224,112,112, + 56,56,24,28,28,28,28,28,28,28,28,28,28,24,56,56, + 112,112,224,192,8,7,7,10,1,12,24,24,219,255,60,102, + 102,12,12,24,15,1,1,6,0,6,0,6,0,6,0,6, + 0,255,240,255,240,6,0,6,0,6,0,6,0,6,0,3, + 6,6,7,2,253,224,224,224,96,96,192,7,3,3,8,0, + 6,254,254,254,3,3,3,7,2,0,224,224,224,7,19,19, + 8,1,0,6,6,6,12,12,12,24,24,24,24,48,48,48, + 96,96,96,192,192,192,12,18,36,13,0,0,31,128,63,192, + 121,224,112,224,112,224,224,112,224,112,224,112,224,112,224,112, + 224,112,224,112,224,112,112,224,112,224,121,224,63,192,31,128, + 7,18,18,13,2,0,14,14,30,254,254,14,14,14,14,14, + 14,14,14,14,14,14,14,14,12,18,36,13,0,0,31,0, + 127,192,113,224,224,224,224,112,224,112,0,112,0,224,1,224, + 3,192,7,128,31,0,60,0,120,0,240,0,224,0,255,240, + 255,240,12,18,36,13,0,0,31,0,127,192,113,192,224,224, + 224,224,224,224,0,224,1,192,15,128,15,224,0,224,0,112, + 0,112,224,112,224,240,113,224,127,224,31,128,12,18,36,13, + 0,0,1,192,3,192,3,192,7,192,7,192,13,192,29,192, + 25,192,49,192,113,192,97,192,225,192,255,240,255,240,1,192, + 1,192,1,192,1,192,12,18,36,13,0,0,127,224,127,224, + 112,0,112,0,112,0,112,0,127,128,127,192,113,224,0,224, + 0,112,0,112,0,112,224,112,224,240,241,224,127,192,31,128, + 12,18,36,13,0,0,15,128,63,224,120,224,112,112,224,112, + 224,0,224,0,239,0,255,192,249,224,240,224,224,112,224,112, + 224,112,112,224,121,224,63,192,31,128,12,18,36,13,0,0, + 255,240,255,240,0,240,0,224,1,192,1,192,3,128,3,128, + 7,0,7,0,14,0,14,0,30,0,28,0,28,0,60,0, + 56,0,56,0,12,18,36,13,0,0,15,0,63,192,57,192, + 112,224,112,224,112,224,112,224,57,192,31,128,63,192,112,224, + 224,112,224,112,224,112,224,112,112,224,127,224,31,128,12,18, + 36,13,0,0,31,128,127,192,121,224,240,224,224,112,224,112, + 224,112,224,112,240,240,121,240,127,240,31,112,0,112,0,112, + 224,224,243,224,127,192,31,0,3,14,14,7,2,0,224,224, + 224,0,0,0,0,0,0,0,0,224,224,224,3,17,17,7, + 2,253,224,224,224,0,0,0,0,0,0,0,0,224,224,224, + 96,96,192,13,12,24,15,0,1,0,56,0,248,3,224,15, + 128,62,0,240,0,240,0,62,0,15,128,3,224,0,248,0, + 56,10,5,10,14,2,5,255,192,255,192,0,0,255,192,255, + 192,13,12,24,14,1,1,224,0,248,0,62,0,15,128,3, + 224,0,120,0,120,3,224,15,128,62,0,248,0,224,0,11, + 19,38,15,2,0,31,128,127,192,121,224,240,224,224,224,225, + 224,1,192,3,192,7,128,7,0,14,0,14,0,14,0,14, + 0,0,0,0,0,14,0,14,0,14,0,22,22,66,24,1, + 252,1,255,0,7,255,192,15,129,240,30,0,120,60,0,56, + 120,125,156,112,255,156,241,199,28,227,135,28,227,14,28,231, + 14,56,231,12,56,231,28,112,231,28,112,227,157,224,243,255, + 192,113,247,0,120,0,0,60,0,0,31,7,0,15,255,0, + 3,252,0,16,19,38,18,1,0,3,192,3,192,7,224,7, + 224,14,96,14,112,14,112,28,56,28,56,28,56,56,28,56, + 28,63,252,127,254,112,14,112,14,224,7,224,7,224,7,15, + 19,38,18,2,0,255,224,255,248,224,120,224,28,224,28,224, + 28,224,28,224,56,255,240,255,248,224,28,224,14,224,14,224, + 14,224,14,224,30,224,124,255,248,255,224,16,19,38,18,1, + 0,7,240,31,252,62,62,120,15,112,7,240,0,224,0,224, + 0,224,0,224,0,224,0,224,0,224,0,240,7,112,7,120, + 15,62,62,31,252,7,240,16,19,38,19,2,0,255,224,255, + 248,224,124,224,30,224,14,224,15,224,7,224,7,224,7,224, + 7,224,7,224,7,224,7,224,15,224,14,224,30,224,124,255, + 248,255,224,13,19,38,16,2,0,255,240,255,240,224,0,224, + 0,224,0,224,0,224,0,224,0,255,224,255,224,224,0,224, + 0,224,0,224,0,224,0,224,0,224,0,255,248,255,248,12, + 19,38,15,2,0,255,240,255,240,224,0,224,0,224,0,224, + 0,224,0,224,0,255,224,255,224,224,0,224,0,224,0,224, + 0,224,0,224,0,224,0,224,0,224,0,17,19,57,19,1, + 0,7,240,0,31,252,0,62,62,0,120,15,0,112,7,0, + 240,0,0,224,0,0,224,0,0,224,0,0,224,127,128,224, + 127,128,224,3,128,224,3,128,240,3,128,112,7,128,120,15, + 128,62,63,128,31,251,128,7,243,128,15,19,38,19,2,0, + 224,14,224,14,224,14,224,14,224,14,224,14,224,14,224,14, + 255,254,255,254,224,14,224,14,224,14,224,14,224,14,224,14, + 224,14,224,14,224,14,3,19,19,7,2,0,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,11, + 19,38,14,1,0,0,224,0,224,0,224,0,224,0,224,0, + 224,0,224,0,224,0,224,0,224,0,224,0,224,224,224,224, + 224,224,224,224,224,113,224,127,192,63,128,14,19,38,18,2, + 0,224,60,224,120,224,240,225,224,227,192,231,128,239,0,254, + 0,254,0,255,0,247,128,227,128,225,192,225,224,224,224,224, + 112,224,120,224,56,224,60,12,19,38,15,2,0,224,0,224, + 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, + 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,255, + 240,255,240,19,19,57,23,2,0,224,0,224,240,1,224,240, + 1,224,248,3,224,248,3,224,252,7,224,236,6,224,238,14, + 224,230,12,224,231,28,224,231,28,224,227,24,224,227,184,224, + 227,184,224,225,240,224,225,240,224,224,224,224,224,224,224,224, + 224,224,15,19,38,19,2,0,224,14,240,14,240,14,248,14, + 248,14,252,14,238,14,238,14,231,14,227,142,227,142,225,206, + 224,206,224,238,224,126,224,62,224,62,224,30,224,14,17,19, + 57,19,1,0,7,240,0,31,252,0,62,62,0,120,15,0, + 112,7,0,240,7,128,224,3,128,224,3,128,224,3,128,224, + 3,128,224,3,128,224,3,128,224,3,128,240,7,128,112,7, + 0,120,15,0,62,62,0,31,252,0,7,240,0,14,19,38, + 17,2,0,255,224,255,248,224,56,224,28,224,28,224,28,224, + 28,224,56,255,248,255,240,224,0,224,0,224,0,224,0,224, + 0,224,0,224,0,224,0,224,0,17,20,60,19,1,255,7, + 240,0,31,252,0,62,62,0,120,15,0,112,7,0,240,7, + 128,224,3,128,224,3,128,224,3,128,224,3,128,224,3,128, + 224,3,128,224,3,128,240,39,128,112,119,0,120,63,0,62, + 30,0,31,254,0,7,247,0,0,2,0,14,19,38,17,2, + 0,255,224,255,248,224,56,224,28,224,28,224,28,224,28,224, + 56,255,248,255,240,224,120,224,56,224,28,224,28,224,28,224, + 28,224,28,224,28,224,28,14,19,38,17,2,0,15,192,63, + 240,120,248,240,56,224,56,224,0,240,0,124,0,63,192,7, + 240,0,248,0,60,0,28,224,28,224,28,224,60,248,248,127, + 240,31,192,15,19,38,15,0,0,255,254,255,254,3,128,3, + 128,3,128,3,128,3,128,3,128,3,128,3,128,3,128,3, + 128,3,128,3,128,3,128,3,128,3,128,3,128,3,128,15, + 19,38,19,2,0,224,14,224,14,224,14,224,14,224,14,224, + 14,224,14,224,14,224,14,224,14,224,14,224,14,224,14,224, + 14,240,30,112,28,124,124,63,248,15,224,16,19,38,18,1, + 0,224,7,224,7,240,15,112,14,120,30,56,28,56,28,60, + 60,28,56,28,56,30,120,14,112,14,112,14,112,7,224,7, + 224,3,192,3,192,3,192,21,19,57,23,1,0,224,112,56, + 224,112,56,224,112,56,224,112,56,112,248,112,112,248,112,112, + 216,112,113,220,112,49,220,96,57,220,224,57,140,224,59,142, + 224,27,142,192,27,142,192,31,7,192,31,7,192,14,3,128, + 14,3,128,14,3,128,16,19,38,18,1,0,224,7,240,15, + 120,30,56,28,28,56,14,112,15,240,7,224,3,192,3,192, + 7,224,15,240,14,112,28,56,60,60,56,28,112,14,240,15, + 224,7,15,19,38,17,1,0,224,14,240,14,112,28,120,28, + 56,56,60,56,28,112,28,112,14,224,14,224,7,192,7,192, + 3,128,3,128,3,128,3,128,3,128,3,128,3,128,14,19, + 38,16,1,0,255,252,255,252,0,60,0,120,0,240,1,224, + 1,224,3,192,7,128,7,128,15,0,30,0,30,0,60,0, + 56,0,120,0,240,0,255,252,255,252,5,24,24,8,1,251, + 248,248,224,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,248,248,7,19,19,8,0,0,192,192, + 192,96,96,96,48,48,48,48,24,24,24,12,12,12,6,6, + 6,5,24,24,8,2,251,248,248,56,56,56,56,56,56,56, + 56,56,56,56,56,56,56,56,56,56,56,56,56,248,248,11, + 9,18,14,1,10,14,0,14,0,31,0,27,0,59,128,113, + 192,113,192,224,224,224,224,14,2,4,14,0,251,255,252,255, + 252,6,4,4,8,1,15,224,112,56,28,12,14,28,14,1, + 0,31,128,63,192,113,224,112,224,0,224,7,224,63,224,124, + 224,240,224,224,224,225,224,243,224,127,240,62,112,12,19,38, + 15,2,0,224,0,224,0,224,0,224,0,224,0,239,128,255, + 192,249,224,240,224,224,112,224,112,224,112,224,112,224,112,224, + 112,240,224,249,224,255,192,239,128,11,14,28,13,1,0,31, + 128,63,192,121,224,112,224,224,0,224,0,224,0,224,0,224, + 0,224,0,112,224,121,224,63,192,31,128,12,19,38,15,1, + 0,0,112,0,112,0,112,0,112,0,112,31,112,63,240,121, + 240,112,240,224,112,224,112,224,112,224,112,224,112,224,112,112, + 240,121,240,63,240,31,112,12,14,28,14,1,0,15,0,63, + 192,121,224,112,224,224,112,224,112,255,240,255,240,224,0,224, + 0,112,112,120,240,63,224,15,128,7,19,19,9,1,0,30, + 62,56,56,56,254,254,56,56,56,56,56,56,56,56,56,56, + 56,56,12,19,38,15,1,251,31,112,63,240,121,240,112,240, + 224,112,224,112,224,112,224,112,224,112,224,112,112,240,121,240, + 63,240,31,112,0,112,224,112,240,224,127,224,31,128,11,19, + 38,15,2,0,224,0,224,0,224,0,224,0,224,0,239,0, + 255,192,241,192,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,3,19,19,7,2,0, + 224,224,224,0,0,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,5,24,24,7,0,251,56,56,56,0,0,56,56, + 56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,248, + 240,11,19,38,14,2,0,224,0,224,0,224,0,224,0,224, + 0,225,192,227,192,231,128,239,0,254,0,252,0,254,0,239, + 0,231,0,231,128,227,192,225,192,225,224,224,224,3,19,19, + 7,2,0,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,17,14,42,21,2,0,239,62,0,255, + 255,0,243,231,128,225,195,128,225,195,128,225,195,128,225,195, + 128,225,195,128,225,195,128,225,195,128,225,195,128,225,195,128, + 225,195,128,225,195,128,11,14,28,15,2,0,239,128,255,192, + 241,192,224,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,12,14,28,14,1,0,15,0, + 63,192,121,224,112,224,224,112,224,112,224,112,224,112,224,112, + 224,112,112,224,121,224,63,192,15,0,12,19,38,15,2,251, + 239,128,255,192,249,224,240,224,224,112,224,112,224,112,224,112, + 224,112,224,112,240,224,249,224,255,192,239,128,224,0,224,0, + 224,0,224,0,224,0,12,19,38,15,1,251,31,112,63,240, + 121,240,112,240,224,112,224,112,224,112,224,112,224,112,224,112, + 112,240,121,240,63,240,31,112,0,112,0,112,0,112,0,112, + 0,112,7,14,14,10,2,0,238,254,254,240,224,224,224,224, + 224,224,224,224,224,224,11,14,28,13,1,0,63,0,127,128, + 243,192,225,192,224,0,252,0,127,128,15,192,1,224,224,224, + 224,224,241,224,127,192,63,128,7,18,18,9,1,0,56,56, + 56,56,254,254,56,56,56,56,56,56,56,56,56,56,62,30, + 11,14,28,15,2,0,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,225,224,115,224,126,224, + 28,224,12,14,28,14,1,0,224,112,224,112,224,112,112,224, + 112,224,112,224,57,192,57,192,57,192,31,128,31,128,15,0, + 15,0,15,0,19,14,42,19,0,0,224,224,224,224,224,224, + 96,224,192,113,241,192,113,241,192,49,177,128,51,185,128,59, + 187,128,27,27,0,31,31,0,31,31,0,14,14,0,14,14, + 0,14,14,0,11,14,28,13,1,0,224,224,241,224,113,192, + 59,128,63,128,31,0,14,0,31,0,31,0,59,128,123,192, + 113,192,241,224,224,224,13,19,38,15,1,251,224,56,224,56, + 112,56,120,112,56,112,60,240,28,224,28,224,15,192,15,192, + 7,192,7,128,3,128,3,128,7,0,7,0,14,0,62,0, + 60,0,11,14,28,13,1,0,255,224,255,224,1,192,3,128, + 7,128,15,0,14,0,30,0,60,0,56,0,112,0,240,0, + 255,224,255,224,7,24,24,10,1,251,14,28,56,56,56,56, + 56,56,56,56,112,224,224,112,56,56,56,56,56,56,56,56, + 28,14,2,24,24,7,3,251,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 7,24,24,10,2,251,224,112,56,56,56,56,56,56,56,56, + 28,14,14,28,56,56,56,56,56,56,56,56,112,224,11,4, + 8,14,1,5,120,224,254,224,239,224,227,192,255}; +/* + Fontname: -Adobe-Helvetica-Bold-R-Normal--34-240-100-100-P-182-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 25, '1' Height: 23 + Calculated Max Values w=31 h=32 x= 4 y=21 dx=33 dy= 0 ascent=31 len=120 + Font Bounding box w=40 h=49 x=-6 y=-12 + Calculated Min Values x=-1 y=-7 dx= 0 dy= 0 + Pure Font ascent =25 descent=-7 + X Font ascent =25 descent=-7 + Max Font ascent =31 descent=-7 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_helvB24[11554] U8G_FONT_SECTION("u8g_font_helvB24") = { + 0,40,49,250,244,25,5,252,14,144,32,255,249,31,249,25, + 249,0,0,0,9,0,1,5,25,25,11,3,0,248,248,248, + 248,248,248,248,248,248,248,248,112,112,112,112,112,112,112,0, + 0,248,248,248,248,248,11,9,18,16,2,16,241,224,241,224, + 241,224,241,224,241,224,241,224,241,224,96,192,96,192,18,25, + 75,19,0,255,3,199,0,3,199,0,3,143,0,3,143,0, + 7,143,0,7,142,0,7,142,0,127,255,192,127,255,192,127, + 255,192,127,255,192,15,28,0,14,28,0,14,28,0,14,60, + 0,255,255,128,255,255,128,255,255,128,255,255,128,28,120,0, + 60,120,0,60,112,0,60,112,0,56,240,0,56,240,0,16, + 28,56,18,1,253,1,128,1,128,15,240,63,252,127,254,253, + 190,249,159,241,159,241,143,249,128,255,128,127,192,63,240,15, + 252,1,254,1,255,1,159,1,143,241,143,241,159,249,159,127, + 254,127,254,63,248,7,224,1,128,1,128,1,128,26,23,92, + 29,1,0,14,0,48,0,63,128,112,0,127,192,96,0,113, + 192,224,0,224,224,192,0,224,225,192,0,224,227,128,0,224, + 227,128,0,113,199,0,0,127,198,0,0,63,142,0,0,14, + 12,28,0,0,28,127,0,0,24,255,128,0,56,227,128,0, + 49,193,192,0,113,193,192,0,97,193,192,0,225,193,192,1, + 192,227,128,1,192,255,128,3,128,127,0,3,0,28,0,20, + 25,75,24,2,0,3,224,0,15,248,0,31,252,0,31,252, + 0,30,60,0,62,60,0,62,60,0,31,60,0,31,248,0, + 15,248,0,15,240,0,15,224,0,63,241,224,127,241,224,124, + 249,192,248,255,192,240,127,192,240,63,128,240,31,0,248,15, + 128,252,63,192,127,255,224,127,251,224,31,241,240,7,192,0, + 4,9,9,8,2,16,240,240,240,240,240,240,240,96,96,8, + 31,31,11,1,250,7,15,30,30,60,60,56,120,120,120,240, + 240,240,240,240,240,240,240,240,248,120,120,120,120,60,60,28, + 30,14,15,7,8,31,31,11,1,250,224,240,120,120,60,60, + 28,30,30,30,15,15,15,15,15,15,15,15,15,31,30,30, + 30,28,60,60,56,120,112,240,224,10,11,22,13,1,13,12, + 0,12,0,76,128,237,192,255,192,127,128,30,0,63,0,127, + 128,115,128,33,0,16,16,32,19,1,0,3,192,3,192,3, + 192,3,192,3,192,3,192,255,255,255,255,255,255,255,255,3, + 192,3,192,3,192,3,192,3,192,3,192,5,11,11,9,2, + 250,248,248,248,248,248,24,24,56,112,224,128,9,5,10,11, + 1,7,255,128,255,128,255,128,255,128,255,128,5,5,5,9, + 2,0,248,248,248,248,248,8,25,25,9,0,0,3,3,3, + 3,6,6,6,14,12,12,12,28,24,24,24,48,48,48,112, + 96,96,96,192,192,192,15,24,48,18,1,0,15,224,31,240, + 63,248,127,252,124,124,248,62,248,62,248,62,240,30,240,30, + 240,30,240,30,240,30,240,30,240,30,240,30,248,62,248,62, + 248,62,124,124,127,252,63,248,31,240,15,224,10,23,46,18, + 2,0,1,192,3,192,7,192,31,192,255,192,255,192,255,192, + 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, + 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, + 16,24,48,18,1,0,15,224,63,248,127,252,127,254,252,126, + 248,63,248,31,240,31,240,31,0,63,0,62,0,126,0,252, + 1,248,7,240,15,224,31,128,63,0,126,0,252,0,255,255, + 255,255,255,255,255,255,16,24,48,18,1,0,15,224,63,248, + 127,252,127,252,248,62,240,62,240,30,240,30,0,62,0,124, + 3,248,3,240,3,252,0,126,0,63,0,31,240,31,240,31, + 240,63,248,62,127,254,127,252,63,248,15,224,16,24,48,18, + 1,0,0,248,0,248,1,248,3,248,3,248,7,248,15,120, + 14,120,30,120,28,120,60,120,120,120,112,120,240,120,224,120, + 255,255,255,255,255,255,255,255,0,120,0,120,0,120,0,120, + 0,120,15,24,48,18,1,0,63,252,63,252,63,252,63,252, + 56,0,120,0,120,0,120,0,123,224,127,248,127,252,127,252, + 120,126,0,62,0,62,0,30,0,30,240,62,240,62,248,124, + 127,252,127,248,63,240,15,192,15,24,48,18,1,0,7,224, + 31,248,63,252,63,254,124,62,120,30,240,0,240,0,243,224, + 247,248,255,252,255,252,252,126,248,62,240,30,240,30,240,30, + 240,30,248,62,124,124,127,252,63,248,31,240,7,192,16,24, + 48,18,1,0,255,255,255,255,255,255,255,255,0,30,0,62, + 0,60,0,120,0,248,0,240,1,240,1,224,3,224,3,192, + 7,192,7,192,7,128,15,128,15,128,15,128,31,0,31,0, + 31,0,31,0,17,24,72,18,0,0,7,240,0,31,252,0, + 63,254,0,62,62,0,124,31,0,120,15,0,120,15,0,120, + 15,0,124,31,0,62,62,0,31,252,0,31,252,0,63,254, + 0,124,31,0,248,15,128,240,7,128,240,7,128,240,7,128, + 248,15,128,126,63,0,127,254,0,63,254,0,31,252,0,7, + 240,0,15,24,48,18,1,0,7,192,31,240,63,248,127,252, + 124,124,248,62,240,30,240,30,240,30,240,30,248,62,252,126, + 127,254,127,254,63,222,7,158,0,30,0,30,240,60,248,124, + 127,248,127,248,31,240,7,192,5,17,17,11,3,0,248,248, + 248,248,248,0,0,0,0,0,0,0,248,248,248,248,248,5, + 23,23,11,3,250,248,248,248,248,248,0,0,0,0,0,0, + 0,248,248,248,248,248,24,24,56,112,224,128,16,16,32,19, + 1,0,0,3,0,31,0,127,3,255,15,254,127,248,255,192, + 254,0,254,0,255,192,127,240,15,254,3,255,0,127,0,31, + 0,3,15,12,24,19,2,2,255,254,255,254,255,254,255,254, + 0,0,0,0,0,0,0,0,255,254,255,254,255,254,255,254, + 16,16,32,19,1,0,192,0,240,0,254,0,255,192,127,240, + 31,254,3,255,0,127,0,127,3,255,31,254,127,240,255,192, + 254,0,240,0,192,0,16,25,50,20,2,0,15,224,63,248, + 127,252,127,254,252,126,248,63,248,31,240,31,240,31,0,63, + 0,126,0,254,1,252,1,248,3,224,3,192,7,192,7,192, + 0,0,0,0,7,192,7,192,7,192,7,192,7,192,29,30, + 120,33,1,251,0,15,224,0,0,127,252,0,1,255,254,0, + 3,240,63,128,7,192,7,192,15,0,3,192,30,0,1,224, + 28,0,0,240,60,7,220,112,56,31,252,112,112,60,252,56, + 112,120,120,56,240,240,56,56,224,224,56,56,225,224,56,56, + 225,192,112,120,225,192,112,112,225,192,112,112,225,224,240,224, + 241,225,241,224,112,255,255,192,120,127,63,128,56,62,30,0, + 60,0,0,0,30,0,0,0,15,128,0,0,15,240,60,0, + 3,255,252,0,1,255,252,0,0,127,224,0,22,25,75,23, + 0,0,0,252,0,0,252,0,1,254,0,1,254,0,1,254, + 0,3,255,0,3,255,0,3,255,0,7,207,128,7,207,128, + 7,207,128,15,135,128,15,135,192,15,135,192,31,3,192,31, + 3,224,31,255,224,31,255,224,63,255,240,63,255,240,62,1, + 240,124,0,248,124,0,248,252,0,252,248,0,124,19,25,75, + 24,3,0,255,252,0,255,255,0,255,255,128,255,255,128,248, + 15,192,248,7,192,248,7,192,248,7,192,248,7,192,248,15, + 128,255,255,0,255,255,0,255,255,128,255,255,192,248,7,192, + 248,3,224,248,3,224,248,3,224,248,3,224,248,3,224,248, + 7,224,255,255,192,255,255,192,255,255,128,255,254,0,21,25, + 75,24,1,0,1,254,0,7,255,128,15,255,192,31,255,224, + 63,135,240,62,1,240,124,1,248,124,0,248,124,0,248,248, + 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, + 0,248,0,0,124,0,248,124,0,248,126,1,248,62,1,240, + 63,135,240,31,255,224,15,255,192,7,255,128,1,254,0,21, + 25,75,24,2,0,255,248,0,255,255,0,255,255,128,255,255, + 192,248,15,224,248,3,224,248,3,240,248,1,240,248,1,248, + 248,0,248,248,0,248,248,0,248,248,0,248,248,0,248,248, + 0,248,248,0,248,248,1,248,248,1,240,248,3,240,248,3, + 224,248,15,224,255,255,192,255,255,128,255,255,0,255,248,0, + 18,25,75,22,2,0,255,255,128,255,255,128,255,255,128,255, + 255,128,248,0,0,248,0,0,248,0,0,248,0,0,248,0, + 0,248,0,0,255,255,0,255,255,0,255,255,0,255,255,0, + 248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248, + 0,0,248,0,0,255,255,192,255,255,192,255,255,192,255,255, + 192,16,25,50,20,2,0,255,255,255,255,255,255,255,255,248, + 0,248,0,248,0,248,0,248,0,248,0,255,254,255,254,255, + 254,255,254,248,0,248,0,248,0,248,0,248,0,248,0,248, + 0,248,0,248,0,248,0,248,0,22,25,75,25,1,0,0, + 255,0,3,255,192,15,255,224,31,255,240,31,195,248,63,0, + 248,126,0,124,124,0,124,252,0,0,248,0,0,248,0,0, + 248,0,0,248,15,252,248,15,252,248,15,252,248,15,252,252, + 0,124,124,0,124,126,0,124,126,0,252,63,131,252,63,255, + 252,31,255,220,7,255,156,3,254,28,19,25,75,23,2,0, + 248,3,224,248,3,224,248,3,224,248,3,224,248,3,224,248, + 3,224,248,3,224,248,3,224,248,3,224,248,3,224,255,255, + 224,255,255,224,255,255,224,255,255,224,248,3,224,248,3,224, + 248,3,224,248,3,224,248,3,224,248,3,224,248,3,224,248, + 3,224,248,3,224,248,3,224,248,3,224,5,25,25,9,2, + 0,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248, + 248,248,248,248,248,248,248,248,248,248,15,25,50,18,1,0, + 0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62, + 0,62,0,62,0,62,0,62,0,62,0,62,0,62,248,62, + 248,62,248,62,248,62,248,62,252,126,255,252,127,252,63,248, + 15,224,20,25,75,24,2,0,248,7,224,248,7,224,248,15, + 192,248,31,128,248,63,0,248,126,0,248,252,0,248,248,0, + 249,248,0,251,240,0,255,224,0,255,224,0,255,240,0,255, + 240,0,255,248,0,252,252,0,248,126,0,248,126,0,248,63, + 0,248,31,128,248,15,128,248,15,192,248,7,224,248,3,240, + 248,3,240,16,25,50,20,2,0,248,0,248,0,248,0,248, + 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, + 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, + 0,248,0,255,255,255,255,255,255,255,255,23,25,75,27,2, + 0,254,0,254,254,0,254,255,1,254,255,1,254,255,1,254, + 255,1,254,255,131,254,255,131,254,251,131,190,251,131,190,251, + 199,190,251,199,190,251,199,190,249,199,62,249,239,62,249,239, + 62,249,239,62,249,239,62,248,238,62,248,254,62,248,254,62, + 248,254,62,248,124,62,248,124,62,248,124,62,19,25,75,24, + 2,0,248,3,224,252,3,224,252,3,224,254,3,224,254,3, + 224,255,3,224,255,3,224,255,131,224,255,195,224,251,195,224, + 251,227,224,249,227,224,249,243,224,248,243,224,248,251,224,248, + 123,224,248,63,224,248,63,224,248,31,224,248,31,224,248,15, + 224,248,15,224,248,7,224,248,7,224,248,3,224,23,25,75, + 25,1,0,1,255,0,7,255,192,15,255,224,31,255,240,63, + 199,248,63,1,248,126,0,252,124,0,124,124,0,124,248,0, + 62,248,0,62,248,0,62,248,0,62,248,0,62,248,0,62, + 248,0,62,124,0,124,124,0,124,126,0,252,63,1,248,63, + 199,248,31,255,240,15,255,224,7,255,192,1,255,0,18,25, + 75,22,2,0,255,248,0,255,254,0,255,255,0,255,255,128, + 248,31,128,248,15,192,248,7,192,248,7,192,248,7,192,248, + 7,192,248,15,192,248,31,128,255,255,128,255,255,0,255,252, + 0,255,240,0,248,0,0,248,0,0,248,0,0,248,0,0, + 248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,23, + 26,78,26,1,255,1,255,0,7,255,192,15,255,224,31,255, + 240,63,199,248,63,1,248,126,0,252,124,0,124,252,0,126, + 248,0,62,248,0,62,248,0,62,248,0,62,248,0,62,248, + 0,62,248,2,62,252,7,62,124,15,188,126,15,252,63,7, + 248,63,195,240,31,255,248,15,255,252,7,255,254,1,255,60, + 0,0,24,19,25,75,24,2,0,255,254,0,255,255,128,255, + 255,192,255,255,192,248,7,224,248,3,224,248,3,224,248,3, + 224,248,3,224,248,7,192,248,15,192,255,255,128,255,255,0, + 255,255,0,255,255,128,248,15,192,248,7,192,248,7,192,248, + 7,192,248,7,192,248,7,192,248,7,192,248,7,192,248,7, + 224,248,3,224,19,25,75,22,1,0,3,248,0,15,254,0, + 31,255,0,63,255,128,62,31,128,124,7,192,120,7,192,120, + 3,192,124,0,0,127,0,0,63,240,0,63,254,0,31,255, + 128,3,255,192,0,63,192,0,7,224,0,3,224,248,3,224, + 248,3,224,124,3,224,126,15,192,63,255,192,31,255,128,15, + 255,0,3,248,0,19,25,75,20,0,0,255,255,224,255,255, + 224,255,255,224,255,255,224,1,240,0,1,240,0,1,240,0, + 1,240,0,1,240,0,1,240,0,1,240,0,1,240,0,1, + 240,0,1,240,0,1,240,0,1,240,0,1,240,0,1,240, + 0,1,240,0,1,240,0,1,240,0,1,240,0,1,240,0, + 1,240,0,1,240,0,19,25,75,24,2,0,248,3,224,248, + 3,224,248,3,224,248,3,224,248,3,224,248,3,224,248,3, + 224,248,3,224,248,3,224,248,3,224,248,3,224,248,3,224, + 248,3,224,248,3,224,248,3,224,248,3,224,248,3,224,248, + 3,224,248,3,224,252,7,224,127,31,192,127,255,192,63,255, + 128,31,255,0,7,252,0,20,25,75,22,1,0,248,1,240, + 248,1,240,124,3,224,124,3,224,124,3,224,60,3,192,62, + 7,192,62,7,192,30,7,128,31,15,128,31,15,128,15,15, + 0,15,15,0,15,15,0,7,158,0,7,158,0,7,158,0, + 7,254,0,3,252,0,3,252,0,3,252,0,1,248,0,1, + 248,0,1,248,0,0,240,0,29,25,100,31,1,0,248,31, + 129,248,248,31,129,248,120,31,129,240,120,31,129,240,120,31, + 129,240,124,63,195,224,124,63,195,224,124,63,195,224,60,63, + 195,224,60,57,195,192,62,121,227,192,62,121,231,192,30,121, + 231,192,30,121,231,128,30,112,231,128,30,112,231,128,15,240, + 255,0,15,240,255,0,15,240,255,0,15,224,127,0,7,224, + 126,0,7,224,126,0,7,224,126,0,3,192,60,0,3,192, + 60,0,20,25,75,22,1,0,252,3,224,126,7,224,126,7, + 192,63,15,192,31,15,128,31,159,0,15,159,0,15,190,0, + 7,254,0,7,252,0,3,252,0,3,248,0,1,248,0,3, + 248,0,3,252,0,7,252,0,7,254,0,15,191,0,31,159, + 0,31,31,128,63,15,128,62,15,192,126,7,192,252,7,224, + 252,3,240,20,25,75,22,1,0,252,3,240,252,3,224,126, + 7,224,62,7,192,63,15,192,63,15,128,31,15,128,31,159, + 0,15,159,0,15,254,0,7,254,0,7,252,0,3,252,0, + 3,248,0,3,248,0,1,240,0,1,240,0,1,240,0,1, + 240,0,1,240,0,1,240,0,1,240,0,1,240,0,1,240, + 0,1,240,0,17,25,75,20,1,0,255,255,128,255,255,128, + 255,255,128,255,255,128,0,15,128,0,31,128,0,63,0,0, + 126,0,0,124,0,0,252,0,1,248,0,3,240,0,3,240, + 0,7,224,0,15,192,0,15,128,0,31,128,0,63,0,0, + 126,0,0,126,0,0,252,0,0,255,255,128,255,255,128,255, + 255,128,255,255,128,8,31,31,11,2,250,255,255,255,240,240, + 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, + 240,240,240,240,240,240,240,255,255,255,9,25,50,9,0,0, + 192,0,192,0,224,0,96,0,96,0,112,0,112,0,48,0, + 56,0,56,0,24,0,28,0,28,0,12,0,12,0,14,0, + 14,0,6,0,7,0,7,0,3,0,3,128,3,128,1,128, + 1,128,8,31,31,11,0,250,255,255,255,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,255,255,255,14,14,28,19,2,9,7,128,15, + 192,15,192,15,192,31,224,31,224,60,240,60,240,56,112,120, + 120,120,120,112,60,240,60,240,60,18,2,6,18,0,250,255, + 255,192,255,255,192,5,5,5,11,2,20,224,240,112,120,56, + 15,18,36,18,1,0,15,240,63,252,127,252,124,62,248,30, + 248,30,0,254,15,254,63,254,127,30,248,30,248,30,240,62, + 248,126,255,254,255,254,127,222,63,30,16,25,50,20,2,0, + 240,0,240,0,240,0,240,0,240,0,240,0,240,0,243,240, + 247,252,255,252,255,254,252,62,248,31,240,31,240,15,240,15, + 240,15,240,15,240,31,240,31,248,62,255,254,255,252,247,248, + 241,240,15,18,36,18,1,0,7,224,31,248,63,252,63,252, + 124,62,120,62,240,30,240,0,240,0,240,0,240,0,240,30, + 248,30,124,62,127,252,63,248,31,248,7,224,16,25,50,20, + 1,0,0,15,0,15,0,15,0,15,0,15,0,15,0,15, + 15,207,31,239,63,255,127,255,124,63,248,31,240,15,240,15, + 240,15,240,15,240,15,240,15,248,31,124,63,127,255,63,239, + 31,239,15,143,16,18,36,18,1,0,7,224,31,248,63,252, + 127,254,124,62,248,31,240,31,255,255,255,255,255,255,240,0, + 240,0,248,30,124,62,127,252,63,252,31,240,7,192,10,25, + 50,11,0,0,7,192,15,192,31,192,31,0,30,0,30,0, + 30,0,255,192,255,192,255,192,30,0,30,0,30,0,30,0, + 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, + 30,0,30,0,30,0,16,25,50,20,1,249,15,207,31,239, + 63,255,127,255,124,63,248,31,248,31,240,15,240,15,240,15, + 240,15,248,31,248,31,124,63,127,255,63,255,31,239,15,207, + 0,15,248,31,248,31,126,126,127,254,63,252,15,240,15,25, + 50,20,2,0,240,0,240,0,240,0,240,0,240,0,240,0, + 240,0,241,224,247,248,255,252,255,252,252,62,248,30,248,30, + 240,30,240,30,240,30,240,30,240,30,240,30,240,30,240,30, + 240,30,240,30,240,30,4,25,25,9,2,0,240,240,240,240, + 0,0,240,240,240,240,240,240,240,240,240,240,240,240,240,240, + 240,240,240,240,240,6,32,32,9,0,249,60,60,60,60,0, + 0,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60, + 60,60,60,60,60,60,60,252,252,248,248,15,25,50,19,2, + 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, + 62,240,124,240,248,241,240,243,224,247,192,255,128,255,192,255, + 192,255,224,255,224,249,240,241,240,240,248,240,120,240,124,240, + 62,240,62,4,25,25,9,2,0,240,240,240,240,240,240,240, + 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, + 240,240,24,18,54,30,2,0,241,224,248,247,251,254,255,255, + 254,255,255,255,252,127,31,248,62,15,240,60,15,240,60,15, + 240,60,15,240,60,15,240,60,15,240,60,15,240,60,15,240, + 60,15,240,60,15,240,60,15,240,60,15,240,60,15,15,18, + 36,20,2,0,241,240,247,252,255,252,255,254,252,62,248,30, + 240,30,240,30,240,30,240,30,240,30,240,30,240,30,240,30, + 240,30,240,30,240,30,240,30,17,18,54,20,1,0,7,240, + 0,31,252,0,63,254,0,127,255,0,124,31,0,248,15,128, + 248,15,128,240,7,128,240,7,128,240,7,128,240,7,128,248, + 15,128,248,15,128,124,31,0,127,255,0,63,254,0,31,252, + 0,7,240,0,16,25,50,20,2,249,241,240,247,248,255,252, + 255,254,252,62,248,31,248,31,240,15,240,15,240,15,240,15, + 248,31,248,31,252,62,255,254,255,252,247,248,241,240,240,0, + 240,0,240,0,240,0,240,0,240,0,240,0,16,25,50,20, + 1,249,7,207,31,239,63,255,127,255,124,63,248,31,240,15, + 240,15,240,15,240,15,240,15,240,15,248,31,124,63,127,255, + 63,255,63,239,15,207,0,15,0,15,0,15,0,15,0,15, + 0,15,0,15,10,18,36,13,2,0,240,192,243,192,247,192, + 255,192,255,192,252,0,248,0,248,0,240,0,240,0,240,0, + 240,0,240,0,240,0,240,0,240,0,240,0,240,0,16,18, + 36,19,1,0,7,240,31,252,63,254,124,62,120,31,120,31, + 124,0,127,192,63,248,15,254,3,255,0,63,248,15,248,15, + 124,31,127,254,63,252,15,240,9,22,44,11,1,0,60,0, + 60,0,60,0,60,0,255,128,255,128,255,128,60,0,60,0, + 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, + 60,0,63,128,63,128,31,128,15,128,15,18,36,20,2,0, + 240,30,240,30,240,30,240,30,240,30,240,30,240,30,240,30, + 240,30,240,30,240,30,240,30,248,62,248,126,255,254,127,254, + 127,222,31,30,17,18,54,19,0,0,248,15,128,248,15,128, + 124,31,0,124,31,0,60,30,0,60,30,0,62,62,0,30, + 60,0,30,60,0,30,60,0,15,120,0,15,120,0,15,120, + 0,7,240,0,7,240,0,7,240,0,3,224,0,3,224,0, + 25,18,72,26,0,0,248,62,15,128,248,62,15,128,120,62, + 15,0,124,62,31,0,124,127,31,0,60,127,30,0,60,127, + 30,0,60,119,30,0,60,247,158,0,30,227,188,0,30,227, + 188,0,30,227,188,0,31,227,252,0,15,193,248,0,15,193, + 248,0,15,193,248,0,7,128,240,0,7,128,240,0,16,18, + 36,19,1,0,248,31,252,63,124,62,62,124,62,120,31,248, + 15,240,7,224,3,192,7,224,15,224,15,240,31,248,62,120, + 62,124,124,62,252,63,248,31,16,25,50,19,1,249,248,31, + 248,31,248,30,120,62,124,62,124,60,60,60,62,124,62,120, + 30,120,30,120,31,240,15,240,15,240,15,224,7,224,7,224, + 7,192,7,192,7,192,15,128,63,128,63,0,63,0,60,0, + 14,18,36,17,1,0,255,252,255,252,255,252,255,252,0,248, + 1,240,3,240,7,224,15,192,31,128,31,0,62,0,124,0, + 248,0,255,252,255,252,255,252,255,252,9,32,64,13,2,249, + 15,128,31,128,63,128,62,0,60,0,60,0,60,0,60,0, + 60,0,60,0,60,0,60,0,60,0,60,0,124,0,120,0, + 224,0,120,0,124,0,60,0,60,0,60,0,60,0,60,0, + 60,0,60,0,60,0,60,0,60,0,63,128,31,128,15,128, + 3,31,31,9,3,250,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,9,32,64,13,2,249,248,0,252,0,254, + 0,62,0,30,0,30,0,30,0,30,0,30,0,30,0,30, + 0,30,0,30,0,30,0,31,0,15,0,3,128,15,0,31, + 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, + 0,30,0,30,0,254,0,252,0,248,0,14,6,12,19,2, + 5,56,0,126,12,255,156,231,252,193,248,0,112,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,255,255,255,255,255,255,255,0,0, + 0,9,0,1,5,24,24,11,2,250,248,248,248,248,248,0, + 0,112,112,112,112,112,112,248,248,248,248,248,248,248,248,248, + 248,248,15,24,48,18,1,253,0,32,0,32,0,96,7,240, + 31,248,63,252,127,252,124,190,248,158,249,158,241,128,241,128, + 243,0,243,0,243,30,250,30,126,62,127,252,63,248,31,240, + 15,192,12,0,8,0,8,0,17,24,72,18,0,0,3,240, + 0,31,252,0,63,254,0,63,255,0,126,31,0,124,15,128, + 124,15,128,124,7,128,124,0,0,126,0,0,62,0,0,255, + 240,0,255,240,0,31,0,0,15,0,0,15,0,0,15,0, + 0,31,0,0,30,0,0,61,227,0,127,255,128,255,255,128, + 255,255,0,96,126,0,15,15,30,18,1,4,224,14,247,222, + 255,254,127,252,60,120,120,60,112,28,112,28,112,28,120,60, + 60,120,127,252,255,254,247,222,224,14,18,24,72,18,0,0, + 248,7,192,248,7,192,124,15,128,60,15,0,30,30,0,30, + 30,0,15,60,0,15,60,0,7,248,0,7,248,0,3,240, + 0,1,224,0,63,255,0,63,255,0,1,224,0,1,224,0, + 63,255,0,63,255,0,1,224,0,1,224,0,1,224,0,1, + 224,0,1,224,0,1,224,0,3,31,31,9,3,250,224,224, + 224,224,224,224,224,224,224,224,224,224,224,0,0,0,0,0, + 0,224,224,224,224,224,224,224,224,224,224,224,224,16,32,64, + 18,1,249,15,240,31,248,63,248,126,124,124,60,124,60,126, + 0,127,0,63,192,31,224,63,248,127,252,113,254,240,255,240, + 63,248,31,252,15,127,15,127,159,63,254,31,248,7,252,1, + 254,0,126,0,62,120,30,120,30,124,62,63,252,63,252,31, + 248,7,224,10,4,8,11,0,21,243,192,243,192,243,192,243, + 192,26,25,100,24,0,0,0,127,128,0,3,255,224,0,7, + 128,248,0,31,0,60,0,28,0,14,0,56,0,7,0,112, + 63,3,0,112,127,131,128,224,243,193,128,225,192,225,192,193, + 192,224,192,195,128,0,192,195,128,0,192,195,128,0,192,195, + 128,0,192,193,192,224,192,225,192,225,192,224,243,195,128,96, + 127,131,128,112,63,7,0,56,0,14,0,30,0,60,0,15, + 128,248,0,7,255,224,0,1,255,128,0,9,16,32,12,1, + 9,62,0,127,0,227,128,195,128,31,128,127,128,243,128,227, + 128,227,128,255,128,123,128,0,0,0,0,255,128,255,128,255, + 128,12,13,26,18,3,2,8,16,24,48,56,112,120,240,241, + 224,225,192,225,192,241,224,249,240,120,240,56,112,24,48,8, + 16,16,10,20,19,1,4,255,255,255,255,255,255,255,255,0, + 15,0,15,0,15,0,15,0,15,0,15,9,5,10,11,1, + 7,255,128,255,128,255,128,255,128,255,128,26,25,100,24,0, + 0,0,255,128,0,3,255,224,0,7,128,248,0,30,0,60, + 0,28,0,14,0,56,255,135,0,112,255,195,0,112,225,227, + 128,224,224,225,128,224,224,225,128,192,224,225,192,192,225,193, + 192,192,255,129,192,192,255,1,192,192,227,129,192,192,227,193, + 192,224,225,193,128,224,224,227,128,112,224,243,128,112,224,119, + 0,56,0,14,0,30,0,28,0,15,128,120,0,7,255,224, + 0,1,255,128,0,10,3,6,11,0,21,255,192,255,192,255, + 192,9,10,20,13,2,14,62,0,127,0,99,0,193,128,193, + 128,193,128,193,128,99,0,127,0,62,0,16,22,44,19,1, + 0,3,192,3,192,3,192,3,192,3,192,3,192,255,255,255, + 255,255,255,255,255,3,192,3,192,3,192,3,192,3,192,3, + 192,0,0,0,0,255,255,255,255,255,255,255,255,10,15,30, + 11,0,9,63,0,127,128,243,192,225,192,225,192,1,192,3, + 192,7,128,15,0,62,0,120,0,112,0,255,192,255,192,255, + 192,10,15,30,11,0,9,30,0,127,128,243,192,225,192,225, + 192,3,192,15,128,15,128,3,192,1,192,225,192,225,192,243, + 192,127,128,62,0,6,5,5,11,4,20,60,120,112,224,224, + 15,25,50,20,2,249,240,30,240,30,240,30,240,30,240,30, + 240,30,240,30,240,30,240,30,240,30,240,30,240,30,248,62, + 248,126,255,254,255,254,255,222,247,158,240,0,240,0,240,0, + 240,0,240,0,240,0,240,0,17,31,93,18,0,250,15,255, + 128,31,255,128,63,140,0,127,140,0,127,140,0,255,140,0, + 255,140,0,255,140,0,255,140,0,255,140,0,127,140,0,127, + 140,0,63,140,0,63,140,0,15,140,0,1,140,0,1,140, + 0,1,140,0,1,140,0,1,140,0,1,140,0,1,140,0, + 1,140,0,1,140,0,1,140,0,1,140,0,1,140,0,1, + 140,0,1,140,0,1,140,0,1,140,0,4,5,5,9,2, + 11,96,240,240,240,96,7,8,8,11,2,249,48,48,48,124, + 30,14,252,248,6,15,15,11,2,9,28,60,252,252,28,28, + 28,28,28,28,28,28,28,28,28,10,16,32,12,1,9,63, + 0,127,128,115,128,225,192,225,192,225,192,225,192,225,192,115, + 128,127,128,63,0,0,0,0,0,255,192,255,192,255,192,12, + 12,24,18,3,3,129,0,193,128,225,192,241,224,120,240,56, + 112,56,112,120,240,241,224,225,192,193,128,129,0,26,24,96, + 28,0,0,0,0,56,0,6,0,112,0,30,0,112,0,254, + 0,224,0,254,1,192,0,14,1,192,0,14,3,128,0,14, + 3,128,0,14,7,0,0,14,7,0,0,14,14,7,0,14, + 28,15,0,14,28,31,0,14,56,31,0,0,56,55,0,0, + 112,103,0,0,112,231,0,0,224,199,0,1,193,135,0,1, + 193,255,192,3,129,255,192,3,128,7,0,7,0,7,0,7, + 0,7,0,25,24,96,28,1,0,0,0,224,0,12,1,192, + 0,28,1,192,0,252,3,128,0,252,3,128,0,28,7,0, + 0,28,14,0,0,28,14,0,0,28,28,0,0,28,28,0, + 0,28,56,126,0,28,48,255,0,28,113,231,128,28,225,195, + 128,0,225,195,128,1,192,7,128,1,192,15,0,3,128,30, + 0,7,0,60,0,7,0,120,0,14,0,240,0,14,1,255, + 128,28,1,255,128,28,1,255,128,25,24,96,27,1,0,63, + 0,28,0,127,128,56,0,243,192,56,0,225,192,112,0,225, + 192,224,0,3,192,224,0,15,129,192,0,15,129,192,0,15, + 195,128,0,1,199,0,0,225,199,14,0,225,206,30,0,243, + 206,30,0,127,156,62,0,63,28,126,0,0,56,238,0,0, + 112,206,0,0,113,142,0,0,227,142,0,0,227,255,128,1, + 195,255,128,1,192,14,0,3,128,14,0,3,128,14,0,16, + 24,48,20,1,250,3,224,3,224,3,224,3,224,0,0,0, + 0,3,192,3,192,3,192,7,192,31,128,63,128,127,0,126, + 0,252,0,248,15,248,15,248,15,252,31,126,127,127,254,63, + 254,63,252,15,240,22,31,93,23,0,0,3,192,0,1,224, + 0,0,240,0,0,120,0,0,60,0,0,0,0,0,252,0, + 0,252,0,1,254,0,1,254,0,1,254,0,3,255,0,3, + 255,0,3,255,0,7,207,128,7,207,128,7,207,128,15,135, + 128,15,135,192,15,135,192,31,3,192,31,3,224,31,255,224, + 31,255,224,63,255,240,63,255,240,62,1,240,124,0,248,124, + 0,248,252,0,252,248,0,124,22,31,93,23,0,0,0,15, + 0,0,30,0,0,60,0,0,120,0,0,240,0,0,0,0, + 0,252,0,0,252,0,1,254,0,1,254,0,1,254,0,3, + 255,0,3,255,0,3,255,0,7,207,128,7,207,128,7,207, + 128,15,135,128,15,135,192,15,135,192,31,3,192,31,3,224, + 31,255,224,31,255,224,63,255,240,63,255,240,62,1,240,124, + 0,248,124,0,248,252,0,252,248,0,124,22,31,93,23,0, + 0,0,48,0,0,120,0,0,252,0,1,206,0,3,135,0, + 0,0,0,0,252,0,0,252,0,1,254,0,1,254,0,1, + 254,0,3,255,0,3,255,0,3,255,0,7,207,128,7,207, + 128,7,207,128,15,135,128,15,135,192,15,135,192,31,3,192, + 31,3,224,31,255,224,31,255,224,63,255,240,63,255,240,62, + 1,240,124,0,248,124,0,248,252,0,252,248,0,124,22,30, + 90,23,0,0,0,241,128,1,255,128,3,255,0,3,30,0, + 0,0,0,0,252,0,0,252,0,1,254,0,1,254,0,1, + 254,0,3,255,0,3,255,0,3,255,0,7,207,128,7,207, + 128,7,207,128,15,135,128,15,135,192,15,135,192,31,3,192, + 31,3,224,31,255,224,31,255,224,63,255,240,63,255,240,62, + 1,240,124,0,248,124,0,248,252,0,252,248,0,124,22,31, + 93,23,0,0,3,207,0,3,207,0,3,207,0,3,207,0, + 0,0,0,0,0,0,0,252,0,0,252,0,1,254,0,1, + 254,0,1,254,0,3,255,0,3,255,0,3,255,0,7,207, + 128,7,207,128,7,207,128,15,135,128,15,135,192,15,135,192, + 31,3,192,31,3,224,31,255,224,31,255,224,63,255,240,63, + 255,240,62,1,240,124,0,248,124,0,248,252,0,252,248,0, + 124,22,31,93,23,0,0,0,120,0,0,204,0,0,132,0, + 0,132,0,0,204,0,0,120,0,0,0,0,0,252,0,1, + 254,0,1,254,0,1,254,0,3,255,0,3,255,0,3,255, + 0,7,207,128,7,207,128,7,207,128,15,135,128,15,135,192, + 15,135,192,31,3,192,31,3,224,31,255,224,31,255,224,63, + 255,240,63,255,240,62,1,240,124,0,248,124,0,248,252,0, + 252,248,0,124,31,25,100,32,0,0,0,255,255,252,0,255, + 255,252,0,255,255,252,1,255,255,252,1,243,192,0,1,227, + 192,0,3,227,192,0,3,227,192,0,3,195,192,0,7,195, + 192,0,7,195,192,0,7,195,255,248,15,131,255,248,15,131, + 255,248,15,131,255,248,31,3,192,0,31,255,192,0,31,255, + 192,0,63,255,192,0,63,255,192,0,62,3,192,0,124,3, + 255,254,124,3,255,254,248,3,255,254,248,3,255,254,21,32, + 96,23,1,249,1,254,0,7,255,128,15,255,192,31,255,224, + 63,135,240,62,1,240,124,1,240,124,0,248,124,0,248,248, + 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, + 0,248,0,0,124,0,248,124,0,248,126,1,248,62,1,240, + 63,135,240,31,255,224,15,255,192,7,255,128,1,252,0,0, + 96,0,0,96,0,0,248,0,0,28,0,0,28,0,1,248, + 0,1,240,0,18,31,93,22,2,0,30,0,0,15,0,0, + 7,128,0,3,192,0,1,224,0,0,0,0,255,255,128,255, + 255,128,255,255,128,255,255,128,248,0,0,248,0,0,248,0, + 0,248,0,0,248,0,0,248,0,0,255,255,0,255,255,0, + 255,255,0,255,255,0,248,0,0,248,0,0,248,0,0,248, + 0,0,248,0,0,248,0,0,248,0,0,255,255,192,255,255, + 192,255,255,192,255,255,192,18,31,93,22,2,0,0,120,0, + 0,240,0,1,224,0,3,192,0,7,128,0,0,0,0,255, + 255,128,255,255,128,255,255,128,255,255,128,248,0,0,248,0, + 0,248,0,0,248,0,0,248,0,0,248,0,0,255,255,0, + 255,255,0,255,255,0,255,255,0,248,0,0,248,0,0,248, + 0,0,248,0,0,248,0,0,248,0,0,248,0,0,255,255, + 192,255,255,192,255,255,192,255,255,192,18,31,93,22,2,0, + 0,192,0,1,224,0,3,240,0,7,56,0,14,28,0,0, + 0,0,255,255,128,255,255,128,255,255,128,255,255,128,248,0, + 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, + 255,255,0,255,255,0,255,255,0,255,255,0,248,0,0,248, + 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, + 0,255,255,192,255,255,192,255,255,192,255,255,192,18,31,93, + 22,2,0,30,60,0,30,60,0,30,60,0,30,60,0,0, + 0,0,0,0,0,255,255,128,255,255,128,255,255,128,255,255, + 128,248,0,0,248,0,0,248,0,0,248,0,0,248,0,0, + 248,0,0,255,255,0,255,255,0,255,255,0,255,255,0,248, + 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, + 0,248,0,0,255,255,192,255,255,192,255,255,192,255,255,192, + 8,31,31,9,0,0,240,120,60,30,15,0,62,62,62,62, + 62,62,62,62,62,62,62,62,62,62,62,62,62,62,62,62, + 62,62,62,62,62,8,31,31,9,2,0,15,30,60,120,240, + 0,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248, + 248,248,248,248,248,248,248,248,248,248,10,31,62,9,0,0, + 12,0,30,0,63,0,115,128,225,192,0,0,62,0,62,0, + 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, + 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, + 62,0,62,0,62,0,62,0,62,0,62,0,62,0,10,31, + 62,9,0,0,243,192,243,192,243,192,243,192,0,0,0,0, + 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, + 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, + 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, + 62,0,23,25,75,23,255,0,31,255,128,31,255,224,31,255, + 240,31,255,248,31,7,248,31,0,252,31,0,252,31,0,124, + 31,0,126,31,0,62,31,0,62,255,240,62,255,240,62,255, + 240,62,31,0,62,31,0,62,31,0,124,31,0,124,31,0, + 124,31,0,248,31,3,248,31,255,240,31,255,240,31,255,192, + 31,255,128,19,30,90,24,2,0,3,198,0,7,254,0,15, + 252,0,12,120,0,0,0,0,248,3,224,252,3,224,252,3, + 224,254,3,224,254,3,224,255,3,224,255,3,224,255,131,224, + 255,195,224,251,195,224,251,227,224,249,227,224,249,243,224,248, + 243,224,248,251,224,248,123,224,248,63,224,248,63,224,248,31, + 224,248,31,224,248,15,224,248,15,224,248,7,224,248,7,224, + 248,3,224,23,31,93,25,1,0,1,224,0,0,240,0,0, + 120,0,0,60,0,0,30,0,0,0,0,1,255,0,7,255, + 192,15,255,224,31,255,240,63,199,248,63,1,248,126,0,252, + 124,0,124,124,0,124,248,0,62,248,0,62,248,0,62,248, + 0,62,248,0,62,248,0,62,248,0,62,124,0,124,124,0, + 124,126,0,252,63,1,248,63,199,248,31,255,240,15,255,224, + 7,255,192,1,255,0,23,31,93,25,1,0,0,7,128,0, + 15,0,0,30,0,0,60,0,0,120,0,0,0,0,1,255, + 0,7,255,192,15,255,224,31,255,240,63,199,248,63,1,248, + 126,0,252,124,0,124,124,0,124,248,0,62,248,0,62,248, + 0,62,248,0,62,248,0,62,248,0,62,248,0,62,124,0, + 124,124,0,124,126,0,252,63,1,248,63,199,248,31,255,240, + 15,255,224,7,255,192,1,255,0,23,31,93,25,1,0,0, + 24,0,0,60,0,0,126,0,0,231,0,1,195,128,0,0, + 0,1,255,0,7,255,192,15,255,224,31,255,240,63,199,248, + 63,1,248,126,0,252,124,0,124,124,0,124,248,0,62,248, + 0,62,248,0,62,248,0,62,248,0,62,248,0,62,248,0, + 62,124,0,124,124,0,124,126,0,252,63,1,248,63,199,248, + 31,255,240,15,255,224,7,255,192,1,255,0,23,30,90,25, + 1,0,0,120,192,0,255,192,1,255,128,1,143,0,0,0, + 0,1,255,0,7,255,192,15,255,224,31,255,240,63,199,248, + 63,1,248,126,0,252,124,0,124,124,0,124,248,0,62,248, + 0,62,248,0,62,248,0,62,248,0,62,248,0,62,248,0, + 62,124,0,124,124,0,124,126,0,252,63,1,248,63,199,248, + 31,255,240,15,255,224,7,255,192,1,255,0,23,31,93,25, + 1,0,1,231,128,1,231,128,1,231,128,1,231,128,0,0, + 0,0,0,0,1,255,0,7,255,192,15,255,224,31,255,240, + 63,199,248,63,1,248,126,0,252,124,0,124,124,0,124,248, + 0,62,248,0,62,248,0,62,248,0,62,248,0,62,248,0, + 62,248,0,62,124,0,124,124,0,124,126,0,252,63,1,248, + 63,199,248,31,255,240,15,255,224,7,255,192,1,255,0,15, + 16,32,19,2,0,32,8,112,28,248,62,252,126,126,252,63, + 248,31,240,15,224,15,224,31,240,63,248,126,252,252,126,248, + 62,112,28,32,8,24,25,75,25,1,0,1,255,7,7,255, + 206,15,255,252,31,255,248,63,199,248,63,0,248,126,1,252, + 124,3,252,124,7,188,248,7,62,248,14,62,248,28,62,248, + 56,62,248,112,62,248,224,62,248,224,62,125,192,124,127,128, + 124,127,0,252,63,1,248,63,199,248,63,255,240,63,255,224, + 119,255,192,225,255,0,19,31,93,24,2,0,7,128,0,3, + 192,0,1,224,0,0,240,0,0,120,0,0,0,0,248,3, + 224,248,3,224,248,3,224,248,3,224,248,3,224,248,3,224, + 248,3,224,248,3,224,248,3,224,248,3,224,248,3,224,248, + 3,224,248,3,224,248,3,224,248,3,224,248,3,224,248,3, + 224,248,3,224,248,3,224,252,7,224,127,31,192,127,255,192, + 63,255,128,31,255,0,7,252,0,19,31,93,24,2,0,0, + 30,0,0,60,0,0,120,0,0,240,0,1,224,0,0,0, + 0,248,3,224,248,3,224,248,3,224,248,3,224,248,3,224, + 248,3,224,248,3,224,248,3,224,248,3,224,248,3,224,248, + 3,224,248,3,224,248,3,224,248,3,224,248,3,224,248,3, + 224,248,3,224,248,3,224,248,3,224,252,7,224,127,31,192, + 127,255,192,63,255,128,31,255,0,7,252,0,19,31,93,24, + 2,0,0,96,0,0,240,0,1,248,0,3,156,0,7,14, + 0,0,0,0,248,3,224,248,3,224,248,3,224,248,3,224, + 248,3,224,248,3,224,248,3,224,248,3,224,248,3,224,248, + 3,224,248,3,224,248,3,224,248,3,224,248,3,224,248,3, + 224,248,3,224,248,3,224,248,3,224,248,3,224,252,7,224, + 127,31,192,127,255,192,63,255,128,31,255,0,7,252,0,19, + 31,93,24,2,0,15,30,0,15,30,0,15,30,0,15,30, + 0,0,0,0,0,0,0,248,3,224,248,3,224,248,3,224, + 248,3,224,248,3,224,248,3,224,248,3,224,248,3,224,248, + 3,224,248,3,224,248,3,224,248,3,224,248,3,224,248,3, + 224,248,3,224,248,3,224,248,3,224,248,3,224,248,3,224, + 252,7,224,127,31,192,127,255,192,63,255,128,31,255,0,7, + 252,0,20,31,93,22,1,0,0,30,0,0,60,0,0,120, + 0,0,240,0,1,224,0,0,0,0,252,3,240,252,3,240, + 126,7,224,62,7,192,63,15,192,63,15,128,31,15,128,31, + 159,0,15,159,0,15,254,0,7,254,0,7,252,0,3,252, + 0,3,248,0,3,248,0,1,240,0,1,240,0,1,240,0, + 1,240,0,1,240,0,1,240,0,1,240,0,1,240,0,1, + 240,0,1,240,0,18,25,75,22,2,0,248,0,0,248,0, + 0,248,0,0,255,248,0,255,254,0,255,255,0,255,255,128, + 248,31,128,248,15,192,248,7,192,248,7,192,248,7,192,248, + 7,192,248,15,192,248,31,128,255,255,128,255,255,0,255,254, + 0,255,252,0,248,0,0,248,0,0,248,0,0,248,0,0, + 248,0,0,248,0,0,17,25,75,20,2,0,15,192,0,63, + 240,0,127,252,0,255,252,0,248,126,0,248,62,0,240,62, + 0,240,62,0,240,124,0,240,252,0,241,248,0,241,252,0, + 241,254,0,240,127,0,240,31,0,240,31,128,240,15,128,240, + 15,128,240,15,128,240,31,128,240,63,0,241,255,0,241,254, + 0,241,252,0,241,240,0,15,25,50,18,1,0,15,0,7, + 128,3,128,1,192,0,224,0,0,0,0,15,240,63,252,127, + 252,124,62,248,30,248,30,1,254,15,254,63,254,127,30,248, + 30,240,30,240,62,248,126,255,254,255,254,127,222,63,30,15, + 25,50,18,1,0,0,120,0,240,0,224,1,192,3,128,0, + 0,0,0,15,240,63,252,127,252,124,62,248,30,248,30,1, + 254,15,254,63,254,127,30,248,30,240,30,240,62,248,126,255, + 254,255,254,127,222,63,30,15,25,50,18,1,0,1,128,3, + 192,7,224,14,112,28,56,0,0,0,0,15,240,63,252,127, + 252,124,62,248,30,248,30,1,254,15,254,63,254,127,30,248, + 30,240,30,240,62,248,126,255,254,255,254,127,222,63,30,15, + 24,48,18,1,0,7,140,15,252,31,248,24,240,0,0,0, + 0,15,240,63,252,127,252,124,62,248,30,248,30,1,254,15, + 254,63,254,127,30,248,30,240,30,240,62,248,126,255,254,255, + 254,127,222,63,30,15,24,48,18,1,0,30,120,30,120,30, + 120,30,120,0,0,0,0,15,240,63,252,127,252,124,62,248, + 30,248,30,1,254,15,254,63,254,127,30,248,30,240,30,240, + 62,248,126,255,254,255,254,127,222,63,30,15,25,50,18,1, + 0,3,192,6,96,4,32,4,32,6,96,3,192,0,0,15, + 240,63,252,127,252,124,62,248,30,248,30,1,254,15,254,63, + 254,127,30,248,30,248,30,240,62,248,126,255,254,255,254,127, + 222,63,30,26,19,76,29,1,0,7,224,248,0,31,251,254, + 0,63,255,255,0,63,255,255,0,124,63,15,128,120,30,7, + 128,120,30,7,192,0,62,7,192,7,255,255,192,63,255,255, + 192,127,255,255,192,124,30,0,0,248,30,0,0,248,30,7, + 192,252,63,15,192,255,255,255,128,127,247,255,0,63,227,254, + 0,15,129,248,0,15,25,50,18,1,249,7,224,31,248,63, + 252,63,252,124,62,120,30,248,30,240,0,240,0,240,0,240, + 0,248,30,248,30,124,62,127,252,63,248,31,248,7,224,3, + 0,3,0,7,192,0,224,0,224,15,192,15,128,16,25,50, + 18,1,0,15,0,7,128,3,128,1,192,0,224,0,0,0, + 0,7,224,31,248,63,252,127,254,124,62,248,30,240,31,255, + 255,255,255,255,255,240,0,240,0,248,30,124,62,127,254,63, + 252,31,240,7,192,16,25,50,18,1,0,0,120,0,240,0, + 224,1,192,3,128,0,0,0,0,7,224,31,248,63,252,127, + 254,124,62,248,30,240,31,255,255,255,255,255,255,240,0,240, + 0,248,30,124,62,127,254,63,252,31,240,7,192,16,25,50, + 18,1,0,1,128,3,192,7,224,14,112,28,56,0,0,0, + 0,7,224,31,248,63,252,127,254,124,62,248,30,240,31,255, + 255,255,255,255,255,240,0,240,0,248,30,124,62,127,254,63, + 252,31,240,7,192,16,24,48,18,1,0,30,120,30,120,30, + 120,30,120,0,0,0,0,7,224,31,248,63,252,127,254,124, + 62,248,30,240,31,255,255,255,255,255,255,240,0,240,0,248, + 30,124,62,127,254,63,252,31,240,7,192,7,25,25,9,1, + 0,240,120,56,28,14,0,0,30,30,30,30,30,30,30,30, + 30,30,30,30,30,30,30,30,30,30,6,25,25,9,2,0, + 60,56,112,112,224,0,0,240,240,240,240,240,240,240,240,240, + 240,240,240,240,240,240,240,240,240,10,25,50,9,255,0,12, + 0,30,0,63,0,115,128,225,192,0,0,0,0,30,0,30, + 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, + 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, + 0,10,24,48,9,255,0,243,192,243,192,243,192,243,192,0, + 0,0,0,30,0,30,0,30,0,30,0,30,0,30,0,30, + 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, + 0,30,0,30,0,30,0,17,26,78,20,1,0,48,0,0, + 120,32,0,124,240,0,63,224,0,31,192,0,63,224,0,115, + 240,0,33,248,0,7,252,0,31,254,0,63,254,0,127,255, + 0,124,31,0,248,15,128,248,15,128,240,7,128,240,7,128, + 240,7,128,248,15,128,248,15,128,252,31,128,126,63,0,127, + 255,0,63,254,0,31,252,0,7,240,0,15,24,48,20,2, + 0,15,24,31,248,63,240,49,224,0,0,0,0,243,240,247, + 248,255,252,255,254,252,62,248,62,240,30,240,30,240,30,240, + 30,240,30,240,30,240,30,240,30,240,30,240,30,240,30,240, + 30,17,25,75,20,1,0,7,128,0,3,192,0,1,192,0, + 1,224,0,0,240,0,0,0,0,0,0,0,7,240,0,31, + 252,0,63,254,0,127,255,0,124,31,0,248,15,128,248,15, + 128,240,7,128,240,7,128,240,7,128,240,7,128,248,15,128, + 248,15,128,124,31,0,127,255,0,63,254,0,31,252,0,7, + 240,0,17,25,75,20,1,0,0,120,0,0,240,0,0,224, + 0,1,192,0,3,192,0,0,0,0,0,0,0,7,240,0, + 31,252,0,63,254,0,127,255,0,124,31,0,248,15,128,248, + 15,128,240,7,128,240,7,128,240,7,128,240,7,128,248,15, + 128,248,15,128,124,31,0,127,255,0,63,254,0,31,252,0, + 7,240,0,17,25,75,20,1,0,0,192,0,1,224,0,3, + 240,0,7,56,0,14,28,0,0,0,0,0,0,0,7,240, + 0,31,252,0,63,254,0,127,255,0,124,31,0,248,15,128, + 248,15,128,240,7,128,240,7,128,240,7,128,240,7,128,248, + 15,128,248,15,128,124,31,0,127,255,0,63,254,0,31,252, + 0,7,240,0,17,24,72,20,1,0,7,140,0,15,252,0, + 31,248,0,24,240,0,0,0,0,0,0,0,7,240,0,31, + 252,0,63,254,0,127,255,0,124,31,0,248,15,128,248,15, + 128,240,7,128,240,7,128,240,7,128,240,7,128,248,15,128, + 248,15,128,124,31,0,127,255,0,63,254,0,31,252,0,7, + 240,0,17,24,72,20,1,0,30,60,0,30,60,0,30,60, + 0,30,60,0,0,0,0,0,0,0,7,240,0,31,252,0, + 63,254,0,127,255,0,124,31,0,248,15,128,248,15,128,240, + 7,128,240,7,128,240,7,128,240,7,128,248,15,128,248,15, + 128,124,31,0,127,255,0,63,254,0,31,252,0,7,240,0, + 16,16,32,19,1,0,3,192,3,192,3,192,3,192,0,0, + 0,0,255,255,255,255,255,255,255,255,0,0,0,0,3,192, + 3,192,3,192,3,192,21,18,54,20,255,0,1,252,56,7, + 255,112,15,255,224,31,255,192,31,143,192,62,7,224,62,15, + 224,60,29,224,60,57,224,60,113,224,62,227,224,63,131,224, + 63,7,224,31,143,192,31,255,192,63,255,128,119,255,0,225, + 252,0,15,25,50,20,2,0,30,0,15,0,7,0,3,128, + 1,192,0,0,0,0,240,30,240,30,240,30,240,30,240,30, + 240,30,240,30,240,30,240,30,240,30,240,30,240,30,248,62, + 248,126,255,254,127,254,127,222,31,30,15,25,50,20,2,0, + 0,240,1,224,1,192,3,128,7,0,0,0,0,0,240,30, + 240,30,240,30,240,30,240,30,240,30,240,30,240,30,240,30, + 240,30,240,30,240,30,248,62,248,126,255,254,127,254,127,222, + 31,30,15,25,50,20,2,0,3,0,7,128,15,192,28,224, + 56,112,0,0,0,0,240,30,240,30,240,30,240,30,240,30, + 240,30,240,30,240,30,240,30,240,30,240,30,240,30,248,62, + 248,126,255,254,127,254,127,222,31,30,15,25,50,20,2,0, + 60,120,60,120,60,120,60,120,0,0,0,0,0,0,240,30, + 240,30,240,30,240,30,240,30,240,30,240,30,240,30,240,30, + 240,30,240,30,240,30,248,62,248,126,255,254,127,254,127,222, + 31,30,16,32,64,19,1,249,0,120,0,240,1,224,1,192, + 3,128,0,0,0,0,248,31,248,31,248,31,120,30,124,62, + 124,60,60,60,60,60,62,120,62,120,30,120,31,240,31,240, + 15,240,15,224,7,224,7,224,7,192,7,192,7,192,15,128, + 63,128,63,0,63,0,60,0,16,32,64,20,2,249,240,0, + 240,0,240,0,240,0,240,0,240,0,240,0,243,240,247,252, + 255,254,255,254,252,63,248,31,248,31,240,15,240,15,240,15, + 240,15,248,31,248,31,252,62,255,254,255,252,247,248,241,240, + 240,0,240,0,240,0,240,0,240,0,240,0,240,0,16,31, + 62,19,1,249,30,120,30,120,30,120,30,120,0,0,0,0, + 248,31,248,31,248,31,120,62,124,62,124,60,124,60,62,124, + 62,120,62,120,30,120,31,240,31,240,15,240,15,224,7,224, + 7,224,7,192,7,192,7,192,15,128,63,128,63,0,63,0, + 60,0}; +/* + Fontname: -Adobe-Helvetica-Bold-R-Normal--34-240-100-100-P-182-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 0, '1' Height: 23 + Calculated Max Values w=17 h=25 x= 3 y=13 dx=19 dy= 0 ascent=25 len=72 + Font Bounding box w=40 h=49 x=-6 y=-12 + Calculated Min Values x= 0 y=-6 dx= 0 dy= 0 + Pure Font ascent =23 descent= 0 + X Font ascent =23 descent= 0 + Max Font ascent =25 descent=-6 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_helvB24n[743] U8G_FONT_SECTION("u8g_font_helvB24n") = { + 0,40,49,250,244,23,0,0,0,0,42,58,0,25,250,23, + 0,10,11,22,13,1,13,12,0,12,0,76,128,237,192,255, + 192,127,128,30,0,63,0,127,128,115,128,33,0,16,16,32, + 19,1,0,3,192,3,192,3,192,3,192,3,192,3,192,255, + 255,255,255,255,255,255,255,3,192,3,192,3,192,3,192,3, + 192,3,192,5,11,11,9,2,250,248,248,248,248,248,24,24, + 56,112,224,128,9,5,10,11,1,7,255,128,255,128,255,128, + 255,128,255,128,5,5,5,9,2,0,248,248,248,248,248,8, + 25,25,9,0,0,3,3,3,3,6,6,6,14,12,12,12, + 28,24,24,24,48,48,48,112,96,96,96,192,192,192,15,24, + 48,18,1,0,15,224,31,240,63,248,127,252,124,124,248,62, + 248,62,248,62,240,30,240,30,240,30,240,30,240,30,240,30, + 240,30,240,30,248,62,248,62,248,62,124,124,127,252,63,248, + 31,240,15,224,10,23,46,18,2,0,1,192,3,192,7,192, + 31,192,255,192,255,192,255,192,3,192,3,192,3,192,3,192, + 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, + 3,192,3,192,3,192,3,192,16,24,48,18,1,0,15,224, + 63,248,127,252,127,254,252,126,248,63,248,31,240,31,240,31, + 0,63,0,62,0,126,0,252,1,248,7,240,15,224,31,128, + 63,0,126,0,252,0,255,255,255,255,255,255,255,255,16,24, + 48,18,1,0,15,224,63,248,127,252,127,252,248,62,240,62, + 240,30,240,30,0,62,0,124,3,248,3,240,3,252,0,126, + 0,63,0,31,240,31,240,31,240,63,248,62,127,254,127,252, + 63,248,15,224,16,24,48,18,1,0,0,248,0,248,1,248, + 3,248,3,248,7,248,15,120,14,120,30,120,28,120,60,120, + 120,120,112,120,240,120,224,120,255,255,255,255,255,255,255,255, + 0,120,0,120,0,120,0,120,0,120,15,24,48,18,1,0, + 63,252,63,252,63,252,63,252,56,0,120,0,120,0,120,0, + 123,224,127,248,127,252,127,252,120,126,0,62,0,62,0,30, + 0,30,240,62,240,62,248,124,127,252,127,248,63,240,15,192, + 15,24,48,18,1,0,7,224,31,248,63,252,63,254,124,62, + 120,30,240,0,240,0,243,224,247,248,255,252,255,252,252,126, + 248,62,240,30,240,30,240,30,240,30,248,62,124,124,127,252, + 63,248,31,240,7,192,16,24,48,18,1,0,255,255,255,255, + 255,255,255,255,0,30,0,62,0,60,0,120,0,248,0,240, + 1,240,1,224,3,224,3,192,7,192,7,192,7,128,15,128, + 15,128,15,128,31,0,31,0,31,0,31,0,17,24,72,18, + 0,0,7,240,0,31,252,0,63,254,0,62,62,0,124,31, + 0,120,15,0,120,15,0,120,15,0,124,31,0,62,62,0, + 31,252,0,31,252,0,63,254,0,124,31,0,248,15,128,240, + 7,128,240,7,128,240,7,128,248,15,128,126,63,0,127,254, + 0,63,254,0,31,252,0,7,240,0,15,24,48,18,1,0, + 7,192,31,240,63,248,127,252,124,124,248,62,240,30,240,30, + 240,30,240,30,248,62,252,126,127,254,127,254,63,222,7,158, + 0,30,0,30,240,60,248,124,127,248,127,248,31,240,7,192, + 5,17,17,11,3,0,248,248,248,248,248,0,0,0,0,0, + 0,0,248,248,248,248,248}; +/* + Fontname: -Adobe-Helvetica-Bold-R-Normal--34-240-100-100-P-182-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 25, '1' Height: 23 + Calculated Max Values w=29 h=32 x= 3 y=20 dx=33 dy= 0 ascent=25 len=120 + Font Bounding box w=40 h=49 x=-6 y=-12 + Calculated Min Values x= 0 y=-7 dx= 0 dy= 0 + Pure Font ascent =25 descent=-7 + X Font ascent =25 descent=-7 + Max Font ascent =25 descent=-7 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_helvB24r[5214] U8G_FONT_SECTION("u8g_font_helvB24r") = { + 0,40,49,250,244,25,5,252,14,144,32,127,249,25,249,25, + 249,0,0,0,9,0,1,5,25,25,11,3,0,248,248,248, + 248,248,248,248,248,248,248,248,112,112,112,112,112,112,112,0, + 0,248,248,248,248,248,11,9,18,16,2,16,241,224,241,224, + 241,224,241,224,241,224,241,224,241,224,96,192,96,192,18,25, + 75,19,0,255,3,199,0,3,199,0,3,143,0,3,143,0, + 7,143,0,7,142,0,7,142,0,127,255,192,127,255,192,127, + 255,192,127,255,192,15,28,0,14,28,0,14,28,0,14,60, + 0,255,255,128,255,255,128,255,255,128,255,255,128,28,120,0, + 60,120,0,60,112,0,60,112,0,56,240,0,56,240,0,16, + 28,56,18,1,253,1,128,1,128,15,240,63,252,127,254,253, + 190,249,159,241,159,241,143,249,128,255,128,127,192,63,240,15, + 252,1,254,1,255,1,159,1,143,241,143,241,159,249,159,127, + 254,127,254,63,248,7,224,1,128,1,128,1,128,26,23,92, + 29,1,0,14,0,48,0,63,128,112,0,127,192,96,0,113, + 192,224,0,224,224,192,0,224,225,192,0,224,227,128,0,224, + 227,128,0,113,199,0,0,127,198,0,0,63,142,0,0,14, + 12,28,0,0,28,127,0,0,24,255,128,0,56,227,128,0, + 49,193,192,0,113,193,192,0,97,193,192,0,225,193,192,1, + 192,227,128,1,192,255,128,3,128,127,0,3,0,28,0,20, + 25,75,24,2,0,3,224,0,15,248,0,31,252,0,31,252, + 0,30,60,0,62,60,0,62,60,0,31,60,0,31,248,0, + 15,248,0,15,240,0,15,224,0,63,241,224,127,241,224,124, + 249,192,248,255,192,240,127,192,240,63,128,240,31,0,248,15, + 128,252,63,192,127,255,224,127,251,224,31,241,240,7,192,0, + 4,9,9,8,2,16,240,240,240,240,240,240,240,96,96,8, + 31,31,11,1,250,7,15,30,30,60,60,56,120,120,120,240, + 240,240,240,240,240,240,240,240,248,120,120,120,120,60,60,28, + 30,14,15,7,8,31,31,11,1,250,224,240,120,120,60,60, + 28,30,30,30,15,15,15,15,15,15,15,15,15,31,30,30, + 30,28,60,60,56,120,112,240,224,10,11,22,13,1,13,12, + 0,12,0,76,128,237,192,255,192,127,128,30,0,63,0,127, + 128,115,128,33,0,16,16,32,19,1,0,3,192,3,192,3, + 192,3,192,3,192,3,192,255,255,255,255,255,255,255,255,3, + 192,3,192,3,192,3,192,3,192,3,192,5,11,11,9,2, + 250,248,248,248,248,248,24,24,56,112,224,128,9,5,10,11, + 1,7,255,128,255,128,255,128,255,128,255,128,5,5,5,9, + 2,0,248,248,248,248,248,8,25,25,9,0,0,3,3,3, + 3,6,6,6,14,12,12,12,28,24,24,24,48,48,48,112, + 96,96,96,192,192,192,15,24,48,18,1,0,15,224,31,240, + 63,248,127,252,124,124,248,62,248,62,248,62,240,30,240,30, + 240,30,240,30,240,30,240,30,240,30,240,30,248,62,248,62, + 248,62,124,124,127,252,63,248,31,240,15,224,10,23,46,18, + 2,0,1,192,3,192,7,192,31,192,255,192,255,192,255,192, + 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, + 3,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, + 16,24,48,18,1,0,15,224,63,248,127,252,127,254,252,126, + 248,63,248,31,240,31,240,31,0,63,0,62,0,126,0,252, + 1,248,7,240,15,224,31,128,63,0,126,0,252,0,255,255, + 255,255,255,255,255,255,16,24,48,18,1,0,15,224,63,248, + 127,252,127,252,248,62,240,62,240,30,240,30,0,62,0,124, + 3,248,3,240,3,252,0,126,0,63,0,31,240,31,240,31, + 240,63,248,62,127,254,127,252,63,248,15,224,16,24,48,18, + 1,0,0,248,0,248,1,248,3,248,3,248,7,248,15,120, + 14,120,30,120,28,120,60,120,120,120,112,120,240,120,224,120, + 255,255,255,255,255,255,255,255,0,120,0,120,0,120,0,120, + 0,120,15,24,48,18,1,0,63,252,63,252,63,252,63,252, + 56,0,120,0,120,0,120,0,123,224,127,248,127,252,127,252, + 120,126,0,62,0,62,0,30,0,30,240,62,240,62,248,124, + 127,252,127,248,63,240,15,192,15,24,48,18,1,0,7,224, + 31,248,63,252,63,254,124,62,120,30,240,0,240,0,243,224, + 247,248,255,252,255,252,252,126,248,62,240,30,240,30,240,30, + 240,30,248,62,124,124,127,252,63,248,31,240,7,192,16,24, + 48,18,1,0,255,255,255,255,255,255,255,255,0,30,0,62, + 0,60,0,120,0,248,0,240,1,240,1,224,3,224,3,192, + 7,192,7,192,7,128,15,128,15,128,15,128,31,0,31,0, + 31,0,31,0,17,24,72,18,0,0,7,240,0,31,252,0, + 63,254,0,62,62,0,124,31,0,120,15,0,120,15,0,120, + 15,0,124,31,0,62,62,0,31,252,0,31,252,0,63,254, + 0,124,31,0,248,15,128,240,7,128,240,7,128,240,7,128, + 248,15,128,126,63,0,127,254,0,63,254,0,31,252,0,7, + 240,0,15,24,48,18,1,0,7,192,31,240,63,248,127,252, + 124,124,248,62,240,30,240,30,240,30,240,30,248,62,252,126, + 127,254,127,254,63,222,7,158,0,30,0,30,240,60,248,124, + 127,248,127,248,31,240,7,192,5,17,17,11,3,0,248,248, + 248,248,248,0,0,0,0,0,0,0,248,248,248,248,248,5, + 23,23,11,3,250,248,248,248,248,248,0,0,0,0,0,0, + 0,248,248,248,248,248,24,24,56,112,224,128,16,16,32,19, + 1,0,0,3,0,31,0,127,3,255,15,254,127,248,255,192, + 254,0,254,0,255,192,127,240,15,254,3,255,0,127,0,31, + 0,3,15,12,24,19,2,2,255,254,255,254,255,254,255,254, + 0,0,0,0,0,0,0,0,255,254,255,254,255,254,255,254, + 16,16,32,19,1,0,192,0,240,0,254,0,255,192,127,240, + 31,254,3,255,0,127,0,127,3,255,31,254,127,240,255,192, + 254,0,240,0,192,0,16,25,50,20,2,0,15,224,63,248, + 127,252,127,254,252,126,248,63,248,31,240,31,240,31,0,63, + 0,126,0,254,1,252,1,248,3,224,3,192,7,192,7,192, + 0,0,0,0,7,192,7,192,7,192,7,192,7,192,29,30, + 120,33,1,251,0,15,224,0,0,127,252,0,1,255,254,0, + 3,240,63,128,7,192,7,192,15,0,3,192,30,0,1,224, + 28,0,0,240,60,7,220,112,56,31,252,112,112,60,252,56, + 112,120,120,56,240,240,56,56,224,224,56,56,225,224,56,56, + 225,192,112,120,225,192,112,112,225,192,112,112,225,224,240,224, + 241,225,241,224,112,255,255,192,120,127,63,128,56,62,30,0, + 60,0,0,0,30,0,0,0,15,128,0,0,15,240,60,0, + 3,255,252,0,1,255,252,0,0,127,224,0,22,25,75,23, + 0,0,0,252,0,0,252,0,1,254,0,1,254,0,1,254, + 0,3,255,0,3,255,0,3,255,0,7,207,128,7,207,128, + 7,207,128,15,135,128,15,135,192,15,135,192,31,3,192,31, + 3,224,31,255,224,31,255,224,63,255,240,63,255,240,62,1, + 240,124,0,248,124,0,248,252,0,252,248,0,124,19,25,75, + 24,3,0,255,252,0,255,255,0,255,255,128,255,255,128,248, + 15,192,248,7,192,248,7,192,248,7,192,248,7,192,248,15, + 128,255,255,0,255,255,0,255,255,128,255,255,192,248,7,192, + 248,3,224,248,3,224,248,3,224,248,3,224,248,3,224,248, + 7,224,255,255,192,255,255,192,255,255,128,255,254,0,21,25, + 75,24,1,0,1,254,0,7,255,128,15,255,192,31,255,224, + 63,135,240,62,1,240,124,1,248,124,0,248,124,0,248,248, + 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, + 0,248,0,0,124,0,248,124,0,248,126,1,248,62,1,240, + 63,135,240,31,255,224,15,255,192,7,255,128,1,254,0,21, + 25,75,24,2,0,255,248,0,255,255,0,255,255,128,255,255, + 192,248,15,224,248,3,224,248,3,240,248,1,240,248,1,248, + 248,0,248,248,0,248,248,0,248,248,0,248,248,0,248,248, + 0,248,248,0,248,248,1,248,248,1,240,248,3,240,248,3, + 224,248,15,224,255,255,192,255,255,128,255,255,0,255,248,0, + 18,25,75,22,2,0,255,255,128,255,255,128,255,255,128,255, + 255,128,248,0,0,248,0,0,248,0,0,248,0,0,248,0, + 0,248,0,0,255,255,0,255,255,0,255,255,0,255,255,0, + 248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248, + 0,0,248,0,0,255,255,192,255,255,192,255,255,192,255,255, + 192,16,25,50,20,2,0,255,255,255,255,255,255,255,255,248, + 0,248,0,248,0,248,0,248,0,248,0,255,254,255,254,255, + 254,255,254,248,0,248,0,248,0,248,0,248,0,248,0,248, + 0,248,0,248,0,248,0,248,0,22,25,75,25,1,0,0, + 255,0,3,255,192,15,255,224,31,255,240,31,195,248,63,0, + 248,126,0,124,124,0,124,252,0,0,248,0,0,248,0,0, + 248,0,0,248,15,252,248,15,252,248,15,252,248,15,252,252, + 0,124,124,0,124,126,0,124,126,0,252,63,131,252,63,255, + 252,31,255,220,7,255,156,3,254,28,19,25,75,23,2,0, + 248,3,224,248,3,224,248,3,224,248,3,224,248,3,224,248, + 3,224,248,3,224,248,3,224,248,3,224,248,3,224,255,255, + 224,255,255,224,255,255,224,255,255,224,248,3,224,248,3,224, + 248,3,224,248,3,224,248,3,224,248,3,224,248,3,224,248, + 3,224,248,3,224,248,3,224,248,3,224,5,25,25,9,2, + 0,248,248,248,248,248,248,248,248,248,248,248,248,248,248,248, + 248,248,248,248,248,248,248,248,248,248,15,25,50,18,1,0, + 0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62, + 0,62,0,62,0,62,0,62,0,62,0,62,0,62,248,62, + 248,62,248,62,248,62,248,62,252,126,255,252,127,252,63,248, + 15,224,20,25,75,24,2,0,248,7,224,248,7,224,248,15, + 192,248,31,128,248,63,0,248,126,0,248,252,0,248,248,0, + 249,248,0,251,240,0,255,224,0,255,224,0,255,240,0,255, + 240,0,255,248,0,252,252,0,248,126,0,248,126,0,248,63, + 0,248,31,128,248,15,128,248,15,192,248,7,224,248,3,240, + 248,3,240,16,25,50,20,2,0,248,0,248,0,248,0,248, + 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, + 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, + 0,248,0,255,255,255,255,255,255,255,255,23,25,75,27,2, + 0,254,0,254,254,0,254,255,1,254,255,1,254,255,1,254, + 255,1,254,255,131,254,255,131,254,251,131,190,251,131,190,251, + 199,190,251,199,190,251,199,190,249,199,62,249,239,62,249,239, + 62,249,239,62,249,239,62,248,238,62,248,254,62,248,254,62, + 248,254,62,248,124,62,248,124,62,248,124,62,19,25,75,24, + 2,0,248,3,224,252,3,224,252,3,224,254,3,224,254,3, + 224,255,3,224,255,3,224,255,131,224,255,195,224,251,195,224, + 251,227,224,249,227,224,249,243,224,248,243,224,248,251,224,248, + 123,224,248,63,224,248,63,224,248,31,224,248,31,224,248,15, + 224,248,15,224,248,7,224,248,7,224,248,3,224,23,25,75, + 25,1,0,1,255,0,7,255,192,15,255,224,31,255,240,63, + 199,248,63,1,248,126,0,252,124,0,124,124,0,124,248,0, + 62,248,0,62,248,0,62,248,0,62,248,0,62,248,0,62, + 248,0,62,124,0,124,124,0,124,126,0,252,63,1,248,63, + 199,248,31,255,240,15,255,224,7,255,192,1,255,0,18,25, + 75,22,2,0,255,248,0,255,254,0,255,255,0,255,255,128, + 248,31,128,248,15,192,248,7,192,248,7,192,248,7,192,248, + 7,192,248,15,192,248,31,128,255,255,128,255,255,0,255,252, + 0,255,240,0,248,0,0,248,0,0,248,0,0,248,0,0, + 248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,23, + 26,78,26,1,255,1,255,0,7,255,192,15,255,224,31,255, + 240,63,199,248,63,1,248,126,0,252,124,0,124,252,0,126, + 248,0,62,248,0,62,248,0,62,248,0,62,248,0,62,248, + 0,62,248,2,62,252,7,62,124,15,188,126,15,252,63,7, + 248,63,195,240,31,255,248,15,255,252,7,255,254,1,255,60, + 0,0,24,19,25,75,24,2,0,255,254,0,255,255,128,255, + 255,192,255,255,192,248,7,224,248,3,224,248,3,224,248,3, + 224,248,3,224,248,7,192,248,15,192,255,255,128,255,255,0, + 255,255,0,255,255,128,248,15,192,248,7,192,248,7,192,248, + 7,192,248,7,192,248,7,192,248,7,192,248,7,192,248,7, + 224,248,3,224,19,25,75,22,1,0,3,248,0,15,254,0, + 31,255,0,63,255,128,62,31,128,124,7,192,120,7,192,120, + 3,192,124,0,0,127,0,0,63,240,0,63,254,0,31,255, + 128,3,255,192,0,63,192,0,7,224,0,3,224,248,3,224, + 248,3,224,124,3,224,126,15,192,63,255,192,31,255,128,15, + 255,0,3,248,0,19,25,75,20,0,0,255,255,224,255,255, + 224,255,255,224,255,255,224,1,240,0,1,240,0,1,240,0, + 1,240,0,1,240,0,1,240,0,1,240,0,1,240,0,1, + 240,0,1,240,0,1,240,0,1,240,0,1,240,0,1,240, + 0,1,240,0,1,240,0,1,240,0,1,240,0,1,240,0, + 1,240,0,1,240,0,19,25,75,24,2,0,248,3,224,248, + 3,224,248,3,224,248,3,224,248,3,224,248,3,224,248,3, + 224,248,3,224,248,3,224,248,3,224,248,3,224,248,3,224, + 248,3,224,248,3,224,248,3,224,248,3,224,248,3,224,248, + 3,224,248,3,224,252,7,224,127,31,192,127,255,192,63,255, + 128,31,255,0,7,252,0,20,25,75,22,1,0,248,1,240, + 248,1,240,124,3,224,124,3,224,124,3,224,60,3,192,62, + 7,192,62,7,192,30,7,128,31,15,128,31,15,128,15,15, + 0,15,15,0,15,15,0,7,158,0,7,158,0,7,158,0, + 7,254,0,3,252,0,3,252,0,3,252,0,1,248,0,1, + 248,0,1,248,0,0,240,0,29,25,100,31,1,0,248,31, + 129,248,248,31,129,248,120,31,129,240,120,31,129,240,120,31, + 129,240,124,63,195,224,124,63,195,224,124,63,195,224,60,63, + 195,224,60,57,195,192,62,121,227,192,62,121,231,192,30,121, + 231,192,30,121,231,128,30,112,231,128,30,112,231,128,15,240, + 255,0,15,240,255,0,15,240,255,0,15,224,127,0,7,224, + 126,0,7,224,126,0,7,224,126,0,3,192,60,0,3,192, + 60,0,20,25,75,22,1,0,252,3,224,126,7,224,126,7, + 192,63,15,192,31,15,128,31,159,0,15,159,0,15,190,0, + 7,254,0,7,252,0,3,252,0,3,248,0,1,248,0,3, + 248,0,3,252,0,7,252,0,7,254,0,15,191,0,31,159, + 0,31,31,128,63,15,128,62,15,192,126,7,192,252,7,224, + 252,3,240,20,25,75,22,1,0,252,3,240,252,3,224,126, + 7,224,62,7,192,63,15,192,63,15,128,31,15,128,31,159, + 0,15,159,0,15,254,0,7,254,0,7,252,0,3,252,0, + 3,248,0,3,248,0,1,240,0,1,240,0,1,240,0,1, + 240,0,1,240,0,1,240,0,1,240,0,1,240,0,1,240, + 0,1,240,0,17,25,75,20,1,0,255,255,128,255,255,128, + 255,255,128,255,255,128,0,15,128,0,31,128,0,63,0,0, + 126,0,0,124,0,0,252,0,1,248,0,3,240,0,3,240, + 0,7,224,0,15,192,0,15,128,0,31,128,0,63,0,0, + 126,0,0,126,0,0,252,0,0,255,255,128,255,255,128,255, + 255,128,255,255,128,8,31,31,11,2,250,255,255,255,240,240, + 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, + 240,240,240,240,240,240,240,255,255,255,9,25,50,9,0,0, + 192,0,192,0,224,0,96,0,96,0,112,0,112,0,48,0, + 56,0,56,0,24,0,28,0,28,0,12,0,12,0,14,0, + 14,0,6,0,7,0,7,0,3,0,3,128,3,128,1,128, + 1,128,8,31,31,11,0,250,255,255,255,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,255,255,255,14,14,28,19,2,9,7,128,15, + 192,15,192,15,192,31,224,31,224,60,240,60,240,56,112,120, + 120,120,120,112,60,240,60,240,60,18,2,6,18,0,250,255, + 255,192,255,255,192,5,5,5,11,2,20,224,240,112,120,56, + 15,18,36,18,1,0,15,240,63,252,127,252,124,62,248,30, + 248,30,0,254,15,254,63,254,127,30,248,30,248,30,240,62, + 248,126,255,254,255,254,127,222,63,30,16,25,50,20,2,0, + 240,0,240,0,240,0,240,0,240,0,240,0,240,0,243,240, + 247,252,255,252,255,254,252,62,248,31,240,31,240,15,240,15, + 240,15,240,15,240,31,240,31,248,62,255,254,255,252,247,248, + 241,240,15,18,36,18,1,0,7,224,31,248,63,252,63,252, + 124,62,120,62,240,30,240,0,240,0,240,0,240,0,240,30, + 248,30,124,62,127,252,63,248,31,248,7,224,16,25,50,20, + 1,0,0,15,0,15,0,15,0,15,0,15,0,15,0,15, + 15,207,31,239,63,255,127,255,124,63,248,31,240,15,240,15, + 240,15,240,15,240,15,240,15,248,31,124,63,127,255,63,239, + 31,239,15,143,16,18,36,18,1,0,7,224,31,248,63,252, + 127,254,124,62,248,31,240,31,255,255,255,255,255,255,240,0, + 240,0,248,30,124,62,127,252,63,252,31,240,7,192,10,25, + 50,11,0,0,7,192,15,192,31,192,31,0,30,0,30,0, + 30,0,255,192,255,192,255,192,30,0,30,0,30,0,30,0, + 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, + 30,0,30,0,30,0,16,25,50,20,1,249,15,207,31,239, + 63,255,127,255,124,63,248,31,248,31,240,15,240,15,240,15, + 240,15,248,31,248,31,124,63,127,255,63,255,31,239,15,207, + 0,15,248,31,248,31,126,126,127,254,63,252,15,240,15,25, + 50,20,2,0,240,0,240,0,240,0,240,0,240,0,240,0, + 240,0,241,224,247,248,255,252,255,252,252,62,248,30,248,30, + 240,30,240,30,240,30,240,30,240,30,240,30,240,30,240,30, + 240,30,240,30,240,30,4,25,25,9,2,0,240,240,240,240, + 0,0,240,240,240,240,240,240,240,240,240,240,240,240,240,240, + 240,240,240,240,240,6,32,32,9,0,249,60,60,60,60,0, + 0,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60, + 60,60,60,60,60,60,60,252,252,248,248,15,25,50,19,2, + 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, + 62,240,124,240,248,241,240,243,224,247,192,255,128,255,192,255, + 192,255,224,255,224,249,240,241,240,240,248,240,120,240,124,240, + 62,240,62,4,25,25,9,2,0,240,240,240,240,240,240,240, + 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, + 240,240,24,18,54,30,2,0,241,224,248,247,251,254,255,255, + 254,255,255,255,252,127,31,248,62,15,240,60,15,240,60,15, + 240,60,15,240,60,15,240,60,15,240,60,15,240,60,15,240, + 60,15,240,60,15,240,60,15,240,60,15,240,60,15,15,18, + 36,20,2,0,241,240,247,252,255,252,255,254,252,62,248,30, + 240,30,240,30,240,30,240,30,240,30,240,30,240,30,240,30, + 240,30,240,30,240,30,240,30,17,18,54,20,1,0,7,240, + 0,31,252,0,63,254,0,127,255,0,124,31,0,248,15,128, + 248,15,128,240,7,128,240,7,128,240,7,128,240,7,128,248, + 15,128,248,15,128,124,31,0,127,255,0,63,254,0,31,252, + 0,7,240,0,16,25,50,20,2,249,241,240,247,248,255,252, + 255,254,252,62,248,31,248,31,240,15,240,15,240,15,240,15, + 248,31,248,31,252,62,255,254,255,252,247,248,241,240,240,0, + 240,0,240,0,240,0,240,0,240,0,240,0,16,25,50,20, + 1,249,7,207,31,239,63,255,127,255,124,63,248,31,240,15, + 240,15,240,15,240,15,240,15,240,15,248,31,124,63,127,255, + 63,255,63,239,15,207,0,15,0,15,0,15,0,15,0,15, + 0,15,0,15,10,18,36,13,2,0,240,192,243,192,247,192, + 255,192,255,192,252,0,248,0,248,0,240,0,240,0,240,0, + 240,0,240,0,240,0,240,0,240,0,240,0,240,0,16,18, + 36,19,1,0,7,240,31,252,63,254,124,62,120,31,120,31, + 124,0,127,192,63,248,15,254,3,255,0,63,248,15,248,15, + 124,31,127,254,63,252,15,240,9,22,44,11,1,0,60,0, + 60,0,60,0,60,0,255,128,255,128,255,128,60,0,60,0, + 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, + 60,0,63,128,63,128,31,128,15,128,15,18,36,20,2,0, + 240,30,240,30,240,30,240,30,240,30,240,30,240,30,240,30, + 240,30,240,30,240,30,240,30,248,62,248,126,255,254,127,254, + 127,222,31,30,17,18,54,19,0,0,248,15,128,248,15,128, + 124,31,0,124,31,0,60,30,0,60,30,0,62,62,0,30, + 60,0,30,60,0,30,60,0,15,120,0,15,120,0,15,120, + 0,7,240,0,7,240,0,7,240,0,3,224,0,3,224,0, + 25,18,72,26,0,0,248,62,15,128,248,62,15,128,120,62, + 15,0,124,62,31,0,124,127,31,0,60,127,30,0,60,127, + 30,0,60,119,30,0,60,247,158,0,30,227,188,0,30,227, + 188,0,30,227,188,0,31,227,252,0,15,193,248,0,15,193, + 248,0,15,193,248,0,7,128,240,0,7,128,240,0,16,18, + 36,19,1,0,248,31,252,63,124,62,62,124,62,120,31,248, + 15,240,7,224,3,192,7,224,15,224,15,240,31,248,62,120, + 62,124,124,62,252,63,248,31,16,25,50,19,1,249,248,31, + 248,31,248,30,120,62,124,62,124,60,60,60,62,124,62,120, + 30,120,30,120,31,240,15,240,15,240,15,224,7,224,7,224, + 7,192,7,192,7,192,15,128,63,128,63,0,63,0,60,0, + 14,18,36,17,1,0,255,252,255,252,255,252,255,252,0,248, + 1,240,3,240,7,224,15,192,31,128,31,0,62,0,124,0, + 248,0,255,252,255,252,255,252,255,252,9,32,64,13,2,249, + 15,128,31,128,63,128,62,0,60,0,60,0,60,0,60,0, + 60,0,60,0,60,0,60,0,60,0,60,0,124,0,120,0, + 224,0,120,0,124,0,60,0,60,0,60,0,60,0,60,0, + 60,0,60,0,60,0,60,0,60,0,63,128,31,128,15,128, + 3,31,31,9,3,250,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,9,32,64,13,2,249,248,0,252,0,254, + 0,62,0,30,0,30,0,30,0,30,0,30,0,30,0,30, + 0,30,0,30,0,30,0,31,0,15,0,3,128,15,0,31, + 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, + 0,30,0,30,0,254,0,252,0,248,0,14,6,12,19,2, + 5,56,0,126,12,255,156,231,252,193,248,0,112,255}; +/* + Fontname: -Adobe-Helvetica-Medium-R-Normal--11-80-100-100-P-56-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 8, '1' Height: 8 + Calculated Max Values w=10 h=11 x= 1 y= 7 dx=11 dy= 0 ascent=11 len=18 + Font Bounding box w=13 h=18 x=-2 y=-4 + Calculated Min Values x=-1 y=-2 dx= 0 dy= 0 + Pure Font ascent = 8 descent=-2 + X Font ascent = 8 descent=-2 + Max Font ascent =11 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_helvR08[2687] U8G_FONT_SECTION("u8g_font_helvR08") = { + 0,13,18,254,252,8,1,178,3,111,32,255,254,11,254,8, + 254,0,0,0,3,0,1,1,8,8,3,1,0,128,128,128, + 128,128,128,0,128,3,2,2,4,1,6,160,160,6,7,7, + 6,0,0,40,40,124,40,248,80,80,5,10,10,6,0,255, + 32,112,168,160,112,40,40,168,112,32,8,8,8,9,0,0, + 100,148,104,8,16,22,41,38,6,8,8,8,1,0,96,144, + 144,96,148,136,152,100,1,2,2,2,0,6,128,128,3,10, + 10,4,0,254,32,64,64,128,128,128,128,64,64,32,3,10, + 10,4,1,254,128,64,64,32,32,32,32,64,64,128,3,3, + 3,4,0,5,160,64,160,5,5,5,6,0,1,32,32,248, + 32,32,2,3,3,3,0,254,64,64,128,3,1,1,4,0, + 3,224,1,1,1,3,1,0,128,3,8,8,3,0,0,32, + 32,64,64,64,64,128,128,5,8,8,6,0,0,112,136,136, + 136,136,136,136,112,2,8,8,6,1,0,64,192,64,64,64, + 64,64,64,5,8,8,6,0,0,112,136,8,8,48,64,128, + 248,5,8,8,6,0,0,112,136,8,48,8,8,136,112,5, + 8,8,6,0,0,16,48,80,80,144,248,16,16,5,8,8, + 6,0,0,120,64,64,112,8,8,136,112,5,8,8,6,0, + 0,112,136,128,240,136,136,136,112,5,8,8,6,0,0,248, + 8,16,32,32,64,64,64,5,8,8,6,0,0,112,136,136, + 112,136,136,136,112,5,8,8,6,0,0,112,136,136,136,120, + 8,136,112,1,6,6,3,1,0,128,0,0,0,0,128,2, + 8,8,3,0,254,64,0,0,0,0,64,64,128,3,5,5, + 6,1,1,32,64,128,64,32,4,3,3,5,0,2,240,0, + 240,3,5,5,6,1,1,128,64,32,64,128,4,8,8,6, + 1,0,96,144,16,32,64,64,0,64,10,9,18,11,0,255, + 31,0,32,128,77,64,146,64,162,64,164,128,155,0,64,0, + 62,0,7,8,8,7,0,0,16,16,40,40,68,124,130,130, + 5,8,8,7,1,0,240,136,136,240,136,136,136,240,6,8, + 8,8,1,0,120,132,128,128,128,128,132,120,6,8,8,8, + 1,0,240,136,132,132,132,132,136,240,5,8,8,7,1,0, + 248,128,128,248,128,128,128,248,5,8,8,6,1,0,248,128, + 128,240,128,128,128,128,6,8,8,8,1,0,120,132,128,128, + 140,132,132,124,6,8,8,8,1,0,132,132,132,252,132,132, + 132,132,1,8,8,3,1,0,128,128,128,128,128,128,128,128, + 4,8,8,5,0,0,16,16,16,16,16,16,144,96,5,8, + 8,7,1,0,136,144,160,224,144,144,136,136,4,8,8,6, + 1,0,128,128,128,128,128,128,128,240,7,8,8,9,1,0, + 130,198,198,170,170,146,146,146,6,8,8,8,1,0,196,196, + 164,164,148,148,140,140,6,8,8,8,1,0,120,132,132,132, + 132,132,132,120,5,8,8,7,1,0,240,136,136,240,128,128, + 128,128,7,9,9,8,1,255,120,132,132,132,132,148,140,124, + 2,5,8,8,7,1,0,240,136,136,240,136,136,136,136,5, + 8,8,7,1,0,112,136,128,112,8,136,136,112,5,8,8, + 5,0,0,248,32,32,32,32,32,32,32,6,8,8,8,1, + 0,132,132,132,132,132,132,132,120,7,8,8,7,0,0,130, + 130,68,68,68,40,40,16,9,8,16,9,0,0,136,128,136, + 128,73,0,73,0,85,0,34,0,34,0,34,0,5,8,8, + 7,1,0,136,136,80,32,80,80,136,136,7,8,8,7,0, + 0,130,68,68,40,40,16,16,16,5,8,8,7,1,0,248, + 8,16,32,32,64,128,248,2,10,10,3,1,254,192,128,128, + 128,128,128,128,128,128,192,3,8,8,3,0,0,128,128,64, + 64,64,64,32,32,2,10,10,3,0,254,192,64,64,64,64, + 64,64,64,64,192,5,5,5,6,0,3,32,32,80,80,136, + 6,1,1,6,0,254,252,2,2,2,3,0,7,128,64,5, + 6,6,5,0,0,224,16,112,144,144,104,5,8,8,6,0, + 0,128,128,176,200,136,136,200,176,4,6,6,5,0,0,96, + 144,128,128,144,96,5,8,8,6,0,0,8,8,104,152,136, + 136,152,104,4,6,6,5,0,0,96,144,240,128,144,96,4, + 8,8,4,0,0,48,64,224,64,64,64,64,64,5,8,8, + 6,0,254,104,152,136,136,152,104,8,112,5,8,8,6,0, + 0,128,128,176,200,136,136,136,136,1,8,8,2,0,0,128, + 0,128,128,128,128,128,128,2,10,10,2,255,254,64,0,64, + 64,64,64,64,64,64,128,4,8,8,5,0,0,128,128,144, + 160,192,160,144,144,1,8,8,2,0,0,128,128,128,128,128, + 128,128,128,7,6,6,8,0,0,236,146,146,146,146,146,5, + 6,6,6,0,0,176,200,136,136,136,136,5,6,6,6,0, + 0,112,136,136,136,136,112,5,8,8,6,0,254,176,200,136, + 136,200,176,128,128,5,8,8,6,0,254,104,152,136,136,152, + 104,8,8,3,6,6,4,0,0,160,192,128,128,128,128,4, + 6,6,5,0,0,96,144,96,16,144,96,3,8,8,4,0, + 0,64,64,224,64,64,64,64,96,4,6,6,5,0,0,144, + 144,144,144,144,112,5,6,6,6,0,0,136,136,80,80,32, + 32,7,6,6,8,0,0,146,146,84,84,40,40,5,6,6, + 6,0,0,136,80,32,80,136,136,5,8,8,5,255,254,72, + 72,80,80,48,32,32,192,4,6,6,5,0,0,240,16,32, + 64,128,240,3,10,10,3,0,254,32,64,64,64,128,64,64, + 64,64,32,1,10,10,3,1,254,128,128,128,128,128,128,128, + 128,128,128,3,10,10,3,0,254,128,64,64,64,32,64,64, + 64,64,128,6,2,2,7,0,3,100,152,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,255,255,255,255,255,255,255,0,0,0,3, + 0,1,1,8,8,3,1,254,128,0,128,128,128,128,128,128, + 5,8,8,6,1,255,16,112,168,160,160,168,112,64,5,8, + 8,6,0,0,48,72,64,224,64,64,72,176,4,6,6,5, + 0,1,144,96,144,144,96,144,5,8,8,6,0,0,136,136, + 136,80,248,32,248,32,1,10,10,3,1,254,128,128,128,128, + 0,0,128,128,128,128,5,10,10,6,0,254,112,136,192,112, + 152,200,112,24,136,112,3,1,1,3,0,7,160,7,7,7, + 9,1,0,56,68,154,162,154,68,56,3,5,5,4,0,3, + 224,32,160,0,224,5,5,5,6,0,0,40,80,160,80,40, + 5,3,3,7,1,2,248,8,8,3,1,1,4,0,3,224, + 7,7,7,9,1,0,56,68,186,178,170,68,56,3,1,1, + 3,0,7,224,4,4,4,4,0,4,96,144,144,96,5,7, + 7,6,0,0,32,32,248,32,32,0,248,3,4,4,3,0, + 4,96,160,64,224,3,4,4,3,0,4,224,64,32,192,2, + 2,2,3,0,7,64,128,4,8,8,5,0,254,144,144,144, + 144,144,240,128,128,6,10,10,6,0,254,124,232,232,232,104, + 40,40,40,40,40,2,1,1,3,0,3,192,2,2,2,3, + 0,254,64,192,2,4,4,3,0,4,64,192,64,64,3,5, + 5,4,0,3,224,160,224,0,224,5,5,5,6,0,0,160, + 80,40,80,160,9,8,16,9,0,0,68,0,196,0,72,0, + 72,0,17,0,19,0,39,128,33,0,8,8,8,9,0,0, + 68,196,72,72,19,21,34,39,9,8,16,9,0,0,224,0, + 68,0,36,0,200,0,9,0,19,0,23,128,33,0,4,8, + 8,6,1,254,32,0,32,32,64,128,144,96,7,11,11,7, + 0,0,32,16,0,16,16,40,40,68,124,130,130,7,11,11, + 7,0,0,8,16,0,16,16,40,40,68,124,130,130,7,11, + 11,7,0,0,16,40,0,16,16,40,40,68,124,130,130,7, + 11,11,7,0,0,20,40,0,16,16,40,40,68,124,130,130, + 7,10,10,7,0,0,40,0,16,16,40,40,68,124,130,130, + 7,11,11,7,0,0,16,40,16,16,16,40,40,68,124,130, + 130,9,8,16,10,0,0,31,128,24,0,40,0,47,128,72, + 0,120,0,136,0,143,128,6,10,10,8,1,254,120,132,128, + 128,128,128,132,120,16,48,5,11,11,7,1,0,64,32,0, + 248,128,128,248,128,128,128,248,5,11,11,7,1,0,16,32, + 0,248,128,128,248,128,128,128,248,5,11,11,7,1,0,32, + 80,0,248,128,128,248,128,128,128,248,5,10,10,7,1,0, + 80,0,248,128,128,248,128,128,128,248,2,11,11,3,0,0, + 128,64,0,64,64,64,64,64,64,64,64,2,11,11,3,1, + 0,64,128,0,128,128,128,128,128,128,128,128,3,11,11,3, + 0,0,64,160,0,64,64,64,64,64,64,64,64,3,10,10, + 3,0,0,160,0,64,64,64,64,64,64,64,64,7,8,8, + 8,0,0,120,68,66,242,66,66,68,120,6,11,11,8,1, + 0,40,80,0,196,196,164,164,148,148,140,140,6,11,11,8, + 1,0,32,16,0,120,132,132,132,132,132,132,120,6,11,11, + 8,1,0,8,16,0,120,132,132,132,132,132,132,120,6,11, + 11,8,1,0,32,80,0,120,132,132,132,132,132,132,120,6, + 11,11,8,1,0,40,80,0,120,132,132,132,132,132,132,120, + 6,10,10,8,1,0,72,0,120,132,132,132,132,132,132,120, + 5,5,5,6,0,1,136,80,32,80,136,6,10,10,8,1, + 255,4,120,140,148,148,164,164,196,120,128,6,11,11,8,1, + 0,32,16,0,132,132,132,132,132,132,132,120,6,11,11,8, + 1,0,8,16,0,132,132,132,132,132,132,132,120,6,11,11, + 8,1,0,32,80,0,132,132,132,132,132,132,132,120,6,10, + 10,8,1,0,72,0,132,132,132,132,132,132,132,120,7,11, + 11,7,0,0,8,16,0,130,68,68,40,40,16,16,16,5, + 8,8,7,1,0,128,128,240,136,136,240,128,128,4,8,8, + 5,0,0,96,144,144,160,144,144,144,160,5,9,9,5,0, + 0,64,32,0,224,16,112,144,144,104,5,9,9,5,0,0, + 32,64,0,224,16,112,144,144,104,5,9,9,5,0,0,32, + 80,0,224,16,112,144,144,104,5,9,9,5,0,0,80,160, + 0,224,16,112,144,144,104,5,8,8,5,0,0,80,0,224, + 16,112,144,144,104,5,9,9,5,0,0,32,80,32,224,16, + 112,144,144,104,7,6,6,8,0,0,236,18,126,144,146,108, + 4,8,8,5,0,254,96,144,128,128,144,96,32,96,4,9, + 9,5,0,0,64,32,0,96,144,240,128,144,96,4,9,9, + 5,0,0,32,64,0,96,144,240,128,144,96,4,9,9,5, + 0,0,64,160,0,96,144,240,128,144,96,4,8,8,5,0, + 0,160,0,96,144,240,128,144,96,2,9,9,2,255,0,128, + 64,0,64,64,64,64,64,64,2,9,9,2,0,0,64,128, + 0,128,128,128,128,128,128,3,9,9,2,255,0,64,160,0, + 64,64,64,64,64,64,3,8,8,2,255,0,160,0,64,64, + 64,64,64,64,5,9,9,6,0,0,64,120,144,120,136,136, + 136,136,112,4,9,9,5,0,0,80,160,0,224,144,144,144, + 144,144,5,9,9,6,0,0,64,32,0,112,136,136,136,136, + 112,5,9,9,6,0,0,16,32,0,112,136,136,136,136,112, + 5,9,9,6,0,0,32,80,0,112,136,136,136,136,112,5, + 9,9,6,0,0,40,80,0,112,136,136,136,136,112,5,8, + 8,6,0,0,80,0,112,136,136,136,136,112,5,5,5,6, + 0,1,32,0,248,0,32,7,6,6,6,255,0,58,76,84, + 100,68,184,4,9,9,5,0,0,64,32,0,144,144,144,144, + 144,112,4,9,9,5,0,0,16,32,0,144,144,144,144,144, + 112,4,9,9,5,0,0,64,160,0,144,144,144,144,144,112, + 4,8,8,5,0,0,160,0,144,144,144,144,144,112,5,11, + 11,5,255,254,8,16,0,72,72,80,80,48,32,32,192,5, + 10,10,6,0,254,128,128,176,200,136,136,200,176,128,128,5, + 10,10,5,255,254,80,0,72,72,80,80,48,32,32,192}; +/* + Fontname: -Adobe-Helvetica-Medium-R-Normal--11-80-100-100-P-56-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 8, '1' Height: 8 + Calculated Max Values w=10 h=10 x= 1 y= 7 dx=11 dy= 0 ascent= 9 len=18 + Font Bounding box w=13 h=18 x=-2 y=-4 + Calculated Min Values x=-1 y=-2 dx= 0 dy= 0 + Pure Font ascent = 8 descent=-2 + X Font ascent = 8 descent=-2 + Max Font ascent = 9 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_helvR08r[1276] U8G_FONT_SECTION("u8g_font_helvR08r") = { + 0,13,18,254,252,8,1,178,3,111,32,127,254,9,254,8, + 254,0,0,0,3,0,1,1,8,8,3,1,0,128,128,128, + 128,128,128,0,128,3,2,2,4,1,6,160,160,6,7,7, + 6,0,0,40,40,124,40,248,80,80,5,10,10,6,0,255, + 32,112,168,160,112,40,40,168,112,32,8,8,8,9,0,0, + 100,148,104,8,16,22,41,38,6,8,8,8,1,0,96,144, + 144,96,148,136,152,100,1,2,2,2,0,6,128,128,3,10, + 10,4,0,254,32,64,64,128,128,128,128,64,64,32,3,10, + 10,4,1,254,128,64,64,32,32,32,32,64,64,128,3,3, + 3,4,0,5,160,64,160,5,5,5,6,0,1,32,32,248, + 32,32,2,3,3,3,0,254,64,64,128,3,1,1,4,0, + 3,224,1,1,1,3,1,0,128,3,8,8,3,0,0,32, + 32,64,64,64,64,128,128,5,8,8,6,0,0,112,136,136, + 136,136,136,136,112,2,8,8,6,1,0,64,192,64,64,64, + 64,64,64,5,8,8,6,0,0,112,136,8,8,48,64,128, + 248,5,8,8,6,0,0,112,136,8,48,8,8,136,112,5, + 8,8,6,0,0,16,48,80,80,144,248,16,16,5,8,8, + 6,0,0,120,64,64,112,8,8,136,112,5,8,8,6,0, + 0,112,136,128,240,136,136,136,112,5,8,8,6,0,0,248, + 8,16,32,32,64,64,64,5,8,8,6,0,0,112,136,136, + 112,136,136,136,112,5,8,8,6,0,0,112,136,136,136,120, + 8,136,112,1,6,6,3,1,0,128,0,0,0,0,128,2, + 8,8,3,0,254,64,0,0,0,0,64,64,128,3,5,5, + 6,1,1,32,64,128,64,32,4,3,3,5,0,2,240,0, + 240,3,5,5,6,1,1,128,64,32,64,128,4,8,8,6, + 1,0,96,144,16,32,64,64,0,64,10,9,18,11,0,255, + 31,0,32,128,77,64,146,64,162,64,164,128,155,0,64,0, + 62,0,7,8,8,7,0,0,16,16,40,40,68,124,130,130, + 5,8,8,7,1,0,240,136,136,240,136,136,136,240,6,8, + 8,8,1,0,120,132,128,128,128,128,132,120,6,8,8,8, + 1,0,240,136,132,132,132,132,136,240,5,8,8,7,1,0, + 248,128,128,248,128,128,128,248,5,8,8,6,1,0,248,128, + 128,240,128,128,128,128,6,8,8,8,1,0,120,132,128,128, + 140,132,132,124,6,8,8,8,1,0,132,132,132,252,132,132, + 132,132,1,8,8,3,1,0,128,128,128,128,128,128,128,128, + 4,8,8,5,0,0,16,16,16,16,16,16,144,96,5,8, + 8,7,1,0,136,144,160,224,144,144,136,136,4,8,8,6, + 1,0,128,128,128,128,128,128,128,240,7,8,8,9,1,0, + 130,198,198,170,170,146,146,146,6,8,8,8,1,0,196,196, + 164,164,148,148,140,140,6,8,8,8,1,0,120,132,132,132, + 132,132,132,120,5,8,8,7,1,0,240,136,136,240,128,128, + 128,128,7,9,9,8,1,255,120,132,132,132,132,148,140,124, + 2,5,8,8,7,1,0,240,136,136,240,136,136,136,136,5, + 8,8,7,1,0,112,136,128,112,8,136,136,112,5,8,8, + 5,0,0,248,32,32,32,32,32,32,32,6,8,8,8,1, + 0,132,132,132,132,132,132,132,120,7,8,8,7,0,0,130, + 130,68,68,68,40,40,16,9,8,16,9,0,0,136,128,136, + 128,73,0,73,0,85,0,34,0,34,0,34,0,5,8,8, + 7,1,0,136,136,80,32,80,80,136,136,7,8,8,7,0, + 0,130,68,68,40,40,16,16,16,5,8,8,7,1,0,248, + 8,16,32,32,64,128,248,2,10,10,3,1,254,192,128,128, + 128,128,128,128,128,128,192,3,8,8,3,0,0,128,128,64, + 64,64,64,32,32,2,10,10,3,0,254,192,64,64,64,64, + 64,64,64,64,192,5,5,5,6,0,3,32,32,80,80,136, + 6,1,1,6,0,254,252,2,2,2,3,0,7,128,64,5, + 6,6,5,0,0,224,16,112,144,144,104,5,8,8,6,0, + 0,128,128,176,200,136,136,200,176,4,6,6,5,0,0,96, + 144,128,128,144,96,5,8,8,6,0,0,8,8,104,152,136, + 136,152,104,4,6,6,5,0,0,96,144,240,128,144,96,4, + 8,8,4,0,0,48,64,224,64,64,64,64,64,5,8,8, + 6,0,254,104,152,136,136,152,104,8,112,5,8,8,6,0, + 0,128,128,176,200,136,136,136,136,1,8,8,2,0,0,128, + 0,128,128,128,128,128,128,2,10,10,2,255,254,64,0,64, + 64,64,64,64,64,64,128,4,8,8,5,0,0,128,128,144, + 160,192,160,144,144,1,8,8,2,0,0,128,128,128,128,128, + 128,128,128,7,6,6,8,0,0,236,146,146,146,146,146,5, + 6,6,6,0,0,176,200,136,136,136,136,5,6,6,6,0, + 0,112,136,136,136,136,112,5,8,8,6,0,254,176,200,136, + 136,200,176,128,128,5,8,8,6,0,254,104,152,136,136,152, + 104,8,8,3,6,6,4,0,0,160,192,128,128,128,128,4, + 6,6,5,0,0,96,144,96,16,144,96,3,8,8,4,0, + 0,64,64,224,64,64,64,64,96,4,6,6,5,0,0,144, + 144,144,144,144,112,5,6,6,6,0,0,136,136,80,80,32, + 32,7,6,6,8,0,0,146,146,84,84,40,40,5,6,6, + 6,0,0,136,80,32,80,136,136,5,8,8,5,255,254,72, + 72,80,80,48,32,32,192,4,6,6,5,0,0,240,16,32, + 64,128,240,3,10,10,3,0,254,32,64,64,64,128,64,64, + 64,64,32,1,10,10,3,1,254,128,128,128,128,128,128,128, + 128,128,128,3,10,10,3,0,254,128,64,64,64,32,64,64, + 64,64,128,6,2,2,7,0,3,100,152,255}; +/* + Fontname: -Adobe-Helvetica-Medium-R-Normal--14-100-100-100-P-76-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 11, '1' Height: 11 + Calculated Max Values w=13 h=14 x= 2 y= 9 dx=14 dy= 0 ascent=14 len=28 + Font Bounding box w=17 h=22 x=-2 y=-5 + Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 + Pure Font ascent =11 descent=-3 + X Font ascent =11 descent=-3 + Max Font ascent =14 descent=-3 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_helvR10[3527] U8G_FONT_SECTION("u8g_font_helvR10") = { + 0,17,22,254,251,11,2,10,4,133,32,255,253,14,253,11, + 253,0,0,0,4,0,1,1,11,11,4,2,0,128,128,128, + 128,128,128,128,128,0,128,128,3,3,3,5,1,8,160,160, + 160,7,10,10,8,0,0,20,20,20,126,40,40,252,80,80, + 80,7,14,14,8,0,254,16,124,146,146,144,80,56,20,18, + 146,146,124,16,16,11,11,22,12,0,0,112,128,137,0,137, + 0,114,0,2,0,4,0,8,0,9,192,18,32,18,32,33, + 192,8,10,10,10,1,0,48,72,72,48,32,82,138,132,138, + 113,1,3,3,3,1,8,128,128,128,3,14,14,5,1,253, + 32,64,64,128,128,128,128,128,128,128,128,64,64,32,3,14, + 14,5,1,253,128,64,64,32,32,32,32,32,32,32,32,64, + 64,128,5,5,5,7,1,6,32,168,112,168,32,7,7,7, + 9,1,1,16,16,16,254,16,16,16,2,4,4,3,0,254, + 64,64,64,128,3,1,1,4,0,4,224,1,2,2,3,1, + 0,128,128,4,11,11,4,0,0,16,16,32,32,32,64,64, + 64,128,128,128,6,11,11,8,1,0,120,132,132,132,132,132, + 132,132,132,132,120,3,11,11,8,2,0,32,224,32,32,32, + 32,32,32,32,32,32,6,11,11,8,1,0,120,132,132,4, + 8,16,32,64,128,128,252,6,11,11,8,1,0,120,132,132, + 4,4,56,4,4,132,132,120,7,11,11,8,1,0,4,12, + 20,36,68,132,132,254,4,4,4,6,11,11,8,1,0,252, + 128,128,128,248,4,4,4,132,132,120,6,11,11,8,1,0, + 120,132,128,128,184,196,132,132,132,132,120,6,11,11,8,1, + 0,252,4,8,8,16,16,32,32,64,64,64,6,11,11,8, + 1,0,120,132,132,132,132,120,132,132,132,132,120,6,11,11, + 8,1,0,120,132,132,132,132,124,4,4,132,132,120,1,8, + 8,3,1,0,128,128,0,0,0,0,128,128,2,10,10,4, + 0,254,64,64,0,0,0,0,64,64,64,128,6,5,5,8, + 1,2,12,48,192,48,12,6,3,3,9,1,3,252,0,252, + 6,5,5,8,1,2,192,48,12,48,192,6,11,11,8,1, + 0,48,204,132,132,4,8,16,32,0,32,32,11,12,24,13, + 1,255,15,0,48,192,64,32,70,160,137,32,145,32,145,32, + 147,64,141,128,64,0,96,128,31,0,9,11,22,9,0,0, + 8,0,28,0,20,0,20,0,34,0,34,0,65,0,127,0, + 65,0,128,128,128,128,7,11,11,9,1,0,252,134,130,130, + 132,248,132,130,130,134,252,8,11,11,10,1,0,28,99,65, + 128,128,128,128,128,65,99,28,8,11,11,10,1,0,248,134, + 130,129,129,129,129,129,130,134,248,7,11,11,9,1,0,254, + 128,128,128,128,252,128,128,128,128,254,7,11,11,8,1,0, + 254,128,128,128,128,252,128,128,128,128,128,9,11,22,11,1, + 0,30,0,97,128,64,128,128,0,128,0,135,128,128,128,128, + 128,64,128,99,128,28,128,8,11,11,10,1,0,129,129,129, + 129,129,255,129,129,129,129,129,1,11,11,4,2,0,128,128, + 128,128,128,128,128,128,128,128,128,6,11,11,7,0,0,4, + 4,4,4,4,4,4,4,132,132,120,8,11,11,9,1,0, + 130,132,136,144,160,224,144,136,132,130,129,6,11,11,8,2, + 0,128,128,128,128,128,128,128,128,128,128,252,11,11,22,12, + 0,0,128,32,192,96,192,96,160,160,160,160,145,32,145,32, + 138,32,138,32,132,32,132,32,8,11,11,10,1,0,193,161, + 161,145,145,137,137,133,133,131,131,9,11,22,11,1,0,28, + 0,99,0,65,0,128,128,128,128,128,128,128,128,128,128,65, + 0,99,0,28,0,7,11,11,9,1,0,252,134,130,130,134, + 252,128,128,128,128,128,9,11,22,11,1,0,28,0,99,0, + 65,0,128,128,128,128,128,128,136,128,132,128,67,0,99,0, + 28,128,8,11,11,10,1,0,254,131,129,129,130,252,130,129, + 129,129,129,7,11,11,9,1,0,56,198,130,128,96,24,6, + 2,130,198,56,9,11,22,9,0,0,255,128,8,0,8,0, + 8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0, + 8,11,11,10,1,0,129,129,129,129,129,129,129,129,129,66, + 60,9,11,22,9,0,0,128,128,128,128,65,0,65,0,99, + 0,34,0,34,0,20,0,20,0,8,0,8,0,13,11,22, + 13,0,0,130,8,130,8,133,8,69,16,69,16,69,16,40, + 160,40,160,40,160,16,64,16,64,9,11,22,9,0,0,128, + 128,65,0,34,0,20,0,8,0,8,0,20,0,34,0,65, + 0,65,0,128,128,9,11,22,9,0,0,128,128,193,128,65, + 0,34,0,34,0,20,0,28,0,8,0,8,0,8,0,8, + 0,7,11,11,9,1,0,254,2,4,8,24,16,32,96,64, + 128,254,3,14,14,4,1,253,224,128,128,128,128,128,128,128, + 128,128,128,128,128,224,4,11,11,4,0,0,128,128,64,64, + 64,32,32,32,16,16,16,3,14,14,4,0,253,224,32,32, + 32,32,32,32,32,32,32,32,32,32,224,5,5,5,7,1, + 6,32,80,80,136,136,8,1,1,8,0,253,255,2,2,2, + 5,1,9,128,64,7,8,8,8,1,0,120,204,4,124,196, + 132,204,118,6,11,11,7,1,0,128,128,128,184,204,132,132, + 132,132,204,184,6,8,8,7,1,0,120,204,128,128,128,132, + 204,120,6,11,11,8,1,0,4,4,4,116,204,132,132,132, + 132,204,116,6,8,8,8,1,0,120,204,132,252,128,128,204, + 120,4,11,11,4,0,0,48,64,64,224,64,64,64,64,64, + 64,64,6,11,11,8,1,253,116,204,132,132,132,132,204,116, + 4,204,120,6,11,11,8,1,0,128,128,128,184,204,132,132, + 132,132,132,132,1,11,11,3,1,0,128,128,0,128,128,128, + 128,128,128,128,128,3,14,14,3,255,253,32,32,0,32,32, + 32,32,32,32,32,32,32,32,192,6,11,11,7,1,0,128, + 128,128,136,144,160,192,160,144,136,132,1,11,11,3,1,0, + 128,128,128,128,128,128,128,128,128,128,128,9,8,16,11,1, + 0,179,0,204,128,136,128,136,128,136,128,136,128,136,128,136, + 128,6,8,8,8,1,0,184,204,132,132,132,132,132,132,6, + 8,8,8,1,0,120,204,132,132,132,132,204,120,6,11,11, + 8,1,253,184,204,132,132,132,132,204,184,128,128,128,6,11, + 11,8,1,253,116,204,132,132,132,132,204,116,4,4,4,4, + 8,8,5,1,0,176,192,128,128,128,128,128,128,5,8,8, + 7,1,0,112,136,192,112,24,8,136,112,4,10,10,4,0, + 0,64,64,224,64,64,64,64,64,64,48,6,8,8,7,1, + 0,132,132,132,132,132,132,204,116,7,8,8,7,0,0,130, + 130,68,68,68,40,40,16,9,8,16,10,0,0,136,128,136, + 128,136,128,73,0,73,0,85,0,34,0,34,0,7,8,8, + 7,0,0,198,68,40,16,16,40,68,198,7,11,11,7,0, + 253,130,194,68,68,36,40,24,16,16,48,96,6,8,8,7, + 0,0,252,4,8,16,32,64,128,252,5,14,14,5,0,253, + 24,32,32,32,32,64,128,64,32,32,32,32,32,24,1,14, + 14,3,1,253,128,128,128,128,128,128,128,128,128,128,128,128, + 128,128,5,14,14,5,0,253,192,32,32,32,32,16,8,16, + 32,32,32,32,32,192,6,3,3,8,1,3,100,180,152,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,255,255,255,255,255,255,255, + 0,0,0,4,0,1,1,11,11,4,1,253,128,128,0,128, + 128,128,128,128,128,128,128,6,10,10,8,1,255,4,120,204, + 144,144,160,164,204,120,128,7,11,11,8,0,0,56,68,64, + 64,248,32,32,32,64,98,220,6,6,6,8,1,2,132,120, + 72,72,120,132,7,11,11,7,0,0,130,130,130,68,68,40, + 254,16,254,16,16,1,14,14,3,1,253,128,128,128,128,128, + 128,0,0,128,128,128,128,128,128,5,14,14,8,2,253,112, + 216,136,192,112,152,136,136,200,112,24,136,216,112,5,1,1, + 5,0,9,216,10,11,22,12,1,0,30,0,97,128,92,128, + 162,192,162,64,160,64,162,64,156,64,64,128,97,128,30,0, + 4,7,7,6,1,4,224,16,112,144,208,0,240,6,5,5, + 8,1,2,36,72,144,72,36,7,4,4,9,1,2,254,2, + 2,2,3,1,1,4,0,4,224,10,11,22,12,1,0,30, + 0,97,128,92,128,146,64,146,64,156,64,146,64,146,64,64, + 128,97,128,30,0,4,1,1,4,0,9,240,4,4,4,6, + 1,7,96,144,144,96,7,9,9,9,1,0,16,16,16,254, + 16,16,16,0,254,4,6,6,5,0,5,96,144,16,32,64, + 240,4,6,6,5,0,5,96,144,32,16,144,96,2,2,2, + 5,2,9,64,128,6,11,11,8,1,253,132,132,132,132,132, + 132,204,180,128,128,128,7,14,14,8,0,253,62,116,244,244, + 244,116,52,20,20,20,20,20,20,20,2,1,1,4,1,4, + 192,4,3,3,5,0,253,32,144,96,2,6,6,5,1,5, + 64,192,64,64,64,64,4,7,7,6,1,4,96,144,144,144, + 96,0,240,6,5,5,8,1,2,144,72,36,72,144,10,11, + 22,12,1,0,66,0,194,0,68,0,68,0,72,0,72,128, + 9,128,18,128,20,128,39,192,32,128,9,11,22,12,1,0, + 66,0,194,0,68,0,68,0,72,0,75,0,20,128,16,128, + 17,0,34,0,39,128,11,11,22,12,0,0,97,0,145,0, + 34,0,18,0,148,0,100,64,4,192,9,64,10,64,19,224, + 16,64,6,11,11,8,1,253,16,16,0,16,32,64,128,132, + 132,204,48,9,14,28,9,0,0,16,0,8,0,0,0,8, + 0,28,0,20,0,20,0,34,0,34,0,65,0,127,0,65, + 0,128,128,128,128,9,14,28,9,0,0,4,0,8,0,0, + 0,8,0,28,0,20,0,20,0,34,0,34,0,65,0,127, + 0,65,0,128,128,128,128,9,14,28,9,0,0,12,0,18, + 0,0,0,8,0,28,0,20,0,20,0,34,0,34,0,65, + 0,127,0,65,0,128,128,128,128,9,14,28,9,0,0,26, + 0,44,0,0,0,8,0,28,0,20,0,20,0,34,0,34, + 0,65,0,127,0,65,0,128,128,128,128,9,13,26,9,0, + 0,54,0,0,0,8,0,28,0,20,0,20,0,34,0,34, + 0,65,0,127,0,65,0,128,128,128,128,9,14,28,9,0, + 0,12,0,18,0,18,0,12,0,12,0,20,0,20,0,34, + 0,34,0,65,0,127,0,65,0,128,128,128,128,12,11,22, + 14,1,0,31,240,18,0,18,0,34,0,34,0,35,240,126, + 0,66,0,66,0,130,0,131,240,8,14,14,10,1,253,28, + 99,65,128,128,128,128,128,65,99,28,8,36,24,7,14,14, + 9,1,0,32,16,0,254,128,128,128,128,252,128,128,128,128, + 254,7,14,14,9,1,0,8,16,0,254,128,128,128,128,252, + 128,128,128,128,254,7,14,14,9,1,0,24,36,0,254,128, + 128,128,128,252,128,128,128,128,254,7,13,13,9,1,0,108, + 0,254,128,128,128,128,252,128,128,128,128,254,2,14,14,4, + 1,0,128,64,0,64,64,64,64,64,64,64,64,64,64,64, + 2,14,14,4,2,0,64,128,0,128,128,128,128,128,128,128, + 128,128,128,128,4,14,14,4,1,0,96,144,0,64,64,64, + 64,64,64,64,64,64,64,64,5,13,13,4,0,0,216,0, + 32,32,32,32,32,32,32,32,32,32,32,9,11,22,10,0, + 0,124,0,67,0,65,0,64,128,64,128,240,128,64,128,64, + 128,65,0,67,0,124,0,8,14,14,10,1,0,26,44,0, + 193,161,161,145,145,137,137,133,133,131,131,9,14,28,11,1, + 0,16,0,8,0,0,0,28,0,99,0,65,0,128,128,128, + 128,128,128,128,128,128,128,65,0,99,0,28,0,9,14,28, + 11,1,0,4,0,8,0,0,0,28,0,99,0,65,0,128, + 128,128,128,128,128,128,128,128,128,65,0,99,0,28,0,9, + 14,28,11,1,0,12,0,18,0,0,0,28,0,99,0,65, + 0,128,128,128,128,128,128,128,128,128,128,65,0,99,0,28, + 0,9,14,28,11,1,0,26,0,44,0,0,0,28,0,99, + 0,65,0,128,128,128,128,128,128,128,128,128,128,65,0,99, + 0,28,0,9,13,26,11,1,0,51,0,0,0,28,0,99, + 0,65,0,128,128,128,128,128,128,128,128,128,128,65,0,99, + 0,28,0,7,7,7,9,1,1,130,68,40,16,40,68,130, + 11,11,22,11,0,0,14,32,49,192,32,128,65,64,66,64, + 68,64,72,64,80,64,32,128,113,128,142,0,8,14,14,10, + 1,0,16,8,0,129,129,129,129,129,129,129,129,129,66,60, + 8,14,14,10,1,0,4,8,0,129,129,129,129,129,129,129, + 129,129,66,60,8,14,14,10,1,0,24,36,0,129,129,129, + 129,129,129,129,129,129,66,60,8,13,13,10,1,0,102,0, + 129,129,129,129,129,129,129,129,129,66,60,9,14,28,9,0, + 0,4,0,8,0,0,0,128,128,193,128,65,0,34,0,34, + 0,20,0,28,0,8,0,8,0,8,0,8,0,7,11,11, + 9,1,0,128,128,252,134,130,130,134,252,128,128,128,5,11, + 11,7,1,0,112,136,136,136,176,144,136,136,136,136,176,7, + 11,11,8,1,0,32,16,0,120,204,4,124,196,132,204,118, + 7,11,11,8,1,0,16,32,0,120,204,4,124,196,132,204, + 118,7,11,11,8,1,0,48,72,0,120,204,4,124,196,132, + 204,118,7,11,11,8,1,0,52,88,0,120,204,4,124,196, + 132,204,118,7,11,11,8,1,0,72,72,0,120,204,4,124, + 196,132,204,118,7,12,12,8,1,0,48,72,48,0,120,204, + 4,124,196,132,204,118,11,8,16,13,1,0,123,192,198,96, + 4,32,127,224,196,0,132,0,206,96,123,192,6,11,11,8, + 1,253,120,204,128,128,128,132,204,120,16,72,48,6,11,11, + 8,1,0,32,16,0,120,204,132,252,128,128,204,120,6,11, + 11,8,1,0,16,32,0,120,204,132,252,128,128,204,120,6, + 11,11,8,1,0,48,72,0,120,204,132,252,128,128,204,120, + 6,11,11,8,1,0,72,72,0,120,204,132,252,128,128,204, + 120,2,11,11,3,1,0,128,64,0,128,128,128,128,128,128, + 128,128,2,11,11,3,1,0,64,128,0,128,128,128,128,128, + 128,128,128,4,11,11,3,0,0,96,144,0,64,64,64,64, + 64,64,64,64,3,11,11,3,0,0,160,160,0,64,64,64, + 64,64,64,64,64,6,11,11,8,1,0,216,112,144,120,204, + 132,132,132,132,204,120,6,11,11,8,1,0,104,176,0,184, + 204,132,132,132,132,132,132,6,11,11,8,1,0,32,16,0, + 120,204,132,132,132,132,204,120,6,11,11,8,1,0,16,32, + 0,120,204,132,132,132,132,204,120,6,11,11,8,1,0,48, + 72,0,120,204,132,132,132,132,204,120,6,11,11,8,1,0, + 104,176,0,120,204,132,132,132,132,204,120,6,11,11,8,1, + 0,72,72,0,120,204,132,132,132,132,204,120,7,7,7,9, + 1,1,16,16,0,254,0,16,16,8,8,8,8,0,0,61, + 98,70,74,82,98,70,188,6,11,11,8,1,0,32,16,0, + 132,132,132,132,132,132,204,116,6,11,11,8,1,0,16,32, + 0,132,132,132,132,132,132,204,116,6,11,11,8,1,0,48, + 72,0,132,132,132,132,132,132,204,116,6,11,11,8,1,0, + 72,72,0,132,132,132,132,132,132,204,116,7,14,14,7,0, + 253,8,16,0,130,194,68,68,36,40,24,16,16,48,96,6, + 14,14,8,1,253,128,128,128,184,204,132,132,132,132,204,184, + 128,128,128,7,14,14,7,0,253,36,36,0,130,194,68,68, + 36,40,24,16,16,48,96}; +/* + Fontname: -Adobe-Helvetica-Medium-R-Normal--14-100-100-100-P-76-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 11, '1' Height: 11 + Calculated Max Values w=13 h=14 x= 2 y= 9 dx=13 dy= 0 ascent=12 len=24 + Font Bounding box w=17 h=22 x=-2 y=-5 + Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 + Pure Font ascent =11 descent=-3 + X Font ascent =11 descent=-3 + Max Font ascent =12 descent=-3 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_helvR10r[1648] U8G_FONT_SECTION("u8g_font_helvR10r") = { + 0,17,22,254,251,11,2,10,4,133,32,127,253,12,253,11, + 253,0,0,0,4,0,1,1,11,11,4,2,0,128,128,128, + 128,128,128,128,128,0,128,128,3,3,3,5,1,8,160,160, + 160,7,10,10,8,0,0,20,20,20,126,40,40,252,80,80, + 80,7,14,14,8,0,254,16,124,146,146,144,80,56,20,18, + 146,146,124,16,16,11,11,22,12,0,0,112,128,137,0,137, + 0,114,0,2,0,4,0,8,0,9,192,18,32,18,32,33, + 192,8,10,10,10,1,0,48,72,72,48,32,82,138,132,138, + 113,1,3,3,3,1,8,128,128,128,3,14,14,5,1,253, + 32,64,64,128,128,128,128,128,128,128,128,64,64,32,3,14, + 14,5,1,253,128,64,64,32,32,32,32,32,32,32,32,64, + 64,128,5,5,5,7,1,6,32,168,112,168,32,7,7,7, + 9,1,1,16,16,16,254,16,16,16,2,4,4,3,0,254, + 64,64,64,128,3,1,1,4,0,4,224,1,2,2,3,1, + 0,128,128,4,11,11,4,0,0,16,16,32,32,32,64,64, + 64,128,128,128,6,11,11,8,1,0,120,132,132,132,132,132, + 132,132,132,132,120,3,11,11,8,2,0,32,224,32,32,32, + 32,32,32,32,32,32,6,11,11,8,1,0,120,132,132,4, + 8,16,32,64,128,128,252,6,11,11,8,1,0,120,132,132, + 4,4,56,4,4,132,132,120,7,11,11,8,1,0,4,12, + 20,36,68,132,132,254,4,4,4,6,11,11,8,1,0,252, + 128,128,128,248,4,4,4,132,132,120,6,11,11,8,1,0, + 120,132,128,128,184,196,132,132,132,132,120,6,11,11,8,1, + 0,252,4,8,8,16,16,32,32,64,64,64,6,11,11,8, + 1,0,120,132,132,132,132,120,132,132,132,132,120,6,11,11, + 8,1,0,120,132,132,132,132,124,4,4,132,132,120,1,8, + 8,3,1,0,128,128,0,0,0,0,128,128,2,10,10,4, + 0,254,64,64,0,0,0,0,64,64,64,128,6,5,5,8, + 1,2,12,48,192,48,12,6,3,3,9,1,3,252,0,252, + 6,5,5,8,1,2,192,48,12,48,192,6,11,11,8,1, + 0,48,204,132,132,4,8,16,32,0,32,32,11,12,24,13, + 1,255,15,0,48,192,64,32,70,160,137,32,145,32,145,32, + 147,64,141,128,64,0,96,128,31,0,9,11,22,9,0,0, + 8,0,28,0,20,0,20,0,34,0,34,0,65,0,127,0, + 65,0,128,128,128,128,7,11,11,9,1,0,252,134,130,130, + 132,248,132,130,130,134,252,8,11,11,10,1,0,28,99,65, + 128,128,128,128,128,65,99,28,8,11,11,10,1,0,248,134, + 130,129,129,129,129,129,130,134,248,7,11,11,9,1,0,254, + 128,128,128,128,252,128,128,128,128,254,7,11,11,8,1,0, + 254,128,128,128,128,252,128,128,128,128,128,9,11,22,11,1, + 0,30,0,97,128,64,128,128,0,128,0,135,128,128,128,128, + 128,64,128,99,128,28,128,8,11,11,10,1,0,129,129,129, + 129,129,255,129,129,129,129,129,1,11,11,4,2,0,128,128, + 128,128,128,128,128,128,128,128,128,6,11,11,7,0,0,4, + 4,4,4,4,4,4,4,132,132,120,8,11,11,9,1,0, + 130,132,136,144,160,224,144,136,132,130,129,6,11,11,8,2, + 0,128,128,128,128,128,128,128,128,128,128,252,11,11,22,12, + 0,0,128,32,192,96,192,96,160,160,160,160,145,32,145,32, + 138,32,138,32,132,32,132,32,8,11,11,10,1,0,193,161, + 161,145,145,137,137,133,133,131,131,9,11,22,11,1,0,28, + 0,99,0,65,0,128,128,128,128,128,128,128,128,128,128,65, + 0,99,0,28,0,7,11,11,9,1,0,252,134,130,130,134, + 252,128,128,128,128,128,9,11,22,11,1,0,28,0,99,0, + 65,0,128,128,128,128,128,128,136,128,132,128,67,0,99,0, + 28,128,8,11,11,10,1,0,254,131,129,129,130,252,130,129, + 129,129,129,7,11,11,9,1,0,56,198,130,128,96,24,6, + 2,130,198,56,9,11,22,9,0,0,255,128,8,0,8,0, + 8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0, + 8,11,11,10,1,0,129,129,129,129,129,129,129,129,129,66, + 60,9,11,22,9,0,0,128,128,128,128,65,0,65,0,99, + 0,34,0,34,0,20,0,20,0,8,0,8,0,13,11,22, + 13,0,0,130,8,130,8,133,8,69,16,69,16,69,16,40, + 160,40,160,40,160,16,64,16,64,9,11,22,9,0,0,128, + 128,65,0,34,0,20,0,8,0,8,0,20,0,34,0,65, + 0,65,0,128,128,9,11,22,9,0,0,128,128,193,128,65, + 0,34,0,34,0,20,0,28,0,8,0,8,0,8,0,8, + 0,7,11,11,9,1,0,254,2,4,8,24,16,32,96,64, + 128,254,3,14,14,4,1,253,224,128,128,128,128,128,128,128, + 128,128,128,128,128,224,4,11,11,4,0,0,128,128,64,64, + 64,32,32,32,16,16,16,3,14,14,4,0,253,224,32,32, + 32,32,32,32,32,32,32,32,32,32,224,5,5,5,7,1, + 6,32,80,80,136,136,8,1,1,8,0,253,255,2,2,2, + 5,1,9,128,64,7,8,8,8,1,0,120,204,4,124,196, + 132,204,118,6,11,11,7,1,0,128,128,128,184,204,132,132, + 132,132,204,184,6,8,8,7,1,0,120,204,128,128,128,132, + 204,120,6,11,11,8,1,0,4,4,4,116,204,132,132,132, + 132,204,116,6,8,8,8,1,0,120,204,132,252,128,128,204, + 120,4,11,11,4,0,0,48,64,64,224,64,64,64,64,64, + 64,64,6,11,11,8,1,253,116,204,132,132,132,132,204,116, + 4,204,120,6,11,11,8,1,0,128,128,128,184,204,132,132, + 132,132,132,132,1,11,11,3,1,0,128,128,0,128,128,128, + 128,128,128,128,128,3,14,14,3,255,253,32,32,0,32,32, + 32,32,32,32,32,32,32,32,192,6,11,11,7,1,0,128, + 128,128,136,144,160,192,160,144,136,132,1,11,11,3,1,0, + 128,128,128,128,128,128,128,128,128,128,128,9,8,16,11,1, + 0,179,0,204,128,136,128,136,128,136,128,136,128,136,128,136, + 128,6,8,8,8,1,0,184,204,132,132,132,132,132,132,6, + 8,8,8,1,0,120,204,132,132,132,132,204,120,6,11,11, + 8,1,253,184,204,132,132,132,132,204,184,128,128,128,6,11, + 11,8,1,253,116,204,132,132,132,132,204,116,4,4,4,4, + 8,8,5,1,0,176,192,128,128,128,128,128,128,5,8,8, + 7,1,0,112,136,192,112,24,8,136,112,4,10,10,4,0, + 0,64,64,224,64,64,64,64,64,64,48,6,8,8,7,1, + 0,132,132,132,132,132,132,204,116,7,8,8,7,0,0,130, + 130,68,68,68,40,40,16,9,8,16,10,0,0,136,128,136, + 128,136,128,73,0,73,0,85,0,34,0,34,0,7,8,8, + 7,0,0,198,68,40,16,16,40,68,198,7,11,11,7,0, + 253,130,194,68,68,36,40,24,16,16,48,96,6,8,8,7, + 0,0,252,4,8,16,32,64,128,252,5,14,14,5,0,253, + 24,32,32,32,32,64,128,64,32,32,32,32,32,24,1,14, + 14,3,1,253,128,128,128,128,128,128,128,128,128,128,128,128, + 128,128,5,14,14,5,0,253,192,32,32,32,32,16,8,16, + 32,32,32,32,32,192,6,3,3,8,1,3,100,180,152,255 + }; +/* + Fontname: -Adobe-Helvetica-Medium-R-Normal--17-120-100-100-P-88-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 12, '1' Height: 12 + Calculated Max Values w=14 h=16 x= 3 y=10 dx=17 dy= 0 ascent=16 len=32 + Font Bounding box w=20 h=26 x=-2 y=-6 + Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 + Pure Font ascent =12 descent=-4 + X Font ascent =12 descent=-4 + Max Font ascent =16 descent=-4 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_helvR12[4077] U8G_FONT_SECTION("u8g_font_helvR12") = { + 0,20,26,254,250,12,2,91,5,99,32,255,252,16,252,12, + 252,0,0,0,5,0,1,1,12,12,5,2,0,128,128,128, + 128,128,128,128,128,128,0,128,128,4,4,4,6,1,8,144, + 144,144,144,8,11,11,9,0,0,18,18,18,127,36,36,36, + 254,72,72,72,7,15,15,9,1,254,16,124,146,146,144,80, + 48,24,20,18,146,146,124,16,16,12,12,24,14,0,0,112, + 64,136,128,136,128,137,0,114,0,2,0,4,0,4,224,9, + 16,17,16,17,16,32,224,10,12,24,11,0,0,24,0,36, + 0,66,0,66,0,36,0,24,0,41,0,69,0,130,0,131, + 0,68,128,56,64,2,4,4,3,0,8,192,192,64,64,3, + 16,16,6,1,252,32,64,64,64,128,128,128,128,128,128,128, + 128,64,64,64,32,3,16,16,6,1,252,128,64,64,64,32, + 32,32,32,32,32,32,32,64,64,64,128,5,5,5,6,0, + 7,32,168,112,80,136,9,9,18,10,0,0,8,0,8,0, + 8,0,8,0,255,128,8,0,8,0,8,0,8,0,2,4, + 4,4,1,254,64,64,64,128,4,1,1,5,0,4,240,1, + 2,2,4,2,0,128,128,4,12,12,5,0,0,16,16,32, + 32,32,32,64,64,64,128,128,128,7,12,12,9,1,0,56, + 68,68,130,130,130,130,130,130,68,68,56,3,12,12,9,3, + 0,32,32,96,160,32,32,32,32,32,32,32,32,7,12,12, + 9,1,0,56,68,130,130,2,4,8,48,64,128,128,254,7, + 12,12,9,1,0,56,68,130,130,4,56,4,2,130,130,68, + 56,8,12,12,9,0,0,12,20,20,36,36,68,68,132,255, + 4,4,4,7,12,12,9,1,0,62,32,32,64,120,68,2, + 2,2,130,68,56,7,12,12,9,1,0,60,66,130,128,184, + 196,130,130,130,130,68,56,8,12,12,9,0,0,255,1,2, + 4,4,8,8,16,16,16,32,32,7,12,12,9,1,0,56, + 68,130,130,68,56,68,130,130,130,68,56,7,12,12,9,1, + 0,56,68,130,130,130,130,70,58,2,130,132,120,1,9,9, + 4,2,0,128,128,0,0,0,0,0,128,128,2,11,11,4, + 1,254,64,64,0,0,0,0,0,64,64,64,128,9,9,18, + 10,0,0,1,128,6,0,24,0,96,0,128,0,96,0,24, + 0,6,0,1,128,8,4,4,10,0,2,255,0,0,255,9, + 9,18,10,1,0,192,0,48,0,12,0,3,0,0,128,3, + 0,12,0,48,0,192,0,7,12,12,9,1,0,56,68,130, + 130,2,4,8,16,16,0,16,16,13,14,28,17,1,254,7, + 128,24,96,32,16,67,208,76,72,136,72,144,136,144,136,144, + 144,153,144,78,96,64,0,48,96,15,128,10,12,24,11,0, + 0,12,0,12,0,18,0,18,0,18,0,33,0,33,0,127, + 128,64,128,64,128,128,64,128,64,9,12,24,11,1,0,252, + 0,130,0,129,0,129,0,130,0,254,0,129,0,128,128,128, + 128,128,128,129,0,254,0,10,12,24,12,1,0,15,0,48, + 128,64,64,64,0,128,0,128,0,128,0,128,0,64,0,64, + 64,48,128,15,0,10,12,24,12,1,0,252,0,131,0,128, + 128,128,128,128,64,128,64,128,64,128,64,128,128,128,128,131, + 0,252,0,8,12,12,11,1,0,255,128,128,128,128,255,128, + 128,128,128,128,255,7,12,12,10,1,0,254,128,128,128,128, + 254,128,128,128,128,128,128,10,12,24,13,1,0,14,0,49, + 128,64,64,64,0,128,0,128,0,135,192,128,64,64,64,64, + 192,49,64,14,64,9,12,24,12,1,0,128,128,128,128,128, + 128,128,128,128,128,255,128,128,128,128,128,128,128,128,128,128, + 128,128,128,1,12,12,4,1,0,128,128,128,128,128,128,128, + 128,128,128,128,128,6,12,12,8,0,0,4,4,4,4,4, + 4,4,4,132,132,132,120,8,12,12,11,1,0,129,130,132, + 136,144,176,200,136,132,130,130,129,7,12,12,9,1,0,128, + 128,128,128,128,128,128,128,128,128,128,254,11,12,24,13,1, + 0,128,32,192,96,192,96,160,160,160,160,160,160,145,32,145, + 32,145,32,138,32,138,32,132,32,9,12,24,12,1,0,128, + 128,192,128,160,128,160,128,144,128,136,128,136,128,132,128,130, + 128,130,128,129,128,128,128,11,12,24,13,1,0,14,0,49, + 128,64,64,64,64,128,32,128,32,128,32,128,32,64,64,64, + 64,49,128,14,0,8,12,12,11,2,0,252,130,129,129,130, + 252,128,128,128,128,128,128,11,13,26,13,1,255,14,0,49, + 128,64,64,64,64,128,32,128,32,128,32,128,32,64,64,66, + 64,49,128,14,128,0,64,9,12,24,12,2,0,252,0,130, + 0,129,0,129,0,130,0,252,0,130,0,129,0,129,0,129, + 0,129,0,128,128,9,12,24,11,1,0,62,0,65,0,128, + 128,128,128,64,0,48,0,14,0,1,0,128,128,128,128,65, + 0,62,0,9,12,24,10,0,0,255,128,8,0,8,0,8, + 0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8, + 0,9,12,24,12,1,0,128,128,128,128,128,128,128,128,128, + 128,128,128,128,128,128,128,128,128,128,128,65,0,62,0,10, + 12,24,11,0,0,128,64,128,64,64,128,64,128,64,128,33, + 0,33,0,18,0,18,0,18,0,12,0,12,0,13,12,24, + 15,1,0,130,8,130,8,130,8,69,16,69,16,69,16,40, + 160,40,160,40,160,16,64,16,64,16,64,8,12,12,11,1, + 0,129,66,66,36,36,24,24,36,36,66,66,129,9,12,24, + 11,1,0,128,128,65,0,65,0,34,0,34,0,20,0,28, + 0,8,0,8,0,8,0,8,0,8,0,9,12,24,10,0, + 0,127,128,1,0,3,0,2,0,4,0,12,0,8,0,16, + 0,48,0,32,0,64,0,255,128,3,15,15,5,1,253,224, + 128,128,128,128,128,128,128,128,128,128,128,128,128,224,4,12, + 12,5,0,0,128,128,64,64,64,64,32,32,32,16,16,16, + 3,15,15,5,0,253,224,32,32,32,32,32,32,32,32,32, + 32,32,32,32,224,7,7,7,8,0,5,16,40,40,68,68, + 130,130,9,1,2,9,0,253,255,128,3,3,3,6,0,10, + 128,192,32,8,9,9,9,1,0,124,130,2,6,122,130,130, + 134,123,7,12,12,9,1,0,128,128,128,184,196,130,130,130, + 130,130,196,184,7,9,9,8,1,0,56,68,130,128,128,128, + 130,68,56,7,12,12,9,1,0,2,2,2,58,70,130,130, + 130,130,130,70,58,7,9,9,9,1,0,56,68,130,130,254, + 128,130,68,56,4,12,12,5,1,0,48,64,64,240,64,64, + 64,64,64,64,64,64,7,13,13,9,1,252,58,70,130,130, + 130,130,130,70,58,2,130,132,120,7,12,12,9,1,0,128, + 128,128,188,194,130,130,130,130,130,130,130,1,12,12,3,1, + 0,128,128,0,128,128,128,128,128,128,128,128,128,3,16,16, + 4,255,252,32,32,0,32,32,32,32,32,32,32,32,32,32, + 32,32,192,7,12,12,8,0,0,128,128,128,132,136,144,160, + 224,144,136,132,130,1,12,12,3,1,0,128,128,128,128,128, + 128,128,128,128,128,128,128,11,9,18,14,2,0,185,192,198, + 32,132,32,132,32,132,32,132,32,132,32,132,32,132,32,7, + 9,9,9,1,0,188,194,130,130,130,130,130,130,130,7,9, + 9,9,1,0,56,68,130,130,130,130,130,68,56,7,13,13, + 9,1,252,184,196,130,130,130,130,130,196,184,128,128,128,128, + 7,13,13,9,1,252,58,70,130,130,130,130,130,70,58,2, + 2,2,2,4,9,9,5,1,0,176,192,128,128,128,128,128, + 128,128,6,9,9,8,1,0,120,132,132,192,48,12,132,132, + 120,4,11,11,5,1,0,64,64,240,64,64,64,64,64,64, + 64,48,7,9,9,9,1,0,130,130,130,130,130,130,130,134, + 122,7,9,9,8,0,0,130,130,68,68,68,40,40,56,16, + 11,9,18,12,0,0,132,32,132,32,68,64,78,64,74,64, + 42,128,42,128,17,0,17,0,7,9,9,8,0,0,130,68, + 68,40,16,40,68,68,130,7,12,12,8,0,253,130,130,68, + 68,40,40,56,16,16,32,32,192,6,9,9,8,1,0,252, + 4,8,16,32,32,64,128,252,3,16,16,6,1,252,32,64, + 64,64,64,64,64,128,64,64,64,64,64,64,64,32,1,16, + 16,4,1,252,128,128,128,128,128,128,128,128,128,128,128,128, + 128,128,128,128,3,16,16,6,1,252,128,64,64,64,64,64, + 64,32,64,64,64,64,64,64,64,128,8,2,2,10,1,4, + 113,142,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,255,255,255,255, + 255,255,255,0,0,0,5,0,1,1,12,12,6,2,253,128, + 128,0,128,128,128,128,128,128,128,128,128,7,13,13,9,1, + 254,4,4,56,76,138,144,144,144,162,100,56,64,64,8,12, + 12,9,0,0,14,17,33,32,32,16,126,8,16,32,121,134, + 8,7,7,9,0,3,189,102,66,66,66,102,189,9,12,24, + 9,0,0,128,128,65,0,65,0,34,0,34,0,20,0,127, + 0,8,0,127,0,8,0,8,0,8,0,1,16,16,4,1, + 252,128,128,128,128,128,128,0,0,0,0,128,128,128,128,128, + 128,7,15,15,9,1,253,56,68,70,96,152,140,134,194,98, + 50,28,4,196,68,56,3,2,2,5,1,10,160,160,12,12, + 24,12,0,0,15,0,48,192,71,32,72,160,144,16,144,16, + 144,16,144,16,72,160,71,32,48,192,15,0,5,7,7,6, + 1,5,96,144,112,144,120,0,248,6,6,6,9,1,2,36, + 72,144,144,72,36,8,5,5,10,0,1,255,1,1,1,1, + 4,1,1,5,0,4,240,12,12,24,12,0,0,15,0,48, + 192,64,32,79,32,136,144,136,144,143,16,138,16,73,32,72, + 160,48,192,15,0,5,1,1,6,0,10,248,5,5,5,7, + 1,7,112,136,136,136,112,9,11,22,10,0,0,8,0,8, + 0,8,0,8,0,255,128,8,0,8,0,8,0,8,0,0, + 0,255,128,5,7,7,6,0,5,112,136,136,16,96,128,248, + 5,7,7,6,0,5,112,136,8,48,8,136,112,3,3,3, + 6,1,10,32,96,128,7,13,13,9,1,252,130,130,130,130, + 130,130,130,134,250,128,128,128,128,7,15,15,9,1,253,62, + 116,244,244,244,244,116,52,20,20,20,20,20,20,20,1,2, + 2,5,2,4,128,128,4,4,4,6,0,252,32,32,144,96, + 3,7,7,6,0,5,32,224,32,32,32,32,32,4,7,7, + 6,1,5,96,144,144,144,96,0,240,6,6,6,9,1,2, + 144,72,36,36,72,144,12,12,24,14,0,0,32,64,224,128, + 32,128,33,0,34,0,34,32,36,96,4,160,9,32,17,240, + 16,32,32,32,12,13,26,14,0,0,0,64,32,128,224,128, + 33,0,34,0,34,0,36,224,37,16,9,16,8,32,16,192, + 33,0,33,240,13,12,24,14,0,0,112,64,136,64,8,128, + 48,128,9,0,137,16,114,48,2,80,4,144,4,248,8,16, + 8,16,7,12,12,10,1,253,16,16,0,16,16,32,64,128, + 130,130,68,56,10,16,32,11,0,0,16,0,24,0,4,0, + 0,0,12,0,12,0,18,0,18,0,18,0,33,0,33,0, + 127,128,64,128,64,128,128,64,128,64,10,16,32,11,0,0, + 2,0,6,0,8,0,0,0,12,0,12,0,18,0,18,0, + 18,0,33,0,33,0,127,128,64,128,64,128,128,64,128,64, + 10,16,32,11,0,0,4,0,14,0,17,0,0,0,12,0, + 12,0,18,0,18,0,18,0,33,0,33,0,127,128,64,128, + 64,128,128,64,128,64,10,15,30,11,0,0,26,0,44,0, + 0,0,12,0,12,0,18,0,18,0,18,0,33,0,33,0, + 127,128,64,128,64,128,128,64,128,64,10,15,30,11,0,0, + 18,0,18,0,0,0,12,0,12,0,18,0,18,0,18,0, + 33,0,33,0,127,128,64,128,64,128,128,64,128,64,10,15, + 30,11,0,0,12,0,18,0,18,0,12,0,12,0,18,0, + 18,0,18,0,33,0,33,0,127,128,64,128,64,128,128,64, + 128,64,14,12,24,16,0,0,7,252,9,0,9,0,17,0, + 17,0,33,252,33,0,127,0,65,0,65,0,129,0,129,252, + 10,16,32,12,1,252,15,0,48,128,64,64,64,0,128,0, + 128,0,128,0,128,0,64,0,64,64,48,128,15,0,4,0, + 4,0,18,0,12,0,8,16,16,11,1,0,32,48,8,0, + 255,128,128,128,128,255,128,128,128,128,128,255,8,16,16,11, + 1,0,4,12,16,0,255,128,128,128,128,255,128,128,128,128, + 128,255,8,16,16,11,1,0,16,56,68,0,255,128,128,128, + 128,255,128,128,128,128,128,255,8,15,15,11,1,0,36,36, + 0,255,128,128,128,128,255,128,128,128,128,128,255,3,16,16, + 4,0,0,128,192,32,0,64,64,64,64,64,64,64,64,64, + 64,64,64,3,16,16,4,0,0,32,96,128,0,64,64,64, + 64,64,64,64,64,64,64,64,64,5,16,16,4,255,0,32, + 112,136,0,32,32,32,32,32,32,32,32,32,32,32,32,3, + 15,15,4,0,0,160,160,0,64,64,64,64,64,64,64,64, + 64,64,64,64,12,12,24,12,0,0,63,0,32,192,32,32, + 32,32,32,16,248,16,32,16,32,16,32,32,32,32,32,192, + 63,0,9,15,30,12,1,0,26,0,44,0,0,0,128,128, + 192,128,160,128,160,128,144,128,136,128,136,128,132,128,130,128, + 130,128,129,128,128,128,11,16,32,13,1,0,8,0,12,0, + 2,0,0,0,14,0,49,128,64,64,64,64,128,32,128,32, + 128,32,128,32,64,64,64,64,49,128,14,0,11,16,32,13, + 1,0,1,0,3,0,4,0,0,0,14,0,49,128,64,64, + 64,64,128,32,128,32,128,32,128,32,64,64,64,64,49,128, + 14,0,11,16,32,13,1,0,4,0,14,0,17,0,0,0, + 14,0,49,128,64,64,64,64,128,32,128,32,128,32,128,32, + 64,64,64,64,49,128,14,0,11,15,30,13,1,0,13,0, + 22,0,0,0,14,0,49,128,64,64,64,64,128,32,128,32, + 128,32,128,32,64,64,64,64,49,128,14,0,11,15,30,13, + 1,0,17,0,17,0,0,0,14,0,49,128,64,64,64,64, + 128,32,128,32,128,32,128,32,64,64,64,64,49,128,14,0, + 8,8,8,10,1,0,129,66,36,24,24,36,66,129,11,14, + 28,13,1,255,0,64,14,128,49,128,65,64,66,64,130,32, + 132,32,132,32,136,32,72,64,80,64,49,128,46,0,64,0, + 9,16,32,12,1,0,32,0,48,0,8,0,0,0,128,128, + 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, + 128,128,65,0,62,0,9,16,32,12,1,0,2,0,6,0, + 8,0,0,0,128,128,128,128,128,128,128,128,128,128,128,128, + 128,128,128,128,128,128,128,128,65,0,62,0,9,16,32,12, + 1,0,8,0,28,0,34,0,0,0,128,128,128,128,128,128, + 128,128,128,128,128,128,128,128,128,128,128,128,128,128,65,0, + 62,0,9,15,30,12,1,0,34,0,34,0,0,0,128,128, + 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, + 128,128,65,0,62,0,9,16,32,11,1,0,2,0,6,0, + 8,0,0,0,128,128,65,0,65,0,34,0,34,0,20,0, + 28,0,8,0,8,0,8,0,8,0,8,0,8,12,12,11, + 2,0,128,128,252,130,129,129,130,252,128,128,128,128,7,12, + 12,10,2,0,120,132,130,130,132,188,134,130,130,130,132,184, + 8,13,13,9,1,0,32,48,8,0,124,130,2,6,122,130, + 130,134,123,8,13,13,9,1,0,4,12,16,0,124,130,2, + 6,122,130,130,134,123,8,13,13,9,1,0,16,56,68,0, + 124,130,2,6,122,130,130,134,123,8,12,12,9,1,0,52, + 88,0,124,130,2,6,122,130,130,134,123,8,12,12,9,1, + 0,40,40,0,124,130,2,6,122,130,130,134,123,8,13,13, + 9,1,0,16,40,16,0,124,130,2,6,122,130,130,134,123, + 13,9,18,15,1,0,124,224,131,16,2,8,6,8,123,248, + 130,0,130,8,135,16,120,224,7,13,13,8,1,252,56,68, + 130,128,128,128,130,68,56,16,16,72,48,7,13,13,9,1, + 0,64,96,16,0,56,68,130,130,254,128,130,68,56,7,13, + 13,9,1,0,8,24,32,0,56,68,130,130,254,128,130,68, + 56,7,13,13,9,1,0,16,56,68,0,56,68,130,130,254, + 128,130,68,56,7,12,12,9,1,0,40,40,0,56,68,130, + 130,254,128,130,68,56,3,13,13,4,1,0,128,192,32,0, + 64,64,64,64,64,64,64,64,64,3,13,13,4,1,0,32, + 96,128,0,64,64,64,64,64,64,64,64,64,5,13,13,4, + 0,0,32,112,136,0,32,32,32,32,32,32,32,32,32,3, + 12,12,4,1,0,160,160,0,64,64,64,64,64,64,64,64, + 64,7,12,12,9,1,0,72,48,88,60,68,130,130,130,130, + 130,68,56,7,12,12,9,1,0,52,88,0,188,194,130,130, + 130,130,130,130,130,7,13,13,9,1,0,32,48,8,0,56, + 68,130,130,130,130,130,68,56,7,13,13,9,1,0,8,24, + 32,0,56,68,130,130,130,130,130,68,56,7,13,13,9,1, + 0,16,56,68,0,56,68,130,130,130,130,130,68,56,7,12, + 12,9,1,0,52,88,0,56,68,130,130,130,130,130,68,56, + 7,12,12,9,1,0,40,40,0,56,68,130,130,130,130,130, + 68,56,7,9,9,10,1,0,16,16,0,0,254,0,0,16, + 16,7,10,10,10,1,0,2,60,68,138,146,146,162,162,68, + 184,7,13,13,9,1,0,32,48,8,0,130,130,130,130,130, + 130,130,134,122,7,13,13,9,1,0,4,12,16,0,130,130, + 130,130,130,130,130,134,122,7,13,13,9,1,0,16,56,68, + 0,130,130,130,130,130,130,130,134,122,7,12,12,9,1,0, + 40,40,0,130,130,130,130,130,130,130,134,122,7,16,16,8, + 0,253,8,24,32,0,130,130,68,68,40,40,56,16,16,32, + 32,192,7,16,16,9,1,252,128,128,128,184,196,130,130,130, + 130,130,196,184,128,128,128,128,7,15,15,8,0,253,40,40, + 0,130,130,68,68,40,40,56,16,16,32,32,192}; +/* + Fontname: -Adobe-Helvetica-Medium-R-Normal--17-120-100-100-P-88-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 12, '1' Height: 12 + Calculated Max Values w=13 h=16 x= 3 y=10 dx=17 dy= 0 ascent=13 len=28 + Font Bounding box w=20 h=26 x=-2 y=-6 + Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 + Pure Font ascent =12 descent=-4 + X Font ascent =12 descent=-4 + Max Font ascent =13 descent=-4 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_helvR12r[1907] U8G_FONT_SECTION("u8g_font_helvR12r") = { + 0,20,26,254,250,12,2,91,5,99,32,127,252,13,252,12, + 252,0,0,0,5,0,1,1,12,12,5,2,0,128,128,128, + 128,128,128,128,128,128,0,128,128,4,4,4,6,1,8,144, + 144,144,144,8,11,11,9,0,0,18,18,18,127,36,36,36, + 254,72,72,72,7,15,15,9,1,254,16,124,146,146,144,80, + 48,24,20,18,146,146,124,16,16,12,12,24,14,0,0,112, + 64,136,128,136,128,137,0,114,0,2,0,4,0,4,224,9, + 16,17,16,17,16,32,224,10,12,24,11,0,0,24,0,36, + 0,66,0,66,0,36,0,24,0,41,0,69,0,130,0,131, + 0,68,128,56,64,2,4,4,3,0,8,192,192,64,64,3, + 16,16,6,1,252,32,64,64,64,128,128,128,128,128,128,128, + 128,64,64,64,32,3,16,16,6,1,252,128,64,64,64,32, + 32,32,32,32,32,32,32,64,64,64,128,5,5,5,6,0, + 7,32,168,112,80,136,9,9,18,10,0,0,8,0,8,0, + 8,0,8,0,255,128,8,0,8,0,8,0,8,0,2,4, + 4,4,1,254,64,64,64,128,4,1,1,5,0,4,240,1, + 2,2,4,2,0,128,128,4,12,12,5,0,0,16,16,32, + 32,32,32,64,64,64,128,128,128,7,12,12,9,1,0,56, + 68,68,130,130,130,130,130,130,68,68,56,3,12,12,9,3, + 0,32,32,96,160,32,32,32,32,32,32,32,32,7,12,12, + 9,1,0,56,68,130,130,2,4,8,48,64,128,128,254,7, + 12,12,9,1,0,56,68,130,130,4,56,4,2,130,130,68, + 56,8,12,12,9,0,0,12,20,20,36,36,68,68,132,255, + 4,4,4,7,12,12,9,1,0,62,32,32,64,120,68,2, + 2,2,130,68,56,7,12,12,9,1,0,60,66,130,128,184, + 196,130,130,130,130,68,56,8,12,12,9,0,0,255,1,2, + 4,4,8,8,16,16,16,32,32,7,12,12,9,1,0,56, + 68,130,130,68,56,68,130,130,130,68,56,7,12,12,9,1, + 0,56,68,130,130,130,130,70,58,2,130,132,120,1,9,9, + 4,2,0,128,128,0,0,0,0,0,128,128,2,11,11,4, + 1,254,64,64,0,0,0,0,0,64,64,64,128,9,9,18, + 10,0,0,1,128,6,0,24,0,96,0,128,0,96,0,24, + 0,6,0,1,128,8,4,4,10,0,2,255,0,0,255,9, + 9,18,10,1,0,192,0,48,0,12,0,3,0,0,128,3, + 0,12,0,48,0,192,0,7,12,12,9,1,0,56,68,130, + 130,2,4,8,16,16,0,16,16,13,14,28,17,1,254,7, + 128,24,96,32,16,67,208,76,72,136,72,144,136,144,136,144, + 144,153,144,78,96,64,0,48,96,15,128,10,12,24,11,0, + 0,12,0,12,0,18,0,18,0,18,0,33,0,33,0,127, + 128,64,128,64,128,128,64,128,64,9,12,24,11,1,0,252, + 0,130,0,129,0,129,0,130,0,254,0,129,0,128,128,128, + 128,128,128,129,0,254,0,10,12,24,12,1,0,15,0,48, + 128,64,64,64,0,128,0,128,0,128,0,128,0,64,0,64, + 64,48,128,15,0,10,12,24,12,1,0,252,0,131,0,128, + 128,128,128,128,64,128,64,128,64,128,64,128,128,128,128,131, + 0,252,0,8,12,12,11,1,0,255,128,128,128,128,255,128, + 128,128,128,128,255,7,12,12,10,1,0,254,128,128,128,128, + 254,128,128,128,128,128,128,10,12,24,13,1,0,14,0,49, + 128,64,64,64,0,128,0,128,0,135,192,128,64,64,64,64, + 192,49,64,14,64,9,12,24,12,1,0,128,128,128,128,128, + 128,128,128,128,128,255,128,128,128,128,128,128,128,128,128,128, + 128,128,128,1,12,12,4,1,0,128,128,128,128,128,128,128, + 128,128,128,128,128,6,12,12,8,0,0,4,4,4,4,4, + 4,4,4,132,132,132,120,8,12,12,11,1,0,129,130,132, + 136,144,176,200,136,132,130,130,129,7,12,12,9,1,0,128, + 128,128,128,128,128,128,128,128,128,128,254,11,12,24,13,1, + 0,128,32,192,96,192,96,160,160,160,160,160,160,145,32,145, + 32,145,32,138,32,138,32,132,32,9,12,24,12,1,0,128, + 128,192,128,160,128,160,128,144,128,136,128,136,128,132,128,130, + 128,130,128,129,128,128,128,11,12,24,13,1,0,14,0,49, + 128,64,64,64,64,128,32,128,32,128,32,128,32,64,64,64, + 64,49,128,14,0,8,12,12,11,2,0,252,130,129,129,130, + 252,128,128,128,128,128,128,11,13,26,13,1,255,14,0,49, + 128,64,64,64,64,128,32,128,32,128,32,128,32,64,64,66, + 64,49,128,14,128,0,64,9,12,24,12,2,0,252,0,130, + 0,129,0,129,0,130,0,252,0,130,0,129,0,129,0,129, + 0,129,0,128,128,9,12,24,11,1,0,62,0,65,0,128, + 128,128,128,64,0,48,0,14,0,1,0,128,128,128,128,65, + 0,62,0,9,12,24,10,0,0,255,128,8,0,8,0,8, + 0,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8, + 0,9,12,24,12,1,0,128,128,128,128,128,128,128,128,128, + 128,128,128,128,128,128,128,128,128,128,128,65,0,62,0,10, + 12,24,11,0,0,128,64,128,64,64,128,64,128,64,128,33, + 0,33,0,18,0,18,0,18,0,12,0,12,0,13,12,24, + 15,1,0,130,8,130,8,130,8,69,16,69,16,69,16,40, + 160,40,160,40,160,16,64,16,64,16,64,8,12,12,11,1, + 0,129,66,66,36,36,24,24,36,36,66,66,129,9,12,24, + 11,1,0,128,128,65,0,65,0,34,0,34,0,20,0,28, + 0,8,0,8,0,8,0,8,0,8,0,9,12,24,10,0, + 0,127,128,1,0,3,0,2,0,4,0,12,0,8,0,16, + 0,48,0,32,0,64,0,255,128,3,15,15,5,1,253,224, + 128,128,128,128,128,128,128,128,128,128,128,128,128,224,4,12, + 12,5,0,0,128,128,64,64,64,64,32,32,32,16,16,16, + 3,15,15,5,0,253,224,32,32,32,32,32,32,32,32,32, + 32,32,32,32,224,7,7,7,8,0,5,16,40,40,68,68, + 130,130,9,1,2,9,0,253,255,128,3,3,3,6,0,10, + 128,192,32,8,9,9,9,1,0,124,130,2,6,122,130,130, + 134,123,7,12,12,9,1,0,128,128,128,184,196,130,130,130, + 130,130,196,184,7,9,9,8,1,0,56,68,130,128,128,128, + 130,68,56,7,12,12,9,1,0,2,2,2,58,70,130,130, + 130,130,130,70,58,7,9,9,9,1,0,56,68,130,130,254, + 128,130,68,56,4,12,12,5,1,0,48,64,64,240,64,64, + 64,64,64,64,64,64,7,13,13,9,1,252,58,70,130,130, + 130,130,130,70,58,2,130,132,120,7,12,12,9,1,0,128, + 128,128,188,194,130,130,130,130,130,130,130,1,12,12,3,1, + 0,128,128,0,128,128,128,128,128,128,128,128,128,3,16,16, + 4,255,252,32,32,0,32,32,32,32,32,32,32,32,32,32, + 32,32,192,7,12,12,8,0,0,128,128,128,132,136,144,160, + 224,144,136,132,130,1,12,12,3,1,0,128,128,128,128,128, + 128,128,128,128,128,128,128,11,9,18,14,2,0,185,192,198, + 32,132,32,132,32,132,32,132,32,132,32,132,32,132,32,7, + 9,9,9,1,0,188,194,130,130,130,130,130,130,130,7,9, + 9,9,1,0,56,68,130,130,130,130,130,68,56,7,13,13, + 9,1,252,184,196,130,130,130,130,130,196,184,128,128,128,128, + 7,13,13,9,1,252,58,70,130,130,130,130,130,70,58,2, + 2,2,2,4,9,9,5,1,0,176,192,128,128,128,128,128, + 128,128,6,9,9,8,1,0,120,132,132,192,48,12,132,132, + 120,4,11,11,5,1,0,64,64,240,64,64,64,64,64,64, + 64,48,7,9,9,9,1,0,130,130,130,130,130,130,130,134, + 122,7,9,9,8,0,0,130,130,68,68,68,40,40,56,16, + 11,9,18,12,0,0,132,32,132,32,68,64,78,64,74,64, + 42,128,42,128,17,0,17,0,7,9,9,8,0,0,130,68, + 68,40,16,40,68,68,130,7,12,12,8,0,253,130,130,68, + 68,40,40,56,16,16,32,32,192,6,9,9,8,1,0,252, + 4,8,16,32,32,64,128,252,3,16,16,6,1,252,32,64, + 64,64,64,64,64,128,64,64,64,64,64,64,64,32,1,16, + 16,4,1,252,128,128,128,128,128,128,128,128,128,128,128,128, + 128,128,128,128,3,16,16,6,1,252,128,64,64,64,64,64, + 64,32,64,64,64,64,64,64,64,128,8,2,2,10,1,4, + 113,142,255}; +/* + Fontname: -Adobe-Helvetica-Medium-R-Normal--20-140-100-100-P-100-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 14, '1' Height: 13 + Calculated Max Values w=16 h=18 x= 2 y=12 dx=18 dy= 0 ascent=18 len=36 + Font Bounding box w=22 h=29 x=-2 y=-7 + Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 + Pure Font ascent =14 descent=-4 + X Font ascent =14 descent=-4 + Max Font ascent =18 descent=-4 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_helvR14[4920] U8G_FONT_SECTION("u8g_font_helvR14") = { + 0,22,29,254,249,14,2,149,6,82,32,255,252,18,252,14, + 252,0,0,0,5,0,1,2,14,14,6,2,0,192,192,192, + 192,192,192,192,192,128,128,0,0,192,192,5,5,5,5,0, + 9,216,216,216,216,216,10,13,26,10,0,0,9,0,9,0, + 9,0,127,192,127,192,18,0,18,0,18,0,255,128,255,128, + 36,0,36,0,36,0,9,16,32,10,1,254,8,0,62,0, + 127,0,203,0,200,0,232,0,120,0,62,0,15,0,9,128, + 201,128,235,128,127,0,62,0,8,0,8,0,14,13,26,16, + 1,0,120,96,204,192,204,192,205,128,205,128,123,0,3,0, + 6,120,6,204,12,204,12,204,24,204,24,120,12,13,26,13, + 1,0,60,0,126,0,102,0,102,0,60,0,124,0,238,192, + 198,192,195,192,195,128,231,192,126,224,60,112,1,5,5,3, + 1,9,128,128,128,128,128,4,18,18,6,0,252,16,48,96, + 96,192,192,192,192,192,192,192,192,192,192,96,96,48,16,4, + 18,18,6,1,252,128,192,96,96,48,48,48,48,48,48,48, + 48,48,48,96,96,192,128,5,7,7,7,1,7,32,168,248, + 32,248,168,32,8,10,10,10,1,0,24,24,24,24,255,255, + 24,24,24,24,2,5,5,5,1,253,192,192,64,64,128,5, + 1,1,6,0,5,248,2,2,2,5,1,0,192,192,5,14, + 14,5,0,0,24,24,24,24,48,48,48,96,96,96,192,192, + 192,192,8,13,13,10,1,0,60,126,102,195,195,195,195,195, + 195,195,102,126,60,5,13,13,10,2,0,24,248,248,24,24, + 24,24,24,24,24,24,24,24,8,13,13,10,1,0,60,254, + 195,3,7,14,28,56,112,224,192,255,255,8,13,13,10,1, + 0,62,127,195,195,6,28,30,7,3,195,199,126,60,9,13, + 26,10,0,0,3,0,7,0,15,0,27,0,51,0,51,0, + 99,0,195,0,255,128,255,128,3,0,3,0,3,0,8,13, + 13,10,1,0,254,254,192,192,252,254,199,3,3,195,199,254, + 124,8,13,13,10,1,0,60,127,99,192,192,220,254,195,195, + 195,227,126,60,8,13,13,10,1,0,255,255,3,6,12,12, + 24,24,48,48,96,96,96,8,13,13,10,1,0,60,126,231, + 195,195,102,126,231,195,195,231,126,60,8,13,13,10,1,0, + 60,126,199,195,195,195,127,59,3,3,198,254,124,2,10,10, + 5,1,0,192,192,0,0,0,0,0,0,192,192,2,13,13, + 5,1,253,192,192,0,0,0,0,0,0,192,192,64,64,128, + 8,9,9,10,1,0,3,15,60,112,192,112,60,15,3,7, + 5,5,11,2,2,254,254,0,254,254,8,9,9,10,1,0, + 192,240,60,14,3,14,60,240,192,7,14,14,10,1,0,124, + 254,198,198,14,28,56,48,48,48,0,0,48,48,16,17,34, + 18,1,253,3,240,15,252,28,14,48,6,99,211,103,115,198, + 51,204,99,204,102,204,102,204,204,207,248,103,112,112,0,56, + 0,31,240,7,224,12,14,28,13,0,0,6,0,6,0,15, + 0,15,0,25,128,25,128,48,192,48,192,63,192,127,224,96, + 96,96,96,192,48,192,48,11,14,28,13,1,0,255,0,255, + 128,193,192,192,192,192,192,193,128,255,128,255,192,192,224,192, + 96,192,96,192,224,255,192,255,128,12,14,28,14,1,0,15, + 128,63,224,112,112,96,48,224,0,192,0,192,0,192,0,192, + 0,224,0,96,48,112,112,63,224,15,128,12,14,28,14,1, + 0,255,128,255,192,192,224,192,96,192,48,192,48,192,48,192, + 48,192,48,192,48,192,96,192,224,255,192,255,128,10,14,28, + 13,2,0,255,192,255,192,192,0,192,0,192,0,192,0,255, + 128,255,128,192,0,192,0,192,0,192,0,255,192,255,192,9, + 14,28,12,2,0,255,128,255,128,192,0,192,0,192,0,192, + 0,255,0,255,0,192,0,192,0,192,0,192,0,192,0,192, + 0,13,14,28,15,1,0,15,192,63,240,112,56,96,24,224, + 24,192,0,192,0,192,248,192,248,224,24,96,24,112,56,63, + 248,15,216,11,14,28,14,1,0,192,96,192,96,192,96,192, + 96,192,96,192,96,255,224,255,224,192,96,192,96,192,96,192, + 96,192,96,192,96,2,14,14,6,2,0,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,8,14,14,10,0,0,3, + 3,3,3,3,3,3,3,3,195,195,231,126,60,12,14,28, + 13,2,0,192,224,193,192,195,128,199,0,206,0,220,0,248, + 0,252,0,206,0,199,0,195,128,193,192,192,224,192,112,9, + 14,28,11,1,0,192,0,192,0,192,0,192,0,192,0,192, + 0,192,0,192,0,192,0,192,0,192,0,192,0,255,128,255, + 128,14,14,28,16,1,0,192,12,192,12,224,28,224,28,240, + 60,240,60,216,108,216,108,204,204,204,204,196,140,199,140,195, + 12,195,12,11,14,28,14,1,0,192,96,224,96,240,96,240, + 96,216,96,204,96,204,96,198,96,198,96,195,96,193,224,193, + 224,192,224,192,96,13,14,28,15,1,0,15,128,63,224,112, + 112,96,48,224,56,192,24,192,24,192,24,192,24,224,56,96, + 48,112,112,63,224,15,128,10,14,28,13,2,0,255,0,255, + 128,193,192,192,192,192,192,193,192,255,128,255,0,192,0,192, + 0,192,0,192,0,192,0,192,0,13,15,30,15,1,255,15, + 128,63,224,112,112,96,48,224,56,192,24,192,24,192,24,192, + 24,225,184,97,176,112,240,63,224,15,176,0,48,11,14,28, + 14,1,0,255,128,255,192,192,224,192,96,192,96,192,224,255, + 192,255,128,192,192,192,192,192,96,192,96,192,96,192,96,10, + 14,28,13,1,0,30,0,127,128,225,192,192,192,224,0,124, + 0,31,0,3,128,1,192,0,192,192,192,225,192,127,128,63, + 0,10,14,28,12,1,0,255,192,255,192,12,0,12,0,12, + 0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, + 0,12,0,11,14,28,14,1,0,192,96,192,96,192,96,192, + 96,192,96,192,96,192,96,192,96,192,96,192,96,192,96,96, + 192,127,192,31,0,12,14,28,13,0,0,192,48,192,48,96, + 96,96,96,96,96,48,192,48,192,48,192,25,128,25,128,25, + 128,15,0,15,0,6,0,16,14,28,18,1,0,193,131,193, + 131,193,131,195,195,99,198,98,70,102,102,102,102,54,108,54, + 108,52,44,28,56,24,24,24,24,11,14,28,13,1,0,192, + 96,192,96,96,192,113,192,49,128,27,0,14,0,14,0,27, + 0,49,128,113,192,96,192,192,96,192,96,12,14,28,13,0, + 0,192,48,192,48,96,96,96,96,48,192,57,192,25,128,15, + 0,6,0,6,0,6,0,6,0,6,0,6,0,10,14,28, + 12,1,0,255,192,255,192,0,192,1,128,3,0,6,0,12, + 0,28,0,24,0,48,0,96,0,192,0,255,192,255,192,4, + 18,18,5,0,252,240,240,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,240,240,5,14,14,5,0,0,192,192,192, + 96,96,96,48,48,48,48,24,24,24,24,4,18,18,5,0, + 252,240,240,48,48,48,48,48,48,48,48,48,48,48,48,48, + 48,240,240,7,6,6,9,1,7,16,56,108,108,198,198,11, + 2,4,11,0,252,255,224,255,224,4,3,3,4,0,11,192, + 96,48,9,10,20,11,1,0,126,0,231,0,195,0,7,0, + 127,0,227,0,195,0,195,0,231,128,121,128,9,14,28,11, + 1,0,192,0,192,0,192,0,192,0,222,0,255,0,227,0, + 193,128,193,128,193,128,193,128,227,0,255,0,222,0,8,10, + 10,10,1,0,62,127,99,192,192,192,192,99,127,62,9,14, + 28,11,1,0,1,128,1,128,1,128,1,128,61,128,127,128, + 99,128,193,128,193,128,193,128,193,128,99,128,127,128,61,128, + 8,10,10,10,1,0,60,126,195,195,255,192,192,227,127,60, + 6,14,14,6,0,0,28,60,48,48,252,252,48,48,48,48, + 48,48,48,48,9,14,28,11,1,252,61,128,127,128,97,128, + 193,128,193,128,193,128,193,128,99,128,127,128,61,128,1,128, + 99,0,127,0,28,0,8,14,14,10,1,0,192,192,192,192, + 222,255,227,195,195,195,195,195,195,195,2,14,14,4,1,0, + 192,192,0,0,192,192,192,192,192,192,192,192,192,192,4,18, + 18,4,255,252,48,48,0,0,48,48,48,48,48,48,48,48, + 48,48,48,48,240,224,8,14,14,9,1,0,192,192,192,192, + 198,204,216,240,248,216,204,206,198,199,2,14,14,4,1,0, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,14,10, + 20,16,1,0,222,120,255,252,227,140,195,12,195,12,195,12, + 195,12,195,12,195,12,195,12,8,10,10,10,1,0,222,255, + 227,195,195,195,195,195,195,195,9,10,20,11,1,0,62,0, + 127,0,99,0,193,128,193,128,193,128,193,128,99,0,127,0, + 62,0,9,14,28,11,1,252,222,0,255,0,227,0,193,128, + 193,128,193,128,193,128,227,0,255,0,222,0,192,0,192,0, + 192,0,192,0,9,14,28,11,1,252,61,128,127,128,99,128, + 193,128,193,128,193,128,193,128,99,128,127,128,61,128,1,128, + 1,128,1,128,1,128,5,10,10,6,1,0,216,216,224,192, + 192,192,192,192,192,192,7,10,10,9,1,0,60,126,198,192, + 252,62,6,198,252,120,6,13,13,6,0,0,48,48,48,252, + 252,48,48,48,48,48,48,60,28,8,10,10,10,1,0,195, + 195,195,195,195,195,195,199,255,123,8,10,10,10,1,0,195, + 195,195,102,102,102,36,60,24,24,12,10,20,14,1,0,198, + 48,198,48,198,48,102,96,102,96,105,96,41,64,57,192,25, + 128,25,128,8,10,10,10,1,0,195,231,102,60,24,24,60, + 102,231,195,8,14,14,10,1,252,195,195,195,102,102,102,36, + 60,24,24,24,24,112,112,7,10,10,9,1,0,254,254,6, + 12,24,48,96,192,254,254,6,18,18,6,255,252,12,24,48, + 48,48,48,48,96,192,96,48,48,48,48,48,48,24,12,2, + 18,18,5,1,252,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,6,18,18,6,0,252,192,96,48, + 48,48,48,48,24,12,24,48,48,48,48,48,48,96,192,8, + 3,3,10,1,4,115,255,206,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,255,255,255,255,255,255,255,0,0,0,5,0,1,2, + 14,14,6,2,252,192,192,0,0,64,64,192,192,192,192,192, + 192,192,192,8,14,14,10,1,254,4,4,62,127,107,200,200, + 200,200,107,127,62,16,16,9,13,26,10,0,0,30,0,63, + 0,97,128,97,128,96,0,48,0,126,0,24,0,24,0,48, + 0,96,128,255,128,223,0,8,7,7,10,1,3,195,255,102, + 102,102,255,195,8,13,13,10,1,0,195,195,102,102,102,60, + 255,24,255,24,24,24,24,2,18,18,5,1,252,192,192,192, + 192,192,192,192,0,0,0,0,192,192,192,192,192,192,192,8, + 18,18,10,1,252,60,126,195,195,240,124,110,199,195,227,115, + 62,14,7,195,195,126,60,5,2,2,6,0,12,216,216,13, + 14,28,15,1,0,15,128,48,96,64,16,71,16,136,136,144, + 136,144,8,144,8,144,8,136,136,71,16,64,16,48,96,15, + 128,5,8,8,7,1,6,112,152,56,72,216,104,0,248,7, + 6,6,9,1,2,54,108,216,216,108,54,9,5,10,11,1, + 3,255,128,255,128,1,128,1,128,1,128,5,1,1,6,0, + 5,248,13,14,28,14,0,0,15,128,48,96,64,16,79,144, + 136,72,136,72,136,72,143,136,137,8,136,136,72,80,64,16, + 48,96,15,128,5,1,1,5,0,12,248,5,5,5,7,1, + 8,112,216,136,216,112,8,11,11,10,1,0,24,24,24,255, + 255,24,24,24,0,255,255,5,8,8,6,0,5,112,248,152, + 24,48,96,248,248,5,8,8,6,0,5,112,248,152,48,48, + 152,248,112,4,3,3,4,0,11,48,96,192,8,14,14,10, + 1,252,195,195,195,195,195,195,195,231,255,219,192,192,192,192, + 8,18,18,10,1,252,63,114,242,242,242,242,242,114,50,18, + 18,18,18,18,18,18,18,18,2,2,2,4,1,4,192,192, + 5,5,5,5,0,252,96,112,24,216,240,4,8,8,6,0, + 5,48,240,240,48,48,48,48,48,5,8,8,7,1,6,112, + 216,136,136,216,112,0,248,7,6,6,9,1,2,216,108,54, + 54,108,216,14,13,26,15,0,0,48,48,240,48,240,96,48, + 192,48,192,49,136,49,24,51,56,6,120,6,216,12,252,24, + 24,24,24,14,13,26,15,0,0,48,48,240,48,240,96,48, + 192,48,192,49,184,49,124,51,76,6,12,6,24,12,48,24, + 124,24,124,14,13,26,15,0,0,112,48,248,48,152,96,48, + 192,48,192,153,136,249,24,115,56,6,120,6,216,12,252,24, + 24,24,24,7,14,14,10,1,252,24,24,0,0,24,24,24, + 56,112,224,198,198,254,124,12,18,36,13,0,0,24,0,12, + 0,6,0,0,0,6,0,6,0,15,0,15,0,25,128,25, + 128,48,192,48,192,63,192,127,224,96,96,96,96,192,48,192, + 48,12,18,36,13,0,0,1,128,3,0,6,0,0,0,6, + 0,6,0,15,0,15,0,25,128,25,128,48,192,48,192,63, + 192,127,224,96,96,96,96,192,48,192,48,12,18,36,13,0, + 0,6,0,15,0,25,128,0,0,6,0,6,0,15,0,15, + 0,25,128,25,128,48,192,48,192,63,192,127,224,96,96,96, + 96,192,48,192,48,12,18,36,13,0,0,12,128,22,128,19, + 0,0,0,6,0,6,0,15,0,15,0,25,128,25,128,48, + 192,48,192,63,192,127,224,96,96,96,96,192,48,192,48,12, + 17,34,13,0,0,25,128,25,128,0,0,6,0,6,0,15, + 0,15,0,25,128,25,128,48,192,48,192,63,192,127,224,96, + 96,96,96,192,48,192,48,12,17,34,13,0,0,6,0,9, + 0,9,0,6,0,6,0,15,0,15,0,25,128,25,128,48, + 192,48,192,63,192,127,224,96,96,96,96,192,48,192,48,16, + 14,28,18,1,0,7,255,7,255,13,128,13,128,25,128,25, + 128,49,254,49,254,63,128,127,128,97,128,97,128,193,255,193, + 255,12,18,36,14,1,252,15,128,63,224,112,112,96,48,224, + 0,192,0,192,0,192,0,192,0,224,0,96,48,112,112,63, + 224,15,128,6,0,3,0,27,0,30,0,10,18,36,13,2, + 0,48,0,24,0,12,0,0,0,255,192,255,192,192,0,192, + 0,192,0,192,0,255,128,255,128,192,0,192,0,192,0,192, + 0,255,192,255,192,10,18,36,13,2,0,3,0,6,0,12, + 0,0,0,255,192,255,192,192,0,192,0,192,0,192,0,255, + 128,255,128,192,0,192,0,192,0,192,0,255,192,255,192,10, + 18,36,13,2,0,12,0,30,0,51,0,0,0,255,192,255, + 192,192,0,192,0,192,0,192,0,255,128,255,128,192,0,192, + 0,192,0,192,0,255,192,255,192,10,17,34,13,2,0,51, + 0,51,0,0,0,255,192,255,192,192,0,192,0,192,0,192, + 0,255,128,255,128,192,0,192,0,192,0,192,0,255,192,255, + 192,4,18,18,6,0,0,192,96,48,0,48,48,48,48,48, + 48,48,48,48,48,48,48,48,48,4,18,18,6,2,0,48, + 96,192,0,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,6,18,18,6,0,0,48,120,132,0,48,48,48,48,48, + 48,48,48,48,48,48,48,48,48,6,17,17,6,0,0,204, + 204,0,48,48,48,48,48,48,48,48,48,48,48,48,48,48, + 14,14,28,14,255,0,63,224,63,240,48,56,48,24,48,12, + 48,12,254,12,254,12,48,12,48,12,48,24,48,56,63,240, + 63,224,11,18,36,14,1,0,12,128,22,128,19,0,0,0, + 192,96,224,96,240,96,240,96,216,96,204,96,204,96,198,96, + 198,96,195,96,193,224,193,224,192,224,192,96,13,18,36,15, + 1,0,24,0,12,0,6,0,0,0,15,128,63,224,112,112, + 96,48,224,56,192,24,192,24,192,24,192,24,224,56,96,48, + 112,112,63,224,15,128,13,18,36,15,1,0,1,128,3,0, + 6,0,0,0,15,128,63,224,112,112,96,48,224,56,192,24, + 192,24,192,24,192,24,224,56,96,48,112,112,63,224,15,128, + 13,18,36,15,1,0,3,0,7,128,12,192,0,0,15,128, + 63,224,112,112,96,48,224,56,192,24,192,24,192,24,192,24, + 224,56,96,48,112,112,63,224,15,128,13,18,36,15,1,0, + 6,64,11,64,9,128,0,0,15,128,63,224,112,112,96,48, + 224,56,192,24,192,24,192,24,192,24,224,56,96,48,112,112, + 63,224,15,128,13,17,34,15,1,0,12,192,12,192,0,0, + 15,128,63,224,112,112,96,48,224,56,192,24,192,24,192,24, + 192,24,224,56,96,48,112,112,63,224,15,128,10,9,18,10, + 0,0,192,192,97,128,51,0,30,0,12,0,30,0,51,0, + 97,128,192,192,14,14,28,15,0,0,7,204,31,248,56,48, + 48,120,112,220,97,140,99,12,98,12,102,12,108,28,56,24, + 56,56,111,240,199,192,11,18,36,14,1,0,24,0,12,0, + 6,0,0,0,192,96,192,96,192,96,192,96,192,96,192,96, + 192,96,192,96,192,96,192,96,192,96,96,192,127,192,31,0, + 11,18,36,14,1,0,3,0,6,0,12,0,0,0,192,96, + 192,96,192,96,192,96,192,96,192,96,192,96,192,96,192,96, + 192,96,192,96,96,192,127,192,31,0,11,18,36,14,1,0, + 6,0,15,0,25,128,0,0,192,96,192,96,192,96,192,96, + 192,96,192,96,192,96,192,96,192,96,192,96,192,96,96,192, + 127,192,31,0,11,17,34,14,1,0,49,128,49,128,0,0, + 192,96,192,96,192,96,192,96,192,96,192,96,192,96,192,96, + 192,96,192,96,192,96,96,192,127,192,31,0,12,18,36,13, + 0,0,1,128,3,0,6,0,0,0,192,48,192,48,96,96, + 96,96,48,192,57,192,25,128,15,0,6,0,6,0,6,0, + 6,0,6,0,6,0,10,14,28,12,1,0,192,0,192,0, + 192,0,255,0,255,128,193,192,192,192,192,192,193,192,255,128, + 255,0,192,0,192,0,192,0,7,14,14,9,1,0,56,124, + 198,198,198,198,220,220,198,198,198,198,222,220,9,14,28,11, + 1,0,48,0,24,0,12,0,0,0,126,0,231,0,195,0, + 7,0,127,0,227,0,195,0,195,0,231,128,121,128,9,14, + 28,11,1,0,12,0,24,0,48,0,0,0,126,0,231,0, + 195,0,7,0,127,0,227,0,195,0,195,0,231,128,121,128, + 9,14,28,11,1,0,24,0,60,0,102,0,0,0,126,0, + 231,0,195,0,7,0,127,0,227,0,195,0,195,0,231,128, + 121,128,9,14,28,11,1,0,50,0,90,0,76,0,0,0, + 126,0,231,0,195,0,7,0,127,0,227,0,195,0,195,0, + 231,128,121,128,9,14,28,11,1,0,102,0,102,0,0,0, + 0,0,126,0,231,0,195,0,7,0,127,0,227,0,195,0, + 195,0,231,128,121,128,9,14,28,11,1,0,24,0,36,0, + 36,0,24,0,126,0,231,0,195,0,7,0,127,0,227,0, + 195,0,195,0,231,128,121,128,14,10,20,17,2,0,126,240, + 231,248,195,12,7,12,127,252,227,0,195,0,195,140,231,252, + 122,240,8,14,14,10,1,252,62,127,99,192,192,192,192,99, + 127,62,24,12,108,120,8,14,14,10,1,0,48,24,12,0, + 60,126,195,195,255,192,192,227,127,60,8,14,14,10,1,0, + 12,24,48,0,60,126,195,195,255,192,192,227,127,60,8,14, + 14,10,1,0,24,60,102,0,60,126,195,195,255,192,192,227, + 127,60,8,14,14,10,1,0,102,102,0,0,60,126,195,195, + 255,192,192,227,127,60,4,14,14,4,0,0,192,96,48,0, + 96,96,96,96,96,96,96,96,96,96,4,14,14,4,0,0, + 48,96,192,0,96,96,96,96,96,96,96,96,96,96,6,14, + 14,4,255,0,48,120,204,0,48,48,48,48,48,48,48,48, + 48,48,5,14,14,4,0,0,216,216,0,0,96,96,96,96, + 96,96,96,96,96,96,9,14,28,11,1,0,96,0,54,0, + 56,0,76,0,62,0,127,0,99,0,193,128,193,128,193,128, + 193,128,99,0,127,0,62,0,8,14,14,10,1,0,50,90, + 76,0,222,255,227,195,195,195,195,195,195,195,9,14,28,11, + 1,0,48,0,24,0,12,0,0,0,62,0,127,0,99,0, + 193,128,193,128,193,128,193,128,99,0,127,0,62,0,9,14, + 28,11,1,0,6,0,12,0,24,0,0,0,62,0,127,0, + 99,0,193,128,193,128,193,128,193,128,99,0,127,0,62,0, + 9,14,28,11,1,0,24,0,60,0,102,0,0,0,62,0, + 127,0,99,0,193,128,193,128,193,128,193,128,99,0,127,0, + 62,0,9,14,28,11,1,0,50,0,90,0,76,0,0,0, + 62,0,127,0,99,0,193,128,193,128,193,128,193,128,99,0, + 127,0,62,0,9,14,28,11,1,0,51,0,51,0,0,0, + 0,0,62,0,127,0,99,0,193,128,193,128,193,128,193,128, + 99,0,127,0,62,0,8,8,8,10,1,1,24,24,0,255, + 255,0,24,24,11,10,20,11,0,0,14,96,63,192,49,128, + 99,192,102,192,108,192,120,192,49,128,127,128,206,0,8,14, + 14,10,1,0,48,24,12,0,195,195,195,195,195,195,195,199, + 255,123,8,14,14,10,1,0,6,12,24,0,195,195,195,195, + 195,195,195,199,255,123,8,14,14,10,1,0,24,60,102,0, + 195,195,195,195,195,195,195,199,255,123,8,14,14,10,1,0, + 102,102,0,0,195,195,195,195,195,195,195,199,255,123,8,18, + 18,10,1,252,6,12,24,0,195,195,195,102,102,102,36,60, + 24,24,24,24,112,112,9,18,36,11,1,252,192,0,192,0, + 192,0,192,0,222,0,255,0,227,0,193,128,193,128,193,128, + 193,128,227,0,255,0,222,0,192,0,192,0,192,0,192,0, + 8,18,18,10,1,252,102,102,0,0,195,195,195,102,102,102, + 36,60,24,24,24,24,112,112}; +/* + Fontname: -Adobe-Helvetica-Medium-R-Normal--20-140-100-100-P-100-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 14, '1' Height: 13 + Calculated Max Values w=16 h=18 x= 2 y=11 dx=18 dy= 0 ascent=14 len=34 + Font Bounding box w=22 h=29 x=-2 y=-7 + Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 + Pure Font ascent =14 descent=-4 + X Font ascent =14 descent=-4 + Max Font ascent =14 descent=-4 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_helvR14r[2281] U8G_FONT_SECTION("u8g_font_helvR14r") = { + 0,22,29,254,249,14,2,149,6,82,32,127,252,14,252,14, + 252,0,0,0,5,0,1,2,14,14,6,2,0,192,192,192, + 192,192,192,192,192,128,128,0,0,192,192,5,5,5,5,0, + 9,216,216,216,216,216,10,13,26,10,0,0,9,0,9,0, + 9,0,127,192,127,192,18,0,18,0,18,0,255,128,255,128, + 36,0,36,0,36,0,9,16,32,10,1,254,8,0,62,0, + 127,0,203,0,200,0,232,0,120,0,62,0,15,0,9,128, + 201,128,235,128,127,0,62,0,8,0,8,0,14,13,26,16, + 1,0,120,96,204,192,204,192,205,128,205,128,123,0,3,0, + 6,120,6,204,12,204,12,204,24,204,24,120,12,13,26,13, + 1,0,60,0,126,0,102,0,102,0,60,0,124,0,238,192, + 198,192,195,192,195,128,231,192,126,224,60,112,1,5,5,3, + 1,9,128,128,128,128,128,4,18,18,6,0,252,16,48,96, + 96,192,192,192,192,192,192,192,192,192,192,96,96,48,16,4, + 18,18,6,1,252,128,192,96,96,48,48,48,48,48,48,48, + 48,48,48,96,96,192,128,5,7,7,7,1,7,32,168,248, + 32,248,168,32,8,10,10,10,1,0,24,24,24,24,255,255, + 24,24,24,24,2,5,5,5,1,253,192,192,64,64,128,5, + 1,1,6,0,5,248,2,2,2,5,1,0,192,192,5,14, + 14,5,0,0,24,24,24,24,48,48,48,96,96,96,192,192, + 192,192,8,13,13,10,1,0,60,126,102,195,195,195,195,195, + 195,195,102,126,60,5,13,13,10,2,0,24,248,248,24,24, + 24,24,24,24,24,24,24,24,8,13,13,10,1,0,60,254, + 195,3,7,14,28,56,112,224,192,255,255,8,13,13,10,1, + 0,62,127,195,195,6,28,30,7,3,195,199,126,60,9,13, + 26,10,0,0,3,0,7,0,15,0,27,0,51,0,51,0, + 99,0,195,0,255,128,255,128,3,0,3,0,3,0,8,13, + 13,10,1,0,254,254,192,192,252,254,199,3,3,195,199,254, + 124,8,13,13,10,1,0,60,127,99,192,192,220,254,195,195, + 195,227,126,60,8,13,13,10,1,0,255,255,3,6,12,12, + 24,24,48,48,96,96,96,8,13,13,10,1,0,60,126,231, + 195,195,102,126,231,195,195,231,126,60,8,13,13,10,1,0, + 60,126,199,195,195,195,127,59,3,3,198,254,124,2,10,10, + 5,1,0,192,192,0,0,0,0,0,0,192,192,2,13,13, + 5,1,253,192,192,0,0,0,0,0,0,192,192,64,64,128, + 8,9,9,10,1,0,3,15,60,112,192,112,60,15,3,7, + 5,5,11,2,2,254,254,0,254,254,8,9,9,10,1,0, + 192,240,60,14,3,14,60,240,192,7,14,14,10,1,0,124, + 254,198,198,14,28,56,48,48,48,0,0,48,48,16,17,34, + 18,1,253,3,240,15,252,28,14,48,6,99,211,103,115,198, + 51,204,99,204,102,204,102,204,204,207,248,103,112,112,0,56, + 0,31,240,7,224,12,14,28,13,0,0,6,0,6,0,15, + 0,15,0,25,128,25,128,48,192,48,192,63,192,127,224,96, + 96,96,96,192,48,192,48,11,14,28,13,1,0,255,0,255, + 128,193,192,192,192,192,192,193,128,255,128,255,192,192,224,192, + 96,192,96,192,224,255,192,255,128,12,14,28,14,1,0,15, + 128,63,224,112,112,96,48,224,0,192,0,192,0,192,0,192, + 0,224,0,96,48,112,112,63,224,15,128,12,14,28,14,1, + 0,255,128,255,192,192,224,192,96,192,48,192,48,192,48,192, + 48,192,48,192,48,192,96,192,224,255,192,255,128,10,14,28, + 13,2,0,255,192,255,192,192,0,192,0,192,0,192,0,255, + 128,255,128,192,0,192,0,192,0,192,0,255,192,255,192,9, + 14,28,12,2,0,255,128,255,128,192,0,192,0,192,0,192, + 0,255,0,255,0,192,0,192,0,192,0,192,0,192,0,192, + 0,13,14,28,15,1,0,15,192,63,240,112,56,96,24,224, + 24,192,0,192,0,192,248,192,248,224,24,96,24,112,56,63, + 248,15,216,11,14,28,14,1,0,192,96,192,96,192,96,192, + 96,192,96,192,96,255,224,255,224,192,96,192,96,192,96,192, + 96,192,96,192,96,2,14,14,6,2,0,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,8,14,14,10,0,0,3, + 3,3,3,3,3,3,3,3,195,195,231,126,60,12,14,28, + 13,2,0,192,224,193,192,195,128,199,0,206,0,220,0,248, + 0,252,0,206,0,199,0,195,128,193,192,192,224,192,112,9, + 14,28,11,1,0,192,0,192,0,192,0,192,0,192,0,192, + 0,192,0,192,0,192,0,192,0,192,0,192,0,255,128,255, + 128,14,14,28,16,1,0,192,12,192,12,224,28,224,28,240, + 60,240,60,216,108,216,108,204,204,204,204,196,140,199,140,195, + 12,195,12,11,14,28,14,1,0,192,96,224,96,240,96,240, + 96,216,96,204,96,204,96,198,96,198,96,195,96,193,224,193, + 224,192,224,192,96,13,14,28,15,1,0,15,128,63,224,112, + 112,96,48,224,56,192,24,192,24,192,24,192,24,224,56,96, + 48,112,112,63,224,15,128,10,14,28,13,2,0,255,0,255, + 128,193,192,192,192,192,192,193,192,255,128,255,0,192,0,192, + 0,192,0,192,0,192,0,192,0,13,15,30,15,1,255,15, + 128,63,224,112,112,96,48,224,56,192,24,192,24,192,24,192, + 24,225,184,97,176,112,240,63,224,15,176,0,48,11,14,28, + 14,1,0,255,128,255,192,192,224,192,96,192,96,192,224,255, + 192,255,128,192,192,192,192,192,96,192,96,192,96,192,96,10, + 14,28,13,1,0,30,0,127,128,225,192,192,192,224,0,124, + 0,31,0,3,128,1,192,0,192,192,192,225,192,127,128,63, + 0,10,14,28,12,1,0,255,192,255,192,12,0,12,0,12, + 0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, + 0,12,0,11,14,28,14,1,0,192,96,192,96,192,96,192, + 96,192,96,192,96,192,96,192,96,192,96,192,96,192,96,96, + 192,127,192,31,0,12,14,28,13,0,0,192,48,192,48,96, + 96,96,96,96,96,48,192,48,192,48,192,25,128,25,128,25, + 128,15,0,15,0,6,0,16,14,28,18,1,0,193,131,193, + 131,193,131,195,195,99,198,98,70,102,102,102,102,54,108,54, + 108,52,44,28,56,24,24,24,24,11,14,28,13,1,0,192, + 96,192,96,96,192,113,192,49,128,27,0,14,0,14,0,27, + 0,49,128,113,192,96,192,192,96,192,96,12,14,28,13,0, + 0,192,48,192,48,96,96,96,96,48,192,57,192,25,128,15, + 0,6,0,6,0,6,0,6,0,6,0,6,0,10,14,28, + 12,1,0,255,192,255,192,0,192,1,128,3,0,6,0,12, + 0,28,0,24,0,48,0,96,0,192,0,255,192,255,192,4, + 18,18,5,0,252,240,240,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,240,240,5,14,14,5,0,0,192,192,192, + 96,96,96,48,48,48,48,24,24,24,24,4,18,18,5,0, + 252,240,240,48,48,48,48,48,48,48,48,48,48,48,48,48, + 48,240,240,7,6,6,9,1,7,16,56,108,108,198,198,11, + 2,4,11,0,252,255,224,255,224,4,3,3,4,0,11,192, + 96,48,9,10,20,11,1,0,126,0,231,0,195,0,7,0, + 127,0,227,0,195,0,195,0,231,128,121,128,9,14,28,11, + 1,0,192,0,192,0,192,0,192,0,222,0,255,0,227,0, + 193,128,193,128,193,128,193,128,227,0,255,0,222,0,8,10, + 10,10,1,0,62,127,99,192,192,192,192,99,127,62,9,14, + 28,11,1,0,1,128,1,128,1,128,1,128,61,128,127,128, + 99,128,193,128,193,128,193,128,193,128,99,128,127,128,61,128, + 8,10,10,10,1,0,60,126,195,195,255,192,192,227,127,60, + 6,14,14,6,0,0,28,60,48,48,252,252,48,48,48,48, + 48,48,48,48,9,14,28,11,1,252,61,128,127,128,97,128, + 193,128,193,128,193,128,193,128,99,128,127,128,61,128,1,128, + 99,0,127,0,28,0,8,14,14,10,1,0,192,192,192,192, + 222,255,227,195,195,195,195,195,195,195,2,14,14,4,1,0, + 192,192,0,0,192,192,192,192,192,192,192,192,192,192,4,18, + 18,4,255,252,48,48,0,0,48,48,48,48,48,48,48,48, + 48,48,48,48,240,224,8,14,14,9,1,0,192,192,192,192, + 198,204,216,240,248,216,204,206,198,199,2,14,14,4,1,0, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,14,10, + 20,16,1,0,222,120,255,252,227,140,195,12,195,12,195,12, + 195,12,195,12,195,12,195,12,8,10,10,10,1,0,222,255, + 227,195,195,195,195,195,195,195,9,10,20,11,1,0,62,0, + 127,0,99,0,193,128,193,128,193,128,193,128,99,0,127,0, + 62,0,9,14,28,11,1,252,222,0,255,0,227,0,193,128, + 193,128,193,128,193,128,227,0,255,0,222,0,192,0,192,0, + 192,0,192,0,9,14,28,11,1,252,61,128,127,128,99,128, + 193,128,193,128,193,128,193,128,99,128,127,128,61,128,1,128, + 1,128,1,128,1,128,5,10,10,6,1,0,216,216,224,192, + 192,192,192,192,192,192,7,10,10,9,1,0,60,126,198,192, + 252,62,6,198,252,120,6,13,13,6,0,0,48,48,48,252, + 252,48,48,48,48,48,48,60,28,8,10,10,10,1,0,195, + 195,195,195,195,195,195,199,255,123,8,10,10,10,1,0,195, + 195,195,102,102,102,36,60,24,24,12,10,20,14,1,0,198, + 48,198,48,198,48,102,96,102,96,105,96,41,64,57,192,25, + 128,25,128,8,10,10,10,1,0,195,231,102,60,24,24,60, + 102,231,195,8,14,14,10,1,252,195,195,195,102,102,102,36, + 60,24,24,24,24,112,112,7,10,10,9,1,0,254,254,6, + 12,24,48,96,192,254,254,6,18,18,6,255,252,12,24,48, + 48,48,48,48,96,192,96,48,48,48,48,48,48,24,12,2, + 18,18,5,1,252,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,6,18,18,6,0,252,192,96,48, + 48,48,48,48,24,12,24,48,48,48,48,48,48,96,192,8, + 3,3,10,1,4,115,255,206,255}; +/* + Fontname: -Adobe-Helvetica-Medium-R-Normal--25-180-100-100-P-130-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 19, '1' Height: 18 + Calculated Max Values w=22 h=24 x= 3 y=16 dx=25 dy= 0 ascent=24 len=69 + Font Bounding box w=28 h=37 x=-3 y=-8 + Calculated Min Values x=-1 y=-5 dx= 0 dy= 0 + Pure Font ascent =19 descent=-5 + X Font ascent =19 descent=-5 + Max Font ascent =24 descent=-5 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_helvR18[7307] U8G_FONT_SECTION("u8g_font_helvR18") = { + 0,28,37,253,248,19,4,37,9,49,32,255,251,24,251,19, + 251,0,0,0,6,0,1,2,19,19,6,2,0,192,192,192, + 192,192,192,192,192,192,192,192,192,128,128,0,0,192,192,192, + 6,6,6,8,1,13,204,204,204,204,204,68,11,17,34,14, + 2,0,12,192,12,192,12,192,25,128,255,224,255,224,25,128, + 25,128,51,0,51,0,255,224,255,224,51,0,51,0,102,0, + 102,0,102,0,11,22,44,13,1,254,6,0,6,0,31,128, + 63,192,118,224,102,96,102,96,102,0,118,0,62,0,62,0, + 15,128,7,192,6,224,6,96,198,96,198,96,230,224,127,192, + 63,128,6,0,6,0,19,18,54,22,1,0,0,6,0,60, + 12,0,126,12,0,195,24,0,195,24,0,195,48,0,195,48, + 0,126,96,0,60,96,0,0,192,0,0,199,128,1,143,192, + 1,152,96,3,24,96,3,24,96,6,24,96,6,15,192,4, + 7,128,14,18,36,17,2,0,15,0,31,128,57,192,48,192, + 48,192,48,192,25,128,15,0,30,0,63,24,115,152,97,216, + 192,240,192,96,192,240,225,216,127,156,30,0,2,6,6,6, + 2,13,192,192,192,192,192,64,5,24,24,8,2,251,24,24, + 48,48,96,96,96,192,192,192,192,192,192,192,192,192,192,96, + 96,96,48,48,24,24,5,24,24,8,1,251,192,192,96,96, + 48,48,48,24,24,24,24,24,24,24,24,24,24,48,48,48, + 96,96,192,192,7,7,7,10,1,12,16,16,214,124,56,108, + 68,12,12,24,14,1,1,6,0,6,0,6,0,6,0,6, + 0,255,240,255,240,6,0,6,0,6,0,6,0,6,0,2, + 6,6,6,2,253,192,192,192,64,64,128,6,2,2,8,1, + 6,252,252,2,3,3,6,2,0,192,192,192,7,19,19,7, + 0,0,6,4,12,12,8,24,24,16,16,48,48,32,96,96, + 64,192,192,128,128,11,18,36,13,1,0,31,0,63,128,113, + 192,96,192,96,192,224,224,192,96,192,96,192,96,192,96,192, + 96,192,96,224,224,96,192,96,192,113,192,63,128,31,0,6, + 18,18,13,2,0,12,12,28,252,252,12,12,12,12,12,12, + 12,12,12,12,12,12,12,11,18,36,13,1,0,30,0,127, + 128,97,192,192,192,192,96,192,96,0,224,0,192,1,192,3, + 128,15,0,28,0,56,0,112,0,224,0,192,0,255,224,255, + 224,11,18,36,13,1,0,31,0,127,128,97,128,192,192,192, + 192,192,192,0,192,1,128,15,0,15,192,0,192,0,96,0, + 96,192,96,192,192,97,192,127,128,31,0,11,18,36,13,1, + 0,1,128,3,128,3,128,7,128,15,128,13,128,25,128,57, + 128,49,128,97,128,225,128,193,128,255,224,255,224,1,128,1, + 128,1,128,1,128,11,18,36,13,1,0,127,192,127,192,96, + 0,96,0,96,0,96,0,126,0,127,128,113,192,0,192,0, + 224,0,96,0,96,192,224,192,192,225,192,127,128,30,0,11, + 18,36,13,1,0,15,0,63,192,112,192,96,96,224,96,192, + 0,192,0,207,0,223,128,241,192,224,192,192,96,192,96,192, + 96,224,224,113,192,127,192,31,0,11,18,36,13,1,0,255, + 224,255,224,0,224,0,192,1,128,1,128,3,0,3,0,6, + 0,6,0,12,0,12,0,28,0,24,0,24,0,56,0,48, + 0,48,0,11,18,36,13,1,0,14,0,63,128,49,128,96, + 192,96,192,96,192,49,128,31,0,63,128,113,192,96,192,192, + 96,192,96,192,96,192,96,96,192,127,192,31,0,11,18,36, + 13,1,0,31,0,127,192,113,192,224,192,192,96,192,96,192, + 96,192,96,224,224,113,224,127,96,30,96,0,96,0,224,192, + 192,225,192,127,128,30,0,2,14,14,6,2,0,192,192,192, + 0,0,0,0,0,0,0,0,192,192,192,2,17,17,6,2, + 253,192,192,192,0,0,0,0,0,0,0,0,192,192,192,64, + 64,128,12,12,24,15,1,1,0,48,0,240,3,192,15,0, + 60,0,224,0,224,0,60,0,15,0,3,192,0,240,0,48, + 10,5,10,15,2,5,255,192,255,192,0,0,255,192,255,192, + 12,12,24,15,1,1,192,0,240,0,60,0,15,0,3,192, + 0,112,0,112,3,192,15,0,60,0,240,0,192,0,10,19, + 38,12,1,0,31,0,127,128,113,192,224,192,192,192,193,192, + 1,128,3,128,7,0,6,0,12,0,12,0,12,0,12,0, + 0,0,0,0,12,0,12,0,12,0,22,23,69,25,2,252, + 0,255,0,3,255,192,15,1,224,28,0,112,56,0,24,48, + 0,24,96,115,12,96,251,12,193,199,12,195,134,12,195,6, + 12,198,6,12,198,12,28,198,12,24,198,12,56,231,28,112, + 99,247,224,113,227,128,56,0,0,28,0,0,15,3,0,7, + 255,0,0,252,0,15,19,38,17,1,0,3,128,3,128,6, + 192,6,192,12,64,12,96,12,96,24,48,24,48,24,48,48, + 24,63,248,63,248,96,12,96,12,96,12,192,6,192,6,192, + 6,14,19,38,17,2,0,255,192,255,240,192,112,192,24,192, + 24,192,24,192,24,192,48,255,224,255,240,192,24,192,12,192, + 12,192,12,192,12,192,28,192,120,255,240,255,192,15,19,38, + 18,1,0,7,224,31,248,60,60,112,14,96,6,224,6,192, + 0,192,0,192,0,192,0,192,0,192,0,192,0,224,6,96, + 6,112,14,60,60,31,248,7,224,15,19,38,18,2,0,255, + 192,255,240,192,120,192,28,192,12,192,14,192,6,192,6,192, + 6,192,6,192,6,192,6,192,6,192,14,192,12,192,28,192, + 120,255,240,255,192,12,19,38,16,2,0,255,240,255,240,192, + 0,192,0,192,0,192,0,192,0,192,0,255,224,255,224,192, + 0,192,0,192,0,192,0,192,0,192,0,192,0,255,240,255, + 240,11,19,38,14,2,0,255,224,255,224,192,0,192,0,192, + 0,192,0,192,0,192,0,255,192,255,192,192,0,192,0,192, + 0,192,0,192,0,192,0,192,0,192,0,192,0,16,19,38, + 19,1,0,7,224,31,248,60,60,112,14,96,6,224,6,192, + 0,192,0,192,0,192,127,192,127,192,3,192,3,224,3,96, + 7,112,15,60,63,31,251,7,227,14,19,38,18,2,0,192, + 12,192,12,192,12,192,12,192,12,192,12,192,12,192,12,255, + 252,255,252,192,12,192,12,192,12,192,12,192,12,192,12,192, + 12,192,12,192,12,2,19,19,8,3,0,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,10,19, + 38,13,1,0,0,192,0,192,0,192,0,192,0,192,0,192, + 0,192,0,192,0,192,0,192,0,192,0,192,192,192,192,192, + 192,192,192,192,97,128,127,128,63,0,13,19,38,18,3,0, + 192,56,192,112,192,224,193,192,195,128,199,0,206,0,220,0, + 252,0,254,0,231,0,195,128,193,128,193,192,192,224,192,96, + 192,112,192,56,192,24,11,19,38,14,2,0,192,0,192,0, + 192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, + 192,0,192,0,192,0,192,0,192,0,192,0,192,0,255,224, + 255,224,17,19,57,21,2,0,192,1,128,224,3,128,224,3, + 128,240,7,128,240,7,128,216,13,128,216,13,128,216,13,128, + 204,25,128,204,25,128,204,25,128,198,49,128,198,49,128,198, + 49,128,195,97,128,195,97,128,195,97,128,193,193,128,193,193, + 128,14,19,38,18,2,0,224,12,240,12,240,12,216,12,220, + 12,204,12,206,12,198,12,199,12,195,12,195,140,193,140,193, + 204,192,204,192,236,192,108,192,60,192,60,192,28,16,19,38, + 18,1,0,7,224,31,248,60,60,112,14,96,6,224,7,192, + 3,192,3,192,3,192,3,192,3,192,3,192,3,224,7,96, + 6,112,14,60,60,31,248,7,224,13,19,38,16,2,0,255, + 224,255,240,192,48,192,24,192,24,192,24,192,24,192,48,255, + 240,255,224,192,0,192,0,192,0,192,0,192,0,192,0,192, + 0,192,0,192,0,16,19,38,18,1,0,7,224,31,248,60, + 60,112,14,96,6,224,7,192,3,192,3,192,3,192,3,192, + 3,192,3,192,3,224,7,96,230,112,126,60,28,31,254,7, + 231,13,19,38,17,2,0,255,224,255,240,192,48,192,24,192, + 24,192,24,192,24,192,48,255,240,255,224,192,112,192,48,192, + 24,192,24,192,24,192,24,192,24,192,24,192,24,13,19,38, + 16,2,0,15,128,63,224,96,96,192,48,192,48,192,0,224, + 0,124,0,63,128,7,224,0,240,0,56,0,24,0,24,192, + 24,192,56,240,112,127,224,31,128,14,19,38,16,1,0,255, + 252,255,252,3,0,3,0,3,0,3,0,3,0,3,0,3, + 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, + 0,3,0,3,0,14,19,38,18,2,0,192,12,192,12,192, + 12,192,12,192,12,192,12,192,12,192,12,192,12,192,12,192, + 12,192,12,192,12,192,12,192,12,96,24,112,56,63,240,15, + 192,15,19,38,17,1,0,192,6,192,6,224,14,96,12,112, + 28,48,24,48,24,56,56,24,48,24,48,28,112,12,96,12, + 96,14,224,6,192,6,192,3,128,3,128,3,128,20,19,57, + 22,1,0,192,96,48,192,96,48,192,96,48,192,240,48,96, + 240,96,97,152,96,97,152,96,97,152,96,97,152,96,49,152, + 192,51,12,192,51,12,192,51,12,192,27,13,128,27,13,128, + 30,7,128,14,7,0,12,3,0,12,3,0,15,19,38,17, + 1,0,192,6,224,14,112,28,48,24,24,48,28,112,14,224, + 7,192,3,128,3,128,7,192,14,224,12,96,28,112,56,56, + 48,24,96,12,224,14,192,6,14,19,38,16,1,0,192,12, + 224,28,96,24,112,56,48,48,56,112,24,96,28,224,12,192, + 15,192,7,128,7,128,3,0,3,0,3,0,3,0,3,0, + 3,0,3,0,13,19,38,15,1,0,255,248,255,248,0,56, + 0,112,0,224,1,192,1,192,3,128,7,0,7,0,14,0, + 28,0,28,0,56,0,112,0,112,0,224,0,255,248,255,248, + 4,24,24,7,2,251,240,240,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,240,240,8,19, + 19,7,0,0,192,64,64,96,32,32,48,16,16,16,24,8, + 8,12,4,4,6,2,3,4,24,24,7,1,251,240,240,48, + 48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48, + 48,48,48,240,240,10,9,18,12,1,10,12,0,12,0,30, + 0,18,0,51,0,97,128,97,128,192,192,192,192,14,2,4, + 14,0,251,255,252,255,252,5,4,4,7,1,15,192,96,48, + 24,11,14,28,13,1,0,31,0,63,128,97,192,96,192,0, + 192,7,192,63,192,120,192,224,192,192,192,193,192,227,192,126, + 224,60,96,11,19,38,14,2,0,192,0,192,0,192,0,192, + 0,192,0,207,0,223,128,241,192,224,192,192,224,192,96,192, + 96,192,96,192,96,192,224,224,192,241,192,223,128,207,0,10, + 14,28,12,1,0,31,0,63,128,113,192,96,192,224,0,192, + 0,192,0,192,0,192,0,224,0,96,192,113,192,63,128,31, + 0,11,19,38,14,1,0,0,96,0,96,0,96,0,96,0, + 96,30,96,63,96,113,224,96,224,224,96,192,96,192,96,192, + 96,192,96,224,96,96,224,113,224,63,96,30,96,11,14,28, + 13,1,0,14,0,63,128,113,192,96,192,192,96,192,96,255, + 224,255,224,192,0,192,0,96,96,112,224,63,192,15,0,6, + 19,19,8,1,0,28,60,48,48,48,252,252,48,48,48,48, + 48,48,48,48,48,48,48,48,11,19,38,14,1,251,30,96, + 63,96,113,224,96,224,224,96,192,96,192,96,192,96,192,96, + 224,96,96,224,113,224,63,96,30,96,0,96,192,96,224,192, + 127,192,31,0,10,19,38,13,2,0,192,0,192,0,192,0, + 192,0,192,0,206,0,223,128,241,128,224,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 2,19,19,6,2,0,192,192,192,0,0,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,4,24,24,6,0,251,48, + 48,48,0,0,48,48,48,48,48,48,48,48,48,48,48,48, + 48,48,48,48,48,240,224,10,19,38,12,2,0,192,0,192, + 0,192,0,192,0,192,0,193,128,195,128,199,0,206,0,220, + 0,248,0,252,0,206,0,198,0,199,0,195,128,193,128,193, + 192,192,192,2,19,19,6,2,0,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,16,14,28,20, + 2,0,206,60,255,126,227,199,193,131,193,131,193,131,193,131, + 193,131,193,131,193,131,193,131,193,131,193,131,193,131,10,14, + 28,14,2,0,206,0,223,128,241,128,224,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 11,14,28,13,1,0,31,0,63,128,113,192,96,192,224,224, + 192,96,192,96,192,96,192,96,224,224,96,192,113,192,63,128, + 31,0,11,19,38,14,2,251,207,0,223,128,241,192,224,192, + 192,224,192,96,192,96,192,96,192,96,192,224,224,192,241,192, + 223,128,207,0,192,0,192,0,192,0,192,0,192,0,11,19, + 38,14,1,251,30,96,63,96,113,224,96,224,224,96,192,96, + 192,96,192,96,192,96,224,96,96,224,113,224,63,96,30,96, + 0,96,0,96,0,96,0,96,0,96,6,14,14,9,2,0, + 204,220,248,240,224,192,192,192,192,192,192,192,192,192,10,14, + 28,12,1,0,63,0,127,128,225,192,192,192,192,0,248,0, + 127,0,15,128,1,192,192,192,192,192,225,192,127,128,63,0, + 6,18,18,8,1,0,48,48,48,48,252,252,48,48,48,48, + 48,48,48,48,48,48,60,28,10,14,28,14,2,0,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,193,192,99,192,126,192,28,192,11,14,28,13,1,0, + 192,96,192,96,192,96,96,192,96,192,113,192,49,128,49,128, + 27,0,27,0,27,0,14,0,14,0,14,0,18,14,42,18, + 0,0,192,192,192,192,192,192,97,225,128,97,225,128,97,225, + 128,49,35,0,51,51,0,51,51,0,27,54,0,26,22,0, + 30,30,0,14,28,0,12,12,0,12,12,0,10,14,28,12, + 1,0,192,192,225,192,97,128,51,0,30,0,30,0,12,0, + 30,0,30,0,51,0,115,128,97,128,192,192,192,192,12,19, + 38,13,0,251,192,48,192,48,96,48,112,96,48,96,56,224, + 24,192,24,192,13,128,13,128,7,128,7,0,3,0,3,0, + 6,0,6,0,12,0,60,0,56,0,10,14,28,12,1,0, + 255,192,255,192,1,128,3,0,7,0,14,0,12,0,28,0, + 56,0,48,0,96,0,224,0,255,192,255,192,6,24,24,8, + 1,251,12,24,48,48,48,48,48,48,48,48,96,192,192,96, + 48,48,48,48,48,48,48,48,24,12,1,24,24,6,2,251, + 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, + 128,128,128,128,128,128,128,128,6,24,24,8,1,251,192,96, + 48,48,48,48,48,48,48,48,24,12,12,24,48,48,48,48, + 48,48,48,48,96,192,10,4,8,14,2,5,112,192,252,192, + 207,192,195,128,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,255,255, + 255,255,255,255,255,0,0,0,6,0,1,2,19,19,6,2, + 251,192,192,192,0,0,64,64,192,192,192,192,192,192,192,192, + 192,192,192,192,10,18,36,13,1,254,1,128,1,128,31,0, + 63,128,115,192,102,192,198,0,204,0,204,0,204,0,216,0, + 216,0,216,192,113,192,127,128,63,0,96,0,96,0,12,18, + 36,14,1,0,31,128,63,224,112,112,96,48,96,0,112,0, + 48,0,24,0,255,128,255,128,24,0,24,0,24,0,48,0, + 48,0,103,48,255,240,240,224,11,12,24,13,1,3,192,96, + 238,224,127,192,49,128,96,192,96,192,96,192,96,192,49,128, + 127,192,238,224,192,96,14,18,36,14,0,0,224,28,96,24, + 112,56,48,48,56,112,24,96,28,224,12,192,63,240,63,240, + 3,0,63,240,63,240,3,0,3,0,3,0,3,0,3,0, + 2,24,24,6,2,251,192,192,192,192,192,192,192,192,192,192, + 0,0,0,0,192,192,192,192,192,192,192,192,192,192,11,24, + 48,13,1,251,31,0,63,128,113,192,96,192,112,192,56,0, + 28,0,126,0,231,0,195,128,193,192,192,192,96,96,112,96, + 56,96,28,192,15,128,7,0,3,128,97,192,96,192,113,192, + 63,128,31,0,6,2,2,8,1,16,204,204,19,19,57,19, + 1,0,3,248,0,14,14,0,48,1,128,96,0,192,65,240, + 64,195,24,96,134,12,32,132,0,32,132,0,32,132,0,32, + 132,0,32,134,12,32,195,24,96,65,240,64,96,0,192,48, + 1,128,24,3,0,14,14,0,3,248,0,7,12,12,9,1, + 7,120,204,204,28,108,204,204,220,118,0,254,254,9,8,16, + 14,2,3,25,128,51,0,102,0,204,0,204,0,102,0,51, + 0,25,128,13,8,16,15,1,2,255,248,255,248,0,24,0, + 24,0,24,0,24,0,24,0,24,6,2,2,8,1,6,252, + 252,18,19,57,19,1,0,7,248,0,28,14,0,48,3,0, + 96,1,128,67,240,128,194,24,192,130,8,64,130,8,64,130, + 8,64,130,16,64,131,240,64,130,32,64,130,16,64,194,16, + 192,66,8,128,96,1,128,48,3,0,28,14,0,7,248,0, + 6,2,2,8,1,16,252,252,8,7,7,9,0,11,60,102, + 195,195,195,102,60,12,13,26,14,1,0,6,0,6,0,6, + 0,6,0,255,240,255,240,6,0,6,0,6,0,6,0,0, + 0,255,240,255,240,7,10,10,7,0,8,60,126,198,6,12, + 24,48,96,254,254,7,10,10,7,0,8,124,254,198,6,60, + 60,6,198,254,124,5,4,4,7,1,15,24,48,96,192,10, + 19,38,14,2,251,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,193,192,227,192,254,192,220, + 192,192,0,192,0,192,0,192,0,192,0,10,24,48,12,1, + 251,31,192,127,192,125,128,253,128,253,128,253,128,253,128,253, + 128,253,128,125,128,125,128,61,128,13,128,13,128,13,128,13, + 128,13,128,13,128,13,128,13,128,13,128,13,128,13,128,13, + 128,2,3,3,6,2,6,192,192,192,5,6,6,7,1,251, + 96,112,24,24,248,112,4,10,10,7,0,8,48,48,240,240, + 48,48,48,48,48,48,7,12,12,9,1,7,56,108,198,198, + 198,198,198,108,56,0,254,254,9,8,16,14,3,3,204,0, + 102,0,51,0,25,128,25,128,51,0,102,0,204,0,18,18, + 54,19,1,0,48,24,0,48,24,0,240,48,0,240,48,0, + 48,96,0,48,96,0,48,192,0,48,192,0,49,131,0,49, + 135,0,3,15,0,3,15,0,6,27,0,6,51,0,12,127, + 192,12,127,192,24,3,0,24,3,0,18,18,54,19,1,0, + 48,24,0,48,24,0,240,48,0,240,48,0,48,96,0,48, + 96,0,48,192,0,48,192,0,49,135,128,49,143,192,3,24, + 192,3,0,192,6,1,128,6,3,0,12,6,0,12,12,0, + 24,31,192,24,31,192,19,18,54,19,0,0,124,12,0,254, + 12,0,198,24,0,6,24,0,60,48,0,60,48,0,6,96, + 0,198,96,0,254,193,128,124,195,128,1,135,128,1,135,128, + 3,13,128,3,25,128,6,63,224,6,63,224,12,1,128,12, + 1,128,10,19,38,12,1,251,12,0,12,0,12,0,0,0, + 0,0,12,0,12,0,12,0,12,0,24,0,56,0,112,0, + 96,0,224,192,192,192,193,192,227,128,127,128,62,0,15,24, + 48,17,1,0,12,0,6,0,3,0,1,128,0,0,3,128, + 3,128,6,192,6,192,12,64,12,96,12,96,24,48,24,48, + 24,48,48,24,63,248,63,248,96,12,96,12,96,12,192,6, + 192,6,192,6,15,24,48,17,1,0,0,96,0,192,1,128, + 3,0,0,0,3,128,3,128,6,192,6,192,12,64,12,96, + 12,96,24,48,24,48,24,48,48,24,63,248,63,248,96,12, + 96,12,96,12,192,6,192,6,192,6,15,24,48,17,1,0, + 1,128,3,192,6,96,12,48,0,0,3,128,3,128,6,192, + 6,192,12,64,12,96,12,96,24,48,24,48,24,48,48,24, + 63,248,63,248,96,12,96,12,96,12,192,6,192,6,192,6, + 15,23,46,17,1,0,7,16,13,176,8,224,0,0,3,128, + 3,128,6,192,6,192,12,64,12,96,12,96,24,48,24,48, + 24,48,48,24,63,248,63,248,96,12,96,12,96,12,192,6, + 192,6,192,6,15,23,46,17,1,0,12,96,12,96,0,0, + 0,0,3,128,3,128,6,192,6,192,12,64,12,96,12,96, + 24,48,24,48,24,48,48,24,63,248,63,248,96,12,96,12, + 96,12,192,6,192,6,192,6,15,24,48,17,1,0,3,128, + 4,64,4,64,3,128,0,0,3,128,3,128,6,192,6,192, + 12,64,12,96,12,96,24,48,24,48,24,48,48,24,63,248, + 63,248,96,12,96,12,96,12,192,6,192,6,192,6,21,19, + 57,23,1,0,3,255,248,3,255,248,6,96,0,6,96,0, + 12,96,0,12,96,0,12,96,0,24,96,0,24,127,248,24, + 127,248,48,96,0,63,224,0,63,224,0,96,96,0,96,96, + 0,96,96,0,192,96,0,192,127,248,192,127,248,15,24,48, + 18,1,251,7,224,31,248,60,60,112,14,96,6,224,6,192, + 0,192,0,192,0,192,0,192,0,192,0,192,0,224,6,96, + 6,112,14,60,60,31,248,7,224,1,128,0,192,0,192,7, + 192,3,128,12,24,48,16,2,0,48,0,24,0,12,0,6, + 0,0,0,255,240,255,240,192,0,192,0,192,0,192,0,192, + 0,192,0,255,224,255,224,192,0,192,0,192,0,192,0,192, + 0,192,0,192,0,255,240,255,240,12,24,48,16,2,0,1, + 128,3,0,6,0,12,0,0,0,255,240,255,240,192,0,192, + 0,192,0,192,0,192,0,192,0,255,224,255,224,192,0,192, + 0,192,0,192,0,192,0,192,0,192,0,255,240,255,240,12, + 24,48,16,2,0,6,0,15,0,25,128,48,192,0,0,255, + 240,255,240,192,0,192,0,192,0,192,0,192,0,192,0,255, + 224,255,224,192,0,192,0,192,0,192,0,192,0,192,0,192, + 0,255,240,255,240,12,23,46,16,2,0,24,192,24,192,0, + 0,0,0,255,240,255,240,192,0,192,0,192,0,192,0,192, + 0,192,0,255,224,255,224,192,0,192,0,192,0,192,0,192, + 0,192,0,192,0,255,240,255,240,5,24,24,8,1,0,192, + 96,48,24,0,48,48,48,48,48,48,48,48,48,48,48,48, + 48,48,48,48,48,48,48,5,24,24,8,2,0,24,48,96, + 192,0,96,96,96,96,96,96,96,96,96,96,96,96,96,96, + 96,96,96,96,96,8,24,24,8,0,0,24,60,102,195,0, + 24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24, + 24,24,24,6,23,23,8,1,0,204,204,0,0,48,48,48, + 48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48, + 18,19,57,18,255,0,31,248,0,31,254,0,24,15,0,24, + 3,128,24,1,128,24,1,192,24,0,192,24,0,192,255,128, + 192,255,128,192,24,0,192,24,0,192,24,0,192,24,1,192, + 24,1,128,24,3,128,24,15,0,31,254,0,31,248,0,14, + 23,46,18,2,0,14,32,27,96,17,192,0,0,224,12,240, + 12,240,12,216,12,220,12,204,12,206,12,198,12,199,12,195, + 12,195,140,193,140,193,204,192,204,192,236,192,108,192,60,192, + 60,192,28,16,24,48,18,1,0,12,0,6,0,3,0,1, + 128,0,0,7,224,31,248,60,60,112,14,96,6,224,7,192, + 3,192,3,192,3,192,3,192,3,192,3,192,3,224,7,96, + 6,112,14,60,60,31,248,7,224,16,24,48,18,1,0,0, + 48,0,96,0,192,1,128,0,0,7,224,31,248,60,60,112, + 14,96,6,224,7,192,3,192,3,192,3,192,3,192,3,192, + 3,192,3,224,7,96,6,112,14,60,60,31,248,7,224,16, + 24,48,18,1,0,0,192,1,224,3,48,6,24,0,0,7, + 224,31,248,60,60,112,14,96,6,224,7,192,3,192,3,192, + 3,192,3,192,3,192,3,192,3,224,7,96,6,112,14,60, + 60,31,248,7,224,16,23,46,18,1,0,3,136,6,216,4, + 112,0,0,7,224,31,248,60,60,112,14,96,6,224,7,192, + 3,192,3,192,3,192,3,192,3,192,3,192,3,224,7,96, + 6,112,14,60,60,31,248,7,224,16,23,46,18,1,0,6, + 48,6,48,0,0,0,0,7,224,31,248,60,60,112,14,96, + 6,224,7,192,3,192,3,192,3,192,3,192,3,192,3,192, + 3,224,7,96,6,112,14,60,60,31,248,7,224,13,12,24, + 14,0,1,192,24,96,48,48,96,24,192,13,128,7,0,7, + 0,13,128,24,192,48,96,96,48,192,24,18,19,57,18,0, + 0,3,240,192,15,253,192,30,31,128,56,7,0,48,15,0, + 112,29,128,96,57,128,96,113,128,96,225,128,97,193,128,99, + 129,128,103,1,128,110,1,128,124,3,128,56,3,0,56,7, + 0,126,30,0,239,252,0,195,240,0,14,24,48,18,2,0, + 24,0,12,0,6,0,3,0,0,0,192,12,192,12,192,12, + 192,12,192,12,192,12,192,12,192,12,192,12,192,12,192,12, + 192,12,192,12,192,12,192,12,96,24,112,56,63,240,15,192, + 14,24,48,18,2,0,0,96,0,192,1,128,3,0,0,0, + 192,12,192,12,192,12,192,12,192,12,192,12,192,12,192,12, + 192,12,192,12,192,12,192,12,192,12,192,12,192,12,96,24, + 112,56,63,240,15,192,14,24,48,18,2,0,3,0,7,128, + 12,192,24,96,0,0,192,12,192,12,192,12,192,12,192,12, + 192,12,192,12,192,12,192,12,192,12,192,12,192,12,192,12, + 192,12,192,12,96,24,112,56,63,240,15,192,14,23,46,18, + 2,0,24,192,24,192,0,0,0,0,192,12,192,12,192,12, + 192,12,192,12,192,12,192,12,192,12,192,12,192,12,192,12, + 192,12,192,12,192,12,192,12,96,24,112,56,63,240,15,192, + 14,24,48,16,1,0,0,96,0,192,1,128,3,0,0,0, + 192,12,224,28,96,24,112,56,48,48,56,112,24,96,28,224, + 12,192,15,192,7,128,7,128,3,0,3,0,3,0,3,0, + 3,0,3,0,3,0,13,19,38,16,2,0,192,0,192,0, + 192,0,192,0,255,224,255,240,192,48,192,24,192,24,192,24, + 192,24,192,48,255,240,255,224,192,0,192,0,192,0,192,0, + 192,0,10,19,38,15,3,0,28,0,127,0,227,0,193,128, + 193,128,193,128,195,0,199,0,206,0,207,0,195,128,193,128, + 192,192,192,192,192,192,193,128,195,128,207,0,206,0,11,19, + 38,13,1,0,24,0,12,0,6,0,3,0,0,0,31,0, + 63,128,97,192,96,192,0,192,7,192,63,192,120,192,224,192, + 192,192,193,192,227,192,126,224,60,96,11,19,38,13,1,0, + 1,128,3,0,6,0,12,0,0,0,31,0,63,128,97,192, + 96,192,0,192,7,192,63,192,120,192,224,192,192,192,193,192, + 227,192,126,224,60,96,11,19,38,13,1,0,12,0,30,0, + 51,0,97,128,0,0,31,0,63,128,97,192,96,192,0,192, + 7,192,63,192,120,192,224,192,192,192,193,192,227,192,126,224, + 60,96,11,18,36,13,1,0,28,64,54,192,35,128,0,0, + 31,0,63,128,97,192,96,192,0,192,7,192,63,192,120,192, + 224,192,192,192,193,192,227,192,126,224,60,96,11,18,36,13, + 1,0,51,0,51,0,0,0,0,0,31,0,63,128,97,192, + 96,192,0,192,7,192,63,192,120,192,224,192,192,192,193,192, + 227,192,126,224,60,96,11,19,38,13,1,0,6,0,9,0, + 9,0,6,0,0,0,31,0,63,128,97,192,96,192,0,192, + 7,192,63,192,120,192,224,192,192,192,193,192,227,192,126,224, + 60,96,19,14,42,21,1,0,31,14,0,63,191,128,97,241, + 192,96,224,192,0,192,96,7,192,96,63,255,224,120,255,224, + 224,192,0,192,192,0,193,224,96,227,240,224,126,63,192,60, + 15,0,10,19,38,12,1,251,31,0,63,128,113,192,96,192, + 224,0,192,0,192,0,192,0,192,0,224,0,96,192,113,192, + 63,128,31,0,12,0,6,0,6,0,62,0,28,0,11,19, + 38,13,1,0,24,0,12,0,6,0,3,0,0,0,14,0, + 63,128,113,192,96,192,192,96,192,96,255,224,255,224,192,0, + 192,0,96,96,112,224,63,192,15,0,11,19,38,13,1,0, + 3,0,6,0,12,0,24,0,0,0,14,0,63,128,113,192, + 96,192,192,96,192,96,255,224,255,224,192,0,192,0,96,96, + 112,224,63,192,15,0,11,19,38,13,1,0,12,0,30,0, + 51,0,97,128,0,0,14,0,63,128,113,192,96,192,192,96, + 192,96,255,224,255,224,192,0,192,0,96,96,112,224,63,192, + 15,0,11,18,36,13,1,0,51,0,51,0,0,0,0,0, + 14,0,63,128,113,192,96,192,192,96,192,96,255,224,255,224, + 192,0,192,0,96,96,112,224,63,192,15,0,5,19,19,6, + 0,0,192,96,48,24,0,48,48,48,48,48,48,48,48,48, + 48,48,48,48,48,5,19,19,6,1,0,24,48,96,192,0, + 96,96,96,96,96,96,96,96,96,96,96,96,96,96,8,19, + 19,6,255,0,24,60,102,195,0,24,24,24,24,24,24,24, + 24,24,24,24,24,24,24,6,18,18,6,0,0,204,204,0, + 0,48,48,48,48,48,48,48,48,48,48,48,48,48,48,11, + 19,38,13,1,0,96,0,57,128,14,0,30,0,99,0,31, + 128,63,128,113,192,96,192,224,224,192,96,192,96,192,96,192, + 96,224,224,96,192,113,192,63,128,31,0,10,18,36,14,2, + 0,56,128,109,128,71,0,0,0,206,0,223,128,241,128,224, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,11,19,38,13,1,0,24,0,12,0,6, + 0,3,0,0,0,31,0,63,128,113,192,96,192,224,224,192, + 96,192,96,192,96,192,96,224,224,96,192,113,192,63,128,31, + 0,11,19,38,13,1,0,3,0,6,0,12,0,24,0,0, + 0,31,0,63,128,113,192,96,192,224,224,192,96,192,96,192, + 96,192,96,224,224,96,192,113,192,63,128,31,0,11,19,38, + 13,1,0,12,0,30,0,51,0,97,128,0,0,31,0,63, + 128,113,192,96,192,224,224,192,96,192,96,192,96,192,96,224, + 224,96,192,113,192,63,128,31,0,11,18,36,13,1,0,28, + 64,54,192,35,128,0,0,31,0,63,128,113,192,96,192,224, + 224,192,96,192,96,192,96,192,96,224,224,96,192,113,192,63, + 128,31,0,11,18,36,13,1,0,51,0,51,0,0,0,0, + 0,31,0,63,128,113,192,96,192,224,224,192,96,192,96,192, + 96,192,96,224,224,96,192,113,192,63,128,31,0,12,12,24, + 14,1,1,6,0,6,0,6,0,0,0,0,0,255,240,255, + 240,0,0,0,0,6,0,6,0,6,0,13,14,28,13,0, + 0,15,152,31,248,56,112,48,224,113,240,99,176,99,48,102, + 48,108,48,124,112,56,96,112,224,255,192,207,128,10,19,38, + 14,2,0,48,0,24,0,12,0,6,0,0,0,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,193,192,99,192,126,192,28,192,10,19,38,14,2,0,3, + 0,6,0,12,0,24,0,0,0,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,193,192,99, + 192,126,192,28,192,10,19,38,14,2,0,12,0,30,0,51, + 0,97,128,0,0,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,193,192,99,192,126,192,28, + 192,10,18,36,14,2,0,51,0,51,0,0,0,0,0,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,193,192,99,192,126,192,28,192,12,24,48,13,0, + 251,0,192,1,128,3,0,6,0,0,0,192,48,192,48,96, + 48,112,96,48,96,56,224,24,192,24,192,13,128,13,128,7, + 128,7,0,3,0,3,0,6,0,6,0,12,0,60,0,56, + 0,11,24,48,14,2,251,192,0,192,0,192,0,192,0,192, + 0,207,0,223,128,241,192,224,192,192,224,192,96,192,96,192, + 96,192,96,192,224,224,192,241,192,223,128,207,0,192,0,192, + 0,192,0,192,0,192,0,12,23,46,13,0,251,25,128,25, + 128,0,0,0,0,192,48,192,48,96,48,112,96,48,96,56, + 224,24,192,24,192,13,128,13,128,7,128,7,0,3,0,3, + 0,6,0,6,0,12,0,60,0,56,0}; +/* + Fontname: -Adobe-Helvetica-Medium-R-Normal--25-180-100-100-P-130-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 19, '1' Height: 18 + Calculated Max Values w=22 h=24 x= 3 y=15 dx=25 dy= 0 ascent=20 len=69 + Font Bounding box w=28 h=37 x=-3 y=-8 + Calculated Min Values x= 0 y=-5 dx= 0 dy= 0 + Pure Font ascent =19 descent=-5 + X Font ascent =19 descent=-5 + Max Font ascent =20 descent=-5 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_helvR18r[3381] U8G_FONT_SECTION("u8g_font_helvR18r") = { + 0,28,37,253,248,19,4,37,9,49,32,127,251,20,251,19, + 251,0,0,0,6,0,1,2,19,19,6,2,0,192,192,192, + 192,192,192,192,192,192,192,192,192,128,128,0,0,192,192,192, + 6,6,6,8,1,13,204,204,204,204,204,68,11,17,34,14, + 2,0,12,192,12,192,12,192,25,128,255,224,255,224,25,128, + 25,128,51,0,51,0,255,224,255,224,51,0,51,0,102,0, + 102,0,102,0,11,22,44,13,1,254,6,0,6,0,31,128, + 63,192,118,224,102,96,102,96,102,0,118,0,62,0,62,0, + 15,128,7,192,6,224,6,96,198,96,198,96,230,224,127,192, + 63,128,6,0,6,0,19,18,54,22,1,0,0,6,0,60, + 12,0,126,12,0,195,24,0,195,24,0,195,48,0,195,48, + 0,126,96,0,60,96,0,0,192,0,0,199,128,1,143,192, + 1,152,96,3,24,96,3,24,96,6,24,96,6,15,192,4, + 7,128,14,18,36,17,2,0,15,0,31,128,57,192,48,192, + 48,192,48,192,25,128,15,0,30,0,63,24,115,152,97,216, + 192,240,192,96,192,240,225,216,127,156,30,0,2,6,6,6, + 2,13,192,192,192,192,192,64,5,24,24,8,2,251,24,24, + 48,48,96,96,96,192,192,192,192,192,192,192,192,192,192,96, + 96,96,48,48,24,24,5,24,24,8,1,251,192,192,96,96, + 48,48,48,24,24,24,24,24,24,24,24,24,24,48,48,48, + 96,96,192,192,7,7,7,10,1,12,16,16,214,124,56,108, + 68,12,12,24,14,1,1,6,0,6,0,6,0,6,0,6, + 0,255,240,255,240,6,0,6,0,6,0,6,0,6,0,2, + 6,6,6,2,253,192,192,192,64,64,128,6,2,2,8,1, + 6,252,252,2,3,3,6,2,0,192,192,192,7,19,19,7, + 0,0,6,4,12,12,8,24,24,16,16,48,48,32,96,96, + 64,192,192,128,128,11,18,36,13,1,0,31,0,63,128,113, + 192,96,192,96,192,224,224,192,96,192,96,192,96,192,96,192, + 96,192,96,224,224,96,192,96,192,113,192,63,128,31,0,6, + 18,18,13,2,0,12,12,28,252,252,12,12,12,12,12,12, + 12,12,12,12,12,12,12,11,18,36,13,1,0,30,0,127, + 128,97,192,192,192,192,96,192,96,0,224,0,192,1,192,3, + 128,15,0,28,0,56,0,112,0,224,0,192,0,255,224,255, + 224,11,18,36,13,1,0,31,0,127,128,97,128,192,192,192, + 192,192,192,0,192,1,128,15,0,15,192,0,192,0,96,0, + 96,192,96,192,192,97,192,127,128,31,0,11,18,36,13,1, + 0,1,128,3,128,3,128,7,128,15,128,13,128,25,128,57, + 128,49,128,97,128,225,128,193,128,255,224,255,224,1,128,1, + 128,1,128,1,128,11,18,36,13,1,0,127,192,127,192,96, + 0,96,0,96,0,96,0,126,0,127,128,113,192,0,192,0, + 224,0,96,0,96,192,224,192,192,225,192,127,128,30,0,11, + 18,36,13,1,0,15,0,63,192,112,192,96,96,224,96,192, + 0,192,0,207,0,223,128,241,192,224,192,192,96,192,96,192, + 96,224,224,113,192,127,192,31,0,11,18,36,13,1,0,255, + 224,255,224,0,224,0,192,1,128,1,128,3,0,3,0,6, + 0,6,0,12,0,12,0,28,0,24,0,24,0,56,0,48, + 0,48,0,11,18,36,13,1,0,14,0,63,128,49,128,96, + 192,96,192,96,192,49,128,31,0,63,128,113,192,96,192,192, + 96,192,96,192,96,192,96,96,192,127,192,31,0,11,18,36, + 13,1,0,31,0,127,192,113,192,224,192,192,96,192,96,192, + 96,192,96,224,224,113,224,127,96,30,96,0,96,0,224,192, + 192,225,192,127,128,30,0,2,14,14,6,2,0,192,192,192, + 0,0,0,0,0,0,0,0,192,192,192,2,17,17,6,2, + 253,192,192,192,0,0,0,0,0,0,0,0,192,192,192,64, + 64,128,12,12,24,15,1,1,0,48,0,240,3,192,15,0, + 60,0,224,0,224,0,60,0,15,0,3,192,0,240,0,48, + 10,5,10,15,2,5,255,192,255,192,0,0,255,192,255,192, + 12,12,24,15,1,1,192,0,240,0,60,0,15,0,3,192, + 0,112,0,112,3,192,15,0,60,0,240,0,192,0,10,19, + 38,12,1,0,31,0,127,128,113,192,224,192,192,192,193,192, + 1,128,3,128,7,0,6,0,12,0,12,0,12,0,12,0, + 0,0,0,0,12,0,12,0,12,0,22,23,69,25,2,252, + 0,255,0,3,255,192,15,1,224,28,0,112,56,0,24,48, + 0,24,96,115,12,96,251,12,193,199,12,195,134,12,195,6, + 12,198,6,12,198,12,28,198,12,24,198,12,56,231,28,112, + 99,247,224,113,227,128,56,0,0,28,0,0,15,3,0,7, + 255,0,0,252,0,15,19,38,17,1,0,3,128,3,128,6, + 192,6,192,12,64,12,96,12,96,24,48,24,48,24,48,48, + 24,63,248,63,248,96,12,96,12,96,12,192,6,192,6,192, + 6,14,19,38,17,2,0,255,192,255,240,192,112,192,24,192, + 24,192,24,192,24,192,48,255,224,255,240,192,24,192,12,192, + 12,192,12,192,12,192,28,192,120,255,240,255,192,15,19,38, + 18,1,0,7,224,31,248,60,60,112,14,96,6,224,6,192, + 0,192,0,192,0,192,0,192,0,192,0,192,0,224,6,96, + 6,112,14,60,60,31,248,7,224,15,19,38,18,2,0,255, + 192,255,240,192,120,192,28,192,12,192,14,192,6,192,6,192, + 6,192,6,192,6,192,6,192,6,192,14,192,12,192,28,192, + 120,255,240,255,192,12,19,38,16,2,0,255,240,255,240,192, + 0,192,0,192,0,192,0,192,0,192,0,255,224,255,224,192, + 0,192,0,192,0,192,0,192,0,192,0,192,0,255,240,255, + 240,11,19,38,14,2,0,255,224,255,224,192,0,192,0,192, + 0,192,0,192,0,192,0,255,192,255,192,192,0,192,0,192, + 0,192,0,192,0,192,0,192,0,192,0,192,0,16,19,38, + 19,1,0,7,224,31,248,60,60,112,14,96,6,224,6,192, + 0,192,0,192,0,192,127,192,127,192,3,192,3,224,3,96, + 7,112,15,60,63,31,251,7,227,14,19,38,18,2,0,192, + 12,192,12,192,12,192,12,192,12,192,12,192,12,192,12,255, + 252,255,252,192,12,192,12,192,12,192,12,192,12,192,12,192, + 12,192,12,192,12,2,19,19,8,3,0,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,10,19, + 38,13,1,0,0,192,0,192,0,192,0,192,0,192,0,192, + 0,192,0,192,0,192,0,192,0,192,0,192,192,192,192,192, + 192,192,192,192,97,128,127,128,63,0,13,19,38,18,3,0, + 192,56,192,112,192,224,193,192,195,128,199,0,206,0,220,0, + 252,0,254,0,231,0,195,128,193,128,193,192,192,224,192,96, + 192,112,192,56,192,24,11,19,38,14,2,0,192,0,192,0, + 192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, + 192,0,192,0,192,0,192,0,192,0,192,0,192,0,255,224, + 255,224,17,19,57,21,2,0,192,1,128,224,3,128,224,3, + 128,240,7,128,240,7,128,216,13,128,216,13,128,216,13,128, + 204,25,128,204,25,128,204,25,128,198,49,128,198,49,128,198, + 49,128,195,97,128,195,97,128,195,97,128,193,193,128,193,193, + 128,14,19,38,18,2,0,224,12,240,12,240,12,216,12,220, + 12,204,12,206,12,198,12,199,12,195,12,195,140,193,140,193, + 204,192,204,192,236,192,108,192,60,192,60,192,28,16,19,38, + 18,1,0,7,224,31,248,60,60,112,14,96,6,224,7,192, + 3,192,3,192,3,192,3,192,3,192,3,192,3,224,7,96, + 6,112,14,60,60,31,248,7,224,13,19,38,16,2,0,255, + 224,255,240,192,48,192,24,192,24,192,24,192,24,192,48,255, + 240,255,224,192,0,192,0,192,0,192,0,192,0,192,0,192, + 0,192,0,192,0,16,19,38,18,1,0,7,224,31,248,60, + 60,112,14,96,6,224,7,192,3,192,3,192,3,192,3,192, + 3,192,3,192,3,224,7,96,230,112,126,60,28,31,254,7, + 231,13,19,38,17,2,0,255,224,255,240,192,48,192,24,192, + 24,192,24,192,24,192,48,255,240,255,224,192,112,192,48,192, + 24,192,24,192,24,192,24,192,24,192,24,192,24,13,19,38, + 16,2,0,15,128,63,224,96,96,192,48,192,48,192,0,224, + 0,124,0,63,128,7,224,0,240,0,56,0,24,0,24,192, + 24,192,56,240,112,127,224,31,128,14,19,38,16,1,0,255, + 252,255,252,3,0,3,0,3,0,3,0,3,0,3,0,3, + 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, + 0,3,0,3,0,14,19,38,18,2,0,192,12,192,12,192, + 12,192,12,192,12,192,12,192,12,192,12,192,12,192,12,192, + 12,192,12,192,12,192,12,192,12,96,24,112,56,63,240,15, + 192,15,19,38,17,1,0,192,6,192,6,224,14,96,12,112, + 28,48,24,48,24,56,56,24,48,24,48,28,112,12,96,12, + 96,14,224,6,192,6,192,3,128,3,128,3,128,20,19,57, + 22,1,0,192,96,48,192,96,48,192,96,48,192,240,48,96, + 240,96,97,152,96,97,152,96,97,152,96,97,152,96,49,152, + 192,51,12,192,51,12,192,51,12,192,27,13,128,27,13,128, + 30,7,128,14,7,0,12,3,0,12,3,0,15,19,38,17, + 1,0,192,6,224,14,112,28,48,24,24,48,28,112,14,224, + 7,192,3,128,3,128,7,192,14,224,12,96,28,112,56,56, + 48,24,96,12,224,14,192,6,14,19,38,16,1,0,192,12, + 224,28,96,24,112,56,48,48,56,112,24,96,28,224,12,192, + 15,192,7,128,7,128,3,0,3,0,3,0,3,0,3,0, + 3,0,3,0,13,19,38,15,1,0,255,248,255,248,0,56, + 0,112,0,224,1,192,1,192,3,128,7,0,7,0,14,0, + 28,0,28,0,56,0,112,0,112,0,224,0,255,248,255,248, + 4,24,24,7,2,251,240,240,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,240,240,8,19, + 19,7,0,0,192,64,64,96,32,32,48,16,16,16,24,8, + 8,12,4,4,6,2,3,4,24,24,7,1,251,240,240,48, + 48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48, + 48,48,48,240,240,10,9,18,12,1,10,12,0,12,0,30, + 0,18,0,51,0,97,128,97,128,192,192,192,192,14,2,4, + 14,0,251,255,252,255,252,5,4,4,7,1,15,192,96,48, + 24,11,14,28,13,1,0,31,0,63,128,97,192,96,192,0, + 192,7,192,63,192,120,192,224,192,192,192,193,192,227,192,126, + 224,60,96,11,19,38,14,2,0,192,0,192,0,192,0,192, + 0,192,0,207,0,223,128,241,192,224,192,192,224,192,96,192, + 96,192,96,192,96,192,224,224,192,241,192,223,128,207,0,10, + 14,28,12,1,0,31,0,63,128,113,192,96,192,224,0,192, + 0,192,0,192,0,192,0,224,0,96,192,113,192,63,128,31, + 0,11,19,38,14,1,0,0,96,0,96,0,96,0,96,0, + 96,30,96,63,96,113,224,96,224,224,96,192,96,192,96,192, + 96,192,96,224,96,96,224,113,224,63,96,30,96,11,14,28, + 13,1,0,14,0,63,128,113,192,96,192,192,96,192,96,255, + 224,255,224,192,0,192,0,96,96,112,224,63,192,15,0,6, + 19,19,8,1,0,28,60,48,48,48,252,252,48,48,48,48, + 48,48,48,48,48,48,48,48,11,19,38,14,1,251,30,96, + 63,96,113,224,96,224,224,96,192,96,192,96,192,96,192,96, + 224,96,96,224,113,224,63,96,30,96,0,96,192,96,224,192, + 127,192,31,0,10,19,38,13,2,0,192,0,192,0,192,0, + 192,0,192,0,206,0,223,128,241,128,224,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 2,19,19,6,2,0,192,192,192,0,0,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,4,24,24,6,0,251,48, + 48,48,0,0,48,48,48,48,48,48,48,48,48,48,48,48, + 48,48,48,48,48,240,224,10,19,38,12,2,0,192,0,192, + 0,192,0,192,0,192,0,193,128,195,128,199,0,206,0,220, + 0,248,0,252,0,206,0,198,0,199,0,195,128,193,128,193, + 192,192,192,2,19,19,6,2,0,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,16,14,28,20, + 2,0,206,60,255,126,227,199,193,131,193,131,193,131,193,131, + 193,131,193,131,193,131,193,131,193,131,193,131,193,131,10,14, + 28,14,2,0,206,0,223,128,241,128,224,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 11,14,28,13,1,0,31,0,63,128,113,192,96,192,224,224, + 192,96,192,96,192,96,192,96,224,224,96,192,113,192,63,128, + 31,0,11,19,38,14,2,251,207,0,223,128,241,192,224,192, + 192,224,192,96,192,96,192,96,192,96,192,224,224,192,241,192, + 223,128,207,0,192,0,192,0,192,0,192,0,192,0,11,19, + 38,14,1,251,30,96,63,96,113,224,96,224,224,96,192,96, + 192,96,192,96,192,96,224,96,96,224,113,224,63,96,30,96, + 0,96,0,96,0,96,0,96,0,96,6,14,14,9,2,0, + 204,220,248,240,224,192,192,192,192,192,192,192,192,192,10,14, + 28,12,1,0,63,0,127,128,225,192,192,192,192,0,248,0, + 127,0,15,128,1,192,192,192,192,192,225,192,127,128,63,0, + 6,18,18,8,1,0,48,48,48,48,252,252,48,48,48,48, + 48,48,48,48,48,48,60,28,10,14,28,14,2,0,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,193,192,99,192,126,192,28,192,11,14,28,13,1,0, + 192,96,192,96,192,96,96,192,96,192,113,192,49,128,49,128, + 27,0,27,0,27,0,14,0,14,0,14,0,18,14,42,18, + 0,0,192,192,192,192,192,192,97,225,128,97,225,128,97,225, + 128,49,35,0,51,51,0,51,51,0,27,54,0,26,22,0, + 30,30,0,14,28,0,12,12,0,12,12,0,10,14,28,12, + 1,0,192,192,225,192,97,128,51,0,30,0,30,0,12,0, + 30,0,30,0,51,0,115,128,97,128,192,192,192,192,12,19, + 38,13,0,251,192,48,192,48,96,48,112,96,48,96,56,224, + 24,192,24,192,13,128,13,128,7,128,7,0,3,0,3,0, + 6,0,6,0,12,0,60,0,56,0,10,14,28,12,1,0, + 255,192,255,192,1,128,3,0,7,0,14,0,12,0,28,0, + 56,0,48,0,96,0,224,0,255,192,255,192,6,24,24,8, + 1,251,12,24,48,48,48,48,48,48,48,48,96,192,192,96, + 48,48,48,48,48,48,48,48,24,12,1,24,24,6,2,251, + 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, + 128,128,128,128,128,128,128,128,6,24,24,8,1,251,192,96, + 48,48,48,48,48,48,48,48,24,12,12,24,48,48,48,48, + 48,48,48,48,96,192,10,4,8,14,2,5,112,192,252,192, + 207,192,195,128,255}; +/* + Fontname: -Adobe-Helvetica-Medium-R-Normal--34-240-100-100-P-176-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 25, '1' Height: 24 + Calculated Max Values w=29 h=32 x= 4 y=22 dx=34 dy= 0 ascent=31 len=120 + Font Bounding box w=39 h=48 x=-5 y=-11 + Calculated Min Values x=-1 y=-7 dx= 0 dy= 0 + Pure Font ascent =25 descent=-7 + X Font ascent =25 descent=-7 + Max Font ascent =31 descent=-7 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_helvR24[10931] U8G_FONT_SECTION("u8g_font_helvR24") = { + 0,39,48,251,245,25,5,215,14,105,32,255,249,31,249,25, + 249,0,0,0,9,0,1,3,25,25,9,4,0,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,64,64, + 0,0,224,224,224,224,8,8,8,12,2,15,231,231,231,231, + 231,231,66,66,17,23,69,19,1,0,3,135,0,3,135,0, + 3,6,0,3,6,0,7,14,0,7,14,0,127,255,128,127, + 255,128,127,255,128,14,28,0,14,28,0,12,24,0,28,56, + 0,28,56,0,255,255,0,255,255,0,255,255,0,56,112,0, + 56,112,0,48,96,0,48,96,0,112,224,0,112,224,0,16, + 31,62,18,1,252,1,128,1,128,1,128,15,240,31,248,61, + 188,113,142,113,142,225,142,225,128,225,128,113,128,125,128,63, + 192,31,240,7,252,1,254,1,158,1,143,1,135,225,135,225, + 135,113,142,113,142,61,188,63,248,15,240,1,128,1,128,1, + 128,1,128,26,24,96,29,1,0,0,0,48,0,31,0,112, + 0,127,128,96,0,115,192,224,0,224,192,192,0,192,225,192, + 0,192,225,128,0,192,227,128,0,224,195,0,0,115,199,0, + 0,127,134,0,0,31,14,0,0,0,12,0,0,0,28,62, + 0,0,24,127,128,0,56,243,128,0,48,193,192,0,113,192, + 192,0,97,192,192,0,225,192,192,0,192,193,192,1,192,227, + 128,1,128,127,128,3,128,62,0,18,23,69,22,2,0,7, + 192,0,15,224,0,30,112,0,60,56,0,56,56,0,56,56, + 0,60,112,0,30,240,0,15,224,0,7,192,0,15,128,0, + 63,192,0,121,199,0,112,231,0,224,246,0,224,126,0,224, + 60,0,224,28,0,240,62,0,120,127,0,127,247,128,63,227, + 192,15,0,0,3,8,8,6,2,15,224,224,224,224,224,224, + 224,64,7,31,31,11,2,249,6,12,12,24,24,56,48,112, + 112,112,96,224,224,224,224,224,224,224,224,224,96,112,112,112, + 48,56,24,24,12,12,6,7,31,31,11,1,249,192,96,96, + 48,48,56,24,28,28,28,12,14,14,14,14,14,14,14,14, + 12,12,28,28,24,24,56,48,112,96,96,192,10,11,22,13, + 1,15,12,0,12,0,76,128,237,192,127,128,63,0,30,0, + 63,0,115,128,225,192,64,128,17,16,48,19,1,1,1,192, + 0,1,192,0,1,192,0,1,192,0,1,192,0,1,192,0, + 1,192,0,255,255,128,255,255,128,255,255,128,1,192,0,1, + 192,0,1,192,0,1,192,0,1,192,0,1,192,0,3,9, + 9,9,3,251,224,224,224,224,32,96,96,192,128,8,2,2, + 11,1,8,255,255,3,4,4,9,3,0,224,224,224,224,9, + 24,48,9,0,0,1,128,1,128,1,128,3,0,3,0,3, + 0,6,0,6,0,6,0,12,0,12,0,12,0,8,0,24, + 0,24,0,24,0,48,0,48,0,48,0,96,0,96,0,96, + 0,192,0,192,0,15,24,48,18,1,0,7,192,31,240,63, + 248,60,120,120,60,112,28,112,28,224,14,224,14,224,14,224, + 14,224,14,224,14,224,14,224,14,224,14,224,14,112,28,112, + 28,112,60,60,120,63,248,31,240,7,192,8,24,24,18,3, + 0,3,7,7,15,63,255,255,7,7,7,7,7,7,7,7, + 7,7,7,7,7,7,7,7,7,15,24,48,18,1,0,7, + 192,31,240,63,248,120,60,112,28,240,14,224,14,224,14,0, + 14,0,28,0,60,0,120,0,240,3,224,7,192,31,0,60, + 0,120,0,112,0,224,0,224,0,255,254,255,254,255,254,15, + 24,48,18,1,0,7,192,31,240,63,248,56,56,112,28,112, + 28,112,28,112,28,0,28,0,56,3,248,3,240,3,248,0, + 60,0,30,0,14,224,14,224,14,224,14,112,28,120,60,63, + 248,31,240,7,192,16,24,48,18,0,0,0,24,0,56,0, + 120,0,120,0,248,1,248,3,184,3,184,7,56,14,56,14, + 56,28,56,56,56,56,56,112,56,224,56,255,255,255,255,255, + 255,0,56,0,56,0,56,0,56,0,56,15,24,48,18,1, + 0,63,252,63,252,63,252,56,0,56,0,56,0,112,0,112, + 0,119,192,127,240,127,248,120,124,112,28,0,30,0,14,0, + 14,0,14,224,14,224,30,240,28,120,124,127,248,63,240,15, + 128,15,24,48,18,1,0,3,192,15,240,31,248,60,56,56, + 28,112,28,112,0,112,0,96,0,227,192,239,240,255,248,248, + 60,240,28,240,14,224,14,224,14,96,14,112,14,112,28,56, + 60,63,248,31,240,7,192,15,24,48,18,1,0,255,254,255, + 254,255,254,0,14,0,28,0,24,0,56,0,112,0,112,0, + 224,0,224,1,192,1,192,3,128,3,128,7,0,7,0,7, + 0,14,0,14,0,14,0,28,0,28,0,28,0,15,24,48, + 18,1,0,7,192,31,240,63,248,56,60,112,28,112,28,112, + 28,112,28,120,60,60,120,31,240,15,224,63,248,120,60,112, + 28,224,14,224,14,224,14,224,14,240,28,120,60,63,248,31, + 240,7,192,15,24,48,18,1,0,7,192,31,240,63,248,120, + 124,112,60,240,28,224,30,224,14,224,14,224,14,224,30,224, + 30,112,62,127,254,63,238,15,206,0,14,0,28,224,28,240, + 60,120,120,63,240,63,224,15,128,3,18,18,9,4,0,224, + 224,224,224,0,0,0,0,0,0,0,0,0,0,224,224,224, + 224,3,22,22,9,4,251,224,224,224,224,0,0,0,0,0, + 0,0,0,0,224,224,224,224,32,96,96,192,128,16,16,32, + 19,2,0,0,3,0,15,0,63,1,252,7,224,31,128,254, + 0,240,0,240,0,254,0,31,128,7,224,1,252,0,127,0, + 15,0,3,15,9,18,19,2,4,255,254,255,254,255,254,0, + 0,0,0,0,0,255,254,255,254,255,254,16,16,32,19,1, + 0,192,0,240,0,254,0,63,128,7,224,1,248,0,127,0, + 15,0,15,0,127,1,248,7,224,63,128,254,0,240,0,192, + 0,14,25,50,18,2,0,7,192,31,240,63,248,120,56,112, + 28,240,28,224,28,224,28,0,28,0,56,0,56,0,112,0, + 224,1,224,1,192,3,128,3,128,3,128,3,128,0,0,0, + 0,3,128,3,128,3,128,3,128,29,30,120,34,1,251,0, + 7,192,0,0,63,248,0,0,255,254,0,3,240,63,128,7, + 192,7,192,15,0,3,224,30,0,1,224,28,0,0,240,56, + 15,140,112,56,31,220,56,112,60,252,56,112,112,124,56,96, + 224,56,24,224,224,56,24,225,224,56,24,225,192,112,56,225, + 192,112,56,225,192,112,112,225,192,224,112,225,224,224,224,112, + 243,243,192,112,255,127,128,120,62,127,0,60,0,0,0,30, + 0,0,0,31,0,0,0,15,128,0,0,3,224,120,0,1, + 255,248,0,0,127,224,0,20,25,75,22,1,0,0,240,0, + 0,240,0,0,248,0,1,248,0,1,248,0,3,156,0,3, + 156,0,3,156,0,7,158,0,7,14,0,7,14,0,15,15, + 0,15,15,0,14,7,0,30,7,128,31,255,128,31,255,128, + 63,255,192,60,3,192,56,1,192,120,1,224,120,1,224,112, + 0,224,240,0,240,240,0,240,17,25,75,22,3,0,255,240, + 0,255,252,0,255,254,0,224,62,0,224,15,0,224,15,0, + 224,7,0,224,7,0,224,15,0,224,14,0,224,62,0,255, + 252,0,255,252,0,255,254,0,224,31,0,224,7,128,224,3, + 128,224,3,128,224,3,128,224,3,128,224,7,128,224,15,0, + 255,254,0,255,254,0,255,248,0,20,25,75,24,2,0,1, + 252,0,7,255,0,15,255,128,31,7,192,60,1,224,56,0, + 224,112,0,240,112,0,112,224,0,0,224,0,0,224,0,0, + 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, + 0,112,240,0,112,112,0,240,120,0,224,60,1,224,63,7, + 192,31,255,128,7,254,0,1,248,0,18,25,75,24,3,0, + 255,240,0,255,252,0,255,254,0,224,31,0,224,15,0,224, + 7,128,224,3,128,224,3,128,224,1,192,224,1,192,224,1, + 192,224,1,192,224,1,192,224,1,192,224,1,192,224,1,192, + 224,3,192,224,3,128,224,3,128,224,7,128,224,15,0,224, + 30,0,255,254,0,255,252,0,255,240,0,17,25,75,22,3, + 0,255,255,0,255,255,0,255,255,0,224,0,0,224,0,0, + 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, + 0,0,255,255,0,255,255,0,255,255,0,224,0,0,224,0, + 0,224,0,0,224,0,0,224,0,0,224,0,0,224,0,0, + 224,0,0,255,255,128,255,255,128,255,255,128,16,25,50,20, + 3,0,255,255,255,255,255,255,224,0,224,0,224,0,224,0, + 224,0,224,0,224,0,224,0,255,252,255,252,255,252,224,0, + 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, + 224,0,224,0,22,25,75,25,1,0,0,254,0,3,255,128, + 15,255,192,31,131,240,62,0,240,60,0,120,120,0,56,112, + 0,56,240,0,0,224,0,0,224,0,0,224,0,0,224,15, + 252,224,15,252,224,15,252,224,0,28,240,0,28,112,0,28, + 120,0,60,56,0,60,60,0,252,31,1,252,15,255,220,7, + 255,28,1,252,28,18,25,75,24,3,0,224,1,192,224,1, + 192,224,1,192,224,1,192,224,1,192,224,1,192,224,1,192, + 224,1,192,224,1,192,224,1,192,224,1,192,255,255,192,255, + 255,192,255,255,192,224,1,192,224,1,192,224,1,192,224,1, + 192,224,1,192,224,1,192,224,1,192,224,1,192,224,1,192, + 224,1,192,224,1,192,3,25,25,9,3,0,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,13,25,50,16,1,0,0,56,0,56,0, + 56,0,56,0,56,0,56,0,56,0,56,0,56,0,56,0, + 56,0,56,0,56,0,56,0,56,0,56,224,56,224,56,224, + 56,224,56,240,120,120,240,127,240,63,224,31,128,20,25,75, + 22,3,0,224,3,192,224,7,128,224,15,0,224,30,0,224, + 60,0,224,120,0,224,240,0,225,224,0,227,192,0,231,192, + 0,239,128,0,255,192,0,255,192,0,249,224,0,240,240,0, + 224,112,0,224,120,0,224,60,0,224,28,0,224,30,0,224, + 15,0,224,7,128,224,3,192,224,3,224,224,1,240,14,25, + 50,18,3,0,224,0,224,0,224,0,224,0,224,0,224,0, + 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, + 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, + 255,252,255,252,255,252,21,25,75,27,3,0,240,0,120,240, + 0,120,248,0,248,248,0,248,252,1,248,252,1,248,252,1, + 248,236,1,184,238,3,184,238,3,184,230,3,56,231,7,56, + 231,7,56,227,6,56,227,142,56,227,142,56,227,142,56,225, + 140,56,225,220,56,225,220,56,224,216,56,224,248,56,224,248, + 56,224,112,56,224,112,56,19,25,75,24,2,0,240,0,224, + 240,0,224,248,0,224,252,0,224,252,0,224,254,0,224,239, + 0,224,231,0,224,231,128,224,227,192,224,227,192,224,225,224, + 224,224,224,224,224,240,224,224,120,224,224,56,224,224,60,224, + 224,28,224,224,30,224,224,15,224,224,7,224,224,7,224,224, + 3,224,224,1,224,224,1,224,23,25,75,25,1,0,0,254, + 0,3,255,128,15,239,224,31,1,240,62,0,248,60,0,120, + 120,0,60,112,0,28,240,0,30,224,0,14,224,0,14,224, + 0,14,224,0,14,224,0,14,224,0,14,224,0,14,240,0, + 30,240,0,30,120,0,60,60,0,120,62,0,248,31,1,240, + 15,239,224,3,255,128,0,254,0,17,25,75,22,3,0,255, + 248,0,255,254,0,255,255,0,224,15,0,224,7,128,224,3, + 128,224,3,128,224,3,128,224,3,128,224,3,128,224,7,128, + 224,15,0,255,255,0,255,254,0,255,248,0,224,0,0,224, + 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, + 0,224,0,0,224,0,0,224,0,0,23,26,78,26,1,255, + 0,254,0,3,255,128,15,239,224,31,1,240,62,0,248,60, + 0,120,120,0,60,112,0,28,240,0,30,224,0,14,224,0, + 14,224,0,14,224,0,14,224,0,14,224,0,14,224,0,14, + 240,0,30,240,2,30,120,7,60,60,7,184,62,3,248,31, + 1,240,15,239,248,3,255,188,0,254,30,0,0,12,19,25, + 75,24,3,0,255,252,0,255,255,0,255,255,128,224,7,128, + 224,3,192,224,1,192,224,1,192,224,1,192,224,1,192,224, + 3,192,224,3,128,224,15,128,255,255,0,255,254,0,255,255, + 0,224,15,128,224,7,128,224,3,128,224,3,192,224,3,192, + 224,3,192,224,1,192,224,1,192,224,1,192,224,1,224,19, + 25,75,22,1,0,3,248,0,15,254,0,31,255,0,60,15, + 128,56,3,192,112,1,192,112,1,192,112,0,0,120,0,0, + 124,0,0,63,192,0,31,248,0,7,255,0,0,127,128,0, + 15,192,0,1,224,0,0,224,224,0,224,240,0,224,112,1, + 224,120,1,192,62,7,192,63,255,128,15,254,0,3,248,0, + 19,25,75,20,0,0,255,255,224,255,255,224,255,255,224,0, + 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, + 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, + 0,224,0,0,224,0,0,224,0,0,224,0,0,224,0,0, + 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, + 0,18,25,75,24,3,0,224,1,192,224,1,192,224,1,192, + 224,1,192,224,1,192,224,1,192,224,1,192,224,1,192,224, + 1,192,224,1,192,224,1,192,224,1,192,224,1,192,224,1, + 192,224,1,192,224,1,192,224,1,192,224,1,192,224,1,192, + 240,3,192,120,7,128,124,15,128,63,255,0,31,254,0,3, + 240,0,19,25,75,22,1,0,240,1,224,240,1,224,240,1, + 224,112,1,192,120,3,192,120,3,192,56,3,128,56,3,128, + 60,7,128,28,7,0,28,7,0,30,15,0,14,14,0,14, + 14,0,15,14,0,7,28,0,7,28,0,7,156,0,3,184, + 0,3,184,0,3,184,0,1,240,0,1,240,0,0,224,0, + 0,224,0,29,25,100,31,1,0,240,7,0,120,240,7,0, + 120,240,15,128,120,112,15,128,112,112,15,128,112,120,29,192, + 240,120,29,192,240,56,29,192,224,56,29,192,224,56,56,224, + 224,60,56,225,224,28,56,225,192,28,48,225,192,28,112,113, + 192,28,112,113,192,14,112,115,128,14,224,59,128,14,224,59, + 128,14,224,59,128,7,224,63,128,7,192,31,0,7,192,31, + 0,7,192,31,0,3,128,14,0,3,128,14,0,20,25,75, + 22,1,0,248,0,240,120,1,224,60,3,192,28,3,192,30, + 7,128,15,7,0,15,15,0,7,158,0,3,156,0,3,252, + 0,1,248,0,0,240,0,0,240,0,1,248,0,1,248,0, + 3,156,0,7,158,0,7,14,0,15,15,0,30,7,128,30, + 7,128,60,3,192,120,1,224,120,1,224,240,0,240,21,25, + 75,22,0,0,240,0,120,120,0,240,120,0,224,60,1,224, + 28,1,192,30,3,192,14,7,128,15,7,128,7,143,0,3, + 142,0,3,222,0,1,220,0,1,252,0,0,248,0,0,248, + 0,0,112,0,0,112,0,0,112,0,0,112,0,0,112,0, + 0,112,0,0,112,0,0,112,0,0,112,0,0,112,0,18, + 25,75,20,1,0,127,255,192,127,255,192,127,255,192,0,7, + 128,0,15,128,0,15,0,0,30,0,0,60,0,0,60,0, + 0,120,0,0,240,0,1,224,0,1,224,0,3,192,0,7, + 128,0,7,128,0,15,0,0,30,0,0,60,0,0,60,0, + 0,120,0,0,240,0,0,255,255,192,255,255,192,255,255,192, + 6,32,32,9,2,249,252,252,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,252,252,9,24,48,9,0,0,192,0,192,0, + 96,0,96,0,96,0,48,0,48,0,48,0,16,0,24,0, + 24,0,24,0,12,0,12,0,12,0,6,0,6,0,6,0, + 2,0,3,0,3,0,3,0,1,128,1,128,6,32,32,9, + 1,249,252,252,28,28,28,28,28,28,28,28,28,28,28,28, + 28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28, + 252,252,12,13,26,16,1,11,6,0,15,0,15,0,31,128, + 25,128,25,128,57,192,48,192,112,224,96,96,96,96,224,112, + 192,48,18,2,6,18,0,250,255,255,192,255,255,192,6,5, + 5,11,1,20,224,240,112,56,28,16,18,36,18,1,0,15, + 224,63,248,60,120,112,60,112,28,0,28,0,60,1,252,31, + 252,126,28,120,28,240,28,224,28,224,60,224,124,121,254,127, + 223,63,143,15,25,50,18,2,0,224,0,224,0,224,0,224, + 0,224,0,224,0,224,0,227,224,239,240,255,248,248,60,240, + 28,240,30,224,14,224,14,224,14,224,14,224,14,224,14,240, + 30,240,28,252,60,255,248,239,240,231,224,14,18,36,16,1, + 0,7,192,31,240,63,248,56,60,112,28,112,28,224,0,224, + 0,224,0,224,0,224,0,224,28,224,28,112,28,120,56,63, + 248,31,240,7,192,15,25,50,18,1,0,0,14,0,14,0, + 14,0,14,0,14,0,14,0,14,7,206,31,238,63,254,124, + 62,112,30,240,30,224,14,224,14,224,14,224,14,224,14,224, + 14,240,30,240,30,120,62,127,254,63,238,15,206,15,18,36, + 18,2,0,7,192,31,240,63,248,120,60,112,28,240,14,224, + 14,224,14,255,254,255,254,224,0,224,0,240,14,112,30,120, + 60,63,248,31,240,7,192,8,25,25,9,1,0,15,31,60, + 56,56,56,56,255,255,255,56,56,56,56,56,56,56,56,56, + 56,56,56,56,56,56,15,25,50,18,1,249,7,206,31,238, + 63,254,124,62,112,30,240,30,224,14,224,14,224,14,224,14, + 224,14,224,14,240,30,112,62,120,62,63,254,31,238,7,142, + 0,14,224,14,224,28,240,28,124,120,63,248,31,224,14,25, + 50,18,2,0,224,0,224,0,224,0,224,0,224,0,224,0, + 224,0,227,224,239,240,255,248,248,60,240,28,224,28,224,28, + 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, + 224,28,224,28,224,28,3,25,25,7,2,0,224,224,224,224, + 0,0,0,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,6,32,32,7,255,249,28,28,28,28,0, + 0,0,28,28,28,28,28,28,28,28,28,28,28,28,28,28, + 28,28,28,28,28,28,28,28,60,252,248,15,25,50,16,1, + 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, + 120,224,240,225,224,227,192,231,128,239,0,255,0,255,0,251, + 128,243,192,225,192,225,224,224,224,224,240,224,120,224,56,224, + 60,224,30,3,25,25,7,2,0,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,23,18,54,27,2,0,227,192,240,239,243,252,255,247, + 252,248,126,30,240,60,14,224,56,14,224,56,14,224,56,14, + 224,56,14,224,56,14,224,56,14,224,56,14,224,56,14,224, + 56,14,224,56,14,224,56,14,224,56,14,224,56,14,14,18, + 36,18,2,0,227,224,239,248,255,248,248,60,240,28,224,28, + 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, + 224,28,224,28,224,28,224,28,15,18,36,18,1,0,7,192, + 31,240,63,248,120,60,112,28,240,30,224,14,224,14,224,14, + 224,14,224,14,224,14,240,30,112,28,120,60,63,248,31,240, + 7,192,15,25,50,18,2,249,3,192,239,240,255,248,248,60, + 240,28,240,30,224,14,224,14,224,14,224,14,224,14,224,14, + 240,30,240,28,248,60,255,248,239,240,231,224,224,0,224,0, + 224,0,224,0,224,0,224,0,224,0,15,25,50,18,1,249, + 7,192,31,238,63,254,124,62,112,30,240,30,224,14,224,14, + 224,14,224,14,224,14,224,14,240,30,112,30,120,62,63,254, + 31,238,15,206,0,14,0,14,0,14,0,14,0,14,0,14, + 0,14,8,18,18,11,2,0,231,239,255,252,240,240,224,224, + 224,224,224,224,224,224,224,224,224,224,13,18,36,16,2,0, + 15,128,63,224,127,224,112,240,224,112,224,0,112,0,126,0, + 63,192,7,240,0,240,0,120,224,56,224,56,240,112,127,240, + 127,224,31,128,8,22,22,9,1,0,56,56,56,56,255,255, + 255,56,56,56,56,56,56,56,56,56,56,56,56,60,63,31, + 14,18,36,18,2,0,224,28,224,28,224,28,224,28,224,28, + 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, + 224,60,240,124,127,252,127,220,31,28,15,18,36,16,0,0, + 224,14,224,14,112,28,112,28,112,28,56,56,56,56,56,56, + 28,112,28,112,28,112,14,224,14,224,14,224,7,192,7,192, + 3,128,3,128,23,18,54,23,0,0,224,56,14,224,56,14, + 112,124,28,112,124,28,112,108,28,56,238,28,56,238,56,56, + 238,56,56,198,56,24,198,48,29,199,112,29,199,112,29,199, + 112,13,131,96,15,131,224,15,131,224,7,1,192,7,1,192, + 15,18,36,16,0,0,240,30,120,28,56,56,60,112,28,112, + 14,224,15,224,7,192,3,128,7,192,7,192,15,224,30,224, + 28,112,56,120,56,56,112,28,240,30,14,25,50,16,1,249, + 224,28,224,28,240,56,112,56,112,56,112,112,56,112,56,112, + 56,224,60,224,28,224,29,192,29,192,15,192,15,128,15,128, + 7,0,7,0,7,0,14,0,14,0,28,0,124,0,120,0, + 112,0,14,18,36,16,1,0,127,248,127,248,127,248,0,120, + 0,240,0,224,1,192,3,192,7,128,7,0,14,0,28,0, + 60,0,120,0,112,0,255,252,255,252,255,252,8,32,32,11, + 1,249,15,31,28,24,24,24,24,24,24,24,24,24,56,56, + 112,224,224,112,56,56,24,24,24,24,24,24,24,24,24,28, + 31,15,2,31,31,9,3,249,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,8,32,32,11,1,249,240,248,56, + 24,24,24,24,24,24,24,24,24,28,28,14,7,7,14,28, + 28,24,24,24,24,24,24,24,24,24,56,248,240,14,6,12, + 19,2,9,24,0,124,12,127,12,199,220,193,248,0,240,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,255,255,255,255,255,255,255, + 0,0,0,9,0,1,3,25,25,11,4,249,224,224,224,224, + 0,0,64,64,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,14,25,50,19,2,252,0,32,0,96,0, + 64,7,224,31,240,60,248,120,188,112,156,112,156,225,128,225, + 0,225,0,227,0,227,0,226,12,226,28,118,28,124,60,60, + 120,31,240,15,224,8,0,24,0,16,0,16,0,15,24,48, + 19,1,0,3,192,15,248,31,252,60,60,120,30,112,14,112, + 14,112,0,112,0,56,0,56,0,255,192,255,192,12,0,14, + 0,14,0,12,0,28,0,24,0,56,0,115,134,255,254,255, + 254,96,124,12,13,26,18,3,5,230,48,255,240,127,240,112, + 224,96,96,224,112,224,112,224,112,96,96,112,224,127,240,255, + 240,230,48,16,24,48,18,1,0,224,7,224,7,112,14,112, + 14,56,28,56,28,28,56,28,56,14,112,14,112,7,224,127, + 254,127,254,127,254,1,192,1,192,127,254,127,254,127,254,1, + 192,1,192,1,192,1,192,1,192,2,32,32,9,3,249,192, + 192,192,192,192,192,192,192,192,192,192,192,192,0,0,0,0, + 0,0,192,192,192,192,192,192,192,192,192,192,192,192,192,15, + 32,64,18,1,249,3,192,15,240,31,248,28,120,56,60,56, + 28,56,28,60,0,30,0,31,128,63,224,113,240,224,248,224, + 124,224,28,224,30,112,14,124,14,62,14,31,28,15,156,3, + 248,1,240,0,240,0,120,112,56,112,56,120,56,56,112,63, + 240,31,224,7,128,8,3,3,11,1,22,231,231,231,24,25, + 75,25,0,0,0,254,0,3,255,128,7,1,224,12,0,112, + 24,0,24,48,126,12,96,255,134,97,193,198,195,128,195,195, + 0,3,199,0,3,134,0,1,134,0,1,134,0,1,134,0, + 1,199,0,3,195,128,195,97,225,198,96,255,134,48,62,12, + 24,0,24,28,0,56,7,1,224,3,255,128,0,254,0,10, + 15,30,12,1,10,63,0,119,128,97,128,1,128,7,128,127, + 128,225,128,193,128,195,128,231,128,125,192,0,0,0,0,255, + 192,255,192,12,9,18,18,3,5,28,112,56,224,113,192,227, + 128,195,0,227,128,113,192,56,224,28,112,16,9,18,19,1, + 3,255,255,255,255,255,255,0,7,0,7,0,7,0,7,0, + 7,0,7,8,2,2,11,1,8,255,255,24,25,75,25,0, + 0,0,126,0,3,255,128,7,1,224,12,0,112,24,0,24, + 48,0,12,97,255,6,97,255,134,193,129,195,193,128,195,193, + 128,195,129,129,129,129,255,1,129,252,1,129,142,1,193,134, + 3,193,131,3,97,129,134,97,129,198,48,0,12,24,0,24, + 28,0,56,7,1,224,3,255,128,0,126,0,9,2,4,11, + 1,22,255,128,255,128,9,9,18,13,2,15,62,0,127,0, + 227,128,193,128,193,128,193,128,227,128,127,0,62,0,17,21, + 63,19,1,0,1,192,0,1,192,0,1,192,0,1,192,0, + 1,192,0,1,192,0,1,192,0,255,255,128,255,255,128,255, + 255,128,1,192,0,1,192,0,1,192,0,1,192,0,1,192, + 0,1,192,0,0,0,0,0,0,0,255,255,128,255,255,128, + 255,255,128,9,15,30,11,1,9,30,0,127,0,99,0,193, + 128,193,128,1,128,3,0,7,0,30,0,56,0,112,0,224, + 0,192,0,255,128,255,128,9,15,30,11,1,9,62,0,127, + 0,227,128,193,128,193,128,3,128,15,0,15,0,3,128,1, + 128,193,128,193,128,227,128,127,0,62,0,7,5,5,11,3, + 22,30,60,56,112,224,14,24,48,19,2,250,224,28,224,28, + 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, + 224,28,224,28,224,28,224,60,240,124,255,252,255,220,255,28, + 224,0,224,0,224,0,224,0,224,0,224,0,16,30,60,17, + 1,251,7,255,31,255,63,140,63,140,127,140,127,140,255,140, + 255,140,255,140,255,140,127,140,127,140,63,140,63,140,31,140, + 3,140,1,140,1,140,1,140,1,140,1,140,1,140,1,140, + 1,140,1,140,1,140,1,140,1,140,1,140,1,140,4,4, + 4,9,3,11,96,240,240,96,7,7,7,11,2,249,24,24, + 60,14,6,206,124,5,15,15,11,2,9,24,56,248,248,24, + 24,24,24,24,24,24,24,24,24,24,10,15,30,12,1,10, + 30,0,127,128,97,128,225,192,192,192,192,192,192,192,192,192, + 225,192,97,128,127,128,30,0,0,0,255,192,255,192,12,9, + 18,18,3,5,227,128,113,192,56,224,28,112,12,48,28,112, + 56,224,113,192,227,128,25,25,100,28,1,0,0,0,48,0, + 24,0,112,0,56,0,96,0,248,0,224,0,248,1,192,0, + 24,1,128,0,24,3,128,0,24,3,0,0,24,7,0,0, + 24,14,0,0,24,12,0,0,24,28,6,0,24,24,14,0, + 24,56,30,0,24,112,62,0,24,96,118,0,0,224,102,0, + 1,192,198,0,1,129,198,0,3,131,134,0,3,3,255,128, + 7,3,255,128,6,0,6,0,14,0,6,0,12,0,6,0, + 25,25,100,28,1,0,0,0,96,0,24,0,224,0,56,0, + 192,0,248,1,128,0,248,3,128,0,24,3,0,0,24,6, + 0,0,24,14,0,0,24,12,0,0,24,28,0,0,24,24, + 0,0,24,56,60,0,24,48,255,0,24,112,195,128,24,97, + 129,128,24,193,129,128,1,192,3,128,1,128,7,0,3,128, + 14,0,3,0,60,0,6,0,112,0,14,0,224,0,12,1, + 192,0,28,1,255,128,24,1,255,128,25,24,96,28,1,0, + 62,0,14,0,127,0,12,0,99,128,24,0,193,128,56,0, + 193,128,48,0,3,128,96,0,15,0,224,0,15,128,192,0, + 1,193,128,0,0,195,128,0,192,195,6,0,192,199,14,0, + 97,206,30,0,127,140,62,0,30,24,118,0,0,56,102,0, + 0,48,198,0,0,97,198,0,0,227,134,0,1,195,255,128, + 1,131,255,128,3,0,6,0,7,0,6,0,6,0,6,0, + 14,25,50,19,3,249,3,128,3,128,3,128,3,128,0,0, + 0,0,3,128,3,128,3,128,7,128,7,0,15,0,30,0, + 60,0,120,0,112,0,240,0,224,28,224,28,224,28,240,60, + 120,120,127,240,63,224,7,128,20,31,93,22,1,0,3,192, + 0,1,224,0,0,224,0,0,112,0,0,56,0,0,0,0, + 0,240,0,0,240,0,0,240,0,1,248,0,1,248,0,3, + 252,0,3,156,0,3,156,0,7,158,0,7,14,0,7,14, + 0,15,15,0,14,15,0,14,7,0,30,7,128,31,255,128, + 31,255,128,63,255,192,60,3,192,56,1,192,120,1,224,120, + 1,224,112,0,224,240,0,240,240,0,240,20,31,93,22,1, + 0,0,60,0,0,120,0,0,112,0,0,224,0,1,192,0, + 0,0,0,0,240,0,0,240,0,0,240,0,1,248,0,1, + 248,0,3,252,0,3,156,0,3,156,0,7,158,0,7,14, + 0,7,14,0,15,15,0,15,15,0,14,7,0,30,7,128, + 31,255,128,31,255,128,63,255,192,60,3,192,120,1,192,120, + 1,224,120,1,224,112,0,224,240,0,240,240,0,240,20,31, + 93,22,1,0,0,64,0,0,224,0,1,240,0,3,184,0, + 7,28,0,0,0,0,0,240,0,0,240,0,0,240,0,1, + 248,0,1,248,0,3,252,0,3,156,0,3,156,0,7,158, + 0,7,14,0,7,14,0,15,15,0,15,15,0,14,7,0, + 30,7,128,31,255,128,31,255,128,63,255,192,60,3,192,56, + 1,192,120,1,224,120,1,224,112,0,224,240,0,240,240,0, + 240,20,30,90,22,1,0,1,198,0,3,254,0,7,252,0, + 6,56,0,0,0,0,0,240,0,0,240,0,0,240,0,1, + 248,0,1,248,0,3,252,0,3,156,0,3,156,0,7,158, + 0,7,14,0,7,14,0,15,15,0,15,15,0,14,7,0, + 30,7,128,31,255,128,31,255,128,63,255,192,60,3,192,56, + 1,192,120,1,224,120,1,224,112,0,224,240,0,240,240,0, + 240,20,30,90,22,1,0,3,156,0,3,156,0,3,156,0, + 0,0,0,0,0,0,0,240,0,0,240,0,0,240,0,1, + 248,0,1,248,0,3,252,0,3,156,0,3,156,0,7,158, + 0,7,14,0,7,14,0,15,15,0,15,15,0,14,7,0, + 30,7,128,31,255,128,31,255,128,63,255,192,60,3,192,56, + 1,192,120,1,224,120,1,224,112,0,224,240,0,240,240,0, + 240,20,31,93,22,1,0,0,240,0,1,152,0,1,8,0, + 1,8,0,1,152,0,0,240,0,0,0,0,0,240,0,0, + 240,0,1,248,0,1,248,0,3,252,0,3,156,0,3,156, + 0,7,158,0,7,14,0,7,14,0,15,15,0,14,15,0, + 14,7,0,30,7,128,31,255,128,31,255,128,63,255,192,60, + 3,192,56,1,192,120,1,224,120,1,224,112,0,224,240,0, + 240,240,0,240,29,25,100,32,1,0,0,127,255,248,0,127, + 255,248,0,255,255,248,0,227,128,0,1,195,128,0,1,195, + 128,0,3,195,128,0,3,131,128,0,3,131,128,0,7,131, + 128,0,7,3,128,0,7,3,255,240,15,3,255,240,14,3, + 255,240,30,3,128,0,31,255,128,0,31,255,128,0,63,255, + 128,0,56,3,128,0,120,3,128,0,120,3,128,0,112,3, + 128,0,240,3,255,248,224,3,255,248,224,3,255,248,20,32, + 96,23,2,249,1,248,0,7,254,0,15,255,128,31,7,128, + 60,3,192,120,1,224,112,0,224,112,0,224,240,0,0,240, + 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, + 0,240,0,112,240,0,112,112,0,240,112,0,224,120,1,224, + 60,3,192,31,7,192,15,255,128,7,254,0,1,248,0,0, + 96,0,0,96,0,0,240,0,0,56,0,0,24,0,3,56, + 0,1,240,0,17,31,93,22,3,0,15,0,0,7,128,0, + 3,128,0,1,192,0,0,224,0,0,0,0,255,255,0,255, + 255,0,255,255,0,224,0,0,224,0,0,224,0,0,224,0, + 0,224,0,0,224,0,0,224,0,0,224,0,0,255,255,0, + 255,255,0,255,255,0,224,0,0,224,0,0,224,0,0,224, + 0,0,224,0,0,224,0,0,224,0,0,224,0,0,255,255, + 128,255,255,128,255,255,128,17,31,93,22,3,0,0,120,0, + 0,240,0,0,224,0,1,192,0,3,128,0,0,0,0,255, + 255,0,255,255,0,255,255,0,224,0,0,224,0,0,224,0, + 0,224,0,0,224,0,0,224,0,0,224,0,0,224,0,0, + 255,255,0,255,255,0,255,255,0,224,0,0,224,0,0,224, + 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, + 0,255,255,128,255,255,128,255,255,128,17,31,93,22,3,0, + 0,128,0,1,192,0,3,224,0,7,112,0,14,56,0,0, + 0,0,255,255,0,255,255,0,255,255,0,224,0,0,224,0, + 0,224,0,0,224,0,0,224,0,0,224,0,0,224,0,0, + 224,0,0,255,255,0,255,255,0,255,255,0,224,0,0,224, + 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, + 0,224,0,0,255,255,128,255,255,128,255,255,128,17,30,90, + 22,3,0,28,56,0,28,56,0,28,56,0,0,0,0,0, + 0,0,255,255,0,255,255,0,255,255,0,224,0,0,224,0, + 0,224,0,0,224,0,0,224,0,0,224,0,0,224,0,0, + 224,0,0,255,255,0,255,255,0,255,255,0,224,0,0,224, + 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, + 0,224,0,0,255,255,128,255,255,128,255,255,128,7,31,31, + 9,0,0,240,120,56,28,14,0,28,28,28,28,28,28,28, + 28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28, + 28,28,7,31,31,9,2,0,30,60,56,112,224,0,112,112, + 112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,112, + 112,112,112,112,112,112,112,9,31,62,9,0,0,8,0,28, + 0,62,0,119,0,227,128,0,0,28,0,28,0,28,0,28, + 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,28,0,28,0,28,0,9,30,60,9,0, + 0,227,128,227,128,227,128,0,0,0,0,28,0,28,0,28, + 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,28,0,28,0,28,0,28,0,21,25,75, + 23,0,0,31,254,0,31,255,128,31,255,192,28,3,224,28, + 0,224,28,0,240,28,0,112,28,0,112,28,0,56,28,0, + 56,28,0,56,255,192,56,255,192,56,28,0,56,28,0,56, + 28,0,56,28,0,120,28,0,112,28,0,112,28,0,240,28, + 0,224,28,3,192,31,255,192,31,255,128,31,254,0,19,30, + 90,24,2,0,1,198,0,3,254,0,7,252,0,6,56,0, + 0,0,0,240,0,224,248,0,224,248,0,224,252,0,224,252, + 0,224,254,0,224,239,0,224,231,0,224,231,128,224,227,192, + 224,227,192,224,225,224,224,224,224,224,224,240,224,224,120,224, + 224,56,224,224,60,224,224,28,224,224,30,224,224,15,224,224, + 7,224,224,7,224,224,3,224,224,1,224,224,1,224,23,31, + 93,25,1,0,0,240,0,0,120,0,0,56,0,0,28,0, + 0,14,0,0,0,0,0,254,0,3,255,128,15,255,224,31, + 1,240,62,0,248,60,0,120,120,0,60,112,0,28,112,0, + 28,240,0,30,224,0,14,224,0,14,224,0,14,224,0,14, + 224,0,14,240,0,30,240,0,30,112,0,28,120,0,60,60, + 0,120,62,0,248,31,1,240,15,255,224,3,255,128,0,254, + 0,23,31,93,25,1,0,0,15,0,0,30,0,0,28,0, + 0,56,0,0,112,0,0,0,0,0,254,0,3,255,128,15, + 255,224,31,1,240,62,0,248,60,0,120,120,0,60,112,0, + 28,112,0,28,240,0,30,224,0,14,224,0,14,224,0,14, + 224,0,14,224,0,14,240,0,30,240,0,30,112,0,28,120, + 0,60,60,0,120,62,0,248,31,1,240,15,255,224,3,255, + 128,0,254,0,23,31,93,25,1,0,0,16,0,0,56,0, + 0,124,0,0,238,0,1,199,0,0,0,0,0,254,0,3, + 255,128,15,255,224,31,1,240,62,0,248,60,0,120,120,0, + 60,112,0,28,112,0,28,240,0,30,224,0,14,224,0,14, + 224,0,14,224,0,14,224,0,14,240,0,30,240,0,30,112, + 0,28,120,0,60,60,0,120,62,0,248,31,1,240,15,255, + 224,3,255,128,0,254,0,23,30,90,25,1,0,0,113,128, + 0,255,128,1,255,0,1,142,0,0,0,0,0,254,0,3, + 255,128,15,255,224,31,1,240,62,0,248,60,0,120,120,0, + 60,112,0,28,112,0,28,240,0,30,224,0,14,224,0,14, + 224,0,14,224,0,14,224,0,14,240,0,30,240,0,30,112, + 0,28,120,0,60,60,0,120,62,0,248,31,1,240,15,255, + 224,3,255,128,0,254,0,23,29,87,25,1,0,1,195,128, + 1,195,128,1,195,128,0,0,0,0,254,0,3,255,128,15, + 255,224,31,1,240,62,0,248,60,0,120,120,0,60,112,0, + 28,112,0,28,240,0,30,224,0,14,224,0,14,224,0,14, + 224,0,14,224,0,14,240,0,30,240,0,30,112,0,28,120, + 0,60,60,0,120,62,0,248,31,1,240,15,255,224,3,255, + 128,0,254,0,15,15,30,19,2,1,64,4,224,14,240,30, + 120,60,60,120,31,240,15,224,7,192,7,192,15,224,30,240, + 60,120,120,60,240,30,96,12,23,25,75,25,1,0,0,254, + 6,3,255,140,15,255,248,31,1,240,62,0,248,60,0,248, + 120,1,188,112,3,28,112,6,28,240,6,30,224,12,14,224, + 24,14,224,48,14,224,96,14,224,192,14,225,128,30,243,0, + 30,118,0,28,124,0,60,60,0,120,62,0,248,63,1,240, + 111,255,224,195,255,128,0,254,0,18,31,93,24,3,0,7, + 128,0,3,192,0,1,192,0,0,224,0,0,112,0,0,0, + 0,224,1,192,224,1,192,224,1,192,224,1,192,224,1,192, + 224,1,192,224,1,192,224,1,192,224,1,192,224,1,192,224, + 1,192,224,1,192,224,1,192,224,1,192,224,1,192,224,1, + 192,224,1,192,224,1,192,224,1,192,240,3,192,120,7,128, + 124,15,128,63,255,0,31,254,0,3,240,0,18,31,93,24, + 3,0,0,120,0,0,240,0,0,224,0,1,192,0,3,128, + 0,0,0,0,224,1,192,224,1,192,224,1,192,224,1,192, + 224,1,192,224,1,192,224,1,192,224,1,192,224,1,192,224, + 1,192,224,1,192,224,1,192,224,1,192,224,1,192,224,1, + 192,224,1,192,224,1,192,224,1,192,224,1,192,240,3,192, + 120,7,128,124,15,128,63,255,0,31,254,0,3,240,0,18, + 31,93,24,3,0,0,64,0,0,224,0,1,240,0,3,184, + 0,7,28,0,0,0,0,224,1,192,224,1,192,224,1,192, + 224,1,192,224,1,192,224,1,192,224,1,192,224,1,192,224, + 1,192,224,1,192,224,1,192,224,1,192,224,1,192,224,1, + 192,224,1,192,224,1,192,224,1,192,224,1,192,224,1,192, + 240,3,192,120,7,128,124,15,128,63,255,0,31,254,0,3, + 240,0,18,30,90,24,3,0,14,28,0,14,28,0,14,28, + 0,0,0,0,0,0,0,224,1,192,224,1,192,224,1,192, + 224,1,192,224,1,192,224,1,192,224,1,192,224,1,192,224, + 1,192,224,1,192,224,1,192,224,1,192,224,1,192,224,1, + 192,224,1,192,224,1,192,224,1,192,224,1,192,224,1,192, + 240,3,192,120,7,128,124,15,128,63,255,0,31,254,0,3, + 240,0,19,31,93,22,1,0,0,60,0,0,120,0,0,112, + 0,0,224,0,1,192,0,0,0,0,224,0,224,240,1,224, + 112,1,192,120,3,192,56,3,128,60,7,128,28,15,0,30, + 15,0,15,30,0,7,28,0,7,188,0,3,184,0,3,248, + 0,1,240,0,1,240,0,0,224,0,0,224,0,0,224,0, + 0,224,0,0,224,0,0,224,0,0,224,0,0,224,0,0, + 224,0,0,224,0,17,25,75,22,3,0,224,0,0,224,0, + 0,224,0,0,224,0,0,224,0,0,255,248,0,255,254,0, + 255,255,0,224,15,0,224,7,0,224,7,128,224,3,128,224, + 3,128,224,7,128,224,7,0,224,15,0,255,254,0,255,252, + 0,255,248,0,224,0,0,224,0,0,224,0,0,224,0,0, + 224,0,0,224,0,0,14,25,50,20,4,0,15,128,63,224, + 127,240,120,240,240,120,224,56,224,56,224,56,224,120,224,240, + 227,224,227,224,227,240,224,120,224,60,224,28,224,28,224,28, + 224,28,224,28,224,56,224,120,231,240,231,224,231,128,16,25, + 50,18,1,0,15,0,7,128,3,128,1,192,0,224,0,0, + 0,0,15,224,63,248,60,124,112,28,112,28,0,28,0,28, + 0,252,31,252,127,156,120,28,240,28,224,28,224,60,224,124, + 121,252,127,223,63,143,16,25,50,18,1,0,0,240,1,224, + 1,192,3,128,7,0,0,0,0,0,15,224,63,248,60,124, + 112,28,112,28,0,28,0,28,0,252,31,252,127,156,120,28, + 240,28,224,28,224,60,224,124,120,252,127,223,63,143,16,25, + 50,18,1,0,1,0,3,128,7,192,14,224,28,112,0,0, + 0,0,15,224,63,248,60,124,112,28,112,28,0,28,0,28, + 0,252,31,252,127,156,120,28,240,28,224,28,224,60,224,124, + 120,252,127,223,63,143,16,24,48,18,1,0,7,24,15,248, + 31,240,24,224,0,0,0,0,15,224,63,248,60,124,112,28, + 112,28,0,28,0,28,0,252,31,252,127,156,120,28,240,28, + 224,28,224,60,224,124,120,252,127,223,63,143,16,23,46,18, + 1,0,14,112,14,112,14,112,0,0,0,0,15,224,63,248, + 60,252,112,28,112,28,0,28,0,28,0,252,31,252,127,156, + 120,28,240,28,224,28,224,60,224,124,121,252,127,223,63,143, + 16,25,50,18,1,0,3,128,6,192,4,64,4,64,6,192, + 3,128,0,0,15,224,63,248,60,124,112,28,112,28,0,28, + 0,28,0,252,31,252,127,156,120,28,240,28,224,28,224,60, + 224,124,120,252,127,223,63,143,26,18,72,29,1,0,7,192, + 248,0,31,241,254,0,60,127,143,0,112,62,3,128,112,30, + 3,128,0,28,1,192,0,28,1,192,0,252,1,192,15,255, + 255,192,63,255,255,192,126,31,255,192,240,28,0,0,224,28, + 1,192,224,30,1,192,224,126,3,128,248,247,143,0,127,231, + 255,0,63,129,252,0,14,25,50,17,1,249,7,192,31,240, + 63,248,56,56,112,28,112,28,224,0,224,0,224,0,224,0, + 224,0,224,28,224,28,112,56,120,120,63,240,31,224,7,128, + 3,0,3,0,7,128,1,192,0,192,25,192,15,128,15,25, + 50,18,1,0,30,0,15,0,7,0,3,128,1,192,0,0, + 0,0,7,192,31,240,62,120,120,28,112,28,240,14,224,14, + 224,14,255,254,255,254,224,0,224,0,224,14,112,14,120,28, + 60,124,31,240,15,224,15,25,50,18,1,0,1,224,3,192, + 3,128,7,0,14,0,0,0,0,0,7,192,31,240,60,120, + 120,28,112,28,240,14,224,14,224,14,255,254,255,254,224,0, + 224,0,224,14,112,14,120,28,60,124,31,240,15,224,15,25, + 50,18,1,0,1,0,3,128,7,192,14,224,28,112,0,0, + 0,0,7,192,31,240,60,120,120,28,112,28,240,14,224,14, + 224,14,255,254,255,254,224,0,224,0,224,14,112,14,120,28, + 60,124,31,240,7,192,15,23,46,18,1,0,28,112,28,112, + 28,112,0,0,0,0,7,192,31,240,60,120,120,28,112,28, + 240,14,224,14,224,14,255,254,255,254,224,0,224,0,224,14, + 112,14,120,28,60,124,31,240,7,192,7,25,25,9,0,0, + 240,120,56,28,14,0,0,28,28,28,28,28,28,28,28,28, + 28,28,28,28,28,28,28,28,28,7,25,25,9,2,0,30, + 60,56,112,224,0,0,112,112,112,112,112,112,112,112,112,112, + 112,112,112,112,112,112,112,112,9,25,50,9,0,0,8,0, + 28,0,62,0,119,0,227,128,0,0,0,0,28,0,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 8,23,23,9,1,0,231,231,231,0,0,56,56,56,56,56, + 56,56,56,56,56,56,56,56,56,56,56,56,56,15,25,50, + 19,1,0,120,64,60,224,31,192,15,128,31,128,59,192,17, + 224,7,240,31,248,63,248,120,60,112,28,112,28,224,14,224, + 14,224,14,224,14,224,14,224,14,112,28,112,28,120,60,63, + 248,31,240,7,192,14,24,48,18,2,0,14,48,31,240,63, + 224,49,192,0,0,0,0,3,192,239,240,255,248,248,60,240, + 28,240,28,224,28,224,28,224,28,224,28,224,28,224,28,224, + 28,224,28,224,28,224,28,224,28,224,28,15,25,50,19,1, + 0,30,0,15,0,7,0,3,128,1,192,0,0,0,0,7, + 192,31,240,63,248,120,60,112,28,112,28,224,14,224,14,224, + 14,224,14,224,14,224,14,112,28,112,28,120,60,63,248,31, + 240,7,192,15,25,50,19,1,0,1,224,3,192,3,128,7, + 0,14,0,0,0,0,0,7,192,31,240,63,248,120,60,112, + 28,112,28,224,14,224,14,224,14,224,14,224,14,224,14,112, + 28,112,28,120,60,63,248,31,240,7,192,15,25,50,19,1, + 0,1,0,3,128,7,192,14,224,28,112,0,0,0,0,7, + 192,31,240,63,248,120,60,112,28,112,28,224,14,224,14,224, + 14,224,14,224,14,224,14,112,28,112,28,120,60,63,248,31, + 240,7,192,15,24,48,19,1,0,14,48,31,240,63,224,49, + 192,0,0,0,0,7,192,31,240,63,248,120,60,112,28,112, + 28,224,14,224,14,224,14,224,14,224,14,224,14,112,28,112, + 28,120,60,63,248,31,240,7,192,15,23,46,19,1,0,28, + 112,28,112,28,112,0,0,0,0,7,192,31,240,63,248,120, + 60,112,28,112,28,224,14,224,14,224,14,224,14,224,14,224, + 14,112,28,112,28,120,60,63,248,31,240,7,192,15,15,30, + 19,2,1,3,128,3,128,3,128,0,0,0,0,0,0,255, + 254,255,254,255,254,0,0,0,0,0,0,3,128,3,128,3, + 128,16,18,36,19,2,0,7,195,31,246,63,252,120,120,112, + 28,112,60,224,110,224,206,225,142,227,14,230,14,236,14,120, + 28,112,28,56,60,127,248,223,240,135,192,14,25,50,19,2, + 0,30,0,15,0,7,0,3,128,1,192,0,0,0,0,224, + 28,224,28,224,28,224,28,224,28,224,28,224,28,224,28,224, + 28,224,28,224,28,224,28,224,60,224,60,240,252,127,252,63, + 220,15,0,14,25,50,19,2,0,1,224,3,192,3,128,7, + 0,14,0,0,0,0,0,224,28,224,28,224,28,224,28,224, + 28,224,28,224,28,224,28,224,28,224,28,224,28,224,28,224, + 60,224,60,240,252,127,252,63,220,15,0,14,25,50,19,2, + 0,1,0,3,128,7,192,14,224,28,112,0,0,0,0,224, + 28,224,28,224,28,224,28,224,28,224,28,224,28,224,28,224, + 28,224,28,224,28,224,28,224,60,224,60,240,252,127,252,63, + 220,15,0,14,23,46,19,2,0,28,224,28,224,28,224,0, + 0,0,0,224,28,224,28,224,28,224,28,224,28,224,28,224, + 28,224,28,224,28,224,28,224,28,224,28,224,60,224,60,240, + 252,127,252,63,220,15,0,14,32,64,17,1,249,0,240,1, + 224,1,192,3,128,7,0,0,0,0,0,224,28,224,28,224, + 60,112,56,112,56,112,56,120,112,56,112,56,240,60,224,28, + 224,29,192,29,192,15,192,15,128,15,128,7,0,7,0,7, + 0,14,0,14,0,30,0,124,0,124,0,112,0,15,31,62, + 19,2,250,224,0,224,0,224,0,224,0,224,0,224,0,224, + 0,231,224,239,240,255,248,248,60,240,28,240,30,224,14,224, + 14,224,14,224,14,224,14,224,14,240,28,240,28,248,60,255, + 248,239,240,227,192,224,0,224,0,224,0,224,0,224,0,224, + 0,14,30,60,17,1,249,28,112,28,112,28,112,0,0,0, + 0,224,28,224,28,224,60,112,56,112,56,112,120,120,112,56, + 112,56,240,60,224,28,224,29,192,29,192,15,192,15,128,15, + 128,7,0,7,0,7,0,14,0,14,0,30,0,124,0,124, + 0,112,0}; +/* + Fontname: -Adobe-Helvetica-Medium-R-Normal--34-240-100-100-P-176-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 0, '1' Height: 24 + Calculated Max Values w=17 h=24 x= 4 y=15 dx=19 dy= 0 ascent=26 len=48 + Font Bounding box w=39 h=48 x=-5 y=-11 + Calculated Min Values x= 0 y=-5 dx= 0 dy= 0 + Pure Font ascent =24 descent= 0 + X Font ascent =24 descent= 0 + Max Font ascent =26 descent=-5 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_helvR24n[726] U8G_FONT_SECTION("u8g_font_helvR24n") = { + 0,39,48,251,245,24,0,0,0,0,42,58,0,26,251,24, + 0,10,11,22,13,1,15,12,0,12,0,76,128,237,192,127, + 128,63,0,30,0,63,0,115,128,225,192,64,128,17,16,48, + 19,1,1,1,192,0,1,192,0,1,192,0,1,192,0,1, + 192,0,1,192,0,1,192,0,255,255,128,255,255,128,255,255, + 128,1,192,0,1,192,0,1,192,0,1,192,0,1,192,0, + 1,192,0,3,9,9,9,3,251,224,224,224,224,32,96,96, + 192,128,8,2,2,11,1,8,255,255,3,4,4,9,3,0, + 224,224,224,224,9,24,48,9,0,0,1,128,1,128,1,128, + 3,0,3,0,3,0,6,0,6,0,6,0,12,0,12,0, + 12,0,8,0,24,0,24,0,24,0,48,0,48,0,48,0, + 96,0,96,0,96,0,192,0,192,0,15,24,48,18,1,0, + 7,192,31,240,63,248,60,120,120,60,112,28,112,28,224,14, + 224,14,224,14,224,14,224,14,224,14,224,14,224,14,224,14, + 224,14,112,28,112,28,112,60,60,120,63,248,31,240,7,192, + 8,24,24,18,3,0,3,7,7,15,63,255,255,7,7,7, + 7,7,7,7,7,7,7,7,7,7,7,7,7,7,15,24, + 48,18,1,0,7,192,31,240,63,248,120,60,112,28,240,14, + 224,14,224,14,0,14,0,28,0,60,0,120,0,240,3,224, + 7,192,31,0,60,0,120,0,112,0,224,0,224,0,255,254, + 255,254,255,254,15,24,48,18,1,0,7,192,31,240,63,248, + 56,56,112,28,112,28,112,28,112,28,0,28,0,56,3,248, + 3,240,3,248,0,60,0,30,0,14,224,14,224,14,224,14, + 112,28,120,60,63,248,31,240,7,192,16,24,48,18,0,0, + 0,24,0,56,0,120,0,120,0,248,1,248,3,184,3,184, + 7,56,14,56,14,56,28,56,56,56,56,56,112,56,224,56, + 255,255,255,255,255,255,0,56,0,56,0,56,0,56,0,56, + 15,24,48,18,1,0,63,252,63,252,63,252,56,0,56,0, + 56,0,112,0,112,0,119,192,127,240,127,248,120,124,112,28, + 0,30,0,14,0,14,0,14,224,14,224,30,240,28,120,124, + 127,248,63,240,15,128,15,24,48,18,1,0,3,192,15,240, + 31,248,60,56,56,28,112,28,112,0,112,0,96,0,227,192, + 239,240,255,248,248,60,240,28,240,14,224,14,224,14,96,14, + 112,14,112,28,56,60,63,248,31,240,7,192,15,24,48,18, + 1,0,255,254,255,254,255,254,0,14,0,28,0,24,0,56, + 0,112,0,112,0,224,0,224,1,192,1,192,3,128,3,128, + 7,0,7,0,7,0,14,0,14,0,14,0,28,0,28,0, + 28,0,15,24,48,18,1,0,7,192,31,240,63,248,56,60, + 112,28,112,28,112,28,112,28,120,60,60,120,31,240,15,224, + 63,248,120,60,112,28,224,14,224,14,224,14,224,14,240,28, + 120,60,63,248,31,240,7,192,15,24,48,18,1,0,7,192, + 31,240,63,248,120,124,112,60,240,28,224,30,224,14,224,14, + 224,14,224,30,224,30,112,62,127,254,63,238,15,206,0,14, + 0,28,224,28,240,60,120,120,63,240,63,224,15,128,3,18, + 18,9,4,0,224,224,224,224,0,0,0,0,0,0,0,0, + 0,0,224,224,224,224}; +/* + Fontname: -Adobe-Helvetica-Medium-R-Normal--34-240-100-100-P-176-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 25, '1' Height: 24 + Calculated Max Values w=29 h=32 x= 4 y=20 dx=34 dy= 0 ascent=27 len=120 + Font Bounding box w=39 h=48 x=-5 y=-11 + Calculated Min Values x=-1 y=-7 dx= 0 dy= 0 + Pure Font ascent =25 descent=-7 + X Font ascent =25 descent=-7 + Max Font ascent =27 descent=-7 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_helvR24r[4992] U8G_FONT_SECTION("u8g_font_helvR24r") = { + 0,39,48,251,245,25,5,215,14,105,32,127,249,27,249,25, + 249,0,0,0,9,0,1,3,25,25,9,4,0,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,64,64, + 0,0,224,224,224,224,8,8,8,12,2,15,231,231,231,231, + 231,231,66,66,17,23,69,19,1,0,3,135,0,3,135,0, + 3,6,0,3,6,0,7,14,0,7,14,0,127,255,128,127, + 255,128,127,255,128,14,28,0,14,28,0,12,24,0,28,56, + 0,28,56,0,255,255,0,255,255,0,255,255,0,56,112,0, + 56,112,0,48,96,0,48,96,0,112,224,0,112,224,0,16, + 31,62,18,1,252,1,128,1,128,1,128,15,240,31,248,61, + 188,113,142,113,142,225,142,225,128,225,128,113,128,125,128,63, + 192,31,240,7,252,1,254,1,158,1,143,1,135,225,135,225, + 135,113,142,113,142,61,188,63,248,15,240,1,128,1,128,1, + 128,1,128,26,24,96,29,1,0,0,0,48,0,31,0,112, + 0,127,128,96,0,115,192,224,0,224,192,192,0,192,225,192, + 0,192,225,128,0,192,227,128,0,224,195,0,0,115,199,0, + 0,127,134,0,0,31,14,0,0,0,12,0,0,0,28,62, + 0,0,24,127,128,0,56,243,128,0,48,193,192,0,113,192, + 192,0,97,192,192,0,225,192,192,0,192,193,192,1,192,227, + 128,1,128,127,128,3,128,62,0,18,23,69,22,2,0,7, + 192,0,15,224,0,30,112,0,60,56,0,56,56,0,56,56, + 0,60,112,0,30,240,0,15,224,0,7,192,0,15,128,0, + 63,192,0,121,199,0,112,231,0,224,246,0,224,126,0,224, + 60,0,224,28,0,240,62,0,120,127,0,127,247,128,63,227, + 192,15,0,0,3,8,8,6,2,15,224,224,224,224,224,224, + 224,64,7,31,31,11,2,249,6,12,12,24,24,56,48,112, + 112,112,96,224,224,224,224,224,224,224,224,224,96,112,112,112, + 48,56,24,24,12,12,6,7,31,31,11,1,249,192,96,96, + 48,48,56,24,28,28,28,12,14,14,14,14,14,14,14,14, + 12,12,28,28,24,24,56,48,112,96,96,192,10,11,22,13, + 1,15,12,0,12,0,76,128,237,192,127,128,63,0,30,0, + 63,0,115,128,225,192,64,128,17,16,48,19,1,1,1,192, + 0,1,192,0,1,192,0,1,192,0,1,192,0,1,192,0, + 1,192,0,255,255,128,255,255,128,255,255,128,1,192,0,1, + 192,0,1,192,0,1,192,0,1,192,0,1,192,0,3,9, + 9,9,3,251,224,224,224,224,32,96,96,192,128,8,2,2, + 11,1,8,255,255,3,4,4,9,3,0,224,224,224,224,9, + 24,48,9,0,0,1,128,1,128,1,128,3,0,3,0,3, + 0,6,0,6,0,6,0,12,0,12,0,12,0,8,0,24, + 0,24,0,24,0,48,0,48,0,48,0,96,0,96,0,96, + 0,192,0,192,0,15,24,48,18,1,0,7,192,31,240,63, + 248,60,120,120,60,112,28,112,28,224,14,224,14,224,14,224, + 14,224,14,224,14,224,14,224,14,224,14,224,14,112,28,112, + 28,112,60,60,120,63,248,31,240,7,192,8,24,24,18,3, + 0,3,7,7,15,63,255,255,7,7,7,7,7,7,7,7, + 7,7,7,7,7,7,7,7,7,15,24,48,18,1,0,7, + 192,31,240,63,248,120,60,112,28,240,14,224,14,224,14,0, + 14,0,28,0,60,0,120,0,240,3,224,7,192,31,0,60, + 0,120,0,112,0,224,0,224,0,255,254,255,254,255,254,15, + 24,48,18,1,0,7,192,31,240,63,248,56,56,112,28,112, + 28,112,28,112,28,0,28,0,56,3,248,3,240,3,248,0, + 60,0,30,0,14,224,14,224,14,224,14,112,28,120,60,63, + 248,31,240,7,192,16,24,48,18,0,0,0,24,0,56,0, + 120,0,120,0,248,1,248,3,184,3,184,7,56,14,56,14, + 56,28,56,56,56,56,56,112,56,224,56,255,255,255,255,255, + 255,0,56,0,56,0,56,0,56,0,56,15,24,48,18,1, + 0,63,252,63,252,63,252,56,0,56,0,56,0,112,0,112, + 0,119,192,127,240,127,248,120,124,112,28,0,30,0,14,0, + 14,0,14,224,14,224,30,240,28,120,124,127,248,63,240,15, + 128,15,24,48,18,1,0,3,192,15,240,31,248,60,56,56, + 28,112,28,112,0,112,0,96,0,227,192,239,240,255,248,248, + 60,240,28,240,14,224,14,224,14,96,14,112,14,112,28,56, + 60,63,248,31,240,7,192,15,24,48,18,1,0,255,254,255, + 254,255,254,0,14,0,28,0,24,0,56,0,112,0,112,0, + 224,0,224,1,192,1,192,3,128,3,128,7,0,7,0,7, + 0,14,0,14,0,14,0,28,0,28,0,28,0,15,24,48, + 18,1,0,7,192,31,240,63,248,56,60,112,28,112,28,112, + 28,112,28,120,60,60,120,31,240,15,224,63,248,120,60,112, + 28,224,14,224,14,224,14,224,14,240,28,120,60,63,248,31, + 240,7,192,15,24,48,18,1,0,7,192,31,240,63,248,120, + 124,112,60,240,28,224,30,224,14,224,14,224,14,224,30,224, + 30,112,62,127,254,63,238,15,206,0,14,0,28,224,28,240, + 60,120,120,63,240,63,224,15,128,3,18,18,9,4,0,224, + 224,224,224,0,0,0,0,0,0,0,0,0,0,224,224,224, + 224,3,22,22,9,4,251,224,224,224,224,0,0,0,0,0, + 0,0,0,0,224,224,224,224,32,96,96,192,128,16,16,32, + 19,2,0,0,3,0,15,0,63,1,252,7,224,31,128,254, + 0,240,0,240,0,254,0,31,128,7,224,1,252,0,127,0, + 15,0,3,15,9,18,19,2,4,255,254,255,254,255,254,0, + 0,0,0,0,0,255,254,255,254,255,254,16,16,32,19,1, + 0,192,0,240,0,254,0,63,128,7,224,1,248,0,127,0, + 15,0,15,0,127,1,248,7,224,63,128,254,0,240,0,192, + 0,14,25,50,18,2,0,7,192,31,240,63,248,120,56,112, + 28,240,28,224,28,224,28,0,28,0,56,0,56,0,112,0, + 224,1,224,1,192,3,128,3,128,3,128,3,128,0,0,0, + 0,3,128,3,128,3,128,3,128,29,30,120,34,1,251,0, + 7,192,0,0,63,248,0,0,255,254,0,3,240,63,128,7, + 192,7,192,15,0,3,224,30,0,1,224,28,0,0,240,56, + 15,140,112,56,31,220,56,112,60,252,56,112,112,124,56,96, + 224,56,24,224,224,56,24,225,224,56,24,225,192,112,56,225, + 192,112,56,225,192,112,112,225,192,224,112,225,224,224,224,112, + 243,243,192,112,255,127,128,120,62,127,0,60,0,0,0,30, + 0,0,0,31,0,0,0,15,128,0,0,3,224,120,0,1, + 255,248,0,0,127,224,0,20,25,75,22,1,0,0,240,0, + 0,240,0,0,248,0,1,248,0,1,248,0,3,156,0,3, + 156,0,3,156,0,7,158,0,7,14,0,7,14,0,15,15, + 0,15,15,0,14,7,0,30,7,128,31,255,128,31,255,128, + 63,255,192,60,3,192,56,1,192,120,1,224,120,1,224,112, + 0,224,240,0,240,240,0,240,17,25,75,22,3,0,255,240, + 0,255,252,0,255,254,0,224,62,0,224,15,0,224,15,0, + 224,7,0,224,7,0,224,15,0,224,14,0,224,62,0,255, + 252,0,255,252,0,255,254,0,224,31,0,224,7,128,224,3, + 128,224,3,128,224,3,128,224,3,128,224,7,128,224,15,0, + 255,254,0,255,254,0,255,248,0,20,25,75,24,2,0,1, + 252,0,7,255,0,15,255,128,31,7,192,60,1,224,56,0, + 224,112,0,240,112,0,112,224,0,0,224,0,0,224,0,0, + 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, + 0,112,240,0,112,112,0,240,120,0,224,60,1,224,63,7, + 192,31,255,128,7,254,0,1,248,0,18,25,75,24,3,0, + 255,240,0,255,252,0,255,254,0,224,31,0,224,15,0,224, + 7,128,224,3,128,224,3,128,224,1,192,224,1,192,224,1, + 192,224,1,192,224,1,192,224,1,192,224,1,192,224,1,192, + 224,3,192,224,3,128,224,3,128,224,7,128,224,15,0,224, + 30,0,255,254,0,255,252,0,255,240,0,17,25,75,22,3, + 0,255,255,0,255,255,0,255,255,0,224,0,0,224,0,0, + 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, + 0,0,255,255,0,255,255,0,255,255,0,224,0,0,224,0, + 0,224,0,0,224,0,0,224,0,0,224,0,0,224,0,0, + 224,0,0,255,255,128,255,255,128,255,255,128,16,25,50,20, + 3,0,255,255,255,255,255,255,224,0,224,0,224,0,224,0, + 224,0,224,0,224,0,224,0,255,252,255,252,255,252,224,0, + 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, + 224,0,224,0,22,25,75,25,1,0,0,254,0,3,255,128, + 15,255,192,31,131,240,62,0,240,60,0,120,120,0,56,112, + 0,56,240,0,0,224,0,0,224,0,0,224,0,0,224,15, + 252,224,15,252,224,15,252,224,0,28,240,0,28,112,0,28, + 120,0,60,56,0,60,60,0,252,31,1,252,15,255,220,7, + 255,28,1,252,28,18,25,75,24,3,0,224,1,192,224,1, + 192,224,1,192,224,1,192,224,1,192,224,1,192,224,1,192, + 224,1,192,224,1,192,224,1,192,224,1,192,255,255,192,255, + 255,192,255,255,192,224,1,192,224,1,192,224,1,192,224,1, + 192,224,1,192,224,1,192,224,1,192,224,1,192,224,1,192, + 224,1,192,224,1,192,3,25,25,9,3,0,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,13,25,50,16,1,0,0,56,0,56,0, + 56,0,56,0,56,0,56,0,56,0,56,0,56,0,56,0, + 56,0,56,0,56,0,56,0,56,0,56,224,56,224,56,224, + 56,224,56,240,120,120,240,127,240,63,224,31,128,20,25,75, + 22,3,0,224,3,192,224,7,128,224,15,0,224,30,0,224, + 60,0,224,120,0,224,240,0,225,224,0,227,192,0,231,192, + 0,239,128,0,255,192,0,255,192,0,249,224,0,240,240,0, + 224,112,0,224,120,0,224,60,0,224,28,0,224,30,0,224, + 15,0,224,7,128,224,3,192,224,3,224,224,1,240,14,25, + 50,18,3,0,224,0,224,0,224,0,224,0,224,0,224,0, + 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, + 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, + 255,252,255,252,255,252,21,25,75,27,3,0,240,0,120,240, + 0,120,248,0,248,248,0,248,252,1,248,252,1,248,252,1, + 248,236,1,184,238,3,184,238,3,184,230,3,56,231,7,56, + 231,7,56,227,6,56,227,142,56,227,142,56,227,142,56,225, + 140,56,225,220,56,225,220,56,224,216,56,224,248,56,224,248, + 56,224,112,56,224,112,56,19,25,75,24,2,0,240,0,224, + 240,0,224,248,0,224,252,0,224,252,0,224,254,0,224,239, + 0,224,231,0,224,231,128,224,227,192,224,227,192,224,225,224, + 224,224,224,224,224,240,224,224,120,224,224,56,224,224,60,224, + 224,28,224,224,30,224,224,15,224,224,7,224,224,7,224,224, + 3,224,224,1,224,224,1,224,23,25,75,25,1,0,0,254, + 0,3,255,128,15,239,224,31,1,240,62,0,248,60,0,120, + 120,0,60,112,0,28,240,0,30,224,0,14,224,0,14,224, + 0,14,224,0,14,224,0,14,224,0,14,224,0,14,240,0, + 30,240,0,30,120,0,60,60,0,120,62,0,248,31,1,240, + 15,239,224,3,255,128,0,254,0,17,25,75,22,3,0,255, + 248,0,255,254,0,255,255,0,224,15,0,224,7,128,224,3, + 128,224,3,128,224,3,128,224,3,128,224,3,128,224,7,128, + 224,15,0,255,255,0,255,254,0,255,248,0,224,0,0,224, + 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, + 0,224,0,0,224,0,0,224,0,0,23,26,78,26,1,255, + 0,254,0,3,255,128,15,239,224,31,1,240,62,0,248,60, + 0,120,120,0,60,112,0,28,240,0,30,224,0,14,224,0, + 14,224,0,14,224,0,14,224,0,14,224,0,14,224,0,14, + 240,0,30,240,2,30,120,7,60,60,7,184,62,3,248,31, + 1,240,15,239,248,3,255,188,0,254,30,0,0,12,19,25, + 75,24,3,0,255,252,0,255,255,0,255,255,128,224,7,128, + 224,3,192,224,1,192,224,1,192,224,1,192,224,1,192,224, + 3,192,224,3,128,224,15,128,255,255,0,255,254,0,255,255, + 0,224,15,128,224,7,128,224,3,128,224,3,192,224,3,192, + 224,3,192,224,1,192,224,1,192,224,1,192,224,1,224,19, + 25,75,22,1,0,3,248,0,15,254,0,31,255,0,60,15, + 128,56,3,192,112,1,192,112,1,192,112,0,0,120,0,0, + 124,0,0,63,192,0,31,248,0,7,255,0,0,127,128,0, + 15,192,0,1,224,0,0,224,224,0,224,240,0,224,112,1, + 224,120,1,192,62,7,192,63,255,128,15,254,0,3,248,0, + 19,25,75,20,0,0,255,255,224,255,255,224,255,255,224,0, + 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, + 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, + 0,224,0,0,224,0,0,224,0,0,224,0,0,224,0,0, + 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, + 0,18,25,75,24,3,0,224,1,192,224,1,192,224,1,192, + 224,1,192,224,1,192,224,1,192,224,1,192,224,1,192,224, + 1,192,224,1,192,224,1,192,224,1,192,224,1,192,224,1, + 192,224,1,192,224,1,192,224,1,192,224,1,192,224,1,192, + 240,3,192,120,7,128,124,15,128,63,255,0,31,254,0,3, + 240,0,19,25,75,22,1,0,240,1,224,240,1,224,240,1, + 224,112,1,192,120,3,192,120,3,192,56,3,128,56,3,128, + 60,7,128,28,7,0,28,7,0,30,15,0,14,14,0,14, + 14,0,15,14,0,7,28,0,7,28,0,7,156,0,3,184, + 0,3,184,0,3,184,0,1,240,0,1,240,0,0,224,0, + 0,224,0,29,25,100,31,1,0,240,7,0,120,240,7,0, + 120,240,15,128,120,112,15,128,112,112,15,128,112,120,29,192, + 240,120,29,192,240,56,29,192,224,56,29,192,224,56,56,224, + 224,60,56,225,224,28,56,225,192,28,48,225,192,28,112,113, + 192,28,112,113,192,14,112,115,128,14,224,59,128,14,224,59, + 128,14,224,59,128,7,224,63,128,7,192,31,0,7,192,31, + 0,7,192,31,0,3,128,14,0,3,128,14,0,20,25,75, + 22,1,0,248,0,240,120,1,224,60,3,192,28,3,192,30, + 7,128,15,7,0,15,15,0,7,158,0,3,156,0,3,252, + 0,1,248,0,0,240,0,0,240,0,1,248,0,1,248,0, + 3,156,0,7,158,0,7,14,0,15,15,0,30,7,128,30, + 7,128,60,3,192,120,1,224,120,1,224,240,0,240,21,25, + 75,22,0,0,240,0,120,120,0,240,120,0,224,60,1,224, + 28,1,192,30,3,192,14,7,128,15,7,128,7,143,0,3, + 142,0,3,222,0,1,220,0,1,252,0,0,248,0,0,248, + 0,0,112,0,0,112,0,0,112,0,0,112,0,0,112,0, + 0,112,0,0,112,0,0,112,0,0,112,0,0,112,0,18, + 25,75,20,1,0,127,255,192,127,255,192,127,255,192,0,7, + 128,0,15,128,0,15,0,0,30,0,0,60,0,0,60,0, + 0,120,0,0,240,0,1,224,0,1,224,0,3,192,0,7, + 128,0,7,128,0,15,0,0,30,0,0,60,0,0,60,0, + 0,120,0,0,240,0,0,255,255,192,255,255,192,255,255,192, + 6,32,32,9,2,249,252,252,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,252,252,9,24,48,9,0,0,192,0,192,0, + 96,0,96,0,96,0,48,0,48,0,48,0,16,0,24,0, + 24,0,24,0,12,0,12,0,12,0,6,0,6,0,6,0, + 2,0,3,0,3,0,3,0,1,128,1,128,6,32,32,9, + 1,249,252,252,28,28,28,28,28,28,28,28,28,28,28,28, + 28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28, + 252,252,12,13,26,16,1,11,6,0,15,0,15,0,31,128, + 25,128,25,128,57,192,48,192,112,224,96,96,96,96,224,112, + 192,48,18,2,6,18,0,250,255,255,192,255,255,192,6,5, + 5,11,1,20,224,240,112,56,28,16,18,36,18,1,0,15, + 224,63,248,60,120,112,60,112,28,0,28,0,60,1,252,31, + 252,126,28,120,28,240,28,224,28,224,60,224,124,121,254,127, + 223,63,143,15,25,50,18,2,0,224,0,224,0,224,0,224, + 0,224,0,224,0,224,0,227,224,239,240,255,248,248,60,240, + 28,240,30,224,14,224,14,224,14,224,14,224,14,224,14,240, + 30,240,28,252,60,255,248,239,240,231,224,14,18,36,16,1, + 0,7,192,31,240,63,248,56,60,112,28,112,28,224,0,224, + 0,224,0,224,0,224,0,224,28,224,28,112,28,120,56,63, + 248,31,240,7,192,15,25,50,18,1,0,0,14,0,14,0, + 14,0,14,0,14,0,14,0,14,7,206,31,238,63,254,124, + 62,112,30,240,30,224,14,224,14,224,14,224,14,224,14,224, + 14,240,30,240,30,120,62,127,254,63,238,15,206,15,18,36, + 18,2,0,7,192,31,240,63,248,120,60,112,28,240,14,224, + 14,224,14,255,254,255,254,224,0,224,0,240,14,112,30,120, + 60,63,248,31,240,7,192,8,25,25,9,1,0,15,31,60, + 56,56,56,56,255,255,255,56,56,56,56,56,56,56,56,56, + 56,56,56,56,56,56,15,25,50,18,1,249,7,206,31,238, + 63,254,124,62,112,30,240,30,224,14,224,14,224,14,224,14, + 224,14,224,14,240,30,112,62,120,62,63,254,31,238,7,142, + 0,14,224,14,224,28,240,28,124,120,63,248,31,224,14,25, + 50,18,2,0,224,0,224,0,224,0,224,0,224,0,224,0, + 224,0,227,224,239,240,255,248,248,60,240,28,224,28,224,28, + 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, + 224,28,224,28,224,28,3,25,25,7,2,0,224,224,224,224, + 0,0,0,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,6,32,32,7,255,249,28,28,28,28,0, + 0,0,28,28,28,28,28,28,28,28,28,28,28,28,28,28, + 28,28,28,28,28,28,28,28,60,252,248,15,25,50,16,1, + 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, + 120,224,240,225,224,227,192,231,128,239,0,255,0,255,0,251, + 128,243,192,225,192,225,224,224,224,224,240,224,120,224,56,224, + 60,224,30,3,25,25,7,2,0,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,23,18,54,27,2,0,227,192,240,239,243,252,255,247, + 252,248,126,30,240,60,14,224,56,14,224,56,14,224,56,14, + 224,56,14,224,56,14,224,56,14,224,56,14,224,56,14,224, + 56,14,224,56,14,224,56,14,224,56,14,224,56,14,14,18, + 36,18,2,0,227,224,239,248,255,248,248,60,240,28,224,28, + 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, + 224,28,224,28,224,28,224,28,15,18,36,18,1,0,7,192, + 31,240,63,248,120,60,112,28,240,30,224,14,224,14,224,14, + 224,14,224,14,224,14,240,30,112,28,120,60,63,248,31,240, + 7,192,15,25,50,18,2,249,3,192,239,240,255,248,248,60, + 240,28,240,30,224,14,224,14,224,14,224,14,224,14,224,14, + 240,30,240,28,248,60,255,248,239,240,231,224,224,0,224,0, + 224,0,224,0,224,0,224,0,224,0,15,25,50,18,1,249, + 7,192,31,238,63,254,124,62,112,30,240,30,224,14,224,14, + 224,14,224,14,224,14,224,14,240,30,112,30,120,62,63,254, + 31,238,15,206,0,14,0,14,0,14,0,14,0,14,0,14, + 0,14,8,18,18,11,2,0,231,239,255,252,240,240,224,224, + 224,224,224,224,224,224,224,224,224,224,13,18,36,16,2,0, + 15,128,63,224,127,224,112,240,224,112,224,0,112,0,126,0, + 63,192,7,240,0,240,0,120,224,56,224,56,240,112,127,240, + 127,224,31,128,8,22,22,9,1,0,56,56,56,56,255,255, + 255,56,56,56,56,56,56,56,56,56,56,56,56,60,63,31, + 14,18,36,18,2,0,224,28,224,28,224,28,224,28,224,28, + 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, + 224,60,240,124,127,252,127,220,31,28,15,18,36,16,0,0, + 224,14,224,14,112,28,112,28,112,28,56,56,56,56,56,56, + 28,112,28,112,28,112,14,224,14,224,14,224,7,192,7,192, + 3,128,3,128,23,18,54,23,0,0,224,56,14,224,56,14, + 112,124,28,112,124,28,112,108,28,56,238,28,56,238,56,56, + 238,56,56,198,56,24,198,48,29,199,112,29,199,112,29,199, + 112,13,131,96,15,131,224,15,131,224,7,1,192,7,1,192, + 15,18,36,16,0,0,240,30,120,28,56,56,60,112,28,112, + 14,224,15,224,7,192,3,128,7,192,7,192,15,224,30,224, + 28,112,56,120,56,56,112,28,240,30,14,25,50,16,1,249, + 224,28,224,28,240,56,112,56,112,56,112,112,56,112,56,112, + 56,224,60,224,28,224,29,192,29,192,15,192,15,128,15,128, + 7,0,7,0,7,0,14,0,14,0,28,0,124,0,120,0, + 112,0,14,18,36,16,1,0,127,248,127,248,127,248,0,120, + 0,240,0,224,1,192,3,192,7,128,7,0,14,0,28,0, + 60,0,120,0,112,0,255,252,255,252,255,252,8,32,32,11, + 1,249,15,31,28,24,24,24,24,24,24,24,24,24,56,56, + 112,224,224,112,56,56,24,24,24,24,24,24,24,24,24,28, + 31,15,2,31,31,9,3,249,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,8,32,32,11,1,249,240,248,56, + 24,24,24,24,24,24,24,24,24,28,28,14,7,7,14,28, + 28,24,24,24,24,24,24,24,24,24,56,248,240,14,6,12, + 19,2,9,24,0,124,12,127,12,199,220,193,248,0,240,255 + }; +/* + Fontname: -FreeType-Lucasfont Alternate-Medium-R-Normal--8-80-72-72-P-50-ISO10646-1 + Copyright: Copyright Patrick Lauke 2012 Lucasfont Alternate is based on Lucasfont by Patrick Lauke (http://fontstruct.com/fontstructors/redux) + Capital A Height: 7, '1' Height: 7 + Calculated Max Values w= 9 h=10 x= 1 y= 4 dx=10 dy= 0 ascent=10 len=14 + Font Bounding box w= 9 h=11 x= 0 y=-1 + Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 + Pure Font ascent = 7 descent=-1 + X Font ascent = 7 descent=-1 + Max Font ascent =10 descent=-1 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_lucasfont_alternate[2193] U8G_FONT_SECTION("u8g_font_lucasfont_alternate") = { + 0,9,11,0,255,7,1,148,3,22,32,255,255,10,255,7, + 255,0,0,0,4,0,0,1,7,7,2,0,0,128,128,128, + 128,0,0,128,3,3,3,4,0,4,160,160,160,5,7,7, + 6,0,0,80,80,248,80,248,80,80,5,7,7,6,0,0, + 32,120,128,248,8,240,32,7,7,7,8,0,0,2,68,8, + 16,32,68,128,6,7,7,7,0,0,96,144,144,96,148,136, + 116,1,3,3,2,0,4,128,128,128,3,7,7,4,0,0, + 32,64,128,128,128,64,32,3,7,7,4,0,0,128,64,32, + 32,32,64,128,7,5,5,8,0,1,68,40,254,40,68,5, + 5,5,6,0,1,32,32,248,32,32,2,3,3,3,0,255, + 64,64,128,6,1,1,7,0,3,252,1,2,2,2,0,0, + 128,128,7,7,7,8,0,0,2,4,8,16,32,64,128,5, + 7,7,6,0,0,112,136,136,136,136,136,112,5,7,7,6, + 0,0,32,96,32,32,32,32,248,5,7,7,6,0,0,112, + 136,8,16,32,64,248,5,7,7,6,0,0,240,8,8,120, + 8,8,240,5,7,7,6,0,0,16,48,80,144,248,16,16, + 5,7,7,6,0,0,248,128,112,8,8,136,112,5,7,7, + 6,0,0,112,136,128,240,136,136,112,5,7,7,6,0,0, + 248,8,16,32,32,32,32,5,7,7,6,0,0,112,136,136, + 112,136,136,112,5,7,7,6,0,0,112,136,136,120,8,136, + 112,1,4,4,2,0,1,128,0,0,128,2,6,6,3,0, + 255,64,0,0,64,64,128,4,7,7,5,0,0,16,32,64, + 128,64,32,16,5,3,3,6,0,2,248,0,248,4,7,7, + 5,0,0,128,64,32,16,32,64,128,5,7,7,6,0,0, + 112,136,8,16,32,0,32,7,7,7,8,0,0,124,130,154, + 170,190,128,124,5,7,7,6,0,0,112,136,136,248,136,136, + 136,5,7,7,6,0,0,240,136,136,240,136,136,240,5,7, + 7,6,0,0,120,128,128,128,128,128,120,5,7,7,6,0, + 0,240,136,136,136,136,136,240,5,7,7,6,0,0,248,128, + 128,240,128,128,248,5,7,7,6,0,0,248,128,128,240,128, + 128,128,5,7,7,6,0,0,112,136,128,184,136,136,112,5, + 7,7,6,0,0,136,136,136,248,136,136,136,1,7,7,2, + 0,0,128,128,128,128,128,128,128,5,7,7,6,0,0,8, + 8,8,8,8,136,112,5,7,7,6,0,0,136,144,160,192, + 160,144,136,5,7,7,6,0,0,128,128,128,128,128,128,248, + 7,7,7,8,0,0,130,198,170,146,130,130,130,6,7,7, + 7,0,0,132,196,164,148,140,132,132,5,7,7,6,0,0, + 112,136,136,136,136,136,112,5,7,7,6,0,0,240,136,136, + 240,128,128,128,5,7,7,6,0,0,112,136,136,136,168,144, + 104,5,7,7,6,0,0,240,136,136,240,160,144,136,5,7, + 7,6,0,0,112,136,128,112,8,136,112,5,7,7,6,0, + 0,248,32,32,32,32,32,32,5,7,7,6,0,0,136,136, + 136,136,136,136,112,5,7,7,6,0,0,136,136,136,136,136, + 80,32,7,7,7,8,0,0,130,130,130,146,170,198,130,5, + 7,7,6,0,0,136,136,80,32,80,136,136,5,7,7,6, + 0,0,136,136,136,80,32,32,32,5,7,7,6,0,0,248, + 8,16,32,64,128,248,3,7,7,4,0,0,224,128,128,128, + 128,128,224,7,7,7,8,0,0,128,64,32,16,8,4,2, + 3,7,7,4,0,0,224,32,32,32,32,32,224,255,7,1, + 1,8,0,0,254,255,5,5,5,6,0,0,112,8,120,136, + 120,5,6,6,6,0,0,128,128,240,136,136,240,4,5,5, + 5,0,0,112,128,128,128,112,5,6,6,6,0,0,8,8, + 120,136,136,120,5,5,5,6,0,0,112,136,240,128,120,4, + 6,6,5,0,0,48,64,240,64,64,64,5,6,6,6,0, + 255,112,136,136,120,8,112,5,6,6,6,0,0,128,128,240, + 136,136,136,1,6,6,2,0,0,128,0,128,128,128,128,3, + 7,7,4,0,255,32,0,32,32,32,32,192,4,6,6,5, + 0,0,128,128,144,224,160,144,2,6,6,3,0,0,192,64, + 64,64,64,64,7,5,5,8,0,0,252,146,146,146,146,5, + 5,5,6,0,0,240,136,136,136,136,5,5,5,6,0,0, + 112,136,136,136,112,5,6,6,6,0,255,240,136,136,240,128, + 128,5,6,6,6,0,255,120,136,136,120,8,8,5,5,5, + 6,0,0,240,136,128,128,128,5,5,5,6,0,0,120,128, + 112,8,240,5,6,6,6,0,0,32,248,32,32,32,16,5, + 5,5,6,0,0,136,136,136,136,120,5,5,5,6,0,0, + 136,136,136,80,32,7,5,5,8,0,0,146,146,146,146,126, + 5,5,5,6,0,0,136,80,32,80,136,5,6,6,6,0, + 255,136,136,136,120,8,112,5,5,5,6,0,0,248,16,32, + 64,248,4,7,7,5,0,0,48,64,64,128,64,64,48,1, + 7,7,2,0,0,128,128,128,128,128,128,128,4,7,7,5, + 0,0,192,32,32,16,32,32,192,6,2,2,7,0,3,100, + 152,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,255,255,255,255,255, + 255,255,255,1,7,7,2,0,0,128,0,0,128,128,128,128, + 5,7,7,6,0,0,32,112,168,160,168,112,32,5,7,7, + 6,0,0,56,64,64,240,64,64,248,255,5,7,7,6,0, + 0,136,136,80,32,248,32,32,1,7,7,2,0,0,128,128, + 128,0,128,128,128,255,255,8,8,8,9,0,255,60,66,153, + 161,161,153,66,60,255,6,5,5,7,0,1,36,72,144,72, + 36,5,3,3,6,0,1,248,8,8,5,1,1,6,0,3, + 248,255,255,255,5,7,7,6,0,0,32,32,248,32,32,0, + 248,255,255,255,255,6,7,7,7,0,0,124,244,244,116,20, + 20,20,1,1,1,2,0,3,128,255,255,255,6,5,5,7, + 0,1,144,72,36,72,144,255,255,255,5,7,7,6,0,0, + 32,0,32,64,128,136,112,5,10,10,6,0,0,64,32,0, + 112,136,136,248,136,136,136,5,10,10,6,0,0,16,32,0, + 112,136,136,248,136,136,136,5,10,10,6,0,0,32,80,0, + 112,136,136,248,136,136,136,5,10,10,6,0,0,104,144,0, + 112,136,136,248,136,136,136,5,9,9,6,0,0,80,0,112, + 136,136,248,136,136,136,5,10,10,6,0,0,32,80,32,112, + 136,136,248,136,136,136,9,7,14,10,0,0,119,128,136,0, + 136,0,255,0,136,0,136,0,143,128,255,5,10,10,6,0, + 0,64,32,0,248,128,128,240,128,128,248,5,10,10,6,0, + 0,16,32,0,248,128,128,240,128,128,248,5,10,10,6,0, + 0,32,80,0,248,128,128,240,128,128,248,5,9,9,6,0, + 0,80,0,248,128,128,240,128,128,248,2,10,10,3,0,0, + 128,64,0,64,64,64,64,64,64,64,2,10,10,4,1,0, + 64,128,0,128,128,128,128,128,128,128,3,10,10,4,0,0, + 64,160,0,64,64,64,64,64,64,64,3,9,9,4,0,0, + 160,0,64,64,64,64,64,64,64,6,7,7,7,0,0,120, + 68,68,244,68,68,120,6,10,10,7,0,0,100,152,0,132, + 196,164,148,140,132,132,5,10,10,6,0,0,64,32,0,112, + 136,136,136,136,136,112,5,10,10,6,0,0,16,32,0,112, + 136,136,136,136,136,112,5,10,10,6,0,0,32,80,0,112, + 136,136,136,136,136,112,5,10,10,6,0,0,104,144,0,112, + 136,136,136,136,136,112,5,8,8,6,0,0,136,112,136,136, + 136,136,136,112,5,5,5,6,0,1,136,80,32,80,136,255, + 5,10,10,6,0,0,64,32,0,136,136,136,136,136,136,112, + 5,10,10,6,0,0,16,32,0,136,136,136,136,136,136,112, + 5,10,10,6,0,0,32,80,0,136,136,136,136,136,136,112, + 5,8,8,6,0,0,136,0,136,136,136,136,136,112,5,10, + 10,6,0,0,16,32,0,136,136,136,80,32,32,32,255,4, + 8,8,5,0,255,96,144,144,160,144,144,160,128,5,8,8, + 6,0,0,64,32,0,112,8,120,136,120,5,8,8,6,0, + 0,16,32,0,112,8,120,136,120,5,8,8,6,0,0,32, + 80,0,112,8,120,136,120,5,8,8,6,0,0,104,144,0, + 112,8,120,136,120,5,7,7,6,0,0,80,0,112,8,120, + 136,120,5,9,9,6,0,0,32,80,32,0,112,8,120,136, + 120,9,5,10,10,0,0,119,0,8,128,127,0,136,0,119, + 128,255,5,8,8,6,0,0,64,32,0,112,136,240,128,120, + 5,8,8,6,0,0,16,32,0,112,136,240,128,120,5,8, + 8,6,0,0,32,80,0,112,136,240,128,120,5,7,7,6, + 0,0,80,0,112,136,240,128,120,2,7,7,3,0,0,128, + 64,0,64,64,64,64,2,7,7,3,0,0,64,128,0,128, + 128,128,128,3,7,7,4,0,0,64,160,0,64,64,64,64, + 3,6,6,4,0,0,160,0,64,64,64,64,255,5,8,8, + 6,0,0,104,144,0,240,136,136,136,136,5,8,8,6,0, + 0,64,32,0,112,136,136,136,112,5,8,8,6,0,0,16, + 32,0,112,136,136,136,112,5,8,8,6,0,0,32,80,0, + 112,136,136,136,112,5,8,8,6,0,0,104,144,0,112,136, + 136,136,112,5,7,7,6,0,0,80,0,112,136,136,136,112, + 5,5,5,6,0,1,32,0,248,0,32,255,5,8,8,6, + 0,0,64,32,0,136,136,136,136,120,5,8,8,6,0,0, + 16,32,0,136,136,136,136,120,5,8,8,6,0,0,32,80, + 0,136,136,136,136,120,5,7,7,6,0,0,80,0,136,136, + 136,136,120,5,9,9,6,0,255,16,32,0,136,136,136,120, + 8,112,255,5,8,8,6,0,255,80,0,136,136,136,120,8, + 112}; +/* + Fontname: -FreeType-Lucasfont Alternate-Medium-R-Normal--8-80-72-72-P-50-ISO10646-1 + Copyright: Copyright Patrick Lauke 2012 Lucasfont Alternate is based on Lucasfont by Patrick Lauke (http://fontstruct.com/fontstructors/redux) + Capital A Height: 0, '1' Height: 7 + Calculated Max Values w= 7 h= 7 x= 0 y= 3 dx= 8 dy= 0 ascent= 7 len= 7 + Font Bounding box w= 9 h=11 x= 0 y=-1 + Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 + Pure Font ascent = 7 descent= 0 + X Font ascent = 7 descent= 0 + Max Font ascent = 7 descent=-1 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_lucasfont_alternaten[216] U8G_FONT_SECTION("u8g_font_lucasfont_alternaten") = { + 0,9,11,0,255,7,0,0,0,0,42,58,0,7,255,7, + 0,7,5,5,8,0,1,68,40,254,40,68,5,5,5,6, + 0,1,32,32,248,32,32,2,3,3,3,0,255,64,64,128, + 6,1,1,7,0,3,252,1,2,2,2,0,0,128,128,7, + 7,7,8,0,0,2,4,8,16,32,64,128,5,7,7,6, + 0,0,112,136,136,136,136,136,112,5,7,7,6,0,0,32, + 96,32,32,32,32,248,5,7,7,6,0,0,112,136,8,16, + 32,64,248,5,7,7,6,0,0,240,8,8,120,8,8,240, + 5,7,7,6,0,0,16,48,80,144,248,16,16,5,7,7, + 6,0,0,248,128,112,8,8,136,112,5,7,7,6,0,0, + 112,136,128,240,136,136,112,5,7,7,6,0,0,248,8,16, + 32,32,32,32,5,7,7,6,0,0,112,136,136,112,136,136, + 112,5,7,7,6,0,0,112,136,136,120,8,136,112,1,4, + 4,2,0,1,128,0,0,128}; +/* + Fontname: -FreeType-Lucasfont Alternate-Medium-R-Normal--8-80-72-72-P-50-ISO10646-1 + Copyright: Copyright Patrick Lauke 2012 Lucasfont Alternate is based on Lucasfont by Patrick Lauke (http://fontstruct.com/fontstructors/redux) + Capital A Height: 7, '1' Height: 7 + Calculated Max Values w= 7 h= 7 x= 0 y= 4 dx= 8 dy= 0 ascent= 7 len= 7 + Font Bounding box w= 9 h=11 x= 0 y=-1 + Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 + Pure Font ascent = 7 descent=-1 + X Font ascent = 7 descent=-1 + Max Font ascent = 7 descent=-1 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_lucasfont_alternater[1138] U8G_FONT_SECTION("u8g_font_lucasfont_alternater") = { + 0,9,11,0,255,7,1,148,3,22,32,127,255,7,255,7, + 255,0,0,0,4,0,0,1,7,7,2,0,0,128,128,128, + 128,0,0,128,3,3,3,4,0,4,160,160,160,5,7,7, + 6,0,0,80,80,248,80,248,80,80,5,7,7,6,0,0, + 32,120,128,248,8,240,32,7,7,7,8,0,0,2,68,8, + 16,32,68,128,6,7,7,7,0,0,96,144,144,96,148,136, + 116,1,3,3,2,0,4,128,128,128,3,7,7,4,0,0, + 32,64,128,128,128,64,32,3,7,7,4,0,0,128,64,32, + 32,32,64,128,7,5,5,8,0,1,68,40,254,40,68,5, + 5,5,6,0,1,32,32,248,32,32,2,3,3,3,0,255, + 64,64,128,6,1,1,7,0,3,252,1,2,2,2,0,0, + 128,128,7,7,7,8,0,0,2,4,8,16,32,64,128,5, + 7,7,6,0,0,112,136,136,136,136,136,112,5,7,7,6, + 0,0,32,96,32,32,32,32,248,5,7,7,6,0,0,112, + 136,8,16,32,64,248,5,7,7,6,0,0,240,8,8,120, + 8,8,240,5,7,7,6,0,0,16,48,80,144,248,16,16, + 5,7,7,6,0,0,248,128,112,8,8,136,112,5,7,7, + 6,0,0,112,136,128,240,136,136,112,5,7,7,6,0,0, + 248,8,16,32,32,32,32,5,7,7,6,0,0,112,136,136, + 112,136,136,112,5,7,7,6,0,0,112,136,136,120,8,136, + 112,1,4,4,2,0,1,128,0,0,128,2,6,6,3,0, + 255,64,0,0,64,64,128,4,7,7,5,0,0,16,32,64, + 128,64,32,16,5,3,3,6,0,2,248,0,248,4,7,7, + 5,0,0,128,64,32,16,32,64,128,5,7,7,6,0,0, + 112,136,8,16,32,0,32,7,7,7,8,0,0,124,130,154, + 170,190,128,124,5,7,7,6,0,0,112,136,136,248,136,136, + 136,5,7,7,6,0,0,240,136,136,240,136,136,240,5,7, + 7,6,0,0,120,128,128,128,128,128,120,5,7,7,6,0, + 0,240,136,136,136,136,136,240,5,7,7,6,0,0,248,128, + 128,240,128,128,248,5,7,7,6,0,0,248,128,128,240,128, + 128,128,5,7,7,6,0,0,112,136,128,184,136,136,112,5, + 7,7,6,0,0,136,136,136,248,136,136,136,1,7,7,2, + 0,0,128,128,128,128,128,128,128,5,7,7,6,0,0,8, + 8,8,8,8,136,112,5,7,7,6,0,0,136,144,160,192, + 160,144,136,5,7,7,6,0,0,128,128,128,128,128,128,248, + 7,7,7,8,0,0,130,198,170,146,130,130,130,6,7,7, + 7,0,0,132,196,164,148,140,132,132,5,7,7,6,0,0, + 112,136,136,136,136,136,112,5,7,7,6,0,0,240,136,136, + 240,128,128,128,5,7,7,6,0,0,112,136,136,136,168,144, + 104,5,7,7,6,0,0,240,136,136,240,160,144,136,5,7, + 7,6,0,0,112,136,128,112,8,136,112,5,7,7,6,0, + 0,248,32,32,32,32,32,32,5,7,7,6,0,0,136,136, + 136,136,136,136,112,5,7,7,6,0,0,136,136,136,136,136, + 80,32,7,7,7,8,0,0,130,130,130,146,170,198,130,5, + 7,7,6,0,0,136,136,80,32,80,136,136,5,7,7,6, + 0,0,136,136,136,80,32,32,32,5,7,7,6,0,0,248, + 8,16,32,64,128,248,3,7,7,4,0,0,224,128,128,128, + 128,128,224,7,7,7,8,0,0,128,64,32,16,8,4,2, + 3,7,7,4,0,0,224,32,32,32,32,32,224,255,7,1, + 1,8,0,0,254,255,5,5,5,6,0,0,112,8,120,136, + 120,5,6,6,6,0,0,128,128,240,136,136,240,4,5,5, + 5,0,0,112,128,128,128,112,5,6,6,6,0,0,8,8, + 120,136,136,120,5,5,5,6,0,0,112,136,240,128,120,4, + 6,6,5,0,0,48,64,240,64,64,64,5,6,6,6,0, + 255,112,136,136,120,8,112,5,6,6,6,0,0,128,128,240, + 136,136,136,1,6,6,2,0,0,128,0,128,128,128,128,3, + 7,7,4,0,255,32,0,32,32,32,32,192,4,6,6,5, + 0,0,128,128,144,224,160,144,2,6,6,3,0,0,192,64, + 64,64,64,64,7,5,5,8,0,0,252,146,146,146,146,5, + 5,5,6,0,0,240,136,136,136,136,5,5,5,6,0,0, + 112,136,136,136,112,5,6,6,6,0,255,240,136,136,240,128, + 128,5,6,6,6,0,255,120,136,136,120,8,8,5,5,5, + 6,0,0,240,136,128,128,128,5,5,5,6,0,0,120,128, + 112,8,240,5,6,6,6,0,0,32,248,32,32,32,16,5, + 5,5,6,0,0,136,136,136,136,120,5,5,5,6,0,0, + 136,136,136,80,32,7,5,5,8,0,0,146,146,146,146,126, + 5,5,5,6,0,0,136,80,32,80,136,5,6,6,6,0, + 255,136,136,136,120,8,112,5,5,5,6,0,0,248,16,32, + 64,248,4,7,7,5,0,0,48,64,64,128,64,64,48,1, + 7,7,2,0,0,128,128,128,128,128,128,128,4,7,7,5, + 0,0,192,32,32,16,32,32,192,6,2,2,7,0,3,100, + 152,255}; +/* + Fontname: m2icon5 + Copyright: public domain + Capital A Height: 5, '1' Height: 0 + Calculated Max Values w= 9 h= 6 x= 0 y= 0 dx=10 dy= 0 ascent= 5 len=10 + Font Bounding box w= 9 h= 6 x= 0 y=-1 + Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 + Pure Font ascent = 5 descent=-1 + X Font ascent = 5 descent=-1 + Max Font ascent = 5 descent=-1 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_m2icon_5[221] U8G_FONT_SECTION("u8g_font_m2icon_5") = { + 1,9,6,0,255,5,0,17,0,172,65,104,255,5,255,5, + 255,2,117,149,28,254,130,130,254,2,69,133,112,208,144,144, + 240,2,84,100,216,112,112,216,2,117,133,6,12,216,112,32, + 2,68,84,240,144,144,240,2,68,84,240,144,208,240,2,68, + 84,240,240,240,240,2,85,101,248,136,136,136,248,2,85,101, + 248,136,168,136,248,2,85,101,248,248,248,248,248,2,68,84, + 224,176,240,112,2,68,84,224,176,240,112,2,68,84,224,240, + 240,112,2,85,101,240,152,152,248,120,2,85,101,240,152,216, + 248,120,2,85,101,240,248,248,248,120,2,68,84,96,144,144, + 96,2,68,84,96,144,208,96,2,68,84,96,240,240,96,255, + 255,255,255,255,255,255,255,255,255,255,255,255,2,117,133,32, + 64,254,64,32,2,85,101,32,112,168,32,32,255,255,255,2, + 149,170,28,0,254,0,130,0,191,128,255,0,1,22,38,128, + 128,128,128,128,128,2,85,101,32,32,248,32,32}; +/* + Fontname: m2icon_7 + Copyright: public domain + Capital A Height: 7, '1' Height: 0 + Calculated Max Values w=12 h= 8 x= 0 y= 1 dx=13 dy= 0 ascent= 7 len=14 + Font Bounding box w=12 h= 8 x= 0 y=-1 + Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 + Pure Font ascent = 7 descent=-1 + X Font ascent = 7 descent=-1 + Max Font ascent = 7 descent=-1 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_m2icon_7[275] U8G_FONT_SECTION("u8g_font_m2icon_7") = { + 1,12,8,0,255,7,0,17,0,214,65,104,255,7,255,7, + 255,2,151,174,15,0,255,128,128,128,128,128,128,128,128,128, + 255,128,2,87,103,56,104,232,136,136,136,248,3,84,100,216, + 112,112,216,2,134,150,3,6,12,216,112,32,2,102,118,252, + 132,132,132,132,252,2,102,118,252,132,180,180,132,252,2,102, + 118,252,252,252,252,252,252,2,119,151,254,130,130,130,130,130, + 254,2,119,151,254,130,186,186,186,130,254,2,119,151,254,254, + 254,254,254,254,254,2,102,118,248,140,140,140,252,124,2,102, + 118,248,140,172,140,252,124,2,102,134,248,252,252,252,252,124, + 2,119,151,252,134,134,134,134,254,126,2,119,151,252,134,182, + 182,134,254,126,2,119,151,252,254,254,254,254,254,126,2,102, + 118,120,204,132,132,204,120,2,102,118,120,204,180,180,204,120, + 2,102,118,120,252,252,252,252,120,255,255,255,255,255,255,255, + 255,255,255,255,255,255,2,135,151,16,48,95,129,95,48,16, + 2,119,135,16,40,68,238,40,40,56,255,255,255,2,199,222, + 15,0,255,128,128,128,159,240,160,32,192,64,255,128,1,24, + 40,128,128,128,128,128,128,128,128,2,119,199,16,0,16,186, + 16,0,16}; +/* + Fontname: m2icon_9 + Copyright: public domain + Capital A Height: 8, '1' Height: 0 + Calculated Max Values w=13 h=11 x= 0 y= 1 dx=12 dy= 0 ascent= 9 len=18 + Font Bounding box w=13 h=11 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent = 8 descent=-2 + X Font ascent = 8 descent=-2 + Max Font ascent = 9 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_m2icon_9[471] U8G_FONT_SECTION("u8g_font_m2icon_9") = { + 0,13,11,0,254,8,0,17,1,111,65,105,254,9,254,8, + 254,10,8,16,11,0,0,15,128,255,192,128,64,128,64,128, + 64,128,64,128,64,255,192,6,8,8,7,0,0,60,84,148, + 244,132,132,132,252,6,5,5,7,0,1,204,120,48,120,204, + 10,7,14,12,0,0,0,192,1,128,3,0,198,0,108,0, + 56,0,16,0,8,8,8,9,0,0,255,129,129,129,129,129, + 129,255,8,8,8,9,0,0,255,129,189,189,189,189,129,255, + 8,8,8,9,0,0,255,255,255,255,255,255,255,255,9,9, + 18,10,0,0,255,128,128,128,128,128,128,128,128,128,128,128, + 128,128,128,128,255,128,9,9,18,10,0,0,255,128,128,128, + 190,128,190,128,190,128,190,128,190,128,128,128,255,128,9,9, + 18,11,0,0,255,128,255,128,255,128,255,128,255,128,255,128, + 255,128,255,128,255,128,8,8,8,8,0,0,254,131,131,131, + 131,131,255,127,8,8,8,9,0,0,254,131,187,187,187,131, + 255,127,8,8,8,9,0,0,254,255,255,255,255,255,255,127, + 9,9,18,10,0,0,255,0,129,128,129,128,129,128,129,128, + 129,128,129,128,255,128,127,128,9,9,18,10,0,0,255,0, + 129,128,189,128,189,128,189,128,189,128,129,128,255,128,127,128, + 9,9,18,10,0,0,255,0,255,128,255,128,255,128,255,128, + 255,128,255,128,255,128,127,128,8,8,8,9,0,0,60,66, + 129,129,129,129,66,60,8,8,8,9,0,0,60,66,153,189, + 189,153,66,60,8,8,8,9,0,0,60,126,255,255,255,255, + 126,60,255,255,255,255,255,255,255,255,255,255,255,255,255,10, + 8,16,11,0,0,24,0,40,0,79,192,128,64,128,64,79, + 192,40,0,24,0,8,9,9,9,0,0,24,36,66,129,231, + 36,36,36,60,255,255,255,13,8,16,11,0,0,15,128,255, + 192,128,64,128,64,159,248,160,16,192,32,255,192,1,11,11, + 2,0,254,128,128,128,128,128,128,128,128,128,128,128,9,9, + 18,10,0,0,8,0,0,0,8,0,8,0,190,128,8,0, + 8,0,0,0,8,0,255}; +/* + Fontname: micro + Copyright: Public domain font. Share and enjoy. + Capital A Height: 5, '1' Height: 5 + Calculated Max Values w= 3 h= 5 x= 1 y= 5 dx= 4 dy= 0 ascent= 5 len= 5 + Font Bounding box w= 4 h= 5 x= 0 y= 0 + Calculated Min Values x= 0 y= 0 dx= 0 dy= 0 + Pure Font ascent = 5 descent= 0 + X Font ascent = 5 descent= 0 + Max Font ascent = 5 descent= 0 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_micro[855] U8G_FONT_SECTION("u8g_font_micro") = { + 1,4,5,0,0,5,0,255,1,245,32,255,0,5,0,5, + 0,7,0,64,2,37,69,192,192,192,0,192,5,50,66,160, + 160,2,53,69,160,224,160,224,160,2,53,69,64,224,192,96, + 224,3,52,68,160,96,192,160,2,53,69,64,64,224,192,64, + 21,34,66,64,192,18,37,69,64,128,128,128,64,2,37,69, + 128,64,64,64,128,2,53,69,160,64,224,64,160,3,51,67, + 64,224,64,2,34,66,64,192,4,49,65,224,2,34,66,192, + 192,2,53,69,32,32,64,64,128,2,53,69,64,160,160,160, + 64,2,37,69,64,192,64,64,64,2,53,69,192,32,64,128, + 224,2,53,69,192,32,96,32,224,2,53,69,160,160,160,224, + 32,2,53,69,224,128,192,32,192,2,53,69,96,128,224,160, + 224,2,53,69,224,32,32,64,64,2,53,69,224,160,224,160, + 224,2,53,69,224,160,224,32,192,2,37,69,192,192,0,192, + 192,2,37,69,192,192,0,64,192,2,53,69,32,64,128,64, + 32,3,51,67,224,0,224,2,53,69,128,64,32,64,128,2, + 53,69,224,32,96,0,64,2,53,69,96,160,192,128,96,2, + 53,69,224,160,224,160,160,2,53,69,224,160,192,160,224,2, + 53,69,224,128,128,128,224,2,53,69,192,160,160,160,192,2, + 53,69,224,128,224,128,224,2,53,69,224,128,224,128,128,2, + 53,69,224,128,160,160,224,2,53,69,160,160,224,160,160,2, + 53,69,224,64,64,64,224,2,53,69,32,32,32,160,224,2, + 53,69,160,160,192,160,160,2,53,69,128,128,128,128,224,2, + 53,69,160,224,160,160,160,2,53,69,224,160,160,160,160,2, + 53,69,224,160,160,160,224,2,53,69,224,160,224,128,128,2, + 53,69,224,160,160,192,96,2,53,69,224,160,192,160,160,2, + 53,69,224,128,224,32,224,2,53,69,224,64,64,64,64,2, + 53,69,160,160,160,160,224,2,53,69,160,160,160,160,64,2, + 53,69,160,160,160,224,160,2,53,69,160,224,64,224,160,2, + 53,69,160,160,224,64,64,2,53,69,224,32,64,128,224,18, + 37,69,192,128,128,128,192,2,53,69,128,128,64,64,32,2, + 37,69,192,64,64,64,192,5,50,66,64,160,2,49,65,224, + 21,34,66,128,192,2,52,68,224,96,160,224,2,53,69,128, + 224,160,160,224,2,52,68,224,128,128,224,2,53,69,32,224, + 160,160,224,2,52,68,224,160,192,224,2,53,69,96,128,192, + 128,128,2,52,68,224,160,96,224,2,53,69,128,224,160,160, + 160,18,20,68,128,128,128,128,2,52,68,32,32,160,224,2, + 53,69,128,160,192,192,160,2,37,69,192,64,64,64,64,2, + 52,68,160,224,160,160,2,52,68,224,160,160,160,2,52,68, + 224,160,160,224,2,52,68,224,160,224,128,2,52,68,224,160, + 224,32,2,52,68,224,160,128,128,2,52,68,224,192,96,224, + 2,53,69,64,224,64,64,96,2,52,68,160,160,160,224,2, + 52,68,160,160,160,64,2,52,68,160,160,224,160,2,52,68, + 160,64,64,160,2,52,68,160,160,96,192,2,52,68,224,96, + 192,224,2,53,69,96,64,192,64,96,18,21,69,128,128,128, + 128,128,2,53,69,192,64,96,64,192,4,50,66,192,96,2, + 53,69,96,64,64,64,192,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,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,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,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,255, + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 255,255,255,255,255,255,255}; +/* + Fontname: -Adobe-New Century Schoolbook-Bold-R-Normal--11-80-100-100-P-66-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 8, '1' Height: 8 + Calculated Max Values w=11 h=11 x= 2 y= 6 dx=12 dy= 0 ascent=11 len=22 + Font Bounding box w=17 h=19 x=-2 y=-5 + Calculated Min Values x=-1 y=-2 dx= 0 dy= 0 + Pure Font ascent = 8 descent=-2 + X Font ascent = 8 descent=-2 + Max Font ascent =11 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_ncenB08[2760] U8G_FONT_SECTION("u8g_font_ncenB08") = { + 0,17,19,254,251,8,1,193,3,159,32,255,254,11,254,8, + 254,0,0,0,3,0,1,2,8,8,3,0,0,192,192,192, + 128,128,0,192,192,3,3,3,6,1,5,160,160,160,7,8, + 8,8,0,0,20,20,126,40,40,252,80,80,5,10,10,6, + 0,255,32,120,168,160,240,120,40,168,240,32,10,8,16,11, + 0,0,102,0,218,0,212,0,213,128,107,64,11,64,19,64, + 17,128,8,8,8,9,0,0,48,104,104,48,88,204,207,118, + 1,3,3,4,1,5,128,128,128,4,10,10,5,0,254,16, + 32,96,192,192,192,192,96,32,16,4,10,10,5,0,254,128, + 64,96,48,48,48,48,96,64,128,5,5,5,6,0,3,32, + 168,112,168,32,5,5,5,6,0,1,32,32,248,32,32,2, + 4,4,3,0,254,192,192,64,128,3,1,1,4,0,3,224, + 2,2,2,3,0,0,192,192,4,8,8,5,0,0,16,16, + 32,32,64,64,128,128,5,8,8,6,0,0,112,216,216,216, + 216,216,216,112,4,8,8,6,1,0,96,224,96,96,96,96, + 96,240,5,8,8,6,0,0,112,216,216,24,48,64,248,248, + 5,8,8,6,0,0,112,216,216,48,24,216,216,112,5,8, + 8,6,0,0,56,56,88,88,152,248,24,56,5,8,8,6, + 0,0,248,240,128,240,24,216,216,112,5,8,8,6,0,0, + 112,216,192,240,216,216,216,112,4,8,8,6,0,0,240,240, + 16,32,32,96,96,96,5,8,8,6,0,0,112,216,216,112, + 216,216,216,112,5,8,8,6,0,0,112,216,216,216,120,24, + 216,112,2,5,5,3,0,0,192,192,0,192,192,2,7,7, + 3,0,254,192,192,0,192,192,64,128,6,5,5,7,0,1, + 12,48,192,48,12,5,3,3,6,0,2,248,0,248,6,5, + 5,7,0,1,192,48,12,48,192,5,8,8,6,0,0,112, + 216,24,48,64,0,96,96,9,10,20,10,0,255,28,0,99, + 0,65,0,158,128,182,128,182,128,155,0,64,0,96,0,30, + 0,9,8,16,8,255,0,8,0,28,0,28,0,38,0,38, + 0,127,0,67,0,231,128,7,8,8,8,0,0,252,102,102, + 124,102,102,102,252,7,8,8,8,0,0,58,70,194,192,192, + 194,66,60,8,8,8,9,0,0,252,98,99,99,99,99,98, + 252,6,8,8,7,0,0,252,100,104,120,104,100,100,252,6, + 8,8,7,0,0,252,100,100,104,120,104,96,240,7,8,8, + 8,0,0,58,70,194,192,206,198,70,58,9,8,16,10,0, + 0,247,128,99,0,99,0,127,0,99,0,99,0,99,0,247, + 128,4,8,8,5,0,0,240,96,96,96,96,96,96,240,6, + 8,8,7,0,0,60,24,24,24,216,216,152,112,9,8,16, + 9,0,0,243,0,98,0,100,0,104,0,124,0,102,0,99, + 0,243,128,6,8,8,7,0,0,240,96,96,96,96,100,100, + 252,11,8,16,12,0,0,241,224,113,192,90,192,90,192,90, + 192,76,192,76,192,237,224,8,8,8,9,0,0,199,98,114, + 122,94,78,70,226,7,8,8,8,0,0,56,68,198,198,198, + 198,68,56,7,8,8,8,0,0,252,102,102,102,124,96,96, + 240,8,9,9,8,0,255,56,68,198,198,198,246,108,61,6, + 8,8,8,9,0,0,252,102,102,100,124,102,102,247,6,8, + 8,7,0,0,116,204,196,240,60,140,204,184,6,8,8,7, + 0,0,252,180,180,48,48,48,48,120,8,8,8,9,0,0, + 247,98,98,98,98,98,98,60,8,8,8,9,0,0,247,98, + 98,52,52,52,24,24,11,8,16,12,0,0,246,224,102,64, + 102,64,107,64,107,64,59,128,49,128,49,128,8,8,8,9, + 0,0,247,98,116,56,28,46,70,239,8,8,8,9,0,0, + 247,98,52,52,24,24,24,60,6,8,8,7,0,0,252,140, + 28,56,112,224,196,252,3,10,10,4,0,254,224,192,192,192, + 192,192,192,192,192,224,4,8,8,5,0,0,128,128,64,64, + 32,32,16,16,3,10,10,4,0,254,224,96,96,96,96,96, + 96,96,96,224,5,6,6,6,0,2,32,32,112,80,136,136, + 6,1,1,6,0,254,252,3,2,2,4,0,6,192,96,4, + 5,5,5,0,0,224,48,112,176,240,6,8,8,7,0,0, + 192,192,192,216,236,204,204,184,5,5,5,6,0,0,112,200, + 192,200,112,6,8,8,7,0,0,28,12,12,124,204,204,220, + 108,5,5,5,6,0,0,112,216,248,192,120,5,8,8,5, + 0,0,56,104,96,240,96,96,96,240,6,8,8,6,0,254, + 8,112,216,216,112,124,140,248,6,8,8,7,0,0,192,192, + 192,216,236,204,204,204,4,8,8,5,0,0,96,96,0,224, + 96,96,96,240,3,10,10,5,0,254,96,96,0,224,96,96, + 96,96,96,192,6,8,8,6,0,0,192,192,192,216,240,240, + 216,220,4,8,8,5,0,0,224,96,96,96,96,96,96,240, + 10,5,10,11,0,0,217,128,238,192,204,192,204,192,204,192, + 6,5,5,7,0,0,216,236,204,204,204,6,5,5,7,0, + 0,120,204,204,204,120,6,7,7,7,0,254,216,236,204,204, + 248,192,224,7,7,7,7,0,254,124,204,204,220,108,12,30, + 4,5,5,5,0,0,208,240,192,192,192,4,5,5,5,0, + 0,112,192,240,48,224,3,7,7,4,0,0,64,192,224,192, + 192,192,96,6,5,5,7,0,0,204,204,204,220,108,6,5, + 5,7,0,0,236,104,104,48,48,9,5,10,10,0,0,237, + 128,109,0,109,0,54,0,54,0,6,5,5,7,0,0,236, + 104,48,88,220,6,7,7,7,0,254,236,104,104,48,48,224, + 192,5,5,5,6,0,0,248,176,96,200,248,4,10,10,5, + 0,254,48,96,96,96,192,96,96,96,96,48,1,8,8,6, + 2,0,128,128,128,128,128,128,128,128,4,10,10,5,0,254, + 192,96,96,96,48,96,96,96,96,192,6,2,2,7,0,3, + 116,184,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,255,255,255,255, + 255,255,255,0,0,0,3,0,1,2,8,8,3,0,254,192, + 192,0,64,64,192,192,192,5,7,7,6,0,255,8,120,208, + 208,232,112,64,7,8,8,8,0,0,60,100,96,252,48,98, + 190,220,7,5,5,8,0,1,186,108,108,108,186,8,8,8, + 9,0,0,247,98,52,54,24,62,24,60,1,8,8,6,2, + 0,128,128,128,0,128,128,128,128,4,10,10,5,0,254,112, + 144,192,96,176,208,96,48,144,224,3,2,2,4,0,6,160, + 160,8,8,8,9,0,0,60,66,157,165,161,157,66,60,3, + 6,6,4,0,2,192,32,224,160,0,224,6,5,5,7,0, + 0,36,108,216,108,36,5,3,3,6,0,2,248,8,8,3, + 1,1,4,0,3,224,8,8,8,9,0,0,60,66,189,165, + 185,173,66,60,4,1,1,5,0,6,240,3,4,4,4,0, + 4,64,160,160,64,5,5,5,6,0,1,32,248,32,0,248, + 3,4,4,3,0,4,96,160,64,224,3,4,4,3,0,4, + 224,64,32,192,3,2,2,4,0,6,96,192,6,7,7,7, + 0,254,204,204,204,220,236,192,192,7,8,8,8,0,0,126, + 244,244,116,20,20,20,62,2,2,2,3,0,3,192,192,2, + 3,3,4,1,254,128,64,192,3,4,4,3,0,4,64,192, + 64,224,4,6,6,5,0,2,96,144,144,96,0,240,6,5, + 5,7,0,0,144,216,108,216,144,8,8,8,9,0,0,68, + 196,72,232,18,22,47,34,8,8,8,9,0,0,68,196,72, + 232,19,21,34,39,8,8,8,9,0,0,228,68,40,200,18, + 22,47,34,5,8,8,6,0,254,48,48,0,16,96,192,216, + 112,9,11,22,8,255,0,48,0,24,0,0,0,8,0,28, + 0,28,0,38,0,38,0,127,0,67,0,231,128,9,11,22, + 8,255,0,6,0,12,0,0,0,8,0,28,0,28,0,38, + 0,38,0,127,0,67,0,231,128,9,11,22,8,255,0,28, + 0,54,0,0,0,8,0,28,0,28,0,38,0,38,0,127, + 0,67,0,231,128,9,11,22,8,255,0,26,0,44,0,0, + 0,8,0,28,0,28,0,38,0,38,0,127,0,67,0,231, + 128,9,11,22,8,255,0,20,0,20,0,0,0,8,0,28, + 0,28,0,38,0,38,0,127,0,67,0,231,128,9,11,22, + 8,255,0,24,0,36,0,24,0,8,0,28,0,28,0,38, + 0,38,0,127,0,67,0,231,128,10,8,16,11,0,0,63, + 192,22,64,22,128,39,128,62,128,70,64,70,64,239,192,7, + 10,10,8,0,254,58,70,194,192,192,194,66,60,16,48,6, + 11,11,7,0,0,96,48,0,252,100,104,120,104,100,100,252, + 6,11,11,7,0,0,24,48,0,252,100,104,120,104,100,100, + 252,6,11,11,7,0,0,56,108,0,252,100,104,120,104,100, + 100,252,6,11,11,7,0,0,40,40,0,252,100,104,120,104, + 100,100,252,4,11,11,5,0,0,192,96,0,240,96,96,96, + 96,96,96,240,4,11,11,5,0,0,48,96,0,240,96,96, + 96,96,96,96,240,5,11,11,5,0,0,112,216,0,240,96, + 96,96,96,96,96,240,4,11,11,5,0,0,80,80,0,240, + 96,96,96,96,96,96,240,8,8,8,9,0,0,252,98,99, + 243,99,99,98,252,8,11,11,9,0,0,26,44,0,199,98, + 114,122,94,78,70,226,7,11,11,8,0,0,48,24,0,56, + 68,198,198,198,198,68,56,7,11,11,8,0,0,24,48,0, + 56,68,198,198,198,198,68,56,7,11,11,8,0,0,56,108, + 0,56,68,198,198,198,198,68,56,7,11,11,8,0,0,52, + 88,0,56,68,198,198,198,198,68,56,7,11,11,8,0,0, + 40,40,0,56,68,198,198,198,198,68,56,5,5,5,6,0, + 1,216,112,32,112,216,7,8,8,8,0,0,58,68,206,214, + 214,230,68,184,8,11,11,9,0,0,48,24,0,247,98,98, + 98,98,98,98,60,8,11,11,9,0,0,12,24,0,247,98, + 98,98,98,98,98,60,8,11,11,9,0,0,28,54,0,247, + 98,98,98,98,98,98,60,8,11,11,9,0,0,20,20,0, + 247,98,98,98,98,98,98,60,8,11,11,9,0,0,12,24, + 0,247,98,52,52,24,24,24,60,7,8,8,8,0,0,224, + 124,102,102,102,124,96,240,7,8,8,8,0,0,60,102,102, + 108,102,102,102,236,4,8,8,5,0,0,192,96,0,224,48, + 112,176,240,4,8,8,5,0,0,48,96,0,224,48,112,176, + 240,5,9,9,5,0,0,32,112,216,0,224,48,112,176,240, + 5,8,8,5,0,0,104,176,0,224,48,112,176,240,4,8, + 8,5,0,0,160,160,0,224,48,112,176,240,4,8,8,5, + 0,0,96,144,96,224,48,112,176,240,8,5,5,9,0,0, + 238,155,127,216,239,5,7,7,6,0,254,112,200,192,200,112, + 32,96,5,8,8,6,0,0,96,48,0,112,216,248,192,120, + 5,8,8,6,0,0,48,96,0,112,216,248,192,120,5,9, + 9,6,0,0,32,112,216,0,112,216,248,192,120,5,8,8, + 6,0,0,80,80,0,112,216,248,192,120,4,8,8,5,0, + 0,192,96,0,224,96,96,96,240,4,8,8,5,0,0,48, + 96,0,224,96,96,96,240,5,9,9,5,0,0,32,112,216, + 0,224,96,96,96,240,4,8,8,5,0,0,160,160,0,224, + 96,96,96,240,6,8,8,7,0,0,200,112,144,120,204,204, + 204,120,6,8,8,7,0,0,104,176,0,216,236,204,204,204, + 6,8,8,7,0,0,96,48,0,120,204,204,204,120,6,8, + 8,7,0,0,24,48,0,120,204,204,204,120,6,9,9,7, + 0,0,32,112,216,0,120,204,204,204,120,6,8,8,7,0, + 0,52,88,0,120,204,204,204,120,6,8,8,7,0,0,80, + 80,0,120,204,204,204,120,5,5,5,6,0,1,32,0,248, + 0,32,6,7,7,7,0,255,4,120,220,236,204,120,128,6, + 8,8,7,0,0,96,48,0,204,204,204,220,108,6,8,8, + 7,0,0,24,48,0,204,204,204,220,108,6,9,9,7,0, + 0,32,112,216,0,204,204,204,220,108,6,8,8,7,0,0, + 80,80,0,204,204,204,220,108,6,10,10,7,0,254,24,48, + 0,236,104,104,48,48,224,192,6,10,10,7,0,254,192,192, + 192,216,236,204,204,248,192,224,6,10,10,7,0,254,80,80, + 0,236,104,104,48,48,224,192}; +/* + Fontname: -Adobe-New Century Schoolbook-Bold-R-Normal--11-80-100-100-P-66-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 8, '1' Height: 8 + Calculated Max Values w=11 h=10 x= 2 y= 6 dx=12 dy= 0 ascent= 9 len=20 + Font Bounding box w=17 h=19 x=-2 y=-5 + Calculated Min Values x=-1 y=-2 dx= 0 dy= 0 + Pure Font ascent = 8 descent=-2 + X Font ascent = 8 descent=-2 + Max Font ascent = 9 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_ncenB08r[1315] U8G_FONT_SECTION("u8g_font_ncenB08r") = { + 0,17,19,254,251,8,1,193,3,159,32,127,254,9,254,8, + 254,0,0,0,3,0,1,2,8,8,3,0,0,192,192,192, + 128,128,0,192,192,3,3,3,6,1,5,160,160,160,7,8, + 8,8,0,0,20,20,126,40,40,252,80,80,5,10,10,6, + 0,255,32,120,168,160,240,120,40,168,240,32,10,8,16,11, + 0,0,102,0,218,0,212,0,213,128,107,64,11,64,19,64, + 17,128,8,8,8,9,0,0,48,104,104,48,88,204,207,118, + 1,3,3,4,1,5,128,128,128,4,10,10,5,0,254,16, + 32,96,192,192,192,192,96,32,16,4,10,10,5,0,254,128, + 64,96,48,48,48,48,96,64,128,5,5,5,6,0,3,32, + 168,112,168,32,5,5,5,6,0,1,32,32,248,32,32,2, + 4,4,3,0,254,192,192,64,128,3,1,1,4,0,3,224, + 2,2,2,3,0,0,192,192,4,8,8,5,0,0,16,16, + 32,32,64,64,128,128,5,8,8,6,0,0,112,216,216,216, + 216,216,216,112,4,8,8,6,1,0,96,224,96,96,96,96, + 96,240,5,8,8,6,0,0,112,216,216,24,48,64,248,248, + 5,8,8,6,0,0,112,216,216,48,24,216,216,112,5,8, + 8,6,0,0,56,56,88,88,152,248,24,56,5,8,8,6, + 0,0,248,240,128,240,24,216,216,112,5,8,8,6,0,0, + 112,216,192,240,216,216,216,112,4,8,8,6,0,0,240,240, + 16,32,32,96,96,96,5,8,8,6,0,0,112,216,216,112, + 216,216,216,112,5,8,8,6,0,0,112,216,216,216,120,24, + 216,112,2,5,5,3,0,0,192,192,0,192,192,2,7,7, + 3,0,254,192,192,0,192,192,64,128,6,5,5,7,0,1, + 12,48,192,48,12,5,3,3,6,0,2,248,0,248,6,5, + 5,7,0,1,192,48,12,48,192,5,8,8,6,0,0,112, + 216,24,48,64,0,96,96,9,10,20,10,0,255,28,0,99, + 0,65,0,158,128,182,128,182,128,155,0,64,0,96,0,30, + 0,9,8,16,8,255,0,8,0,28,0,28,0,38,0,38, + 0,127,0,67,0,231,128,7,8,8,8,0,0,252,102,102, + 124,102,102,102,252,7,8,8,8,0,0,58,70,194,192,192, + 194,66,60,8,8,8,9,0,0,252,98,99,99,99,99,98, + 252,6,8,8,7,0,0,252,100,104,120,104,100,100,252,6, + 8,8,7,0,0,252,100,100,104,120,104,96,240,7,8,8, + 8,0,0,58,70,194,192,206,198,70,58,9,8,16,10,0, + 0,247,128,99,0,99,0,127,0,99,0,99,0,99,0,247, + 128,4,8,8,5,0,0,240,96,96,96,96,96,96,240,6, + 8,8,7,0,0,60,24,24,24,216,216,152,112,9,8,16, + 9,0,0,243,0,98,0,100,0,104,0,124,0,102,0,99, + 0,243,128,6,8,8,7,0,0,240,96,96,96,96,100,100, + 252,11,8,16,12,0,0,241,224,113,192,90,192,90,192,90, + 192,76,192,76,192,237,224,8,8,8,9,0,0,199,98,114, + 122,94,78,70,226,7,8,8,8,0,0,56,68,198,198,198, + 198,68,56,7,8,8,8,0,0,252,102,102,102,124,96,96, + 240,8,9,9,8,0,255,56,68,198,198,198,246,108,61,6, + 8,8,8,9,0,0,252,102,102,100,124,102,102,247,6,8, + 8,7,0,0,116,204,196,240,60,140,204,184,6,8,8,7, + 0,0,252,180,180,48,48,48,48,120,8,8,8,9,0,0, + 247,98,98,98,98,98,98,60,8,8,8,9,0,0,247,98, + 98,52,52,52,24,24,11,8,16,12,0,0,246,224,102,64, + 102,64,107,64,107,64,59,128,49,128,49,128,8,8,8,9, + 0,0,247,98,116,56,28,46,70,239,8,8,8,9,0,0, + 247,98,52,52,24,24,24,60,6,8,8,7,0,0,252,140, + 28,56,112,224,196,252,3,10,10,4,0,254,224,192,192,192, + 192,192,192,192,192,224,4,8,8,5,0,0,128,128,64,64, + 32,32,16,16,3,10,10,4,0,254,224,96,96,96,96,96, + 96,96,96,224,5,6,6,6,0,2,32,32,112,80,136,136, + 6,1,1,6,0,254,252,3,2,2,4,0,6,192,96,4, + 5,5,5,0,0,224,48,112,176,240,6,8,8,7,0,0, + 192,192,192,216,236,204,204,184,5,5,5,6,0,0,112,200, + 192,200,112,6,8,8,7,0,0,28,12,12,124,204,204,220, + 108,5,5,5,6,0,0,112,216,248,192,120,5,8,8,5, + 0,0,56,104,96,240,96,96,96,240,6,8,8,6,0,254, + 8,112,216,216,112,124,140,248,6,8,8,7,0,0,192,192, + 192,216,236,204,204,204,4,8,8,5,0,0,96,96,0,224, + 96,96,96,240,3,10,10,5,0,254,96,96,0,224,96,96, + 96,96,96,192,6,8,8,6,0,0,192,192,192,216,240,240, + 216,220,4,8,8,5,0,0,224,96,96,96,96,96,96,240, + 10,5,10,11,0,0,217,128,238,192,204,192,204,192,204,192, + 6,5,5,7,0,0,216,236,204,204,204,6,5,5,7,0, + 0,120,204,204,204,120,6,7,7,7,0,254,216,236,204,204, + 248,192,224,7,7,7,7,0,254,124,204,204,220,108,12,30, + 4,5,5,5,0,0,208,240,192,192,192,4,5,5,5,0, + 0,112,192,240,48,224,3,7,7,4,0,0,64,192,224,192, + 192,192,96,6,5,5,7,0,0,204,204,204,220,108,6,5, + 5,7,0,0,236,104,104,48,48,9,5,10,10,0,0,237, + 128,109,0,109,0,54,0,54,0,6,5,5,7,0,0,236, + 104,48,88,220,6,7,7,7,0,254,236,104,104,48,48,224, + 192,5,5,5,6,0,0,248,176,96,200,248,4,10,10,5, + 0,254,48,96,96,96,192,96,96,96,96,48,1,8,8,6, + 2,0,128,128,128,128,128,128,128,128,4,10,10,5,0,254, + 192,96,96,96,48,96,96,96,96,192,6,2,2,7,0,3, + 116,184,255}; +/* + Fontname: -Adobe-New Century Schoolbook-Bold-R-Normal--14-100-100-100-P-87-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 11, '1' Height: 11 + Calculated Max Values w=15 h=15 x= 3 y= 8 dx=15 dy= 0 ascent=15 len=30 + Font Bounding box w=20 h=25 x=-2 y=-6 + Calculated Min Values x=-2 y=-3 dx= 0 dy= 0 + Pure Font ascent =11 descent=-3 + X Font ascent =11 descent=-3 + Max Font ascent =15 descent=-3 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_ncenB10[4003] U8G_FONT_SECTION("u8g_font_ncenB10") = { + 0,20,25,254,250,11,2,24,5,41,32,255,253,15,253,11, + 253,0,0,0,4,0,1,2,11,11,4,1,0,192,192,192, + 192,192,128,128,0,192,192,192,3,4,4,5,1,7,160,160, + 160,160,7,10,10,8,0,0,20,20,20,126,40,40,252,80, + 80,80,7,13,13,8,0,255,16,124,214,150,208,240,124,30, + 22,210,214,124,16,12,11,22,13,0,0,48,128,111,0,201, + 0,202,0,210,0,100,96,4,208,9,144,9,144,17,160,16, + 192,12,11,22,13,0,0,30,0,51,0,51,0,50,0,28, + 0,60,224,78,64,199,128,195,144,227,224,124,192,1,4,4, + 3,1,7,128,128,128,128,4,13,13,5,0,254,16,32,96, + 64,192,192,192,192,192,64,96,32,16,4,13,13,5,0,254, + 128,64,96,32,48,48,48,48,48,32,96,64,128,5,5,5, + 6,0,6,32,168,112,168,32,7,7,7,8,0,1,16,16, + 16,254,16,16,16,2,5,5,4,1,254,192,192,192,64,128, + 4,2,2,5,0,3,240,240,2,3,3,4,1,0,192,192, + 192,4,11,11,5,0,0,16,16,16,32,32,32,64,64,64, + 128,128,7,11,11,8,0,0,56,108,198,198,198,198,198,198, + 198,108,56,5,11,11,8,1,0,48,240,48,48,48,48,48, + 48,48,48,120,7,11,11,8,0,0,120,206,198,6,6,12, + 24,48,98,254,254,7,11,11,8,0,0,120,206,198,6,12, + 60,6,6,198,206,120,7,11,11,8,0,0,12,28,28,44, + 44,76,76,254,12,12,30,7,11,11,8,0,0,126,124,64, + 64,92,110,6,6,198,206,120,7,11,11,8,0,0,60,102, + 198,192,220,238,198,198,198,230,120,7,11,11,8,0,0,254, + 254,132,140,12,24,24,24,48,48,48,7,11,11,8,0,0, + 120,230,198,198,244,60,94,198,198,206,60,7,11,11,8,0, + 0,60,206,198,198,198,238,118,6,198,204,120,2,7,7,4, + 1,0,192,192,192,0,192,192,192,2,9,9,4,1,254,192, + 192,192,0,192,192,192,64,128,7,7,7,8,0,1,2,14, + 56,224,56,14,2,7,3,3,8,0,3,254,0,254,7,7, + 7,8,0,1,128,224,56,14,56,224,128,6,11,11,7,0, + 0,120,204,204,12,24,48,32,0,48,48,48,13,11,22,14, + 0,0,15,192,56,112,99,152,108,216,204,216,217,152,217,176, + 219,176,205,192,96,16,63,224,10,11,22,11,0,0,12,0, + 12,0,22,0,22,0,18,0,35,0,35,0,63,0,65,128, + 65,128,227,192,9,11,22,10,0,0,254,0,99,0,99,0, + 99,0,102,0,127,0,97,128,97,128,97,128,99,128,254,0, + 10,11,22,11,0,0,31,64,112,192,96,64,192,64,192,0, + 192,0,192,0,192,0,96,64,112,192,31,0,11,11,22,12, + 0,0,255,0,97,192,96,192,96,96,96,96,96,96,96,96, + 96,96,96,192,97,192,255,0,9,11,22,10,0,0,255,128, + 97,128,96,128,100,128,100,0,124,0,100,0,100,128,96,128, + 97,128,255,128,9,11,22,10,0,0,255,128,97,128,96,128, + 100,128,100,0,124,0,100,0,100,0,96,0,96,0,240,0, + 11,11,22,12,0,0,31,64,112,192,96,64,192,64,192,0, + 192,0,195,224,192,192,96,192,113,192,30,64,11,11,22,12, + 0,0,241,224,96,192,96,192,96,192,96,192,127,192,96,192, + 96,192,96,192,96,192,241,224,4,11,11,7,1,0,240,96, + 96,96,96,96,96,96,96,96,240,7,11,11,9,0,0,30, + 12,12,12,12,12,12,204,204,156,112,11,11,22,12,0,0, + 243,192,97,0,98,0,100,0,104,0,124,0,110,0,103,0, + 99,128,97,192,243,224,9,11,22,10,0,0,240,0,96,0, + 96,0,96,0,96,0,96,0,96,0,96,128,96,128,97,128, + 255,128,13,11,22,14,0,0,240,120,112,112,112,112,88,176, + 88,176,88,176,77,48,77,48,77,48,70,48,230,120,11,11, + 22,12,0,0,224,224,112,64,120,64,92,64,76,64,70,64, + 71,64,67,192,65,192,64,192,224,64,11,11,22,12,0,0, + 31,0,113,192,96,192,192,96,192,96,192,96,192,96,192,96, + 96,192,113,192,31,0,9,11,22,10,0,0,255,0,99,128, + 97,128,97,128,99,128,126,0,96,0,96,0,96,0,96,0, + 240,0,11,14,28,12,0,253,31,0,113,192,96,192,192,96, + 192,96,192,96,192,96,220,96,102,192,115,192,31,0,3,32, + 3,160,1,192,11,11,22,12,0,0,255,0,99,128,97,128, + 97,128,99,0,126,0,99,0,99,0,97,128,97,160,241,192, + 9,11,22,10,0,0,61,0,227,0,193,0,193,0,240,0, + 126,0,15,128,129,128,129,128,195,128,190,0,10,11,22,11, + 0,0,255,192,204,192,140,64,140,64,12,0,12,0,12,0, + 12,0,12,0,12,0,30,0,11,11,22,12,0,0,240,224, + 96,64,96,64,96,64,96,64,96,64,96,64,96,64,96,64, + 48,128,31,0,10,11,22,11,0,0,241,192,96,128,96,128, + 49,0,49,0,49,0,26,0,26,0,26,0,12,0,12,0, + 13,11,22,14,0,0,247,184,99,16,99,16,99,16,53,160, + 53,160,53,160,53,160,24,192,24,192,24,192,11,11,22,12, + 0,0,249,224,112,192,48,128,25,0,13,0,14,0,22,0, + 19,0,33,128,97,192,243,224,10,11,22,11,0,0,241,192, + 96,128,49,0,49,0,26,0,26,0,12,0,12,0,12,0, + 12,0,30,0,8,11,11,9,0,0,255,195,135,142,12,24, + 48,113,225,195,255,4,13,13,5,0,254,240,192,192,192,192, + 192,192,192,192,192,192,192,240,6,11,11,7,0,0,128,128, + 64,64,32,32,16,16,8,8,4,4,13,13,5,0,254,240, + 48,48,48,48,48,48,48,48,48,48,48,240,7,7,7,8, + 0,4,16,16,56,40,108,68,198,7,1,1,7,0,254,254, + 4,3,3,6,1,8,192,96,16,8,7,7,9,0,0,60, + 102,6,62,198,206,119,9,11,22,10,0,0,224,0,96,0, + 96,0,96,0,110,0,115,0,97,128,97,128,97,128,99,0, + 94,0,7,7,7,8,0,0,60,102,198,192,194,102,60,9, + 11,22,10,0,0,7,0,3,0,3,0,3,0,59,0,103, + 0,195,0,195,0,195,0,103,0,59,128,8,7,7,9,0, + 0,60,102,195,255,192,99,62,6,11,11,6,0,0,56,108, + 108,96,248,96,96,96,96,96,240,7,11,11,8,0,253,6, + 124,198,198,124,128,252,126,130,134,124,9,11,22,10,0,0, + 224,0,96,0,96,0,96,0,110,0,115,0,99,0,99,0, + 99,0,99,0,247,128,4,10,10,5,0,0,96,96,0,224, + 96,96,96,96,96,240,5,13,13,5,254,253,24,24,0,56, + 24,24,24,24,24,24,24,216,112,8,11,11,9,0,0,224, + 96,96,96,103,102,108,120,108,102,231,4,11,11,5,0,0, + 224,96,96,96,96,96,96,96,96,96,240,14,7,14,15,0, + 0,238,112,115,152,99,24,99,24,99,24,99,24,247,188,9, + 7,14,10,0,0,238,0,115,0,99,0,99,0,99,0,99, + 0,247,128,8,7,7,9,0,0,60,102,195,195,195,102,60, + 9,10,20,10,0,253,238,0,115,0,97,128,97,128,97,128, + 115,0,110,0,96,0,96,0,240,0,9,10,20,9,0,253, + 61,0,103,0,195,0,195,0,195,0,103,0,59,0,3,0, + 3,0,7,128,7,7,7,7,0,0,238,118,96,96,96,96, + 240,6,7,7,7,0,0,124,196,224,120,28,140,248,6,10, + 10,6,0,0,32,32,96,248,96,96,96,100,100,56,9,7, + 14,10,0,0,231,0,99,0,99,0,99,0,99,0,103,0, + 59,128,8,7,7,7,255,0,247,98,98,52,52,24,24,13, + 7,14,12,255,0,247,184,99,16,99,16,53,160,53,160,24, + 192,24,192,8,7,7,9,0,0,231,102,60,24,60,70,231, + 8,10,10,7,255,253,247,98,98,52,52,24,24,16,208,224, + 6,7,7,7,0,0,252,140,24,48,96,196,252,5,13,13, + 6,0,254,24,32,96,96,96,64,128,64,96,96,96,32,24, + 1,11,11,8,3,0,128,128,128,128,128,128,128,128,128,128, + 128,5,13,13,6,0,254,192,32,48,48,48,16,8,16,48, + 48,48,32,192,7,2,2,8,0,4,118,220,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,255,255,255,255,255,255,255,0,0,0, + 4,0,1,2,11,11,5,1,253,192,192,192,0,64,64,192, + 192,192,192,192,7,9,9,8,0,255,4,60,110,206,208,210, + 118,60,32,8,11,11,9,0,0,28,38,102,96,252,48,48, + 32,225,191,222,8,8,8,9,0,2,153,126,102,195,195,102, + 126,153,10,11,22,11,0,0,241,192,96,128,49,0,49,0, + 26,0,26,0,63,0,12,0,63,0,12,0,30,0,1,11, + 11,8,3,0,128,128,128,128,0,0,128,128,128,128,128,6, + 13,13,7,0,254,56,108,76,96,120,156,204,228,120,28,204, + 200,112,5,2,2,7,1,8,216,216,11,11,22,12,0,0, + 14,0,49,128,64,64,79,64,153,32,144,32,153,32,78,64, + 64,64,49,128,14,0,5,7,7,6,0,4,224,48,112,176, + 216,0,248,7,5,5,8,0,1,54,108,216,108,54,7,4, + 4,8,0,2,254,2,2,2,4,2,2,5,0,3,240,240, + 11,11,22,12,0,0,14,0,49,128,64,64,94,64,137,32, + 142,32,138,32,91,64,64,64,49,128,14,0,5,1,1,7, + 1,8,248,4,4,4,6,1,7,96,144,144,96,7,7,7, + 8,0,1,16,16,254,16,16,0,254,5,6,6,5,255,5, + 112,152,24,48,96,248,5,6,6,5,255,5,112,152,48,24, + 152,112,4,3,3,6,1,8,48,96,128,9,10,20,10,0, + 253,247,0,99,0,99,0,99,0,99,0,103,0,123,128,64, + 0,96,0,96,0,9,11,22,10,0,0,127,128,251,0,251, + 0,251,0,251,0,123,0,27,0,27,0,27,0,27,0,63, + 128,2,2,2,5,1,4,192,192,3,3,3,5,1,253,64, + 32,224,4,6,6,5,0,5,96,224,96,96,96,240,5,7, + 7,6,0,4,112,216,216,216,112,0,248,7,5,5,8,0, + 1,216,108,54,108,216,11,11,22,12,0,0,97,0,227,0, + 98,0,102,0,100,0,252,192,9,192,26,192,20,192,55,224, + 32,192,11,11,22,12,0,0,97,0,227,0,98,0,102,0, + 100,0,253,192,10,96,24,96,16,192,49,128,35,224,12,11, + 22,12,255,0,112,128,153,128,49,0,27,0,154,0,118,96, + 4,224,13,96,10,96,27,240,16,96,6,11,11,7,0,253, + 48,48,48,0,16,48,96,192,204,204,120,10,15,30,11,0, + 0,48,0,24,0,4,0,0,0,12,0,12,0,22,0,22, + 0,18,0,35,0,35,0,63,0,65,128,65,128,227,192,10, + 15,30,11,0,0,3,0,6,0,8,0,0,0,12,0,12, + 0,22,0,22,0,18,0,35,0,35,0,63,0,65,128,65, + 128,227,192,10,15,30,11,0,0,4,0,14,0,17,0,0, + 0,12,0,12,0,22,0,22,0,18,0,35,0,35,0,63, + 0,65,128,65,128,227,192,10,14,28,11,0,0,29,0,46, + 0,0,0,12,0,12,0,22,0,22,0,18,0,35,0,35, + 0,63,0,65,128,65,128,227,192,10,14,28,11,0,0,51, + 0,51,0,0,0,12,0,12,0,22,0,22,0,18,0,35, + 0,35,0,63,0,65,128,65,128,227,192,10,15,30,11,0, + 0,12,0,18,0,12,0,0,0,12,0,12,0,22,0,22, + 0,18,0,35,0,35,0,63,0,65,128,65,128,227,192,15, + 11,22,15,255,0,15,254,5,134,5,130,9,146,9,144,17, + 240,31,144,33,146,33,130,65,134,227,254,10,14,28,11,0, + 253,31,64,112,192,96,64,192,64,192,0,192,0,192,0,192, + 0,96,64,112,192,31,0,4,0,2,0,14,0,9,15,30, + 10,0,0,24,0,12,0,2,0,0,0,255,128,97,128,96, + 128,100,128,100,0,124,0,100,0,100,128,96,128,97,128,255, + 128,9,15,30,10,0,0,3,0,6,0,8,0,0,0,255, + 128,97,128,96,128,100,128,100,0,124,0,100,0,100,128,96, + 128,97,128,255,128,9,15,30,10,0,0,4,0,14,0,17, + 0,0,0,255,128,97,128,96,128,100,128,100,0,124,0,100, + 0,100,128,96,128,97,128,255,128,9,14,28,10,0,0,51, + 0,51,0,0,0,255,128,97,128,96,128,100,128,100,0,124, + 0,100,0,100,128,96,128,97,128,255,128,4,15,15,7,1, + 0,192,96,16,0,240,96,96,96,96,96,96,96,96,96,240, + 5,15,15,7,1,0,24,48,64,0,240,96,96,96,96,96, + 96,96,96,96,240,5,15,15,7,1,0,32,112,136,0,240, + 96,96,96,96,96,96,96,96,96,240,6,14,14,7,0,0, + 204,204,0,120,48,48,48,48,48,48,48,48,48,120,11,11, + 22,12,0,0,255,0,97,192,96,192,96,96,96,96,248,96, + 96,96,96,96,96,192,97,192,255,0,11,14,28,12,0,0, + 14,128,23,0,0,0,224,224,112,64,120,64,92,64,76,64, + 70,64,71,64,67,192,65,192,64,192,224,64,11,15,30,12, + 0,0,24,0,12,0,2,0,0,0,31,0,113,192,96,192, + 192,96,192,96,192,96,192,96,192,96,96,192,113,192,31,0, + 11,15,30,12,0,0,0,192,1,128,2,0,0,0,31,0, + 113,192,96,192,192,96,192,96,192,96,192,96,192,96,96,192, + 113,192,31,0,11,15,30,12,0,0,4,0,14,0,17,0, + 0,0,31,0,113,192,96,192,192,96,192,96,192,96,192,96, + 192,96,96,192,113,192,31,0,11,14,28,12,0,0,14,128, + 23,0,0,0,31,0,113,192,96,192,192,96,192,96,192,96, + 192,96,192,96,96,192,113,192,31,0,11,14,28,12,0,0, + 25,128,25,128,0,0,31,0,113,192,96,192,192,96,192,96, + 192,96,192,96,192,96,96,192,113,192,31,0,8,7,7,8, + 0,1,195,102,60,24,60,102,195,11,11,22,12,0,0,31, + 32,113,192,96,192,193,96,194,96,196,96,200,96,208,96,96, + 192,113,192,159,0,11,15,30,12,0,0,12,0,6,0,1, + 0,0,0,240,224,96,64,96,64,96,64,96,64,96,64,96, + 64,96,64,96,64,48,128,31,0,11,15,30,12,0,0,1, + 128,3,0,4,0,0,0,240,224,96,64,96,64,96,64,96, + 64,96,64,96,64,96,64,96,64,48,128,31,0,11,15,30, + 12,0,0,4,0,14,0,17,0,0,0,240,224,96,64,96, + 64,96,64,96,64,96,64,96,64,96,64,96,64,48,128,31, + 0,11,14,28,12,0,0,25,128,25,128,0,0,240,224,96, + 64,96,64,96,64,96,64,96,64,96,64,96,64,96,64,48, + 128,31,0,10,15,30,11,0,0,1,128,3,0,4,0,0, + 0,241,192,96,128,49,0,49,0,26,0,26,0,12,0,12, + 0,12,0,12,0,30,0,9,11,22,10,0,0,240,0,96, + 0,127,0,99,128,97,128,97,128,99,128,126,0,96,0,96, + 0,240,0,8,11,11,9,0,0,30,35,99,98,108,98,99, + 99,99,99,238,8,11,11,9,0,0,48,24,4,0,60,102, + 6,62,198,206,119,8,11,11,9,0,0,12,24,32,0,60, + 102,6,62,198,206,119,8,11,11,9,0,0,16,56,108,0, + 60,102,6,62,198,206,119,8,10,10,9,0,0,52,88,0, + 60,102,6,62,198,206,119,8,10,10,9,0,0,108,108,0, + 60,102,6,62,198,206,119,8,11,11,9,0,0,24,36,24, + 0,60,102,6,62,198,206,119,13,7,14,14,0,0,57,224, + 103,48,6,24,63,248,198,0,199,24,121,240,7,10,10,8, + 0,253,60,102,198,192,194,102,60,16,8,56,8,11,11,9, + 0,0,48,24,4,0,60,102,195,255,192,99,62,8,11,11, + 9,0,0,12,24,32,0,60,102,195,255,192,99,62,8,11, + 11,9,0,0,16,56,108,0,60,102,195,255,192,99,62,8, + 10,10,9,0,0,108,108,0,60,102,195,255,192,99,62,4, + 11,11,5,0,0,192,96,16,0,224,96,96,96,96,96,240, + 4,11,11,5,0,0,48,96,128,0,224,96,96,96,96,96, + 240,5,11,11,5,0,0,32,112,216,0,224,96,96,96,96, + 96,240,5,10,10,5,0,0,216,216,0,224,96,96,96,96, + 96,240,8,11,11,9,0,0,198,56,120,140,62,102,195,195, + 195,102,60,9,10,20,10,0,0,26,0,44,0,0,0,238, + 0,115,0,99,0,99,0,99,0,99,0,247,128,8,11,11, + 9,0,0,48,24,4,0,60,102,195,195,195,102,60,8,11, + 11,9,0,0,12,24,32,0,60,102,195,195,195,102,60,8, + 11,11,9,0,0,16,56,108,0,60,102,195,195,195,102,60, + 8,10,10,9,0,0,52,88,0,60,102,195,195,195,102,60, + 8,10,10,9,0,0,108,108,0,60,102,195,195,195,102,60, + 8,7,7,8,0,1,24,24,0,255,0,24,24,8,9,9, + 9,0,255,2,60,110,203,211,211,102,60,64,9,11,22,10, + 0,0,48,0,24,0,4,0,0,0,247,128,99,0,99,0, + 99,0,99,0,103,0,59,128,9,11,22,10,0,0,12,0, + 24,0,32,0,0,0,247,128,99,0,99,0,99,0,99,0, + 103,0,59,128,9,11,22,10,0,0,8,0,28,0,54,0, + 0,0,247,128,99,0,99,0,99,0,99,0,103,0,59,128, + 9,10,20,10,0,0,54,0,54,0,0,0,247,128,99,0, + 99,0,99,0,99,0,103,0,59,128,8,14,14,7,255,253, + 6,12,16,0,247,98,98,52,52,24,24,16,208,224,9,14, + 28,10,0,253,224,0,96,0,96,0,96,0,110,0,115,0, + 97,128,97,128,97,128,115,0,110,0,96,0,96,0,240,0, + 8,13,13,7,255,253,54,54,0,247,98,98,52,52,24,24, + 16,208,224}; +/* + Fontname: -Adobe-New Century Schoolbook-Bold-R-Normal--14-100-100-100-P-87-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 11, '1' Height: 11 + Calculated Max Values w=14 h=14 x= 3 y= 8 dx=15 dy= 0 ascent=12 len=28 + Font Bounding box w=20 h=25 x=-2 y=-6 + Calculated Min Values x=-2 y=-3 dx= 0 dy= 0 + Pure Font ascent =11 descent=-3 + X Font ascent =11 descent=-3 + Max Font ascent =12 descent=-3 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_ncenB10r[1853] U8G_FONT_SECTION("u8g_font_ncenB10r") = { + 0,20,25,254,250,11,2,24,5,41,32,127,253,12,253,11, + 253,0,0,0,4,0,1,2,11,11,4,1,0,192,192,192, + 192,192,128,128,0,192,192,192,3,4,4,5,1,7,160,160, + 160,160,7,10,10,8,0,0,20,20,20,126,40,40,252,80, + 80,80,7,13,13,8,0,255,16,124,214,150,208,240,124,30, + 22,210,214,124,16,12,11,22,13,0,0,48,128,111,0,201, + 0,202,0,210,0,100,96,4,208,9,144,9,144,17,160,16, + 192,12,11,22,13,0,0,30,0,51,0,51,0,50,0,28, + 0,60,224,78,64,199,128,195,144,227,224,124,192,1,4,4, + 3,1,7,128,128,128,128,4,13,13,5,0,254,16,32,96, + 64,192,192,192,192,192,64,96,32,16,4,13,13,5,0,254, + 128,64,96,32,48,48,48,48,48,32,96,64,128,5,5,5, + 6,0,6,32,168,112,168,32,7,7,7,8,0,1,16,16, + 16,254,16,16,16,2,5,5,4,1,254,192,192,192,64,128, + 4,2,2,5,0,3,240,240,2,3,3,4,1,0,192,192, + 192,4,11,11,5,0,0,16,16,16,32,32,32,64,64,64, + 128,128,7,11,11,8,0,0,56,108,198,198,198,198,198,198, + 198,108,56,5,11,11,8,1,0,48,240,48,48,48,48,48, + 48,48,48,120,7,11,11,8,0,0,120,206,198,6,6,12, + 24,48,98,254,254,7,11,11,8,0,0,120,206,198,6,12, + 60,6,6,198,206,120,7,11,11,8,0,0,12,28,28,44, + 44,76,76,254,12,12,30,7,11,11,8,0,0,126,124,64, + 64,92,110,6,6,198,206,120,7,11,11,8,0,0,60,102, + 198,192,220,238,198,198,198,230,120,7,11,11,8,0,0,254, + 254,132,140,12,24,24,24,48,48,48,7,11,11,8,0,0, + 120,230,198,198,244,60,94,198,198,206,60,7,11,11,8,0, + 0,60,206,198,198,198,238,118,6,198,204,120,2,7,7,4, + 1,0,192,192,192,0,192,192,192,2,9,9,4,1,254,192, + 192,192,0,192,192,192,64,128,7,7,7,8,0,1,2,14, + 56,224,56,14,2,7,3,3,8,0,3,254,0,254,7,7, + 7,8,0,1,128,224,56,14,56,224,128,6,11,11,7,0, + 0,120,204,204,12,24,48,32,0,48,48,48,13,11,22,14, + 0,0,15,192,56,112,99,152,108,216,204,216,217,152,217,176, + 219,176,205,192,96,16,63,224,10,11,22,11,0,0,12,0, + 12,0,22,0,22,0,18,0,35,0,35,0,63,0,65,128, + 65,128,227,192,9,11,22,10,0,0,254,0,99,0,99,0, + 99,0,102,0,127,0,97,128,97,128,97,128,99,128,254,0, + 10,11,22,11,0,0,31,64,112,192,96,64,192,64,192,0, + 192,0,192,0,192,0,96,64,112,192,31,0,11,11,22,12, + 0,0,255,0,97,192,96,192,96,96,96,96,96,96,96,96, + 96,96,96,192,97,192,255,0,9,11,22,10,0,0,255,128, + 97,128,96,128,100,128,100,0,124,0,100,0,100,128,96,128, + 97,128,255,128,9,11,22,10,0,0,255,128,97,128,96,128, + 100,128,100,0,124,0,100,0,100,0,96,0,96,0,240,0, + 11,11,22,12,0,0,31,64,112,192,96,64,192,64,192,0, + 192,0,195,224,192,192,96,192,113,192,30,64,11,11,22,12, + 0,0,241,224,96,192,96,192,96,192,96,192,127,192,96,192, + 96,192,96,192,96,192,241,224,4,11,11,7,1,0,240,96, + 96,96,96,96,96,96,96,96,240,7,11,11,9,0,0,30, + 12,12,12,12,12,12,204,204,156,112,11,11,22,12,0,0, + 243,192,97,0,98,0,100,0,104,0,124,0,110,0,103,0, + 99,128,97,192,243,224,9,11,22,10,0,0,240,0,96,0, + 96,0,96,0,96,0,96,0,96,0,96,128,96,128,97,128, + 255,128,13,11,22,14,0,0,240,120,112,112,112,112,88,176, + 88,176,88,176,77,48,77,48,77,48,70,48,230,120,11,11, + 22,12,0,0,224,224,112,64,120,64,92,64,76,64,70,64, + 71,64,67,192,65,192,64,192,224,64,11,11,22,12,0,0, + 31,0,113,192,96,192,192,96,192,96,192,96,192,96,192,96, + 96,192,113,192,31,0,9,11,22,10,0,0,255,0,99,128, + 97,128,97,128,99,128,126,0,96,0,96,0,96,0,96,0, + 240,0,11,14,28,12,0,253,31,0,113,192,96,192,192,96, + 192,96,192,96,192,96,220,96,102,192,115,192,31,0,3,32, + 3,160,1,192,11,11,22,12,0,0,255,0,99,128,97,128, + 97,128,99,0,126,0,99,0,99,0,97,128,97,160,241,192, + 9,11,22,10,0,0,61,0,227,0,193,0,193,0,240,0, + 126,0,15,128,129,128,129,128,195,128,190,0,10,11,22,11, + 0,0,255,192,204,192,140,64,140,64,12,0,12,0,12,0, + 12,0,12,0,12,0,30,0,11,11,22,12,0,0,240,224, + 96,64,96,64,96,64,96,64,96,64,96,64,96,64,96,64, + 48,128,31,0,10,11,22,11,0,0,241,192,96,128,96,128, + 49,0,49,0,49,0,26,0,26,0,26,0,12,0,12,0, + 13,11,22,14,0,0,247,184,99,16,99,16,99,16,53,160, + 53,160,53,160,53,160,24,192,24,192,24,192,11,11,22,12, + 0,0,249,224,112,192,48,128,25,0,13,0,14,0,22,0, + 19,0,33,128,97,192,243,224,10,11,22,11,0,0,241,192, + 96,128,49,0,49,0,26,0,26,0,12,0,12,0,12,0, + 12,0,30,0,8,11,11,9,0,0,255,195,135,142,12,24, + 48,113,225,195,255,4,13,13,5,0,254,240,192,192,192,192, + 192,192,192,192,192,192,192,240,6,11,11,7,0,0,128,128, + 64,64,32,32,16,16,8,8,4,4,13,13,5,0,254,240, + 48,48,48,48,48,48,48,48,48,48,48,240,7,7,7,8, + 0,4,16,16,56,40,108,68,198,7,1,1,7,0,254,254, + 4,3,3,6,1,8,192,96,16,8,7,7,9,0,0,60, + 102,6,62,198,206,119,9,11,22,10,0,0,224,0,96,0, + 96,0,96,0,110,0,115,0,97,128,97,128,97,128,99,0, + 94,0,7,7,7,8,0,0,60,102,198,192,194,102,60,9, + 11,22,10,0,0,7,0,3,0,3,0,3,0,59,0,103, + 0,195,0,195,0,195,0,103,0,59,128,8,7,7,9,0, + 0,60,102,195,255,192,99,62,6,11,11,6,0,0,56,108, + 108,96,248,96,96,96,96,96,240,7,11,11,8,0,253,6, + 124,198,198,124,128,252,126,130,134,124,9,11,22,10,0,0, + 224,0,96,0,96,0,96,0,110,0,115,0,99,0,99,0, + 99,0,99,0,247,128,4,10,10,5,0,0,96,96,0,224, + 96,96,96,96,96,240,5,13,13,5,254,253,24,24,0,56, + 24,24,24,24,24,24,24,216,112,8,11,11,9,0,0,224, + 96,96,96,103,102,108,120,108,102,231,4,11,11,5,0,0, + 224,96,96,96,96,96,96,96,96,96,240,14,7,14,15,0, + 0,238,112,115,152,99,24,99,24,99,24,99,24,247,188,9, + 7,14,10,0,0,238,0,115,0,99,0,99,0,99,0,99, + 0,247,128,8,7,7,9,0,0,60,102,195,195,195,102,60, + 9,10,20,10,0,253,238,0,115,0,97,128,97,128,97,128, + 115,0,110,0,96,0,96,0,240,0,9,10,20,9,0,253, + 61,0,103,0,195,0,195,0,195,0,103,0,59,0,3,0, + 3,0,7,128,7,7,7,7,0,0,238,118,96,96,96,96, + 240,6,7,7,7,0,0,124,196,224,120,28,140,248,6,10, + 10,6,0,0,32,32,96,248,96,96,96,100,100,56,9,7, + 14,10,0,0,231,0,99,0,99,0,99,0,99,0,103,0, + 59,128,8,7,7,7,255,0,247,98,98,52,52,24,24,13, + 7,14,12,255,0,247,184,99,16,99,16,53,160,53,160,24, + 192,24,192,8,7,7,9,0,0,231,102,60,24,60,70,231, + 8,10,10,7,255,253,247,98,98,52,52,24,24,16,208,224, + 6,7,7,7,0,0,252,140,24,48,96,196,252,5,13,13, + 6,0,254,24,32,96,96,96,64,128,64,96,96,96,32,24, + 1,11,11,8,3,0,128,128,128,128,128,128,128,128,128,128, + 128,5,13,13,6,0,254,192,32,48,48,48,16,8,16,48, + 48,48,32,192,7,2,2,8,0,4,118,220,255}; +/* + Fontname: -Adobe-New Century Schoolbook-Bold-R-Normal--17-120-100-100-P-99-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 12, '1' Height: 12 + Calculated Max Values w=16 h=16 x= 4 y=10 dx=16 dy= 0 ascent=16 len=32 + Font Bounding box w=22 h=27 x=-3 y=-7 + Calculated Min Values x=-2 y=-3 dx= 0 dy= 0 + Pure Font ascent =12 descent=-3 + X Font ascent =12 descent=-3 + Max Font ascent =16 descent=-3 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_ncenB12[4735] U8G_FONT_SECTION("u8g_font_ncenB12") = { + 0,22,27,253,249,12,2,152,5,246,32,255,253,16,253,12, + 253,0,0,0,4,1,1,3,12,12,5,1,0,64,224,224, + 224,224,64,64,0,64,224,224,64,5,5,5,6,0,7,216, + 216,216,144,144,10,12,24,10,0,0,25,128,25,128,25,128, + 127,192,127,192,51,0,51,0,255,128,255,128,102,0,102,0, + 102,0,9,15,30,10,0,255,8,0,8,0,62,0,105,0, + 203,128,201,0,252,0,127,0,31,128,73,128,233,128,201,128, + 107,0,62,0,8,0,12,12,24,14,1,0,56,128,119,128, + 101,0,197,0,202,0,202,224,117,208,5,144,11,16,11,32, + 19,32,17,192,12,12,24,14,1,0,15,0,25,128,25,128, + 25,0,30,0,60,240,110,96,231,64,199,128,227,144,243,240, + 124,224,2,5,5,4,1,7,192,192,192,128,128,4,14,14, + 6,1,254,16,32,96,96,192,192,192,192,192,192,96,96,32, + 16,4,14,14,6,0,254,128,64,96,96,48,48,48,48,48, + 48,96,96,64,128,7,7,7,8,0,5,16,84,214,56,214, + 84,16,8,8,8,10,1,0,24,24,24,255,255,24,24,24, + 4,6,6,5,0,253,96,240,112,32,96,128,4,2,2,5, + 0,3,240,240,4,3,3,5,0,0,96,240,96,5,12,12, + 5,0,0,8,8,16,16,16,32,32,64,64,64,128,128,9, + 12,24,10,0,0,28,0,54,0,99,0,99,0,227,128,227, + 128,227,128,227,128,99,0,99,0,54,0,28,0,7,12,12, + 10,1,0,24,248,56,56,56,56,56,56,56,56,56,254,8, + 12,12,10,1,0,60,70,231,231,71,14,12,24,49,97,255, + 255,9,12,24,10,0,0,62,0,103,0,115,0,35,0,6, + 0,31,0,7,0,3,128,99,128,243,128,103,0,62,0,9, + 12,24,10,0,0,2,0,6,0,14,0,30,0,46,0,46, + 0,78,0,142,0,255,128,14,0,14,0,63,128,8,12,12, + 10,1,0,127,126,64,64,124,78,7,71,231,231,206,124,9, + 12,24,10,0,0,31,0,51,128,103,128,99,0,224,0,238, + 0,247,0,227,128,227,128,99,128,119,0,30,0,8,12,12, + 10,1,0,255,254,134,134,132,12,12,24,24,56,56,16,8, + 12,12,10,1,0,60,102,231,231,102,60,102,231,231,231,102, + 60,9,12,24,10,0,0,60,0,119,0,227,0,227,128,227, + 128,119,128,59,128,3,128,99,0,243,0,230,0,124,0,4, + 8,8,5,0,0,96,240,96,0,0,96,240,96,4,11,11, + 5,0,253,96,240,96,0,0,96,240,112,32,96,128,8,8, + 8,10,1,1,3,15,60,240,240,60,15,3,8,6,6,10, + 1,1,255,255,0,0,255,255,8,8,8,10,1,1,192,240, + 60,15,15,60,240,192,8,12,12,8,0,0,60,102,247,103, + 14,12,16,0,16,56,56,16,12,13,26,12,0,255,15,128, + 56,224,96,32,70,176,205,144,153,144,153,144,153,176,219,160, + 76,64,96,48,56,224,15,128,13,12,24,13,0,0,6,0, + 7,0,7,0,15,0,11,128,27,128,17,192,63,192,49,192, + 32,224,96,224,241,248,12,12,24,13,0,0,255,192,56,224, + 56,112,56,112,56,224,63,192,56,224,56,112,56,112,56,112, + 56,224,255,192,11,12,24,13,1,0,15,160,56,224,112,96, + 112,32,224,32,224,0,224,0,224,32,112,32,112,64,56,192, + 15,0,13,12,24,14,0,0,255,128,56,224,56,112,56,112, + 56,56,56,56,56,56,56,56,56,112,56,112,56,224,255,128, + 11,12,24,12,0,0,255,224,56,96,56,96,57,32,59,0, + 63,0,59,0,57,32,56,32,56,96,56,96,255,224,11,12, + 24,12,0,0,255,224,56,96,56,96,57,32,59,0,63,0, + 59,0,57,0,56,0,56,0,56,0,254,0,13,12,24,14, + 1,0,15,160,56,224,112,96,112,32,224,32,224,0,227,248, + 224,224,112,224,112,224,57,224,15,32,14,12,24,15,0,0, + 254,252,56,112,56,112,56,112,56,112,63,240,56,112,56,112, + 56,112,56,112,56,112,254,252,7,12,12,7,0,0,254,56, + 56,56,56,56,56,56,56,56,56,254,10,12,24,11,0,0, + 31,192,7,0,7,0,7,0,7,0,7,0,103,0,247,0, + 231,0,135,0,206,0,124,0,14,12,24,13,0,0,254,248, + 56,96,56,192,57,128,59,0,63,128,63,128,59,192,57,224, + 56,240,56,120,254,252,11,12,24,12,0,0,254,0,56,0, + 56,0,56,0,56,0,56,0,56,0,56,32,56,32,56,96, + 56,96,255,224,16,12,24,16,0,0,252,63,60,60,46,60, + 46,92,46,92,39,92,39,156,39,156,35,156,35,28,33,28, + 249,63,14,12,24,14,0,0,240,124,56,16,60,16,62,16, + 47,16,39,144,35,208,33,240,32,240,32,112,32,48,248,16, + 12,12,24,14,1,0,15,0,57,192,112,224,112,224,224,112, + 224,112,224,112,224,112,112,224,112,224,57,192,15,0,12,12, + 24,13,0,0,255,192,56,224,56,112,56,112,56,112,56,224, + 63,192,56,0,56,0,56,0,56,0,254,0,12,15,30,14, + 1,253,15,0,57,192,112,224,112,224,224,112,224,112,224,112, + 230,112,105,96,121,224,57,192,15,128,1,208,1,240,0,224, + 13,12,24,14,0,0,255,192,56,224,56,112,56,112,56,224, + 63,192,57,128,57,192,56,224,56,232,56,248,252,112,9,12, + 24,11,1,0,62,128,67,128,193,128,192,128,248,128,126,0, + 63,0,143,128,129,128,193,128,225,0,190,0,11,12,24,12, + 0,0,255,224,206,96,142,32,142,32,14,0,14,0,14,0, + 14,0,14,0,14,0,14,0,63,128,14,12,24,14,0,0, + 254,124,56,16,56,16,56,16,56,16,56,16,56,16,56,16, + 56,16,28,32,30,96,7,128,13,12,24,13,255,0,254,120, + 56,48,60,32,28,32,28,64,14,64,14,128,15,128,7,128, + 7,0,3,0,3,0,15,12,24,16,0,0,251,222,113,140, + 49,136,57,200,57,216,59,208,26,208,30,240,28,224,12,96, + 12,96,12,96,12,12,24,12,0,0,249,240,112,96,56,64, + 28,128,31,0,15,0,15,0,15,128,19,192,33,192,96,224, + 249,240,13,12,24,12,255,0,254,248,56,96,28,64,28,128, + 14,128,15,0,7,0,7,0,7,0,7,0,7,0,31,192, + 9,12,24,11,1,0,255,128,195,128,135,0,135,0,14,0, + 28,0,28,0,56,128,112,128,113,128,227,128,255,128,4,14, + 14,6,1,254,240,192,192,192,192,192,192,192,192,192,192,192, + 192,240,7,12,12,10,1,0,192,192,96,96,48,48,24,24, + 12,12,6,6,4,14,14,7,1,254,240,48,48,48,48,48, + 48,48,48,48,48,48,48,240,8,7,7,10,1,5,24,24, + 60,102,102,195,195,8,2,2,8,0,254,255,255,4,3,3, + 6,0,9,192,224,48,9,8,16,10,0,0,126,0,231,0, + 199,0,31,0,103,0,231,0,239,0,119,128,11,12,24,11, + 255,0,248,0,56,0,56,0,56,0,59,128,61,192,56,224, + 56,224,56,224,56,224,61,192,43,128,8,8,8,9,0,0, + 62,115,231,224,224,227,118,60,11,12,24,11,0,0,7,128, + 3,128,3,128,3,128,59,128,119,128,227,128,227,128,227,128, + 227,128,119,128,58,224,9,8,16,10,0,0,62,0,119,0, + 227,128,255,128,224,0,225,128,115,0,62,0,9,12,24,7, + 255,0,15,0,27,128,59,0,56,0,254,0,56,0,56,0, + 56,0,56,0,56,0,56,0,254,0,9,12,24,10,0,253, + 1,128,63,128,119,0,227,128,227,128,247,0,124,0,96,0, + 127,0,255,128,195,128,255,0,11,12,24,11,255,0,240,0, + 112,0,112,0,112,0,119,128,121,192,121,192,113,192,113,192, + 113,192,113,192,251,224,5,12,12,6,0,0,96,240,96,0, + 240,112,112,112,112,112,112,248,6,15,15,6,254,253,24,60, + 24,0,124,28,28,28,28,28,28,28,220,216,112,11,12,24, + 11,0,0,240,0,112,0,112,0,112,0,119,192,115,128,119, + 0,126,0,127,0,115,128,113,192,251,224,5,12,12,6,0, + 0,240,112,112,112,112,112,112,112,112,112,112,248,15,8,16, + 16,0,0,247,56,123,220,115,156,115,156,115,156,115,156,115, + 156,251,190,11,8,16,11,255,0,247,128,121,192,113,192,113, + 192,113,192,113,192,113,192,251,224,10,8,16,11,0,0,30, + 0,115,128,225,192,225,192,225,192,225,192,115,128,30,0,10, + 11,22,11,255,253,247,0,123,128,113,192,113,192,113,192,113, + 192,123,128,119,0,112,0,112,0,248,0,10,11,22,10,255, + 253,62,128,115,128,227,128,227,128,227,128,227,128,115,128,63, + 128,3,128,3,128,7,192,9,8,16,9,0,0,247,0,123, + 128,115,0,112,0,112,0,112,0,112,0,248,0,7,8,8, + 8,0,0,122,198,226,252,126,142,198,188,6,11,11,7,0, + 0,16,16,48,252,112,112,112,112,116,124,56,11,8,16,11, + 255,0,243,192,113,192,113,192,113,192,113,192,113,192,123,192, + 62,224,10,8,16,10,0,0,251,192,113,128,115,0,59,0, + 58,0,30,0,28,0,12,0,15,8,16,15,0,0,251,222, + 113,140,57,200,59,216,30,240,30,240,12,96,12,96,9,8, + 16,10,0,0,251,128,113,0,62,0,28,0,28,0,62,0, + 71,0,239,128,10,11,22,10,255,253,251,192,113,128,57,128, + 57,0,31,0,14,0,14,0,6,0,52,0,116,0,56,0, + 7,8,8,9,0,0,254,204,156,56,48,114,230,254,4,14, + 14,6,1,254,48,96,96,96,96,96,192,96,96,96,96,96, + 96,48,2,12,12,10,4,0,192,192,192,192,192,192,192,192, + 192,192,192,192,4,14,14,6,0,254,192,96,96,96,96,96, + 48,96,96,96,96,96,96,192,8,3,3,10,1,3,114,255, + 78,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,255,255,255,255,255, + 255,255,0,0,0,4,1,1,3,12,12,5,1,253,64,224, + 224,64,0,64,64,224,224,224,224,64,8,12,12,10,0,254, + 1,2,62,115,231,231,232,233,114,60,32,64,9,12,24,10, + 0,0,31,0,57,128,115,128,115,128,113,0,56,0,254,0, + 24,0,24,0,120,128,191,0,110,0,8,8,8,10,1,2, + 90,255,102,195,195,102,255,90,10,12,24,10,0,0,251,192, + 113,128,49,0,59,0,26,0,30,0,63,0,12,0,63,0, + 12,0,12,0,63,0,2,12,12,10,4,0,192,192,192,192, + 192,0,0,192,192,192,192,192,6,15,15,9,1,253,56,76, + 76,96,48,120,140,132,196,120,48,24,200,200,112,5,2,2, + 6,0,9,216,216,12,12,24,12,0,0,31,128,57,192,96, + 96,207,176,217,48,152,16,152,16,217,176,207,48,96,96,57, + 192,31,128,6,7,7,6,0,5,112,152,120,216,108,0,248, + 6,5,5,8,1,2,36,108,216,108,36,8,5,5,10,0, + 2,255,255,3,3,3,4,2,2,5,0,3,240,240,12,12, + 24,12,0,0,31,128,57,192,96,96,223,48,201,48,142,16, + 139,16,201,176,221,240,96,96,57,192,31,128,5,1,1,6, + 0,10,248,5,5,5,7,1,7,112,216,136,216,112,8,9, + 9,10,1,0,24,24,255,255,24,24,0,255,255,5,7,7, + 6,0,5,112,152,216,16,32,120,248,6,7,7,6,0,5, + 120,204,76,24,76,204,120,4,3,3,6,1,9,48,112,192, + 11,11,22,11,0,253,243,192,113,192,113,192,113,192,113,192, + 113,192,123,192,110,224,96,0,112,0,112,0,11,12,24,12, + 0,0,127,224,249,128,249,128,249,128,249,128,121,128,25,128, + 25,128,25,128,25,128,25,128,127,224,4,3,3,5,0,3, + 96,240,96,4,4,4,6,0,253,64,96,48,224,4,7,7, + 6,1,5,32,224,96,96,96,96,240,5,7,7,6,0,5, + 112,216,216,216,112,0,248,6,5,5,8,1,2,144,216,108, + 216,144,12,12,24,14,1,0,32,64,224,192,97,128,97,0, + 99,0,98,32,246,96,12,224,9,32,27,240,48,96,32,240, + 12,12,24,14,1,0,32,64,224,192,97,128,97,0,99,0, + 98,224,247,48,13,176,8,32,24,64,48,240,33,240,13,12, + 24,14,0,0,120,32,204,96,76,192,24,128,77,128,205,16, + 123,48,6,112,4,144,13,248,24,48,16,120,8,12,12,8, + 0,253,8,28,28,8,0,8,48,112,230,239,102,60,13,16, + 32,13,0,0,24,0,28,0,6,0,0,0,6,0,7,0, + 7,0,15,0,11,128,27,128,17,192,63,192,49,192,32,224, + 96,224,241,248,13,16,32,13,0,0,1,128,3,128,6,0, + 0,0,6,0,7,0,7,0,15,0,11,128,27,128,17,192, + 63,192,49,192,32,224,96,224,241,248,13,16,32,13,0,0, + 2,0,7,0,13,128,0,0,6,0,7,0,7,0,15,0, + 11,128,27,128,17,192,63,192,49,192,32,224,96,224,241,248, + 13,15,30,13,0,0,14,128,23,0,0,0,6,0,7,0, + 7,0,15,0,11,128,27,128,17,192,63,192,49,192,32,224, + 96,224,241,248,13,15,30,13,0,0,25,128,25,128,0,0, + 6,0,7,0,7,0,15,0,11,128,27,128,17,192,63,192, + 49,192,32,224,96,224,241,248,13,16,32,13,0,0,6,0, + 11,0,6,0,0,0,6,0,7,0,7,0,15,0,11,128, + 27,128,17,192,63,192,49,192,32,224,96,224,241,248,16,12, + 24,16,255,0,31,255,7,195,5,195,5,201,9,216,9,248, + 17,216,31,201,33,193,33,195,97,195,247,255,11,15,30,13, + 1,253,15,160,56,224,112,96,112,32,224,32,224,0,224,0, + 224,32,112,32,112,64,56,192,15,0,12,0,6,0,28,0, + 11,16,32,12,0,0,24,0,28,0,6,0,0,0,255,224, + 56,96,56,96,57,32,59,0,63,0,59,0,57,32,56,32, + 56,96,56,96,255,224,11,16,32,12,0,0,1,128,3,128, + 6,0,0,0,255,224,56,96,56,96,57,32,59,0,63,0, + 59,0,57,32,56,32,56,96,56,96,255,224,11,16,32,12, + 0,0,2,0,7,0,13,128,0,0,255,224,56,96,56,96, + 57,32,59,0,63,0,59,0,57,32,56,32,56,96,56,96, + 255,224,11,15,30,12,0,0,25,128,25,128,0,0,255,224, + 56,96,56,96,57,32,59,0,63,0,59,0,57,32,56,32, + 56,96,56,96,255,224,7,16,16,7,0,0,96,112,24,0, + 254,56,56,56,56,56,56,56,56,56,56,254,7,16,16,7, + 0,0,12,28,48,0,254,56,56,56,56,56,56,56,56,56, + 56,254,7,16,16,7,0,0,16,56,108,0,254,56,56,56, + 56,56,56,56,56,56,56,254,7,15,15,7,0,0,108,108, + 0,254,56,56,56,56,56,56,56,56,56,56,254,13,12,24, + 14,0,0,255,128,56,224,56,112,56,112,56,56,126,56,56, + 56,56,56,56,112,56,112,56,224,255,128,14,15,30,14,0, + 0,7,64,11,128,0,0,240,124,56,16,60,16,62,16,47, + 16,39,144,35,208,33,240,32,240,32,112,32,48,248,16,12, + 16,32,14,1,0,24,0,28,0,6,0,0,0,15,0,57, + 192,112,224,112,224,224,112,224,112,224,112,224,112,112,224,112, + 224,57,192,15,0,12,16,32,14,1,0,1,128,3,128,6, + 0,0,0,15,0,57,192,112,224,112,224,224,112,224,112,224, + 112,224,112,112,224,112,224,57,192,15,0,12,16,32,14,1, + 0,6,0,15,0,25,128,0,0,15,0,57,192,112,224,112, + 224,224,112,224,112,224,112,224,112,112,224,112,224,57,192,15, + 0,12,15,30,14,1,0,14,128,23,0,0,0,15,0,57, + 192,112,224,112,224,224,112,224,112,224,112,224,112,112,224,112, + 224,57,192,15,0,12,15,30,14,1,0,25,128,25,128,0, + 0,15,0,57,192,112,224,112,224,224,112,224,112,224,112,224, + 112,112,224,112,224,57,192,15,0,8,8,8,10,1,0,66, + 231,126,56,28,126,231,66,12,14,28,14,1,255,0,16,15, + 32,57,192,112,224,112,224,225,112,226,112,228,112,232,112,112, + 224,112,224,57,192,79,0,128,0,14,16,32,14,0,0,6, + 0,7,0,1,128,0,0,254,124,56,16,56,16,56,16,56, + 16,56,16,56,16,56,16,56,16,28,32,30,96,7,128,14, + 16,32,14,0,0,0,96,0,224,1,128,0,0,254,124,56, + 16,56,16,56,16,56,16,56,16,56,16,56,16,56,16,28, + 32,30,96,7,128,14,16,32,14,0,0,1,128,3,192,6, + 96,0,0,254,124,56,16,56,16,56,16,56,16,56,16,56, + 16,56,16,56,16,28,32,30,96,7,128,14,15,30,14,0, + 0,6,96,6,96,0,0,254,124,56,16,56,16,56,16,56, + 16,56,16,56,16,56,16,56,16,28,32,30,96,7,128,13, + 16,32,12,255,0,0,192,1,192,3,0,0,0,254,248,56, + 96,28,64,28,128,14,128,15,0,7,0,7,0,7,0,7, + 0,7,0,31,192,12,12,24,13,0,0,254,0,56,0,63, + 192,56,224,56,112,56,112,56,112,56,224,63,192,56,0,56, + 0,254,0,10,12,24,10,0,0,31,0,51,128,115,128,115, + 128,115,0,119,0,113,128,113,192,113,192,113,192,123,128,247, + 0,9,12,24,10,0,0,96,0,112,0,24,0,0,0,126, + 0,231,0,199,0,31,0,103,0,231,0,239,0,119,128,9, + 12,24,10,0,0,6,0,14,0,24,0,0,0,126,0,231, + 0,199,0,31,0,103,0,231,0,239,0,119,128,9,12,24, + 10,0,0,16,0,56,0,108,0,0,0,126,0,231,0,199, + 0,31,0,103,0,231,0,239,0,119,128,9,11,22,10,0, + 0,58,0,92,0,0,0,126,0,231,0,199,0,31,0,103, + 0,231,0,239,0,119,128,9,11,22,10,0,0,108,0,108, + 0,0,0,126,0,231,0,199,0,31,0,103,0,231,0,239, + 0,119,128,9,12,24,10,0,0,24,0,44,0,24,0,0, + 0,126,0,231,0,199,0,31,0,103,0,231,0,239,0,119, + 128,13,8,16,15,0,0,125,224,231,48,199,56,63,248,103, + 0,231,24,239,48,123,224,8,11,11,9,0,253,62,115,231, + 227,224,227,118,60,24,12,56,9,12,24,10,0,0,48,0, + 56,0,12,0,0,0,62,0,119,0,227,128,255,128,224,0, + 225,128,115,0,62,0,9,12,24,10,0,0,6,0,14,0, + 24,0,0,0,62,0,119,0,227,128,255,128,224,0,225,128, + 115,0,62,0,9,12,24,10,0,0,8,0,28,0,54,0, + 0,0,62,0,119,0,227,128,255,128,224,0,225,128,115,0, + 62,0,9,11,22,10,0,0,54,0,54,0,0,0,62,0, + 119,0,227,128,255,128,224,0,225,128,115,0,62,0,5,12, + 12,6,0,0,192,224,48,0,240,112,112,112,112,112,112,248, + 5,12,12,6,0,0,24,56,96,0,240,112,112,112,112,112, + 112,248,5,12,12,6,0,0,32,112,216,0,240,112,112,112, + 112,112,112,248,5,11,11,6,0,0,216,216,0,240,112,112, + 112,112,112,112,248,9,13,26,11,0,0,96,0,59,0,28, + 0,54,0,7,0,31,0,119,128,227,128,227,128,227,128,227, + 128,119,0,28,0,11,11,22,11,255,0,14,128,23,0,0, + 0,247,128,121,192,113,192,113,192,113,192,113,192,113,192,251, + 224,10,12,24,11,0,0,24,0,28,0,6,0,0,0,63, + 0,115,128,225,192,225,192,225,192,225,192,115,128,63,0,10, + 12,24,11,0,0,3,0,7,0,12,0,0,0,63,0,115, + 128,225,192,225,192,225,192,225,192,115,128,63,0,10,12,24, + 11,0,0,12,0,30,0,51,0,0,0,63,0,115,128,225, + 192,225,192,225,192,225,192,115,128,63,0,10,11,22,11,0, + 0,29,0,46,0,0,0,63,0,115,128,225,192,225,192,225, + 192,225,192,115,128,63,0,10,11,22,11,0,0,54,0,54, + 0,0,0,63,0,115,128,225,192,225,192,225,192,225,192,115, + 128,63,0,8,8,8,10,1,0,24,24,0,255,255,0,24, + 24,9,12,24,10,0,254,0,128,1,0,30,0,115,0,231, + 128,235,128,235,128,243,128,103,0,60,0,64,0,128,0,11, + 12,24,11,255,0,24,0,28,0,6,0,0,0,243,192,113, + 192,113,192,113,192,113,192,113,192,123,192,62,224,11,12,24, + 11,255,0,3,0,7,0,12,0,0,0,243,192,113,192,113, + 192,113,192,113,192,113,192,123,192,62,224,11,12,24,11,255, + 0,4,0,14,0,27,0,0,0,243,192,113,192,113,192,113, + 192,113,192,113,192,123,192,62,224,11,11,22,11,255,0,27, + 0,27,0,0,0,243,192,113,192,113,192,113,192,113,192,113, + 192,123,192,62,224,11,15,30,10,255,253,3,0,7,0,12, + 0,0,0,251,224,112,192,56,128,25,128,29,0,15,0,14, + 0,6,0,52,0,116,0,56,0,10,15,30,11,255,253,240, + 0,112,0,112,0,112,0,119,0,123,128,113,192,113,192,113, + 192,113,192,123,128,119,0,112,0,112,0,252,0,11,14,28, + 10,255,253,27,0,27,0,0,0,251,224,48,192,56,128,25, + 128,29,0,15,0,14,0,6,0,52,0,116,0,56,0}; +/* + Fontname: -Adobe-New Century Schoolbook-Bold-R-Normal--17-120-100-100-P-99-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 12, '1' Height: 12 + Calculated Max Values w=16 h=15 x= 4 y= 9 dx=16 dy= 0 ascent=14 len=30 + Font Bounding box w=22 h=27 x=-3 y=-7 + Calculated Min Values x=-2 y=-3 dx= 0 dy= 0 + Pure Font ascent =12 descent=-3 + X Font ascent =12 descent=-3 + Max Font ascent =14 descent=-3 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_ncenB12r[2194] U8G_FONT_SECTION("u8g_font_ncenB12r") = { + 0,22,27,253,249,12,2,152,5,246,32,127,253,14,253,12, + 253,0,0,0,4,1,1,3,12,12,5,1,0,64,224,224, + 224,224,64,64,0,64,224,224,64,5,5,5,6,0,7,216, + 216,216,144,144,10,12,24,10,0,0,25,128,25,128,25,128, + 127,192,127,192,51,0,51,0,255,128,255,128,102,0,102,0, + 102,0,9,15,30,10,0,255,8,0,8,0,62,0,105,0, + 203,128,201,0,252,0,127,0,31,128,73,128,233,128,201,128, + 107,0,62,0,8,0,12,12,24,14,1,0,56,128,119,128, + 101,0,197,0,202,0,202,224,117,208,5,144,11,16,11,32, + 19,32,17,192,12,12,24,14,1,0,15,0,25,128,25,128, + 25,0,30,0,60,240,110,96,231,64,199,128,227,144,243,240, + 124,224,2,5,5,4,1,7,192,192,192,128,128,4,14,14, + 6,1,254,16,32,96,96,192,192,192,192,192,192,96,96,32, + 16,4,14,14,6,0,254,128,64,96,96,48,48,48,48,48, + 48,96,96,64,128,7,7,7,8,0,5,16,84,214,56,214, + 84,16,8,8,8,10,1,0,24,24,24,255,255,24,24,24, + 4,6,6,5,0,253,96,240,112,32,96,128,4,2,2,5, + 0,3,240,240,4,3,3,5,0,0,96,240,96,5,12,12, + 5,0,0,8,8,16,16,16,32,32,64,64,64,128,128,9, + 12,24,10,0,0,28,0,54,0,99,0,99,0,227,128,227, + 128,227,128,227,128,99,0,99,0,54,0,28,0,7,12,12, + 10,1,0,24,248,56,56,56,56,56,56,56,56,56,254,8, + 12,12,10,1,0,60,70,231,231,71,14,12,24,49,97,255, + 255,9,12,24,10,0,0,62,0,103,0,115,0,35,0,6, + 0,31,0,7,0,3,128,99,128,243,128,103,0,62,0,9, + 12,24,10,0,0,2,0,6,0,14,0,30,0,46,0,46, + 0,78,0,142,0,255,128,14,0,14,0,63,128,8,12,12, + 10,1,0,127,126,64,64,124,78,7,71,231,231,206,124,9, + 12,24,10,0,0,31,0,51,128,103,128,99,0,224,0,238, + 0,247,0,227,128,227,128,99,128,119,0,30,0,8,12,12, + 10,1,0,255,254,134,134,132,12,12,24,24,56,56,16,8, + 12,12,10,1,0,60,102,231,231,102,60,102,231,231,231,102, + 60,9,12,24,10,0,0,60,0,119,0,227,0,227,128,227, + 128,119,128,59,128,3,128,99,0,243,0,230,0,124,0,4, + 8,8,5,0,0,96,240,96,0,0,96,240,96,4,11,11, + 5,0,253,96,240,96,0,0,96,240,112,32,96,128,8,8, + 8,10,1,1,3,15,60,240,240,60,15,3,8,6,6,10, + 1,1,255,255,0,0,255,255,8,8,8,10,1,1,192,240, + 60,15,15,60,240,192,8,12,12,8,0,0,60,102,247,103, + 14,12,16,0,16,56,56,16,12,13,26,12,0,255,15,128, + 56,224,96,32,70,176,205,144,153,144,153,144,153,176,219,160, + 76,64,96,48,56,224,15,128,13,12,24,13,0,0,6,0, + 7,0,7,0,15,0,11,128,27,128,17,192,63,192,49,192, + 32,224,96,224,241,248,12,12,24,13,0,0,255,192,56,224, + 56,112,56,112,56,224,63,192,56,224,56,112,56,112,56,112, + 56,224,255,192,11,12,24,13,1,0,15,160,56,224,112,96, + 112,32,224,32,224,0,224,0,224,32,112,32,112,64,56,192, + 15,0,13,12,24,14,0,0,255,128,56,224,56,112,56,112, + 56,56,56,56,56,56,56,56,56,112,56,112,56,224,255,128, + 11,12,24,12,0,0,255,224,56,96,56,96,57,32,59,0, + 63,0,59,0,57,32,56,32,56,96,56,96,255,224,11,12, + 24,12,0,0,255,224,56,96,56,96,57,32,59,0,63,0, + 59,0,57,0,56,0,56,0,56,0,254,0,13,12,24,14, + 1,0,15,160,56,224,112,96,112,32,224,32,224,0,227,248, + 224,224,112,224,112,224,57,224,15,32,14,12,24,15,0,0, + 254,252,56,112,56,112,56,112,56,112,63,240,56,112,56,112, + 56,112,56,112,56,112,254,252,7,12,12,7,0,0,254,56, + 56,56,56,56,56,56,56,56,56,254,10,12,24,11,0,0, + 31,192,7,0,7,0,7,0,7,0,7,0,103,0,247,0, + 231,0,135,0,206,0,124,0,14,12,24,13,0,0,254,248, + 56,96,56,192,57,128,59,0,63,128,63,128,59,192,57,224, + 56,240,56,120,254,252,11,12,24,12,0,0,254,0,56,0, + 56,0,56,0,56,0,56,0,56,0,56,32,56,32,56,96, + 56,96,255,224,16,12,24,16,0,0,252,63,60,60,46,60, + 46,92,46,92,39,92,39,156,39,156,35,156,35,28,33,28, + 249,63,14,12,24,14,0,0,240,124,56,16,60,16,62,16, + 47,16,39,144,35,208,33,240,32,240,32,112,32,48,248,16, + 12,12,24,14,1,0,15,0,57,192,112,224,112,224,224,112, + 224,112,224,112,224,112,112,224,112,224,57,192,15,0,12,12, + 24,13,0,0,255,192,56,224,56,112,56,112,56,112,56,224, + 63,192,56,0,56,0,56,0,56,0,254,0,12,15,30,14, + 1,253,15,0,57,192,112,224,112,224,224,112,224,112,224,112, + 230,112,105,96,121,224,57,192,15,128,1,208,1,240,0,224, + 13,12,24,14,0,0,255,192,56,224,56,112,56,112,56,224, + 63,192,57,128,57,192,56,224,56,232,56,248,252,112,9,12, + 24,11,1,0,62,128,67,128,193,128,192,128,248,128,126,0, + 63,0,143,128,129,128,193,128,225,0,190,0,11,12,24,12, + 0,0,255,224,206,96,142,32,142,32,14,0,14,0,14,0, + 14,0,14,0,14,0,14,0,63,128,14,12,24,14,0,0, + 254,124,56,16,56,16,56,16,56,16,56,16,56,16,56,16, + 56,16,28,32,30,96,7,128,13,12,24,13,255,0,254,120, + 56,48,60,32,28,32,28,64,14,64,14,128,15,128,7,128, + 7,0,3,0,3,0,15,12,24,16,0,0,251,222,113,140, + 49,136,57,200,57,216,59,208,26,208,30,240,28,224,12,96, + 12,96,12,96,12,12,24,12,0,0,249,240,112,96,56,64, + 28,128,31,0,15,0,15,0,15,128,19,192,33,192,96,224, + 249,240,13,12,24,12,255,0,254,248,56,96,28,64,28,128, + 14,128,15,0,7,0,7,0,7,0,7,0,7,0,31,192, + 9,12,24,11,1,0,255,128,195,128,135,0,135,0,14,0, + 28,0,28,0,56,128,112,128,113,128,227,128,255,128,4,14, + 14,6,1,254,240,192,192,192,192,192,192,192,192,192,192,192, + 192,240,7,12,12,10,1,0,192,192,96,96,48,48,24,24, + 12,12,6,6,4,14,14,7,1,254,240,48,48,48,48,48, + 48,48,48,48,48,48,48,240,8,7,7,10,1,5,24,24, + 60,102,102,195,195,8,2,2,8,0,254,255,255,4,3,3, + 6,0,9,192,224,48,9,8,16,10,0,0,126,0,231,0, + 199,0,31,0,103,0,231,0,239,0,119,128,11,12,24,11, + 255,0,248,0,56,0,56,0,56,0,59,128,61,192,56,224, + 56,224,56,224,56,224,61,192,43,128,8,8,8,9,0,0, + 62,115,231,224,224,227,118,60,11,12,24,11,0,0,7,128, + 3,128,3,128,3,128,59,128,119,128,227,128,227,128,227,128, + 227,128,119,128,58,224,9,8,16,10,0,0,62,0,119,0, + 227,128,255,128,224,0,225,128,115,0,62,0,9,12,24,7, + 255,0,15,0,27,128,59,0,56,0,254,0,56,0,56,0, + 56,0,56,0,56,0,56,0,254,0,9,12,24,10,0,253, + 1,128,63,128,119,0,227,128,227,128,247,0,124,0,96,0, + 127,0,255,128,195,128,255,0,11,12,24,11,255,0,240,0, + 112,0,112,0,112,0,119,128,121,192,121,192,113,192,113,192, + 113,192,113,192,251,224,5,12,12,6,0,0,96,240,96,0, + 240,112,112,112,112,112,112,248,6,15,15,6,254,253,24,60, + 24,0,124,28,28,28,28,28,28,28,220,216,112,11,12,24, + 11,0,0,240,0,112,0,112,0,112,0,119,192,115,128,119, + 0,126,0,127,0,115,128,113,192,251,224,5,12,12,6,0, + 0,240,112,112,112,112,112,112,112,112,112,112,248,15,8,16, + 16,0,0,247,56,123,220,115,156,115,156,115,156,115,156,115, + 156,251,190,11,8,16,11,255,0,247,128,121,192,113,192,113, + 192,113,192,113,192,113,192,251,224,10,8,16,11,0,0,30, + 0,115,128,225,192,225,192,225,192,225,192,115,128,30,0,10, + 11,22,11,255,253,247,0,123,128,113,192,113,192,113,192,113, + 192,123,128,119,0,112,0,112,0,248,0,10,11,22,10,255, + 253,62,128,115,128,227,128,227,128,227,128,227,128,115,128,63, + 128,3,128,3,128,7,192,9,8,16,9,0,0,247,0,123, + 128,115,0,112,0,112,0,112,0,112,0,248,0,7,8,8, + 8,0,0,122,198,226,252,126,142,198,188,6,11,11,7,0, + 0,16,16,48,252,112,112,112,112,116,124,56,11,8,16,11, + 255,0,243,192,113,192,113,192,113,192,113,192,113,192,123,192, + 62,224,10,8,16,10,0,0,251,192,113,128,115,0,59,0, + 58,0,30,0,28,0,12,0,15,8,16,15,0,0,251,222, + 113,140,57,200,59,216,30,240,30,240,12,96,12,96,9,8, + 16,10,0,0,251,128,113,0,62,0,28,0,28,0,62,0, + 71,0,239,128,10,11,22,10,255,253,251,192,113,128,57,128, + 57,0,31,0,14,0,14,0,6,0,52,0,116,0,56,0, + 7,8,8,9,0,0,254,204,156,56,48,114,230,254,4,14, + 14,6,1,254,48,96,96,96,96,96,192,96,96,96,96,96, + 96,48,2,12,12,10,4,0,192,192,192,192,192,192,192,192, + 192,192,192,192,4,14,14,6,0,254,192,96,96,96,96,96, + 48,96,96,96,96,96,96,192,8,3,3,10,1,3,114,255, + 78,255}; +/* + Fontname: -Adobe-New Century Schoolbook-Bold-R-Normal--20-140-100-100-P-113-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 14, '1' Height: 14 + Calculated Max Values w=20 h=19 x= 4 y=11 dx=21 dy= 0 ascent=19 len=42 + Font Bounding box w=24 h=32 x=-3 y=-8 + Calculated Min Values x=-3 y=-4 dx= 0 dy= 0 + Pure Font ascent =14 descent=-4 + X Font ascent =14 descent=-4 + Max Font ascent =19 descent=-4 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_ncenB14[5558] U8G_FONT_SECTION("u8g_font_ncenB14") = { + 0,24,32,253,248,14,3,71,7,51,32,255,252,19,252,14, + 252,0,0,0,5,0,1,4,14,14,6,1,0,96,240,240, + 240,240,240,96,96,96,0,96,240,240,96,5,5,5,8,1, + 9,216,216,216,216,216,11,12,24,12,0,1,13,128,13,128, + 13,128,127,224,127,224,27,0,27,0,255,192,255,192,54,0, + 54,0,54,0,9,18,36,11,1,254,8,0,8,0,62,0, + 107,128,203,128,201,128,232,0,252,0,255,0,127,128,31,128, + 11,128,201,128,233,128,235,0,62,0,8,0,8,0,14,15, + 30,15,0,255,56,192,103,64,196,192,196,128,197,128,201,0, + 115,0,2,56,6,100,4,196,12,196,8,196,24,200,16,112, + 16,0,16,14,28,17,1,0,7,128,12,192,24,192,24,192, + 29,128,31,0,14,62,63,24,119,144,227,224,225,224,224,241, + 241,254,127,28,2,5,5,5,1,9,192,192,192,192,192,5, + 16,16,6,0,254,24,48,112,96,224,192,192,192,192,192,192, + 224,96,112,48,24,5,16,16,6,0,254,192,96,112,48,56, + 24,24,24,24,24,24,56,48,112,96,192,7,7,7,8,0, + 7,56,146,214,56,214,146,56,10,10,20,11,0,0,12,0, + 12,0,12,0,12,0,255,192,255,192,12,0,12,0,12,0, + 12,0,4,7,7,5,0,253,96,240,240,112,32,64,128,5, + 3,3,6,0,3,248,248,248,4,4,4,5,0,0,96,240, + 240,96,6,14,14,7,0,0,12,12,8,24,24,16,48,48, + 32,96,96,64,192,192,9,14,28,11,1,0,28,0,119,0, + 99,0,227,128,227,128,227,128,227,128,227,128,227,128,227,128, + 227,128,99,0,119,0,28,0,7,14,14,11,2,0,24,56, + 248,56,56,56,56,56,56,56,56,56,56,254,9,14,28,11, + 1,0,30,0,103,0,227,128,227,128,99,128,3,128,7,0, + 7,0,14,0,24,0,48,0,96,128,255,128,255,128,9,14, + 28,11,1,0,30,0,103,0,227,128,227,128,99,128,3,0, + 28,0,3,0,3,128,99,128,227,128,227,128,103,0,62,0, + 9,14,28,11,1,0,1,0,3,0,7,0,15,0,15,0, + 23,0,39,0,71,0,71,0,135,0,255,128,7,0,7,0, + 15,128,9,14,28,11,1,0,127,128,127,0,64,0,64,0, + 64,0,126,0,71,0,3,128,3,128,99,128,227,128,227,128, + 103,0,62,0,9,14,28,11,1,0,31,0,115,128,99,128, + 227,0,224,0,238,0,247,0,227,128,227,128,227,128,227,128, + 99,128,115,0,28,0,9,14,28,11,1,0,255,128,255,128, + 129,128,131,0,6,0,6,0,12,0,12,0,28,0,28,0, + 56,0,56,0,56,0,56,0,9,14,28,11,1,0,28,0, + 99,0,193,128,193,128,225,128,251,0,126,0,63,0,79,128, + 195,128,193,128,193,128,227,0,60,0,9,14,28,11,1,0, + 28,0,103,0,227,0,227,128,227,128,227,128,227,128,119,128, + 59,128,3,128,99,128,227,0,231,0,124,0,4,9,9,6, + 1,0,96,240,240,96,0,96,240,240,96,4,12,12,6,1, + 253,96,240,240,96,0,96,240,240,112,32,64,128,10,10,20, + 11,0,0,0,192,3,192,15,0,60,0,240,0,240,0,60, + 0,15,0,3,192,0,192,9,6,12,11,1,2,255,128,255, + 128,0,0,0,0,255,128,255,128,10,10,20,11,0,0,192, + 0,240,0,60,0,15,0,3,192,3,192,15,0,60,0,240, + 0,192,0,9,14,28,10,0,0,31,0,103,128,227,128,227, + 128,99,128,3,0,6,0,12,0,24,0,0,0,24,0,60, + 0,60,0,24,0,15,14,28,16,0,0,7,240,28,12,48, + 4,99,230,102,102,204,102,204,102,216,204,216,204,217,216,206, + 240,96,8,112,48,31,224,14,14,28,14,255,0,1,0,1, + 128,3,128,3,192,5,192,4,192,8,224,8,224,16,112,31, + 240,32,112,32,56,96,56,240,124,12,14,28,14,0,0,255, + 192,113,224,112,224,112,224,112,224,113,192,127,128,112,224,112, + 112,112,112,112,112,112,112,112,224,255,128,12,14,28,14,0, + 0,15,144,60,240,112,48,112,48,224,16,224,16,224,0,224, + 0,224,0,224,16,112,16,112,32,60,96,15,128,14,14,28, + 16,0,0,255,192,112,240,112,56,112,56,112,28,112,28,112, + 28,112,28,112,28,112,28,112,56,112,56,112,240,255,192,11, + 14,28,13,0,0,255,224,112,224,112,96,113,32,113,32,115, + 0,127,0,115,0,113,0,113,32,112,32,112,96,112,224,255, + 224,11,14,28,13,0,0,255,224,112,224,112,96,113,32,113, + 32,115,0,127,0,115,0,113,0,113,0,112,0,112,0,112, + 0,252,0,13,14,28,15,0,0,15,144,60,240,112,48,112, + 48,224,16,224,16,224,0,224,0,224,248,224,112,112,112,112, + 112,60,240,15,144,14,14,28,16,0,0,248,124,112,56,112, + 56,112,56,112,56,112,56,127,248,112,56,112,56,112,56,112, + 56,112,56,112,56,248,124,5,14,14,9,1,0,248,112,112, + 112,112,112,112,112,112,112,112,112,112,248,10,14,28,12,255, + 0,7,192,3,128,3,128,3,128,3,128,3,128,3,128,3, + 128,99,128,243,128,243,128,195,128,103,0,60,0,14,14,28, + 16,0,0,248,248,112,96,112,192,113,128,115,0,118,0,126, + 0,127,0,119,128,115,192,113,224,112,240,112,120,248,252,10, + 14,28,12,0,0,248,0,112,0,112,0,112,0,112,0,112, + 0,112,0,112,0,112,0,112,64,112,64,112,192,113,192,255, + 192,17,14,42,19,0,0,252,15,128,60,15,0,62,15,0, + 46,23,0,39,23,0,39,23,0,39,39,0,35,167,0,35, + 167,0,35,199,0,33,199,0,33,199,0,112,135,0,248,143, + 128,14,14,28,16,0,0,240,124,120,56,60,16,60,16,62, + 16,47,16,39,144,35,208,33,240,32,240,32,240,32,112,112, + 48,248,16,14,14,28,16,0,0,15,192,60,240,112,56,112, + 56,224,28,224,28,224,28,224,28,224,28,224,28,112,56,112, + 56,60,240,15,192,12,14,28,14,0,0,255,128,113,224,112, + 240,112,240,112,240,112,240,113,224,127,128,112,0,112,0,112, + 0,112,0,112,0,248,0,14,18,36,16,0,252,15,192,60, + 240,112,56,112,56,224,28,224,28,224,28,224,28,224,28,239, + 28,115,152,113,184,61,240,15,192,0,192,0,232,0,248,0, + 112,13,14,28,16,0,0,255,224,112,240,112,112,112,112,112, + 112,112,224,127,128,113,192,113,192,113,224,112,224,112,224,112, + 232,248,112,10,14,28,12,0,0,30,128,115,128,225,128,224, + 128,240,0,252,0,127,0,31,128,7,192,131,192,129,192,193, + 192,243,128,159,0,11,14,28,13,0,0,255,224,206,96,142, + 32,142,32,142,32,14,0,14,0,14,0,14,0,14,0,14, + 0,14,0,14,0,31,0,14,14,28,16,0,0,248,124,112, + 56,112,16,112,16,112,16,112,16,112,16,112,16,112,16,112, + 16,112,16,112,16,56,96,15,192,15,14,28,14,255,0,252, + 62,120,28,56,8,60,16,28,16,28,16,14,32,14,32,7, + 64,7,64,3,128,3,128,1,0,1,0,20,14,42,19,255, + 0,253,249,240,120,240,224,56,112,64,60,120,128,28,120,128, + 28,120,128,30,189,0,14,157,0,14,157,0,15,30,0,7, + 14,0,7,14,0,2,4,0,2,4,0,15,14,28,17,0, + 0,126,124,60,56,30,48,14,96,15,192,7,128,3,192,7, + 192,7,224,12,240,24,112,56,120,112,60,248,126,13,14,28, + 15,0,0,252,120,120,48,56,32,60,96,28,64,30,128,15, + 128,7,0,7,0,7,0,7,0,7,0,7,0,31,192,12, + 14,28,13,0,0,255,240,224,112,192,224,129,224,131,192,7, + 128,7,0,15,0,30,0,60,16,120,16,112,48,224,112,255, + 240,4,16,16,6,1,254,240,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,240,8,14,14,9,0,0,192,192,96, + 96,48,48,24,24,12,12,6,6,3,3,4,16,16,6,0, + 254,240,48,48,48,48,48,48,48,48,48,48,48,48,48,48, + 240,8,8,8,9,0,6,24,24,60,60,102,102,195,195,9, + 2,4,9,0,253,255,128,255,128,5,4,4,7,1,10,192, + 224,112,24,10,9,18,11,0,0,127,0,227,128,195,128,7, + 128,59,128,227,128,227,128,231,128,121,192,12,14,28,12,255, + 0,240,0,112,0,112,0,112,0,112,0,119,128,120,224,112, + 112,112,112,112,112,112,112,112,112,120,224,111,128,9,9,18, + 10,0,0,31,0,115,128,225,128,224,0,224,0,224,0,224, + 128,113,128,30,0,12,14,28,13,0,0,1,224,0,224,0, + 224,0,224,0,224,30,224,113,224,224,224,224,224,224,224,224, + 224,224,224,113,224,30,240,10,9,18,11,0,0,30,0,115, + 128,225,192,225,192,255,192,224,0,224,64,112,192,31,0,8, + 14,14,7,0,0,30,55,119,112,112,252,112,112,112,112,112, + 112,112,248,11,15,30,11,0,252,0,96,0,224,63,0,115, + 128,97,128,97,128,115,128,63,0,96,0,127,128,63,192,193, + 192,192,192,225,128,127,0,12,14,28,13,0,0,240,0,112, + 0,112,0,112,0,112,0,119,192,121,224,112,224,112,224,112, + 224,112,224,112,224,112,224,249,240,5,14,14,6,0,0,112, + 112,112,0,0,240,112,112,112,112,112,112,112,248,7,18,18, + 6,253,252,14,14,14,0,0,30,14,14,14,14,14,14,14, + 14,14,238,236,120,12,14,28,13,0,0,240,0,112,0,112, + 0,112,0,112,0,115,224,113,128,114,0,118,0,127,0,119, + 128,115,192,113,224,251,240,5,14,14,6,0,0,240,112,112, + 112,112,112,112,112,112,112,112,112,112,248,19,9,27,20,0, + 0,247,223,128,121,243,192,112,225,192,112,225,192,112,225,192, + 112,225,192,112,225,192,112,225,192,249,243,224,12,9,18,13, + 0,0,247,192,121,224,112,224,112,224,112,224,112,224,112,224, + 112,224,249,240,11,9,18,12,0,0,31,0,113,192,224,224, + 224,224,224,224,224,224,224,224,113,192,31,0,12,13,26,12, + 255,252,231,128,120,224,112,112,112,112,112,112,112,112,112,112, + 120,224,119,128,112,0,112,0,112,0,248,0,12,13,26,12, + 0,252,30,96,113,224,224,224,224,224,224,224,224,224,224,224, + 113,224,30,224,0,224,0,224,0,224,1,240,8,9,9,9, + 0,0,246,123,115,112,112,112,112,112,248,9,9,18,10,0, + 0,61,0,99,0,225,0,252,0,127,0,15,128,131,128,195, + 0,190,0,7,13,13,8,0,0,16,16,48,112,252,112,112, + 112,112,112,114,114,60,12,9,18,13,0,0,249,224,112,224, + 112,224,112,224,112,224,112,224,112,224,121,224,62,240,10,9, + 18,9,255,0,249,192,112,128,112,128,57,0,57,0,30,0, + 30,0,12,0,12,0,16,9,18,15,255,0,251,231,113,194, + 113,194,57,228,57,228,30,120,30,120,12,48,12,48,11,9, + 18,12,0,0,253,224,120,192,61,128,31,0,14,0,31,0, + 55,128,99,192,247,224,11,13,26,12,0,252,248,224,112,64, + 112,64,56,128,56,128,29,0,29,0,14,0,14,0,4,0, + 196,0,232,0,112,0,9,9,18,10,0,0,255,128,199,128, + 143,0,30,0,60,0,120,128,240,128,225,128,255,128,5,16, + 16,6,0,254,24,48,112,112,112,112,96,192,96,112,112,112, + 112,112,48,24,2,14,14,11,4,0,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,5,16,16,6,0,254,192,96, + 112,112,112,112,48,24,48,112,112,112,112,112,96,192,10,3, + 6,12,1,4,57,192,127,128,231,0,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,255,255,255,255,255,255,255,0,0,0,5,0, + 1,4,14,14,7,1,252,96,240,240,96,0,96,96,96,240, + 240,240,240,240,96,9,13,26,11,1,254,0,128,0,128,31, + 0,115,128,227,128,228,0,228,0,232,0,232,128,113,128,30, + 0,32,0,32,0,10,14,28,11,0,0,31,0,49,128,115, + 128,115,128,112,0,112,0,56,0,255,128,28,0,28,0,24, + 64,112,192,159,192,239,128,9,9,18,10,0,2,221,128,255, + 128,99,0,193,128,193,128,193,128,99,0,255,128,221,128,14, + 14,28,15,0,0,252,60,120,24,56,16,28,48,30,32,14, + 96,7,192,31,240,3,128,31,240,3,128,3,128,3,128,15, + 224,2,14,14,11,4,0,192,192,192,192,192,192,0,0,192, + 192,192,192,192,192,7,16,16,8,0,254,120,204,140,192,112, + 124,158,134,194,242,124,28,4,196,204,120,6,2,2,10,2, + 11,204,204,14,14,28,15,0,0,7,128,24,96,32,16,71, + 200,76,200,152,68,152,4,152,4,152,4,76,72,71,136,32, + 16,24,96,7,128,7,8,8,8,0,6,120,204,60,204,220, + 110,0,254,8,5,5,9,0,3,51,102,204,102,51,9,6, + 12,10,0,2,255,128,255,128,1,128,1,128,1,128,1,128, + 5,3,3,6,0,3,248,248,248,14,14,28,15,0,0,7, + 128,24,96,32,16,95,136,76,200,140,196,140,196,143,132,141, + 132,76,200,94,232,32,16,24,96,7,128,6,2,2,8,1, + 11,252,252,6,6,6,7,0,8,120,204,132,132,204,120,10, + 11,22,11,0,0,12,0,12,0,12,0,255,192,255,192,12, + 0,12,0,12,0,0,0,255,192,255,192,6,8,8,6,0, + 6,120,204,204,24,48,96,196,252,6,8,8,6,0,6,120, + 204,12,56,12,204,204,120,5,4,4,7,1,11,24,56,112, + 192,12,13,26,13,0,252,249,240,112,224,112,224,112,224,112, + 224,112,224,112,224,121,224,110,240,96,0,240,0,240,0,96, + 0,13,14,28,14,0,0,63,248,126,112,254,112,254,112,254, + 112,254,112,126,112,62,112,14,112,14,112,14,112,14,112,14, + 112,31,248,4,4,4,5,0,3,96,240,240,96,4,4,4, + 6,1,252,64,112,48,224,6,8,8,6,0,6,48,240,48, + 48,48,48,48,252,6,8,8,7,0,6,120,204,204,204,204, + 120,0,252,8,5,5,9,0,3,204,102,51,102,204,14,14, + 28,15,0,0,48,96,240,96,48,192,48,192,49,128,49,128, + 51,24,255,56,6,120,6,216,13,152,13,252,24,24,24,60, + 14,14,28,15,0,0,48,96,240,96,48,192,48,192,49,128, + 49,128,51,120,255,204,6,204,6,24,12,48,12,96,24,196, + 24,252,14,14,28,15,0,0,120,96,204,96,12,192,56,192, + 13,128,205,128,207,24,123,56,6,120,6,216,13,152,13,252, + 24,24,24,60,9,14,28,10,0,252,12,0,30,0,30,0, + 12,0,0,0,12,0,24,0,48,0,96,0,227,0,227,128, + 227,128,243,0,124,0,14,19,38,14,255,0,12,0,14,0, + 7,0,1,128,0,0,1,0,1,128,3,128,3,192,5,192, + 4,192,8,224,8,224,16,112,31,240,32,112,32,56,96,56, + 240,124,14,19,38,14,255,0,0,96,0,224,1,192,3,0, + 0,0,1,0,1,128,3,128,3,192,5,192,4,192,8,224, + 8,224,16,112,31,240,32,112,32,56,96,56,240,124,14,19, + 38,14,255,0,1,128,3,192,6,96,12,48,0,0,1,0, + 1,128,3,128,3,192,5,192,4,192,8,224,8,224,16,112, + 31,240,32,112,32,56,96,56,240,124,14,18,36,14,255,0, + 3,144,7,224,9,192,0,0,1,0,1,128,3,128,3,192, + 5,192,4,192,8,224,8,224,16,112,31,240,32,112,32,56, + 96,56,240,124,14,17,34,14,255,0,6,96,6,96,0,0, + 1,0,1,128,3,128,3,192,5,192,4,192,8,224,8,224, + 16,112,31,240,32,112,32,56,96,56,240,124,14,19,38,14, + 255,0,1,128,2,64,2,64,1,128,0,0,1,0,1,128, + 3,128,3,192,5,192,4,192,8,224,8,224,16,112,31,240, + 32,112,32,56,96,56,240,124,20,14,42,21,0,0,3,255, + 240,0,248,112,0,184,48,1,56,144,1,56,144,2,57,128, + 4,63,128,4,57,128,15,248,128,16,56,144,16,56,16,32, + 56,48,96,56,112,240,255,240,12,18,36,14,0,252,15,144, + 60,112,112,48,112,48,224,16,224,16,224,0,224,0,224,0, + 224,16,240,16,112,32,60,96,15,128,2,0,3,128,1,128, + 7,0,11,19,38,13,0,0,48,0,56,0,28,0,6,0, + 0,0,255,224,112,224,112,96,113,32,113,32,115,0,127,0, + 115,0,113,0,113,32,112,32,112,96,112,224,255,224,11,19, + 38,13,0,0,1,128,3,128,7,0,12,0,0,0,255,224, + 112,224,112,96,113,32,113,32,115,0,127,0,115,0,113,0, + 113,32,112,32,112,96,112,224,255,224,11,19,38,13,0,0, + 6,0,15,0,25,128,48,192,0,0,255,224,112,224,112,96, + 113,32,113,32,115,0,127,0,115,0,113,0,113,32,112,32, + 112,96,112,224,255,224,11,17,34,13,0,0,25,128,25,128, + 0,0,255,224,112,224,112,96,113,32,113,32,115,0,127,0, + 115,0,113,0,113,32,112,32,112,96,112,224,255,224,6,19, + 19,9,0,0,192,224,112,24,0,124,56,56,56,56,56,56, + 56,56,56,56,56,56,124,6,19,19,9,1,0,12,28,56, + 96,0,248,112,112,112,112,112,112,112,112,112,112,112,112,248, + 8,19,19,9,0,0,24,60,102,195,0,124,56,56,56,56, + 56,56,56,56,56,56,56,56,124,6,17,17,9,1,0,204, + 204,0,248,112,112,112,112,112,112,112,112,112,112,112,112,248, + 14,14,28,16,0,0,255,192,112,240,112,56,112,56,112,28, + 112,28,252,28,112,28,112,28,112,28,112,56,112,56,112,240, + 255,192,14,18,36,16,0,0,7,32,15,192,19,128,0,0, + 240,124,120,56,60,16,60,16,62,16,47,16,39,144,35,208, + 33,240,32,240,32,240,32,112,112,48,248,16,14,19,38,16, + 0,0,12,0,14,0,7,0,1,128,0,0,15,192,60,240, + 112,56,112,56,224,28,224,28,224,28,224,28,224,28,224,28, + 112,56,112,56,60,240,15,192,14,19,38,16,0,0,0,192, + 1,192,3,128,6,0,0,0,15,192,60,240,112,56,112,56, + 224,28,224,28,224,28,224,28,224,28,224,28,112,56,112,56, + 60,240,15,192,14,19,38,16,0,0,3,0,7,128,12,192, + 24,96,0,0,15,192,60,240,112,56,112,56,224,28,224,28, + 224,28,224,28,224,28,224,28,112,56,112,56,60,240,15,192, + 14,18,36,16,0,0,7,32,15,192,19,128,0,0,15,192, + 60,240,112,56,112,56,224,28,224,28,224,28,224,28,224,28, + 224,28,112,56,112,56,60,240,15,192,14,17,34,16,0,0, + 12,192,12,192,0,0,15,192,60,240,112,56,112,56,224,28, + 224,28,224,28,224,28,224,28,224,28,112,56,112,56,60,240, + 15,192,10,10,20,11,0,0,64,128,225,192,115,128,63,0, + 30,0,30,0,63,0,115,128,225,192,64,128,14,15,30,16, + 0,0,0,8,15,208,60,240,112,56,112,88,224,156,225,28, + 225,28,226,28,228,28,232,28,112,56,48,56,60,240,79,192, + 14,19,38,16,0,0,12,0,14,0,7,0,1,128,0,0, + 248,124,112,56,112,16,112,16,112,16,112,16,112,16,112,16, + 112,16,112,16,112,16,112,16,56,96,31,192,14,19,38,16, + 0,0,0,96,0,224,1,192,3,0,0,0,248,124,112,56, + 112,16,112,16,112,16,112,16,112,16,112,16,112,16,112,16, + 112,16,112,16,56,96,31,192,14,19,38,16,0,0,3,0, + 7,128,12,192,24,96,0,0,248,124,112,56,112,16,112,16, + 112,16,112,16,112,16,112,16,112,16,112,16,112,16,112,16, + 56,96,31,192,14,17,34,16,0,0,12,192,12,192,0,0, + 248,124,112,56,112,16,112,16,112,16,112,16,112,16,112,16, + 112,16,112,16,112,16,112,16,56,96,31,192,13,19,38,15, + 0,0,0,96,0,224,1,192,3,0,0,0,252,120,120,48, + 56,32,60,96,28,64,30,128,15,128,7,0,7,0,7,0, + 7,0,7,0,7,0,31,192,12,14,28,14,1,0,248,0, + 112,0,112,0,127,192,113,224,112,240,112,240,112,240,112,240, + 113,224,127,128,112,0,112,0,248,0,11,14,28,12,0,0, + 30,0,51,128,113,192,113,192,113,192,113,128,119,0,113,192, + 112,224,112,224,112,224,112,224,113,192,247,0,10,14,28,11, + 0,0,48,0,56,0,28,0,6,0,0,0,127,0,227,128, + 195,128,7,128,59,128,227,128,227,128,231,128,121,192,10,14, + 28,11,0,0,3,0,7,0,14,0,24,0,0,0,127,0, + 227,128,195,128,7,128,59,128,227,128,227,128,231,128,121,192, + 10,14,28,11,0,0,12,0,30,0,51,0,97,128,0,0, + 127,0,227,128,195,128,7,128,59,128,227,128,227,128,231,128, + 121,192,10,13,26,11,0,0,24,128,63,0,70,0,0,0, + 127,0,227,128,195,128,7,128,59,128,227,128,227,128,231,128, + 121,192,10,12,24,11,0,0,51,0,51,0,0,0,127,0, + 227,128,195,128,7,128,59,128,227,128,227,128,231,128,121,192, + 10,14,28,11,0,0,12,0,18,0,18,0,12,0,0,0, + 127,0,227,128,195,128,7,128,59,128,227,128,227,128,231,128, + 121,192,16,9,18,17,0,0,63,120,99,206,227,135,7,135, + 59,255,227,128,227,129,231,195,120,252,9,13,26,10,0,252, + 31,0,115,128,225,128,224,0,224,0,224,0,224,128,113,128, + 30,0,8,0,14,0,6,0,28,0,10,14,28,11,0,0, + 48,0,56,0,28,0,6,0,0,0,30,0,115,128,225,192, + 225,192,255,192,224,0,224,64,112,192,31,0,10,14,28,11, + 0,0,3,0,7,0,14,0,24,0,0,0,30,0,115,128, + 225,192,225,192,255,192,224,0,224,64,112,192,31,0,10,14, + 28,11,0,0,12,0,30,0,51,0,97,128,0,0,30,0, + 115,128,225,192,225,192,255,192,224,0,224,64,112,192,31,0, + 10,12,24,11,0,0,51,0,51,0,0,0,30,0,115,128, + 225,192,225,192,255,192,224,0,224,64,112,192,31,0,6,14, + 14,6,255,0,192,224,112,24,0,120,56,56,56,56,56,56, + 56,124,6,14,14,6,0,0,12,28,56,96,0,240,112,112, + 112,112,112,112,112,248,8,14,14,6,255,0,24,60,102,195, + 0,120,56,56,56,56,56,56,56,124,5,12,12,6,0,0, + 216,216,0,240,112,112,112,112,112,112,112,248,11,14,28,12, + 0,0,192,0,51,0,28,0,102,0,3,0,31,128,113,192, + 224,224,224,224,224,224,224,224,224,224,113,192,31,0,12,13, + 26,13,0,0,12,64,31,128,35,0,0,0,247,192,121,224, + 112,224,112,224,112,224,112,224,112,224,112,224,249,240,11,14, + 28,12,0,0,48,0,56,0,28,0,6,0,0,0,31,0, + 113,192,224,224,224,224,224,224,224,224,224,224,113,192,31,0, + 11,14,28,12,0,0,1,128,3,128,7,0,12,0,0,0, + 31,0,113,192,224,224,224,224,224,224,224,224,224,224,113,192, + 31,0,11,14,28,12,0,0,6,0,15,0,25,128,48,192, + 0,0,31,0,113,192,224,224,224,224,224,224,224,224,224,224, + 113,192,31,0,11,13,26,12,0,0,24,128,63,0,70,0, + 0,0,31,0,113,192,224,224,224,224,224,224,224,224,224,224, + 113,192,31,0,11,12,24,12,0,0,51,0,51,0,0,0, + 31,0,113,192,224,224,224,224,224,224,224,224,224,224,113,192, + 31,0,10,10,20,11,0,0,12,0,12,0,0,0,0,0, + 255,192,255,192,0,0,0,0,12,0,12,0,10,11,22,11, + 0,255,1,0,31,0,115,128,227,192,229,192,229,192,233,192, + 233,192,115,128,62,0,32,0,12,14,28,13,0,0,24,0, + 28,0,14,0,3,0,0,0,249,240,112,224,112,224,112,224, + 112,224,112,224,112,224,121,224,62,240,12,14,28,13,0,0, + 3,0,7,0,14,0,24,0,0,0,249,240,112,224,112,224, + 112,224,112,224,112,224,112,224,121,224,62,240,12,14,28,13, + 0,0,6,0,15,0,25,128,48,192,0,0,249,240,112,224, + 112,224,112,224,112,224,112,224,112,224,121,224,62,240,12,12, + 24,13,0,0,25,128,25,128,0,0,249,240,112,224,112,224, + 112,224,112,224,112,224,112,224,121,224,62,240,11,18,36,12, + 0,252,1,128,3,128,7,0,12,0,0,0,248,224,112,64, + 112,64,56,128,56,128,29,0,29,0,14,0,14,0,4,0, + 196,0,232,0,112,0,12,18,36,12,255,252,240,0,112,0, + 112,0,112,0,112,0,119,128,120,224,112,112,112,112,112,112, + 112,112,112,112,120,224,119,128,112,0,112,0,112,0,248,0, + 11,16,32,12,0,252,25,128,25,128,0,0,248,224,112,64, + 112,64,56,128,56,128,29,0,29,0,14,0,14,0,4,0, + 196,0,232,0,112,0}; +/* + Fontname: -Adobe-New Century Schoolbook-Bold-R-Normal--20-140-100-100-P-113-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 14, '1' Height: 14 + Calculated Max Values w=20 h=18 x= 4 y=10 dx=20 dy= 0 ascent=16 len=42 + Font Bounding box w=24 h=32 x=-3 y=-8 + Calculated Min Values x=-3 y=-4 dx= 0 dy= 0 + Pure Font ascent =14 descent=-4 + X Font ascent =14 descent=-4 + Max Font ascent =16 descent=-4 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_ncenB14r[2603] U8G_FONT_SECTION("u8g_font_ncenB14r") = { + 0,24,32,253,248,14,3,71,7,51,32,127,252,16,252,14, + 252,0,0,0,5,0,1,4,14,14,6,1,0,96,240,240, + 240,240,240,96,96,96,0,96,240,240,96,5,5,5,8,1, + 9,216,216,216,216,216,11,12,24,12,0,1,13,128,13,128, + 13,128,127,224,127,224,27,0,27,0,255,192,255,192,54,0, + 54,0,54,0,9,18,36,11,1,254,8,0,8,0,62,0, + 107,128,203,128,201,128,232,0,252,0,255,0,127,128,31,128, + 11,128,201,128,233,128,235,0,62,0,8,0,8,0,14,15, + 30,15,0,255,56,192,103,64,196,192,196,128,197,128,201,0, + 115,0,2,56,6,100,4,196,12,196,8,196,24,200,16,112, + 16,0,16,14,28,17,1,0,7,128,12,192,24,192,24,192, + 29,128,31,0,14,62,63,24,119,144,227,224,225,224,224,241, + 241,254,127,28,2,5,5,5,1,9,192,192,192,192,192,5, + 16,16,6,0,254,24,48,112,96,224,192,192,192,192,192,192, + 224,96,112,48,24,5,16,16,6,0,254,192,96,112,48,56, + 24,24,24,24,24,24,56,48,112,96,192,7,7,7,8,0, + 7,56,146,214,56,214,146,56,10,10,20,11,0,0,12,0, + 12,0,12,0,12,0,255,192,255,192,12,0,12,0,12,0, + 12,0,4,7,7,5,0,253,96,240,240,112,32,64,128,5, + 3,3,6,0,3,248,248,248,4,4,4,5,0,0,96,240, + 240,96,6,14,14,7,0,0,12,12,8,24,24,16,48,48, + 32,96,96,64,192,192,9,14,28,11,1,0,28,0,119,0, + 99,0,227,128,227,128,227,128,227,128,227,128,227,128,227,128, + 227,128,99,0,119,0,28,0,7,14,14,11,2,0,24,56, + 248,56,56,56,56,56,56,56,56,56,56,254,9,14,28,11, + 1,0,30,0,103,0,227,128,227,128,99,128,3,128,7,0, + 7,0,14,0,24,0,48,0,96,128,255,128,255,128,9,14, + 28,11,1,0,30,0,103,0,227,128,227,128,99,128,3,0, + 28,0,3,0,3,128,99,128,227,128,227,128,103,0,62,0, + 9,14,28,11,1,0,1,0,3,0,7,0,15,0,15,0, + 23,0,39,0,71,0,71,0,135,0,255,128,7,0,7,0, + 15,128,9,14,28,11,1,0,127,128,127,0,64,0,64,0, + 64,0,126,0,71,0,3,128,3,128,99,128,227,128,227,128, + 103,0,62,0,9,14,28,11,1,0,31,0,115,128,99,128, + 227,0,224,0,238,0,247,0,227,128,227,128,227,128,227,128, + 99,128,115,0,28,0,9,14,28,11,1,0,255,128,255,128, + 129,128,131,0,6,0,6,0,12,0,12,0,28,0,28,0, + 56,0,56,0,56,0,56,0,9,14,28,11,1,0,28,0, + 99,0,193,128,193,128,225,128,251,0,126,0,63,0,79,128, + 195,128,193,128,193,128,227,0,60,0,9,14,28,11,1,0, + 28,0,103,0,227,0,227,128,227,128,227,128,227,128,119,128, + 59,128,3,128,99,128,227,0,231,0,124,0,4,9,9,6, + 1,0,96,240,240,96,0,96,240,240,96,4,12,12,6,1, + 253,96,240,240,96,0,96,240,240,112,32,64,128,10,10,20, + 11,0,0,0,192,3,192,15,0,60,0,240,0,240,0,60, + 0,15,0,3,192,0,192,9,6,12,11,1,2,255,128,255, + 128,0,0,0,0,255,128,255,128,10,10,20,11,0,0,192, + 0,240,0,60,0,15,0,3,192,3,192,15,0,60,0,240, + 0,192,0,9,14,28,10,0,0,31,0,103,128,227,128,227, + 128,99,128,3,0,6,0,12,0,24,0,0,0,24,0,60, + 0,60,0,24,0,15,14,28,16,0,0,7,240,28,12,48, + 4,99,230,102,102,204,102,204,102,216,204,216,204,217,216,206, + 240,96,8,112,48,31,224,14,14,28,14,255,0,1,0,1, + 128,3,128,3,192,5,192,4,192,8,224,8,224,16,112,31, + 240,32,112,32,56,96,56,240,124,12,14,28,14,0,0,255, + 192,113,224,112,224,112,224,112,224,113,192,127,128,112,224,112, + 112,112,112,112,112,112,112,112,224,255,128,12,14,28,14,0, + 0,15,144,60,240,112,48,112,48,224,16,224,16,224,0,224, + 0,224,0,224,16,112,16,112,32,60,96,15,128,14,14,28, + 16,0,0,255,192,112,240,112,56,112,56,112,28,112,28,112, + 28,112,28,112,28,112,28,112,56,112,56,112,240,255,192,11, + 14,28,13,0,0,255,224,112,224,112,96,113,32,113,32,115, + 0,127,0,115,0,113,0,113,32,112,32,112,96,112,224,255, + 224,11,14,28,13,0,0,255,224,112,224,112,96,113,32,113, + 32,115,0,127,0,115,0,113,0,113,0,112,0,112,0,112, + 0,252,0,13,14,28,15,0,0,15,144,60,240,112,48,112, + 48,224,16,224,16,224,0,224,0,224,248,224,112,112,112,112, + 112,60,240,15,144,14,14,28,16,0,0,248,124,112,56,112, + 56,112,56,112,56,112,56,127,248,112,56,112,56,112,56,112, + 56,112,56,112,56,248,124,5,14,14,9,1,0,248,112,112, + 112,112,112,112,112,112,112,112,112,112,248,10,14,28,12,255, + 0,7,192,3,128,3,128,3,128,3,128,3,128,3,128,3, + 128,99,128,243,128,243,128,195,128,103,0,60,0,14,14,28, + 16,0,0,248,248,112,96,112,192,113,128,115,0,118,0,126, + 0,127,0,119,128,115,192,113,224,112,240,112,120,248,252,10, + 14,28,12,0,0,248,0,112,0,112,0,112,0,112,0,112, + 0,112,0,112,0,112,0,112,64,112,64,112,192,113,192,255, + 192,17,14,42,19,0,0,252,15,128,60,15,0,62,15,0, + 46,23,0,39,23,0,39,23,0,39,39,0,35,167,0,35, + 167,0,35,199,0,33,199,0,33,199,0,112,135,0,248,143, + 128,14,14,28,16,0,0,240,124,120,56,60,16,60,16,62, + 16,47,16,39,144,35,208,33,240,32,240,32,240,32,112,112, + 48,248,16,14,14,28,16,0,0,15,192,60,240,112,56,112, + 56,224,28,224,28,224,28,224,28,224,28,224,28,112,56,112, + 56,60,240,15,192,12,14,28,14,0,0,255,128,113,224,112, + 240,112,240,112,240,112,240,113,224,127,128,112,0,112,0,112, + 0,112,0,112,0,248,0,14,18,36,16,0,252,15,192,60, + 240,112,56,112,56,224,28,224,28,224,28,224,28,224,28,239, + 28,115,152,113,184,61,240,15,192,0,192,0,232,0,248,0, + 112,13,14,28,16,0,0,255,224,112,240,112,112,112,112,112, + 112,112,224,127,128,113,192,113,192,113,224,112,224,112,224,112, + 232,248,112,10,14,28,12,0,0,30,128,115,128,225,128,224, + 128,240,0,252,0,127,0,31,128,7,192,131,192,129,192,193, + 192,243,128,159,0,11,14,28,13,0,0,255,224,206,96,142, + 32,142,32,142,32,14,0,14,0,14,0,14,0,14,0,14, + 0,14,0,14,0,31,0,14,14,28,16,0,0,248,124,112, + 56,112,16,112,16,112,16,112,16,112,16,112,16,112,16,112, + 16,112,16,112,16,56,96,15,192,15,14,28,14,255,0,252, + 62,120,28,56,8,60,16,28,16,28,16,14,32,14,32,7, + 64,7,64,3,128,3,128,1,0,1,0,20,14,42,19,255, + 0,253,249,240,120,240,224,56,112,64,60,120,128,28,120,128, + 28,120,128,30,189,0,14,157,0,14,157,0,15,30,0,7, + 14,0,7,14,0,2,4,0,2,4,0,15,14,28,17,0, + 0,126,124,60,56,30,48,14,96,15,192,7,128,3,192,7, + 192,7,224,12,240,24,112,56,120,112,60,248,126,13,14,28, + 15,0,0,252,120,120,48,56,32,60,96,28,64,30,128,15, + 128,7,0,7,0,7,0,7,0,7,0,7,0,31,192,12, + 14,28,13,0,0,255,240,224,112,192,224,129,224,131,192,7, + 128,7,0,15,0,30,0,60,16,120,16,112,48,224,112,255, + 240,4,16,16,6,1,254,240,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,240,8,14,14,9,0,0,192,192,96, + 96,48,48,24,24,12,12,6,6,3,3,4,16,16,6,0, + 254,240,48,48,48,48,48,48,48,48,48,48,48,48,48,48, + 240,8,8,8,9,0,6,24,24,60,60,102,102,195,195,9, + 2,4,9,0,253,255,128,255,128,5,4,4,7,1,10,192, + 224,112,24,10,9,18,11,0,0,127,0,227,128,195,128,7, + 128,59,128,227,128,227,128,231,128,121,192,12,14,28,12,255, + 0,240,0,112,0,112,0,112,0,112,0,119,128,120,224,112, + 112,112,112,112,112,112,112,112,112,120,224,111,128,9,9,18, + 10,0,0,31,0,115,128,225,128,224,0,224,0,224,0,224, + 128,113,128,30,0,12,14,28,13,0,0,1,224,0,224,0, + 224,0,224,0,224,30,224,113,224,224,224,224,224,224,224,224, + 224,224,224,113,224,30,240,10,9,18,11,0,0,30,0,115, + 128,225,192,225,192,255,192,224,0,224,64,112,192,31,0,8, + 14,14,7,0,0,30,55,119,112,112,252,112,112,112,112,112, + 112,112,248,11,15,30,11,0,252,0,96,0,224,63,0,115, + 128,97,128,97,128,115,128,63,0,96,0,127,128,63,192,193, + 192,192,192,225,128,127,0,12,14,28,13,0,0,240,0,112, + 0,112,0,112,0,112,0,119,192,121,224,112,224,112,224,112, + 224,112,224,112,224,112,224,249,240,5,14,14,6,0,0,112, + 112,112,0,0,240,112,112,112,112,112,112,112,248,7,18,18, + 6,253,252,14,14,14,0,0,30,14,14,14,14,14,14,14, + 14,14,238,236,120,12,14,28,13,0,0,240,0,112,0,112, + 0,112,0,112,0,115,224,113,128,114,0,118,0,127,0,119, + 128,115,192,113,224,251,240,5,14,14,6,0,0,240,112,112, + 112,112,112,112,112,112,112,112,112,112,248,19,9,27,20,0, + 0,247,223,128,121,243,192,112,225,192,112,225,192,112,225,192, + 112,225,192,112,225,192,112,225,192,249,243,224,12,9,18,13, + 0,0,247,192,121,224,112,224,112,224,112,224,112,224,112,224, + 112,224,249,240,11,9,18,12,0,0,31,0,113,192,224,224, + 224,224,224,224,224,224,224,224,113,192,31,0,12,13,26,12, + 255,252,231,128,120,224,112,112,112,112,112,112,112,112,112,112, + 120,224,119,128,112,0,112,0,112,0,248,0,12,13,26,12, + 0,252,30,96,113,224,224,224,224,224,224,224,224,224,224,224, + 113,224,30,224,0,224,0,224,0,224,1,240,8,9,9,9, + 0,0,246,123,115,112,112,112,112,112,248,9,9,18,10,0, + 0,61,0,99,0,225,0,252,0,127,0,15,128,131,128,195, + 0,190,0,7,13,13,8,0,0,16,16,48,112,252,112,112, + 112,112,112,114,114,60,12,9,18,13,0,0,249,224,112,224, + 112,224,112,224,112,224,112,224,112,224,121,224,62,240,10,9, + 18,9,255,0,249,192,112,128,112,128,57,0,57,0,30,0, + 30,0,12,0,12,0,16,9,18,15,255,0,251,231,113,194, + 113,194,57,228,57,228,30,120,30,120,12,48,12,48,11,9, + 18,12,0,0,253,224,120,192,61,128,31,0,14,0,31,0, + 55,128,99,192,247,224,11,13,26,12,0,252,248,224,112,64, + 112,64,56,128,56,128,29,0,29,0,14,0,14,0,4,0, + 196,0,232,0,112,0,9,9,18,10,0,0,255,128,199,128, + 143,0,30,0,60,0,120,128,240,128,225,128,255,128,5,16, + 16,6,0,254,24,48,112,112,112,112,96,192,96,112,112,112, + 112,112,48,24,2,14,14,11,4,0,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,5,16,16,6,0,254,192,96, + 112,112,112,112,48,24,48,112,112,112,112,112,96,192,10,3, + 6,12,1,4,57,192,127,128,231,0,255}; +/* + Fontname: -Adobe-New Century Schoolbook-Bold-R-Normal--25-180-100-100-P-149-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 18, '1' Height: 18 + Calculated Max Values w=26 h=24 x= 6 y=15 dx=26 dy= 0 ascent=24 len=72 + Font Bounding box w=33 h=40 x=-4 y=-10 + Calculated Min Values x=-3 y=-5 dx= 0 dy= 0 + Pure Font ascent =18 descent=-5 + X Font ascent =18 descent=-5 + Max Font ascent =24 descent=-5 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_ncenB18[8114] U8G_FONT_SECTION("u8g_font_ncenB18") = { + 0,33,40,252,246,18,4,68,10,106,32,255,251,24,251,18, + 251,0,0,0,7,0,1,5,18,18,7,1,0,112,248,248, + 248,112,112,112,112,112,112,32,32,0,0,112,248,248,112,6, + 6,6,8,1,12,204,204,204,204,204,136,12,18,36,14,1, + 0,12,192,12,192,12,192,12,192,12,192,127,240,127,240,25, + 128,25,128,25,128,25,128,255,224,255,224,51,0,51,0,51, + 0,51,0,51,0,12,23,46,14,1,253,4,0,4,0,31, + 192,116,96,100,240,228,240,228,240,244,96,252,0,255,0,127, + 192,31,224,7,240,5,240,100,240,244,112,244,112,244,96,100, + 224,63,128,4,0,4,0,4,0,19,18,54,21,1,0,30, + 14,0,123,54,0,113,204,0,241,12,0,225,24,0,226,24, + 0,226,48,0,100,48,0,56,96,0,0,99,192,0,207,96, + 0,206,32,1,158,32,1,156,32,3,28,64,3,28,64,6, + 12,128,6,7,0,20,18,54,22,1,0,1,240,0,7,56, + 0,14,24,0,14,24,0,14,24,0,15,48,0,15,224,0, + 7,192,0,15,192,0,57,227,240,113,241,192,240,241,128,240, + 121,0,240,127,0,240,62,16,120,31,16,124,63,224,31,199, + 192,2,6,6,6,2,12,192,192,192,192,192,192,6,21,21, + 8,1,253,4,12,24,48,48,96,96,224,224,224,224,224,224, + 224,96,96,48,48,24,12,4,6,21,21,8,1,253,128,192, + 96,48,48,24,24,28,28,28,28,28,28,28,24,24,48,48, + 96,192,128,9,10,20,11,1,8,28,0,28,0,201,128,235, + 128,62,0,62,0,235,128,201,128,28,0,28,0,12,12,24, + 14,1,1,6,0,6,0,6,0,6,0,6,0,255,240,255, + 240,6,0,6,0,6,0,6,0,6,0,5,8,8,7,1, + 252,112,248,248,120,48,32,64,128,6,3,3,8,1,5,252, + 252,252,5,4,4,7,1,0,112,248,248,112,7,18,18,9, + 1,0,6,6,6,12,12,12,24,24,24,48,48,48,96,96, + 96,192,192,192,12,18,36,14,1,0,15,0,57,192,112,224, + 112,224,240,240,240,240,240,240,240,240,240,240,240,240,240,240, + 240,240,240,240,240,240,112,224,112,224,57,192,15,0,10,18, + 36,14,2,0,30,0,254,0,30,0,30,0,30,0,30,0, + 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, + 30,0,30,0,63,0,255,192,11,18,36,14,1,0,31,0, + 99,192,225,224,241,224,241,224,241,224,97,224,1,192,3,192, + 3,128,7,0,14,0,24,32,48,32,112,96,255,224,255,224, + 255,224,12,18,36,14,1,0,15,128,49,224,112,224,120,240, + 120,240,120,240,48,224,1,192,15,0,1,192,0,224,96,240, + 240,240,240,240,240,240,224,224,97,224,31,128,12,18,36,14, + 1,0,0,192,1,192,3,192,7,192,7,192,15,192,27,192, + 19,192,51,192,99,192,99,192,195,192,255,240,255,240,3,192, + 3,192,3,192,15,240,12,18,36,14,1,0,127,240,127,224, + 127,192,64,0,64,0,64,0,95,0,113,192,96,224,0,240, + 0,240,0,240,96,240,240,240,240,240,240,224,97,192,63,0, + 12,18,36,14,1,0,15,128,56,192,113,224,113,224,241,224, + 240,192,240,0,247,128,249,224,240,224,240,240,240,240,240,240, + 240,240,240,240,112,224,121,224,31,128,12,18,36,14,1,0, + 255,240,255,240,255,224,192,96,128,192,129,192,3,128,3,128, + 7,0,7,0,15,0,15,0,30,0,30,0,30,0,30,0, + 30,0,12,0,12,18,36,14,1,0,15,0,57,192,112,224, + 112,224,112,224,120,224,124,192,63,128,31,128,63,192,119,224, + 225,240,224,240,224,112,224,112,224,96,112,192,31,128,12,18, + 36,14,1,0,31,128,121,224,112,224,240,240,240,240,240,240, + 240,240,240,240,112,240,121,240,30,240,0,240,48,240,120,240, + 120,224,120,224,49,192,31,0,5,12,12,7,1,0,112,248, + 248,112,0,0,0,0,112,248,248,112,5,16,16,7,1,252, + 112,248,248,112,0,0,0,0,112,248,248,120,48,32,64,128, + 12,12,24,14,1,1,0,48,0,240,3,192,15,0,60,0, + 240,0,240,0,60,0,15,0,3,192,0,240,0,48,12,6, + 12,14,1,4,255,240,255,240,0,0,0,0,255,240,255,240, + 12,12,24,14,1,1,192,0,240,0,60,0,15,0,3,192, + 0,240,0,240,3,192,15,0,60,0,240,0,192,0,11,18, + 36,13,1,0,63,0,99,192,241,224,241,224,97,224,1,224, + 1,192,3,128,7,0,12,0,24,0,24,0,0,0,0,0, + 28,0,62,0,62,0,28,0,19,18,54,20,1,0,1,252, + 0,15,6,0,12,1,128,48,0,192,48,220,192,99,188,96, + 103,28,96,199,28,96,206,28,96,206,56,96,206,56,64,206, + 56,192,206,121,128,103,191,0,96,0,0,56,1,0,28,7, + 0,7,252,0,19,18,54,19,0,0,0,96,0,0,96,0, + 0,240,0,0,240,0,1,120,0,1,120,0,3,60,0,2, + 60,0,2,60,0,6,30,0,4,30,0,7,254,0,12,15, + 0,8,15,0,8,15,0,24,7,128,56,7,128,254,31,224, + 17,18,54,19,1,0,255,248,0,60,62,0,60,31,0,60, + 31,0,60,31,0,60,31,0,60,30,0,60,60,0,63,248, + 0,60,30,0,60,15,0,60,15,128,60,15,128,60,15,128, + 60,15,128,60,15,128,60,31,0,255,252,0,17,18,54,19, + 1,0,3,249,128,15,15,128,60,3,128,60,1,128,120,1, + 128,120,0,128,248,0,128,248,0,0,248,0,0,248,0,0, + 248,0,0,248,0,0,120,0,128,120,0,128,60,1,0,60, + 1,0,15,6,0,3,248,0,18,18,54,20,1,0,255,240, + 0,60,60,0,60,15,0,60,15,0,60,7,128,60,7,128, + 60,7,192,60,7,192,60,7,192,60,7,192,60,7,192,60, + 7,192,60,7,128,60,7,128,60,15,0,60,15,0,60,60, + 0,255,240,0,15,18,36,18,1,0,255,254,60,30,60,6, + 60,2,60,2,60,34,60,32,60,96,63,224,60,96,60,32, + 60,32,60,2,60,2,60,2,60,6,60,30,255,254,15,18, + 36,17,1,0,255,254,60,30,60,6,60,2,60,2,60,34, + 60,32,60,96,63,224,60,96,60,32,60,32,60,0,60,0, + 60,0,60,0,60,0,255,0,18,18,54,20,1,0,3,249, + 128,15,15,128,60,3,128,60,1,128,120,1,128,120,0,128, + 248,0,128,248,0,0,248,0,0,248,0,0,248,15,192,248, + 7,128,120,7,128,120,7,128,60,7,128,60,7,128,15,13, + 128,3,248,128,19,18,54,21,1,0,255,31,224,60,7,128, + 60,7,128,60,7,128,60,7,128,60,7,128,60,7,128,60, + 7,128,63,255,128,60,7,128,60,7,128,60,7,128,60,7, + 128,60,7,128,60,7,128,60,7,128,60,7,128,255,31,224, + 8,18,18,10,1,0,255,60,60,60,60,60,60,60,60,60, + 60,60,60,60,60,60,60,255,14,18,36,16,0,0,3,252, + 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, + 0,240,0,240,96,240,240,240,240,240,224,240,192,224,97,224, + 63,128,20,18,54,21,1,0,255,15,192,60,3,0,60,6, + 0,60,12,0,60,24,0,60,48,0,60,96,0,60,224,0, + 61,240,0,63,248,0,62,248,0,60,124,0,60,62,0,60, + 31,0,60,31,0,60,15,128,60,7,192,255,15,240,15,18, + 36,17,1,0,255,0,60,0,60,0,60,0,60,0,60,0, + 60,0,60,0,60,0,60,0,60,0,60,0,60,2,60,2, + 60,2,60,6,60,30,255,254,22,18,54,24,1,0,252,1, + 252,60,1,240,62,3,240,62,2,240,46,2,240,47,6,240, + 39,4,240,39,132,240,39,140,240,35,136,240,35,200,240,35, + 216,240,33,208,240,33,240,240,32,224,240,32,224,240,112,96, + 240,248,67,252,20,18,54,22,1,0,252,7,240,62,1,192, + 31,0,128,31,128,128,31,192,128,23,224,128,19,240,128,17, + 240,128,16,248,128,16,124,128,16,126,128,16,63,128,16,31, + 128,16,15,128,16,7,128,16,3,128,56,1,128,254,0,128, + 19,18,54,21,1,0,3,248,0,15,30,0,60,7,128,60, + 7,128,120,3,192,120,3,192,248,3,224,248,3,224,248,3, + 224,248,3,224,248,3,224,248,3,224,120,3,192,120,3,192, + 60,7,128,60,7,128,15,30,0,3,248,0,17,18,54,18, + 1,0,255,252,0,60,31,0,60,15,0,60,15,128,60,15, + 128,60,15,128,60,15,128,60,15,0,60,31,0,63,248,0, + 60,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60, + 0,0,60,0,0,255,128,0,19,23,69,21,1,251,3,248, + 0,15,30,0,60,7,128,60,7,128,120,3,192,120,3,192, + 248,3,224,248,3,224,248,3,224,248,3,224,248,3,224,251, + 227,224,126,115,192,124,51,192,60,51,128,60,27,128,15,30, + 0,3,254,0,0,14,0,0,15,32,0,7,192,0,7,192, + 0,3,128,19,18,54,21,1,0,255,248,0,60,62,0,60, + 31,0,60,31,0,60,31,0,60,31,0,60,30,0,60,60, + 0,63,224,0,60,120,0,60,60,0,60,60,0,60,62,0, + 60,30,0,60,31,32,60,15,32,60,15,192,255,135,128,14, + 18,36,16,1,0,15,200,56,120,96,24,224,24,224,8,240, + 8,254,0,255,192,127,240,63,248,15,252,1,252,128,60,128, + 28,192,28,192,24,240,112,159,192,16,18,36,18,1,0,255, + 255,227,199,195,195,131,193,131,193,131,193,3,192,3,192,3, + 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, + 192,15,240,19,18,54,21,1,0,255,15,224,60,3,128,60, + 1,0,60,1,0,60,1,0,60,1,0,60,1,0,60,1, + 0,60,1,0,60,1,0,60,1,0,60,1,0,60,1,0, + 60,1,0,60,2,0,30,2,0,31,140,0,7,248,0,19, + 18,54,19,0,0,255,15,224,60,3,128,60,3,0,30,2, + 0,30,2,0,30,6,0,15,4,0,15,4,0,15,12,0, + 7,136,0,7,136,0,7,152,0,3,208,0,3,208,0,1, + 224,0,1,224,0,0,192,0,0,192,0,26,18,72,26,0, + 0,255,127,159,192,60,30,7,0,60,30,6,0,30,15,4, + 0,30,15,4,0,30,15,12,0,15,31,136,0,15,23,136, + 0,15,23,152,0,7,179,208,0,7,163,208,0,7,163,240, + 0,3,225,224,0,3,193,224,0,3,193,224,0,1,192,192, + 0,1,128,192,0,1,128,192,0,20,18,54,20,0,0,255, + 135,224,62,1,128,31,3,0,31,134,0,15,140,0,7,216, + 0,3,240,0,3,224,0,1,240,0,0,248,0,1,248,0, + 3,124,0,6,62,0,4,31,0,12,31,0,24,15,128,48, + 7,192,252,31,240,18,18,54,18,0,0,255,15,192,60,3, + 0,30,2,0,30,6,0,15,4,0,15,12,0,7,136,0, + 7,152,0,3,208,0,3,240,0,1,224,0,1,224,0,1, + 224,0,1,224,0,1,224,0,1,224,0,1,224,0,7,248, + 0,15,18,36,17,1,0,127,254,112,62,96,124,64,120,64, + 248,0,240,1,224,3,224,3,192,7,128,15,128,15,0,30, + 0,62,2,60,2,120,6,248,14,255,254,6,21,21,8,1, + 253,252,224,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,252,10,18,36,12,1,0,192,0,224,0, + 224,0,112,0,112,0,56,0,56,0,28,0,28,0,14,0, + 14,0,7,0,7,0,3,128,3,128,1,192,1,192,0,192, + 6,21,21,8,1,253,252,28,28,28,28,28,28,28,28,28, + 28,28,28,28,28,28,28,28,28,28,252,10,10,20,15,2, + 8,12,0,12,0,30,0,30,0,51,0,51,0,97,128,97, + 128,192,192,192,192,12,2,4,12,0,252,255,240,255,240,5, + 5,5,7,1,13,224,224,112,48,24,14,12,24,15,0,0, + 127,128,241,224,240,240,96,240,1,240,14,240,120,240,240,240, + 240,240,240,240,249,252,126,56,16,18,36,16,255,0,252,0, + 60,0,60,0,60,0,60,0,60,0,61,240,63,28,62,30, + 60,14,60,15,60,15,60,15,60,15,60,14,60,30,62,28, + 39,240,13,12,24,14,0,0,15,240,56,120,120,120,112,48, + 240,0,240,0,240,0,240,0,120,8,120,8,60,48,31,224, + 16,18,36,17,0,0,0,252,0,60,0,60,0,60,0,60, + 0,60,15,188,56,252,120,124,112,60,240,60,240,60,240,60, + 240,60,112,60,120,124,56,252,15,191,14,12,24,15,0,0, + 15,192,56,112,120,120,112,56,240,60,255,252,240,0,240,0, + 120,8,120,8,60,48,15,224,12,18,36,10,0,0,7,224, + 28,240,28,240,60,96,60,0,60,0,255,128,60,0,60,0, + 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, + 255,0,13,18,36,15,1,251,0,56,31,248,121,224,240,240, + 240,240,240,240,240,240,121,224,63,128,96,0,224,0,255,192, + 127,240,127,248,96,56,192,24,224,48,127,224,17,18,54,18, + 0,0,252,0,0,60,0,0,60,0,0,60,0,0,60,0, + 0,60,0,0,60,248,0,61,252,0,62,62,0,60,30,0, + 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, + 30,0,60,30,0,254,63,128,8,18,18,9,0,0,24,60, + 60,24,0,0,252,60,60,60,60,60,60,60,60,60,60,255, + 8,23,23,7,253,251,6,15,15,6,0,0,63,15,15,15, + 15,15,15,15,15,15,15,15,15,15,206,206,120,17,18,54, + 17,0,0,252,0,0,60,0,0,60,0,0,60,0,0,60, + 0,0,60,0,0,60,254,0,60,56,0,60,48,0,60,96, + 0,60,192,0,63,192,0,63,224,0,60,240,0,60,120,0, + 60,60,0,60,30,0,255,127,128,8,18,18,9,0,0,252, + 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60, + 255,24,12,36,25,0,0,252,240,240,61,249,248,62,126,124, + 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60, + 60,60,60,60,60,60,60,60,254,126,127,17,12,36,18,0, + 0,252,248,0,61,252,0,62,62,0,60,30,0,60,30,0, + 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, + 30,0,254,63,128,14,12,24,15,0,0,15,192,56,112,120, + 120,112,56,240,60,240,60,240,60,240,60,112,56,120,120,56, + 112,15,192,16,17,34,16,255,251,253,240,63,28,60,30,60, + 14,60,15,60,15,60,15,60,15,60,14,62,30,63,28,61, + 240,60,0,60,0,60,0,60,0,255,0,16,17,34,16,0, + 251,15,132,60,236,120,60,112,60,240,60,240,60,240,60,240, + 60,112,60,120,124,56,252,15,188,0,60,0,60,0,60,0, + 60,0,255,12,12,24,12,0,0,252,224,61,240,62,240,60, + 96,60,0,60,0,60,0,60,0,60,0,60,0,60,0,255, + 0,10,12,24,11,0,0,62,128,99,128,193,128,224,128,252, + 0,255,128,127,192,15,192,129,192,192,192,225,128,191,0,10, + 17,34,10,0,0,4,0,12,0,12,0,28,0,60,0,255, + 128,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60, + 64,60,64,31,128,15,0,17,12,36,18,0,0,254,126,0, + 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, + 30,0,60,30,0,60,30,0,62,62,0,31,222,0,15,159, + 128,16,12,24,15,255,0,255,31,60,4,30,12,30,8,15, + 24,15,16,7,176,7,160,3,224,3,192,1,192,1,128,23, + 12,36,22,255,0,255,63,62,60,30,8,60,30,8,30,63, + 24,30,47,16,30,47,16,15,103,176,15,71,160,7,195,224, + 7,131,192,3,129,192,3,1,128,17,12,36,16,255,0,255, + 31,0,62,12,0,31,24,0,15,176,0,7,224,0,3,192, + 0,1,224,0,3,240,0,6,248,0,12,124,0,24,62,0, + 124,127,128,16,17,34,15,255,251,254,63,60,12,30,8,30, + 24,15,16,15,48,7,160,7,224,3,192,3,192,1,192,1, + 128,1,128,97,0,243,0,254,0,120,0,11,12,24,12,0, + 0,255,224,225,224,195,224,135,192,143,128,15,0,30,0,62, + 32,124,32,248,96,240,224,255,224,6,21,21,8,1,253,28, + 48,112,112,112,112,112,112,112,96,192,96,112,112,112,112,112, + 112,112,48,28,3,18,18,15,6,0,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,6,21,21,8, + 1,253,224,48,56,56,56,56,56,56,56,24,12,24,56,56, + 56,56,56,56,56,48,224,12,5,10,15,1,4,56,32,126, + 112,255,240,231,224,65,192,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,255,255,255,255,255,255,255,0,0,0,7,0,1,5,18, + 18,7,1,251,112,248,248,112,0,0,32,32,112,112,112,112, + 112,112,248,248,248,112,12,15,30,14,1,255,0,32,0,64, + 15,192,56,240,121,240,113,96,242,0,242,0,244,0,244,0, + 120,16,120,16,60,96,47,192,64,0,14,18,36,15,0,0, + 3,224,15,48,14,120,30,120,30,48,30,0,30,0,30,0, + 127,224,15,0,15,0,15,0,7,0,7,4,126,12,207,252, + 207,248,113,240,12,12,24,14,1,2,207,48,255,240,127,224, + 112,224,224,112,224,112,224,112,224,112,112,224,127,224,255,240, + 207,48,19,18,54,19,0,0,255,143,224,62,3,0,62,3, + 0,31,6,0,31,6,0,15,140,0,15,140,0,7,216,0, + 7,248,0,31,254,0,1,224,0,1,224,0,31,254,0,1, + 224,0,1,224,0,1,224,0,3,240,0,15,252,0,3,18, + 18,14,6,0,224,224,224,224,224,224,224,0,0,0,224,224, + 224,224,224,224,224,224,11,20,40,13,1,254,31,0,35,128, + 99,128,99,0,120,0,62,0,63,128,71,192,193,224,224,224, + 240,96,124,96,63,64,15,128,3,128,1,128,48,128,112,128, + 113,0,62,0,10,4,8,12,1,14,97,128,243,192,243,192, + 97,128,19,18,54,21,1,0,3,248,0,15,254,0,60,7, + 128,48,1,128,97,248,192,103,24,192,198,8,96,206,0,96, + 206,0,96,206,0,96,206,0,96,199,4,96,103,136,192,97, + 240,192,48,1,128,60,7,128,15,254,0,3,248,0,8,10, + 10,10,1,8,120,206,6,126,198,206,119,0,0,255,11,7, + 14,13,1,3,28,224,57,192,115,128,231,0,115,128,57,192, + 28,224,11,6,12,13,1,4,255,224,255,224,0,96,0,96, + 0,96,0,96,6,3,3,8,1,5,252,252,252,19,18,54, + 21,1,0,3,248,0,15,254,0,60,7,128,48,1,128,103, + 240,192,99,24,192,195,24,96,195,24,96,195,240,96,195,96, + 96,195,48,96,195,48,96,99,24,192,103,156,192,48,1,128, + 60,7,128,15,254,0,3,248,0,8,2,2,10,1,15,255, + 255,8,7,7,9,0,11,60,102,195,195,195,102,60,12,11, + 22,14,1,1,6,0,6,0,6,0,255,240,255,240,6,0, + 6,0,6,0,0,0,255,240,255,240,7,11,11,8,0,7, + 124,206,198,198,14,12,24,48,98,254,254,7,11,11,8,0, + 7,124,206,198,6,12,60,14,6,198,206,124,5,5,5,7, + 1,14,24,56,112,96,192,17,17,51,18,0,251,254,63,128, + 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, + 30,0,60,30,0,60,30,0,62,62,0,63,222,0,39,159, + 128,48,0,0,48,0,0,120,0,0,120,0,0,48,0,0, + 16,18,36,18,1,0,31,255,127,156,127,156,255,156,255,156, + 255,156,127,156,127,156,31,156,3,156,3,156,3,156,3,156, + 3,156,3,156,3,156,3,156,15,255,3,4,4,7,2,5, + 224,224,224,224,5,6,6,7,1,251,16,32,112,56,24,240, + 6,11,11,8,0,7,48,240,48,48,48,48,48,48,48,48, + 252,9,10,20,11,1,8,28,0,99,0,227,128,227,128,227, + 128,99,0,28,0,0,0,0,0,255,128,11,7,14,13,1, + 3,231,0,115,128,57,192,28,224,57,192,115,128,231,0,18, + 18,54,21,1,0,48,6,0,240,6,0,48,12,0,48,24, + 0,48,24,0,48,48,0,48,96,0,48,99,0,48,199,0, + 49,135,0,253,143,0,3,27,0,6,19,0,6,51,0,12, + 99,0,24,127,192,24,3,0,48,7,128,18,18,54,21,1, + 0,48,6,0,240,6,0,48,12,0,48,24,0,48,24,0, + 48,48,0,48,96,0,48,111,128,48,201,192,49,152,192,253, + 152,192,3,1,192,6,1,128,6,3,0,12,6,0,24,12, + 64,24,31,192,48,31,192,19,18,54,21,0,0,124,3,0, + 206,3,0,198,6,0,6,12,0,12,12,0,56,24,0,12, + 48,0,6,49,128,198,99,128,206,195,128,124,197,128,1,141, + 128,3,25,128,3,25,128,6,49,128,12,63,224,12,1,128, + 24,3,192,11,18,36,13,1,251,7,0,15,128,15,128,7, + 0,0,0,0,0,3,0,3,0,6,0,28,0,56,0,112, + 0,240,0,240,192,241,224,241,224,120,192,31,128,19,24,72, + 19,0,0,6,0,0,7,0,0,3,128,0,1,192,0,0, + 96,0,0,0,0,0,96,0,0,96,0,0,240,0,0,240, + 0,1,120,0,1,120,0,3,60,0,2,60,0,2,60,0, + 6,30,0,4,30,0,7,254,0,12,15,0,8,15,0,8, + 15,0,24,7,128,56,7,128,254,31,224,19,24,72,19,0, + 0,0,6,0,0,14,0,0,28,0,0,48,0,0,96,0, + 0,0,0,0,96,0,0,96,0,0,240,0,0,240,0,1, + 120,0,1,120,0,3,60,0,2,60,0,2,60,0,6,30, + 0,4,30,0,7,254,0,12,15,0,8,15,0,8,15,0, + 24,7,128,56,7,128,254,31,224,19,23,69,19,0,0,0, + 96,0,0,240,0,1,152,0,3,12,0,0,0,0,0,96, + 0,0,96,0,0,240,0,0,240,0,1,120,0,1,120,0, + 3,60,0,2,60,0,2,60,0,6,30,0,4,30,0,7, + 254,0,12,15,0,8,15,0,8,15,0,24,7,128,56,7, + 128,254,31,224,19,22,66,19,0,0,0,226,0,1,252,0, + 2,56,0,0,0,0,0,96,0,0,96,0,0,240,0,0, + 240,0,1,120,0,1,120,0,3,60,0,2,60,0,2,60, + 0,6,30,0,4,30,0,7,254,0,12,15,0,8,15,0, + 8,15,0,24,7,128,56,7,128,254,31,224,19,23,69,19, + 0,0,3,156,0,3,156,0,3,156,0,0,0,0,0,0, + 0,0,96,0,0,96,0,0,240,0,0,240,0,1,120,0, + 1,120,0,3,60,0,2,60,0,2,60,0,6,30,0,4, + 30,0,7,254,0,12,15,0,8,15,0,8,15,0,24,7, + 128,56,7,128,254,31,224,19,24,72,19,0,0,0,240,0, + 1,152,0,1,8,0,1,152,0,0,240,0,0,0,0,0, + 96,0,0,96,0,0,240,0,0,240,0,1,120,0,1,120, + 0,3,60,0,2,60,0,2,60,0,6,30,0,4,30,0, + 7,254,0,12,15,0,8,15,0,8,15,0,24,7,128,56, + 7,128,254,31,224,25,18,72,26,0,0,1,255,255,128,0, + 111,3,128,0,111,1,128,0,207,0,128,0,207,0,128,1, + 143,8,128,1,143,8,0,3,15,24,0,3,15,248,0,6, + 15,24,0,7,255,8,0,12,15,8,0,12,15,0,128,24, + 15,0,128,24,15,0,128,48,15,1,128,112,15,3,128,252, + 63,255,128,17,23,69,19,1,251,3,249,128,15,15,128,60, + 3,128,60,1,128,120,1,128,120,0,128,248,0,128,248,0, + 0,248,0,0,248,0,0,248,0,0,248,0,0,120,0,128, + 120,0,128,60,1,0,60,1,0,15,6,0,3,248,0,0, + 128,0,1,192,0,0,224,0,0,96,0,3,192,0,15,24, + 48,18,1,0,12,0,14,0,7,0,1,128,0,192,0,0, + 255,254,60,30,60,6,60,2,60,2,60,34,60,32,60,96, + 63,224,60,96,60,32,60,32,60,2,60,2,60,2,60,6, + 60,30,255,254,15,24,48,18,1,0,0,24,0,56,0,112, + 0,192,1,128,0,0,255,254,60,30,60,6,60,2,60,2, + 60,34,60,32,60,96,63,224,60,96,60,32,60,32,60,2, + 60,2,60,2,60,6,60,30,255,254,15,23,46,18,1,0, + 1,128,3,192,6,96,12,48,0,0,255,254,60,30,60,6, + 60,2,60,2,60,34,60,32,60,96,63,224,60,96,60,32, + 60,32,60,2,60,2,60,2,60,6,60,30,255,254,15,23, + 46,18,1,0,14,112,14,112,14,112,0,0,0,0,255,254, + 60,30,60,6,60,2,60,2,60,34,60,32,60,96,63,224, + 60,96,60,32,60,32,60,2,60,2,60,2,60,6,60,30, + 255,254,8,24,24,10,1,0,192,224,112,24,12,0,255,60, + 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,255, + 8,24,24,10,1,0,3,7,14,24,48,0,255,60,60,60, + 60,60,60,60,60,60,60,60,60,60,60,60,60,255,8,23, + 23,10,1,0,24,60,102,195,0,255,60,60,60,60,60,60, + 60,60,60,60,60,60,60,60,60,60,255,8,23,23,10,1, + 0,231,231,231,0,0,255,60,60,60,60,60,60,60,60,60, + 60,60,60,60,60,60,60,255,18,18,54,20,1,0,255,240, + 0,60,60,0,60,15,0,60,15,0,60,7,128,60,7,128, + 60,7,192,60,7,192,255,135,192,60,7,192,60,7,192,60, + 7,192,60,7,128,60,7,128,60,15,0,60,15,0,60,60, + 0,255,240,0,20,22,66,22,1,0,0,226,0,1,252,0, + 2,56,0,0,0,0,252,7,240,62,1,192,31,0,128,31, + 128,128,31,192,128,23,224,128,19,240,128,17,240,128,16,248, + 128,16,124,128,16,126,128,16,63,128,16,31,128,16,15,128, + 16,7,128,16,3,128,56,1,128,254,0,128,19,24,72,21, + 1,0,6,0,0,7,0,0,3,128,0,0,192,0,0,96, + 0,0,0,0,3,248,0,15,30,0,60,7,128,60,7,128, + 120,3,192,120,3,192,248,3,224,248,3,224,248,3,224,248, + 3,224,248,3,224,248,3,224,120,3,192,120,3,192,60,7, + 128,60,7,128,15,30,0,3,248,0,19,23,69,21,1,0, + 0,24,0,0,56,0,0,96,0,0,192,0,0,0,0,3, + 248,0,15,30,0,60,7,128,60,7,128,120,3,192,120,3, + 192,248,3,224,248,3,224,248,3,224,248,3,224,248,3,224, + 248,3,224,120,3,192,120,3,192,60,7,128,60,7,128,15, + 30,0,3,248,0,19,23,69,21,1,0,0,96,0,0,240, + 0,1,152,0,3,12,0,0,0,0,3,248,0,15,30,0, + 60,7,128,60,7,128,120,3,192,120,3,192,248,3,224,248, + 3,224,248,3,224,248,3,224,248,3,224,248,3,224,120,3, + 192,120,3,192,60,7,128,60,7,128,15,30,0,3,248,0, + 19,22,66,21,1,0,0,226,0,1,252,0,2,56,0,0, + 0,0,3,248,0,15,30,0,60,7,128,60,7,128,120,3, + 192,120,3,192,248,3,224,248,3,224,248,3,224,248,3,224, + 248,3,224,248,3,224,120,3,192,120,3,192,60,7,128,60, + 7,128,15,30,0,3,248,0,19,23,69,21,1,0,7,28, + 0,7,28,0,7,28,0,0,0,0,0,0,0,3,248,0, + 15,30,0,60,7,128,60,7,128,120,3,192,120,3,192,248, + 3,224,248,3,224,248,3,224,248,3,224,248,3,224,248,3, + 224,120,3,192,120,3,192,60,7,128,60,7,128,15,30,0, + 3,248,0,12,12,24,14,1,1,192,48,224,112,112,224,57, + 192,31,128,15,0,15,0,31,128,57,192,112,224,224,112,192, + 48,20,18,54,21,0,0,1,252,48,7,143,96,30,3,192, + 30,3,192,60,7,224,60,13,224,124,25,240,124,49,240,124, + 97,240,124,193,240,125,129,240,127,1,240,62,1,224,60,1, + 224,62,3,192,126,3,192,199,143,0,129,252,0,19,24,72, + 21,1,0,3,0,0,3,128,0,1,192,0,0,96,0,0, + 48,0,0,0,0,255,15,224,60,3,128,60,1,0,60,1, + 0,60,1,0,60,1,0,60,1,0,60,1,0,60,1,0, + 60,1,0,60,1,0,60,1,0,60,1,0,60,1,0,60, + 1,0,30,2,0,31,142,0,7,248,0,19,24,72,21,1, + 0,0,6,0,0,14,0,0,28,0,0,48,0,0,96,0, + 0,0,0,255,15,224,60,3,128,60,1,0,60,1,0,60, + 1,0,60,1,0,60,1,0,60,1,0,60,1,0,60,1, + 0,60,1,0,60,1,0,60,1,0,60,1,0,60,1,0, + 30,2,0,31,142,0,7,248,0,19,23,69,21,1,0,0, + 96,0,0,240,0,1,152,0,3,12,0,0,0,0,255,15, + 224,60,3,128,60,1,0,60,1,0,60,1,0,60,1,0, + 60,1,0,60,1,0,60,1,0,60,1,0,60,1,0,60, + 1,0,60,1,0,60,1,0,60,1,0,30,2,0,31,142, + 0,7,248,0,19,23,69,21,1,0,7,28,0,7,28,0, + 7,28,0,0,0,0,0,0,0,255,15,224,60,3,128,60, + 1,0,60,1,0,60,1,0,60,1,0,60,1,0,60,1, + 0,60,1,0,60,1,0,60,1,0,60,1,0,60,1,0, + 60,1,0,60,1,0,30,2,0,31,142,0,7,248,0,18, + 24,72,18,0,0,0,6,0,0,14,0,0,28,0,0,48, + 0,0,96,0,0,0,0,255,15,192,60,3,0,30,6,0, + 30,6,0,15,12,0,15,12,0,7,152,0,7,152,0,3, + 240,0,3,240,0,1,224,0,1,224,0,1,224,0,1,224, + 0,1,224,0,1,224,0,1,224,0,7,248,0,16,18,36, + 18,1,0,255,128,60,0,60,0,60,0,63,248,60,62,60, + 30,60,31,60,31,60,31,60,31,60,30,60,62,63,240,60, + 0,60,0,60,0,255,128,15,18,36,15,255,0,7,224,30, + 120,28,60,60,60,60,60,60,56,60,112,61,224,60,60,60, + 30,60,30,60,30,60,30,60,30,60,30,60,28,61,60,253, + 240,14,18,36,15,0,0,12,0,14,0,7,0,3,0,1, + 128,0,0,127,128,241,224,240,240,96,240,1,240,14,240,120, + 240,240,240,240,240,240,240,249,252,126,56,14,18,36,15,0, + 0,1,128,3,128,7,0,6,0,12,0,0,0,127,128,241, + 224,240,240,96,240,1,240,14,240,120,240,240,240,240,240,240, + 240,249,252,126,56,14,18,36,15,0,0,2,0,7,0,15, + 128,24,192,48,96,0,0,127,128,241,224,240,240,96,240,1, + 240,14,240,120,240,240,240,240,240,240,240,249,252,126,56,14, + 17,34,15,0,0,14,32,31,192,35,128,0,0,0,0,127, + 128,241,224,240,240,96,240,1,240,14,240,120,240,240,240,240, + 240,240,240,249,252,126,56,14,17,34,15,0,0,56,224,56, + 224,56,224,0,0,0,0,127,128,241,224,240,240,96,240,1, + 240,14,240,120,240,240,240,240,240,240,240,249,252,126,56,14, + 18,36,15,0,0,7,0,13,128,8,128,13,128,7,0,0, + 0,127,128,241,224,240,240,96,240,1,240,14,240,120,240,240, + 240,240,240,240,240,249,252,126,56,22,12,36,23,0,0,31, + 207,192,121,248,112,112,248,120,112,240,56,1,240,60,14,255, + 252,120,240,0,240,240,0,240,248,8,240,248,8,249,188,48, + 126,15,224,13,17,34,14,0,251,15,240,56,120,120,120,112, + 48,240,0,240,0,240,0,240,0,120,8,120,8,60,48,31, + 224,2,0,7,0,3,128,1,128,15,0,14,18,36,15,0, + 0,12,0,14,0,7,0,3,0,1,128,0,0,15,192,56, + 112,120,120,112,56,240,60,255,252,240,0,240,0,120,8,120, + 8,60,48,15,224,14,18,36,15,0,0,0,96,0,224,1, + 192,3,128,6,0,0,0,15,192,56,112,120,120,112,56,240, + 60,255,252,240,0,240,0,120,8,120,8,60,48,15,224,14, + 18,36,15,0,0,2,0,7,0,15,128,24,192,48,96,0, + 0,15,192,56,112,120,120,112,56,240,60,255,252,240,0,240, + 0,120,8,120,8,60,48,15,224,14,17,34,15,0,0,28, + 112,28,112,28,112,0,0,0,0,15,192,56,112,120,120,112, + 56,240,60,255,252,240,0,240,0,120,8,120,8,60,48,15, + 224,8,18,18,9,0,0,96,112,56,24,12,0,252,60,60, + 60,60,60,60,60,60,60,60,255,8,18,18,9,0,0,12, + 28,56,48,96,0,252,60,60,60,60,60,60,60,60,60,60, + 255,9,18,36,9,0,0,8,0,28,0,62,0,99,0,193, + 128,0,0,252,0,60,0,60,0,60,0,60,0,60,0,60, + 0,60,0,60,0,60,0,60,0,255,0,8,17,17,9,0, + 0,231,231,231,0,0,252,60,60,60,60,60,60,60,60,60, + 60,255,14,18,36,15,0,0,192,0,57,192,15,0,15,0, + 49,192,0,224,15,240,56,112,120,120,112,56,240,60,240,60, + 240,60,240,60,112,56,120,120,56,112,15,192,17,17,51,18, + 0,0,3,136,0,7,240,0,8,224,0,0,0,0,0,0, + 0,252,248,0,61,252,0,62,62,0,60,30,0,60,30,0, + 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, + 30,0,254,63,128,14,18,36,15,0,0,12,0,14,0,7, + 0,3,0,1,128,0,0,15,192,56,112,120,120,112,56,240, + 60,240,60,240,60,240,60,112,56,120,120,56,112,15,192,14, + 18,36,15,0,0,0,96,0,224,1,192,3,0,6,0,0, + 0,15,192,56,112,120,120,112,56,240,60,240,60,240,60,240, + 60,112,56,120,120,56,112,15,192,14,18,36,15,0,0,2, + 0,7,0,15,128,24,192,48,96,0,0,15,192,56,112,120, + 120,112,56,240,60,240,60,240,60,240,60,112,56,120,120,56, + 112,15,192,14,17,34,15,0,0,7,16,15,224,17,192,0, + 0,0,0,15,192,56,112,120,120,112,56,240,60,240,60,240, + 60,240,60,112,56,120,120,56,112,15,192,14,17,34,15,0, + 0,56,224,56,224,56,224,0,0,0,0,15,192,56,112,120, + 120,112,56,240,60,240,60,240,60,240,60,112,56,120,120,56, + 112,15,192,12,12,24,14,1,1,6,0,6,0,6,0,0, + 0,0,0,255,240,255,240,0,0,0,0,6,0,6,0,6, + 0,14,18,36,15,0,253,0,16,0,16,0,32,15,224,56, + 112,120,120,112,184,240,188,241,60,241,60,242,60,114,56,124, + 120,60,112,15,192,8,0,16,0,16,0,17,18,54,18,0, + 0,3,0,0,3,128,0,1,192,0,0,192,0,0,96,0, + 0,0,0,254,63,128,60,30,0,60,30,0,60,30,0,60, + 30,0,60,30,0,60,30,0,60,30,0,60,30,0,62,62, + 0,31,222,0,15,159,128,17,18,54,18,0,0,0,96,0, + 0,224,0,1,192,0,1,128,0,3,0,0,0,0,0,254, + 63,128,60,30,0,60,30,0,60,30,0,60,30,0,60,30, + 0,60,30,0,60,30,0,60,30,0,62,62,0,31,222,0, + 15,159,128,17,18,54,18,0,0,0,128,0,1,192,0,3, + 224,0,6,48,0,12,24,0,0,0,0,254,63,128,60,30, + 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, + 60,30,0,60,30,0,62,62,0,31,222,0,15,159,128,17, + 17,51,18,0,0,14,56,0,14,56,0,14,56,0,0,0, + 0,0,0,0,254,63,128,60,30,0,60,30,0,60,30,0, + 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,62, + 62,0,31,222,0,15,159,128,16,23,46,15,255,251,0,48, + 0,112,0,224,0,192,1,128,0,0,254,63,60,12,30,8, + 30,24,15,16,15,48,7,160,7,224,3,192,3,192,1,192, + 1,128,1,128,97,0,243,0,254,0,120,0,16,23,46,16, + 255,251,252,0,60,0,60,0,60,0,60,0,60,0,61,240, + 63,28,60,30,60,14,60,15,60,15,60,15,60,15,60,14, + 62,30,63,28,61,240,60,0,60,0,60,0,60,0,255,0, + 16,22,44,15,255,251,14,56,14,56,14,56,0,0,0,0, + 254,63,60,12,30,8,30,24,15,16,15,48,7,160,7,224, + 3,192,3,192,1,192,1,128,1,128,97,0,243,0,254,0, + 120,0}; +/* + Fontname: -Adobe-New Century Schoolbook-Bold-R-Normal--25-180-100-100-P-149-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 18, '1' Height: 18 + Calculated Max Values w=26 h=23 x= 6 y=13 dx=26 dy= 0 ascent=20 len=72 + Font Bounding box w=33 h=40 x=-4 y=-10 + Calculated Min Values x=-3 y=-5 dx= 0 dy= 0 + Pure Font ascent =18 descent=-5 + X Font ascent =18 descent=-5 + Max Font ascent =20 descent=-5 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_ncenB18r[3736] U8G_FONT_SECTION("u8g_font_ncenB18r") = { + 0,33,40,252,246,18,4,68,10,106,32,127,251,20,251,18, + 251,0,0,0,7,0,1,5,18,18,7,1,0,112,248,248, + 248,112,112,112,112,112,112,32,32,0,0,112,248,248,112,6, + 6,6,8,1,12,204,204,204,204,204,136,12,18,36,14,1, + 0,12,192,12,192,12,192,12,192,12,192,127,240,127,240,25, + 128,25,128,25,128,25,128,255,224,255,224,51,0,51,0,51, + 0,51,0,51,0,12,23,46,14,1,253,4,0,4,0,31, + 192,116,96,100,240,228,240,228,240,244,96,252,0,255,0,127, + 192,31,224,7,240,5,240,100,240,244,112,244,112,244,96,100, + 224,63,128,4,0,4,0,4,0,19,18,54,21,1,0,30, + 14,0,123,54,0,113,204,0,241,12,0,225,24,0,226,24, + 0,226,48,0,100,48,0,56,96,0,0,99,192,0,207,96, + 0,206,32,1,158,32,1,156,32,3,28,64,3,28,64,6, + 12,128,6,7,0,20,18,54,22,1,0,1,240,0,7,56, + 0,14,24,0,14,24,0,14,24,0,15,48,0,15,224,0, + 7,192,0,15,192,0,57,227,240,113,241,192,240,241,128,240, + 121,0,240,127,0,240,62,16,120,31,16,124,63,224,31,199, + 192,2,6,6,6,2,12,192,192,192,192,192,192,6,21,21, + 8,1,253,4,12,24,48,48,96,96,224,224,224,224,224,224, + 224,96,96,48,48,24,12,4,6,21,21,8,1,253,128,192, + 96,48,48,24,24,28,28,28,28,28,28,28,24,24,48,48, + 96,192,128,9,10,20,11,1,8,28,0,28,0,201,128,235, + 128,62,0,62,0,235,128,201,128,28,0,28,0,12,12,24, + 14,1,1,6,0,6,0,6,0,6,0,6,0,255,240,255, + 240,6,0,6,0,6,0,6,0,6,0,5,8,8,7,1, + 252,112,248,248,120,48,32,64,128,6,3,3,8,1,5,252, + 252,252,5,4,4,7,1,0,112,248,248,112,7,18,18,9, + 1,0,6,6,6,12,12,12,24,24,24,48,48,48,96,96, + 96,192,192,192,12,18,36,14,1,0,15,0,57,192,112,224, + 112,224,240,240,240,240,240,240,240,240,240,240,240,240,240,240, + 240,240,240,240,240,240,112,224,112,224,57,192,15,0,10,18, + 36,14,2,0,30,0,254,0,30,0,30,0,30,0,30,0, + 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, + 30,0,30,0,63,0,255,192,11,18,36,14,1,0,31,0, + 99,192,225,224,241,224,241,224,241,224,97,224,1,192,3,192, + 3,128,7,0,14,0,24,32,48,32,112,96,255,224,255,224, + 255,224,12,18,36,14,1,0,15,128,49,224,112,224,120,240, + 120,240,120,240,48,224,1,192,15,0,1,192,0,224,96,240, + 240,240,240,240,240,240,224,224,97,224,31,128,12,18,36,14, + 1,0,0,192,1,192,3,192,7,192,7,192,15,192,27,192, + 19,192,51,192,99,192,99,192,195,192,255,240,255,240,3,192, + 3,192,3,192,15,240,12,18,36,14,1,0,127,240,127,224, + 127,192,64,0,64,0,64,0,95,0,113,192,96,224,0,240, + 0,240,0,240,96,240,240,240,240,240,240,224,97,192,63,0, + 12,18,36,14,1,0,15,128,56,192,113,224,113,224,241,224, + 240,192,240,0,247,128,249,224,240,224,240,240,240,240,240,240, + 240,240,240,240,112,224,121,224,31,128,12,18,36,14,1,0, + 255,240,255,240,255,224,192,96,128,192,129,192,3,128,3,128, + 7,0,7,0,15,0,15,0,30,0,30,0,30,0,30,0, + 30,0,12,0,12,18,36,14,1,0,15,0,57,192,112,224, + 112,224,112,224,120,224,124,192,63,128,31,128,63,192,119,224, + 225,240,224,240,224,112,224,112,224,96,112,192,31,128,12,18, + 36,14,1,0,31,128,121,224,112,224,240,240,240,240,240,240, + 240,240,240,240,112,240,121,240,30,240,0,240,48,240,120,240, + 120,224,120,224,49,192,31,0,5,12,12,7,1,0,112,248, + 248,112,0,0,0,0,112,248,248,112,5,16,16,7,1,252, + 112,248,248,112,0,0,0,0,112,248,248,120,48,32,64,128, + 12,12,24,14,1,1,0,48,0,240,3,192,15,0,60,0, + 240,0,240,0,60,0,15,0,3,192,0,240,0,48,12,6, + 12,14,1,4,255,240,255,240,0,0,0,0,255,240,255,240, + 12,12,24,14,1,1,192,0,240,0,60,0,15,0,3,192, + 0,240,0,240,3,192,15,0,60,0,240,0,192,0,11,18, + 36,13,1,0,63,0,99,192,241,224,241,224,97,224,1,224, + 1,192,3,128,7,0,12,0,24,0,24,0,0,0,0,0, + 28,0,62,0,62,0,28,0,19,18,54,20,1,0,1,252, + 0,15,6,0,12,1,128,48,0,192,48,220,192,99,188,96, + 103,28,96,199,28,96,206,28,96,206,56,96,206,56,64,206, + 56,192,206,121,128,103,191,0,96,0,0,56,1,0,28,7, + 0,7,252,0,19,18,54,19,0,0,0,96,0,0,96,0, + 0,240,0,0,240,0,1,120,0,1,120,0,3,60,0,2, + 60,0,2,60,0,6,30,0,4,30,0,7,254,0,12,15, + 0,8,15,0,8,15,0,24,7,128,56,7,128,254,31,224, + 17,18,54,19,1,0,255,248,0,60,62,0,60,31,0,60, + 31,0,60,31,0,60,31,0,60,30,0,60,60,0,63,248, + 0,60,30,0,60,15,0,60,15,128,60,15,128,60,15,128, + 60,15,128,60,15,128,60,31,0,255,252,0,17,18,54,19, + 1,0,3,249,128,15,15,128,60,3,128,60,1,128,120,1, + 128,120,0,128,248,0,128,248,0,0,248,0,0,248,0,0, + 248,0,0,248,0,0,120,0,128,120,0,128,60,1,0,60, + 1,0,15,6,0,3,248,0,18,18,54,20,1,0,255,240, + 0,60,60,0,60,15,0,60,15,0,60,7,128,60,7,128, + 60,7,192,60,7,192,60,7,192,60,7,192,60,7,192,60, + 7,192,60,7,128,60,7,128,60,15,0,60,15,0,60,60, + 0,255,240,0,15,18,36,18,1,0,255,254,60,30,60,6, + 60,2,60,2,60,34,60,32,60,96,63,224,60,96,60,32, + 60,32,60,2,60,2,60,2,60,6,60,30,255,254,15,18, + 36,17,1,0,255,254,60,30,60,6,60,2,60,2,60,34, + 60,32,60,96,63,224,60,96,60,32,60,32,60,0,60,0, + 60,0,60,0,60,0,255,0,18,18,54,20,1,0,3,249, + 128,15,15,128,60,3,128,60,1,128,120,1,128,120,0,128, + 248,0,128,248,0,0,248,0,0,248,0,0,248,15,192,248, + 7,128,120,7,128,120,7,128,60,7,128,60,7,128,15,13, + 128,3,248,128,19,18,54,21,1,0,255,31,224,60,7,128, + 60,7,128,60,7,128,60,7,128,60,7,128,60,7,128,60, + 7,128,63,255,128,60,7,128,60,7,128,60,7,128,60,7, + 128,60,7,128,60,7,128,60,7,128,60,7,128,255,31,224, + 8,18,18,10,1,0,255,60,60,60,60,60,60,60,60,60, + 60,60,60,60,60,60,60,255,14,18,36,16,0,0,3,252, + 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, + 0,240,0,240,96,240,240,240,240,240,224,240,192,224,97,224, + 63,128,20,18,54,21,1,0,255,15,192,60,3,0,60,6, + 0,60,12,0,60,24,0,60,48,0,60,96,0,60,224,0, + 61,240,0,63,248,0,62,248,0,60,124,0,60,62,0,60, + 31,0,60,31,0,60,15,128,60,7,192,255,15,240,15,18, + 36,17,1,0,255,0,60,0,60,0,60,0,60,0,60,0, + 60,0,60,0,60,0,60,0,60,0,60,0,60,2,60,2, + 60,2,60,6,60,30,255,254,22,18,54,24,1,0,252,1, + 252,60,1,240,62,3,240,62,2,240,46,2,240,47,6,240, + 39,4,240,39,132,240,39,140,240,35,136,240,35,200,240,35, + 216,240,33,208,240,33,240,240,32,224,240,32,224,240,112,96, + 240,248,67,252,20,18,54,22,1,0,252,7,240,62,1,192, + 31,0,128,31,128,128,31,192,128,23,224,128,19,240,128,17, + 240,128,16,248,128,16,124,128,16,126,128,16,63,128,16,31, + 128,16,15,128,16,7,128,16,3,128,56,1,128,254,0,128, + 19,18,54,21,1,0,3,248,0,15,30,0,60,7,128,60, + 7,128,120,3,192,120,3,192,248,3,224,248,3,224,248,3, + 224,248,3,224,248,3,224,248,3,224,120,3,192,120,3,192, + 60,7,128,60,7,128,15,30,0,3,248,0,17,18,54,18, + 1,0,255,252,0,60,31,0,60,15,0,60,15,128,60,15, + 128,60,15,128,60,15,128,60,15,0,60,31,0,63,248,0, + 60,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60, + 0,0,60,0,0,255,128,0,19,23,69,21,1,251,3,248, + 0,15,30,0,60,7,128,60,7,128,120,3,192,120,3,192, + 248,3,224,248,3,224,248,3,224,248,3,224,248,3,224,251, + 227,224,126,115,192,124,51,192,60,51,128,60,27,128,15,30, + 0,3,254,0,0,14,0,0,15,32,0,7,192,0,7,192, + 0,3,128,19,18,54,21,1,0,255,248,0,60,62,0,60, + 31,0,60,31,0,60,31,0,60,31,0,60,30,0,60,60, + 0,63,224,0,60,120,0,60,60,0,60,60,0,60,62,0, + 60,30,0,60,31,32,60,15,32,60,15,192,255,135,128,14, + 18,36,16,1,0,15,200,56,120,96,24,224,24,224,8,240, + 8,254,0,255,192,127,240,63,248,15,252,1,252,128,60,128, + 28,192,28,192,24,240,112,159,192,16,18,36,18,1,0,255, + 255,227,199,195,195,131,193,131,193,131,193,3,192,3,192,3, + 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, + 192,15,240,19,18,54,21,1,0,255,15,224,60,3,128,60, + 1,0,60,1,0,60,1,0,60,1,0,60,1,0,60,1, + 0,60,1,0,60,1,0,60,1,0,60,1,0,60,1,0, + 60,1,0,60,2,0,30,2,0,31,140,0,7,248,0,19, + 18,54,19,0,0,255,15,224,60,3,128,60,3,0,30,2, + 0,30,2,0,30,6,0,15,4,0,15,4,0,15,12,0, + 7,136,0,7,136,0,7,152,0,3,208,0,3,208,0,1, + 224,0,1,224,0,0,192,0,0,192,0,26,18,72,26,0, + 0,255,127,159,192,60,30,7,0,60,30,6,0,30,15,4, + 0,30,15,4,0,30,15,12,0,15,31,136,0,15,23,136, + 0,15,23,152,0,7,179,208,0,7,163,208,0,7,163,240, + 0,3,225,224,0,3,193,224,0,3,193,224,0,1,192,192, + 0,1,128,192,0,1,128,192,0,20,18,54,20,0,0,255, + 135,224,62,1,128,31,3,0,31,134,0,15,140,0,7,216, + 0,3,240,0,3,224,0,1,240,0,0,248,0,1,248,0, + 3,124,0,6,62,0,4,31,0,12,31,0,24,15,128,48, + 7,192,252,31,240,18,18,54,18,0,0,255,15,192,60,3, + 0,30,2,0,30,6,0,15,4,0,15,12,0,7,136,0, + 7,152,0,3,208,0,3,240,0,1,224,0,1,224,0,1, + 224,0,1,224,0,1,224,0,1,224,0,1,224,0,7,248, + 0,15,18,36,17,1,0,127,254,112,62,96,124,64,120,64, + 248,0,240,1,224,3,224,3,192,7,128,15,128,15,0,30, + 0,62,2,60,2,120,6,248,14,255,254,6,21,21,8,1, + 253,252,224,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,252,10,18,36,12,1,0,192,0,224,0, + 224,0,112,0,112,0,56,0,56,0,28,0,28,0,14,0, + 14,0,7,0,7,0,3,128,3,128,1,192,1,192,0,192, + 6,21,21,8,1,253,252,28,28,28,28,28,28,28,28,28, + 28,28,28,28,28,28,28,28,28,28,252,10,10,20,15,2, + 8,12,0,12,0,30,0,30,0,51,0,51,0,97,128,97, + 128,192,192,192,192,12,2,4,12,0,252,255,240,255,240,5, + 5,5,7,1,13,224,224,112,48,24,14,12,24,15,0,0, + 127,128,241,224,240,240,96,240,1,240,14,240,120,240,240,240, + 240,240,240,240,249,252,126,56,16,18,36,16,255,0,252,0, + 60,0,60,0,60,0,60,0,60,0,61,240,63,28,62,30, + 60,14,60,15,60,15,60,15,60,15,60,14,60,30,62,28, + 39,240,13,12,24,14,0,0,15,240,56,120,120,120,112,48, + 240,0,240,0,240,0,240,0,120,8,120,8,60,48,31,224, + 16,18,36,17,0,0,0,252,0,60,0,60,0,60,0,60, + 0,60,15,188,56,252,120,124,112,60,240,60,240,60,240,60, + 240,60,112,60,120,124,56,252,15,191,14,12,24,15,0,0, + 15,192,56,112,120,120,112,56,240,60,255,252,240,0,240,0, + 120,8,120,8,60,48,15,224,12,18,36,10,0,0,7,224, + 28,240,28,240,60,96,60,0,60,0,255,128,60,0,60,0, + 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, + 255,0,13,18,36,15,1,251,0,56,31,248,121,224,240,240, + 240,240,240,240,240,240,121,224,63,128,96,0,224,0,255,192, + 127,240,127,248,96,56,192,24,224,48,127,224,17,18,54,18, + 0,0,252,0,0,60,0,0,60,0,0,60,0,0,60,0, + 0,60,0,0,60,248,0,61,252,0,62,62,0,60,30,0, + 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, + 30,0,60,30,0,254,63,128,8,18,18,9,0,0,24,60, + 60,24,0,0,252,60,60,60,60,60,60,60,60,60,60,255, + 8,23,23,7,253,251,6,15,15,6,0,0,63,15,15,15, + 15,15,15,15,15,15,15,15,15,15,206,206,120,17,18,54, + 17,0,0,252,0,0,60,0,0,60,0,0,60,0,0,60, + 0,0,60,0,0,60,254,0,60,56,0,60,48,0,60,96, + 0,60,192,0,63,192,0,63,224,0,60,240,0,60,120,0, + 60,60,0,60,30,0,255,127,128,8,18,18,9,0,0,252, + 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60, + 255,24,12,36,25,0,0,252,240,240,61,249,248,62,126,124, + 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60, + 60,60,60,60,60,60,60,60,254,126,127,17,12,36,18,0, + 0,252,248,0,61,252,0,62,62,0,60,30,0,60,30,0, + 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, + 30,0,254,63,128,14,12,24,15,0,0,15,192,56,112,120, + 120,112,56,240,60,240,60,240,60,240,60,112,56,120,120,56, + 112,15,192,16,17,34,16,255,251,253,240,63,28,60,30,60, + 14,60,15,60,15,60,15,60,15,60,14,62,30,63,28,61, + 240,60,0,60,0,60,0,60,0,255,0,16,17,34,16,0, + 251,15,132,60,236,120,60,112,60,240,60,240,60,240,60,240, + 60,112,60,120,124,56,252,15,188,0,60,0,60,0,60,0, + 60,0,255,12,12,24,12,0,0,252,224,61,240,62,240,60, + 96,60,0,60,0,60,0,60,0,60,0,60,0,60,0,255, + 0,10,12,24,11,0,0,62,128,99,128,193,128,224,128,252, + 0,255,128,127,192,15,192,129,192,192,192,225,128,191,0,10, + 17,34,10,0,0,4,0,12,0,12,0,28,0,60,0,255, + 128,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60, + 64,60,64,31,128,15,0,17,12,36,18,0,0,254,126,0, + 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, + 30,0,60,30,0,60,30,0,62,62,0,31,222,0,15,159, + 128,16,12,24,15,255,0,255,31,60,4,30,12,30,8,15, + 24,15,16,7,176,7,160,3,224,3,192,1,192,1,128,23, + 12,36,22,255,0,255,63,62,60,30,8,60,30,8,30,63, + 24,30,47,16,30,47,16,15,103,176,15,71,160,7,195,224, + 7,131,192,3,129,192,3,1,128,17,12,36,16,255,0,255, + 31,0,62,12,0,31,24,0,15,176,0,7,224,0,3,192, + 0,1,224,0,3,240,0,6,248,0,12,124,0,24,62,0, + 124,127,128,16,17,34,15,255,251,254,63,60,12,30,8,30, + 24,15,16,15,48,7,160,7,224,3,192,3,192,1,192,1, + 128,1,128,97,0,243,0,254,0,120,0,11,12,24,12,0, + 0,255,224,225,224,195,224,135,192,143,128,15,0,30,0,62, + 32,124,32,248,96,240,224,255,224,6,21,21,8,1,253,28, + 48,112,112,112,112,112,112,112,96,192,96,112,112,112,112,112, + 112,112,48,28,3,18,18,15,6,0,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,6,21,21,8, + 1,253,224,48,56,56,56,56,56,56,56,24,12,24,56,56, + 56,56,56,56,56,48,224,12,5,10,15,1,4,56,32,126, + 112,255,240,231,224,65,192,255}; +/* + Fontname: -Adobe-New Century Schoolbook-Bold-R-Normal--34-240-100-100-P-193-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 25, '1' Height: 24 + Calculated Max Values w=32 h=33 x= 8 y=18 dx=33 dy= 0 ascent=33 len=132 + Font Bounding box w=39 h=53 x=-4 y=-13 + Calculated Min Values x=-3 y=-7 dx= 0 dy= 0 + Pure Font ascent =25 descent=-7 + X Font ascent =25 descent=-7 + Max Font ascent =33 descent=-7 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_ncenB24[12964] U8G_FONT_SECTION("u8g_font_ncenB24") = { + 0,39,53,252,243,25,6,143,16,147,32,255,249,33,249,25, + 249,0,0,0,9,1,1,6,25,25,10,2,0,120,252,252, + 252,252,252,252,120,120,120,120,48,48,48,48,48,48,0,0, + 120,252,252,252,252,120,11,11,22,11,0,14,96,192,241,224, + 241,224,241,224,241,224,241,224,241,224,96,192,96,192,96,192, + 96,192,16,25,50,19,1,255,7,28,7,28,7,28,7,28, + 14,56,14,56,14,56,127,255,127,255,127,255,14,56,12,48, + 28,112,28,112,255,254,255,254,255,254,28,112,28,112,56,224, + 56,224,56,224,56,224,56,224,56,224,17,30,90,19,1,252, + 1,128,0,1,128,0,1,128,0,7,240,0,31,252,0,57, + 158,0,113,143,0,113,159,0,241,159,0,241,142,0,253,128, + 0,255,128,0,127,240,0,127,252,0,63,254,0,15,255,0, + 1,255,128,1,191,128,113,143,128,249,135,128,249,135,128,249, + 135,0,241,143,0,121,158,0,63,252,0,7,224,0,1,128, + 0,1,128,0,1,128,0,1,128,0,26,24,96,27,0,0, + 0,0,24,0,7,192,48,0,15,96,112,0,30,57,224,0, + 60,31,96,0,60,16,192,0,120,16,128,0,120,17,128,0, + 240,49,0,0,240,35,0,0,240,98,0,0,240,198,31,0, + 123,140,61,128,63,12,120,192,0,24,240,64,0,17,240,64, + 0,49,224,64,0,33,224,192,0,99,224,192,0,195,193,128, + 0,195,193,128,1,131,195,0,1,129,230,0,3,0,252,0, + 24,25,75,28,2,0,0,124,0,1,255,0,3,199,0,7, + 135,128,7,131,128,7,131,128,7,199,128,7,199,0,7,239, + 0,7,252,0,3,248,0,7,241,255,15,249,255,61,248,124, + 120,252,56,120,254,112,248,126,96,248,63,224,252,63,192,252, + 31,193,254,15,227,255,15,243,127,255,254,63,243,254,15,128, + 252,4,11,11,8,2,14,96,240,240,240,240,240,240,96,96, + 96,96,9,27,54,13,2,253,3,128,7,0,14,0,28,0, + 28,0,56,0,56,0,120,0,120,0,240,0,240,0,240,0, + 240,0,240,0,240,0,240,0,240,0,240,0,112,0,120,0, + 56,0,56,0,28,0,28,0,14,0,7,0,3,128,9,27, + 54,13,1,253,224,0,48,0,56,0,28,0,28,0,14,0, + 14,0,15,0,7,0,7,128,7,128,7,128,7,128,7,128, + 7,128,7,128,7,128,7,128,15,0,15,0,14,0,14,0, + 28,0,28,0,56,0,112,0,192,0,12,15,30,17,2,10, + 6,0,14,0,14,0,230,112,230,112,246,240,63,192,15,0, + 127,224,246,240,230,112,230,112,7,0,7,0,6,0,16,16, + 32,20,2,1,3,192,3,192,3,192,3,192,3,192,3,192, + 255,255,255,255,255,255,255,255,3,192,3,192,3,192,3,192, + 3,192,3,192,6,11,11,9,2,251,120,248,252,252,252,124, + 28,24,48,112,224,8,4,4,11,1,6,255,255,255,255,6, + 6,6,9,1,0,120,252,252,252,252,120,10,25,50,9,255, + 0,0,192,1,192,1,192,1,128,3,128,3,128,3,0,7, + 0,7,0,6,0,14,0,14,0,12,0,28,0,28,0,24, + 0,56,0,56,0,48,0,112,0,112,0,96,0,224,0,224, + 0,192,0,16,24,48,19,1,0,3,192,15,240,30,120,60, + 60,124,62,120,30,248,31,248,31,248,31,248,31,248,31,248, + 31,248,31,248,31,248,31,248,31,248,31,120,30,120,30,124, + 62,60,60,30,120,15,240,3,192,13,24,48,19,3,0,1, + 128,7,128,255,128,255,128,15,128,15,128,15,128,15,128,15, + 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, + 128,15,128,15,128,15,128,15,128,15,128,255,248,255,248,17, + 24,72,19,1,0,15,240,0,63,252,0,120,126,0,240,63, + 0,248,31,0,252,31,0,252,31,0,252,31,0,124,63,0, + 56,62,0,0,124,0,0,248,0,0,240,0,1,224,0,3, + 192,0,3,129,128,7,1,128,14,1,128,28,3,128,63,255, + 128,127,255,0,127,255,0,255,255,0,255,255,0,16,24,48, + 19,1,0,15,224,63,248,120,124,248,62,252,62,252,62,252, + 62,120,62,0,124,0,112,7,224,7,192,0,248,0,126,0, + 62,0,63,120,31,252,31,252,31,252,63,248,62,120,126,63, + 248,7,224,17,24,72,19,0,0,0,4,0,0,12,0,0, + 28,0,0,60,0,0,124,0,0,252,0,1,252,0,1,252, + 0,3,124,0,6,124,0,12,124,0,28,124,0,56,124,0, + 112,124,0,224,124,0,192,124,0,255,255,128,255,255,128,0, + 124,0,0,124,0,0,124,0,0,124,0,3,255,128,3,255, + 128,16,24,48,19,1,0,31,255,63,254,63,254,63,252,63, + 240,48,0,48,0,48,0,48,0,55,224,63,248,56,124,48, + 62,32,62,0,31,0,31,56,31,124,31,252,31,252,62,120, + 62,112,252,63,240,15,192,17,24,72,19,1,0,3,240,0, + 15,252,0,31,30,0,62,62,0,60,62,0,124,62,0,120, + 28,0,248,0,0,248,0,0,248,0,0,249,248,0,255,254, + 0,255,127,0,252,31,0,248,31,128,248,15,128,248,15,128, + 248,15,128,248,15,128,124,31,0,124,31,0,62,62,0,31, + 252,0,7,240,0,16,24,48,19,2,0,255,255,255,254,255, + 254,255,252,255,252,192,24,192,24,192,56,128,112,0,112,0, + 240,0,224,1,224,1,224,3,224,3,192,7,192,7,192,15, + 192,15,192,15,192,15,192,15,192,7,128,17,24,72,19,1, + 0,7,240,0,15,252,0,60,62,0,56,31,0,120,15,0, + 120,15,0,120,15,0,124,15,0,126,30,0,127,252,0,63, + 240,0,31,252,0,15,254,0,63,255,0,120,127,0,248,31, + 128,240,15,128,240,15,128,240,15,0,240,15,0,248,30,0, + 124,60,0,63,240,0,7,192,0,17,24,72,19,1,0,3, + 192,0,31,248,0,62,124,0,124,62,0,252,31,0,248,31, + 0,248,15,128,248,15,128,248,15,128,252,31,128,252,63,128, + 127,111,128,63,207,128,31,143,128,0,15,128,0,15,128,112, + 15,0,248,31,0,252,31,0,248,30,0,248,62,0,112,252, + 0,63,240,0,15,192,0,6,16,16,9,2,0,120,252,252, + 252,252,120,0,0,0,0,120,252,252,252,252,120,6,21,21, + 9,2,251,120,252,252,252,252,120,0,0,0,0,120,248,252, + 252,252,124,28,24,48,112,224,16,18,36,20,2,0,0,3, + 0,15,0,127,1,255,7,252,31,240,127,128,254,0,248,0, + 252,0,255,128,63,224,15,248,3,254,0,127,0,31,0,7, + 0,1,16,10,20,20,2,3,255,255,255,255,255,255,255,255, + 0,0,0,0,255,255,255,255,255,255,255,255,16,18,36,20, + 2,0,192,0,240,0,254,0,255,128,63,224,15,248,1,254, + 0,127,0,31,0,63,1,255,7,252,31,240,127,192,254,0, + 248,0,224,0,128,0,14,25,50,16,1,0,15,192,63,240, + 113,248,240,248,248,252,248,252,248,252,112,252,0,248,1,248, + 1,240,3,224,3,128,7,0,7,0,6,0,6,0,0,0, + 0,0,15,0,31,128,31,128,31,128,31,128,15,0,23,25, + 75,25,0,0,0,127,0,1,255,192,7,227,240,15,0,120, + 30,0,28,28,0,12,56,60,6,48,255,230,113,227,230,113, + 227,198,99,195,198,227,131,198,231,135,134,231,135,140,231,7, + 140,231,15,28,231,15,24,227,31,112,115,247,224,48,227,204, + 56,0,28,28,0,120,15,1,240,7,255,224,1,255,0,25, + 25,100,25,0,0,0,28,0,0,0,28,0,0,0,30,0, + 0,0,62,0,0,0,63,0,0,0,127,0,0,0,127,128, + 0,0,127,128,0,0,255,128,0,0,207,192,0,1,207,192, + 0,1,143,192,0,1,135,224,0,3,135,224,0,3,7,240, + 0,7,3,240,0,7,255,240,0,7,255,248,0,14,1,248, + 0,12,1,252,0,28,0,252,0,28,0,254,0,62,0,254, + 0,255,131,255,128,255,131,255,128,23,25,75,25,1,0,255, + 255,128,255,255,224,31,131,240,31,129,248,31,129,248,31,128, + 252,31,128,252,31,128,252,31,128,248,31,129,248,31,129,240, + 31,135,224,31,255,0,31,255,192,31,131,240,31,128,252,31, + 128,252,31,128,254,31,128,126,31,128,254,31,128,252,31,128, + 252,31,131,248,255,255,240,255,255,192,22,25,75,24,1,0, + 0,126,24,3,255,184,7,193,248,31,128,248,31,0,120,62, + 0,56,126,0,56,126,0,24,254,0,24,252,0,8,252,0, + 0,252,0,0,252,0,0,252,0,0,252,0,0,254,0,0, + 254,0,12,254,0,28,126,0,24,126,0,56,63,0,48,31, + 128,112,15,193,224,7,255,192,0,255,0,24,25,75,26,1, + 0,255,255,0,255,255,224,31,131,240,31,129,248,31,128,252, + 31,128,126,31,128,126,31,128,127,31,128,63,31,128,63,31, + 128,63,31,128,63,31,128,63,31,128,63,31,128,63,31,128, + 63,31,128,127,31,128,126,31,128,126,31,128,126,31,128,252, + 31,129,248,31,131,240,255,255,224,255,255,0,21,25,75,23, + 1,0,255,255,248,255,255,248,31,129,248,31,128,248,31,128, + 120,31,128,56,31,128,56,31,134,24,31,134,24,31,142,0, + 31,142,0,31,158,0,31,254,0,31,254,0,31,158,0,31, + 142,0,31,134,24,31,134,24,31,134,24,31,128,56,31,128, + 56,31,128,120,31,129,248,255,255,248,255,255,248,21,25,75, + 23,1,0,255,255,248,255,255,248,31,193,248,31,128,248,31, + 128,120,31,128,56,31,128,24,31,131,24,31,131,24,31,135, + 8,31,135,0,31,159,0,31,255,0,31,255,0,31,143,0, + 31,135,0,31,131,0,31,131,0,31,131,0,31,128,0,31, + 128,0,31,128,0,31,128,0,255,248,0,255,248,0,25,25, + 100,26,1,0,0,126,12,0,3,255,220,0,7,193,252,0, + 15,128,124,0,31,0,60,0,63,0,28,0,126,0,28,0, + 126,0,12,0,254,0,12,0,254,0,4,0,254,0,0,0, + 252,0,0,0,252,0,0,0,252,0,0,0,252,7,255,128, + 252,7,255,128,252,0,124,0,254,0,124,0,126,0,124,0, + 126,0,124,0,63,0,252,0,31,0,252,0,15,129,220,0, + 7,255,28,0,0,252,12,0,26,25,100,28,1,0,255,243, + 255,192,255,243,255,192,31,128,126,0,31,128,126,0,31,128, + 126,0,31,128,126,0,31,128,126,0,31,128,126,0,31,128, + 126,0,31,128,126,0,31,128,126,0,31,128,126,0,31,255, + 254,0,31,255,254,0,31,128,126,0,31,128,126,0,31,128, + 126,0,31,128,126,0,31,128,126,0,31,128,126,0,31,128, + 126,0,31,128,126,0,31,128,126,0,255,243,255,192,255,243, + 255,192,12,25,50,14,1,0,255,240,255,240,31,128,31,128, + 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, + 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, + 31,128,31,128,31,128,255,240,255,240,20,25,75,20,0,0, + 0,255,240,0,255,240,0,31,128,0,31,128,0,31,128,0, + 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, + 128,0,31,128,0,31,128,24,31,128,126,31,128,126,31,128, + 254,31,128,254,31,128,254,31,128,252,31,0,96,63,0,96, + 62,0,56,254,0,63,248,0,15,224,0,25,25,100,27,1, + 0,255,243,255,128,255,243,255,128,31,128,126,0,31,128,120, + 0,31,128,240,0,31,129,224,0,31,129,192,0,31,131,128, + 0,31,135,0,0,31,143,0,0,31,159,0,0,31,191,128, + 0,31,255,192,0,31,239,192,0,31,239,224,0,31,199,224, + 0,31,135,240,0,31,131,248,0,31,129,248,0,31,129,252, + 0,31,128,252,0,31,128,254,0,31,128,255,0,255,243,255, + 128,255,243,255,128,21,25,75,23,1,0,255,240,0,255,240, + 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, + 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, + 128,0,31,128,0,31,128,0,31,128,0,31,128,24,31,128, + 24,31,128,24,31,128,56,31,128,56,31,128,120,31,129,248, + 255,255,248,255,255,248,31,25,100,32,0,0,127,224,7,254, + 127,240,15,254,15,240,15,240,15,240,15,240,13,248,27,240, + 13,248,27,240,13,248,27,240,12,252,59,240,12,252,51,240, + 12,252,51,240,12,124,115,240,12,126,99,240,12,126,99,240, + 12,62,227,240,12,63,195,240,12,63,195,240,12,31,195,240, + 12,31,131,240,12,31,131,240,12,15,131,240,12,15,3,240, + 12,15,3,240,30,15,3,240,255,198,31,254,255,198,31,254, + 27,25,100,27,0,0,255,128,127,224,255,192,127,224,63,224, + 15,0,15,224,6,0,15,240,6,0,15,248,6,0,15,252, + 6,0,13,254,6,0,12,254,6,0,12,255,6,0,12,127, + 134,0,12,63,198,0,12,31,230,0,12,15,230,0,12,15, + 246,0,12,7,254,0,12,3,254,0,12,1,254,0,12,0, + 254,0,12,0,126,0,12,0,126,0,12,0,62,0,30,0, + 30,0,255,192,14,0,255,192,6,0,24,25,75,26,1,0, + 0,126,0,3,255,192,15,193,240,31,128,248,63,0,252,62, + 0,124,126,0,126,126,0,126,252,0,63,252,0,63,252,0, + 63,252,0,63,252,0,63,252,0,63,252,0,63,252,0,63, + 252,0,63,126,0,126,126,0,126,62,0,124,63,0,252,31, + 128,248,15,193,240,3,255,192,0,126,0,22,25,75,24,1, + 0,255,255,128,255,255,224,31,131,240,31,129,248,31,128,252, + 31,128,252,31,128,252,31,128,252,31,128,252,31,128,252,31, + 129,248,31,131,240,31,255,224,31,255,0,31,128,0,31,128, + 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, + 31,128,0,31,128,0,255,240,0,255,240,0,25,31,124,26, + 1,250,0,126,0,0,3,255,192,0,15,193,240,0,31,128, + 248,0,63,0,252,0,62,0,124,0,126,0,126,0,126,0, + 126,0,252,0,63,0,252,0,63,0,252,0,63,0,252,0, + 63,0,252,0,63,0,252,0,63,0,252,0,63,0,252,60, + 63,0,252,254,63,0,127,135,126,0,127,131,254,0,63,3, + 252,0,63,3,252,0,31,131,248,0,15,195,240,0,3,255, + 224,0,0,127,224,0,0,3,225,128,0,3,225,128,0,1, + 243,128,0,1,255,0,0,0,254,0,0,0,60,0,25,25, + 100,27,1,0,255,255,128,0,255,255,240,0,31,131,248,0, + 31,129,248,0,31,128,252,0,31,128,252,0,31,128,252,0, + 31,128,252,0,31,128,252,0,31,129,248,0,31,129,240,0, + 31,135,192,0,31,255,0,0,31,255,192,0,31,135,224,0, + 31,131,224,0,31,131,240,0,31,131,240,0,31,131,240,0, + 31,131,249,128,31,129,249,128,31,129,251,0,31,129,255,0, + 255,240,254,0,255,240,124,0,19,25,75,21,1,0,3,240, + 192,31,253,192,60,31,192,120,7,192,112,3,192,240,1,192, + 240,0,192,248,0,192,255,0,192,255,240,0,127,254,0,127, + 255,0,63,255,128,15,255,192,7,255,224,64,127,224,96,7, + 224,96,3,224,112,1,224,120,1,224,120,1,192,126,3,192, + 127,7,128,103,255,0,97,252,0,21,25,75,23,1,0,255, + 255,248,255,255,248,241,248,120,225,248,56,225,248,56,193,248, + 24,193,248,24,193,248,24,129,248,8,129,248,8,1,248,0, + 1,248,0,1,248,0,1,248,0,1,248,0,1,248,0,1, + 248,0,1,248,0,1,248,0,1,248,0,1,248,0,1,248, + 0,1,248,0,15,255,128,15,255,128,26,25,100,28,1,0, + 255,240,255,192,255,240,255,192,31,128,30,0,31,128,12,0, + 31,128,12,0,31,128,12,0,31,128,12,0,31,128,12,0, + 31,128,12,0,31,128,12,0,31,128,12,0,31,128,12,0, + 31,128,12,0,31,128,12,0,31,128,12,0,31,128,12,0, + 31,128,12,0,31,128,12,0,31,128,12,0,31,128,28,0, + 15,192,24,0,15,224,56,0,7,248,240,0,3,255,224,0, + 0,255,192,0,25,25,100,25,0,0,255,224,255,128,255,224, + 255,128,63,128,62,0,31,128,28,0,31,128,28,0,31,192, + 24,0,15,192,56,0,15,192,48,0,7,224,112,0,7,224, + 112,0,7,240,96,0,3,240,224,0,3,240,192,0,1,248, + 192,0,1,249,192,0,1,249,128,0,0,255,128,0,0,255, + 0,0,0,255,0,0,0,127,0,0,0,126,0,0,0,62, + 0,0,0,62,0,0,0,60,0,0,0,28,0,0,32,25, + 100,32,0,0,255,223,249,255,255,223,249,255,63,7,224,124, + 63,7,224,56,31,131,224,48,31,131,240,112,31,131,240,112, + 15,193,240,96,15,195,248,96,15,195,248,224,7,195,248,192, + 7,231,248,192,7,230,252,192,7,230,253,128,3,254,125,128, + 3,252,127,128,3,252,127,128,1,252,63,0,1,248,63,0, + 1,248,63,0,0,248,62,0,0,248,30,0,0,240,30,0, + 0,112,28,0,0,112,12,0,24,25,75,24,0,0,255,227, + 255,255,227,255,63,128,252,31,192,120,31,192,112,15,224,224, + 7,224,192,7,241,192,3,255,128,3,255,0,1,255,0,0, + 254,0,0,254,0,0,127,0,0,127,128,0,255,128,1,223, + 192,3,143,224,3,143,224,7,7,240,14,3,240,30,3,248, + 63,3,252,255,239,255,255,239,255,24,25,75,24,0,0,255, + 241,255,255,241,255,63,128,124,31,192,56,31,192,112,15,224, + 112,15,224,224,7,240,192,3,241,192,3,249,128,1,251,128, + 1,255,0,0,255,0,0,126,0,0,126,0,0,126,0,0, + 126,0,0,126,0,0,126,0,0,126,0,0,126,0,0,126, + 0,0,126,0,3,255,192,3,255,192,19,25,75,21,1,0, + 127,255,224,127,255,224,126,15,224,120,15,224,112,31,192,112, + 31,128,96,63,128,96,127,0,64,126,0,0,254,0,1,252, + 0,1,252,0,3,248,0,3,240,0,7,240,0,15,224,32, + 15,224,96,31,192,96,31,128,96,63,128,224,127,0,224,127, + 1,224,254,7,224,255,255,224,255,255,224,8,29,29,13,3, + 252,255,255,240,240,240,240,240,240,240,240,240,240,240,240,240, + 240,240,240,240,240,240,240,240,240,240,240,240,255,255,16,25, + 50,20,2,0,240,0,248,0,120,0,124,0,60,0,62,0, + 30,0,31,0,15,0,15,128,7,128,7,192,3,192,3,224, + 1,224,1,240,0,240,0,248,0,120,0,124,0,60,0,62, + 0,30,0,30,0,15,8,29,29,13,1,252,255,255,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,255,255,16,14,28,20,2,11,3, + 192,7,224,7,224,15,240,15,240,15,240,30,120,30,120,60, + 60,60,60,124,62,120,30,248,31,240,15,16,3,6,16,0, + 251,255,255,255,255,255,255,7,6,6,11,2,17,96,240,248, + 124,30,6,18,16,48,20,1,0,15,240,0,63,252,0,120, + 126,0,124,62,0,124,62,0,56,62,0,0,62,0,3,254, + 0,31,190,0,126,62,0,124,62,0,252,62,0,252,62,0, + 252,127,64,127,255,192,63,143,128,19,25,75,21,0,0,255, + 0,0,255,0,0,31,0,0,31,0,0,31,0,0,31,0, + 0,31,0,0,31,0,0,31,0,0,31,63,0,31,255,128, + 31,207,192,31,135,192,31,3,224,31,3,224,31,3,224,31, + 3,224,31,3,224,31,3,224,31,3,224,31,3,192,31,7, + 192,31,143,128,29,255,0,24,124,0,15,16,32,17,1,0, + 3,240,15,252,62,62,124,62,124,62,248,28,248,0,248,0, + 248,0,248,0,252,2,252,6,126,6,63,28,31,248,7,224, + 20,25,75,22,1,0,0,127,128,0,127,128,0,31,128,0, + 15,128,0,15,128,0,15,128,0,15,128,0,15,128,0,15, + 128,15,207,128,31,239,128,62,63,128,124,31,128,120,31,128, + 248,15,128,248,15,128,248,15,128,248,15,128,248,15,128,248, + 15,128,248,31,128,124,31,128,124,127,128,63,239,240,15,143, + 240,16,16,32,18,1,0,3,224,15,248,60,60,120,30,120, + 30,248,31,248,31,255,255,255,255,248,0,248,0,252,3,124, + 6,63,14,31,252,7,240,15,25,50,13,0,0,0,240,3, + 252,7,158,15,62,15,62,31,28,31,0,31,0,31,0,255, + 240,255,240,31,0,31,0,31,0,31,0,31,0,31,0,31, + 0,31,0,31,0,31,0,31,0,31,0,255,224,255,224,20, + 25,75,20,1,249,0,1,224,0,3,240,7,255,240,31,124, + 224,62,62,0,124,31,0,124,31,0,124,31,0,124,31,0, + 124,31,0,62,62,0,31,126,0,31,248,0,124,0,0,248, + 0,0,255,252,0,255,255,0,63,255,0,31,255,128,127,255, + 128,240,7,128,240,7,128,248,15,0,127,254,0,15,240,0, + 20,25,75,22,1,0,254,0,0,254,0,0,62,0,0,62, + 0,0,62,0,0,62,0,0,62,0,0,62,0,0,62,0, + 0,62,62,0,62,255,128,63,255,128,63,143,192,63,7,192, + 63,7,192,62,7,192,62,7,192,62,7,192,62,7,192,62, + 7,192,62,7,192,62,7,192,62,7,192,255,159,240,255,159, + 240,9,25,50,12,2,0,28,0,62,0,62,0,62,0,28, + 0,0,0,0,0,0,0,0,0,254,0,254,0,62,0,62, + 0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62, + 0,62,0,62,0,255,128,255,128,12,32,64,12,253,249,0, + 224,1,240,1,240,1,240,0,224,0,0,0,0,0,0,0, + 0,7,240,7,240,1,240,1,240,1,240,1,240,1,240,1, + 240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1, + 240,1,240,113,240,249,224,249,224,251,192,127,128,30,0,20, + 25,75,22,1,0,254,0,0,254,0,0,62,0,0,62,0, + 0,62,0,0,62,0,0,62,0,0,62,0,0,62,0,0, + 62,63,224,62,63,224,62,15,0,62,14,0,62,60,0,62, + 112,0,62,248,0,63,252,0,63,254,0,63,126,0,62,63, + 0,62,31,128,62,31,192,62,15,224,255,191,240,255,191,240, + 10,25,50,12,1,0,254,0,254,0,62,0,62,0,62,0, + 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, + 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, + 62,0,62,0,255,192,255,192,29,16,64,31,1,0,254,126, + 31,0,254,255,63,192,63,255,255,192,63,159,231,224,63,15, + 195,224,62,15,131,224,62,15,131,224,62,15,131,224,62,15, + 131,224,62,15,131,224,62,15,131,224,62,15,131,224,62,15, + 131,224,62,15,131,224,255,191,239,248,255,191,239,248,20,16, + 48,22,1,0,254,62,0,254,255,128,63,255,128,63,143,192, + 63,7,192,62,7,192,62,7,192,62,7,192,62,7,192,62, + 7,192,62,7,192,62,7,192,62,7,192,62,7,192,255,159, + 240,255,159,240,17,16,48,19,1,0,3,224,0,15,248,0, + 62,62,0,124,31,0,124,31,0,248,15,128,248,15,128,248, + 15,128,248,15,128,248,15,128,248,15,128,124,31,0,124,31, + 0,62,62,0,15,248,0,3,224,0,19,23,69,21,1,249, + 254,126,0,254,255,128,63,143,192,63,7,192,63,7,224,62, + 3,224,62,3,224,62,3,224,62,3,224,62,3,224,62,3, + 224,63,7,192,63,7,192,63,143,128,63,255,0,62,126,0, + 62,0,0,62,0,0,62,0,0,62,0,0,62,0,0,255, + 128,0,255,128,0,20,23,69,20,1,249,7,225,128,31,249, + 128,62,31,128,124,31,128,124,15,128,248,15,128,248,15,128, + 248,15,128,248,15,128,248,15,128,248,15,128,124,31,128,124, + 31,128,62,63,128,31,239,128,7,207,128,0,15,128,0,15, + 128,0,15,128,0,15,128,0,15,128,0,127,240,0,127,240, + 15,16,32,16,1,0,252,124,252,254,61,254,61,190,63,62, + 62,28,62,0,62,0,62,0,62,0,62,0,62,0,62,0, + 62,0,255,192,255,192,14,16,32,16,1,0,15,216,60,248, + 112,56,240,24,254,8,255,192,255,240,127,248,63,248,15,252, + 192,252,192,60,224,56,248,120,255,240,207,192,12,23,46,14, + 1,0,6,0,6,0,14,0,14,0,14,0,30,0,62,0, + 255,224,255,224,62,0,62,0,62,0,62,0,62,0,62,0, + 62,0,62,48,62,48,62,48,62,96,63,224,31,192,15,128, + 20,16,48,22,1,0,254,31,192,254,31,192,62,7,192,62, + 7,192,62,7,192,62,7,192,62,7,192,62,7,192,62,7, + 192,62,7,192,62,15,192,62,15,192,63,31,192,31,255,192, + 31,247,240,7,199,240,19,16,48,19,0,0,255,143,224,255, + 143,224,63,3,192,63,3,128,31,3,0,31,135,0,15,134, + 0,15,198,0,7,204,0,7,236,0,3,248,0,3,248,0, + 1,248,0,1,240,0,0,240,0,0,224,0,27,16,64,29, + 1,0,255,191,239,224,255,191,239,224,126,31,131,192,62,15, + 131,128,63,15,131,0,31,15,195,0,31,143,198,0,15,159, + 230,0,15,155,230,0,15,251,236,0,7,241,252,0,7,241, + 248,0,3,225,248,0,3,224,240,0,1,192,240,0,1,192, + 96,0,19,16,48,19,0,0,255,223,224,255,223,224,63,7, + 0,31,142,0,31,220,0,15,248,0,7,240,0,3,240,0, + 1,248,0,3,252,0,7,254,0,14,126,0,28,63,0,60, + 63,128,255,127,224,255,127,224,19,23,69,19,0,249,255,143, + 224,255,143,224,63,3,128,63,3,128,31,3,0,31,135,0, + 15,134,0,15,198,0,7,204,0,7,236,0,3,248,0,3, + 248,0,1,248,0,1,240,0,0,240,0,0,224,0,0,96, + 0,112,192,0,248,192,0,249,128,0,255,0,0,127,0,0, + 60,0,0,14,16,32,16,1,0,127,252,127,252,112,252,97, + 248,97,248,67,240,7,224,7,224,15,192,31,128,31,12,63, + 12,126,28,124,28,255,252,255,252,8,30,30,13,3,252,3, + 14,28,60,60,60,60,60,60,60,60,60,60,56,240,248,60, + 60,60,60,60,60,60,60,60,60,60,28,14,3,4,25,25, + 20,8,0,240,240,240,240,240,240,240,240,240,240,240,240,240, + 240,240,240,240,240,240,240,240,240,240,240,240,8,28,28,13, + 1,253,224,120,60,60,60,60,60,60,60,60,60,60,28,15, + 31,60,60,60,60,60,60,60,60,60,60,60,120,224,16,6, + 12,20,2,6,14,4,63,142,127,255,255,254,113,252,32,112, + 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,255,255,255,255,255,255, + 255,0,0,0,9,1,1,6,25,25,10,2,249,120,252,252, + 252,252,120,0,0,48,48,48,48,48,48,120,120,120,120,124, + 252,252,252,252,252,120,15,22,44,19,1,253,0,6,0,6, + 0,12,3,252,14,124,60,62,124,62,120,126,248,126,248,220, + 248,192,249,128,253,128,255,2,255,6,126,6,63,28,31,248, + 15,224,24,0,24,0,48,0,17,24,72,19,1,0,1,248, + 0,7,252,0,15,142,0,15,15,0,31,31,0,31,31,0, + 31,31,0,31,14,0,15,0,0,15,0,0,7,128,0,127, + 248,0,127,248,0,7,128,0,7,128,0,7,128,0,3,128, + 0,3,129,128,123,3,128,255,199,0,199,255,0,199,254,0, + 253,254,0,120,124,0,16,16,32,19,1,3,99,198,247,239, + 255,254,127,252,60,62,120,30,112,14,112,14,112,14,112,14, + 120,30,60,60,127,254,255,255,247,239,99,198,19,24,72,19, + 0,0,255,31,224,255,31,224,124,7,128,62,7,0,62,7, + 0,31,6,0,31,14,0,15,140,0,15,140,0,7,216,0, + 7,216,0,3,240,0,31,254,0,31,254,0,1,224,0,1, + 224,0,31,254,0,31,254,0,1,224,0,1,224,0,1,224, + 0,1,224,0,15,252,0,15,252,0,4,25,25,20,8,0, + 240,240,240,240,240,240,240,240,240,240,0,0,0,0,0,240, + 240,240,240,240,240,240,240,240,240,12,29,58,16,2,253,31, + 0,115,128,99,192,227,192,227,192,241,128,120,0,124,0,62, + 0,30,0,63,0,111,128,199,192,227,224,225,224,240,240,120, + 112,124,112,62,96,31,192,15,128,7,192,3,224,97,224,240, + 224,240,224,240,224,121,192,63,0,11,5,10,11,0,18,96, + 192,241,224,241,224,241,224,96,192,24,25,75,25,1,0,0, + 255,0,3,255,192,7,129,224,30,0,112,24,0,24,48,0, + 12,112,127,14,96,243,134,97,193,134,227,193,135,195,128,131, + 195,128,3,195,128,3,195,128,3,195,128,3,195,128,7,193, + 192,134,225,225,134,96,255,12,112,60,28,56,0,56,28,0, + 112,15,129,192,3,255,128,0,254,0,11,15,30,12,0,10, + 63,0,227,192,241,192,227,192,15,192,113,192,225,192,227,192, + 247,224,253,224,0,0,0,0,0,0,255,224,255,224,12,11, + 22,16,2,3,4,16,12,48,24,96,56,224,113,192,243,192, + 113,192,56,224,24,96,12,48,4,16,16,10,20,20,2,3, + 255,255,255,255,255,255,255,255,0,15,0,15,0,15,0,15, + 0,15,0,15,8,4,4,11,1,6,255,255,255,255,23,25, + 75,24,0,0,0,254,0,3,255,128,7,1,224,12,0,112, + 24,0,56,48,0,24,97,254,12,96,231,12,192,227,142,192, + 227,134,192,227,134,192,231,6,192,252,6,192,238,6,192,231, + 6,192,231,6,192,227,134,96,227,140,99,241,204,48,0,24, + 24,0,24,28,0,112,7,0,224,3,255,128,0,252,0,11, + 3,6,11,0,18,255,224,255,224,255,224,9,10,20,13,2, + 13,62,0,127,0,99,0,193,128,193,128,193,128,193,128,99, + 0,127,0,62,0,16,17,34,20,2,0,3,192,3,192,3, + 192,3,192,255,255,255,255,255,255,255,255,3,192,3,192,3, + 192,3,192,0,0,255,255,255,255,255,255,255,255,10,14,28, + 11,0,9,63,0,99,128,193,192,241,192,241,192,113,192,3, + 128,7,0,14,0,24,64,48,64,127,192,255,192,255,192,11, + 14,28,11,0,9,63,0,115,192,113,192,33,192,1,192,3, + 128,31,0,3,192,1,224,113,224,241,224,225,224,99,192,63, + 0,7,6,6,11,2,17,12,30,62,124,240,192,20,23,69, + 22,1,249,254,63,192,254,63,192,62,7,192,62,7,192,62, + 7,192,62,7,192,62,7,192,62,7,192,62,7,192,62,7, + 192,62,15,192,62,15,192,63,31,192,63,255,192,63,247,240, + 55,199,240,48,0,0,48,0,0,120,0,0,120,0,0,120, + 0,0,120,0,0,48,0,0,21,25,75,25,1,0,15,255, + 248,63,255,248,127,227,192,127,227,192,255,227,192,255,227,192, + 255,227,192,255,227,192,127,227,192,127,227,192,63,227,192,31, + 227,192,7,227,192,1,227,192,1,227,192,1,227,192,1,227, + 192,1,227,192,1,227,192,1,227,192,1,227,192,1,227,192, + 1,227,192,15,255,248,15,255,248,6,6,6,9,1,5,120, + 252,252,252,252,120,7,7,7,11,1,249,24,48,124,14,14, + 220,120,9,14,28,11,1,9,12,0,252,0,28,0,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,255,128,11,15,30,12,0,10,14,0,63,128,113,192, + 241,224,224,224,224,224,224,224,241,224,113,192,63,128,14,0, + 0,0,0,0,127,224,127,224,12,11,22,16,2,3,130,0, + 195,0,97,128,113,192,56,224,60,240,56,224,113,192,97,128, + 195,0,130,0,25,23,92,28,1,0,12,0,56,0,252,0, + 48,0,28,0,112,0,28,0,224,0,28,0,192,0,28,1, + 192,0,28,1,128,0,28,3,128,0,28,7,0,0,28,7, + 2,0,28,14,6,0,28,12,14,0,28,28,30,0,255,184, + 62,0,0,56,110,0,0,112,206,0,0,97,142,0,0,227, + 14,0,0,195,255,128,1,192,14,0,3,128,14,0,3,0, + 14,0,7,0,63,128,25,23,92,28,1,0,12,0,56,0, + 252,0,112,0,28,0,112,0,28,0,224,0,28,0,192,0, + 28,1,192,0,28,1,128,0,28,3,128,0,28,7,0,0, + 28,6,126,0,28,14,199,0,28,13,135,128,28,29,227,128, + 255,185,231,128,0,56,231,128,0,112,15,0,0,96,14,0, + 0,224,28,0,1,192,48,128,1,192,96,128,3,128,255,128, + 3,1,255,128,7,1,255,128,26,23,92,28,0,0,63,0, + 28,0,115,192,56,0,113,192,56,0,33,192,112,0,1,192, + 96,0,3,128,224,0,31,0,192,0,3,193,192,0,1,227, + 128,0,113,227,129,0,241,231,3,0,225,230,7,0,99,206, + 15,0,63,28,31,0,0,28,55,0,0,56,103,0,0,48, + 199,0,0,113,135,0,0,97,255,192,0,224,7,0,1,192, + 7,0,1,192,7,0,3,128,31,192,15,25,50,16,1,249, + 3,192,7,224,7,224,7,224,7,224,3,192,0,0,0,0, + 1,128,1,128,1,128,3,128,7,0,31,0,62,0,126,0, + 124,0,252,124,252,124,252,126,252,124,124,60,126,60,63,240, + 15,192,25,31,124,25,0,0,0,48,0,0,0,120,0,0, + 0,124,0,0,0,62,0,0,0,15,0,0,0,3,0,0, + 0,0,0,0,0,28,0,0,0,30,0,0,0,62,0,0, + 0,63,0,0,0,127,0,0,0,127,128,0,0,127,128,0, + 0,255,128,0,0,207,192,0,1,207,192,0,1,143,192,0, + 1,135,224,0,3,135,224,0,3,7,240,0,7,3,240,0, + 7,255,240,0,7,255,248,0,14,1,248,0,12,1,252,0, + 28,0,252,0,28,0,254,0,62,0,254,0,255,131,255,128, + 255,131,255,128,25,32,128,25,0,0,0,1,128,0,0,3, + 192,0,0,7,192,0,0,15,128,0,0,30,0,0,0,24, + 0,0,0,0,0,0,0,28,0,0,0,28,0,0,0,30, + 0,0,0,62,0,0,0,63,0,0,0,127,0,0,0,127, + 128,0,0,127,128,0,0,255,128,0,0,207,192,0,1,207, + 192,0,1,143,192,0,1,135,224,0,3,135,224,0,3,7, + 240,0,7,3,240,0,7,255,240,0,7,255,248,0,14,1, + 248,0,12,1,252,0,28,0,252,0,28,0,254,0,62,0, + 254,0,255,131,255,128,255,131,255,128,25,31,124,25,0,0, + 0,28,0,0,0,62,0,0,0,127,0,0,0,227,128,0, + 1,128,192,0,0,0,0,0,0,28,0,0,0,28,0,0, + 0,30,0,0,0,62,0,0,0,63,0,0,0,127,0,0, + 0,127,128,0,0,127,128,0,0,255,128,0,0,207,192,0, + 1,207,192,0,1,143,192,0,1,135,224,0,3,135,224,0, + 3,7,240,0,7,3,240,0,7,255,240,0,7,255,248,0, + 14,1,248,0,12,1,252,0,28,0,252,0,28,0,254,0, + 62,0,254,0,255,131,255,128,255,131,255,128,25,31,124,25, + 0,0,0,56,96,0,0,127,224,0,0,255,192,0,0,195, + 128,0,0,0,0,0,0,0,0,0,0,28,0,0,0,28, + 0,0,0,30,0,0,0,62,0,0,0,63,0,0,0,127, + 0,0,0,127,128,0,0,127,128,0,0,255,128,0,0,207, + 192,0,1,207,192,0,1,143,192,0,1,135,224,0,3,135, + 224,0,3,7,240,0,7,3,240,0,7,255,240,0,7,255, + 248,0,14,1,248,0,12,1,252,0,28,0,252,0,28,0, + 254,0,62,0,254,0,255,131,255,128,255,131,255,128,25,31, + 124,25,0,0,0,193,128,0,1,227,192,0,1,227,192,0, + 1,227,192,0,0,193,128,0,0,0,0,0,0,28,0,0, + 0,28,0,0,0,30,0,0,0,62,0,0,0,63,0,0, + 0,127,0,0,0,127,128,0,0,127,128,0,0,255,128,0, + 0,207,192,0,1,207,192,0,1,143,192,0,1,135,224,0, + 3,135,224,0,3,7,240,0,7,3,240,0,7,255,240,0, + 7,255,248,0,14,1,248,0,12,1,252,0,28,0,252,0, + 28,0,254,0,62,0,254,0,255,131,255,128,255,131,255,128, + 25,33,132,25,0,0,0,62,0,0,0,119,0,0,0,99, + 0,0,0,99,0,0,0,119,0,0,0,62,0,0,0,0, + 0,0,0,0,0,0,0,28,0,0,0,28,0,0,0,30, + 0,0,0,62,0,0,0,63,0,0,0,127,0,0,0,127, + 128,0,0,127,128,0,0,255,128,0,0,207,192,0,1,207, + 192,0,1,143,192,0,1,135,224,0,3,135,224,0,3,7, + 240,0,7,3,240,0,7,255,240,0,7,255,248,0,14,1, + 248,0,12,1,252,0,28,0,252,0,28,0,254,0,62,0, + 254,0,255,131,255,128,255,131,255,128,31,25,100,33,255,0, + 1,255,255,254,1,255,255,254,0,123,240,126,0,59,240,62, + 0,51,240,30,0,51,240,14,0,115,240,6,0,99,240,198, + 0,227,240,198,0,195,241,194,1,195,241,192,1,131,243,192, + 3,131,255,192,3,3,255,192,7,255,243,192,7,255,241,192, + 14,3,240,198,14,3,240,198,12,3,240,198,28,3,240,14, + 24,3,240,14,56,3,240,30,124,3,240,126,255,31,255,254, + 255,31,255,254,22,32,96,24,1,249,0,126,24,3,255,184, + 7,193,248,31,128,248,31,0,120,62,0,56,126,0,56,126, + 0,24,254,0,24,252,0,8,252,0,0,252,0,0,252,0, + 0,252,0,0,252,0,0,254,0,0,254,0,12,254,0,28, + 126,0,24,126,0,56,63,0,48,31,128,112,15,193,224,7, + 255,192,0,255,0,0,48,0,0,96,0,0,248,0,0,28, + 0,0,28,0,1,184,0,0,240,0,21,32,96,23,1,0, + 0,192,0,1,224,0,1,240,0,0,248,0,0,60,0,0, + 12,0,0,0,0,255,255,248,255,255,248,31,129,248,31,128, + 248,31,128,120,31,128,56,31,128,56,31,134,24,31,134,24, + 31,142,0,31,142,0,31,158,0,31,254,0,31,254,0,31, + 158,0,31,142,0,31,134,24,31,134,24,31,134,24,31,128, + 56,31,128,56,31,128,120,31,129,248,255,255,248,255,255,248, + 21,32,96,23,1,0,0,3,0,0,7,128,0,15,128,0, + 31,0,0,60,0,0,48,0,0,0,0,255,255,248,255,255, + 248,31,129,248,31,128,248,31,128,120,31,128,56,31,128,56, + 31,134,24,31,134,24,31,142,0,31,142,0,31,158,0,31, + 254,0,31,254,0,31,158,0,31,142,0,31,134,24,31,134, + 24,31,134,24,31,128,56,31,128,56,31,128,120,31,129,248, + 255,255,248,255,255,248,21,32,96,23,1,0,0,56,0,0, + 124,0,0,254,0,1,199,0,3,1,128,0,0,0,0,0, + 0,255,255,248,255,255,248,31,129,248,31,128,248,31,128,120, + 31,128,56,31,128,56,31,134,24,31,134,24,31,142,0,31, + 142,0,31,158,0,31,254,0,31,254,0,31,158,0,31,142, + 0,31,134,24,31,134,24,31,134,24,31,128,56,31,128,56, + 31,128,120,31,129,248,255,255,248,255,255,248,21,32,96,23, + 1,0,1,131,0,3,199,128,3,199,128,3,199,128,1,131, + 0,0,0,0,0,0,0,255,255,248,255,255,248,31,129,248, + 31,128,248,31,128,120,31,128,56,31,128,56,31,134,24,31, + 134,24,31,142,0,31,142,0,31,158,0,31,254,0,31,254, + 0,31,158,0,31,142,0,31,134,24,31,134,24,31,134,24, + 31,128,56,31,128,56,31,128,120,31,129,248,255,255,248,255, + 255,248,12,33,66,14,1,0,48,0,120,0,124,0,62,0, + 15,0,3,0,0,0,0,0,255,240,255,240,31,128,31,128, + 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, + 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, + 31,128,31,128,31,128,255,240,255,240,12,33,66,14,1,0, + 0,192,1,224,3,224,7,192,15,0,12,0,0,0,0,0, + 255,240,255,240,31,128,31,128,31,128,31,128,31,128,31,128, + 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, + 31,128,31,128,31,128,31,128,31,128,31,128,31,128,255,240, + 255,240,12,32,64,14,1,0,7,0,15,128,31,192,56,224, + 96,48,0,0,0,0,255,240,255,240,31,128,31,128,31,128, + 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, + 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, + 31,128,31,128,255,240,255,240,12,32,64,14,1,0,48,96, + 120,240,120,240,120,240,48,96,0,0,0,0,255,240,255,240, + 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, + 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, + 31,128,31,128,31,128,31,128,31,128,255,240,255,240,24,25, + 75,26,1,0,255,255,0,255,255,224,31,131,240,31,129,248, + 31,128,252,31,128,124,31,128,126,31,128,126,31,128,127,31, + 128,63,31,128,63,31,128,63,255,248,63,255,248,63,31,128, + 63,31,128,63,31,128,63,31,128,127,31,128,126,31,128,126, + 31,128,252,31,128,248,31,131,240,255,255,224,255,255,0,27, + 31,124,27,0,0,0,56,96,0,0,127,224,0,0,255,192, + 0,0,195,128,0,0,0,0,0,0,0,0,0,255,128,127, + 224,255,192,127,224,63,224,15,0,15,224,6,0,15,240,6, + 0,15,248,6,0,15,252,6,0,13,254,6,0,12,254,6, + 0,12,255,6,0,12,127,134,0,12,63,198,0,12,31,230, + 0,12,15,230,0,12,15,246,0,12,7,254,0,12,3,254, + 0,12,1,254,0,12,0,254,0,12,0,126,0,12,0,126, + 0,12,0,62,0,30,0,30,0,255,192,14,0,255,192,6, + 0,24,32,96,26,1,0,1,128,0,3,192,0,3,224,0, + 1,240,0,0,120,0,0,24,0,0,0,0,0,126,0,3, + 255,192,15,193,240,31,128,248,63,0,252,62,0,124,126,0, + 126,126,0,126,252,0,63,252,0,63,252,0,63,252,0,63, + 252,0,63,252,0,63,252,0,63,252,0,63,252,0,63,126, + 0,126,126,0,126,62,0,124,63,0,252,31,128,248,15,193, + 240,3,255,192,0,126,0,24,32,96,26,1,0,0,0,192, + 0,1,224,0,3,224,0,7,192,0,15,0,0,12,0,0, + 0,0,0,126,0,3,255,192,15,193,240,31,128,248,63,0, + 252,62,0,124,126,0,126,126,0,126,252,0,63,252,0,63, + 252,0,63,252,0,63,252,0,63,252,0,63,252,0,63,252, + 0,63,252,0,63,126,0,126,126,0,126,62,0,124,63,0, + 252,31,128,248,15,193,240,3,255,192,0,126,0,24,32,96, + 26,1,0,0,28,0,0,62,0,0,127,0,0,227,128,1, + 128,192,0,0,0,0,0,0,0,126,0,3,255,192,15,193, + 240,31,128,248,63,0,252,62,0,124,126,0,126,126,0,126, + 252,0,63,252,0,63,252,0,63,252,0,63,252,0,63,252, + 0,63,252,0,63,252,0,63,252,0,63,126,0,126,126,0, + 126,62,0,124,63,0,252,31,128,248,15,193,240,3,255,192, + 0,126,0,24,31,93,26,1,0,0,112,192,0,255,192,1, + 255,128,1,135,0,0,0,0,0,0,0,0,126,0,3,255, + 192,15,193,240,31,128,248,63,0,252,62,0,124,126,0,126, + 126,0,126,252,0,63,252,0,63,252,0,63,252,0,63,252, + 0,63,252,0,63,252,0,63,252,0,63,252,0,63,126,0, + 126,126,0,126,62,0,124,63,0,252,31,128,248,15,193,240, + 3,255,192,0,126,0,24,32,96,26,1,0,0,193,128,1, + 227,192,1,227,192,1,227,192,0,193,128,0,0,0,0,0, + 0,0,126,0,3,255,192,15,193,240,31,128,248,63,0,252, + 62,0,124,126,0,126,126,0,126,252,0,63,252,0,63,252, + 0,63,252,0,63,252,0,63,252,0,63,252,0,63,252,0, + 63,252,0,63,126,0,126,126,0,126,62,0,124,63,0,252, + 31,128,248,15,193,240,3,255,192,0,126,0,16,17,34,20, + 2,0,32,4,112,14,248,31,252,63,126,126,63,252,31,248, + 15,240,7,224,15,240,31,248,63,252,126,126,252,63,248,31, + 112,14,32,4,24,27,81,26,1,255,0,0,12,0,126,24, + 3,255,248,7,195,240,31,128,248,31,0,248,62,0,252,126, + 1,254,126,3,126,254,7,127,252,6,63,252,12,63,252,28, + 63,252,24,63,252,48,63,252,96,63,252,224,63,254,192,127, + 127,128,126,127,128,126,63,0,124,31,0,248,31,128,248,15, + 193,224,27,255,192,48,126,0,48,0,0,26,32,128,28,1, + 0,0,48,0,0,0,120,0,0,0,124,0,0,0,62,0, + 0,0,15,0,0,0,3,0,0,0,0,0,0,255,240,255, + 192,255,240,255,192,31,128,30,0,31,128,12,0,31,128,12, + 0,31,128,12,0,31,128,12,0,31,128,12,0,31,128,12, + 0,31,128,12,0,31,128,12,0,31,128,12,0,31,128,12, + 0,31,128,12,0,31,128,12,0,31,128,12,0,31,128,12, + 0,31,128,12,0,31,128,12,0,31,128,28,0,15,192,24, + 0,15,224,56,0,7,248,240,0,3,255,224,0,0,255,192, + 0,26,32,128,28,1,0,0,0,96,0,0,0,240,0,0, + 1,240,0,0,3,224,0,0,7,128,0,0,6,0,0,0, + 0,0,0,255,240,255,192,255,240,255,192,31,128,30,0,31, + 128,12,0,31,128,12,0,31,128,12,0,31,128,12,0,31, + 128,12,0,31,128,12,0,31,128,12,0,31,128,12,0,31, + 128,12,0,31,128,12,0,31,128,12,0,31,128,12,0,31, + 128,12,0,31,128,12,0,31,128,12,0,31,128,12,0,31, + 128,28,0,15,192,24,0,15,224,56,0,7,248,240,0,3, + 255,224,0,0,255,192,0,26,32,128,28,1,0,0,14,0, + 0,0,31,0,0,0,63,128,0,0,113,192,0,0,192,96, + 0,0,0,0,0,0,0,0,0,255,240,255,192,255,240,255, + 192,31,128,30,0,31,128,12,0,31,128,12,0,31,128,12, + 0,31,128,12,0,31,128,12,0,31,128,12,0,31,128,12, + 0,31,128,12,0,31,128,12,0,31,128,12,0,31,128,12, + 0,31,128,12,0,31,128,12,0,31,128,12,0,31,128,12, + 0,31,128,12,0,31,128,28,0,15,192,24,0,15,224,56, + 0,7,248,240,0,3,255,224,0,0,255,192,0,26,32,128, + 28,1,0,0,48,96,0,0,120,240,0,0,120,240,0,0, + 120,240,0,0,48,96,0,0,0,0,0,0,0,0,0,255, + 240,255,192,255,240,255,192,31,128,30,0,31,128,12,0,31, + 128,12,0,31,128,12,0,31,128,12,0,31,128,12,0,31, + 128,12,0,31,128,12,0,31,128,12,0,31,128,12,0,31, + 128,12,0,31,128,12,0,31,128,12,0,31,128,12,0,31, + 128,12,0,31,128,12,0,31,128,12,0,31,128,28,0,15, + 192,24,0,15,224,56,0,7,248,240,0,3,255,224,0,0, + 255,192,0,24,33,99,24,0,0,0,0,96,0,0,240,0, + 1,240,0,3,224,0,7,128,0,6,0,0,0,0,0,0, + 0,255,241,255,255,241,255,63,128,124,31,192,56,31,192,112, + 15,224,112,15,224,224,7,240,192,3,241,192,3,249,128,1, + 251,128,1,255,0,0,255,0,0,126,0,0,126,0,0,126, + 0,0,126,0,0,126,0,0,126,0,0,126,0,0,126,0, + 0,126,0,0,126,0,3,255,192,3,255,192,22,25,75,24, + 1,0,255,240,0,255,240,0,31,128,0,31,128,0,31,128, + 0,31,255,128,31,255,224,31,131,240,31,129,248,31,128,252, + 31,128,252,31,128,252,31,128,252,31,128,252,31,128,252,31, + 129,248,31,131,240,31,255,224,31,255,0,31,128,0,31,128, + 0,31,128,0,31,128,0,255,240,0,255,240,0,18,25,75, + 20,0,0,3,252,0,7,190,0,15,15,0,15,15,0,31, + 15,128,31,15,128,31,15,128,31,15,0,31,15,0,31,14, + 0,31,28,0,31,126,0,31,15,128,31,15,128,31,7,192, + 31,7,192,31,7,192,31,7,192,31,7,192,31,7,192,31, + 7,128,31,7,128,31,79,0,255,254,0,255,120,0,18,23, + 69,20,1,0,3,0,0,7,128,0,7,192,0,3,224,0, + 0,240,0,0,48,0,0,0,0,15,240,0,63,252,0,120, + 62,0,124,62,0,124,62,0,56,62,0,0,62,0,3,254, + 0,31,190,0,126,62,0,124,62,0,252,62,0,252,62,0, + 252,127,64,127,255,192,63,143,128,18,23,69,20,1,0,0, + 96,0,0,240,0,1,240,0,3,224,0,7,128,0,6,0, + 0,0,0,0,15,240,0,63,252,0,120,62,0,124,62,0, + 124,62,0,56,62,0,0,62,0,3,254,0,31,190,0,126, + 62,0,124,62,0,252,62,0,252,62,0,252,127,64,127,255, + 192,63,143,128,18,22,66,20,1,0,1,192,0,3,224,0, + 7,240,0,14,56,0,24,12,0,0,0,0,15,240,0,63, + 252,0,120,62,0,124,62,0,124,62,0,56,62,0,0,62, + 0,3,254,0,31,190,0,126,62,0,124,62,0,252,62,0, + 252,62,0,252,127,64,127,255,192,63,143,128,18,22,66,20, + 1,0,7,12,0,15,252,0,31,248,0,24,112,0,0,0, + 0,0,0,0,15,240,0,63,252,0,120,62,0,124,62,0, + 124,62,0,56,62,0,0,62,0,3,254,0,31,190,0,126, + 62,0,124,62,0,252,62,0,252,62,0,252,127,64,127,255, + 192,63,143,128,18,23,69,20,1,0,12,24,0,30,60,0, + 30,60,0,30,60,0,12,24,0,0,0,0,0,0,0,15, + 240,0,63,252,0,120,62,0,124,62,0,124,62,0,56,62, + 0,0,62,0,3,254,0,31,190,0,126,62,0,124,62,0, + 252,62,0,252,62,0,252,127,64,127,255,192,63,143,128,18, + 23,69,20,1,0,3,224,0,7,112,0,6,48,0,6,48, + 0,7,112,0,3,224,0,0,0,0,15,240,0,63,252,0, + 120,62,0,124,62,0,124,62,0,56,62,0,0,62,0,3, + 254,0,31,190,0,126,62,0,124,62,0,252,62,0,252,62, + 0,252,127,64,127,255,192,63,143,128,26,16,64,28,1,0, + 7,224,248,0,30,123,222,0,56,63,15,0,124,63,15,128, + 124,62,7,128,120,62,7,192,49,254,7,192,15,255,255,192, + 63,255,255,192,126,62,0,0,252,62,0,0,248,63,0,192, + 248,127,1,128,252,239,131,128,127,199,255,0,63,1,252,0, + 15,23,46,17,1,249,3,240,14,60,62,62,124,62,124,62, + 248,28,248,0,248,0,248,0,248,0,252,2,252,6,126,6, + 63,28,31,248,7,240,1,128,3,0,7,192,0,224,0,224, + 13,192,7,128,16,23,46,18,1,0,6,0,15,0,15,128, + 7,192,1,224,0,96,0,0,3,224,14,120,60,60,124,30, + 124,30,248,31,248,31,255,255,255,255,248,0,248,0,252,3, + 124,6,63,14,31,252,7,240,16,23,46,18,1,0,0,48, + 0,120,0,248,1,240,3,192,3,0,0,0,3,224,14,120, + 60,60,124,30,124,30,248,31,248,31,255,255,255,255,248,0, + 248,0,252,3,124,6,63,14,31,252,7,240,16,22,44,18, + 1,0,1,192,3,224,7,240,14,56,24,12,0,0,3,224, + 14,120,60,60,124,30,124,30,248,31,248,31,255,255,255,255, + 248,0,248,0,252,3,124,6,63,14,31,252,7,240,16,23, + 46,18,1,0,12,24,30,60,30,60,30,60,12,24,0,0, + 0,0,3,224,14,120,60,60,124,30,124,30,248,31,248,31, + 255,255,255,255,248,0,248,0,252,3,124,6,63,14,31,252, + 7,240,9,23,46,11,1,0,96,0,240,0,248,0,124,0, + 30,0,6,0,0,0,254,0,254,0,62,0,62,0,62,0, + 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, + 62,0,255,128,255,128,9,23,46,11,1,0,6,0,15,0, + 31,0,62,0,120,0,96,0,0,0,254,0,254,0,62,0, + 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, + 62,0,62,0,62,0,255,128,255,128,11,22,44,11,255,0, + 14,0,31,0,63,128,113,192,192,96,0,0,63,128,63,128, + 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, + 15,128,15,128,15,128,15,128,63,224,63,224,11,23,46,11, + 0,0,96,192,241,224,241,224,241,224,96,192,0,0,0,0, + 127,0,127,0,31,0,31,0,31,0,31,0,31,0,31,0, + 31,0,31,0,31,0,31,0,31,0,31,0,127,192,127,192, + 17,26,78,20,1,0,0,4,0,14,14,0,15,156,0,3, + 248,0,1,240,0,3,248,0,7,120,0,14,60,0,4,62, + 0,0,30,0,3,255,0,15,63,0,60,31,0,124,31,128, + 120,15,128,248,15,128,248,15,128,248,15,128,248,15,128,248, + 15,128,248,15,128,124,31,0,124,31,0,62,62,0,15,248, + 0,3,224,0,20,22,66,22,1,0,3,134,0,7,254,0, + 15,252,0,12,56,0,0,0,0,0,0,0,254,62,0,254, + 255,128,63,255,128,63,143,192,63,7,192,63,7,192,62,7, + 192,62,7,192,62,7,192,62,7,192,62,7,192,62,7,192, + 62,7,192,62,7,192,255,159,240,255,159,240,17,23,69,19, + 1,0,6,0,0,15,0,0,15,128,0,7,192,0,1,224, + 0,0,96,0,0,0,0,3,224,0,15,248,0,62,62,0, + 124,31,0,124,31,0,248,15,128,248,15,128,248,15,128,248, + 15,128,248,15,128,248,15,128,124,31,0,124,31,0,62,62, + 0,15,248,0,3,224,0,17,23,69,19,1,0,0,24,0, + 0,60,0,0,124,0,0,248,0,1,224,0,1,128,0,0, + 0,0,3,224,0,15,248,0,62,62,0,124,31,0,124,31, + 0,248,15,128,248,15,128,248,15,128,248,15,128,248,15,128, + 248,15,128,124,31,0,124,31,0,62,62,0,15,248,0,3, + 224,0,17,22,66,19,1,0,1,192,0,3,224,0,7,240, + 0,14,56,0,24,12,0,0,0,0,3,224,0,15,248,0, + 62,62,0,124,31,0,124,31,0,248,15,128,248,15,128,248, + 15,128,248,15,128,248,15,128,248,15,128,124,31,0,124,31, + 0,62,62,0,15,248,0,3,224,0,17,22,66,19,1,0, + 3,134,0,7,254,0,15,252,0,12,56,0,0,0,0,0, + 0,0,3,224,0,15,248,0,62,62,0,124,31,0,124,31, + 0,248,15,128,248,15,128,248,15,128,248,15,128,248,15,128, + 248,15,128,124,31,0,124,31,0,62,62,0,15,248,0,3, + 224,0,17,23,69,19,1,0,12,24,0,30,60,0,30,60, + 0,30,60,0,12,24,0,0,0,0,0,0,0,3,224,0, + 15,248,0,62,62,0,124,31,0,124,31,0,248,15,128,248, + 15,128,248,15,128,248,15,128,248,15,128,248,15,128,124,31, + 0,124,31,0,62,62,0,15,248,0,3,224,0,17,17,51, + 20,2,0,1,192,0,3,224,0,3,224,0,3,224,0,1, + 192,0,0,0,0,255,255,128,255,255,128,255,255,128,255,255, + 128,0,0,0,0,0,0,1,192,0,3,224,0,3,224,0, + 3,224,0,1,192,0,17,22,66,19,1,253,0,2,0,0, + 6,0,0,12,0,3,236,0,15,248,0,62,62,0,124,63, + 0,124,111,0,248,79,128,248,207,128,248,143,128,249,143,128, + 251,15,128,250,15,128,126,31,0,124,31,0,62,62,0,31, + 248,0,27,224,0,48,0,0,48,0,0,32,0,0,20,23, + 69,22,1,0,3,0,0,7,128,0,7,192,0,3,224,0, + 0,240,0,0,48,0,0,0,0,254,31,192,254,31,192,62, + 7,192,62,7,192,62,7,192,62,7,192,62,7,192,62,7, + 192,62,7,192,62,7,192,62,15,192,62,15,192,63,31,192, + 31,255,192,31,247,240,7,199,240,20,23,69,22,1,0,0, + 24,0,0,60,0,0,124,0,0,248,0,1,224,0,1,128, + 0,0,0,0,254,31,192,254,31,192,62,7,192,62,7,192, + 62,7,192,62,7,192,62,7,192,62,7,192,62,7,192,62, + 7,192,62,15,192,62,15,192,63,31,192,31,255,192,31,247, + 240,7,199,240,20,22,66,22,1,0,0,224,0,1,240,0, + 3,248,0,7,28,0,12,6,0,0,0,0,254,31,192,254, + 31,192,62,7,192,62,7,192,62,7,192,62,7,192,62,7, + 192,62,7,192,62,7,192,62,7,192,62,15,192,62,15,192, + 63,31,192,31,255,192,31,247,240,7,199,240,20,23,69,22, + 1,0,6,12,0,15,30,0,15,30,0,15,30,0,6,12, + 0,0,0,0,0,0,0,254,31,192,254,31,192,62,7,192, + 62,7,192,62,7,192,62,7,192,62,7,192,62,7,192,62, + 7,192,62,7,192,62,15,192,62,15,192,63,31,192,31,255, + 192,31,247,240,7,199,240,19,30,90,19,0,249,0,12,0, + 0,30,0,0,62,0,0,124,0,0,240,0,0,192,0,0, + 0,0,255,143,224,255,143,224,63,3,128,63,3,128,31,3, + 0,31,135,0,15,134,0,15,198,0,7,204,0,7,236,0, + 3,248,0,3,248,0,1,248,0,1,240,0,0,240,0,0, + 224,0,0,96,0,112,192,0,248,192,0,249,128,0,255,0, + 0,127,0,0,60,0,0,20,29,87,22,0,249,255,0,0, + 255,0,0,31,0,0,31,0,0,31,0,0,31,0,0,31, + 63,0,31,127,192,31,199,224,31,131,224,31,131,240,31,3, + 240,31,3,240,31,1,240,31,1,240,31,1,240,31,3,240, + 31,131,224,31,131,224,31,199,192,31,255,128,31,63,0,31, + 0,0,31,0,0,31,0,0,31,0,0,31,0,0,127,224, + 0,127,224,0,19,30,90,19,0,249,3,6,0,7,143,0, + 7,143,0,7,143,0,3,6,0,0,0,0,0,0,0,255, + 143,224,255,143,224,63,3,128,63,3,128,31,3,0,31,135, + 0,15,134,0,15,198,0,7,204,0,7,236,0,3,248,0, + 3,248,0,1,248,0,1,240,0,0,240,0,0,224,0,0, + 96,0,112,192,0,248,192,0,249,128,0,255,0,0,127,0, + 0,60,0,0}; +/* + Fontname: -Adobe-New Century Schoolbook-Bold-R-Normal--34-240-100-100-P-193-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 0, '1' Height: 24 + Calculated Max Values w=17 h=25 x= 3 y=10 dx=20 dy= 0 ascent=25 len=72 + Font Bounding box w=39 h=53 x=-4 y=-13 + Calculated Min Values x=-1 y=-5 dx= 0 dy= 0 + Pure Font ascent =24 descent= 0 + X Font ascent =24 descent= 0 + Max Font ascent =25 descent=-5 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_ncenB24n[868] U8G_FONT_SECTION("u8g_font_ncenB24n") = { + 0,39,53,252,243,24,0,0,0,0,42,58,0,25,251,24, + 0,12,15,30,17,2,10,6,0,14,0,14,0,230,112,230, + 112,246,240,63,192,15,0,127,224,246,240,230,112,230,112,7, + 0,7,0,6,0,16,16,32,20,2,1,3,192,3,192,3, + 192,3,192,3,192,3,192,255,255,255,255,255,255,255,255,3, + 192,3,192,3,192,3,192,3,192,3,192,6,11,11,9,2, + 251,120,248,252,252,252,124,28,24,48,112,224,8,4,4,11, + 1,6,255,255,255,255,6,6,6,9,1,0,120,252,252,252, + 252,120,10,25,50,9,255,0,0,192,1,192,1,192,1,128, + 3,128,3,128,3,0,7,0,7,0,6,0,14,0,14,0, + 12,0,28,0,28,0,24,0,56,0,56,0,48,0,112,0, + 112,0,96,0,224,0,224,0,192,0,16,24,48,19,1,0, + 3,192,15,240,30,120,60,60,124,62,120,30,248,31,248,31, + 248,31,248,31,248,31,248,31,248,31,248,31,248,31,248,31, + 248,31,120,30,120,30,124,62,60,60,30,120,15,240,3,192, + 13,24,48,19,3,0,1,128,7,128,255,128,255,128,15,128, + 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, + 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, + 15,128,255,248,255,248,17,24,72,19,1,0,15,240,0,63, + 252,0,120,126,0,240,63,0,248,31,0,252,31,0,252,31, + 0,252,31,0,124,63,0,56,62,0,0,124,0,0,248,0, + 0,240,0,1,224,0,3,192,0,3,129,128,7,1,128,14, + 1,128,28,3,128,63,255,128,127,255,0,127,255,0,255,255, + 0,255,255,0,16,24,48,19,1,0,15,224,63,248,120,124, + 248,62,252,62,252,62,252,62,120,62,0,124,0,112,7,224, + 7,192,0,248,0,126,0,62,0,63,120,31,252,31,252,31, + 252,63,248,62,120,126,63,248,7,224,17,24,72,19,0,0, + 0,4,0,0,12,0,0,28,0,0,60,0,0,124,0,0, + 252,0,1,252,0,1,252,0,3,124,0,6,124,0,12,124, + 0,28,124,0,56,124,0,112,124,0,224,124,0,192,124,0, + 255,255,128,255,255,128,0,124,0,0,124,0,0,124,0,0, + 124,0,3,255,128,3,255,128,16,24,48,19,1,0,31,255, + 63,254,63,254,63,252,63,240,48,0,48,0,48,0,48,0, + 55,224,63,248,56,124,48,62,32,62,0,31,0,31,56,31, + 124,31,252,31,252,62,120,62,112,252,63,240,15,192,17,24, + 72,19,1,0,3,240,0,15,252,0,31,30,0,62,62,0, + 60,62,0,124,62,0,120,28,0,248,0,0,248,0,0,248, + 0,0,249,248,0,255,254,0,255,127,0,252,31,0,248,31, + 128,248,15,128,248,15,128,248,15,128,248,15,128,124,31,0, + 124,31,0,62,62,0,31,252,0,7,240,0,16,24,48,19, + 2,0,255,255,255,254,255,254,255,252,255,252,192,24,192,24, + 192,56,128,112,0,112,0,240,0,224,1,224,1,224,3,224, + 3,192,7,192,7,192,15,192,15,192,15,192,15,192,15,192, + 7,128,17,24,72,19,1,0,7,240,0,15,252,0,60,62, + 0,56,31,0,120,15,0,120,15,0,120,15,0,124,15,0, + 126,30,0,127,252,0,63,240,0,31,252,0,15,254,0,63, + 255,0,120,127,0,248,31,128,240,15,128,240,15,128,240,15, + 0,240,15,0,248,30,0,124,60,0,63,240,0,7,192,0, + 17,24,72,19,1,0,3,192,0,31,248,0,62,124,0,124, + 62,0,252,31,0,248,31,0,248,15,128,248,15,128,248,15, + 128,252,31,128,252,63,128,127,111,128,63,207,128,31,143,128, + 0,15,128,0,15,128,112,15,0,248,31,0,252,31,0,248, + 30,0,248,62,0,112,252,0,63,240,0,15,192,0,6,16, + 16,9,2,0,120,252,252,252,252,120,0,0,0,0,120,252, + 252,252,252,120}; +/* + Fontname: -Adobe-New Century Schoolbook-Bold-R-Normal--34-240-100-100-P-193-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 25, '1' Height: 24 + Calculated Max Values w=32 h=32 x= 8 y=17 dx=32 dy= 0 ascent=26 len=124 + Font Bounding box w=39 h=53 x=-4 y=-13 + Calculated Min Values x=-3 y=-7 dx= 0 dy= 0 + Pure Font ascent =25 descent=-7 + X Font ascent =25 descent=-7 + Max Font ascent =26 descent=-7 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_ncenB24r[5937] U8G_FONT_SECTION("u8g_font_ncenB24r") = { + 0,39,53,252,243,25,6,143,16,147,32,127,249,26,249,25, + 249,0,0,0,9,1,1,6,25,25,10,2,0,120,252,252, + 252,252,252,252,120,120,120,120,48,48,48,48,48,48,0,0, + 120,252,252,252,252,120,11,11,22,11,0,14,96,192,241,224, + 241,224,241,224,241,224,241,224,241,224,96,192,96,192,96,192, + 96,192,16,25,50,19,1,255,7,28,7,28,7,28,7,28, + 14,56,14,56,14,56,127,255,127,255,127,255,14,56,12,48, + 28,112,28,112,255,254,255,254,255,254,28,112,28,112,56,224, + 56,224,56,224,56,224,56,224,56,224,17,30,90,19,1,252, + 1,128,0,1,128,0,1,128,0,7,240,0,31,252,0,57, + 158,0,113,143,0,113,159,0,241,159,0,241,142,0,253,128, + 0,255,128,0,127,240,0,127,252,0,63,254,0,15,255,0, + 1,255,128,1,191,128,113,143,128,249,135,128,249,135,128,249, + 135,0,241,143,0,121,158,0,63,252,0,7,224,0,1,128, + 0,1,128,0,1,128,0,1,128,0,26,24,96,27,0,0, + 0,0,24,0,7,192,48,0,15,96,112,0,30,57,224,0, + 60,31,96,0,60,16,192,0,120,16,128,0,120,17,128,0, + 240,49,0,0,240,35,0,0,240,98,0,0,240,198,31,0, + 123,140,61,128,63,12,120,192,0,24,240,64,0,17,240,64, + 0,49,224,64,0,33,224,192,0,99,224,192,0,195,193,128, + 0,195,193,128,1,131,195,0,1,129,230,0,3,0,252,0, + 24,25,75,28,2,0,0,124,0,1,255,0,3,199,0,7, + 135,128,7,131,128,7,131,128,7,199,128,7,199,0,7,239, + 0,7,252,0,3,248,0,7,241,255,15,249,255,61,248,124, + 120,252,56,120,254,112,248,126,96,248,63,224,252,63,192,252, + 31,193,254,15,227,255,15,243,127,255,254,63,243,254,15,128, + 252,4,11,11,8,2,14,96,240,240,240,240,240,240,96,96, + 96,96,9,27,54,13,2,253,3,128,7,0,14,0,28,0, + 28,0,56,0,56,0,120,0,120,0,240,0,240,0,240,0, + 240,0,240,0,240,0,240,0,240,0,240,0,112,0,120,0, + 56,0,56,0,28,0,28,0,14,0,7,0,3,128,9,27, + 54,13,1,253,224,0,48,0,56,0,28,0,28,0,14,0, + 14,0,15,0,7,0,7,128,7,128,7,128,7,128,7,128, + 7,128,7,128,7,128,7,128,15,0,15,0,14,0,14,0, + 28,0,28,0,56,0,112,0,192,0,12,15,30,17,2,10, + 6,0,14,0,14,0,230,112,230,112,246,240,63,192,15,0, + 127,224,246,240,230,112,230,112,7,0,7,0,6,0,16,16, + 32,20,2,1,3,192,3,192,3,192,3,192,3,192,3,192, + 255,255,255,255,255,255,255,255,3,192,3,192,3,192,3,192, + 3,192,3,192,6,11,11,9,2,251,120,248,252,252,252,124, + 28,24,48,112,224,8,4,4,11,1,6,255,255,255,255,6, + 6,6,9,1,0,120,252,252,252,252,120,10,25,50,9,255, + 0,0,192,1,192,1,192,1,128,3,128,3,128,3,0,7, + 0,7,0,6,0,14,0,14,0,12,0,28,0,28,0,24, + 0,56,0,56,0,48,0,112,0,112,0,96,0,224,0,224, + 0,192,0,16,24,48,19,1,0,3,192,15,240,30,120,60, + 60,124,62,120,30,248,31,248,31,248,31,248,31,248,31,248, + 31,248,31,248,31,248,31,248,31,248,31,120,30,120,30,124, + 62,60,60,30,120,15,240,3,192,13,24,48,19,3,0,1, + 128,7,128,255,128,255,128,15,128,15,128,15,128,15,128,15, + 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, + 128,15,128,15,128,15,128,15,128,15,128,255,248,255,248,17, + 24,72,19,1,0,15,240,0,63,252,0,120,126,0,240,63, + 0,248,31,0,252,31,0,252,31,0,252,31,0,124,63,0, + 56,62,0,0,124,0,0,248,0,0,240,0,1,224,0,3, + 192,0,3,129,128,7,1,128,14,1,128,28,3,128,63,255, + 128,127,255,0,127,255,0,255,255,0,255,255,0,16,24,48, + 19,1,0,15,224,63,248,120,124,248,62,252,62,252,62,252, + 62,120,62,0,124,0,112,7,224,7,192,0,248,0,126,0, + 62,0,63,120,31,252,31,252,31,252,63,248,62,120,126,63, + 248,7,224,17,24,72,19,0,0,0,4,0,0,12,0,0, + 28,0,0,60,0,0,124,0,0,252,0,1,252,0,1,252, + 0,3,124,0,6,124,0,12,124,0,28,124,0,56,124,0, + 112,124,0,224,124,0,192,124,0,255,255,128,255,255,128,0, + 124,0,0,124,0,0,124,0,0,124,0,3,255,128,3,255, + 128,16,24,48,19,1,0,31,255,63,254,63,254,63,252,63, + 240,48,0,48,0,48,0,48,0,55,224,63,248,56,124,48, + 62,32,62,0,31,0,31,56,31,124,31,252,31,252,62,120, + 62,112,252,63,240,15,192,17,24,72,19,1,0,3,240,0, + 15,252,0,31,30,0,62,62,0,60,62,0,124,62,0,120, + 28,0,248,0,0,248,0,0,248,0,0,249,248,0,255,254, + 0,255,127,0,252,31,0,248,31,128,248,15,128,248,15,128, + 248,15,128,248,15,128,124,31,0,124,31,0,62,62,0,31, + 252,0,7,240,0,16,24,48,19,2,0,255,255,255,254,255, + 254,255,252,255,252,192,24,192,24,192,56,128,112,0,112,0, + 240,0,224,1,224,1,224,3,224,3,192,7,192,7,192,15, + 192,15,192,15,192,15,192,15,192,7,128,17,24,72,19,1, + 0,7,240,0,15,252,0,60,62,0,56,31,0,120,15,0, + 120,15,0,120,15,0,124,15,0,126,30,0,127,252,0,63, + 240,0,31,252,0,15,254,0,63,255,0,120,127,0,248,31, + 128,240,15,128,240,15,128,240,15,0,240,15,0,248,30,0, + 124,60,0,63,240,0,7,192,0,17,24,72,19,1,0,3, + 192,0,31,248,0,62,124,0,124,62,0,252,31,0,248,31, + 0,248,15,128,248,15,128,248,15,128,252,31,128,252,63,128, + 127,111,128,63,207,128,31,143,128,0,15,128,0,15,128,112, + 15,0,248,31,0,252,31,0,248,30,0,248,62,0,112,252, + 0,63,240,0,15,192,0,6,16,16,9,2,0,120,252,252, + 252,252,120,0,0,0,0,120,252,252,252,252,120,6,21,21, + 9,2,251,120,252,252,252,252,120,0,0,0,0,120,248,252, + 252,252,124,28,24,48,112,224,16,18,36,20,2,0,0,3, + 0,15,0,127,1,255,7,252,31,240,127,128,254,0,248,0, + 252,0,255,128,63,224,15,248,3,254,0,127,0,31,0,7, + 0,1,16,10,20,20,2,3,255,255,255,255,255,255,255,255, + 0,0,0,0,255,255,255,255,255,255,255,255,16,18,36,20, + 2,0,192,0,240,0,254,0,255,128,63,224,15,248,1,254, + 0,127,0,31,0,63,1,255,7,252,31,240,127,192,254,0, + 248,0,224,0,128,0,14,25,50,16,1,0,15,192,63,240, + 113,248,240,248,248,252,248,252,248,252,112,252,0,248,1,248, + 1,240,3,224,3,128,7,0,7,0,6,0,6,0,0,0, + 0,0,15,0,31,128,31,128,31,128,31,128,15,0,23,25, + 75,25,0,0,0,127,0,1,255,192,7,227,240,15,0,120, + 30,0,28,28,0,12,56,60,6,48,255,230,113,227,230,113, + 227,198,99,195,198,227,131,198,231,135,134,231,135,140,231,7, + 140,231,15,28,231,15,24,227,31,112,115,247,224,48,227,204, + 56,0,28,28,0,120,15,1,240,7,255,224,1,255,0,25, + 25,100,25,0,0,0,28,0,0,0,28,0,0,0,30,0, + 0,0,62,0,0,0,63,0,0,0,127,0,0,0,127,128, + 0,0,127,128,0,0,255,128,0,0,207,192,0,1,207,192, + 0,1,143,192,0,1,135,224,0,3,135,224,0,3,7,240, + 0,7,3,240,0,7,255,240,0,7,255,248,0,14,1,248, + 0,12,1,252,0,28,0,252,0,28,0,254,0,62,0,254, + 0,255,131,255,128,255,131,255,128,23,25,75,25,1,0,255, + 255,128,255,255,224,31,131,240,31,129,248,31,129,248,31,128, + 252,31,128,252,31,128,252,31,128,248,31,129,248,31,129,240, + 31,135,224,31,255,0,31,255,192,31,131,240,31,128,252,31, + 128,252,31,128,254,31,128,126,31,128,254,31,128,252,31,128, + 252,31,131,248,255,255,240,255,255,192,22,25,75,24,1,0, + 0,126,24,3,255,184,7,193,248,31,128,248,31,0,120,62, + 0,56,126,0,56,126,0,24,254,0,24,252,0,8,252,0, + 0,252,0,0,252,0,0,252,0,0,252,0,0,254,0,0, + 254,0,12,254,0,28,126,0,24,126,0,56,63,0,48,31, + 128,112,15,193,224,7,255,192,0,255,0,24,25,75,26,1, + 0,255,255,0,255,255,224,31,131,240,31,129,248,31,128,252, + 31,128,126,31,128,126,31,128,127,31,128,63,31,128,63,31, + 128,63,31,128,63,31,128,63,31,128,63,31,128,63,31,128, + 63,31,128,127,31,128,126,31,128,126,31,128,126,31,128,252, + 31,129,248,31,131,240,255,255,224,255,255,0,21,25,75,23, + 1,0,255,255,248,255,255,248,31,129,248,31,128,248,31,128, + 120,31,128,56,31,128,56,31,134,24,31,134,24,31,142,0, + 31,142,0,31,158,0,31,254,0,31,254,0,31,158,0,31, + 142,0,31,134,24,31,134,24,31,134,24,31,128,56,31,128, + 56,31,128,120,31,129,248,255,255,248,255,255,248,21,25,75, + 23,1,0,255,255,248,255,255,248,31,193,248,31,128,248,31, + 128,120,31,128,56,31,128,24,31,131,24,31,131,24,31,135, + 8,31,135,0,31,159,0,31,255,0,31,255,0,31,143,0, + 31,135,0,31,131,0,31,131,0,31,131,0,31,128,0,31, + 128,0,31,128,0,31,128,0,255,248,0,255,248,0,25,25, + 100,26,1,0,0,126,12,0,3,255,220,0,7,193,252,0, + 15,128,124,0,31,0,60,0,63,0,28,0,126,0,28,0, + 126,0,12,0,254,0,12,0,254,0,4,0,254,0,0,0, + 252,0,0,0,252,0,0,0,252,0,0,0,252,7,255,128, + 252,7,255,128,252,0,124,0,254,0,124,0,126,0,124,0, + 126,0,124,0,63,0,252,0,31,0,252,0,15,129,220,0, + 7,255,28,0,0,252,12,0,26,25,100,28,1,0,255,243, + 255,192,255,243,255,192,31,128,126,0,31,128,126,0,31,128, + 126,0,31,128,126,0,31,128,126,0,31,128,126,0,31,128, + 126,0,31,128,126,0,31,128,126,0,31,128,126,0,31,255, + 254,0,31,255,254,0,31,128,126,0,31,128,126,0,31,128, + 126,0,31,128,126,0,31,128,126,0,31,128,126,0,31,128, + 126,0,31,128,126,0,31,128,126,0,255,243,255,192,255,243, + 255,192,12,25,50,14,1,0,255,240,255,240,31,128,31,128, + 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, + 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, + 31,128,31,128,31,128,255,240,255,240,20,25,75,20,0,0, + 0,255,240,0,255,240,0,31,128,0,31,128,0,31,128,0, + 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, + 128,0,31,128,0,31,128,24,31,128,126,31,128,126,31,128, + 254,31,128,254,31,128,254,31,128,252,31,0,96,63,0,96, + 62,0,56,254,0,63,248,0,15,224,0,25,25,100,27,1, + 0,255,243,255,128,255,243,255,128,31,128,126,0,31,128,120, + 0,31,128,240,0,31,129,224,0,31,129,192,0,31,131,128, + 0,31,135,0,0,31,143,0,0,31,159,0,0,31,191,128, + 0,31,255,192,0,31,239,192,0,31,239,224,0,31,199,224, + 0,31,135,240,0,31,131,248,0,31,129,248,0,31,129,252, + 0,31,128,252,0,31,128,254,0,31,128,255,0,255,243,255, + 128,255,243,255,128,21,25,75,23,1,0,255,240,0,255,240, + 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, + 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, + 128,0,31,128,0,31,128,0,31,128,0,31,128,24,31,128, + 24,31,128,24,31,128,56,31,128,56,31,128,120,31,129,248, + 255,255,248,255,255,248,31,25,100,32,0,0,127,224,7,254, + 127,240,15,254,15,240,15,240,15,240,15,240,13,248,27,240, + 13,248,27,240,13,248,27,240,12,252,59,240,12,252,51,240, + 12,252,51,240,12,124,115,240,12,126,99,240,12,126,99,240, + 12,62,227,240,12,63,195,240,12,63,195,240,12,31,195,240, + 12,31,131,240,12,31,131,240,12,15,131,240,12,15,3,240, + 12,15,3,240,30,15,3,240,255,198,31,254,255,198,31,254, + 27,25,100,27,0,0,255,128,127,224,255,192,127,224,63,224, + 15,0,15,224,6,0,15,240,6,0,15,248,6,0,15,252, + 6,0,13,254,6,0,12,254,6,0,12,255,6,0,12,127, + 134,0,12,63,198,0,12,31,230,0,12,15,230,0,12,15, + 246,0,12,7,254,0,12,3,254,0,12,1,254,0,12,0, + 254,0,12,0,126,0,12,0,126,0,12,0,62,0,30,0, + 30,0,255,192,14,0,255,192,6,0,24,25,75,26,1,0, + 0,126,0,3,255,192,15,193,240,31,128,248,63,0,252,62, + 0,124,126,0,126,126,0,126,252,0,63,252,0,63,252,0, + 63,252,0,63,252,0,63,252,0,63,252,0,63,252,0,63, + 252,0,63,126,0,126,126,0,126,62,0,124,63,0,252,31, + 128,248,15,193,240,3,255,192,0,126,0,22,25,75,24,1, + 0,255,255,128,255,255,224,31,131,240,31,129,248,31,128,252, + 31,128,252,31,128,252,31,128,252,31,128,252,31,128,252,31, + 129,248,31,131,240,31,255,224,31,255,0,31,128,0,31,128, + 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, + 31,128,0,31,128,0,255,240,0,255,240,0,25,31,124,26, + 1,250,0,126,0,0,3,255,192,0,15,193,240,0,31,128, + 248,0,63,0,252,0,62,0,124,0,126,0,126,0,126,0, + 126,0,252,0,63,0,252,0,63,0,252,0,63,0,252,0, + 63,0,252,0,63,0,252,0,63,0,252,0,63,0,252,60, + 63,0,252,254,63,0,127,135,126,0,127,131,254,0,63,3, + 252,0,63,3,252,0,31,131,248,0,15,195,240,0,3,255, + 224,0,0,127,224,0,0,3,225,128,0,3,225,128,0,1, + 243,128,0,1,255,0,0,0,254,0,0,0,60,0,25,25, + 100,27,1,0,255,255,128,0,255,255,240,0,31,131,248,0, + 31,129,248,0,31,128,252,0,31,128,252,0,31,128,252,0, + 31,128,252,0,31,128,252,0,31,129,248,0,31,129,240,0, + 31,135,192,0,31,255,0,0,31,255,192,0,31,135,224,0, + 31,131,224,0,31,131,240,0,31,131,240,0,31,131,240,0, + 31,131,249,128,31,129,249,128,31,129,251,0,31,129,255,0, + 255,240,254,0,255,240,124,0,19,25,75,21,1,0,3,240, + 192,31,253,192,60,31,192,120,7,192,112,3,192,240,1,192, + 240,0,192,248,0,192,255,0,192,255,240,0,127,254,0,127, + 255,0,63,255,128,15,255,192,7,255,224,64,127,224,96,7, + 224,96,3,224,112,1,224,120,1,224,120,1,192,126,3,192, + 127,7,128,103,255,0,97,252,0,21,25,75,23,1,0,255, + 255,248,255,255,248,241,248,120,225,248,56,225,248,56,193,248, + 24,193,248,24,193,248,24,129,248,8,129,248,8,1,248,0, + 1,248,0,1,248,0,1,248,0,1,248,0,1,248,0,1, + 248,0,1,248,0,1,248,0,1,248,0,1,248,0,1,248, + 0,1,248,0,15,255,128,15,255,128,26,25,100,28,1,0, + 255,240,255,192,255,240,255,192,31,128,30,0,31,128,12,0, + 31,128,12,0,31,128,12,0,31,128,12,0,31,128,12,0, + 31,128,12,0,31,128,12,0,31,128,12,0,31,128,12,0, + 31,128,12,0,31,128,12,0,31,128,12,0,31,128,12,0, + 31,128,12,0,31,128,12,0,31,128,12,0,31,128,28,0, + 15,192,24,0,15,224,56,0,7,248,240,0,3,255,224,0, + 0,255,192,0,25,25,100,25,0,0,255,224,255,128,255,224, + 255,128,63,128,62,0,31,128,28,0,31,128,28,0,31,192, + 24,0,15,192,56,0,15,192,48,0,7,224,112,0,7,224, + 112,0,7,240,96,0,3,240,224,0,3,240,192,0,1,248, + 192,0,1,249,192,0,1,249,128,0,0,255,128,0,0,255, + 0,0,0,255,0,0,0,127,0,0,0,126,0,0,0,62, + 0,0,0,62,0,0,0,60,0,0,0,28,0,0,32,25, + 100,32,0,0,255,223,249,255,255,223,249,255,63,7,224,124, + 63,7,224,56,31,131,224,48,31,131,240,112,31,131,240,112, + 15,193,240,96,15,195,248,96,15,195,248,224,7,195,248,192, + 7,231,248,192,7,230,252,192,7,230,253,128,3,254,125,128, + 3,252,127,128,3,252,127,128,1,252,63,0,1,248,63,0, + 1,248,63,0,0,248,62,0,0,248,30,0,0,240,30,0, + 0,112,28,0,0,112,12,0,24,25,75,24,0,0,255,227, + 255,255,227,255,63,128,252,31,192,120,31,192,112,15,224,224, + 7,224,192,7,241,192,3,255,128,3,255,0,1,255,0,0, + 254,0,0,254,0,0,127,0,0,127,128,0,255,128,1,223, + 192,3,143,224,3,143,224,7,7,240,14,3,240,30,3,248, + 63,3,252,255,239,255,255,239,255,24,25,75,24,0,0,255, + 241,255,255,241,255,63,128,124,31,192,56,31,192,112,15,224, + 112,15,224,224,7,240,192,3,241,192,3,249,128,1,251,128, + 1,255,0,0,255,0,0,126,0,0,126,0,0,126,0,0, + 126,0,0,126,0,0,126,0,0,126,0,0,126,0,0,126, + 0,0,126,0,3,255,192,3,255,192,19,25,75,21,1,0, + 127,255,224,127,255,224,126,15,224,120,15,224,112,31,192,112, + 31,128,96,63,128,96,127,0,64,126,0,0,254,0,1,252, + 0,1,252,0,3,248,0,3,240,0,7,240,0,15,224,32, + 15,224,96,31,192,96,31,128,96,63,128,224,127,0,224,127, + 1,224,254,7,224,255,255,224,255,255,224,8,29,29,13,3, + 252,255,255,240,240,240,240,240,240,240,240,240,240,240,240,240, + 240,240,240,240,240,240,240,240,240,240,240,240,255,255,16,25, + 50,20,2,0,240,0,248,0,120,0,124,0,60,0,62,0, + 30,0,31,0,15,0,15,128,7,128,7,192,3,192,3,224, + 1,224,1,240,0,240,0,248,0,120,0,124,0,60,0,62, + 0,30,0,30,0,15,8,29,29,13,1,252,255,255,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,255,255,16,14,28,20,2,11,3, + 192,7,224,7,224,15,240,15,240,15,240,30,120,30,120,60, + 60,60,60,124,62,120,30,248,31,240,15,16,3,6,16,0, + 251,255,255,255,255,255,255,7,6,6,11,2,17,96,240,248, + 124,30,6,18,16,48,20,1,0,15,240,0,63,252,0,120, + 126,0,124,62,0,124,62,0,56,62,0,0,62,0,3,254, + 0,31,190,0,126,62,0,124,62,0,252,62,0,252,62,0, + 252,127,64,127,255,192,63,143,128,19,25,75,21,0,0,255, + 0,0,255,0,0,31,0,0,31,0,0,31,0,0,31,0, + 0,31,0,0,31,0,0,31,0,0,31,63,0,31,255,128, + 31,207,192,31,135,192,31,3,224,31,3,224,31,3,224,31, + 3,224,31,3,224,31,3,224,31,3,224,31,3,192,31,7, + 192,31,143,128,29,255,0,24,124,0,15,16,32,17,1,0, + 3,240,15,252,62,62,124,62,124,62,248,28,248,0,248,0, + 248,0,248,0,252,2,252,6,126,6,63,28,31,248,7,224, + 20,25,75,22,1,0,0,127,128,0,127,128,0,31,128,0, + 15,128,0,15,128,0,15,128,0,15,128,0,15,128,0,15, + 128,15,207,128,31,239,128,62,63,128,124,31,128,120,31,128, + 248,15,128,248,15,128,248,15,128,248,15,128,248,15,128,248, + 15,128,248,31,128,124,31,128,124,127,128,63,239,240,15,143, + 240,16,16,32,18,1,0,3,224,15,248,60,60,120,30,120, + 30,248,31,248,31,255,255,255,255,248,0,248,0,252,3,124, + 6,63,14,31,252,7,240,15,25,50,13,0,0,0,240,3, + 252,7,158,15,62,15,62,31,28,31,0,31,0,31,0,255, + 240,255,240,31,0,31,0,31,0,31,0,31,0,31,0,31, + 0,31,0,31,0,31,0,31,0,31,0,255,224,255,224,20, + 25,75,20,1,249,0,1,224,0,3,240,7,255,240,31,124, + 224,62,62,0,124,31,0,124,31,0,124,31,0,124,31,0, + 124,31,0,62,62,0,31,126,0,31,248,0,124,0,0,248, + 0,0,255,252,0,255,255,0,63,255,0,31,255,128,127,255, + 128,240,7,128,240,7,128,248,15,0,127,254,0,15,240,0, + 20,25,75,22,1,0,254,0,0,254,0,0,62,0,0,62, + 0,0,62,0,0,62,0,0,62,0,0,62,0,0,62,0, + 0,62,62,0,62,255,128,63,255,128,63,143,192,63,7,192, + 63,7,192,62,7,192,62,7,192,62,7,192,62,7,192,62, + 7,192,62,7,192,62,7,192,62,7,192,255,159,240,255,159, + 240,9,25,50,12,2,0,28,0,62,0,62,0,62,0,28, + 0,0,0,0,0,0,0,0,0,254,0,254,0,62,0,62, + 0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62, + 0,62,0,62,0,255,128,255,128,12,32,64,12,253,249,0, + 224,1,240,1,240,1,240,0,224,0,0,0,0,0,0,0, + 0,7,240,7,240,1,240,1,240,1,240,1,240,1,240,1, + 240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1, + 240,1,240,113,240,249,224,249,224,251,192,127,128,30,0,20, + 25,75,22,1,0,254,0,0,254,0,0,62,0,0,62,0, + 0,62,0,0,62,0,0,62,0,0,62,0,0,62,0,0, + 62,63,224,62,63,224,62,15,0,62,14,0,62,60,0,62, + 112,0,62,248,0,63,252,0,63,254,0,63,126,0,62,63, + 0,62,31,128,62,31,192,62,15,224,255,191,240,255,191,240, + 10,25,50,12,1,0,254,0,254,0,62,0,62,0,62,0, + 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, + 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, + 62,0,62,0,255,192,255,192,29,16,64,31,1,0,254,126, + 31,0,254,255,63,192,63,255,255,192,63,159,231,224,63,15, + 195,224,62,15,131,224,62,15,131,224,62,15,131,224,62,15, + 131,224,62,15,131,224,62,15,131,224,62,15,131,224,62,15, + 131,224,62,15,131,224,255,191,239,248,255,191,239,248,20,16, + 48,22,1,0,254,62,0,254,255,128,63,255,128,63,143,192, + 63,7,192,62,7,192,62,7,192,62,7,192,62,7,192,62, + 7,192,62,7,192,62,7,192,62,7,192,62,7,192,255,159, + 240,255,159,240,17,16,48,19,1,0,3,224,0,15,248,0, + 62,62,0,124,31,0,124,31,0,248,15,128,248,15,128,248, + 15,128,248,15,128,248,15,128,248,15,128,124,31,0,124,31, + 0,62,62,0,15,248,0,3,224,0,19,23,69,21,1,249, + 254,126,0,254,255,128,63,143,192,63,7,192,63,7,224,62, + 3,224,62,3,224,62,3,224,62,3,224,62,3,224,62,3, + 224,63,7,192,63,7,192,63,143,128,63,255,0,62,126,0, + 62,0,0,62,0,0,62,0,0,62,0,0,62,0,0,255, + 128,0,255,128,0,20,23,69,20,1,249,7,225,128,31,249, + 128,62,31,128,124,31,128,124,15,128,248,15,128,248,15,128, + 248,15,128,248,15,128,248,15,128,248,15,128,124,31,128,124, + 31,128,62,63,128,31,239,128,7,207,128,0,15,128,0,15, + 128,0,15,128,0,15,128,0,15,128,0,127,240,0,127,240, + 15,16,32,16,1,0,252,124,252,254,61,254,61,190,63,62, + 62,28,62,0,62,0,62,0,62,0,62,0,62,0,62,0, + 62,0,255,192,255,192,14,16,32,16,1,0,15,216,60,248, + 112,56,240,24,254,8,255,192,255,240,127,248,63,248,15,252, + 192,252,192,60,224,56,248,120,255,240,207,192,12,23,46,14, + 1,0,6,0,6,0,14,0,14,0,14,0,30,0,62,0, + 255,224,255,224,62,0,62,0,62,0,62,0,62,0,62,0, + 62,0,62,48,62,48,62,48,62,96,63,224,31,192,15,128, + 20,16,48,22,1,0,254,31,192,254,31,192,62,7,192,62, + 7,192,62,7,192,62,7,192,62,7,192,62,7,192,62,7, + 192,62,7,192,62,15,192,62,15,192,63,31,192,31,255,192, + 31,247,240,7,199,240,19,16,48,19,0,0,255,143,224,255, + 143,224,63,3,192,63,3,128,31,3,0,31,135,0,15,134, + 0,15,198,0,7,204,0,7,236,0,3,248,0,3,248,0, + 1,248,0,1,240,0,0,240,0,0,224,0,27,16,64,29, + 1,0,255,191,239,224,255,191,239,224,126,31,131,192,62,15, + 131,128,63,15,131,0,31,15,195,0,31,143,198,0,15,159, + 230,0,15,155,230,0,15,251,236,0,7,241,252,0,7,241, + 248,0,3,225,248,0,3,224,240,0,1,192,240,0,1,192, + 96,0,19,16,48,19,0,0,255,223,224,255,223,224,63,7, + 0,31,142,0,31,220,0,15,248,0,7,240,0,3,240,0, + 1,248,0,3,252,0,7,254,0,14,126,0,28,63,0,60, + 63,128,255,127,224,255,127,224,19,23,69,19,0,249,255,143, + 224,255,143,224,63,3,128,63,3,128,31,3,0,31,135,0, + 15,134,0,15,198,0,7,204,0,7,236,0,3,248,0,3, + 248,0,1,248,0,1,240,0,0,240,0,0,224,0,0,96, + 0,112,192,0,248,192,0,249,128,0,255,0,0,127,0,0, + 60,0,0,14,16,32,16,1,0,127,252,127,252,112,252,97, + 248,97,248,67,240,7,224,7,224,15,192,31,128,31,12,63, + 12,126,28,124,28,255,252,255,252,8,30,30,13,3,252,3, + 14,28,60,60,60,60,60,60,60,60,60,60,56,240,248,60, + 60,60,60,60,60,60,60,60,60,60,28,14,3,4,25,25, + 20,8,0,240,240,240,240,240,240,240,240,240,240,240,240,240, + 240,240,240,240,240,240,240,240,240,240,240,240,8,28,28,13, + 1,253,224,120,60,60,60,60,60,60,60,60,60,60,28,15, + 31,60,60,60,60,60,60,60,60,60,60,60,120,224,16,6, + 12,20,2,6,14,4,63,142,127,255,255,254,113,252,32,112, + 255}; +/* + Fontname: -Adobe-New Century Schoolbook-Medium-R-Normal--11-80-100-100-P-60-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 8, '1' Height: 8 + Calculated Max Values w=11 h=11 x= 2 y= 6 dx=12 dy= 0 ascent=11 len=16 + Font Bounding box w=14 h=18 x=-2 y=-4 + Calculated Min Values x=-1 y=-2 dx= 0 dy= 0 + Pure Font ascent = 8 descent=-2 + X Font ascent = 8 descent=-2 + Max Font ascent =11 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_ncenR08[2642] U8G_FONT_SECTION("u8g_font_ncenR08") = { + 0,14,18,254,252,8,1,180,3,120,32,255,254,11,254,8, + 254,0,0,0,3,0,1,1,8,8,4,1,0,128,128,128, + 128,128,0,128,128,3,3,3,6,1,5,160,160,160,7,8, + 8,8,0,0,20,20,126,40,40,252,80,80,4,10,10,5, + 0,255,32,112,160,160,96,80,80,80,224,64,8,8,8,9, + 0,0,100,148,152,104,22,25,41,38,9,8,16,10,0,0, + 48,0,72,0,80,0,38,0,84,0,136,0,140,128,115,0, + 1,3,3,4,1,5,128,128,128,3,9,9,4,0,255,32, + 64,64,128,128,128,64,64,32,3,9,9,4,0,255,128,64, + 64,32,32,32,64,64,128,5,5,5,6,0,3,32,168,112, + 168,32,5,5,5,6,0,0,32,32,248,32,32,2,3,3, + 3,0,254,64,64,128,3,1,1,4,0,2,224,1,2,2, + 4,1,0,128,128,3,9,9,4,0,255,32,32,32,64,64, + 64,128,128,128,4,8,8,5,0,0,96,144,144,144,144,144, + 144,96,3,8,8,5,1,0,64,192,64,64,64,64,64,224, + 4,8,8,5,0,0,96,144,144,16,32,64,144,240,4,8, + 8,5,0,0,96,144,16,96,16,144,144,96,5,8,8,5, + 0,0,16,48,80,80,144,248,16,56,4,8,8,5,0,0, + 240,128,128,224,16,16,144,96,4,8,8,5,0,0,112,144, + 128,224,144,144,144,96,4,8,8,5,0,0,240,144,32,32, + 32,64,64,64,4,8,8,5,0,0,96,144,144,96,144,144, + 144,96,4,8,8,5,0,0,96,144,144,144,112,16,144,224, + 1,5,5,4,1,0,128,128,0,128,128,2,6,6,4,0, + 255,64,64,0,64,64,128,6,5,5,7,0,0,12,48,192, + 48,12,5,3,3,6,0,1,248,0,248,6,5,5,7,0, + 0,192,48,12,48,192,4,8,8,5,0,0,96,144,16,32, + 64,0,64,64,8,10,10,9,0,255,60,66,129,157,165,173, + 182,128,64,60,7,8,8,8,0,0,16,16,40,40,68,124, + 68,238,6,8,8,7,0,0,248,68,68,120,68,68,68,248, + 6,8,8,7,0,0,60,68,128,128,128,128,68,56,7,8, + 8,8,0,0,248,68,66,66,66,66,68,248,6,8,8,7, + 0,0,252,68,84,112,80,68,68,252,6,8,8,7,0,0, + 252,68,84,112,80,64,64,224,7,8,8,8,0,0,60,68, + 128,128,142,132,68,56,8,8,8,9,0,0,231,66,66,126, + 66,66,66,231,3,8,8,4,0,0,224,64,64,64,64,64, + 64,224,4,8,8,5,0,0,112,32,32,32,32,160,160,192, + 7,8,8,8,0,0,230,68,72,80,112,72,68,238,6,8, + 8,7,0,0,224,64,64,64,64,68,68,252,9,8,16,10, + 0,0,193,128,99,0,99,0,85,0,85,0,85,0,73,0, + 235,128,8,8,8,9,0,0,231,98,82,82,74,74,70,230, + 7,8,8,8,0,0,56,68,130,130,130,130,68,56,6,8, + 8,7,0,0,248,68,68,68,120,64,64,224,7,9,9,8, + 0,255,56,68,130,130,130,178,76,56,6,7,8,8,8,0, + 0,248,68,68,72,120,68,68,198,5,8,8,6,0,0,120, + 136,128,224,24,8,136,240,7,8,8,8,0,0,254,146,146, + 16,16,16,16,56,7,8,8,8,0,0,238,68,68,68,68, + 68,68,56,7,8,8,8,0,0,238,68,68,68,40,40,16, + 16,11,8,16,12,0,0,238,224,68,64,68,64,42,128,42, + 128,42,128,17,0,17,0,6,8,8,7,0,0,204,72,72, + 48,48,72,72,204,7,8,8,8,0,0,198,68,40,40,16, + 16,16,56,5,8,8,6,0,0,248,136,144,32,32,72,136, + 248,2,9,9,3,0,255,192,128,128,128,128,128,128,128,192, + 4,8,8,5,0,0,128,128,64,64,32,32,16,16,2,9, + 9,3,0,255,192,64,64,64,64,64,64,64,192,5,6,6, + 6,0,2,32,32,80,80,136,136,6,1,1,6,0,254,252, + 2,2,2,3,0,6,128,64,5,5,5,6,0,0,96,144, + 112,144,248,5,8,8,5,255,0,192,64,64,112,72,72,72, + 112,4,5,5,5,0,0,112,144,128,144,96,5,8,8,6, + 0,0,48,16,16,112,144,144,144,120,4,5,5,5,0,0, + 96,144,240,128,112,4,8,8,4,0,0,48,80,64,224,64, + 64,64,224,5,7,7,6,0,254,120,144,160,64,120,136,112, + 6,8,8,6,255,0,192,64,64,112,72,72,72,236,3,7, + 7,4,0,0,64,0,192,64,64,64,224,2,9,9,4,0, + 254,64,0,192,64,64,64,64,64,128,6,8,8,7,0,0, + 192,64,64,88,80,112,72,236,3,8,8,4,0,0,192,64, + 64,64,64,64,64,224,9,5,10,10,0,0,182,0,73,0, + 73,0,73,0,237,128,6,5,5,7,0,0,176,72,72,72, + 236,4,5,5,5,0,0,96,144,144,144,96,4,7,7,5, + 0,254,96,144,144,144,224,128,192,5,7,7,6,0,254,104, + 144,144,144,112,16,56,4,5,5,5,0,0,208,96,64,64, + 224,4,5,5,5,0,0,112,128,96,16,224,3,7,7,3, + 0,0,128,128,192,128,128,128,96,5,5,5,6,0,0,144, + 144,144,144,104,6,5,5,6,0,0,220,136,80,80,32,8, + 5,5,8,0,0,147,170,170,68,68,5,5,5,6,0,0, + 216,80,32,80,216,6,7,7,6,0,254,220,136,80,80,32, + 32,192,4,5,5,5,0,0,240,32,64,128,240,3,9,9, + 4,0,255,32,64,64,64,128,64,64,64,32,1,8,8,6, + 2,0,128,128,128,128,128,128,128,128,3,9,9,4,0,255, + 128,64,64,64,32,64,64,64,128,6,2,2,7,0,2,100, + 152,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,255,255,255,255,255, + 255,255,0,0,0,3,0,1,1,8,8,4,1,254,128,128, + 0,128,128,128,128,128,5,7,7,6,0,255,16,120,168,160, + 200,112,64,6,8,8,7,0,0,56,72,64,248,32,32,68, + 248,6,6,6,7,0,1,132,120,72,72,120,132,7,8,8, + 8,0,0,198,68,40,108,16,124,16,56,1,8,8,6,2, + 0,128,128,128,0,0,128,128,128,4,10,10,5,0,254,112, + 144,128,96,144,144,96,16,144,224,3,1,1,4,0,6,160, + 9,8,16,10,0,0,62,0,65,0,156,128,164,128,160,128, + 156,128,65,0,62,0,4,6,6,5,0,2,224,32,96,176, + 0,240,5,3,3,6,0,1,72,144,72,5,3,3,6,0, + 1,248,8,8,3,1,1,4,0,2,224,9,8,16,10,0, + 0,62,0,65,0,188,128,148,128,152,128,182,128,65,0,62, + 0,4,1,1,5,0,6,240,3,4,4,4,0,4,64,160, + 160,64,5,5,5,6,0,0,32,248,32,0,248,3,4,4, + 3,0,4,96,160,64,224,3,4,4,3,0,4,224,64,32, + 192,2,2,2,3,0,6,64,128,5,7,7,6,0,254,144, + 144,144,144,232,128,128,6,10,10,7,0,254,124,168,168,168, + 104,40,40,40,40,124,1,2,2,4,1,2,128,128,2,3, + 3,3,0,254,128,64,192,3,4,4,3,0,4,64,192,64, + 224,4,6,6,5,0,2,96,144,144,96,0,240,5,3,3, + 6,0,1,144,72,144,7,8,8,7,0,0,72,200,80,240, + 36,44,94,68,6,8,8,7,0,0,72,200,80,240,44,52, + 72,92,7,8,8,7,0,0,232,72,48,208,36,44,94,68, + 4,8,8,5,0,254,32,32,0,32,64,128,144,96,7,11, + 11,8,0,0,32,16,0,16,16,40,40,68,124,68,238,7, + 11,11,8,0,0,8,16,0,16,16,40,40,68,124,68,238, + 7,11,11,8,0,0,16,40,0,16,16,40,40,68,124,68, + 238,7,11,11,8,0,0,20,40,0,16,16,40,40,68,124, + 68,238,7,10,10,8,0,0,40,0,16,16,40,40,68,124, + 68,238,7,11,11,8,0,0,16,40,16,16,16,40,40,68, + 124,68,238,10,8,16,11,0,0,31,192,12,64,21,64,23, + 0,61,0,36,64,68,64,231,192,6,10,10,7,0,254,60, + 68,128,128,128,128,68,56,16,48,6,11,11,7,0,0,32, + 16,0,252,68,84,112,80,68,68,252,6,11,11,7,0,0, + 8,16,0,252,68,84,112,80,68,68,252,6,11,11,7,0, + 0,16,40,0,252,68,84,112,80,68,68,252,6,10,10,7, + 0,0,40,0,252,68,84,112,80,68,68,252,3,11,11,4, + 0,0,128,64,0,224,64,64,64,64,64,64,224,3,11,11, + 4,0,0,32,64,0,224,64,64,64,64,64,64,224,3,11, + 11,4,0,0,64,160,0,224,64,64,64,64,64,64,224,3, + 10,10,4,0,0,160,0,224,64,64,64,64,64,64,224,7, + 8,8,8,0,0,248,68,66,226,66,66,68,248,8,11,11, + 9,0,0,20,40,0,231,98,82,82,74,74,70,230,7,11, + 11,8,0,0,32,16,0,56,68,130,130,130,130,68,56,7, + 11,11,8,0,0,8,16,0,56,68,130,130,130,130,68,56, + 7,11,11,8,0,0,16,40,0,56,68,130,130,130,130,68, + 56,7,11,11,8,0,0,20,40,0,56,68,130,130,130,130, + 68,56,7,10,10,8,0,0,40,0,56,68,130,130,130,130, + 68,56,5,5,5,6,0,0,136,80,32,80,136,8,8,8, + 8,255,0,29,34,69,73,81,97,98,156,7,11,11,8,0, + 0,32,16,0,238,68,68,68,68,68,68,56,7,11,11,8, + 0,0,8,16,0,238,68,68,68,68,68,68,56,7,11,11, + 8,0,0,16,40,0,238,68,68,68,68,68,68,56,7,10, + 10,8,0,0,40,0,238,68,68,68,68,68,68,56,7,11, + 11,8,0,0,8,16,0,198,68,40,40,16,16,16,56,6, + 8,8,7,0,0,192,120,68,68,68,120,64,224,6,8,8, + 7,0,0,48,72,72,88,68,68,84,216,5,8,8,6,0, + 0,64,32,0,96,144,112,144,248,5,8,8,6,0,0,32, + 64,0,96,144,112,144,248,5,8,8,6,0,0,32,80,0, + 96,144,112,144,248,5,8,8,6,0,0,80,160,0,96,144, + 112,144,248,5,7,7,6,0,0,80,0,96,144,112,144,248, + 5,8,8,6,0,0,32,80,32,96,144,112,144,248,7,5, + 5,8,0,0,108,146,126,144,238,4,7,7,5,0,254,112, + 144,128,144,96,32,96,4,8,8,5,0,0,64,32,0,96, + 144,240,128,112,4,8,8,5,0,0,32,64,0,96,144,240, + 128,112,4,8,8,5,0,0,32,80,0,96,144,240,128,112, + 4,7,7,5,0,0,80,0,96,144,240,128,112,3,8,8, + 4,0,0,128,64,0,192,64,64,64,224,3,8,8,4,0, + 0,32,64,0,192,64,64,64,224,3,8,8,4,0,0,64, + 160,0,192,64,64,64,224,3,7,7,4,0,0,160,0,192, + 64,64,64,224,4,8,8,5,0,0,80,96,160,96,144,144, + 144,96,6,8,8,7,0,0,40,80,0,176,72,72,72,236, + 4,8,8,5,0,0,64,32,0,96,144,144,144,96,4,8, + 8,5,0,0,32,64,0,96,144,144,144,96,4,8,8,5, + 0,0,32,80,0,96,144,144,144,96,4,8,8,5,0,0, + 80,160,0,96,144,144,144,96,4,7,7,5,0,0,80,0, + 96,144,144,144,96,5,5,5,6,0,0,32,0,248,0,32, + 5,6,6,5,0,255,104,144,176,208,96,128,5,8,8,6, + 0,0,64,32,0,144,144,144,144,104,5,8,8,6,0,0, + 32,64,0,144,144,144,144,104,5,8,8,6,0,0,32,80, + 0,144,144,144,144,104,5,7,7,6,0,0,80,0,144,144, + 144,144,104,6,10,10,6,0,254,16,32,0,220,136,80,80, + 32,32,192,5,10,10,5,255,254,192,64,64,112,72,72,72, + 112,64,224,6,9,9,6,0,254,80,0,220,136,80,80,32, + 32,192}; +/* + Fontname: -Adobe-New Century Schoolbook-Medium-R-Normal--11-80-100-100-P-60-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 8, '1' Height: 8 + Calculated Max Values w=11 h=10 x= 2 y= 6 dx=12 dy= 0 ascent= 9 len=16 + Font Bounding box w=14 h=18 x=-2 y=-4 + Calculated Min Values x=-1 y=-2 dx= 0 dy= 0 + Pure Font ascent = 8 descent=-2 + X Font ascent = 8 descent=-2 + Max Font ascent = 9 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_ncenR08r[1266] U8G_FONT_SECTION("u8g_font_ncenR08r") = { + 0,14,18,254,252,8,1,180,3,120,32,127,254,9,254,8, + 254,0,0,0,3,0,1,1,8,8,4,1,0,128,128,128, + 128,128,0,128,128,3,3,3,6,1,5,160,160,160,7,8, + 8,8,0,0,20,20,126,40,40,252,80,80,4,10,10,5, + 0,255,32,112,160,160,96,80,80,80,224,64,8,8,8,9, + 0,0,100,148,152,104,22,25,41,38,9,8,16,10,0,0, + 48,0,72,0,80,0,38,0,84,0,136,0,140,128,115,0, + 1,3,3,4,1,5,128,128,128,3,9,9,4,0,255,32, + 64,64,128,128,128,64,64,32,3,9,9,4,0,255,128,64, + 64,32,32,32,64,64,128,5,5,5,6,0,3,32,168,112, + 168,32,5,5,5,6,0,0,32,32,248,32,32,2,3,3, + 3,0,254,64,64,128,3,1,1,4,0,2,224,1,2,2, + 4,1,0,128,128,3,9,9,4,0,255,32,32,32,64,64, + 64,128,128,128,4,8,8,5,0,0,96,144,144,144,144,144, + 144,96,3,8,8,5,1,0,64,192,64,64,64,64,64,224, + 4,8,8,5,0,0,96,144,144,16,32,64,144,240,4,8, + 8,5,0,0,96,144,16,96,16,144,144,96,5,8,8,5, + 0,0,16,48,80,80,144,248,16,56,4,8,8,5,0,0, + 240,128,128,224,16,16,144,96,4,8,8,5,0,0,112,144, + 128,224,144,144,144,96,4,8,8,5,0,0,240,144,32,32, + 32,64,64,64,4,8,8,5,0,0,96,144,144,96,144,144, + 144,96,4,8,8,5,0,0,96,144,144,144,112,16,144,224, + 1,5,5,4,1,0,128,128,0,128,128,2,6,6,4,0, + 255,64,64,0,64,64,128,6,5,5,7,0,0,12,48,192, + 48,12,5,3,3,6,0,1,248,0,248,6,5,5,7,0, + 0,192,48,12,48,192,4,8,8,5,0,0,96,144,16,32, + 64,0,64,64,8,10,10,9,0,255,60,66,129,157,165,173, + 182,128,64,60,7,8,8,8,0,0,16,16,40,40,68,124, + 68,238,6,8,8,7,0,0,248,68,68,120,68,68,68,248, + 6,8,8,7,0,0,60,68,128,128,128,128,68,56,7,8, + 8,8,0,0,248,68,66,66,66,66,68,248,6,8,8,7, + 0,0,252,68,84,112,80,68,68,252,6,8,8,7,0,0, + 252,68,84,112,80,64,64,224,7,8,8,8,0,0,60,68, + 128,128,142,132,68,56,8,8,8,9,0,0,231,66,66,126, + 66,66,66,231,3,8,8,4,0,0,224,64,64,64,64,64, + 64,224,4,8,8,5,0,0,112,32,32,32,32,160,160,192, + 7,8,8,8,0,0,230,68,72,80,112,72,68,238,6,8, + 8,7,0,0,224,64,64,64,64,68,68,252,9,8,16,10, + 0,0,193,128,99,0,99,0,85,0,85,0,85,0,73,0, + 235,128,8,8,8,9,0,0,231,98,82,82,74,74,70,230, + 7,8,8,8,0,0,56,68,130,130,130,130,68,56,6,8, + 8,7,0,0,248,68,68,68,120,64,64,224,7,9,9,8, + 0,255,56,68,130,130,130,178,76,56,6,7,8,8,8,0, + 0,248,68,68,72,120,68,68,198,5,8,8,6,0,0,120, + 136,128,224,24,8,136,240,7,8,8,8,0,0,254,146,146, + 16,16,16,16,56,7,8,8,8,0,0,238,68,68,68,68, + 68,68,56,7,8,8,8,0,0,238,68,68,68,40,40,16, + 16,11,8,16,12,0,0,238,224,68,64,68,64,42,128,42, + 128,42,128,17,0,17,0,6,8,8,7,0,0,204,72,72, + 48,48,72,72,204,7,8,8,8,0,0,198,68,40,40,16, + 16,16,56,5,8,8,6,0,0,248,136,144,32,32,72,136, + 248,2,9,9,3,0,255,192,128,128,128,128,128,128,128,192, + 4,8,8,5,0,0,128,128,64,64,32,32,16,16,2,9, + 9,3,0,255,192,64,64,64,64,64,64,64,192,5,6,6, + 6,0,2,32,32,80,80,136,136,6,1,1,6,0,254,252, + 2,2,2,3,0,6,128,64,5,5,5,6,0,0,96,144, + 112,144,248,5,8,8,5,255,0,192,64,64,112,72,72,72, + 112,4,5,5,5,0,0,112,144,128,144,96,5,8,8,6, + 0,0,48,16,16,112,144,144,144,120,4,5,5,5,0,0, + 96,144,240,128,112,4,8,8,4,0,0,48,80,64,224,64, + 64,64,224,5,7,7,6,0,254,120,144,160,64,120,136,112, + 6,8,8,6,255,0,192,64,64,112,72,72,72,236,3,7, + 7,4,0,0,64,0,192,64,64,64,224,2,9,9,4,0, + 254,64,0,192,64,64,64,64,64,128,6,8,8,7,0,0, + 192,64,64,88,80,112,72,236,3,8,8,4,0,0,192,64, + 64,64,64,64,64,224,9,5,10,10,0,0,182,0,73,0, + 73,0,73,0,237,128,6,5,5,7,0,0,176,72,72,72, + 236,4,5,5,5,0,0,96,144,144,144,96,4,7,7,5, + 0,254,96,144,144,144,224,128,192,5,7,7,6,0,254,104, + 144,144,144,112,16,56,4,5,5,5,0,0,208,96,64,64, + 224,4,5,5,5,0,0,112,128,96,16,224,3,7,7,3, + 0,0,128,128,192,128,128,128,96,5,5,5,6,0,0,144, + 144,144,144,104,6,5,5,6,0,0,220,136,80,80,32,8, + 5,5,8,0,0,147,170,170,68,68,5,5,5,6,0,0, + 216,80,32,80,216,6,7,7,6,0,254,220,136,80,80,32, + 32,192,4,5,5,5,0,0,240,32,64,128,240,3,9,9, + 4,0,255,32,64,64,64,128,64,64,64,32,1,8,8,6, + 2,0,128,128,128,128,128,128,128,128,3,9,9,4,0,255, + 128,64,64,64,32,64,64,64,128,6,2,2,7,0,2,100, + 152,255}; +/* + Fontname: -Adobe-New Century Schoolbook-Medium-R-Normal--14-100-100-100-P-82-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 11, '1' Height: 11 + Calculated Max Values w=17 h=14 x= 4 y= 8 dx=16 dy= 0 ascent=14 len=33 + Font Bounding box w=18 h=24 x=-2 y=-6 + Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 + Pure Font ascent =11 descent=-3 + X Font ascent =11 descent=-3 + Max Font ascent =14 descent=-3 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_ncenR10[3813] U8G_FONT_SECTION("u8g_font_ncenR10") = { + 0,18,24,254,250,11,2,24,5,38,32,255,253,14,253,11, + 253,0,0,0,4,0,1,1,11,11,3,1,0,128,128,128, + 128,128,128,128,128,0,128,128,3,4,4,5,1,7,160,160, + 160,160,8,11,11,8,0,0,18,18,18,127,36,36,36,254, + 72,72,72,6,14,14,8,1,254,32,120,164,172,160,224,120, + 28,20,212,148,120,16,16,11,11,22,12,0,0,51,0,77, + 0,138,0,138,0,148,0,100,192,9,32,10,32,18,32,18, + 64,33,128,11,11,22,13,1,0,28,0,50,0,34,0,52, + 0,24,0,57,224,76,128,135,0,131,32,197,192,120,192,1, + 4,4,3,1,7,128,128,128,128,4,13,13,5,0,254,16, + 32,64,64,128,128,128,128,128,64,64,32,16,4,13,13,6, + 1,254,128,64,32,32,16,16,16,16,16,32,32,64,128,5, + 5,5,7,1,6,32,168,112,168,32,7,7,7,9,1,0, + 16,16,16,254,16,16,16,2,4,4,4,0,254,192,64,64, + 128,4,1,1,5,0,3,240,1,2,2,4,1,0,128,128, + 4,11,11,4,0,0,16,16,16,32,32,32,64,64,64,128, + 128,6,11,11,8,1,0,120,204,132,132,132,132,132,132,132, + 204,120,5,11,11,8,1,0,32,224,32,32,32,32,32,32, + 32,32,248,6,11,11,8,1,0,120,140,196,4,4,8,16, + 32,68,132,252,6,11,11,8,1,0,120,140,196,4,8,56, + 12,4,196,140,120,7,11,11,8,0,0,12,28,20,36,68, + 68,132,254,4,4,14,6,11,11,8,1,0,252,128,128,184, + 204,132,4,4,196,140,120,6,11,11,8,1,0,56,68,140, + 128,184,204,132,132,132,204,120,6,11,11,8,1,0,252,132, + 136,8,16,16,16,32,32,32,32,6,11,11,8,1,0,120, + 204,132,196,104,120,140,132,132,204,120,6,11,11,8,1,0, + 120,204,132,132,132,204,116,4,196,136,112,1,7,7,4,1, + 0,128,128,0,0,0,128,128,2,9,9,4,0,254,64,64, + 0,0,0,192,64,64,128,8,7,7,10,1,0,3,12,48, + 192,48,12,3,7,4,4,9,1,2,254,0,0,254,8,7, + 7,10,1,0,192,48,12,3,12,48,192,5,11,11,6,0, + 0,112,152,136,8,16,32,32,32,0,32,32,12,11,22,13, + 0,0,31,224,32,16,70,144,137,144,144,144,145,16,145,16, + 147,48,141,192,64,16,63,224,11,11,22,10,255,0,4,0, + 4,0,10,0,10,0,10,0,17,0,17,0,63,128,32,128, + 32,128,251,224,9,11,22,10,0,0,254,0,35,0,33,0, + 33,0,34,0,63,0,33,128,32,128,32,128,33,128,255,0, + 9,11,22,11,1,0,30,128,97,128,64,128,192,128,128,0, + 128,0,128,0,192,128,64,128,97,0,30,0,10,11,22,11, + 0,0,255,0,32,128,32,192,32,64,32,64,32,64,32,64, + 32,64,32,192,32,128,255,0,9,11,22,10,0,0,255,128, + 32,128,32,128,36,0,36,0,60,0,36,0,36,0,32,128, + 32,128,255,128,9,11,22,10,0,0,255,128,32,128,32,128, + 36,0,36,0,60,0,36,0,36,0,32,0,32,0,248,0, + 10,11,22,11,0,0,30,128,97,128,64,128,192,128,128,0, + 128,0,135,192,192,128,64,128,97,128,30,128,11,11,22,12, + 0,0,251,224,32,128,32,128,32,128,32,128,63,128,32,128, + 32,128,32,128,32,128,251,224,5,11,11,6,0,0,248,32, + 32,32,32,32,32,32,32,32,248,7,11,11,7,0,0,62, + 8,8,8,8,8,8,200,136,136,112,11,11,22,11,0,0, + 251,192,33,0,34,0,36,0,40,0,56,0,52,0,38,0, + 35,0,33,128,251,224,9,11,22,10,0,0,248,0,32,0, + 32,0,32,0,32,0,32,0,32,0,32,0,32,128,32,128, + 255,128,15,11,22,16,0,0,240,30,48,24,40,40,40,40, + 44,72,36,72,38,136,34,136,35,136,33,8,249,62,12,11, + 22,13,0,0,225,240,48,64,56,64,40,64,44,64,38,64, + 35,64,33,64,33,192,32,192,248,64,10,11,22,11,0,0, + 30,0,97,128,64,128,192,192,128,64,128,64,128,64,192,192, + 64,128,97,128,30,0,9,11,22,10,0,0,255,0,33,128, + 32,128,32,128,33,0,62,0,32,0,32,0,32,0,32,0, + 248,0,11,13,26,11,0,254,30,0,97,128,64,128,192,192, + 128,64,128,64,128,64,220,192,98,128,99,128,31,0,1,32, + 0,192,11,11,22,11,0,0,255,0,33,128,32,128,32,128, + 33,0,62,0,35,0,33,0,33,32,33,160,248,192,7,11, + 11,8,0,0,122,198,130,130,224,56,14,130,130,198,188,9, + 11,22,10,0,0,255,128,136,128,136,128,8,0,8,0,8, + 0,8,0,8,0,8,0,8,0,62,0,12,11,22,13,0, + 0,249,240,32,64,32,64,32,64,32,64,32,64,32,64,32, + 64,32,64,48,128,31,0,11,11,22,10,255,0,251,224,32, + 128,48,128,17,0,17,0,25,0,10,0,10,0,10,0,4, + 0,4,0,17,11,33,16,255,0,251,239,128,32,131,0,48, + 194,0,17,194,0,17,68,0,25,100,0,11,40,0,10,40, + 0,14,56,0,6,16,0,4,16,0,12,11,22,13,0,0, + 253,240,48,64,24,128,13,0,5,0,6,0,11,0,9,0, + 17,128,32,192,251,240,11,11,22,10,255,0,251,224,96,128, + 49,0,17,0,26,0,10,0,4,0,4,0,4,0,4,0, + 31,0,8,11,11,9,0,0,255,131,134,12,8,24,48,32, + 97,193,255,3,13,13,4,0,254,224,128,128,128,128,128,128, + 128,128,128,128,128,224,6,11,11,8,1,0,128,128,64,64, + 32,32,16,16,8,8,4,3,13,13,4,0,254,224,32,32, + 32,32,32,32,32,32,32,32,32,224,5,6,6,7,1,5, + 32,32,80,80,136,136,7,1,1,7,0,254,254,3,3,3, + 5,1,8,128,64,32,7,7,7,8,0,0,56,76,4,60, + 196,140,118,7,11,11,7,255,0,192,64,64,64,92,102,66, + 66,66,102,92,6,7,7,7,0,0,120,204,128,128,128,196, + 120,7,11,11,8,0,0,12,4,4,4,116,204,132,132,132, + 204,118,6,7,7,7,0,0,120,204,132,252,128,196,120,5, + 11,11,5,0,0,56,72,64,64,240,64,64,64,64,64,224, + 7,10,10,8,0,253,118,204,132,204,120,128,124,198,130,124, + 8,11,11,9,0,0,192,64,64,64,92,102,66,66,66,66, + 231,3,10,10,4,0,0,64,64,0,192,64,64,64,64,64, + 224,3,13,13,4,255,253,32,32,0,96,32,32,32,32,32, + 32,32,160,192,8,11,11,9,0,0,192,64,64,64,94,72, + 80,120,76,70,239,3,11,11,4,0,0,192,64,64,64,64, + 64,64,64,64,64,224,13,7,14,14,0,0,220,224,103,48, + 66,16,66,16,66,16,66,16,231,56,8,7,7,9,0,0, + 220,102,66,66,66,66,231,6,7,7,7,0,0,120,204,132, + 132,132,204,120,7,10,10,8,0,253,220,102,66,66,66,102, + 92,64,64,224,7,10,10,7,0,253,116,204,132,132,132,204, + 116,4,4,14,6,7,7,7,0,0,220,100,64,64,64,64, + 224,5,7,7,6,0,0,120,136,192,112,24,136,240,5,9, + 9,5,0,0,64,64,240,64,64,64,64,72,48,8,7,7, + 9,0,0,231,66,66,66,66,102,59,7,7,7,8,0,0, + 238,68,68,40,40,16,16,11,7,14,12,0,0,238,224,68, + 64,68,64,42,128,42,128,17,0,17,0,7,7,7,8,0, + 0,206,100,56,16,56,76,230,7,10,10,8,0,253,238,68, + 68,40,40,16,16,32,160,192,6,7,7,7,0,0,252,140, + 152,48,100,196,252,3,13,13,4,0,254,32,64,64,64,64, + 64,128,64,64,64,64,64,32,1,11,11,9,4,0,128,128, + 128,128,128,128,128,128,128,128,128,3,13,13,5,1,254,128, + 64,64,64,64,64,32,64,64,64,64,64,128,7,2,2,9, + 1,3,114,140,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,255,255, + 255,255,255,255,255,0,0,0,4,0,1,1,11,11,4,1, + 253,128,128,0,128,128,128,128,128,128,128,128,6,11,11,8, + 1,254,4,4,120,204,144,144,160,228,120,128,128,7,11,11, + 8,0,0,60,98,70,64,32,252,16,16,96,178,206,7,7, + 7,8,0,2,186,68,130,130,130,68,186,9,11,22,8,0, + 0,227,128,65,0,34,0,34,0,20,0,20,0,62,0,8, + 0,62,0,8,0,28,0,1,11,11,9,4,0,128,128,128, + 128,0,0,128,128,128,128,128,5,13,13,7,1,254,120,136, + 128,192,112,152,136,200,112,24,8,136,240,4,2,2,6,1, + 8,144,144,12,11,22,14,1,0,15,0,48,192,79,32,89, + 32,144,16,144,16,152,144,79,32,64,32,48,192,15,0,5, + 7,7,6,0,4,96,144,112,144,248,0,248,6,5,5,7, + 0,1,36,72,144,72,36,7,4,4,9,0,1,254,2,2, + 2,4,1,1,5,0,3,240,12,11,22,14,1,0,15,0, + 48,192,94,32,73,32,137,16,142,16,139,16,89,160,64,32, + 48,192,15,0,5,1,1,5,0,8,248,4,4,4,6,1, + 7,96,144,144,96,7,7,7,9,1,0,16,16,254,16,16, + 0,254,4,6,6,5,0,5,96,144,32,64,144,240,4,6, + 6,5,0,5,96,144,32,16,144,96,3,3,3,5,1,8, + 32,64,128,8,10,10,9,0,253,231,66,66,66,66,102,123, + 64,96,64,7,13,13,9,1,254,126,212,212,212,212,116,20, + 20,20,20,20,20,62,2,2,2,4,1,3,192,192,3,4, + 4,5,0,253,64,64,32,192,3,6,6,5,1,5,64,192, + 64,64,64,224,4,7,7,5,0,4,96,144,144,144,96,0, + 240,6,5,5,7,0,1,144,72,36,72,144,10,11,22,12, + 0,0,65,0,193,0,66,0,66,0,68,0,228,128,9,128, + 18,128,20,128,39,192,32,128,10,11,22,12,0,0,65,0, + 193,0,66,0,66,0,68,0,229,128,10,64,16,128,17,0, + 34,64,35,192,10,11,22,12,0,0,97,0,145,0,34,0, + 18,0,148,0,100,128,9,128,18,128,20,128,39,192,32,128, + 5,11,11,6,0,253,32,32,0,32,32,32,64,128,136,200, + 112,11,14,28,10,255,0,8,0,4,0,0,0,4,0,4, + 0,10,0,10,0,10,0,17,0,17,0,63,128,32,128,32, + 128,251,224,11,14,28,10,255,0,2,0,4,0,0,0,4, + 0,4,0,10,0,10,0,10,0,17,0,17,0,63,128,32, + 128,32,128,251,224,11,14,28,10,255,0,4,0,10,0,17, + 0,4,0,4,0,10,0,10,0,10,0,17,0,17,0,63, + 128,32,128,32,128,251,224,11,14,28,10,255,0,12,128,19, + 0,0,0,4,0,4,0,10,0,10,0,10,0,17,0,17, + 0,63,128,32,128,32,128,251,224,11,13,26,10,255,0,17, + 0,17,0,4,0,4,0,10,0,10,0,10,0,17,0,17, + 0,63,128,32,128,32,128,251,224,11,14,28,10,255,0,12, + 0,18,0,12,0,4,0,4,0,10,0,10,0,10,0,17, + 0,17,0,63,128,32,128,32,128,251,224,14,11,22,15,0, + 0,15,252,5,4,9,4,9,32,17,32,17,224,63,32,33, + 32,65,4,65,4,227,252,9,14,28,11,1,253,30,128,97, + 128,64,128,192,128,128,0,128,0,128,0,192,128,64,128,97, + 0,30,0,8,0,4,0,24,0,9,14,28,10,0,0,16, + 0,8,0,0,0,255,128,32,128,32,128,36,0,36,0,60, + 0,36,0,36,0,32,128,32,128,255,128,9,14,28,10,0, + 0,4,0,8,0,0,0,255,128,32,128,32,128,36,0,36, + 0,60,0,36,0,36,0,32,128,32,128,255,128,9,14,28, + 10,0,0,12,0,18,0,0,0,255,128,32,128,32,128,36, + 0,36,0,60,0,36,0,36,0,32,128,32,128,255,128,9, + 14,28,10,0,0,18,0,18,0,0,0,255,128,32,128,32, + 128,36,0,36,0,60,0,36,0,36,0,32,128,32,128,255, + 128,5,14,14,6,0,0,64,32,0,248,32,32,32,32,32, + 32,32,32,32,248,5,14,14,6,0,0,16,32,0,248,32, + 32,32,32,32,32,32,32,32,248,5,14,14,6,0,0,48, + 72,0,248,32,32,32,32,32,32,32,32,32,248,5,14,14, + 6,0,0,80,80,0,248,32,32,32,32,32,32,32,32,32, + 248,10,11,22,11,0,0,255,0,32,128,32,192,32,64,32, + 64,248,64,32,64,32,64,32,192,32,128,255,0,12,14,28, + 13,0,0,12,128,19,0,0,0,225,240,48,64,48,64,40, + 64,44,64,38,64,35,64,33,64,32,192,32,64,248,64,10, + 14,28,11,0,0,8,0,4,0,0,0,30,0,97,128,64, + 128,192,192,128,64,128,64,128,64,192,192,64,128,97,128,30, + 0,10,14,28,11,0,0,2,0,4,0,0,0,30,0,97, + 128,64,128,192,192,128,64,128,64,128,64,192,192,64,128,97, + 128,30,0,10,14,28,11,0,0,12,0,18,0,0,0,30, + 0,97,128,64,128,192,192,128,64,128,64,128,64,192,192,64, + 128,97,128,30,0,10,14,28,11,0,0,25,0,38,0,0, + 0,30,0,97,128,64,128,192,192,128,64,128,64,128,64,192, + 192,64,128,97,128,30,0,10,14,28,11,0,0,18,0,18, + 0,0,0,30,0,97,128,64,128,192,192,128,64,128,64,128, + 64,192,192,64,128,97,128,30,0,7,7,7,9,1,0,130, + 68,40,16,40,68,130,11,11,22,11,255,0,15,32,48,192, + 32,192,97,96,66,32,68,32,72,32,112,96,32,64,112,192, + 143,0,12,14,28,13,0,0,8,0,4,0,0,0,249,240, + 32,64,32,64,32,64,32,64,32,64,32,64,32,64,32,64, + 48,128,31,0,12,14,28,13,0,0,1,0,2,0,0,0, + 249,240,32,64,32,64,32,64,32,64,32,64,32,64,32,64, + 32,64,48,128,31,0,12,14,28,13,0,0,6,0,9,0, + 0,0,249,240,32,64,32,64,32,64,32,64,32,64,32,64, + 32,64,32,64,48,128,31,0,12,14,28,13,0,0,9,0, + 9,0,0,0,249,240,32,64,32,64,32,64,32,64,32,64, + 32,64,32,64,32,64,48,128,31,0,11,14,28,10,255,0, + 2,0,4,0,0,0,251,224,96,128,49,0,17,0,26,0, + 10,0,4,0,4,0,4,0,4,0,31,0,9,11,22,10, + 0,0,248,0,32,0,63,0,33,128,32,128,32,128,33,0, + 62,0,32,0,32,0,248,0,7,11,11,8,0,0,56,100, + 68,76,88,68,66,66,66,86,220,7,11,11,8,0,0,32, + 16,8,0,56,76,4,60,196,140,118,7,11,11,8,0,0, + 8,16,32,0,56,76,4,60,196,140,118,7,11,11,8,0, + 0,16,40,68,0,56,76,4,60,196,140,118,7,10,10,8, + 0,0,50,76,0,56,76,4,60,196,140,118,7,10,10,8, + 0,0,72,72,0,56,76,4,60,196,140,118,7,11,11,8, + 0,0,48,72,48,0,56,76,4,60,196,140,118,11,7,14, + 12,0,0,59,192,78,96,4,32,63,224,196,0,142,32,115, + 192,6,10,10,7,0,253,120,204,128,128,128,196,120,32,16, + 96,6,11,11,7,0,0,64,32,16,0,120,204,132,252,128, + 196,120,6,11,11,7,0,0,8,16,32,0,120,204,132,252, + 128,196,120,6,11,11,7,0,0,16,40,68,0,120,204,132, + 252,128,196,120,6,10,10,7,0,0,72,72,0,120,204,132, + 252,128,196,120,3,11,11,4,0,0,128,64,32,0,192,64, + 64,64,64,64,224,3,11,11,4,0,0,32,64,128,0,192, + 64,64,64,64,64,224,5,11,11,4,255,0,32,80,136,0, + 96,32,32,32,32,32,112,4,10,10,4,255,0,144,144,0, + 96,32,32,32,32,32,112,7,11,11,7,255,0,76,48,208, + 8,60,102,66,66,66,102,60,8,10,10,9,0,0,50,76, + 0,220,102,66,66,66,66,231,6,11,11,7,0,0,64,32, + 16,0,120,204,132,132,132,204,120,6,11,11,7,0,0,16, + 32,64,0,120,204,132,132,132,204,120,6,11,11,7,0,0, + 32,80,136,0,120,204,132,132,132,204,120,6,10,10,7,0, + 0,100,152,0,120,204,132,132,132,204,120,6,10,10,7,0, + 0,72,72,0,120,204,132,132,132,204,120,7,7,7,9,1, + 0,16,16,0,254,0,16,16,6,9,9,7,0,255,8,120, + 220,148,164,164,204,120,64,8,11,11,9,0,0,32,16,8, + 0,231,66,66,66,66,102,59,8,11,11,9,0,0,2,4, + 8,0,231,66,66,66,66,102,59,8,11,11,9,0,0,8, + 20,34,0,231,66,66,66,66,102,59,8,10,10,9,0,0, + 36,36,0,231,66,66,66,66,102,59,7,14,14,8,0,253, + 4,8,16,0,238,68,68,40,40,16,16,32,160,192,7,14, + 14,8,0,253,192,64,64,64,92,102,66,66,66,102,92,64, + 64,224,7,13,13,8,0,253,72,72,0,238,68,68,40,40, + 16,16,32,160,192}; +/* + Fontname: -Adobe-New Century Schoolbook-Medium-R-Normal--14-100-100-100-P-82-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 11, '1' Height: 11 + Calculated Max Values w=17 h=14 x= 4 y= 8 dx=16 dy= 0 ascent=12 len=33 + Font Bounding box w=18 h=24 x=-2 y=-6 + Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 + Pure Font ascent =11 descent=-3 + X Font ascent =11 descent=-3 + Max Font ascent =12 descent=-3 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_ncenR10r[1781] U8G_FONT_SECTION("u8g_font_ncenR10r") = { + 0,18,24,254,250,11,2,24,5,38,32,127,253,12,253,11, + 253,0,0,0,4,0,1,1,11,11,3,1,0,128,128,128, + 128,128,128,128,128,0,128,128,3,4,4,5,1,7,160,160, + 160,160,8,11,11,8,0,0,18,18,18,127,36,36,36,254, + 72,72,72,6,14,14,8,1,254,32,120,164,172,160,224,120, + 28,20,212,148,120,16,16,11,11,22,12,0,0,51,0,77, + 0,138,0,138,0,148,0,100,192,9,32,10,32,18,32,18, + 64,33,128,11,11,22,13,1,0,28,0,50,0,34,0,52, + 0,24,0,57,224,76,128,135,0,131,32,197,192,120,192,1, + 4,4,3,1,7,128,128,128,128,4,13,13,5,0,254,16, + 32,64,64,128,128,128,128,128,64,64,32,16,4,13,13,6, + 1,254,128,64,32,32,16,16,16,16,16,32,32,64,128,5, + 5,5,7,1,6,32,168,112,168,32,7,7,7,9,1,0, + 16,16,16,254,16,16,16,2,4,4,4,0,254,192,64,64, + 128,4,1,1,5,0,3,240,1,2,2,4,1,0,128,128, + 4,11,11,4,0,0,16,16,16,32,32,32,64,64,64,128, + 128,6,11,11,8,1,0,120,204,132,132,132,132,132,132,132, + 204,120,5,11,11,8,1,0,32,224,32,32,32,32,32,32, + 32,32,248,6,11,11,8,1,0,120,140,196,4,4,8,16, + 32,68,132,252,6,11,11,8,1,0,120,140,196,4,8,56, + 12,4,196,140,120,7,11,11,8,0,0,12,28,20,36,68, + 68,132,254,4,4,14,6,11,11,8,1,0,252,128,128,184, + 204,132,4,4,196,140,120,6,11,11,8,1,0,56,68,140, + 128,184,204,132,132,132,204,120,6,11,11,8,1,0,252,132, + 136,8,16,16,16,32,32,32,32,6,11,11,8,1,0,120, + 204,132,196,104,120,140,132,132,204,120,6,11,11,8,1,0, + 120,204,132,132,132,204,116,4,196,136,112,1,7,7,4,1, + 0,128,128,0,0,0,128,128,2,9,9,4,0,254,64,64, + 0,0,0,192,64,64,128,8,7,7,10,1,0,3,12,48, + 192,48,12,3,7,4,4,9,1,2,254,0,0,254,8,7, + 7,10,1,0,192,48,12,3,12,48,192,5,11,11,6,0, + 0,112,152,136,8,16,32,32,32,0,32,32,12,11,22,13, + 0,0,31,224,32,16,70,144,137,144,144,144,145,16,145,16, + 147,48,141,192,64,16,63,224,11,11,22,10,255,0,4,0, + 4,0,10,0,10,0,10,0,17,0,17,0,63,128,32,128, + 32,128,251,224,9,11,22,10,0,0,254,0,35,0,33,0, + 33,0,34,0,63,0,33,128,32,128,32,128,33,128,255,0, + 9,11,22,11,1,0,30,128,97,128,64,128,192,128,128,0, + 128,0,128,0,192,128,64,128,97,0,30,0,10,11,22,11, + 0,0,255,0,32,128,32,192,32,64,32,64,32,64,32,64, + 32,64,32,192,32,128,255,0,9,11,22,10,0,0,255,128, + 32,128,32,128,36,0,36,0,60,0,36,0,36,0,32,128, + 32,128,255,128,9,11,22,10,0,0,255,128,32,128,32,128, + 36,0,36,0,60,0,36,0,36,0,32,0,32,0,248,0, + 10,11,22,11,0,0,30,128,97,128,64,128,192,128,128,0, + 128,0,135,192,192,128,64,128,97,128,30,128,11,11,22,12, + 0,0,251,224,32,128,32,128,32,128,32,128,63,128,32,128, + 32,128,32,128,32,128,251,224,5,11,11,6,0,0,248,32, + 32,32,32,32,32,32,32,32,248,7,11,11,7,0,0,62, + 8,8,8,8,8,8,200,136,136,112,11,11,22,11,0,0, + 251,192,33,0,34,0,36,0,40,0,56,0,52,0,38,0, + 35,0,33,128,251,224,9,11,22,10,0,0,248,0,32,0, + 32,0,32,0,32,0,32,0,32,0,32,0,32,128,32,128, + 255,128,15,11,22,16,0,0,240,30,48,24,40,40,40,40, + 44,72,36,72,38,136,34,136,35,136,33,8,249,62,12,11, + 22,13,0,0,225,240,48,64,56,64,40,64,44,64,38,64, + 35,64,33,64,33,192,32,192,248,64,10,11,22,11,0,0, + 30,0,97,128,64,128,192,192,128,64,128,64,128,64,192,192, + 64,128,97,128,30,0,9,11,22,10,0,0,255,0,33,128, + 32,128,32,128,33,0,62,0,32,0,32,0,32,0,32,0, + 248,0,11,13,26,11,0,254,30,0,97,128,64,128,192,192, + 128,64,128,64,128,64,220,192,98,128,99,128,31,0,1,32, + 0,192,11,11,22,11,0,0,255,0,33,128,32,128,32,128, + 33,0,62,0,35,0,33,0,33,32,33,160,248,192,7,11, + 11,8,0,0,122,198,130,130,224,56,14,130,130,198,188,9, + 11,22,10,0,0,255,128,136,128,136,128,8,0,8,0,8, + 0,8,0,8,0,8,0,8,0,62,0,12,11,22,13,0, + 0,249,240,32,64,32,64,32,64,32,64,32,64,32,64,32, + 64,32,64,48,128,31,0,11,11,22,10,255,0,251,224,32, + 128,48,128,17,0,17,0,25,0,10,0,10,0,10,0,4, + 0,4,0,17,11,33,16,255,0,251,239,128,32,131,0,48, + 194,0,17,194,0,17,68,0,25,100,0,11,40,0,10,40, + 0,14,56,0,6,16,0,4,16,0,12,11,22,13,0,0, + 253,240,48,64,24,128,13,0,5,0,6,0,11,0,9,0, + 17,128,32,192,251,240,11,11,22,10,255,0,251,224,96,128, + 49,0,17,0,26,0,10,0,4,0,4,0,4,0,4,0, + 31,0,8,11,11,9,0,0,255,131,134,12,8,24,48,32, + 97,193,255,3,13,13,4,0,254,224,128,128,128,128,128,128, + 128,128,128,128,128,224,6,11,11,8,1,0,128,128,64,64, + 32,32,16,16,8,8,4,3,13,13,4,0,254,224,32,32, + 32,32,32,32,32,32,32,32,32,224,5,6,6,7,1,5, + 32,32,80,80,136,136,7,1,1,7,0,254,254,3,3,3, + 5,1,8,128,64,32,7,7,7,8,0,0,56,76,4,60, + 196,140,118,7,11,11,7,255,0,192,64,64,64,92,102,66, + 66,66,102,92,6,7,7,7,0,0,120,204,128,128,128,196, + 120,7,11,11,8,0,0,12,4,4,4,116,204,132,132,132, + 204,118,6,7,7,7,0,0,120,204,132,252,128,196,120,5, + 11,11,5,0,0,56,72,64,64,240,64,64,64,64,64,224, + 7,10,10,8,0,253,118,204,132,204,120,128,124,198,130,124, + 8,11,11,9,0,0,192,64,64,64,92,102,66,66,66,66, + 231,3,10,10,4,0,0,64,64,0,192,64,64,64,64,64, + 224,3,13,13,4,255,253,32,32,0,96,32,32,32,32,32, + 32,32,160,192,8,11,11,9,0,0,192,64,64,64,94,72, + 80,120,76,70,239,3,11,11,4,0,0,192,64,64,64,64, + 64,64,64,64,64,224,13,7,14,14,0,0,220,224,103,48, + 66,16,66,16,66,16,66,16,231,56,8,7,7,9,0,0, + 220,102,66,66,66,66,231,6,7,7,7,0,0,120,204,132, + 132,132,204,120,7,10,10,8,0,253,220,102,66,66,66,102, + 92,64,64,224,7,10,10,7,0,253,116,204,132,132,132,204, + 116,4,4,14,6,7,7,7,0,0,220,100,64,64,64,64, + 224,5,7,7,6,0,0,120,136,192,112,24,136,240,5,9, + 9,5,0,0,64,64,240,64,64,64,64,72,48,8,7,7, + 9,0,0,231,66,66,66,66,102,59,7,7,7,8,0,0, + 238,68,68,40,40,16,16,11,7,14,12,0,0,238,224,68, + 64,68,64,42,128,42,128,17,0,17,0,7,7,7,8,0, + 0,206,100,56,16,56,76,230,7,10,10,8,0,253,238,68, + 68,40,40,16,16,32,160,192,6,7,7,7,0,0,252,140, + 152,48,100,196,252,3,13,13,4,0,254,32,64,64,64,64, + 64,128,64,64,64,64,64,32,1,11,11,9,4,0,128,128, + 128,128,128,128,128,128,128,128,128,3,13,13,5,1,254,128, + 64,64,64,64,64,32,64,64,64,64,64,128,7,2,2,9, + 1,3,114,140,255}; +/* + Fontname: -Adobe-New Century Schoolbook-Medium-R-Normal--17-120-100-100-P-91-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 12, '1' Height: 12 + Calculated Max Values w=16 h=16 x= 4 y= 9 dx=17 dy= 0 ascent=16 len=32 + Font Bounding box w=21 h=26 x=-3 y=-6 + Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 + Pure Font ascent =12 descent=-3 + X Font ascent =12 descent=-3 + Max Font ascent =16 descent=-3 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_ncenR12[4247] U8G_FONT_SECTION("u8g_font_ncenR12") = { + 0,21,26,253,250,12,2,59,5,140,32,255,253,16,253,12, + 253,0,0,0,4,1,1,2,12,12,5,1,0,192,192,192, + 192,192,128,128,128,128,0,192,192,4,4,4,6,1,8,144, + 144,144,144,8,12,12,9,0,0,18,18,18,18,127,36,36, + 254,72,72,72,72,7,15,15,9,1,254,16,16,60,82,150, + 150,240,124,30,210,210,148,120,16,16,12,12,24,14,1,0, + 56,128,103,128,69,0,197,0,138,0,138,224,117,144,5,16, + 11,16,10,32,18,32,17,192,12,12,24,13,0,0,30,0, + 51,0,49,0,51,0,26,0,28,240,44,96,102,64,198,128, + 195,144,231,144,124,224,1,4,4,3,1,8,128,128,128,128, + 4,14,14,6,1,254,16,32,64,64,128,128,128,128,128,128, + 64,64,32,16,4,14,14,6,0,254,128,64,32,32,16,16, + 16,16,16,16,32,32,64,128,7,7,7,8,0,5,16,84, + 214,56,214,84,16,7,9,9,10,1,0,16,16,16,16,254, + 16,16,16,16,2,5,5,4,1,253,192,192,64,64,128,4, + 1,1,5,0,3,240,2,2,2,4,1,0,192,192,5,12, + 12,5,0,0,8,8,16,16,16,32,32,64,64,64,128,128, + 8,12,12,9,0,0,60,102,66,195,195,195,195,195,195,66, + 102,60,6,12,12,9,1,0,16,240,48,48,48,48,48,48, + 48,48,48,252,7,12,12,9,1,0,56,68,134,198,198,12, + 8,16,34,66,254,254,7,12,12,9,1,0,120,140,198,198, + 12,56,12,6,198,198,140,120,8,12,12,9,0,0,4,12, + 28,44,44,76,76,140,255,12,12,63,7,12,12,9,1,0, + 126,120,64,64,120,204,134,6,198,198,140,120,8,12,12,9, + 0,0,60,102,70,192,192,252,230,195,195,195,102,60,7,12, + 12,9,1,0,254,254,132,132,8,8,16,16,16,48,48,48, + 8,12,12,9,0,0,60,102,66,98,118,60,110,199,195,195, + 102,60,8,12,12,9,0,0,60,102,195,195,195,103,63,3, + 3,98,102,56,2,8,8,4,1,0,192,192,0,0,0,0, + 192,192,2,11,11,4,1,253,192,192,0,0,0,0,192,192, + 64,64,128,8,8,8,10,1,0,3,12,48,192,192,48,12, + 3,8,4,4,10,1,2,255,0,0,255,8,8,8,10,0, + 0,192,48,12,3,3,12,48,192,7,12,12,7,0,0,56, + 76,230,70,6,12,24,16,16,0,48,48,13,13,26,12,255, + 255,7,128,24,96,32,16,70,208,77,144,152,144,153,144,145, + 32,155,32,76,200,64,16,48,96,15,128,11,12,24,12,0, + 0,4,0,4,0,14,0,14,0,22,0,19,0,19,0,63, + 128,33,128,65,128,64,192,243,224,11,12,24,12,0,0,255, + 128,49,192,48,192,48,192,49,128,63,192,48,224,48,96,48, + 96,48,96,48,192,255,128,10,12,24,12,1,0,31,64,112, + 192,96,64,224,64,192,64,192,0,192,0,192,0,224,64,96, + 64,112,128,31,0,12,12,24,13,0,0,255,0,49,192,48, + 96,48,96,48,48,48,48,48,48,48,48,48,96,48,96,49, + 192,255,0,10,12,24,12,0,0,255,192,48,192,48,64,50, + 64,50,0,62,0,54,0,50,0,50,64,48,64,48,192,255, + 192,10,12,24,11,0,0,255,192,48,192,48,64,50,64,50, + 0,62,0,54,0,50,0,50,0,48,0,48,0,252,0,11, + 12,24,13,1,0,31,64,112,192,96,64,224,64,192,64,192, + 0,195,224,192,192,224,192,96,192,113,192,30,64,13,12,24, + 14,0,0,253,248,48,96,48,96,48,96,48,96,63,224,48, + 96,48,96,48,96,48,96,48,96,253,248,6,12,12,7,0, + 0,252,48,48,48,48,48,48,48,48,48,48,252,9,12,24, + 9,0,0,31,128,6,0,6,0,6,0,6,0,6,0,6, + 0,70,0,230,0,198,0,132,0,120,0,12,12,24,13,0, + 0,253,240,48,192,48,128,49,0,50,0,54,0,59,0,51, + 128,49,128,48,192,48,224,253,240,10,12,24,11,0,0,252, + 0,48,0,48,0,48,0,48,0,48,0,48,0,48,64,48, + 64,48,64,48,192,255,192,15,12,24,16,0,0,248,62,56, + 56,56,56,44,88,44,88,46,88,38,152,38,152,35,152,35, + 24,35,24,249,62,13,12,24,13,0,0,240,248,56,32,60, + 32,44,32,46,32,39,32,35,160,33,160,32,224,32,224,32, + 96,248,32,11,12,24,13,1,0,14,0,49,128,96,192,96, + 192,192,96,192,96,192,96,192,96,96,192,96,192,49,128,14, + 0,11,12,24,11,0,0,255,128,48,192,48,96,48,96,48, + 96,48,192,63,128,48,0,48,0,48,0,48,0,252,0,11, + 15,30,13,1,253,14,0,49,128,96,192,96,192,192,96,192, + 96,192,96,204,96,82,64,115,192,51,128,15,0,3,64,3, + 64,1,128,12,12,24,12,0,0,255,0,48,192,48,96,48, + 96,48,192,63,0,51,128,48,192,48,192,48,208,48,208,252, + 96,8,12,12,10,1,0,61,99,193,193,224,124,62,135,131, + 131,198,188,10,12,24,11,0,0,255,192,204,192,140,64,140, + 64,140,64,12,0,12,0,12,0,12,0,12,0,12,0,63, + 0,13,12,24,13,0,0,252,248,48,32,48,32,48,32,48, + 32,48,32,48,32,48,32,48,32,48,32,24,64,15,128,11, + 12,24,12,0,0,248,224,112,64,48,64,48,128,24,128,25, + 0,25,0,13,0,14,0,14,0,4,0,4,0,15,12,24, + 16,0,0,247,206,99,4,99,4,49,136,49,136,57,200,26, + 208,26,208,10,80,12,96,4,32,4,32,11,12,24,11,0, + 0,241,224,96,192,48,128,25,0,30,0,12,0,6,0,15, + 0,19,0,33,128,96,192,241,224,12,12,24,12,0,0,252, + 240,48,64,24,128,24,128,13,0,13,0,6,0,6,0,6, + 0,6,0,6,0,31,128,9,12,24,10,0,0,127,128,97, + 128,67,0,67,0,6,0,12,0,12,0,24,128,48,128,48, + 128,97,128,255,128,3,14,14,6,1,254,224,128,128,128,128, + 128,128,128,128,128,128,128,128,224,6,12,12,10,2,0,128, + 128,64,64,32,32,16,16,8,8,4,4,3,14,14,6,1, + 254,224,32,32,32,32,32,32,32,32,32,32,32,32,224,8, + 7,7,10,1,5,24,24,60,36,102,66,195,8,1,1,8, + 0,254,255,3,3,3,5,0,9,128,64,32,7,8,8,9, + 1,0,120,204,204,28,108,204,204,118,8,12,12,9,0,0, + 224,96,96,96,124,102,99,99,99,99,102,92,6,8,8,7, + 0,0,56,108,204,192,192,192,108,56,8,12,12,10,1,0, + 14,6,6,6,62,102,198,198,198,198,102,59,7,8,8,8, + 0,0,56,68,198,254,192,192,102,60,6,12,12,6,0,0, + 56,108,96,96,248,96,96,96,96,96,96,248,9,11,22,9, + 0,253,61,128,102,128,102,0,102,0,102,0,60,0,64,0, + 126,0,195,0,195,0,126,0,9,12,24,10,0,0,224,0, + 96,0,96,0,96,0,110,0,119,0,99,0,99,0,99,0, + 99,0,99,0,247,128,4,12,12,5,0,0,96,96,0,0, + 224,96,96,96,96,96,96,240,4,15,15,5,255,253,48,48, + 0,0,112,48,48,48,48,48,48,48,48,176,224,9,12,24, + 10,0,0,224,0,96,0,96,0,96,0,111,128,102,0,108, + 0,120,0,124,0,102,0,99,0,247,128,4,12,12,5,0, + 0,224,96,96,96,96,96,96,96,96,96,96,240,14,8,16, + 15,0,0,238,112,115,152,99,24,99,24,99,24,99,24,99, + 24,247,188,9,8,16,10,0,0,238,0,115,0,99,0,99, + 0,99,0,99,0,99,0,247,128,7,8,8,8,0,0,56, + 108,198,198,198,198,108,56,8,11,11,9,0,253,220,102,99, + 99,99,99,102,124,96,96,240,8,11,11,9,0,253,57,102, + 198,198,198,198,102,62,6,6,15,7,8,8,7,0,0,236, + 118,102,96,96,96,96,240,6,8,8,8,0,0,116,204,196, + 112,56,140,204,184,6,11,11,7,0,0,32,32,96,248,96, + 96,96,96,100,100,56,9,8,16,10,0,0,231,0,99,0, + 99,0,99,0,99,0,99,0,99,0,61,128,9,8,16,9, + 0,0,247,128,99,0,50,0,54,0,28,0,28,0,8,0, + 8,0,13,8,16,13,0,0,239,120,102,48,51,32,51,96, + 29,192,29,192,8,128,8,128,8,8,8,9,0,0,247,98, + 52,56,28,44,70,239,8,11,11,9,0,253,247,98,54,52, + 28,28,8,8,24,208,224,6,8,8,8,1,0,252,140,152, + 48,48,100,196,252,3,14,14,6,1,254,32,64,64,64,64, + 64,128,64,64,64,64,64,64,32,1,12,12,10,4,0,128, + 128,128,128,128,128,128,128,128,128,128,128,3,14,14,6,1, + 254,128,64,64,64,64,64,32,64,64,64,64,64,64,128,8, + 2,2,10,1,3,115,206,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,255,255,255,255,255,255,255,0,0,0,4,1,1,2,12, + 12,5,1,253,192,192,0,64,64,64,64,192,192,192,192,192, + 6,12,12,9,1,254,4,4,56,76,204,144,144,228,100,56, + 64,64,9,12,24,9,0,0,30,0,49,0,35,0,35,0, + 48,0,16,0,254,0,16,0,16,0,112,128,191,0,78,0, + 7,8,8,9,1,2,186,108,198,130,130,198,108,186,9,12, + 24,9,0,0,243,128,97,0,34,0,50,0,20,0,20,0, + 62,0,8,0,62,0,8,0,8,0,62,0,1,12,12,10, + 4,0,128,128,128,128,128,0,0,128,128,128,128,128,6,15, + 15,8,1,253,56,72,64,96,48,88,140,132,196,104,48,24, + 8,72,112,5,2,2,5,0,9,216,216,12,12,24,12,0, + 0,31,128,48,192,71,32,205,176,152,144,144,16,144,16,152, + 144,205,176,71,32,48,192,31,128,5,7,7,6,0,5,224, + 144,112,144,232,0,240,6,5,5,7,0,1,36,72,216,72, + 36,8,5,5,10,1,1,255,1,1,1,1,4,1,1,5, + 0,3,240,12,12,24,12,0,0,31,128,48,192,95,32,201, + 176,137,144,143,16,137,16,137,144,200,176,92,224,48,192,31, + 128,5,1,1,5,0,9,248,5,5,5,7,1,7,112,136, + 136,136,112,7,9,9,10,1,0,16,16,16,254,16,16,16, + 0,254,5,7,7,6,0,5,112,216,136,16,32,72,248,5, + 7,7,6,0,5,112,216,136,48,136,216,112,3,3,3,5, + 0,9,32,96,128,10,11,22,10,0,253,231,0,99,0,99, + 0,99,0,99,0,99,0,99,0,125,192,96,0,96,0,96, + 0,8,15,15,10,0,253,127,234,202,202,202,234,122,10,10, + 10,10,10,10,10,31,2,2,2,5,1,3,192,192,3,4, + 4,5,1,253,64,64,32,192,3,7,7,6,1,5,64,192, + 64,64,64,64,224,4,7,7,5,0,5,96,144,144,144,96, + 0,240,6,5,5,7,0,1,144,72,108,72,144,11,12,24, + 14,1,0,64,64,192,192,65,128,65,0,66,0,70,64,236, + 192,9,64,18,64,51,224,96,64,64,224,11,12,24,13,1, + 0,64,128,193,128,67,0,66,0,68,0,77,192,251,96,18, + 32,32,192,97,0,195,32,131,224,13,12,24,14,0,0,112, + 24,216,48,136,96,48,192,136,128,217,144,115,48,6,80,4, + 144,12,248,24,16,48,56,7,12,12,7,0,253,24,24,0, + 16,16,48,96,192,196,206,100,56,11,16,32,12,0,0,24, + 0,12,0,2,0,0,0,4,0,4,0,14,0,14,0,22, + 0,19,0,19,0,63,128,33,128,65,128,64,192,243,224,11, + 16,32,12,0,0,3,0,6,0,8,0,0,0,4,0,4, + 0,14,0,14,0,22,0,19,0,19,0,63,128,33,128,65, + 128,64,192,243,224,11,16,32,12,0,0,4,0,14,0,17, + 0,0,0,4,0,4,0,14,0,14,0,22,0,19,0,19, + 0,63,128,33,128,65,128,64,192,243,224,11,15,30,12,0, + 0,29,0,46,0,0,0,4,0,4,0,14,0,14,0,22, + 0,19,0,19,0,63,128,33,128,65,128,64,192,243,224,11, + 15,30,12,0,0,18,0,18,0,0,0,4,0,4,0,14, + 0,14,0,22,0,19,0,19,0,63,128,33,128,65,128,64, + 192,243,224,11,16,32,12,0,0,12,0,18,0,12,0,0, + 0,4,0,4,0,14,0,14,0,22,0,19,0,19,0,63, + 128,33,128,65,128,64,192,243,224,16,12,24,17,0,0,15, + 255,2,195,2,193,4,193,4,200,8,248,8,216,31,201,16, + 193,32,193,32,195,251,255,10,15,30,12,1,253,31,64,112, + 192,96,64,224,64,192,64,192,0,192,0,192,0,224,64,96, + 64,112,128,31,0,8,0,4,0,24,0,10,16,32,12,0, + 0,24,0,12,0,2,0,0,0,255,192,48,192,48,64,48, + 64,50,0,62,0,54,0,50,0,48,64,48,64,48,192,255, + 192,10,16,32,12,0,0,3,0,6,0,8,0,0,0,255, + 192,48,192,48,64,48,64,50,0,62,0,54,0,50,0,48, + 64,48,64,48,192,255,192,10,16,32,12,0,0,4,0,14, + 0,17,0,0,0,255,192,48,192,48,64,48,64,50,0,62, + 0,54,0,50,0,48,64,48,64,48,192,255,192,10,15,30, + 12,0,0,17,0,17,0,0,0,255,192,48,192,48,64,48, + 64,50,0,62,0,54,0,50,0,48,64,48,64,48,192,255, + 192,6,16,16,7,0,0,192,96,16,0,252,48,48,48,48, + 48,48,48,48,48,48,252,6,16,16,7,0,0,12,24,32, + 0,252,48,48,48,48,48,48,48,48,48,48,252,6,16,16, + 7,0,0,32,112,136,0,252,48,48,48,48,48,48,48,48, + 48,48,252,6,15,15,7,0,0,72,72,0,252,48,48,48, + 48,48,48,48,48,48,48,252,12,12,24,13,0,0,255,0, + 49,192,48,96,48,96,48,48,124,48,48,48,48,48,48,96, + 48,96,49,192,255,0,13,15,30,13,0,0,14,64,19,128, + 0,0,240,248,56,32,60,32,44,32,46,32,39,32,35,160, + 33,160,32,224,32,224,32,96,248,32,11,16,32,13,1,0, + 24,0,12,0,2,0,0,0,14,0,49,128,96,192,96,192, + 192,96,192,96,192,96,192,96,96,192,96,192,49,128,14,0, + 11,16,32,13,1,0,1,128,3,0,4,0,0,0,14,0, + 49,128,96,192,96,192,192,96,192,96,192,96,192,96,96,192, + 96,192,49,128,14,0,11,16,32,13,1,0,4,0,14,0, + 17,0,0,0,14,0,49,128,96,192,96,192,192,96,192,96, + 192,96,192,96,96,192,96,192,49,128,14,0,11,15,30,13, + 1,0,14,128,23,0,0,0,14,0,49,128,96,192,96,192, + 192,96,192,96,192,96,192,96,96,192,96,192,49,128,14,0, + 11,15,30,13,1,0,17,0,17,0,0,0,14,0,49,128, + 96,192,96,192,192,96,192,96,192,96,192,96,96,192,96,192, + 49,128,14,0,8,8,8,10,1,0,129,66,36,24,24,36, + 66,129,11,14,28,13,1,255,0,32,14,64,49,128,97,192, + 97,64,194,96,196,96,196,96,200,96,80,192,112,192,49,128, + 78,0,128,0,13,16,32,13,0,0,12,0,6,0,1,0, + 0,0,252,248,48,32,48,32,48,32,48,32,48,32,48,32, + 48,32,48,32,48,32,24,64,15,128,13,16,32,13,0,0, + 0,192,1,128,2,0,0,0,252,248,48,32,48,32,48,32, + 48,32,48,32,48,32,48,32,48,32,48,32,24,64,15,128, + 13,16,32,13,0,0,2,0,7,0,8,128,0,0,252,248, + 48,32,48,32,48,32,48,32,48,32,48,32,48,32,48,32, + 48,32,24,64,15,128,13,15,30,13,0,0,8,128,8,128, + 0,0,252,248,48,32,48,32,48,32,48,32,48,32,48,32, + 48,32,48,32,48,32,24,64,15,128,12,16,32,12,0,0, + 1,128,3,0,4,0,0,0,252,240,48,64,24,128,24,128, + 13,0,13,0,6,0,6,0,6,0,6,0,6,0,31,128, + 11,12,24,11,0,0,252,0,48,0,48,0,63,128,48,192, + 48,96,48,96,48,192,63,128,48,0,48,0,252,0,8,12, + 12,10,1,0,60,102,99,99,102,124,102,99,99,99,118,236, + 7,12,12,9,1,0,64,96,16,0,120,204,204,28,108,204, + 204,118,7,12,12,9,1,0,4,12,16,0,120,204,204,28, + 108,204,204,118,7,12,12,9,1,0,16,56,68,0,120,204, + 204,28,108,204,204,118,7,11,11,9,1,0,52,88,0,120, + 204,204,28,108,204,204,118,7,11,11,9,1,0,72,72,0, + 120,204,204,28,108,204,204,118,7,13,13,9,1,0,48,72, + 72,48,0,120,204,204,28,108,204,204,118,12,8,16,13,0, + 0,121,192,206,32,198,48,31,240,102,0,198,16,207,32,121, + 192,6,11,11,7,0,253,56,108,204,192,192,196,108,56,32, + 16,96,7,12,12,8,0,0,32,48,8,0,56,68,198,254, + 192,192,102,60,7,12,12,8,0,0,4,12,16,0,56,68, + 198,254,192,192,102,60,7,12,12,8,0,0,16,56,68,0, + 56,68,198,254,192,192,102,60,7,11,11,8,0,0,36,36, + 0,56,68,198,254,192,192,102,60,4,12,12,5,0,0,128, + 192,32,0,224,96,96,96,96,96,96,240,4,12,12,5,0, + 0,16,48,64,0,224,96,96,96,96,96,96,240,5,12,12, + 5,255,0,32,112,136,0,112,48,48,48,48,48,48,120,4, + 11,11,5,0,0,144,144,0,224,96,96,96,96,96,96,240, + 7,13,13,8,0,0,64,38,24,104,12,60,110,198,198,198, + 198,108,56,9,11,22,10,0,0,26,0,44,0,0,0,238, + 0,115,0,99,0,99,0,99,0,99,0,99,0,247,128,7, + 12,12,8,0,0,64,96,16,0,56,108,198,198,198,198,108, + 56,7,12,12,8,0,0,4,12,16,0,56,108,198,198,198, + 198,108,56,7,12,12,8,0,0,16,56,68,0,56,108,198, + 198,198,198,108,56,7,11,11,8,0,0,52,88,0,56,108, + 198,198,198,198,108,56,7,11,11,8,0,0,72,72,0,56, + 108,198,198,198,198,108,56,8,7,7,10,1,1,24,24,0, + 255,0,24,24,7,10,10,8,0,255,2,60,100,206,214,214, + 230,76,120,128,9,12,24,10,0,0,32,0,48,0,8,0, + 0,0,231,0,99,0,99,0,99,0,99,0,99,0,99,0, + 61,128,9,12,24,10,0,0,2,0,6,0,8,0,0,0, + 231,0,99,0,99,0,99,0,99,0,99,0,99,0,61,128, + 9,12,24,10,0,0,8,0,28,0,34,0,0,0,231,0, + 99,0,99,0,99,0,99,0,99,0,99,0,61,128,9,11, + 22,10,0,0,36,0,36,0,0,0,231,0,99,0,99,0, + 99,0,99,0,99,0,99,0,61,128,8,15,15,9,0,253, + 2,6,8,0,247,98,54,52,28,24,8,24,16,208,224,8, + 14,14,9,0,253,224,96,96,124,102,99,99,99,99,102,124, + 96,96,240,8,14,14,9,0,253,36,36,0,247,98,54,52, + 28,24,8,24,16,208,224}; +/* + Fontname: -Adobe-New Century Schoolbook-Medium-R-Normal--17-120-100-100-P-91-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 12, '1' Height: 12 + Calculated Max Values w=15 h=15 x= 4 y= 9 dx=16 dy= 0 ascent=13 len=30 + Font Bounding box w=21 h=26 x=-3 y=-6 + Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 + Pure Font ascent =12 descent=-3 + X Font ascent =12 descent=-3 + Max Font ascent =13 descent=-3 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_ncenR12r[1976] U8G_FONT_SECTION("u8g_font_ncenR12r") = { + 0,21,26,253,250,12,2,59,5,140,32,127,253,13,253,12, + 253,0,0,0,4,1,1,2,12,12,5,1,0,192,192,192, + 192,192,128,128,128,128,0,192,192,4,4,4,6,1,8,144, + 144,144,144,8,12,12,9,0,0,18,18,18,18,127,36,36, + 254,72,72,72,72,7,15,15,9,1,254,16,16,60,82,150, + 150,240,124,30,210,210,148,120,16,16,12,12,24,14,1,0, + 56,128,103,128,69,0,197,0,138,0,138,224,117,144,5,16, + 11,16,10,32,18,32,17,192,12,12,24,13,0,0,30,0, + 51,0,49,0,51,0,26,0,28,240,44,96,102,64,198,128, + 195,144,231,144,124,224,1,4,4,3,1,8,128,128,128,128, + 4,14,14,6,1,254,16,32,64,64,128,128,128,128,128,128, + 64,64,32,16,4,14,14,6,0,254,128,64,32,32,16,16, + 16,16,16,16,32,32,64,128,7,7,7,8,0,5,16,84, + 214,56,214,84,16,7,9,9,10,1,0,16,16,16,16,254, + 16,16,16,16,2,5,5,4,1,253,192,192,64,64,128,4, + 1,1,5,0,3,240,2,2,2,4,1,0,192,192,5,12, + 12,5,0,0,8,8,16,16,16,32,32,64,64,64,128,128, + 8,12,12,9,0,0,60,102,66,195,195,195,195,195,195,66, + 102,60,6,12,12,9,1,0,16,240,48,48,48,48,48,48, + 48,48,48,252,7,12,12,9,1,0,56,68,134,198,198,12, + 8,16,34,66,254,254,7,12,12,9,1,0,120,140,198,198, + 12,56,12,6,198,198,140,120,8,12,12,9,0,0,4,12, + 28,44,44,76,76,140,255,12,12,63,7,12,12,9,1,0, + 126,120,64,64,120,204,134,6,198,198,140,120,8,12,12,9, + 0,0,60,102,70,192,192,252,230,195,195,195,102,60,7,12, + 12,9,1,0,254,254,132,132,8,8,16,16,16,48,48,48, + 8,12,12,9,0,0,60,102,66,98,118,60,110,199,195,195, + 102,60,8,12,12,9,0,0,60,102,195,195,195,103,63,3, + 3,98,102,56,2,8,8,4,1,0,192,192,0,0,0,0, + 192,192,2,11,11,4,1,253,192,192,0,0,0,0,192,192, + 64,64,128,8,8,8,10,1,0,3,12,48,192,192,48,12, + 3,8,4,4,10,1,2,255,0,0,255,8,8,8,10,0, + 0,192,48,12,3,3,12,48,192,7,12,12,7,0,0,56, + 76,230,70,6,12,24,16,16,0,48,48,13,13,26,12,255, + 255,7,128,24,96,32,16,70,208,77,144,152,144,153,144,145, + 32,155,32,76,200,64,16,48,96,15,128,11,12,24,12,0, + 0,4,0,4,0,14,0,14,0,22,0,19,0,19,0,63, + 128,33,128,65,128,64,192,243,224,11,12,24,12,0,0,255, + 128,49,192,48,192,48,192,49,128,63,192,48,224,48,96,48, + 96,48,96,48,192,255,128,10,12,24,12,1,0,31,64,112, + 192,96,64,224,64,192,64,192,0,192,0,192,0,224,64,96, + 64,112,128,31,0,12,12,24,13,0,0,255,0,49,192,48, + 96,48,96,48,48,48,48,48,48,48,48,48,96,48,96,49, + 192,255,0,10,12,24,12,0,0,255,192,48,192,48,64,50, + 64,50,0,62,0,54,0,50,0,50,64,48,64,48,192,255, + 192,10,12,24,11,0,0,255,192,48,192,48,64,50,64,50, + 0,62,0,54,0,50,0,50,0,48,0,48,0,252,0,11, + 12,24,13,1,0,31,64,112,192,96,64,224,64,192,64,192, + 0,195,224,192,192,224,192,96,192,113,192,30,64,13,12,24, + 14,0,0,253,248,48,96,48,96,48,96,48,96,63,224,48, + 96,48,96,48,96,48,96,48,96,253,248,6,12,12,7,0, + 0,252,48,48,48,48,48,48,48,48,48,48,252,9,12,24, + 9,0,0,31,128,6,0,6,0,6,0,6,0,6,0,6, + 0,70,0,230,0,198,0,132,0,120,0,12,12,24,13,0, + 0,253,240,48,192,48,128,49,0,50,0,54,0,59,0,51, + 128,49,128,48,192,48,224,253,240,10,12,24,11,0,0,252, + 0,48,0,48,0,48,0,48,0,48,0,48,0,48,64,48, + 64,48,64,48,192,255,192,15,12,24,16,0,0,248,62,56, + 56,56,56,44,88,44,88,46,88,38,152,38,152,35,152,35, + 24,35,24,249,62,13,12,24,13,0,0,240,248,56,32,60, + 32,44,32,46,32,39,32,35,160,33,160,32,224,32,224,32, + 96,248,32,11,12,24,13,1,0,14,0,49,128,96,192,96, + 192,192,96,192,96,192,96,192,96,96,192,96,192,49,128,14, + 0,11,12,24,11,0,0,255,128,48,192,48,96,48,96,48, + 96,48,192,63,128,48,0,48,0,48,0,48,0,252,0,11, + 15,30,13,1,253,14,0,49,128,96,192,96,192,192,96,192, + 96,192,96,204,96,82,64,115,192,51,128,15,0,3,64,3, + 64,1,128,12,12,24,12,0,0,255,0,48,192,48,96,48, + 96,48,192,63,0,51,128,48,192,48,192,48,208,48,208,252, + 96,8,12,12,10,1,0,61,99,193,193,224,124,62,135,131, + 131,198,188,10,12,24,11,0,0,255,192,204,192,140,64,140, + 64,140,64,12,0,12,0,12,0,12,0,12,0,12,0,63, + 0,13,12,24,13,0,0,252,248,48,32,48,32,48,32,48, + 32,48,32,48,32,48,32,48,32,48,32,24,64,15,128,11, + 12,24,12,0,0,248,224,112,64,48,64,48,128,24,128,25, + 0,25,0,13,0,14,0,14,0,4,0,4,0,15,12,24, + 16,0,0,247,206,99,4,99,4,49,136,49,136,57,200,26, + 208,26,208,10,80,12,96,4,32,4,32,11,12,24,11,0, + 0,241,224,96,192,48,128,25,0,30,0,12,0,6,0,15, + 0,19,0,33,128,96,192,241,224,12,12,24,12,0,0,252, + 240,48,64,24,128,24,128,13,0,13,0,6,0,6,0,6, + 0,6,0,6,0,31,128,9,12,24,10,0,0,127,128,97, + 128,67,0,67,0,6,0,12,0,12,0,24,128,48,128,48, + 128,97,128,255,128,3,14,14,6,1,254,224,128,128,128,128, + 128,128,128,128,128,128,128,128,224,6,12,12,10,2,0,128, + 128,64,64,32,32,16,16,8,8,4,4,3,14,14,6,1, + 254,224,32,32,32,32,32,32,32,32,32,32,32,32,224,8, + 7,7,10,1,5,24,24,60,36,102,66,195,8,1,1,8, + 0,254,255,3,3,3,5,0,9,128,64,32,7,8,8,9, + 1,0,120,204,204,28,108,204,204,118,8,12,12,9,0,0, + 224,96,96,96,124,102,99,99,99,99,102,92,6,8,8,7, + 0,0,56,108,204,192,192,192,108,56,8,12,12,10,1,0, + 14,6,6,6,62,102,198,198,198,198,102,59,7,8,8,8, + 0,0,56,68,198,254,192,192,102,60,6,12,12,6,0,0, + 56,108,96,96,248,96,96,96,96,96,96,248,9,11,22,9, + 0,253,61,128,102,128,102,0,102,0,102,0,60,0,64,0, + 126,0,195,0,195,0,126,0,9,12,24,10,0,0,224,0, + 96,0,96,0,96,0,110,0,119,0,99,0,99,0,99,0, + 99,0,99,0,247,128,4,12,12,5,0,0,96,96,0,0, + 224,96,96,96,96,96,96,240,4,15,15,5,255,253,48,48, + 0,0,112,48,48,48,48,48,48,48,48,176,224,9,12,24, + 10,0,0,224,0,96,0,96,0,96,0,111,128,102,0,108, + 0,120,0,124,0,102,0,99,0,247,128,4,12,12,5,0, + 0,224,96,96,96,96,96,96,96,96,96,96,240,14,8,16, + 15,0,0,238,112,115,152,99,24,99,24,99,24,99,24,99, + 24,247,188,9,8,16,10,0,0,238,0,115,0,99,0,99, + 0,99,0,99,0,99,0,247,128,7,8,8,8,0,0,56, + 108,198,198,198,198,108,56,8,11,11,9,0,253,220,102,99, + 99,99,99,102,124,96,96,240,8,11,11,9,0,253,57,102, + 198,198,198,198,102,62,6,6,15,7,8,8,7,0,0,236, + 118,102,96,96,96,96,240,6,8,8,8,0,0,116,204,196, + 112,56,140,204,184,6,11,11,7,0,0,32,32,96,248,96, + 96,96,96,100,100,56,9,8,16,10,0,0,231,0,99,0, + 99,0,99,0,99,0,99,0,99,0,61,128,9,8,16,9, + 0,0,247,128,99,0,50,0,54,0,28,0,28,0,8,0, + 8,0,13,8,16,13,0,0,239,120,102,48,51,32,51,96, + 29,192,29,192,8,128,8,128,8,8,8,9,0,0,247,98, + 52,56,28,44,70,239,8,11,11,9,0,253,247,98,54,52, + 28,28,8,8,24,208,224,6,8,8,8,1,0,252,140,152, + 48,48,100,196,252,3,14,14,6,1,254,32,64,64,64,64, + 64,128,64,64,64,64,64,64,32,1,12,12,10,4,0,128, + 128,128,128,128,128,128,128,128,128,128,128,3,14,14,6,1, + 254,128,64,64,64,64,64,32,64,64,64,64,64,64,128,8, + 2,2,10,1,3,115,206,255}; +/* + Fontname: -Adobe-New Century Schoolbook-Medium-R-Normal--20-140-100-100-P-103-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 14, '1' Height: 14 + Calculated Max Values w=20 h=19 x= 4 y=11 dx=19 dy= 0 ascent=19 len=42 + Font Bounding box w=27 h=30 x=-4 y=-7 + Calculated Min Values x=-3 y=-4 dx= 0 dy= 0 + Pure Font ascent =14 descent=-4 + X Font ascent =14 descent=-4 + Max Font ascent =19 descent=-4 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_ncenR14[5319] U8G_FONT_SECTION("u8g_font_ncenR14") = { + 0,27,30,252,249,14,3,41,7,30,32,255,252,19,252,14, + 252,0,0,0,5,0,1,2,14,14,5,1,0,192,192,192, + 192,192,192,192,128,128,128,0,0,192,192,4,5,5,7,1, + 9,144,144,144,144,144,10,13,26,11,0,0,9,0,9,0, + 9,0,9,0,127,192,18,0,18,0,18,0,255,128,36,0, + 36,0,36,0,36,0,9,17,34,10,0,254,8,0,8,0, + 63,0,105,128,201,128,200,0,232,0,120,0,30,0,15,0, + 11,128,9,128,201,128,203,0,126,0,8,0,8,0,15,14, + 28,16,0,0,28,32,50,32,99,192,98,64,196,128,196,128, + 201,28,113,50,2,98,2,98,4,196,4,196,8,200,8,112, + 13,14,28,14,0,0,30,0,51,0,33,0,35,0,54,0, + 28,0,57,248,124,96,238,64,199,128,195,128,193,200,227,240, + 124,96,1,5,5,4,1,9,128,128,128,128,128,6,17,17, + 7,0,253,4,24,48,96,96,192,192,192,192,192,192,192,96, + 96,48,24,4,6,17,17,7,0,253,128,96,48,24,24,12, + 12,12,12,12,12,12,24,24,48,96,128,7,7,7,10,1, + 7,16,146,214,56,214,146,16,9,9,18,10,0,1,8,0, + 8,0,8,0,8,0,255,128,8,0,8,0,8,0,8,0, + 3,5,5,5,0,253,96,96,32,64,128,5,1,1,6,0, + 5,248,2,2,2,5,1,0,192,192,5,14,14,6,0,0, + 8,8,8,16,16,16,32,32,32,64,64,64,128,128,9,14, + 28,10,0,0,28,0,99,0,99,0,193,128,193,128,193,128, + 193,128,193,128,193,128,193,128,193,128,99,0,99,0,28,0, + 8,14,14,10,1,0,24,248,24,24,24,24,24,24,24,24, + 24,24,24,255,9,14,28,10,0,0,30,0,99,0,193,128, + 193,128,1,128,1,128,3,0,6,0,12,0,24,0,48,128, + 96,128,255,128,255,128,9,14,28,10,0,0,62,0,99,0, + 97,128,1,128,1,128,3,0,30,0,3,0,1,128,1,128, + 1,128,193,128,195,0,126,0,10,14,28,10,0,0,3,0, + 7,0,11,0,11,0,19,0,19,0,35,0,35,0,67,0, + 67,0,255,192,3,0,3,0,15,128,9,14,28,10,0,0, + 127,128,127,0,64,0,64,0,64,0,94,0,99,0,65,128, + 1,128,1,128,1,128,193,128,195,0,126,0,9,14,28,10, + 0,0,15,0,49,128,97,128,96,0,192,0,206,0,223,0, + 227,128,193,128,193,128,193,128,193,128,99,0,62,0,9,14, + 28,10,0,0,255,128,255,128,129,0,131,0,2,0,6,0, + 6,0,12,0,12,0,24,0,24,0,24,0,24,0,24,0, + 9,14,28,10,0,0,62,0,99,0,65,0,65,0,97,0, + 114,0,62,0,47,0,67,128,193,128,193,128,193,128,99,0, + 62,0,9,14,28,10,0,0,62,0,99,0,193,128,193,128, + 193,128,193,128,227,128,125,128,57,128,1,128,3,0,195,0, + 198,0,120,0,2,9,9,5,1,0,192,192,0,0,0,0, + 0,192,192,3,12,12,5,0,253,96,96,0,0,0,0,0, + 96,96,32,64,128,9,9,18,10,0,1,0,128,3,128,14, + 0,56,0,224,0,56,0,14,0,3,128,0,128,9,4,8, + 10,0,4,255,128,0,0,0,0,255,128,9,9,18,10,0, + 1,128,0,224,0,56,0,14,0,3,128,14,0,56,0,224, + 0,128,0,7,14,14,8,0,0,60,206,198,6,6,4,8, + 8,16,16,0,0,48,48,13,14,28,14,0,0,7,128,24, + 96,32,16,70,208,77,200,140,200,152,200,153,144,153,144,155, + 160,76,192,64,16,32,96,31,128,14,14,28,13,255,0,3, + 0,3,0,3,0,5,128,5,128,5,128,8,192,8,192,31, + 224,16,96,16,96,32,48,32,48,248,252,12,14,28,13,0, + 0,255,128,48,192,48,96,48,96,48,96,48,192,63,128,48, + 96,48,48,48,48,48,48,48,48,48,96,255,192,12,14,28, + 13,0,0,15,144,56,112,96,48,96,16,192,16,192,0,192, + 0,192,0,192,0,192,0,96,16,96,16,56,96,15,192,14, + 14,28,15,0,0,255,192,48,112,48,24,48,24,48,12,48, + 12,48,12,48,12,48,12,48,12,48,24,48,24,48,112,255, + 192,11,14,28,12,0,0,255,224,48,96,48,32,48,32,49, + 32,49,0,63,0,49,0,49,0,48,32,48,32,48,32,48, + 96,255,224,11,14,28,12,0,0,255,224,48,96,48,32,48, + 32,49,32,49,0,63,0,49,0,49,0,48,0,48,0,48, + 0,48,0,252,0,14,14,28,15,0,0,15,200,56,120,96, + 24,96,8,192,8,192,0,192,0,192,0,192,124,192,24,96, + 24,96,24,56,120,15,200,15,14,28,16,0,0,252,126,48, + 24,48,24,48,24,48,24,48,24,63,248,48,24,48,24,48, + 24,48,24,48,24,48,24,252,126,6,14,14,7,0,0,252, + 48,48,48,48,48,48,48,48,48,48,48,48,252,9,14,28, + 10,0,0,31,128,6,0,6,0,6,0,6,0,6,0,6, + 0,6,0,6,0,6,0,198,0,198,0,132,0,120,0,15, + 14,28,15,0,0,252,248,48,96,48,64,48,128,49,0,50, + 0,54,0,63,0,51,128,49,192,48,224,48,112,48,56,252, + 254,11,14,28,12,0,0,252,0,48,0,48,0,48,0,48, + 0,48,0,48,0,48,0,48,0,48,32,48,32,48,32,48, + 96,255,224,17,14,42,18,0,0,248,15,128,56,14,0,44, + 22,0,44,22,0,44,22,0,38,38,0,38,38,0,38,38, + 0,35,70,0,35,70,0,35,70,0,33,134,0,33,134,0, + 249,159,128,14,14,28,15,0,0,240,124,48,16,56,16,60, + 16,46,16,38,16,35,16,35,144,33,144,32,208,32,240,32, + 112,32,48,248,16,14,14,28,15,0,0,15,192,56,112,96, + 24,96,24,192,12,192,12,192,12,192,12,192,12,192,12,96, + 24,96,24,56,112,15,192,11,14,28,12,0,0,255,128,48, + 192,48,96,48,96,48,96,48,96,48,192,63,0,48,0,48, + 0,48,0,48,0,48,0,252,0,15,18,36,15,0,252,15, + 192,56,112,96,24,96,24,192,12,192,12,192,12,192,12,192, + 12,207,12,113,152,96,152,56,240,15,224,0,96,0,114,0, + 62,0,28,14,14,28,14,0,0,255,128,48,192,48,96,48, + 96,48,96,48,192,63,0,49,128,48,192,48,192,48,224,48, + 96,48,116,248,56,10,14,28,11,0,0,62,128,97,128,192, + 128,192,128,192,0,240,0,126,0,31,128,3,192,128,192,128, + 192,192,192,225,128,191,0,12,14,28,13,0,0,255,240,198, + 48,134,16,134,16,134,16,6,0,6,0,6,0,6,0,6, + 0,6,0,6,0,6,0,31,128,14,14,28,15,0,0,252, + 124,48,16,48,16,48,16,48,16,48,16,48,16,48,16,48, + 16,48,16,48,16,48,16,24,32,15,192,14,14,28,13,255, + 0,252,124,48,16,48,16,24,32,24,32,24,32,12,64,12, + 64,12,64,6,128,6,128,6,128,3,0,3,0,20,14,42, + 19,255,0,253,249,240,48,96,64,48,96,64,24,112,128,24, + 112,128,24,112,128,12,153,0,12,153,0,12,153,0,5,9, + 0,7,14,0,7,14,0,3,6,0,3,6,0,13,14,28, + 14,1,0,248,240,48,64,56,192,24,128,13,128,15,0,6, + 0,7,0,15,128,9,128,16,192,48,224,32,96,249,248,14, + 14,28,13,255,0,252,124,48,16,24,32,24,32,12,64,12, + 64,6,128,7,128,3,0,3,0,3,0,3,0,3,0,15, + 192,10,14,28,11,0,0,255,192,192,192,129,128,131,128,131, + 0,6,0,14,0,28,0,24,0,48,64,112,64,96,64,192, + 192,255,192,4,17,17,6,1,253,240,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,240,7,14,14,10,1,0, + 128,128,192,64,96,32,48,16,24,8,12,4,6,2,4,17, + 17,6,0,253,240,48,48,48,48,48,48,48,48,48,48,48, + 48,48,48,48,240,9,9,18,10,0,5,8,0,8,0,28, + 0,20,0,54,0,34,0,99,0,65,0,193,128,9,1,2, + 9,0,254,255,128,4,3,3,6,1,10,192,96,16,9,9, + 18,10,0,0,28,0,98,0,99,0,3,0,31,0,99,0, + 195,0,199,0,121,128,10,14,28,10,255,0,224,0,96,0, + 96,0,96,0,96,0,111,0,113,128,96,192,96,192,96,192, + 96,192,96,192,113,128,79,0,8,9,9,9,0,0,60,99, + 195,192,192,192,193,99,62,10,14,28,11,0,0,3,128,1, + 128,1,128,1,128,1,128,61,128,99,128,193,128,193,128,193, + 128,193,128,193,128,99,128,61,192,8,9,9,9,0,0,60, + 102,195,195,255,192,193,99,62,8,14,14,7,0,0,14,27, + 51,48,48,252,48,48,48,48,48,48,48,120,10,14,28,11, + 0,252,0,192,31,192,51,0,97,128,97,128,51,0,62,0, + 64,0,127,0,63,128,65,192,128,192,193,128,127,0,10,14, + 28,11,0,0,224,0,96,0,96,0,96,0,96,0,111,0, + 115,128,97,128,97,128,97,128,97,128,97,128,97,128,243,192, + 4,13,13,5,0,0,96,96,0,0,224,96,96,96,96,96, + 96,96,240,6,17,17,5,253,252,12,12,0,0,28,12,12, + 12,12,12,12,12,12,12,204,200,112,10,14,28,10,0,0, + 224,0,96,0,96,0,96,0,96,0,103,128,98,0,100,0, + 104,0,120,0,108,0,102,0,99,0,247,192,4,14,14,5, + 0,0,224,96,96,96,96,96,96,96,96,96,96,96,96,240, + 16,9,18,17,0,0,239,60,115,206,97,134,97,134,97,134, + 97,134,97,134,97,134,243,207,10,9,18,11,0,0,239,0, + 115,128,97,128,97,128,97,128,97,128,97,128,97,128,243,192, + 9,9,18,10,0,0,62,0,99,0,193,128,193,128,193,128, + 193,128,193,128,99,0,62,0,10,13,26,11,0,252,239,0, + 113,128,96,192,96,192,96,192,96,192,96,192,113,128,111,0, + 96,0,96,0,96,0,240,0,10,13,26,10,0,252,60,128, + 99,128,193,128,193,128,193,128,193,128,193,128,99,128,61,128, + 1,128,1,128,1,128,3,192,7,9,9,8,0,0,230,110, + 114,96,96,96,96,96,240,7,9,9,8,0,0,122,198,130, + 224,124,14,130,198,188,6,12,12,6,0,0,96,96,96,248, + 96,96,96,96,96,96,100,56,10,9,18,11,0,0,227,128, + 97,128,97,128,97,128,97,128,97,128,97,128,115,128,61,192, + 10,9,18,11,0,0,241,192,96,128,96,128,49,0,49,0, + 26,0,30,0,12,0,12,0,15,9,18,16,0,0,247,222, + 97,132,97,132,50,200,50,200,52,208,28,112,28,112,8,32, + 9,9,18,10,0,0,243,128,97,0,50,0,28,0,8,0, + 28,0,38,0,67,0,231,128,10,13,26,11,0,252,241,192, + 96,128,49,0,49,0,26,0,26,0,12,0,12,0,8,0, + 8,0,16,0,208,0,224,0,7,9,9,8,0,0,254,134, + 140,24,24,48,98,198,254,5,17,17,6,0,253,24,32,96, + 96,96,96,96,64,128,64,96,96,96,96,96,32,24,2,14, + 14,11,4,0,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,5,17,17,6,0,253,192,32,48,48,48,48,48,16, + 8,16,48,48,48,48,48,32,192,10,3,6,11,0,4,56, + 192,109,128,199,0,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,255, + 255,255,255,255,255,255,0,0,0,5,0,1,2,14,14,5, + 1,252,192,192,0,0,64,64,64,192,192,192,192,192,192,192, + 8,13,13,10,1,254,2,2,30,103,203,200,200,208,208,115, + 62,32,32,10,14,28,11,0,0,15,0,25,128,49,128,48, + 0,48,0,24,0,255,128,12,0,12,0,12,0,12,0,120, + 64,158,64,247,128,9,9,18,12,1,3,156,128,255,128,99, + 0,193,128,193,128,193,128,99,0,255,128,156,128,14,14,28, + 15,0,0,252,124,48,16,24,32,24,32,12,64,12,64,6, + 128,31,224,3,0,3,0,31,224,3,0,3,0,15,192,2, + 14,14,10,4,0,192,192,192,192,192,0,0,0,192,192,192, + 192,192,192,8,17,17,9,0,253,60,102,70,64,96,120,62, + 79,195,227,122,60,14,6,98,102,60,6,2,2,7,0,10, + 204,204,14,14,28,15,0,0,7,128,24,96,32,16,71,136, + 72,200,144,68,144,4,144,4,144,4,72,72,71,136,32,16, + 24,96,7,128,6,8,8,7,0,6,112,136,56,200,152,108, + 0,252,8,7,7,9,0,2,17,51,102,204,102,51,17,9, + 5,10,10,0,3,255,128,0,128,0,128,0,128,0,128,5, + 1,1,6,0,5,248,14,14,28,15,0,0,7,128,24,96, + 32,16,79,136,68,200,132,68,132,196,135,132,132,132,68,72, + 78,104,32,16,24,96,7,128,6,1,1,7,0,10,252,6, + 6,6,7,0,8,120,204,132,132,204,120,9,9,18,10,0, + 1,8,0,8,0,8,0,255,128,8,0,8,0,8,0,0, + 0,255,128,6,8,8,6,0,6,120,204,140,24,48,96,196, + 252,6,8,8,6,0,6,120,204,140,56,12,140,204,120,4, + 3,3,6,1,11,48,96,128,10,13,26,11,0,252,227,192, + 97,128,97,128,97,128,97,128,97,128,97,128,115,128,125,192, + 64,0,64,0,96,0,96,0,10,17,34,11,0,253,63,192, + 233,0,201,0,201,0,201,0,201,0,233,0,57,0,9,0, + 9,0,9,0,9,0,9,0,9,0,9,0,9,0,63,192, + 2,2,2,5,1,5,192,192,4,4,4,6,0,252,64,112, + 16,224,6,8,8,6,0,6,48,240,48,48,48,48,48,252, + 5,8,8,6,0,6,112,216,136,136,216,112,0,248,8,7, + 7,9,0,2,136,204,102,51,102,204,136,15,14,28,15,0, + 0,48,32,240,32,48,64,48,64,48,128,48,128,49,24,253, + 56,2,40,2,88,4,152,4,254,8,24,8,60,14,14,28, + 15,0,0,48,32,240,32,48,64,48,64,48,128,48,128,49, + 120,253,204,2,140,2,24,4,48,4,96,8,196,8,252,15, + 14,28,15,0,0,120,32,204,32,140,64,56,64,12,128,140, + 128,205,24,121,56,2,40,2,88,4,152,4,254,8,24,8, + 60,7,14,14,8,0,252,24,24,0,0,16,16,32,32,64, + 192,192,198,230,120,14,18,36,13,255,0,12,0,6,0,1, + 0,0,0,3,0,3,0,3,0,5,128,5,128,5,128,8, + 192,8,192,31,224,16,96,16,96,32,48,32,48,248,252,14, + 18,36,13,255,0,0,192,1,128,2,0,0,0,3,0,3, + 0,3,0,5,128,5,128,5,128,8,192,8,192,31,224,16, + 96,16,96,32,48,32,48,248,252,14,18,36,13,255,0,3, + 0,7,128,8,64,0,0,3,0,3,0,3,0,5,128,5, + 128,5,128,8,192,8,192,31,224,16,96,16,96,32,48,32, + 48,248,252,14,17,34,13,255,0,7,64,11,128,0,0,3, + 0,3,0,3,0,5,128,5,128,5,128,8,192,8,192,31, + 224,16,96,16,96,32,48,32,48,248,252,14,17,34,13,255, + 0,12,192,12,192,0,0,3,0,3,0,3,0,5,128,5, + 128,5,128,8,192,8,192,31,224,16,96,16,96,32,48,32, + 48,248,252,14,19,38,13,255,0,3,0,4,128,4,128,3, + 0,0,0,3,0,3,0,3,0,5,128,5,128,5,128,8, + 192,8,192,31,224,16,96,16,96,32,48,32,48,248,252,18, + 14,42,18,255,0,7,255,192,1,96,192,2,96,64,2,96, + 64,4,98,64,4,98,0,8,126,0,8,98,0,31,226,0, + 16,96,64,32,96,64,32,96,64,96,96,192,241,255,192,12, + 18,36,13,0,252,15,144,56,112,96,48,96,16,192,16,192, + 0,192,0,192,0,192,0,192,0,96,16,96,16,56,96,15, + 192,4,0,7,0,1,0,14,0,11,18,36,12,0,0,24, + 0,12,0,2,0,0,0,255,224,48,96,48,32,48,32,49, + 32,49,0,63,0,49,0,49,0,48,32,48,32,48,32,48, + 96,255,224,11,18,36,12,0,0,3,0,6,0,8,0,0, + 0,255,224,48,96,48,32,48,32,49,32,49,0,63,0,49, + 0,49,0,48,32,48,32,48,32,48,96,255,224,11,18,36, + 12,0,0,6,0,15,0,16,128,0,0,255,224,48,96,48, + 32,48,32,49,32,49,0,63,0,49,0,49,0,48,32,48, + 32,48,32,48,96,255,224,11,17,34,12,0,0,25,128,25, + 128,0,0,255,224,48,96,48,32,48,32,49,32,49,0,63, + 0,49,0,49,0,48,32,48,32,48,32,48,96,255,224,6, + 18,18,7,0,0,192,96,16,0,252,48,48,48,48,48,48, + 48,48,48,48,48,48,252,6,18,18,7,0,0,12,24,32, + 0,252,48,48,48,48,48,48,48,48,48,48,48,48,252,6, + 18,18,7,0,0,48,120,132,0,252,48,48,48,48,48,48, + 48,48,48,48,48,48,252,6,17,17,7,0,0,204,204,0, + 252,48,48,48,48,48,48,48,48,48,48,48,48,252,14,14, + 28,15,0,0,255,192,48,112,48,24,48,24,48,12,48,12, + 254,12,48,12,48,12,48,12,48,24,48,24,48,112,255,192, + 14,17,34,15,0,0,7,64,11,128,0,0,240,124,48,16, + 56,16,60,16,46,16,38,16,35,16,35,144,33,144,32,208, + 32,240,32,112,32,48,248,16,14,18,36,15,0,0,12,0, + 6,0,1,0,0,0,15,192,56,112,96,24,96,24,192,12, + 192,12,192,12,192,12,192,12,192,12,96,24,96,24,56,112, + 15,192,14,18,36,15,0,0,0,192,1,128,2,0,0,0, + 15,192,56,112,96,24,96,24,192,12,192,12,192,12,192,12, + 192,12,192,12,96,24,96,24,56,112,15,192,14,18,36,15, + 0,0,3,0,7,128,8,64,0,0,15,192,56,112,96,24, + 96,24,192,12,192,12,192,12,192,12,192,12,192,12,96,24, + 96,24,56,112,15,192,14,17,34,15,0,0,7,64,11,128, + 0,0,15,192,56,112,96,24,96,24,192,12,192,12,192,12, + 192,12,192,12,192,12,96,24,96,24,56,112,15,192,14,17, + 34,15,0,0,12,192,12,192,0,0,15,192,56,112,96,24, + 96,24,192,12,192,12,192,12,192,12,192,12,192,12,96,24, + 96,24,56,112,15,192,10,9,18,10,0,1,192,192,97,128, + 51,0,30,0,12,0,30,0,51,0,97,128,192,192,15,14, + 28,15,255,0,7,228,28,56,48,28,48,44,96,70,96,134, + 97,6,98,6,100,6,104,6,48,12,48,12,92,56,135,224, + 14,18,36,15,0,0,6,0,3,0,0,128,0,0,252,124, + 48,16,48,16,48,16,48,16,48,16,48,16,48,16,48,16, + 48,16,48,16,48,16,24,32,15,192,14,18,36,15,0,0, + 0,192,1,128,2,0,0,0,252,124,48,16,48,16,48,16, + 48,16,48,16,48,16,48,16,48,16,48,16,48,16,48,16, + 24,32,15,192,14,18,36,15,0,0,3,0,7,128,8,64, + 0,0,252,124,48,16,48,16,48,16,48,16,48,16,48,16, + 48,16,48,16,48,16,48,16,48,16,24,32,15,192,14,17, + 34,15,0,0,12,96,12,96,0,0,252,124,48,16,48,16, + 48,16,48,16,48,16,48,16,48,16,48,16,48,16,48,16, + 48,16,24,32,15,192,14,18,36,13,255,0,0,96,0,192, + 1,0,0,0,252,124,48,16,24,32,24,32,12,64,12,64, + 6,128,7,128,3,0,3,0,3,0,3,0,3,0,15,192, + 11,14,28,12,0,0,252,0,48,0,48,0,63,128,48,192, + 48,96,48,96,48,96,48,96,48,192,63,0,48,0,48,0, + 252,0,9,14,28,10,0,0,30,0,35,0,97,0,97,0, + 99,0,110,0,99,0,97,128,97,128,97,128,97,128,109,128, + 109,0,230,0,9,13,26,10,0,0,48,0,24,0,4,0, + 0,0,28,0,98,0,99,0,3,0,31,0,99,0,195,0, + 199,0,121,128,9,13,26,10,0,0,6,0,12,0,16,0, + 0,0,28,0,98,0,99,0,3,0,31,0,99,0,195,0, + 199,0,121,128,9,13,26,10,0,0,24,0,60,0,66,0, + 0,0,28,0,98,0,99,0,3,0,31,0,99,0,195,0, + 199,0,121,128,9,12,24,10,0,0,58,0,92,0,0,0, + 28,0,98,0,99,0,3,0,31,0,99,0,195,0,199,0, + 121,128,9,12,24,10,0,0,102,0,102,0,0,0,28,0, + 98,0,99,0,3,0,31,0,99,0,195,0,199,0,121,128, + 9,14,28,10,0,0,24,0,36,0,36,0,24,0,0,0, + 28,0,98,0,99,0,3,0,31,0,99,0,195,0,199,0, + 121,128,15,9,18,16,0,0,28,248,99,140,99,6,3,6, + 31,254,99,0,195,0,197,134,120,252,8,13,13,9,0,252, + 60,99,195,192,192,192,193,99,62,16,28,4,56,8,13,13, + 9,0,0,96,48,8,0,60,102,195,195,255,192,193,99,62, + 8,13,13,9,0,0,6,12,16,0,60,102,195,195,255,192, + 193,99,62,8,13,13,9,0,0,24,60,66,0,60,102,195, + 195,255,192,193,99,62,8,12,12,9,0,0,102,102,0,60, + 102,195,195,255,192,193,99,62,5,13,13,5,255,0,192,96, + 16,0,112,48,48,48,48,48,48,48,120,5,13,13,5,0, + 0,24,48,64,0,224,96,96,96,96,96,96,96,240,6,13, + 13,5,255,0,48,120,132,0,112,48,48,48,48,48,48,48, + 120,6,12,12,5,255,0,204,204,0,112,48,48,48,48,48, + 48,48,120,9,14,28,10,0,0,192,0,54,0,56,0,204, + 0,6,0,63,0,99,0,193,128,193,128,193,128,193,128,193, + 128,99,0,62,0,10,12,24,11,0,0,60,128,79,0,0, + 0,239,0,115,128,97,128,97,128,97,128,97,128,97,128,97, + 128,243,192,9,13,26,10,0,0,96,0,48,0,8,0,0, + 0,62,0,99,0,193,128,193,128,193,128,193,128,193,128,99, + 0,62,0,9,13,26,10,0,0,3,0,6,0,8,0,0, + 0,62,0,99,0,193,128,193,128,193,128,193,128,193,128,99, + 0,62,0,9,13,26,10,0,0,24,0,60,0,66,0,0, + 0,62,0,99,0,193,128,193,128,193,128,193,128,193,128,99, + 0,62,0,9,12,24,10,0,0,58,0,92,0,0,0,62, + 0,99,0,193,128,193,128,193,128,193,128,193,128,99,0,62, + 0,9,12,24,10,0,0,99,0,99,0,0,0,62,0,99, + 0,193,128,193,128,193,128,193,128,193,128,99,0,62,0,10, + 7,14,10,0,2,12,0,12,0,0,0,255,192,0,0,12, + 0,12,0,9,12,24,10,0,254,0,128,62,128,99,0,197, + 128,197,128,201,128,201,128,209,128,115,0,62,0,64,0,64, + 0,10,13,26,11,0,0,48,0,24,0,4,0,0,0,227, + 192,97,128,97,128,97,128,97,128,97,128,97,128,115,128,61, + 192,10,13,26,11,0,0,3,0,6,0,8,0,0,0,227, + 192,97,128,97,128,97,128,97,128,97,128,97,128,115,128,61, + 192,10,13,26,11,0,0,12,0,30,0,33,0,0,0,227, + 192,97,128,97,128,97,128,97,128,97,128,97,128,115,128,61, + 192,10,12,24,11,0,0,51,0,51,0,0,0,227,192,97, + 128,97,128,97,128,97,128,97,128,97,128,115,128,61,192,10, + 17,34,11,0,252,3,0,6,0,8,0,0,0,241,192,96, + 128,49,0,49,0,26,0,26,0,12,0,12,0,8,0,8, + 0,16,0,208,0,224,0,10,18,36,11,0,252,224,0,96, + 0,96,0,96,0,96,0,111,0,113,128,96,192,96,192,96, + 192,96,192,96,192,113,128,111,0,96,0,96,0,96,0,240, + 0,10,16,32,11,0,252,51,0,51,0,0,0,241,192,96, + 128,49,0,49,0,26,0,26,0,12,0,12,0,8,0,8, + 0,16,0,208,0,224,0}; +/* + Fontname: -Adobe-New Century Schoolbook-Medium-R-Normal--20-140-100-100-P-103-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 14, '1' Height: 14 + Calculated Max Values w=20 h=18 x= 4 y=10 dx=19 dy= 0 ascent=15 len=42 + Font Bounding box w=27 h=30 x=-4 y=-7 + Calculated Min Values x=-3 y=-4 dx= 0 dy= 0 + Pure Font ascent =14 descent=-4 + X Font ascent =14 descent=-4 + Max Font ascent =15 descent=-4 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_ncenR14r[2534] U8G_FONT_SECTION("u8g_font_ncenR14r") = { + 0,27,30,252,249,14,3,41,7,30,32,127,252,15,252,14, + 252,0,0,0,5,0,1,2,14,14,5,1,0,192,192,192, + 192,192,192,192,128,128,128,0,0,192,192,4,5,5,7,1, + 9,144,144,144,144,144,10,13,26,11,0,0,9,0,9,0, + 9,0,9,0,127,192,18,0,18,0,18,0,255,128,36,0, + 36,0,36,0,36,0,9,17,34,10,0,254,8,0,8,0, + 63,0,105,128,201,128,200,0,232,0,120,0,30,0,15,0, + 11,128,9,128,201,128,203,0,126,0,8,0,8,0,15,14, + 28,16,0,0,28,32,50,32,99,192,98,64,196,128,196,128, + 201,28,113,50,2,98,2,98,4,196,4,196,8,200,8,112, + 13,14,28,14,0,0,30,0,51,0,33,0,35,0,54,0, + 28,0,57,248,124,96,238,64,199,128,195,128,193,200,227,240, + 124,96,1,5,5,4,1,9,128,128,128,128,128,6,17,17, + 7,0,253,4,24,48,96,96,192,192,192,192,192,192,192,96, + 96,48,24,4,6,17,17,7,0,253,128,96,48,24,24,12, + 12,12,12,12,12,12,24,24,48,96,128,7,7,7,10,1, + 7,16,146,214,56,214,146,16,9,9,18,10,0,1,8,0, + 8,0,8,0,8,0,255,128,8,0,8,0,8,0,8,0, + 3,5,5,5,0,253,96,96,32,64,128,5,1,1,6,0, + 5,248,2,2,2,5,1,0,192,192,5,14,14,6,0,0, + 8,8,8,16,16,16,32,32,32,64,64,64,128,128,9,14, + 28,10,0,0,28,0,99,0,99,0,193,128,193,128,193,128, + 193,128,193,128,193,128,193,128,193,128,99,0,99,0,28,0, + 8,14,14,10,1,0,24,248,24,24,24,24,24,24,24,24, + 24,24,24,255,9,14,28,10,0,0,30,0,99,0,193,128, + 193,128,1,128,1,128,3,0,6,0,12,0,24,0,48,128, + 96,128,255,128,255,128,9,14,28,10,0,0,62,0,99,0, + 97,128,1,128,1,128,3,0,30,0,3,0,1,128,1,128, + 1,128,193,128,195,0,126,0,10,14,28,10,0,0,3,0, + 7,0,11,0,11,0,19,0,19,0,35,0,35,0,67,0, + 67,0,255,192,3,0,3,0,15,128,9,14,28,10,0,0, + 127,128,127,0,64,0,64,0,64,0,94,0,99,0,65,128, + 1,128,1,128,1,128,193,128,195,0,126,0,9,14,28,10, + 0,0,15,0,49,128,97,128,96,0,192,0,206,0,223,0, + 227,128,193,128,193,128,193,128,193,128,99,0,62,0,9,14, + 28,10,0,0,255,128,255,128,129,0,131,0,2,0,6,0, + 6,0,12,0,12,0,24,0,24,0,24,0,24,0,24,0, + 9,14,28,10,0,0,62,0,99,0,65,0,65,0,97,0, + 114,0,62,0,47,0,67,128,193,128,193,128,193,128,99,0, + 62,0,9,14,28,10,0,0,62,0,99,0,193,128,193,128, + 193,128,193,128,227,128,125,128,57,128,1,128,3,0,195,0, + 198,0,120,0,2,9,9,5,1,0,192,192,0,0,0,0, + 0,192,192,3,12,12,5,0,253,96,96,0,0,0,0,0, + 96,96,32,64,128,9,9,18,10,0,1,0,128,3,128,14, + 0,56,0,224,0,56,0,14,0,3,128,0,128,9,4,8, + 10,0,4,255,128,0,0,0,0,255,128,9,9,18,10,0, + 1,128,0,224,0,56,0,14,0,3,128,14,0,56,0,224, + 0,128,0,7,14,14,8,0,0,60,206,198,6,6,4,8, + 8,16,16,0,0,48,48,13,14,28,14,0,0,7,128,24, + 96,32,16,70,208,77,200,140,200,152,200,153,144,153,144,155, + 160,76,192,64,16,32,96,31,128,14,14,28,13,255,0,3, + 0,3,0,3,0,5,128,5,128,5,128,8,192,8,192,31, + 224,16,96,16,96,32,48,32,48,248,252,12,14,28,13,0, + 0,255,128,48,192,48,96,48,96,48,96,48,192,63,128,48, + 96,48,48,48,48,48,48,48,48,48,96,255,192,12,14,28, + 13,0,0,15,144,56,112,96,48,96,16,192,16,192,0,192, + 0,192,0,192,0,192,0,96,16,96,16,56,96,15,192,14, + 14,28,15,0,0,255,192,48,112,48,24,48,24,48,12,48, + 12,48,12,48,12,48,12,48,12,48,24,48,24,48,112,255, + 192,11,14,28,12,0,0,255,224,48,96,48,32,48,32,49, + 32,49,0,63,0,49,0,49,0,48,32,48,32,48,32,48, + 96,255,224,11,14,28,12,0,0,255,224,48,96,48,32,48, + 32,49,32,49,0,63,0,49,0,49,0,48,0,48,0,48, + 0,48,0,252,0,14,14,28,15,0,0,15,200,56,120,96, + 24,96,8,192,8,192,0,192,0,192,0,192,124,192,24,96, + 24,96,24,56,120,15,200,15,14,28,16,0,0,252,126,48, + 24,48,24,48,24,48,24,48,24,63,248,48,24,48,24,48, + 24,48,24,48,24,48,24,252,126,6,14,14,7,0,0,252, + 48,48,48,48,48,48,48,48,48,48,48,48,252,9,14,28, + 10,0,0,31,128,6,0,6,0,6,0,6,0,6,0,6, + 0,6,0,6,0,6,0,198,0,198,0,132,0,120,0,15, + 14,28,15,0,0,252,248,48,96,48,64,48,128,49,0,50, + 0,54,0,63,0,51,128,49,192,48,224,48,112,48,56,252, + 254,11,14,28,12,0,0,252,0,48,0,48,0,48,0,48, + 0,48,0,48,0,48,0,48,0,48,32,48,32,48,32,48, + 96,255,224,17,14,42,18,0,0,248,15,128,56,14,0,44, + 22,0,44,22,0,44,22,0,38,38,0,38,38,0,38,38, + 0,35,70,0,35,70,0,35,70,0,33,134,0,33,134,0, + 249,159,128,14,14,28,15,0,0,240,124,48,16,56,16,60, + 16,46,16,38,16,35,16,35,144,33,144,32,208,32,240,32, + 112,32,48,248,16,14,14,28,15,0,0,15,192,56,112,96, + 24,96,24,192,12,192,12,192,12,192,12,192,12,192,12,96, + 24,96,24,56,112,15,192,11,14,28,12,0,0,255,128,48, + 192,48,96,48,96,48,96,48,96,48,192,63,0,48,0,48, + 0,48,0,48,0,48,0,252,0,15,18,36,15,0,252,15, + 192,56,112,96,24,96,24,192,12,192,12,192,12,192,12,192, + 12,207,12,113,152,96,152,56,240,15,224,0,96,0,114,0, + 62,0,28,14,14,28,14,0,0,255,128,48,192,48,96,48, + 96,48,96,48,192,63,0,49,128,48,192,48,192,48,224,48, + 96,48,116,248,56,10,14,28,11,0,0,62,128,97,128,192, + 128,192,128,192,0,240,0,126,0,31,128,3,192,128,192,128, + 192,192,192,225,128,191,0,12,14,28,13,0,0,255,240,198, + 48,134,16,134,16,134,16,6,0,6,0,6,0,6,0,6, + 0,6,0,6,0,6,0,31,128,14,14,28,15,0,0,252, + 124,48,16,48,16,48,16,48,16,48,16,48,16,48,16,48, + 16,48,16,48,16,48,16,24,32,15,192,14,14,28,13,255, + 0,252,124,48,16,48,16,24,32,24,32,24,32,12,64,12, + 64,12,64,6,128,6,128,6,128,3,0,3,0,20,14,42, + 19,255,0,253,249,240,48,96,64,48,96,64,24,112,128,24, + 112,128,24,112,128,12,153,0,12,153,0,12,153,0,5,9, + 0,7,14,0,7,14,0,3,6,0,3,6,0,13,14,28, + 14,1,0,248,240,48,64,56,192,24,128,13,128,15,0,6, + 0,7,0,15,128,9,128,16,192,48,224,32,96,249,248,14, + 14,28,13,255,0,252,124,48,16,24,32,24,32,12,64,12, + 64,6,128,7,128,3,0,3,0,3,0,3,0,3,0,15, + 192,10,14,28,11,0,0,255,192,192,192,129,128,131,128,131, + 0,6,0,14,0,28,0,24,0,48,64,112,64,96,64,192, + 192,255,192,4,17,17,6,1,253,240,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,240,7,14,14,10,1,0, + 128,128,192,64,96,32,48,16,24,8,12,4,6,2,4,17, + 17,6,0,253,240,48,48,48,48,48,48,48,48,48,48,48, + 48,48,48,48,240,9,9,18,10,0,5,8,0,8,0,28, + 0,20,0,54,0,34,0,99,0,65,0,193,128,9,1,2, + 9,0,254,255,128,4,3,3,6,1,10,192,96,16,9,9, + 18,10,0,0,28,0,98,0,99,0,3,0,31,0,99,0, + 195,0,199,0,121,128,10,14,28,10,255,0,224,0,96,0, + 96,0,96,0,96,0,111,0,113,128,96,192,96,192,96,192, + 96,192,96,192,113,128,79,0,8,9,9,9,0,0,60,99, + 195,192,192,192,193,99,62,10,14,28,11,0,0,3,128,1, + 128,1,128,1,128,1,128,61,128,99,128,193,128,193,128,193, + 128,193,128,193,128,99,128,61,192,8,9,9,9,0,0,60, + 102,195,195,255,192,193,99,62,8,14,14,7,0,0,14,27, + 51,48,48,252,48,48,48,48,48,48,48,120,10,14,28,11, + 0,252,0,192,31,192,51,0,97,128,97,128,51,0,62,0, + 64,0,127,0,63,128,65,192,128,192,193,128,127,0,10,14, + 28,11,0,0,224,0,96,0,96,0,96,0,96,0,111,0, + 115,128,97,128,97,128,97,128,97,128,97,128,97,128,243,192, + 4,13,13,5,0,0,96,96,0,0,224,96,96,96,96,96, + 96,96,240,6,17,17,5,253,252,12,12,0,0,28,12,12, + 12,12,12,12,12,12,12,204,200,112,10,14,28,10,0,0, + 224,0,96,0,96,0,96,0,96,0,103,128,98,0,100,0, + 104,0,120,0,108,0,102,0,99,0,247,192,4,14,14,5, + 0,0,224,96,96,96,96,96,96,96,96,96,96,96,96,240, + 16,9,18,17,0,0,239,60,115,206,97,134,97,134,97,134, + 97,134,97,134,97,134,243,207,10,9,18,11,0,0,239,0, + 115,128,97,128,97,128,97,128,97,128,97,128,97,128,243,192, + 9,9,18,10,0,0,62,0,99,0,193,128,193,128,193,128, + 193,128,193,128,99,0,62,0,10,13,26,11,0,252,239,0, + 113,128,96,192,96,192,96,192,96,192,96,192,113,128,111,0, + 96,0,96,0,96,0,240,0,10,13,26,10,0,252,60,128, + 99,128,193,128,193,128,193,128,193,128,193,128,99,128,61,128, + 1,128,1,128,1,128,3,192,7,9,9,8,0,0,230,110, + 114,96,96,96,96,96,240,7,9,9,8,0,0,122,198,130, + 224,124,14,130,198,188,6,12,12,6,0,0,96,96,96,248, + 96,96,96,96,96,96,100,56,10,9,18,11,0,0,227,128, + 97,128,97,128,97,128,97,128,97,128,97,128,115,128,61,192, + 10,9,18,11,0,0,241,192,96,128,96,128,49,0,49,0, + 26,0,30,0,12,0,12,0,15,9,18,16,0,0,247,222, + 97,132,97,132,50,200,50,200,52,208,28,112,28,112,8,32, + 9,9,18,10,0,0,243,128,97,0,50,0,28,0,8,0, + 28,0,38,0,67,0,231,128,10,13,26,11,0,252,241,192, + 96,128,49,0,49,0,26,0,26,0,12,0,12,0,8,0, + 8,0,16,0,208,0,224,0,7,9,9,8,0,0,254,134, + 140,24,24,48,98,198,254,5,17,17,6,0,253,24,32,96, + 96,96,96,96,64,128,64,96,96,96,96,96,32,24,2,14, + 14,11,4,0,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,5,17,17,6,0,253,192,32,48,48,48,48,48,16, + 8,16,48,48,48,48,48,32,192,10,3,6,11,0,4,56, + 192,109,128,199,0,255}; +/* + Fontname: -Adobe-New Century Schoolbook-Medium-R-Normal--25-180-100-100-P-136-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 18, '1' Height: 18 + Calculated Max Values w=25 h=24 x= 6 y=15 dx=25 dy= 0 ascent=24 len=72 + Font Bounding box w=31 h=37 x=-3 y=-8 + Calculated Min Values x=-2 y=-5 dx= 0 dy= 0 + Pure Font ascent =18 descent=-5 + X Font ascent =18 descent=-5 + Max Font ascent =24 descent=-5 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_ncenR18[7488] U8G_FONT_SECTION("u8g_font_ncenR18") = { + 0,31,37,253,248,18,4,33,9,197,32,255,251,24,251,18, + 251,0,0,0,7,0,1,3,18,18,7,2,0,64,224,224, + 224,224,224,224,224,224,224,224,64,64,64,0,224,224,224,6, + 6,6,10,2,12,204,204,204,204,204,204,13,16,32,15,1, + 1,12,96,12,96,12,96,12,96,12,96,127,248,24,192,24, + 192,24,192,24,192,255,240,49,128,49,128,49,128,49,128,49, + 128,11,22,44,13,1,254,4,0,4,0,31,0,101,128,68, + 192,196,192,197,192,197,128,228,0,252,0,127,0,31,192,7, + 192,4,224,100,96,228,96,196,96,196,64,100,192,63,0,4, + 0,4,0,18,19,57,20,1,255,30,24,0,51,40,0,97, + 216,0,97,16,0,193,48,0,193,32,0,194,96,0,194,64, + 0,196,199,128,120,140,192,1,152,64,1,24,64,3,48,64, + 2,48,64,6,48,128,4,48,128,12,49,0,8,30,0,8, + 0,0,18,18,54,20,1,0,7,192,0,12,224,0,24,96, + 0,24,96,0,24,96,0,24,192,0,13,128,0,14,0,0, + 30,63,128,103,30,0,99,140,0,193,200,0,192,232,0,192, + 112,0,224,56,64,112,124,64,127,207,128,31,7,0,2,6, + 6,6,2,12,192,192,192,192,192,192,7,21,21,9,1,253, + 2,12,24,48,48,96,96,192,192,192,192,192,192,192,96,96, + 48,48,24,12,2,7,21,21,8,0,253,128,96,48,24,24, + 12,12,6,6,6,6,6,6,6,12,12,24,24,48,96,128, + 7,9,9,9,1,9,16,56,146,214,56,214,146,56,16,12, + 12,24,14,1,1,6,0,6,0,6,0,6,0,6,0,255, + 240,255,240,6,0,6,0,6,0,6,0,6,0,4,7,7, + 6,1,252,96,240,240,48,32,64,128,6,2,2,8,1,6, + 252,252,3,3,3,7,2,0,224,224,224,7,18,18,8,0, + 0,6,6,6,12,12,12,24,24,24,48,48,48,96,96,96, + 192,192,192,11,18,36,13,1,0,14,0,17,0,49,128,32, + 128,96,192,96,192,224,224,224,224,224,224,224,224,224,224,224, + 224,96,192,96,192,32,128,49,128,17,0,14,0,8,18,18, + 13,3,0,8,56,248,24,24,24,24,24,24,24,24,24,24, + 24,24,24,24,255,11,18,36,13,1,0,31,0,113,192,64, + 192,224,224,224,224,64,224,0,192,1,192,1,128,3,0,6, + 0,12,0,24,0,48,32,96,32,192,96,255,224,255,224,11, + 18,36,13,1,0,31,0,99,128,193,192,225,192,225,192,65, + 128,1,128,3,0,31,0,1,128,0,192,0,224,64,224,224, + 224,224,192,193,192,97,128,30,0,12,18,36,13,0,0,0, + 64,0,192,1,192,3,192,6,192,12,192,8,192,24,192,48, + 192,96,192,64,192,192,192,128,192,255,240,0,192,0,192,0, + 192,3,240,11,18,36,13,1,0,127,192,127,128,64,0,64, + 0,64,0,64,0,64,0,95,0,99,128,0,192,0,192,0, + 224,96,224,224,224,224,192,64,192,97,128,31,0,11,18,36, + 13,1,0,15,128,56,224,32,224,96,96,96,0,96,0,224, + 0,239,0,241,128,224,192,224,192,224,224,224,224,96,224,96, + 192,96,192,49,128,31,0,10,18,36,13,2,0,255,192,255, + 192,128,128,129,128,1,0,3,0,3,0,2,0,6,0,6, + 0,4,0,12,0,12,0,12,0,28,0,28,0,28,0,8, + 0,11,18,36,13,1,0,31,0,49,128,32,128,96,192,96, + 192,112,192,57,128,63,0,31,0,55,128,97,192,192,224,192, + 96,192,96,192,96,96,192,113,192,31,0,11,18,36,13,1, + 0,31,0,49,128,112,192,96,192,224,224,224,224,224,224,96, + 224,112,224,49,224,30,224,0,224,0,192,0,192,193,192,225, + 128,227,128,62,0,3,12,12,7,2,0,224,224,224,0,0, + 0,0,0,0,224,224,224,4,16,16,7,2,252,224,224,224, + 0,0,0,0,0,0,96,240,240,48,32,64,128,12,12,24, + 14,1,1,0,48,0,240,3,192,15,0,60,0,240,0,240, + 0,60,0,15,0,3,192,0,240,0,48,12,6,12,15,1, + 4,255,240,255,240,0,0,0,0,255,240,255,240,12,12,24, + 14,1,1,192,0,240,0,60,0,15,0,3,192,0,240,0, + 240,3,192,15,0,60,0,240,0,192,0,10,18,36,12,1, + 0,30,0,99,128,193,192,225,192,225,192,1,192,3,128,7, + 0,14,0,12,0,24,0,16,0,16,0,0,0,0,0,56, + 0,56,0,56,0,17,18,54,19,1,0,1,248,0,6,6, + 0,24,3,0,16,1,128,96,216,128,99,56,128,198,24,128, + 198,24,128,204,24,128,204,49,0,204,49,0,204,114,0,196, + 180,0,195,56,0,96,1,0,96,2,0,24,12,0,31,248, + 0,19,18,54,19,0,0,0,64,0,0,96,0,0,224,0, + 0,240,0,1,48,0,1,56,0,2,24,0,2,28,0,4, + 12,0,4,12,0,8,14,0,15,254,0,16,6,0,16,7, + 0,32,3,0,32,3,128,96,3,128,248,15,224,14,18,36, + 18,2,0,255,192,48,112,48,48,48,56,48,56,48,56,48, + 48,48,96,63,240,48,56,48,24,48,28,48,28,48,28,48, + 28,48,24,48,56,255,224,15,18,36,17,1,0,7,242,28, + 30,56,6,48,2,112,2,96,2,224,0,224,0,224,0,224, + 0,224,0,224,0,96,2,112,2,48,6,56,4,28,28,7, + 240,16,18,36,20,2,0,255,224,48,56,48,12,48,12,48, + 6,48,6,48,7,48,7,48,7,48,7,48,7,48,7,48, + 6,48,6,48,12,48,12,48,56,255,224,13,18,36,16,1, + 0,255,248,48,56,48,24,48,8,48,8,48,136,48,128,49, + 128,63,128,49,128,48,128,48,128,48,8,48,8,48,8,48, + 24,48,56,255,248,13,18,36,16,1,0,255,248,48,56,48, + 24,48,8,48,8,48,136,48,128,49,128,63,128,49,128,48, + 128,48,128,48,0,48,0,48,0,48,0,48,0,252,0,17, + 18,54,18,1,0,7,250,0,28,30,0,48,6,0,48,6, + 0,112,2,0,96,2,0,224,0,0,224,0,0,224,0,0, + 224,0,0,224,63,128,224,6,0,96,6,0,112,6,0,48, + 6,0,48,14,0,28,30,0,7,242,0,17,18,54,21,2, + 0,252,31,128,48,6,0,48,6,0,48,6,0,48,6,0, + 48,6,0,48,6,0,48,6,0,63,254,0,48,6,0,48, + 6,0,48,6,0,48,6,0,48,6,0,48,6,0,48,6, + 0,48,6,0,252,31,128,6,18,18,9,2,0,252,48,48, + 48,48,48,48,48,48,48,48,48,48,48,48,48,48,252,11, + 18,36,14,1,0,7,224,1,128,1,128,1,128,1,128,1, + 128,1,128,1,128,1,128,1,128,1,128,97,128,241,128,225, + 128,193,128,193,128,99,0,62,0,18,18,54,20,2,0,252, + 127,0,48,28,0,48,24,0,48,48,0,48,96,0,48,192, + 0,49,128,0,51,0,0,55,0,0,63,128,0,57,192,0, + 48,224,0,48,112,0,48,56,0,48,28,0,48,14,0,48, + 7,0,252,31,192,13,18,36,16,2,0,254,0,48,0,48, + 0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48, + 0,48,0,48,8,48,8,48,8,48,24,48,56,255,248,20, + 18,54,23,1,0,252,1,240,60,1,192,30,3,192,22,2, + 192,23,2,192,19,2,192,19,4,192,19,132,192,17,132,192, + 17,136,192,17,200,192,16,200,192,16,208,192,16,240,192,16, + 112,192,16,96,192,56,96,192,254,35,240,19,18,54,21,1, + 0,248,15,224,60,3,128,28,1,0,30,1,0,23,1,0, + 19,129,0,17,129,0,16,193,0,16,225,0,16,97,0,16, + 49,0,16,57,0,16,29,0,16,15,0,16,7,0,16,7, + 0,56,3,0,254,1,0,17,18,54,19,1,0,7,240,0, + 28,28,0,48,6,0,48,6,0,112,7,0,96,3,0,224, + 3,128,224,3,128,224,3,128,224,3,128,224,3,128,224,3, + 128,96,3,0,112,7,0,48,6,0,48,6,0,28,28,0, + 7,240,0,13,18,36,16,2,0,255,192,48,112,48,48,48, + 56,48,56,48,56,48,56,48,48,48,112,63,192,48,0,48, + 0,48,0,48,0,48,0,48,0,48,0,252,0,17,22,66, + 19,1,252,7,240,0,28,28,0,48,6,0,48,6,0,112, + 7,0,96,3,0,224,3,128,224,3,128,224,3,128,224,3, + 128,224,3,128,227,195,128,100,99,0,104,39,0,56,54,0, + 56,22,0,28,28,0,7,248,0,0,24,128,0,12,128,0, + 15,0,0,6,0,15,18,36,18,2,0,255,192,48,112,48, + 48,48,56,48,56,48,56,48,48,48,96,63,128,49,192,48, + 224,48,96,48,112,48,112,48,50,48,50,48,60,252,28,13, + 18,36,15,1,0,31,144,112,240,64,48,192,48,192,16,224, + 16,120,0,62,0,15,128,3,224,0,240,0,56,128,24,128, + 24,192,24,192,48,240,112,159,192,14,18,36,17,1,0,255, + 252,227,28,195,12,131,4,131,4,131,4,3,0,3,0,3, + 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, + 0,31,224,16,18,36,19,2,0,252,31,48,14,48,4,48, + 4,48,4,48,4,48,4,48,4,48,4,48,4,48,4,48, + 4,48,4,48,4,56,12,24,8,30,56,7,224,18,18,54, + 18,0,0,254,7,192,56,1,0,24,1,0,28,2,0,28, + 2,0,12,2,0,14,4,0,6,4,0,7,8,0,7,8, + 0,3,8,0,3,144,0,1,144,0,1,160,0,1,224,0, + 0,224,0,0,192,0,0,64,0,25,18,72,25,0,0,254, + 63,143,128,56,14,2,0,56,14,2,0,24,14,2,0,24, + 22,4,0,28,23,4,0,12,19,4,0,12,19,4,0,14, + 35,136,0,6,33,136,0,6,33,136,0,7,65,208,0,3, + 64,208,0,3,192,240,0,3,128,240,0,1,128,96,0,1, + 128,96,0,0,128,32,0,19,18,54,19,0,0,127,143,128, + 30,6,0,14,4,0,7,8,0,7,16,0,3,144,0,1, + 160,0,1,192,0,0,224,0,0,224,0,1,112,0,1,56, + 0,2,28,0,4,28,0,4,14,0,8,7,0,24,7,128, + 252,31,224,16,18,36,17,0,0,252,63,56,12,24,8,28, + 24,12,16,14,48,6,32,7,96,3,64,3,192,1,128,1, + 128,1,128,1,128,1,128,1,128,1,128,7,224,14,18,36, + 16,1,0,127,252,112,24,96,56,64,48,64,96,0,224,0, + 192,1,128,3,128,3,0,6,0,14,0,28,0,24,4,48, + 4,112,12,96,28,255,252,5,21,21,7,2,253,248,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,248,10,18,36,11,0,0,192,0,192,0,96,0,96,0, + 48,0,48,0,24,0,24,0,12,0,12,0,6,0,6,0, + 3,0,3,0,1,128,1,128,0,192,0,192,5,21,21,7, + 0,253,248,24,24,24,24,24,24,24,24,24,24,24,24,24, + 24,24,24,24,24,24,248,10,10,20,12,1,8,12,0,12, + 0,30,0,30,0,51,0,51,0,97,128,97,128,192,192,192, + 192,12,2,4,12,0,253,255,240,255,240,5,4,4,8,1, + 14,192,224,48,8,12,12,24,13,1,0,31,0,113,128,112, + 192,96,192,0,192,7,192,56,192,96,192,192,192,192,192,225, + 240,126,96,13,18,36,14,0,0,240,0,48,0,48,0,48, + 0,48,0,48,0,55,192,60,112,56,48,48,56,48,24,48, + 24,48,24,48,24,48,56,56,48,60,112,39,192,10,12,24, + 12,1,0,31,0,113,192,97,192,224,192,192,0,192,0,192, + 0,192,0,224,0,96,64,112,192,31,128,13,18,36,14,1, + 0,1,224,0,96,0,96,0,96,0,96,0,96,30,96,113, + 224,96,224,224,96,192,96,192,96,192,96,192,96,224,96,96, + 224,113,224,31,120,11,12,24,13,1,0,31,0,113,192,96, + 192,224,224,192,96,255,224,192,0,192,0,224,0,96,64,112, + 192,31,128,9,18,36,8,1,0,15,0,25,128,49,128,48, + 0,48,0,48,0,252,0,48,0,48,0,48,0,48,0,48, + 0,48,0,48,0,48,0,48,0,48,0,252,0,13,17,34, + 12,0,251,31,56,49,216,96,192,96,192,96,192,96,192,49, + 128,31,0,48,0,96,0,63,0,31,192,96,224,192,96,192, + 96,224,192,127,128,14,18,36,14,0,0,240,0,48,0,48, + 0,48,0,48,0,48,0,49,192,55,224,56,112,48,48,48, + 48,48,48,48,48,48,48,48,48,48,48,48,48,252,252,6, + 18,18,8,1,0,48,48,48,0,0,0,240,48,48,48,48, + 48,48,48,48,48,48,252,7,23,23,8,254,251,6,6,6, + 0,0,0,30,6,6,6,6,6,6,6,6,6,6,6,6, + 6,198,204,120,14,18,36,15,1,0,240,0,48,0,48,0, + 48,0,48,0,48,0,51,240,48,192,49,128,51,0,54,0, + 62,0,55,0,51,128,49,192,48,224,48,112,252,252,6,18, + 18,8,1,0,240,48,48,48,48,48,48,48,48,48,48,48, + 48,48,48,48,48,252,22,12,36,22,0,0,241,193,192,55, + 231,224,56,120,112,48,48,48,48,48,48,48,48,48,48,48, + 48,48,48,48,48,48,48,48,48,48,48,48,48,252,252,252, + 14,12,24,14,0,0,241,192,55,224,56,112,48,48,48,48, + 48,48,48,48,48,48,48,48,48,48,48,48,252,252,11,12, + 24,13,1,0,31,0,113,192,96,192,224,224,192,96,192,96, + 192,96,192,96,224,224,96,192,113,192,31,0,13,17,34,14, + 0,251,247,192,60,112,56,48,48,56,48,24,48,24,48,24, + 48,24,48,56,56,48,60,112,55,192,48,0,48,0,48,0, + 48,0,252,0,13,17,34,14,1,251,30,32,113,224,96,224, + 224,96,192,96,192,96,192,96,192,96,224,96,96,224,113,224, + 31,96,0,96,0,96,0,96,0,96,1,248,10,12,24,10, + 0,0,243,128,53,192,56,192,48,0,48,0,48,0,48,0, + 48,0,48,0,48,0,48,0,252,0,9,12,24,11,1,0, + 61,0,103,0,195,0,193,0,224,0,124,0,31,0,3,128, + 129,128,193,128,227,0,190,0,8,16,16,10,1,0,16,16, + 48,112,255,48,48,48,48,48,48,48,49,49,57,30,14,12, + 24,14,0,0,240,240,48,48,48,48,48,48,48,48,48,48, + 48,48,48,48,48,48,56,112,31,176,14,60,15,12,24,13, + 255,0,252,126,48,24,48,16,56,48,24,32,28,96,12,64, + 14,192,6,128,7,128,3,0,3,0,19,12,36,17,255,0, + 252,243,224,48,96,128,48,96,128,48,112,128,56,177,0,24, + 177,0,24,177,0,29,58,0,13,26,0,13,26,0,14,28, + 0,6,12,0,13,12,24,12,0,0,248,240,112,96,56,192, + 25,128,15,0,7,0,7,0,13,128,24,192,48,224,96,112, + 240,248,13,17,34,12,255,251,120,56,48,16,56,32,24,32, + 24,96,28,64,12,192,14,128,6,128,7,128,3,0,3,0, + 2,0,2,0,196,0,236,0,120,0,9,12,24,11,1,0, + 255,128,195,128,135,0,134,0,12,0,28,0,24,0,48,0, + 112,128,224,128,193,128,255,128,6,21,21,8,1,253,12,16, + 48,48,48,48,48,48,48,32,192,32,48,48,48,48,48,48, + 48,16,12,2,18,18,15,6,0,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,6,21,21,7,1, + 253,192,32,48,48,48,48,48,48,48,16,12,16,48,48,48, + 48,48,48,48,32,192,12,4,8,14,1,6,60,48,126,112, + 231,224,195,192,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,255,255, + 255,255,255,255,255,0,0,0,7,0,1,3,19,19,7,2, + 251,224,224,224,0,0,64,64,64,224,224,224,224,224,224,224, + 224,224,224,64,10,18,36,14,2,253,0,64,0,64,0,128, + 31,128,113,192,97,192,226,192,194,0,196,0,196,0,200,0, + 232,0,112,64,112,192,63,0,32,0,64,0,64,0,13,18, + 36,14,0,0,3,192,14,48,12,112,28,112,28,32,28,0, + 28,0,14,0,127,192,7,0,7,0,7,0,7,0,7,0, + 118,8,140,8,143,240,115,224,13,12,24,15,1,4,71,16, + 255,248,112,112,32,32,96,48,96,48,96,48,96,48,32,32, + 112,112,255,248,71,16,16,18,36,17,0,0,252,63,56,12, + 24,8,28,24,12,16,14,48,6,32,7,96,3,64,3,192, + 31,248,1,128,1,128,31,248,1,128,1,128,1,128,15,240, + 2,18,18,15,6,0,192,192,192,192,192,192,192,0,0,0, + 192,192,192,192,192,192,192,192,10,22,44,12,1,252,31,0, + 35,128,97,128,97,128,120,0,60,0,31,0,47,128,67,192, + 193,192,192,192,224,192,240,192,124,128,63,0,15,0,3,128, + 1,128,97,128,97,128,113,0,62,0,6,2,2,8,1,15, + 204,204,18,18,54,20,1,0,3,240,0,12,12,0,16,2, + 0,32,1,0,67,240,128,70,24,128,140,8,64,140,0,64, + 140,0,64,140,0,64,140,0,64,140,8,64,70,24,128,67, + 224,128,32,1,0,16,2,0,12,12,0,3,240,0,7,10, + 10,9,1,8,120,76,4,124,196,204,118,0,0,254,10,7, + 14,12,1,3,24,192,49,128,99,0,198,0,99,0,49,128, + 24,192,12,7,14,14,1,3,255,240,255,240,0,48,0,48, + 0,48,0,48,0,48,6,2,2,8,1,6,252,252,18,18, + 54,20,1,0,3,240,0,12,12,0,16,2,0,32,1,0, + 71,240,128,67,24,128,131,24,64,131,24,64,131,16,64,131, + 224,64,131,48,64,131,24,64,67,12,128,71,142,128,32,1, + 0,16,2,0,12,12,0,3,240,0,7,1,1,9,1,15, + 254,8,7,7,9,0,11,60,102,195,195,195,102,60,12,11, + 22,14,1,2,6,0,6,0,6,0,255,240,255,240,6,0, + 6,0,6,0,0,0,255,240,255,240,7,11,11,8,0,7, + 124,198,198,6,12,24,48,96,192,194,254,7,11,11,8,0, + 7,124,198,198,6,12,60,6,6,198,198,124,5,4,4,8, + 2,15,24,56,96,128,14,17,34,14,0,251,240,240,48,48, + 48,48,48,48,48,48,48,48,48,48,48,48,48,48,56,112, + 63,176,46,60,32,0,32,0,112,0,112,0,32,0,13,22, + 44,15,1,252,31,248,115,48,227,48,227,48,227,48,227,48, + 227,48,227,48,115,48,31,48,3,48,3,48,3,48,3,48, + 3,48,3,48,3,48,3,48,3,48,3,48,3,48,7,248, + 3,3,3,7,2,5,224,224,224,4,4,4,7,1,252,64, + 112,16,224,6,11,11,8,1,7,16,48,240,48,48,48,48, + 48,48,48,252,7,10,10,9,1,8,56,68,198,198,198,68, + 56,0,0,254,10,7,14,12,1,3,198,0,99,0,49,128, + 24,192,49,128,99,0,198,0,18,18,54,19,0,0,16,4, + 0,48,12,0,240,8,0,48,24,0,48,16,0,48,48,0, + 48,32,0,48,99,0,48,71,0,48,207,0,252,139,0,1, + 155,0,1,19,0,3,51,0,2,99,0,6,127,192,4,3, + 0,12,7,128,18,18,54,19,0,0,16,8,0,48,24,0, + 240,16,0,48,48,0,48,32,0,48,96,0,48,64,0,48, + 207,128,48,152,192,49,152,192,253,0,192,3,1,128,2,3, + 0,6,6,0,4,12,0,12,24,0,8,24,64,24,31,192, + 18,18,54,19,0,0,124,4,0,198,12,0,198,8,0,6, + 24,0,12,16,0,60,48,0,6,32,0,6,99,0,198,71, + 0,198,207,0,124,139,0,1,155,0,1,19,0,3,51,0, + 2,99,0,6,127,192,4,3,0,12,7,128,10,18,36,12, + 1,252,7,0,7,0,7,0,0,0,0,0,2,0,2,0, + 6,0,12,0,28,0,56,0,112,0,224,0,225,192,225,192, + 224,192,113,128,30,0,19,23,69,19,0,0,3,0,0,3, + 128,0,0,192,0,0,32,0,0,0,0,0,64,0,0,96, + 0,0,224,0,0,240,0,1,48,0,1,56,0,2,24,0, + 2,28,0,4,12,0,4,12,0,8,14,0,15,254,0,16, + 6,0,16,7,0,32,3,0,32,3,128,96,3,128,248,15, + 224,19,23,69,19,0,0,0,24,0,0,56,0,0,96,0, + 0,128,0,0,0,0,0,64,0,0,96,0,0,224,0,0, + 240,0,1,48,0,1,56,0,2,24,0,2,28,0,4,12, + 0,4,12,0,8,14,0,15,254,0,16,6,0,16,7,0, + 32,3,0,32,3,128,96,3,128,248,15,224,19,23,69,19, + 0,0,0,96,0,0,240,0,1,152,0,2,4,0,0,0, + 0,0,64,0,0,96,0,0,224,0,0,240,0,1,48,0, + 1,56,0,2,24,0,2,28,0,4,12,0,4,12,0,8, + 14,0,15,254,0,16,6,0,16,7,0,32,3,0,32,3, + 128,96,3,128,248,15,224,19,22,66,19,0,0,1,196,0, + 3,248,0,4,112,0,0,0,0,0,64,0,0,96,0,0, + 224,0,0,240,0,1,48,0,1,56,0,2,24,0,2,28, + 0,4,12,0,4,12,0,8,14,0,15,254,0,16,6,0, + 16,7,0,32,3,0,32,3,128,96,3,128,248,15,224,19, + 22,66,19,0,0,3,24,0,3,24,0,0,0,0,0,0, + 0,0,64,0,0,96,0,0,224,0,0,240,0,1,48,0, + 1,56,0,2,24,0,2,28,0,4,12,0,4,12,0,8, + 14,0,15,254,0,16,6,0,16,7,0,32,3,0,32,3, + 128,96,3,128,248,15,224,19,24,72,19,0,0,0,224,0, + 1,16,0,1,16,0,1,16,0,0,224,0,0,0,0,0, + 64,0,0,96,0,0,224,0,0,240,0,1,48,0,1,56, + 0,2,24,0,2,28,0,4,12,0,4,12,0,8,14,0, + 15,254,0,16,6,0,16,7,0,32,3,0,32,3,128,96, + 3,128,248,15,224,24,18,54,25,0,0,1,255,255,0,38, + 7,0,102,3,0,70,1,0,198,1,0,134,17,1,134,16, + 1,6,48,3,7,240,2,6,48,7,254,16,4,6,16,12, + 6,1,8,6,1,24,6,1,16,6,3,48,6,7,252,31, + 255,15,23,46,17,1,251,7,242,28,30,56,6,48,2,112, + 2,96,2,224,0,224,0,224,0,224,0,224,0,224,0,96, + 2,112,2,48,6,56,4,28,28,7,240,3,224,1,0,1, + 192,0,64,3,128,13,23,46,16,1,0,24,0,28,0,6, + 0,1,0,0,0,255,248,48,56,48,24,48,8,48,8,48, + 136,48,128,49,128,63,128,49,128,48,128,48,128,48,8,48, + 8,48,8,48,24,48,56,255,248,13,23,46,16,1,0,0, + 96,0,224,1,128,2,0,0,0,255,248,48,56,48,24,48, + 8,48,8,48,136,48,128,49,128,63,128,49,128,48,128,48, + 128,48,8,48,8,48,8,48,24,48,56,255,248,13,23,46, + 16,1,0,3,0,7,128,12,192,16,32,0,0,255,248,48, + 56,48,24,48,8,48,8,48,136,48,128,49,128,63,128,49, + 128,48,128,48,128,48,8,48,8,48,8,48,24,48,56,255, + 248,13,22,44,16,1,0,12,96,12,96,0,0,0,0,255, + 248,48,56,48,24,48,8,48,8,48,136,48,128,49,128,63, + 128,49,128,48,128,48,128,48,8,48,8,48,8,48,24,48, + 56,255,248,6,23,23,9,2,0,192,224,48,8,0,252,48, + 48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,252, + 7,23,23,9,2,0,6,14,24,32,0,252,48,48,48,48, + 48,48,48,48,48,48,48,48,48,48,48,48,252,8,23,23, + 9,1,0,24,60,102,129,0,126,24,24,24,24,24,24,24, + 24,24,24,24,24,24,24,24,24,126,7,22,22,9,2,0, + 198,198,0,0,252,48,48,48,48,48,48,48,48,48,48,48, + 48,48,48,48,48,252,16,18,36,20,2,0,255,224,48,56, + 48,12,48,12,48,6,48,6,48,7,48,7,254,7,48,7, + 48,7,48,7,48,6,48,6,48,12,48,12,48,56,255,224, + 19,22,66,21,1,0,1,196,0,3,248,0,4,112,0,0, + 0,0,248,15,224,60,3,128,28,1,0,30,1,0,23,1, + 0,19,129,0,17,129,0,16,193,0,16,225,0,16,97,0, + 16,49,0,16,57,0,16,29,0,16,15,0,16,7,0,16, + 7,0,56,3,0,254,1,0,17,23,69,19,1,0,12,0, + 0,14,0,0,3,0,0,0,128,0,0,0,0,7,240,0, + 28,28,0,48,6,0,48,6,0,112,7,0,96,3,0,224, + 3,128,224,3,128,224,3,128,224,3,128,224,3,128,224,3, + 128,96,3,0,112,7,0,48,6,0,48,6,0,28,28,0, + 7,240,0,17,23,69,19,1,0,0,24,0,0,56,0,0, + 96,0,0,128,0,0,0,0,7,240,0,28,28,0,48,6, + 0,48,6,0,112,7,0,96,3,0,224,3,128,224,3,128, + 224,3,128,224,3,128,224,3,128,224,3,128,96,3,0,112, + 7,0,48,6,0,48,6,0,28,28,0,7,240,0,17,23, + 69,19,1,0,0,192,0,1,224,0,3,48,0,4,8,0, + 0,0,0,7,240,0,28,28,0,48,6,0,48,6,0,112, + 7,0,96,3,0,224,3,128,224,3,128,224,3,128,224,3, + 128,224,3,128,224,3,128,96,3,0,112,7,0,48,6,0, + 48,6,0,28,28,0,7,240,0,17,22,66,19,1,0,3, + 136,0,7,240,0,8,224,0,0,0,0,7,240,0,28,28, + 0,48,6,0,48,6,0,112,7,0,96,3,0,224,3,128, + 224,3,128,224,3,128,224,3,128,224,3,128,224,3,128,96, + 3,0,112,7,0,48,6,0,48,6,0,28,28,0,7,240, + 0,17,22,66,19,1,0,6,48,0,6,48,0,0,0,0, + 0,0,0,7,240,0,28,28,0,48,6,0,48,6,0,112, + 7,0,96,3,0,224,3,128,224,3,128,224,3,128,224,3, + 128,224,3,128,224,3,128,96,3,0,112,7,0,48,6,0, + 48,6,0,28,28,0,7,240,0,13,12,24,14,1,1,192, + 24,96,48,48,96,24,192,13,128,7,0,7,0,13,128,24, + 192,48,96,96,48,192,24,17,19,57,19,1,0,0,3,0, + 7,246,0,28,28,0,48,14,0,48,30,0,96,51,0,96, + 99,0,224,67,128,224,195,128,225,131,128,227,3,128,226,3, + 128,230,3,128,108,3,0,120,3,0,48,6,0,48,6,0, + 124,28,0,199,240,0,16,23,46,19,2,0,6,0,7,0, + 1,128,0,64,0,0,252,31,48,14,48,4,48,4,48,4, + 48,4,48,4,48,4,48,4,48,4,48,4,48,4,48,4, + 48,4,56,12,24,8,30,56,7,224,16,23,46,19,2,0, + 0,48,0,112,0,192,1,0,0,0,252,31,48,14,48,4, + 48,4,48,4,48,4,48,4,48,4,48,4,48,4,48,4, + 48,4,48,4,48,4,56,12,24,8,30,56,7,224,16,23, + 46,19,2,0,1,128,3,192,6,96,8,16,0,0,252,31, + 48,14,48,4,48,4,48,4,48,4,48,4,48,4,48,4, + 48,4,48,4,48,4,48,4,48,4,56,12,24,8,30,56, + 7,224,16,22,44,19,2,0,6,48,6,48,0,0,0,0, + 252,31,48,14,48,4,48,4,48,4,48,4,48,4,48,4, + 48,4,48,4,48,4,48,4,48,4,48,4,56,12,24,8, + 30,56,7,224,16,23,46,17,0,0,0,48,0,112,0,192, + 1,0,0,0,252,63,56,12,24,8,28,24,12,16,14,48, + 6,32,7,96,3,64,3,192,1,128,1,128,1,128,1,128, + 1,128,1,128,1,128,7,224,13,18,36,16,2,0,252,0, + 48,0,48,0,48,0,63,128,48,224,48,48,48,56,48,56, + 48,56,48,56,48,48,48,224,63,128,48,0,48,0,48,0, + 252,0,12,18,36,14,1,0,15,128,24,192,48,96,48,96, + 48,96,48,96,48,192,51,192,48,96,48,48,48,48,48,48, + 48,48,48,48,54,48,54,48,54,96,243,192,12,18,36,13, + 1,0,24,0,28,0,6,0,1,0,0,0,0,0,31,0, + 113,128,112,192,96,192,0,192,7,192,56,192,96,192,192,192, + 192,192,225,240,126,96,12,18,36,13,1,0,1,128,3,128, + 6,0,8,0,0,0,0,0,31,0,113,128,112,192,96,192, + 0,192,7,192,56,192,96,192,192,192,192,192,225,240,126,96, + 12,18,36,13,1,0,6,0,15,0,25,128,32,64,0,0, + 0,0,31,0,113,128,112,192,96,192,0,192,7,192,56,192, + 96,192,192,192,192,192,225,240,126,96,12,17,34,13,1,0, + 28,64,63,128,71,0,0,0,0,0,31,0,113,128,112,192, + 96,192,0,192,7,192,56,192,96,192,192,192,192,192,225,240, + 126,96,12,16,32,13,1,0,25,128,25,128,0,0,0,0, + 31,0,113,128,112,192,96,192,0,192,7,192,56,192,96,192, + 192,192,192,192,225,240,126,96,12,19,38,13,1,0,14,0, + 17,0,17,0,17,0,14,0,0,0,0,0,31,0,113,128, + 112,192,96,192,0,192,7,192,56,192,96,192,192,192,192,192, + 225,240,126,96,19,12,36,21,1,0,31,31,0,113,241,192, + 96,224,192,0,224,224,0,192,96,7,255,224,56,192,0,96, + 192,0,192,224,0,192,224,64,227,112,192,124,31,128,10,16, + 32,12,1,252,31,0,113,192,97,192,224,192,192,0,192,0, + 192,0,192,0,224,0,96,64,112,192,31,128,8,0,14,0, + 2,0,28,0,11,18,36,13,1,0,24,0,28,0,6,0, + 1,0,0,0,0,0,31,0,113,192,96,192,224,224,192,96, + 255,224,192,0,192,0,224,0,96,64,112,192,31,128,11,18, + 36,13,1,0,1,128,3,128,6,0,8,0,0,0,0,0, + 31,0,113,192,96,192,224,224,192,96,255,224,192,0,192,0, + 224,0,96,64,112,192,31,128,11,18,36,13,1,0,6,0, + 15,0,25,128,32,64,0,0,0,0,31,0,113,192,96,192, + 224,224,192,96,255,224,192,0,192,0,224,0,96,64,112,192, + 31,128,11,16,32,13,1,0,49,128,49,128,0,0,0,0, + 31,0,113,192,96,192,224,224,192,96,255,224,192,0,192,0, + 224,0,96,64,112,192,31,128,6,18,18,8,1,0,192,224, + 48,8,0,0,240,48,48,48,48,48,48,48,48,48,48,252, + 6,18,18,8,1,0,24,56,96,128,0,0,240,48,48,48, + 48,48,48,48,48,48,48,252,8,18,18,8,0,0,24,60, + 102,129,0,0,120,24,24,24,24,24,24,24,24,24,24,126, + 6,16,16,8,1,0,204,204,0,0,240,48,48,48,48,48, + 48,48,48,48,48,252,11,18,36,13,1,0,192,0,51,0, + 28,0,28,0,102,0,3,0,31,128,113,192,96,192,224,224, + 192,96,192,96,192,96,192,96,224,224,96,192,113,192,31,0, + 14,17,34,14,0,0,7,16,15,224,17,192,0,0,0,0, + 241,192,55,224,56,112,48,48,48,48,48,48,48,48,48,48, + 48,48,48,48,48,48,252,252,11,18,36,13,1,0,24,0, + 28,0,6,0,1,0,0,0,0,0,31,0,113,192,96,192, + 224,224,192,96,192,96,192,96,192,96,224,224,96,192,113,192, + 31,0,11,18,36,13,1,0,1,128,3,128,6,0,8,0, + 0,0,0,0,31,0,113,192,96,192,224,224,192,96,192,96, + 192,96,192,96,224,224,96,192,113,192,31,0,11,18,36,13, + 1,0,14,0,31,0,49,128,64,64,0,0,0,0,31,0, + 113,192,96,192,224,224,192,96,192,96,192,96,192,96,224,224, + 96,192,113,192,31,0,11,17,34,13,1,0,28,64,63,128, + 71,0,0,0,0,0,31,0,113,192,96,192,224,224,192,96, + 192,96,192,96,192,96,224,224,96,192,113,192,31,0,11,16, + 32,13,1,0,49,128,49,128,0,0,0,0,31,0,113,192, + 96,192,224,224,192,96,192,96,192,96,192,96,224,224,96,192, + 113,192,31,0,12,10,20,14,1,2,6,0,6,0,0,0, + 0,0,255,240,255,240,0,0,0,0,6,0,6,0,11,16, + 32,13,1,254,0,64,0,128,31,128,113,192,98,192,226,224, + 196,96,196,96,196,96,200,96,200,224,80,192,113,192,63,0, + 32,0,64,0,14,18,36,14,0,0,12,0,14,0,3,0, + 0,128,0,0,0,0,240,240,48,48,48,48,48,48,48,48, + 48,48,48,48,48,48,48,48,56,112,31,176,14,60,14,18, + 36,14,0,0,0,192,1,192,3,0,4,0,0,0,0,0, + 240,240,48,48,48,48,48,48,48,48,48,48,48,48,48,48, + 48,48,56,112,31,176,14,60,14,18,36,14,0,0,3,0, + 7,128,12,192,16,32,0,0,0,0,240,240,48,48,48,48, + 48,48,48,48,48,48,48,48,48,48,48,48,56,112,31,176, + 14,60,14,16,32,14,0,0,12,192,12,192,0,0,0,0, + 240,240,48,48,48,48,48,48,48,48,48,48,48,48,48,48, + 48,48,56,112,31,176,14,60,13,23,46,12,255,251,0,96, + 0,224,1,128,2,0,0,0,0,0,120,56,48,16,56,48, + 24,32,24,32,12,96,12,64,6,192,6,128,7,128,3,0, + 3,0,2,0,2,0,196,0,236,0,120,0,13,23,46,14, + 0,251,240,0,48,0,48,0,48,0,48,0,48,0,55,192, + 60,112,56,48,48,56,48,24,48,24,48,24,48,24,48,56, + 56,48,60,112,55,192,48,0,48,0,48,0,48,0,252,0, + 13,21,42,12,255,251,12,96,12,96,0,0,0,0,120,56, + 48,16,56,48,24,32,24,32,12,96,12,64,6,192,6,128, + 7,128,3,0,3,0,2,0,2,0,196,0,236,0,120,0 + }; +/* + Fontname: -Adobe-New Century Schoolbook-Medium-R-Normal--25-180-100-100-P-136-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 18, '1' Height: 18 + Calculated Max Values w=25 h=23 x= 6 y=14 dx=25 dy= 0 ascent=20 len=72 + Font Bounding box w=31 h=37 x=-3 y=-8 + Calculated Min Values x=-2 y=-5 dx= 0 dy= 0 + Pure Font ascent =18 descent=-5 + X Font ascent =18 descent=-5 + Max Font ascent =20 descent=-5 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_ncenR18r[3477] U8G_FONT_SECTION("u8g_font_ncenR18r") = { + 0,31,37,253,248,18,4,33,9,197,32,127,251,20,251,18, + 251,0,0,0,7,0,1,3,18,18,7,2,0,64,224,224, + 224,224,224,224,224,224,224,224,64,64,64,0,224,224,224,6, + 6,6,10,2,12,204,204,204,204,204,204,13,16,32,15,1, + 1,12,96,12,96,12,96,12,96,12,96,127,248,24,192,24, + 192,24,192,24,192,255,240,49,128,49,128,49,128,49,128,49, + 128,11,22,44,13,1,254,4,0,4,0,31,0,101,128,68, + 192,196,192,197,192,197,128,228,0,252,0,127,0,31,192,7, + 192,4,224,100,96,228,96,196,96,196,64,100,192,63,0,4, + 0,4,0,18,19,57,20,1,255,30,24,0,51,40,0,97, + 216,0,97,16,0,193,48,0,193,32,0,194,96,0,194,64, + 0,196,199,128,120,140,192,1,152,64,1,24,64,3,48,64, + 2,48,64,6,48,128,4,48,128,12,49,0,8,30,0,8, + 0,0,18,18,54,20,1,0,7,192,0,12,224,0,24,96, + 0,24,96,0,24,96,0,24,192,0,13,128,0,14,0,0, + 30,63,128,103,30,0,99,140,0,193,200,0,192,232,0,192, + 112,0,224,56,64,112,124,64,127,207,128,31,7,0,2,6, + 6,6,2,12,192,192,192,192,192,192,7,21,21,9,1,253, + 2,12,24,48,48,96,96,192,192,192,192,192,192,192,96,96, + 48,48,24,12,2,7,21,21,8,0,253,128,96,48,24,24, + 12,12,6,6,6,6,6,6,6,12,12,24,24,48,96,128, + 7,9,9,9,1,9,16,56,146,214,56,214,146,56,16,12, + 12,24,14,1,1,6,0,6,0,6,0,6,0,6,0,255, + 240,255,240,6,0,6,0,6,0,6,0,6,0,4,7,7, + 6,1,252,96,240,240,48,32,64,128,6,2,2,8,1,6, + 252,252,3,3,3,7,2,0,224,224,224,7,18,18,8,0, + 0,6,6,6,12,12,12,24,24,24,48,48,48,96,96,96, + 192,192,192,11,18,36,13,1,0,14,0,17,0,49,128,32, + 128,96,192,96,192,224,224,224,224,224,224,224,224,224,224,224, + 224,96,192,96,192,32,128,49,128,17,0,14,0,8,18,18, + 13,3,0,8,56,248,24,24,24,24,24,24,24,24,24,24, + 24,24,24,24,255,11,18,36,13,1,0,31,0,113,192,64, + 192,224,224,224,224,64,224,0,192,1,192,1,128,3,0,6, + 0,12,0,24,0,48,32,96,32,192,96,255,224,255,224,11, + 18,36,13,1,0,31,0,99,128,193,192,225,192,225,192,65, + 128,1,128,3,0,31,0,1,128,0,192,0,224,64,224,224, + 224,224,192,193,192,97,128,30,0,12,18,36,13,0,0,0, + 64,0,192,1,192,3,192,6,192,12,192,8,192,24,192,48, + 192,96,192,64,192,192,192,128,192,255,240,0,192,0,192,0, + 192,3,240,11,18,36,13,1,0,127,192,127,128,64,0,64, + 0,64,0,64,0,64,0,95,0,99,128,0,192,0,192,0, + 224,96,224,224,224,224,192,64,192,97,128,31,0,11,18,36, + 13,1,0,15,128,56,224,32,224,96,96,96,0,96,0,224, + 0,239,0,241,128,224,192,224,192,224,224,224,224,96,224,96, + 192,96,192,49,128,31,0,10,18,36,13,2,0,255,192,255, + 192,128,128,129,128,1,0,3,0,3,0,2,0,6,0,6, + 0,4,0,12,0,12,0,12,0,28,0,28,0,28,0,8, + 0,11,18,36,13,1,0,31,0,49,128,32,128,96,192,96, + 192,112,192,57,128,63,0,31,0,55,128,97,192,192,224,192, + 96,192,96,192,96,96,192,113,192,31,0,11,18,36,13,1, + 0,31,0,49,128,112,192,96,192,224,224,224,224,224,224,96, + 224,112,224,49,224,30,224,0,224,0,192,0,192,193,192,225, + 128,227,128,62,0,3,12,12,7,2,0,224,224,224,0,0, + 0,0,0,0,224,224,224,4,16,16,7,2,252,224,224,224, + 0,0,0,0,0,0,96,240,240,48,32,64,128,12,12,24, + 14,1,1,0,48,0,240,3,192,15,0,60,0,240,0,240, + 0,60,0,15,0,3,192,0,240,0,48,12,6,12,15,1, + 4,255,240,255,240,0,0,0,0,255,240,255,240,12,12,24, + 14,1,1,192,0,240,0,60,0,15,0,3,192,0,240,0, + 240,3,192,15,0,60,0,240,0,192,0,10,18,36,12,1, + 0,30,0,99,128,193,192,225,192,225,192,1,192,3,128,7, + 0,14,0,12,0,24,0,16,0,16,0,0,0,0,0,56, + 0,56,0,56,0,17,18,54,19,1,0,1,248,0,6,6, + 0,24,3,0,16,1,128,96,216,128,99,56,128,198,24,128, + 198,24,128,204,24,128,204,49,0,204,49,0,204,114,0,196, + 180,0,195,56,0,96,1,0,96,2,0,24,12,0,31,248, + 0,19,18,54,19,0,0,0,64,0,0,96,0,0,224,0, + 0,240,0,1,48,0,1,56,0,2,24,0,2,28,0,4, + 12,0,4,12,0,8,14,0,15,254,0,16,6,0,16,7, + 0,32,3,0,32,3,128,96,3,128,248,15,224,14,18,36, + 18,2,0,255,192,48,112,48,48,48,56,48,56,48,56,48, + 48,48,96,63,240,48,56,48,24,48,28,48,28,48,28,48, + 28,48,24,48,56,255,224,15,18,36,17,1,0,7,242,28, + 30,56,6,48,2,112,2,96,2,224,0,224,0,224,0,224, + 0,224,0,224,0,96,2,112,2,48,6,56,4,28,28,7, + 240,16,18,36,20,2,0,255,224,48,56,48,12,48,12,48, + 6,48,6,48,7,48,7,48,7,48,7,48,7,48,7,48, + 6,48,6,48,12,48,12,48,56,255,224,13,18,36,16,1, + 0,255,248,48,56,48,24,48,8,48,8,48,136,48,128,49, + 128,63,128,49,128,48,128,48,128,48,8,48,8,48,8,48, + 24,48,56,255,248,13,18,36,16,1,0,255,248,48,56,48, + 24,48,8,48,8,48,136,48,128,49,128,63,128,49,128,48, + 128,48,128,48,0,48,0,48,0,48,0,48,0,252,0,17, + 18,54,18,1,0,7,250,0,28,30,0,48,6,0,48,6, + 0,112,2,0,96,2,0,224,0,0,224,0,0,224,0,0, + 224,0,0,224,63,128,224,6,0,96,6,0,112,6,0,48, + 6,0,48,14,0,28,30,0,7,242,0,17,18,54,21,2, + 0,252,31,128,48,6,0,48,6,0,48,6,0,48,6,0, + 48,6,0,48,6,0,48,6,0,63,254,0,48,6,0,48, + 6,0,48,6,0,48,6,0,48,6,0,48,6,0,48,6, + 0,48,6,0,252,31,128,6,18,18,9,2,0,252,48,48, + 48,48,48,48,48,48,48,48,48,48,48,48,48,48,252,11, + 18,36,14,1,0,7,224,1,128,1,128,1,128,1,128,1, + 128,1,128,1,128,1,128,1,128,1,128,97,128,241,128,225, + 128,193,128,193,128,99,0,62,0,18,18,54,20,2,0,252, + 127,0,48,28,0,48,24,0,48,48,0,48,96,0,48,192, + 0,49,128,0,51,0,0,55,0,0,63,128,0,57,192,0, + 48,224,0,48,112,0,48,56,0,48,28,0,48,14,0,48, + 7,0,252,31,192,13,18,36,16,2,0,254,0,48,0,48, + 0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48, + 0,48,0,48,8,48,8,48,8,48,24,48,56,255,248,20, + 18,54,23,1,0,252,1,240,60,1,192,30,3,192,22,2, + 192,23,2,192,19,2,192,19,4,192,19,132,192,17,132,192, + 17,136,192,17,200,192,16,200,192,16,208,192,16,240,192,16, + 112,192,16,96,192,56,96,192,254,35,240,19,18,54,21,1, + 0,248,15,224,60,3,128,28,1,0,30,1,0,23,1,0, + 19,129,0,17,129,0,16,193,0,16,225,0,16,97,0,16, + 49,0,16,57,0,16,29,0,16,15,0,16,7,0,16,7, + 0,56,3,0,254,1,0,17,18,54,19,1,0,7,240,0, + 28,28,0,48,6,0,48,6,0,112,7,0,96,3,0,224, + 3,128,224,3,128,224,3,128,224,3,128,224,3,128,224,3, + 128,96,3,0,112,7,0,48,6,0,48,6,0,28,28,0, + 7,240,0,13,18,36,16,2,0,255,192,48,112,48,48,48, + 56,48,56,48,56,48,56,48,48,48,112,63,192,48,0,48, + 0,48,0,48,0,48,0,48,0,48,0,252,0,17,22,66, + 19,1,252,7,240,0,28,28,0,48,6,0,48,6,0,112, + 7,0,96,3,0,224,3,128,224,3,128,224,3,128,224,3, + 128,224,3,128,227,195,128,100,99,0,104,39,0,56,54,0, + 56,22,0,28,28,0,7,248,0,0,24,128,0,12,128,0, + 15,0,0,6,0,15,18,36,18,2,0,255,192,48,112,48, + 48,48,56,48,56,48,56,48,48,48,96,63,128,49,192,48, + 224,48,96,48,112,48,112,48,50,48,50,48,60,252,28,13, + 18,36,15,1,0,31,144,112,240,64,48,192,48,192,16,224, + 16,120,0,62,0,15,128,3,224,0,240,0,56,128,24,128, + 24,192,24,192,48,240,112,159,192,14,18,36,17,1,0,255, + 252,227,28,195,12,131,4,131,4,131,4,3,0,3,0,3, + 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, + 0,31,224,16,18,36,19,2,0,252,31,48,14,48,4,48, + 4,48,4,48,4,48,4,48,4,48,4,48,4,48,4,48, + 4,48,4,48,4,56,12,24,8,30,56,7,224,18,18,54, + 18,0,0,254,7,192,56,1,0,24,1,0,28,2,0,28, + 2,0,12,2,0,14,4,0,6,4,0,7,8,0,7,8, + 0,3,8,0,3,144,0,1,144,0,1,160,0,1,224,0, + 0,224,0,0,192,0,0,64,0,25,18,72,25,0,0,254, + 63,143,128,56,14,2,0,56,14,2,0,24,14,2,0,24, + 22,4,0,28,23,4,0,12,19,4,0,12,19,4,0,14, + 35,136,0,6,33,136,0,6,33,136,0,7,65,208,0,3, + 64,208,0,3,192,240,0,3,128,240,0,1,128,96,0,1, + 128,96,0,0,128,32,0,19,18,54,19,0,0,127,143,128, + 30,6,0,14,4,0,7,8,0,7,16,0,3,144,0,1, + 160,0,1,192,0,0,224,0,0,224,0,1,112,0,1,56, + 0,2,28,0,4,28,0,4,14,0,8,7,0,24,7,128, + 252,31,224,16,18,36,17,0,0,252,63,56,12,24,8,28, + 24,12,16,14,48,6,32,7,96,3,64,3,192,1,128,1, + 128,1,128,1,128,1,128,1,128,1,128,7,224,14,18,36, + 16,1,0,127,252,112,24,96,56,64,48,64,96,0,224,0, + 192,1,128,3,128,3,0,6,0,14,0,28,0,24,4,48, + 4,112,12,96,28,255,252,5,21,21,7,2,253,248,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,248,10,18,36,11,0,0,192,0,192,0,96,0,96,0, + 48,0,48,0,24,0,24,0,12,0,12,0,6,0,6,0, + 3,0,3,0,1,128,1,128,0,192,0,192,5,21,21,7, + 0,253,248,24,24,24,24,24,24,24,24,24,24,24,24,24, + 24,24,24,24,24,24,248,10,10,20,12,1,8,12,0,12, + 0,30,0,30,0,51,0,51,0,97,128,97,128,192,192,192, + 192,12,2,4,12,0,253,255,240,255,240,5,4,4,8,1, + 14,192,224,48,8,12,12,24,13,1,0,31,0,113,128,112, + 192,96,192,0,192,7,192,56,192,96,192,192,192,192,192,225, + 240,126,96,13,18,36,14,0,0,240,0,48,0,48,0,48, + 0,48,0,48,0,55,192,60,112,56,48,48,56,48,24,48, + 24,48,24,48,24,48,56,56,48,60,112,39,192,10,12,24, + 12,1,0,31,0,113,192,97,192,224,192,192,0,192,0,192, + 0,192,0,224,0,96,64,112,192,31,128,13,18,36,14,1, + 0,1,224,0,96,0,96,0,96,0,96,0,96,30,96,113, + 224,96,224,224,96,192,96,192,96,192,96,192,96,224,96,96, + 224,113,224,31,120,11,12,24,13,1,0,31,0,113,192,96, + 192,224,224,192,96,255,224,192,0,192,0,224,0,96,64,112, + 192,31,128,9,18,36,8,1,0,15,0,25,128,49,128,48, + 0,48,0,48,0,252,0,48,0,48,0,48,0,48,0,48, + 0,48,0,48,0,48,0,48,0,48,0,252,0,13,17,34, + 12,0,251,31,56,49,216,96,192,96,192,96,192,96,192,49, + 128,31,0,48,0,96,0,63,0,31,192,96,224,192,96,192, + 96,224,192,127,128,14,18,36,14,0,0,240,0,48,0,48, + 0,48,0,48,0,48,0,49,192,55,224,56,112,48,48,48, + 48,48,48,48,48,48,48,48,48,48,48,48,48,252,252,6, + 18,18,8,1,0,48,48,48,0,0,0,240,48,48,48,48, + 48,48,48,48,48,48,252,7,23,23,8,254,251,6,6,6, + 0,0,0,30,6,6,6,6,6,6,6,6,6,6,6,6, + 6,198,204,120,14,18,36,15,1,0,240,0,48,0,48,0, + 48,0,48,0,48,0,51,240,48,192,49,128,51,0,54,0, + 62,0,55,0,51,128,49,192,48,224,48,112,252,252,6,18, + 18,8,1,0,240,48,48,48,48,48,48,48,48,48,48,48, + 48,48,48,48,48,252,22,12,36,22,0,0,241,193,192,55, + 231,224,56,120,112,48,48,48,48,48,48,48,48,48,48,48, + 48,48,48,48,48,48,48,48,48,48,48,48,48,252,252,252, + 14,12,24,14,0,0,241,192,55,224,56,112,48,48,48,48, + 48,48,48,48,48,48,48,48,48,48,48,48,252,252,11,12, + 24,13,1,0,31,0,113,192,96,192,224,224,192,96,192,96, + 192,96,192,96,224,224,96,192,113,192,31,0,13,17,34,14, + 0,251,247,192,60,112,56,48,48,56,48,24,48,24,48,24, + 48,24,48,56,56,48,60,112,55,192,48,0,48,0,48,0, + 48,0,252,0,13,17,34,14,1,251,30,32,113,224,96,224, + 224,96,192,96,192,96,192,96,192,96,224,96,96,224,113,224, + 31,96,0,96,0,96,0,96,0,96,1,248,10,12,24,10, + 0,0,243,128,53,192,56,192,48,0,48,0,48,0,48,0, + 48,0,48,0,48,0,48,0,252,0,9,12,24,11,1,0, + 61,0,103,0,195,0,193,0,224,0,124,0,31,0,3,128, + 129,128,193,128,227,0,190,0,8,16,16,10,1,0,16,16, + 48,112,255,48,48,48,48,48,48,48,49,49,57,30,14,12, + 24,14,0,0,240,240,48,48,48,48,48,48,48,48,48,48, + 48,48,48,48,48,48,56,112,31,176,14,60,15,12,24,13, + 255,0,252,126,48,24,48,16,56,48,24,32,28,96,12,64, + 14,192,6,128,7,128,3,0,3,0,19,12,36,17,255,0, + 252,243,224,48,96,128,48,96,128,48,112,128,56,177,0,24, + 177,0,24,177,0,29,58,0,13,26,0,13,26,0,14,28, + 0,6,12,0,13,12,24,12,0,0,248,240,112,96,56,192, + 25,128,15,0,7,0,7,0,13,128,24,192,48,224,96,112, + 240,248,13,17,34,12,255,251,120,56,48,16,56,32,24,32, + 24,96,28,64,12,192,14,128,6,128,7,128,3,0,3,0, + 2,0,2,0,196,0,236,0,120,0,9,12,24,11,1,0, + 255,128,195,128,135,0,134,0,12,0,28,0,24,0,48,0, + 112,128,224,128,193,128,255,128,6,21,21,8,1,253,12,16, + 48,48,48,48,48,48,48,32,192,32,48,48,48,48,48,48, + 48,16,12,2,18,18,15,6,0,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,6,21,21,7,1, + 253,192,32,48,48,48,48,48,48,48,16,12,16,48,48,48, + 48,48,48,48,32,192,12,4,8,14,1,6,60,48,126,112, + 231,224,195,192,255}; +/* + Fontname: -Adobe-New Century Schoolbook-Medium-R-Normal--34-240-100-100-P-181-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 25, '1' Height: 24 + Calculated Max Values w=31 h=32 x= 9 y=19 dx=32 dy= 0 ascent=32 len=128 + Font Bounding box w=39 h=50 x=-6 y=-11 + Calculated Min Values x=-2 y=-7 dx= 0 dy= 0 + Pure Font ascent =25 descent=-7 + X Font ascent =25 descent=-7 + Max Font ascent =32 descent=-7 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_ncenR24[11729] U8G_FONT_SECTION("u8g_font_ncenR24") = { + 0,39,50,250,245,25,5,159,15,28,32,255,249,32,249,25, + 249,0,0,0,9,1,1,4,25,25,10,3,0,96,240,240, + 240,240,240,240,96,96,96,96,96,96,96,96,96,96,96,0, + 0,0,96,240,240,96,9,8,16,13,2,17,227,128,227,128, + 227,128,227,128,65,0,65,0,65,0,65,0,16,23,46,19, + 2,0,3,12,3,12,3,12,7,28,6,24,6,24,6,24, + 127,255,127,255,6,24,14,56,12,56,12,48,255,254,255,254, + 12,48,12,48,28,112,28,112,24,96,24,96,24,96,24,96, + 14,31,62,18,2,252,2,0,2,0,2,0,15,192,63,240, + 114,112,226,56,194,120,194,120,194,48,194,0,226,0,250,0, + 127,0,63,192,31,240,3,248,2,124,2,60,98,28,242,12, + 242,12,226,28,194,24,226,120,127,240,31,192,2,0,2,0, + 2,0,2,0,24,25,75,27,1,255,3,128,32,15,192,224, + 28,227,192,56,127,192,56,97,128,112,97,128,112,99,0,240, + 99,0,224,102,0,224,196,0,224,204,0,225,136,28,115,24, + 126,62,16,227,0,49,195,0,99,195,0,99,131,0,199,131, + 0,199,3,1,135,6,1,135,6,3,7,12,2,3,152,6, + 1,240,4,0,0,22,25,75,27,2,0,1,248,0,7,188, + 0,6,28,0,14,14,0,14,14,0,14,14,0,14,12,0, + 14,28,0,15,56,0,15,112,0,7,224,0,7,128,0,15, + 199,252,59,193,240,113,224,224,113,240,192,224,240,192,224,249, + 128,224,125,128,240,63,4,240,30,4,248,15,12,126,63,248, + 63,243,248,31,193,224,3,8,8,7,2,17,224,224,224,224, + 64,64,64,64,8,29,29,11,2,252,1,7,6,12,24,48, + 48,48,96,96,96,96,224,224,224,224,224,96,96,96,96,48, + 48,16,24,12,6,7,3,8,29,29,11,2,252,192,224,96, + 48,24,8,12,12,6,6,6,6,7,7,7,7,7,6,6, + 6,6,12,12,28,24,48,96,192,192,12,14,28,17,2,11, + 6,0,6,0,6,0,198,112,230,112,127,224,31,128,31,0, + 127,192,230,112,198,112,6,0,6,0,6,0,16,17,34,20, + 2,255,1,128,1,128,1,128,1,128,1,128,1,128,1,128, + 255,255,255,255,1,128,1,128,1,128,1,128,1,128,1,128, + 1,128,1,128,5,10,10,9,2,250,112,248,248,120,24,24, + 48,96,224,128,8,3,3,11,1,7,255,255,255,4,4,4, + 9,2,0,96,240,240,96,10,25,50,9,255,0,0,192,0, + 192,0,192,1,128,1,128,1,128,3,0,3,0,3,0,6, + 0,6,0,6,0,12,0,12,0,12,0,24,0,24,0,24, + 0,48,0,48,0,48,0,96,0,96,0,96,0,192,0,16, + 24,48,18,2,0,3,192,15,240,28,56,24,24,56,28,120, + 30,112,14,240,15,240,15,240,15,240,15,240,15,240,15,240, + 15,240,15,240,15,240,15,112,14,120,30,56,28,24,24,28, + 56,15,240,3,192,13,24,48,18,3,0,3,0,7,0,255, + 0,7,0,7,0,7,0,7,0,7,0,7,0,7,0,7, + 0,7,0,7,0,7,0,7,0,7,0,7,0,7,0,7, + 0,7,0,7,0,7,0,15,128,255,248,15,24,48,18,1, + 0,7,224,31,248,56,28,96,30,112,14,120,14,120,14,120, + 14,48,30,0,28,0,28,0,56,0,120,0,112,0,224,1, + 192,3,128,7,2,14,2,28,6,56,6,127,254,255,254,255, + 254,15,24,48,18,1,0,7,224,31,248,56,56,112,28,120, + 28,120,28,48,28,0,28,0,56,0,112,1,224,15,240,0, + 248,0,60,0,28,0,30,96,14,240,14,240,14,240,30,224, + 28,120,124,63,240,15,192,16,24,48,18,1,0,0,48,0, + 48,0,112,0,240,1,240,1,240,3,112,6,112,6,112,12, + 112,24,112,24,112,48,112,96,112,96,112,192,112,255,255,255, + 255,0,112,0,112,0,112,0,112,0,248,3,254,14,24,48, + 18,2,0,56,8,63,248,63,240,63,224,48,0,48,0,32, + 0,96,0,99,192,111,240,124,120,112,56,96,60,0,28,0, + 28,0,28,96,28,240,28,240,28,240,60,224,56,112,120,127, + 240,31,128,15,24,48,18,1,0,3,240,15,252,28,62,56, + 30,56,30,48,12,112,0,112,0,112,0,241,224,247,248,254, + 60,252,28,248,30,240,14,240,14,240,14,112,14,112,14,112, + 30,56,28,56,60,31,240,7,192,13,24,48,18,3,0,255, + 248,255,248,255,248,192,16,192,48,128,32,128,96,128,64,0, + 192,0,192,1,128,1,128,1,128,3,0,3,0,3,0,7, + 0,7,0,7,0,15,0,15,0,15,0,15,0,6,0,15, + 24,48,18,1,0,7,224,31,248,60,56,56,28,112,28,112, + 12,112,12,120,24,60,56,63,112,31,224,7,240,7,248,29, + 252,56,124,112,30,112,30,224,14,224,14,224,14,112,28,120, + 60,63,248,15,224,15,24,48,18,1,0,15,192,63,240,120, + 120,112,56,240,60,224,28,224,28,224,30,224,30,240,30,240, + 62,120,126,120,126,63,222,31,158,0,30,0,28,0,28,96, + 56,240,56,240,112,241,224,127,192,63,0,4,16,16,9,3, + 0,96,240,240,96,0,0,0,0,0,0,0,0,96,240,240, + 96,5,21,21,9,1,251,48,120,120,48,0,0,0,0,0, + 0,0,0,48,120,120,56,24,16,48,96,192,16,18,36,20, + 2,255,0,1,0,7,0,31,0,124,1,240,7,192,31,0, + 124,0,240,0,240,0,124,0,31,0,7,192,1,240,0,124, + 0,31,0,7,0,1,16,8,16,20,2,4,255,255,255,255, + 0,0,0,0,0,0,0,0,255,255,255,255,16,18,36,20, + 2,255,128,0,224,0,248,0,62,0,15,128,3,224,0,248, + 0,62,0,15,0,15,0,62,0,248,3,224,15,128,62,0, + 248,0,224,0,128,0,12,25,50,14,1,0,63,128,115,224, + 192,224,192,240,224,112,224,112,224,112,0,240,0,240,1,224, + 1,192,3,128,3,0,6,0,4,0,4,0,12,0,12,0, + 0,0,0,0,0,0,12,0,30,0,30,0,12,0,22,25, + 75,25,1,0,0,254,0,3,255,128,15,135,192,30,0,224, + 28,0,112,48,0,56,48,0,24,96,251,152,97,207,140,227, + 143,140,199,135,140,199,7,12,207,7,12,207,15,8,206,15, + 24,206,14,24,206,30,48,102,62,96,103,126,192,51,231,152, + 56,0,56,28,0,112,15,129,224,7,255,128,0,254,0,23, + 25,75,23,0,0,0,16,0,0,56,0,0,56,0,0,120, + 0,0,124,0,0,124,0,0,220,0,0,222,0,1,158,0, + 1,142,0,1,143,0,3,7,0,3,7,128,3,7,128,6, + 3,128,7,255,192,7,255,192,12,1,192,12,1,224,12,1, + 224,24,0,240,24,0,240,56,0,248,124,1,252,254,3,254, + 20,25,75,23,1,0,255,254,0,63,255,128,14,7,192,14, + 1,192,14,1,224,14,1,224,14,1,224,14,1,224,14,1, + 192,14,1,192,14,3,128,15,255,0,15,252,0,14,15,128, + 14,3,192,14,1,224,14,0,240,14,0,240,14,0,240,14, + 0,240,14,0,240,14,1,224,14,3,224,63,255,192,255,255, + 0,20,25,75,22,1,0,1,252,96,7,255,96,14,3,224, + 28,1,224,60,0,224,56,0,224,120,0,96,120,0,96,240, + 0,32,240,0,32,240,0,0,240,0,0,240,0,0,240,0, + 0,240,0,0,240,0,0,240,0,48,120,0,48,120,0,48, + 120,0,96,60,0,96,28,0,192,15,3,128,7,255,0,1, + 252,0,22,25,75,25,1,0,255,254,0,63,255,192,14,3, + 224,14,0,240,14,0,112,14,0,120,14,0,120,14,0,60, + 14,0,60,14,0,60,14,0,60,14,0,60,14,0,60,14, + 0,60,14,0,60,14,0,60,14,0,60,14,0,60,14,0, + 56,14,0,120,14,0,112,14,0,224,14,3,224,63,255,192, + 255,254,0,20,25,75,24,1,0,255,255,240,63,255,240,14, + 1,240,14,0,112,14,0,112,14,0,48,14,4,48,14,4, + 16,14,4,16,14,12,0,14,60,0,15,252,0,15,252,0, + 14,60,0,14,12,0,14,12,0,14,4,16,14,4,16,14, + 0,16,14,0,48,14,0,48,14,0,112,14,1,240,63,255, + 240,255,255,240,20,25,75,22,1,0,255,255,240,63,255,240, + 14,1,240,14,0,112,14,0,48,14,0,48,14,0,16,14, + 4,16,14,4,16,14,12,0,14,12,0,14,60,0,15,252, + 0,15,252,0,14,28,0,14,12,0,14,4,0,14,4,0, + 14,4,0,14,0,0,14,0,0,14,0,0,14,0,0,63, + 128,0,255,224,0,24,25,75,24,1,0,1,254,48,7,255, + 176,15,3,240,30,0,240,60,0,112,56,0,112,120,0,48, + 112,0,48,112,0,16,240,0,16,240,0,0,240,0,0,240, + 0,0,240,0,0,240,7,255,240,0,248,240,0,112,112,0, + 112,112,0,112,120,0,112,56,0,240,28,0,240,15,1,176, + 7,255,48,1,254,16,25,25,100,27,1,0,255,227,255,128, + 63,128,254,0,14,0,56,0,14,0,56,0,14,0,56,0, + 14,0,56,0,14,0,56,0,14,0,56,0,14,0,56,0, + 14,0,56,0,14,0,56,0,15,255,248,0,15,255,248,0, + 14,0,56,0,14,0,56,0,14,0,56,0,14,0,56,0, + 14,0,56,0,14,0,56,0,14,0,56,0,14,0,56,0, + 14,0,56,0,14,0,56,0,63,128,254,0,255,227,255,128, + 11,25,50,13,1,0,255,224,63,128,14,0,14,0,14,0, + 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, + 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, + 14,0,14,0,63,128,255,224,17,25,75,18,0,0,3,255, + 128,0,124,0,0,56,0,0,56,0,0,56,0,0,56,0, + 0,56,0,0,56,0,0,56,0,0,56,0,0,56,0,0, + 56,0,0,56,0,0,56,0,0,56,0,0,56,0,112,56, + 0,248,56,0,248,56,0,248,56,0,240,56,0,192,120,0, + 224,112,0,127,240,0,31,192,0,25,25,100,25,1,0,255, + 227,255,0,63,129,252,0,14,0,240,0,14,0,224,0,14, + 1,192,0,14,1,128,0,14,3,0,0,14,6,0,0,14, + 14,0,0,14,28,0,0,14,56,0,0,14,124,0,0,14, + 254,0,0,15,222,0,0,15,143,0,0,15,7,128,0,14, + 7,192,0,14,3,192,0,14,1,224,0,14,1,240,0,14, + 0,240,0,14,0,120,0,14,0,124,0,63,0,62,0,255, + 192,255,128,20,25,75,22,1,0,255,224,0,63,128,0,14, + 0,0,14,0,0,14,0,0,14,0,0,14,0,0,14,0, + 0,14,0,0,14,0,0,14,0,0,14,0,0,14,0,0, + 14,0,0,14,0,0,14,0,0,14,0,16,14,0,16,14, + 0,16,14,0,48,14,0,48,14,0,112,14,1,240,63,255, + 224,255,255,224,29,25,100,30,0,0,127,128,15,248,31,128, + 15,192,15,128,15,128,15,192,15,128,13,192,27,128,13,192, + 27,128,13,224,19,128,12,224,51,128,12,224,51,128,12,240, + 35,128,12,112,99,128,12,112,99,128,12,120,99,128,12,56, + 195,128,12,56,195,128,12,60,195,128,12,28,131,128,12,29, + 131,128,12,31,131,128,12,31,3,128,12,15,3,128,12,15, + 3,128,12,14,3,128,63,6,15,224,255,198,63,248,26,25, + 100,28,1,0,255,0,255,192,31,0,63,0,15,128,12,0, + 15,192,12,0,15,192,12,0,13,224,12,0,13,240,12,0, + 12,248,12,0,12,120,12,0,12,124,12,0,12,62,12,0, + 12,30,12,0,12,31,12,0,12,15,140,0,12,7,140,0, + 12,7,204,0,12,3,204,0,12,1,236,0,12,0,236,0, + 12,0,252,0,12,0,124,0,12,0,60,0,12,0,60,0, + 63,0,28,0,255,192,12,0,22,25,75,24,1,0,1,254, + 0,7,255,128,15,3,192,28,0,224,60,0,240,56,0,112, + 120,0,120,112,0,56,240,0,60,240,0,60,224,0,28,224, + 0,28,224,0,28,224,0,28,224,0,28,240,0,60,240,0, + 56,112,0,56,120,0,120,56,0,112,60,0,240,28,0,224, + 15,3,192,7,255,128,1,254,0,20,25,75,22,1,0,255, + 254,0,63,255,128,14,7,192,14,1,224,14,0,240,14,0, + 240,14,0,112,14,0,112,14,0,240,14,0,240,14,1,224, + 14,7,192,15,255,128,15,254,0,14,0,0,14,0,0,14, + 0,0,14,0,0,14,0,0,14,0,0,14,0,0,14,0, + 0,14,0,0,63,128,0,255,224,0,23,31,93,24,1,250, + 0,254,0,3,255,128,15,1,224,30,0,240,60,0,120,56, + 0,56,120,0,60,112,0,28,240,0,30,240,0,30,224,0, + 14,224,0,14,224,0,14,224,0,14,240,0,30,240,0,30, + 112,124,28,121,222,60,121,135,56,61,3,112,29,3,112,31, + 3,224,15,131,192,3,255,128,0,255,192,0,3,198,0,1, + 198,0,1,228,0,1,252,0,0,248,0,0,112,21,25,75, + 23,1,0,255,254,0,63,255,128,14,7,192,14,1,192,14, + 1,224,14,0,224,14,0,224,14,1,224,14,1,224,14,1, + 192,14,3,192,14,15,0,15,252,0,15,254,0,14,15,0, + 14,7,0,14,7,128,14,3,128,14,3,128,14,3,136,14, + 3,136,14,3,136,14,3,216,63,129,240,255,225,224,17,25, + 75,20,2,0,15,241,0,63,251,0,112,31,0,96,7,0, + 224,7,0,224,3,0,224,1,0,240,1,0,240,0,0,126, + 0,0,127,224,0,31,252,0,7,254,0,0,127,0,0,15, + 128,128,7,128,128,3,128,192,3,128,192,3,128,192,3,128, + 224,7,128,240,7,0,248,14,0,223,252,0,135,240,0,19, + 25,75,21,1,0,255,255,224,255,255,224,240,227,224,224,224, + 224,192,224,96,192,224,96,128,224,32,128,224,32,128,224,32, + 0,224,0,0,224,0,0,224,0,0,224,0,0,224,0,0, + 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, + 0,0,224,0,0,224,0,0,224,0,3,248,0,15,254,0, + 26,25,100,26,0,0,255,224,255,192,63,128,63,0,14,0, + 12,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, + 12,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, + 12,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, + 12,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, + 12,0,15,0,24,0,7,0,24,0,7,128,48,0,3,224, + 240,0,1,255,192,0,0,127,0,0,23,25,75,23,0,0, + 255,195,254,62,0,248,30,0,112,30,0,112,14,0,96,15, + 0,96,15,0,64,7,0,192,7,128,192,7,128,128,3,129, + 128,3,193,128,3,193,0,1,195,0,1,227,0,1,226,0, + 0,230,0,0,246,0,0,244,0,0,124,0,0,124,0,0, + 56,0,0,56,0,0,56,0,0,16,0,31,25,100,31,0, + 0,255,31,241,254,126,7,192,124,60,3,128,56,28,3,128, + 48,30,3,192,48,30,3,192,96,14,3,192,96,14,3,224, + 96,15,3,224,96,7,6,224,192,7,6,224,192,7,132,240, + 192,7,140,112,192,3,140,113,128,3,140,121,128,3,200,57, + 128,1,216,57,0,1,248,63,0,1,248,31,0,0,240,31, + 0,0,240,30,0,0,240,30,0,0,224,14,0,0,96,12, + 0,0,96,12,0,23,25,75,22,0,0,255,199,252,63,1, + 240,31,0,224,15,1,192,15,129,128,7,131,128,3,195,0, + 3,230,0,1,238,0,0,252,0,0,248,0,0,120,0,0, + 124,0,0,124,0,0,254,0,1,223,0,1,143,0,3,135, + 128,3,7,128,6,3,192,14,3,224,12,1,224,28,0,240, + 62,0,248,255,135,254,23,25,75,23,0,0,255,131,254,126, + 0,248,62,0,112,30,0,96,15,0,224,15,0,192,7,129, + 128,7,193,128,3,195,0,3,227,0,1,230,0,0,246,0, + 0,252,0,0,124,0,0,120,0,0,56,0,0,56,0,0, + 56,0,0,56,0,0,56,0,0,56,0,0,56,0,0,56, + 0,0,254,0,3,255,128,17,25,75,19,1,0,127,255,128, + 127,255,128,120,15,0,112,15,0,96,30,0,96,62,0,96, + 60,0,64,124,0,64,120,0,0,240,0,0,240,0,1,224, + 0,3,224,0,3,192,0,7,128,0,7,128,128,15,0,128, + 31,0,128,30,1,128,62,1,128,60,1,128,120,3,128,120, + 7,128,255,255,128,255,255,128,7,29,29,11,3,252,254,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,254,15,25,50,20,2, + 0,224,0,112,0,112,0,56,0,56,0,28,0,28,0,14, + 0,14,0,7,0,7,0,3,128,3,128,3,128,1,192,1, + 192,0,224,0,224,0,112,0,112,0,56,0,56,0,28,0, + 28,0,14,7,29,29,11,1,252,254,6,6,6,6,6,6, + 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, + 6,6,6,6,6,254,16,13,26,20,2,12,3,192,3,192, + 7,224,7,224,14,112,14,112,28,56,28,56,56,28,56,28, + 112,14,112,14,224,7,16,2,4,16,0,252,255,255,255,255, + 7,6,6,11,1,17,192,224,112,56,12,6,16,16,32,17, + 1,0,15,192,63,240,120,120,112,56,96,56,0,56,1,248, + 15,248,60,56,112,56,224,56,224,56,224,120,241,253,127,159, + 62,14,15,25,50,17,0,0,24,0,248,0,56,0,56,0, + 56,0,56,0,56,0,56,0,56,0,57,224,59,248,62,28, + 60,28,60,14,56,14,56,14,56,14,56,14,56,14,56,14, + 60,14,60,28,62,28,55,248,33,224,12,16,32,14,1,0, + 7,128,31,224,56,112,112,240,112,240,224,96,224,0,224,0, + 224,0,224,0,224,0,112,16,112,48,56,96,63,192,15,128, + 16,25,50,18,1,0,0,12,0,124,0,28,0,28,0,28, + 0,28,0,28,0,28,0,28,7,156,31,220,56,124,112,60, + 112,60,224,28,224,28,224,28,224,28,224,28,224,28,240,60, + 112,60,120,124,31,220,7,159,14,16,32,16,1,0,7,192, + 31,240,56,120,112,56,96,28,224,28,224,28,255,252,224,0, + 224,0,224,0,240,4,112,12,120,56,63,240,15,192,14,25, + 50,11,0,0,1,248,7,28,14,28,12,28,28,8,28,0, + 28,0,28,0,28,0,255,192,28,0,28,0,28,0,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,28,0,255,192,16,23,46,17,1,249,7,159,31,251, + 56,115,112,56,112,56,112,56,112,56,112,56,56,112,31,224, + 55,128,96,0,96,0,127,224,127,248,63,252,48,62,96,14, + 224,14,224,14,248,60,127,248,15,192,19,25,75,20,0,0, + 12,0,0,252,0,0,28,0,0,28,0,0,28,0,0,28, + 0,0,28,0,0,28,0,0,28,0,0,28,112,0,29,252, + 0,31,30,0,30,14,0,28,7,0,28,7,0,28,7,0, + 28,7,0,28,7,0,28,7,0,28,7,0,28,7,0,28, + 7,0,28,7,0,28,7,0,255,63,224,9,24,48,10,1, + 0,24,0,60,0,60,0,24,0,0,0,0,0,0,0,0, + 0,28,0,252,0,28,0,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,255, + 128,9,31,62,10,254,249,3,0,7,128,7,128,3,0,0, + 0,0,0,0,0,0,0,3,128,31,128,3,128,3,128,3, + 128,3,128,3,128,3,128,3,128,3,128,3,128,3,128,3, + 128,3,128,3,128,3,128,3,128,3,128,67,128,227,0,227, + 0,230,0,124,0,19,25,75,20,0,0,12,0,0,252,0, + 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,0, + 28,0,0,28,0,0,28,127,128,28,30,0,28,24,0,28, + 48,0,28,96,0,28,192,0,29,192,0,31,224,0,30,240, + 0,28,120,0,28,60,0,28,28,0,28,14,0,28,15,0, + 28,7,128,255,31,224,9,25,50,11,1,0,12,0,28,0, + 252,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,255,128,27,16, + 64,27,0,0,28,240,120,0,253,252,254,0,31,29,142,0, + 30,15,7,0,30,15,7,0,28,14,7,0,28,14,7,0, + 28,14,7,0,28,14,7,0,28,14,7,0,28,14,7,0, + 28,14,7,0,28,14,7,0,28,14,7,0,28,14,7,0, + 255,63,159,224,19,16,48,19,0,0,28,120,0,253,254,0, + 31,142,0,30,7,0,30,7,0,28,7,0,28,7,0,28, + 7,0,28,7,0,28,7,0,28,7,0,28,7,0,28,7, + 0,28,7,0,28,7,0,255,31,224,14,16,32,16,1,0, + 7,128,31,224,56,112,112,56,112,56,224,28,224,28,224,28, + 224,28,224,28,224,28,112,56,112,56,56,112,31,224,7,128, + 16,23,46,19,1,249,25,240,251,252,62,30,60,14,60,7, + 56,7,56,7,56,7,56,7,56,7,56,7,60,14,60,14, + 62,28,59,252,57,240,56,0,56,0,56,0,56,0,56,0, + 124,0,255,0,16,23,46,17,1,249,7,196,31,236,56,60, + 112,60,112,28,224,28,224,28,224,28,224,28,224,28,224,28, + 240,60,112,60,56,124,63,220,15,156,0,28,0,28,0,28, + 0,28,0,28,0,62,0,255,14,16,32,15,0,0,28,120, + 253,252,31,60,30,60,30,24,28,0,28,0,28,0,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,255,128,11,16, + 32,15,2,0,30,192,127,192,225,192,192,192,192,192,240,64, + 254,0,127,128,63,192,7,224,128,224,192,96,192,96,224,224, + 255,192,159,0,12,23,46,13,0,0,4,0,4,0,12,0, + 12,0,28,0,28,0,60,0,255,224,28,0,28,0,28,0, + 28,0,28,0,28,0,28,0,28,0,28,16,28,16,28,48, + 28,48,30,96,15,224,7,192,18,16,48,20,0,0,28,7, + 0,252,63,0,28,7,0,28,7,0,28,7,0,28,7,0, + 28,7,0,28,7,0,28,7,0,28,7,0,28,7,0,28, + 15,0,28,15,0,30,63,0,15,247,192,7,199,0,17,16, + 48,17,0,0,255,31,128,124,7,0,60,6,0,30,6,0, + 30,12,0,14,12,0,15,8,0,7,24,0,7,24,0,7, + 176,0,3,176,0,3,224,0,1,224,0,1,224,0,0,192, + 0,0,192,0,24,16,48,24,0,0,254,127,63,120,60,14, + 56,28,12,60,28,28,28,30,24,28,30,24,14,54,16,14, + 39,48,15,103,48,7,103,96,7,67,96,3,195,192,3,195, + 192,3,129,192,1,129,128,1,129,128,16,16,32,19,1,0, + 255,127,60,28,30,24,14,48,15,48,7,96,3,192,3,192, + 1,224,3,224,6,112,12,120,28,56,56,60,120,30,254,127, + 18,23,69,20,1,249,255,31,192,60,7,0,60,6,0,28, + 6,0,30,12,0,14,12,0,15,8,0,7,24,0,7,24, + 0,7,176,0,3,176,0,3,224,0,1,224,0,1,224,0, + 0,192,0,0,192,0,1,128,0,1,128,0,99,0,0,243, + 0,0,230,0,0,252,0,0,112,0,0,13,16,32,15,1, + 0,127,248,120,120,96,240,96,224,65,224,67,192,3,128,7, + 128,15,0,14,0,30,8,60,8,56,24,120,56,240,248,255, + 248,6,30,30,11,3,252,12,28,56,48,48,48,48,48,48, + 48,48,48,48,112,224,224,112,48,48,48,48,48,48,48,48, + 48,48,56,28,12,2,25,25,20,9,0,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,6,30,30,11,2,252,192,224,112,48,48,48, + 48,48,48,48,48,48,48,56,28,28,56,48,48,48,48,48, + 48,48,48,48,48,112,224,192,16,4,8,20,2,6,30,3, + 127,135,225,254,192,120,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, + 255,255,255,255,255,255,255,0,0,0,9,1,1,4,25,25, + 10,3,249,96,240,240,96,0,0,0,96,96,96,96,96,96, + 96,96,96,96,96,240,240,240,240,240,240,96,13,24,48,18, + 2,252,0,24,0,24,0,16,0,48,7,224,31,240,56,112, + 112,112,112,240,224,224,224,128,225,128,225,0,227,0,227,0, + 242,16,118,48,60,96,31,224,15,128,8,0,24,0,16,0, + 16,0,16,23,46,19,1,0,1,240,7,252,14,14,12,14, + 28,30,28,30,28,28,28,0,30,0,14,0,14,0,255,248, + 15,0,7,0,7,0,7,0,6,0,6,0,126,3,223,7, + 143,142,223,252,112,240,16,17,34,19,1,3,67,194,239,247, + 127,254,60,60,112,14,112,14,224,7,224,7,224,7,224,7, + 224,7,112,14,112,14,60,60,127,254,239,247,3,192,17,23, + 69,19,0,0,255,31,128,60,15,0,28,6,0,30,6,0, + 14,4,0,15,12,0,7,8,0,7,24,0,3,144,0,3, + 176,0,1,224,0,0,224,0,7,252,0,7,252,0,0,224, + 0,0,224,0,7,252,0,7,252,0,0,224,0,0,224,0, + 0,224,0,7,248,0,7,248,0,2,25,25,20,9,0,192, + 192,192,192,192,192,192,192,192,192,0,0,0,0,0,192,192, + 192,192,192,192,192,192,192,192,12,30,60,17,2,251,15,0, + 57,192,48,192,113,192,113,192,112,128,56,0,60,0,30,0, + 15,0,63,128,99,192,193,224,192,240,192,112,224,48,240,48, + 120,48,60,96,31,192,15,0,7,128,3,192,1,192,16,224, + 56,224,56,224,48,192,57,192,15,0,9,3,6,11,1,19, + 99,0,247,128,99,0,24,25,75,25,0,0,0,126,0,3, + 255,128,7,129,224,14,0,112,24,0,56,48,0,28,48,127, + 12,96,227,134,97,129,134,67,128,134,195,0,131,199,0,3, + 199,0,3,199,0,3,199,0,3,195,0,3,67,128,6,97, + 193,134,97,227,140,48,126,12,24,0,24,28,0,112,7,1, + 224,3,255,128,0,126,0,11,14,28,11,0,11,63,0,99, + 128,97,128,99,128,15,128,121,128,225,128,193,128,227,128,125, + 224,0,0,0,0,0,0,255,192,11,11,22,14,1,2,4, + 32,12,96,24,192,49,128,115,128,231,0,115,128,49,128,24, + 192,12,96,4,32,16,9,18,20,1,3,255,255,255,255,0, + 3,0,3,0,3,0,3,0,3,0,3,0,3,8,3,3, + 11,1,7,255,255,255,24,24,72,25,0,0,0,126,0,3, + 255,192,15,1,240,28,0,56,56,0,24,51,252,12,96,199, + 14,96,195,6,64,195,6,192,195,3,192,198,3,192,252,3, + 192,204,3,192,206,3,192,198,3,96,199,6,96,195,6,96, + 195,142,51,227,204,24,0,24,28,0,112,7,0,224,3,255, + 192,0,126,0,10,2,4,11,0,19,255,192,255,192,9,9, + 18,13,2,14,62,0,119,0,193,128,193,128,128,128,193,128, + 193,128,119,0,62,0,16,16,32,20,2,0,1,128,1,128, + 1,128,1,128,255,255,255,255,1,128,1,128,1,128,1,128, + 1,128,0,0,0,0,0,0,255,255,255,255,10,14,28,11, + 0,9,63,0,115,128,97,128,113,128,113,128,1,128,3,0, + 7,0,14,0,28,0,56,64,112,64,255,192,255,192,9,14, + 28,11,1,9,62,0,99,0,113,128,97,128,1,128,7,0, + 62,0,7,0,3,0,97,128,225,128,195,128,231,0,126,0, + 7,6,6,11,2,19,6,14,28,56,96,192,17,23,69,20, + 1,249,56,14,0,248,62,0,56,14,0,56,14,0,56,14, + 0,56,14,0,56,14,0,56,14,0,56,14,0,56,14,0, + 56,14,0,56,30,0,56,30,0,60,126,0,63,238,0,47, + 143,128,32,0,0,32,0,0,112,0,0,112,0,0,112,0, + 0,112,0,0,32,0,0,17,30,90,20,2,251,15,255,128, + 63,255,128,120,198,0,240,198,0,240,198,0,240,198,0,240, + 198,0,240,198,0,240,198,0,240,198,0,120,198,0,124,198, + 0,63,198,0,15,198,0,0,198,0,0,198,0,0,198,0, + 0,198,0,0,198,0,0,198,0,0,198,0,0,198,0,0, + 198,0,0,198,0,0,198,0,0,198,0,0,198,0,0,198, + 0,3,255,128,3,255,128,4,4,4,9,2,6,96,240,240, + 96,6,7,7,11,1,249,16,32,120,12,12,140,120,8,14, + 14,11,1,9,56,248,24,24,24,24,24,24,24,24,24,24, + 24,255,11,14,28,10,255,11,14,0,59,128,96,192,224,224, + 192,96,192,96,224,224,96,192,59,128,14,0,0,0,0,0, + 0,0,127,192,11,11,22,14,1,2,132,0,198,0,99,0, + 49,128,57,192,28,224,57,192,49,128,99,0,198,0,132,0, + 25,23,92,28,1,0,56,0,24,0,248,0,48,0,24,0, + 48,0,24,0,96,0,24,0,192,0,24,0,128,0,24,1, + 128,0,24,3,0,0,24,6,0,0,24,6,4,0,24,12, + 12,0,24,24,28,0,24,24,60,0,255,48,108,0,0,96, + 76,0,0,192,204,0,0,193,140,0,1,131,12,0,3,3, + 255,128,3,0,12,0,6,0,12,0,12,0,12,0,8,0, + 63,0,25,23,92,28,1,0,56,0,24,0,248,0,48,0, + 24,0,32,0,24,0,96,0,24,0,192,0,24,1,128,0, + 24,1,128,0,24,3,0,0,24,6,0,0,24,6,62,0, + 24,12,99,0,24,24,193,128,24,48,193,128,255,48,225,128, + 0,96,195,0,0,192,7,0,0,192,14,0,1,128,28,0, + 3,0,56,0,3,0,112,128,6,0,224,128,12,1,255,128, + 8,1,255,128,25,23,92,28,1,0,62,0,8,0,99,0, + 24,0,113,128,48,0,97,128,48,0,1,128,96,0,7,0, + 192,0,30,1,128,0,7,1,128,0,3,131,0,0,97,134, + 4,0,225,134,12,0,195,140,28,0,231,24,60,0,126,48, + 108,0,0,48,204,0,0,96,204,0,0,193,140,0,0,195, + 12,0,1,131,255,128,3,0,12,0,6,0,12,0,6,0, + 12,0,12,0,63,0,12,25,50,14,1,249,3,0,7,128, + 7,128,3,0,0,0,0,0,0,0,3,0,3,0,2,0, + 2,0,6,0,12,0,28,0,56,0,120,0,112,0,240,0, + 224,112,224,112,224,112,240,48,112,48,60,224,31,192,23,32, + 96,23,0,0,6,0,0,7,0,0,3,128,0,1,192,0, + 0,96,0,0,48,0,0,0,0,0,16,0,0,56,0,0, + 56,0,0,120,0,0,124,0,0,124,0,0,220,0,0,222, + 0,1,158,0,1,142,0,1,143,0,3,7,0,3,7,128, + 3,7,128,6,3,128,7,255,192,7,255,192,12,1,192,12, + 1,224,12,1,224,24,0,240,24,0,240,56,0,248,124,1, + 252,254,3,254,23,32,96,23,0,0,0,1,128,0,3,128, + 0,7,0,0,14,0,0,24,0,0,48,0,0,0,0,0, + 16,0,0,56,0,0,56,0,0,120,0,0,124,0,0,124, + 0,0,220,0,0,222,0,1,158,0,1,142,0,1,143,0, + 3,7,0,3,7,128,3,7,128,6,3,128,7,255,192,7, + 255,192,12,1,192,12,1,224,12,1,224,24,0,240,24,0, + 240,56,0,248,124,1,252,254,3,254,23,31,93,23,0,0, + 0,24,0,0,60,0,0,126,0,0,195,0,1,129,128,0, + 0,0,0,16,0,0,56,0,0,56,0,0,120,0,0,124, + 0,0,124,0,0,220,0,0,222,0,1,158,0,1,142,0, + 1,143,0,3,7,0,3,7,128,3,7,128,6,3,128,7, + 255,192,7,255,192,12,1,192,12,1,224,12,1,224,24,0, + 240,24,0,240,56,0,248,124,1,252,254,3,254,23,30,90, + 23,0,0,0,241,128,1,255,0,3,30,0,0,0,0,0, + 0,0,0,16,0,0,56,0,0,56,0,0,120,0,0,124, + 0,0,124,0,0,220,0,0,222,0,1,158,0,1,142,0, + 1,143,0,3,7,0,3,7,128,3,7,128,6,3,128,7, + 255,192,7,255,192,12,1,192,12,1,224,12,1,224,24,0, + 240,24,0,240,56,0,248,124,1,252,254,3,254,23,30,90, + 23,0,0,1,134,0,3,207,0,1,134,0,0,0,0,0, + 0,0,0,16,0,0,56,0,0,56,0,0,120,0,0,124, + 0,0,124,0,0,220,0,0,222,0,1,158,0,1,142,0, + 1,143,0,3,7,0,3,7,128,3,7,128,6,3,128,7, + 255,192,7,255,192,12,1,192,12,1,224,12,1,224,24,0, + 240,24,0,240,56,0,248,124,1,252,254,3,254,23,32,96, + 23,0,0,0,120,0,0,204,0,0,132,0,0,132,0,0, + 204,0,0,120,0,0,0,0,0,16,0,0,56,0,0,56, + 0,0,120,0,0,124,0,0,124,0,0,220,0,0,222,0, + 1,158,0,1,142,0,1,143,0,3,7,0,3,7,128,3, + 7,128,6,3,128,7,255,192,7,255,192,12,1,192,12,1, + 224,12,1,224,24,0,240,24,0,240,56,0,248,124,1,252, + 254,3,254,30,25,100,32,0,0,1,255,255,252,0,127,255, + 252,0,29,192,124,0,25,192,28,0,25,192,28,0,49,192, + 12,0,49,192,140,0,97,192,132,0,97,193,132,0,193,193, + 128,0,193,195,128,1,129,255,128,1,129,255,128,3,1,195, + 128,3,255,193,128,7,255,193,128,6,1,192,132,12,1,192, + 132,12,1,192,4,24,1,192,12,24,1,192,12,48,1,192, + 28,48,1,192,124,120,7,255,252,254,31,255,252,20,32,96, + 22,1,249,0,248,96,3,255,96,15,7,224,28,1,224,60, + 0,224,56,0,224,120,0,96,120,0,96,240,0,96,240,0, + 32,240,0,0,240,0,0,240,0,0,240,0,0,240,0,0, + 240,0,0,240,0,48,120,0,48,120,0,32,120,0,96,60, + 0,96,28,0,192,14,1,128,7,207,0,1,254,0,0,32, + 0,0,64,0,0,240,0,0,24,0,0,24,0,1,24,0, + 0,240,0,20,32,96,24,1,0,3,0,0,3,128,0,1, + 192,0,0,224,0,0,48,0,0,24,0,0,0,0,255,255, + 240,63,255,240,14,1,240,14,0,112,14,0,112,14,0,48, + 14,4,48,14,4,16,14,4,16,14,12,0,14,60,0,15, + 252,0,15,252,0,14,60,0,14,12,0,14,12,0,14,4, + 16,14,4,16,14,0,16,14,0,48,14,0,48,14,0,112, + 14,1,240,63,255,240,255,255,240,20,32,96,24,1,0,0, + 1,128,0,3,128,0,7,0,0,14,0,0,24,0,0,48, + 0,0,0,0,255,255,240,63,255,240,14,1,240,14,0,112, + 14,0,112,14,0,48,14,4,48,14,4,16,14,4,16,14, + 12,0,14,60,0,15,252,0,15,252,0,14,60,0,14,12, + 0,14,12,0,14,4,16,14,4,16,14,0,16,14,0,48, + 14,0,48,14,0,112,14,1,240,63,255,240,255,255,240,20, + 32,96,24,1,0,0,48,0,0,120,0,0,252,0,1,134, + 0,3,3,0,0,0,0,0,0,0,255,255,240,63,255,240, + 14,1,240,14,0,112,14,0,112,14,0,48,14,4,48,14, + 4,16,14,4,16,14,12,0,14,60,0,15,252,0,15,252, + 0,14,60,0,14,12,0,14,12,0,14,4,16,14,4,16, + 14,0,16,14,0,48,14,0,48,14,0,112,14,1,240,63, + 255,240,255,255,240,20,30,90,24,1,0,0,198,0,1,239, + 0,0,198,0,0,0,0,0,0,0,255,255,240,63,255,240, + 14,1,240,14,0,112,14,0,112,14,0,48,14,4,48,14, + 4,16,14,4,16,14,12,0,14,60,0,15,252,0,15,252, + 0,14,60,0,14,12,0,14,12,0,14,4,16,14,4,16, + 14,0,16,14,0,48,14,0,48,14,0,112,14,1,240,63, + 255,240,255,255,240,11,32,64,13,1,0,96,0,112,0,56, + 0,28,0,6,0,3,0,0,0,255,224,63,128,14,0,14, + 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, + 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, + 0,14,0,14,0,14,0,63,128,255,224,11,32,64,13,1, + 0,0,192,1,192,3,128,7,0,12,0,24,0,0,0,255, + 224,63,128,14,0,14,0,14,0,14,0,14,0,14,0,14, + 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, + 0,14,0,14,0,14,0,14,0,14,0,14,0,63,128,255, + 224,11,31,62,13,1,0,6,0,15,0,31,128,48,192,96, + 96,0,0,255,224,63,128,14,0,14,0,14,0,14,0,14, + 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, + 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, + 0,63,128,255,224,11,30,60,13,1,0,49,128,123,192,49, + 128,0,0,0,0,255,224,63,128,14,0,14,0,14,0,14, + 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, + 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, + 0,14,0,63,128,255,224,22,25,75,24,1,0,255,252,0, + 255,255,128,30,7,192,14,1,224,14,0,240,14,0,112,14, + 0,120,14,0,120,14,0,56,14,0,60,14,0,60,14,0, + 60,127,224,60,127,224,60,14,0,60,14,0,60,14,0,60, + 14,0,56,14,0,120,14,0,120,14,0,112,14,0,224,14, + 1,192,255,255,128,255,254,0,26,30,120,28,1,0,0,30, + 48,0,0,63,224,0,0,99,192,0,0,0,0,0,0,0, + 0,0,255,0,255,192,31,0,63,0,15,128,12,0,15,192, + 12,0,15,192,12,0,13,224,12,0,13,240,12,0,12,248, + 12,0,12,120,12,0,12,124,12,0,12,62,12,0,12,30, + 12,0,12,31,12,0,12,15,140,0,12,7,140,0,12,7, + 204,0,12,3,204,0,12,1,236,0,12,0,236,0,12,0, + 252,0,12,0,124,0,12,0,60,0,12,0,60,0,63,0, + 28,0,255,192,12,0,22,32,96,24,1,0,6,0,0,7, + 0,0,3,128,0,1,192,0,0,96,0,0,48,0,0,0, + 0,1,254,0,7,255,128,15,3,192,28,0,224,60,0,240, + 56,0,112,120,0,120,120,0,120,240,0,60,240,0,60,240, + 0,60,240,0,60,240,0,60,240,0,60,240,0,60,240,0, + 60,240,0,56,120,0,120,120,0,120,56,0,112,60,0,240, + 28,0,224,15,3,192,7,255,128,1,254,0,22,32,96,24, + 1,0,0,3,0,0,7,0,0,14,0,0,28,0,0,48, + 0,0,96,0,0,0,0,1,254,0,7,255,128,15,3,192, + 28,0,224,60,0,240,56,0,112,120,0,120,120,0,120,240, + 0,60,240,0,60,240,0,60,240,0,60,240,0,60,240,0, + 60,240,0,60,240,0,60,240,0,56,120,0,120,120,0,120, + 56,0,112,60,0,240,28,0,224,15,3,192,7,255,128,1, + 254,0,22,31,93,24,1,0,0,48,0,0,120,0,0,252, + 0,1,134,0,3,3,0,0,0,0,1,254,0,7,255,128, + 15,3,192,28,0,224,60,0,240,56,0,112,120,0,120,120, + 0,120,240,0,60,240,0,60,240,0,60,240,0,60,240,0, + 60,240,0,60,240,0,60,240,0,60,240,0,56,120,0,120, + 120,0,120,56,0,112,60,0,240,28,0,224,15,3,192,7, + 255,128,1,254,0,22,30,90,24,1,0,0,241,128,1,255, + 0,3,30,0,0,0,0,0,0,0,1,254,0,7,255,128, + 15,3,192,28,0,224,60,0,240,56,0,112,120,0,120,120, + 0,120,240,0,60,240,0,60,240,0,60,240,0,60,240,0, + 60,240,0,60,240,0,60,240,0,60,240,0,56,120,0,120, + 120,0,120,56,0,112,60,0,240,28,0,224,15,3,192,7, + 255,128,1,254,0,22,30,90,24,1,0,0,198,0,1,239, + 0,0,198,0,0,0,0,0,0,0,1,254,0,7,255,128, + 15,3,192,28,0,224,60,0,240,56,0,112,120,0,120,120, + 0,120,240,0,60,240,0,60,240,0,60,240,0,60,240,0, + 60,240,0,60,240,0,60,240,0,60,240,0,56,120,0,120, + 120,0,120,56,0,112,60,0,240,28,0,224,15,3,192,7, + 255,128,1,254,0,17,15,45,20,2,1,224,3,128,112,7, + 0,56,14,0,28,28,0,14,56,0,7,112,0,3,224,0, + 1,192,0,3,224,0,7,112,0,14,56,0,28,28,0,56, + 14,0,112,7,0,224,3,128,22,28,84,24,1,254,0,0, + 24,1,254,48,7,255,176,14,3,224,28,0,224,60,1,240, + 56,1,240,120,3,120,120,6,120,240,6,60,240,12,60,240, + 24,60,240,56,60,240,48,60,240,96,60,240,224,60,240,192, + 60,113,128,56,123,0,120,123,0,120,62,0,112,60,0,240, + 30,1,224,31,3,192,55,255,128,113,254,0,96,0,0,192, + 0,0,26,32,128,26,0,0,0,48,0,0,0,56,0,0, + 0,28,0,0,0,14,0,0,0,3,0,0,0,1,128,0, + 0,0,0,0,255,224,255,192,63,128,63,0,14,0,12,0, + 14,0,12,0,14,0,12,0,14,0,12,0,14,0,12,0, + 14,0,12,0,14,0,12,0,14,0,12,0,14,0,12,0, + 14,0,12,0,14,0,12,0,14,0,12,0,14,0,12,0, + 14,0,12,0,14,0,12,0,14,0,12,0,14,0,12,0, + 15,0,24,0,7,0,24,0,7,128,48,0,3,224,240,0, + 1,255,192,0,0,127,0,0,26,32,128,26,0,0,0,0, + 48,0,0,0,112,0,0,0,224,0,0,1,192,0,0,3, + 0,0,0,6,0,0,0,0,0,0,255,224,255,192,63,128, + 63,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, + 12,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, + 12,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, + 12,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, + 12,0,14,0,12,0,15,0,24,0,7,0,24,0,7,128, + 48,0,3,224,240,0,1,255,192,0,0,127,0,0,26,31, + 124,26,0,0,0,6,0,0,0,15,0,0,0,31,128,0, + 0,48,192,0,0,96,96,0,0,0,0,0,255,224,255,192, + 63,128,63,0,14,0,12,0,14,0,12,0,14,0,12,0, + 14,0,12,0,14,0,12,0,14,0,12,0,14,0,12,0, + 14,0,12,0,14,0,12,0,14,0,12,0,14,0,12,0, + 14,0,12,0,14,0,12,0,14,0,12,0,14,0,12,0, + 14,0,12,0,14,0,12,0,15,0,24,0,7,0,24,0, + 7,128,48,0,3,224,240,0,1,255,192,0,0,127,0,0, + 26,30,120,26,0,0,0,48,192,0,0,121,224,0,0,48, + 192,0,0,0,0,0,0,0,0,0,255,224,255,192,63,128, + 63,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, + 12,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, + 12,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, + 12,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, + 12,0,14,0,12,0,15,0,24,0,7,0,24,0,7,128, + 48,0,3,224,240,0,1,255,192,0,0,127,0,0,23,32, + 96,23,0,0,0,1,128,0,3,128,0,7,0,0,14,0, + 0,24,0,0,48,0,0,0,0,255,131,254,126,0,248,62, + 0,112,30,0,96,15,0,224,15,0,192,7,129,128,7,193, + 128,3,195,0,3,227,0,1,230,0,0,246,0,0,252,0, + 0,124,0,0,120,0,0,56,0,0,56,0,0,56,0,0, + 56,0,0,56,0,0,56,0,0,56,0,0,56,0,0,254, + 0,3,255,128,20,25,75,22,1,0,255,224,0,31,0,0, + 14,0,0,14,0,0,14,0,0,14,0,0,15,254,0,15, + 255,128,14,3,192,14,1,224,14,0,240,14,0,240,14,0, + 240,14,0,240,14,0,240,14,1,224,14,3,224,15,255,192, + 15,255,0,14,0,0,14,0,0,14,0,0,14,0,0,31, + 0,0,255,224,0,17,26,78,19,0,255,3,248,0,7,156, + 0,14,14,0,14,15,0,28,7,0,28,7,0,28,7,0, + 28,7,0,28,14,0,28,14,0,28,248,0,28,248,0,28, + 14,0,28,7,0,28,7,0,28,7,128,28,3,128,28,3, + 128,28,3,128,28,3,128,28,3,128,28,231,128,28,231,0, + 60,231,0,252,254,0,0,56,0,16,23,46,17,1,0,12, + 0,14,0,7,0,3,128,0,192,0,96,0,0,7,192,31, + 240,120,120,112,56,112,56,112,56,1,248,15,248,60,56,112, + 56,224,56,224,56,224,120,240,253,127,159,63,14,16,23,46, + 17,1,0,0,48,0,112,0,224,1,192,3,0,6,0,0, + 0,7,192,31,240,120,120,112,56,112,56,112,56,1,248,15, + 248,60,56,112,56,224,56,224,56,224,120,240,253,127,159,63, + 14,16,22,44,17,1,0,3,0,7,128,15,192,24,96,48, + 48,0,0,7,192,31,240,120,120,112,56,112,56,112,56,1, + 248,15,248,60,56,112,56,224,56,224,56,224,120,240,253,127, + 159,62,14,16,21,42,17,1,0,15,24,31,240,49,224,0, + 0,0,0,7,192,31,240,120,120,112,56,112,56,112,56,1, + 248,15,248,60,56,112,56,224,56,224,56,224,120,240,253,127, + 159,62,14,16,21,42,17,1,0,12,96,30,240,12,96,0, + 0,0,0,7,192,31,240,120,120,112,56,112,56,112,56,1, + 248,15,248,60,56,112,56,224,56,224,56,224,120,240,253,127, + 159,62,14,16,23,46,17,1,0,7,128,12,192,8,64,8, + 64,12,192,7,128,0,0,7,192,31,240,120,120,112,56,112, + 56,112,56,1,248,15,248,60,56,112,56,224,56,224,56,224, + 120,240,253,127,159,62,14,23,16,48,25,1,0,15,195,224, + 63,231,248,112,124,28,112,60,12,112,56,14,112,56,14,1, + 248,14,15,255,254,60,56,0,112,56,0,240,56,0,224,60, + 2,224,124,6,240,254,28,127,207,248,63,3,240,12,23,46, + 14,1,249,7,128,31,224,56,112,112,240,112,240,224,96,224, + 0,224,0,224,0,224,0,240,0,240,16,120,48,124,96,63, + 192,15,0,2,0,4,0,15,0,1,128,1,128,17,128,15, + 0,14,23,46,16,1,0,24,0,28,0,14,0,7,0,1, + 128,0,192,0,0,7,192,31,240,56,56,112,24,112,28,240, + 28,240,28,255,252,224,0,224,0,240,0,240,4,120,12,60, + 56,31,240,7,192,14,23,46,16,1,0,0,24,0,56,0, + 112,0,224,1,128,3,0,0,0,7,192,31,240,56,120,112, + 56,96,28,224,28,224,28,255,252,224,0,224,0,240,0,240, + 4,120,12,60,56,31,240,7,192,14,22,44,16,1,0,3, + 0,7,128,15,192,24,96,48,48,0,0,7,192,31,240,56, + 56,112,24,112,28,240,28,240,28,255,252,224,0,224,0,240, + 0,240,4,120,12,60,56,31,240,7,192,14,21,42,16,1, + 0,12,96,30,240,12,96,0,0,0,0,7,192,31,240,56, + 56,112,24,112,28,240,28,240,28,255,252,224,0,224,0,240, + 0,240,4,120,12,60,24,31,240,7,192,9,23,46,11,1, + 0,192,0,224,0,112,0,56,0,12,0,6,0,0,0,252, + 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,28,0,28,0,28,0,28,0,255,128,9, + 23,46,11,1,0,1,128,3,128,7,0,14,0,24,0,48, + 0,0,0,252,0,28,0,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, + 0,255,128,10,22,44,11,0,0,12,0,30,0,63,0,97, + 128,192,192,0,0,126,0,14,0,14,0,14,0,14,0,14, + 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, + 0,14,0,127,192,9,21,42,11,1,0,99,0,247,128,99, + 0,0,0,0,0,252,0,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, + 0,28,0,255,128,14,25,50,17,1,0,48,0,60,0,14, + 224,7,192,15,128,13,192,0,224,0,240,0,112,7,248,31, + 248,56,120,112,60,112,60,224,28,224,28,224,28,224,28,224, + 28,224,28,240,60,112,56,120,120,63,240,15,192,19,21,63, + 19,0,0,3,198,0,7,252,0,12,120,0,0,0,0,0, + 0,0,28,120,0,253,254,0,31,158,0,30,15,0,30,7, + 0,28,7,0,28,7,0,28,7,0,28,7,0,28,7,0, + 28,7,0,28,7,0,28,7,0,28,7,0,28,7,0,255, + 31,224,14,23,46,16,1,0,48,0,56,0,28,0,14,0, + 3,0,1,128,0,0,7,128,31,224,56,112,112,56,112,56, + 224,28,224,28,224,28,224,28,224,28,224,28,240,60,112,56, + 120,120,31,224,7,128,14,23,46,16,1,0,0,24,0,56, + 0,112,0,224,1,128,3,0,0,0,7,128,31,224,56,112, + 112,56,112,56,224,28,224,28,224,28,224,28,224,28,224,28, + 240,60,112,56,120,120,31,224,7,128,14,22,44,16,1,0, + 3,0,7,128,15,192,24,96,48,48,0,0,7,128,31,224, + 56,112,112,56,112,56,224,28,224,28,224,28,224,28,224,28, + 224,28,112,56,112,56,56,112,31,224,7,128,14,21,42,16, + 1,0,15,24,31,240,49,224,0,0,0,0,7,128,31,224, + 56,112,112,56,112,56,224,28,224,28,224,28,224,28,224,28, + 224,28,112,56,112,56,56,112,31,224,7,128,14,21,42,16, + 1,0,24,192,61,224,24,192,0,0,0,0,7,128,31,224, + 56,112,112,56,112,56,224,28,224,28,224,28,224,28,224,28, + 224,28,112,56,112,56,56,112,31,224,7,128,16,16,32,20, + 2,0,1,128,3,192,3,192,1,128,0,0,0,0,0,0, + 255,255,255,255,0,0,0,0,0,0,1,128,3,192,3,192, + 1,128,14,22,44,16,1,253,0,24,0,24,0,48,7,240, + 31,240,56,112,112,248,112,216,225,156,225,156,227,28,227,28, + 230,28,230,28,236,56,124,56,120,112,63,224,63,128,48,0, + 96,0,96,0,18,23,69,20,0,0,6,0,0,7,0,0, + 3,128,0,1,192,0,0,96,0,0,48,0,0,0,0,28, + 7,0,252,63,0,28,7,0,28,7,0,28,7,0,28,7, + 0,28,7,0,28,7,0,28,7,0,28,7,0,28,7,0, + 28,15,0,28,15,0,14,63,0,15,247,192,7,199,0,18, + 23,69,20,0,0,0,12,0,0,28,0,0,56,0,0,112, + 0,0,192,0,1,128,0,0,0,0,28,7,0,252,63,0, + 28,7,0,28,7,0,28,7,0,28,7,0,28,7,0,28, + 7,0,28,7,0,28,7,0,28,7,0,28,15,0,28,15, + 0,14,63,0,15,247,192,7,199,0,18,22,66,20,0,0, + 0,192,0,1,224,0,3,240,0,6,24,0,12,12,0,0, + 0,0,28,7,0,252,63,0,28,7,0,28,7,0,28,7, + 0,28,7,0,28,7,0,28,7,0,28,7,0,28,7,0, + 28,7,0,28,15,0,28,15,0,14,63,0,15,247,192,7, + 199,0,18,21,63,20,0,0,3,24,0,7,188,0,3,24, + 0,0,0,0,0,0,0,28,7,0,252,63,0,28,7,0, + 28,7,0,28,7,0,28,7,0,28,7,0,28,7,0,28, + 7,0,28,7,0,28,7,0,28,15,0,28,15,0,14,63, + 0,15,247,192,7,199,0,17,30,90,19,1,249,0,12,0, + 0,28,0,0,56,0,0,112,0,0,192,0,1,128,0,0, + 0,0,255,31,128,124,7,0,60,6,0,28,6,0,30,12, + 0,14,12,0,15,8,0,7,24,0,7,24,0,7,176,0, + 3,176,0,3,224,0,1,224,0,1,224,0,0,192,0,0, + 192,0,1,128,0,1,128,0,99,0,0,227,0,0,230,0, + 0,252,0,0,112,0,0,16,29,58,19,1,249,56,0,248, + 0,56,0,56,0,56,0,56,0,56,240,59,252,63,30,60, + 14,60,15,56,7,56,7,56,7,56,7,56,7,56,7,60, + 15,60,14,62,30,59,252,57,240,56,0,56,0,56,0,56, + 0,56,0,56,0,255,0,18,28,84,20,1,249,3,24,0, + 7,188,0,3,24,0,0,0,0,0,0,0,255,31,192,124, + 7,0,60,6,0,28,6,0,30,12,0,14,12,0,15,8, + 0,7,24,0,7,24,0,7,176,0,3,176,0,3,224,0, + 1,224,0,1,224,0,0,192,0,0,192,0,1,128,0,1, + 128,0,99,0,0,227,0,0,230,0,0,252,0,0,112,0, + 0}; +/* + Fontname: -Adobe-New Century Schoolbook-Medium-R-Normal--34-240-100-100-P-181-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 0, '1' Height: 24 + Calculated Max Values w=16 h=25 x= 3 y=11 dx=20 dy= 0 ascent=25 len=50 + Font Bounding box w=39 h=50 x=-6 y=-11 + Calculated Min Values x=-1 y=-6 dx= 0 dy= 0 + Pure Font ascent =24 descent= 0 + X Font ascent =24 descent= 0 + Max Font ascent =25 descent=-6 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_ncenR24n[744] U8G_FONT_SECTION("u8g_font_ncenR24n") = { + 0,39,50,250,245,24,0,0,0,0,42,58,0,25,250,24, + 0,12,14,28,17,2,11,6,0,6,0,6,0,198,112,230, + 112,127,224,31,128,31,0,127,192,230,112,198,112,6,0,6, + 0,6,0,16,17,34,20,2,255,1,128,1,128,1,128,1, + 128,1,128,1,128,1,128,255,255,255,255,1,128,1,128,1, + 128,1,128,1,128,1,128,1,128,1,128,5,10,10,9,2, + 250,112,248,248,120,24,24,48,96,224,128,8,3,3,11,1, + 7,255,255,255,4,4,4,9,2,0,96,240,240,96,10,25, + 50,9,255,0,0,192,0,192,0,192,1,128,1,128,1,128, + 3,0,3,0,3,0,6,0,6,0,6,0,12,0,12,0, + 12,0,24,0,24,0,24,0,48,0,48,0,48,0,96,0, + 96,0,96,0,192,0,16,24,48,18,2,0,3,192,15,240, + 28,56,24,24,56,28,120,30,112,14,240,15,240,15,240,15, + 240,15,240,15,240,15,240,15,240,15,240,15,240,15,112,14, + 120,30,56,28,24,24,28,56,15,240,3,192,13,24,48,18, + 3,0,3,0,7,0,255,0,7,0,7,0,7,0,7,0, + 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, + 7,0,7,0,7,0,7,0,7,0,7,0,7,0,15,128, + 255,248,15,24,48,18,1,0,7,224,31,248,56,28,96,30, + 112,14,120,14,120,14,120,14,48,30,0,28,0,28,0,56, + 0,120,0,112,0,224,1,192,3,128,7,2,14,2,28,6, + 56,6,127,254,255,254,255,254,15,24,48,18,1,0,7,224, + 31,248,56,56,112,28,120,28,120,28,48,28,0,28,0,56, + 0,112,1,224,15,240,0,248,0,60,0,28,0,30,96,14, + 240,14,240,14,240,30,224,28,120,124,63,240,15,192,16,24, + 48,18,1,0,0,48,0,48,0,112,0,240,1,240,1,240, + 3,112,6,112,6,112,12,112,24,112,24,112,48,112,96,112, + 96,112,192,112,255,255,255,255,0,112,0,112,0,112,0,112, + 0,248,3,254,14,24,48,18,2,0,56,8,63,248,63,240, + 63,224,48,0,48,0,32,0,96,0,99,192,111,240,124,120, + 112,56,96,60,0,28,0,28,0,28,96,28,240,28,240,28, + 240,60,224,56,112,120,127,240,31,128,15,24,48,18,1,0, + 3,240,15,252,28,62,56,30,56,30,48,12,112,0,112,0, + 112,0,241,224,247,248,254,60,252,28,248,30,240,14,240,14, + 240,14,112,14,112,14,112,30,56,28,56,60,31,240,7,192, + 13,24,48,18,3,0,255,248,255,248,255,248,192,16,192,48, + 128,32,128,96,128,64,0,192,0,192,1,128,1,128,1,128, + 3,0,3,0,3,0,7,0,7,0,7,0,15,0,15,0, + 15,0,15,0,6,0,15,24,48,18,1,0,7,224,31,248, + 60,56,56,28,112,28,112,12,112,12,120,24,60,56,63,112, + 31,224,7,240,7,248,29,252,56,124,112,30,112,30,224,14, + 224,14,224,14,112,28,120,60,63,248,15,224,15,24,48,18, + 1,0,15,192,63,240,120,120,112,56,240,60,224,28,224,28, + 224,30,224,30,240,30,240,62,120,126,120,126,63,222,31,158, + 0,30,0,28,0,28,96,56,240,56,240,112,241,224,127,192, + 63,0,4,16,16,9,3,0,96,240,240,96,0,0,0,0, + 0,0,0,0,96,240,240,96}; +/* + Fontname: -Adobe-New Century Schoolbook-Medium-R-Normal--34-240-100-100-P-181-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 25, '1' Height: 24 + Calculated Max Values w=31 h=31 x= 9 y=17 dx=31 dy= 0 ascent=27 len=100 + Font Bounding box w=39 h=50 x=-6 y=-11 + Calculated Min Values x=-2 y=-7 dx= 0 dy= 0 + Pure Font ascent =25 descent=-7 + X Font ascent =25 descent=-7 + Max Font ascent =27 descent=-7 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_ncenR24r[5367] U8G_FONT_SECTION("u8g_font_ncenR24r") = { + 0,39,50,250,245,25,5,159,15,28,32,127,249,27,249,25, + 249,0,0,0,9,1,1,4,25,25,10,3,0,96,240,240, + 240,240,240,240,96,96,96,96,96,96,96,96,96,96,96,0, + 0,0,96,240,240,96,9,8,16,13,2,17,227,128,227,128, + 227,128,227,128,65,0,65,0,65,0,65,0,16,23,46,19, + 2,0,3,12,3,12,3,12,7,28,6,24,6,24,6,24, + 127,255,127,255,6,24,14,56,12,56,12,48,255,254,255,254, + 12,48,12,48,28,112,28,112,24,96,24,96,24,96,24,96, + 14,31,62,18,2,252,2,0,2,0,2,0,15,192,63,240, + 114,112,226,56,194,120,194,120,194,48,194,0,226,0,250,0, + 127,0,63,192,31,240,3,248,2,124,2,60,98,28,242,12, + 242,12,226,28,194,24,226,120,127,240,31,192,2,0,2,0, + 2,0,2,0,24,25,75,27,1,255,3,128,32,15,192,224, + 28,227,192,56,127,192,56,97,128,112,97,128,112,99,0,240, + 99,0,224,102,0,224,196,0,224,204,0,225,136,28,115,24, + 126,62,16,227,0,49,195,0,99,195,0,99,131,0,199,131, + 0,199,3,1,135,6,1,135,6,3,7,12,2,3,152,6, + 1,240,4,0,0,22,25,75,27,2,0,1,248,0,7,188, + 0,6,28,0,14,14,0,14,14,0,14,14,0,14,12,0, + 14,28,0,15,56,0,15,112,0,7,224,0,7,128,0,15, + 199,252,59,193,240,113,224,224,113,240,192,224,240,192,224,249, + 128,224,125,128,240,63,4,240,30,4,248,15,12,126,63,248, + 63,243,248,31,193,224,3,8,8,7,2,17,224,224,224,224, + 64,64,64,64,8,29,29,11,2,252,1,7,6,12,24,48, + 48,48,96,96,96,96,224,224,224,224,224,96,96,96,96,48, + 48,16,24,12,6,7,3,8,29,29,11,2,252,192,224,96, + 48,24,8,12,12,6,6,6,6,7,7,7,7,7,6,6, + 6,6,12,12,28,24,48,96,192,192,12,14,28,17,2,11, + 6,0,6,0,6,0,198,112,230,112,127,224,31,128,31,0, + 127,192,230,112,198,112,6,0,6,0,6,0,16,17,34,20, + 2,255,1,128,1,128,1,128,1,128,1,128,1,128,1,128, + 255,255,255,255,1,128,1,128,1,128,1,128,1,128,1,128, + 1,128,1,128,5,10,10,9,2,250,112,248,248,120,24,24, + 48,96,224,128,8,3,3,11,1,7,255,255,255,4,4,4, + 9,2,0,96,240,240,96,10,25,50,9,255,0,0,192,0, + 192,0,192,1,128,1,128,1,128,3,0,3,0,3,0,6, + 0,6,0,6,0,12,0,12,0,12,0,24,0,24,0,24, + 0,48,0,48,0,48,0,96,0,96,0,96,0,192,0,16, + 24,48,18,2,0,3,192,15,240,28,56,24,24,56,28,120, + 30,112,14,240,15,240,15,240,15,240,15,240,15,240,15,240, + 15,240,15,240,15,240,15,112,14,120,30,56,28,24,24,28, + 56,15,240,3,192,13,24,48,18,3,0,3,0,7,0,255, + 0,7,0,7,0,7,0,7,0,7,0,7,0,7,0,7, + 0,7,0,7,0,7,0,7,0,7,0,7,0,7,0,7, + 0,7,0,7,0,7,0,15,128,255,248,15,24,48,18,1, + 0,7,224,31,248,56,28,96,30,112,14,120,14,120,14,120, + 14,48,30,0,28,0,28,0,56,0,120,0,112,0,224,1, + 192,3,128,7,2,14,2,28,6,56,6,127,254,255,254,255, + 254,15,24,48,18,1,0,7,224,31,248,56,56,112,28,120, + 28,120,28,48,28,0,28,0,56,0,112,1,224,15,240,0, + 248,0,60,0,28,0,30,96,14,240,14,240,14,240,30,224, + 28,120,124,63,240,15,192,16,24,48,18,1,0,0,48,0, + 48,0,112,0,240,1,240,1,240,3,112,6,112,6,112,12, + 112,24,112,24,112,48,112,96,112,96,112,192,112,255,255,255, + 255,0,112,0,112,0,112,0,112,0,248,3,254,14,24,48, + 18,2,0,56,8,63,248,63,240,63,224,48,0,48,0,32, + 0,96,0,99,192,111,240,124,120,112,56,96,60,0,28,0, + 28,0,28,96,28,240,28,240,28,240,60,224,56,112,120,127, + 240,31,128,15,24,48,18,1,0,3,240,15,252,28,62,56, + 30,56,30,48,12,112,0,112,0,112,0,241,224,247,248,254, + 60,252,28,248,30,240,14,240,14,240,14,112,14,112,14,112, + 30,56,28,56,60,31,240,7,192,13,24,48,18,3,0,255, + 248,255,248,255,248,192,16,192,48,128,32,128,96,128,64,0, + 192,0,192,1,128,1,128,1,128,3,0,3,0,3,0,7, + 0,7,0,7,0,15,0,15,0,15,0,15,0,6,0,15, + 24,48,18,1,0,7,224,31,248,60,56,56,28,112,28,112, + 12,112,12,120,24,60,56,63,112,31,224,7,240,7,248,29, + 252,56,124,112,30,112,30,224,14,224,14,224,14,112,28,120, + 60,63,248,15,224,15,24,48,18,1,0,15,192,63,240,120, + 120,112,56,240,60,224,28,224,28,224,30,224,30,240,30,240, + 62,120,126,120,126,63,222,31,158,0,30,0,28,0,28,96, + 56,240,56,240,112,241,224,127,192,63,0,4,16,16,9,3, + 0,96,240,240,96,0,0,0,0,0,0,0,0,96,240,240, + 96,5,21,21,9,1,251,48,120,120,48,0,0,0,0,0, + 0,0,0,48,120,120,56,24,16,48,96,192,16,18,36,20, + 2,255,0,1,0,7,0,31,0,124,1,240,7,192,31,0, + 124,0,240,0,240,0,124,0,31,0,7,192,1,240,0,124, + 0,31,0,7,0,1,16,8,16,20,2,4,255,255,255,255, + 0,0,0,0,0,0,0,0,255,255,255,255,16,18,36,20, + 2,255,128,0,224,0,248,0,62,0,15,128,3,224,0,248, + 0,62,0,15,0,15,0,62,0,248,3,224,15,128,62,0, + 248,0,224,0,128,0,12,25,50,14,1,0,63,128,115,224, + 192,224,192,240,224,112,224,112,224,112,0,240,0,240,1,224, + 1,192,3,128,3,0,6,0,4,0,4,0,12,0,12,0, + 0,0,0,0,0,0,12,0,30,0,30,0,12,0,22,25, + 75,25,1,0,0,254,0,3,255,128,15,135,192,30,0,224, + 28,0,112,48,0,56,48,0,24,96,251,152,97,207,140,227, + 143,140,199,135,140,199,7,12,207,7,12,207,15,8,206,15, + 24,206,14,24,206,30,48,102,62,96,103,126,192,51,231,152, + 56,0,56,28,0,112,15,129,224,7,255,128,0,254,0,23, + 25,75,23,0,0,0,16,0,0,56,0,0,56,0,0,120, + 0,0,124,0,0,124,0,0,220,0,0,222,0,1,158,0, + 1,142,0,1,143,0,3,7,0,3,7,128,3,7,128,6, + 3,128,7,255,192,7,255,192,12,1,192,12,1,224,12,1, + 224,24,0,240,24,0,240,56,0,248,124,1,252,254,3,254, + 20,25,75,23,1,0,255,254,0,63,255,128,14,7,192,14, + 1,192,14,1,224,14,1,224,14,1,224,14,1,224,14,1, + 192,14,1,192,14,3,128,15,255,0,15,252,0,14,15,128, + 14,3,192,14,1,224,14,0,240,14,0,240,14,0,240,14, + 0,240,14,0,240,14,1,224,14,3,224,63,255,192,255,255, + 0,20,25,75,22,1,0,1,252,96,7,255,96,14,3,224, + 28,1,224,60,0,224,56,0,224,120,0,96,120,0,96,240, + 0,32,240,0,32,240,0,0,240,0,0,240,0,0,240,0, + 0,240,0,0,240,0,0,240,0,48,120,0,48,120,0,48, + 120,0,96,60,0,96,28,0,192,15,3,128,7,255,0,1, + 252,0,22,25,75,25,1,0,255,254,0,63,255,192,14,3, + 224,14,0,240,14,0,112,14,0,120,14,0,120,14,0,60, + 14,0,60,14,0,60,14,0,60,14,0,60,14,0,60,14, + 0,60,14,0,60,14,0,60,14,0,60,14,0,60,14,0, + 56,14,0,120,14,0,112,14,0,224,14,3,224,63,255,192, + 255,254,0,20,25,75,24,1,0,255,255,240,63,255,240,14, + 1,240,14,0,112,14,0,112,14,0,48,14,4,48,14,4, + 16,14,4,16,14,12,0,14,60,0,15,252,0,15,252,0, + 14,60,0,14,12,0,14,12,0,14,4,16,14,4,16,14, + 0,16,14,0,48,14,0,48,14,0,112,14,1,240,63,255, + 240,255,255,240,20,25,75,22,1,0,255,255,240,63,255,240, + 14,1,240,14,0,112,14,0,48,14,0,48,14,0,16,14, + 4,16,14,4,16,14,12,0,14,12,0,14,60,0,15,252, + 0,15,252,0,14,28,0,14,12,0,14,4,0,14,4,0, + 14,4,0,14,0,0,14,0,0,14,0,0,14,0,0,63, + 128,0,255,224,0,24,25,75,24,1,0,1,254,48,7,255, + 176,15,3,240,30,0,240,60,0,112,56,0,112,120,0,48, + 112,0,48,112,0,16,240,0,16,240,0,0,240,0,0,240, + 0,0,240,0,0,240,7,255,240,0,248,240,0,112,112,0, + 112,112,0,112,120,0,112,56,0,240,28,0,240,15,1,176, + 7,255,48,1,254,16,25,25,100,27,1,0,255,227,255,128, + 63,128,254,0,14,0,56,0,14,0,56,0,14,0,56,0, + 14,0,56,0,14,0,56,0,14,0,56,0,14,0,56,0, + 14,0,56,0,14,0,56,0,15,255,248,0,15,255,248,0, + 14,0,56,0,14,0,56,0,14,0,56,0,14,0,56,0, + 14,0,56,0,14,0,56,0,14,0,56,0,14,0,56,0, + 14,0,56,0,14,0,56,0,63,128,254,0,255,227,255,128, + 11,25,50,13,1,0,255,224,63,128,14,0,14,0,14,0, + 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, + 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, + 14,0,14,0,63,128,255,224,17,25,75,18,0,0,3,255, + 128,0,124,0,0,56,0,0,56,0,0,56,0,0,56,0, + 0,56,0,0,56,0,0,56,0,0,56,0,0,56,0,0, + 56,0,0,56,0,0,56,0,0,56,0,0,56,0,112,56, + 0,248,56,0,248,56,0,248,56,0,240,56,0,192,120,0, + 224,112,0,127,240,0,31,192,0,25,25,100,25,1,0,255, + 227,255,0,63,129,252,0,14,0,240,0,14,0,224,0,14, + 1,192,0,14,1,128,0,14,3,0,0,14,6,0,0,14, + 14,0,0,14,28,0,0,14,56,0,0,14,124,0,0,14, + 254,0,0,15,222,0,0,15,143,0,0,15,7,128,0,14, + 7,192,0,14,3,192,0,14,1,224,0,14,1,240,0,14, + 0,240,0,14,0,120,0,14,0,124,0,63,0,62,0,255, + 192,255,128,20,25,75,22,1,0,255,224,0,63,128,0,14, + 0,0,14,0,0,14,0,0,14,0,0,14,0,0,14,0, + 0,14,0,0,14,0,0,14,0,0,14,0,0,14,0,0, + 14,0,0,14,0,0,14,0,0,14,0,16,14,0,16,14, + 0,16,14,0,48,14,0,48,14,0,112,14,1,240,63,255, + 224,255,255,224,29,25,100,30,0,0,127,128,15,248,31,128, + 15,192,15,128,15,128,15,192,15,128,13,192,27,128,13,192, + 27,128,13,224,19,128,12,224,51,128,12,224,51,128,12,240, + 35,128,12,112,99,128,12,112,99,128,12,120,99,128,12,56, + 195,128,12,56,195,128,12,60,195,128,12,28,131,128,12,29, + 131,128,12,31,131,128,12,31,3,128,12,15,3,128,12,15, + 3,128,12,14,3,128,63,6,15,224,255,198,63,248,26,25, + 100,28,1,0,255,0,255,192,31,0,63,0,15,128,12,0, + 15,192,12,0,15,192,12,0,13,224,12,0,13,240,12,0, + 12,248,12,0,12,120,12,0,12,124,12,0,12,62,12,0, + 12,30,12,0,12,31,12,0,12,15,140,0,12,7,140,0, + 12,7,204,0,12,3,204,0,12,1,236,0,12,0,236,0, + 12,0,252,0,12,0,124,0,12,0,60,0,12,0,60,0, + 63,0,28,0,255,192,12,0,22,25,75,24,1,0,1,254, + 0,7,255,128,15,3,192,28,0,224,60,0,240,56,0,112, + 120,0,120,112,0,56,240,0,60,240,0,60,224,0,28,224, + 0,28,224,0,28,224,0,28,224,0,28,240,0,60,240,0, + 56,112,0,56,120,0,120,56,0,112,60,0,240,28,0,224, + 15,3,192,7,255,128,1,254,0,20,25,75,22,1,0,255, + 254,0,63,255,128,14,7,192,14,1,224,14,0,240,14,0, + 240,14,0,112,14,0,112,14,0,240,14,0,240,14,1,224, + 14,7,192,15,255,128,15,254,0,14,0,0,14,0,0,14, + 0,0,14,0,0,14,0,0,14,0,0,14,0,0,14,0, + 0,14,0,0,63,128,0,255,224,0,23,31,93,24,1,250, + 0,254,0,3,255,128,15,1,224,30,0,240,60,0,120,56, + 0,56,120,0,60,112,0,28,240,0,30,240,0,30,224,0, + 14,224,0,14,224,0,14,224,0,14,240,0,30,240,0,30, + 112,124,28,121,222,60,121,135,56,61,3,112,29,3,112,31, + 3,224,15,131,192,3,255,128,0,255,192,0,3,198,0,1, + 198,0,1,228,0,1,252,0,0,248,0,0,112,21,25,75, + 23,1,0,255,254,0,63,255,128,14,7,192,14,1,192,14, + 1,224,14,0,224,14,0,224,14,1,224,14,1,224,14,1, + 192,14,3,192,14,15,0,15,252,0,15,254,0,14,15,0, + 14,7,0,14,7,128,14,3,128,14,3,128,14,3,136,14, + 3,136,14,3,136,14,3,216,63,129,240,255,225,224,17,25, + 75,20,2,0,15,241,0,63,251,0,112,31,0,96,7,0, + 224,7,0,224,3,0,224,1,0,240,1,0,240,0,0,126, + 0,0,127,224,0,31,252,0,7,254,0,0,127,0,0,15, + 128,128,7,128,128,3,128,192,3,128,192,3,128,192,3,128, + 224,7,128,240,7,0,248,14,0,223,252,0,135,240,0,19, + 25,75,21,1,0,255,255,224,255,255,224,240,227,224,224,224, + 224,192,224,96,192,224,96,128,224,32,128,224,32,128,224,32, + 0,224,0,0,224,0,0,224,0,0,224,0,0,224,0,0, + 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, + 0,0,224,0,0,224,0,0,224,0,3,248,0,15,254,0, + 26,25,100,26,0,0,255,224,255,192,63,128,63,0,14,0, + 12,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, + 12,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, + 12,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, + 12,0,14,0,12,0,14,0,12,0,14,0,12,0,14,0, + 12,0,15,0,24,0,7,0,24,0,7,128,48,0,3,224, + 240,0,1,255,192,0,0,127,0,0,23,25,75,23,0,0, + 255,195,254,62,0,248,30,0,112,30,0,112,14,0,96,15, + 0,96,15,0,64,7,0,192,7,128,192,7,128,128,3,129, + 128,3,193,128,3,193,0,1,195,0,1,227,0,1,226,0, + 0,230,0,0,246,0,0,244,0,0,124,0,0,124,0,0, + 56,0,0,56,0,0,56,0,0,16,0,31,25,100,31,0, + 0,255,31,241,254,126,7,192,124,60,3,128,56,28,3,128, + 48,30,3,192,48,30,3,192,96,14,3,192,96,14,3,224, + 96,15,3,224,96,7,6,224,192,7,6,224,192,7,132,240, + 192,7,140,112,192,3,140,113,128,3,140,121,128,3,200,57, + 128,1,216,57,0,1,248,63,0,1,248,31,0,0,240,31, + 0,0,240,30,0,0,240,30,0,0,224,14,0,0,96,12, + 0,0,96,12,0,23,25,75,22,0,0,255,199,252,63,1, + 240,31,0,224,15,1,192,15,129,128,7,131,128,3,195,0, + 3,230,0,1,238,0,0,252,0,0,248,0,0,120,0,0, + 124,0,0,124,0,0,254,0,1,223,0,1,143,0,3,135, + 128,3,7,128,6,3,192,14,3,224,12,1,224,28,0,240, + 62,0,248,255,135,254,23,25,75,23,0,0,255,131,254,126, + 0,248,62,0,112,30,0,96,15,0,224,15,0,192,7,129, + 128,7,193,128,3,195,0,3,227,0,1,230,0,0,246,0, + 0,252,0,0,124,0,0,120,0,0,56,0,0,56,0,0, + 56,0,0,56,0,0,56,0,0,56,0,0,56,0,0,56, + 0,0,254,0,3,255,128,17,25,75,19,1,0,127,255,128, + 127,255,128,120,15,0,112,15,0,96,30,0,96,62,0,96, + 60,0,64,124,0,64,120,0,0,240,0,0,240,0,1,224, + 0,3,224,0,3,192,0,7,128,0,7,128,128,15,0,128, + 31,0,128,30,1,128,62,1,128,60,1,128,120,3,128,120, + 7,128,255,255,128,255,255,128,7,29,29,11,3,252,254,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,254,15,25,50,20,2, + 0,224,0,112,0,112,0,56,0,56,0,28,0,28,0,14, + 0,14,0,7,0,7,0,3,128,3,128,3,128,1,192,1, + 192,0,224,0,224,0,112,0,112,0,56,0,56,0,28,0, + 28,0,14,7,29,29,11,1,252,254,6,6,6,6,6,6, + 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, + 6,6,6,6,6,254,16,13,26,20,2,12,3,192,3,192, + 7,224,7,224,14,112,14,112,28,56,28,56,56,28,56,28, + 112,14,112,14,224,7,16,2,4,16,0,252,255,255,255,255, + 7,6,6,11,1,17,192,224,112,56,12,6,16,16,32,17, + 1,0,15,192,63,240,120,120,112,56,96,56,0,56,1,248, + 15,248,60,56,112,56,224,56,224,56,224,120,241,253,127,159, + 62,14,15,25,50,17,0,0,24,0,248,0,56,0,56,0, + 56,0,56,0,56,0,56,0,56,0,57,224,59,248,62,28, + 60,28,60,14,56,14,56,14,56,14,56,14,56,14,56,14, + 60,14,60,28,62,28,55,248,33,224,12,16,32,14,1,0, + 7,128,31,224,56,112,112,240,112,240,224,96,224,0,224,0, + 224,0,224,0,224,0,112,16,112,48,56,96,63,192,15,128, + 16,25,50,18,1,0,0,12,0,124,0,28,0,28,0,28, + 0,28,0,28,0,28,0,28,7,156,31,220,56,124,112,60, + 112,60,224,28,224,28,224,28,224,28,224,28,224,28,240,60, + 112,60,120,124,31,220,7,159,14,16,32,16,1,0,7,192, + 31,240,56,120,112,56,96,28,224,28,224,28,255,252,224,0, + 224,0,224,0,240,4,112,12,120,56,63,240,15,192,14,25, + 50,11,0,0,1,248,7,28,14,28,12,28,28,8,28,0, + 28,0,28,0,28,0,255,192,28,0,28,0,28,0,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,28,0,255,192,16,23,46,17,1,249,7,159,31,251, + 56,115,112,56,112,56,112,56,112,56,112,56,56,112,31,224, + 55,128,96,0,96,0,127,224,127,248,63,252,48,62,96,14, + 224,14,224,14,248,60,127,248,15,192,19,25,75,20,0,0, + 12,0,0,252,0,0,28,0,0,28,0,0,28,0,0,28, + 0,0,28,0,0,28,0,0,28,0,0,28,112,0,29,252, + 0,31,30,0,30,14,0,28,7,0,28,7,0,28,7,0, + 28,7,0,28,7,0,28,7,0,28,7,0,28,7,0,28, + 7,0,28,7,0,28,7,0,255,63,224,9,24,48,10,1, + 0,24,0,60,0,60,0,24,0,0,0,0,0,0,0,0, + 0,28,0,252,0,28,0,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,255, + 128,9,31,62,10,254,249,3,0,7,128,7,128,3,0,0, + 0,0,0,0,0,0,0,3,128,31,128,3,128,3,128,3, + 128,3,128,3,128,3,128,3,128,3,128,3,128,3,128,3, + 128,3,128,3,128,3,128,3,128,3,128,67,128,227,0,227, + 0,230,0,124,0,19,25,75,20,0,0,12,0,0,252,0, + 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,0, + 28,0,0,28,0,0,28,127,128,28,30,0,28,24,0,28, + 48,0,28,96,0,28,192,0,29,192,0,31,224,0,30,240, + 0,28,120,0,28,60,0,28,28,0,28,14,0,28,15,0, + 28,7,128,255,31,224,9,25,50,11,1,0,12,0,28,0, + 252,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,255,128,27,16, + 64,27,0,0,28,240,120,0,253,252,254,0,31,29,142,0, + 30,15,7,0,30,15,7,0,28,14,7,0,28,14,7,0, + 28,14,7,0,28,14,7,0,28,14,7,0,28,14,7,0, + 28,14,7,0,28,14,7,0,28,14,7,0,28,14,7,0, + 255,63,159,224,19,16,48,19,0,0,28,120,0,253,254,0, + 31,142,0,30,7,0,30,7,0,28,7,0,28,7,0,28, + 7,0,28,7,0,28,7,0,28,7,0,28,7,0,28,7, + 0,28,7,0,28,7,0,255,31,224,14,16,32,16,1,0, + 7,128,31,224,56,112,112,56,112,56,224,28,224,28,224,28, + 224,28,224,28,224,28,112,56,112,56,56,112,31,224,7,128, + 16,23,46,19,1,249,25,240,251,252,62,30,60,14,60,7, + 56,7,56,7,56,7,56,7,56,7,56,7,60,14,60,14, + 62,28,59,252,57,240,56,0,56,0,56,0,56,0,56,0, + 124,0,255,0,16,23,46,17,1,249,7,196,31,236,56,60, + 112,60,112,28,224,28,224,28,224,28,224,28,224,28,224,28, + 240,60,112,60,56,124,63,220,15,156,0,28,0,28,0,28, + 0,28,0,28,0,62,0,255,14,16,32,15,0,0,28,120, + 253,252,31,60,30,60,30,24,28,0,28,0,28,0,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,255,128,11,16, + 32,15,2,0,30,192,127,192,225,192,192,192,192,192,240,64, + 254,0,127,128,63,192,7,224,128,224,192,96,192,96,224,224, + 255,192,159,0,12,23,46,13,0,0,4,0,4,0,12,0, + 12,0,28,0,28,0,60,0,255,224,28,0,28,0,28,0, + 28,0,28,0,28,0,28,0,28,0,28,16,28,16,28,48, + 28,48,30,96,15,224,7,192,18,16,48,20,0,0,28,7, + 0,252,63,0,28,7,0,28,7,0,28,7,0,28,7,0, + 28,7,0,28,7,0,28,7,0,28,7,0,28,7,0,28, + 15,0,28,15,0,30,63,0,15,247,192,7,199,0,17,16, + 48,17,0,0,255,31,128,124,7,0,60,6,0,30,6,0, + 30,12,0,14,12,0,15,8,0,7,24,0,7,24,0,7, + 176,0,3,176,0,3,224,0,1,224,0,1,224,0,0,192, + 0,0,192,0,24,16,48,24,0,0,254,127,63,120,60,14, + 56,28,12,60,28,28,28,30,24,28,30,24,14,54,16,14, + 39,48,15,103,48,7,103,96,7,67,96,3,195,192,3,195, + 192,3,129,192,1,129,128,1,129,128,16,16,32,19,1,0, + 255,127,60,28,30,24,14,48,15,48,7,96,3,192,3,192, + 1,224,3,224,6,112,12,120,28,56,56,60,120,30,254,127, + 18,23,69,20,1,249,255,31,192,60,7,0,60,6,0,28, + 6,0,30,12,0,14,12,0,15,8,0,7,24,0,7,24, + 0,7,176,0,3,176,0,3,224,0,1,224,0,1,224,0, + 0,192,0,0,192,0,1,128,0,1,128,0,99,0,0,243, + 0,0,230,0,0,252,0,0,112,0,0,13,16,32,15,1, + 0,127,248,120,120,96,240,96,224,65,224,67,192,3,128,7, + 128,15,0,14,0,30,8,60,8,56,24,120,56,240,248,255, + 248,6,30,30,11,3,252,12,28,56,48,48,48,48,48,48, + 48,48,48,48,112,224,224,112,48,48,48,48,48,48,48,48, + 48,48,56,28,12,2,25,25,20,9,0,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,6,30,30,11,2,252,192,224,112,48,48,48, + 48,48,48,48,48,48,48,56,28,28,56,48,48,48,48,48, + 48,48,48,48,48,112,224,192,16,4,8,20,2,6,30,3, + 127,135,225,254,192,120,255}; +/* + Fontname: -FreeType-Org_v01-Medium-R-Normal--8-80-72-72-P-43-ISO10646-1 + Copyright: © www.orgdot.com + Capital A Height: 5, '1' Height: 5 + Calculated Max Values w=11 h= 9 x= 1 y= 4 dx=12 dy= 0 ascent= 9 len=10 + Font Bounding box w=11 h=11 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent = 5 descent=-1 + X Font ascent = 5 descent=-1 + Max Font ascent = 9 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_orgv01[1535] U8G_FONT_SECTION("u8g_font_orgv01") = { + 1,11,11,0,254,5,0,249,1,238,32,255,255,9,254,5, + 255,2,0,64,2,21,37,128,128,128,0,128,6,49,65,160, + 2,85,101,80,248,80,248,80,2,85,101,248,160,248,40,248, + 2,85,101,136,16,32,64,136,2,85,101,240,144,248,144,232, + 6,17,33,128,2,37,53,64,128,128,128,64,2,37,53,128, + 64,64,64,128,3,51,67,160,64,160,3,51,67,64,224,64, + 1,18,34,128,128,4,65,81,240,2,17,33,128,2,85,101, + 8,16,32,64,128,2,85,101,248,136,136,136,248,2,21,37, + 128,128,128,128,128,2,85,101,248,8,248,128,248,2,85,101, + 248,8,248,8,248,2,85,101,136,136,248,8,8,2,85,101, + 248,128,248,8,248,2,85,101,248,128,248,136,248,2,85,101, + 248,8,8,8,8,2,85,101,248,136,248,136,248,2,85,101, + 248,136,248,8,248,2,20,36,128,0,0,128,2,20,36,128, + 0,128,128,2,53,69,32,64,128,64,32,3,67,83,240,0, + 240,2,53,69,128,64,32,64,128,2,85,101,248,8,56,0, + 32,2,85,101,248,168,184,128,248,2,85,101,248,136,248,136, + 136,2,85,101,240,136,240,136,240,2,85,101,248,128,128,128, + 248,2,85,101,240,136,136,136,240,2,85,101,248,128,248,128, + 248,2,85,101,248,128,248,128,128,2,85,101,248,128,184,136, + 248,2,85,101,136,136,248,136,136,2,85,101,248,32,32,32, + 248,2,85,101,120,16,16,144,248,2,85,101,136,176,192,176, + 136,2,85,101,128,128,128,128,248,2,85,101,248,168,168,168, + 168,2,85,101,248,136,136,136,136,2,85,101,248,136,136,136, + 248,2,85,101,248,136,248,128,128,2,85,101,248,136,136,152, + 248,2,85,101,248,136,248,144,144,2,85,101,248,128,248,8, + 248,2,85,101,248,32,32,32,32,2,85,101,136,136,136,136, + 248,2,85,101,136,136,136,80,32,2,85,101,168,168,168,168, + 248,2,85,101,136,80,32,80,136,2,85,101,136,136,80,32, + 32,2,85,101,248,8,248,128,248,2,37,53,192,128,128,128, + 192,2,85,101,128,64,32,16,8,2,37,53,192,64,64,64, + 192,5,50,66,64,160,1,81,97,248,6,17,33,128,2,68, + 84,240,16,240,240,2,69,85,128,240,144,144,240,2,68,84, + 240,128,128,240,2,69,85,16,240,144,144,240,2,68,84,240, + 240,128,240,2,53,69,96,64,224,64,64,1,69,85,240,144, + 144,240,16,2,69,85,128,240,144,144,144,2,20,36,128,128, + 128,128,1,37,53,64,64,64,64,192,2,69,85,128,160,240, + 144,144,2,21,37,128,128,128,128,128,2,84,100,248,168,136, + 136,2,68,84,240,144,144,144,2,68,84,240,144,144,240,1, + 69,85,240,144,144,240,128,1,69,85,240,144,144,240,32,2, + 68,84,240,128,128,128,2,68,84,64,112,16,240,2,85,101, + 32,248,32,32,32,2,68,84,144,144,144,240,2,68,84,144, + 144,144,112,2,84,100,136,136,168,248,2,68,84,144,96,96, + 144,1,69,85,144,144,144,240,16,2,68,84,32,224,128,240, + 2,53,69,32,64,192,64,32,2,21,37,128,128,128,128,128, + 2,53,69,128,64,96,64,128,3,83,99,8,248,128,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,255,255,255,255,255,255,255,255, + 2,20,36,128,0,128,128,2,85,101,32,248,160,248,32,2, + 85,101,64,224,64,72,120,2,85,101,136,112,80,112,136,2, + 85,101,136,248,32,112,32,2,21,37,128,128,0,128,128,2, + 86,102,248,128,248,248,8,248,4,81,97,248,18,85,117,248, + 168,200,168,248,2,181,202,251,224,138,0,251,224,136,32,139, + 224,19,83,115,72,144,72,3,66,82,240,16,255,2,85,101, + 248,248,200,200,248,6,81,97,248,2,0,112,2,0,112,2, + 0,112,2,0,112,2,0,112,2,0,112,2,0,112,2,0, + 112,2,0,112,2,0,112,2,0,112,4,83,99,144,72,144, + 2,0,112,2,0,112,2,0,112,18,85,117,32,0,224,128, + 248,2,88,104,64,32,0,248,136,248,136,136,2,88,104,16, + 32,0,248,136,248,136,136,2,88,104,32,80,0,248,136,248, + 136,136,2,89,105,8,248,128,0,248,136,248,136,136,2,87, + 103,80,0,248,136,248,136,136,2,87,103,32,0,248,136,248, + 136,136,2,85,101,248,160,248,160,184,0,87,103,248,128,128, + 128,248,16,48,2,88,104,64,32,0,248,128,248,128,248,2, + 88,104,16,32,0,248,128,248,128,248,2,88,104,32,80,0, + 248,128,248,128,248,2,86,102,80,248,128,248,128,248,2,88, + 104,64,32,0,248,32,32,32,248,2,88,104,16,32,0,248, + 32,32,32,248,2,88,104,32,80,0,248,32,32,32,248,2, + 87,103,80,0,248,32,32,32,248,2,85,101,240,136,232,136, + 240,2,89,105,8,248,128,0,248,136,136,136,136,2,88,104, + 64,32,0,248,136,136,136,248,2,88,104,16,32,0,248,136, + 136,136,248,2,88,104,32,80,0,248,136,136,136,248,2,89, + 105,8,248,128,0,248,136,136,136,248,2,87,103,80,0,248, + 136,136,136,248,3,51,67,160,64,160,2,85,101,248,152,168, + 200,248,2,87,103,64,32,136,136,136,136,248,2,87,103,16, + 32,136,136,136,136,248,2,86,102,32,80,136,136,136,248,2, + 86,102,80,0,136,136,136,248,2,88,104,16,32,0,136,136, + 80,32,32,18,85,117,128,240,136,240,128,1,86,102,240,136, + 176,136,176,128,2,68,84,240,16,240,240,2,71,87,64,32, + 0,240,16,240,240,2,71,87,32,64,0,240,16,240,240,2, + 71,87,96,144,0,240,16,240,240,2,70,86,144,0,240,16, + 240,240,2,70,86,32,0,240,16,240,240,2,116,132,254,30, + 240,254,0,70,86,240,128,128,240,32,96,2,71,87,64,32, + 0,240,240,128,240,2,71,87,32,64,0,240,240,128,240,2, + 71,87,96,144,0,240,240,128,240,2,70,86,144,0,240,240, + 128,240,2,39,39,128,64,0,64,64,64,64,2,39,39,64, + 128,0,128,128,128,128,2,55,39,64,160,0,64,64,64,64, + 2,54,38,160,0,64,64,64,64,2,85,85,56,16,240,144, + 240,2,71,87,80,160,0,240,144,144,144,2,71,87,64,32, + 0,240,144,144,240,2,71,87,32,64,0,240,144,144,240,2, + 71,87,96,144,0,240,144,144,240,2,71,87,80,160,0,240, + 144,144,240,2,70,86,144,0,240,144,144,240,2,85,101,32, + 0,248,0,32,2,68,84,240,176,208,240,2,71,87,64,32, + 0,144,144,144,240,2,71,87,32,64,0,144,144,144,240,2, + 71,87,96,144,0,144,144,144,240,2,70,86,144,0,144,144, + 144,240,1,72,88,32,64,0,144,144,144,240,16,18,85,117, + 128,240,136,240,128,1,71,87,144,0,144,144,144,240,16}; +/* + Fontname: -FreeType-Org_v01-Medium-R-Normal--8-80-72-72-P-43-ISO10646-1 + Copyright: © www.orgdot.com + Capital A Height: 0, '1' Height: 5 + Calculated Max Values w= 5 h= 5 x= 0 y= 2 dx= 6 dy= 0 ascent= 5 len= 5 + Font Bounding box w=11 h=11 x= 0 y=-2 + Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 + Pure Font ascent = 5 descent= 0 + X Font ascent = 5 descent= 0 + Max Font ascent = 5 descent=-1 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_orgv01n[137] U8G_FONT_SECTION("u8g_font_orgv01n") = { + 1,11,11,0,254,5,0,0,0,0,42,58,0,5,255,5, + 0,3,51,67,160,64,160,3,51,67,64,224,64,1,18,34, + 128,128,4,65,81,240,2,17,33,128,2,85,101,8,16,32, + 64,128,2,85,101,248,136,136,136,248,2,21,37,128,128,128, + 128,128,2,85,101,248,8,248,128,248,2,85,101,248,8,248, + 8,248,2,85,101,136,136,248,8,8,2,85,101,248,128,248, + 8,248,2,85,101,248,128,248,136,248,2,85,101,248,8,8, + 8,8,2,85,101,248,136,248,136,248,2,85,101,248,136,248, + 8,248,2,20,36,128,0,0,128}; +/* + Fontname: -FreeType-Org_v01-Medium-R-Normal--8-80-72-72-P-43-ISO10646-1 + Copyright: © www.orgdot.com + Capital A Height: 5, '1' Height: 5 + Calculated Max Values w= 5 h= 5 x= 0 y= 4 dx= 6 dy= 0 ascent= 5 len= 5 + Font Bounding box w=11 h=11 x= 0 y=-2 + Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 + Pure Font ascent = 5 descent=-1 + X Font ascent = 5 descent=-1 + Max Font ascent = 5 descent=-1 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_orgv01r[719] U8G_FONT_SECTION("u8g_font_orgv01r") = { + 1,11,11,0,254,5,0,249,1,238,32,127,255,5,255,5, + 255,2,0,64,2,21,37,128,128,128,0,128,6,49,65,160, + 2,85,101,80,248,80,248,80,2,85,101,248,160,248,40,248, + 2,85,101,136,16,32,64,136,2,85,101,240,144,248,144,232, + 6,17,33,128,2,37,53,64,128,128,128,64,2,37,53,128, + 64,64,64,128,3,51,67,160,64,160,3,51,67,64,224,64, + 1,18,34,128,128,4,65,81,240,2,17,33,128,2,85,101, + 8,16,32,64,128,2,85,101,248,136,136,136,248,2,21,37, + 128,128,128,128,128,2,85,101,248,8,248,128,248,2,85,101, + 248,8,248,8,248,2,85,101,136,136,248,8,8,2,85,101, + 248,128,248,8,248,2,85,101,248,128,248,136,248,2,85,101, + 248,8,8,8,8,2,85,101,248,136,248,136,248,2,85,101, + 248,136,248,8,248,2,20,36,128,0,0,128,2,20,36,128, + 0,128,128,2,53,69,32,64,128,64,32,3,67,83,240,0, + 240,2,53,69,128,64,32,64,128,2,85,101,248,8,56,0, + 32,2,85,101,248,168,184,128,248,2,85,101,248,136,248,136, + 136,2,85,101,240,136,240,136,240,2,85,101,248,128,128,128, + 248,2,85,101,240,136,136,136,240,2,85,101,248,128,248,128, + 248,2,85,101,248,128,248,128,128,2,85,101,248,128,184,136, + 248,2,85,101,136,136,248,136,136,2,85,101,248,32,32,32, + 248,2,85,101,120,16,16,144,248,2,85,101,136,176,192,176, + 136,2,85,101,128,128,128,128,248,2,85,101,248,168,168,168, + 168,2,85,101,248,136,136,136,136,2,85,101,248,136,136,136, + 248,2,85,101,248,136,248,128,128,2,85,101,248,136,136,152, + 248,2,85,101,248,136,248,144,144,2,85,101,248,128,248,8, + 248,2,85,101,248,32,32,32,32,2,85,101,136,136,136,136, + 248,2,85,101,136,136,136,80,32,2,85,101,168,168,168,168, + 248,2,85,101,136,80,32,80,136,2,85,101,136,136,80,32, + 32,2,85,101,248,8,248,128,248,2,37,53,192,128,128,128, + 192,2,85,101,128,64,32,16,8,2,37,53,192,64,64,64, + 192,5,50,66,64,160,1,81,97,248,6,17,33,128,2,68, + 84,240,16,240,240,2,69,85,128,240,144,144,240,2,68,84, + 240,128,128,240,2,69,85,16,240,144,144,240,2,68,84,240, + 240,128,240,2,53,69,96,64,224,64,64,1,69,85,240,144, + 144,240,16,2,69,85,128,240,144,144,144,2,20,36,128,128, + 128,128,1,37,53,64,64,64,64,192,2,69,85,128,160,240, + 144,144,2,21,37,128,128,128,128,128,2,84,100,248,168,136, + 136,2,68,84,240,144,144,144,2,68,84,240,144,144,240,1, + 69,85,240,144,144,240,128,1,69,85,240,144,144,240,32,2, + 68,84,240,128,128,128,2,68,84,64,112,16,240,2,85,101, + 32,248,32,32,32,2,68,84,144,144,144,240,2,68,84,144, + 144,144,112,2,84,100,136,136,168,248,2,68,84,144,96,96, + 144,1,69,85,144,144,144,240,16,2,68,84,32,224,128,240, + 2,53,69,32,64,192,64,32,2,21,37,128,128,128,128,128, + 2,53,69,128,64,96,64,128,3,83,99,8,248,128,255}; +/* + Fontname: -FreeType-Old Standard TT-Bold-R-Normal--25-250-72-72-P-136-ISO10646-1 + Copyright: Copyright (C) 2006-2008 Alexey Kryukov + Capital A Height: 18, '1' Height: 18 + Calculated Max Values w=26 h=24 x= 5 y=14 dx=27 dy= 0 ascent=24 len=72 + Font Bounding box w=70 h=31 x=-22 y=-7 + Calculated Min Values x=-1 y=-6 dx= 0 dy= 0 + Pure Font ascent =18 descent=-6 + X Font ascent =18 descent=-6 + Max Font ascent =24 descent=-6 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_osb18[7637] U8G_FONT_SECTION("u8g_font_osb18") = { + 0,70,31,234,249,18,4,190,10,54,32,255,250,24,250,18, + 250,0,0,0,7,0,0,4,18,18,6,1,0,96,240,240, + 240,240,240,96,96,96,96,96,64,0,0,96,240,240,96,6, + 6,6,10,2,12,204,204,204,204,204,204,15,18,36,19,2, + 0,6,24,6,24,4,16,4,16,12,48,255,254,255,254,12, + 48,8,32,8,32,24,96,24,96,255,254,255,254,16,64,16, + 64,48,192,48,192,11,22,44,14,2,254,9,0,9,0,31, + 128,105,64,73,32,201,32,201,96,249,224,249,64,127,0,63, + 128,31,192,15,192,73,224,233,224,201,96,137,96,137,96,73, + 192,63,128,9,0,9,0,17,18,54,21,2,0,56,4,0, + 68,12,0,198,8,0,198,24,0,198,48,0,198,32,0,198, + 96,0,76,64,0,56,192,0,1,142,0,1,27,0,3,49, + 128,2,49,128,4,49,128,12,49,128,8,49,128,24,17,0, + 16,14,0,17,18,54,19,1,0,3,192,0,4,32,0,12, + 32,0,12,32,0,12,32,0,14,64,0,15,128,0,7,0, + 0,15,143,128,27,195,0,49,194,0,96,226,0,224,244,0, + 224,120,0,240,56,0,240,60,0,126,223,128,63,15,0,2, + 6,6,6,2,12,192,192,192,192,192,192,7,23,23,9,1, + 251,2,4,8,16,48,96,96,96,224,224,224,224,224,224,224, + 96,96,96,48,16,8,4,2,7,23,23,9,0,251,128,64, + 32,16,24,12,12,14,14,14,14,14,14,14,14,14,12,12, + 24,16,32,64,128,9,10,20,13,2,8,24,0,24,0,201, + 128,235,128,28,0,44,0,235,128,217,128,24,0,24,0,21, + 21,63,23,1,253,0,48,0,0,48,0,0,48,0,0,48, + 0,0,48,0,0,48,0,0,48,0,0,48,0,0,48,0, + 0,48,0,255,255,248,255,255,248,0,48,0,0,48,0,0, + 48,0,0,48,0,0,48,0,0,48,0,0,48,0,0,48, + 0,0,48,0,4,9,9,7,2,251,224,240,240,240,16,32, + 32,64,128,6,3,3,8,1,5,252,252,252,4,4,4,8, + 2,0,96,240,240,96,9,23,46,11,1,251,1,128,1,128, + 1,0,3,0,3,0,2,0,6,0,6,0,4,0,12,0, + 12,0,8,0,24,0,24,0,24,0,16,0,48,0,48,0, + 32,0,96,0,96,0,64,0,192,0,12,18,36,15,1,0, + 15,0,25,128,48,192,112,224,112,224,240,224,240,240,240,240, + 240,240,240,240,240,240,240,240,240,240,112,224,112,224,48,192, + 25,128,15,0,8,18,18,15,3,0,24,56,248,56,56,56, + 56,56,56,56,56,56,56,56,56,56,56,255,11,18,36,15, + 2,0,31,0,113,192,96,224,224,224,240,224,248,224,121,192, + 1,192,3,0,6,0,8,0,48,32,64,32,64,32,255,224, + 191,224,143,192,135,128,12,18,36,15,1,0,31,0,49,192, + 96,224,112,224,120,224,120,224,0,192,1,128,62,0,1,192, + 0,224,0,240,112,240,248,240,240,240,192,224,65,192,63,0, + 11,18,36,15,2,0,3,0,7,0,7,0,15,0,15,0, + 23,0,55,0,39,0,103,0,71,0,199,0,135,0,255,224, + 7,0,7,0,7,0,7,0,63,224,11,18,36,15,2,0, + 65,128,127,128,126,0,120,0,64,0,64,0,95,0,99,128, + 65,192,65,224,1,224,33,224,241,224,241,224,225,192,193,192, + 67,128,62,0,11,18,36,15,2,0,7,128,24,64,48,224, + 113,224,113,224,240,0,240,0,247,128,249,192,240,224,240,224, + 240,224,240,224,112,224,112,224,48,192,57,192,15,0,11,18, + 36,15,2,0,156,64,190,96,255,32,255,224,128,32,128,64, + 128,64,0,128,1,128,3,0,7,0,6,0,14,0,30,0, + 30,0,30,0,30,0,12,0,12,18,36,15,1,0,31,128, + 32,64,64,32,192,32,192,32,240,32,252,64,127,128,127,192, + 63,224,103,240,193,240,192,112,192,48,192,48,96,32,112,64, + 31,128,12,18,36,15,2,0,31,0,113,128,96,192,224,224, + 224,224,224,240,224,240,96,240,113,240,30,240,0,240,0,240, + 56,224,120,224,120,224,97,192,33,128,30,0,4,12,12,8, + 2,0,96,240,240,96,0,0,0,0,96,240,240,96,4,17, + 17,7,2,251,96,240,240,96,0,0,0,0,224,240,240,240, + 16,32,32,64,128,19,21,63,24,2,252,0,0,96,0,1, + 224,0,7,128,0,14,0,0,56,0,0,224,0,3,128,0, + 15,0,0,60,0,0,112,0,0,224,0,0,120,0,0,28, + 0,0,7,0,0,1,192,0,0,112,0,0,60,0,0,15, + 0,0,3,128,0,0,224,0,0,32,21,7,21,23,1,3, + 255,255,248,255,255,248,0,0,0,0,0,0,0,0,0,255, + 255,248,255,255,248,19,21,63,24,2,252,192,0,0,240,0, + 0,60,0,0,14,0,0,3,128,0,0,224,0,0,56,0, + 0,30,0,0,7,128,0,1,192,0,0,224,0,3,192,0, + 7,0,0,28,0,0,112,0,1,192,0,7,128,0,30,0, + 0,56,0,0,224,0,0,128,0,0,8,18,18,12,2,0, + 60,78,135,135,135,78,12,24,16,32,36,36,24,0,24,60, + 60,24,18,18,54,20,1,0,3,240,0,12,12,0,24,3, + 0,48,237,0,97,173,128,99,28,128,199,28,192,207,24,192, + 206,24,192,206,56,192,206,56,192,206,56,128,78,49,128,110, + 91,0,35,156,0,48,0,0,12,4,0,3,248,0,17,18, + 54,19,1,0,0,192,0,0,192,0,0,192,0,1,224,0, + 1,224,0,1,224,0,2,240,0,2,240,0,4,112,0,4, + 120,0,4,120,0,8,56,0,15,252,0,8,60,0,16,28, + 0,16,30,0,48,30,0,252,127,128,15,18,36,18,2,0, + 255,224,56,56,56,56,56,28,56,28,56,28,56,56,56,48, + 63,192,56,56,56,28,56,30,56,30,56,30,56,30,56,28, + 56,56,255,240,13,18,36,17,2,0,7,136,24,120,48,56, + 112,24,112,24,240,8,240,8,240,8,240,0,240,0,240,0, + 240,8,240,8,112,8,112,8,56,16,24,32,7,192,16,18, + 36,19,2,0,255,224,56,56,56,28,56,14,56,14,56,14, + 56,15,56,15,56,15,56,15,56,15,56,15,56,14,56,14, + 56,12,56,28,56,56,255,224,14,18,36,18,2,0,255,252, + 56,28,56,12,56,12,56,4,56,68,56,64,56,192,56,192, + 63,192,56,192,56,68,56,68,56,4,56,4,56,12,56,28, + 255,252,14,18,36,17,2,0,255,252,56,60,56,28,56,12, + 56,4,56,68,56,68,56,192,56,192,63,192,56,192,56,64, + 56,64,56,0,56,0,56,0,56,0,255,0,15,18,36,18, + 2,0,7,136,24,104,48,56,112,24,112,8,112,8,240,8, + 240,0,240,0,241,254,240,56,240,56,240,56,112,56,112,56, + 48,40,24,72,15,136,17,18,54,20,2,0,255,127,128,56, + 14,0,56,14,0,56,14,0,56,14,0,56,14,0,56,14, + 0,56,14,0,63,254,0,56,14,0,56,14,0,56,14,0, + 56,14,0,56,14,0,56,14,0,56,14,0,56,14,0,255, + 127,128,8,18,18,11,2,0,255,56,56,56,56,56,56,56, + 56,56,56,56,56,56,56,56,56,255,11,18,36,13,1,0, + 31,224,3,128,3,128,3,128,3,128,3,128,3,128,3,128, + 3,128,3,128,3,128,115,128,243,128,243,128,227,128,195,128, + 67,0,60,0,17,18,54,19,2,0,254,127,0,56,24,0, + 56,16,0,56,32,0,56,64,0,56,192,0,57,128,0,59, + 192,0,59,192,0,61,224,0,57,240,0,56,240,0,56,248, + 0,56,120,0,56,124,0,56,60,0,56,62,0,254,127,128, + 14,18,36,17,2,0,255,0,56,0,56,0,56,0,56,0, + 56,0,56,0,56,0,56,0,56,0,56,4,56,4,56,4, + 56,12,56,12,56,28,56,60,255,252,20,18,54,22,1,0, + 254,3,240,30,3,192,30,3,192,31,5,192,31,5,192,23, + 5,192,23,133,192,23,137,192,19,201,192,19,201,192,17,209, + 192,17,241,192,17,241,192,16,241,192,16,225,192,16,225,192, + 56,97,192,254,111,240,17,18,54,18,1,0,252,63,128,60, + 14,0,62,4,0,31,4,0,31,4,0,31,132,0,23,196, + 0,19,196,0,17,228,0,17,244,0,16,244,0,16,124,0, + 16,124,0,16,60,0,16,28,0,16,28,0,56,12,0,254, + 4,0,15,18,36,18,2,0,7,192,8,32,56,48,48,24, + 112,28,112,28,240,30,240,30,240,30,240,30,240,30,240,30, + 112,28,112,28,48,24,48,56,8,32,7,192,15,18,36,18, + 2,0,255,240,56,56,56,28,56,30,56,30,56,30,56,30, + 56,28,56,56,63,224,56,0,56,0,56,0,56,0,56,0, + 56,0,56,0,255,128,15,24,48,18,2,250,7,192,8,32, + 56,56,48,24,112,28,112,28,240,30,240,30,240,30,240,30, + 240,30,240,30,112,28,112,28,51,152,52,176,28,226,7,194, + 0,194,0,194,0,230,0,254,0,124,0,56,16,18,36,19, + 2,0,255,224,56,120,56,56,56,60,56,60,56,60,56,56, + 56,112,63,192,56,96,56,48,56,56,56,56,56,57,56,57, + 56,57,56,57,255,158,12,18,36,15,2,0,30,32,97,160, + 192,224,192,96,224,32,240,32,252,0,126,0,63,128,15,192, + 135,224,129,240,128,240,192,48,192,48,224,32,176,96,143,128, + 15,18,36,18,2,0,255,254,231,30,199,14,135,14,135,6, + 135,6,7,2,7,2,7,0,7,0,7,0,7,0,7,0, + 7,0,7,0,7,0,7,0,31,224,18,18,54,20,2,0, + 255,31,192,56,7,0,56,2,0,56,2,0,56,2,0,56, + 2,0,56,2,0,56,2,0,56,2,0,56,2,0,56,2, + 0,56,2,0,56,2,0,56,2,0,24,2,0,28,4,0, + 14,8,0,3,240,0,17,18,54,19,2,0,255,63,128,60, + 6,0,60,4,0,30,4,0,30,8,0,30,8,0,15,8, + 0,15,16,0,7,144,0,7,144,0,7,160,0,3,224,0, + 3,224,0,3,192,0,1,192,0,1,192,0,1,192,0,0, + 128,0,26,18,72,27,1,0,255,191,223,192,30,15,6,0, + 30,15,6,0,15,15,4,0,15,15,132,0,15,15,132,0, + 7,143,140,0,7,139,200,0,7,147,200,0,3,211,200,0, + 3,209,240,0,3,225,240,0,1,225,240,0,1,224,240,0, + 1,224,224,0,0,192,224,0,0,192,96,0,0,192,64,0, + 16,18,36,19,2,0,255,63,62,24,30,16,31,16,15,32, + 15,224,7,192,7,192,3,192,3,224,3,224,2,240,4,240, + 8,120,8,120,16,60,48,60,252,255,16,18,36,19,2,0, + 254,127,60,12,60,8,30,16,30,16,30,16,15,32,15,32, + 7,64,7,192,3,128,3,128,3,128,3,128,3,128,3,128, + 3,128,15,240,13,18,36,16,2,0,127,248,112,120,96,240, + 97,240,65,224,67,224,3,192,7,192,7,128,15,0,15,0, + 30,0,30,8,60,8,124,24,120,24,248,56,255,248,6,22, + 22,10,2,252,252,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,252,9,23,46,11,1,251, + 192,0,64,0,96,0,96,0,32,0,48,0,48,0,16,0, + 24,0,24,0,24,0,8,0,12,0,12,0,4,0,6,0, + 6,0,2,0,3,0,3,0,1,0,1,128,1,128,6,22, + 22,10,2,252,252,28,28,28,28,28,28,28,28,28,28,28, + 28,28,28,28,28,28,28,28,28,252,11,9,18,15,2,9, + 4,0,12,0,30,0,27,0,51,0,49,128,96,192,192,192, + 192,96,13,2,4,13,0,252,255,248,255,248,4,4,4,11, + 2,13,192,224,96,48,11,12,24,13,1,0,30,0,99,0, + 99,128,115,128,35,128,31,128,115,128,227,128,227,160,227,160, + 247,160,121,192,12,18,36,13,0,0,248,0,56,0,56,0, + 56,0,56,0,56,0,59,128,60,224,60,224,56,112,56,112, + 56,112,56,112,56,112,56,112,60,224,36,192,35,128,9,12, + 24,12,1,0,30,0,49,0,113,128,227,128,227,128,224,0, + 224,0,224,0,224,128,112,128,49,0,30,0,12,18,36,13, + 1,0,7,192,1,192,1,192,1,192,1,192,1,192,29,192, + 115,192,99,192,225,192,225,192,225,192,225,192,225,192,225,192, + 99,192,115,192,29,240,9,12,24,12,1,0,30,0,51,0, + 99,128,227,128,227,128,255,128,224,0,224,0,224,128,112,128, + 49,0,30,0,9,18,36,9,1,0,15,0,29,128,59,128, + 59,128,57,0,56,0,252,0,56,0,56,0,56,0,56,0, + 56,0,56,0,56,0,56,0,56,0,56,0,252,0,12,18, + 36,14,1,250,30,112,51,176,113,240,113,192,113,192,113,192, + 51,128,30,0,96,0,127,128,127,192,63,224,96,224,128,96, + 128,96,128,64,64,192,63,0,12,18,36,13,0,0,248,0, + 56,0,56,0,56,0,56,0,56,0,57,192,62,224,60,224, + 56,224,56,224,56,224,56,224,56,224,56,224,56,224,56,224, + 253,240,5,18,18,7,1,0,112,112,112,32,0,0,240,112, + 112,112,112,112,112,112,112,112,112,248,7,24,24,8,255,250, + 14,14,14,4,0,0,62,14,14,14,14,14,14,14,14,14, + 14,14,14,110,238,238,204,120,13,18,36,13,0,0,248,0, + 56,0,56,0,56,0,56,0,56,0,57,240,56,192,56,128, + 57,0,57,0,59,128,63,128,57,192,57,192,56,224,56,224, + 255,248,7,18,18,8,0,0,248,56,56,56,56,56,56,56, + 56,56,56,56,56,56,56,56,56,254,18,12,36,19,1,0, + 243,142,0,125,247,0,121,231,0,113,199,0,113,199,0,113, + 199,0,113,199,0,113,199,0,113,199,0,113,199,0,113,199, + 0,251,239,192,11,12,24,13,1,0,243,128,125,192,121,192, + 113,192,113,192,113,192,113,192,113,192,113,192,113,192,113,192, + 251,224,10,12,24,12,1,0,30,0,51,0,97,128,225,192, + 225,192,225,192,225,192,225,192,225,192,97,128,51,0,30,0, + 12,18,36,13,0,250,251,128,60,192,60,224,56,112,56,112, + 56,112,56,112,56,112,56,112,60,224,60,224,59,192,56,0, + 56,0,56,0,56,0,56,0,254,0,11,18,36,13,1,250, + 28,64,50,64,99,192,225,192,225,192,225,192,225,192,225,192, + 225,192,99,192,115,192,61,192,1,192,1,192,1,192,1,192, + 1,192,7,224,9,12,24,11,1,0,243,0,117,128,123,128, + 123,128,112,0,112,0,112,0,112,0,112,0,112,0,112,0, + 248,0,9,12,24,11,1,0,57,0,199,0,195,0,225,0, + 240,0,124,0,63,0,143,128,131,128,193,128,225,0,158,0, + 8,17,17,10,1,0,16,16,16,48,112,254,112,112,112,112, + 112,113,113,113,113,114,60,12,12,24,13,0,0,249,224,56, + 224,56,224,56,224,56,224,56,224,56,224,56,224,56,224,57, + 224,58,224,28,240,12,12,24,13,1,0,253,240,112,64,56, + 64,56,128,28,128,28,128,29,0,15,0,14,0,14,0,6, + 0,4,0,19,12,36,19,0,0,253,251,224,56,112,128,28, + 112,128,28,113,0,28,121,0,14,185,0,14,154,0,14,158, + 0,7,28,0,7,12,0,2,12,0,2,8,0,12,12,24, + 13,0,0,253,240,56,64,28,128,31,0,15,0,15,0,7, + 0,7,128,11,192,17,192,17,224,253,240,12,18,36,12,0, + 250,252,240,112,64,56,64,56,128,28,128,28,128,29,0,15, + 0,15,0,7,0,6,0,6,0,2,0,4,0,116,0,116, + 0,104,0,56,0,10,12,24,12,1,0,127,192,99,128,71, + 128,71,0,15,0,14,0,28,0,60,64,56,64,120,64,112, + 192,255,192,8,23,23,10,1,251,3,28,56,56,56,56,56, + 56,56,56,48,192,48,56,56,56,56,56,56,56,56,28,3, + 2,23,23,8,3,251,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,8,23,23, + 11,2,251,192,112,56,56,56,56,56,56,56,56,28,7,28, + 56,56,56,56,56,56,56,56,112,192,14,5,10,16,1,4, + 120,8,255,4,143,196,131,252,64,120,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,255,255,255,255,255,255,255,0,0,0,7,0, + 0,4,18,18,6,1,250,96,240,240,96,0,0,64,96,96, + 96,96,96,240,240,240,240,240,96,9,18,36,15,3,253,4, + 0,4,0,4,0,30,0,53,0,117,128,231,128,231,128,228, + 0,228,0,228,0,228,0,100,128,116,128,31,0,4,0,4, + 0,4,0,16,18,36,19,2,0,0,248,1,132,3,6,7, + 14,7,14,7,0,7,0,63,0,7,240,7,128,3,128,3, + 128,3,128,3,1,123,2,143,204,135,252,120,240,12,12,24, + 14,1,3,132,16,223,176,112,224,96,96,192,48,192,48,192, + 48,192,48,64,96,96,96,127,224,207,48,14,18,36,14,0, + 0,254,124,56,16,60,16,60,32,30,32,30,64,14,64,15, + 128,7,128,127,240,7,0,127,240,7,0,7,0,7,0,7, + 0,7,0,31,224,2,22,22,8,3,252,192,192,192,192,192, + 192,192,192,192,0,0,0,0,192,192,192,192,192,192,192,192, + 192,11,23,46,15,1,251,15,0,48,128,96,192,97,192,97, + 192,112,128,124,0,63,0,223,128,143,192,129,224,192,96,248, + 32,126,32,63,64,15,128,3,192,49,192,112,192,112,192,96, + 128,33,128,30,0,8,3,3,12,2,14,231,231,231,18,18, + 54,20,1,0,3,240,0,12,12,0,16,2,0,33,201,0, + 67,56,128,70,24,128,142,8,64,142,8,64,142,0,64,142, + 0,64,142,8,64,142,8,64,70,8,128,67,16,128,33,225, + 0,16,2,0,12,12,0,3,240,0,7,9,9,10,1,9, + 120,204,204,60,76,204,206,126,254,7,10,10,12,3,1,32, + 100,68,204,204,204,204,196,100,34,13,7,14,15,1,4,255, + 248,255,248,0,24,0,24,0,24,0,24,0,24,6,3,3, + 8,1,5,252,252,252,18,18,54,20,1,0,3,240,0,12, + 12,0,16,2,0,47,225,0,71,48,128,71,56,128,135,56, + 64,135,48,64,135,192,64,135,48,64,135,56,64,135,56,64, + 71,58,128,71,58,128,47,157,0,16,2,0,12,12,0,3, + 240,0,7,2,2,11,2,14,254,254,8,7,7,14,3,11, + 60,102,131,129,129,194,126,21,18,54,23,1,254,0,48,0, + 0,48,0,0,48,0,0,48,0,0,48,0,0,48,0,255, + 255,248,255,255,248,0,48,0,0,48,0,0,48,0,0,48, + 0,0,48,0,0,48,0,0,48,0,0,0,0,255,255,248, + 255,255,248,7,11,11,11,2,7,124,206,206,238,28,48,98, + 66,254,190,8,8,11,11,12,2,7,60,198,231,231,6,56, + 6,103,231,199,60,4,4,4,11,5,13,48,112,96,192,13, + 18,36,15,1,250,97,128,225,192,225,192,225,192,225,192,225, + 192,225,192,64,136,64,136,65,248,127,120,94,48,64,0,96, + 0,96,0,112,0,112,0,112,0,13,21,42,15,1,253,31, + 248,126,96,126,96,254,96,254,96,254,96,254,96,126,96,62, + 96,14,96,6,96,6,96,6,96,6,96,6,96,6,96,6, + 96,6,96,6,96,6,96,6,96,4,4,4,8,2,6,96, + 240,240,96,5,5,5,11,3,250,32,96,24,24,240,6,11, + 11,11,3,7,48,240,112,112,112,112,112,112,112,112,252,7, + 9,9,9,1,9,56,68,198,198,198,198,68,56,254,7,10, + 10,13,3,1,152,140,68,102,102,102,102,70,76,136,18,18, + 54,22,3,0,48,8,0,240,8,0,112,16,0,112,48,0, + 112,32,0,112,96,0,112,64,0,112,195,0,112,135,0,113, + 143,0,253,15,0,3,23,0,2,39,0,4,39,0,12,63, + 192,8,7,0,24,7,0,16,31,192,18,18,54,23,3,0, + 48,4,0,240,8,0,112,24,0,112,16,0,112,48,0,112, + 32,0,112,96,0,112,79,0,112,147,192,113,177,192,253,57, + 192,3,3,128,2,6,0,6,8,0,4,16,64,8,63,192, + 24,47,192,16,39,128,20,18,54,23,2,0,124,2,0,199, + 6,0,231,4,0,6,12,0,56,8,0,6,16,0,7,16, + 0,231,33,192,231,97,192,198,67,192,60,133,192,0,133,192, + 1,9,192,1,9,192,2,31,240,6,1,192,4,1,192,8, + 7,240,8,18,18,12,2,250,48,120,120,48,56,68,68,4, + 8,24,48,114,97,225,225,225,114,60,17,23,69,19,1,1, + 7,0,0,7,0,0,1,128,0,0,128,0,0,0,0,0, + 192,0,0,192,0,1,192,0,1,224,0,1,224,0,3,224, + 0,2,240,0,2,240,0,4,240,0,4,120,0,4,120,0, + 8,56,0,15,252,0,8,60,0,16,28,0,16,30,0,48, + 30,0,252,255,128,17,23,69,19,1,1,0,56,0,0,48, + 0,0,96,0,0,192,0,0,0,0,0,192,0,0,192,0, + 0,192,0,1,224,0,1,224,0,1,224,0,2,240,0,2, + 240,0,4,112,0,4,120,0,4,120,0,8,56,0,15,252, + 0,8,60,0,16,28,0,16,30,0,48,30,0,252,127,128, + 17,23,69,19,1,0,0,192,0,1,192,0,3,96,0,6, + 24,0,0,0,0,0,192,0,0,192,0,0,192,0,1,224, + 0,1,224,0,1,224,0,2,240,0,2,240,0,4,112,0, + 4,120,0,4,120,0,8,56,0,15,252,0,8,60,0,16, + 28,0,16,30,0,48,30,0,252,127,128,17,23,69,19,1, + 0,1,8,0,7,240,0,4,240,0,0,0,0,0,0,0, + 0,192,0,0,192,0,1,192,0,1,224,0,1,224,0,3, + 224,0,2,240,0,2,240,0,4,240,0,4,120,0,4,120, + 0,8,56,0,15,252,0,8,60,0,16,28,0,16,30,0, + 48,30,0,252,255,128,16,23,46,18,1,0,14,112,14,112, + 14,112,0,0,0,0,1,128,1,128,1,128,3,192,3,192, + 3,192,5,224,5,224,4,224,8,240,8,240,8,112,31,248, + 16,120,16,60,48,60,48,60,252,255,18,23,69,19,1,0, + 1,224,0,2,16,0,2,16,0,1,224,0,0,0,0,0, + 192,0,0,192,0,0,224,0,1,224,0,1,224,0,1,240, + 0,2,240,0,2,240,0,4,120,0,4,120,0,4,120,0, + 8,60,0,15,252,0,8,28,0,16,30,0,16,30,0,48, + 30,0,252,127,192,23,18,54,25,1,0,0,127,254,0,60, + 14,0,60,6,0,124,6,0,92,2,0,220,34,0,156,32, + 1,156,96,1,28,96,3,31,224,2,28,96,6,28,34,7, + 252,34,8,28,2,8,28,2,24,28,6,56,28,14,254,127, + 254,13,24,48,17,2,250,7,136,24,120,48,56,112,24,112, + 24,240,8,240,8,240,8,240,0,240,0,240,0,240,8,240, + 8,112,8,112,8,56,16,24,32,7,192,2,0,3,128,0, + 192,0,192,8,192,7,128,14,23,46,18,2,1,28,0,12, + 0,6,0,1,0,0,0,255,252,56,28,56,12,56,12,56, + 4,56,68,56,64,56,192,56,192,63,192,56,192,56,68,56, + 68,56,4,56,4,56,12,56,28,255,252,14,23,46,18,2, + 1,0,224,0,192,1,128,2,0,0,0,255,252,56,28,56, + 12,56,12,56,4,56,68,56,64,56,192,56,192,63,192,56, + 192,56,68,56,68,56,4,56,4,56,12,56,28,255,252,14, + 23,46,18,2,0,3,0,7,128,12,192,16,32,0,0,255, + 252,56,28,56,12,56,12,56,4,56,68,56,64,56,192,56, + 192,63,192,56,192,56,68,56,68,56,4,56,4,56,12,56, + 28,255,252,14,23,46,18,2,0,28,224,28,224,28,224,0, + 0,0,0,255,252,56,28,56,12,56,12,56,4,56,68,56, + 64,56,192,56,192,63,192,56,192,56,68,56,68,56,4,56, + 12,56,12,56,28,255,252,8,23,23,11,2,1,192,96,48, + 16,0,255,56,56,56,56,56,56,56,56,56,56,56,56,56, + 56,56,56,255,8,23,23,11,2,1,7,14,8,16,0,255, + 56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56, + 255,8,23,23,11,2,0,16,56,108,130,0,255,56,56,56, + 56,56,56,56,56,56,56,56,56,56,56,56,56,255,8,23, + 23,11,2,0,231,231,231,0,0,255,28,28,28,28,28,28, + 28,28,28,28,28,28,28,28,28,28,255,16,18,36,19,2, + 0,255,224,56,56,56,28,56,14,56,14,56,14,56,15,56, + 15,255,15,56,15,56,15,56,15,56,14,56,14,56,12,56, + 28,56,56,255,224,17,23,69,18,1,0,3,136,0,3,240, + 0,4,96,0,0,0,0,0,0,0,252,63,128,60,14,0, + 62,4,0,31,4,0,31,4,0,23,132,0,23,196,0,19, + 196,0,17,228,0,17,244,0,16,244,0,16,124,0,16,124, + 0,16,60,0,16,28,0,16,28,0,56,12,0,254,4,0, + 15,24,48,18,2,0,12,0,12,0,14,0,3,0,1,0, + 0,0,7,192,8,32,56,48,48,24,112,28,112,28,240,30, + 240,30,240,30,240,30,240,30,240,30,112,28,112,28,48,24, + 48,56,8,32,7,192,15,24,48,18,2,0,0,96,0,96, + 0,224,1,128,1,0,0,0,7,192,8,32,56,48,48,24, + 112,28,112,28,240,30,240,30,240,30,240,30,240,30,240,30, + 112,28,112,28,48,24,48,56,8,32,7,192,15,24,48,18, + 2,0,1,0,3,128,7,128,14,192,24,48,0,0,7,192, + 8,32,56,48,48,24,112,28,112,28,240,30,240,30,240,30, + 240,30,240,30,240,30,112,28,112,28,48,24,48,56,8,32, + 7,192,15,23,46,18,2,0,7,32,15,224,16,192,0,0, + 0,0,7,192,8,32,56,48,48,24,112,28,112,28,240,30, + 240,30,240,30,240,30,240,30,240,30,112,28,112,28,48,24, + 48,56,8,32,7,192,15,23,46,18,2,0,28,224,28,224, + 28,224,0,0,0,0,7,192,8,32,56,48,48,24,112,28, + 112,28,240,30,240,30,240,30,240,30,240,30,240,30,112,28, + 112,28,48,24,48,56,8,32,7,192,16,15,30,24,4,0, + 192,3,96,6,48,12,24,24,12,48,6,96,3,192,1,128, + 3,192,6,96,12,48,56,24,112,12,224,6,192,3,15,18, + 36,18,2,0,7,194,8,116,48,60,48,56,112,60,112,124, + 240,94,240,222,241,158,243,30,246,30,244,30,124,28,120,28, + 56,24,120,24,92,32,135,192,18,24,72,20,2,0,6,0, + 0,7,0,0,3,0,0,1,128,0,0,0,0,0,0,0, + 255,31,192,56,7,0,56,2,0,56,2,0,56,2,0,56, + 2,0,56,2,0,56,2,0,56,2,0,56,2,0,56,2, + 0,56,2,0,56,2,0,56,2,0,24,2,0,28,4,0, + 14,8,0,3,240,0,18,24,72,20,2,0,0,24,0,0, + 56,0,0,112,0,0,192,0,0,128,0,0,0,0,255,31, + 192,56,7,0,56,2,0,56,2,0,56,2,0,56,2,0, + 56,2,0,56,2,0,56,2,0,56,2,0,56,2,0,56, + 2,0,56,2,0,56,2,0,24,2,0,28,4,0,14,8, + 0,3,240,0,18,24,72,20,2,0,0,128,0,1,192,0, + 1,224,0,6,48,0,8,8,0,0,0,0,255,31,192,56, + 7,0,56,2,0,56,2,0,56,2,0,56,2,0,56,2, + 0,56,2,0,56,2,0,56,2,0,56,2,0,56,2,0, + 56,2,0,56,2,0,24,2,0,28,4,0,14,8,0,3, + 240,0,18,23,69,20,2,0,7,56,0,7,56,0,7,56, + 0,0,0,0,0,0,0,255,31,192,56,7,0,56,2,0, + 56,2,0,56,2,0,56,2,0,56,2,0,56,2,0,56, + 2,0,56,2,0,56,2,0,56,2,0,56,2,0,56,2, + 0,24,2,0,28,4,0,14,8,0,3,240,0,16,23,46, + 19,2,1,0,112,0,96,0,192,1,0,0,0,254,127,60, + 12,60,8,30,16,30,16,30,16,15,32,15,32,7,64,7, + 192,3,128,3,128,3,128,3,128,3,128,3,128,3,128,15, + 240,15,18,36,18,2,0,255,128,56,0,56,0,63,224,56, + 56,56,28,56,30,56,30,56,30,56,30,56,28,56,56,63, + 224,56,0,56,0,56,0,56,0,255,128,12,18,36,13,0, + 0,7,128,12,192,24,224,56,224,56,224,56,224,56,192,59, + 0,56,192,56,96,56,112,56,112,56,112,56,112,56,112,63, + 112,63,96,251,192,11,18,36,13,1,0,32,0,48,0,48, + 0,24,0,4,0,0,0,30,0,99,0,99,128,115,128,7, + 128,27,128,115,128,227,128,227,160,227,160,247,160,121,192,11, + 18,36,13,1,0,3,0,3,0,6,0,4,0,8,0,0, + 0,30,0,99,0,99,128,115,128,35,128,31,128,115,128,227, + 128,227,160,227,160,247,160,121,192,11,18,36,13,1,0,12, + 0,12,0,30,0,50,0,65,0,0,0,30,0,99,0,99, + 128,115,128,35,128,31,128,115,128,227,128,227,160,227,160,247, + 160,121,192,11,17,34,13,1,0,57,0,127,0,70,0,0, + 0,0,0,30,0,99,0,99,128,115,128,35,128,31,128,115, + 128,227,128,227,160,227,160,247,160,121,192,11,17,34,13,1, + 0,119,0,119,0,119,0,0,0,0,0,30,0,99,0,99, + 128,115,128,35,128,31,128,115,128,227,128,227,160,227,160,247, + 160,121,192,11,18,36,13,1,0,28,0,38,0,34,0,34, + 0,28,0,0,0,30,0,99,0,99,128,115,128,35,128,31, + 128,115,128,227,128,227,160,227,160,231,160,121,192,15,12,24, + 18,1,0,62,248,99,140,99,142,115,142,7,142,27,254,115, + 128,227,128,227,130,227,130,247,196,120,120,9,18,36,12,1, + 250,30,0,49,0,113,128,227,128,227,128,224,0,224,0,224, + 0,224,128,112,128,49,0,30,0,8,0,8,0,6,0,6, + 0,6,0,28,0,9,18,36,12,1,0,32,0,112,0,48, + 0,24,0,4,0,0,0,30,0,51,0,99,128,227,128,227, + 128,255,128,224,0,224,0,224,128,112,128,49,0,30,0,9, + 18,36,12,1,0,3,0,7,0,6,0,12,0,8,0,0, + 0,30,0,51,0,99,128,227,128,227,128,255,128,224,0,224, + 0,224,128,112,128,49,0,30,0,9,18,36,12,1,0,12, + 0,28,0,28,0,50,0,65,0,0,0,30,0,51,0,99, + 128,227,128,227,128,255,128,224,0,224,0,224,128,112,128,49, + 0,30,0,9,17,34,12,1,0,115,128,115,128,115,128,0, + 0,0,0,30,0,51,0,99,128,227,128,227,128,255,128,224, + 0,224,0,224,0,112,128,49,0,30,0,7,18,18,8,1, + 0,192,224,112,16,8,0,120,56,56,56,56,56,56,56,56, + 56,56,126,6,18,18,8,1,0,12,28,24,48,0,0,240, + 112,112,112,112,112,112,112,112,112,112,248,7,18,18,7,0, + 0,56,56,108,198,0,0,120,56,56,56,56,56,56,56,56, + 56,56,126,7,17,17,8,1,0,238,238,238,0,0,120,56, + 56,56,56,56,56,56,56,56,56,126,10,18,36,12,1,0, + 57,128,30,0,14,0,31,0,39,0,3,128,31,128,51,192, + 97,192,225,192,225,192,225,192,225,192,225,192,225,192,97,128, + 51,128,30,0,11,17,34,13,1,0,24,128,63,128,39,0, + 0,0,0,0,243,128,125,192,121,192,113,192,113,192,113,192, + 113,192,113,192,113,192,113,192,113,192,251,224,10,18,36,12, + 1,0,48,0,48,0,24,0,12,0,4,0,0,0,30,0, + 51,0,97,128,225,192,225,192,225,192,225,192,225,192,225,192, + 97,128,51,0,30,0,10,18,36,12,1,0,3,0,3,0, + 7,0,4,0,8,0,0,0,30,0,51,0,97,128,225,192, + 225,192,225,192,225,192,225,192,225,192,97,128,51,0,30,0, + 10,18,36,12,1,0,12,0,14,0,30,0,51,0,96,128, + 0,0,30,0,51,0,97,128,225,192,225,192,225,192,225,192, + 225,192,225,192,97,128,51,0,30,0,10,17,34,12,1,0, + 56,128,63,0,70,0,0,0,0,0,30,0,51,0,97,128, + 225,192,225,192,225,192,225,192,225,192,225,192,97,128,51,0, + 30,0,10,17,34,12,1,0,115,128,115,128,115,128,0,0, + 0,0,30,0,51,0,97,128,225,192,225,192,225,192,225,192, + 225,192,225,192,97,128,51,0,30,0,21,17,51,23,1,254, + 0,48,0,0,120,0,0,120,0,0,48,0,0,0,0,0, + 0,0,0,0,0,0,0,0,255,255,248,255,255,248,0,0, + 0,0,0,0,0,0,0,0,48,0,0,120,0,0,120,0, + 0,48,0,10,12,24,12,1,0,30,64,51,128,97,128,225, + 192,227,192,229,192,233,192,241,192,241,192,97,128,115,0,158, + 0,12,18,36,13,0,0,24,0,24,0,12,0,6,0,2, + 0,0,0,249,224,56,224,56,224,56,224,56,224,56,224,56, + 224,56,224,56,224,57,224,58,224,28,240,12,18,36,13,0, + 0,1,128,1,128,3,0,2,0,0,0,0,0,249,224,56, + 224,56,224,56,224,56,224,56,224,56,224,56,224,56,224,57, + 224,58,224,28,240,12,18,36,13,0,0,6,0,6,0,15, + 0,25,128,0,0,0,0,249,224,56,224,56,224,56,224,56, + 224,56,224,56,224,56,224,56,224,57,224,58,224,28,240,12, + 17,34,13,0,0,57,192,57,192,57,192,0,0,0,0,249, + 224,56,224,56,224,56,224,56,224,56,224,56,224,56,224,56, + 224,57,224,58,224,28,240,12,24,48,12,0,250,1,128,1, + 128,3,0,6,0,4,0,0,0,252,240,112,64,56,64,56, + 128,28,128,28,128,29,0,15,0,15,0,7,0,6,0,6, + 0,2,0,4,0,116,0,116,0,104,0,56,0,12,23,46, + 13,0,250,24,0,120,0,184,0,56,0,56,0,57,224,58, + 240,60,112,60,112,56,112,56,96,56,224,56,192,56,128,57, + 0,58,0,60,0,56,0,56,0,56,0,56,0,96,0,128, + 0,13,23,46,13,0,250,28,224,28,224,28,224,0,0,0, + 0,254,120,56,32,60,64,28,64,30,64,14,64,14,128,7, + 128,7,128,7,0,3,0,3,0,2,0,2,0,58,0,60, + 0,52,0,56,0}; +/* + Fontname: -FreeType-Old Standard TT-Bold-R-Normal--25-250-72-72-P-136-ISO10646-1 + Copyright: Copyright (C) 2006-2008 Alexey Kryukov + Capital A Height: 0, '1' Height: 18 + Calculated Max Values w=21 h=23 x= 3 y= 8 dx=23 dy= 0 ascent=18 len=63 + Font Bounding box w=70 h=31 x=-22 y=-7 + Calculated Min Values x= 0 y=-5 dx= 0 dy= 0 + Pure Font ascent =18 descent= 0 + X Font ascent =18 descent= 0 + Max Font ascent =18 descent=-5 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_osb18n[618] U8G_FONT_SECTION("u8g_font_osb18n") = { + 0,70,31,234,249,18,0,0,0,0,42,58,0,18,251,18, + 0,9,10,20,13,2,8,24,0,24,0,201,128,235,128,28, + 0,44,0,235,128,217,128,24,0,24,0,21,21,63,23,1, + 253,0,48,0,0,48,0,0,48,0,0,48,0,0,48,0, + 0,48,0,0,48,0,0,48,0,0,48,0,0,48,0,255, + 255,248,255,255,248,0,48,0,0,48,0,0,48,0,0,48, + 0,0,48,0,0,48,0,0,48,0,0,48,0,0,48,0, + 4,9,9,7,2,251,224,240,240,240,16,32,32,64,128,6, + 3,3,8,1,5,252,252,252,4,4,4,8,2,0,96,240, + 240,96,9,23,46,11,1,251,1,128,1,128,1,0,3,0, + 3,0,2,0,6,0,6,0,4,0,12,0,12,0,8,0, + 24,0,24,0,24,0,16,0,48,0,48,0,32,0,96,0, + 96,0,64,0,192,0,12,18,36,15,1,0,15,0,25,128, + 48,192,112,224,112,224,240,224,240,240,240,240,240,240,240,240, + 240,240,240,240,240,240,112,224,112,224,48,192,25,128,15,0, + 8,18,18,15,3,0,24,56,248,56,56,56,56,56,56,56, + 56,56,56,56,56,56,56,255,11,18,36,15,2,0,31,0, + 113,192,96,224,224,224,240,224,248,224,121,192,1,192,3,0, + 6,0,8,0,48,32,64,32,64,32,255,224,191,224,143,192, + 135,128,12,18,36,15,1,0,31,0,49,192,96,224,112,224, + 120,224,120,224,0,192,1,128,62,0,1,192,0,224,0,240, + 112,240,248,240,240,240,192,224,65,192,63,0,11,18,36,15, + 2,0,3,0,7,0,7,0,15,0,15,0,23,0,55,0, + 39,0,103,0,71,0,199,0,135,0,255,224,7,0,7,0, + 7,0,7,0,63,224,11,18,36,15,2,0,65,128,127,128, + 126,0,120,0,64,0,64,0,95,0,99,128,65,192,65,224, + 1,224,33,224,241,224,241,224,225,192,193,192,67,128,62,0, + 11,18,36,15,2,0,7,128,24,64,48,224,113,224,113,224, + 240,0,240,0,247,128,249,192,240,224,240,224,240,224,240,224, + 112,224,112,224,48,192,57,192,15,0,11,18,36,15,2,0, + 156,64,190,96,255,32,255,224,128,32,128,64,128,64,0,128, + 1,128,3,0,7,0,6,0,14,0,30,0,30,0,30,0, + 30,0,12,0,12,18,36,15,1,0,31,128,32,64,64,32, + 192,32,192,32,240,32,252,64,127,128,127,192,63,224,103,240, + 193,240,192,112,192,48,192,48,96,32,112,64,31,128,12,18, + 36,15,2,0,31,0,113,128,96,192,224,224,224,224,224,240, + 224,240,96,240,113,240,30,240,0,240,0,240,56,224,120,224, + 120,224,97,192,33,128,30,0,4,12,12,8,2,0,96,240, + 240,96,0,0,0,0,96,240,240,96}; +/* + Fontname: -FreeType-Old Standard TT-Bold-R-Normal--25-250-72-72-P-136-ISO10646-1 + Copyright: Copyright (C) 2006-2008 Alexey Kryukov + Capital A Height: 18, '1' Height: 18 + Calculated Max Values w=26 h=24 x= 3 y=13 dx=27 dy= 0 ascent=20 len=72 + Font Bounding box w=70 h=31 x=-22 y=-7 + Calculated Min Values x=-1 y=-6 dx= 0 dy= 0 + Pure Font ascent =18 descent=-6 + X Font ascent =18 descent=-6 + Max Font ascent =20 descent=-6 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_osb18r[3611] U8G_FONT_SECTION("u8g_font_osb18r") = { + 0,70,31,234,249,18,4,190,10,54,32,127,250,20,250,18, + 250,0,0,0,7,0,0,4,18,18,6,1,0,96,240,240, + 240,240,240,96,96,96,96,96,64,0,0,96,240,240,96,6, + 6,6,10,2,12,204,204,204,204,204,204,15,18,36,19,2, + 0,6,24,6,24,4,16,4,16,12,48,255,254,255,254,12, + 48,8,32,8,32,24,96,24,96,255,254,255,254,16,64,16, + 64,48,192,48,192,11,22,44,14,2,254,9,0,9,0,31, + 128,105,64,73,32,201,32,201,96,249,224,249,64,127,0,63, + 128,31,192,15,192,73,224,233,224,201,96,137,96,137,96,73, + 192,63,128,9,0,9,0,17,18,54,21,2,0,56,4,0, + 68,12,0,198,8,0,198,24,0,198,48,0,198,32,0,198, + 96,0,76,64,0,56,192,0,1,142,0,1,27,0,3,49, + 128,2,49,128,4,49,128,12,49,128,8,49,128,24,17,0, + 16,14,0,17,18,54,19,1,0,3,192,0,4,32,0,12, + 32,0,12,32,0,12,32,0,14,64,0,15,128,0,7,0, + 0,15,143,128,27,195,0,49,194,0,96,226,0,224,244,0, + 224,120,0,240,56,0,240,60,0,126,223,128,63,15,0,2, + 6,6,6,2,12,192,192,192,192,192,192,7,23,23,9,1, + 251,2,4,8,16,48,96,96,96,224,224,224,224,224,224,224, + 96,96,96,48,16,8,4,2,7,23,23,9,0,251,128,64, + 32,16,24,12,12,14,14,14,14,14,14,14,14,14,12,12, + 24,16,32,64,128,9,10,20,13,2,8,24,0,24,0,201, + 128,235,128,28,0,44,0,235,128,217,128,24,0,24,0,21, + 21,63,23,1,253,0,48,0,0,48,0,0,48,0,0,48, + 0,0,48,0,0,48,0,0,48,0,0,48,0,0,48,0, + 0,48,0,255,255,248,255,255,248,0,48,0,0,48,0,0, + 48,0,0,48,0,0,48,0,0,48,0,0,48,0,0,48, + 0,0,48,0,4,9,9,7,2,251,224,240,240,240,16,32, + 32,64,128,6,3,3,8,1,5,252,252,252,4,4,4,8, + 2,0,96,240,240,96,9,23,46,11,1,251,1,128,1,128, + 1,0,3,0,3,0,2,0,6,0,6,0,4,0,12,0, + 12,0,8,0,24,0,24,0,24,0,16,0,48,0,48,0, + 32,0,96,0,96,0,64,0,192,0,12,18,36,15,1,0, + 15,0,25,128,48,192,112,224,112,224,240,224,240,240,240,240, + 240,240,240,240,240,240,240,240,240,240,112,224,112,224,48,192, + 25,128,15,0,8,18,18,15,3,0,24,56,248,56,56,56, + 56,56,56,56,56,56,56,56,56,56,56,255,11,18,36,15, + 2,0,31,0,113,192,96,224,224,224,240,224,248,224,121,192, + 1,192,3,0,6,0,8,0,48,32,64,32,64,32,255,224, + 191,224,143,192,135,128,12,18,36,15,1,0,31,0,49,192, + 96,224,112,224,120,224,120,224,0,192,1,128,62,0,1,192, + 0,224,0,240,112,240,248,240,240,240,192,224,65,192,63,0, + 11,18,36,15,2,0,3,0,7,0,7,0,15,0,15,0, + 23,0,55,0,39,0,103,0,71,0,199,0,135,0,255,224, + 7,0,7,0,7,0,7,0,63,224,11,18,36,15,2,0, + 65,128,127,128,126,0,120,0,64,0,64,0,95,0,99,128, + 65,192,65,224,1,224,33,224,241,224,241,224,225,192,193,192, + 67,128,62,0,11,18,36,15,2,0,7,128,24,64,48,224, + 113,224,113,224,240,0,240,0,247,128,249,192,240,224,240,224, + 240,224,240,224,112,224,112,224,48,192,57,192,15,0,11,18, + 36,15,2,0,156,64,190,96,255,32,255,224,128,32,128,64, + 128,64,0,128,1,128,3,0,7,0,6,0,14,0,30,0, + 30,0,30,0,30,0,12,0,12,18,36,15,1,0,31,128, + 32,64,64,32,192,32,192,32,240,32,252,64,127,128,127,192, + 63,224,103,240,193,240,192,112,192,48,192,48,96,32,112,64, + 31,128,12,18,36,15,2,0,31,0,113,128,96,192,224,224, + 224,224,224,240,224,240,96,240,113,240,30,240,0,240,0,240, + 56,224,120,224,120,224,97,192,33,128,30,0,4,12,12,8, + 2,0,96,240,240,96,0,0,0,0,96,240,240,96,4,17, + 17,7,2,251,96,240,240,96,0,0,0,0,224,240,240,240, + 16,32,32,64,128,19,21,63,24,2,252,0,0,96,0,1, + 224,0,7,128,0,14,0,0,56,0,0,224,0,3,128,0, + 15,0,0,60,0,0,112,0,0,224,0,0,120,0,0,28, + 0,0,7,0,0,1,192,0,0,112,0,0,60,0,0,15, + 0,0,3,128,0,0,224,0,0,32,21,7,21,23,1,3, + 255,255,248,255,255,248,0,0,0,0,0,0,0,0,0,255, + 255,248,255,255,248,19,21,63,24,2,252,192,0,0,240,0, + 0,60,0,0,14,0,0,3,128,0,0,224,0,0,56,0, + 0,30,0,0,7,128,0,1,192,0,0,224,0,3,192,0, + 7,0,0,28,0,0,112,0,1,192,0,7,128,0,30,0, + 0,56,0,0,224,0,0,128,0,0,8,18,18,12,2,0, + 60,78,135,135,135,78,12,24,16,32,36,36,24,0,24,60, + 60,24,18,18,54,20,1,0,3,240,0,12,12,0,24,3, + 0,48,237,0,97,173,128,99,28,128,199,28,192,207,24,192, + 206,24,192,206,56,192,206,56,192,206,56,128,78,49,128,110, + 91,0,35,156,0,48,0,0,12,4,0,3,248,0,17,18, + 54,19,1,0,0,192,0,0,192,0,0,192,0,1,224,0, + 1,224,0,1,224,0,2,240,0,2,240,0,4,112,0,4, + 120,0,4,120,0,8,56,0,15,252,0,8,60,0,16,28, + 0,16,30,0,48,30,0,252,127,128,15,18,36,18,2,0, + 255,224,56,56,56,56,56,28,56,28,56,28,56,56,56,48, + 63,192,56,56,56,28,56,30,56,30,56,30,56,30,56,28, + 56,56,255,240,13,18,36,17,2,0,7,136,24,120,48,56, + 112,24,112,24,240,8,240,8,240,8,240,0,240,0,240,0, + 240,8,240,8,112,8,112,8,56,16,24,32,7,192,16,18, + 36,19,2,0,255,224,56,56,56,28,56,14,56,14,56,14, + 56,15,56,15,56,15,56,15,56,15,56,15,56,14,56,14, + 56,12,56,28,56,56,255,224,14,18,36,18,2,0,255,252, + 56,28,56,12,56,12,56,4,56,68,56,64,56,192,56,192, + 63,192,56,192,56,68,56,68,56,4,56,4,56,12,56,28, + 255,252,14,18,36,17,2,0,255,252,56,60,56,28,56,12, + 56,4,56,68,56,68,56,192,56,192,63,192,56,192,56,64, + 56,64,56,0,56,0,56,0,56,0,255,0,15,18,36,18, + 2,0,7,136,24,104,48,56,112,24,112,8,112,8,240,8, + 240,0,240,0,241,254,240,56,240,56,240,56,112,56,112,56, + 48,40,24,72,15,136,17,18,54,20,2,0,255,127,128,56, + 14,0,56,14,0,56,14,0,56,14,0,56,14,0,56,14, + 0,56,14,0,63,254,0,56,14,0,56,14,0,56,14,0, + 56,14,0,56,14,0,56,14,0,56,14,0,56,14,0,255, + 127,128,8,18,18,11,2,0,255,56,56,56,56,56,56,56, + 56,56,56,56,56,56,56,56,56,255,11,18,36,13,1,0, + 31,224,3,128,3,128,3,128,3,128,3,128,3,128,3,128, + 3,128,3,128,3,128,115,128,243,128,243,128,227,128,195,128, + 67,0,60,0,17,18,54,19,2,0,254,127,0,56,24,0, + 56,16,0,56,32,0,56,64,0,56,192,0,57,128,0,59, + 192,0,59,192,0,61,224,0,57,240,0,56,240,0,56,248, + 0,56,120,0,56,124,0,56,60,0,56,62,0,254,127,128, + 14,18,36,17,2,0,255,0,56,0,56,0,56,0,56,0, + 56,0,56,0,56,0,56,0,56,0,56,4,56,4,56,4, + 56,12,56,12,56,28,56,60,255,252,20,18,54,22,1,0, + 254,3,240,30,3,192,30,3,192,31,5,192,31,5,192,23, + 5,192,23,133,192,23,137,192,19,201,192,19,201,192,17,209, + 192,17,241,192,17,241,192,16,241,192,16,225,192,16,225,192, + 56,97,192,254,111,240,17,18,54,18,1,0,252,63,128,60, + 14,0,62,4,0,31,4,0,31,4,0,31,132,0,23,196, + 0,19,196,0,17,228,0,17,244,0,16,244,0,16,124,0, + 16,124,0,16,60,0,16,28,0,16,28,0,56,12,0,254, + 4,0,15,18,36,18,2,0,7,192,8,32,56,48,48,24, + 112,28,112,28,240,30,240,30,240,30,240,30,240,30,240,30, + 112,28,112,28,48,24,48,56,8,32,7,192,15,18,36,18, + 2,0,255,240,56,56,56,28,56,30,56,30,56,30,56,30, + 56,28,56,56,63,224,56,0,56,0,56,0,56,0,56,0, + 56,0,56,0,255,128,15,24,48,18,2,250,7,192,8,32, + 56,56,48,24,112,28,112,28,240,30,240,30,240,30,240,30, + 240,30,240,30,112,28,112,28,51,152,52,176,28,226,7,194, + 0,194,0,194,0,230,0,254,0,124,0,56,16,18,36,19, + 2,0,255,224,56,120,56,56,56,60,56,60,56,60,56,56, + 56,112,63,192,56,96,56,48,56,56,56,56,56,57,56,57, + 56,57,56,57,255,158,12,18,36,15,2,0,30,32,97,160, + 192,224,192,96,224,32,240,32,252,0,126,0,63,128,15,192, + 135,224,129,240,128,240,192,48,192,48,224,32,176,96,143,128, + 15,18,36,18,2,0,255,254,231,30,199,14,135,14,135,6, + 135,6,7,2,7,2,7,0,7,0,7,0,7,0,7,0, + 7,0,7,0,7,0,7,0,31,224,18,18,54,20,2,0, + 255,31,192,56,7,0,56,2,0,56,2,0,56,2,0,56, + 2,0,56,2,0,56,2,0,56,2,0,56,2,0,56,2, + 0,56,2,0,56,2,0,56,2,0,24,2,0,28,4,0, + 14,8,0,3,240,0,17,18,54,19,2,0,255,63,128,60, + 6,0,60,4,0,30,4,0,30,8,0,30,8,0,15,8, + 0,15,16,0,7,144,0,7,144,0,7,160,0,3,224,0, + 3,224,0,3,192,0,1,192,0,1,192,0,1,192,0,0, + 128,0,26,18,72,27,1,0,255,191,223,192,30,15,6,0, + 30,15,6,0,15,15,4,0,15,15,132,0,15,15,132,0, + 7,143,140,0,7,139,200,0,7,147,200,0,3,211,200,0, + 3,209,240,0,3,225,240,0,1,225,240,0,1,224,240,0, + 1,224,224,0,0,192,224,0,0,192,96,0,0,192,64,0, + 16,18,36,19,2,0,255,63,62,24,30,16,31,16,15,32, + 15,224,7,192,7,192,3,192,3,224,3,224,2,240,4,240, + 8,120,8,120,16,60,48,60,252,255,16,18,36,19,2,0, + 254,127,60,12,60,8,30,16,30,16,30,16,15,32,15,32, + 7,64,7,192,3,128,3,128,3,128,3,128,3,128,3,128, + 3,128,15,240,13,18,36,16,2,0,127,248,112,120,96,240, + 97,240,65,224,67,224,3,192,7,192,7,128,15,0,15,0, + 30,0,30,8,60,8,124,24,120,24,248,56,255,248,6,22, + 22,10,2,252,252,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,252,9,23,46,11,1,251, + 192,0,64,0,96,0,96,0,32,0,48,0,48,0,16,0, + 24,0,24,0,24,0,8,0,12,0,12,0,4,0,6,0, + 6,0,2,0,3,0,3,0,1,0,1,128,1,128,6,22, + 22,10,2,252,252,28,28,28,28,28,28,28,28,28,28,28, + 28,28,28,28,28,28,28,28,28,252,11,9,18,15,2,9, + 4,0,12,0,30,0,27,0,51,0,49,128,96,192,192,192, + 192,96,13,2,4,13,0,252,255,248,255,248,4,4,4,11, + 2,13,192,224,96,48,11,12,24,13,1,0,30,0,99,0, + 99,128,115,128,35,128,31,128,115,128,227,128,227,160,227,160, + 247,160,121,192,12,18,36,13,0,0,248,0,56,0,56,0, + 56,0,56,0,56,0,59,128,60,224,60,224,56,112,56,112, + 56,112,56,112,56,112,56,112,60,224,36,192,35,128,9,12, + 24,12,1,0,30,0,49,0,113,128,227,128,227,128,224,0, + 224,0,224,0,224,128,112,128,49,0,30,0,12,18,36,13, + 1,0,7,192,1,192,1,192,1,192,1,192,1,192,29,192, + 115,192,99,192,225,192,225,192,225,192,225,192,225,192,225,192, + 99,192,115,192,29,240,9,12,24,12,1,0,30,0,51,0, + 99,128,227,128,227,128,255,128,224,0,224,0,224,128,112,128, + 49,0,30,0,9,18,36,9,1,0,15,0,29,128,59,128, + 59,128,57,0,56,0,252,0,56,0,56,0,56,0,56,0, + 56,0,56,0,56,0,56,0,56,0,56,0,252,0,12,18, + 36,14,1,250,30,112,51,176,113,240,113,192,113,192,113,192, + 51,128,30,0,96,0,127,128,127,192,63,224,96,224,128,96, + 128,96,128,64,64,192,63,0,12,18,36,13,0,0,248,0, + 56,0,56,0,56,0,56,0,56,0,57,192,62,224,60,224, + 56,224,56,224,56,224,56,224,56,224,56,224,56,224,56,224, + 253,240,5,18,18,7,1,0,112,112,112,32,0,0,240,112, + 112,112,112,112,112,112,112,112,112,248,7,24,24,8,255,250, + 14,14,14,4,0,0,62,14,14,14,14,14,14,14,14,14, + 14,14,14,110,238,238,204,120,13,18,36,13,0,0,248,0, + 56,0,56,0,56,0,56,0,56,0,57,240,56,192,56,128, + 57,0,57,0,59,128,63,128,57,192,57,192,56,224,56,224, + 255,248,7,18,18,8,0,0,248,56,56,56,56,56,56,56, + 56,56,56,56,56,56,56,56,56,254,18,12,36,19,1,0, + 243,142,0,125,247,0,121,231,0,113,199,0,113,199,0,113, + 199,0,113,199,0,113,199,0,113,199,0,113,199,0,113,199, + 0,251,239,192,11,12,24,13,1,0,243,128,125,192,121,192, + 113,192,113,192,113,192,113,192,113,192,113,192,113,192,113,192, + 251,224,10,12,24,12,1,0,30,0,51,0,97,128,225,192, + 225,192,225,192,225,192,225,192,225,192,97,128,51,0,30,0, + 12,18,36,13,0,250,251,128,60,192,60,224,56,112,56,112, + 56,112,56,112,56,112,56,112,60,224,60,224,59,192,56,0, + 56,0,56,0,56,0,56,0,254,0,11,18,36,13,1,250, + 28,64,50,64,99,192,225,192,225,192,225,192,225,192,225,192, + 225,192,99,192,115,192,61,192,1,192,1,192,1,192,1,192, + 1,192,7,224,9,12,24,11,1,0,243,0,117,128,123,128, + 123,128,112,0,112,0,112,0,112,0,112,0,112,0,112,0, + 248,0,9,12,24,11,1,0,57,0,199,0,195,0,225,0, + 240,0,124,0,63,0,143,128,131,128,193,128,225,0,158,0, + 8,17,17,10,1,0,16,16,16,48,112,254,112,112,112,112, + 112,113,113,113,113,114,60,12,12,24,13,0,0,249,224,56, + 224,56,224,56,224,56,224,56,224,56,224,56,224,56,224,57, + 224,58,224,28,240,12,12,24,13,1,0,253,240,112,64,56, + 64,56,128,28,128,28,128,29,0,15,0,14,0,14,0,6, + 0,4,0,19,12,36,19,0,0,253,251,224,56,112,128,28, + 112,128,28,113,0,28,121,0,14,185,0,14,154,0,14,158, + 0,7,28,0,7,12,0,2,12,0,2,8,0,12,12,24, + 13,0,0,253,240,56,64,28,128,31,0,15,0,15,0,7, + 0,7,128,11,192,17,192,17,224,253,240,12,18,36,12,0, + 250,252,240,112,64,56,64,56,128,28,128,28,128,29,0,15, + 0,15,0,7,0,6,0,6,0,2,0,4,0,116,0,116, + 0,104,0,56,0,10,12,24,12,1,0,127,192,99,128,71, + 128,71,0,15,0,14,0,28,0,60,64,56,64,120,64,112, + 192,255,192,8,23,23,10,1,251,3,28,56,56,56,56,56, + 56,56,56,48,192,48,56,56,56,56,56,56,56,56,28,3, + 2,23,23,8,3,251,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,8,23,23, + 11,2,251,192,112,56,56,56,56,56,56,56,56,28,7,28, + 56,56,56,56,56,56,56,56,112,192,14,5,10,16,1,4, + 120,8,255,4,143,196,131,252,64,120,255}; +/* + Fontname: -FreeType-Old Standard TT-Bold-R-Normal--28-280-72-72-P-153-ISO10646-1 + Copyright: Copyright (C) 2006-2008 Alexey Kryukov + Capital A Height: 21, '1' Height: 21 + Calculated Max Values w=28 h=29 x= 5 y=17 dx=31 dy= 0 ascent=28 len=87 + Font Bounding box w=77 h=36 x=-24 y=-8 + Calculated Min Values x=-1 y=-8 dx= 0 dy= 0 + Pure Font ascent =21 descent=-7 + X Font ascent =21 descent=-7 + Max Font ascent =28 descent=-8 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_osb21[9612] U8G_FONT_SECTION("u8g_font_osb21") = { + 0,77,36,232,248,21,5,141,12,241,32,255,249,28,248,21, + 249,0,0,0,8,0,0,5,21,21,9,2,1,240,248,248, + 248,248,112,112,112,112,32,32,32,32,32,32,0,0,112,248, + 248,112,7,6,6,11,2,16,238,238,238,238,198,68,16,21, + 42,20,2,0,6,12,6,12,6,12,6,8,6,24,6,24, + 255,255,255,255,12,24,12,24,12,48,12,48,12,48,8,48, + 255,255,255,255,24,32,24,96,24,96,16,96,48,96,13,25, + 50,16,2,254,9,0,11,0,61,192,105,48,73,8,201,8, + 201,56,233,120,249,112,253,0,127,0,127,0,63,192,15,224, + 15,240,73,248,233,248,233,56,201,24,137,24,137,16,73,32, + 57,192,15,0,9,0,19,22,66,25,3,0,0,1,0,60, + 3,0,102,2,0,231,4,0,231,4,0,231,8,0,231,8, + 0,231,16,0,231,48,0,102,32,0,102,96,0,24,64,0, + 0,195,0,0,140,192,1,140,192,1,28,224,2,28,224,2, + 28,224,4,28,224,4,28,224,8,12,192,24,7,128,20,21, + 63,22,1,1,3,224,0,6,16,0,14,16,0,14,16,0, + 14,16,0,14,48,0,15,32,0,15,64,0,7,128,0,3, + 192,0,7,195,240,9,224,192,48,224,128,112,240,128,112,121, + 0,240,59,0,240,62,0,240,30,0,248,31,16,126,111,160, + 63,199,192,3,6,6,7,2,16,224,224,224,224,192,64,8, + 27,27,10,2,250,1,2,4,8,24,48,48,112,112,240,240, + 240,240,240,240,240,240,112,112,112,48,48,24,8,4,2,1, + 8,26,26,10,1,250,128,192,96,48,24,24,12,12,14,14, + 14,14,15,15,15,14,14,14,14,12,12,24,24,48,96,192, + 11,12,24,14,2,9,14,0,14,0,78,192,228,224,245,192, + 14,0,14,0,245,192,228,192,78,192,14,0,14,0,24,25, + 75,26,1,252,0,24,0,0,24,0,0,24,0,0,24,0, + 0,24,0,0,24,0,0,24,0,0,24,0,0,24,0,0, + 24,0,0,24,0,0,24,0,255,255,255,255,255,255,0,24, + 0,0,24,0,0,24,0,0,24,0,0,24,0,0,24,0, + 0,24,0,0,24,0,0,24,0,0,24,0,0,24,0,5, + 10,10,7,1,251,112,248,248,248,120,8,16,16,32,192,7, + 3,3,11,2,6,254,254,254,4,4,4,8,2,0,96,240, + 240,96,9,27,54,13,2,250,1,128,1,128,1,128,3,0, + 3,0,3,0,2,0,6,0,6,0,6,0,12,0,12,0, + 12,0,24,0,24,0,24,0,16,0,48,0,48,0,48,0, + 96,0,96,0,96,0,192,0,192,0,192,0,128,0,14,21, + 42,16,1,1,15,192,24,96,56,112,56,112,120,120,120,120, + 248,120,248,124,248,124,248,124,248,124,248,124,248,124,248,124, + 248,120,120,120,120,120,56,112,56,112,24,96,15,192,9,21, + 42,16,3,0,6,0,14,0,30,0,254,0,30,0,30,0, + 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, + 30,0,30,0,30,0,30,0,30,0,30,0,255,128,12,21, + 42,16,2,1,63,192,97,224,96,224,224,240,224,240,240,240, + 248,240,121,224,49,224,3,192,7,128,14,0,28,0,48,16, + 96,16,64,16,192,16,255,240,255,224,143,224,135,192,13,21, + 42,16,2,1,63,192,96,224,96,224,224,240,240,240,248,240, + 120,240,112,240,0,224,1,192,31,0,0,224,0,240,0,112, + 112,120,248,120,248,120,240,120,224,112,96,240,59,192,13,21, + 42,16,1,0,1,192,1,192,3,192,3,192,7,192,7,192, + 15,192,27,192,27,192,51,192,35,192,99,192,67,192,195,192, + 255,248,3,192,3,192,3,192,3,192,3,192,31,248,13,21, + 42,16,2,0,96,224,127,192,127,128,127,0,120,0,64,0, + 64,0,64,0,79,0,113,224,64,240,64,240,0,248,0,248, + 112,248,248,248,248,248,240,240,224,240,97,224,59,192,13,21, + 42,16,2,1,15,224,24,32,56,48,48,240,112,240,112,240, + 240,96,240,0,240,0,247,128,248,224,240,112,240,112,240,112, + 240,120,112,120,112,112,112,112,48,112,56,96,13,192,11,21, + 42,16,3,0,156,64,190,96,255,32,255,32,199,224,129,160, + 128,64,128,64,0,128,0,128,1,0,3,0,7,0,6,0, + 14,0,14,0,30,0,30,0,30,0,30,0,30,0,14,21, + 42,16,2,1,31,192,48,32,96,48,96,16,224,16,240,16, + 248,32,254,32,127,192,63,192,31,240,31,248,99,248,64,248, + 192,60,192,24,192,24,192,24,96,16,112,48,31,192,13,21, + 42,16,2,1,31,128,48,192,112,96,112,112,240,112,240,112, + 240,120,240,120,240,120,112,120,112,120,56,248,15,120,0,120, + 0,120,56,112,120,112,120,96,112,224,96,192,63,128,4,14, + 14,8,2,0,96,240,240,240,96,0,0,0,0,0,96,240, + 240,96,5,19,19,8,2,251,96,240,240,240,96,0,0,0, + 0,112,248,248,248,248,8,16,16,32,192,21,24,72,26,2, + 252,0,0,24,0,0,56,0,0,240,0,3,192,0,15,0, + 0,28,0,0,120,0,1,224,0,7,128,0,14,0,0,60, + 0,0,240,0,0,224,0,0,120,0,0,30,0,0,7,128, + 0,1,192,0,0,240,0,0,60,0,0,15,0,0,3,128, + 0,1,224,0,0,120,0,0,24,24,8,24,26,1,4,255, + 255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0, + 0,255,255,255,255,255,255,21,24,72,26,3,252,128,0,0, + 224,0,0,120,0,0,30,0,0,7,128,0,1,192,0,0, + 240,0,0,60,0,0,15,0,0,3,128,0,1,224,0,0, + 120,0,0,56,0,0,240,0,3,192,0,15,0,0,28,0, + 0,120,0,1,224,0,7,128,0,14,0,0,60,0,0,240, + 0,0,192,0,0,9,21,42,13,2,1,126,0,71,0,135, + 128,135,128,135,128,135,128,71,0,14,0,12,0,28,0,16, + 0,48,0,34,0,34,0,34,0,28,0,0,0,12,0,30, + 0,30,0,12,0,20,22,66,22,1,0,0,32,0,3,222, + 0,12,3,0,24,0,128,48,0,192,48,112,96,97,207,96, + 99,142,48,199,142,48,199,14,48,199,14,48,207,14,48,207, + 28,48,207,28,32,207,28,96,79,60,64,103,44,128,99,199, + 0,48,0,0,24,0,0,12,2,0,3,252,0,19,21,63, + 22,2,0,0,64,0,0,96,0,0,224,0,0,224,0,0, + 240,0,1,240,0,1,240,0,1,248,0,2,120,0,2,120, + 0,2,124,0,4,60,0,4,60,0,4,62,0,15,254,0, + 8,30,0,8,31,0,16,15,0,16,15,0,48,15,128,254, + 127,224,17,21,63,19,1,0,255,240,0,30,28,0,30,14, + 0,30,15,0,30,15,0,30,15,0,30,15,0,30,14,0, + 30,14,0,30,24,0,31,224,0,30,28,0,30,15,0,30, + 7,0,30,7,128,30,7,128,30,7,128,30,7,128,30,7, + 0,30,14,0,255,248,0,15,21,42,18,2,1,15,230,28, + 30,56,30,56,14,120,14,120,6,248,6,248,6,248,2,248, + 0,248,0,248,0,248,0,248,2,248,2,120,2,120,4,56, + 4,60,12,28,8,15,240,19,21,63,21,1,0,255,248,0, + 30,14,0,30,7,0,30,3,128,30,3,192,30,3,192,30, + 3,192,30,3,224,30,3,224,30,3,224,30,3,224,30,3, + 224,30,3,224,30,3,224,30,3,192,30,3,192,30,3,192, + 30,3,128,30,7,0,30,14,0,255,248,0,16,21,42,19, + 1,0,255,255,30,15,30,7,30,3,30,3,30,1,30,17, + 30,16,30,48,30,48,31,240,30,48,30,48,30,17,30,17, + 30,1,30,1,30,3,30,7,30,15,255,255,17,21,63,19, + 1,0,255,255,128,30,15,128,30,7,128,30,3,128,30,1, + 128,30,1,128,30,17,128,30,17,128,30,48,0,30,48,0, + 31,240,0,30,48,0,30,48,0,30,16,0,30,16,0,30, + 0,0,30,0,0,30,0,0,30,0,0,30,0,0,255,192, + 0,17,22,66,20,2,0,0,128,0,7,114,0,28,30,0, + 24,14,0,56,6,0,120,6,0,120,6,0,120,2,0,248, + 2,0,248,0,0,248,0,0,248,0,0,248,255,128,248,30, + 0,248,30,0,248,30,0,120,30,0,120,30,0,56,30,0, + 56,22,0,28,34,0,14,194,0,20,21,63,22,1,0,255, + 223,240,30,3,192,30,3,192,30,3,192,30,3,192,30,3, + 192,30,3,192,30,3,192,30,3,192,30,3,192,31,255,192, + 30,3,192,30,3,192,30,3,192,30,3,192,30,3,192,30, + 3,192,30,3,192,30,3,192,30,3,192,255,223,240,9,21, + 42,11,1,0,255,128,30,0,30,0,30,0,30,0,30,0, + 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, + 30,0,30,0,30,0,30,0,30,0,30,0,255,128,13,21, + 42,15,1,0,15,248,1,224,1,224,1,224,1,224,1,224, + 1,224,1,224,1,224,1,224,1,224,1,224,1,224,113,224, + 249,224,249,224,249,192,225,192,193,192,65,128,55,0,19,21, + 63,21,1,0,255,159,192,30,7,0,30,6,0,30,12,0, + 30,8,0,30,16,0,30,32,0,30,96,0,30,240,0,31, + 240,0,31,248,0,30,248,0,30,124,0,30,124,0,30,62, + 0,30,30,0,30,31,0,30,15,0,30,15,128,30,15,128, + 255,159,224,17,21,63,19,1,0,255,128,0,30,0,0,30, + 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, + 0,30,0,0,30,0,0,30,0,0,30,0,0,30,1,0, + 30,1,128,30,1,128,30,1,128,30,3,128,30,3,128,30, + 7,128,30,15,128,255,255,128,23,21,63,25,1,0,254,0, + 254,30,0,240,31,1,240,31,1,240,31,1,240,31,129,240, + 23,130,240,23,194,240,23,194,240,19,196,240,19,228,240,17, + 228,240,17,228,240,17,248,240,16,248,240,16,248,240,16,248, + 240,16,112,240,16,112,240,56,48,240,254,35,254,21,21,63, + 22,1,0,254,15,248,31,1,192,31,0,128,15,128,128,15, + 192,128,15,192,128,11,224,128,11,240,128,9,248,128,8,248, + 128,8,252,128,8,126,128,8,62,128,8,31,128,8,31,128, + 8,15,128,8,7,128,8,7,128,8,3,128,28,1,128,255, + 129,128,17,22,66,20,2,0,0,128,0,7,112,0,12,24, + 0,24,12,0,56,14,0,120,14,0,120,15,0,120,15,0, + 248,15,128,248,15,128,248,15,128,248,15,128,248,15,128,248, + 15,128,248,15,128,120,15,0,120,15,0,120,15,0,56,14, + 0,24,12,0,12,24,0,7,112,0,17,21,63,19,1,0, + 255,248,0,30,14,0,30,7,0,30,7,128,30,7,128,30, + 7,128,30,7,128,30,7,128,30,15,0,30,14,0,31,248, + 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, + 30,0,0,30,0,0,30,0,0,30,0,0,255,192,0,17, + 29,87,20,2,249,0,128,0,7,112,0,12,24,0,24,12, + 0,56,14,0,120,14,0,120,15,0,120,15,0,248,15,128, + 248,15,128,248,15,128,248,15,128,248,15,128,248,15,128,248, + 15,128,120,15,0,120,15,0,121,142,0,58,78,0,30,124, + 0,30,120,128,6,112,128,1,224,128,0,96,128,0,113,128, + 0,127,128,0,127,0,0,63,0,0,30,0,19,21,63,21, + 1,0,255,240,0,30,28,0,30,14,0,30,15,0,30,15, + 0,30,15,0,30,15,0,30,14,0,30,28,0,31,224,0, + 30,48,0,30,28,0,30,28,0,30,28,0,30,30,0,30, + 30,0,30,30,32,30,30,32,30,30,32,30,14,64,255,207, + 192,13,22,44,17,3,0,4,0,59,144,64,240,192,112,192, + 112,224,48,240,48,248,16,254,16,127,0,63,128,31,224,15, + 240,131,240,129,248,128,120,192,56,192,24,224,24,224,16,240, + 48,159,192,17,21,63,20,2,0,255,255,128,227,207,128,195, + 199,128,195,195,128,131,195,128,131,193,128,131,193,128,3,193, + 128,3,192,128,3,192,0,3,192,0,3,192,0,3,192,0, + 3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3, + 192,0,3,192,0,31,248,0,19,21,63,22,2,0,255,15, + 224,60,3,128,60,1,0,60,1,0,60,1,0,60,1,0, + 60,1,0,60,1,0,60,1,0,60,1,0,60,1,0,60, + 1,0,60,1,0,60,1,0,60,1,0,60,1,0,60,1, + 0,28,1,0,28,2,0,14,4,0,7,248,0,20,21,63, + 22,1,0,255,207,240,30,1,128,31,1,0,31,1,0,15, + 1,0,15,130,0,15,130,0,7,130,0,7,196,0,7,196, + 0,3,196,0,3,232,0,3,232,0,1,232,0,1,248,0, + 0,240,0,0,240,0,0,240,0,0,96,0,0,96,0,0, + 96,0,28,21,84,31,2,0,255,191,231,240,62,15,129,192, + 30,7,129,128,30,7,129,128,31,7,193,0,15,7,193,0, + 15,7,193,0,15,143,226,0,7,137,226,0,7,137,226,0, + 7,201,246,0,3,208,244,0,3,208,244,0,3,240,252,0, + 1,240,124,0,1,224,120,0,1,224,120,0,0,224,56,0, + 0,192,48,0,0,192,48,0,0,64,16,0,19,21,63,20, + 1,0,255,159,192,63,6,0,31,6,0,15,4,0,15,136, + 0,7,152,0,7,208,0,3,240,0,3,224,0,1,240,0, + 1,240,0,0,248,0,1,248,0,3,124,0,2,124,0,6, + 62,0,4,62,0,8,30,0,24,31,0,24,31,128,254,63, + 224,18,21,63,21,2,0,255,31,192,62,7,0,30,6,0, + 30,4,0,31,4,0,15,4,0,15,136,0,7,136,0,7, + 144,0,7,208,0,3,240,0,3,224,0,1,224,0,1,224, + 0,1,224,0,1,224,0,1,224,0,1,224,0,1,224,0, + 1,224,0,7,248,0,15,21,42,19,2,0,127,254,120,62, + 112,124,96,124,96,248,64,248,65,240,1,240,3,224,3,224, + 7,192,7,128,15,128,31,2,31,2,62,2,62,6,124,6, + 124,14,248,30,255,254,7,26,26,11,2,251,254,240,240,240, + 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, + 240,240,240,240,240,254,10,27,54,13,1,250,192,0,96,0, + 96,0,96,0,32,0,48,0,48,0,48,0,24,0,24,0, + 24,0,12,0,12,0,12,0,4,0,6,0,6,0,6,0, + 3,0,3,0,3,0,1,128,1,128,1,128,0,128,0,192, + 0,192,7,26,26,11,2,251,254,30,30,30,30,30,30,30, + 30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30, + 30,254,12,10,20,16,2,12,6,0,7,0,15,0,29,128, + 25,128,48,192,48,224,96,96,224,48,192,48,15,2,4,15, + 0,251,255,254,255,254,5,5,5,12,2,16,192,224,112,48, + 24,12,14,28,14,1,0,30,0,99,128,99,192,243,192,115, + 192,35,192,15,192,51,192,115,192,243,192,243,208,243,208,243, + 208,125,224,13,21,42,14,0,0,252,0,60,0,60,0,60, + 0,60,0,60,0,60,0,61,192,62,96,60,112,60,112,60, + 120,60,120,60,120,60,120,60,120,60,120,60,112,52,112,38, + 96,35,192,10,14,28,13,1,0,15,0,56,128,112,192,113, + 192,243,192,243,128,240,0,240,0,240,0,240,0,112,64,112, + 64,56,128,15,0,13,21,42,15,1,0,3,224,1,224,1, + 224,1,224,1,224,1,224,1,224,29,224,51,224,113,224,113, + 224,241,224,241,224,241,224,241,224,241,224,241,224,113,224,113, + 224,51,224,29,248,11,14,28,13,1,0,15,0,51,128,113, + 192,113,192,241,192,241,224,255,224,240,0,240,0,240,32,112, + 64,112,64,56,128,15,0,11,21,42,10,1,0,7,128,12, + 192,28,192,61,224,61,192,60,0,60,0,254,0,60,0,60, + 0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60, + 0,60,0,60,0,254,0,14,21,42,16,1,249,15,24,57, + 236,121,252,121,248,121,224,121,224,57,192,57,192,15,0,112, + 0,192,0,255,0,255,224,127,240,63,248,64,56,128,24,128, + 16,128,48,96,96,31,128,14,21,42,16,1,0,252,0,60, + 0,60,0,60,0,60,0,60,0,60,0,61,224,62,112,60, + 112,60,120,60,120,60,120,60,120,60,120,60,120,60,120,60, + 120,60,120,60,120,254,252,6,21,21,8,1,0,48,120,120, + 48,0,0,0,248,120,120,120,120,120,120,120,120,120,120,120, + 120,252,8,28,28,8,255,249,6,15,15,6,0,0,0,31, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,79,255, + 239,238,206,56,14,21,42,16,1,0,252,0,60,0,60,0, + 60,0,60,0,60,0,60,0,60,248,60,96,60,64,60,128, + 60,128,61,128,63,128,63,192,61,224,60,224,60,240,60,112, + 60,120,254,252,8,21,21,9,1,0,252,60,60,60,60,60, + 60,60,60,60,60,60,60,60,60,60,60,60,60,60,255,20, + 14,42,23,2,0,249,199,128,126,233,192,120,241,192,120,241, + 224,120,241,224,120,241,224,120,241,224,120,241,224,120,241,224, + 120,241,224,120,241,224,120,241,224,120,241,224,253,251,240,13, + 14,28,16,2,0,251,192,124,224,120,224,120,240,120,240,120, + 240,120,240,120,240,120,240,120,240,120,240,120,240,120,240,253, + 248,12,14,28,14,1,0,15,0,49,128,112,192,112,224,240, + 224,240,224,240,240,240,240,240,224,240,224,112,224,112,192,49, + 128,15,0,13,21,42,15,1,249,253,192,62,96,60,112,60, + 112,60,120,60,120,60,120,60,120,60,120,60,120,60,112,60, + 112,62,96,61,192,60,0,60,0,60,0,60,0,60,0,60, + 0,254,0,13,21,42,14,1,249,30,32,51,32,113,96,113, + 224,241,224,241,224,241,224,241,224,241,224,241,224,113,224,113, + 224,51,224,29,224,1,224,1,224,1,224,1,224,1,224,1, + 224,3,248,10,14,28,12,2,0,251,128,125,128,123,192,123, + 128,121,128,120,0,120,0,120,0,120,0,120,0,120,0,120, + 0,120,0,252,0,10,14,28,13,2,0,60,128,67,128,193, + 128,193,128,224,128,248,0,126,0,63,128,143,128,131,192,192, + 192,224,192,240,128,143,0,9,20,40,10,0,0,8,0,8, + 0,8,0,24,0,24,0,56,0,255,0,56,0,56,0,56, + 0,56,0,56,0,56,0,56,128,56,128,56,128,56,128,57, + 128,57,0,14,0,14,14,28,15,0,0,253,248,60,120,60, + 120,60,120,60,120,60,120,60,120,60,120,60,120,60,120,60, + 120,60,248,29,120,14,124,13,14,28,15,1,0,252,248,120, + 32,56,32,60,32,28,64,28,64,30,64,14,128,14,128,15, + 0,7,0,7,0,6,0,2,0,20,14,42,22,1,0,253, + 253,240,120,120,64,56,120,64,60,56,64,28,120,128,28,124, + 128,30,92,128,14,157,0,14,159,0,15,143,0,7,14,0, + 7,14,0,6,6,0,2,4,0,13,14,28,15,1,0,254, + 248,60,96,60,64,30,128,30,128,15,0,7,0,7,128,7, + 192,11,192,9,224,16,224,48,240,253,248,13,21,42,15,1, + 249,252,248,120,32,56,32,60,64,28,64,28,64,30,64,14, + 128,15,128,7,128,7,128,7,0,3,0,3,0,2,0,2, + 0,50,0,122,0,116,0,116,0,56,0,11,14,28,13,1, + 0,127,224,97,224,67,192,67,128,71,128,15,0,15,0,30, + 0,30,32,60,32,56,32,120,96,240,224,255,224,9,27,54, + 12,1,250,0,128,7,0,14,0,30,0,30,0,30,0,30, + 0,30,0,30,0,30,0,28,0,28,0,56,0,224,0,56, + 0,28,0,28,0,30,0,30,0,30,0,30,0,30,0,30, + 0,30,0,14,0,7,0,0,128,2,27,27,8,3,250,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,9,27,54,13,2,250, + 192,0,56,0,28,0,28,0,30,0,30,0,30,0,30,0, + 30,0,30,0,30,0,30,0,14,0,1,128,14,0,30,0, + 30,0,30,0,30,0,30,0,30,0,30,0,30,0,28,0, + 28,0,56,0,192,0,16,6,12,18,1,5,124,2,127,1, + 143,193,131,241,128,254,64,62,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,255,255,255,255,255,255,255,0,0,0,8,0,0,5, + 21,21,9,2,249,112,248,248,112,0,0,32,32,32,32,32, + 112,112,112,112,248,248,248,248,248,112,10,21,42,16,3,253, + 2,0,2,0,2,0,15,0,26,128,50,192,114,192,243,192, + 243,192,242,0,242,0,242,0,242,0,242,64,114,64,50,64, + 30,128,15,0,2,0,2,0,2,0,17,21,63,20,2,1, + 0,254,0,1,131,0,3,131,0,3,135,128,7,135,128,7, + 135,0,7,128,0,7,128,0,7,128,0,31,128,0,39,248, + 0,7,128,0,7,192,0,3,192,0,3,128,0,3,128,0, + 3,128,128,123,1,128,143,135,0,135,254,0,121,252,0,13, + 13,26,17,2,3,207,152,255,248,112,112,96,48,192,24,192, + 24,192,24,192,24,192,24,96,48,112,112,255,248,207,152,15, + 21,42,16,1,0,254,126,124,24,124,24,60,16,60,16,30, + 32,30,32,30,64,15,64,15,128,7,128,127,248,7,128,127, + 248,7,128,7,128,7,128,7,128,7,128,7,128,63,240,2, + 26,26,8,3,251,192,192,192,192,192,192,192,192,192,192,0, + 0,0,0,0,0,192,192,192,192,192,192,192,192,192,192,13, + 27,54,18,1,250,15,128,16,64,32,96,96,224,97,224,97, + 224,112,128,124,0,63,0,95,192,79,240,195,240,192,248,224, + 56,248,24,126,16,127,144,31,224,7,224,1,224,48,224,120, + 96,120,96,112,96,96,192,48,128,31,0,9,4,8,13,2, + 16,99,0,247,128,247,128,99,0,20,21,63,22,1,1,3, + 252,0,12,3,0,16,0,128,32,0,64,32,244,64,65,140, + 32,67,132,32,131,132,16,135,132,16,135,132,16,135,128,16, + 135,128,16,135,128,16,135,130,16,67,132,32,67,132,32,33, + 136,64,32,240,64,16,0,128,12,3,0,3,252,0,8,11, + 11,10,1,10,56,76,108,108,60,204,205,205,118,0,255,7, + 11,11,13,3,2,34,68,196,204,204,204,204,204,68,98,34, + 14,8,16,16,1,4,255,252,255,252,0,12,0,12,0,12, + 0,12,0,12,0,12,7,3,3,11,2,6,254,254,254,20, + 21,63,22,1,1,3,252,0,12,3,0,16,0,128,32,0, + 64,47,248,64,67,206,32,67,206,32,131,207,16,131,206,16, + 131,206,16,131,240,16,131,204,16,131,206,16,131,206,16,67, + 206,160,67,206,160,35,206,192,47,231,64,16,0,128,12,3, + 0,3,252,0,7,2,2,13,3,17,254,254,9,10,20,17, + 4,12,8,0,62,0,119,0,193,128,193,128,193,128,193,128, + 99,0,127,0,28,0,24,22,66,26,1,254,0,24,0,0, + 24,0,0,24,0,0,24,0,0,24,0,0,24,0,0,24, + 0,0,24,0,255,255,255,255,255,255,0,24,0,0,24,0, + 0,24,0,0,24,0,0,24,0,0,24,0,0,24,0,0, + 24,0,0,0,0,0,0,0,255,255,255,255,255,255,9,12, + 24,13,2,9,62,0,71,0,199,128,231,0,111,0,12,0, + 24,0,33,0,65,128,255,0,159,0,142,0,10,13,26,13, + 2,8,62,0,67,0,195,128,227,128,99,128,3,0,60,0, + 7,0,3,128,243,192,227,128,199,128,62,0,5,5,5,12, + 5,16,24,56,112,96,192,14,22,44,17,2,248,96,192,224, + 224,241,224,241,224,225,224,225,224,224,224,224,224,96,192,64, + 196,64,196,65,252,127,124,78,56,64,0,64,0,96,0,224, + 0,240,0,240,0,112,0,96,0,13,25,50,17,2,252,31, + 248,126,96,254,96,254,96,254,96,254,96,254,96,254,96,254, + 96,126,96,62,96,6,96,6,96,6,96,6,96,6,96,6, + 96,6,96,6,96,6,96,6,96,6,96,6,96,6,96,6, + 96,4,4,4,8,2,7,96,240,240,96,5,6,6,13,4, + 249,32,64,48,24,24,240,7,12,12,13,3,9,28,252,60, + 60,60,60,60,60,60,60,60,254,8,11,11,11,2,10,60, + 102,230,231,231,231,230,102,60,0,255,7,11,11,13,3,2, + 136,68,102,102,102,102,102,102,68,140,136,22,21,63,26,3, + 0,12,1,128,28,1,0,252,3,0,60,2,0,60,6,0, + 60,12,0,60,12,0,60,24,0,60,16,0,60,48,112,60, + 32,240,60,97,240,254,65,240,0,194,240,0,130,240,1,132, + 240,3,8,240,3,15,252,6,0,240,4,0,240,12,3,248, + 21,22,66,26,3,0,0,1,128,28,1,0,252,3,0,60, + 2,0,60,6,0,60,4,0,60,12,0,60,24,0,60,24, + 0,60,51,224,60,36,112,60,108,120,60,78,120,254,206,120, + 0,134,112,1,128,192,1,1,0,3,2,8,2,4,8,6, + 15,248,4,11,240,12,8,224,22,21,63,25,2,0,62,0, + 128,67,1,128,195,129,0,227,131,0,99,130,0,3,6,0, + 60,4,0,7,8,0,3,152,0,243,208,112,227,176,112,199, + 160,240,62,97,240,0,65,240,0,194,240,0,130,240,1,132, + 240,1,7,252,3,0,240,2,0,240,6,3,252,9,22,44, + 13,2,249,24,0,60,0,60,0,60,0,24,0,0,0,28, + 0,34,0,34,0,34,0,6,0,12,0,28,0,56,0,112, + 0,113,0,240,128,240,128,240,128,240,128,113,0,62,0,19, + 27,81,22,2,1,3,0,0,3,128,0,1,128,0,0,192, + 0,0,64,0,0,0,0,0,64,0,0,96,0,0,224,0, + 0,224,0,0,240,0,1,240,0,1,240,0,1,248,0,2, + 120,0,2,120,0,2,124,0,4,60,0,4,60,0,4,62, + 0,15,254,0,8,30,0,8,31,0,16,15,0,16,15,0, + 48,15,128,254,127,224,19,27,81,21,2,1,0,24,0,0, + 56,0,0,48,0,0,96,0,0,64,0,0,0,0,0,64, + 0,0,96,0,0,224,0,0,224,0,0,240,0,1,240,0, + 1,240,0,1,248,0,2,120,0,2,120,0,2,124,0,4, + 60,0,4,60,0,8,60,0,15,254,0,8,30,0,16,30, + 0,16,15,0,16,15,0,48,15,128,254,127,224,19,27,81, + 22,2,0,0,64,0,0,224,0,1,240,0,3,24,0,4, + 4,0,0,0,0,0,64,0,0,96,0,0,224,0,0,224, + 0,0,240,0,1,240,0,1,240,0,1,248,0,2,120,0, + 2,120,0,2,124,0,4,60,0,4,60,0,4,62,0,15, + 254,0,8,30,0,8,31,0,16,15,0,16,15,0,48,15, + 128,254,127,224,19,27,81,21,2,0,0,4,0,1,200,0, + 3,248,0,4,112,0,0,0,0,0,0,0,0,64,0,0, + 96,0,0,224,0,0,224,0,0,240,0,1,240,0,1,240, + 0,1,248,0,2,120,0,2,120,0,2,124,0,4,60,0, + 4,60,0,4,60,0,15,254,0,8,30,0,24,30,0,16, + 15,0,16,15,0,48,15,128,254,127,224,19,27,81,22,2, + 0,3,12,0,7,158,0,7,158,0,3,12,0,0,0,0, + 0,0,0,0,96,0,0,96,0,0,224,0,0,240,0,0, + 240,0,1,240,0,1,248,0,1,120,0,2,120,0,2,124, + 0,2,60,0,4,60,0,4,62,0,4,30,0,15,254,0, + 8,31,0,8,15,0,16,15,0,16,15,0,48,15,128,254, + 127,224,19,27,81,21,1,0,0,240,0,1,8,0,1,8, + 0,1,8,0,0,240,0,0,0,0,0,96,0,0,96,0, + 0,240,0,0,240,0,0,240,0,1,248,0,1,248,0,1, + 120,0,1,120,0,2,124,0,2,60,0,2,60,0,4,62, + 0,4,30,0,7,254,0,8,31,0,8,15,0,8,15,0, + 24,15,0,24,15,128,254,63,224,26,21,84,28,0,0,0, + 63,255,192,0,15,131,192,0,15,129,192,0,31,128,192,0, + 23,128,192,0,55,128,64,0,39,132,64,0,103,132,0,0, + 71,140,0,0,199,156,0,0,135,252,0,1,135,156,0,1, + 7,140,0,3,7,132,64,3,255,132,64,6,7,128,64,4, + 7,128,64,12,7,128,192,12,7,129,192,28,7,131,192,255, + 63,255,192,15,28,56,18,2,250,15,230,28,30,56,30,56, + 14,120,14,120,6,248,6,248,6,248,2,248,0,248,0,248, + 0,248,0,248,2,120,2,120,2,120,4,56,4,60,12,28, + 8,6,48,1,192,1,0,1,192,0,96,0,96,4,96,3, + 192,16,27,54,19,1,1,6,0,7,0,3,0,1,128,0, + 0,0,0,255,255,30,15,30,7,30,3,30,3,30,1,30, + 17,30,16,30,48,30,48,31,240,30,48,30,48,30,17,30, + 17,30,1,30,1,30,3,30,7,30,15,255,255,16,27,54, + 19,1,1,0,56,0,120,0,96,0,192,0,0,0,0,255, + 255,30,15,30,7,30,3,30,3,30,1,30,17,30,16,30, + 48,30,48,31,240,30,48,30,48,30,17,30,17,30,1,30, + 1,30,3,30,7,30,15,255,255,16,27,54,19,1,0,0, + 128,1,192,3,96,6,56,8,0,0,0,255,255,30,15,30, + 7,30,3,30,3,30,1,30,17,30,16,30,48,30,48,31, + 240,30,48,30,48,30,17,30,17,30,1,30,1,30,3,30, + 7,30,15,255,255,16,27,54,19,1,0,6,24,15,60,15, + 60,6,24,0,0,0,0,255,255,30,15,30,7,30,3,30, + 3,30,1,30,17,30,16,30,48,30,48,31,240,30,48,30, + 48,30,17,30,17,30,1,30,1,30,3,30,7,30,15,255, + 255,9,27,54,11,1,1,96,0,112,0,56,0,8,0,0, + 0,0,0,255,128,30,0,30,0,30,0,30,0,30,0,30, + 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, + 0,30,0,30,0,30,0,30,0,30,0,255,128,10,27,54, + 12,1,1,3,128,3,128,6,0,12,0,8,0,0,0,255, + 192,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, + 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, + 0,30,0,30,0,30,0,255,192,9,27,54,11,1,0,12, + 0,28,0,62,0,99,0,0,128,0,0,255,128,30,0,30, + 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, + 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, + 0,30,0,255,128,10,27,54,13,2,0,97,128,243,192,243, + 192,97,128,0,0,0,0,255,192,30,0,30,0,30,0,30, + 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, + 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,255, + 192,19,21,63,22,2,0,255,248,0,30,14,0,30,7,0, + 30,3,128,30,3,192,30,3,192,30,3,192,30,3,224,30, + 3,224,30,3,224,255,131,224,30,3,224,30,3,224,30,3, + 224,30,3,192,30,3,192,30,3,128,30,3,128,30,7,0, + 30,14,0,255,248,0,21,26,78,22,1,1,0,226,0,1, + 254,0,2,28,0,0,0,0,0,0,0,254,15,248,31,1, + 192,31,0,128,15,128,128,15,192,128,15,192,128,11,224,128, + 11,240,128,9,248,128,8,248,128,8,252,128,8,126,128,8, + 62,128,8,31,128,8,31,128,8,15,128,8,7,128,8,7, + 128,8,3,128,28,1,128,255,129,128,17,27,81,20,2,1, + 14,0,0,7,0,0,3,0,0,1,128,0,0,0,0,0, + 128,0,7,112,0,12,24,0,24,12,0,56,14,0,120,14, + 0,120,15,0,120,15,0,248,15,128,248,15,128,248,15,128, + 248,15,128,248,15,128,248,15,128,248,15,128,120,15,0,120, + 15,0,120,15,0,56,14,0,24,12,0,12,24,0,7,112, + 0,17,27,81,20,2,1,0,56,0,0,112,0,0,96,0, + 0,192,0,0,0,0,0,128,0,7,112,0,12,24,0,24, + 12,0,56,14,0,120,14,0,120,15,0,120,15,0,248,15, + 128,248,15,128,248,15,128,248,15,128,248,15,128,248,15,128, + 248,15,128,120,15,0,120,15,0,120,15,0,56,14,0,24, + 12,0,12,24,0,7,112,0,17,27,81,20,2,0,0,128, + 0,1,192,0,3,96,0,6,48,0,8,8,0,0,128,0, + 7,112,0,12,24,0,24,12,0,56,14,0,120,14,0,120, + 15,0,120,15,0,248,15,128,248,15,128,248,15,128,248,15, + 128,248,15,128,248,15,128,248,15,128,120,15,0,120,15,0, + 120,15,0,56,14,0,24,12,0,12,24,0,7,112,0,17, + 27,81,20,2,0,0,8,0,7,136,0,7,240,0,8,224, + 0,0,0,0,0,128,0,7,112,0,12,24,0,24,12,0, + 56,14,0,120,14,0,120,15,0,120,15,0,248,15,128,248, + 15,128,248,15,128,248,15,128,248,15,128,248,15,128,248,15, + 128,120,15,0,120,15,0,120,15,0,56,14,0,24,12,0, + 12,24,0,7,112,0,17,27,81,20,2,0,12,48,0,30, + 120,0,30,120,0,12,48,0,0,0,0,0,128,0,7,112, + 0,12,24,0,24,12,0,56,14,0,120,14,0,120,15,0, + 120,15,0,248,15,128,248,15,128,248,15,128,248,15,128,248, + 15,128,248,15,128,248,15,128,120,15,0,120,15,0,120,15, + 0,56,14,0,24,12,0,12,24,0,7,112,0,18,19,57, + 26,4,254,64,0,64,224,0,192,112,1,128,56,3,0,28, + 6,0,14,12,0,7,24,0,3,176,0,1,224,0,0,224, + 0,1,240,0,3,56,0,6,28,0,12,12,0,24,6,0, + 48,3,0,112,1,128,224,0,192,64,0,0,17,22,66,20, + 2,0,0,128,0,7,113,128,12,27,0,24,14,0,56,14, + 0,56,14,0,120,31,0,120,31,0,248,47,128,248,111,128, + 248,79,128,248,143,128,249,15,128,251,15,128,250,15,128,124, + 15,0,124,15,0,120,14,0,56,14,0,56,12,0,108,24, + 0,199,112,0,19,27,81,22,2,1,7,0,0,3,128,0, + 1,128,0,0,192,0,0,0,0,0,0,0,255,15,224,60, + 3,128,60,1,0,60,1,0,60,1,0,60,1,0,60,1, + 0,60,1,0,60,1,0,60,1,0,60,1,0,60,1,0, + 60,1,0,60,1,0,60,1,0,60,1,0,60,1,0,28, + 1,0,28,2,0,14,4,0,7,248,0,19,27,81,22,2, + 1,0,28,0,0,56,0,0,48,0,0,96,0,0,0,0, + 0,0,0,255,15,224,60,3,128,60,1,0,60,1,0,60, + 1,0,60,1,0,60,1,0,60,1,0,60,1,0,60,1, + 0,60,1,0,60,1,0,60,1,0,60,1,0,60,1,0, + 60,1,0,60,1,0,28,1,0,28,2,0,14,4,0,7, + 248,0,19,27,81,22,2,0,0,192,0,0,224,0,1,240, + 0,6,24,0,0,4,0,0,0,0,255,15,224,60,3,128, + 60,1,0,60,1,0,60,1,0,60,1,0,60,1,0,60, + 1,0,60,1,0,60,1,0,60,1,0,60,1,0,60,1, + 0,60,1,0,60,1,0,60,1,0,60,1,0,28,3,0, + 28,2,0,14,4,0,7,248,0,19,27,81,22,2,0,3, + 12,0,7,158,0,7,158,0,3,12,0,0,0,0,0,0, + 0,255,143,224,60,3,128,60,1,0,60,1,0,60,1,0, + 60,1,0,60,1,0,60,1,0,60,1,0,60,1,0,60, + 1,0,60,1,0,60,1,0,60,1,0,60,1,0,60,1, + 0,60,1,0,28,1,0,28,2,0,14,4,0,7,248,0, + 19,27,81,21,2,1,0,28,0,0,60,0,0,48,0,0, + 96,0,0,0,0,0,0,0,255,31,224,62,7,0,30,6, + 0,30,6,0,31,4,0,15,4,0,15,136,0,7,136,0, + 7,144,0,7,208,0,3,240,0,3,224,0,1,224,0,1, + 224,0,1,224,0,1,224,0,1,224,0,1,224,0,1,224, + 0,1,224,0,7,248,0,17,21,63,19,1,0,255,192,0, + 30,0,0,30,0,0,30,0,0,31,248,0,30,14,0,30, + 15,0,30,7,128,30,7,128,30,7,128,30,7,128,30,7, + 128,30,15,0,30,14,0,31,248,0,30,0,0,30,0,0, + 30,0,0,30,0,0,30,0,0,255,192,0,14,21,42,16, + 1,0,7,192,12,96,28,112,28,112,60,112,60,112,60,112, + 60,96,61,128,60,96,60,48,60,56,60,56,60,56,60,60, + 60,60,60,56,63,184,63,184,63,48,253,224,12,21,42,14, + 1,0,96,0,112,0,56,0,24,0,12,0,4,0,0,0, + 30,0,99,128,99,192,243,192,115,192,7,192,27,192,115,192, + 115,192,243,192,243,208,243,208,243,208,125,224,12,21,42,14, + 1,0,1,128,3,128,3,0,6,0,12,0,8,0,0,0, + 30,0,99,128,99,192,243,192,115,192,35,192,15,192,51,192, + 115,192,243,192,243,208,243,208,243,208,125,224,12,21,42,14, + 1,0,12,0,12,0,30,0,19,0,33,128,64,128,0,0, + 30,0,99,128,99,192,243,192,115,192,35,192,15,192,51,192, + 115,192,243,192,243,208,243,208,243,208,125,224,12,20,40,14, + 1,0,56,128,127,128,71,0,0,0,0,0,0,0,30,0, + 99,128,99,192,243,192,115,192,3,192,31,192,51,192,115,192, + 243,192,243,208,243,208,245,208,121,224,12,20,40,14,1,0, + 97,128,243,192,243,192,97,128,0,0,0,0,30,0,99,128, + 99,192,243,192,115,192,35,192,15,192,51,192,115,192,243,192, + 243,208,243,208,243,208,125,224,12,21,42,14,1,1,30,0, + 33,0,33,0,33,0,50,0,12,0,0,0,31,0,99,128, + 97,192,241,192,113,192,33,192,15,192,49,192,97,192,225,192, + 225,208,225,208,227,208,124,224,17,14,42,19,1,0,62,60, + 0,99,230,0,99,199,0,243,199,128,115,199,128,7,199,128, + 27,255,128,115,192,0,115,192,0,243,192,128,243,192,128,243, + 225,0,242,225,0,124,62,0,10,21,42,13,1,249,15,0, + 56,128,112,192,113,192,243,192,243,128,240,0,240,0,240,0, + 240,0,112,64,112,64,56,128,31,0,4,0,8,0,6,0, + 3,0,3,0,3,0,30,0,11,21,42,13,1,0,48,0, + 48,0,56,0,24,0,12,0,0,0,0,0,15,0,51,128, + 113,192,113,192,241,192,241,224,255,224,240,0,240,0,240,32, + 112,64,112,64,56,128,15,0,11,21,42,13,1,0,1,128, + 3,128,3,128,6,0,4,0,8,0,0,0,15,0,51,128, + 113,192,113,192,241,192,241,224,255,224,240,0,240,0,240,32, + 112,64,112,64,56,128,15,0,11,21,42,13,1,0,12,0, + 14,0,30,0,27,0,49,128,64,0,0,0,15,0,51,128, + 113,192,113,192,241,192,241,224,255,224,240,0,240,0,240,32, + 112,64,112,64,56,128,15,0,11,20,40,13,1,0,49,128, + 123,192,123,192,49,128,0,0,0,0,15,0,51,128,113,192, + 113,192,241,192,241,224,255,224,240,0,240,0,240,32,112,64, + 112,64,56,128,15,0,7,21,21,9,1,0,192,224,112,48, + 24,8,0,124,60,60,60,60,60,60,60,60,60,60,60,60, + 126,6,21,21,9,2,0,12,12,28,56,32,0,0,248,120, + 120,120,120,120,120,120,120,120,120,120,120,252,8,21,21,8, + 1,0,56,56,124,110,131,0,0,252,60,60,60,60,60,60, + 60,60,60,60,60,60,254,8,20,20,9,1,0,102,255,255, + 102,0,0,124,60,60,60,60,60,60,60,60,60,60,60,60, + 126,12,21,42,14,1,0,60,64,31,128,15,0,15,0,55, + 128,3,128,3,192,31,192,49,224,113,224,112,224,240,224,240, + 240,240,240,240,240,240,224,240,224,112,224,113,192,49,192,15, + 0,13,19,38,16,2,1,30,64,63,192,35,128,0,0,0, + 0,251,192,124,224,120,224,120,240,120,240,120,240,120,240,120, + 240,120,240,120,240,120,240,120,240,120,240,253,248,12,21,42, + 14,1,0,48,0,56,0,56,0,12,0,6,0,2,0,0, + 0,15,0,49,128,112,192,112,224,240,224,240,224,240,240,240, + 240,240,224,240,224,112,224,112,192,49,128,15,0,12,21,42, + 14,1,0,1,128,1,192,3,128,3,0,6,0,4,0,0, + 0,15,0,49,128,112,192,112,224,240,224,240,224,240,240,240, + 240,240,224,240,224,112,224,112,192,49,128,15,0,12,21,42, + 14,1,0,6,0,14,0,15,0,27,0,48,128,32,64,0, + 0,15,0,49,128,112,192,112,224,240,224,240,224,240,240,240, + 240,240,224,240,224,112,224,112,192,49,128,15,0,12,20,40, + 14,1,0,28,64,63,192,71,128,0,0,0,0,0,0,15, + 0,49,128,112,192,112,224,240,224,240,224,240,240,240,240,240, + 224,240,224,112,224,112,192,49,128,15,0,12,20,40,14,1, + 0,49,128,123,192,123,192,49,128,0,0,0,0,15,0,49, + 128,112,192,112,224,240,224,240,224,240,240,240,240,240,224,240, + 224,112,224,112,192,49,128,15,0,24,19,57,26,1,254,0, + 24,0,0,60,0,0,60,0,0,24,0,0,0,0,0,0, + 0,0,0,0,0,0,0,255,255,255,255,255,255,0,0,0, + 0,0,0,0,0,0,0,0,0,0,24,0,0,60,0,0, + 60,0,0,60,0,0,24,0,12,14,28,14,1,0,15,16, + 49,160,113,192,112,224,241,224,243,224,242,240,244,240,248,224, + 240,224,112,224,112,192,121,128,143,0,14,21,42,15,0,0, + 24,0,28,0,12,0,6,0,3,0,0,0,0,0,253,248, + 60,120,60,120,60,120,60,120,60,120,60,120,60,120,60,120, + 60,120,60,248,60,248,29,120,14,124,14,21,42,15,0,0, + 0,192,0,192,1,192,1,128,3,0,0,0,0,0,253,248, + 60,120,60,120,60,120,60,120,60,120,60,120,60,120,60,120, + 60,120,60,120,60,248,29,120,14,124,14,21,42,15,0,0, + 3,0,7,0,7,128,12,128,24,64,0,0,0,0,253,248, + 60,120,60,120,60,120,60,120,60,120,60,120,60,120,60,120, + 60,120,60,120,60,248,29,120,14,124,14,20,40,15,0,0, + 24,192,61,224,61,224,24,192,0,0,0,0,253,248,60,120, + 60,120,60,120,60,120,60,120,60,120,60,120,60,120,60,120, + 60,120,60,248,29,120,14,124,13,28,56,15,1,249,0,192, + 0,192,1,192,3,128,2,0,0,0,0,0,252,248,120,32, + 56,32,60,64,28,64,28,64,30,64,14,128,15,128,7,128, + 7,0,7,0,3,0,3,0,2,0,2,0,50,0,124,0, + 116,0,116,0,56,0,13,26,52,15,1,250,28,0,124,0, + 188,0,60,0,60,0,60,0,60,240,63,120,60,120,60,120, + 60,120,60,120,60,112,60,112,60,96,60,192,60,128,61,0, + 62,0,60,0,60,0,60,0,60,0,60,0,48,0,192,0, + 13,27,54,15,1,249,24,96,60,240,60,240,24,96,0,0, + 0,0,254,120,120,48,56,32,60,32,28,32,30,64,30,64, + 14,64,15,128,7,128,7,128,7,0,3,0,3,0,1,0, + 2,0,50,0,122,0,116,0,116,0,56,0}; +/* + Fontname: -FreeType-Old Standard TT-Bold-R-Normal--28-280-72-72-P-153-ISO10646-1 + Copyright: Copyright (C) 2006-2008 Alexey Kryukov + Capital A Height: 0, '1' Height: 21 + Calculated Max Values w=24 h=27 x= 3 y= 9 dx=26 dy= 0 ascent=22 len=75 + Font Bounding box w=77 h=36 x=-24 y=-8 + Calculated Min Values x= 0 y=-6 dx= 0 dy= 0 + Pure Font ascent =21 descent= 0 + X Font ascent =21 descent= 0 + Max Font ascent =22 descent=-6 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_osb21n[723] U8G_FONT_SECTION("u8g_font_osb21n") = { + 0,77,36,232,248,21,0,0,0,0,42,58,0,22,250,21, + 0,11,12,24,14,2,9,14,0,14,0,78,192,228,224,245, + 192,14,0,14,0,245,192,228,192,78,192,14,0,14,0,24, + 25,75,26,1,252,0,24,0,0,24,0,0,24,0,0,24, + 0,0,24,0,0,24,0,0,24,0,0,24,0,0,24,0, + 0,24,0,0,24,0,0,24,0,255,255,255,255,255,255,0, + 24,0,0,24,0,0,24,0,0,24,0,0,24,0,0,24, + 0,0,24,0,0,24,0,0,24,0,0,24,0,0,24,0, + 5,10,10,7,1,251,112,248,248,248,120,8,16,16,32,192, + 7,3,3,11,2,6,254,254,254,4,4,4,8,2,0,96, + 240,240,96,9,27,54,13,2,250,1,128,1,128,1,128,3, + 0,3,0,3,0,2,0,6,0,6,0,6,0,12,0,12, + 0,12,0,24,0,24,0,24,0,16,0,48,0,48,0,48, + 0,96,0,96,0,96,0,192,0,192,0,192,0,128,0,14, + 21,42,16,1,1,15,192,24,96,56,112,56,112,120,120,120, + 120,248,120,248,124,248,124,248,124,248,124,248,124,248,124,248, + 124,248,120,120,120,120,120,56,112,56,112,24,96,15,192,9, + 21,42,16,3,0,6,0,14,0,30,0,254,0,30,0,30, + 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, + 0,30,0,30,0,30,0,30,0,30,0,30,0,255,128,12, + 21,42,16,2,1,63,192,97,224,96,224,224,240,224,240,240, + 240,248,240,121,224,49,224,3,192,7,128,14,0,28,0,48, + 16,96,16,64,16,192,16,255,240,255,224,143,224,135,192,13, + 21,42,16,2,1,63,192,96,224,96,224,224,240,240,240,248, + 240,120,240,112,240,0,224,1,192,31,0,0,224,0,240,0, + 112,112,120,248,120,248,120,240,120,224,112,96,240,59,192,13, + 21,42,16,1,0,1,192,1,192,3,192,3,192,7,192,7, + 192,15,192,27,192,27,192,51,192,35,192,99,192,67,192,195, + 192,255,248,3,192,3,192,3,192,3,192,3,192,31,248,13, + 21,42,16,2,0,96,224,127,192,127,128,127,0,120,0,64, + 0,64,0,64,0,79,0,113,224,64,240,64,240,0,248,0, + 248,112,248,248,248,248,248,240,240,224,240,97,224,59,192,13, + 21,42,16,2,1,15,224,24,32,56,48,48,240,112,240,112, + 240,240,96,240,0,240,0,247,128,248,224,240,112,240,112,240, + 112,240,120,112,120,112,112,112,112,48,112,56,96,13,192,11, + 21,42,16,3,0,156,64,190,96,255,32,255,32,199,224,129, + 160,128,64,128,64,0,128,0,128,1,0,3,0,7,0,6, + 0,14,0,14,0,30,0,30,0,30,0,30,0,30,0,14, + 21,42,16,2,1,31,192,48,32,96,48,96,16,224,16,240, + 16,248,32,254,32,127,192,63,192,31,240,31,248,99,248,64, + 248,192,60,192,24,192,24,192,24,96,16,112,48,31,192,13, + 21,42,16,2,1,31,128,48,192,112,96,112,112,240,112,240, + 112,240,120,240,120,240,120,112,120,112,120,56,248,15,120,0, + 120,0,120,56,112,120,112,120,96,112,224,96,192,63,128,4, + 14,14,8,2,0,96,240,240,240,96,0,0,0,0,0,96, + 240,240,96}; +/* + Fontname: -FreeType-Old Standard TT-Bold-R-Normal--28-280-72-72-P-153-ISO10646-1 + Copyright: Copyright (C) 2006-2008 Alexey Kryukov + Capital A Height: 21, '1' Height: 21 + Calculated Max Values w=28 h=29 x= 3 y=16 dx=31 dy= 0 ascent=23 len=87 + Font Bounding box w=77 h=36 x=-24 y=-8 + Calculated Min Values x=-1 y=-7 dx= 0 dy= 0 + Pure Font ascent =21 descent=-7 + X Font ascent =21 descent=-7 + Max Font ascent =23 descent=-7 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_osb21r[4521] U8G_FONT_SECTION("u8g_font_osb21r") = { + 0,77,36,232,248,21,5,141,12,241,32,127,249,23,249,21, + 249,0,0,0,8,0,0,5,21,21,9,2,1,240,248,248, + 248,248,112,112,112,112,32,32,32,32,32,32,0,0,112,248, + 248,112,7,6,6,11,2,16,238,238,238,238,198,68,16,21, + 42,20,2,0,6,12,6,12,6,12,6,8,6,24,6,24, + 255,255,255,255,12,24,12,24,12,48,12,48,12,48,8,48, + 255,255,255,255,24,32,24,96,24,96,16,96,48,96,13,25, + 50,16,2,254,9,0,11,0,61,192,105,48,73,8,201,8, + 201,56,233,120,249,112,253,0,127,0,127,0,63,192,15,224, + 15,240,73,248,233,248,233,56,201,24,137,24,137,16,73,32, + 57,192,15,0,9,0,19,22,66,25,3,0,0,1,0,60, + 3,0,102,2,0,231,4,0,231,4,0,231,8,0,231,8, + 0,231,16,0,231,48,0,102,32,0,102,96,0,24,64,0, + 0,195,0,0,140,192,1,140,192,1,28,224,2,28,224,2, + 28,224,4,28,224,4,28,224,8,12,192,24,7,128,20,21, + 63,22,1,1,3,224,0,6,16,0,14,16,0,14,16,0, + 14,16,0,14,48,0,15,32,0,15,64,0,7,128,0,3, + 192,0,7,195,240,9,224,192,48,224,128,112,240,128,112,121, + 0,240,59,0,240,62,0,240,30,0,248,31,16,126,111,160, + 63,199,192,3,6,6,7,2,16,224,224,224,224,192,64,8, + 27,27,10,2,250,1,2,4,8,24,48,48,112,112,240,240, + 240,240,240,240,240,240,112,112,112,48,48,24,8,4,2,1, + 8,26,26,10,1,250,128,192,96,48,24,24,12,12,14,14, + 14,14,15,15,15,14,14,14,14,12,12,24,24,48,96,192, + 11,12,24,14,2,9,14,0,14,0,78,192,228,224,245,192, + 14,0,14,0,245,192,228,192,78,192,14,0,14,0,24,25, + 75,26,1,252,0,24,0,0,24,0,0,24,0,0,24,0, + 0,24,0,0,24,0,0,24,0,0,24,0,0,24,0,0, + 24,0,0,24,0,0,24,0,255,255,255,255,255,255,0,24, + 0,0,24,0,0,24,0,0,24,0,0,24,0,0,24,0, + 0,24,0,0,24,0,0,24,0,0,24,0,0,24,0,5, + 10,10,7,1,251,112,248,248,248,120,8,16,16,32,192,7, + 3,3,11,2,6,254,254,254,4,4,4,8,2,0,96,240, + 240,96,9,27,54,13,2,250,1,128,1,128,1,128,3,0, + 3,0,3,0,2,0,6,0,6,0,6,0,12,0,12,0, + 12,0,24,0,24,0,24,0,16,0,48,0,48,0,48,0, + 96,0,96,0,96,0,192,0,192,0,192,0,128,0,14,21, + 42,16,1,1,15,192,24,96,56,112,56,112,120,120,120,120, + 248,120,248,124,248,124,248,124,248,124,248,124,248,124,248,124, + 248,120,120,120,120,120,56,112,56,112,24,96,15,192,9,21, + 42,16,3,0,6,0,14,0,30,0,254,0,30,0,30,0, + 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, + 30,0,30,0,30,0,30,0,30,0,30,0,255,128,12,21, + 42,16,2,1,63,192,97,224,96,224,224,240,224,240,240,240, + 248,240,121,224,49,224,3,192,7,128,14,0,28,0,48,16, + 96,16,64,16,192,16,255,240,255,224,143,224,135,192,13,21, + 42,16,2,1,63,192,96,224,96,224,224,240,240,240,248,240, + 120,240,112,240,0,224,1,192,31,0,0,224,0,240,0,112, + 112,120,248,120,248,120,240,120,224,112,96,240,59,192,13,21, + 42,16,1,0,1,192,1,192,3,192,3,192,7,192,7,192, + 15,192,27,192,27,192,51,192,35,192,99,192,67,192,195,192, + 255,248,3,192,3,192,3,192,3,192,3,192,31,248,13,21, + 42,16,2,0,96,224,127,192,127,128,127,0,120,0,64,0, + 64,0,64,0,79,0,113,224,64,240,64,240,0,248,0,248, + 112,248,248,248,248,248,240,240,224,240,97,224,59,192,13,21, + 42,16,2,1,15,224,24,32,56,48,48,240,112,240,112,240, + 240,96,240,0,240,0,247,128,248,224,240,112,240,112,240,112, + 240,120,112,120,112,112,112,112,48,112,56,96,13,192,11,21, + 42,16,3,0,156,64,190,96,255,32,255,32,199,224,129,160, + 128,64,128,64,0,128,0,128,1,0,3,0,7,0,6,0, + 14,0,14,0,30,0,30,0,30,0,30,0,30,0,14,21, + 42,16,2,1,31,192,48,32,96,48,96,16,224,16,240,16, + 248,32,254,32,127,192,63,192,31,240,31,248,99,248,64,248, + 192,60,192,24,192,24,192,24,96,16,112,48,31,192,13,21, + 42,16,2,1,31,128,48,192,112,96,112,112,240,112,240,112, + 240,120,240,120,240,120,112,120,112,120,56,248,15,120,0,120, + 0,120,56,112,120,112,120,96,112,224,96,192,63,128,4,14, + 14,8,2,0,96,240,240,240,96,0,0,0,0,0,96,240, + 240,96,5,19,19,8,2,251,96,240,240,240,96,0,0,0, + 0,112,248,248,248,248,8,16,16,32,192,21,24,72,26,2, + 252,0,0,24,0,0,56,0,0,240,0,3,192,0,15,0, + 0,28,0,0,120,0,1,224,0,7,128,0,14,0,0,60, + 0,0,240,0,0,224,0,0,120,0,0,30,0,0,7,128, + 0,1,192,0,0,240,0,0,60,0,0,15,0,0,3,128, + 0,1,224,0,0,120,0,0,24,24,8,24,26,1,4,255, + 255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0, + 0,255,255,255,255,255,255,21,24,72,26,3,252,128,0,0, + 224,0,0,120,0,0,30,0,0,7,128,0,1,192,0,0, + 240,0,0,60,0,0,15,0,0,3,128,0,1,224,0,0, + 120,0,0,56,0,0,240,0,3,192,0,15,0,0,28,0, + 0,120,0,1,224,0,7,128,0,14,0,0,60,0,0,240, + 0,0,192,0,0,9,21,42,13,2,1,126,0,71,0,135, + 128,135,128,135,128,135,128,71,0,14,0,12,0,28,0,16, + 0,48,0,34,0,34,0,34,0,28,0,0,0,12,0,30, + 0,30,0,12,0,20,22,66,22,1,0,0,32,0,3,222, + 0,12,3,0,24,0,128,48,0,192,48,112,96,97,207,96, + 99,142,48,199,142,48,199,14,48,199,14,48,207,14,48,207, + 28,48,207,28,32,207,28,96,79,60,64,103,44,128,99,199, + 0,48,0,0,24,0,0,12,2,0,3,252,0,19,21,63, + 22,2,0,0,64,0,0,96,0,0,224,0,0,224,0,0, + 240,0,1,240,0,1,240,0,1,248,0,2,120,0,2,120, + 0,2,124,0,4,60,0,4,60,0,4,62,0,15,254,0, + 8,30,0,8,31,0,16,15,0,16,15,0,48,15,128,254, + 127,224,17,21,63,19,1,0,255,240,0,30,28,0,30,14, + 0,30,15,0,30,15,0,30,15,0,30,15,0,30,14,0, + 30,14,0,30,24,0,31,224,0,30,28,0,30,15,0,30, + 7,0,30,7,128,30,7,128,30,7,128,30,7,128,30,7, + 0,30,14,0,255,248,0,15,21,42,18,2,1,15,230,28, + 30,56,30,56,14,120,14,120,6,248,6,248,6,248,2,248, + 0,248,0,248,0,248,0,248,2,248,2,120,2,120,4,56, + 4,60,12,28,8,15,240,19,21,63,21,1,0,255,248,0, + 30,14,0,30,7,0,30,3,128,30,3,192,30,3,192,30, + 3,192,30,3,224,30,3,224,30,3,224,30,3,224,30,3, + 224,30,3,224,30,3,224,30,3,192,30,3,192,30,3,192, + 30,3,128,30,7,0,30,14,0,255,248,0,16,21,42,19, + 1,0,255,255,30,15,30,7,30,3,30,3,30,1,30,17, + 30,16,30,48,30,48,31,240,30,48,30,48,30,17,30,17, + 30,1,30,1,30,3,30,7,30,15,255,255,17,21,63,19, + 1,0,255,255,128,30,15,128,30,7,128,30,3,128,30,1, + 128,30,1,128,30,17,128,30,17,128,30,48,0,30,48,0, + 31,240,0,30,48,0,30,48,0,30,16,0,30,16,0,30, + 0,0,30,0,0,30,0,0,30,0,0,30,0,0,255,192, + 0,17,22,66,20,2,0,0,128,0,7,114,0,28,30,0, + 24,14,0,56,6,0,120,6,0,120,6,0,120,2,0,248, + 2,0,248,0,0,248,0,0,248,0,0,248,255,128,248,30, + 0,248,30,0,248,30,0,120,30,0,120,30,0,56,30,0, + 56,22,0,28,34,0,14,194,0,20,21,63,22,1,0,255, + 223,240,30,3,192,30,3,192,30,3,192,30,3,192,30,3, + 192,30,3,192,30,3,192,30,3,192,30,3,192,31,255,192, + 30,3,192,30,3,192,30,3,192,30,3,192,30,3,192,30, + 3,192,30,3,192,30,3,192,30,3,192,255,223,240,9,21, + 42,11,1,0,255,128,30,0,30,0,30,0,30,0,30,0, + 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, + 30,0,30,0,30,0,30,0,30,0,30,0,255,128,13,21, + 42,15,1,0,15,248,1,224,1,224,1,224,1,224,1,224, + 1,224,1,224,1,224,1,224,1,224,1,224,1,224,113,224, + 249,224,249,224,249,192,225,192,193,192,65,128,55,0,19,21, + 63,21,1,0,255,159,192,30,7,0,30,6,0,30,12,0, + 30,8,0,30,16,0,30,32,0,30,96,0,30,240,0,31, + 240,0,31,248,0,30,248,0,30,124,0,30,124,0,30,62, + 0,30,30,0,30,31,0,30,15,0,30,15,128,30,15,128, + 255,159,224,17,21,63,19,1,0,255,128,0,30,0,0,30, + 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, + 0,30,0,0,30,0,0,30,0,0,30,0,0,30,1,0, + 30,1,128,30,1,128,30,1,128,30,3,128,30,3,128,30, + 7,128,30,15,128,255,255,128,23,21,63,25,1,0,254,0, + 254,30,0,240,31,1,240,31,1,240,31,1,240,31,129,240, + 23,130,240,23,194,240,23,194,240,19,196,240,19,228,240,17, + 228,240,17,228,240,17,248,240,16,248,240,16,248,240,16,248, + 240,16,112,240,16,112,240,56,48,240,254,35,254,21,21,63, + 22,1,0,254,15,248,31,1,192,31,0,128,15,128,128,15, + 192,128,15,192,128,11,224,128,11,240,128,9,248,128,8,248, + 128,8,252,128,8,126,128,8,62,128,8,31,128,8,31,128, + 8,15,128,8,7,128,8,7,128,8,3,128,28,1,128,255, + 129,128,17,22,66,20,2,0,0,128,0,7,112,0,12,24, + 0,24,12,0,56,14,0,120,14,0,120,15,0,120,15,0, + 248,15,128,248,15,128,248,15,128,248,15,128,248,15,128,248, + 15,128,248,15,128,120,15,0,120,15,0,120,15,0,56,14, + 0,24,12,0,12,24,0,7,112,0,17,21,63,19,1,0, + 255,248,0,30,14,0,30,7,0,30,7,128,30,7,128,30, + 7,128,30,7,128,30,7,128,30,15,0,30,14,0,31,248, + 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, + 30,0,0,30,0,0,30,0,0,30,0,0,255,192,0,17, + 29,87,20,2,249,0,128,0,7,112,0,12,24,0,24,12, + 0,56,14,0,120,14,0,120,15,0,120,15,0,248,15,128, + 248,15,128,248,15,128,248,15,128,248,15,128,248,15,128,248, + 15,128,120,15,0,120,15,0,121,142,0,58,78,0,30,124, + 0,30,120,128,6,112,128,1,224,128,0,96,128,0,113,128, + 0,127,128,0,127,0,0,63,0,0,30,0,19,21,63,21, + 1,0,255,240,0,30,28,0,30,14,0,30,15,0,30,15, + 0,30,15,0,30,15,0,30,14,0,30,28,0,31,224,0, + 30,48,0,30,28,0,30,28,0,30,28,0,30,30,0,30, + 30,0,30,30,32,30,30,32,30,30,32,30,14,64,255,207, + 192,13,22,44,17,3,0,4,0,59,144,64,240,192,112,192, + 112,224,48,240,48,248,16,254,16,127,0,63,128,31,224,15, + 240,131,240,129,248,128,120,192,56,192,24,224,24,224,16,240, + 48,159,192,17,21,63,20,2,0,255,255,128,227,207,128,195, + 199,128,195,195,128,131,195,128,131,193,128,131,193,128,3,193, + 128,3,192,128,3,192,0,3,192,0,3,192,0,3,192,0, + 3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3, + 192,0,3,192,0,31,248,0,19,21,63,22,2,0,255,15, + 224,60,3,128,60,1,0,60,1,0,60,1,0,60,1,0, + 60,1,0,60,1,0,60,1,0,60,1,0,60,1,0,60, + 1,0,60,1,0,60,1,0,60,1,0,60,1,0,60,1, + 0,28,1,0,28,2,0,14,4,0,7,248,0,20,21,63, + 22,1,0,255,207,240,30,1,128,31,1,0,31,1,0,15, + 1,0,15,130,0,15,130,0,7,130,0,7,196,0,7,196, + 0,3,196,0,3,232,0,3,232,0,1,232,0,1,248,0, + 0,240,0,0,240,0,0,240,0,0,96,0,0,96,0,0, + 96,0,28,21,84,31,2,0,255,191,231,240,62,15,129,192, + 30,7,129,128,30,7,129,128,31,7,193,0,15,7,193,0, + 15,7,193,0,15,143,226,0,7,137,226,0,7,137,226,0, + 7,201,246,0,3,208,244,0,3,208,244,0,3,240,252,0, + 1,240,124,0,1,224,120,0,1,224,120,0,0,224,56,0, + 0,192,48,0,0,192,48,0,0,64,16,0,19,21,63,20, + 1,0,255,159,192,63,6,0,31,6,0,15,4,0,15,136, + 0,7,152,0,7,208,0,3,240,0,3,224,0,1,240,0, + 1,240,0,0,248,0,1,248,0,3,124,0,2,124,0,6, + 62,0,4,62,0,8,30,0,24,31,0,24,31,128,254,63, + 224,18,21,63,21,2,0,255,31,192,62,7,0,30,6,0, + 30,4,0,31,4,0,15,4,0,15,136,0,7,136,0,7, + 144,0,7,208,0,3,240,0,3,224,0,1,224,0,1,224, + 0,1,224,0,1,224,0,1,224,0,1,224,0,1,224,0, + 1,224,0,7,248,0,15,21,42,19,2,0,127,254,120,62, + 112,124,96,124,96,248,64,248,65,240,1,240,3,224,3,224, + 7,192,7,128,15,128,31,2,31,2,62,2,62,6,124,6, + 124,14,248,30,255,254,7,26,26,11,2,251,254,240,240,240, + 240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, + 240,240,240,240,240,254,10,27,54,13,1,250,192,0,96,0, + 96,0,96,0,32,0,48,0,48,0,48,0,24,0,24,0, + 24,0,12,0,12,0,12,0,4,0,6,0,6,0,6,0, + 3,0,3,0,3,0,1,128,1,128,1,128,0,128,0,192, + 0,192,7,26,26,11,2,251,254,30,30,30,30,30,30,30, + 30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30, + 30,254,12,10,20,16,2,12,6,0,7,0,15,0,29,128, + 25,128,48,192,48,224,96,96,224,48,192,48,15,2,4,15, + 0,251,255,254,255,254,5,5,5,12,2,16,192,224,112,48, + 24,12,14,28,14,1,0,30,0,99,128,99,192,243,192,115, + 192,35,192,15,192,51,192,115,192,243,192,243,208,243,208,243, + 208,125,224,13,21,42,14,0,0,252,0,60,0,60,0,60, + 0,60,0,60,0,60,0,61,192,62,96,60,112,60,112,60, + 120,60,120,60,120,60,120,60,120,60,120,60,112,52,112,38, + 96,35,192,10,14,28,13,1,0,15,0,56,128,112,192,113, + 192,243,192,243,128,240,0,240,0,240,0,240,0,112,64,112, + 64,56,128,15,0,13,21,42,15,1,0,3,224,1,224,1, + 224,1,224,1,224,1,224,1,224,29,224,51,224,113,224,113, + 224,241,224,241,224,241,224,241,224,241,224,241,224,113,224,113, + 224,51,224,29,248,11,14,28,13,1,0,15,0,51,128,113, + 192,113,192,241,192,241,224,255,224,240,0,240,0,240,32,112, + 64,112,64,56,128,15,0,11,21,42,10,1,0,7,128,12, + 192,28,192,61,224,61,192,60,0,60,0,254,0,60,0,60, + 0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60, + 0,60,0,60,0,254,0,14,21,42,16,1,249,15,24,57, + 236,121,252,121,248,121,224,121,224,57,192,57,192,15,0,112, + 0,192,0,255,0,255,224,127,240,63,248,64,56,128,24,128, + 16,128,48,96,96,31,128,14,21,42,16,1,0,252,0,60, + 0,60,0,60,0,60,0,60,0,60,0,61,224,62,112,60, + 112,60,120,60,120,60,120,60,120,60,120,60,120,60,120,60, + 120,60,120,60,120,254,252,6,21,21,8,1,0,48,120,120, + 48,0,0,0,248,120,120,120,120,120,120,120,120,120,120,120, + 120,252,8,28,28,8,255,249,6,15,15,6,0,0,0,31, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,79,255, + 239,238,206,56,14,21,42,16,1,0,252,0,60,0,60,0, + 60,0,60,0,60,0,60,0,60,248,60,96,60,64,60,128, + 60,128,61,128,63,128,63,192,61,224,60,224,60,240,60,112, + 60,120,254,252,8,21,21,9,1,0,252,60,60,60,60,60, + 60,60,60,60,60,60,60,60,60,60,60,60,60,60,255,20, + 14,42,23,2,0,249,199,128,126,233,192,120,241,192,120,241, + 224,120,241,224,120,241,224,120,241,224,120,241,224,120,241,224, + 120,241,224,120,241,224,120,241,224,120,241,224,253,251,240,13, + 14,28,16,2,0,251,192,124,224,120,224,120,240,120,240,120, + 240,120,240,120,240,120,240,120,240,120,240,120,240,120,240,253, + 248,12,14,28,14,1,0,15,0,49,128,112,192,112,224,240, + 224,240,224,240,240,240,240,240,224,240,224,112,224,112,192,49, + 128,15,0,13,21,42,15,1,249,253,192,62,96,60,112,60, + 112,60,120,60,120,60,120,60,120,60,120,60,120,60,112,60, + 112,62,96,61,192,60,0,60,0,60,0,60,0,60,0,60, + 0,254,0,13,21,42,14,1,249,30,32,51,32,113,96,113, + 224,241,224,241,224,241,224,241,224,241,224,241,224,113,224,113, + 224,51,224,29,224,1,224,1,224,1,224,1,224,1,224,1, + 224,3,248,10,14,28,12,2,0,251,128,125,128,123,192,123, + 128,121,128,120,0,120,0,120,0,120,0,120,0,120,0,120, + 0,120,0,252,0,10,14,28,13,2,0,60,128,67,128,193, + 128,193,128,224,128,248,0,126,0,63,128,143,128,131,192,192, + 192,224,192,240,128,143,0,9,20,40,10,0,0,8,0,8, + 0,8,0,24,0,24,0,56,0,255,0,56,0,56,0,56, + 0,56,0,56,0,56,0,56,128,56,128,56,128,56,128,57, + 128,57,0,14,0,14,14,28,15,0,0,253,248,60,120,60, + 120,60,120,60,120,60,120,60,120,60,120,60,120,60,120,60, + 120,60,248,29,120,14,124,13,14,28,15,1,0,252,248,120, + 32,56,32,60,32,28,64,28,64,30,64,14,128,14,128,15, + 0,7,0,7,0,6,0,2,0,20,14,42,22,1,0,253, + 253,240,120,120,64,56,120,64,60,56,64,28,120,128,28,124, + 128,30,92,128,14,157,0,14,159,0,15,143,0,7,14,0, + 7,14,0,6,6,0,2,4,0,13,14,28,15,1,0,254, + 248,60,96,60,64,30,128,30,128,15,0,7,0,7,128,7, + 192,11,192,9,224,16,224,48,240,253,248,13,21,42,15,1, + 249,252,248,120,32,56,32,60,64,28,64,28,64,30,64,14, + 128,15,128,7,128,7,128,7,0,3,0,3,0,2,0,2, + 0,50,0,122,0,116,0,116,0,56,0,11,14,28,13,1, + 0,127,224,97,224,67,192,67,128,71,128,15,0,15,0,30, + 0,30,32,60,32,56,32,120,96,240,224,255,224,9,27,54, + 12,1,250,0,128,7,0,14,0,30,0,30,0,30,0,30, + 0,30,0,30,0,30,0,28,0,28,0,56,0,224,0,56, + 0,28,0,28,0,30,0,30,0,30,0,30,0,30,0,30, + 0,30,0,14,0,7,0,0,128,2,27,27,8,3,250,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,9,27,54,13,2,250, + 192,0,56,0,28,0,28,0,30,0,30,0,30,0,30,0, + 30,0,30,0,30,0,30,0,14,0,1,128,14,0,30,0, + 30,0,30,0,30,0,30,0,30,0,30,0,30,0,28,0, + 28,0,56,0,192,0,16,6,12,18,1,5,124,2,127,1, + 143,193,131,241,128,254,64,62,255}; +/* + Fontname: -FreeType-Old Standard TT-Bold-R-Normal--34-340-72-72-P-184-ISO10646-1 + Copyright: Copyright (C) 2006-2008 Alexey Kryukov + Capital A Height: 26, '1' Height: 25 + Calculated Max Values w=34 h=33 x= 6 y=20 dx=36 dy= 0 ascent=34 len=125 + Font Bounding box w=95 h=44 x=-29 y=-10 + Calculated Min Values x=-2 y=-10 dx= 0 dy= 0 + Pure Font ascent =26 descent=-8 + X Font ascent =26 descent=-8 + Max Font ascent =34 descent=-10 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_osb26[12640] U8G_FONT_SECTION("u8g_font_osb26") = { + 0,95,44,227,246,26,7,105,16,163,32,255,248,34,246,26, + 248,0,0,0,10,0,0,6,25,25,10,2,1,120,252,252, + 252,252,252,120,120,120,120,48,48,48,48,48,48,48,0,0, + 0,120,252,252,252,120,8,8,8,12,2,18,231,231,231,231, + 231,231,66,66,20,25,75,24,2,0,3,131,0,3,131,0, + 3,3,0,3,3,0,3,3,0,3,7,0,3,7,0,255, + 255,240,255,255,240,6,6,0,6,6,0,6,6,0,6,14, + 0,6,14,0,14,12,0,12,12,0,12,12,0,255,255,224, + 255,255,224,12,28,0,12,24,0,28,24,0,24,24,0,24, + 24,0,24,24,0,16,31,62,20,2,253,2,32,2,32,2, + 32,15,248,26,38,50,34,114,35,114,35,114,47,122,47,126, + 46,126,46,63,160,63,224,31,240,15,248,7,252,3,254,2, + 126,114,63,250,47,250,47,242,39,226,39,194,38,98,38,50, + 44,30,56,3,224,2,32,2,32,23,26,78,29,3,0,8, + 0,48,54,0,32,99,0,96,99,0,192,227,128,192,227,129, + 128,227,129,0,227,131,0,227,130,0,227,134,0,99,12,0, + 54,8,0,28,24,0,0,16,112,0,48,216,0,97,140,0, + 97,140,0,195,142,0,131,142,1,131,142,1,3,142,3,3, + 142,6,3,142,4,1,140,12,1,140,8,0,248,24,25,75, + 26,1,1,1,252,0,3,4,0,3,2,0,7,2,0,7, + 2,0,7,6,0,7,132,0,7,200,0,3,240,0,3,224, + 0,1,240,0,3,240,127,6,248,28,12,124,8,24,60,24, + 56,62,16,112,31,16,240,15,32,240,15,224,248,7,192,248, + 3,192,252,3,225,126,7,242,127,253,254,31,240,124,3,8, + 8,7,2,18,224,224,224,224,224,224,64,64,10,31,62,12, + 2,250,0,192,1,0,2,0,6,0,12,0,24,0,56,0, + 56,0,120,0,112,0,112,0,240,0,240,0,240,0,240,0, + 240,0,240,0,240,0,240,0,240,0,112,0,112,0,112,0, + 56,0,56,0,24,0,28,0,12,0,6,0,3,0,1,128, + 9,32,64,12,1,250,192,0,96,0,48,0,24,0,28,0, + 12,0,14,0,6,0,7,0,7,0,7,128,7,128,7,128, + 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, + 7,0,7,0,7,0,14,0,14,0,12,0,24,0,48,0, + 96,0,192,0,128,0,12,14,28,17,3,11,14,0,14,0, + 14,0,196,112,228,240,245,224,14,0,14,0,245,224,228,240, + 196,112,14,0,14,0,14,0,29,30,120,31,1,251,0,3, + 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3, + 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3, + 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3, + 0,0,0,3,0,0,255,255,255,248,255,255,255,248,0,3, + 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3, + 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3, + 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3, + 0,0,0,3,0,0,7,11,11,10,2,249,120,252,254,254, + 126,6,4,12,8,48,224,9,4,8,13,2,7,255,128,255, + 128,255,128,255,128,5,5,5,9,2,0,112,248,248,248,112, + 12,33,66,15,2,249,0,112,0,96,0,96,0,224,0,192, + 0,192,1,192,1,192,1,128,1,128,3,128,3,0,3,0, + 7,0,6,0,6,0,6,0,14,0,12,0,12,0,28,0, + 24,0,24,0,56,0,56,0,48,0,48,0,112,0,96,0, + 96,0,224,0,192,0,192,0,16,25,50,20,2,1,7,224, + 14,112,28,56,60,60,60,60,124,62,124,62,124,62,252,63, + 252,63,252,63,252,63,252,63,252,63,252,63,252,63,252,63, + 124,62,124,62,124,62,60,60,60,60,28,56,14,112,7,224, + 12,25,50,20,4,0,7,0,7,0,31,0,255,0,31,0, + 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, + 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, + 31,0,31,0,31,0,255,240,15,25,50,20,2,1,31,240, + 48,120,96,60,96,62,224,62,240,62,248,62,252,62,124,124, + 56,124,0,248,1,240,1,224,3,128,7,0,12,2,24,2, + 48,2,32,2,76,6,127,254,127,252,71,252,67,252,65,248, + 15,26,52,20,2,0,1,0,14,240,56,120,48,60,112,62, + 120,62,124,62,124,62,60,62,24,60,0,120,0,112,31,192, + 0,240,0,120,0,60,0,60,56,62,124,62,252,62,252,62, + 248,62,224,60,96,124,96,120,31,224,16,25,50,20,2,0, + 0,120,0,120,0,248,1,248,1,248,3,248,3,248,6,248, + 6,248,12,248,12,248,24,248,56,248,48,248,96,248,96,248, + 192,248,255,255,0,248,0,248,0,248,0,248,0,248,0,248, + 15,255,15,26,52,20,3,0,0,8,48,56,63,240,63,224, + 63,128,62,0,32,0,32,0,32,0,32,0,39,192,56,112, + 48,120,32,60,32,60,0,62,0,62,56,62,120,62,252,62, + 248,62,248,60,224,60,96,120,112,112,31,224,16,25,50,20, + 2,1,7,240,12,8,28,12,56,60,56,124,120,124,120,120, + 120,48,248,0,248,0,251,224,252,56,252,60,248,30,248,31, + 248,31,248,31,248,31,120,31,120,31,120,31,56,30,28,30, + 12,60,7,240,15,25,50,20,3,0,79,28,95,156,127,198, + 127,230,127,254,224,246,192,4,192,12,128,12,128,24,0,16, + 0,48,0,96,0,224,1,192,1,192,3,192,7,128,7,128, + 15,128,15,128,15,128,15,128,15,128,7,0,17,25,75,20, + 2,1,7,240,0,24,12,0,48,12,0,48,6,0,112,6, + 0,112,6,0,120,6,0,124,4,0,127,12,0,127,152,0, + 63,224,0,31,248,0,15,252,0,15,254,0,49,255,0,96, + 127,0,64,31,0,192,15,128,192,7,0,192,7,0,192,3, + 0,96,6,0,96,6,0,56,12,0,14,240,0,15,25,50, + 20,2,1,31,192,60,112,120,48,120,56,248,60,248,60,248, + 60,248,62,248,62,248,62,248,62,120,62,124,126,60,126,15, + 190,0,62,0,62,12,60,30,60,62,60,62,56,60,56,48, + 112,16,96,15,192,5,17,17,9,2,0,112,248,248,248,112, + 0,0,0,0,0,0,0,112,248,248,248,112,6,23,23,9, + 2,249,112,248,248,248,112,0,0,0,0,0,0,0,112,248, + 252,252,252,12,12,8,16,48,192,26,29,116,32,3,251,0, + 0,1,192,0,0,3,192,0,0,15,0,0,0,62,0,0, + 0,248,0,0,1,224,0,0,7,128,0,0,31,0,0,0, + 124,0,0,0,240,0,0,3,192,0,0,15,128,0,0,62, + 0,0,0,120,0,0,0,224,0,0,0,120,0,0,0,62, + 0,0,0,15,128,0,0,3,192,0,0,0,240,0,0,0, + 124,0,0,0,31,0,0,0,7,128,0,0,1,224,0,0, + 0,248,0,0,0,62,0,0,0,15,0,0,0,3,192,0, + 0,1,192,29,9,36,33,2,5,255,255,255,248,255,255,255, + 248,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,255,255,255,248,255,255,255,248,26,29,116, + 32,3,251,224,0,0,0,240,0,0,0,60,0,0,0,31, + 0,0,0,7,192,0,0,1,224,0,0,0,120,0,0,0, + 62,0,0,0,15,128,0,0,3,192,0,0,0,240,0,0, + 0,124,0,0,0,31,0,0,0,7,128,0,0,1,192,0, + 0,7,128,0,0,31,0,0,0,124,0,0,0,240,0,0, + 3,192,0,0,15,128,0,0,62,0,0,0,120,0,0,1, + 224,0,0,7,192,0,0,31,0,0,0,60,0,0,0,240, + 0,0,0,224,0,0,0,11,25,50,16,2,1,63,128,67, + 192,129,224,129,224,129,224,131,224,195,192,67,192,3,128,7, + 0,6,0,12,0,8,0,24,0,17,0,17,0,17,0,14, + 0,0,0,0,0,14,0,31,0,31,0,31,0,14,0,25, + 25,100,27,1,1,0,255,192,0,3,0,48,0,6,0,24, + 0,12,0,12,0,24,0,6,0,48,30,243,0,48,114,243, + 0,96,225,227,0,97,225,225,128,227,193,225,128,195,193,225, + 128,195,193,193,128,199,131,193,128,199,131,193,128,199,131,195, + 0,199,131,195,0,231,135,130,0,103,135,134,0,99,139,204, + 0,49,240,240,0,48,0,0,0,24,0,0,0,12,0,0, + 0,7,0,96,0,1,255,192,0,23,26,78,25,1,0,0, + 16,0,0,24,0,0,56,0,0,56,0,0,60,0,0,124, + 0,0,124,0,0,126,0,0,254,0,0,254,0,0,158,0, + 1,159,0,1,159,0,1,31,0,3,15,128,3,15,128,3, + 15,128,6,7,192,7,255,192,6,7,192,4,7,224,12,3, + 224,12,3,224,28,3,240,28,3,240,255,159,254,20,25,75, + 24,2,0,255,254,0,31,7,128,31,7,192,31,3,192,31, + 3,224,31,3,224,31,3,224,31,3,224,31,3,192,31,7, + 128,31,7,0,31,248,0,31,7,0,31,3,192,31,1,224, + 31,1,224,31,1,240,31,1,240,31,1,240,31,1,240,31, + 1,240,31,1,224,31,3,192,31,7,128,255,254,0,19,25, + 75,22,2,1,3,248,64,14,6,192,30,3,192,60,3,192, + 60,1,192,124,1,192,124,0,192,124,0,192,252,0,192,252, + 0,64,252,0,64,252,0,0,252,0,0,252,0,0,252,0, + 0,252,0,0,252,0,96,124,0,64,124,0,64,124,0,64, + 60,0,192,30,0,128,30,1,0,15,3,0,3,252,0,23, + 25,75,27,2,0,255,255,0,31,3,192,31,0,224,31,0, + 240,31,0,120,31,0,120,31,0,124,31,0,124,31,0,126, + 31,0,126,31,0,126,31,0,126,31,0,126,31,0,126,31, + 0,126,31,0,126,31,0,124,31,0,124,31,0,124,31,0, + 120,31,0,120,31,0,240,31,0,224,31,3,192,255,255,0, + 20,25,75,23,2,0,255,255,224,31,1,224,31,0,224,31, + 0,224,31,0,96,31,0,96,31,0,32,31,4,32,31,4, + 0,31,12,0,31,12,0,31,28,0,31,252,0,31,28,0, + 31,12,0,31,12,48,31,4,48,31,4,48,31,0,48,31, + 0,112,31,0,112,31,0,240,31,1,240,31,3,240,255,255, + 240,20,25,75,23,2,0,255,255,240,31,3,240,31,0,240, + 31,0,240,31,0,112,31,0,112,31,0,48,31,4,48,31, + 4,48,31,12,48,31,12,0,31,28,0,31,252,0,31,28, + 0,31,12,0,31,12,0,31,4,0,31,4,0,31,0,0, + 31,0,0,31,0,0,31,0,0,31,0,0,31,0,0,255, + 240,0,21,26,78,24,2,0,0,32,0,3,220,32,7,3, + 96,14,1,224,28,1,224,60,0,224,60,0,224,124,0,96, + 124,0,96,252,0,32,252,0,32,252,0,0,252,0,0,252, + 63,248,252,3,224,252,3,224,252,3,224,252,3,224,124,3, + 224,124,3,224,124,3,224,60,3,224,60,3,96,30,6,96, + 14,12,96,3,184,32,25,25,100,28,2,0,255,231,255,128, + 31,0,248,0,31,0,248,0,31,0,248,0,31,0,248,0, + 31,0,248,0,31,0,248,0,31,0,248,0,31,0,248,0, + 31,0,248,0,31,0,248,0,31,255,248,0,31,0,248,0, + 31,0,248,0,31,0,248,0,31,0,248,0,31,0,248,0, + 31,0,248,0,31,0,248,0,31,0,248,0,31,0,248,0, + 31,0,248,0,31,0,248,0,31,0,248,0,255,231,255,128, + 11,25,50,14,2,0,255,224,31,0,31,0,31,0,31,0, + 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, + 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, + 31,0,31,0,31,0,255,224,16,25,50,18,1,0,7,255, + 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, + 0,248,0,248,0,248,0,248,0,248,0,248,0,248,120,248, + 248,248,248,248,248,248,240,248,224,240,64,240,97,224,63,192, + 24,25,75,27,2,0,255,227,252,31,0,224,31,0,192,31, + 0,128,31,1,128,31,3,0,31,6,0,31,12,0,31,28, + 0,31,28,0,31,62,0,31,126,0,31,255,0,31,191,0, + 31,31,128,31,31,128,31,15,192,31,15,192,31,7,224,31, + 7,224,31,3,240,31,1,240,31,1,248,31,1,252,255,231, + 255,20,25,75,23,2,0,255,224,0,31,0,0,31,0,0, + 31,0,0,31,0,0,31,0,0,31,0,0,31,0,0,31, + 0,0,31,0,0,31,0,0,31,0,0,31,0,0,31,0, + 0,31,0,48,31,0,48,31,0,48,31,0,48,31,0,112, + 31,0,112,31,0,240,31,0,240,31,1,240,31,3,240,255, + 255,240,27,25,100,30,2,0,255,0,63,224,15,0,63,0, + 15,128,63,0,15,128,63,0,15,128,127,0,15,192,95,0, + 15,192,95,0,11,224,95,0,11,224,223,0,11,224,159,0, + 9,240,159,0,9,240,159,0,9,241,31,0,8,249,31,0, + 8,249,31,0,8,249,31,0,8,126,31,0,8,126,31,0, + 8,62,31,0,8,62,31,0,8,60,31,0,8,28,31,0, + 24,28,31,0,60,28,31,0,255,8,255,224,24,25,75,27, + 2,0,255,3,255,31,128,124,31,128,56,15,192,16,7,224, + 16,7,240,16,7,240,16,5,248,16,5,252,16,4,252,16, + 4,126,16,4,127,16,4,63,16,4,31,144,4,31,208,4, + 15,208,4,7,240,4,7,240,4,3,240,4,1,240,4,1, + 240,4,0,240,14,0,112,31,0,48,255,192,48,20,25,75, + 24,2,1,3,252,0,6,6,0,14,7,0,28,3,128,60, + 3,192,60,3,192,124,3,224,124,3,224,124,3,224,252,3, + 240,252,3,240,252,3,240,252,3,240,252,3,240,252,3,240, + 252,3,240,124,3,224,124,3,224,124,3,224,60,3,192,60, + 3,192,28,3,128,14,7,0,6,6,0,3,252,0,20,25, + 75,24,2,0,255,254,0,31,3,128,31,3,192,31,1,224, + 31,1,240,31,1,240,31,1,240,31,1,240,31,1,240,31, + 1,224,31,3,192,31,7,128,31,254,0,31,0,0,31,0, + 0,31,0,0,31,0,0,31,0,0,31,0,0,31,0,0, + 31,0,0,31,0,0,31,0,0,31,0,0,255,240,0,20, + 33,99,24,2,249,3,252,0,6,6,0,14,7,0,28,3, + 128,60,3,192,60,3,192,124,3,224,124,3,224,124,3,224, + 252,3,240,252,3,240,252,3,240,252,3,240,252,3,240,252, + 3,240,252,3,240,124,3,240,124,3,224,124,3,224,60,243, + 192,61,155,192,29,11,128,15,15,128,7,15,16,3,156,16, + 0,108,16,0,12,16,0,12,48,0,14,48,0,15,240,0, + 15,224,0,7,224,0,3,128,22,25,75,25,2,0,255,252, + 0,31,7,128,31,7,192,31,3,192,31,3,224,31,3,224, + 31,3,224,31,3,224,31,3,192,31,7,192,31,15,0,31, + 248,0,31,14,0,31,15,0,31,7,128,31,7,192,31,7, + 192,31,7,192,31,7,192,31,7,196,31,7,196,31,7,196, + 31,7,196,31,3,200,255,241,248,16,25,50,21,3,1,31, + 198,32,118,96,62,224,30,224,14,240,6,248,6,252,6,255, + 2,127,128,127,192,63,240,15,248,7,252,129,254,128,254,192, + 127,192,31,192,15,224,7,224,7,240,6,248,6,220,12,135, + 120,21,25,75,25,3,0,255,255,248,248,248,248,240,248,120, + 224,248,120,192,248,56,192,248,56,128,248,24,128,248,24,128, + 248,24,128,248,24,0,248,0,0,248,0,0,248,0,0,248, + 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, + 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,15, + 255,0,23,25,75,26,2,0,255,225,254,31,0,120,31,0, + 48,31,0,16,31,0,16,31,0,16,31,0,16,31,0,16, + 31,0,16,31,0,16,31,0,16,31,0,16,31,0,16,31, + 0,16,31,0,16,31,0,16,31,0,16,31,0,16,31,0, + 16,31,0,16,15,0,32,15,0,32,7,128,64,3,192,192, + 1,255,0,24,25,75,27,2,0,255,241,255,31,128,56,15, + 128,48,15,192,48,15,192,48,7,192,32,7,224,32,7,224, + 96,3,224,64,3,240,64,1,240,192,1,240,128,1,248,128, + 0,249,128,0,249,128,0,253,0,0,125,0,0,127,0,0, + 126,0,0,62,0,0,62,0,0,60,0,0,28,0,0,28, + 0,0,24,0,34,25,125,36,1,0,255,231,255,127,192,31, + 129,248,14,0,15,128,248,14,0,15,128,252,12,0,15,192, + 124,12,0,7,192,124,12,0,7,192,124,8,0,7,224,254, + 24,0,3,224,190,24,0,3,224,190,24,0,3,241,159,16, + 0,1,241,159,48,0,1,241,31,48,0,1,249,15,32,0, + 1,251,15,160,0,0,250,15,224,0,0,254,15,224,0,0, + 254,7,192,0,0,126,7,192,0,0,124,7,192,0,0,124, + 3,192,0,0,60,3,128,0,0,56,3,128,0,0,56,1, + 128,0,0,24,1,128,0,23,25,75,26,2,0,255,231,252, + 31,193,224,15,192,192,15,193,128,7,225,128,7,227,0,3, + 242,0,3,246,0,1,244,0,1,248,0,0,248,0,0,252, + 0,0,124,0,0,62,0,0,126,0,0,127,0,0,159,0, + 1,159,128,1,15,128,3,15,192,6,7,224,4,7,224,12, + 3,240,28,7,240,255,143,254,23,25,75,26,2,0,255,225, + 254,31,128,112,31,128,96,15,128,96,15,192,64,7,192,192, + 7,224,192,7,224,128,3,225,128,3,241,0,1,241,0,1, + 251,0,0,250,0,0,254,0,0,252,0,0,124,0,0,124, + 0,0,124,0,0,124,0,0,124,0,0,124,0,0,124,0, + 0,124,0,0,124,0,3,255,128,18,25,75,22,2,0,127, + 255,192,124,15,192,120,31,128,112,31,128,96,63,0,96,63, + 0,64,126,0,64,126,0,64,252,0,0,252,0,1,248,0, + 1,240,0,3,240,0,7,224,0,7,224,0,15,192,64,15, + 192,64,31,128,64,31,128,64,63,0,192,63,1,192,126,1, + 192,126,3,192,252,15,192,255,255,192,8,31,31,14,3,250, + 255,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, + 240,240,240,240,240,240,240,240,240,240,240,240,240,240,255,11, + 33,66,15,2,249,192,0,192,0,224,0,96,0,96,0,96, + 0,112,0,48,0,48,0,56,0,24,0,24,0,28,0,12, + 0,12,0,12,0,14,0,6,0,6,0,7,0,3,0,3, + 0,3,0,3,128,1,128,1,128,1,192,0,192,0,192,0, + 224,0,96,0,96,0,96,8,31,31,13,2,250,255,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,255,16,12,24,20, + 2,14,1,128,3,128,3,192,7,224,14,96,14,112,28,56, + 24,56,56,28,112,12,96,14,224,7,18,2,6,18,0,250, + 255,255,192,255,255,192,6,7,7,15,3,18,224,224,240,120, + 24,12,4,15,17,34,18,2,0,15,128,49,224,96,240,112, + 240,120,240,120,240,32,240,7,240,28,240,56,240,120,240,240, + 240,240,242,240,242,240,242,121,252,62,120,15,25,50,18,1, + 0,252,0,60,0,60,0,60,0,60,0,60,0,60,0,60, + 0,60,240,61,56,62,60,62,28,62,30,62,30,60,30,60, + 30,60,30,60,30,60,30,62,30,62,30,62,28,50,60,35, + 56,33,224,13,17,34,16,2,0,7,128,28,96,56,32,120, + 112,120,240,248,240,240,224,240,64,240,0,240,0,240,0,240, + 8,120,16,120,16,56,16,28,32,7,192,17,25,75,20,2, + 0,1,252,0,0,60,0,0,60,0,0,60,0,0,60,0, + 0,60,0,0,60,0,0,60,0,15,60,0,28,188,0,56, + 124,0,120,124,0,120,60,0,240,60,0,240,60,0,240,60, + 0,240,60,0,240,60,0,240,60,0,240,60,0,120,60,0, + 120,124,0,56,124,0,28,188,0,15,63,128,13,17,34,17, + 2,0,7,128,24,224,56,240,120,240,120,240,240,120,240,120, + 240,120,255,248,240,0,240,0,240,8,120,8,120,24,56,16, + 28,32,7,192,12,25,50,12,1,0,3,192,14,112,30,112, + 28,240,60,240,60,240,60,0,60,0,255,128,60,0,60,0, + 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, + 60,0,60,0,60,0,60,0,60,0,255,128,17,25,75,19, + 1,248,7,199,0,28,249,128,60,115,128,120,123,128,120,123, + 0,120,120,0,120,120,0,120,120,0,60,112,0,28,224,0, + 7,192,0,56,0,0,96,0,0,127,192,0,127,248,0,127, + 252,0,63,254,0,63,254,0,64,14,0,128,6,0,128,6, + 0,128,4,0,64,12,0,32,56,0,31,224,0,17,25,75, + 19,1,0,252,0,0,60,0,0,60,0,0,60,0,0,60, + 0,0,60,0,0,60,0,0,60,0,0,60,120,0,61,188, + 0,61,28,0,62,30,0,62,30,0,62,30,0,60,30,0, + 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, + 30,0,60,30,0,60,30,0,60,30,0,255,127,128,8,25, + 25,11,2,0,56,124,124,124,56,0,0,0,252,60,60,60, + 60,60,60,60,60,60,60,60,60,60,60,60,255,10,33,66, + 10,254,248,3,128,7,192,7,192,7,192,3,128,0,0,0, + 0,0,0,31,192,3,192,3,192,3,192,3,192,3,192,3, + 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, + 192,3,192,3,192,3,192,99,192,243,192,243,192,243,128,231, + 128,103,0,62,0,17,25,75,19,1,0,252,0,0,60,0, + 0,60,0,0,60,0,0,60,0,0,60,0,0,60,0,0, + 60,0,0,60,127,0,60,24,0,60,16,0,60,48,0,60, + 32,0,60,64,0,60,192,0,60,224,0,61,224,0,62,240, + 0,62,240,0,60,120,0,60,124,0,60,60,0,60,62,0, + 60,62,0,255,127,128,9,25,50,11,1,0,252,0,60,0, + 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, + 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, + 60,0,60,0,60,0,60,0,60,0,60,0,255,128,25,17, + 68,28,1,0,252,120,120,0,61,188,158,0,61,31,30,0, + 62,31,30,0,62,30,31,0,62,30,31,0,60,30,31,0, + 60,30,31,0,60,30,31,0,60,30,31,0,60,30,31,0, + 60,30,31,0,60,30,31,0,60,30,31,0,60,30,31,0, + 60,30,31,0,255,127,191,128,17,17,51,19,1,0,252,120, + 0,61,188,0,61,28,0,62,30,0,62,30,0,62,30,0, + 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, + 30,0,60,30,0,60,30,0,60,30,0,60,30,0,255,127, + 128,14,17,34,18,2,0,7,128,28,224,56,112,120,120,120, + 120,240,60,240,60,240,60,240,60,240,60,240,60,240,60,120, + 120,120,120,56,112,24,224,7,128,15,25,50,18,1,248,252, + 240,61,56,62,60,62,28,62,30,62,30,60,30,60,30,60, + 30,60,30,60,30,62,30,62,30,62,28,62,60,61,56,60, + 240,60,0,60,0,60,0,60,0,60,0,60,0,60,0,255, + 128,16,25,50,19,2,248,15,132,28,196,56,100,120,124,120, + 60,240,60,240,60,240,60,240,60,240,60,240,60,240,60,120, + 124,120,124,56,124,28,188,15,60,0,60,0,60,0,60,0, + 60,0,60,0,60,0,60,1,255,12,17,34,14,1,0,252, + 224,61,112,62,240,62,240,62,240,62,96,60,0,60,0,60, + 0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,255, + 0,11,17,34,14,2,0,60,64,99,64,193,192,192,192,224, + 192,240,64,252,0,127,0,63,128,31,192,135,224,129,224,192, + 224,224,96,224,96,144,192,143,128,11,24,48,13,1,0,12, + 0,12,0,12,0,12,0,12,0,28,0,60,0,255,192,60, + 0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60, + 32,60,32,60,32,60,32,60,96,60,64,31,192,15,128,17, + 17,51,19,1,0,252,126,0,60,30,0,60,30,0,60,30, + 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, + 60,30,0,60,30,0,60,62,0,60,62,0,60,62,0,60, + 94,0,30,158,0,15,31,128,17,17,51,18,0,0,255,159, + 128,30,6,0,30,4,0,30,4,0,15,12,0,15,8,0, + 15,8,0,7,152,0,7,144,0,3,208,0,3,240,0,3, + 224,0,1,224,0,1,192,0,1,192,0,0,192,0,0,128, + 0,25,17,68,26,0,0,255,63,207,128,30,15,6,0,30, + 15,6,0,30,15,4,0,15,7,132,0,15,15,132,0,7, + 143,136,0,7,139,200,0,7,147,200,0,3,211,208,0,3, + 209,240,0,3,225,240,0,1,225,224,0,1,224,224,0,1, + 192,224,0,0,192,192,0,0,192,64,0,16,17,34,18,1, + 0,255,126,62,24,30,16,31,16,15,32,15,192,7,192,3, + 192,3,192,1,224,3,240,2,240,4,248,8,120,8,124,24, + 126,254,127,17,25,75,18,0,248,255,159,128,62,6,0,30, + 4,0,31,4,0,15,8,0,15,8,0,15,136,0,7,136, + 0,7,144,0,3,208,0,3,208,0,3,224,0,1,224,0, + 1,224,0,0,224,0,0,192,0,0,64,0,0,64,0,0, + 128,0,28,128,0,60,128,0,60,128,0,57,0,0,59,0, + 0,30,0,0,13,17,34,16,1,0,127,248,112,248,96,240, + 97,224,67,224,67,192,7,192,7,128,15,128,15,0,31,8, + 30,8,60,24,124,24,120,56,248,120,255,248,11,33,66,15, + 2,249,0,32,3,192,7,0,15,0,30,0,30,0,30,0, + 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, + 56,0,224,0,56,0,28,0,30,0,30,0,30,0,30,0, + 30,0,30,0,30,0,30,0,30,0,30,0,14,0,7,0, + 3,192,0,32,2,32,32,10,4,249,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,11,33,66,15,3,249, + 128,0,240,0,60,0,30,0,30,0,30,0,30,0,30,0, + 30,0,30,0,30,0,30,0,30,0,30,0,15,0,7,0, + 1,224,7,0,15,0,30,0,30,0,30,0,30,0,30,0, + 30,0,30,0,30,0,30,0,30,0,30,0,60,0,240,0, + 128,0,19,7,21,23,2,6,62,0,64,127,128,32,255,240, + 32,135,252,32,129,255,224,128,63,192,64,15,128,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,255,255,255,255,255,255,255,0,0, + 0,10,0,0,6,26,26,10,2,248,120,252,252,252,120,0, + 0,0,32,48,48,48,48,48,48,120,120,120,120,252,252,252, + 252,252,252,120,13,25,50,19,3,252,1,0,1,0,1,0, + 1,0,15,192,29,32,57,48,121,112,121,112,249,112,241,96, + 241,0,241,0,241,0,241,0,241,8,121,16,121,16,57,16, + 29,32,15,192,1,0,1,0,1,0,1,0,21,26,78,24, + 2,0,0,2,0,0,61,192,0,112,96,0,240,112,1,224, + 112,1,224,240,3,224,240,3,224,224,3,224,0,3,224,0, + 3,224,0,31,224,0,35,225,0,1,254,0,1,240,0,1, + 240,0,0,240,0,0,240,0,0,240,0,0,224,0,0,224, + 8,60,192,16,199,192,48,131,255,224,131,255,192,124,63,128, + 18,17,51,20,1,3,64,0,128,227,241,192,127,255,128,60, + 15,0,56,7,0,48,3,0,112,3,128,96,1,128,96,1, + 128,96,1,128,96,1,128,112,3,128,48,3,0,56,7,0, + 62,31,0,127,255,128,99,241,128,18,25,75,20,1,0,255, + 143,192,63,3,128,63,3,0,31,3,0,31,130,0,15,130, + 0,15,196,0,15,196,0,7,196,0,7,232,0,3,232,0, + 3,248,0,3,240,0,63,255,128,1,240,0,1,240,0,63, + 255,128,1,240,0,1,240,0,1,240,0,1,240,0,1,240, + 0,1,240,0,1,240,0,31,254,0,2,32,32,10,4,250, + 192,192,192,192,192,192,192,192,192,192,192,192,192,0,0,0, + 0,0,0,192,192,192,192,192,192,192,192,192,192,192,192,192, + 15,32,64,22,2,249,7,224,28,24,56,24,48,28,112,124, + 112,124,112,124,120,56,124,0,63,0,31,224,127,240,71,252, + 193,252,192,126,224,30,248,14,254,6,127,134,63,228,31,248, + 7,248,1,248,0,124,60,60,60,28,124,28,124,28,112,24, + 48,56,24,112,15,192,11,4,8,15,2,19,113,192,241,224, + 241,224,113,192,24,25,75,28,2,1,1,255,128,6,0,64, + 12,0,48,24,0,24,48,60,136,32,227,132,65,193,134,65, + 193,130,195,192,130,131,192,131,131,192,129,131,192,1,131,192, + 1,131,192,1,131,192,65,131,192,131,195,192,130,65,192,130, + 65,193,134,32,227,4,48,60,8,16,0,24,12,0,48,6, + 0,64,1,255,128,10,13,26,13,1,12,60,0,70,0,199, + 0,231,0,71,0,63,0,103,0,231,0,231,64,231,64,123, + 128,0,0,255,128,9,15,30,17,4,1,8,0,24,128,48, + 128,97,0,99,0,227,0,227,0,227,0,227,0,227,0,227, + 0,97,0,49,128,48,128,8,0,16,9,18,20,2,5,255, + 255,255,255,0,3,0,3,0,3,0,3,0,3,0,3,0, + 3,9,4,8,13,2,7,255,128,255,128,255,128,255,128,24, + 25,75,28,2,1,1,255,128,6,0,64,12,0,48,24,0, + 24,55,254,8,33,227,132,65,227,198,65,227,194,193,227,194, + 129,227,195,129,231,129,129,252,1,129,231,1,129,227,129,129, + 227,193,129,227,195,193,227,210,65,227,210,65,227,214,33,227, + 212,55,249,232,16,0,24,12,0,48,6,0,64,1,255,128, + 9,2,4,15,3,20,255,128,255,128,11,10,20,19,4,16, + 63,128,123,192,224,192,192,96,192,96,192,96,192,224,97,192, + 63,128,31,0,29,26,104,33,2,254,0,6,0,0,0,6, + 0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6, + 0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6, + 0,0,255,255,255,248,255,255,255,248,0,6,0,0,0,6, + 0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6, + 0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6, + 0,0,0,0,0,0,0,0,0,0,255,255,255,240,255,255, + 255,240,10,16,32,15,3,9,31,0,103,128,195,192,195,192, + 227,192,243,128,7,128,14,0,28,0,48,64,64,64,64,64, + 255,192,255,192,159,128,135,0,11,16,32,15,2,9,31,0, + 35,128,99,192,115,192,115,192,51,128,3,0,28,0,3,128, + 3,192,97,224,241,224,241,224,227,224,99,192,63,0,6,7, + 7,15,6,18,28,28,60,120,96,192,128,17,27,81,20,2, + 246,96,48,0,112,120,0,240,120,0,240,120,0,240,120,0, + 240,120,0,240,120,0,240,120,0,240,120,0,96,56,0,96, + 48,128,96,48,128,96,113,128,32,127,128,48,255,128,95,207, + 0,71,143,0,64,0,0,96,0,0,96,0,0,112,0,0, + 112,0,0,120,0,0,120,0,0,120,0,0,120,0,0,48, + 0,0,17,30,90,20,2,251,15,255,128,63,140,0,127,140, + 0,127,140,0,255,140,0,255,140,0,255,140,0,255,140,0, + 255,140,0,127,140,0,127,140,0,63,140,0,31,140,0,1, + 140,0,1,140,0,1,140,0,1,140,0,1,140,0,1,140, + 0,1,140,0,1,140,0,1,140,0,1,140,0,1,140,0, + 1,140,0,1,140,0,1,140,0,1,140,0,1,140,0,1, + 140,0,5,5,5,9,2,9,112,248,248,248,112,7,7,7, + 15,4,249,32,32,24,14,14,14,252,8,15,15,16,4,10, + 12,28,252,60,60,60,60,60,60,60,60,60,60,60,255,9, + 13,26,13,2,12,28,0,103,0,99,0,227,128,227,128,227, + 128,227,128,227,128,99,0,103,0,28,0,0,0,255,128,9, + 14,28,17,4,2,132,0,198,0,99,0,99,0,115,128,115, + 128,115,128,115,128,115,128,99,128,99,0,195,0,134,0,12, + 0,25,26,104,31,4,0,0,0,48,0,12,0,48,0,28, + 0,96,0,252,0,96,0,60,0,192,0,60,0,128,0,60, + 1,128,0,60,3,0,0,60,3,0,0,60,6,0,0,60, + 6,0,0,60,12,14,0,60,12,30,0,60,24,30,0,60, + 16,62,0,255,48,62,0,0,96,94,0,0,96,158,0,0, + 192,158,0,0,193,30,0,1,131,30,0,1,131,255,128,3, + 0,30,0,2,0,30,0,6,0,30,0,12,0,255,128,25, + 26,104,31,4,0,0,0,48,0,28,0,32,0,252,0,96, + 0,60,0,64,0,60,0,192,0,60,1,128,0,60,1,128, + 0,60,3,0,0,60,3,0,0,60,6,0,0,60,4,62, + 0,60,12,207,0,60,9,135,128,60,25,135,128,60,49,199, + 128,255,49,231,0,0,96,207,0,0,96,28,0,0,192,56, + 0,0,128,96,0,1,128,64,128,3,0,128,128,3,1,255, + 128,6,1,255,128,6,1,63,0,12,1,14,0,26,26,104, + 30,2,0,0,0,24,0,31,0,24,0,35,128,48,0,99, + 192,48,0,115,192,96,0,115,192,64,0,51,128,192,0,3, + 0,128,0,28,1,128,0,3,131,0,0,3,195,0,0,113, + 230,7,0,241,228,15,0,227,236,15,0,99,200,31,0,63, + 24,31,0,0,16,47,0,0,48,79,0,0,96,79,0,0, + 96,143,0,0,192,143,0,0,129,255,192,1,128,15,0,1, + 0,15,0,3,0,15,0,2,0,127,192,11,26,52,16,2, + 248,28,0,62,0,62,0,62,0,28,0,0,0,0,0,30, + 0,49,0,33,0,33,0,1,0,2,0,6,0,14,0,28, + 0,60,0,120,192,120,64,248,32,240,32,240,32,240,32,120, + 64,120,64,31,128,23,33,99,25,1,0,1,128,0,1,192, + 0,0,224,0,0,96,0,0,48,0,0,16,0,0,0,0, + 0,16,0,0,24,0,0,56,0,0,56,0,0,60,0,0, + 124,0,0,124,0,0,126,0,0,254,0,0,254,0,0,158, + 0,1,159,0,1,159,0,1,31,0,3,15,128,3,15,128, + 3,15,128,6,7,192,7,255,192,6,7,192,4,7,224,12, + 3,224,12,3,224,28,3,240,28,3,240,255,159,254,23,33, + 99,25,1,0,0,3,0,0,7,128,0,7,0,0,14,0, + 0,28,0,0,16,0,0,0,0,0,16,0,0,24,0,0, + 56,0,0,56,0,0,60,0,0,124,0,0,124,0,0,126, + 0,0,254,0,0,254,0,0,159,0,1,159,0,1,159,0, + 1,31,128,3,15,128,3,15,128,3,15,128,6,7,192,7, + 255,192,6,7,192,12,7,224,12,3,224,12,3,224,28,3, + 240,60,3,248,255,159,254,23,33,99,25,1,0,0,16,0, + 0,56,0,0,56,0,0,124,0,0,199,0,1,129,128,0, + 0,0,0,16,0,0,24,0,0,56,0,0,56,0,0,60, + 0,0,124,0,0,124,0,0,126,0,0,254,0,0,254,0, + 0,158,0,1,159,0,1,159,0,1,31,0,3,15,128,3, + 15,128,3,15,128,6,7,192,7,255,192,6,7,192,4,7, + 224,12,3,224,12,3,224,28,3,240,28,3,240,255,159,254, + 23,32,96,25,1,0,0,112,128,0,249,0,1,191,0,1, + 14,0,0,0,0,0,0,0,0,0,0,0,24,0,0,56, + 0,0,56,0,0,60,0,0,124,0,0,124,0,0,126,0, + 0,254,0,0,254,0,0,159,0,1,159,0,1,159,0,1, + 31,128,3,15,128,3,15,128,3,15,128,6,7,192,7,255, + 192,6,7,192,12,7,224,12,3,224,12,3,224,28,3,240, + 60,3,248,255,159,254,23,32,96,25,1,0,1,195,128,3, + 199,128,3,199,128,1,195,128,0,0,0,0,0,0,0,24, + 0,0,56,0,0,56,0,0,56,0,0,60,0,0,124,0, + 0,124,0,0,126,0,0,254,0,0,254,0,0,159,0,1, + 159,0,1,159,0,1,15,128,3,15,128,2,15,128,2,15, + 192,6,7,192,7,255,192,4,7,192,4,3,224,8,3,224, + 8,3,224,24,1,240,24,3,240,255,159,254,23,33,99,25, + 1,0,0,60,0,0,126,0,0,195,0,0,195,0,0,199, + 0,0,126,0,0,60,0,0,0,0,0,24,0,0,56,0, + 0,56,0,0,60,0,0,124,0,0,124,0,0,126,0,0, + 254,0,0,254,0,0,159,0,1,159,0,1,159,0,1,15, + 0,3,15,128,3,15,128,2,15,128,2,7,192,7,255,192, + 4,7,192,4,3,224,12,3,224,8,3,224,24,1,240,28, + 1,240,255,159,254,32,25,100,34,1,0,0,15,255,255,0, + 3,240,31,0,7,240,15,0,7,240,7,0,5,240,7,0, + 13,240,3,0,9,240,3,0,25,240,35,0,25,240,32,0, + 49,240,96,0,49,240,96,0,97,240,224,0,97,255,224,0, + 193,240,224,0,193,240,96,1,129,240,96,1,129,240,33,3, + 255,240,33,3,1,240,3,6,1,240,3,6,1,240,7,12, + 1,240,7,12,1,240,15,62,1,240,63,255,143,255,255,19, + 33,99,22,2,249,3,248,192,14,6,192,30,3,192,60,3, + 192,60,1,192,124,1,192,124,0,192,124,0,192,252,0,192, + 252,0,64,252,0,64,252,0,0,252,0,0,252,0,0,252, + 0,0,252,0,0,252,0,96,124,0,64,124,0,64,124,0, + 64,60,0,192,62,0,128,30,1,0,15,2,0,3,156,0, + 0,224,0,0,128,0,0,240,0,0,56,0,0,56,0,0, + 56,0,2,48,0,1,224,0,20,33,99,23,2,0,3,0, + 0,7,128,0,3,128,0,1,192,0,0,224,0,0,32,0, + 0,0,0,0,0,0,255,255,224,31,1,224,31,0,224,31, + 0,224,31,0,96,31,0,96,31,0,32,31,4,32,31,4, + 0,31,12,0,31,12,0,31,28,0,31,252,0,31,28,0, + 31,12,0,31,12,48,31,4,48,31,4,48,31,0,48,31, + 0,112,31,0,112,31,0,240,31,1,240,31,3,240,255,255, + 240,20,33,99,23,2,0,0,6,0,0,14,0,0,30,0, + 0,28,0,0,48,0,0,96,0,0,0,0,0,0,0,255, + 255,224,31,1,224,31,0,224,31,0,224,31,0,96,31,0, + 96,31,0,32,31,4,32,31,4,0,31,12,0,31,12,0, + 31,28,0,31,252,0,31,28,0,31,12,0,31,12,48,31, + 4,48,31,4,48,31,0,48,31,0,112,31,0,112,31,0, + 240,31,0,240,31,3,240,255,255,240,20,33,99,23,2,0, + 0,32,0,0,96,0,0,240,0,1,248,0,3,140,0,6, + 3,0,0,0,0,0,0,0,255,255,224,31,1,224,31,0, + 224,31,0,224,31,0,96,31,0,96,31,0,32,31,4,32, + 31,4,0,31,12,0,31,12,0,31,28,0,31,252,0,31, + 28,0,31,12,0,31,12,48,31,4,48,31,4,48,31,0, + 48,31,0,112,31,0,112,31,0,240,31,1,240,31,3,240, + 255,255,240,20,32,96,23,2,0,7,14,0,7,143,0,7, + 143,0,7,14,0,0,0,0,0,0,0,0,0,0,255,255, + 224,31,1,224,31,0,224,31,0,224,31,0,96,31,0,96, + 31,0,32,31,4,32,31,4,0,31,12,0,31,12,0,31, + 28,0,31,252,0,31,28,0,31,12,0,31,12,48,31,4, + 48,31,4,48,31,0,48,31,0,112,31,0,112,31,0,240, + 31,0,240,31,3,240,255,255,240,11,33,66,14,2,0,96, + 0,112,0,120,0,56,0,28,0,4,0,0,0,0,0,255, + 224,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, + 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, + 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,255, + 224,11,33,66,14,2,0,0,192,1,192,3,192,3,128,7, + 0,4,0,0,0,0,0,255,224,31,0,31,0,31,0,31, + 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, + 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, + 0,31,0,31,0,31,0,255,224,11,33,66,14,2,0,4, + 0,14,0,14,0,31,0,113,128,192,96,0,0,0,0,255, + 224,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, + 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, + 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,255, + 224,11,32,64,15,2,0,112,224,241,224,241,224,112,224,0, + 0,0,0,0,0,255,224,31,0,31,0,31,0,31,0,31, + 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, + 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, + 0,31,0,31,0,255,224,23,25,75,27,2,0,255,255,0, + 31,3,192,31,0,224,31,0,240,31,0,120,31,0,120,31, + 0,124,31,0,124,31,0,126,31,0,126,31,0,126,255,224, + 126,31,0,126,31,0,126,31,0,126,31,0,126,31,0,124, + 31,0,124,31,0,124,31,0,120,31,0,120,31,0,240,31, + 0,224,31,3,192,255,255,0,24,32,96,27,2,0,0,112, + 64,0,252,192,0,159,128,0,135,0,0,0,0,0,0,0, + 0,0,0,255,3,255,31,128,124,31,128,56,15,192,16,7, + 224,16,7,240,16,7,240,16,5,248,16,5,252,16,4,252, + 16,4,126,16,4,127,16,4,63,16,4,31,144,4,31,208, + 4,15,208,4,7,240,4,7,240,4,3,240,4,1,240,4, + 1,240,4,0,240,14,0,112,31,0,48,255,192,48,20,33, + 99,24,2,1,7,0,0,7,128,0,3,128,0,1,192,0, + 0,192,0,0,96,0,0,0,0,0,0,0,3,252,0,6, + 6,0,14,7,0,28,3,128,60,3,192,60,3,192,124,3, + 224,124,3,224,124,3,224,252,3,240,252,3,240,252,3,240, + 252,3,240,252,3,240,252,3,240,252,3,240,124,3,224,124, + 3,224,124,3,224,60,3,192,60,3,192,28,3,128,14,7, + 0,6,6,0,3,252,0,20,33,99,24,2,1,0,14,0, + 0,30,0,0,28,0,0,56,0,0,48,0,0,96,0,0, + 0,0,0,0,0,3,252,0,6,6,0,14,7,0,28,3, + 128,60,3,192,60,3,192,124,3,224,124,3,224,124,3,224, + 252,3,240,252,3,240,252,3,240,252,3,240,252,3,240,252, + 3,240,252,3,240,124,3,224,124,3,224,124,3,224,60,3, + 192,60,3,192,28,3,128,14,7,0,6,6,0,3,252,0, + 20,33,99,24,2,0,0,96,0,0,96,0,0,240,0,1, + 248,0,3,156,0,6,6,0,0,0,0,0,0,0,3,252, + 0,6,6,0,14,7,0,28,3,128,60,3,192,60,3,192, + 124,3,224,124,3,224,124,3,224,252,3,240,252,3,240,252, + 3,240,252,3,240,252,3,240,252,3,240,252,3,240,124,3, + 224,124,3,224,124,3,224,60,3,192,60,3,192,28,3,128, + 14,7,0,6,6,0,3,252,0,20,32,96,24,2,0,1, + 194,0,3,230,0,6,124,0,4,56,0,0,0,0,0,0, + 0,0,0,0,3,252,0,6,6,0,14,7,0,28,3,128, + 60,3,192,60,3,192,124,3,224,124,3,224,124,3,224,252, + 3,240,252,3,240,252,3,240,252,3,240,252,3,240,252,3, + 240,252,3,240,124,3,224,124,3,224,124,3,224,60,3,192, + 60,3,192,28,3,128,14,7,0,6,6,0,3,252,0,20, + 32,96,24,2,0,7,14,0,7,143,0,7,143,0,7,14, + 0,0,0,0,0,0,0,0,0,0,3,252,0,6,6,0, + 14,7,0,28,3,128,60,3,192,60,3,192,124,3,224,124, + 3,224,124,3,224,252,3,240,252,3,240,252,3,240,252,3, + 240,252,3,240,252,3,240,252,3,240,124,3,224,124,3,224, + 124,3,224,60,3,192,60,3,192,28,3,128,14,7,0,6, + 6,0,3,252,0,22,23,69,32,5,254,64,0,8,224,0, + 28,240,0,60,120,0,120,56,0,240,28,0,224,14,1,192, + 7,3,128,3,135,0,1,206,0,0,252,0,0,120,0,0, + 120,0,0,252,0,1,206,0,3,135,0,7,3,128,14,1, + 192,28,0,224,56,0,112,112,0,56,224,0,28,64,0,8, + 20,25,75,24,2,1,3,252,48,6,6,96,14,3,192,28, + 3,128,60,3,192,60,3,192,124,3,224,124,7,224,124,15, + 224,252,11,240,252,19,240,252,35,240,252,99,240,252,67,240, + 252,131,240,253,3,240,127,3,224,126,3,224,124,3,224,60, + 3,192,60,3,192,28,3,128,60,7,0,102,6,0,195,252, + 0,23,33,99,26,2,1,1,192,0,1,224,0,0,224,0, + 0,112,0,0,56,0,0,8,0,0,0,0,0,0,0,255, + 225,254,31,0,120,31,0,48,31,0,16,31,0,16,31,0, + 16,31,0,16,31,0,16,31,0,16,31,0,16,31,0,16, + 31,0,16,31,0,16,31,0,16,31,0,16,31,0,16,31, + 0,16,31,0,16,31,0,16,31,0,16,15,0,32,15,0, + 32,7,128,64,3,192,192,1,255,0,23,33,99,26,2,1, + 0,3,128,0,3,128,0,7,128,0,14,0,0,12,0,0, + 24,0,0,0,0,0,0,0,255,225,254,31,0,120,31,0, + 48,31,0,16,31,0,16,31,0,16,31,0,16,31,0,16, + 31,0,16,31,0,16,31,0,16,31,0,16,31,0,16,31, + 0,16,31,0,16,31,0,16,31,0,16,31,0,16,31,0, + 16,31,0,16,15,0,32,15,0,32,7,128,64,3,192,192, + 1,255,0,23,33,99,26,2,0,0,8,0,0,24,0,0, + 60,0,0,126,0,0,227,0,1,128,192,0,0,0,0,0, + 0,255,225,254,31,0,120,31,0,48,31,0,16,31,0,16, + 31,0,16,31,0,16,31,0,16,31,0,16,31,0,16,31, + 0,16,31,0,16,31,0,16,31,0,16,31,0,16,31,0, + 16,31,0,16,31,0,16,31,0,16,31,0,16,15,0,48, + 15,128,32,7,128,64,3,192,192,1,255,0,23,32,96,26, + 2,0,1,195,128,1,227,192,1,227,192,1,195,128,0,0, + 0,0,0,0,0,0,0,255,225,254,31,0,120,31,0,48, + 31,0,16,31,0,16,31,0,16,31,0,16,31,0,16,31, + 0,16,31,0,16,31,0,16,31,0,16,31,0,16,31,0, + 16,31,0,16,31,0,16,31,0,16,31,0,16,31,0,16, + 31,0,16,15,0,32,15,0,32,7,128,64,3,192,192,1, + 255,0,23,33,99,26,2,0,0,1,128,0,3,128,0,7, + 128,0,7,0,0,12,0,0,8,0,0,0,0,0,0,0, + 255,225,254,31,128,112,31,128,96,15,128,96,15,192,64,7, + 192,192,7,224,192,7,224,128,3,225,128,3,241,0,1,241, + 0,1,251,0,0,250,0,0,254,0,0,252,0,0,124,0, + 0,124,0,0,124,0,0,124,0,0,124,0,0,124,0,0, + 124,0,0,124,0,0,124,0,3,255,128,20,25,75,24,2, + 0,255,240,0,31,0,0,31,0,0,31,0,0,31,0,0, + 31,254,0,31,7,128,31,3,192,31,1,224,31,1,240,31, + 1,240,31,1,240,31,1,240,31,1,240,31,1,224,31,3, + 192,31,7,128,31,254,0,31,0,0,31,0,0,31,0,0, + 31,0,0,31,0,0,31,0,0,255,240,0,16,25,50,19, + 1,0,3,224,6,120,14,60,30,60,28,60,60,60,60,60, + 60,56,60,112,61,192,60,48,60,28,60,30,60,30,60,15, + 60,15,60,15,60,15,60,15,60,15,61,207,63,222,63,158, + 61,156,252,248,15,25,50,18,2,0,48,0,56,0,60,0, + 28,0,14,0,2,0,0,0,0,0,15,128,49,224,96,240, + 112,240,120,240,120,240,48,240,3,240,28,240,56,240,120,240, + 240,240,240,242,240,242,240,242,121,252,62,120,15,25,50,18, + 2,0,0,224,0,224,1,224,1,192,3,0,6,0,4,0, + 0,0,15,128,49,224,96,240,112,240,120,240,120,240,32,240, + 7,240,28,240,56,240,120,240,240,240,240,242,240,242,240,242, + 121,252,62,120,15,25,50,18,2,0,7,0,7,0,15,0, + 13,128,24,192,112,96,0,0,0,0,15,128,49,224,96,240, + 112,240,120,240,120,240,32,240,7,240,28,240,56,240,120,240, + 240,240,240,242,240,242,240,242,121,252,62,120,15,24,48,18, + 2,0,28,32,63,32,103,224,65,192,0,0,0,0,0,0, + 15,128,49,224,96,240,112,240,120,240,120,240,48,240,7,240, + 28,240,56,240,120,240,240,240,240,242,240,242,240,242,121,252, + 62,120,15,24,48,18,2,0,112,224,120,240,120,240,112,224, + 0,0,0,0,0,0,15,128,49,224,96,240,112,240,120,240, + 120,240,32,240,7,240,28,240,56,240,120,240,240,240,240,242, + 240,242,240,242,121,252,62,120,15,25,50,18,2,1,15,128, + 25,192,16,192,16,192,24,192,15,128,7,0,0,0,15,128, + 49,224,96,240,112,240,120,240,120,240,32,240,7,240,24,240, + 56,240,112,240,240,240,240,242,240,242,240,242,121,252,62,120, + 21,17,51,25,2,0,31,143,128,49,248,224,96,248,240,112, + 248,112,120,248,120,120,240,120,48,240,120,3,240,120,28,255, + 248,56,240,0,120,240,0,240,240,8,240,248,8,240,248,8, + 240,248,16,121,188,48,62,15,192,13,24,48,16,2,249,7, + 128,28,96,56,32,120,112,120,240,248,240,240,224,240,64,240, + 0,240,0,240,0,240,8,120,16,120,16,56,16,28,32,15, + 192,2,0,4,0,3,128,1,192,1,192,17,192,15,128,13, + 25,50,17,2,0,48,0,56,0,60,0,28,0,6,0,3, + 0,0,0,0,0,7,128,24,224,56,240,120,240,120,240,240, + 120,240,120,240,120,255,248,240,0,240,0,240,8,120,8,120, + 24,56,16,28,32,7,192,13,25,50,17,2,0,0,96,0, + 224,1,224,1,192,3,128,6,0,0,0,0,0,7,128,24, + 224,56,240,120,240,120,240,240,120,240,120,240,120,255,248,240, + 0,240,0,240,8,120,8,120,24,56,16,28,32,7,192,13, + 25,50,17,2,0,7,0,7,0,15,128,13,128,24,192,48, + 112,0,0,0,0,7,128,24,224,56,240,120,240,120,240,240, + 120,240,120,240,120,255,248,240,0,240,0,240,8,120,8,120, + 24,56,16,28,32,7,192,13,24,48,17,2,0,56,224,120, + 240,120,240,56,224,0,0,0,0,0,0,7,128,24,224,56, + 240,120,240,120,240,240,120,240,120,240,120,255,248,240,0,240, + 0,240,8,120,8,120,24,56,16,28,32,7,192,8,25,25, + 10,1,0,192,224,240,112,24,12,0,0,252,60,60,60,60, + 60,60,60,60,60,60,60,60,60,60,60,255,8,25,25,10, + 1,0,3,7,7,14,28,16,0,0,252,60,60,60,60,60, + 60,60,60,60,60,60,60,60,60,60,255,10,25,50,10,0, + 0,28,0,30,0,30,0,55,0,97,128,192,192,0,0,0, + 0,126,0,30,0,30,0,30,0,30,0,30,0,30,0,30, + 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, + 0,127,128,10,24,48,11,1,0,115,128,243,192,243,192,115, + 128,0,0,0,0,0,0,126,0,30,0,30,0,30,0,30, + 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, + 0,30,0,30,0,30,0,127,128,14,25,50,18,2,0,30, + 48,15,96,15,128,7,128,15,192,49,224,1,224,0,240,15, + 248,28,248,56,120,120,120,120,124,240,124,240,60,240,60,240, + 60,240,60,240,60,240,124,120,120,120,120,56,112,28,224,7, + 192,17,23,69,19,1,1,7,136,0,15,248,0,16,240,0, + 0,0,0,0,0,0,0,0,0,252,120,0,61,188,0,61, + 28,0,62,30,0,62,30,0,62,30,0,60,30,0,60,30, + 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, + 60,30,0,60,30,0,60,30,0,255,127,128,14,25,50,18, + 2,0,24,0,60,0,28,0,14,0,7,0,3,0,0,0, + 0,0,7,128,28,224,56,112,120,120,120,120,240,60,240,60, + 240,60,240,60,240,60,240,60,240,60,120,120,120,120,56,112, + 24,224,7,128,14,25,50,18,2,0,0,96,0,240,0,224, + 1,192,3,128,3,0,0,0,0,0,7,128,28,224,56,112, + 120,120,120,120,240,60,240,60,240,60,240,60,240,60,240,60, + 240,60,120,120,120,120,56,112,24,224,7,128,14,25,50,18, + 2,0,3,0,7,128,7,128,15,192,28,224,48,48,32,16, + 0,0,7,128,28,224,56,112,120,120,120,120,240,60,240,60, + 240,60,240,60,240,60,240,60,240,60,120,120,120,120,56,112, + 24,224,7,128,14,24,48,18,2,0,14,16,31,144,39,224, + 33,224,0,0,0,0,0,0,7,128,28,224,56,112,120,120, + 120,120,240,60,240,60,240,60,240,60,240,60,240,60,240,60, + 120,120,120,120,56,112,24,224,7,128,14,24,48,18,2,0, + 56,112,60,240,60,240,56,112,0,0,0,0,0,0,7,128, + 28,224,56,112,120,120,120,120,240,60,240,60,240,60,240,60, + 240,60,240,60,240,60,120,120,120,120,56,112,24,224,7,128, + 29,23,92,31,1,254,0,7,0,0,0,15,128,0,0,15, + 128,0,0,15,128,0,0,7,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255, + 255,248,255,255,255,248,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7, + 0,0,0,15,128,0,0,15,128,0,0,15,128,0,0,7, + 0,0,14,17,34,18,2,0,7,132,24,232,56,120,120,120, + 120,120,240,124,240,188,241,188,243,60,246,60,244,60,248,60, + 120,120,120,120,120,112,92,96,135,128,17,25,75,19,1,0, + 12,0,0,30,0,0,14,0,0,7,0,0,3,0,0,0, + 128,0,0,0,0,0,0,0,252,126,0,60,30,0,60,30, + 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, + 60,30,0,60,30,0,60,30,0,60,62,0,60,62,0,60, + 62,0,60,94,0,30,158,0,15,31,128,17,25,75,19,1, + 0,0,48,0,0,112,0,0,112,0,0,224,0,1,192,0, + 1,0,0,0,0,0,0,0,0,252,126,0,60,30,0,60, + 30,0,60,30,0,60,30,0,60,30,0,60,30,0,60,30, + 0,60,30,0,60,30,0,60,30,0,60,62,0,60,62,0, + 60,62,0,60,94,0,30,158,0,15,31,128,17,25,75,19, + 1,0,1,128,0,3,192,0,3,192,0,7,224,0,12,48, + 0,24,24,0,0,0,0,0,0,0,252,126,0,60,30,0, + 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, + 30,0,60,30,0,60,30,0,60,30,0,60,62,0,60,62, + 0,60,62,0,60,94,0,30,158,0,15,31,128,17,24,72, + 19,1,0,28,112,0,30,120,0,30,120,0,28,112,0,0, + 0,0,0,0,0,0,0,0,252,126,0,60,30,0,60,30, + 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, + 60,30,0,60,30,0,60,30,0,60,62,0,60,62,0,60, + 62,0,60,94,0,30,158,0,15,31,128,17,33,99,18,0, + 248,0,28,0,0,28,0,0,60,0,0,112,0,0,96,0, + 0,192,0,0,0,0,0,0,0,255,159,128,62,6,0,30, + 4,0,31,4,0,15,4,0,15,8,0,15,136,0,7,136, + 0,7,152,0,3,208,0,3,208,0,3,240,0,1,224,0, + 1,224,0,0,224,0,0,192,0,0,64,0,0,64,0,0, + 64,0,28,128,0,60,128,0,60,128,0,57,0,0,59,0, + 0,30,0,0,15,32,64,18,1,247,12,0,28,0,124,0, + 188,0,60,0,60,0,60,0,60,120,60,252,61,30,63,30, + 62,30,62,30,62,30,60,30,60,28,60,28,60,56,60,56, + 60,48,60,96,60,192,61,0,62,0,60,0,60,0,60,0, + 60,0,60,0,60,0,48,0,192,0,17,32,96,18,0,248, + 14,28,0,15,60,0,15,60,0,14,28,0,0,0,0,0, + 0,0,0,0,0,255,159,128,62,6,0,30,4,0,30,4, + 0,15,8,0,15,8,0,15,8,0,7,136,0,7,144,0, + 3,208,0,3,208,0,3,224,0,1,224,0,1,224,0,0, + 224,0,0,192,0,0,192,0,0,64,0,0,128,0,28,128, + 0,60,128,0,61,0,0,57,0,0,59,0,0,30,0,0 + }; +/* + Fontname: -FreeType-Old Standard TT-Bold-R-Normal--34-340-72-72-P-184-ISO10646-1 + Copyright: Copyright (C) 2006-2008 Alexey Kryukov + Capital A Height: 0, '1' Height: 25 + Calculated Max Values w=29 h=33 x= 4 y=11 dx=31 dy= 0 ascent=26 len=120 + Font Bounding box w=95 h=44 x=-29 y=-10 + Calculated Min Values x= 0 y=-7 dx= 0 dy= 0 + Pure Font ascent =25 descent= 0 + X Font ascent =25 descent= 0 + Max Font ascent =26 descent=-7 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_osb26n[903] U8G_FONT_SECTION("u8g_font_osb26n") = { + 0,95,44,227,246,25,0,0,0,0,42,58,0,26,249,25, + 0,12,14,28,17,3,11,14,0,14,0,14,0,196,112,228, + 240,245,224,14,0,14,0,245,224,228,240,196,112,14,0,14, + 0,14,0,29,30,120,31,1,251,0,3,0,0,0,3,0, + 0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0, + 0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0, + 0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0, + 0,255,255,255,248,255,255,255,248,0,3,0,0,0,3,0, + 0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0, + 0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0, + 0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0, + 0,7,11,11,10,2,249,120,252,254,254,126,6,4,12,8, + 48,224,9,4,8,13,2,7,255,128,255,128,255,128,255,128, + 5,5,5,9,2,0,112,248,248,248,112,12,33,66,15,2, + 249,0,112,0,96,0,96,0,224,0,192,0,192,1,192,1, + 192,1,128,1,128,3,128,3,0,3,0,7,0,6,0,6, + 0,6,0,14,0,12,0,12,0,28,0,24,0,24,0,56, + 0,56,0,48,0,48,0,112,0,96,0,96,0,224,0,192, + 0,192,0,16,25,50,20,2,1,7,224,14,112,28,56,60, + 60,60,60,124,62,124,62,124,62,252,63,252,63,252,63,252, + 63,252,63,252,63,252,63,252,63,252,63,124,62,124,62,124, + 62,60,60,60,60,28,56,14,112,7,224,12,25,50,20,4, + 0,7,0,7,0,31,0,255,0,31,0,31,0,31,0,31, + 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, + 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, + 0,255,240,15,25,50,20,2,1,31,240,48,120,96,60,96, + 62,224,62,240,62,248,62,252,62,124,124,56,124,0,248,1, + 240,1,224,3,128,7,0,12,2,24,2,48,2,32,2,76, + 6,127,254,127,252,71,252,67,252,65,248,15,26,52,20,2, + 0,1,0,14,240,56,120,48,60,112,62,120,62,124,62,124, + 62,60,62,24,60,0,120,0,112,31,192,0,240,0,120,0, + 60,0,60,56,62,124,62,252,62,252,62,248,62,224,60,96, + 124,96,120,31,224,16,25,50,20,2,0,0,120,0,120,0, + 248,1,248,1,248,3,248,3,248,6,248,6,248,12,248,12, + 248,24,248,56,248,48,248,96,248,96,248,192,248,255,255,0, + 248,0,248,0,248,0,248,0,248,0,248,15,255,15,26,52, + 20,3,0,0,8,48,56,63,240,63,224,63,128,62,0,32, + 0,32,0,32,0,32,0,39,192,56,112,48,120,32,60,32, + 60,0,62,0,62,56,62,120,62,252,62,248,62,248,60,224, + 60,96,120,112,112,31,224,16,25,50,20,2,1,7,240,12, + 8,28,12,56,60,56,124,120,124,120,120,120,48,248,0,248, + 0,251,224,252,56,252,60,248,30,248,31,248,31,248,31,248, + 31,120,31,120,31,120,31,56,30,28,30,12,60,7,240,15, + 25,50,20,3,0,79,28,95,156,127,198,127,230,127,254,224, + 246,192,4,192,12,128,12,128,24,0,16,0,48,0,96,0, + 224,1,192,1,192,3,192,7,128,7,128,15,128,15,128,15, + 128,15,128,15,128,7,0,17,25,75,20,2,1,7,240,0, + 24,12,0,48,12,0,48,6,0,112,6,0,112,6,0,120, + 6,0,124,4,0,127,12,0,127,152,0,63,224,0,31,248, + 0,15,252,0,15,254,0,49,255,0,96,127,0,64,31,0, + 192,15,128,192,7,0,192,7,0,192,3,0,96,6,0,96, + 6,0,56,12,0,14,240,0,15,25,50,20,2,1,31,192, + 60,112,120,48,120,56,248,60,248,60,248,60,248,62,248,62, + 248,62,248,62,120,62,124,126,60,126,15,190,0,62,0,62, + 12,60,30,60,62,60,62,56,60,56,48,112,16,96,15,192, + 5,17,17,9,2,0,112,248,248,248,112,0,0,0,0,0, + 0,0,112,248,248,248,112}; +/* + Fontname: -FreeType-Old Standard TT-Bold-R-Normal--34-340-72-72-P-184-ISO10646-1 + Copyright: Copyright (C) 2006-2008 Alexey Kryukov + Capital A Height: 26, '1' Height: 25 + Calculated Max Values w=34 h=33 x= 4 y=18 dx=36 dy= 0 ascent=28 len=125 + Font Bounding box w=95 h=44 x=-29 y=-10 + Calculated Min Values x=-2 y=-8 dx= 0 dy= 0 + Pure Font ascent =26 descent=-8 + X Font ascent =26 descent=-8 + Max Font ascent =28 descent=-8 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_osb26r[5950] U8G_FONT_SECTION("u8g_font_osb26r") = { + 0,95,44,227,246,26,7,105,16,163,32,127,248,28,248,26, + 248,0,0,0,10,0,0,6,25,25,10,2,1,120,252,252, + 252,252,252,120,120,120,120,48,48,48,48,48,48,48,0,0, + 0,120,252,252,252,120,8,8,8,12,2,18,231,231,231,231, + 231,231,66,66,20,25,75,24,2,0,3,131,0,3,131,0, + 3,3,0,3,3,0,3,3,0,3,7,0,3,7,0,255, + 255,240,255,255,240,6,6,0,6,6,0,6,6,0,6,14, + 0,6,14,0,14,12,0,12,12,0,12,12,0,255,255,224, + 255,255,224,12,28,0,12,24,0,28,24,0,24,24,0,24, + 24,0,24,24,0,16,31,62,20,2,253,2,32,2,32,2, + 32,15,248,26,38,50,34,114,35,114,35,114,47,122,47,126, + 46,126,46,63,160,63,224,31,240,15,248,7,252,3,254,2, + 126,114,63,250,47,250,47,242,39,226,39,194,38,98,38,50, + 44,30,56,3,224,2,32,2,32,23,26,78,29,3,0,8, + 0,48,54,0,32,99,0,96,99,0,192,227,128,192,227,129, + 128,227,129,0,227,131,0,227,130,0,227,134,0,99,12,0, + 54,8,0,28,24,0,0,16,112,0,48,216,0,97,140,0, + 97,140,0,195,142,0,131,142,1,131,142,1,3,142,3,3, + 142,6,3,142,4,1,140,12,1,140,8,0,248,24,25,75, + 26,1,1,1,252,0,3,4,0,3,2,0,7,2,0,7, + 2,0,7,6,0,7,132,0,7,200,0,3,240,0,3,224, + 0,1,240,0,3,240,127,6,248,28,12,124,8,24,60,24, + 56,62,16,112,31,16,240,15,32,240,15,224,248,7,192,248, + 3,192,252,3,225,126,7,242,127,253,254,31,240,124,3,8, + 8,7,2,18,224,224,224,224,224,224,64,64,10,31,62,12, + 2,250,0,192,1,0,2,0,6,0,12,0,24,0,56,0, + 56,0,120,0,112,0,112,0,240,0,240,0,240,0,240,0, + 240,0,240,0,240,0,240,0,240,0,112,0,112,0,112,0, + 56,0,56,0,24,0,28,0,12,0,6,0,3,0,1,128, + 9,32,64,12,1,250,192,0,96,0,48,0,24,0,28,0, + 12,0,14,0,6,0,7,0,7,0,7,128,7,128,7,128, + 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, + 7,0,7,0,7,0,14,0,14,0,12,0,24,0,48,0, + 96,0,192,0,128,0,12,14,28,17,3,11,14,0,14,0, + 14,0,196,112,228,240,245,224,14,0,14,0,245,224,228,240, + 196,112,14,0,14,0,14,0,29,30,120,31,1,251,0,3, + 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3, + 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3, + 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3, + 0,0,0,3,0,0,255,255,255,248,255,255,255,248,0,3, + 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3, + 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3, + 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3, + 0,0,0,3,0,0,7,11,11,10,2,249,120,252,254,254, + 126,6,4,12,8,48,224,9,4,8,13,2,7,255,128,255, + 128,255,128,255,128,5,5,5,9,2,0,112,248,248,248,112, + 12,33,66,15,2,249,0,112,0,96,0,96,0,224,0,192, + 0,192,1,192,1,192,1,128,1,128,3,128,3,0,3,0, + 7,0,6,0,6,0,6,0,14,0,12,0,12,0,28,0, + 24,0,24,0,56,0,56,0,48,0,48,0,112,0,96,0, + 96,0,224,0,192,0,192,0,16,25,50,20,2,1,7,224, + 14,112,28,56,60,60,60,60,124,62,124,62,124,62,252,63, + 252,63,252,63,252,63,252,63,252,63,252,63,252,63,252,63, + 124,62,124,62,124,62,60,60,60,60,28,56,14,112,7,224, + 12,25,50,20,4,0,7,0,7,0,31,0,255,0,31,0, + 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, + 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, + 31,0,31,0,31,0,255,240,15,25,50,20,2,1,31,240, + 48,120,96,60,96,62,224,62,240,62,248,62,252,62,124,124, + 56,124,0,248,1,240,1,224,3,128,7,0,12,2,24,2, + 48,2,32,2,76,6,127,254,127,252,71,252,67,252,65,248, + 15,26,52,20,2,0,1,0,14,240,56,120,48,60,112,62, + 120,62,124,62,124,62,60,62,24,60,0,120,0,112,31,192, + 0,240,0,120,0,60,0,60,56,62,124,62,252,62,252,62, + 248,62,224,60,96,124,96,120,31,224,16,25,50,20,2,0, + 0,120,0,120,0,248,1,248,1,248,3,248,3,248,6,248, + 6,248,12,248,12,248,24,248,56,248,48,248,96,248,96,248, + 192,248,255,255,0,248,0,248,0,248,0,248,0,248,0,248, + 15,255,15,26,52,20,3,0,0,8,48,56,63,240,63,224, + 63,128,62,0,32,0,32,0,32,0,32,0,39,192,56,112, + 48,120,32,60,32,60,0,62,0,62,56,62,120,62,252,62, + 248,62,248,60,224,60,96,120,112,112,31,224,16,25,50,20, + 2,1,7,240,12,8,28,12,56,60,56,124,120,124,120,120, + 120,48,248,0,248,0,251,224,252,56,252,60,248,30,248,31, + 248,31,248,31,248,31,120,31,120,31,120,31,56,30,28,30, + 12,60,7,240,15,25,50,20,3,0,79,28,95,156,127,198, + 127,230,127,254,224,246,192,4,192,12,128,12,128,24,0,16, + 0,48,0,96,0,224,1,192,1,192,3,192,7,128,7,128, + 15,128,15,128,15,128,15,128,15,128,7,0,17,25,75,20, + 2,1,7,240,0,24,12,0,48,12,0,48,6,0,112,6, + 0,112,6,0,120,6,0,124,4,0,127,12,0,127,152,0, + 63,224,0,31,248,0,15,252,0,15,254,0,49,255,0,96, + 127,0,64,31,0,192,15,128,192,7,0,192,7,0,192,3, + 0,96,6,0,96,6,0,56,12,0,14,240,0,15,25,50, + 20,2,1,31,192,60,112,120,48,120,56,248,60,248,60,248, + 60,248,62,248,62,248,62,248,62,120,62,124,126,60,126,15, + 190,0,62,0,62,12,60,30,60,62,60,62,56,60,56,48, + 112,16,96,15,192,5,17,17,9,2,0,112,248,248,248,112, + 0,0,0,0,0,0,0,112,248,248,248,112,6,23,23,9, + 2,249,112,248,248,248,112,0,0,0,0,0,0,0,112,248, + 252,252,252,12,12,8,16,48,192,26,29,116,32,3,251,0, + 0,1,192,0,0,3,192,0,0,15,0,0,0,62,0,0, + 0,248,0,0,1,224,0,0,7,128,0,0,31,0,0,0, + 124,0,0,0,240,0,0,3,192,0,0,15,128,0,0,62, + 0,0,0,120,0,0,0,224,0,0,0,120,0,0,0,62, + 0,0,0,15,128,0,0,3,192,0,0,0,240,0,0,0, + 124,0,0,0,31,0,0,0,7,128,0,0,1,224,0,0, + 0,248,0,0,0,62,0,0,0,15,0,0,0,3,192,0, + 0,1,192,29,9,36,33,2,5,255,255,255,248,255,255,255, + 248,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,255,255,255,248,255,255,255,248,26,29,116, + 32,3,251,224,0,0,0,240,0,0,0,60,0,0,0,31, + 0,0,0,7,192,0,0,1,224,0,0,0,120,0,0,0, + 62,0,0,0,15,128,0,0,3,192,0,0,0,240,0,0, + 0,124,0,0,0,31,0,0,0,7,128,0,0,1,192,0, + 0,7,128,0,0,31,0,0,0,124,0,0,0,240,0,0, + 3,192,0,0,15,128,0,0,62,0,0,0,120,0,0,1, + 224,0,0,7,192,0,0,31,0,0,0,60,0,0,0,240, + 0,0,0,224,0,0,0,11,25,50,16,2,1,63,128,67, + 192,129,224,129,224,129,224,131,224,195,192,67,192,3,128,7, + 0,6,0,12,0,8,0,24,0,17,0,17,0,17,0,14, + 0,0,0,0,0,14,0,31,0,31,0,31,0,14,0,25, + 25,100,27,1,1,0,255,192,0,3,0,48,0,6,0,24, + 0,12,0,12,0,24,0,6,0,48,30,243,0,48,114,243, + 0,96,225,227,0,97,225,225,128,227,193,225,128,195,193,225, + 128,195,193,193,128,199,131,193,128,199,131,193,128,199,131,195, + 0,199,131,195,0,231,135,130,0,103,135,134,0,99,139,204, + 0,49,240,240,0,48,0,0,0,24,0,0,0,12,0,0, + 0,7,0,96,0,1,255,192,0,23,26,78,25,1,0,0, + 16,0,0,24,0,0,56,0,0,56,0,0,60,0,0,124, + 0,0,124,0,0,126,0,0,254,0,0,254,0,0,158,0, + 1,159,0,1,159,0,1,31,0,3,15,128,3,15,128,3, + 15,128,6,7,192,7,255,192,6,7,192,4,7,224,12,3, + 224,12,3,224,28,3,240,28,3,240,255,159,254,20,25,75, + 24,2,0,255,254,0,31,7,128,31,7,192,31,3,192,31, + 3,224,31,3,224,31,3,224,31,3,224,31,3,192,31,7, + 128,31,7,0,31,248,0,31,7,0,31,3,192,31,1,224, + 31,1,224,31,1,240,31,1,240,31,1,240,31,1,240,31, + 1,240,31,1,224,31,3,192,31,7,128,255,254,0,19,25, + 75,22,2,1,3,248,64,14,6,192,30,3,192,60,3,192, + 60,1,192,124,1,192,124,0,192,124,0,192,252,0,192,252, + 0,64,252,0,64,252,0,0,252,0,0,252,0,0,252,0, + 0,252,0,0,252,0,96,124,0,64,124,0,64,124,0,64, + 60,0,192,30,0,128,30,1,0,15,3,0,3,252,0,23, + 25,75,27,2,0,255,255,0,31,3,192,31,0,224,31,0, + 240,31,0,120,31,0,120,31,0,124,31,0,124,31,0,126, + 31,0,126,31,0,126,31,0,126,31,0,126,31,0,126,31, + 0,126,31,0,126,31,0,124,31,0,124,31,0,124,31,0, + 120,31,0,120,31,0,240,31,0,224,31,3,192,255,255,0, + 20,25,75,23,2,0,255,255,224,31,1,224,31,0,224,31, + 0,224,31,0,96,31,0,96,31,0,32,31,4,32,31,4, + 0,31,12,0,31,12,0,31,28,0,31,252,0,31,28,0, + 31,12,0,31,12,48,31,4,48,31,4,48,31,0,48,31, + 0,112,31,0,112,31,0,240,31,1,240,31,3,240,255,255, + 240,20,25,75,23,2,0,255,255,240,31,3,240,31,0,240, + 31,0,240,31,0,112,31,0,112,31,0,48,31,4,48,31, + 4,48,31,12,48,31,12,0,31,28,0,31,252,0,31,28, + 0,31,12,0,31,12,0,31,4,0,31,4,0,31,0,0, + 31,0,0,31,0,0,31,0,0,31,0,0,31,0,0,255, + 240,0,21,26,78,24,2,0,0,32,0,3,220,32,7,3, + 96,14,1,224,28,1,224,60,0,224,60,0,224,124,0,96, + 124,0,96,252,0,32,252,0,32,252,0,0,252,0,0,252, + 63,248,252,3,224,252,3,224,252,3,224,252,3,224,124,3, + 224,124,3,224,124,3,224,60,3,224,60,3,96,30,6,96, + 14,12,96,3,184,32,25,25,100,28,2,0,255,231,255,128, + 31,0,248,0,31,0,248,0,31,0,248,0,31,0,248,0, + 31,0,248,0,31,0,248,0,31,0,248,0,31,0,248,0, + 31,0,248,0,31,0,248,0,31,255,248,0,31,0,248,0, + 31,0,248,0,31,0,248,0,31,0,248,0,31,0,248,0, + 31,0,248,0,31,0,248,0,31,0,248,0,31,0,248,0, + 31,0,248,0,31,0,248,0,31,0,248,0,255,231,255,128, + 11,25,50,14,2,0,255,224,31,0,31,0,31,0,31,0, + 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, + 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, + 31,0,31,0,31,0,255,224,16,25,50,18,1,0,7,255, + 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, + 0,248,0,248,0,248,0,248,0,248,0,248,0,248,120,248, + 248,248,248,248,248,248,240,248,224,240,64,240,97,224,63,192, + 24,25,75,27,2,0,255,227,252,31,0,224,31,0,192,31, + 0,128,31,1,128,31,3,0,31,6,0,31,12,0,31,28, + 0,31,28,0,31,62,0,31,126,0,31,255,0,31,191,0, + 31,31,128,31,31,128,31,15,192,31,15,192,31,7,224,31, + 7,224,31,3,240,31,1,240,31,1,248,31,1,252,255,231, + 255,20,25,75,23,2,0,255,224,0,31,0,0,31,0,0, + 31,0,0,31,0,0,31,0,0,31,0,0,31,0,0,31, + 0,0,31,0,0,31,0,0,31,0,0,31,0,0,31,0, + 0,31,0,48,31,0,48,31,0,48,31,0,48,31,0,112, + 31,0,112,31,0,240,31,0,240,31,1,240,31,3,240,255, + 255,240,27,25,100,30,2,0,255,0,63,224,15,0,63,0, + 15,128,63,0,15,128,63,0,15,128,127,0,15,192,95,0, + 15,192,95,0,11,224,95,0,11,224,223,0,11,224,159,0, + 9,240,159,0,9,240,159,0,9,241,31,0,8,249,31,0, + 8,249,31,0,8,249,31,0,8,126,31,0,8,126,31,0, + 8,62,31,0,8,62,31,0,8,60,31,0,8,28,31,0, + 24,28,31,0,60,28,31,0,255,8,255,224,24,25,75,27, + 2,0,255,3,255,31,128,124,31,128,56,15,192,16,7,224, + 16,7,240,16,7,240,16,5,248,16,5,252,16,4,252,16, + 4,126,16,4,127,16,4,63,16,4,31,144,4,31,208,4, + 15,208,4,7,240,4,7,240,4,3,240,4,1,240,4,1, + 240,4,0,240,14,0,112,31,0,48,255,192,48,20,25,75, + 24,2,1,3,252,0,6,6,0,14,7,0,28,3,128,60, + 3,192,60,3,192,124,3,224,124,3,224,124,3,224,252,3, + 240,252,3,240,252,3,240,252,3,240,252,3,240,252,3,240, + 252,3,240,124,3,224,124,3,224,124,3,224,60,3,192,60, + 3,192,28,3,128,14,7,0,6,6,0,3,252,0,20,25, + 75,24,2,0,255,254,0,31,3,128,31,3,192,31,1,224, + 31,1,240,31,1,240,31,1,240,31,1,240,31,1,240,31, + 1,224,31,3,192,31,7,128,31,254,0,31,0,0,31,0, + 0,31,0,0,31,0,0,31,0,0,31,0,0,31,0,0, + 31,0,0,31,0,0,31,0,0,31,0,0,255,240,0,20, + 33,99,24,2,249,3,252,0,6,6,0,14,7,0,28,3, + 128,60,3,192,60,3,192,124,3,224,124,3,224,124,3,224, + 252,3,240,252,3,240,252,3,240,252,3,240,252,3,240,252, + 3,240,252,3,240,124,3,240,124,3,224,124,3,224,60,243, + 192,61,155,192,29,11,128,15,15,128,7,15,16,3,156,16, + 0,108,16,0,12,16,0,12,48,0,14,48,0,15,240,0, + 15,224,0,7,224,0,3,128,22,25,75,25,2,0,255,252, + 0,31,7,128,31,7,192,31,3,192,31,3,224,31,3,224, + 31,3,224,31,3,224,31,3,192,31,7,192,31,15,0,31, + 248,0,31,14,0,31,15,0,31,7,128,31,7,192,31,7, + 192,31,7,192,31,7,192,31,7,196,31,7,196,31,7,196, + 31,7,196,31,3,200,255,241,248,16,25,50,21,3,1,31, + 198,32,118,96,62,224,30,224,14,240,6,248,6,252,6,255, + 2,127,128,127,192,63,240,15,248,7,252,129,254,128,254,192, + 127,192,31,192,15,224,7,224,7,240,6,248,6,220,12,135, + 120,21,25,75,25,3,0,255,255,248,248,248,248,240,248,120, + 224,248,120,192,248,56,192,248,56,128,248,24,128,248,24,128, + 248,24,128,248,24,0,248,0,0,248,0,0,248,0,0,248, + 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, + 0,248,0,0,248,0,0,248,0,0,248,0,0,248,0,15, + 255,0,23,25,75,26,2,0,255,225,254,31,0,120,31,0, + 48,31,0,16,31,0,16,31,0,16,31,0,16,31,0,16, + 31,0,16,31,0,16,31,0,16,31,0,16,31,0,16,31, + 0,16,31,0,16,31,0,16,31,0,16,31,0,16,31,0, + 16,31,0,16,15,0,32,15,0,32,7,128,64,3,192,192, + 1,255,0,24,25,75,27,2,0,255,241,255,31,128,56,15, + 128,48,15,192,48,15,192,48,7,192,32,7,224,32,7,224, + 96,3,224,64,3,240,64,1,240,192,1,240,128,1,248,128, + 0,249,128,0,249,128,0,253,0,0,125,0,0,127,0,0, + 126,0,0,62,0,0,62,0,0,60,0,0,28,0,0,28, + 0,0,24,0,34,25,125,36,1,0,255,231,255,127,192,31, + 129,248,14,0,15,128,248,14,0,15,128,252,12,0,15,192, + 124,12,0,7,192,124,12,0,7,192,124,8,0,7,224,254, + 24,0,3,224,190,24,0,3,224,190,24,0,3,241,159,16, + 0,1,241,159,48,0,1,241,31,48,0,1,249,15,32,0, + 1,251,15,160,0,0,250,15,224,0,0,254,15,224,0,0, + 254,7,192,0,0,126,7,192,0,0,124,7,192,0,0,124, + 3,192,0,0,60,3,128,0,0,56,3,128,0,0,56,1, + 128,0,0,24,1,128,0,23,25,75,26,2,0,255,231,252, + 31,193,224,15,192,192,15,193,128,7,225,128,7,227,0,3, + 242,0,3,246,0,1,244,0,1,248,0,0,248,0,0,252, + 0,0,124,0,0,62,0,0,126,0,0,127,0,0,159,0, + 1,159,128,1,15,128,3,15,192,6,7,224,4,7,224,12, + 3,240,28,7,240,255,143,254,23,25,75,26,2,0,255,225, + 254,31,128,112,31,128,96,15,128,96,15,192,64,7,192,192, + 7,224,192,7,224,128,3,225,128,3,241,0,1,241,0,1, + 251,0,0,250,0,0,254,0,0,252,0,0,124,0,0,124, + 0,0,124,0,0,124,0,0,124,0,0,124,0,0,124,0, + 0,124,0,0,124,0,3,255,128,18,25,75,22,2,0,127, + 255,192,124,15,192,120,31,128,112,31,128,96,63,0,96,63, + 0,64,126,0,64,126,0,64,252,0,0,252,0,1,248,0, + 1,240,0,3,240,0,7,224,0,7,224,0,15,192,64,15, + 192,64,31,128,64,31,128,64,63,0,192,63,1,192,126,1, + 192,126,3,192,252,15,192,255,255,192,8,31,31,14,3,250, + 255,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240, + 240,240,240,240,240,240,240,240,240,240,240,240,240,240,255,11, + 33,66,15,2,249,192,0,192,0,224,0,96,0,96,0,96, + 0,112,0,48,0,48,0,56,0,24,0,24,0,28,0,12, + 0,12,0,12,0,14,0,6,0,6,0,7,0,3,0,3, + 0,3,0,3,128,1,128,1,128,1,192,0,192,0,192,0, + 224,0,96,0,96,0,96,8,31,31,13,2,250,255,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,255,16,12,24,20, + 2,14,1,128,3,128,3,192,7,224,14,96,14,112,28,56, + 24,56,56,28,112,12,96,14,224,7,18,2,6,18,0,250, + 255,255,192,255,255,192,6,7,7,15,3,18,224,224,240,120, + 24,12,4,15,17,34,18,2,0,15,128,49,224,96,240,112, + 240,120,240,120,240,32,240,7,240,28,240,56,240,120,240,240, + 240,240,242,240,242,240,242,121,252,62,120,15,25,50,18,1, + 0,252,0,60,0,60,0,60,0,60,0,60,0,60,0,60, + 0,60,240,61,56,62,60,62,28,62,30,62,30,60,30,60, + 30,60,30,60,30,60,30,62,30,62,30,62,28,50,60,35, + 56,33,224,13,17,34,16,2,0,7,128,28,96,56,32,120, + 112,120,240,248,240,240,224,240,64,240,0,240,0,240,0,240, + 8,120,16,120,16,56,16,28,32,7,192,17,25,75,20,2, + 0,1,252,0,0,60,0,0,60,0,0,60,0,0,60,0, + 0,60,0,0,60,0,0,60,0,15,60,0,28,188,0,56, + 124,0,120,124,0,120,60,0,240,60,0,240,60,0,240,60, + 0,240,60,0,240,60,0,240,60,0,240,60,0,120,60,0, + 120,124,0,56,124,0,28,188,0,15,63,128,13,17,34,17, + 2,0,7,128,24,224,56,240,120,240,120,240,240,120,240,120, + 240,120,255,248,240,0,240,0,240,8,120,8,120,24,56,16, + 28,32,7,192,12,25,50,12,1,0,3,192,14,112,30,112, + 28,240,60,240,60,240,60,0,60,0,255,128,60,0,60,0, + 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, + 60,0,60,0,60,0,60,0,60,0,255,128,17,25,75,19, + 1,248,7,199,0,28,249,128,60,115,128,120,123,128,120,123, + 0,120,120,0,120,120,0,120,120,0,60,112,0,28,224,0, + 7,192,0,56,0,0,96,0,0,127,192,0,127,248,0,127, + 252,0,63,254,0,63,254,0,64,14,0,128,6,0,128,6, + 0,128,4,0,64,12,0,32,56,0,31,224,0,17,25,75, + 19,1,0,252,0,0,60,0,0,60,0,0,60,0,0,60, + 0,0,60,0,0,60,0,0,60,0,0,60,120,0,61,188, + 0,61,28,0,62,30,0,62,30,0,62,30,0,60,30,0, + 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, + 30,0,60,30,0,60,30,0,60,30,0,255,127,128,8,25, + 25,11,2,0,56,124,124,124,56,0,0,0,252,60,60,60, + 60,60,60,60,60,60,60,60,60,60,60,60,255,10,33,66, + 10,254,248,3,128,7,192,7,192,7,192,3,128,0,0,0, + 0,0,0,31,192,3,192,3,192,3,192,3,192,3,192,3, + 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, + 192,3,192,3,192,3,192,99,192,243,192,243,192,243,128,231, + 128,103,0,62,0,17,25,75,19,1,0,252,0,0,60,0, + 0,60,0,0,60,0,0,60,0,0,60,0,0,60,0,0, + 60,0,0,60,127,0,60,24,0,60,16,0,60,48,0,60, + 32,0,60,64,0,60,192,0,60,224,0,61,224,0,62,240, + 0,62,240,0,60,120,0,60,124,0,60,60,0,60,62,0, + 60,62,0,255,127,128,9,25,50,11,1,0,252,0,60,0, + 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, + 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, + 60,0,60,0,60,0,60,0,60,0,60,0,255,128,25,17, + 68,28,1,0,252,120,120,0,61,188,158,0,61,31,30,0, + 62,31,30,0,62,30,31,0,62,30,31,0,60,30,31,0, + 60,30,31,0,60,30,31,0,60,30,31,0,60,30,31,0, + 60,30,31,0,60,30,31,0,60,30,31,0,60,30,31,0, + 60,30,31,0,255,127,191,128,17,17,51,19,1,0,252,120, + 0,61,188,0,61,28,0,62,30,0,62,30,0,62,30,0, + 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, + 30,0,60,30,0,60,30,0,60,30,0,60,30,0,255,127, + 128,14,17,34,18,2,0,7,128,28,224,56,112,120,120,120, + 120,240,60,240,60,240,60,240,60,240,60,240,60,240,60,120, + 120,120,120,56,112,24,224,7,128,15,25,50,18,1,248,252, + 240,61,56,62,60,62,28,62,30,62,30,60,30,60,30,60, + 30,60,30,60,30,62,30,62,30,62,28,62,60,61,56,60, + 240,60,0,60,0,60,0,60,0,60,0,60,0,60,0,255, + 128,16,25,50,19,2,248,15,132,28,196,56,100,120,124,120, + 60,240,60,240,60,240,60,240,60,240,60,240,60,240,60,120, + 124,120,124,56,124,28,188,15,60,0,60,0,60,0,60,0, + 60,0,60,0,60,0,60,1,255,12,17,34,14,1,0,252, + 224,61,112,62,240,62,240,62,240,62,96,60,0,60,0,60, + 0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,255, + 0,11,17,34,14,2,0,60,64,99,64,193,192,192,192,224, + 192,240,64,252,0,127,0,63,128,31,192,135,224,129,224,192, + 224,224,96,224,96,144,192,143,128,11,24,48,13,1,0,12, + 0,12,0,12,0,12,0,12,0,28,0,60,0,255,192,60, + 0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60, + 32,60,32,60,32,60,32,60,96,60,64,31,192,15,128,17, + 17,51,19,1,0,252,126,0,60,30,0,60,30,0,60,30, + 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, + 60,30,0,60,30,0,60,62,0,60,62,0,60,62,0,60, + 94,0,30,158,0,15,31,128,17,17,51,18,0,0,255,159, + 128,30,6,0,30,4,0,30,4,0,15,12,0,15,8,0, + 15,8,0,7,152,0,7,144,0,3,208,0,3,240,0,3, + 224,0,1,224,0,1,192,0,1,192,0,0,192,0,0,128, + 0,25,17,68,26,0,0,255,63,207,128,30,15,6,0,30, + 15,6,0,30,15,4,0,15,7,132,0,15,15,132,0,7, + 143,136,0,7,139,200,0,7,147,200,0,3,211,208,0,3, + 209,240,0,3,225,240,0,1,225,224,0,1,224,224,0,1, + 192,224,0,0,192,192,0,0,192,64,0,16,17,34,18,1, + 0,255,126,62,24,30,16,31,16,15,32,15,192,7,192,3, + 192,3,192,1,224,3,240,2,240,4,248,8,120,8,124,24, + 126,254,127,17,25,75,18,0,248,255,159,128,62,6,0,30, + 4,0,31,4,0,15,8,0,15,8,0,15,136,0,7,136, + 0,7,144,0,3,208,0,3,208,0,3,224,0,1,224,0, + 1,224,0,0,224,0,0,192,0,0,64,0,0,64,0,0, + 128,0,28,128,0,60,128,0,60,128,0,57,0,0,59,0, + 0,30,0,0,13,17,34,16,1,0,127,248,112,248,96,240, + 97,224,67,224,67,192,7,192,7,128,15,128,15,0,31,8, + 30,8,60,24,124,24,120,56,248,120,255,248,11,33,66,15, + 2,249,0,32,3,192,7,0,15,0,30,0,30,0,30,0, + 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, + 56,0,224,0,56,0,28,0,30,0,30,0,30,0,30,0, + 30,0,30,0,30,0,30,0,30,0,30,0,14,0,7,0, + 3,192,0,32,2,32,32,10,4,249,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,11,33,66,15,3,249, + 128,0,240,0,60,0,30,0,30,0,30,0,30,0,30,0, + 30,0,30,0,30,0,30,0,30,0,30,0,15,0,7,0, + 1,224,7,0,15,0,30,0,30,0,30,0,30,0,30,0, + 30,0,30,0,30,0,30,0,30,0,30,0,60,0,240,0, + 128,0,19,7,21,23,2,6,62,0,64,127,128,32,255,240, + 32,135,252,32,129,255,224,128,63,192,64,15,128,255}; +/* + Fontname: -FreeType-Old Standard TT-Bold-R-Normal--38-380-72-72-P-206-ISO10646-1 + Copyright: Copyright (C) 2006-2008 Alexey Kryukov + Capital A Height: 29, '1' Height: 28 + Calculated Max Values w=38 h=37 x= 7 y=23 dx=41 dy= 0 ascent=38 len=165 + Font Bounding box w=107 h=49 x=-33 y=-11 + Calculated Min Values x=-2 y=-11 dx= 0 dy= 0 + Pure Font ascent =29 descent=-9 + X Font ascent =29 descent=-9 + Max Font ascent =38 descent=-11 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_osb29[15818] U8G_FONT_SECTION("u8g_font_osb29") = { + 0,107,49,223,245,29,9,166,21,115,32,255,247,38,245,29, + 247,0,0,0,11,0,0,6,28,28,10,2,1,120,252,252, + 252,252,252,252,120,120,120,120,120,48,48,48,48,48,48,48, + 48,0,0,120,252,252,252,252,120,10,9,18,16,3,20,243, + 192,243,192,243,192,243,192,243,192,243,192,97,128,97,128,97, + 128,22,28,84,28,3,0,1,192,224,1,192,224,1,192,224, + 1,192,224,1,128,192,1,128,192,1,128,192,3,129,252,255, + 255,252,255,255,252,3,129,128,3,1,128,3,1,128,7,3, + 128,7,3,128,7,3,128,7,3,128,6,3,0,255,255,252, + 255,255,252,255,255,252,14,7,0,14,7,0,14,6,0,12, + 6,0,12,6,0,28,14,0,28,14,0,18,34,102,22,2, + 253,1,16,0,1,16,0,1,16,0,7,252,0,29,19,0, + 57,17,128,49,16,192,113,16,192,113,17,192,113,19,192,121, + 23,192,127,23,128,127,19,0,63,144,0,63,240,0,31,240, + 0,15,252,0,7,254,0,1,255,0,1,255,128,1,63,128, + 121,31,192,249,23,192,249,19,192,249,17,192,225,17,192,193, + 17,192,97,17,128,97,19,0,57,22,0,15,60,0,1,208, + 0,1,16,0,1,16,0,26,29,116,32,3,0,4,0,12, + 0,27,0,8,0,49,128,24,0,113,192,16,0,113,192,48, + 0,241,224,96,0,241,224,96,0,241,224,192,0,241,224,128, + 0,241,225,128,0,241,225,0,0,113,195,0,0,113,194,0, + 0,59,134,0,0,30,12,0,0,0,12,28,0,0,24,119, + 0,0,16,227,128,0,48,227,128,0,33,227,192,0,97,227, + 192,0,65,227,192,0,193,227,192,1,129,227,192,1,129,227, + 192,3,1,227,128,2,0,227,128,6,0,99,0,4,0,62, + 0,27,28,112,31,2,1,0,254,0,0,1,195,0,0,3, + 129,0,0,7,129,128,0,7,129,128,0,7,129,128,0,7, + 131,128,0,7,195,0,0,7,198,0,0,3,236,0,0,3, + 248,0,0,1,240,0,0,0,248,0,0,1,252,31,224,7, + 124,3,128,14,62,3,0,28,63,3,0,56,31,134,0,120, + 15,134,0,120,7,196,0,248,7,232,0,248,3,248,0,248, + 1,240,0,252,1,248,0,254,0,248,32,127,1,252,64,63, + 254,127,192,31,248,31,128,4,9,9,10,3,20,240,240,240, + 240,240,240,96,96,96,11,35,70,13,2,249,0,96,0,192, + 1,128,3,0,6,0,12,0,28,0,24,0,56,0,56,0, + 120,0,120,0,120,0,248,0,248,0,248,0,248,0,248,0, + 248,0,248,0,248,0,248,0,120,0,120,0,120,0,120,0, + 56,0,56,0,28,0,12,0,14,0,7,0,3,0,1,128, + 0,96,11,36,72,14,1,249,192,0,96,0,48,0,24,0, + 12,0,14,0,7,0,7,0,3,128,3,128,3,192,3,192, + 3,192,3,192,3,224,3,224,3,224,3,224,3,224,3,224, + 3,224,3,224,3,192,3,192,3,192,3,128,3,128,7,0, + 7,0,6,0,12,0,28,0,56,0,112,0,192,0,128,0, + 14,16,32,19,3,12,3,0,7,128,7,128,199,24,227,60, + 242,124,122,248,7,128,7,128,250,248,242,124,227,60,199,24, + 7,128,7,128,3,0,33,33,165,37,2,251,0,1,192,0, + 0,0,1,192,0,0,0,1,192,0,0,0,1,192,0,0, + 0,1,192,0,0,0,1,192,0,0,0,1,192,0,0,0, + 1,192,0,0,0,1,192,0,0,0,1,192,0,0,0,1, + 192,0,0,0,1,192,0,0,0,1,192,0,0,0,1,192, + 0,0,0,1,192,0,0,255,255,255,255,128,255,255,255,255, + 128,255,255,255,255,128,0,1,192,0,0,0,1,192,0,0, + 0,1,192,0,0,0,1,192,0,0,0,1,192,0,0,0, + 1,192,0,0,0,1,192,0,0,0,1,192,0,0,0,1, + 192,0,0,0,1,192,0,0,0,1,192,0,0,0,1,192, + 0,0,0,1,192,0,0,0,1,192,0,0,0,1,192,0, + 0,7,13,13,10,2,249,120,252,252,254,254,126,6,4,4, + 8,24,96,192,10,4,8,14,2,8,255,192,255,192,255,192, + 255,192,6,6,6,10,2,0,120,252,252,252,252,120,13,37, + 74,17,2,248,0,24,0,56,0,56,0,48,0,112,0,112, + 0,96,0,96,0,224,0,224,0,192,1,192,1,192,1,128, + 3,128,3,128,3,128,3,0,7,0,7,0,6,0,14,0, + 14,0,12,0,12,0,28,0,28,0,24,0,56,0,56,0, + 48,0,112,0,112,0,112,0,96,0,224,0,224,0,18,28, + 84,22,2,1,3,240,0,14,28,0,14,28,0,28,14,0, + 60,15,0,60,15,0,124,15,128,124,15,128,124,15,128,252, + 15,192,252,15,192,252,15,192,252,15,192,252,15,192,252,15, + 192,252,15,192,252,15,192,252,15,192,252,15,192,124,15,128, + 124,15,128,124,15,128,60,15,0,60,15,0,28,14,0,12, + 28,0,14,28,0,3,240,0,13,28,56,22,5,0,3,128, + 7,128,15,128,255,128,31,128,31,128,31,128,31,128,31,128, + 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, + 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, + 31,128,31,128,255,248,17,28,84,22,2,1,15,248,0,24, + 62,0,48,63,0,112,31,0,240,31,128,240,31,128,252,31, + 128,252,31,128,254,31,128,126,63,0,60,63,0,0,126,0, + 0,252,0,0,248,0,1,224,0,3,128,0,6,0,0,12, + 0,128,24,0,128,16,0,128,32,0,128,47,1,128,127,255, + 128,127,255,128,71,255,0,67,255,0,65,254,0,64,252,0, + 17,28,84,22,2,1,15,248,0,24,62,0,48,63,0,48, + 31,0,112,31,128,120,31,128,124,31,128,124,31,128,124,31, + 128,60,31,0,0,31,0,0,62,0,0,120,0,15,192,0, + 0,120,0,0,62,0,0,63,0,0,31,0,16,31,128,124, + 31,128,252,31,128,252,31,128,252,31,128,248,31,128,240,63, + 0,112,62,0,56,124,0,31,248,0,18,28,84,22,2,0, + 0,124,0,0,124,0,0,252,0,0,252,0,1,252,0,1, + 252,0,3,252,0,3,252,0,6,252,0,6,252,0,12,252, + 0,12,252,0,24,252,0,24,252,0,48,252,0,48,252,0, + 96,252,0,96,252,0,192,252,0,255,255,192,0,252,0,0, + 252,0,0,252,0,0,252,0,0,252,0,0,252,0,0,252, + 0,15,255,192,17,29,87,22,3,0,0,6,0,112,28,0, + 127,252,0,127,248,0,127,224,0,127,192,0,126,0,0,96, + 0,0,96,0,0,96,0,0,96,0,0,103,224,0,120,120, + 0,112,62,0,96,62,0,96,31,0,0,31,0,0,31,128, + 0,31,128,56,31,128,124,31,128,252,31,128,252,31,128,248, + 31,0,240,31,0,224,30,0,96,62,0,48,124,0,31,240, + 0,18,29,87,22,3,0,0,32,0,3,220,0,7,6,0, + 14,6,0,30,15,0,60,31,0,60,63,0,124,63,0,124, + 62,0,124,28,0,252,0,0,252,0,0,252,0,0,253,248, + 0,255,30,0,254,31,0,252,15,128,252,15,128,252,15,192, + 252,15,192,252,15,192,124,15,192,124,15,192,124,15,192,60, + 15,128,28,15,128,30,15,0,14,30,0,3,252,0,17,28, + 84,22,3,0,103,135,0,111,199,0,127,227,128,127,241,128, + 127,249,128,127,255,128,96,125,128,64,1,0,64,3,0,64, + 3,0,192,6,0,0,4,0,0,12,0,0,24,0,0,56, + 0,0,112,0,0,112,0,0,240,0,1,240,0,3,224,0, + 3,224,0,3,224,0,7,224,0,7,224,0,7,224,0,7, + 224,0,7,224,0,3,192,0,19,29,87,22,2,0,0,64, + 0,7,184,0,28,6,0,56,3,0,112,1,0,112,1,128, + 240,1,128,240,1,128,248,1,128,252,3,0,255,2,0,127, + 196,0,127,248,0,63,252,0,31,255,0,15,255,128,27,255, + 128,48,255,192,96,63,192,96,15,192,224,3,224,224,1,192, + 224,1,192,224,1,192,224,1,192,112,1,128,56,1,0,28, + 6,0,15,252,0,18,28,84,22,3,1,15,240,0,30,28, + 0,60,30,0,124,14,0,124,15,0,252,15,128,252,15,128, + 252,15,128,252,15,128,252,15,192,252,15,192,124,15,192,124, + 15,192,62,31,192,30,63,192,7,239,192,0,15,192,0,15, + 192,0,15,192,30,15,128,31,15,128,63,15,128,63,15,0, + 62,15,0,56,30,0,24,28,0,24,56,0,15,240,0,6, + 19,19,10,2,0,120,252,252,252,252,120,0,0,0,0,0, + 0,0,120,252,252,252,252,120,7,26,26,10,2,249,120,252, + 252,252,252,120,0,0,0,0,0,0,0,120,252,252,254,254, + 126,6,4,4,8,16,96,192,29,33,132,36,3,250,0,0, + 0,24,0,0,0,120,0,0,1,240,0,0,7,192,0,0, + 31,128,0,0,62,0,0,0,248,0,0,3,224,0,0,15, + 192,0,0,31,0,0,0,124,0,0,1,240,0,0,7,192, + 0,0,15,128,0,0,62,0,0,0,248,0,0,0,240,0, + 0,0,124,0,0,0,62,0,0,0,15,128,0,0,3,224, + 0,0,0,248,0,0,0,124,0,0,0,31,0,0,0,7, + 192,0,0,1,240,0,0,0,252,0,0,0,62,0,0,0, + 15,128,0,0,3,224,0,0,1,248,0,0,0,120,0,0, + 0,16,32,11,44,36,2,5,255,255,255,255,255,255,255,255, + 255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255, + 255,255,255,255,29,33,132,36,4,250,192,0,0,0,240,0, + 0,0,124,0,0,0,31,0,0,0,15,192,0,0,3,224, + 0,0,0,248,0,0,0,62,0,0,0,31,128,0,0,7, + 192,0,0,1,240,0,0,0,124,0,0,0,31,0,0,0, + 15,128,0,0,3,224,0,0,0,248,0,0,0,120,0,0, + 1,240,0,0,3,224,0,0,15,128,0,0,62,0,0,0, + 248,0,0,1,240,0,0,7,192,0,0,31,0,0,0,124, + 0,0,1,248,0,0,3,224,0,0,15,128,0,0,62,0, + 0,0,252,0,0,0,240,0,0,0,64,0,0,0,12,28, + 56,18,3,1,63,128,119,224,65,224,129,240,129,240,129,240, + 129,240,129,224,193,224,67,192,3,128,7,0,6,0,12,0, + 8,0,24,0,16,64,16,64,16,64,24,128,15,0,0,0, + 7,128,15,192,15,192,15,192,15,192,7,128,28,29,116,32, + 2,0,0,2,0,0,0,125,240,0,1,192,28,0,3,0, + 6,0,6,0,3,0,12,0,1,128,24,15,61,192,56,28, + 188,192,48,56,248,224,112,112,120,224,112,240,120,96,225,224, + 120,112,225,224,248,112,225,224,240,112,227,224,240,112,227,192, + 240,112,227,192,240,112,227,193,224,96,227,193,224,224,99,193, + 224,192,99,195,224,192,115,194,225,128,49,228,227,0,56,120, + 124,0,28,0,0,0,12,0,0,0,7,0,0,0,3,128, + 24,0,0,255,224,0,26,29,116,29,2,0,0,4,0,0, + 0,6,0,0,0,14,0,0,0,14,0,0,0,15,0,0, + 0,31,0,0,0,31,0,0,0,31,128,0,0,63,128,0, + 0,47,128,0,0,47,192,0,0,111,192,0,0,79,192,0, + 0,71,192,0,0,199,224,0,0,135,224,0,0,131,224,0, + 1,131,240,0,1,3,240,0,3,1,240,0,3,255,248,0, + 2,1,248,0,6,0,248,0,6,0,252,0,4,0,252,0, + 12,0,252,0,12,0,124,0,30,0,254,0,255,199,255,192, + 22,28,84,27,3,0,255,255,0,31,131,192,31,131,224,31, + 129,240,31,129,248,31,129,248,31,129,248,31,129,248,31,129, + 248,31,129,240,31,129,240,31,131,192,31,131,128,31,252,0, + 31,131,128,31,129,224,31,128,240,31,128,248,31,128,252,31, + 128,252,31,128,252,31,128,252,31,128,252,31,128,248,31,128, + 248,31,129,240,31,131,224,255,255,128,21,28,84,26,3,1, + 1,254,48,7,3,48,14,1,240,30,0,240,60,0,240,60, + 0,112,124,0,112,124,0,48,124,0,48,252,0,48,252,0, + 48,252,0,16,252,0,0,252,0,0,252,0,0,252,0,0, + 252,0,0,252,0,24,252,0,24,124,0,16,124,0,16,124, + 0,16,60,0,48,60,0,32,30,0,96,14,0,192,7,1, + 128,1,254,0,25,28,112,30,3,0,255,255,128,0,31,128, + 224,0,31,128,112,0,31,128,56,0,31,128,60,0,31,128, + 30,0,31,128,30,0,31,128,31,0,31,128,31,0,31,128, + 31,0,31,128,31,128,31,128,31,128,31,128,31,128,31,128, + 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, + 31,128,31,128,31,0,31,128,31,0,31,128,31,0,31,128, + 30,0,31,128,30,0,31,128,60,0,31,128,56,0,31,128, + 112,0,31,128,224,0,255,255,128,0,22,28,84,26,2,0, + 255,255,252,15,192,124,15,192,60,15,192,28,15,192,28,15, + 192,12,15,192,12,15,192,12,15,193,4,15,193,0,15,195, + 0,15,195,0,15,199,0,15,255,0,15,199,0,15,195,0, + 15,195,0,15,193,4,15,193,4,15,193,4,15,192,12,15, + 192,12,15,192,12,15,192,28,15,192,28,15,192,60,15,192, + 252,255,255,252,22,28,84,25,2,0,255,255,252,31,128,252, + 31,128,124,31,128,60,31,128,28,31,128,28,31,128,28,31, + 128,12,31,129,12,31,129,12,31,131,12,31,131,0,31,135, + 0,31,255,0,31,143,0,31,135,0,31,131,0,31,129,0, + 31,129,0,31,129,0,31,128,0,31,128,0,31,128,0,31, + 128,0,31,128,0,31,128,0,31,128,0,255,252,0,24,29, + 87,28,3,0,0,16,0,1,239,24,3,3,152,14,0,248, + 30,0,248,28,0,120,60,0,56,60,0,56,124,0,24,124, + 0,24,124,0,24,252,0,8,252,0,0,252,0,0,252,0, + 0,252,31,255,252,1,248,252,1,248,252,1,248,252,1,248, + 124,1,248,124,1,248,124,1,248,60,1,248,60,1,248,30, + 3,152,14,3,24,7,6,24,1,220,24,27,28,112,31,2, + 0,255,251,255,224,31,128,63,0,31,128,63,0,31,128,63, + 0,31,128,63,0,31,128,63,0,31,128,63,0,31,128,63, + 0,31,128,63,0,31,128,63,0,31,128,63,0,31,128,63, + 0,31,128,63,0,31,255,255,0,31,128,63,0,31,128,63, + 0,31,128,63,0,31,128,63,0,31,128,63,0,31,128,63, + 0,31,128,63,0,31,128,63,0,31,128,63,0,31,128,63, + 0,31,128,63,0,31,128,63,0,31,128,63,0,255,251,255, + 224,13,28,56,17,2,0,255,248,31,128,31,128,31,128,31, + 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, + 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, + 128,31,128,31,128,31,128,31,128,31,128,31,128,255,248,18, + 28,84,20,1,0,7,255,192,0,126,0,0,126,0,0,126, + 0,0,126,0,0,126,0,0,126,0,0,126,0,0,126,0, + 0,126,0,0,126,0,0,126,0,0,126,0,0,126,0,0, + 126,0,0,126,0,0,126,0,16,126,0,124,126,0,252,126, + 0,252,126,0,252,126,0,248,126,0,240,124,0,224,124,0, + 96,120,0,32,240,0,31,224,0,26,28,112,29,2,0,255, + 241,255,0,31,128,120,0,31,128,112,0,31,128,96,0,31, + 128,64,0,31,128,192,0,31,129,128,0,31,131,0,0,31, + 134,0,0,31,134,0,0,31,142,0,0,31,159,0,0,31, + 191,0,0,31,255,128,0,31,223,128,0,31,159,192,0,31, + 143,192,0,31,143,224,0,31,135,224,0,31,135,240,0,31, + 131,240,0,31,131,248,0,31,129,248,0,31,129,252,0,31, + 128,252,0,31,128,254,0,31,128,254,0,255,243,255,192,22, + 28,84,25,2,0,255,248,0,31,128,0,31,128,0,31,128, + 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, + 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, + 128,0,31,128,0,31,128,12,31,128,12,31,128,12,31,128, + 12,31,128,28,31,128,28,31,128,60,31,128,60,31,128,124, + 31,128,252,31,129,252,255,255,252,31,28,112,34,2,0,255, + 128,15,254,15,128,15,224,15,192,15,224,15,192,15,224,15, + 192,15,224,15,224,23,224,15,224,23,224,15,240,23,224,13, + 240,23,224,13,240,39,224,13,248,39,224,12,248,39,224,12, + 248,39,224,12,252,71,224,12,124,71,224,12,124,71,224,12, + 126,71,224,12,62,135,224,12,63,135,224,12,63,135,224,12, + 31,135,224,12,31,7,224,12,31,7,224,12,15,7,224,12, + 15,7,224,28,14,7,224,62,6,7,224,255,134,63,254,27, + 28,112,30,2,0,255,128,255,224,31,192,63,0,31,192,30, + 0,15,224,12,0,7,240,12,0,7,240,12,0,7,248,12, + 0,7,248,12,0,6,252,12,0,6,254,12,0,6,126,12, + 0,6,63,12,0,6,63,140,0,6,31,140,0,6,31,204, + 0,6,15,236,0,6,7,236,0,6,7,252,0,6,3,252, + 0,6,1,252,0,6,1,252,0,6,0,252,0,6,0,252, + 0,6,0,124,0,6,0,60,0,15,0,60,0,31,128,28, + 0,255,224,12,0,22,28,84,27,3,1,1,254,0,3,3, + 0,6,1,128,14,1,192,28,0,224,60,0,240,60,0,240, + 124,0,248,124,0,248,124,0,248,252,0,252,252,0,252,252, + 0,252,252,0,252,252,0,252,252,0,252,252,0,252,252,0, + 252,124,0,248,124,0,248,124,0,248,60,0,240,60,0,240, + 28,0,224,14,1,192,6,1,128,3,3,0,1,254,0,23, + 28,84,27,2,0,255,255,128,31,129,240,31,128,248,31,128, + 252,31,128,124,31,128,126,31,128,126,31,128,126,31,128,126, + 31,128,126,31,128,124,31,128,252,31,128,248,31,129,224,31, + 255,128,31,128,0,31,128,0,31,128,0,31,128,0,31,128, + 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, + 31,128,0,31,128,0,255,248,0,22,37,111,27,3,248,1, + 254,0,3,3,0,6,1,128,14,1,192,28,0,224,60,0, + 240,60,0,240,124,0,248,124,0,248,124,0,248,252,0,252, + 252,0,252,252,0,252,252,0,252,252,0,252,252,0,252,252, + 0,252,252,0,252,124,0,248,124,0,248,124,0,248,60,56, + 240,60,76,240,30,133,224,14,135,224,7,135,192,3,135,132, + 1,238,4,0,22,4,0,6,4,0,7,12,0,7,12,0, + 7,252,0,7,248,0,7,248,0,3,240,0,1,224,25,28, + 112,28,2,0,255,255,0,0,31,135,192,0,31,131,224,0, + 31,129,240,0,31,129,248,0,31,129,248,0,31,129,248,0, + 31,129,248,0,31,129,248,0,31,129,240,0,31,131,224,0, + 31,135,192,0,31,254,0,0,31,135,128,0,31,131,192,0, + 31,129,240,0,31,129,240,0,31,129,248,0,31,129,248,0, + 31,129,248,0,31,129,248,0,31,129,248,128,31,129,248,128, + 31,129,248,128,31,129,248,128,31,129,249,0,31,128,249,0, + 255,248,126,0,18,29,87,23,3,0,1,0,0,31,225,128, + 48,57,128,96,31,128,96,15,128,224,7,128,240,3,128,240, + 3,128,248,1,128,254,1,128,255,1,128,127,192,0,127,224, + 0,63,248,0,31,252,0,7,255,0,3,255,0,128,255,128, + 128,127,128,192,31,192,192,15,192,192,7,192,224,3,192,224, + 1,192,240,1,128,248,1,128,248,3,0,206,2,0,135,188, + 0,24,28,84,27,2,0,255,255,255,252,126,63,248,126,31, + 240,126,15,224,126,15,224,126,7,192,126,7,192,126,3,192, + 126,3,192,126,3,128,126,3,128,126,2,0,126,0,0,126, + 0,0,126,0,0,126,0,0,126,0,0,126,0,0,126,0, + 0,126,0,0,126,0,0,126,0,0,126,0,0,126,0,0, + 126,0,0,126,0,0,126,0,7,255,224,26,28,112,30,3, + 0,255,240,127,192,31,128,31,0,31,128,14,0,31,128,6, + 0,31,128,6,0,31,128,6,0,31,128,6,0,31,128,6, + 0,31,128,6,0,31,128,6,0,31,128,6,0,31,128,6, + 0,31,128,6,0,31,128,6,0,31,128,6,0,31,128,6, + 0,31,128,6,0,31,128,6,0,31,128,6,0,31,128,6, + 0,31,128,6,0,31,128,6,0,15,128,12,0,15,192,12, + 0,7,192,24,0,7,224,56,0,1,252,240,0,0,255,192, + 0,27,28,112,30,2,0,255,248,127,224,31,192,15,0,15, + 192,6,0,15,192,6,0,7,224,4,0,7,224,12,0,7, + 224,8,0,3,240,8,0,3,240,8,0,3,240,24,0,1, + 248,16,0,1,248,16,0,1,252,48,0,0,252,32,0,0, + 252,32,0,0,254,96,0,0,126,64,0,0,126,64,0,0, + 127,192,0,0,63,128,0,0,63,128,0,0,63,128,0,0, + 31,0,0,0,31,0,0,0,31,0,0,0,14,0,0,0, + 14,0,0,0,14,0,0,38,28,140,41,2,0,255,243,255, + 207,252,31,192,126,1,224,15,192,126,0,192,15,192,62,0, + 192,7,192,63,0,128,7,224,63,0,128,7,224,63,1,128, + 7,224,63,129,0,3,240,63,129,0,3,240,127,131,0,3, + 240,111,195,0,1,248,79,194,0,1,248,207,194,0,1,248, + 199,230,0,0,252,135,230,0,0,252,135,228,0,0,253,131, + 244,0,0,127,131,252,0,0,127,3,248,0,0,127,3,248, + 0,0,127,1,248,0,0,63,1,248,0,0,62,1,240,0, + 0,62,0,240,0,0,30,0,240,0,0,28,0,240,0,0, + 28,0,96,0,0,12,0,96,0,26,28,112,29,2,0,255, + 241,255,128,31,224,124,0,15,224,56,0,15,224,48,0,7, + 240,96,0,7,240,96,0,3,248,192,0,3,248,128,0,1, + 253,128,0,0,255,0,0,0,254,0,0,0,126,0,0,0, + 127,0,0,0,63,0,0,0,63,128,0,0,31,128,0,0, + 63,192,0,0,111,192,0,0,79,224,0,0,199,224,0,1, + 135,240,0,1,131,240,0,3,3,248,0,2,1,248,0,6, + 1,252,0,14,0,252,0,30,1,254,0,255,199,255,192,25, + 28,112,28,2,0,255,240,255,128,31,192,60,0,31,192,24, + 0,15,192,24,0,15,224,24,0,7,224,16,0,7,224,48, + 0,3,240,32,0,3,240,32,0,1,248,96,0,1,248,64, + 0,1,252,64,0,0,252,192,0,0,254,128,0,0,127,128, + 0,0,127,128,0,0,63,0,0,0,63,0,0,0,63,0, + 0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0, + 0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0, + 0,1,255,224,0,20,28,84,25,3,0,127,255,240,126,7, + 240,124,7,224,120,15,224,112,15,192,96,31,192,96,31,128, + 96,63,128,64,63,0,64,127,0,0,254,0,0,254,0,1, + 252,0,1,248,0,3,248,0,3,240,0,7,240,0,7,224, + 16,15,224,16,15,192,16,31,192,48,31,128,48,63,128,112, + 63,0,112,127,0,240,126,1,240,254,7,240,255,255,240,9, + 35,70,15,3,249,255,128,248,0,248,0,248,0,248,0,248, + 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, + 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, + 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, + 0,248,0,248,0,248,0,248,0,255,128,13,37,74,17,2, + 248,192,0,224,0,224,0,96,0,112,0,112,0,48,0,56, + 0,56,0,24,0,24,0,28,0,28,0,12,0,14,0,14, + 0,6,0,6,0,7,0,7,0,3,0,3,128,3,128,1, + 128,1,192,1,192,0,192,0,192,0,224,0,224,0,96,0, + 112,0,112,0,48,0,48,0,56,0,56,9,35,70,15,3, + 249,255,128,15,128,15,128,15,128,15,128,15,128,15,128,15, + 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, + 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, + 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, + 128,15,128,15,128,255,128,18,14,42,22,2,15,0,192,0, + 0,192,0,1,224,0,3,240,0,3,240,0,7,56,0,7, + 56,0,14,28,0,28,14,0,28,14,0,56,7,0,56,7, + 0,112,3,128,224,1,192,20,3,9,20,0,249,255,255,240, + 255,255,240,255,255,240,7,7,7,17,3,21,224,240,240,120, + 60,12,6,17,19,57,20,2,0,15,192,0,24,240,0,48, + 120,0,112,120,0,124,124,0,124,124,0,124,124,0,0,252, + 0,7,124,0,28,124,0,56,124,0,120,124,0,248,124,0, + 248,124,128,248,124,128,248,124,128,252,253,128,127,191,0,62, + 30,0,18,28,84,20,0,0,255,0,0,31,0,0,31,0, + 0,31,0,0,31,0,0,31,0,0,31,0,0,31,0,0, + 31,0,0,31,60,0,31,78,0,31,143,0,31,135,128,31, + 7,128,31,7,128,31,7,192,31,7,192,31,7,192,31,7, + 192,31,7,192,31,7,192,31,7,192,31,7,128,31,7,128, + 31,135,0,25,143,0,16,206,0,16,120,0,14,19,38,18, + 2,0,7,224,14,48,60,24,60,28,120,60,120,124,248,124, + 248,120,248,48,248,0,248,0,248,0,248,0,120,4,120,4, + 56,4,28,8,14,16,7,224,18,28,84,21,2,0,0,254, + 0,0,62,0,0,62,0,0,62,0,0,62,0,0,62,0, + 0,62,0,0,62,0,0,62,0,15,62,0,28,190,0,60, + 126,0,120,126,0,120,62,0,120,62,0,248,62,0,248,62, + 0,248,62,0,248,62,0,248,62,0,248,62,0,248,62,0, + 120,62,0,120,62,0,120,126,0,60,126,0,28,190,0,15, + 63,192,14,19,38,18,2,0,7,192,28,224,56,112,56,120, + 120,120,120,124,248,124,248,124,248,124,255,252,248,0,248,0, + 248,0,120,4,120,4,56,8,60,8,30,16,7,224,14,28, + 56,13,1,0,1,240,7,24,15,28,30,60,30,124,62,124, + 62,56,62,0,62,0,255,192,62,0,62,0,62,0,62,0, + 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, + 62,0,62,0,62,0,62,0,62,0,255,192,19,28,84,22, + 2,247,7,225,192,30,118,96,60,60,224,60,60,224,124,62, + 192,124,62,0,124,62,0,124,62,0,60,60,0,60,60,0, + 30,120,0,7,224,0,56,0,0,96,0,0,96,0,0,127, + 224,0,127,254,0,127,255,0,63,255,128,31,255,128,96,7, + 128,192,3,128,128,3,128,128,3,0,128,3,0,64,6,0, + 48,28,0,15,240,0,20,28,84,22,1,0,255,0,0,31, + 0,0,31,0,0,31,0,0,31,0,0,31,0,0,31,0, + 0,31,0,0,31,0,0,31,30,0,31,111,0,31,135,128, + 31,135,192,31,135,192,31,7,192,31,7,192,31,7,192,31, + 7,192,31,7,192,31,7,192,31,7,192,31,7,192,31,7, + 192,31,7,192,31,7,192,31,7,192,31,7,192,255,223,240, + 8,28,28,12,2,0,60,126,126,126,126,60,0,0,0,252, + 124,124,124,124,124,124,124,124,124,124,124,124,124,124,124,124, + 124,255,12,37,74,13,254,247,1,224,3,240,3,240,3,240, + 3,240,1,224,0,0,0,0,0,0,15,224,3,224,3,224, + 3,224,3,224,3,224,3,224,3,224,3,224,3,224,3,224, + 3,224,3,224,3,224,3,224,3,224,3,224,3,224,3,224, + 3,224,3,224,123,224,251,224,251,224,243,192,227,192,103,128, + 30,0,20,28,84,21,1,0,255,0,0,31,0,0,31,0, + 0,31,0,0,31,0,0,31,0,0,31,0,0,31,0,0, + 31,0,0,31,31,192,31,7,0,31,6,0,31,4,0,31, + 8,0,31,16,0,31,16,0,31,48,0,31,120,0,31,248, + 0,31,188,0,31,60,0,31,30,0,31,31,0,31,15,0, + 31,15,128,31,15,128,31,15,192,255,223,240,11,28,56,12, + 1,0,255,0,31,0,31,0,31,0,31,0,31,0,31,0, + 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, + 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, + 31,0,31,0,31,0,31,0,255,224,27,19,76,30,2,0, + 254,60,30,0,62,222,111,0,63,31,143,0,63,31,143,128, + 63,31,143,128,62,31,15,128,62,31,15,128,62,31,15,128, + 62,31,15,128,62,31,15,128,62,31,15,128,62,31,15,128, + 62,31,15,128,62,31,15,128,62,31,15,128,62,31,15,128, + 62,31,15,128,62,31,15,128,255,63,223,224,19,19,57,22, + 2,0,254,60,0,62,222,0,63,15,0,63,15,128,63,15, + 128,62,15,128,62,15,128,62,15,128,62,15,128,62,15,128, + 62,15,128,62,15,128,62,15,128,62,15,128,62,15,128,62, + 15,128,62,15,128,62,15,128,255,191,224,16,19,38,20,2, + 0,7,192,12,112,28,56,56,60,120,30,120,30,248,30,248, + 31,248,31,248,31,248,31,248,31,248,30,120,30,120,30,56, + 60,28,56,12,112,7,192,18,28,84,21,1,247,255,60,0, + 31,78,0,31,143,0,31,135,128,31,7,128,31,7,128,31, + 7,192,31,7,192,31,7,192,31,7,192,31,7,192,31,7, + 192,31,7,192,31,7,128,31,7,128,31,135,128,31,143,0, + 31,78,0,31,60,0,31,0,0,31,0,0,31,0,0,31, + 0,0,31,0,0,31,0,0,31,0,0,31,0,0,255,192, + 0,17,28,84,20,2,247,7,130,0,28,194,0,60,102,0, + 120,126,0,120,62,0,120,62,0,248,62,0,248,62,0,248, + 62,0,248,62,0,248,62,0,248,62,0,248,62,0,120,62, + 0,120,62,0,120,126,0,60,126,0,28,190,0,15,62,0, + 0,62,0,0,62,0,0,62,0,0,62,0,0,62,0,0, + 62,0,0,62,0,0,62,0,0,255,128,14,19,38,17,2, + 0,254,48,62,120,62,188,63,60,63,124,62,124,62,56,62, + 0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62, + 0,62,0,62,0,255,128,13,19,38,16,2,0,31,16,97, + 208,96,112,224,48,224,48,240,16,248,0,126,0,127,128,63, + 224,15,240,135,240,193,248,192,120,224,56,224,24,240,16,156, + 48,135,192,12,27,54,14,1,0,6,0,6,0,6,0,6, + 0,6,0,14,0,30,0,62,0,255,224,62,0,62,0,62, + 0,62,0,62,0,62,0,62,0,62,0,62,0,62,16,62, + 16,62,16,62,16,62,16,62,32,62,32,31,192,7,128,19, + 19,57,21,1,0,254,63,128,62,15,128,62,15,128,62,15, + 128,62,15,128,62,15,128,62,15,128,62,15,128,62,15,128, + 62,15,128,62,15,128,62,15,128,62,15,128,62,15,128,62, + 31,128,62,31,128,30,47,128,30,79,128,7,143,224,18,19, + 57,20,1,0,255,143,192,62,3,0,30,2,0,30,2,0, + 31,2,0,15,4,0,15,4,0,15,132,0,7,136,0,7, + 200,0,7,216,0,3,208,0,3,240,0,3,240,0,1,224, + 0,1,224,0,0,224,0,0,192,0,0,192,0,28,19,76, + 30,1,0,255,63,231,240,62,15,129,192,30,7,129,128,30, + 7,129,128,31,7,193,0,15,7,193,0,15,7,195,0,15, + 143,226,0,7,137,226,0,7,137,230,0,7,217,244,0,3, + 208,244,0,3,240,248,0,3,240,248,0,1,224,248,0,1, + 224,112,0,1,192,112,0,0,192,112,0,0,192,32,0,18, + 19,57,20,1,0,255,63,128,126,14,0,62,12,0,31,8, + 0,31,16,0,15,176,0,15,160,0,7,192,0,3,192,0, + 3,224,0,1,240,0,3,240,0,2,248,0,4,248,0,12, + 124,0,8,126,0,24,62,0,56,63,0,254,127,192,19,28, + 84,20,0,247,255,207,224,63,3,128,31,3,0,31,2,0, + 15,2,0,15,130,0,15,130,0,7,196,0,7,196,0,3, + 196,0,3,232,0,3,232,0,1,248,0,1,248,0,0,240, + 0,0,240,0,0,112,0,0,96,0,0,96,0,0,32,0, + 0,64,0,12,64,0,30,64,0,62,64,0,62,128,0,60, + 128,0,29,0,0,14,0,0,14,19,38,17,1,0,127,252, + 120,124,112,248,96,248,65,240,65,224,67,224,3,192,7,192, + 7,128,15,128,31,4,31,4,62,4,62,12,124,12,120,28, + 248,60,255,252,12,35,70,16,2,249,1,240,7,128,15,0, + 15,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, + 31,0,31,0,31,0,30,0,30,0,56,0,224,0,56,0, + 30,0,30,0,31,0,31,0,31,0,31,0,31,0,31,0, + 31,0,31,0,31,0,31,0,15,0,15,0,7,128,1,240, + 3,36,36,11,4,248,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,12,37,74,16,2,248, + 128,0,240,0,28,0,15,0,15,0,15,128,15,128,15,128, + 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, + 7,128,3,192,0,112,3,192,7,128,15,128,15,128,15,128, + 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, + 15,0,15,0,28,0,248,0,128,0,21,8,24,25,2,6, + 62,0,48,127,192,16,255,240,8,135,252,8,129,255,24,128, + 127,248,192,31,240,96,3,224,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,255,255,255,255,255,255,255,0,0,0,11,0,0,6, + 29,29,10,2,247,120,252,252,252,252,120,0,0,32,48,48, + 48,48,48,48,48,112,120,120,120,120,252,252,252,252,252,252, + 120,120,14,28,56,22,4,251,1,128,1,128,1,128,1,128, + 3,192,15,176,29,152,61,152,121,184,121,184,249,184,249,184, + 249,128,249,128,249,128,249,128,249,128,249,132,121,132,121,132, + 61,136,29,152,15,176,3,192,1,128,1,128,1,128,1,128, + 23,29,87,27,2,0,0,1,0,0,30,224,0,120,16,0, + 248,24,0,240,28,1,240,60,1,240,124,3,240,124,3,240, + 120,3,240,0,3,240,0,3,240,0,3,240,0,31,240,64, + 1,255,128,1,248,0,0,248,0,0,248,0,0,248,0,0, + 120,0,0,120,0,0,112,0,0,112,6,60,112,4,127,224, + 28,131,255,248,129,255,240,195,63,224,124,31,192,18,20,60, + 21,2,3,0,0,128,195,225,128,239,249,192,255,255,128,120, + 15,0,112,7,0,96,3,0,224,1,128,192,1,128,192,1, + 128,192,1,128,192,1,128,224,1,128,96,3,0,112,7,0, + 120,15,0,255,255,128,239,249,192,195,225,128,0,0,128,21, + 28,84,23,1,0,255,195,248,63,0,224,63,0,192,31,128, + 192,31,128,128,31,192,128,15,193,0,15,193,0,7,227,0, + 7,226,0,7,246,0,3,244,0,3,252,0,1,248,0,63, + 255,192,1,248,0,1,248,0,1,248,0,63,255,192,1,248, + 0,1,248,0,1,248,0,1,248,0,1,248,0,1,248,0, + 1,248,0,1,248,0,15,255,128,3,35,35,11,4,249,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,0,0,0, + 0,0,0,0,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,17,36,108,24,2,248,1,240,0,6,12,0,12,6, + 0,24,7,0,56,31,0,56,63,0,56,63,0,56,62,0, + 60,28,0,63,0,0,63,192,0,31,224,0,63,248,0,103, + 254,0,67,255,0,192,255,0,192,63,128,224,15,128,248,3, + 128,254,1,128,127,129,128,127,225,0,63,249,0,15,254,0, + 3,254,0,0,254,0,0,63,0,14,15,0,31,7,0,63, + 7,0,63,7,0,62,7,0,56,6,0,24,12,0,12,24, + 0,7,240,0,12,5,10,16,2,22,112,224,249,240,249,240, + 249,240,112,224,28,28,112,32,2,1,0,127,224,0,1,128, + 24,0,6,0,12,0,12,0,3,0,24,0,1,0,16,30, + 33,128,48,113,160,192,96,224,224,64,97,224,96,96,97,224, + 96,96,193,224,32,32,195,224,32,48,195,224,32,48,195,224, + 0,48,195,224,0,48,195,224,0,48,195,224,16,48,193,224, + 16,32,65,224,48,96,97,224,32,96,96,240,96,64,48,112, + 192,192,16,31,1,128,24,0,1,0,12,0,3,0,6,0, + 12,0,1,128,24,0,0,127,224,0,11,14,28,15,2,14, + 30,0,35,0,99,128,115,128,115,128,15,128,51,128,99,128, + 227,128,227,160,227,160,125,192,0,0,255,224,10,16,32,18, + 4,1,24,64,48,192,112,128,97,128,225,128,227,128,227,128, + 227,128,227,128,227,128,227,128,97,128,97,128,48,192,24,64, + 8,0,19,11,33,22,2,5,255,255,224,255,255,224,255,255, + 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, + 0,0,224,0,0,224,0,0,224,10,4,8,14,2,8,255, + 192,255,192,255,192,255,192,28,28,112,32,2,1,0,127,224, + 0,1,128,24,0,6,0,12,0,12,0,3,0,24,0,1, + 0,19,255,193,128,48,249,224,192,96,248,240,64,96,248,248, + 96,96,248,248,96,192,248,248,32,192,248,240,48,192,249,224, + 48,192,254,0,48,192,249,192,48,192,249,224,48,192,249,240, + 48,192,249,240,32,64,249,242,96,96,249,242,96,96,249,242, + 64,48,249,246,192,19,254,253,128,24,0,121,0,12,0,3, + 0,6,0,12,0,1,128,24,0,0,127,224,0,10,3,6, + 16,3,23,255,192,255,192,255,192,12,11,22,22,5,18,31, + 128,127,224,112,96,224,48,192,48,192,48,192,48,224,112,112, + 224,63,192,31,128,32,29,116,36,2,254,0,1,192,0,0, + 1,192,0,0,1,192,0,0,1,192,0,0,1,192,0,0, + 1,192,0,0,1,192,0,0,1,192,0,0,1,192,0,0, + 1,192,0,255,255,255,255,255,255,255,255,255,255,255,255,0, + 1,192,0,0,1,192,0,0,1,192,0,0,1,192,0,0, + 1,192,0,0,1,192,0,0,1,192,0,0,1,192,0,0, + 1,192,0,0,1,192,0,0,1,192,0,0,0,0,0,0, + 0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,11, + 17,34,17,3,11,31,0,99,192,225,224,225,224,241,224,241, + 224,115,192,7,128,14,0,28,0,48,32,96,32,64,96,255, + 224,255,224,143,192,135,128,12,18,36,16,2,10,31,0,51, + 192,97,224,113,224,121,224,121,224,1,192,3,128,30,0,3, + 192,1,224,1,240,121,240,249,240,241,240,225,224,99,192,31, + 0,7,7,7,17,7,21,14,30,30,60,120,96,192,19,30, + 90,22,2,245,112,28,0,112,28,0,248,62,0,248,62,0, + 248,62,0,248,62,0,248,62,0,240,62,0,240,62,0,240, + 62,0,112,28,0,112,28,0,96,28,32,96,24,32,32,56, + 96,32,127,224,61,255,192,47,231,192,39,195,192,32,0,0, + 32,0,0,112,0,0,112,0,0,120,0,0,120,0,0,124, + 0,0,124,0,0,124,0,0,124,0,0,56,0,0,18,33, + 99,23,3,251,15,255,192,63,206,0,127,206,0,127,206,0, + 255,206,0,255,206,0,255,206,0,255,206,0,255,206,0,255, + 206,0,255,206,0,255,206,0,127,206,0,63,206,0,7,206, + 0,1,206,0,1,206,0,1,206,0,1,206,0,1,206,0, + 1,206,0,1,206,0,1,206,0,1,206,0,1,206,0,1, + 206,0,1,206,0,1,206,0,1,206,0,1,206,0,1,206, + 0,1,206,0,1,206,0,6,6,6,10,2,10,120,252,252, + 252,252,120,7,8,8,17,5,248,32,32,56,12,14,14,14, + 252,8,17,17,16,4,11,12,28,252,60,60,60,60,60,60, + 60,60,60,60,60,60,60,255,10,14,28,14,2,14,30,0, + 51,0,115,128,243,192,243,192,243,192,243,192,243,192,243,192, + 115,128,51,0,30,0,0,0,255,192,10,16,32,18,4,1, + 6,0,131,0,195,0,97,128,97,128,113,192,113,192,113,192, + 113,192,113,192,97,192,97,128,65,128,195,0,134,0,4,0, + 28,29,116,34,4,0,0,0,12,0,12,0,12,0,28,0, + 24,0,252,0,24,0,60,0,48,0,60,0,32,0,60,0, + 96,0,60,0,192,0,60,0,192,0,60,1,128,0,60,1, + 128,0,60,3,0,0,60,2,3,128,60,6,3,128,60,12, + 7,128,60,12,15,128,60,24,15,128,255,24,31,128,0,48, + 23,128,0,32,39,128,0,96,103,128,0,192,71,128,0,192, + 199,128,1,128,255,240,1,128,7,128,3,0,7,128,2,0, + 7,128,6,0,7,128,12,0,63,240,27,29,116,34,4,0, + 0,0,12,0,12,0,24,0,28,0,24,0,252,0,48,0, + 60,0,48,0,60,0,96,0,60,0,96,0,60,0,192,0, + 60,1,128,0,60,1,128,0,60,3,0,0,60,3,31,0, + 60,6,115,192,60,6,225,224,60,12,225,224,60,8,241,224, + 255,24,241,224,0,48,115,192,0,48,3,128,0,96,7,0, + 0,96,14,0,0,192,24,0,0,128,48,32,1,128,64,32, + 3,0,64,96,3,0,191,224,6,0,255,224,6,0,159,192, + 12,0,135,128,30,29,116,34,2,0,0,0,3,0,31,0, + 3,0,51,192,6,0,97,224,4,0,113,224,12,0,121,224, + 8,0,121,224,24,0,1,192,48,0,3,128,48,0,30,0, + 96,0,3,192,64,0,1,224,192,0,49,240,128,224,249,241, + 128,224,249,243,1,224,225,226,3,224,99,230,3,224,63,132, + 5,224,0,12,5,224,0,8,9,224,0,16,25,224,0,48, + 17,224,0,32,49,224,0,96,63,252,0,64,1,224,0,192, + 1,224,0,128,1,224,1,0,1,224,3,0,15,252,12,29, + 58,18,3,247,30,0,63,0,63,0,63,0,63,0,30,0, + 0,0,14,0,17,0,32,128,32,128,32,128,1,128,3,0, + 3,0,6,0,14,0,28,0,60,96,120,32,120,48,248,16, + 248,16,248,16,248,16,248,48,124,96,63,192,31,128,26,37, + 148,29,2,0,0,224,0,0,0,240,0,0,0,240,0,0, + 0,120,0,0,0,56,0,0,0,12,0,0,0,6,0,0, + 0,0,0,0,0,4,0,0,0,6,0,0,0,14,0,0, + 0,14,0,0,0,15,0,0,0,31,0,0,0,31,0,0, + 0,31,128,0,0,63,128,0,0,47,128,0,0,47,192,0, + 0,111,192,0,0,79,192,0,0,71,192,0,0,199,224,0, + 0,135,224,0,0,131,224,0,1,131,240,0,1,3,240,0, + 3,1,240,0,3,255,248,0,2,1,248,0,6,0,248,0, + 6,0,252,0,4,0,252,0,12,0,252,0,12,0,124,0, + 30,0,254,0,255,199,255,192,26,37,148,29,2,0,0,0, + 224,0,0,0,224,0,0,1,224,0,0,3,192,0,0,3, + 128,0,0,6,0,0,0,12,0,0,0,0,0,0,0,4, + 0,0,0,6,0,0,0,14,0,0,0,14,0,0,0,31, + 0,0,0,31,0,0,0,31,0,0,0,63,128,0,0,63, + 128,0,0,47,128,0,0,111,192,0,0,111,192,0,0,79, + 192,0,0,199,192,0,0,199,224,0,0,135,224,0,1,131, + 224,0,1,131,240,0,1,3,240,0,3,1,240,0,3,255, + 248,0,2,1,248,0,6,0,248,0,6,0,252,0,4,0, + 252,0,12,0,252,0,12,0,126,0,62,0,255,0,255,199, + 255,192,26,37,148,29,2,0,0,4,0,0,0,14,0,0, + 0,14,0,0,0,31,0,0,0,59,128,0,0,224,192,0, + 1,128,48,0,0,0,0,0,0,4,0,0,0,6,0,0, + 0,14,0,0,0,14,0,0,0,15,0,0,0,31,0,0, + 0,31,0,0,0,31,128,0,0,63,128,0,0,47,128,0, + 0,47,192,0,0,111,192,0,0,79,192,0,0,71,192,0, + 0,199,224,0,0,135,224,0,0,131,224,0,1,131,240,0, + 1,3,240,0,3,1,240,0,3,255,248,0,2,1,248,0, + 6,0,248,0,6,0,252,0,4,0,252,0,12,0,252,0, + 12,0,124,0,30,0,254,0,255,199,255,192,26,36,144,29, + 2,0,0,56,32,0,0,126,32,0,0,255,224,0,0,143, + 192,0,0,131,128,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,6,0,0,0,14,0,0,0,14,0,0,0,15, + 0,0,0,31,0,0,0,31,0,0,0,63,128,0,0,63, + 128,0,0,47,128,0,0,111,192,0,0,111,192,0,0,79, + 192,0,0,199,192,0,0,199,224,0,0,135,224,0,1,131, + 224,0,1,131,240,0,1,3,240,0,3,1,240,0,3,255, + 248,0,2,1,248,0,6,0,248,0,6,0,252,0,4,0, + 252,0,12,0,252,0,12,0,126,0,62,0,255,0,255,199, + 255,192,26,36,144,29,2,0,0,224,224,0,1,241,240,0, + 1,241,240,0,1,241,240,0,0,224,224,0,0,0,0,0, + 0,0,0,0,0,4,0,0,0,14,0,0,0,14,0,0, + 0,14,0,0,0,31,0,0,0,31,0,0,0,31,0,0, + 0,63,128,0,0,63,128,0,0,63,128,0,0,111,192,0, + 0,111,192,0,0,79,192,0,0,199,192,0,0,199,224,0, + 0,135,224,0,1,131,224,0,1,131,240,0,1,3,240,0, + 3,1,240,0,3,255,248,0,2,1,248,0,6,0,248,0, + 6,0,252,0,4,0,252,0,12,0,124,0,12,0,124,0, + 30,0,126,0,255,199,255,192,26,37,148,29,2,0,0,31, + 0,0,0,63,128,0,0,97,192,0,0,96,192,0,0,96, + 192,0,0,113,192,0,0,63,128,0,0,30,0,0,0,0, + 0,0,0,6,0,0,0,14,0,0,0,14,0,0,0,15, + 0,0,0,31,0,0,0,31,0,0,0,31,128,0,0,63, + 128,0,0,63,128,0,0,47,128,0,0,111,192,0,0,79, + 192,0,0,71,192,0,0,135,224,0,0,135,224,0,0,131, + 224,0,1,3,240,0,1,3,240,0,3,1,240,0,3,255, + 248,0,2,1,248,0,6,0,248,0,4,0,252,0,4,0, + 252,0,12,0,252,0,12,0,124,0,28,0,254,0,255,199, + 255,192,36,28,140,38,1,0,0,7,255,255,224,0,1,254, + 3,224,0,1,254,1,224,0,1,254,0,224,0,1,254,0, + 224,0,3,126,0,96,0,3,126,0,96,0,6,126,0,32, + 0,6,126,4,32,0,12,126,4,0,0,12,126,12,0,0, + 24,126,12,0,0,24,126,28,0,0,48,127,252,0,0,48, + 126,60,0,0,96,126,28,0,0,96,126,12,0,0,192,126, + 4,48,0,192,126,4,48,1,255,254,4,48,1,128,126,0, + 48,3,0,126,0,112,3,0,126,0,112,6,0,126,0,240, + 6,0,126,0,240,14,0,126,1,240,63,0,126,7,240,255, + 199,255,255,240,21,37,111,26,3,248,1,254,48,7,3,48, + 14,1,240,30,0,240,60,0,240,60,0,112,124,0,112,124, + 0,48,124,0,48,252,0,48,252,0,48,252,0,16,252,0, + 0,252,0,0,252,0,0,252,0,0,252,0,0,252,0,24, + 252,0,24,124,0,16,124,0,16,124,0,16,60,0,48,60, + 0,32,30,0,96,14,0,192,7,1,128,1,254,0,0,32, + 0,0,96,0,0,120,0,0,28,0,0,14,0,0,14,0, + 0,14,0,2,28,0,1,248,0,22,37,111,26,2,0,1, + 128,0,1,192,0,1,224,0,0,224,0,0,112,0,0,24, + 0,0,8,0,0,0,0,0,0,0,255,255,252,15,192,124, + 15,192,60,15,192,28,15,192,28,15,192,12,15,192,12,15, + 192,12,15,193,4,15,193,0,15,195,0,15,195,0,15,199, + 0,15,255,0,15,199,0,15,195,0,15,195,0,15,193,4, + 15,193,4,15,193,4,15,192,12,15,192,12,15,192,12,15, + 192,28,15,192,28,15,192,60,15,192,252,255,255,252,22,37, + 111,26,2,0,0,1,192,0,3,192,0,3,192,0,7,128, + 0,14,0,0,12,0,0,24,0,0,0,0,0,0,0,255, + 255,252,15,192,124,15,192,60,15,192,28,15,192,28,15,192, + 12,15,192,12,15,192,4,15,193,4,15,193,0,15,195,0, + 15,195,0,15,199,0,15,255,0,15,199,0,15,195,0,15, + 195,0,15,193,4,15,193,4,15,193,4,15,192,4,15,192, + 12,15,192,12,15,192,28,15,192,28,15,192,60,15,192,252, + 255,255,252,22,37,111,26,2,0,0,8,0,0,24,0,0, + 60,0,0,126,0,0,231,0,1,193,128,3,0,64,0,0, + 0,0,0,0,255,255,252,15,192,124,15,192,60,15,192,28, + 15,192,28,15,192,12,15,192,12,15,192,12,15,193,4,15, + 193,0,15,195,0,15,195,0,15,199,0,15,255,0,15,199, + 0,15,195,0,15,195,0,15,193,4,15,193,4,15,193,4, + 15,192,12,15,192,12,15,192,12,15,192,28,15,192,28,15, + 192,60,15,192,252,255,255,252,22,36,108,26,2,0,1,193, + 192,3,227,224,3,227,224,3,227,224,1,193,192,0,0,0, + 0,0,0,0,0,0,255,255,252,15,192,124,15,192,60,15, + 192,28,15,192,28,15,192,12,15,192,12,15,192,4,15,193, + 4,15,193,0,15,195,0,15,195,0,15,199,0,15,255,0, + 15,199,0,15,195,0,15,195,0,15,193,4,15,193,4,15, + 193,4,15,192,4,15,192,12,15,192,12,15,192,28,15,192, + 28,15,192,60,15,192,252,255,255,252,13,37,74,17,2,0, + 96,0,112,0,120,0,56,0,28,0,14,0,2,0,0,0, + 0,0,255,248,31,128,31,128,31,128,31,128,31,128,31,128, + 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, + 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, + 31,128,31,128,31,128,31,128,255,248,13,37,74,17,2,0, + 0,112,0,240,1,240,1,224,3,128,7,0,4,0,0,0, + 0,0,255,248,31,128,31,128,31,128,31,128,31,128,31,128, + 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, + 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, + 31,128,31,128,31,128,31,128,255,248,13,37,74,17,2,0, + 6,0,6,0,15,0,31,128,57,192,112,112,192,24,0,0, + 0,0,255,248,31,128,31,128,31,128,31,128,31,128,31,128, + 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, + 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, + 31,128,31,128,31,128,31,128,255,248,13,36,72,16,2,0, + 112,112,248,248,248,248,248,248,112,112,0,0,0,0,0,0, + 255,248,31,128,31,128,31,128,31,128,31,128,31,128,31,128, + 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, + 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, + 31,128,31,128,31,128,255,248,25,28,112,29,2,0,255,255, + 128,0,31,128,224,0,31,128,112,0,31,128,56,0,31,128, + 60,0,31,128,30,0,31,128,30,0,31,128,31,0,31,128, + 31,0,31,128,31,0,31,128,31,128,31,128,31,128,31,128, + 31,128,255,248,31,128,31,128,31,128,31,128,31,128,31,128, + 31,128,31,128,31,128,31,128,31,0,31,128,31,0,31,128, + 31,0,31,128,30,0,31,128,30,0,31,128,60,0,31,128, + 56,0,31,128,112,0,31,128,224,0,255,255,128,0,27,36, + 144,30,2,0,0,24,0,0,0,62,32,0,0,127,224,0, + 0,71,192,0,0,1,128,0,0,0,0,0,0,0,0,0, + 0,0,0,0,255,128,255,224,31,192,63,0,31,192,30,0, + 15,224,12,0,7,240,12,0,7,240,12,0,7,248,12,0, + 7,248,12,0,6,252,12,0,6,254,12,0,6,126,12,0, + 6,63,12,0,6,63,140,0,6,31,140,0,6,31,204,0, + 6,15,236,0,6,7,236,0,6,7,252,0,6,3,252,0, + 6,1,252,0,6,1,252,0,6,0,252,0,6,0,252,0, + 6,0,124,0,6,0,60,0,15,0,60,0,31,128,28,0, + 255,224,12,0,22,37,111,27,3,1,7,128,0,7,128,0, + 3,192,0,1,192,0,0,224,0,0,112,0,0,16,0,0, + 0,0,0,0,0,1,254,0,3,3,0,6,1,128,14,1, + 192,28,0,224,60,0,240,60,0,240,124,0,248,124,0,248, + 124,0,248,252,0,252,252,0,252,252,0,252,252,0,252,252, + 0,252,252,0,252,252,0,252,252,0,252,124,0,248,124,0, + 248,124,0,248,60,0,240,60,0,240,28,0,224,14,1,192, + 6,1,128,3,3,0,1,254,0,22,37,111,27,3,1,0, + 7,128,0,7,128,0,15,0,0,14,0,0,28,0,0,56, + 0,0,32,0,0,0,0,0,0,0,1,254,0,3,3,0, + 6,1,128,14,1,192,28,0,224,60,0,240,60,0,240,124, + 0,248,124,0,248,124,0,248,252,0,252,252,0,252,252,0, + 252,252,0,252,252,0,252,252,0,252,252,0,252,252,0,252, + 124,0,248,124,0,248,124,0,248,60,0,240,60,0,240,28, + 0,224,14,1,192,6,1,128,3,3,0,1,254,0,22,37, + 111,27,3,0,0,48,0,0,48,0,0,120,0,0,252,0, + 1,206,0,3,135,0,6,1,128,0,0,0,0,0,0,1, + 254,0,3,3,0,6,1,128,14,1,192,28,0,224,60,0, + 240,60,0,240,124,0,248,124,0,248,124,0,248,252,0,252, + 252,0,252,252,0,252,252,0,252,252,0,252,252,0,252,252, + 0,252,252,0,252,124,0,248,124,0,248,124,0,248,60,0, + 240,60,0,240,28,0,224,14,1,192,6,1,128,3,3,0, + 1,254,0,22,36,108,27,3,0,1,192,128,3,241,128,3, + 255,0,4,63,0,4,12,0,0,0,0,0,0,0,0,0, + 0,1,254,0,3,3,0,6,1,128,14,1,192,28,0,224, + 60,0,240,60,0,240,124,0,248,124,0,248,124,0,248,252, + 0,252,252,0,252,252,0,252,252,0,252,252,0,252,252,0, + 252,252,0,252,252,0,252,124,0,248,124,0,248,124,0,248, + 60,0,240,60,0,240,28,0,224,14,1,192,6,1,128,3, + 3,0,1,254,0,22,36,108,27,3,0,3,131,128,7,199, + 192,7,199,192,7,199,192,3,131,128,0,0,0,0,0,0, + 0,0,0,1,254,0,3,3,0,6,1,128,14,1,192,28, + 0,224,60,0,240,60,0,240,124,0,248,124,0,248,124,0, + 248,252,0,252,252,0,252,252,0,252,252,0,252,252,0,252, + 252,0,252,252,0,252,252,0,252,124,0,248,124,0,248,124, + 0,248,60,0,240,60,0,240,28,0,224,14,1,192,6,1, + 128,3,3,0,1,254,0,24,25,75,36,6,254,64,0,2, + 224,0,7,240,0,14,120,0,28,60,0,60,30,0,120,15, + 0,240,7,129,224,3,195,192,1,231,128,0,239,0,0,126, + 0,0,60,0,0,124,0,0,254,0,1,231,0,3,195,128, + 7,129,192,15,0,224,30,0,112,60,0,56,120,0,28,112, + 0,14,224,0,7,192,0,2,22,28,84,27,3,1,1,254, + 12,3,3,152,6,3,208,14,1,240,28,1,224,60,1,240, + 60,1,240,124,1,248,124,3,248,124,6,248,252,14,252,252, + 12,252,252,24,252,252,56,252,252,112,252,252,96,252,252,192, + 252,253,192,252,125,128,248,127,0,248,126,0,248,62,0,240, + 62,0,240,30,0,224,62,1,192,46,1,128,103,3,0,193, + 254,0,26,37,148,30,3,1,0,224,0,0,0,240,0,0, + 0,120,0,0,0,56,0,0,0,28,0,0,0,12,0,0, + 0,6,0,0,0,0,0,0,0,0,0,0,255,240,127,192, + 31,128,31,0,31,128,14,0,31,128,6,0,31,128,6,0, + 31,128,6,0,31,128,6,0,31,128,6,0,31,128,6,0, + 31,128,6,0,31,128,6,0,31,128,6,0,31,128,6,0, + 31,128,6,0,31,128,6,0,31,128,6,0,31,128,6,0, + 31,128,6,0,31,128,6,0,31,128,6,0,31,128,6,0, + 31,128,6,0,15,128,12,0,15,192,12,0,7,192,24,0, + 7,224,56,0,1,252,240,0,0,255,192,0,26,37,148,30, + 3,1,0,0,224,0,0,1,224,0,0,1,224,0,0,3, + 192,0,0,7,0,0,0,6,0,0,0,12,0,0,0,0, + 0,0,0,0,0,0,255,240,127,192,31,128,31,0,31,128, + 14,0,31,128,6,0,31,128,6,0,31,128,6,0,31,128, + 6,0,31,128,6,0,31,128,6,0,31,128,6,0,31,128, + 6,0,31,128,6,0,31,128,6,0,31,128,6,0,31,128, + 6,0,31,128,6,0,31,128,6,0,31,128,6,0,31,128, + 6,0,31,128,6,0,31,128,6,0,31,128,6,0,15,128, + 12,0,15,192,12,0,7,192,24,0,7,224,56,0,1,252, + 240,0,0,255,192,0,26,37,148,30,3,0,0,4,0,0, + 0,14,0,0,0,31,0,0,0,31,128,0,0,59,192,0, + 0,224,224,0,1,128,48,0,0,0,0,0,0,0,0,0, + 255,240,127,192,31,128,31,0,31,128,14,0,31,128,6,0, + 31,128,6,0,31,128,6,0,31,128,6,0,31,128,6,0, + 31,128,6,0,31,128,6,0,31,128,6,0,31,128,6,0, + 31,128,6,0,31,128,6,0,31,128,6,0,31,128,6,0, + 31,128,6,0,31,128,6,0,31,128,6,0,31,128,6,0, + 31,128,6,0,31,128,6,0,15,128,4,0,15,128,12,0, + 7,192,24,0,7,224,24,0,1,240,112,0,0,255,192,0, + 26,36,144,30,3,0,0,224,224,0,1,241,240,0,1,241, + 240,0,1,241,240,0,0,224,224,0,0,0,0,0,0,0, + 0,0,0,0,0,0,255,240,127,192,31,128,31,0,31,128, + 14,0,31,128,6,0,31,128,6,0,31,128,6,0,31,128, + 6,0,31,128,6,0,31,128,6,0,31,128,6,0,31,128, + 6,0,31,128,6,0,31,128,6,0,31,128,6,0,31,128, + 6,0,31,128,6,0,31,128,6,0,31,128,6,0,31,128, + 6,0,31,128,6,0,31,128,6,0,31,128,6,0,15,128, + 12,0,15,192,12,0,7,192,24,0,7,224,56,0,1,252, + 240,0,0,255,192,0,25,37,148,28,2,0,0,0,224,0, + 0,0,224,0,0,1,224,0,0,3,192,0,0,3,128,0, + 0,6,0,0,0,12,0,0,0,0,0,0,0,0,0,0, + 255,240,255,128,31,192,60,0,31,192,24,0,15,192,24,0, + 15,224,24,0,7,224,16,0,7,224,48,0,3,240,32,0, + 3,240,32,0,1,248,96,0,1,248,64,0,1,252,64,0, + 0,252,192,0,0,254,128,0,0,127,128,0,0,127,128,0, + 0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0, + 0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0, + 0,63,0,0,0,63,0,0,0,63,0,0,1,255,224,0, + 23,28,84,27,2,0,255,248,0,31,128,0,31,128,0,31, + 128,0,31,128,0,31,255,128,31,129,224,31,128,248,31,128, + 252,31,128,124,31,128,126,31,128,126,31,128,126,31,128,126, + 31,128,126,31,128,124,31,128,252,31,128,248,31,129,224,31, + 255,128,31,128,0,31,128,0,31,128,0,31,128,0,31,128, + 0,31,128,0,31,128,0,255,248,0,19,28,84,22,1,0, + 0,248,0,3,156,0,7,142,0,15,15,0,15,15,0,15, + 15,0,31,15,0,31,15,0,31,14,0,31,28,0,31,112, + 0,31,12,0,31,7,0,31,7,128,31,3,192,31,3,192, + 31,3,192,31,3,224,31,3,224,31,3,224,31,3,224,31, + 3,224,31,115,224,31,243,192,31,243,192,31,227,128,31,103, + 0,255,62,0,17,28,84,20,2,0,56,0,0,60,0,0, + 60,0,0,30,0,0,14,0,0,3,0,0,1,0,0,0, + 0,0,0,0,0,15,192,0,24,240,0,48,120,0,112,120, + 0,124,124,0,124,124,0,56,124,0,1,252,0,14,124,0, + 28,124,0,56,124,0,120,124,0,248,124,0,248,124,128,248, + 124,128,248,124,128,252,253,128,127,191,0,62,30,0,17,28, + 84,20,2,0,0,48,0,0,112,0,0,240,0,0,224,0, + 1,192,0,1,128,0,3,0,0,0,0,0,0,0,0,15, + 192,0,24,240,0,48,120,0,112,120,0,124,124,0,124,124, + 0,124,124,0,0,252,0,7,124,0,28,124,0,56,124,0, + 120,124,0,248,124,0,248,124,128,248,124,128,248,124,128,252, + 253,128,127,191,0,62,30,0,17,28,84,20,2,0,3,0, + 0,3,128,0,7,128,0,7,192,0,12,224,0,24,112,0, + 48,24,0,0,0,0,0,0,0,15,192,0,24,240,0,48, + 120,0,112,120,0,124,124,0,124,124,0,124,124,0,0,252, + 0,7,124,0,28,124,0,56,124,0,120,124,0,248,124,0, + 248,124,128,248,124,128,248,124,128,252,253,128,127,191,0,62, + 30,0,17,27,81,20,2,0,14,8,0,31,152,0,63,240, + 0,35,240,0,32,224,0,0,0,0,0,0,0,0,0,0, + 15,192,0,24,240,0,48,120,0,112,120,0,124,124,0,124, + 124,0,124,124,0,0,252,0,7,124,0,28,124,0,56,124, + 0,120,124,0,248,124,0,248,124,128,248,124,128,248,124,128, + 252,253,128,127,191,0,62,30,0,17,27,81,20,2,0,56, + 112,0,124,248,0,124,248,0,124,248,0,56,112,0,0,0, + 0,0,0,0,0,0,0,15,192,0,24,240,0,48,120,0, + 112,120,0,124,124,0,124,124,0,124,124,0,0,252,0,7, + 124,0,28,124,0,56,124,0,120,124,0,248,124,0,248,124, + 128,248,124,128,248,124,128,252,253,128,127,191,0,62,30,0, + 17,28,84,20,2,1,15,192,0,12,192,0,24,96,0,24, + 96,0,24,96,0,28,224,0,15,192,0,7,128,0,0,0, + 0,15,192,0,16,240,0,48,120,0,112,120,0,120,124,0, + 124,124,0,124,124,0,0,252,0,7,124,0,28,124,0,56, + 124,0,120,124,0,248,124,0,248,124,128,248,124,128,248,124, + 128,252,253,128,127,255,0,62,62,0,23,19,57,27,2,0, + 15,195,224,24,238,112,48,124,56,112,124,60,120,124,60,124, + 124,62,124,124,62,24,124,62,3,252,62,14,127,254,60,124, + 0,120,124,0,248,124,2,248,124,2,248,124,2,248,124,4, + 252,222,4,127,143,8,63,3,240,14,27,54,18,2,248,7, + 224,14,48,60,24,60,28,120,60,120,124,248,124,248,120,248, + 48,248,0,248,0,248,0,248,0,120,4,120,4,56,4,60, + 8,30,16,7,224,2,0,2,0,3,128,0,192,0,224,0, + 224,0,224,7,128,14,28,56,18,2,0,56,0,56,0,60, + 0,30,0,14,0,7,0,1,0,0,0,0,0,7,192,28, + 224,56,112,56,120,120,120,120,124,248,124,248,124,248,124,255, + 252,248,0,248,0,248,4,120,4,120,4,56,8,60,24,30, + 48,7,192,14,28,56,18,2,0,0,112,0,112,0,240,1, + 224,1,192,3,128,2,0,0,0,0,0,7,192,28,224,56, + 112,56,120,120,120,120,124,248,124,248,124,255,252,248,0,248, + 0,248,0,248,4,120,4,120,12,56,8,60,24,30,48,7, + 192,14,28,56,18,2,0,3,0,7,128,7,128,15,192,12, + 192,24,96,48,56,0,0,0,0,7,192,28,224,56,112,56, + 120,120,120,120,124,248,124,248,124,248,124,255,252,248,0,248, + 0,248,0,120,4,120,4,56,8,60,8,30,16,7,224,14, + 27,54,18,2,0,56,112,124,248,124,248,124,248,56,112,0, + 0,0,0,0,0,7,192,28,224,56,112,56,120,120,120,120, + 124,248,124,248,124,248,124,255,252,248,0,248,0,248,0,120, + 4,120,12,56,8,60,24,30,48,7,192,10,28,56,12,1, + 0,224,0,240,0,248,0,120,0,28,0,14,0,2,0,0, + 0,0,0,127,0,31,0,31,0,31,0,31,0,31,0,31, + 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, + 0,31,0,31,0,31,0,127,192,9,28,56,12,2,0,1, + 128,3,128,7,128,15,0,14,0,28,0,16,0,0,0,0, + 0,254,0,62,0,62,0,62,0,62,0,62,0,62,0,62, + 0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62, + 0,62,0,62,0,255,128,11,28,56,11,1,0,14,0,30, + 0,31,0,63,0,115,128,224,192,128,96,0,0,0,0,127, + 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, + 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, + 0,31,0,127,192,11,27,54,12,1,0,113,192,251,224,251, + 224,251,224,113,192,0,0,0,0,0,0,127,0,31,0,31, + 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, + 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,127, + 192,16,28,56,20,2,0,31,8,15,184,7,224,7,224,7, + 224,13,240,16,248,0,248,0,124,7,252,30,126,60,62,56, + 62,120,30,120,31,248,31,248,31,248,31,248,31,248,31,248, + 31,248,30,120,30,120,30,56,60,60,60,12,112,7,224,19, + 27,81,22,2,0,0,2,0,7,194,0,15,254,0,15,252, + 0,8,120,0,0,0,0,0,0,0,0,0,0,254,60,0, + 62,222,0,63,15,0,63,15,128,63,15,128,62,15,128,62, + 15,128,62,15,128,62,15,128,62,15,128,62,15,128,62,15, + 128,62,15,128,62,15,128,62,15,128,62,15,128,62,15,128, + 62,15,128,255,191,224,16,28,56,20,2,0,24,0,28,0, + 30,0,15,0,7,0,3,128,0,192,0,0,0,0,7,192, + 12,112,28,56,56,60,120,30,120,30,248,30,248,31,248,31, + 248,31,248,31,248,31,248,30,120,30,120,30,56,60,28,56, + 12,112,7,192,16,28,56,20,2,0,0,56,0,56,0,120, + 0,240,0,224,1,192,3,0,0,0,0,0,7,192,12,112, + 28,56,56,60,120,30,120,30,248,30,248,31,248,31,248,31, + 248,31,248,31,248,30,120,30,120,30,56,60,28,56,12,112, + 7,192,16,28,56,20,2,0,3,128,3,192,3,192,7,224, + 14,112,28,56,48,12,0,0,0,0,7,192,12,112,28,56, + 56,60,120,30,120,30,248,30,248,31,248,31,248,31,248,31, + 248,31,248,30,120,30,120,30,56,60,28,56,12,112,7,192, + 16,27,54,20,2,0,14,4,31,140,31,248,35,248,32,112, + 0,0,0,0,0,0,7,192,12,112,28,56,56,60,120,30, + 120,30,248,30,248,31,248,31,248,31,248,31,248,31,248,30, + 120,30,120,30,56,60,28,56,12,112,7,192,16,27,54,20, + 2,0,28,56,62,124,62,124,62,124,28,56,0,0,0,0, + 0,0,7,192,12,112,28,56,56,60,120,30,120,30,248,30, + 248,31,248,31,248,31,248,31,248,31,248,30,120,30,120,30, + 56,60,28,56,12,112,7,192,33,26,130,37,2,253,0,3, + 192,0,0,0,7,224,0,0,0,7,224,0,0,0,7,224, + 0,0,0,7,224,0,0,0,3,192,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,255,255,255,255,128,255,255,255,255,128,255, + 255,255,255,128,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,3,192,0,0,0,7,224,0,0,0,7,224,0, + 0,0,7,224,0,0,0,7,224,0,0,0,3,192,0,0, + 16,19,38,20,2,0,7,225,12,114,28,60,56,60,120,62, + 120,62,248,126,248,95,248,223,249,159,251,31,254,31,252,30, + 124,30,120,30,60,28,124,56,78,48,135,192,19,28,84,21, + 1,0,12,0,0,30,0,0,15,0,0,7,0,0,3,128, + 0,1,192,0,0,64,0,0,0,0,0,0,0,254,63,128, + 62,15,128,62,15,128,62,15,128,62,15,128,62,15,128,62, + 15,128,62,15,128,62,15,128,62,15,128,62,15,128,62,15, + 128,62,15,128,62,15,128,62,31,128,62,31,128,30,47,128, + 31,79,128,7,143,224,19,28,84,21,1,0,0,28,0,0, + 60,0,0,60,0,0,120,0,0,224,0,0,192,0,1,128, + 0,0,0,0,0,0,0,254,63,128,62,15,128,62,15,128, + 62,15,128,62,15,128,62,15,128,62,15,128,62,15,128,62, + 15,128,62,15,128,62,15,128,62,15,128,62,15,128,62,15, + 128,62,31,128,62,31,128,30,47,128,30,79,128,7,143,224, + 19,28,84,21,1,0,1,192,0,1,224,0,3,224,0,3, + 240,0,7,56,0,12,28,0,24,4,0,0,0,0,0,0, + 0,254,63,128,62,15,128,62,15,128,62,15,128,62,15,128, + 62,15,128,62,15,128,62,15,128,62,15,128,62,15,128,62, + 15,128,62,15,128,62,15,128,62,15,128,62,31,128,62,31, + 128,30,47,128,30,79,128,7,143,224,19,27,81,21,1,0, + 28,28,0,62,62,0,62,62,0,62,62,0,28,28,0,0, + 0,0,0,0,0,0,0,0,254,63,128,62,15,128,62,15, + 128,62,15,128,62,15,128,62,15,128,62,15,128,62,15,128, + 62,15,128,62,15,128,62,15,128,62,15,128,62,15,128,62, + 15,128,62,31,128,62,31,128,30,47,128,30,79,128,7,143, + 224,18,37,111,19,0,247,0,14,0,0,30,0,0,30,0, + 0,60,0,0,48,0,0,96,0,0,192,0,0,0,0,0, + 0,0,255,207,192,63,3,0,31,3,0,31,2,0,15,2, + 0,15,130,0,15,132,0,7,196,0,7,196,0,3,196,0, + 3,232,0,3,232,0,1,248,0,1,240,0,0,240,0,0, + 240,0,0,96,0,0,96,0,0,96,0,0,32,0,0,64, + 0,12,64,0,30,64,0,62,128,0,62,128,0,60,128,0, + 29,0,0,14,0,0,18,36,108,20,0,247,3,0,0,15, + 0,0,63,0,0,223,0,0,31,0,0,31,0,0,31,0, + 0,31,0,0,31,31,0,31,63,128,31,71,128,31,135,192, + 31,135,192,31,7,192,31,7,192,31,7,192,31,7,128,31, + 7,128,31,15,0,31,15,0,31,14,0,31,12,0,31,24, + 0,31,48,0,31,96,0,31,128,0,31,0,0,31,0,0, + 31,0,0,31,0,0,31,0,0,31,0,0,31,0,0,30, + 0,0,56,0,0,224,0,0,19,36,108,20,0,247,7,14, + 0,15,159,0,15,159,0,15,159,0,7,14,0,0,0,0, + 0,0,0,0,0,0,255,207,224,63,3,0,31,3,0,31, + 2,0,15,2,0,15,130,0,15,132,0,7,196,0,7,196, + 0,3,196,0,3,232,0,3,232,0,1,248,0,1,240,0, + 0,240,0,0,240,0,0,240,0,0,96,0,0,96,0,0, + 32,0,0,64,0,12,64,0,30,64,0,62,64,0,62,128, + 0,60,128,0,29,0,0,14,0,0}; +/* + Fontname: -FreeType-Old Standard TT-Bold-R-Normal--38-380-72-72-P-206-ISO10646-1 + Copyright: Copyright (C) 2006-2008 Alexey Kryukov + Capital A Height: 0, '1' Height: 28 + Calculated Max Values w=33 h=37 x= 5 y=12 dx=37 dy= 0 ascent=29 len=165 + Font Bounding box w=107 h=49 x=-33 y=-11 + Calculated Min Values x= 0 y=-8 dx= 0 dy= 0 + Pure Font ascent =28 descent= 0 + X Font ascent =28 descent= 0 + Max Font ascent =29 descent=-8 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_osb29n[1257] U8G_FONT_SECTION("u8g_font_osb29n") = { + 0,107,49,223,245,28,0,0,0,0,42,58,0,29,248,28, + 0,14,16,32,19,3,12,3,0,7,128,7,128,199,24,227, + 60,242,124,122,248,7,128,7,128,250,248,242,124,227,60,199, + 24,7,128,7,128,3,0,33,33,165,37,2,251,0,1,192, + 0,0,0,1,192,0,0,0,1,192,0,0,0,1,192,0, + 0,0,1,192,0,0,0,1,192,0,0,0,1,192,0,0, + 0,1,192,0,0,0,1,192,0,0,0,1,192,0,0,0, + 1,192,0,0,0,1,192,0,0,0,1,192,0,0,0,1, + 192,0,0,0,1,192,0,0,255,255,255,255,128,255,255,255, + 255,128,255,255,255,255,128,0,1,192,0,0,0,1,192,0, + 0,0,1,192,0,0,0,1,192,0,0,0,1,192,0,0, + 0,1,192,0,0,0,1,192,0,0,0,1,192,0,0,0, + 1,192,0,0,0,1,192,0,0,0,1,192,0,0,0,1, + 192,0,0,0,1,192,0,0,0,1,192,0,0,0,1,192, + 0,0,7,13,13,10,2,249,120,252,252,254,254,126,6,4, + 4,8,24,96,192,10,4,8,14,2,8,255,192,255,192,255, + 192,255,192,6,6,6,10,2,0,120,252,252,252,252,120,13, + 37,74,17,2,248,0,24,0,56,0,56,0,48,0,112,0, + 112,0,96,0,96,0,224,0,224,0,192,1,192,1,192,1, + 128,3,128,3,128,3,128,3,0,7,0,7,0,6,0,14, + 0,14,0,12,0,12,0,28,0,28,0,24,0,56,0,56, + 0,48,0,112,0,112,0,112,0,96,0,224,0,224,0,18, + 28,84,22,2,1,3,240,0,14,28,0,14,28,0,28,14, + 0,60,15,0,60,15,0,124,15,128,124,15,128,124,15,128, + 252,15,192,252,15,192,252,15,192,252,15,192,252,15,192,252, + 15,192,252,15,192,252,15,192,252,15,192,252,15,192,124,15, + 128,124,15,128,124,15,128,60,15,0,60,15,0,28,14,0, + 12,28,0,14,28,0,3,240,0,13,28,56,22,5,0,3, + 128,7,128,15,128,255,128,31,128,31,128,31,128,31,128,31, + 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, + 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, + 128,31,128,31,128,255,248,17,28,84,22,2,1,15,248,0, + 24,62,0,48,63,0,112,31,0,240,31,128,240,31,128,252, + 31,128,252,31,128,254,31,128,126,63,0,60,63,0,0,126, + 0,0,252,0,0,248,0,1,224,0,3,128,0,6,0,0, + 12,0,128,24,0,128,16,0,128,32,0,128,47,1,128,127, + 255,128,127,255,128,71,255,0,67,255,0,65,254,0,64,252, + 0,17,28,84,22,2,1,15,248,0,24,62,0,48,63,0, + 48,31,0,112,31,128,120,31,128,124,31,128,124,31,128,124, + 31,128,60,31,0,0,31,0,0,62,0,0,120,0,15,192, + 0,0,120,0,0,62,0,0,63,0,0,31,0,16,31,128, + 124,31,128,252,31,128,252,31,128,252,31,128,248,31,128,240, + 63,0,112,62,0,56,124,0,31,248,0,18,28,84,22,2, + 0,0,124,0,0,124,0,0,252,0,0,252,0,1,252,0, + 1,252,0,3,252,0,3,252,0,6,252,0,6,252,0,12, + 252,0,12,252,0,24,252,0,24,252,0,48,252,0,48,252, + 0,96,252,0,96,252,0,192,252,0,255,255,192,0,252,0, + 0,252,0,0,252,0,0,252,0,0,252,0,0,252,0,0, + 252,0,15,255,192,17,29,87,22,3,0,0,6,0,112,28, + 0,127,252,0,127,248,0,127,224,0,127,192,0,126,0,0, + 96,0,0,96,0,0,96,0,0,96,0,0,103,224,0,120, + 120,0,112,62,0,96,62,0,96,31,0,0,31,0,0,31, + 128,0,31,128,56,31,128,124,31,128,252,31,128,252,31,128, + 248,31,0,240,31,0,224,30,0,96,62,0,48,124,0,31, + 240,0,18,29,87,22,3,0,0,32,0,3,220,0,7,6, + 0,14,6,0,30,15,0,60,31,0,60,63,0,124,63,0, + 124,62,0,124,28,0,252,0,0,252,0,0,252,0,0,253, + 248,0,255,30,0,254,31,0,252,15,128,252,15,128,252,15, + 192,252,15,192,252,15,192,124,15,192,124,15,192,124,15,192, + 60,15,128,28,15,128,30,15,0,14,30,0,3,252,0,17, + 28,84,22,3,0,103,135,0,111,199,0,127,227,128,127,241, + 128,127,249,128,127,255,128,96,125,128,64,1,0,64,3,0, + 64,3,0,192,6,0,0,4,0,0,12,0,0,24,0,0, + 56,0,0,112,0,0,112,0,0,240,0,1,240,0,3,224, + 0,3,224,0,3,224,0,7,224,0,7,224,0,7,224,0, + 7,224,0,7,224,0,3,192,0,19,29,87,22,2,0,0, + 64,0,7,184,0,28,6,0,56,3,0,112,1,0,112,1, + 128,240,1,128,240,1,128,248,1,128,252,3,0,255,2,0, + 127,196,0,127,248,0,63,252,0,31,255,0,15,255,128,27, + 255,128,48,255,192,96,63,192,96,15,192,224,3,224,224,1, + 192,224,1,192,224,1,192,224,1,192,112,1,128,56,1,0, + 28,6,0,15,252,0,18,28,84,22,3,1,15,240,0,30, + 28,0,60,30,0,124,14,0,124,15,0,252,15,128,252,15, + 128,252,15,128,252,15,128,252,15,192,252,15,192,124,15,192, + 124,15,192,62,31,192,30,63,192,7,239,192,0,15,192,0, + 15,192,0,15,192,30,15,128,31,15,128,63,15,128,63,15, + 0,62,15,0,56,30,0,24,28,0,24,56,0,15,240,0, + 6,19,19,10,2,0,120,252,252,252,252,120,0,0,0,0, + 0,0,0,120,252,252,252,252,120}; +/* + Fontname: -FreeType-Old Standard TT-Bold-R-Normal--38-380-72-72-P-206-ISO10646-1 + Copyright: Copyright (C) 2006-2008 Alexey Kryukov + Capital A Height: 29, '1' Height: 28 + Calculated Max Values w=38 h=37 x= 5 y=21 dx=41 dy= 0 ascent=31 len=165 + Font Bounding box w=107 h=49 x=-33 y=-11 + Calculated Min Values x=-2 y=-9 dx= 0 dy= 0 + Pure Font ascent =29 descent=-9 + X Font ascent =29 descent=-9 + Max Font ascent =31 descent=-9 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_osb29r[7481] U8G_FONT_SECTION("u8g_font_osb29r") = { + 0,107,49,223,245,29,9,166,21,115,32,127,247,31,247,29, + 247,0,0,0,11,0,0,6,28,28,10,2,1,120,252,252, + 252,252,252,252,120,120,120,120,120,48,48,48,48,48,48,48, + 48,0,0,120,252,252,252,252,120,10,9,18,16,3,20,243, + 192,243,192,243,192,243,192,243,192,243,192,97,128,97,128,97, + 128,22,28,84,28,3,0,1,192,224,1,192,224,1,192,224, + 1,192,224,1,128,192,1,128,192,1,128,192,3,129,252,255, + 255,252,255,255,252,3,129,128,3,1,128,3,1,128,7,3, + 128,7,3,128,7,3,128,7,3,128,6,3,0,255,255,252, + 255,255,252,255,255,252,14,7,0,14,7,0,14,6,0,12, + 6,0,12,6,0,28,14,0,28,14,0,18,34,102,22,2, + 253,1,16,0,1,16,0,1,16,0,7,252,0,29,19,0, + 57,17,128,49,16,192,113,16,192,113,17,192,113,19,192,121, + 23,192,127,23,128,127,19,0,63,144,0,63,240,0,31,240, + 0,15,252,0,7,254,0,1,255,0,1,255,128,1,63,128, + 121,31,192,249,23,192,249,19,192,249,17,192,225,17,192,193, + 17,192,97,17,128,97,19,0,57,22,0,15,60,0,1,208, + 0,1,16,0,1,16,0,26,29,116,32,3,0,4,0,12, + 0,27,0,8,0,49,128,24,0,113,192,16,0,113,192,48, + 0,241,224,96,0,241,224,96,0,241,224,192,0,241,224,128, + 0,241,225,128,0,241,225,0,0,113,195,0,0,113,194,0, + 0,59,134,0,0,30,12,0,0,0,12,28,0,0,24,119, + 0,0,16,227,128,0,48,227,128,0,33,227,192,0,97,227, + 192,0,65,227,192,0,193,227,192,1,129,227,192,1,129,227, + 192,3,1,227,128,2,0,227,128,6,0,99,0,4,0,62, + 0,27,28,112,31,2,1,0,254,0,0,1,195,0,0,3, + 129,0,0,7,129,128,0,7,129,128,0,7,129,128,0,7, + 131,128,0,7,195,0,0,7,198,0,0,3,236,0,0,3, + 248,0,0,1,240,0,0,0,248,0,0,1,252,31,224,7, + 124,3,128,14,62,3,0,28,63,3,0,56,31,134,0,120, + 15,134,0,120,7,196,0,248,7,232,0,248,3,248,0,248, + 1,240,0,252,1,248,0,254,0,248,32,127,1,252,64,63, + 254,127,192,31,248,31,128,4,9,9,10,3,20,240,240,240, + 240,240,240,96,96,96,11,35,70,13,2,249,0,96,0,192, + 1,128,3,0,6,0,12,0,28,0,24,0,56,0,56,0, + 120,0,120,0,120,0,248,0,248,0,248,0,248,0,248,0, + 248,0,248,0,248,0,248,0,120,0,120,0,120,0,120,0, + 56,0,56,0,28,0,12,0,14,0,7,0,3,0,1,128, + 0,96,11,36,72,14,1,249,192,0,96,0,48,0,24,0, + 12,0,14,0,7,0,7,0,3,128,3,128,3,192,3,192, + 3,192,3,192,3,224,3,224,3,224,3,224,3,224,3,224, + 3,224,3,224,3,192,3,192,3,192,3,128,3,128,7,0, + 7,0,6,0,12,0,28,0,56,0,112,0,192,0,128,0, + 14,16,32,19,3,12,3,0,7,128,7,128,199,24,227,60, + 242,124,122,248,7,128,7,128,250,248,242,124,227,60,199,24, + 7,128,7,128,3,0,33,33,165,37,2,251,0,1,192,0, + 0,0,1,192,0,0,0,1,192,0,0,0,1,192,0,0, + 0,1,192,0,0,0,1,192,0,0,0,1,192,0,0,0, + 1,192,0,0,0,1,192,0,0,0,1,192,0,0,0,1, + 192,0,0,0,1,192,0,0,0,1,192,0,0,0,1,192, + 0,0,0,1,192,0,0,255,255,255,255,128,255,255,255,255, + 128,255,255,255,255,128,0,1,192,0,0,0,1,192,0,0, + 0,1,192,0,0,0,1,192,0,0,0,1,192,0,0,0, + 1,192,0,0,0,1,192,0,0,0,1,192,0,0,0,1, + 192,0,0,0,1,192,0,0,0,1,192,0,0,0,1,192, + 0,0,0,1,192,0,0,0,1,192,0,0,0,1,192,0, + 0,7,13,13,10,2,249,120,252,252,254,254,126,6,4,4, + 8,24,96,192,10,4,8,14,2,8,255,192,255,192,255,192, + 255,192,6,6,6,10,2,0,120,252,252,252,252,120,13,37, + 74,17,2,248,0,24,0,56,0,56,0,48,0,112,0,112, + 0,96,0,96,0,224,0,224,0,192,1,192,1,192,1,128, + 3,128,3,128,3,128,3,0,7,0,7,0,6,0,14,0, + 14,0,12,0,12,0,28,0,28,0,24,0,56,0,56,0, + 48,0,112,0,112,0,112,0,96,0,224,0,224,0,18,28, + 84,22,2,1,3,240,0,14,28,0,14,28,0,28,14,0, + 60,15,0,60,15,0,124,15,128,124,15,128,124,15,128,252, + 15,192,252,15,192,252,15,192,252,15,192,252,15,192,252,15, + 192,252,15,192,252,15,192,252,15,192,252,15,192,124,15,128, + 124,15,128,124,15,128,60,15,0,60,15,0,28,14,0,12, + 28,0,14,28,0,3,240,0,13,28,56,22,5,0,3,128, + 7,128,15,128,255,128,31,128,31,128,31,128,31,128,31,128, + 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, + 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, + 31,128,31,128,255,248,17,28,84,22,2,1,15,248,0,24, + 62,0,48,63,0,112,31,0,240,31,128,240,31,128,252,31, + 128,252,31,128,254,31,128,126,63,0,60,63,0,0,126,0, + 0,252,0,0,248,0,1,224,0,3,128,0,6,0,0,12, + 0,128,24,0,128,16,0,128,32,0,128,47,1,128,127,255, + 128,127,255,128,71,255,0,67,255,0,65,254,0,64,252,0, + 17,28,84,22,2,1,15,248,0,24,62,0,48,63,0,48, + 31,0,112,31,128,120,31,128,124,31,128,124,31,128,124,31, + 128,60,31,0,0,31,0,0,62,0,0,120,0,15,192,0, + 0,120,0,0,62,0,0,63,0,0,31,0,16,31,128,124, + 31,128,252,31,128,252,31,128,252,31,128,248,31,128,240,63, + 0,112,62,0,56,124,0,31,248,0,18,28,84,22,2,0, + 0,124,0,0,124,0,0,252,0,0,252,0,1,252,0,1, + 252,0,3,252,0,3,252,0,6,252,0,6,252,0,12,252, + 0,12,252,0,24,252,0,24,252,0,48,252,0,48,252,0, + 96,252,0,96,252,0,192,252,0,255,255,192,0,252,0,0, + 252,0,0,252,0,0,252,0,0,252,0,0,252,0,0,252, + 0,15,255,192,17,29,87,22,3,0,0,6,0,112,28,0, + 127,252,0,127,248,0,127,224,0,127,192,0,126,0,0,96, + 0,0,96,0,0,96,0,0,96,0,0,103,224,0,120,120, + 0,112,62,0,96,62,0,96,31,0,0,31,0,0,31,128, + 0,31,128,56,31,128,124,31,128,252,31,128,252,31,128,248, + 31,0,240,31,0,224,30,0,96,62,0,48,124,0,31,240, + 0,18,29,87,22,3,0,0,32,0,3,220,0,7,6,0, + 14,6,0,30,15,0,60,31,0,60,63,0,124,63,0,124, + 62,0,124,28,0,252,0,0,252,0,0,252,0,0,253,248, + 0,255,30,0,254,31,0,252,15,128,252,15,128,252,15,192, + 252,15,192,252,15,192,124,15,192,124,15,192,124,15,192,60, + 15,128,28,15,128,30,15,0,14,30,0,3,252,0,17,28, + 84,22,3,0,103,135,0,111,199,0,127,227,128,127,241,128, + 127,249,128,127,255,128,96,125,128,64,1,0,64,3,0,64, + 3,0,192,6,0,0,4,0,0,12,0,0,24,0,0,56, + 0,0,112,0,0,112,0,0,240,0,1,240,0,3,224,0, + 3,224,0,3,224,0,7,224,0,7,224,0,7,224,0,7, + 224,0,7,224,0,3,192,0,19,29,87,22,2,0,0,64, + 0,7,184,0,28,6,0,56,3,0,112,1,0,112,1,128, + 240,1,128,240,1,128,248,1,128,252,3,0,255,2,0,127, + 196,0,127,248,0,63,252,0,31,255,0,15,255,128,27,255, + 128,48,255,192,96,63,192,96,15,192,224,3,224,224,1,192, + 224,1,192,224,1,192,224,1,192,112,1,128,56,1,0,28, + 6,0,15,252,0,18,28,84,22,3,1,15,240,0,30,28, + 0,60,30,0,124,14,0,124,15,0,252,15,128,252,15,128, + 252,15,128,252,15,128,252,15,192,252,15,192,124,15,192,124, + 15,192,62,31,192,30,63,192,7,239,192,0,15,192,0,15, + 192,0,15,192,30,15,128,31,15,128,63,15,128,63,15,0, + 62,15,0,56,30,0,24,28,0,24,56,0,15,240,0,6, + 19,19,10,2,0,120,252,252,252,252,120,0,0,0,0,0, + 0,0,120,252,252,252,252,120,7,26,26,10,2,249,120,252, + 252,252,252,120,0,0,0,0,0,0,0,120,252,252,254,254, + 126,6,4,4,8,16,96,192,29,33,132,36,3,250,0,0, + 0,24,0,0,0,120,0,0,1,240,0,0,7,192,0,0, + 31,128,0,0,62,0,0,0,248,0,0,3,224,0,0,15, + 192,0,0,31,0,0,0,124,0,0,1,240,0,0,7,192, + 0,0,15,128,0,0,62,0,0,0,248,0,0,0,240,0, + 0,0,124,0,0,0,62,0,0,0,15,128,0,0,3,224, + 0,0,0,248,0,0,0,124,0,0,0,31,0,0,0,7, + 192,0,0,1,240,0,0,0,252,0,0,0,62,0,0,0, + 15,128,0,0,3,224,0,0,1,248,0,0,0,120,0,0, + 0,16,32,11,44,36,2,5,255,255,255,255,255,255,255,255, + 255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255, + 255,255,255,255,29,33,132,36,4,250,192,0,0,0,240,0, + 0,0,124,0,0,0,31,0,0,0,15,192,0,0,3,224, + 0,0,0,248,0,0,0,62,0,0,0,31,128,0,0,7, + 192,0,0,1,240,0,0,0,124,0,0,0,31,0,0,0, + 15,128,0,0,3,224,0,0,0,248,0,0,0,120,0,0, + 1,240,0,0,3,224,0,0,15,128,0,0,62,0,0,0, + 248,0,0,1,240,0,0,7,192,0,0,31,0,0,0,124, + 0,0,1,248,0,0,3,224,0,0,15,128,0,0,62,0, + 0,0,252,0,0,0,240,0,0,0,64,0,0,0,12,28, + 56,18,3,1,63,128,119,224,65,224,129,240,129,240,129,240, + 129,240,129,224,193,224,67,192,3,128,7,0,6,0,12,0, + 8,0,24,0,16,64,16,64,16,64,24,128,15,0,0,0, + 7,128,15,192,15,192,15,192,15,192,7,128,28,29,116,32, + 2,0,0,2,0,0,0,125,240,0,1,192,28,0,3,0, + 6,0,6,0,3,0,12,0,1,128,24,15,61,192,56,28, + 188,192,48,56,248,224,112,112,120,224,112,240,120,96,225,224, + 120,112,225,224,248,112,225,224,240,112,227,224,240,112,227,192, + 240,112,227,192,240,112,227,193,224,96,227,193,224,224,99,193, + 224,192,99,195,224,192,115,194,225,128,49,228,227,0,56,120, + 124,0,28,0,0,0,12,0,0,0,7,0,0,0,3,128, + 24,0,0,255,224,0,26,29,116,29,2,0,0,4,0,0, + 0,6,0,0,0,14,0,0,0,14,0,0,0,15,0,0, + 0,31,0,0,0,31,0,0,0,31,128,0,0,63,128,0, + 0,47,128,0,0,47,192,0,0,111,192,0,0,79,192,0, + 0,71,192,0,0,199,224,0,0,135,224,0,0,131,224,0, + 1,131,240,0,1,3,240,0,3,1,240,0,3,255,248,0, + 2,1,248,0,6,0,248,0,6,0,252,0,4,0,252,0, + 12,0,252,0,12,0,124,0,30,0,254,0,255,199,255,192, + 22,28,84,27,3,0,255,255,0,31,131,192,31,131,224,31, + 129,240,31,129,248,31,129,248,31,129,248,31,129,248,31,129, + 248,31,129,240,31,129,240,31,131,192,31,131,128,31,252,0, + 31,131,128,31,129,224,31,128,240,31,128,248,31,128,252,31, + 128,252,31,128,252,31,128,252,31,128,252,31,128,248,31,128, + 248,31,129,240,31,131,224,255,255,128,21,28,84,26,3,1, + 1,254,48,7,3,48,14,1,240,30,0,240,60,0,240,60, + 0,112,124,0,112,124,0,48,124,0,48,252,0,48,252,0, + 48,252,0,16,252,0,0,252,0,0,252,0,0,252,0,0, + 252,0,0,252,0,24,252,0,24,124,0,16,124,0,16,124, + 0,16,60,0,48,60,0,32,30,0,96,14,0,192,7,1, + 128,1,254,0,25,28,112,30,3,0,255,255,128,0,31,128, + 224,0,31,128,112,0,31,128,56,0,31,128,60,0,31,128, + 30,0,31,128,30,0,31,128,31,0,31,128,31,0,31,128, + 31,0,31,128,31,128,31,128,31,128,31,128,31,128,31,128, + 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, + 31,128,31,128,31,0,31,128,31,0,31,128,31,0,31,128, + 30,0,31,128,30,0,31,128,60,0,31,128,56,0,31,128, + 112,0,31,128,224,0,255,255,128,0,22,28,84,26,2,0, + 255,255,252,15,192,124,15,192,60,15,192,28,15,192,28,15, + 192,12,15,192,12,15,192,12,15,193,4,15,193,0,15,195, + 0,15,195,0,15,199,0,15,255,0,15,199,0,15,195,0, + 15,195,0,15,193,4,15,193,4,15,193,4,15,192,12,15, + 192,12,15,192,12,15,192,28,15,192,28,15,192,60,15,192, + 252,255,255,252,22,28,84,25,2,0,255,255,252,31,128,252, + 31,128,124,31,128,60,31,128,28,31,128,28,31,128,28,31, + 128,12,31,129,12,31,129,12,31,131,12,31,131,0,31,135, + 0,31,255,0,31,143,0,31,135,0,31,131,0,31,129,0, + 31,129,0,31,129,0,31,128,0,31,128,0,31,128,0,31, + 128,0,31,128,0,31,128,0,31,128,0,255,252,0,24,29, + 87,28,3,0,0,16,0,1,239,24,3,3,152,14,0,248, + 30,0,248,28,0,120,60,0,56,60,0,56,124,0,24,124, + 0,24,124,0,24,252,0,8,252,0,0,252,0,0,252,0, + 0,252,31,255,252,1,248,252,1,248,252,1,248,252,1,248, + 124,1,248,124,1,248,124,1,248,60,1,248,60,1,248,30, + 3,152,14,3,24,7,6,24,1,220,24,27,28,112,31,2, + 0,255,251,255,224,31,128,63,0,31,128,63,0,31,128,63, + 0,31,128,63,0,31,128,63,0,31,128,63,0,31,128,63, + 0,31,128,63,0,31,128,63,0,31,128,63,0,31,128,63, + 0,31,128,63,0,31,255,255,0,31,128,63,0,31,128,63, + 0,31,128,63,0,31,128,63,0,31,128,63,0,31,128,63, + 0,31,128,63,0,31,128,63,0,31,128,63,0,31,128,63, + 0,31,128,63,0,31,128,63,0,31,128,63,0,255,251,255, + 224,13,28,56,17,2,0,255,248,31,128,31,128,31,128,31, + 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, + 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, + 128,31,128,31,128,31,128,31,128,31,128,31,128,255,248,18, + 28,84,20,1,0,7,255,192,0,126,0,0,126,0,0,126, + 0,0,126,0,0,126,0,0,126,0,0,126,0,0,126,0, + 0,126,0,0,126,0,0,126,0,0,126,0,0,126,0,0, + 126,0,0,126,0,0,126,0,16,126,0,124,126,0,252,126, + 0,252,126,0,252,126,0,248,126,0,240,124,0,224,124,0, + 96,120,0,32,240,0,31,224,0,26,28,112,29,2,0,255, + 241,255,0,31,128,120,0,31,128,112,0,31,128,96,0,31, + 128,64,0,31,128,192,0,31,129,128,0,31,131,0,0,31, + 134,0,0,31,134,0,0,31,142,0,0,31,159,0,0,31, + 191,0,0,31,255,128,0,31,223,128,0,31,159,192,0,31, + 143,192,0,31,143,224,0,31,135,224,0,31,135,240,0,31, + 131,240,0,31,131,248,0,31,129,248,0,31,129,252,0,31, + 128,252,0,31,128,254,0,31,128,254,0,255,243,255,192,22, + 28,84,25,2,0,255,248,0,31,128,0,31,128,0,31,128, + 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, + 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, + 128,0,31,128,0,31,128,12,31,128,12,31,128,12,31,128, + 12,31,128,28,31,128,28,31,128,60,31,128,60,31,128,124, + 31,128,252,31,129,252,255,255,252,31,28,112,34,2,0,255, + 128,15,254,15,128,15,224,15,192,15,224,15,192,15,224,15, + 192,15,224,15,224,23,224,15,224,23,224,15,240,23,224,13, + 240,23,224,13,240,39,224,13,248,39,224,12,248,39,224,12, + 248,39,224,12,252,71,224,12,124,71,224,12,124,71,224,12, + 126,71,224,12,62,135,224,12,63,135,224,12,63,135,224,12, + 31,135,224,12,31,7,224,12,31,7,224,12,15,7,224,12, + 15,7,224,28,14,7,224,62,6,7,224,255,134,63,254,27, + 28,112,30,2,0,255,128,255,224,31,192,63,0,31,192,30, + 0,15,224,12,0,7,240,12,0,7,240,12,0,7,248,12, + 0,7,248,12,0,6,252,12,0,6,254,12,0,6,126,12, + 0,6,63,12,0,6,63,140,0,6,31,140,0,6,31,204, + 0,6,15,236,0,6,7,236,0,6,7,252,0,6,3,252, + 0,6,1,252,0,6,1,252,0,6,0,252,0,6,0,252, + 0,6,0,124,0,6,0,60,0,15,0,60,0,31,128,28, + 0,255,224,12,0,22,28,84,27,3,1,1,254,0,3,3, + 0,6,1,128,14,1,192,28,0,224,60,0,240,60,0,240, + 124,0,248,124,0,248,124,0,248,252,0,252,252,0,252,252, + 0,252,252,0,252,252,0,252,252,0,252,252,0,252,252,0, + 252,124,0,248,124,0,248,124,0,248,60,0,240,60,0,240, + 28,0,224,14,1,192,6,1,128,3,3,0,1,254,0,23, + 28,84,27,2,0,255,255,128,31,129,240,31,128,248,31,128, + 252,31,128,124,31,128,126,31,128,126,31,128,126,31,128,126, + 31,128,126,31,128,124,31,128,252,31,128,248,31,129,224,31, + 255,128,31,128,0,31,128,0,31,128,0,31,128,0,31,128, + 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, + 31,128,0,31,128,0,255,248,0,22,37,111,27,3,248,1, + 254,0,3,3,0,6,1,128,14,1,192,28,0,224,60,0, + 240,60,0,240,124,0,248,124,0,248,124,0,248,252,0,252, + 252,0,252,252,0,252,252,0,252,252,0,252,252,0,252,252, + 0,252,252,0,252,124,0,248,124,0,248,124,0,248,60,56, + 240,60,76,240,30,133,224,14,135,224,7,135,192,3,135,132, + 1,238,4,0,22,4,0,6,4,0,7,12,0,7,12,0, + 7,252,0,7,248,0,7,248,0,3,240,0,1,224,25,28, + 112,28,2,0,255,255,0,0,31,135,192,0,31,131,224,0, + 31,129,240,0,31,129,248,0,31,129,248,0,31,129,248,0, + 31,129,248,0,31,129,248,0,31,129,240,0,31,131,224,0, + 31,135,192,0,31,254,0,0,31,135,128,0,31,131,192,0, + 31,129,240,0,31,129,240,0,31,129,248,0,31,129,248,0, + 31,129,248,0,31,129,248,0,31,129,248,128,31,129,248,128, + 31,129,248,128,31,129,248,128,31,129,249,0,31,128,249,0, + 255,248,126,0,18,29,87,23,3,0,1,0,0,31,225,128, + 48,57,128,96,31,128,96,15,128,224,7,128,240,3,128,240, + 3,128,248,1,128,254,1,128,255,1,128,127,192,0,127,224, + 0,63,248,0,31,252,0,7,255,0,3,255,0,128,255,128, + 128,127,128,192,31,192,192,15,192,192,7,192,224,3,192,224, + 1,192,240,1,128,248,1,128,248,3,0,206,2,0,135,188, + 0,24,28,84,27,2,0,255,255,255,252,126,63,248,126,31, + 240,126,15,224,126,15,224,126,7,192,126,7,192,126,3,192, + 126,3,192,126,3,128,126,3,128,126,2,0,126,0,0,126, + 0,0,126,0,0,126,0,0,126,0,0,126,0,0,126,0, + 0,126,0,0,126,0,0,126,0,0,126,0,0,126,0,0, + 126,0,0,126,0,0,126,0,7,255,224,26,28,112,30,3, + 0,255,240,127,192,31,128,31,0,31,128,14,0,31,128,6, + 0,31,128,6,0,31,128,6,0,31,128,6,0,31,128,6, + 0,31,128,6,0,31,128,6,0,31,128,6,0,31,128,6, + 0,31,128,6,0,31,128,6,0,31,128,6,0,31,128,6, + 0,31,128,6,0,31,128,6,0,31,128,6,0,31,128,6, + 0,31,128,6,0,31,128,6,0,15,128,12,0,15,192,12, + 0,7,192,24,0,7,224,56,0,1,252,240,0,0,255,192, + 0,27,28,112,30,2,0,255,248,127,224,31,192,15,0,15, + 192,6,0,15,192,6,0,7,224,4,0,7,224,12,0,7, + 224,8,0,3,240,8,0,3,240,8,0,3,240,24,0,1, + 248,16,0,1,248,16,0,1,252,48,0,0,252,32,0,0, + 252,32,0,0,254,96,0,0,126,64,0,0,126,64,0,0, + 127,192,0,0,63,128,0,0,63,128,0,0,63,128,0,0, + 31,0,0,0,31,0,0,0,31,0,0,0,14,0,0,0, + 14,0,0,0,14,0,0,38,28,140,41,2,0,255,243,255, + 207,252,31,192,126,1,224,15,192,126,0,192,15,192,62,0, + 192,7,192,63,0,128,7,224,63,0,128,7,224,63,1,128, + 7,224,63,129,0,3,240,63,129,0,3,240,127,131,0,3, + 240,111,195,0,1,248,79,194,0,1,248,207,194,0,1,248, + 199,230,0,0,252,135,230,0,0,252,135,228,0,0,253,131, + 244,0,0,127,131,252,0,0,127,3,248,0,0,127,3,248, + 0,0,127,1,248,0,0,63,1,248,0,0,62,1,240,0, + 0,62,0,240,0,0,30,0,240,0,0,28,0,240,0,0, + 28,0,96,0,0,12,0,96,0,26,28,112,29,2,0,255, + 241,255,128,31,224,124,0,15,224,56,0,15,224,48,0,7, + 240,96,0,7,240,96,0,3,248,192,0,3,248,128,0,1, + 253,128,0,0,255,0,0,0,254,0,0,0,126,0,0,0, + 127,0,0,0,63,0,0,0,63,128,0,0,31,128,0,0, + 63,192,0,0,111,192,0,0,79,224,0,0,199,224,0,1, + 135,240,0,1,131,240,0,3,3,248,0,2,1,248,0,6, + 1,252,0,14,0,252,0,30,1,254,0,255,199,255,192,25, + 28,112,28,2,0,255,240,255,128,31,192,60,0,31,192,24, + 0,15,192,24,0,15,224,24,0,7,224,16,0,7,224,48, + 0,3,240,32,0,3,240,32,0,1,248,96,0,1,248,64, + 0,1,252,64,0,0,252,192,0,0,254,128,0,0,127,128, + 0,0,127,128,0,0,63,0,0,0,63,0,0,0,63,0, + 0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0, + 0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0, + 0,1,255,224,0,20,28,84,25,3,0,127,255,240,126,7, + 240,124,7,224,120,15,224,112,15,192,96,31,192,96,31,128, + 96,63,128,64,63,0,64,127,0,0,254,0,0,254,0,1, + 252,0,1,248,0,3,248,0,3,240,0,7,240,0,7,224, + 16,15,224,16,15,192,16,31,192,48,31,128,48,63,128,112, + 63,0,112,127,0,240,126,1,240,254,7,240,255,255,240,9, + 35,70,15,3,249,255,128,248,0,248,0,248,0,248,0,248, + 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, + 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, + 0,248,0,248,0,248,0,248,0,248,0,248,0,248,0,248, + 0,248,0,248,0,248,0,248,0,255,128,13,37,74,17,2, + 248,192,0,224,0,224,0,96,0,112,0,112,0,48,0,56, + 0,56,0,24,0,24,0,28,0,28,0,12,0,14,0,14, + 0,6,0,6,0,7,0,7,0,3,0,3,128,3,128,1, + 128,1,192,1,192,0,192,0,192,0,224,0,224,0,96,0, + 112,0,112,0,48,0,48,0,56,0,56,9,35,70,15,3, + 249,255,128,15,128,15,128,15,128,15,128,15,128,15,128,15, + 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, + 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, + 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, + 128,15,128,15,128,255,128,18,14,42,22,2,15,0,192,0, + 0,192,0,1,224,0,3,240,0,3,240,0,7,56,0,7, + 56,0,14,28,0,28,14,0,28,14,0,56,7,0,56,7, + 0,112,3,128,224,1,192,20,3,9,20,0,249,255,255,240, + 255,255,240,255,255,240,7,7,7,17,3,21,224,240,240,120, + 60,12,6,17,19,57,20,2,0,15,192,0,24,240,0,48, + 120,0,112,120,0,124,124,0,124,124,0,124,124,0,0,252, + 0,7,124,0,28,124,0,56,124,0,120,124,0,248,124,0, + 248,124,128,248,124,128,248,124,128,252,253,128,127,191,0,62, + 30,0,18,28,84,20,0,0,255,0,0,31,0,0,31,0, + 0,31,0,0,31,0,0,31,0,0,31,0,0,31,0,0, + 31,0,0,31,60,0,31,78,0,31,143,0,31,135,128,31, + 7,128,31,7,128,31,7,192,31,7,192,31,7,192,31,7, + 192,31,7,192,31,7,192,31,7,192,31,7,128,31,7,128, + 31,135,0,25,143,0,16,206,0,16,120,0,14,19,38,18, + 2,0,7,224,14,48,60,24,60,28,120,60,120,124,248,124, + 248,120,248,48,248,0,248,0,248,0,248,0,120,4,120,4, + 56,4,28,8,14,16,7,224,18,28,84,21,2,0,0,254, + 0,0,62,0,0,62,0,0,62,0,0,62,0,0,62,0, + 0,62,0,0,62,0,0,62,0,15,62,0,28,190,0,60, + 126,0,120,126,0,120,62,0,120,62,0,248,62,0,248,62, + 0,248,62,0,248,62,0,248,62,0,248,62,0,248,62,0, + 120,62,0,120,62,0,120,126,0,60,126,0,28,190,0,15, + 63,192,14,19,38,18,2,0,7,192,28,224,56,112,56,120, + 120,120,120,124,248,124,248,124,248,124,255,252,248,0,248,0, + 248,0,120,4,120,4,56,8,60,8,30,16,7,224,14,28, + 56,13,1,0,1,240,7,24,15,28,30,60,30,124,62,124, + 62,56,62,0,62,0,255,192,62,0,62,0,62,0,62,0, + 62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0, + 62,0,62,0,62,0,62,0,62,0,255,192,19,28,84,22, + 2,247,7,225,192,30,118,96,60,60,224,60,60,224,124,62, + 192,124,62,0,124,62,0,124,62,0,60,60,0,60,60,0, + 30,120,0,7,224,0,56,0,0,96,0,0,96,0,0,127, + 224,0,127,254,0,127,255,0,63,255,128,31,255,128,96,7, + 128,192,3,128,128,3,128,128,3,0,128,3,0,64,6,0, + 48,28,0,15,240,0,20,28,84,22,1,0,255,0,0,31, + 0,0,31,0,0,31,0,0,31,0,0,31,0,0,31,0, + 0,31,0,0,31,0,0,31,30,0,31,111,0,31,135,128, + 31,135,192,31,135,192,31,7,192,31,7,192,31,7,192,31, + 7,192,31,7,192,31,7,192,31,7,192,31,7,192,31,7, + 192,31,7,192,31,7,192,31,7,192,31,7,192,255,223,240, + 8,28,28,12,2,0,60,126,126,126,126,60,0,0,0,252, + 124,124,124,124,124,124,124,124,124,124,124,124,124,124,124,124, + 124,255,12,37,74,13,254,247,1,224,3,240,3,240,3,240, + 3,240,1,224,0,0,0,0,0,0,15,224,3,224,3,224, + 3,224,3,224,3,224,3,224,3,224,3,224,3,224,3,224, + 3,224,3,224,3,224,3,224,3,224,3,224,3,224,3,224, + 3,224,3,224,123,224,251,224,251,224,243,192,227,192,103,128, + 30,0,20,28,84,21,1,0,255,0,0,31,0,0,31,0, + 0,31,0,0,31,0,0,31,0,0,31,0,0,31,0,0, + 31,0,0,31,31,192,31,7,0,31,6,0,31,4,0,31, + 8,0,31,16,0,31,16,0,31,48,0,31,120,0,31,248, + 0,31,188,0,31,60,0,31,30,0,31,31,0,31,15,0, + 31,15,128,31,15,128,31,15,192,255,223,240,11,28,56,12, + 1,0,255,0,31,0,31,0,31,0,31,0,31,0,31,0, + 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, + 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, + 31,0,31,0,31,0,31,0,255,224,27,19,76,30,2,0, + 254,60,30,0,62,222,111,0,63,31,143,0,63,31,143,128, + 63,31,143,128,62,31,15,128,62,31,15,128,62,31,15,128, + 62,31,15,128,62,31,15,128,62,31,15,128,62,31,15,128, + 62,31,15,128,62,31,15,128,62,31,15,128,62,31,15,128, + 62,31,15,128,62,31,15,128,255,63,223,224,19,19,57,22, + 2,0,254,60,0,62,222,0,63,15,0,63,15,128,63,15, + 128,62,15,128,62,15,128,62,15,128,62,15,128,62,15,128, + 62,15,128,62,15,128,62,15,128,62,15,128,62,15,128,62, + 15,128,62,15,128,62,15,128,255,191,224,16,19,38,20,2, + 0,7,192,12,112,28,56,56,60,120,30,120,30,248,30,248, + 31,248,31,248,31,248,31,248,31,248,30,120,30,120,30,56, + 60,28,56,12,112,7,192,18,28,84,21,1,247,255,60,0, + 31,78,0,31,143,0,31,135,128,31,7,128,31,7,128,31, + 7,192,31,7,192,31,7,192,31,7,192,31,7,192,31,7, + 192,31,7,192,31,7,128,31,7,128,31,135,128,31,143,0, + 31,78,0,31,60,0,31,0,0,31,0,0,31,0,0,31, + 0,0,31,0,0,31,0,0,31,0,0,31,0,0,255,192, + 0,17,28,84,20,2,247,7,130,0,28,194,0,60,102,0, + 120,126,0,120,62,0,120,62,0,248,62,0,248,62,0,248, + 62,0,248,62,0,248,62,0,248,62,0,248,62,0,120,62, + 0,120,62,0,120,126,0,60,126,0,28,190,0,15,62,0, + 0,62,0,0,62,0,0,62,0,0,62,0,0,62,0,0, + 62,0,0,62,0,0,62,0,0,255,128,14,19,38,17,2, + 0,254,48,62,120,62,188,63,60,63,124,62,124,62,56,62, + 0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62, + 0,62,0,62,0,255,128,13,19,38,16,2,0,31,16,97, + 208,96,112,224,48,224,48,240,16,248,0,126,0,127,128,63, + 224,15,240,135,240,193,248,192,120,224,56,224,24,240,16,156, + 48,135,192,12,27,54,14,1,0,6,0,6,0,6,0,6, + 0,6,0,14,0,30,0,62,0,255,224,62,0,62,0,62, + 0,62,0,62,0,62,0,62,0,62,0,62,0,62,16,62, + 16,62,16,62,16,62,16,62,32,62,32,31,192,7,128,19, + 19,57,21,1,0,254,63,128,62,15,128,62,15,128,62,15, + 128,62,15,128,62,15,128,62,15,128,62,15,128,62,15,128, + 62,15,128,62,15,128,62,15,128,62,15,128,62,15,128,62, + 31,128,62,31,128,30,47,128,30,79,128,7,143,224,18,19, + 57,20,1,0,255,143,192,62,3,0,30,2,0,30,2,0, + 31,2,0,15,4,0,15,4,0,15,132,0,7,136,0,7, + 200,0,7,216,0,3,208,0,3,240,0,3,240,0,1,224, + 0,1,224,0,0,224,0,0,192,0,0,192,0,28,19,76, + 30,1,0,255,63,231,240,62,15,129,192,30,7,129,128,30, + 7,129,128,31,7,193,0,15,7,193,0,15,7,195,0,15, + 143,226,0,7,137,226,0,7,137,230,0,7,217,244,0,3, + 208,244,0,3,240,248,0,3,240,248,0,1,224,248,0,1, + 224,112,0,1,192,112,0,0,192,112,0,0,192,32,0,18, + 19,57,20,1,0,255,63,128,126,14,0,62,12,0,31,8, + 0,31,16,0,15,176,0,15,160,0,7,192,0,3,192,0, + 3,224,0,1,240,0,3,240,0,2,248,0,4,248,0,12, + 124,0,8,126,0,24,62,0,56,63,0,254,127,192,19,28, + 84,20,0,247,255,207,224,63,3,128,31,3,0,31,2,0, + 15,2,0,15,130,0,15,130,0,7,196,0,7,196,0,3, + 196,0,3,232,0,3,232,0,1,248,0,1,248,0,0,240, + 0,0,240,0,0,112,0,0,96,0,0,96,0,0,32,0, + 0,64,0,12,64,0,30,64,0,62,64,0,62,128,0,60, + 128,0,29,0,0,14,0,0,14,19,38,17,1,0,127,252, + 120,124,112,248,96,248,65,240,65,224,67,224,3,192,7,192, + 7,128,15,128,31,4,31,4,62,4,62,12,124,12,120,28, + 248,60,255,252,12,35,70,16,2,249,1,240,7,128,15,0, + 15,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, + 31,0,31,0,31,0,30,0,30,0,56,0,224,0,56,0, + 30,0,30,0,31,0,31,0,31,0,31,0,31,0,31,0, + 31,0,31,0,31,0,31,0,15,0,15,0,7,128,1,240, + 3,36,36,11,4,248,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,12,37,74,16,2,248, + 128,0,240,0,28,0,15,0,15,0,15,128,15,128,15,128, + 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, + 7,128,3,192,0,112,3,192,7,128,15,128,15,128,15,128, + 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, + 15,0,15,0,28,0,248,0,128,0,21,8,24,25,2,6, + 62,0,48,127,192,16,255,240,8,135,252,8,129,255,24,128, + 127,248,192,31,240,96,3,224,255}; +/* + Fontname: -FreeType-Old Standard TT-Bold-R-Normal--48-480-72-72-P-258-ISO10646-1 + Copyright: Copyright (C) 2006-2008 Alexey Kryukov + Capital A Height: 35, '1' Height: 34 + Calculated Max Values w=49 h=46 x= 9 y=28 dx=52 dy= 0 ascent=45 len=246 + Font Bounding box w=133 h=60 x=-41 y=-14 + Calculated Min Values x=-2 y=-12 dx= 0 dy= 0 + Pure Font ascent =35 descent=-10 + X Font ascent =35 descent=-10 + Max Font ascent =45 descent=-12 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_osb35[22097] U8G_FONT_SECTION("u8g_font_osb35") = { + 0,133,60,215,242,35,12,220,29,224,32,255,246,45,244,35, + 246,0,0,0,13,0,0,8,34,34,14,3,1,126,126,255, + 255,255,255,255,255,126,126,126,126,60,60,60,60,60,24,24, + 24,24,24,24,24,24,0,0,0,126,255,255,255,255,126,12, + 12,24,18,3,23,32,64,241,224,249,240,249,240,249,240,249, + 240,249,240,112,224,112,224,112,224,112,224,112,224,28,34,136, + 34,3,0,0,112,14,0,0,112,14,0,0,112,14,0,0, + 112,14,0,0,240,30,0,0,224,28,0,0,224,28,0,0, + 224,28,0,0,224,28,0,255,255,255,240,255,255,255,240,255, + 255,255,240,1,192,56,0,1,192,56,0,1,192,56,0,1, + 192,56,0,3,192,56,0,3,128,120,0,3,128,112,0,3, + 128,112,0,3,128,112,0,3,128,112,0,255,255,255,224,255, + 255,255,224,255,255,255,224,7,0,224,0,7,0,224,0,7, + 0,224,0,7,0,224,0,15,1,224,0,14,1,224,0,14, + 1,192,0,14,1,192,0,14,1,192,0,23,42,126,28,2, + 252,0,195,0,0,195,0,0,195,0,0,195,0,3,255,192, + 7,195,112,28,195,24,60,195,12,56,195,14,120,195,14,120, + 195,30,120,195,62,124,195,126,126,195,126,127,195,124,127,195, + 56,63,243,0,63,251,0,31,255,0,31,255,128,7,255,192, + 3,255,240,0,255,248,0,255,248,0,223,252,0,199,252,124, + 195,254,124,195,254,252,195,126,252,195,62,248,195,30,240,195, + 30,224,195,28,96,195,28,112,195,56,56,195,56,28,195,96, + 7,255,192,0,195,0,0,195,0,0,195,0,0,195,0,33, + 35,175,41,4,0,0,0,0,48,0,15,192,0,96,0,60, + 240,0,224,0,56,112,0,192,0,120,120,1,128,0,120,120, + 1,128,0,248,124,3,0,0,248,124,7,0,0,248,124,6, + 0,0,248,124,14,0,0,248,124,12,0,0,248,124,24,0, + 0,120,120,24,0,0,120,120,48,0,0,56,240,112,0,0, + 28,224,96,0,0,15,192,192,0,0,0,0,192,0,0,0, + 1,128,240,0,0,3,131,156,0,0,3,7,158,0,0,7, + 15,15,0,0,6,15,15,0,0,12,31,15,128,0,12,31, + 15,128,0,24,31,15,128,0,56,31,15,128,0,48,31,15, + 128,0,96,31,15,128,0,96,31,15,128,0,192,15,15,0, + 1,192,15,15,0,1,128,7,14,0,3,128,7,158,0,3, + 0,1,248,0,33,34,170,37,2,1,0,31,224,0,0,0, + 112,112,0,0,0,224,48,0,0,0,224,24,0,0,1,224, + 24,0,0,1,224,24,0,0,1,224,24,0,0,1,240,56, + 0,0,1,240,48,0,0,1,248,96,0,0,1,248,192,0, + 0,0,255,128,0,0,0,255,0,0,0,0,126,0,0,0, + 0,63,0,0,0,0,255,129,255,128,1,223,128,62,0,3, + 143,192,28,0,7,15,224,24,0,14,7,224,56,0,30,3, + 240,48,0,60,1,248,48,0,124,1,248,96,0,124,0,252, + 96,0,252,0,126,192,0,252,0,127,128,0,252,0,63,128, + 0,254,0,31,128,0,255,0,31,128,0,255,0,15,193,128, + 127,192,63,225,0,63,248,247,243,0,31,255,195,254,0,15, + 254,0,252,0,5,12,12,11,3,23,32,240,248,248,248,248, + 248,112,112,112,112,112,14,43,86,18,3,248,0,28,0,56, + 0,112,0,224,1,192,3,128,7,0,15,0,14,0,30,0, + 30,0,60,0,60,0,124,0,124,0,124,0,252,0,252,0, + 252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0, + 124,0,124,0,124,0,124,0,60,0,60,0,30,0,30,0, + 14,0,15,0,7,0,3,128,1,192,0,224,0,112,0,56, + 0,12,13,43,86,17,1,248,192,0,224,0,48,0,24,0, + 28,0,14,0,7,0,7,128,3,128,3,192,1,224,1,224, + 1,224,1,240,1,240,1,240,1,248,1,248,1,248,1,248, + 1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,240, + 1,240,1,240,1,224,1,224,3,192,3,192,3,128,7,128, + 7,0,14,0,28,0,56,0,112,0,224,0,128,0,17,19, + 57,24,4,13,1,128,0,3,192,0,3,192,0,227,195,0, + 241,135,128,248,143,128,252,159,128,126,191,0,3,192,0,3, + 192,0,126,191,0,252,159,128,248,143,128,241,135,128,225,195, + 0,3,192,0,3,192,0,3,192,0,1,128,0,41,41,246, + 45,2,249,0,0,28,0,0,0,0,0,28,0,0,0,0, + 0,28,0,0,0,0,0,28,0,0,0,0,0,28,0,0, + 0,0,0,28,0,0,0,0,0,28,0,0,0,0,0,28, + 0,0,0,0,0,28,0,0,0,0,0,28,0,0,0,0, + 0,28,0,0,0,0,0,28,0,0,0,0,0,28,0,0, + 0,0,0,28,0,0,0,0,0,28,0,0,0,0,0,28, + 0,0,0,0,0,28,0,0,0,0,0,28,0,0,0,0, + 0,28,0,0,0,255,255,255,255,255,128,255,255,255,255,255, + 128,255,255,255,255,255,128,0,0,28,0,0,0,0,0,28, + 0,0,0,0,0,28,0,0,0,0,0,28,0,0,0,0, + 0,28,0,0,0,0,0,28,0,0,0,0,0,28,0,0, + 0,0,0,28,0,0,0,0,0,28,0,0,0,0,0,28, + 0,0,0,0,0,28,0,0,0,0,0,28,0,0,0,0, + 0,28,0,0,0,0,0,28,0,0,0,0,0,28,0,0, + 0,0,0,28,0,0,0,0,0,28,0,0,0,0,0,28, + 0,0,0,0,0,28,0,0,0,9,15,30,13,2,248,126, + 0,255,0,255,128,255,128,255,128,127,128,1,128,1,128,1, + 128,3,0,2,0,6,0,28,0,56,0,96,0,12,5,10, + 18,3,10,255,240,255,240,255,240,255,240,255,240,8,6,6, + 14,3,1,126,255,255,255,255,126,16,44,88,22,3,247,0, + 7,0,15,0,14,0,14,0,14,0,30,0,28,0,28,0, + 60,0,56,0,56,0,120,0,112,0,112,0,240,0,224,0, + 224,0,224,1,224,1,192,1,192,3,192,3,128,3,128,7, + 128,7,0,7,0,15,0,14,0,14,0,14,0,30,0,28, + 0,28,0,60,0,56,0,56,0,120,0,112,0,112,0,240, + 0,224,0,224,0,224,0,23,35,105,28,2,0,0,16,0, + 0,254,0,3,199,128,7,131,192,15,1,224,15,1,224,31, + 1,240,63,1,248,63,1,248,127,1,248,127,1,252,127,1, + 252,127,1,252,255,1,254,255,1,254,255,1,254,255,1,254, + 255,1,254,255,1,254,255,1,254,255,1,254,255,1,254,255, + 1,254,127,1,252,127,1,252,127,1,252,127,1,252,63,1, + 248,63,1,248,31,1,240,15,1,224,15,1,224,7,131,192, + 3,199,128,0,254,0,16,34,68,28,6,0,0,240,0,240, + 1,240,7,240,255,240,7,240,7,240,7,240,7,240,7,240, + 7,240,7,240,7,240,7,240,7,240,7,240,7,240,7,240, + 7,240,7,240,7,240,7,240,7,240,7,240,7,240,7,240, + 7,240,7,240,7,240,7,240,7,240,7,240,255,255,255,255, + 21,34,102,28,3,1,7,255,0,14,15,192,28,7,224,56, + 7,240,120,3,240,120,3,248,248,3,248,252,3,248,255,3, + 248,255,3,248,255,7,248,127,7,240,63,15,240,12,15,224, + 0,31,192,0,63,128,0,127,0,0,252,0,1,240,0,3, + 192,0,7,128,0,14,0,24,12,0,24,24,0,24,48,0, + 24,96,0,24,111,192,56,127,255,248,255,255,240,239,255,240, + 195,255,240,193,255,224,192,255,192,192,63,128,22,34,102,28, + 3,1,7,255,0,14,15,192,28,7,224,56,7,240,120,3, + 240,124,3,248,126,3,248,127,3,248,127,3,248,127,3,248, + 63,3,240,30,3,240,0,7,224,0,7,192,0,15,0,7, + 248,0,0,31,128,0,15,192,0,7,224,0,7,240,0,3, + 248,0,3,248,62,3,252,127,3,252,255,3,252,255,3,252, + 255,3,252,254,3,252,252,3,248,248,7,248,120,7,240,56, + 15,224,30,31,192,15,255,0,23,34,102,28,2,0,0,7, + 192,0,15,192,0,15,192,0,31,192,0,63,192,0,63,192, + 0,127,192,0,127,192,0,255,192,0,223,192,1,223,192,1, + 159,192,3,159,192,7,31,192,6,31,192,14,31,192,12,31, + 192,28,31,192,24,31,192,56,31,192,112,31,192,96,31,192, + 224,31,192,255,255,254,0,31,192,0,31,192,0,31,192,0, + 31,192,0,31,192,0,31,192,0,31,192,0,31,192,7,255, + 252,7,255,252,21,34,102,28,4,0,32,0,192,60,7,128, + 63,255,128,63,255,0,63,254,0,63,248,0,63,224,0,63, + 0,0,48,0,0,48,0,0,48,0,0,48,0,0,48,0, + 0,49,252,0,54,63,0,60,15,192,56,15,224,48,15,224, + 32,7,240,0,7,240,0,7,248,0,7,248,8,7,248,62, + 7,248,126,7,248,254,7,248,254,7,248,254,7,240,248,7, + 240,240,7,224,112,15,192,48,15,192,28,31,0,15,252,0, + 22,34,102,28,3,1,0,255,128,3,192,192,7,192,96,15, + 128,240,31,131,240,31,7,240,63,15,240,63,15,240,127,15, + 224,127,7,192,127,3,0,127,0,0,255,0,0,255,0,0, + 255,63,0,255,255,192,255,195,224,255,131,240,255,3,248,255, + 1,248,255,1,252,255,1,252,255,1,252,127,1,252,127,1, + 252,127,1,252,127,1,252,63,1,248,63,1,248,31,1,248, + 15,129,240,7,131,224,3,195,192,1,255,0,20,34,102,28, + 5,1,71,224,224,207,240,224,223,248,112,255,252,48,255,254, + 48,255,255,240,255,255,240,224,31,176,192,0,32,192,0,96, + 128,0,96,128,0,192,128,1,192,0,1,128,0,3,128,0, + 7,0,0,15,0,0,14,0,0,30,0,0,60,0,0,124, + 0,0,252,0,1,252,0,1,248,0,3,248,0,3,248,0, + 7,248,0,7,248,0,7,248,0,7,248,0,7,248,0,7, + 248,0,3,248,0,3,240,0,23,34,102,28,3,1,1,255, + 128,7,0,192,12,0,96,28,0,48,56,0,24,56,0,24, + 120,0,24,120,0,24,124,0,24,126,0,24,127,0,48,127, + 192,32,127,240,96,63,255,128,63,255,0,31,255,192,15,255, + 240,7,255,248,15,255,248,24,63,252,48,15,252,112,3,254, + 96,0,254,224,0,126,224,0,62,224,0,30,224,0,30,224, + 0,12,240,0,28,112,0,24,56,0,24,28,0,48,15,0, + 192,3,255,0,22,34,102,28,3,1,3,254,0,15,15,0, + 31,7,128,62,7,192,126,3,224,126,3,240,126,3,240,254, + 3,248,254,3,248,254,3,248,254,3,248,254,3,252,254,3, + 252,254,3,252,126,3,252,127,7,252,63,7,252,31,15,252, + 15,255,252,3,243,252,0,3,252,0,3,252,0,3,248,7, + 3,248,31,131,248,31,195,248,63,195,240,63,195,240,63,131, + 224,62,7,224,60,7,192,28,15,128,14,31,0,7,252,0, + 8,22,22,14,3,1,126,255,255,255,255,126,0,0,0,0, + 0,0,0,0,0,0,126,255,255,255,255,126,9,32,64,13, + 2,247,63,0,127,128,127,128,127,128,127,128,63,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,60,0,127,0,255,0,255,128,255,128,255,128,57,128, + 1,128,1,128,3,0,3,0,6,0,12,0,56,0,240,0, + 64,0,37,40,200,45,4,249,0,0,0,0,48,0,0,0, + 0,240,0,0,0,1,248,0,0,0,7,224,0,0,0,31, + 128,0,0,0,126,0,0,0,1,252,0,0,0,7,240,0, + 0,0,15,192,0,0,0,63,0,0,0,0,252,0,0,0, + 3,240,0,0,0,15,224,0,0,0,63,128,0,0,0,126, + 0,0,0,1,248,0,0,0,7,224,0,0,0,31,128,0, + 0,0,127,0,0,0,0,252,0,0,0,0,248,0,0,0, + 0,126,0,0,0,0,31,128,0,0,0,15,224,0,0,0, + 3,248,0,0,0,0,252,0,0,0,0,63,0,0,0,0, + 15,192,0,0,0,3,240,0,0,0,1,252,0,0,0,0, + 127,0,0,0,0,31,192,0,0,0,7,224,0,0,0,1, + 248,0,0,0,0,126,0,0,0,0,63,128,0,0,0,15, + 224,0,0,0,3,248,0,0,0,0,248,0,0,0,0,48, + 41,13,78,45,2,6,255,255,255,255,255,128,255,255,255,255, + 255,128,255,255,255,255,255,128,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,255,255,255,255,255,128,255,255,255,255,255,128,255,255, + 255,255,255,128,37,40,200,45,4,249,96,0,0,0,0,120, + 0,0,0,0,252,0,0,0,0,63,0,0,0,0,15,192, + 0,0,0,3,240,0,0,0,1,252,0,0,0,0,127,0, + 0,0,0,31,128,0,0,0,7,224,0,0,0,1,248,0, + 0,0,0,126,0,0,0,0,63,128,0,0,0,15,224,0, + 0,0,3,240,0,0,0,0,252,0,0,0,0,63,0,0, + 0,0,15,192,0,0,0,7,240,0,0,0,1,248,0,0, + 0,0,248,0,0,0,3,240,0,0,0,15,192,0,0,0, + 63,128,0,0,0,254,0,0,0,1,248,0,0,0,7,224, + 0,0,0,31,128,0,0,0,126,0,0,0,1,252,0,0, + 0,7,240,0,0,0,31,192,0,0,0,63,0,0,0,0, + 252,0,0,0,3,240,0,0,0,15,224,0,0,0,63,128, + 0,0,0,254,0,0,0,0,248,0,0,0,0,96,0,0, + 0,0,15,34,68,22,3,1,31,240,59,248,96,252,96,252, + 192,126,192,126,192,126,192,126,192,126,64,252,96,252,48,248, + 1,240,1,224,3,192,3,128,7,0,7,0,14,0,12,16, + 12,16,12,16,12,16,6,32,3,192,0,0,0,0,0,128, + 3,224,7,240,7,240,7,240,7,240,3,224,35,34,170,39, + 2,1,0,15,255,0,0,0,56,1,224,0,0,224,0,112, + 0,1,128,0,28,0,7,0,0,14,0,14,0,0,7,0, + 12,0,248,3,0,28,3,205,243,128,56,7,135,241,128,56, + 15,7,225,192,112,31,7,225,192,112,62,7,224,224,112,62, + 7,224,224,224,124,7,192,224,224,124,7,192,224,224,124,7, + 192,224,224,252,15,192,224,224,248,15,128,224,224,248,15,128, + 224,224,248,15,129,192,224,248,31,129,192,224,248,31,129,128, + 112,248,31,3,128,112,248,63,3,0,112,120,111,6,0,56, + 60,199,140,0,56,31,3,240,0,28,0,0,0,0,14,0, + 0,0,0,7,0,0,0,0,3,128,0,0,0,1,192,0, + 96,0,0,120,1,192,0,0,31,255,0,0,33,35,175,36, + 2,0,0,0,192,0,0,0,1,192,0,0,0,1,224,0, + 0,0,1,224,0,0,0,3,224,0,0,0,3,240,0,0, + 0,3,240,0,0,0,7,240,0,0,0,7,248,0,0,0, + 7,248,0,0,0,15,248,0,0,0,15,252,0,0,0,15, + 252,0,0,0,25,252,0,0,0,25,254,0,0,0,25,254, + 0,0,0,48,254,0,0,0,48,255,0,0,0,32,255,0, + 0,0,96,127,0,0,0,96,127,128,0,0,64,127,128,0, + 0,192,63,128,0,0,192,63,192,0,0,255,255,192,0,1, + 255,255,192,0,1,128,31,224,0,1,0,31,224,0,3,0, + 15,224,0,3,0,15,240,0,2,0,15,240,0,6,0,7, + 240,0,15,0,7,248,0,31,0,15,252,0,255,240,255,255, + 128,28,34,136,33,3,0,255,255,240,0,15,224,126,0,15, + 224,31,0,15,224,31,128,15,224,15,192,15,224,15,192,15, + 224,15,224,15,224,15,224,15,224,15,224,15,224,15,224,15, + 224,15,224,15,224,15,192,15,224,15,192,15,224,31,128,15, + 224,30,0,15,224,60,0,15,255,224,0,15,224,124,0,15, + 224,63,0,15,224,31,128,15,224,15,192,15,224,15,224,15, + 224,15,240,15,224,15,240,15,224,15,240,15,224,15,240,15, + 224,15,240,15,224,15,240,15,224,15,224,15,224,15,224,15, + 224,31,192,15,224,31,128,15,224,126,0,255,255,248,0,26, + 34,136,31,3,1,0,127,193,128,1,224,241,128,3,192,63, + 128,15,128,31,128,15,128,15,128,31,0,15,128,63,0,7, + 128,63,0,7,128,127,0,3,128,127,0,3,128,127,0,3, + 128,127,0,1,128,255,0,1,128,255,0,1,128,255,0,1, + 128,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0, + 0,255,0,0,0,255,0,0,0,255,0,0,192,127,0,0, + 192,127,0,0,192,127,0,0,128,63,0,1,128,63,0,1, + 128,63,0,1,128,31,128,3,0,15,128,3,0,7,128,6, + 0,3,192,12,0,1,224,56,0,0,127,224,0,32,34,136, + 37,3,0,255,255,248,0,15,224,31,0,15,224,7,128,15, + 224,3,224,15,224,1,240,15,224,1,240,15,224,0,248,15, + 224,0,252,15,224,0,252,15,224,0,254,15,224,0,254,15, + 224,0,254,15,224,0,255,15,224,0,255,15,224,0,255,15, + 224,0,255,15,224,0,255,15,224,0,255,15,224,0,255,15, + 224,0,255,15,224,0,255,15,224,0,254,15,224,0,254,15, + 224,0,254,15,224,0,254,15,224,0,252,15,224,0,252,15, + 224,0,248,15,224,1,240,15,224,1,224,15,224,3,192,15, + 224,7,128,15,224,30,0,255,255,248,0,27,34,136,33,3, + 0,255,255,255,224,15,224,31,224,15,224,7,224,15,224,3, + 224,15,224,1,224,15,224,1,224,15,224,0,224,15,224,0, + 224,15,224,0,96,15,224,48,96,15,224,48,96,15,224,48, + 0,15,224,112,0,15,224,112,0,15,224,240,0,15,225,240, + 0,15,255,240,0,15,225,240,0,15,224,240,0,15,224,112, + 0,15,224,112,32,15,224,48,96,15,224,48,96,15,224,48, + 96,15,224,0,96,15,224,0,96,15,224,0,224,15,224,0, + 224,15,224,1,224,15,224,3,224,15,224,3,224,15,224,15, + 224,255,255,255,224,255,255,255,224,28,34,136,32,3,0,255, + 255,255,240,7,240,15,240,7,240,3,240,7,240,1,240,7, + 240,1,240,7,240,0,240,7,240,0,240,7,240,0,112,7, + 240,0,112,7,240,24,48,7,240,24,48,7,240,24,48,7, + 240,56,48,7,240,56,0,7,240,120,0,7,240,248,0,7, + 255,248,0,7,240,248,0,7,240,120,0,7,240,56,0,7, + 240,56,0,7,240,24,0,7,240,24,0,7,240,24,0,7, + 240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7, + 240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7, + 240,0,0,255,255,128,0,30,34,136,35,3,1,0,127,224, + 192,0,224,120,192,3,192,31,192,7,128,15,192,15,128,7, + 192,31,0,7,192,31,0,3,192,63,0,3,192,63,0,1, + 192,127,0,1,192,127,0,1,192,127,0,0,192,255,0,0, + 192,255,0,0,192,255,0,0,0,255,0,0,0,255,0,0, + 0,255,3,255,252,255,3,255,252,255,0,31,192,255,0,31, + 192,255,0,31,192,127,0,31,192,127,0,31,192,127,0,31, + 192,127,0,31,192,63,0,31,192,63,0,31,192,31,0,31, + 192,15,128,57,192,15,128,49,192,7,192,96,192,1,224,192, + 192,0,127,128,192,34,34,170,39,3,0,255,255,63,255,192, + 7,240,1,252,0,7,240,1,252,0,7,240,1,252,0,7, + 240,1,252,0,7,240,1,252,0,7,240,1,252,0,7,240, + 1,252,0,7,240,1,252,0,7,240,1,252,0,7,240,1, + 252,0,7,240,1,252,0,7,240,1,252,0,7,240,1,252, + 0,7,240,1,252,0,7,240,1,252,0,7,255,255,252,0, + 7,240,1,252,0,7,240,1,252,0,7,240,1,252,0,7, + 240,1,252,0,7,240,1,252,0,7,240,1,252,0,7,240, + 1,252,0,7,240,1,252,0,7,240,1,252,0,7,240,1, + 252,0,7,240,1,252,0,7,240,1,252,0,7,240,1,252, + 0,7,240,1,252,0,7,240,1,252,0,7,240,1,252,0, + 255,255,63,255,192,16,34,68,21,3,0,255,255,7,240,7, + 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, + 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, + 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, + 240,7,240,7,240,7,240,7,240,7,240,7,240,255,255,23, + 34,102,26,2,0,1,255,254,0,15,224,0,15,224,0,15, + 224,0,15,224,0,15,224,0,15,224,0,15,224,0,15,224, + 0,15,224,0,15,224,0,15,224,0,15,224,0,15,224,0, + 15,224,0,15,224,0,15,224,0,15,224,0,15,224,0,15, + 224,0,15,224,30,15,224,126,15,224,127,15,224,255,15,224, + 255,15,224,254,15,224,254,15,224,248,15,192,112,15,192,96, + 15,128,48,31,0,24,30,0,15,248,0,33,34,170,37,3, + 0,255,255,31,254,0,7,240,7,240,0,7,240,3,192,0, + 7,240,3,128,0,7,240,3,0,0,7,240,7,0,0,7, + 240,14,0,0,7,240,12,0,0,7,240,24,0,0,7,240, + 48,0,0,7,240,96,0,0,7,240,224,0,0,7,240,224, + 0,0,7,241,240,0,0,7,243,240,0,0,7,247,248,0, + 0,7,255,252,0,0,7,255,252,0,0,7,249,254,0,0, + 7,241,254,0,0,7,240,255,0,0,7,240,255,0,0,7, + 240,127,128,0,7,240,127,128,0,7,240,63,192,0,7,240, + 63,192,0,7,240,31,224,0,7,240,31,224,0,7,240,15, + 240,0,7,240,15,240,0,7,240,7,248,0,7,240,7,248, + 0,7,240,7,252,0,255,255,63,255,128,28,34,136,32,3, + 0,255,255,0,0,7,240,0,0,7,240,0,0,7,240,0, + 0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,0, + 0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,0, + 0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,0, + 0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,0, + 48,7,240,0,48,7,240,0,48,7,240,0,112,7,240,0, + 112,7,240,0,112,7,240,0,240,7,240,0,240,7,240,0, + 240,7,240,1,240,7,240,3,240,7,240,3,240,7,240,7, + 240,255,255,255,240,255,255,255,240,39,34,170,43,2,0,255, + 240,0,63,254,7,240,0,63,192,7,248,0,63,192,7,248, + 0,63,192,7,248,0,127,192,7,252,0,127,192,7,252,0, + 95,192,7,252,0,95,192,7,254,0,223,192,6,254,0,223, + 192,6,255,0,159,192,6,127,0,159,192,6,127,1,159,192, + 6,127,129,159,192,6,63,129,31,192,6,63,129,31,192,6, + 63,195,31,192,6,31,194,31,192,6,31,226,31,192,6,15, + 226,31,192,6,15,230,31,192,6,15,244,31,192,6,7,244, + 31,192,6,7,244,31,192,6,7,252,31,192,6,3,248,31, + 192,6,3,248,31,192,6,1,248,31,192,6,1,248,31,192, + 6,1,240,31,192,6,0,240,31,192,15,0,240,31,192,63, + 192,240,31,192,255,240,97,255,254,34,35,175,37,2,255,255, + 224,15,255,192,31,240,3,255,0,15,240,0,252,0,15,248, + 0,120,0,7,252,0,48,0,3,254,0,48,0,3,254,0, + 48,0,3,255,0,48,0,3,255,128,48,0,3,255,128,48, + 0,3,127,192,48,0,3,63,224,48,0,3,31,224,48,0, + 3,31,240,48,0,3,15,248,48,0,3,7,248,48,0,3, + 7,252,48,0,3,3,254,48,0,3,1,255,48,0,3,1, + 255,48,0,3,0,255,176,0,3,0,127,240,0,3,0,127, + 240,0,3,0,63,240,0,3,0,31,240,0,3,0,15,240, + 0,3,0,15,240,0,3,0,7,240,0,3,0,3,240,0, + 3,0,3,240,0,7,128,1,240,0,15,192,0,240,0,63, + 240,0,240,0,255,252,0,112,0,0,0,0,48,0,28,34, + 136,33,3,1,0,63,192,0,0,224,112,0,3,192,56,0, + 7,128,30,0,15,128,30,0,15,0,15,0,31,0,15,128, + 63,0,15,192,63,0,15,192,127,0,15,192,127,0,15,224, + 127,0,15,224,127,0,15,224,255,0,15,240,255,0,15,240, + 255,0,15,240,255,0,15,240,255,0,15,240,255,0,15,240, + 255,0,15,240,255,0,15,240,127,0,15,224,127,0,15,224, + 127,0,15,224,127,0,15,192,63,0,15,192,63,0,15,192, + 31,0,15,128,15,0,15,0,15,128,31,0,7,128,30,0, + 3,192,60,0,0,224,112,0,0,63,192,0,29,34,136,34, + 3,0,255,255,248,0,7,240,63,0,7,240,15,192,7,240, + 15,224,7,240,15,240,7,240,7,240,7,240,7,248,7,240, + 7,248,7,240,7,248,7,240,7,248,7,240,7,248,7,240, + 7,248,7,240,7,240,7,240,15,240,7,240,15,224,7,240, + 15,192,7,240,31,0,7,255,252,0,7,240,0,0,7,240, + 0,0,7,240,0,0,7,240,0,0,7,240,0,0,7,240, + 0,0,7,240,0,0,7,240,0,0,7,240,0,0,7,240, + 0,0,7,240,0,0,7,240,0,0,7,240,0,0,7,240, + 0,0,7,240,0,0,255,255,128,0,28,45,180,33,3,246, + 0,63,192,0,0,224,112,0,3,192,56,0,7,128,30,0, + 15,128,30,0,15,0,15,0,31,0,15,128,63,0,15,128, + 63,0,15,192,127,0,15,192,127,0,15,224,127,0,15,224, + 127,0,15,224,255,0,15,240,255,0,15,240,255,0,15,240, + 255,0,15,240,255,0,15,240,255,0,15,240,255,0,15,240, + 255,0,15,240,255,0,15,240,127,0,15,224,127,0,15,224, + 127,0,15,224,63,0,15,192,63,15,15,192,31,17,143,128, + 15,160,223,0,15,160,223,0,7,160,254,0,3,224,252,16, + 0,240,248,16,0,127,224,16,0,0,224,16,0,0,224,16, + 0,0,224,48,0,0,240,48,0,0,248,112,0,0,255,240, + 0,0,255,224,0,0,127,224,0,0,127,192,0,0,63,128, + 0,0,31,0,32,36,144,36,3,254,255,255,240,0,7,240, + 126,0,7,240,63,0,7,240,63,128,7,240,31,192,7,240, + 31,192,7,240,31,224,7,240,31,224,7,240,31,224,7,240, + 31,224,7,240,31,224,7,240,31,192,7,240,63,192,7,240, + 63,0,7,240,126,0,7,255,240,0,7,240,240,0,7,240, + 62,0,7,240,63,0,7,240,31,128,7,240,31,128,7,240, + 31,192,7,240,31,192,7,240,31,192,7,240,31,192,7,240, + 31,195,7,240,31,195,7,240,31,195,7,240,31,195,7,240, + 31,195,7,240,31,198,7,240,31,198,7,240,15,238,255,255, + 135,252,0,0,3,248,0,0,0,96,23,34,102,29,4,1, + 7,252,24,24,15,24,56,3,248,112,1,248,112,0,248,240, + 0,120,248,0,120,248,0,56,252,0,24,254,0,24,255,128, + 24,255,224,8,127,240,0,127,252,0,63,254,0,31,255,128, + 15,255,192,3,255,240,1,255,248,128,127,248,192,31,252,192, + 15,252,192,3,254,224,1,254,224,0,126,224,0,62,240,0, + 30,248,0,30,248,0,28,252,0,28,254,0,24,239,0,48, + 195,128,96,193,255,128,29,34,136,34,3,0,255,255,255,248, + 255,63,231,248,252,31,193,248,248,31,192,248,248,31,192,248, + 240,31,192,120,224,31,192,56,224,31,192,56,224,31,192,56, + 192,31,192,24,192,31,192,24,192,31,192,24,192,31,192,24, + 128,31,192,8,0,31,192,0,0,31,192,0,0,31,192,0, + 0,31,192,0,0,31,192,0,0,31,192,0,0,31,192,0, + 0,31,192,0,0,31,192,0,0,31,192,0,0,31,192,0, + 0,31,192,0,0,31,192,0,0,31,192,0,0,31,192,0, + 0,31,192,0,0,31,192,0,0,31,192,0,0,31,192,0, + 3,255,254,0,33,34,170,38,3,0,255,255,7,255,128,15, + 224,1,254,0,15,224,0,120,0,15,224,0,48,0,15,224, + 0,48,0,15,224,0,48,0,15,224,0,48,0,15,224,0, + 48,0,15,224,0,48,0,15,224,0,48,0,15,224,0,48, + 0,15,224,0,48,0,15,224,0,48,0,15,224,0,48,0, + 15,224,0,48,0,15,224,0,48,0,15,224,0,48,0,15, + 224,0,48,0,15,224,0,48,0,15,224,0,48,0,15,224, + 0,48,0,15,224,0,48,0,15,224,0,48,0,15,224,0, + 48,0,15,224,0,48,0,15,224,0,48,0,7,224,0,48, + 0,7,224,0,96,0,7,240,0,96,0,3,240,0,192,0, + 1,248,1,192,0,0,252,3,128,0,0,127,159,0,0,0, + 31,252,0,0,34,34,170,37,2,0,255,255,135,255,192,15, + 248,0,126,0,7,248,0,56,0,7,248,0,56,0,3,248, + 0,48,0,3,252,0,48,0,3,252,0,48,0,1,254,0, + 96,0,1,254,0,96,0,0,254,0,96,0,0,255,0,192, + 0,0,255,0,192,0,0,127,0,192,0,0,127,129,128,0, + 0,127,129,128,0,0,63,129,128,0,0,63,195,0,0,0, + 63,195,0,0,0,31,195,0,0,0,31,230,0,0,0,15, + 230,0,0,0,15,246,0,0,0,15,252,0,0,0,7,252, + 0,0,0,7,252,0,0,0,7,248,0,0,0,3,248,0, + 0,0,3,248,0,0,0,3,240,0,0,0,1,240,0,0, + 0,1,240,0,0,0,0,224,0,0,0,0,224,0,0,0, + 0,224,0,0,49,34,238,52,2,0,255,255,63,255,207,255, + 128,31,252,7,254,0,252,0,7,248,3,252,0,112,0,7, + 248,1,252,0,112,0,3,248,1,254,0,96,0,3,252,1, + 254,0,96,0,3,252,0,254,0,96,0,1,252,0,254,0, + 192,0,1,254,1,255,0,192,0,1,254,1,255,0,192,0, + 0,254,1,255,1,128,0,0,255,3,127,129,128,0,0,255, + 3,63,129,128,0,0,127,3,63,129,128,0,0,127,135,63, + 195,0,0,0,127,134,31,195,0,0,0,63,134,31,195,0, + 0,0,63,198,31,231,0,0,0,31,204,15,230,0,0,0, + 31,204,15,230,0,0,0,31,236,15,246,0,0,0,15,248, + 7,252,0,0,0,15,248,7,252,0,0,0,15,248,7,252, + 0,0,0,7,248,3,252,0,0,0,7,240,3,248,0,0, + 0,7,240,3,248,0,0,0,3,240,1,248,0,0,0,3, + 224,1,240,0,0,0,3,224,1,240,0,0,0,1,224,0, + 240,0,0,0,1,192,0,240,0,0,0,1,192,0,224,0, + 0,0,0,192,0,96,0,0,33,34,170,36,2,0,127,255, + 31,254,0,31,252,3,240,0,7,248,3,192,0,3,248,3, + 128,0,3,252,3,128,0,1,252,3,0,0,1,254,7,0, + 0,0,255,6,0,0,0,255,12,0,0,0,127,140,0,0, + 0,127,152,0,0,0,63,240,0,0,0,63,240,0,0,0, + 31,224,0,0,0,31,224,0,0,0,15,240,0,0,0,15, + 248,0,0,0,7,248,0,0,0,7,252,0,0,0,7,252, + 0,0,0,15,254,0,0,0,29,254,0,0,0,24,255,0, + 0,0,56,255,0,0,0,48,127,128,0,0,96,127,128,0, + 0,224,63,192,0,0,192,63,224,0,1,128,31,224,0,3, + 128,31,240,0,3,128,15,240,0,7,128,15,248,0,31,128, + 31,252,0,255,240,127,255,128,32,34,136,35,2,0,255,254, + 15,255,31,248,1,248,15,248,0,240,7,248,0,224,7,248, + 0,192,3,252,0,192,3,252,0,192,1,252,1,128,1,254, + 1,128,0,254,3,0,0,255,3,0,0,255,3,0,0,127, + 134,0,0,127,134,0,0,63,196,0,0,63,204,0,0,31, + 204,0,0,31,248,0,0,15,248,0,0,15,248,0,0,7, + 240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7, + 240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7, + 240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7, + 240,0,0,255,255,0,25,34,136,31,3,0,127,255,255,128, + 127,128,127,128,126,0,255,0,124,0,255,0,120,1,254,0, + 120,3,254,0,112,3,252,0,112,7,252,0,96,7,248,0, + 96,15,248,0,96,15,240,0,64,31,224,0,0,31,224,0, + 0,63,192,0,0,63,192,0,0,127,128,0,0,127,128,0, + 0,255,0,0,0,255,0,0,1,254,0,0,3,254,0,128, + 3,252,0,128,7,248,0,128,7,248,0,128,15,240,1,128, + 15,240,1,128,31,224,3,128,31,224,3,128,63,192,7,128, + 63,192,15,128,127,128,31,128,127,128,63,128,255,255,255,128, + 255,255,255,128,11,42,84,18,4,248,255,224,248,0,248,0, + 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, + 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, + 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, + 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, + 248,0,248,0,248,0,248,0,248,0,248,0,255,224,16,44, + 88,22,3,247,224,0,224,0,224,0,240,0,112,0,112,0, + 120,0,56,0,56,0,60,0,28,0,28,0,30,0,14,0, + 14,0,14,0,15,0,7,0,7,0,7,128,3,128,3,128, + 3,192,1,192,1,192,1,224,0,224,0,224,0,224,0,240, + 0,112,0,112,0,120,0,56,0,56,0,60,0,28,0,28, + 0,30,0,14,0,14,0,14,0,15,0,7,11,42,84,18, + 3,248,255,224,3,224,3,224,3,224,3,224,3,224,3,224, + 3,224,3,224,3,224,3,224,3,224,3,224,3,224,3,224, + 3,224,3,224,3,224,3,224,3,224,3,224,3,224,3,224, + 3,224,3,224,3,224,3,224,3,224,3,224,3,224,3,224, + 3,224,3,224,3,224,3,224,3,224,3,224,3,224,3,224, + 3,224,3,224,255,224,22,17,51,28,3,18,0,48,0,0, + 112,0,0,120,0,0,252,0,0,252,0,1,254,0,3,207, + 0,3,143,0,7,135,128,15,3,128,15,3,192,30,1,224, + 60,0,224,60,0,240,120,0,120,112,0,56,240,0,60,25, + 3,12,25,0,248,255,255,255,128,255,255,255,128,255,255,255, + 128,8,9,9,21,4,25,96,240,248,124,60,30,15,3,1, + 21,22,66,24,2,1,15,248,0,24,62,0,56,63,0,120, + 31,0,124,31,128,126,31,128,126,31,128,62,31,128,8,63, + 128,1,255,128,7,159,128,30,31,128,62,31,128,124,31,128, + 124,31,128,252,31,128,252,31,136,252,31,136,252,31,152,254, + 63,144,127,127,240,63,143,224,22,34,102,25,1,0,255,128, + 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, + 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, + 128,0,31,159,128,31,179,224,31,225,224,31,193,240,31,193, + 248,31,192,248,31,192,248,31,128,252,31,128,252,31,128,252, + 31,128,252,31,128,252,31,128,252,31,128,252,31,128,252,31, + 128,248,31,192,248,31,193,248,29,193,240,24,225,224,24,99, + 192,16,63,128,18,22,66,22,2,1,3,252,0,15,6,0, + 31,3,0,62,3,128,62,7,128,126,15,128,124,31,128,252, + 31,128,252,31,0,252,14,0,252,0,0,252,0,0,252,0, + 0,252,0,0,252,0,0,124,0,64,124,0,192,62,0,128, + 62,0,128,30,1,0,15,130,0,3,252,0,23,34,102,26, + 2,0,0,63,224,0,7,224,0,7,224,0,7,224,0,7, + 224,0,7,224,0,7,224,0,7,224,0,7,224,0,7,224, + 0,7,224,0,7,224,7,231,224,31,23,224,30,31,224,62, + 15,224,126,15,224,124,15,224,124,7,224,252,7,224,252,7, + 224,252,7,224,252,7,224,252,7,224,252,7,224,252,7,224, + 252,7,224,124,7,224,124,15,224,126,15,224,62,15,224,30, + 31,224,15,23,224,7,231,254,18,22,66,23,2,1,3,252, + 0,14,30,0,30,31,0,62,15,128,60,15,128,124,15,128, + 124,15,192,252,15,192,252,15,192,252,15,192,255,255,192,252, + 0,0,252,0,0,252,0,0,252,0,64,124,0,64,124,0, + 192,62,0,192,62,0,128,31,1,0,15,131,0,3,252,0, + 18,34,102,16,1,1,0,255,0,1,199,128,7,199,128,7, + 199,192,15,143,192,15,143,192,31,143,192,31,143,128,31,135, + 128,31,128,0,31,128,0,31,128,0,255,240,0,31,128,0, + 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, + 128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128, + 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, + 31,128,0,31,128,0,31,128,0,255,240,0,24,33,99,27, + 2,246,7,254,62,31,15,71,63,7,143,62,7,207,126,7, + 238,126,7,228,126,7,224,126,7,224,126,7,224,62,7,192, + 31,15,128,15,15,0,3,252,0,12,0,0,48,0,0,48, + 0,0,112,0,0,112,0,0,127,255,128,127,255,224,63,255, + 240,31,255,240,7,255,248,60,1,248,96,0,120,192,0,56, + 192,0,56,192,0,48,192,0,112,96,0,96,48,1,192,30, + 7,128,3,252,0,24,34,102,27,1,0,255,128,0,31,128, + 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, + 31,128,0,31,128,0,31,128,0,31,128,0,31,129,0,31, + 143,224,31,145,240,31,160,248,31,160,252,31,192,252,31,192, + 252,31,192,252,31,128,252,31,128,252,31,128,252,31,128,252, + 31,128,252,31,128,252,31,128,252,31,128,252,31,128,252,31, + 128,252,31,128,252,31,128,252,31,128,252,31,128,252,255,227, + 255,11,35,70,15,2,0,4,0,31,0,63,128,63,128,63, + 128,63,128,31,0,4,0,0,0,0,0,0,0,0,0,0, + 0,255,0,63,0,63,0,63,0,63,0,63,0,63,0,63, + 0,63,0,63,0,63,0,63,0,63,0,63,0,63,0,63, + 0,63,0,63,0,63,0,63,0,63,0,255,224,15,46,92, + 16,254,245,0,16,0,124,0,254,0,254,0,254,0,254,0, + 124,0,16,0,0,0,0,0,0,0,0,0,0,7,252,0, + 252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0, + 252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0, + 252,0,252,0,252,0,252,0,252,0,252,0,252,56,252,124, + 252,252,252,252,252,248,248,248,248,113,240,49,224,31,128,25, + 34,136,27,1,0,255,128,0,0,31,128,0,0,31,128,0, + 0,31,128,0,0,31,128,0,0,31,128,0,0,31,128,0, + 0,31,128,0,0,31,128,0,0,31,128,0,0,31,128,0, + 0,31,128,0,0,31,131,254,0,31,128,240,0,31,128,96, + 0,31,128,192,0,31,128,128,0,31,129,128,0,31,131,0, + 0,31,134,0,0,31,143,0,0,31,159,0,0,31,159,128, + 0,31,191,128,0,31,239,192,0,31,199,224,0,31,135,224, + 0,31,131,240,0,31,129,248,0,31,129,248,0,31,128,252, + 0,31,128,252,0,31,128,254,0,255,243,255,128,12,34,68, + 14,1,0,255,128,31,128,31,128,31,128,31,128,31,128,31, + 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, + 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, + 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, + 128,31,128,31,128,255,240,34,22,110,37,2,1,255,31,193, + 248,0,63,35,230,124,0,63,67,228,62,0,63,131,248,63, + 0,63,131,248,63,0,63,131,248,63,0,63,3,240,63,0, + 63,3,240,63,0,63,3,240,63,0,63,3,240,63,0,63, + 3,240,63,0,63,3,240,63,0,63,3,240,63,0,63,3, + 240,63,0,63,3,240,63,0,63,3,240,63,0,63,3,240, + 63,0,63,3,240,63,0,63,3,240,63,0,63,3,240,63, + 0,63,3,240,63,0,255,207,252,255,192,23,22,66,27,2, + 1,255,31,192,63,35,224,63,65,240,63,65,248,63,129,248, + 63,129,248,63,1,248,63,1,248,63,1,248,63,1,248,63, + 1,248,63,1,248,63,1,248,63,1,248,63,1,248,63,1, + 248,63,1,248,63,1,248,63,1,248,63,1,248,63,1,248, + 255,199,254,20,22,66,24,2,1,3,252,0,15,15,0,30, + 7,128,62,7,192,62,7,192,124,3,224,124,3,224,252,3, + 240,252,3,240,252,3,240,252,3,240,252,3,240,252,3,240, + 252,3,240,252,3,240,124,3,224,124,3,224,62,7,192,62, + 7,192,30,7,128,15,15,0,3,252,0,22,33,99,25,1, + 246,255,159,128,31,163,192,31,225,224,31,193,240,31,192,248, + 31,192,248,31,192,248,31,128,252,31,128,252,31,128,252,31, + 128,252,31,128,252,31,128,252,31,128,252,31,128,252,31,192, + 252,31,192,248,31,192,248,31,193,240,31,225,240,31,179,224, + 31,159,128,31,128,0,31,128,0,31,128,0,31,128,0,31, + 128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128, + 0,255,240,0,22,33,99,25,2,246,7,240,32,15,24,96, + 30,28,96,62,14,224,126,15,224,124,15,224,124,7,224,252, + 7,224,252,7,224,252,7,224,252,7,224,252,7,224,252,7, + 224,252,7,224,252,7,224,124,7,224,124,15,224,126,15,224, + 62,15,224,30,31,224,31,23,224,7,231,224,0,7,224,0, + 7,224,0,7,224,0,7,224,0,7,224,0,7,224,0,7, + 224,0,7,224,0,7,224,0,7,224,0,63,252,17,22,66, + 20,2,1,255,31,0,63,63,128,63,79,128,63,79,128,63, + 159,128,63,159,128,63,159,0,63,14,0,63,0,0,63,0, + 0,63,0,0,63,0,0,63,0,0,63,0,0,63,0,0, + 63,0,0,63,0,0,63,0,0,63,0,0,63,0,0,63, + 0,0,255,192,0,16,22,44,21,3,1,31,196,48,116,96, + 60,224,28,224,28,240,12,248,4,254,4,127,128,127,224,63, + 240,31,252,7,254,129,254,192,127,192,31,224,15,224,7,240, + 7,248,6,204,14,135,248,15,32,64,17,1,0,1,128,1, + 128,1,128,1,128,1,128,3,128,3,128,7,128,15,128,63, + 128,255,248,31,128,31,128,31,128,31,128,31,128,31,128,31, + 128,31,128,31,128,31,128,31,128,31,130,31,130,31,130,31, + 130,31,134,31,134,31,132,15,196,15,248,7,240,24,22,66, + 26,1,0,255,143,248,31,129,248,31,129,248,31,129,248,31, + 129,248,31,129,248,31,129,248,31,129,248,31,129,248,31,129, + 248,31,129,248,31,129,248,31,129,248,31,129,248,31,129,248, + 31,129,248,31,131,248,31,131,248,31,133,248,15,133,248,15, + 201,248,7,241,255,23,23,69,25,1,255,255,241,254,63,192, + 120,31,128,48,15,192,48,15,192,32,7,192,96,7,224,96, + 7,224,64,3,224,192,3,240,128,3,240,128,1,241,128,1, + 249,0,0,249,0,0,255,0,0,254,0,0,126,0,0,126, + 0,0,124,0,0,60,0,0,60,0,0,24,0,0,24,0, + 35,23,115,37,1,255,255,231,255,31,224,63,129,252,7,128, + 31,128,252,3,0,15,128,252,2,0,15,192,124,2,0,15, + 192,124,6,0,7,192,126,4,0,7,224,254,4,0,3,224, + 191,12,0,3,224,191,8,0,3,241,159,24,0,1,241,31, + 144,0,1,241,31,144,0,1,251,31,176,0,0,250,15,224, + 0,0,250,15,224,0,0,254,15,224,0,0,124,7,192,0, + 0,124,7,192,0,0,60,7,192,0,0,56,3,128,0,0, + 56,3,128,0,0,24,3,0,0,23,22,66,25,1,0,255, + 231,252,63,192,240,31,192,224,15,192,192,15,225,128,7,227, + 0,3,242,0,3,254,0,1,252,0,1,252,0,0,252,0, + 0,126,0,0,127,0,0,127,0,0,223,128,1,159,192,3, + 15,192,2,15,224,6,7,224,14,7,240,30,7,248,255,207, + 254,23,33,99,25,1,245,255,241,254,63,192,120,31,128,48, + 15,192,32,15,192,32,15,192,96,7,224,64,7,224,64,3, + 240,192,3,240,128,1,248,128,1,249,128,0,249,0,0,253, + 0,0,253,0,0,126,0,0,126,0,0,62,0,0,60,0, + 0,28,0,0,28,0,0,12,0,0,8,0,0,8,0,0, + 8,0,15,16,0,31,16,0,63,144,0,63,32,0,62,32, + 0,62,64,0,31,192,0,15,0,0,18,22,66,22,2,0, + 127,255,192,124,15,192,120,31,128,112,63,0,96,63,0,96, + 126,0,64,126,0,64,252,0,1,248,0,1,248,0,3,240, + 0,3,240,0,7,224,64,15,192,64,15,192,64,31,128,192, + 31,0,192,63,1,192,126,1,192,126,3,192,252,15,192,255, + 255,192,14,43,86,20,3,247,0,60,0,240,3,192,7,128, + 7,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, + 15,128,15,128,15,128,15,128,15,128,15,128,15,0,15,0, + 28,0,240,0,60,0,30,0,15,0,15,128,15,128,15,128, + 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, + 15,128,15,128,7,128,7,128,3,192,0,240,0,60,3,44, + 44,13,5,247,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, + 15,43,86,20,3,247,240,0,60,0,15,0,7,128,7,128, + 7,192,7,192,7,192,7,192,7,192,7,192,7,192,7,192, + 7,192,7,192,7,192,7,192,7,192,3,192,3,192,0,240, + 0,62,0,240,1,224,3,192,7,192,7,192,7,192,7,192, + 7,192,7,192,7,192,7,192,7,192,7,192,7,192,7,192, + 7,192,7,128,7,128,15,0,60,0,240,0,27,9,36,31, + 2,8,31,128,1,128,63,240,0,192,127,254,0,96,255,255, + 128,96,193,255,240,96,192,63,255,224,192,15,255,192,96,1, + 255,128,48,0,63,0,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, + 255,255,255,255,255,255,255,0,0,0,13,0,0,8,35,35, + 14,3,245,60,126,255,255,255,126,60,0,0,0,24,24,24, + 24,24,24,24,24,60,60,60,60,126,126,126,126,254,255,255, + 255,255,255,255,126,60,18,34,102,28,5,250,0,96,0,0, + 96,0,0,96,0,0,96,0,0,96,0,1,240,0,7,236, + 0,15,103,0,30,99,0,62,99,128,126,103,128,126,111,128, + 124,111,128,252,111,128,252,103,0,252,96,0,252,96,0,252, + 96,0,252,96,0,252,96,0,252,96,0,124,96,192,124,96, + 192,62,96,128,62,97,128,30,97,0,15,99,0,7,252,0, + 0,248,0,0,96,0,0,96,0,0,96,0,0,96,0,0, + 96,0,29,34,136,34,3,1,0,1,255,0,0,7,129,192, + 0,31,0,224,0,31,0,224,0,63,0,240,0,126,1,240, + 0,126,3,240,0,254,3,240,0,254,3,224,0,254,1,192, + 0,254,0,0,0,254,0,0,0,254,0,0,0,254,0,0, + 15,254,0,0,24,126,6,0,0,127,252,0,0,127,0,0, + 0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0, + 0,31,0,0,0,31,0,0,0,30,0,0,0,30,0,24, + 30,28,0,56,127,220,0,112,195,248,0,224,128,255,255,224, + 128,127,255,192,128,255,255,128,193,207,255,0,127,3,252,0, + 24,22,66,28,2,5,96,126,6,243,255,207,127,255,254,63, + 129,252,30,0,120,60,0,60,56,0,28,56,0,28,112,0, + 14,112,0,14,112,0,14,112,0,14,112,0,14,112,0,14, + 56,0,28,56,0,28,60,0,60,30,0,120,63,129,252,127, + 255,254,243,255,207,96,126,6,26,34,136,28,1,0,255,248, + 63,192,63,224,15,0,31,224,14,0,31,224,12,0,31,224, + 12,0,15,240,8,0,15,240,8,0,7,240,24,0,7,248, + 16,0,3,248,48,0,3,252,32,0,3,252,96,0,1,254, + 64,0,1,254,192,0,0,254,128,0,0,255,128,0,0,255, + 0,0,63,255,254,0,0,127,0,0,0,127,0,0,0,127, + 0,0,0,127,0,0,63,255,254,0,0,127,0,0,0,127, + 0,0,0,127,0,0,0,127,0,0,0,127,0,0,0,127, + 0,0,0,127,0,0,0,127,0,0,0,127,0,0,0,127, + 0,0,7,255,248,0,3,42,42,13,5,248,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,0,0,0, + 0,0,0,0,0,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,22,43,129,30,2,248,1,255,0,7, + 1,192,14,0,224,28,0,224,28,1,240,60,3,240,60,7, + 240,60,7,240,62,7,224,62,3,192,63,0,0,31,192,0, + 31,248,0,15,254,0,31,255,128,55,255,192,97,255,240,96, + 127,248,224,31,248,224,7,252,240,1,252,252,0,124,255,0, + 60,255,192,28,127,240,24,63,252,24,31,255,16,15,255,160, + 3,255,192,0,255,224,0,63,224,0,15,240,6,3,240,31, + 129,240,63,128,240,63,128,240,63,128,240,63,0,240,62,0, + 224,28,1,192,28,3,192,15,7,0,3,252,0,15,6,12, + 21,3,26,120,60,252,126,252,126,252,126,252,126,120,60,35, + 34,170,39,2,1,0,15,254,0,0,0,112,3,192,0,0, + 192,0,96,0,3,128,0,56,0,6,0,0,28,0,12,0, + 0,6,0,24,3,225,134,0,24,15,25,131,0,48,30,15, + 129,128,48,62,7,129,128,96,60,3,128,192,96,124,3,128, + 192,96,124,1,128,192,192,252,1,128,96,192,252,1,128,96, + 192,252,0,0,96,192,252,0,0,96,192,252,0,0,96,192, + 252,0,0,96,192,252,0,128,96,192,252,0,128,96,64,124, + 0,128,192,96,124,1,128,192,96,60,1,0,192,48,62,3, + 1,128,48,30,2,1,128,24,15,12,3,0,24,3,248,6, + 0,12,0,0,6,0,6,0,0,12,0,3,128,0,56,0, + 0,192,0,96,0,0,112,1,192,0,0,15,254,0,0,14, + 17,34,18,2,17,31,0,51,192,97,224,113,224,121,224,57, + 224,7,224,57,224,113,224,241,224,241,228,241,228,241,228,126, + 248,0,0,127,252,127,252,13,20,40,23,5,1,4,0,28, + 24,24,48,56,112,112,96,112,224,241,224,241,224,241,224,241, + 224,241,224,241,224,241,224,112,224,112,224,112,96,56,48,24, + 16,12,0,4,0,23,13,39,27,2,6,255,255,254,255,255, + 254,255,255,254,0,0,14,0,0,14,0,0,14,0,0,14, + 0,0,14,0,0,14,0,0,14,0,0,14,0,0,14,0, + 0,14,12,5,10,18,3,10,255,240,255,240,255,240,255,240, + 255,240,35,34,170,39,2,1,0,15,254,0,0,0,112,3, + 192,0,0,192,0,96,0,3,128,0,56,0,6,0,0,28, + 0,12,0,0,6,0,24,255,252,6,0,24,62,31,3,0, + 48,62,15,129,128,48,62,15,193,128,96,62,15,192,192,96, + 62,15,192,192,96,62,15,192,192,192,62,15,128,96,192,62, + 31,0,96,192,63,248,0,96,192,62,60,0,96,192,62,30, + 0,96,192,62,15,0,96,192,62,15,128,96,192,62,15,128, + 96,64,62,15,128,192,96,62,15,136,192,96,62,15,136,192, + 48,62,15,137,128,48,62,15,145,128,24,255,231,243,0,24, + 0,3,230,0,12,0,0,6,0,6,0,0,12,0,3,128, + 0,56,0,0,192,0,96,0,0,112,1,192,0,0,15,254, + 0,0,12,3,6,20,4,28,255,240,255,240,255,240,16,15, + 30,28,6,20,15,240,31,248,62,124,120,30,240,14,224,7, + 224,7,224,7,224,7,224,14,112,14,124,60,63,252,31,240, + 3,192,41,36,216,45,2,253,0,0,28,0,0,0,0,0, + 28,0,0,0,0,0,28,0,0,0,0,0,28,0,0,0, + 0,0,28,0,0,0,0,0,28,0,0,0,0,0,28,0, + 0,0,0,0,28,0,0,0,0,0,28,0,0,0,0,0, + 28,0,0,0,0,0,28,0,0,0,0,0,28,0,0,0, + 0,0,28,0,0,0,0,0,28,0,0,0,255,255,255,255, + 255,128,255,255,255,255,255,128,255,255,255,255,255,128,0,0, + 28,0,0,0,0,0,28,0,0,0,0,0,28,0,0,0, + 0,0,28,0,0,0,0,0,28,0,0,0,0,0,28,0, + 0,0,0,0,28,0,0,0,0,0,28,0,0,0,0,0, + 28,0,0,0,0,0,28,0,0,0,0,0,28,0,0,0, + 0,0,28,0,0,0,0,0,28,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255, + 255,255,255,0,255,255,255,255,255,0,255,255,255,255,255,0, + 14,21,42,21,4,14,31,240,48,248,96,124,224,124,240,124, + 248,124,248,120,120,248,1,240,1,224,3,128,6,0,12,4, + 16,4,32,4,32,12,127,252,127,252,79,248,71,248,1,224, + 16,21,42,22,3,14,31,224,48,248,112,124,112,124,124,124, + 124,124,60,124,0,120,0,224,15,128,0,240,0,124,0,62, + 16,63,124,63,252,63,252,63,240,63,112,126,112,252,31,240, + 8,9,9,21,9,25,6,15,31,62,60,120,240,192,128,24, + 35,105,29,3,244,120,3,192,124,3,192,252,7,224,252,7, + 224,252,7,224,252,7,224,252,7,224,252,7,224,252,7,224, + 248,7,224,248,7,224,120,7,192,112,3,192,112,3,193,112, + 3,129,48,3,131,48,7,135,48,7,255,56,15,254,62,62, + 254,47,252,126,35,248,60,32,0,0,48,0,0,112,0,0, + 112,0,0,120,0,0,124,0,0,124,0,0,124,0,0,126, + 0,0,126,0,0,126,0,0,62,0,0,28,0,0,23,41, + 123,28,3,249,3,255,254,15,240,224,63,240,224,127,240,224, + 127,240,224,255,240,224,255,240,224,255,240,224,255,240,224,255, + 240,224,255,240,224,255,240,224,255,240,224,255,240,224,127,240, + 224,63,240,224,31,240,224,7,240,224,0,112,224,0,112,224, + 0,112,224,0,112,224,0,112,224,0,112,224,0,112,224,0, + 112,224,0,112,224,0,112,224,0,112,224,0,112,224,0,112, + 224,0,112,224,0,112,224,0,112,224,0,112,224,0,112,224, + 0,112,224,0,112,224,0,112,224,0,112,224,0,112,224,8, + 7,7,14,3,12,60,126,255,255,255,126,60,10,10,20,21, + 5,246,8,0,8,0,24,0,15,0,7,128,3,192,3,192, + 3,192,199,128,63,0,11,20,40,21,5,14,7,0,15,0, + 255,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, + 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, + 31,0,255,224,13,17,34,19,3,17,15,128,24,192,56,224, + 112,112,112,112,240,120,240,120,240,120,240,120,240,120,240,120, + 112,112,112,224,56,224,15,128,0,0,255,248,13,20,40,23, + 5,1,1,0,193,128,96,192,112,224,48,112,56,112,56,120, + 60,120,60,120,60,120,60,120,60,120,60,120,56,112,56,112, + 48,112,96,224,64,192,1,128,1,0,36,36,180,44,5,255, + 0,0,0,48,0,7,0,0,48,0,7,0,0,96,0,31, + 0,0,224,0,255,0,0,192,0,31,0,1,192,0,31,0, + 1,128,0,31,0,3,0,0,31,0,7,0,0,31,0,6, + 0,0,31,0,14,0,0,31,0,12,0,0,31,0,24,0, + 0,31,0,24,0,0,31,0,48,0,0,31,0,112,15,0, + 31,0,96,31,0,31,0,224,31,0,31,0,192,63,0,31, + 1,128,127,0,255,227,128,127,0,0,3,0,223,0,0,7, + 1,159,0,0,6,1,159,0,0,12,3,31,0,0,12,2, + 31,0,0,24,6,31,0,0,56,12,31,0,0,48,15,255, + 240,0,112,0,31,0,0,96,0,31,0,0,192,0,31,0, + 1,192,0,31,0,1,128,0,31,0,3,128,1,255,224,3, + 0,0,0,0,35,36,180,43,5,255,0,0,0,56,0,7, + 0,0,48,0,7,0,0,112,0,31,0,0,224,0,255,0, + 0,192,0,31,0,1,192,0,31,0,1,128,0,31,0,3, + 128,0,31,0,3,0,0,31,0,7,0,0,31,0,14,0, + 0,31,0,12,0,0,31,0,28,0,0,31,0,24,0,0, + 31,0,56,126,0,31,0,113,143,128,31,0,99,7,192,31, + 0,231,3,224,31,0,199,3,224,31,1,199,131,224,255,227, + 135,195,224,0,3,3,199,192,0,7,1,135,128,0,6,0, + 15,0,0,14,0,30,0,0,12,0,56,0,0,24,0,96, + 0,0,56,0,128,32,0,48,1,0,32,0,112,2,0,32, + 0,96,2,255,224,0,192,7,255,224,1,192,6,255,192,1, + 128,4,127,192,3,128,4,63,128,3,0,0,0,0,38,36, + 180,44,3,255,0,0,0,12,0,31,224,0,12,0,48,248, + 0,24,0,112,124,0,56,0,112,124,0,48,0,124,124,0, + 112,0,124,124,0,96,0,60,124,0,192,0,0,120,1,192, + 0,0,224,1,128,0,15,128,3,128,0,0,240,3,0,0, + 0,124,7,0,0,0,62,6,0,0,16,63,12,0,0,124, + 63,28,3,192,252,63,24,7,192,252,63,56,7,192,240,63, + 48,15,192,112,126,112,31,192,112,252,224,31,192,31,240,192, + 55,192,0,1,192,103,192,0,1,128,103,192,0,3,128,199, + 192,0,3,0,135,192,0,6,1,135,192,0,14,3,7,192, + 0,12,3,255,252,0,28,0,7,192,0,24,0,7,192,0, + 56,0,7,192,0,112,0,7,192,0,96,0,7,192,0,224, + 0,127,248,0,192,0,0,0,16,35,70,23,3,245,7,0, + 15,128,31,192,31,192,31,192,15,128,7,0,0,0,0,0, + 7,128,12,224,16,48,16,48,16,48,16,48,0,96,0,224, + 0,192,3,192,7,128,15,128,31,0,31,4,62,4,126,6, + 124,2,252,3,252,3,252,3,252,3,252,6,126,6,63,12, + 31,248,7,224,33,45,225,36,2,0,0,56,0,0,0,0, + 60,0,0,0,0,62,0,0,0,0,62,0,0,0,0,31, + 0,0,0,0,7,0,0,0,0,3,128,0,0,0,1,192, + 0,0,0,0,64,0,0,0,0,0,0,0,0,0,192,0, + 0,0,1,192,0,0,0,1,224,0,0,0,1,224,0,0, + 0,3,224,0,0,0,3,240,0,0,0,3,240,0,0,0, + 7,240,0,0,0,7,248,0,0,0,7,248,0,0,0,15, + 248,0,0,0,15,252,0,0,0,15,252,0,0,0,25,252, + 0,0,0,25,254,0,0,0,25,254,0,0,0,48,254,0, + 0,0,48,255,0,0,0,32,255,0,0,0,96,127,0,0, + 0,96,127,128,0,0,64,127,128,0,0,192,63,128,0,0, + 192,63,192,0,0,255,255,192,0,1,255,255,192,0,1,128, + 31,224,0,1,0,31,224,0,3,0,15,224,0,3,0,15, + 240,0,2,0,15,240,0,6,0,7,240,0,15,0,7,248, + 0,31,0,15,252,0,255,240,255,255,128,33,45,225,36,2, + 0,0,0,14,0,0,0,0,15,0,0,0,0,31,0,0, + 0,0,62,0,0,0,0,60,0,0,0,0,120,0,0,0, + 0,240,0,0,0,0,192,0,0,0,0,128,0,0,0,0, + 0,0,0,0,0,192,0,0,0,1,192,0,0,0,1,224, + 0,0,0,1,224,0,0,0,3,224,0,0,0,3,240,0, + 0,0,3,240,0,0,0,7,240,0,0,0,7,248,0,0, + 0,7,248,0,0,0,15,248,0,0,0,15,252,0,0,0, + 15,252,0,0,0,25,252,0,0,0,25,254,0,0,0,25, + 254,0,0,0,48,254,0,0,0,48,255,0,0,0,32,255, + 0,0,0,96,127,0,0,0,96,127,128,0,0,64,127,128, + 0,0,192,63,128,0,0,192,63,192,0,0,255,255,192,0, + 1,255,255,192,0,1,128,31,224,0,1,0,31,224,0,3, + 0,15,224,0,3,0,15,240,0,6,0,15,240,0,6,0, + 7,240,0,15,0,7,248,0,255,240,255,255,128,255,240,255, + 255,128,33,44,220,36,2,0,0,1,192,0,0,0,1,224, + 0,0,0,3,224,0,0,0,7,240,0,0,0,15,120,0, + 0,0,30,30,0,0,0,120,7,0,0,0,64,1,128,0, + 0,0,0,0,0,0,0,192,0,0,0,1,192,0,0,0, + 1,224,0,0,0,1,224,0,0,0,3,224,0,0,0,3, + 240,0,0,0,3,240,0,0,0,7,240,0,0,0,7,248, + 0,0,0,7,248,0,0,0,15,248,0,0,0,15,252,0, + 0,0,15,252,0,0,0,25,252,0,0,0,25,254,0,0, + 0,25,254,0,0,0,48,254,0,0,0,48,255,0,0,0, + 32,255,0,0,0,96,127,0,0,0,96,127,128,0,0,64, + 127,128,0,0,192,63,128,0,0,192,63,192,0,0,255,255, + 192,0,1,255,255,192,0,1,128,31,224,0,1,0,31,224, + 0,3,0,15,224,0,3,0,15,240,0,2,0,15,240,0, + 6,0,7,240,0,15,0,7,248,0,31,0,15,252,0,255, + 240,255,255,128,33,43,215,36,2,0,0,15,1,0,0,0, + 31,227,0,0,0,63,254,0,0,0,33,254,0,0,0,32, + 124,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,192,0,0,0,1,192,0,0,0,1,224,0, + 0,0,1,224,0,0,0,3,224,0,0,0,3,240,0,0, + 0,3,240,0,0,0,7,240,0,0,0,7,248,0,0,0, + 7,248,0,0,0,15,248,0,0,0,15,252,0,0,0,15, + 252,0,0,0,25,252,0,0,0,25,254,0,0,0,25,254, + 0,0,0,48,254,0,0,0,48,255,0,0,0,32,255,0, + 0,0,96,127,0,0,0,96,127,128,0,0,64,127,128,0, + 0,192,63,128,0,0,192,63,192,0,0,255,255,192,0,1, + 255,255,192,0,1,128,31,224,0,1,0,31,224,0,3,0, + 15,224,0,3,0,15,240,0,6,0,15,240,0,6,0,7, + 240,0,15,0,7,248,0,255,240,255,255,128,255,240,255,255, + 128,33,43,215,36,2,0,0,60,15,0,0,0,126,31,128, + 0,0,126,31,128,0,0,126,31,128,0,0,126,31,128,0, + 0,60,15,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,192,0,0,0,1,224,0,0,0,1, + 224,0,0,0,1,224,0,0,0,3,240,0,0,0,3,240, + 0,0,0,3,240,0,0,0,7,248,0,0,0,7,248,0, + 0,0,7,248,0,0,0,15,252,0,0,0,15,252,0,0, + 0,25,252,0,0,0,25,254,0,0,0,24,254,0,0,0, + 48,254,0,0,0,48,255,0,0,0,48,127,0,0,0,96, + 127,0,0,0,96,127,128,0,0,96,63,128,0,0,192,63, + 128,0,0,192,63,192,0,0,255,255,192,0,1,255,255,192, + 0,1,128,31,224,0,1,128,15,224,0,3,0,15,224,0, + 3,0,15,240,0,3,0,7,240,0,7,0,7,240,0,15, + 0,7,248,0,31,128,15,252,0,255,240,255,255,128,33,45, + 225,36,2,0,0,1,224,0,0,0,7,248,0,0,0,14, + 28,0,0,0,12,12,0,0,0,12,12,0,0,0,12,12, + 0,0,0,14,28,0,0,0,7,248,0,0,0,3,240,0, + 0,0,0,0,0,0,0,0,192,0,0,0,1,192,0,0, + 0,1,224,0,0,0,1,224,0,0,0,3,224,0,0,0, + 3,240,0,0,0,3,240,0,0,0,7,240,0,0,0,7, + 248,0,0,0,7,248,0,0,0,15,248,0,0,0,13,252, + 0,0,0,13,252,0,0,0,29,252,0,0,0,25,254,0, + 0,0,24,254,0,0,0,56,254,0,0,0,48,255,0,0, + 0,48,127,0,0,0,112,127,0,0,0,96,127,128,0,0, + 96,63,128,0,0,224,63,128,0,0,192,63,192,0,0,255, + 255,192,0,1,255,255,192,0,1,128,31,224,0,1,128,31, + 224,0,3,0,15,224,0,3,0,15,240,0,3,0,15,240, + 0,7,0,7,240,0,15,0,7,248,0,31,128,15,252,0, + 255,240,255,255,128,45,34,204,48,1,0,0,0,127,255,255, + 240,0,0,31,248,7,240,0,0,15,248,1,240,0,0,15, + 248,0,240,0,0,31,248,0,240,0,0,27,248,0,112,0, + 0,59,248,0,112,0,0,51,248,0,48,0,0,115,248,0, + 48,0,0,99,248,12,48,0,0,227,248,12,16,0,0,195, + 248,12,0,0,1,195,248,28,0,0,1,131,248,28,0,0, + 3,131,248,60,0,0,3,3,248,124,0,0,7,3,255,252, + 0,0,6,3,248,124,0,0,14,3,248,60,0,0,12,3, + 248,28,0,0,28,3,248,28,0,0,24,3,248,12,24,0, + 56,3,248,12,24,0,63,255,248,12,24,0,96,3,248,0, + 56,0,224,3,248,0,56,0,192,3,248,0,56,1,192,3, + 248,0,120,1,128,3,248,0,120,3,128,3,248,0,248,7, + 128,3,248,1,248,15,128,3,248,3,248,255,248,127,255,255, + 248,255,248,127,255,255,248,26,45,180,31,3,246,0,127,193, + 128,1,224,241,128,3,192,63,128,7,128,31,128,15,128,15, + 128,31,0,15,128,63,0,7,128,63,0,7,128,63,0,3, + 128,127,0,3,128,127,0,1,128,127,0,1,128,255,0,1, + 128,255,0,1,128,255,0,1,128,255,0,0,0,255,0,0, + 0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0, + 0,255,0,0,192,127,0,0,192,127,0,0,192,127,0,0, + 128,63,0,0,128,63,0,1,128,63,0,1,128,31,128,3, + 0,15,128,3,0,7,128,6,0,3,192,12,0,1,224,56, + 0,0,127,224,0,0,12,0,0,0,8,0,0,0,30,0, + 0,0,31,128,0,0,3,192,0,0,1,224,0,0,1,224, + 0,0,1,224,0,0,129,192,0,0,199,192,0,0,63,0, + 0,27,45,180,33,3,0,0,224,0,0,1,240,0,0,1, + 240,0,0,0,248,0,0,0,124,0,0,0,60,0,0,0, + 14,0,0,0,6,0,0,0,2,0,0,0,0,0,0,0, + 0,0,0,255,255,255,224,15,224,31,224,15,224,7,224,15, + 224,3,224,15,224,1,224,15,224,1,224,15,224,0,224,15, + 224,0,224,15,224,0,96,15,224,48,96,15,224,48,96,15, + 224,48,0,15,224,112,0,15,224,112,0,15,224,240,0,15, + 225,240,0,15,255,240,0,15,225,240,0,15,224,240,0,15, + 224,112,0,15,224,112,32,15,224,48,96,15,224,48,96,15, + 224,48,96,15,224,0,96,15,224,0,96,15,224,0,224,15, + 224,0,224,15,224,1,224,15,224,3,224,15,224,3,224,15, + 224,15,224,255,255,255,224,255,255,255,224,27,45,180,33,3, + 0,0,0,56,0,0,0,120,0,0,0,248,0,0,0,248, + 0,0,1,240,0,0,3,192,0,0,3,128,0,0,6,0, + 0,0,4,0,0,0,0,0,0,0,0,0,0,255,255,255, + 224,15,224,31,224,15,224,7,224,15,224,3,224,15,224,1, + 224,15,224,1,224,15,224,0,224,15,224,0,224,15,224,0, + 96,15,224,48,96,15,224,48,96,15,224,48,0,15,224,112, + 0,15,224,112,0,15,224,240,0,15,225,240,0,15,255,240, + 0,15,225,240,0,15,224,240,0,15,224,112,0,15,224,112, + 32,15,224,48,96,15,224,48,96,15,224,48,96,15,224,0, + 96,15,224,0,224,15,224,0,224,15,224,0,224,15,224,1, + 224,15,224,3,224,15,224,3,224,15,224,15,224,255,255,255, + 224,255,255,255,224,27,44,176,33,3,0,0,6,0,0,0, + 15,0,0,0,15,128,0,0,31,192,0,0,57,224,0,0, + 240,112,0,3,192,28,0,0,0,4,0,0,0,0,0,0, + 0,0,0,255,255,255,224,15,224,31,224,15,224,7,224,15, + 224,3,224,15,224,1,224,15,224,1,224,15,224,0,224,15, + 224,0,224,15,224,0,96,15,224,48,96,15,224,48,96,15, + 224,48,0,15,224,112,0,15,224,112,0,15,224,240,0,15, + 225,240,0,15,255,240,0,15,225,240,0,15,224,240,0,15, + 224,112,0,15,224,112,32,15,224,48,96,15,224,48,96,15, + 224,48,96,15,224,0,96,15,224,0,96,15,224,0,224,15, + 224,0,224,15,224,1,224,15,224,3,224,15,224,3,224,15, + 224,15,224,255,255,255,224,255,255,255,224,27,43,172,33,3, + 0,1,224,120,0,3,240,252,0,3,240,252,0,3,240,252, + 0,3,240,252,0,1,224,120,0,0,0,0,0,0,0,0, + 0,0,0,0,0,255,255,255,224,15,224,31,224,15,224,7, + 224,15,224,3,224,15,224,1,224,15,224,1,224,15,224,0, + 224,15,224,0,224,15,224,0,224,15,224,48,96,15,224,48, + 96,15,224,48,0,15,224,112,0,15,224,112,0,15,224,240, + 0,15,225,240,0,15,255,240,0,15,225,240,0,15,224,240, + 0,15,224,112,0,15,224,112,96,15,224,48,96,15,224,48, + 96,15,224,48,96,15,224,0,96,15,224,0,224,15,224,0, + 224,15,224,0,224,15,224,1,224,15,224,3,224,15,224,3, + 224,15,224,15,224,255,255,255,224,255,255,255,224,16,45,90, + 21,3,0,56,0,124,0,124,0,62,0,31,0,15,0,3, + 128,1,192,0,0,0,0,0,0,255,255,7,240,7,240,7, + 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, + 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, + 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, + 240,7,240,7,240,7,240,7,240,7,240,255,255,16,45,90, + 21,3,0,0,14,0,30,0,62,0,60,0,120,0,240,0, + 224,1,192,0,0,0,0,0,0,255,255,7,240,7,240,7, + 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, + 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, + 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, + 240,7,240,7,240,7,240,7,240,7,240,255,255,16,44,88, + 21,3,0,1,192,3,192,3,224,7,240,31,120,60,28,240, + 7,0,1,0,0,0,0,255,255,7,240,7,240,7,240,7, + 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, + 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, + 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, + 240,7,240,7,240,7,240,255,255,255,255,16,43,86,21,3, + 0,120,30,252,63,252,63,252,63,252,63,120,30,0,0,0, + 0,0,0,255,255,7,240,7,240,7,240,7,240,7,240,7, + 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, + 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, + 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, + 240,7,240,7,240,255,255,32,34,136,37,3,0,255,255,248, + 0,7,240,31,0,7,240,7,128,7,240,3,224,7,240,1, + 240,7,240,1,240,7,240,0,248,7,240,0,252,7,240,0, + 252,7,240,0,254,7,240,0,254,7,240,0,254,7,240,0, + 255,7,240,0,255,7,240,0,255,7,240,0,255,255,255,0, + 255,7,240,0,255,7,240,0,255,7,240,0,255,7,240,0, + 255,7,240,0,254,7,240,0,254,7,240,0,254,7,240,0, + 254,7,240,0,252,7,240,0,252,7,240,0,248,7,240,1, + 240,7,240,1,224,7,240,3,192,7,240,7,128,7,240,31, + 0,255,255,248,0,34,44,220,37,2,255,0,7,128,128,0, + 0,15,241,128,0,0,31,255,0,0,0,16,255,0,0,0, + 16,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,255,224,15,255,192,31,240,3, + 255,0,15,240,0,252,0,15,248,0,120,0,7,252,0,48, + 0,3,254,0,48,0,3,254,0,48,0,3,255,0,48,0, + 3,255,128,48,0,3,255,128,48,0,3,127,192,48,0,3, + 63,224,48,0,3,31,224,48,0,3,31,240,48,0,3,15, + 248,48,0,3,7,248,48,0,3,7,252,48,0,3,3,254, + 48,0,3,1,255,48,0,3,1,255,48,0,3,0,255,176, + 0,3,0,127,240,0,3,0,127,240,0,3,0,63,240,0, + 3,0,31,240,0,3,0,15,240,0,3,0,15,240,0,3, + 0,7,240,0,3,0,3,240,0,3,0,3,240,0,7,128, + 1,240,0,15,192,0,240,0,63,240,0,240,0,255,252,0, + 112,0,0,0,0,48,0,28,45,180,33,3,0,0,192,0, + 0,1,224,0,0,1,240,0,0,0,248,0,0,0,120,0, + 0,0,60,0,0,0,28,0,0,0,6,0,0,0,2,0, + 0,0,0,0,0,0,0,0,0,0,63,192,0,0,224,112, + 0,3,192,56,0,7,128,30,0,15,128,30,0,15,0,15, + 0,31,0,15,128,63,0,15,192,63,0,15,192,127,0,15, + 192,127,0,15,224,127,0,15,224,127,0,15,224,255,0,15, + 240,255,0,15,240,255,0,15,240,255,0,15,240,255,0,15, + 240,255,0,15,240,255,0,15,240,255,0,15,240,127,0,15, + 224,127,0,15,224,127,0,15,224,127,0,15,192,63,0,15, + 192,63,0,15,192,31,0,15,128,15,0,15,0,15,128,31, + 0,7,128,30,0,3,192,60,0,0,224,112,0,0,63,192, + 0,28,45,180,33,3,0,0,0,48,0,0,0,120,0,0, + 0,248,0,0,1,240,0,0,1,224,0,0,3,192,0,0, + 3,128,0,0,6,0,0,0,4,0,0,0,0,0,0,0, + 0,0,0,0,63,192,0,0,224,112,0,3,192,56,0,7, + 128,30,0,15,128,30,0,15,0,15,0,31,0,15,128,63, + 0,15,192,63,0,15,192,127,0,15,192,127,0,15,224,127, + 0,15,224,127,0,15,224,255,0,15,240,255,0,15,240,255, + 0,15,240,255,0,15,240,255,0,15,240,255,0,15,240,255, + 0,15,240,255,0,15,240,127,0,15,224,127,0,15,224,127, + 0,15,224,127,0,15,192,63,0,15,192,63,0,15,192,31, + 0,15,128,15,0,15,0,15,128,31,0,7,128,30,0,3, + 192,60,0,0,224,112,0,0,63,192,0,28,45,180,33,3, + 0,0,6,0,0,0,14,0,0,0,15,0,0,0,31,128, + 0,0,63,192,0,0,121,224,0,0,240,240,0,3,192,60, + 0,3,0,12,0,0,0,0,0,0,0,0,0,0,63,192, + 0,0,224,112,0,3,192,56,0,7,128,30,0,15,128,30, + 0,15,0,15,0,31,0,15,128,63,0,15,192,63,0,15, + 192,127,0,15,192,127,0,15,224,127,0,15,224,127,0,15, + 224,255,0,15,240,255,0,15,240,255,0,15,240,255,0,15, + 240,255,0,15,240,255,0,15,240,255,0,15,240,255,0,15, + 240,127,0,15,224,127,0,15,224,127,0,15,224,127,0,15, + 192,63,0,15,192,63,0,15,192,31,0,15,128,15,0,15, + 0,15,128,31,0,7,128,30,0,3,192,60,0,0,224,112, + 0,0,63,192,0,28,44,176,33,3,0,0,0,8,0,0, + 126,24,0,0,255,248,0,1,255,240,0,1,7,224,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,63,192,0,0,224,112,0,3,192,56,0,7, + 128,30,0,15,128,30,0,15,0,15,0,31,0,15,128,63, + 0,15,192,63,0,15,192,127,0,15,192,127,0,15,224,127, + 0,15,224,127,0,15,224,255,0,15,240,255,0,15,240,255, + 0,15,240,255,0,15,240,255,0,15,240,255,0,15,240,255, + 0,15,240,255,0,15,240,127,0,15,224,127,0,15,224,127, + 0,15,224,127,0,15,192,63,0,15,192,63,0,15,192,31, + 0,15,128,15,0,15,0,15,128,31,0,7,128,30,0,3, + 192,60,0,0,224,112,0,0,63,192,0,28,44,176,33,3, + 0,1,224,120,0,3,240,252,0,3,240,252,0,3,240,252, + 0,3,240,252,0,1,224,120,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,63,192,0,0,224,112, + 0,3,192,56,0,7,128,30,0,15,128,30,0,15,0,15, + 0,31,0,15,128,63,0,15,192,63,0,15,192,127,0,15, + 192,127,0,15,224,127,0,15,224,127,0,15,224,255,0,15, + 240,255,0,15,240,255,0,15,240,255,0,15,240,255,0,15, + 240,255,0,15,240,255,0,15,240,255,0,15,240,127,0,15, + 224,127,0,15,224,127,0,15,224,127,0,15,192,63,0,15, + 192,63,0,15,192,31,0,15,128,15,0,15,0,15,128,31, + 0,7,128,30,0,3,192,60,0,0,224,112,0,0,63,192, + 0,31,30,120,45,7,253,32,0,0,0,112,0,0,12,248, + 0,0,30,124,0,0,60,62,0,0,120,31,0,1,240,15, + 128,3,224,7,192,7,192,3,224,15,128,1,240,31,0,0, + 248,62,0,0,124,124,0,0,62,248,0,0,31,240,0,0, + 15,224,0,0,7,192,0,0,15,224,0,0,31,240,0,0, + 62,248,0,0,124,60,0,0,248,30,0,1,240,15,0,3, + 224,7,128,7,192,3,192,15,128,1,224,31,0,0,240,62, + 0,0,120,124,0,0,60,248,0,0,30,112,0,0,12,28, + 34,136,33,3,1,0,63,224,48,0,224,112,96,1,192,60, + 192,7,128,31,192,15,128,31,128,15,0,15,0,31,0,15, + 128,63,0,15,192,63,0,31,192,63,0,31,224,127,0,63, + 224,127,0,111,224,127,0,239,224,255,0,207,240,255,1,143, + 240,255,3,15,240,255,7,15,240,255,14,15,240,255,12,15, + 240,255,24,15,240,255,48,15,240,255,112,15,224,127,96,15, + 224,127,192,15,224,127,128,15,192,63,128,15,192,63,0,15, + 192,31,0,15,128,15,0,15,0,31,128,30,0,63,128,30, + 0,51,192,56,0,96,224,112,0,192,127,192,0,33,45,225, + 38,3,0,0,24,0,0,0,0,60,0,0,0,0,62,0, + 0,0,0,31,0,0,0,0,15,128,0,0,0,7,128,0, + 0,0,1,192,0,0,0,0,224,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,255,255,7,255,128,15, + 224,1,254,0,15,224,0,120,0,15,224,0,48,0,15,224, + 0,48,0,15,224,0,48,0,15,224,0,48,0,15,224,0, + 48,0,15,224,0,48,0,15,224,0,48,0,15,224,0,48, + 0,15,224,0,48,0,15,224,0,48,0,15,224,0,48,0, + 15,224,0,48,0,15,224,0,48,0,15,224,0,48,0,15, + 224,0,48,0,15,224,0,48,0,15,224,0,48,0,15,224, + 0,48,0,15,224,0,48,0,15,224,0,48,0,15,224,0, + 48,0,15,224,0,48,0,15,224,0,48,0,7,224,0,48, + 0,7,224,0,96,0,7,240,0,96,0,3,240,0,192,0, + 1,248,1,192,0,0,252,3,128,0,0,127,159,0,0,0, + 31,252,0,0,33,45,225,38,3,0,0,0,7,0,0,0, + 0,15,0,0,0,0,15,0,0,0,0,31,0,0,0,0, + 60,0,0,0,0,56,0,0,0,0,112,0,0,0,0,224, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,255,255,7,255,128,15,224,1,254,0,15,224,0,120,0, + 15,224,0,48,0,15,224,0,48,0,15,224,0,48,0,15, + 224,0,48,0,15,224,0,48,0,15,224,0,48,0,15,224, + 0,48,0,15,224,0,48,0,15,224,0,48,0,15,224,0, + 48,0,15,224,0,48,0,15,224,0,48,0,15,224,0,48, + 0,15,224,0,48,0,15,224,0,48,0,15,224,0,48,0, + 15,224,0,48,0,15,224,0,48,0,15,224,0,48,0,15, + 224,0,48,0,15,224,0,48,0,15,224,0,48,0,15,224, + 0,48,0,7,224,0,48,0,7,224,0,96,0,7,240,0, + 96,0,3,240,0,192,0,1,248,1,192,0,0,252,3,128, + 0,0,127,159,0,0,0,31,252,0,0,33,45,225,38,3, + 0,0,0,64,0,0,0,0,224,0,0,0,1,240,0,0, + 0,3,240,0,0,0,7,248,0,0,0,15,28,0,0,0, + 30,15,0,0,0,112,3,128,0,0,0,0,128,0,0,0, + 0,0,0,0,0,0,0,0,255,255,7,255,128,15,224,1, + 254,0,15,224,0,120,0,15,224,0,48,0,15,224,0,48, + 0,15,224,0,48,0,15,224,0,48,0,15,224,0,48,0, + 15,224,0,48,0,15,224,0,48,0,15,224,0,48,0,15, + 224,0,48,0,15,224,0,48,0,15,224,0,48,0,15,224, + 0,48,0,15,224,0,48,0,15,224,0,48,0,15,224,0, + 48,0,15,224,0,48,0,15,224,0,48,0,15,224,0,48, + 0,15,224,0,48,0,15,224,0,48,0,15,224,0,48,0, + 15,224,0,48,0,15,224,0,48,0,7,224,0,48,0,7, + 224,0,96,0,7,240,0,96,0,3,240,0,192,0,1,248, + 1,192,0,0,252,3,128,0,0,127,159,0,0,0,31,252, + 0,0,33,44,220,38,3,0,0,60,15,0,0,0,126,31, + 128,0,0,126,31,128,0,0,126,31,128,0,0,126,31,128, + 0,0,60,15,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,255,254,7,255,128,15, + 224,1,254,0,15,224,0,120,0,15,224,0,48,0,15,224, + 0,48,0,15,224,0,48,0,15,224,0,48,0,15,224,0, + 48,0,15,224,0,48,0,15,224,0,48,0,15,224,0,48, + 0,15,224,0,48,0,15,224,0,48,0,15,224,0,48,0, + 15,224,0,48,0,15,224,0,48,0,15,224,0,48,0,15, + 224,0,48,0,15,224,0,48,0,15,224,0,48,0,15,224, + 0,48,0,15,224,0,48,0,15,224,0,48,0,15,224,0, + 48,0,15,224,0,48,0,15,224,0,48,0,7,224,0,48, + 0,7,224,0,96,0,7,240,0,96,0,3,240,0,192,0, + 1,248,1,192,0,0,252,3,128,0,0,127,159,0,0,0, + 31,252,0,0,32,45,180,35,2,0,0,0,7,0,0,0, + 15,0,0,0,31,0,0,0,31,0,0,0,60,0,0,0, + 120,0,0,0,112,0,0,0,192,0,0,0,128,0,0,0, + 0,0,0,0,0,0,255,254,15,255,31,248,1,248,15,248, + 0,240,7,248,0,224,7,248,0,192,3,252,0,192,3,252, + 0,192,1,252,1,128,1,254,1,128,0,254,3,0,0,255, + 3,0,0,255,3,0,0,127,134,0,0,127,134,0,0,63, + 196,0,0,63,204,0,0,31,204,0,0,31,248,0,0,15, + 248,0,0,15,248,0,0,7,240,0,0,7,240,0,0,7, + 240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7, + 240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7, + 240,0,0,7,240,0,0,7,240,0,0,255,255,0,29,34, + 136,34,3,0,255,255,128,0,7,240,0,0,7,240,0,0, + 7,240,0,0,7,240,0,0,7,240,0,0,7,255,248,0, + 7,240,63,0,7,240,15,192,7,240,15,224,7,240,15,240, + 7,240,7,240,7,240,7,248,7,240,7,248,7,240,7,248, + 7,240,7,248,7,240,7,248,7,240,7,248,7,240,7,240, + 7,240,15,240,7,240,15,224,7,240,15,192,7,240,31,0, + 7,255,252,0,7,240,0,0,7,240,0,0,7,240,0,0, + 7,240,0,0,7,240,0,0,7,240,0,0,7,240,0,0, + 7,240,0,0,7,240,0,0,255,255,128,0,23,34,102,27, + 2,0,0,127,0,1,227,128,3,195,224,7,193,224,7,193, + 240,15,129,240,15,129,240,15,129,240,31,129,240,31,129,224, + 31,129,224,31,129,192,31,131,128,31,188,0,31,131,0,31, + 129,192,31,128,240,31,128,248,31,128,248,31,128,124,31,128, + 124,31,128,126,31,128,126,31,128,126,31,128,126,31,128,126, + 31,128,126,31,184,126,31,252,124,31,252,124,31,248,252,31, + 248,248,31,184,240,255,159,224,21,34,102,24,2,0,24,0, + 0,60,0,0,62,0,0,30,0,0,15,0,0,7,128,0, + 3,128,0,1,192,0,0,192,0,0,0,0,0,0,0,0, + 0,0,15,248,0,24,62,0,56,63,0,120,31,0,124,31, + 128,126,31,128,126,31,128,60,31,128,0,127,128,3,223,128, + 15,31,128,30,31,128,62,31,128,124,31,128,252,31,128,252, + 31,128,252,31,136,252,31,136,252,31,152,254,63,144,127,127, + 240,63,143,224,21,34,102,24,2,0,0,12,0,0,30,0, + 0,62,0,0,62,0,0,124,0,0,120,0,0,224,0,0, + 192,0,1,128,0,0,0,0,0,0,0,0,0,0,15,248, + 0,24,62,0,56,63,0,120,31,0,124,31,128,126,31,128, + 126,31,128,62,31,128,8,63,128,1,255,128,7,159,128,30, + 31,128,62,31,128,124,31,128,124,31,128,252,31,128,252,31, + 136,252,31,136,252,31,152,254,63,144,127,127,240,63,143,224, + 21,34,102,24,2,0,1,192,0,1,224,0,3,224,0,3, + 224,0,7,240,0,7,56,0,14,28,0,28,14,0,48,7, + 0,0,0,0,0,0,0,0,0,0,15,248,0,24,62,0, + 56,63,0,120,31,0,124,31,128,126,31,128,126,31,128,62, + 31,128,8,63,128,1,255,128,7,159,128,30,31,128,62,31, + 128,124,31,128,124,31,128,252,31,128,252,31,136,252,31,136, + 252,31,152,254,63,144,127,127,240,63,143,224,21,32,96,24, + 2,0,15,3,0,31,195,0,63,254,0,49,252,0,32,120, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 15,248,0,24,62,0,56,63,0,120,31,0,124,31,128,126, + 31,128,126,31,128,62,31,128,8,63,128,1,255,128,7,159, + 128,30,31,128,62,31,128,124,31,128,124,31,128,252,31,128, + 252,31,136,252,31,136,252,31,152,254,63,144,127,127,240,63, + 143,224,21,32,96,24,2,0,60,30,0,126,63,0,126,63, + 0,126,63,0,126,63,0,60,30,0,0,0,0,0,0,0, + 0,0,0,0,0,0,15,248,0,24,62,0,56,63,0,120, + 31,0,124,31,128,126,31,128,126,31,128,62,31,128,8,63, + 128,1,255,128,7,159,128,30,31,128,62,31,128,124,31,128, + 124,31,128,252,31,128,252,31,136,252,31,136,252,31,152,254, + 63,144,127,127,240,63,143,224,21,34,102,24,2,1,3,240, + 0,7,248,0,14,28,0,12,12,0,12,12,0,12,12,0, + 14,28,0,7,248,0,1,224,0,0,0,0,0,0,0,0, + 0,0,15,248,0,24,62,0,56,63,0,120,31,0,124,31, + 128,126,31,128,126,31,128,62,31,128,8,63,128,1,255,128, + 7,31,128,30,31,128,62,31,128,124,31,128,124,31,128,252, + 31,128,252,31,136,252,31,136,252,31,152,254,63,144,127,111, + 240,63,199,224,29,22,88,34,2,1,15,240,255,128,24,63, + 195,192,56,63,195,224,120,31,131,240,124,31,129,240,126,31, + 129,240,126,31,129,248,62,31,129,248,0,63,129,248,1,255, + 129,248,7,31,255,248,30,31,128,0,62,31,128,0,124,31, + 128,0,124,31,128,8,252,31,128,8,252,31,128,24,252,31, + 192,16,252,31,192,16,254,51,192,32,127,97,240,64,63,192, + 255,128,18,32,96,22,2,247,3,252,0,15,6,0,31,7, + 0,62,7,128,62,7,128,126,15,128,124,31,128,252,31,128, + 252,31,0,252,14,0,252,0,0,252,0,0,252,0,0,252, + 0,0,252,0,0,124,0,64,124,0,192,62,0,128,62,1, + 128,30,1,0,15,130,0,3,252,0,0,128,0,0,128,0, + 1,128,0,0,240,0,0,56,0,0,60,0,0,60,0,0, + 60,0,4,120,0,3,240,0,18,34,102,23,2,0,28,0, + 0,30,0,0,30,0,0,31,0,0,15,128,0,7,128,0, + 3,192,0,0,192,0,0,96,0,0,0,0,0,0,0,0, + 0,0,3,252,0,14,30,0,30,31,0,62,15,128,60,15, + 128,124,15,128,124,15,192,252,15,192,252,15,192,252,15,192, + 255,255,192,252,0,0,252,0,0,252,0,0,252,0,64,124, + 0,64,124,0,192,62,0,192,62,1,128,31,1,0,15,135, + 0,3,252,0,18,34,102,23,2,0,0,14,0,0,31,0, + 0,31,0,0,62,0,0,60,0,0,120,0,0,240,0,0, + 224,0,1,128,0,0,0,0,0,0,0,0,0,0,3,252, + 0,14,30,0,30,31,0,62,15,128,60,15,128,124,15,128, + 124,15,192,252,15,192,252,15,192,252,15,192,255,255,192,252, + 0,0,252,0,0,252,0,0,252,0,64,124,0,64,124,0, + 192,62,0,192,62,0,128,31,1,0,15,131,0,3,252,0, + 18,34,102,23,2,0,1,224,0,1,224,0,1,240,0,3, + 240,0,3,248,0,7,56,0,14,28,0,28,14,0,56,3, + 0,0,0,0,0,0,0,0,0,0,3,252,0,14,30,0, + 30,31,0,62,15,128,60,15,128,124,15,128,124,15,192,252, + 15,192,252,15,192,252,15,192,255,255,192,252,0,0,252,0, + 0,252,0,0,252,0,64,124,0,64,124,0,192,62,0,192, + 62,0,128,31,1,0,15,131,0,3,252,0,18,32,96,23, + 2,0,30,15,0,63,31,128,63,31,128,63,31,128,63,31, + 128,30,15,0,0,0,0,0,0,0,0,0,0,0,0,0, + 3,252,0,14,30,0,30,31,0,62,15,128,60,15,128,124, + 15,128,124,15,192,252,15,192,252,15,192,252,15,192,255,255, + 192,252,0,0,252,0,0,252,0,0,252,0,64,124,0,64, + 124,0,192,62,0,192,62,0,128,31,1,0,15,131,0,3, + 252,0,12,34,68,15,1,0,96,0,240,0,248,0,248,0, + 124,0,28,0,14,0,7,0,3,0,0,0,0,0,0,0, + 127,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, + 31,128,31,128,31,128,31,128,31,128,31,128,31,128,31,128, + 31,128,31,128,31,128,31,128,31,128,127,240,12,34,68,15, + 2,0,0,224,1,240,1,240,3,224,7,192,7,128,15,0, + 28,0,24,0,0,0,0,0,0,0,255,0,63,0,63,0, + 63,0,63,0,63,0,63,0,63,0,63,0,63,0,63,0, + 63,0,63,0,63,0,63,0,63,0,63,0,63,0,63,0, + 63,0,63,0,255,224,14,34,68,14,0,0,7,128,15,128, + 15,128,15,192,31,224,60,224,56,112,112,60,192,12,0,0, + 0,0,0,0,63,192,15,192,15,192,15,192,15,192,15,192, + 15,192,15,192,15,192,15,192,15,192,15,192,15,192,15,192, + 15,192,15,192,15,192,15,192,15,192,15,192,15,192,63,248, + 14,32,64,14,1,0,120,120,252,252,252,252,252,252,252,252, + 120,120,0,0,0,0,0,0,0,0,63,192,15,192,15,192, + 15,192,15,192,15,192,15,192,15,192,15,192,15,192,15,192, + 15,192,15,192,15,192,15,192,15,192,15,192,15,192,15,192, + 15,192,15,192,63,248,20,34,102,24,2,0,15,193,128,15, + 227,0,7,254,0,3,248,0,1,248,0,1,252,0,3,254, + 0,14,126,0,24,63,0,0,63,128,0,31,128,0,15,192, + 7,255,192,15,15,224,30,7,224,62,7,224,62,7,224,124, + 7,240,124,3,240,252,3,240,252,3,240,252,3,240,252,3, + 240,252,3,240,252,3,240,252,3,240,252,3,240,124,3,224, + 124,7,224,62,7,192,62,7,192,30,7,128,15,15,0,3, + 252,0,23,32,96,27,2,0,3,224,96,7,248,64,15,255, + 192,12,127,128,8,15,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,255,31,192,63,35,224,63,65,240,63, + 65,248,63,129,248,63,129,248,63,1,248,63,1,248,63,1, + 248,63,1,248,63,1,248,63,1,248,63,1,248,63,1,248, + 63,1,248,63,1,248,63,1,248,63,1,248,63,1,248,63, + 1,248,63,1,248,255,199,254,20,34,102,24,2,0,14,0, + 0,31,0,0,31,0,0,15,128,0,7,192,0,3,192,0, + 1,224,0,0,96,0,0,48,0,0,0,0,0,0,0,0, + 0,0,3,252,0,15,15,0,30,7,128,62,7,192,62,7, + 192,124,3,224,124,3,224,252,3,240,252,3,240,252,3,240, + 252,3,240,252,3,240,252,3,240,252,3,240,252,3,240,124, + 3,224,124,3,224,62,7,192,62,7,192,30,7,128,15,15, + 0,3,252,0,20,34,102,24,2,0,0,7,0,0,15,128, + 0,15,128,0,31,0,0,62,0,0,60,0,0,120,0,0, + 224,0,0,192,0,0,0,0,0,0,0,0,0,0,3,252, + 0,15,15,0,30,7,128,62,7,192,62,7,192,124,3,224, + 124,3,224,252,3,240,252,3,240,252,3,240,252,3,240,252, + 3,240,252,3,240,252,3,240,252,3,240,124,3,224,124,3, + 224,62,7,192,62,7,192,30,7,128,15,15,0,3,252,0, + 20,34,102,24,2,0,0,240,0,0,240,0,1,248,0,1, + 248,0,3,252,0,3,156,0,7,14,0,14,7,0,24,1, + 128,0,0,0,0,0,0,0,0,0,3,252,0,15,15,0, + 30,7,128,62,7,192,62,7,192,124,3,224,124,3,224,252, + 3,240,252,3,240,252,3,240,252,3,240,252,3,240,252,3, + 240,252,3,240,252,3,240,124,3,224,124,3,224,62,7,192, + 62,7,192,30,7,128,15,15,0,3,252,0,20,32,96,24, + 2,0,7,192,128,15,240,128,31,255,128,16,255,0,16,62, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 3,252,0,15,15,0,30,7,128,62,7,192,62,7,192,124, + 3,224,124,3,224,252,3,240,252,3,240,252,3,240,252,3, + 240,252,3,240,252,3,240,252,3,240,252,3,240,124,3,224, + 124,3,224,62,7,192,62,7,192,30,7,128,15,15,0,3, + 252,0,20,32,96,24,2,0,30,15,0,63,31,128,63,31, + 128,63,31,128,63,31,128,30,15,0,0,0,0,0,0,0, + 0,0,0,0,0,0,3,252,0,15,15,0,30,7,128,62, + 7,192,62,7,192,124,3,224,124,3,224,252,3,240,252,3, + 240,252,3,240,252,3,240,252,3,240,252,3,240,252,3,240, + 252,3,240,124,3,224,124,3,224,62,7,192,62,7,192,30, + 7,128,15,15,0,3,252,0,41,32,192,45,2,253,0,0, + 28,0,0,0,0,0,62,0,0,0,0,0,127,0,0,0, + 0,0,127,0,0,0,0,0,127,0,0,0,0,0,62,0, + 0,0,0,0,28,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,255,255,255,255,255,128,255,255,255,255,255,128,255,255, + 255,255,255,128,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,28,0,0,0,0,0,62,0,0,0, + 0,0,127,0,0,0,0,0,127,0,0,0,0,0,127,0, + 0,0,0,0,62,0,0,0,0,0,28,0,0,0,20,22, + 66,24,2,1,3,252,48,15,15,96,30,15,192,62,7,192, + 62,7,192,124,7,224,124,7,224,252,15,240,252,27,240,252, + 51,240,252,115,240,252,227,240,252,195,240,253,131,240,255,3, + 240,126,3,224,126,3,224,62,7,192,62,7,192,63,7,128, + 111,15,0,195,252,0,24,34,102,26,1,0,7,0,0,7, + 128,0,7,192,0,7,192,0,3,224,0,1,224,0,0,112, + 0,0,48,0,0,24,0,0,0,0,0,0,0,0,0,0, + 255,143,248,31,129,248,31,129,248,31,129,248,31,129,248,31, + 129,248,31,129,248,31,129,248,31,129,248,31,129,248,31,129, + 248,31,129,248,31,129,248,31,129,248,31,129,248,31,129,248, + 31,131,248,31,131,248,31,133,248,15,133,248,15,201,248,7, + 241,255,24,34,102,26,1,0,0,3,128,0,3,128,0,7, + 128,0,15,128,0,15,0,0,30,0,0,28,0,0,56,0, + 0,48,0,0,0,0,0,0,0,0,0,0,255,143,248,31, + 129,248,31,129,248,31,129,248,31,129,248,31,129,248,31,129, + 248,31,129,248,31,129,248,31,129,248,31,129,248,31,129,248, + 31,129,248,31,129,248,31,129,248,31,129,248,31,131,248,31, + 131,248,31,133,248,15,133,248,15,201,248,7,241,255,24,34, + 102,26,1,0,0,56,0,0,120,0,0,124,0,0,252,0, + 0,254,0,1,206,0,3,135,0,7,3,128,14,0,192,0, + 0,0,0,0,0,0,0,0,255,143,248,31,129,248,31,129, + 248,31,129,248,31,129,248,31,129,248,31,129,248,31,129,248, + 31,129,248,31,129,248,31,129,248,31,129,248,31,129,248,31, + 129,248,31,129,248,31,129,248,31,131,248,31,131,248,31,133, + 248,15,133,248,15,201,248,7,241,255,24,32,96,26,1,0, + 7,131,192,15,199,224,15,199,224,15,199,224,15,199,224,7, + 131,192,0,0,0,0,0,0,0,0,0,0,0,0,255,135, + 248,31,129,248,31,129,248,31,129,248,31,129,248,31,129,248, + 31,129,248,31,129,248,31,129,248,31,129,248,31,129,248,31, + 129,248,31,129,248,31,129,248,31,129,248,31,129,248,31,131, + 248,31,131,248,31,133,248,15,133,248,15,201,248,7,241,255, + 23,45,135,25,1,245,0,1,192,0,1,224,0,3,224,0, + 7,192,0,7,128,0,15,0,0,14,0,0,28,0,0,24, + 0,0,0,0,0,0,0,0,0,0,255,241,254,63,192,120, + 31,128,48,15,192,32,15,192,32,15,192,96,7,224,64,7, + 224,64,3,240,192,3,240,128,1,248,128,1,249,128,0,249, + 0,0,253,0,0,253,0,0,126,0,0,126,0,0,62,0, + 0,60,0,0,28,0,0,28,0,0,12,0,0,8,0,0, + 8,0,0,8,0,15,16,0,31,16,0,63,144,0,63,32, + 0,62,32,0,62,64,0,31,192,0,15,0,0,22,44,132, + 25,1,244,3,128,0,15,128,0,63,128,0,255,128,0,223, + 128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128, + 0,31,135,240,31,159,248,31,177,248,31,160,252,31,192,252, + 31,192,252,31,192,252,31,128,252,31,128,252,31,128,248,31, + 129,248,31,129,240,31,129,240,31,129,224,31,131,192,31,131, + 128,31,135,128,31,134,0,31,140,0,31,152,0,31,224,0, + 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, + 128,0,31,128,0,31,128,0,31,128,0,30,0,0,120,0, + 0,224,0,0,128,0,0,23,44,132,25,1,245,3,193,224, + 7,227,240,7,227,240,7,227,240,7,227,240,3,193,224,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,241, + 254,63,192,120,31,128,48,15,192,32,15,192,32,15,192,96, + 7,224,64,7,224,64,3,240,192,3,240,128,1,240,128,1, + 249,128,0,249,0,0,253,0,0,253,0,0,126,0,0,126, + 0,0,62,0,0,60,0,0,28,0,0,28,0,0,12,0, + 0,8,0,0,8,0,0,8,0,15,16,0,31,16,0,63, + 144,0,63,32,0,62,32,0,62,64,0,31,192,0,15,0, + 0}; +/* + Fontname: -FreeType-Old Standard TT-Bold-R-Normal--48-480-72-72-P-258-ISO10646-1 + Copyright: Copyright (C) 2006-2008 Alexey Kryukov + Capital A Height: 0, '1' Height: 34 + Calculated Max Values w=41 h=44 x= 6 y=13 dx=45 dy= 0 ascent=35 len=246 + Font Bounding box w=133 h=60 x=-41 y=-14 + Calculated Min Values x= 0 y=-9 dx= 0 dy= 0 + Pure Font ascent =34 descent= 0 + X Font ascent =34 descent= 0 + Max Font ascent =35 descent=-9 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_osb35n[1567] U8G_FONT_SECTION("u8g_font_osb35n") = { + 0,133,60,215,242,34,0,0,0,0,42,58,0,35,247,34, + 0,17,19,57,24,4,13,1,128,0,3,192,0,3,192,0, + 227,195,0,241,135,128,248,143,128,252,159,128,126,191,0,3, + 192,0,3,192,0,126,191,0,252,159,128,248,143,128,241,135, + 128,225,195,0,3,192,0,3,192,0,3,192,0,1,128,0, + 41,41,246,45,2,249,0,0,28,0,0,0,0,0,28,0, + 0,0,0,0,28,0,0,0,0,0,28,0,0,0,0,0, + 28,0,0,0,0,0,28,0,0,0,0,0,28,0,0,0, + 0,0,28,0,0,0,0,0,28,0,0,0,0,0,28,0, + 0,0,0,0,28,0,0,0,0,0,28,0,0,0,0,0, + 28,0,0,0,0,0,28,0,0,0,0,0,28,0,0,0, + 0,0,28,0,0,0,0,0,28,0,0,0,0,0,28,0, + 0,0,0,0,28,0,0,0,255,255,255,255,255,128,255,255, + 255,255,255,128,255,255,255,255,255,128,0,0,28,0,0,0, + 0,0,28,0,0,0,0,0,28,0,0,0,0,0,28,0, + 0,0,0,0,28,0,0,0,0,0,28,0,0,0,0,0, + 28,0,0,0,0,0,28,0,0,0,0,0,28,0,0,0, + 0,0,28,0,0,0,0,0,28,0,0,0,0,0,28,0, + 0,0,0,0,28,0,0,0,0,0,28,0,0,0,0,0, + 28,0,0,0,0,0,28,0,0,0,0,0,28,0,0,0, + 0,0,28,0,0,0,0,0,28,0,0,0,9,15,30,13, + 2,248,126,0,255,0,255,128,255,128,255,128,127,128,1,128, + 1,128,1,128,3,0,2,0,6,0,28,0,56,0,96,0, + 12,5,10,18,3,10,255,240,255,240,255,240,255,240,255,240, + 8,6,6,14,3,1,126,255,255,255,255,126,16,44,88,22, + 3,247,0,7,0,15,0,14,0,14,0,14,0,30,0,28, + 0,28,0,60,0,56,0,56,0,120,0,112,0,112,0,240, + 0,224,0,224,0,224,1,224,1,192,1,192,3,192,3,128, + 3,128,7,128,7,0,7,0,15,0,14,0,14,0,14,0, + 30,0,28,0,28,0,60,0,56,0,56,0,120,0,112,0, + 112,0,240,0,224,0,224,0,224,0,23,35,105,28,2,0, + 0,16,0,0,254,0,3,199,128,7,131,192,15,1,224,15, + 1,224,31,1,240,63,1,248,63,1,248,127,1,248,127,1, + 252,127,1,252,127,1,252,255,1,254,255,1,254,255,1,254, + 255,1,254,255,1,254,255,1,254,255,1,254,255,1,254,255, + 1,254,255,1,254,127,1,252,127,1,252,127,1,252,127,1, + 252,63,1,248,63,1,248,31,1,240,15,1,224,15,1,224, + 7,131,192,3,199,128,0,254,0,16,34,68,28,6,0,0, + 240,0,240,1,240,7,240,255,240,7,240,7,240,7,240,7, + 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, + 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, + 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,255, + 255,255,255,21,34,102,28,3,1,7,255,0,14,15,192,28, + 7,224,56,7,240,120,3,240,120,3,248,248,3,248,252,3, + 248,255,3,248,255,3,248,255,7,248,127,7,240,63,15,240, + 12,15,224,0,31,192,0,63,128,0,127,0,0,252,0,1, + 240,0,3,192,0,7,128,0,14,0,24,12,0,24,24,0, + 24,48,0,24,96,0,24,111,192,56,127,255,248,255,255,240, + 239,255,240,195,255,240,193,255,224,192,255,192,192,63,128,22, + 34,102,28,3,1,7,255,0,14,15,192,28,7,224,56,7, + 240,120,3,240,124,3,248,126,3,248,127,3,248,127,3,248, + 127,3,248,63,3,240,30,3,240,0,7,224,0,7,192,0, + 15,0,7,248,0,0,31,128,0,15,192,0,7,224,0,7, + 240,0,3,248,0,3,248,62,3,252,127,3,252,255,3,252, + 255,3,252,255,3,252,254,3,252,252,3,248,248,7,248,120, + 7,240,56,15,224,30,31,192,15,255,0,23,34,102,28,2, + 0,0,7,192,0,15,192,0,15,192,0,31,192,0,63,192, + 0,63,192,0,127,192,0,127,192,0,255,192,0,223,192,1, + 223,192,1,159,192,3,159,192,7,31,192,6,31,192,14,31, + 192,12,31,192,28,31,192,24,31,192,56,31,192,112,31,192, + 96,31,192,224,31,192,255,255,254,0,31,192,0,31,192,0, + 31,192,0,31,192,0,31,192,0,31,192,0,31,192,0,31, + 192,7,255,252,7,255,252,21,34,102,28,4,0,32,0,192, + 60,7,128,63,255,128,63,255,0,63,254,0,63,248,0,63, + 224,0,63,0,0,48,0,0,48,0,0,48,0,0,48,0, + 0,48,0,0,49,252,0,54,63,0,60,15,192,56,15,224, + 48,15,224,32,7,240,0,7,240,0,7,248,0,7,248,8, + 7,248,62,7,248,126,7,248,254,7,248,254,7,248,254,7, + 240,248,7,240,240,7,224,112,15,192,48,15,192,28,31,0, + 15,252,0,22,34,102,28,3,1,0,255,128,3,192,192,7, + 192,96,15,128,240,31,131,240,31,7,240,63,15,240,63,15, + 240,127,15,224,127,7,192,127,3,0,127,0,0,255,0,0, + 255,0,0,255,63,0,255,255,192,255,195,224,255,131,240,255, + 3,248,255,1,248,255,1,252,255,1,252,255,1,252,127,1, + 252,127,1,252,127,1,252,127,1,252,63,1,248,63,1,248, + 31,1,248,15,129,240,7,131,224,3,195,192,1,255,0,20, + 34,102,28,5,1,71,224,224,207,240,224,223,248,112,255,252, + 48,255,254,48,255,255,240,255,255,240,224,31,176,192,0,32, + 192,0,96,128,0,96,128,0,192,128,1,192,0,1,128,0, + 3,128,0,7,0,0,15,0,0,14,0,0,30,0,0,60, + 0,0,124,0,0,252,0,1,252,0,1,248,0,3,248,0, + 3,248,0,7,248,0,7,248,0,7,248,0,7,248,0,7, + 248,0,7,248,0,3,248,0,3,240,0,23,34,102,28,3, + 1,1,255,128,7,0,192,12,0,96,28,0,48,56,0,24, + 56,0,24,120,0,24,120,0,24,124,0,24,126,0,24,127, + 0,48,127,192,32,127,240,96,63,255,128,63,255,0,31,255, + 192,15,255,240,7,255,248,15,255,248,24,63,252,48,15,252, + 112,3,254,96,0,254,224,0,126,224,0,62,224,0,30,224, + 0,30,224,0,12,240,0,28,112,0,24,56,0,24,28,0, + 48,15,0,192,3,255,0,22,34,102,28,3,1,3,254,0, + 15,15,0,31,7,128,62,7,192,126,3,224,126,3,240,126, + 3,240,254,3,248,254,3,248,254,3,248,254,3,248,254,3, + 252,254,3,252,254,3,252,126,3,252,127,7,252,63,7,252, + 31,15,252,15,255,252,3,243,252,0,3,252,0,3,252,0, + 3,248,7,3,248,31,131,248,31,195,248,63,195,240,63,195, + 240,63,131,224,62,7,224,60,7,192,28,15,128,14,31,0, + 7,252,0,8,22,22,14,3,1,126,255,255,255,255,126,0, + 0,0,0,0,0,0,0,0,0,126,255,255,255,255,126}; +/* + Fontname: -FreeType-Old Standard TT-Bold-R-Normal--48-480-72-72-P-258-ISO10646-1 + Copyright: Copyright (C) 2006-2008 Alexey Kryukov + Capital A Height: 35, '1' Height: 34 + Calculated Max Values w=49 h=46 x= 6 y=25 dx=52 dy= 0 ascent=38 len=246 + Font Bounding box w=133 h=60 x=-41 y=-14 + Calculated Min Values x=-2 y=-11 dx= 0 dy= 0 + Pure Font ascent =35 descent=-10 + X Font ascent =35 descent=-10 + Max Font ascent =38 descent=-11 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_osb35r[10247] U8G_FONT_SECTION("u8g_font_osb35r") = { + 0,133,60,215,242,35,12,220,29,224,32,127,246,38,245,35, + 246,0,0,0,13,0,0,8,34,34,14,3,1,126,126,255, + 255,255,255,255,255,126,126,126,126,60,60,60,60,60,24,24, + 24,24,24,24,24,24,0,0,0,126,255,255,255,255,126,12, + 12,24,18,3,23,32,64,241,224,249,240,249,240,249,240,249, + 240,249,240,112,224,112,224,112,224,112,224,112,224,28,34,136, + 34,3,0,0,112,14,0,0,112,14,0,0,112,14,0,0, + 112,14,0,0,240,30,0,0,224,28,0,0,224,28,0,0, + 224,28,0,0,224,28,0,255,255,255,240,255,255,255,240,255, + 255,255,240,1,192,56,0,1,192,56,0,1,192,56,0,1, + 192,56,0,3,192,56,0,3,128,120,0,3,128,112,0,3, + 128,112,0,3,128,112,0,3,128,112,0,255,255,255,224,255, + 255,255,224,255,255,255,224,7,0,224,0,7,0,224,0,7, + 0,224,0,7,0,224,0,15,1,224,0,14,1,224,0,14, + 1,192,0,14,1,192,0,14,1,192,0,23,42,126,28,2, + 252,0,195,0,0,195,0,0,195,0,0,195,0,3,255,192, + 7,195,112,28,195,24,60,195,12,56,195,14,120,195,14,120, + 195,30,120,195,62,124,195,126,126,195,126,127,195,124,127,195, + 56,63,243,0,63,251,0,31,255,0,31,255,128,7,255,192, + 3,255,240,0,255,248,0,255,248,0,223,252,0,199,252,124, + 195,254,124,195,254,252,195,126,252,195,62,248,195,30,240,195, + 30,224,195,28,96,195,28,112,195,56,56,195,56,28,195,96, + 7,255,192,0,195,0,0,195,0,0,195,0,0,195,0,33, + 35,175,41,4,0,0,0,0,48,0,15,192,0,96,0,60, + 240,0,224,0,56,112,0,192,0,120,120,1,128,0,120,120, + 1,128,0,248,124,3,0,0,248,124,7,0,0,248,124,6, + 0,0,248,124,14,0,0,248,124,12,0,0,248,124,24,0, + 0,120,120,24,0,0,120,120,48,0,0,56,240,112,0,0, + 28,224,96,0,0,15,192,192,0,0,0,0,192,0,0,0, + 1,128,240,0,0,3,131,156,0,0,3,7,158,0,0,7, + 15,15,0,0,6,15,15,0,0,12,31,15,128,0,12,31, + 15,128,0,24,31,15,128,0,56,31,15,128,0,48,31,15, + 128,0,96,31,15,128,0,96,31,15,128,0,192,15,15,0, + 1,192,15,15,0,1,128,7,14,0,3,128,7,158,0,3, + 0,1,248,0,33,34,170,37,2,1,0,31,224,0,0,0, + 112,112,0,0,0,224,48,0,0,0,224,24,0,0,1,224, + 24,0,0,1,224,24,0,0,1,224,24,0,0,1,240,56, + 0,0,1,240,48,0,0,1,248,96,0,0,1,248,192,0, + 0,0,255,128,0,0,0,255,0,0,0,0,126,0,0,0, + 0,63,0,0,0,0,255,129,255,128,1,223,128,62,0,3, + 143,192,28,0,7,15,224,24,0,14,7,224,56,0,30,3, + 240,48,0,60,1,248,48,0,124,1,248,96,0,124,0,252, + 96,0,252,0,126,192,0,252,0,127,128,0,252,0,63,128, + 0,254,0,31,128,0,255,0,31,128,0,255,0,15,193,128, + 127,192,63,225,0,63,248,247,243,0,31,255,195,254,0,15, + 254,0,252,0,5,12,12,11,3,23,32,240,248,248,248,248, + 248,112,112,112,112,112,14,43,86,18,3,248,0,28,0,56, + 0,112,0,224,1,192,3,128,7,0,15,0,14,0,30,0, + 30,0,60,0,60,0,124,0,124,0,124,0,252,0,252,0, + 252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0, + 124,0,124,0,124,0,124,0,60,0,60,0,30,0,30,0, + 14,0,15,0,7,0,3,128,1,192,0,224,0,112,0,56, + 0,12,13,43,86,17,1,248,192,0,224,0,48,0,24,0, + 28,0,14,0,7,0,7,128,3,128,3,192,1,224,1,224, + 1,224,1,240,1,240,1,240,1,248,1,248,1,248,1,248, + 1,248,1,248,1,248,1,248,1,248,1,248,1,248,1,240, + 1,240,1,240,1,224,1,224,3,192,3,192,3,128,7,128, + 7,0,14,0,28,0,56,0,112,0,224,0,128,0,17,19, + 57,24,4,13,1,128,0,3,192,0,3,192,0,227,195,0, + 241,135,128,248,143,128,252,159,128,126,191,0,3,192,0,3, + 192,0,126,191,0,252,159,128,248,143,128,241,135,128,225,195, + 0,3,192,0,3,192,0,3,192,0,1,128,0,41,41,246, + 45,2,249,0,0,28,0,0,0,0,0,28,0,0,0,0, + 0,28,0,0,0,0,0,28,0,0,0,0,0,28,0,0, + 0,0,0,28,0,0,0,0,0,28,0,0,0,0,0,28, + 0,0,0,0,0,28,0,0,0,0,0,28,0,0,0,0, + 0,28,0,0,0,0,0,28,0,0,0,0,0,28,0,0, + 0,0,0,28,0,0,0,0,0,28,0,0,0,0,0,28, + 0,0,0,0,0,28,0,0,0,0,0,28,0,0,0,0, + 0,28,0,0,0,255,255,255,255,255,128,255,255,255,255,255, + 128,255,255,255,255,255,128,0,0,28,0,0,0,0,0,28, + 0,0,0,0,0,28,0,0,0,0,0,28,0,0,0,0, + 0,28,0,0,0,0,0,28,0,0,0,0,0,28,0,0, + 0,0,0,28,0,0,0,0,0,28,0,0,0,0,0,28, + 0,0,0,0,0,28,0,0,0,0,0,28,0,0,0,0, + 0,28,0,0,0,0,0,28,0,0,0,0,0,28,0,0, + 0,0,0,28,0,0,0,0,0,28,0,0,0,0,0,28, + 0,0,0,0,0,28,0,0,0,9,15,30,13,2,248,126, + 0,255,0,255,128,255,128,255,128,127,128,1,128,1,128,1, + 128,3,0,2,0,6,0,28,0,56,0,96,0,12,5,10, + 18,3,10,255,240,255,240,255,240,255,240,255,240,8,6,6, + 14,3,1,126,255,255,255,255,126,16,44,88,22,3,247,0, + 7,0,15,0,14,0,14,0,14,0,30,0,28,0,28,0, + 60,0,56,0,56,0,120,0,112,0,112,0,240,0,224,0, + 224,0,224,1,224,1,192,1,192,3,192,3,128,3,128,7, + 128,7,0,7,0,15,0,14,0,14,0,14,0,30,0,28, + 0,28,0,60,0,56,0,56,0,120,0,112,0,112,0,240, + 0,224,0,224,0,224,0,23,35,105,28,2,0,0,16,0, + 0,254,0,3,199,128,7,131,192,15,1,224,15,1,224,31, + 1,240,63,1,248,63,1,248,127,1,248,127,1,252,127,1, + 252,127,1,252,255,1,254,255,1,254,255,1,254,255,1,254, + 255,1,254,255,1,254,255,1,254,255,1,254,255,1,254,255, + 1,254,127,1,252,127,1,252,127,1,252,127,1,252,63,1, + 248,63,1,248,31,1,240,15,1,224,15,1,224,7,131,192, + 3,199,128,0,254,0,16,34,68,28,6,0,0,240,0,240, + 1,240,7,240,255,240,7,240,7,240,7,240,7,240,7,240, + 7,240,7,240,7,240,7,240,7,240,7,240,7,240,7,240, + 7,240,7,240,7,240,7,240,7,240,7,240,7,240,7,240, + 7,240,7,240,7,240,7,240,7,240,7,240,255,255,255,255, + 21,34,102,28,3,1,7,255,0,14,15,192,28,7,224,56, + 7,240,120,3,240,120,3,248,248,3,248,252,3,248,255,3, + 248,255,3,248,255,7,248,127,7,240,63,15,240,12,15,224, + 0,31,192,0,63,128,0,127,0,0,252,0,1,240,0,3, + 192,0,7,128,0,14,0,24,12,0,24,24,0,24,48,0, + 24,96,0,24,111,192,56,127,255,248,255,255,240,239,255,240, + 195,255,240,193,255,224,192,255,192,192,63,128,22,34,102,28, + 3,1,7,255,0,14,15,192,28,7,224,56,7,240,120,3, + 240,124,3,248,126,3,248,127,3,248,127,3,248,127,3,248, + 63,3,240,30,3,240,0,7,224,0,7,192,0,15,0,7, + 248,0,0,31,128,0,15,192,0,7,224,0,7,240,0,3, + 248,0,3,248,62,3,252,127,3,252,255,3,252,255,3,252, + 255,3,252,254,3,252,252,3,248,248,7,248,120,7,240,56, + 15,224,30,31,192,15,255,0,23,34,102,28,2,0,0,7, + 192,0,15,192,0,15,192,0,31,192,0,63,192,0,63,192, + 0,127,192,0,127,192,0,255,192,0,223,192,1,223,192,1, + 159,192,3,159,192,7,31,192,6,31,192,14,31,192,12,31, + 192,28,31,192,24,31,192,56,31,192,112,31,192,96,31,192, + 224,31,192,255,255,254,0,31,192,0,31,192,0,31,192,0, + 31,192,0,31,192,0,31,192,0,31,192,0,31,192,7,255, + 252,7,255,252,21,34,102,28,4,0,32,0,192,60,7,128, + 63,255,128,63,255,0,63,254,0,63,248,0,63,224,0,63, + 0,0,48,0,0,48,0,0,48,0,0,48,0,0,48,0, + 0,49,252,0,54,63,0,60,15,192,56,15,224,48,15,224, + 32,7,240,0,7,240,0,7,248,0,7,248,8,7,248,62, + 7,248,126,7,248,254,7,248,254,7,248,254,7,240,248,7, + 240,240,7,224,112,15,192,48,15,192,28,31,0,15,252,0, + 22,34,102,28,3,1,0,255,128,3,192,192,7,192,96,15, + 128,240,31,131,240,31,7,240,63,15,240,63,15,240,127,15, + 224,127,7,192,127,3,0,127,0,0,255,0,0,255,0,0, + 255,63,0,255,255,192,255,195,224,255,131,240,255,3,248,255, + 1,248,255,1,252,255,1,252,255,1,252,127,1,252,127,1, + 252,127,1,252,127,1,252,63,1,248,63,1,248,31,1,248, + 15,129,240,7,131,224,3,195,192,1,255,0,20,34,102,28, + 5,1,71,224,224,207,240,224,223,248,112,255,252,48,255,254, + 48,255,255,240,255,255,240,224,31,176,192,0,32,192,0,96, + 128,0,96,128,0,192,128,1,192,0,1,128,0,3,128,0, + 7,0,0,15,0,0,14,0,0,30,0,0,60,0,0,124, + 0,0,252,0,1,252,0,1,248,0,3,248,0,3,248,0, + 7,248,0,7,248,0,7,248,0,7,248,0,7,248,0,7, + 248,0,3,248,0,3,240,0,23,34,102,28,3,1,1,255, + 128,7,0,192,12,0,96,28,0,48,56,0,24,56,0,24, + 120,0,24,120,0,24,124,0,24,126,0,24,127,0,48,127, + 192,32,127,240,96,63,255,128,63,255,0,31,255,192,15,255, + 240,7,255,248,15,255,248,24,63,252,48,15,252,112,3,254, + 96,0,254,224,0,126,224,0,62,224,0,30,224,0,30,224, + 0,12,240,0,28,112,0,24,56,0,24,28,0,48,15,0, + 192,3,255,0,22,34,102,28,3,1,3,254,0,15,15,0, + 31,7,128,62,7,192,126,3,224,126,3,240,126,3,240,254, + 3,248,254,3,248,254,3,248,254,3,248,254,3,252,254,3, + 252,254,3,252,126,3,252,127,7,252,63,7,252,31,15,252, + 15,255,252,3,243,252,0,3,252,0,3,252,0,3,248,7, + 3,248,31,131,248,31,195,248,63,195,240,63,195,240,63,131, + 224,62,7,224,60,7,192,28,15,128,14,31,0,7,252,0, + 8,22,22,14,3,1,126,255,255,255,255,126,0,0,0,0, + 0,0,0,0,0,0,126,255,255,255,255,126,9,32,64,13, + 2,247,63,0,127,128,127,128,127,128,127,128,63,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,60,0,127,0,255,0,255,128,255,128,255,128,57,128, + 1,128,1,128,3,0,3,0,6,0,12,0,56,0,240,0, + 64,0,37,40,200,45,4,249,0,0,0,0,48,0,0,0, + 0,240,0,0,0,1,248,0,0,0,7,224,0,0,0,31, + 128,0,0,0,126,0,0,0,1,252,0,0,0,7,240,0, + 0,0,15,192,0,0,0,63,0,0,0,0,252,0,0,0, + 3,240,0,0,0,15,224,0,0,0,63,128,0,0,0,126, + 0,0,0,1,248,0,0,0,7,224,0,0,0,31,128,0, + 0,0,127,0,0,0,0,252,0,0,0,0,248,0,0,0, + 0,126,0,0,0,0,31,128,0,0,0,15,224,0,0,0, + 3,248,0,0,0,0,252,0,0,0,0,63,0,0,0,0, + 15,192,0,0,0,3,240,0,0,0,1,252,0,0,0,0, + 127,0,0,0,0,31,192,0,0,0,7,224,0,0,0,1, + 248,0,0,0,0,126,0,0,0,0,63,128,0,0,0,15, + 224,0,0,0,3,248,0,0,0,0,248,0,0,0,0,48, + 41,13,78,45,2,6,255,255,255,255,255,128,255,255,255,255, + 255,128,255,255,255,255,255,128,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,255,255,255,255,255,128,255,255,255,255,255,128,255,255, + 255,255,255,128,37,40,200,45,4,249,96,0,0,0,0,120, + 0,0,0,0,252,0,0,0,0,63,0,0,0,0,15,192, + 0,0,0,3,240,0,0,0,1,252,0,0,0,0,127,0, + 0,0,0,31,128,0,0,0,7,224,0,0,0,1,248,0, + 0,0,0,126,0,0,0,0,63,128,0,0,0,15,224,0, + 0,0,3,240,0,0,0,0,252,0,0,0,0,63,0,0, + 0,0,15,192,0,0,0,7,240,0,0,0,1,248,0,0, + 0,0,248,0,0,0,3,240,0,0,0,15,192,0,0,0, + 63,128,0,0,0,254,0,0,0,1,248,0,0,0,7,224, + 0,0,0,31,128,0,0,0,126,0,0,0,1,252,0,0, + 0,7,240,0,0,0,31,192,0,0,0,63,0,0,0,0, + 252,0,0,0,3,240,0,0,0,15,224,0,0,0,63,128, + 0,0,0,254,0,0,0,0,248,0,0,0,0,96,0,0, + 0,0,15,34,68,22,3,1,31,240,59,248,96,252,96,252, + 192,126,192,126,192,126,192,126,192,126,64,252,96,252,48,248, + 1,240,1,224,3,192,3,128,7,0,7,0,14,0,12,16, + 12,16,12,16,12,16,6,32,3,192,0,0,0,0,0,128, + 3,224,7,240,7,240,7,240,7,240,3,224,35,34,170,39, + 2,1,0,15,255,0,0,0,56,1,224,0,0,224,0,112, + 0,1,128,0,28,0,7,0,0,14,0,14,0,0,7,0, + 12,0,248,3,0,28,3,205,243,128,56,7,135,241,128,56, + 15,7,225,192,112,31,7,225,192,112,62,7,224,224,112,62, + 7,224,224,224,124,7,192,224,224,124,7,192,224,224,124,7, + 192,224,224,252,15,192,224,224,248,15,128,224,224,248,15,128, + 224,224,248,15,129,192,224,248,31,129,192,224,248,31,129,128, + 112,248,31,3,128,112,248,63,3,0,112,120,111,6,0,56, + 60,199,140,0,56,31,3,240,0,28,0,0,0,0,14,0, + 0,0,0,7,0,0,0,0,3,128,0,0,0,1,192,0, + 96,0,0,120,1,192,0,0,31,255,0,0,33,35,175,36, + 2,0,0,0,192,0,0,0,1,192,0,0,0,1,224,0, + 0,0,1,224,0,0,0,3,224,0,0,0,3,240,0,0, + 0,3,240,0,0,0,7,240,0,0,0,7,248,0,0,0, + 7,248,0,0,0,15,248,0,0,0,15,252,0,0,0,15, + 252,0,0,0,25,252,0,0,0,25,254,0,0,0,25,254, + 0,0,0,48,254,0,0,0,48,255,0,0,0,32,255,0, + 0,0,96,127,0,0,0,96,127,128,0,0,64,127,128,0, + 0,192,63,128,0,0,192,63,192,0,0,255,255,192,0,1, + 255,255,192,0,1,128,31,224,0,1,0,31,224,0,3,0, + 15,224,0,3,0,15,240,0,2,0,15,240,0,6,0,7, + 240,0,15,0,7,248,0,31,0,15,252,0,255,240,255,255, + 128,28,34,136,33,3,0,255,255,240,0,15,224,126,0,15, + 224,31,0,15,224,31,128,15,224,15,192,15,224,15,192,15, + 224,15,224,15,224,15,224,15,224,15,224,15,224,15,224,15, + 224,15,224,15,224,15,192,15,224,15,192,15,224,31,128,15, + 224,30,0,15,224,60,0,15,255,224,0,15,224,124,0,15, + 224,63,0,15,224,31,128,15,224,15,192,15,224,15,224,15, + 224,15,240,15,224,15,240,15,224,15,240,15,224,15,240,15, + 224,15,240,15,224,15,240,15,224,15,224,15,224,15,224,15, + 224,31,192,15,224,31,128,15,224,126,0,255,255,248,0,26, + 34,136,31,3,1,0,127,193,128,1,224,241,128,3,192,63, + 128,15,128,31,128,15,128,15,128,31,0,15,128,63,0,7, + 128,63,0,7,128,127,0,3,128,127,0,3,128,127,0,3, + 128,127,0,1,128,255,0,1,128,255,0,1,128,255,0,1, + 128,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0, + 0,255,0,0,0,255,0,0,0,255,0,0,192,127,0,0, + 192,127,0,0,192,127,0,0,128,63,0,1,128,63,0,1, + 128,63,0,1,128,31,128,3,0,15,128,3,0,7,128,6, + 0,3,192,12,0,1,224,56,0,0,127,224,0,32,34,136, + 37,3,0,255,255,248,0,15,224,31,0,15,224,7,128,15, + 224,3,224,15,224,1,240,15,224,1,240,15,224,0,248,15, + 224,0,252,15,224,0,252,15,224,0,254,15,224,0,254,15, + 224,0,254,15,224,0,255,15,224,0,255,15,224,0,255,15, + 224,0,255,15,224,0,255,15,224,0,255,15,224,0,255,15, + 224,0,255,15,224,0,255,15,224,0,254,15,224,0,254,15, + 224,0,254,15,224,0,254,15,224,0,252,15,224,0,252,15, + 224,0,248,15,224,1,240,15,224,1,224,15,224,3,192,15, + 224,7,128,15,224,30,0,255,255,248,0,27,34,136,33,3, + 0,255,255,255,224,15,224,31,224,15,224,7,224,15,224,3, + 224,15,224,1,224,15,224,1,224,15,224,0,224,15,224,0, + 224,15,224,0,96,15,224,48,96,15,224,48,96,15,224,48, + 0,15,224,112,0,15,224,112,0,15,224,240,0,15,225,240, + 0,15,255,240,0,15,225,240,0,15,224,240,0,15,224,112, + 0,15,224,112,32,15,224,48,96,15,224,48,96,15,224,48, + 96,15,224,0,96,15,224,0,96,15,224,0,224,15,224,0, + 224,15,224,1,224,15,224,3,224,15,224,3,224,15,224,15, + 224,255,255,255,224,255,255,255,224,28,34,136,32,3,0,255, + 255,255,240,7,240,15,240,7,240,3,240,7,240,1,240,7, + 240,1,240,7,240,0,240,7,240,0,240,7,240,0,112,7, + 240,0,112,7,240,24,48,7,240,24,48,7,240,24,48,7, + 240,56,48,7,240,56,0,7,240,120,0,7,240,248,0,7, + 255,248,0,7,240,248,0,7,240,120,0,7,240,56,0,7, + 240,56,0,7,240,24,0,7,240,24,0,7,240,24,0,7, + 240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7, + 240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7, + 240,0,0,255,255,128,0,30,34,136,35,3,1,0,127,224, + 192,0,224,120,192,3,192,31,192,7,128,15,192,15,128,7, + 192,31,0,7,192,31,0,3,192,63,0,3,192,63,0,1, + 192,127,0,1,192,127,0,1,192,127,0,0,192,255,0,0, + 192,255,0,0,192,255,0,0,0,255,0,0,0,255,0,0, + 0,255,3,255,252,255,3,255,252,255,0,31,192,255,0,31, + 192,255,0,31,192,127,0,31,192,127,0,31,192,127,0,31, + 192,127,0,31,192,63,0,31,192,63,0,31,192,31,0,31, + 192,15,128,57,192,15,128,49,192,7,192,96,192,1,224,192, + 192,0,127,128,192,34,34,170,39,3,0,255,255,63,255,192, + 7,240,1,252,0,7,240,1,252,0,7,240,1,252,0,7, + 240,1,252,0,7,240,1,252,0,7,240,1,252,0,7,240, + 1,252,0,7,240,1,252,0,7,240,1,252,0,7,240,1, + 252,0,7,240,1,252,0,7,240,1,252,0,7,240,1,252, + 0,7,240,1,252,0,7,240,1,252,0,7,255,255,252,0, + 7,240,1,252,0,7,240,1,252,0,7,240,1,252,0,7, + 240,1,252,0,7,240,1,252,0,7,240,1,252,0,7,240, + 1,252,0,7,240,1,252,0,7,240,1,252,0,7,240,1, + 252,0,7,240,1,252,0,7,240,1,252,0,7,240,1,252, + 0,7,240,1,252,0,7,240,1,252,0,7,240,1,252,0, + 255,255,63,255,192,16,34,68,21,3,0,255,255,7,240,7, + 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, + 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, + 240,7,240,7,240,7,240,7,240,7,240,7,240,7,240,7, + 240,7,240,7,240,7,240,7,240,7,240,7,240,255,255,23, + 34,102,26,2,0,1,255,254,0,15,224,0,15,224,0,15, + 224,0,15,224,0,15,224,0,15,224,0,15,224,0,15,224, + 0,15,224,0,15,224,0,15,224,0,15,224,0,15,224,0, + 15,224,0,15,224,0,15,224,0,15,224,0,15,224,0,15, + 224,0,15,224,30,15,224,126,15,224,127,15,224,255,15,224, + 255,15,224,254,15,224,254,15,224,248,15,192,112,15,192,96, + 15,128,48,31,0,24,30,0,15,248,0,33,34,170,37,3, + 0,255,255,31,254,0,7,240,7,240,0,7,240,3,192,0, + 7,240,3,128,0,7,240,3,0,0,7,240,7,0,0,7, + 240,14,0,0,7,240,12,0,0,7,240,24,0,0,7,240, + 48,0,0,7,240,96,0,0,7,240,224,0,0,7,240,224, + 0,0,7,241,240,0,0,7,243,240,0,0,7,247,248,0, + 0,7,255,252,0,0,7,255,252,0,0,7,249,254,0,0, + 7,241,254,0,0,7,240,255,0,0,7,240,255,0,0,7, + 240,127,128,0,7,240,127,128,0,7,240,63,192,0,7,240, + 63,192,0,7,240,31,224,0,7,240,31,224,0,7,240,15, + 240,0,7,240,15,240,0,7,240,7,248,0,7,240,7,248, + 0,7,240,7,252,0,255,255,63,255,128,28,34,136,32,3, + 0,255,255,0,0,7,240,0,0,7,240,0,0,7,240,0, + 0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,0, + 0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,0, + 0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,0, + 0,7,240,0,0,7,240,0,0,7,240,0,0,7,240,0, + 48,7,240,0,48,7,240,0,48,7,240,0,112,7,240,0, + 112,7,240,0,112,7,240,0,240,7,240,0,240,7,240,0, + 240,7,240,1,240,7,240,3,240,7,240,3,240,7,240,7, + 240,255,255,255,240,255,255,255,240,39,34,170,43,2,0,255, + 240,0,63,254,7,240,0,63,192,7,248,0,63,192,7,248, + 0,63,192,7,248,0,127,192,7,252,0,127,192,7,252,0, + 95,192,7,252,0,95,192,7,254,0,223,192,6,254,0,223, + 192,6,255,0,159,192,6,127,0,159,192,6,127,1,159,192, + 6,127,129,159,192,6,63,129,31,192,6,63,129,31,192,6, + 63,195,31,192,6,31,194,31,192,6,31,226,31,192,6,15, + 226,31,192,6,15,230,31,192,6,15,244,31,192,6,7,244, + 31,192,6,7,244,31,192,6,7,252,31,192,6,3,248,31, + 192,6,3,248,31,192,6,1,248,31,192,6,1,248,31,192, + 6,1,240,31,192,6,0,240,31,192,15,0,240,31,192,63, + 192,240,31,192,255,240,97,255,254,34,35,175,37,2,255,255, + 224,15,255,192,31,240,3,255,0,15,240,0,252,0,15,248, + 0,120,0,7,252,0,48,0,3,254,0,48,0,3,254,0, + 48,0,3,255,0,48,0,3,255,128,48,0,3,255,128,48, + 0,3,127,192,48,0,3,63,224,48,0,3,31,224,48,0, + 3,31,240,48,0,3,15,248,48,0,3,7,248,48,0,3, + 7,252,48,0,3,3,254,48,0,3,1,255,48,0,3,1, + 255,48,0,3,0,255,176,0,3,0,127,240,0,3,0,127, + 240,0,3,0,63,240,0,3,0,31,240,0,3,0,15,240, + 0,3,0,15,240,0,3,0,7,240,0,3,0,3,240,0, + 3,0,3,240,0,7,128,1,240,0,15,192,0,240,0,63, + 240,0,240,0,255,252,0,112,0,0,0,0,48,0,28,34, + 136,33,3,1,0,63,192,0,0,224,112,0,3,192,56,0, + 7,128,30,0,15,128,30,0,15,0,15,0,31,0,15,128, + 63,0,15,192,63,0,15,192,127,0,15,192,127,0,15,224, + 127,0,15,224,127,0,15,224,255,0,15,240,255,0,15,240, + 255,0,15,240,255,0,15,240,255,0,15,240,255,0,15,240, + 255,0,15,240,255,0,15,240,127,0,15,224,127,0,15,224, + 127,0,15,224,127,0,15,192,63,0,15,192,63,0,15,192, + 31,0,15,128,15,0,15,0,15,128,31,0,7,128,30,0, + 3,192,60,0,0,224,112,0,0,63,192,0,29,34,136,34, + 3,0,255,255,248,0,7,240,63,0,7,240,15,192,7,240, + 15,224,7,240,15,240,7,240,7,240,7,240,7,248,7,240, + 7,248,7,240,7,248,7,240,7,248,7,240,7,248,7,240, + 7,248,7,240,7,240,7,240,15,240,7,240,15,224,7,240, + 15,192,7,240,31,0,7,255,252,0,7,240,0,0,7,240, + 0,0,7,240,0,0,7,240,0,0,7,240,0,0,7,240, + 0,0,7,240,0,0,7,240,0,0,7,240,0,0,7,240, + 0,0,7,240,0,0,7,240,0,0,7,240,0,0,7,240, + 0,0,7,240,0,0,255,255,128,0,28,45,180,33,3,246, + 0,63,192,0,0,224,112,0,3,192,56,0,7,128,30,0, + 15,128,30,0,15,0,15,0,31,0,15,128,63,0,15,128, + 63,0,15,192,127,0,15,192,127,0,15,224,127,0,15,224, + 127,0,15,224,255,0,15,240,255,0,15,240,255,0,15,240, + 255,0,15,240,255,0,15,240,255,0,15,240,255,0,15,240, + 255,0,15,240,255,0,15,240,127,0,15,224,127,0,15,224, + 127,0,15,224,63,0,15,192,63,15,15,192,31,17,143,128, + 15,160,223,0,15,160,223,0,7,160,254,0,3,224,252,16, + 0,240,248,16,0,127,224,16,0,0,224,16,0,0,224,16, + 0,0,224,48,0,0,240,48,0,0,248,112,0,0,255,240, + 0,0,255,224,0,0,127,224,0,0,127,192,0,0,63,128, + 0,0,31,0,32,36,144,36,3,254,255,255,240,0,7,240, + 126,0,7,240,63,0,7,240,63,128,7,240,31,192,7,240, + 31,192,7,240,31,224,7,240,31,224,7,240,31,224,7,240, + 31,224,7,240,31,224,7,240,31,192,7,240,63,192,7,240, + 63,0,7,240,126,0,7,255,240,0,7,240,240,0,7,240, + 62,0,7,240,63,0,7,240,31,128,7,240,31,128,7,240, + 31,192,7,240,31,192,7,240,31,192,7,240,31,192,7,240, + 31,195,7,240,31,195,7,240,31,195,7,240,31,195,7,240, + 31,195,7,240,31,198,7,240,31,198,7,240,15,238,255,255, + 135,252,0,0,3,248,0,0,0,96,23,34,102,29,4,1, + 7,252,24,24,15,24,56,3,248,112,1,248,112,0,248,240, + 0,120,248,0,120,248,0,56,252,0,24,254,0,24,255,128, + 24,255,224,8,127,240,0,127,252,0,63,254,0,31,255,128, + 15,255,192,3,255,240,1,255,248,128,127,248,192,31,252,192, + 15,252,192,3,254,224,1,254,224,0,126,224,0,62,240,0, + 30,248,0,30,248,0,28,252,0,28,254,0,24,239,0,48, + 195,128,96,193,255,128,29,34,136,34,3,0,255,255,255,248, + 255,63,231,248,252,31,193,248,248,31,192,248,248,31,192,248, + 240,31,192,120,224,31,192,56,224,31,192,56,224,31,192,56, + 192,31,192,24,192,31,192,24,192,31,192,24,192,31,192,24, + 128,31,192,8,0,31,192,0,0,31,192,0,0,31,192,0, + 0,31,192,0,0,31,192,0,0,31,192,0,0,31,192,0, + 0,31,192,0,0,31,192,0,0,31,192,0,0,31,192,0, + 0,31,192,0,0,31,192,0,0,31,192,0,0,31,192,0, + 0,31,192,0,0,31,192,0,0,31,192,0,0,31,192,0, + 3,255,254,0,33,34,170,38,3,0,255,255,7,255,128,15, + 224,1,254,0,15,224,0,120,0,15,224,0,48,0,15,224, + 0,48,0,15,224,0,48,0,15,224,0,48,0,15,224,0, + 48,0,15,224,0,48,0,15,224,0,48,0,15,224,0,48, + 0,15,224,0,48,0,15,224,0,48,0,15,224,0,48,0, + 15,224,0,48,0,15,224,0,48,0,15,224,0,48,0,15, + 224,0,48,0,15,224,0,48,0,15,224,0,48,0,15,224, + 0,48,0,15,224,0,48,0,15,224,0,48,0,15,224,0, + 48,0,15,224,0,48,0,15,224,0,48,0,7,224,0,48, + 0,7,224,0,96,0,7,240,0,96,0,3,240,0,192,0, + 1,248,1,192,0,0,252,3,128,0,0,127,159,0,0,0, + 31,252,0,0,34,34,170,37,2,0,255,255,135,255,192,15, + 248,0,126,0,7,248,0,56,0,7,248,0,56,0,3,248, + 0,48,0,3,252,0,48,0,3,252,0,48,0,1,254,0, + 96,0,1,254,0,96,0,0,254,0,96,0,0,255,0,192, + 0,0,255,0,192,0,0,127,0,192,0,0,127,129,128,0, + 0,127,129,128,0,0,63,129,128,0,0,63,195,0,0,0, + 63,195,0,0,0,31,195,0,0,0,31,230,0,0,0,15, + 230,0,0,0,15,246,0,0,0,15,252,0,0,0,7,252, + 0,0,0,7,252,0,0,0,7,248,0,0,0,3,248,0, + 0,0,3,248,0,0,0,3,240,0,0,0,1,240,0,0, + 0,1,240,0,0,0,0,224,0,0,0,0,224,0,0,0, + 0,224,0,0,49,34,238,52,2,0,255,255,63,255,207,255, + 128,31,252,7,254,0,252,0,7,248,3,252,0,112,0,7, + 248,1,252,0,112,0,3,248,1,254,0,96,0,3,252,1, + 254,0,96,0,3,252,0,254,0,96,0,1,252,0,254,0, + 192,0,1,254,1,255,0,192,0,1,254,1,255,0,192,0, + 0,254,1,255,1,128,0,0,255,3,127,129,128,0,0,255, + 3,63,129,128,0,0,127,3,63,129,128,0,0,127,135,63, + 195,0,0,0,127,134,31,195,0,0,0,63,134,31,195,0, + 0,0,63,198,31,231,0,0,0,31,204,15,230,0,0,0, + 31,204,15,230,0,0,0,31,236,15,246,0,0,0,15,248, + 7,252,0,0,0,15,248,7,252,0,0,0,15,248,7,252, + 0,0,0,7,248,3,252,0,0,0,7,240,3,248,0,0, + 0,7,240,3,248,0,0,0,3,240,1,248,0,0,0,3, + 224,1,240,0,0,0,3,224,1,240,0,0,0,1,224,0, + 240,0,0,0,1,192,0,240,0,0,0,1,192,0,224,0, + 0,0,0,192,0,96,0,0,33,34,170,36,2,0,127,255, + 31,254,0,31,252,3,240,0,7,248,3,192,0,3,248,3, + 128,0,3,252,3,128,0,1,252,3,0,0,1,254,7,0, + 0,0,255,6,0,0,0,255,12,0,0,0,127,140,0,0, + 0,127,152,0,0,0,63,240,0,0,0,63,240,0,0,0, + 31,224,0,0,0,31,224,0,0,0,15,240,0,0,0,15, + 248,0,0,0,7,248,0,0,0,7,252,0,0,0,7,252, + 0,0,0,15,254,0,0,0,29,254,0,0,0,24,255,0, + 0,0,56,255,0,0,0,48,127,128,0,0,96,127,128,0, + 0,224,63,192,0,0,192,63,224,0,1,128,31,224,0,3, + 128,31,240,0,3,128,15,240,0,7,128,15,248,0,31,128, + 31,252,0,255,240,127,255,128,32,34,136,35,2,0,255,254, + 15,255,31,248,1,248,15,248,0,240,7,248,0,224,7,248, + 0,192,3,252,0,192,3,252,0,192,1,252,1,128,1,254, + 1,128,0,254,3,0,0,255,3,0,0,255,3,0,0,127, + 134,0,0,127,134,0,0,63,196,0,0,63,204,0,0,31, + 204,0,0,31,248,0,0,15,248,0,0,15,248,0,0,7, + 240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7, + 240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7, + 240,0,0,7,240,0,0,7,240,0,0,7,240,0,0,7, + 240,0,0,255,255,0,25,34,136,31,3,0,127,255,255,128, + 127,128,127,128,126,0,255,0,124,0,255,0,120,1,254,0, + 120,3,254,0,112,3,252,0,112,7,252,0,96,7,248,0, + 96,15,248,0,96,15,240,0,64,31,224,0,0,31,224,0, + 0,63,192,0,0,63,192,0,0,127,128,0,0,127,128,0, + 0,255,0,0,0,255,0,0,1,254,0,0,3,254,0,128, + 3,252,0,128,7,248,0,128,7,248,0,128,15,240,1,128, + 15,240,1,128,31,224,3,128,31,224,3,128,63,192,7,128, + 63,192,15,128,127,128,31,128,127,128,63,128,255,255,255,128, + 255,255,255,128,11,42,84,18,4,248,255,224,248,0,248,0, + 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, + 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, + 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, + 248,0,248,0,248,0,248,0,248,0,248,0,248,0,248,0, + 248,0,248,0,248,0,248,0,248,0,248,0,255,224,16,44, + 88,22,3,247,224,0,224,0,224,0,240,0,112,0,112,0, + 120,0,56,0,56,0,60,0,28,0,28,0,30,0,14,0, + 14,0,14,0,15,0,7,0,7,0,7,128,3,128,3,128, + 3,192,1,192,1,192,1,224,0,224,0,224,0,224,0,240, + 0,112,0,112,0,120,0,56,0,56,0,60,0,28,0,28, + 0,30,0,14,0,14,0,14,0,15,0,7,11,42,84,18, + 3,248,255,224,3,224,3,224,3,224,3,224,3,224,3,224, + 3,224,3,224,3,224,3,224,3,224,3,224,3,224,3,224, + 3,224,3,224,3,224,3,224,3,224,3,224,3,224,3,224, + 3,224,3,224,3,224,3,224,3,224,3,224,3,224,3,224, + 3,224,3,224,3,224,3,224,3,224,3,224,3,224,3,224, + 3,224,3,224,255,224,22,17,51,28,3,18,0,48,0,0, + 112,0,0,120,0,0,252,0,0,252,0,1,254,0,3,207, + 0,3,143,0,7,135,128,15,3,128,15,3,192,30,1,224, + 60,0,224,60,0,240,120,0,120,112,0,56,240,0,60,25, + 3,12,25,0,248,255,255,255,128,255,255,255,128,255,255,255, + 128,8,9,9,21,4,25,96,240,248,124,60,30,15,3,1, + 21,22,66,24,2,1,15,248,0,24,62,0,56,63,0,120, + 31,0,124,31,128,126,31,128,126,31,128,62,31,128,8,63, + 128,1,255,128,7,159,128,30,31,128,62,31,128,124,31,128, + 124,31,128,252,31,128,252,31,136,252,31,136,252,31,152,254, + 63,144,127,127,240,63,143,224,22,34,102,25,1,0,255,128, + 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, + 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, + 128,0,31,159,128,31,179,224,31,225,224,31,193,240,31,193, + 248,31,192,248,31,192,248,31,128,252,31,128,252,31,128,252, + 31,128,252,31,128,252,31,128,252,31,128,252,31,128,252,31, + 128,248,31,192,248,31,193,248,29,193,240,24,225,224,24,99, + 192,16,63,128,18,22,66,22,2,1,3,252,0,15,6,0, + 31,3,0,62,3,128,62,7,128,126,15,128,124,31,128,252, + 31,128,252,31,0,252,14,0,252,0,0,252,0,0,252,0, + 0,252,0,0,252,0,0,124,0,64,124,0,192,62,0,128, + 62,0,128,30,1,0,15,130,0,3,252,0,23,34,102,26, + 2,0,0,63,224,0,7,224,0,7,224,0,7,224,0,7, + 224,0,7,224,0,7,224,0,7,224,0,7,224,0,7,224, + 0,7,224,0,7,224,7,231,224,31,23,224,30,31,224,62, + 15,224,126,15,224,124,15,224,124,7,224,252,7,224,252,7, + 224,252,7,224,252,7,224,252,7,224,252,7,224,252,7,224, + 252,7,224,124,7,224,124,15,224,126,15,224,62,15,224,30, + 31,224,15,23,224,7,231,254,18,22,66,23,2,1,3,252, + 0,14,30,0,30,31,0,62,15,128,60,15,128,124,15,128, + 124,15,192,252,15,192,252,15,192,252,15,192,255,255,192,252, + 0,0,252,0,0,252,0,0,252,0,64,124,0,64,124,0, + 192,62,0,192,62,0,128,31,1,0,15,131,0,3,252,0, + 18,34,102,16,1,1,0,255,0,1,199,128,7,199,128,7, + 199,192,15,143,192,15,143,192,31,143,192,31,143,128,31,135, + 128,31,128,0,31,128,0,31,128,0,255,240,0,31,128,0, + 31,128,0,31,128,0,31,128,0,31,128,0,31,128,0,31, + 128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128, + 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, + 31,128,0,31,128,0,31,128,0,255,240,0,24,33,99,27, + 2,246,7,254,62,31,15,71,63,7,143,62,7,207,126,7, + 238,126,7,228,126,7,224,126,7,224,126,7,224,62,7,192, + 31,15,128,15,15,0,3,252,0,12,0,0,48,0,0,48, + 0,0,112,0,0,112,0,0,127,255,128,127,255,224,63,255, + 240,31,255,240,7,255,248,60,1,248,96,0,120,192,0,56, + 192,0,56,192,0,48,192,0,112,96,0,96,48,1,192,30, + 7,128,3,252,0,24,34,102,27,1,0,255,128,0,31,128, + 0,31,128,0,31,128,0,31,128,0,31,128,0,31,128,0, + 31,128,0,31,128,0,31,128,0,31,128,0,31,129,0,31, + 143,224,31,145,240,31,160,248,31,160,252,31,192,252,31,192, + 252,31,192,252,31,128,252,31,128,252,31,128,252,31,128,252, + 31,128,252,31,128,252,31,128,252,31,128,252,31,128,252,31, + 128,252,31,128,252,31,128,252,31,128,252,31,128,252,255,227, + 255,11,35,70,15,2,0,4,0,31,0,63,128,63,128,63, + 128,63,128,31,0,4,0,0,0,0,0,0,0,0,0,0, + 0,255,0,63,0,63,0,63,0,63,0,63,0,63,0,63, + 0,63,0,63,0,63,0,63,0,63,0,63,0,63,0,63, + 0,63,0,63,0,63,0,63,0,63,0,255,224,15,46,92, + 16,254,245,0,16,0,124,0,254,0,254,0,254,0,254,0, + 124,0,16,0,0,0,0,0,0,0,0,0,0,7,252,0, + 252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0, + 252,0,252,0,252,0,252,0,252,0,252,0,252,0,252,0, + 252,0,252,0,252,0,252,0,252,0,252,0,252,56,252,124, + 252,252,252,252,252,248,248,248,248,113,240,49,224,31,128,25, + 34,136,27,1,0,255,128,0,0,31,128,0,0,31,128,0, + 0,31,128,0,0,31,128,0,0,31,128,0,0,31,128,0, + 0,31,128,0,0,31,128,0,0,31,128,0,0,31,128,0, + 0,31,128,0,0,31,131,254,0,31,128,240,0,31,128,96, + 0,31,128,192,0,31,128,128,0,31,129,128,0,31,131,0, + 0,31,134,0,0,31,143,0,0,31,159,0,0,31,159,128, + 0,31,191,128,0,31,239,192,0,31,199,224,0,31,135,224, + 0,31,131,240,0,31,129,248,0,31,129,248,0,31,128,252, + 0,31,128,252,0,31,128,254,0,255,243,255,128,12,34,68, + 14,1,0,255,128,31,128,31,128,31,128,31,128,31,128,31, + 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, + 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, + 128,31,128,31,128,31,128,31,128,31,128,31,128,31,128,31, + 128,31,128,31,128,255,240,34,22,110,37,2,1,255,31,193, + 248,0,63,35,230,124,0,63,67,228,62,0,63,131,248,63, + 0,63,131,248,63,0,63,131,248,63,0,63,3,240,63,0, + 63,3,240,63,0,63,3,240,63,0,63,3,240,63,0,63, + 3,240,63,0,63,3,240,63,0,63,3,240,63,0,63,3, + 240,63,0,63,3,240,63,0,63,3,240,63,0,63,3,240, + 63,0,63,3,240,63,0,63,3,240,63,0,63,3,240,63, + 0,63,3,240,63,0,255,207,252,255,192,23,22,66,27,2, + 1,255,31,192,63,35,224,63,65,240,63,65,248,63,129,248, + 63,129,248,63,1,248,63,1,248,63,1,248,63,1,248,63, + 1,248,63,1,248,63,1,248,63,1,248,63,1,248,63,1, + 248,63,1,248,63,1,248,63,1,248,63,1,248,63,1,248, + 255,199,254,20,22,66,24,2,1,3,252,0,15,15,0,30, + 7,128,62,7,192,62,7,192,124,3,224,124,3,224,252,3, + 240,252,3,240,252,3,240,252,3,240,252,3,240,252,3,240, + 252,3,240,252,3,240,124,3,224,124,3,224,62,7,192,62, + 7,192,30,7,128,15,15,0,3,252,0,22,33,99,25,1, + 246,255,159,128,31,163,192,31,225,224,31,193,240,31,192,248, + 31,192,248,31,192,248,31,128,252,31,128,252,31,128,252,31, + 128,252,31,128,252,31,128,252,31,128,252,31,128,252,31,192, + 252,31,192,248,31,192,248,31,193,240,31,225,240,31,179,224, + 31,159,128,31,128,0,31,128,0,31,128,0,31,128,0,31, + 128,0,31,128,0,31,128,0,31,128,0,31,128,0,31,128, + 0,255,240,0,22,33,99,25,2,246,7,240,32,15,24,96, + 30,28,96,62,14,224,126,15,224,124,15,224,124,7,224,252, + 7,224,252,7,224,252,7,224,252,7,224,252,7,224,252,7, + 224,252,7,224,252,7,224,124,7,224,124,15,224,126,15,224, + 62,15,224,30,31,224,31,23,224,7,231,224,0,7,224,0, + 7,224,0,7,224,0,7,224,0,7,224,0,7,224,0,7, + 224,0,7,224,0,7,224,0,7,224,0,63,252,17,22,66, + 20,2,1,255,31,0,63,63,128,63,79,128,63,79,128,63, + 159,128,63,159,128,63,159,0,63,14,0,63,0,0,63,0, + 0,63,0,0,63,0,0,63,0,0,63,0,0,63,0,0, + 63,0,0,63,0,0,63,0,0,63,0,0,63,0,0,63, + 0,0,255,192,0,16,22,44,21,3,1,31,196,48,116,96, + 60,224,28,224,28,240,12,248,4,254,4,127,128,127,224,63, + 240,31,252,7,254,129,254,192,127,192,31,224,15,224,7,240, + 7,248,6,204,14,135,248,15,32,64,17,1,0,1,128,1, + 128,1,128,1,128,1,128,3,128,3,128,7,128,15,128,63, + 128,255,248,31,128,31,128,31,128,31,128,31,128,31,128,31, + 128,31,128,31,128,31,128,31,128,31,130,31,130,31,130,31, + 130,31,134,31,134,31,132,15,196,15,248,7,240,24,22,66, + 26,1,0,255,143,248,31,129,248,31,129,248,31,129,248,31, + 129,248,31,129,248,31,129,248,31,129,248,31,129,248,31,129, + 248,31,129,248,31,129,248,31,129,248,31,129,248,31,129,248, + 31,129,248,31,131,248,31,131,248,31,133,248,15,133,248,15, + 201,248,7,241,255,23,23,69,25,1,255,255,241,254,63,192, + 120,31,128,48,15,192,48,15,192,32,7,192,96,7,224,96, + 7,224,64,3,224,192,3,240,128,3,240,128,1,241,128,1, + 249,0,0,249,0,0,255,0,0,254,0,0,126,0,0,126, + 0,0,124,0,0,60,0,0,60,0,0,24,0,0,24,0, + 35,23,115,37,1,255,255,231,255,31,224,63,129,252,7,128, + 31,128,252,3,0,15,128,252,2,0,15,192,124,2,0,15, + 192,124,6,0,7,192,126,4,0,7,224,254,4,0,3,224, + 191,12,0,3,224,191,8,0,3,241,159,24,0,1,241,31, + 144,0,1,241,31,144,0,1,251,31,176,0,0,250,15,224, + 0,0,250,15,224,0,0,254,15,224,0,0,124,7,192,0, + 0,124,7,192,0,0,60,7,192,0,0,56,3,128,0,0, + 56,3,128,0,0,24,3,0,0,23,22,66,25,1,0,255, + 231,252,63,192,240,31,192,224,15,192,192,15,225,128,7,227, + 0,3,242,0,3,254,0,1,252,0,1,252,0,0,252,0, + 0,126,0,0,127,0,0,127,0,0,223,128,1,159,192,3, + 15,192,2,15,224,6,7,224,14,7,240,30,7,248,255,207, + 254,23,33,99,25,1,245,255,241,254,63,192,120,31,128,48, + 15,192,32,15,192,32,15,192,96,7,224,64,7,224,64,3, + 240,192,3,240,128,1,248,128,1,249,128,0,249,0,0,253, + 0,0,253,0,0,126,0,0,126,0,0,62,0,0,60,0, + 0,28,0,0,28,0,0,12,0,0,8,0,0,8,0,0, + 8,0,15,16,0,31,16,0,63,144,0,63,32,0,62,32, + 0,62,64,0,31,192,0,15,0,0,18,22,66,22,2,0, + 127,255,192,124,15,192,120,31,128,112,63,0,96,63,0,96, + 126,0,64,126,0,64,252,0,1,248,0,1,248,0,3,240, + 0,3,240,0,7,224,64,15,192,64,15,192,64,31,128,192, + 31,0,192,63,1,192,126,1,192,126,3,192,252,15,192,255, + 255,192,14,43,86,20,3,247,0,60,0,240,3,192,7,128, + 7,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, + 15,128,15,128,15,128,15,128,15,128,15,128,15,0,15,0, + 28,0,240,0,60,0,30,0,15,0,15,128,15,128,15,128, + 15,128,15,128,15,128,15,128,15,128,15,128,15,128,15,128, + 15,128,15,128,7,128,7,128,3,192,0,240,0,60,3,44, + 44,13,5,247,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, + 15,43,86,20,3,247,240,0,60,0,15,0,7,128,7,128, + 7,192,7,192,7,192,7,192,7,192,7,192,7,192,7,192, + 7,192,7,192,7,192,7,192,7,192,3,192,3,192,0,240, + 0,62,0,240,1,224,3,192,7,192,7,192,7,192,7,192, + 7,192,7,192,7,192,7,192,7,192,7,192,7,192,7,192, + 7,192,7,128,7,128,15,0,60,0,240,0,27,9,36,31, + 2,8,31,128,1,128,63,240,0,192,127,254,0,96,255,255, + 128,96,193,255,240,96,192,63,255,224,192,15,255,192,96,1, + 255,128,48,0,63,0,255}; +/* + Fontname: -FreeType-Old Standard TT-Medium-R-Normal--26-260-72-72-P-138-ISO10646-1 + Copyright: Copyright (C) 2006-2008 Alexey Kryukov + Capital A Height: 18, '1' Height: 18 + Calculated Max Values w=26 h=24 x= 5 y=15 dx=28 dy= 0 ascent=25 len=72 + Font Bounding box w=68 h=33 x=-21 y=-8 + Calculated Min Values x=-1 y=-7 dx= 0 dy= 0 + Pure Font ascent =18 descent=-6 + X Font ascent =19 descent=-6 + Max Font ascent =25 descent=-7 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_osr18[7816] U8G_FONT_SECTION("u8g_font_osr18") = { + 0,68,33,235,248,18,4,197,10,125,32,255,250,25,249,19, + 250,0,0,0,7,0,0,3,18,18,7,2,0,224,224,224, + 224,224,224,64,64,64,64,64,64,64,64,0,224,224,224,6, + 5,5,10,2,13,204,204,204,204,72,14,18,36,18,2,0, + 4,32,4,32,4,32,4,32,4,32,255,252,8,64,8,64, + 8,64,8,64,8,64,24,64,255,252,16,128,16,128,16,128, + 16,128,16,128,11,22,44,15,2,254,9,0,9,0,31,128, + 41,64,73,32,73,32,73,96,73,96,105,0,61,0,31,128, + 15,192,9,192,9,96,233,32,233,32,201,32,201,64,105,64, + 31,128,9,0,9,0,18,18,54,22,2,0,56,2,0,68, + 4,0,198,8,0,198,8,0,198,16,0,198,32,0,198,32, + 0,68,64,0,56,64,0,0,134,0,1,25,128,1,48,128, + 2,48,192,4,48,192,4,48,192,8,48,192,8,24,128,16, + 15,0,18,18,54,20,1,0,7,128,0,8,64,0,24,64, + 0,24,64,0,24,192,0,28,128,0,15,0,0,6,31,192, + 15,6,0,23,6,0,35,132,0,97,196,0,192,232,0,192, + 240,0,192,112,0,224,120,128,96,220,128,63,15,0,2,5, + 5,7,2,13,192,192,192,192,64,6,23,23,10,3,252,8, + 16,48,32,64,64,192,128,128,128,128,128,128,128,128,192,64, + 64,96,32,16,24,12,6,23,23,9,1,252,64,32,48,16, + 24,8,8,12,4,4,4,4,4,4,12,8,8,8,16,16, + 32,64,192,10,10,20,14,2,8,12,0,12,0,204,192,201, + 192,43,0,28,0,123,128,201,192,12,0,12,0,22,22,66, + 24,1,252,0,16,0,0,16,0,0,16,0,0,16,0,0, + 16,0,0,16,0,0,16,0,0,16,0,0,16,0,0,16, + 0,255,255,252,0,16,0,0,16,0,0,16,0,0,16,0, + 0,16,0,0,16,0,0,16,0,0,16,0,0,16,0,0, + 16,0,0,16,0,3,8,8,7,2,252,192,224,224,32,32, + 64,64,128,7,1,1,11,2,6,254,3,3,3,7,2,0, + 224,224,224,8,24,24,12,2,250,1,1,2,2,2,4,4, + 4,12,8,8,24,16,16,16,32,32,32,64,64,64,128,128, + 128,12,18,36,15,1,0,15,0,16,192,32,64,96,96,96, + 32,192,48,192,48,192,48,192,48,192,48,192,48,192,48,192, + 48,96,32,96,96,32,64,16,192,15,0,9,18,36,15,3, + 0,8,0,8,0,24,0,248,0,24,0,24,0,24,0,24, + 0,24,0,24,0,24,0,24,0,24,0,24,0,24,0,24, + 0,24,0,255,128,10,18,36,15,2,0,30,0,99,128,129, + 192,128,192,128,192,224,192,240,192,32,192,1,128,3,0,6, + 0,8,0,16,0,32,0,64,64,192,64,255,192,255,192,11, + 18,36,15,2,0,63,0,97,128,192,192,224,192,240,192,0, + 192,0,192,1,128,62,0,1,128,0,192,0,96,96,96,240, + 96,240,96,192,192,65,128,63,0,12,18,36,15,2,0,1, + 0,3,0,3,0,7,0,15,0,11,0,19,0,51,0,35, + 0,67,0,195,0,131,0,255,224,3,0,3,0,3,0,3, + 0,31,240,11,18,36,15,2,0,96,192,127,128,126,0,64, + 0,64,0,64,0,95,0,97,128,64,192,64,224,0,96,0, + 96,96,96,240,96,224,192,192,192,65,128,62,0,11,18,36, + 15,2,0,15,0,24,128,48,64,96,192,96,192,64,0,192, + 0,207,0,209,192,224,192,224,224,224,96,224,96,224,96,96, + 224,96,192,49,128,15,0,10,18,36,15,3,0,255,192,255, + 192,128,64,128,64,128,128,0,128,1,0,1,0,2,0,6, + 0,6,0,12,0,12,0,30,0,30,0,30,0,30,0,14, + 0,12,18,36,15,2,0,31,128,48,224,96,96,192,48,192, + 48,224,48,240,32,124,64,63,128,55,224,96,240,192,112,192, + 48,192,48,192,48,96,96,112,192,31,128,11,18,36,15,2, + 0,30,0,49,128,96,192,224,192,192,64,192,96,192,96,192, + 224,96,224,113,96,30,96,0,96,0,64,96,192,96,192,64, + 128,65,0,62,0,3,12,12,7,2,0,224,224,224,0,0, + 0,0,0,0,224,224,224,4,16,16,8,2,252,240,240,240, + 0,0,0,0,0,96,240,240,16,16,32,32,64,20,21,63, + 24,2,253,0,0,48,0,0,192,0,3,0,0,12,0,0, + 48,0,0,224,0,3,128,0,14,0,0,24,0,0,96,0, + 0,192,0,0,48,0,0,12,0,0,7,0,0,1,192,0, + 0,112,0,0,24,0,0,6,0,0,1,128,0,0,96,0, + 0,16,22,6,18,24,1,4,255,255,252,0,0,0,0,0, + 0,0,0,0,0,0,0,255,255,252,20,21,63,24,2,253, + 192,0,0,48,0,0,12,0,0,3,0,0,0,192,0,0, + 112,0,0,28,0,0,7,0,0,1,128,0,0,96,0,0, + 48,0,0,192,0,3,0,0,14,0,0,56,0,0,224,0, + 1,128,0,6,0,0,24,0,0,96,0,0,128,0,0,9, + 18,36,12,2,0,62,0,67,0,129,128,129,128,225,128,97, + 128,3,0,6,0,12,0,16,0,48,0,34,0,34,0,28, + 0,0,0,28,0,28,0,28,0,18,18,54,20,1,0,3, + 248,0,12,6,0,16,109,0,33,156,128,67,12,128,70,8, + 64,142,8,64,142,24,64,140,24,64,140,16,64,140,48,128, + 140,48,128,140,241,0,71,30,0,96,0,0,32,0,0,24, + 12,0,7,240,0,18,18,54,20,2,0,0,128,0,0,192, + 0,1,192,0,1,192,0,1,224,0,3,224,0,2,96,0, + 2,112,0,6,112,0,4,48,0,4,56,0,12,56,0,15, + 248,0,24,28,0,16,12,0,16,12,0,48,14,0,254,63, + 192,15,18,36,17,1,0,255,240,24,28,24,12,24,6,24, + 6,24,6,24,12,24,24,31,224,24,24,24,12,24,6,24, + 6,24,6,24,6,24,12,24,28,255,240,14,18,36,18,2, + 0,7,132,24,108,32,60,96,28,96,12,192,12,192,4,192, + 0,192,0,192,0,192,0,192,4,96,4,96,4,32,8,48, + 24,24,48,7,192,17,18,54,20,1,0,255,240,0,24,12, + 0,24,6,0,24,3,0,24,3,0,24,1,128,24,1,128, + 24,1,128,24,1,128,24,1,128,24,1,128,24,1,128,24, + 1,128,24,3,0,24,3,0,24,6,0,24,12,0,255,240, + 0,15,18,36,18,1,0,255,254,24,6,24,2,24,2,24, + 2,24,34,24,32,24,96,31,224,24,96,24,32,24,32,24, + 34,24,2,24,2,24,6,24,14,255,254,15,18,36,17,1, + 0,255,254,24,6,24,2,24,2,24,2,24,34,24,32,24, + 96,31,224,24,96,24,32,24,32,24,32,24,0,24,0,24, + 0,24,0,127,0,17,18,54,19,2,0,7,196,0,24,100, + 0,48,28,0,96,28,0,96,12,0,96,4,0,192,4,0, + 192,0,0,192,127,128,192,28,0,192,28,0,192,28,0,192, + 28,0,96,28,0,96,28,0,48,52,0,24,100,0,7,132, + 0,18,18,54,20,1,0,255,63,192,24,6,0,24,6,0, + 24,6,0,24,6,0,24,6,0,24,6,0,24,6,0,31, + 254,0,24,6,0,24,6,0,24,6,0,24,6,0,24,6, + 0,24,6,0,24,6,0,24,6,0,255,63,192,8,18,18, + 10,1,0,255,24,24,24,24,24,24,24,24,24,24,24,24, + 24,24,24,24,255,12,18,36,14,1,0,7,240,1,128,1, + 128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1, + 128,1,128,97,128,241,128,225,128,193,128,67,0,62,0,17, + 18,54,19,1,0,255,63,128,24,14,0,24,8,0,24,16, + 0,24,32,0,24,64,0,24,128,0,25,192,0,26,192,0, + 28,224,0,24,96,0,24,112,0,24,56,0,24,56,0,24, + 28,0,24,28,0,24,14,0,255,127,128,15,18,36,17,1, + 0,255,0,24,0,24,0,24,0,24,0,24,0,24,0,24, + 0,24,0,24,0,24,0,24,2,24,2,24,2,24,6,24, + 6,24,14,255,254,20,18,54,22,1,0,252,3,240,28,3, + 128,30,5,128,22,5,128,22,5,128,23,5,128,19,9,128, + 19,9,128,19,137,128,19,145,128,17,145,128,17,209,128,17, + 209,128,16,225,128,16,225,128,16,225,128,16,65,128,254,79, + 240,18,18,54,19,1,0,252,15,192,28,2,0,30,2,0, + 22,2,0,23,2,0,19,130,0,17,130,0,17,194,0,16, + 226,0,16,226,0,16,114,0,16,50,0,16,58,0,16,30, + 0,16,14,0,16,14,0,16,6,0,254,2,0,15,18,36, + 18,2,0,7,192,24,48,48,24,32,8,96,12,96,12,192, + 6,192,6,192,6,192,6,192,6,192,6,96,12,96,12,32, + 8,48,24,24,48,7,192,15,18,36,17,1,0,255,240,24, + 28,24,12,24,6,24,6,24,6,24,12,24,24,31,240,24, + 0,24,0,24,0,24,0,24,0,24,0,24,0,24,0,255, + 0,15,22,44,18,2,252,7,192,24,48,48,24,32,8,96, + 12,96,12,192,6,192,6,192,6,192,6,192,6,192,6,96, + 12,99,140,36,76,52,120,28,114,7,226,0,98,0,118,0, + 60,0,24,17,18,54,19,1,0,255,240,0,24,24,0,24, + 12,0,24,12,0,24,12,0,24,12,0,24,24,0,31,224, + 0,24,48,0,24,56,0,24,24,0,24,24,0,24,24,0, + 24,28,128,24,28,128,24,28,128,24,31,0,255,15,0,13, + 18,36,16,2,0,30,32,97,160,192,96,192,96,192,32,192, + 32,224,0,124,0,63,128,15,224,129,240,128,112,128,24,192, + 24,192,24,224,16,152,32,135,192,15,18,36,18,2,0,255, + 254,195,14,131,6,131,2,3,2,3,2,3,2,3,0,3, + 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, + 0,31,240,19,18,54,21,1,0,255,15,224,24,1,0,24, + 1,0,24,1,0,24,1,0,24,1,0,24,1,0,24,1, + 0,24,1,0,24,1,0,24,1,0,24,1,0,24,1,0, + 24,1,0,12,1,0,12,2,0,6,4,0,1,248,0,18, + 18,54,20,1,0,255,31,192,28,3,0,28,2,0,12,2, + 0,14,6,0,6,4,0,7,4,0,7,8,0,3,8,0, + 3,136,0,3,144,0,1,144,0,1,208,0,0,224,0,0, + 224,0,0,224,0,0,64,0,0,64,0,26,18,72,28,1, + 0,255,63,159,192,28,14,3,0,12,6,2,0,12,14,2, + 0,14,15,6,0,14,15,4,0,6,19,4,0,7,19,140, + 0,7,19,136,0,3,49,136,0,3,161,216,0,3,161,208, + 0,1,160,208,0,1,192,240,0,1,192,224,0,0,192,96, + 0,0,128,96,0,0,128,64,0,18,18,54,20,1,0,127, + 191,128,14,12,0,14,12,0,7,8,0,7,16,0,3,176, + 0,1,160,0,1,192,0,0,192,0,0,224,0,1,96,0, + 3,112,0,2,56,0,4,56,0,12,28,0,8,12,0,24, + 14,0,254,63,192,17,18,54,19,1,0,255,31,128,28,6, + 0,28,4,0,14,4,0,6,8,0,7,8,0,3,144,0, + 3,160,0,1,224,0,0,192,0,0,192,0,0,192,0,0, + 192,0,0,192,0,0,192,0,0,192,0,0,192,0,7,252, + 0,14,18,36,17,2,0,127,252,112,56,96,48,64,112,64, + 224,128,192,1,192,3,128,3,0,7,0,14,0,12,4,28, + 4,56,4,48,12,112,28,224,56,255,248,5,23,23,10,3, + 251,248,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,248,8,24,24,12,2,250,128,128, + 128,64,64,64,32,32,32,16,16,16,16,8,8,8,4,4, + 4,2,2,2,1,1,5,23,23,10,2,251,248,24,24,24, + 24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24, + 24,24,248,11,9,18,15,2,9,4,0,14,0,10,0,17, + 0,49,128,32,128,64,64,64,96,128,32,14,1,2,14,0, + 252,255,252,4,4,4,11,2,13,192,224,96,16,11,12,24, + 13,1,0,30,0,99,0,65,128,97,128,33,128,15,128,113, + 128,193,128,195,160,195,160,197,160,121,192,11,18,36,13,0, + 0,240,0,48,0,48,0,48,0,48,0,48,0,51,128,52, + 192,56,96,56,96,48,96,48,96,48,96,48,96,48,96,56, + 96,40,192,39,128,9,12,24,11,1,0,30,0,33,0,96, + 128,193,128,193,128,192,0,192,0,192,0,192,128,96,128,33, + 0,30,0,12,18,36,14,1,0,7,192,0,192,0,192,0, + 192,0,192,0,192,28,192,98,192,97,192,193,192,192,192,192, + 192,192,192,192,192,192,192,97,192,97,192,30,240,9,12,24, + 12,1,0,30,0,35,0,97,128,193,128,193,128,255,128,192, + 0,192,0,192,128,96,128,33,0,30,0,9,18,36,9,1, + 0,15,0,24,128,49,128,49,0,48,0,48,0,254,0,48, + 0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48, + 0,48,0,254,0,12,18,36,15,2,250,30,112,97,176,225, + 240,192,192,192,192,192,192,225,128,97,128,30,0,224,0,255, + 0,127,192,64,96,128,32,128,32,128,32,192,64,63,128,13, + 18,36,15,1,0,240,0,48,0,48,0,48,0,48,0,48, + 0,51,192,52,192,56,96,56,96,48,96,48,96,48,96,48, + 96,48,96,48,96,48,96,253,248,6,18,18,8,1,0,112, + 112,32,0,0,0,240,48,48,48,48,48,48,48,48,48,48, + 252,7,24,24,8,255,250,6,6,0,0,0,0,62,6,6, + 6,6,6,6,6,6,6,6,6,6,6,198,198,140,120,12, + 18,36,14,1,0,240,0,48,0,48,0,48,0,48,0,48, + 0,49,240,48,128,49,0,50,0,50,0,54,0,59,0,51, + 0,49,128,49,192,48,224,253,240,6,18,18,8,1,0,240, + 48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48, + 252,19,12,36,21,1,0,243,199,0,52,249,128,56,113,192, + 56,97,192,48,97,192,48,97,192,48,97,192,48,97,192,48, + 97,192,48,97,192,48,97,192,253,251,224,13,12,24,15,1, + 0,243,192,52,192,56,96,56,96,48,96,48,96,48,96,48, + 96,48,96,48,96,48,96,253,248,10,12,24,13,1,0,30, + 0,33,128,97,128,192,192,192,192,192,192,192,192,192,192,192, + 192,97,128,33,128,30,0,11,18,36,14,1,250,243,128,52, + 192,56,96,56,96,48,96,48,96,48,96,48,96,48,96,56, + 96,56,192,55,128,48,0,48,0,48,0,48,0,48,0,252, + 0,12,18,36,13,1,250,28,64,98,64,97,192,192,192,192, + 192,192,192,192,192,192,192,192,192,97,192,97,192,30,192,0, + 192,0,192,0,192,0,192,0,192,3,240,9,12,24,11,1, + 0,243,128,52,128,57,128,56,128,56,0,48,0,48,0,48, + 0,48,0,48,0,48,0,252,0,9,12,24,11,1,0,125, + 0,131,0,129,0,193,0,240,0,124,0,31,0,131,128,128, + 128,192,128,224,128,159,0,8,17,17,10,1,0,16,16,16, + 48,48,254,48,48,48,48,48,48,48,49,49,51,30,13,12, + 24,14,0,0,241,224,48,96,48,96,48,96,48,96,48,96, + 48,96,48,96,48,224,48,224,57,96,30,120,13,12,24,14, + 1,0,252,248,48,96,48,64,24,64,24,128,12,128,12,128, + 13,0,7,0,7,0,2,0,2,0,19,12,36,21,1,0, + 253,251,224,48,96,128,48,96,128,24,113,0,24,177,0,12, + 177,0,12,154,0,13,26,0,7,28,0,7,12,0,2,12, + 0,2,8,0,12,12,24,14,1,0,249,224,48,128,57,0, + 25,0,14,0,14,0,6,0,11,0,19,0,17,128,33,192, + 243,240,13,18,36,14,0,250,252,248,56,32,24,32,24,64, + 12,64,12,64,12,128,6,128,6,128,7,0,3,0,3,0, + 2,0,2,0,34,0,98,0,100,0,56,0,9,12,24,12, + 1,0,255,128,195,128,131,0,134,0,142,0,12,0,24,0, + 56,0,48,128,96,128,96,128,255,128,6,23,23,12,3,251, + 12,16,48,48,48,48,56,24,24,24,16,224,48,16,24,24, + 56,48,48,48,48,16,12,1,24,24,7,3,250,128,128,128, + 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, + 128,128,128,128,128,6,23,23,11,3,251,192,32,48,48,48, + 112,96,96,96,96,32,28,48,96,96,96,96,112,48,48,48, + 32,192,15,5,10,17,1,4,32,4,254,2,143,194,129,254, + 64,124,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,255,255,255,255, + 255,255,255,0,0,0,7,0,0,3,18,18,7,2,250,224, + 224,224,0,64,64,64,64,64,64,64,64,224,224,224,224,224, + 224,9,18,36,15,3,253,4,0,4,0,4,0,31,0,53, + 0,100,128,229,128,197,128,196,0,196,0,196,0,228,128,100, + 128,53,0,31,0,4,0,4,0,4,0,14,18,36,19,2, + 0,0,248,1,132,3,4,2,12,6,0,6,0,6,0,62, + 0,7,224,6,0,6,0,6,0,6,0,6,0,116,4,140, + 4,139,248,112,240,11,11,22,15,2,2,159,32,113,192,64, + 64,128,96,128,32,128,32,128,32,128,32,64,64,96,192,159, + 32,15,18,36,15,0,0,252,126,56,24,24,16,28,16,12, + 32,14,64,6,64,7,128,3,128,63,240,3,0,3,0,63, + 240,3,0,3,0,3,0,3,0,31,224,1,23,23,7,3, + 251,128,128,128,128,128,128,128,128,128,0,0,0,0,0,128, + 128,128,128,128,128,128,128,128,10,23,46,17,3,251,30,0, + 33,0,35,0,35,0,32,0,48,0,28,0,46,0,71,0, + 131,128,129,192,192,192,224,64,112,64,56,128,29,0,6,0, + 3,0,3,0,49,0,49,0,34,0,28,0,7,2,2,11, + 2,15,198,198,19,18,54,21,1,0,3,248,0,12,6,0, + 16,225,0,33,28,128,67,12,64,70,4,64,134,4,32,134, + 0,32,134,0,32,134,0,32,134,0,32,134,8,32,67,8, + 64,67,8,64,32,240,128,16,1,0,12,6,0,3,248,0, + 7,8,8,11,2,10,240,200,24,104,136,154,100,252,6,10, + 10,12,3,1,32,68,136,136,136,136,136,136,68,32,13,6, + 12,15,1,3,255,248,0,8,0,8,0,8,0,8,0,8, + 7,1,1,11,2,6,254,19,18,54,21,1,0,3,248,0, + 12,6,0,31,225,0,35,24,128,67,24,64,67,24,64,131, + 24,32,131,24,32,131,224,32,131,16,32,131,24,32,131,24, + 32,67,26,64,67,26,64,47,142,128,16,1,0,12,6,0, + 3,248,0,7,1,1,11,2,15,254,7,7,7,15,4,11, + 56,68,130,130,130,68,56,22,18,54,24,1,255,0,16,0, + 0,16,0,0,16,0,0,16,0,0,16,0,0,16,0,0, + 16,0,255,255,252,0,16,0,0,16,0,0,16,0,0,16, + 0,0,16,0,0,16,0,0,16,0,0,0,0,0,0,0, + 255,255,252,7,10,10,11,2,8,124,134,134,230,6,8,16, + 96,66,254,7,11,11,12,3,7,120,132,198,198,4,120,14, + 70,198,134,120,4,4,4,11,5,13,48,48,96,128,14,19, + 38,17,2,249,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,64,192,64,128,64,132,163,252,158,56,128,0,128,0, + 192,0,192,0,192,0,224,0,64,0,11,22,44,14,2,252, + 63,224,120,128,248,128,248,128,248,128,248,128,248,128,120,128, + 8,128,8,128,8,128,8,128,8,128,8,128,8,128,8,128, + 8,128,8,128,8,128,8,128,8,128,8,128,3,3,3,7, + 2,7,224,224,224,5,5,5,11,3,251,64,48,24,24,240, + 6,11,11,12,3,7,16,16,240,48,48,48,48,48,48,48, + 252,6,9,9,10,2,9,112,136,132,132,132,132,72,48,252, + 7,10,10,13,3,1,8,68,68,34,34,34,34,68,68,136, + 18,18,54,23,3,0,16,4,0,240,12,0,48,8,0,48, + 16,0,48,16,0,48,32,0,48,96,0,48,67,0,48,135, + 0,48,139,0,253,11,0,3,19,0,2,19,0,6,35,0, + 4,63,192,8,3,0,24,3,0,16,15,192,17,18,54,22, + 3,0,16,4,0,240,8,0,48,8,0,48,16,0,48,16, + 0,48,32,0,48,64,0,48,78,0,48,179,128,48,161,128, + 253,49,128,3,17,128,2,3,0,4,6,0,4,8,0,8, + 16,128,24,49,128,16,63,128,18,18,54,23,3,0,120,4, + 0,134,12,0,198,8,0,4,16,0,120,16,0,12,32,0, + 6,96,0,198,67,0,198,135,0,142,139,0,121,11,0,2, + 19,0,2,19,0,4,35,0,12,63,192,8,3,0,16,3, + 0,16,15,192,9,18,36,12,1,250,28,0,28,0,28,0, + 0,0,28,0,34,0,34,0,6,0,4,0,24,0,48,0, + 96,0,227,0,195,128,192,128,224,128,97,0,62,0,18,24, + 72,20,2,0,6,0,0,6,0,0,3,0,0,0,128,0, + 0,0,0,0,0,0,0,128,0,0,192,0,1,192,0,1, + 192,0,1,224,0,3,224,0,2,96,0,2,112,0,6,112, + 0,4,48,0,4,56,0,12,24,0,15,248,0,24,28,0, + 16,12,0,16,14,0,48,14,0,254,63,192,18,24,72,20, + 2,0,0,16,0,0,48,0,0,96,0,0,64,0,0,128, + 0,0,0,0,0,128,0,0,192,0,1,192,0,1,192,0, + 1,224,0,3,224,0,2,96,0,2,112,0,6,112,0,4, + 48,0,4,56,0,12,56,0,15,248,0,24,28,0,16,12, + 0,16,14,0,48,14,0,254,63,192,18,24,72,20,2,0, + 0,128,0,0,192,0,1,96,0,2,48,0,4,8,0,0, + 0,0,0,128,0,0,192,0,1,192,0,1,192,0,1,224, + 0,3,224,0,2,96,0,2,112,0,6,112,0,4,48,0, + 4,56,0,12,56,0,15,248,0,24,28,0,16,12,0,16, + 12,0,48,14,0,254,63,192,18,23,69,20,2,0,3,144, + 0,5,240,0,0,0,0,0,0,0,0,0,0,0,128,0, + 0,128,0,1,192,0,1,192,0,1,224,0,3,224,0,2, + 96,0,2,112,0,6,112,0,4,48,0,12,56,0,12,56, + 0,15,248,0,24,28,0,16,28,0,16,12,0,48,14,0, + 254,63,192,18,23,69,20,1,0,6,24,0,6,24,0,2, + 16,0,0,0,0,0,0,0,0,192,0,0,192,0,0,192, + 0,1,224,0,1,224,0,1,96,0,2,112,0,2,112,0, + 2,48,0,4,56,0,4,24,0,12,24,0,15,252,0,8, + 12,0,24,12,0,24,14,0,56,6,0,254,63,192,17,24, + 72,20,2,0,1,192,0,2,32,0,2,32,0,2,32,0, + 1,192,0,0,0,0,0,128,0,0,128,0,1,192,0,1, + 192,0,1,192,0,2,224,0,2,96,0,2,96,0,4,112, + 0,4,112,0,12,48,0,8,56,0,15,248,0,24,28,0, + 16,28,0,16,12,0,48,14,0,254,127,128,24,18,54,26, + 0,0,0,127,255,0,28,7,0,28,3,0,44,1,0,44, + 1,0,76,17,0,76,16,0,140,48,0,143,240,1,12,48, + 3,12,16,2,12,17,7,252,17,4,12,1,8,12,1,8, + 12,3,24,12,7,254,63,255,14,24,48,18,2,250,7,132, + 24,108,32,60,96,28,96,12,192,12,192,4,192,0,192,0, + 192,0,192,0,192,4,96,4,96,4,96,8,48,24,24,48, + 7,192,2,0,3,128,0,192,0,192,8,192,7,128,15,24, + 48,18,1,0,4,0,6,0,3,0,1,128,0,0,0,0, + 255,254,24,6,24,2,24,2,24,2,24,34,24,32,24,96, + 31,224,24,96,24,32,24,32,24,34,24,2,24,2,24,6, + 24,14,255,254,15,24,48,18,1,0,0,48,0,48,0,96, + 0,192,0,0,0,0,255,254,24,14,24,6,24,2,24,2, + 24,34,24,32,24,96,31,224,24,96,24,32,24,32,24,34, + 24,2,24,2,24,6,24,14,255,254,15,24,48,18,1,0, + 0,128,1,192,3,64,6,48,8,8,0,0,255,254,24,6, + 24,2,24,2,24,2,24,34,24,32,24,96,31,224,24,96, + 24,32,24,32,24,34,24,2,24,2,24,6,24,14,255,254, + 15,23,46,18,1,0,6,48,6,48,4,16,0,0,0,0, + 255,254,24,14,24,6,24,2,24,2,24,34,24,32,24,96, + 31,224,24,96,24,32,24,32,24,34,24,2,24,2,24,6, + 24,14,255,254,8,24,24,10,1,0,64,96,48,16,8,0, + 255,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24, + 24,255,8,24,24,10,1,0,3,3,6,8,0,0,255,24, + 24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,255, + 8,24,24,10,1,0,8,24,52,66,129,0,255,24,24,24, + 24,24,24,24,24,24,24,24,24,24,24,24,24,255,8,23, + 23,10,1,0,195,195,66,0,0,255,24,24,24,24,24,24, + 24,24,24,24,24,24,24,24,24,24,255,17,18,54,19,1, + 0,255,240,0,24,12,0,24,6,0,24,3,0,24,3,0, + 24,1,128,24,1,128,24,1,128,127,1,128,24,1,128,24, + 1,128,24,1,128,24,1,128,24,3,0,24,3,0,24,6, + 0,24,12,0,255,240,0,18,24,72,19,1,0,3,200,0, + 2,248,0,0,0,0,0,0,0,0,0,0,0,0,0,252, + 15,192,28,2,0,30,2,0,22,2,0,23,2,0,19,130, + 0,17,130,0,17,194,0,16,226,0,16,226,0,16,114,0, + 16,50,0,16,58,0,16,30,0,16,14,0,16,14,0,16, + 6,0,252,2,0,15,24,48,18,2,1,28,0,12,0,6, + 0,2,0,1,0,0,0,7,192,24,48,48,24,32,8,96, + 12,96,12,192,6,192,6,192,6,192,6,192,6,192,6,96, + 12,96,12,32,8,48,24,24,48,7,192,15,24,48,18,2, + 1,0,112,0,96,0,192,0,128,1,0,0,0,7,192,24, + 48,48,24,32,8,96,12,96,12,192,6,192,6,192,6,192, + 6,192,6,192,6,96,12,96,12,32,8,48,24,24,48,7, + 192,15,24,48,18,2,0,1,0,3,128,6,192,12,96,16, + 16,0,0,7,192,24,48,48,24,32,8,96,12,96,12,192, + 6,192,6,192,6,192,6,192,6,192,6,96,12,96,12,32, + 8,48,24,24,48,7,192,15,24,48,18,2,0,15,16,19, + 224,0,0,0,0,0,0,0,0,7,192,24,48,48,24,32, + 8,96,12,96,12,192,6,192,6,192,6,192,6,192,6,192, + 6,96,12,96,12,32,8,48,24,24,48,7,192,15,24,48, + 18,2,0,8,0,12,96,12,96,0,0,0,0,0,0,7, + 192,24,48,48,24,32,8,96,12,96,12,192,6,192,6,192, + 6,192,6,192,6,192,6,96,12,96,12,32,8,48,24,24, + 48,7,192,16,16,32,24,4,255,0,1,64,3,32,6,16, + 12,8,24,4,48,2,96,1,192,1,128,3,64,6,32,12, + 16,24,8,48,4,96,2,192,1,15,18,36,18,2,0,7, + 194,24,52,48,28,32,12,96,28,96,44,192,70,192,198,193, + 134,195,6,198,6,196,6,232,12,112,12,96,8,112,24,88, + 48,135,192,19,24,72,21,1,1,3,0,0,3,128,0,0, + 128,0,0,64,0,0,0,0,0,0,0,255,15,224,24,1, + 0,24,1,0,24,1,0,24,1,0,24,1,0,24,1,0, + 24,1,0,24,1,0,24,1,0,24,1,0,24,1,0,24, + 1,0,24,1,0,12,1,0,12,2,0,6,4,0,1,248, + 0,19,24,72,21,1,1,0,28,0,0,24,0,0,48,0, + 0,32,0,0,64,0,0,0,0,255,15,224,24,1,0,24, + 1,0,24,1,0,24,1,0,24,1,0,24,1,0,24,1, + 0,24,1,0,24,1,0,24,1,0,24,1,0,24,1,0, + 24,1,0,12,1,0,12,2,0,6,4,0,1,248,0,19, + 24,72,21,1,0,0,96,0,0,224,0,1,176,0,3,8, + 0,0,4,0,0,0,0,255,15,224,24,1,0,24,1,0, + 24,1,0,24,1,0,24,1,0,24,1,0,24,1,0,24, + 1,0,24,1,0,24,1,0,24,1,0,24,1,0,24,1, + 0,12,1,0,12,2,0,6,4,0,1,248,0,19,23,69, + 21,1,1,3,24,0,3,24,0,0,0,0,0,0,0,0, + 0,0,255,15,224,24,1,0,24,1,0,24,1,0,24,1, + 0,24,1,0,24,1,0,24,1,0,24,1,0,24,1,0, + 24,1,0,24,1,0,24,1,0,24,1,0,12,1,0,12, + 2,0,6,4,0,1,248,0,17,24,72,19,1,0,0,24, + 0,0,56,0,0,48,0,0,64,0,0,0,0,0,0,0, + 255,31,128,28,6,0,28,4,0,14,4,0,6,8,0,7, + 8,0,3,144,0,3,160,0,1,224,0,0,192,0,0,192, + 0,0,192,0,0,192,0,0,192,0,0,192,0,0,192,0, + 0,192,0,7,252,0,15,18,36,17,1,0,255,0,24,0, + 24,0,31,224,24,24,24,12,24,6,24,6,24,6,24,14, + 24,12,24,24,31,240,24,0,24,0,24,0,24,0,255,0, + 12,18,36,14,1,0,7,128,24,224,24,96,48,96,48,192, + 48,128,55,0,49,128,48,64,48,96,48,112,48,48,48,48, + 48,48,54,48,54,112,52,96,243,192,11,18,36,13,1,0, + 96,0,96,0,48,0,24,0,8,0,0,0,30,0,99,0, + 65,128,97,128,33,128,15,128,113,128,193,128,195,160,195,160, + 197,160,121,192,11,18,36,13,1,0,1,128,3,128,3,0, + 4,0,8,0,0,0,62,0,65,0,65,128,97,128,33,128, + 15,128,113,128,193,128,193,160,195,160,197,160,120,192,11,18, + 36,13,1,0,8,0,12,0,28,0,50,0,65,0,0,0, + 30,0,99,0,65,128,97,128,33,128,15,128,113,128,193,128, + 195,160,195,160,197,160,121,192,11,17,34,13,1,0,56,128, + 79,0,0,0,0,0,0,0,30,0,99,0,65,128,97,128, + 33,128,15,128,113,128,193,128,195,160,195,160,197,160,121,192, + 11,17,34,13,1,0,99,0,99,0,1,0,0,0,0,0, + 60,0,67,0,67,0,99,0,3,0,15,0,115,0,195,0, + 195,32,199,32,203,32,121,192,11,18,36,13,1,0,28,0, + 34,0,34,0,34,0,28,0,0,0,60,0,67,0,67,0, + 99,0,35,0,15,0,115,0,195,0,195,32,199,32,199,32, + 121,192,16,12,24,18,1,0,30,120,99,198,65,134,97,131, + 1,131,31,255,97,128,193,128,195,129,195,130,196,194,120,124, + 9,18,36,11,1,250,30,0,33,0,96,128,193,128,193,128, + 192,0,192,0,192,0,192,0,96,128,33,0,30,0,8,0, + 12,0,2,0,3,0,3,0,30,0,9,18,36,12,1,0, + 96,0,112,0,48,0,8,0,0,0,0,0,30,0,35,0, + 97,128,193,128,193,128,255,128,192,0,192,0,192,128,96,128, + 33,0,30,0,9,18,36,12,1,0,1,0,3,0,2,0, + 4,0,8,0,0,0,30,0,35,0,97,128,193,128,193,128, + 255,128,192,0,192,0,192,128,96,128,33,0,30,0,9,18, + 36,12,1,0,8,0,12,0,28,0,18,0,33,0,0,0, + 30,0,35,0,97,128,193,128,193,128,255,128,192,0,192,0, + 192,128,96,128,33,0,30,0,9,17,34,12,1,0,51,0, + 51,0,1,0,0,0,0,0,30,0,35,0,97,128,193,128, + 193,128,255,128,192,0,192,0,192,128,96,128,33,0,30,0, + 7,18,18,8,0,0,192,224,96,16,8,0,120,24,24,24, + 24,24,24,24,24,24,24,126,6,18,18,7,1,0,4,12, + 24,16,32,0,240,48,48,48,48,48,48,48,48,48,48,252, + 8,17,17,8,0,0,24,56,36,195,0,120,24,24,24,24, + 24,24,24,24,24,24,126,7,17,17,9,1,0,4,198,198, + 0,0,120,24,24,24,24,24,24,24,24,24,24,124,10,18, + 36,13,1,0,56,128,27,0,12,0,22,0,35,0,3,0, + 31,128,33,128,97,192,192,192,192,192,192,192,192,192,192,192, + 192,192,97,128,33,128,30,0,13,17,34,15,1,0,14,64, + 19,192,0,0,0,0,0,0,243,192,52,192,56,96,56,96, + 48,96,48,96,48,96,48,96,48,96,48,96,48,96,253,248, + 10,18,36,13,1,0,96,0,48,0,16,0,8,0,4,0, + 0,0,30,0,33,128,97,128,192,192,192,192,192,192,192,192, + 192,192,192,192,97,128,33,128,30,0,10,18,36,13,1,0, + 1,128,3,128,3,0,4,0,0,0,0,0,30,0,33,128, + 97,128,192,192,192,192,192,192,192,192,192,192,192,192,97,128, + 33,128,30,0,10,18,36,13,1,0,4,0,12,0,14,0, + 18,0,33,0,0,0,30,0,33,128,97,128,192,192,192,192, + 192,192,192,192,192,192,192,192,97,128,33,128,30,0,10,17, + 34,13,1,0,60,128,47,0,0,0,0,0,0,0,30,0, + 33,128,97,128,192,192,192,192,192,192,192,192,192,192,192,192, + 97,128,33,128,30,0,10,17,34,13,1,0,49,128,49,128, + 1,0,0,0,0,0,30,0,33,128,97,128,192,192,192,192, + 192,192,192,192,192,192,192,192,97,128,33,128,30,0,22,16, + 48,24,1,255,0,112,0,0,112,0,0,112,0,0,0,0, + 0,0,0,0,0,0,0,0,0,255,255,252,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,112,0,0,112, + 0,0,112,0,10,12,24,13,1,0,30,64,33,128,96,128, + 193,192,194,192,196,192,200,192,208,192,208,192,97,128,97,128, + 158,0,13,18,36,14,0,0,16,0,24,0,12,0,4,0, + 2,0,0,0,241,224,48,96,48,96,48,96,48,96,48,96, + 48,96,48,96,48,224,48,224,57,96,30,120,13,18,36,14, + 0,0,0,192,0,192,1,128,2,0,0,0,0,0,241,224, + 48,96,48,96,48,96,48,96,48,96,48,96,48,96,48,224, + 48,224,57,96,30,120,13,18,36,14,0,0,2,0,6,0, + 5,0,8,128,16,0,0,0,241,224,48,96,48,96,48,96, + 48,96,48,96,48,96,48,96,48,224,48,224,57,96,30,120, + 13,17,34,14,0,0,24,192,24,192,0,0,0,0,0,0, + 240,224,48,96,48,96,48,96,48,96,48,96,48,96,48,96, + 48,224,48,224,57,96,30,120,13,24,48,14,0,250,0,96, + 0,224,0,192,1,0,0,0,0,0,252,248,56,32,24,32, + 24,64,12,64,12,64,12,128,6,128,6,128,7,0,3,0, + 3,0,3,0,2,0,34,0,98,0,100,0,56,0,11,24, + 48,14,1,250,48,0,240,0,48,0,48,0,48,0,48,0, + 49,192,54,224,52,96,56,96,56,96,48,96,48,192,48,192, + 49,128,49,0,50,0,60,0,48,0,48,0,48,0,48,0, + 48,0,96,0,13,23,46,14,0,250,8,64,12,96,12,96, + 0,0,0,0,252,120,24,32,24,32,24,64,12,64,12,64, + 14,128,6,128,6,128,7,0,3,0,3,0,2,0,2,0, + 34,0,114,0,100,0,56,0}; +/* + Fontname: -FreeType-Old Standard TT-Medium-R-Normal--26-260-72-72-P-138-ISO10646-1 + Copyright: Copyright (C) 2006-2008 Alexey Kryukov + Capital A Height: 0, '1' Height: 18 + Calculated Max Values w=22 h=24 x= 3 y= 8 dx=24 dy= 0 ascent=18 len=66 + Font Bounding box w=68 h=33 x=-21 y=-8 + Calculated Min Values x= 0 y=-6 dx= 0 dy= 0 + Pure Font ascent =18 descent= 0 + X Font ascent =18 descent= 0 + Max Font ascent =18 descent=-6 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_osr18n[613] U8G_FONT_SECTION("u8g_font_osr18n") = { + 0,68,33,235,248,18,0,0,0,0,42,58,0,18,250,18, + 0,10,10,20,14,2,8,12,0,12,0,204,192,201,192,43, + 0,28,0,123,128,201,192,12,0,12,0,22,22,66,24,1, + 252,0,16,0,0,16,0,0,16,0,0,16,0,0,16,0, + 0,16,0,0,16,0,0,16,0,0,16,0,0,16,0,255, + 255,252,0,16,0,0,16,0,0,16,0,0,16,0,0,16, + 0,0,16,0,0,16,0,0,16,0,0,16,0,0,16,0, + 0,16,0,3,8,8,7,2,252,192,224,224,32,32,64,64, + 128,7,1,1,11,2,6,254,3,3,3,7,2,0,224,224, + 224,8,24,24,12,2,250,1,1,2,2,2,4,4,4,12, + 8,8,24,16,16,16,32,32,32,64,64,64,128,128,128,12, + 18,36,15,1,0,15,0,16,192,32,64,96,96,96,32,192, + 48,192,48,192,48,192,48,192,48,192,48,192,48,192,48,96, + 32,96,96,32,64,16,192,15,0,9,18,36,15,3,0,8, + 0,8,0,24,0,248,0,24,0,24,0,24,0,24,0,24, + 0,24,0,24,0,24,0,24,0,24,0,24,0,24,0,24, + 0,255,128,10,18,36,15,2,0,30,0,99,128,129,192,128, + 192,128,192,224,192,240,192,32,192,1,128,3,0,6,0,8, + 0,16,0,32,0,64,64,192,64,255,192,255,192,11,18,36, + 15,2,0,63,0,97,128,192,192,224,192,240,192,0,192,0, + 192,1,128,62,0,1,128,0,192,0,96,96,96,240,96,240, + 96,192,192,65,128,63,0,12,18,36,15,2,0,1,0,3, + 0,3,0,7,0,15,0,11,0,19,0,51,0,35,0,67, + 0,195,0,131,0,255,224,3,0,3,0,3,0,3,0,31, + 240,11,18,36,15,2,0,96,192,127,128,126,0,64,0,64, + 0,64,0,95,0,97,128,64,192,64,224,0,96,0,96,96, + 96,240,96,224,192,192,192,65,128,62,0,11,18,36,15,2, + 0,15,0,24,128,48,64,96,192,96,192,64,0,192,0,207, + 0,209,192,224,192,224,224,224,96,224,96,224,96,96,224,96, + 192,49,128,15,0,10,18,36,15,3,0,255,192,255,192,128, + 64,128,64,128,128,0,128,1,0,1,0,2,0,6,0,6, + 0,12,0,12,0,30,0,30,0,30,0,30,0,14,0,12, + 18,36,15,2,0,31,128,48,224,96,96,192,48,192,48,224, + 48,240,32,124,64,63,128,55,224,96,240,192,112,192,48,192, + 48,192,48,96,96,112,192,31,128,11,18,36,15,2,0,30, + 0,49,128,96,192,224,192,192,64,192,96,192,96,192,224,96, + 224,113,96,30,96,0,96,0,64,96,192,96,192,64,128,65, + 0,62,0,3,12,12,7,2,0,224,224,224,0,0,0,0, + 0,0,224,224,224}; +/* + Fontname: -FreeType-Old Standard TT-Medium-R-Normal--26-260-72-72-P-138-ISO10646-1 + Copyright: Copyright (C) 2006-2008 Alexey Kryukov + Capital A Height: 18, '1' Height: 18 + Calculated Max Values w=26 h=24 x= 3 y=13 dx=28 dy= 0 ascent=20 len=72 + Font Bounding box w=68 h=33 x=-21 y=-8 + Calculated Min Values x=-1 y=-6 dx= 0 dy= 0 + Pure Font ascent =18 descent=-6 + X Font ascent =19 descent=-6 + Max Font ascent =20 descent=-6 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_osr18r[3683] U8G_FONT_SECTION("u8g_font_osr18r") = { + 0,68,33,235,248,18,4,197,10,125,32,127,250,20,250,19, + 250,0,0,0,7,0,0,3,18,18,7,2,0,224,224,224, + 224,224,224,64,64,64,64,64,64,64,64,0,224,224,224,6, + 5,5,10,2,13,204,204,204,204,72,14,18,36,18,2,0, + 4,32,4,32,4,32,4,32,4,32,255,252,8,64,8,64, + 8,64,8,64,8,64,24,64,255,252,16,128,16,128,16,128, + 16,128,16,128,11,22,44,15,2,254,9,0,9,0,31,128, + 41,64,73,32,73,32,73,96,73,96,105,0,61,0,31,128, + 15,192,9,192,9,96,233,32,233,32,201,32,201,64,105,64, + 31,128,9,0,9,0,18,18,54,22,2,0,56,2,0,68, + 4,0,198,8,0,198,8,0,198,16,0,198,32,0,198,32, + 0,68,64,0,56,64,0,0,134,0,1,25,128,1,48,128, + 2,48,192,4,48,192,4,48,192,8,48,192,8,24,128,16, + 15,0,18,18,54,20,1,0,7,128,0,8,64,0,24,64, + 0,24,64,0,24,192,0,28,128,0,15,0,0,6,31,192, + 15,6,0,23,6,0,35,132,0,97,196,0,192,232,0,192, + 240,0,192,112,0,224,120,128,96,220,128,63,15,0,2,5, + 5,7,2,13,192,192,192,192,64,6,23,23,10,3,252,8, + 16,48,32,64,64,192,128,128,128,128,128,128,128,128,192,64, + 64,96,32,16,24,12,6,23,23,9,1,252,64,32,48,16, + 24,8,8,12,4,4,4,4,4,4,12,8,8,8,16,16, + 32,64,192,10,10,20,14,2,8,12,0,12,0,204,192,201, + 192,43,0,28,0,123,128,201,192,12,0,12,0,22,22,66, + 24,1,252,0,16,0,0,16,0,0,16,0,0,16,0,0, + 16,0,0,16,0,0,16,0,0,16,0,0,16,0,0,16, + 0,255,255,252,0,16,0,0,16,0,0,16,0,0,16,0, + 0,16,0,0,16,0,0,16,0,0,16,0,0,16,0,0, + 16,0,0,16,0,3,8,8,7,2,252,192,224,224,32,32, + 64,64,128,7,1,1,11,2,6,254,3,3,3,7,2,0, + 224,224,224,8,24,24,12,2,250,1,1,2,2,2,4,4, + 4,12,8,8,24,16,16,16,32,32,32,64,64,64,128,128, + 128,12,18,36,15,1,0,15,0,16,192,32,64,96,96,96, + 32,192,48,192,48,192,48,192,48,192,48,192,48,192,48,192, + 48,96,32,96,96,32,64,16,192,15,0,9,18,36,15,3, + 0,8,0,8,0,24,0,248,0,24,0,24,0,24,0,24, + 0,24,0,24,0,24,0,24,0,24,0,24,0,24,0,24, + 0,24,0,255,128,10,18,36,15,2,0,30,0,99,128,129, + 192,128,192,128,192,224,192,240,192,32,192,1,128,3,0,6, + 0,8,0,16,0,32,0,64,64,192,64,255,192,255,192,11, + 18,36,15,2,0,63,0,97,128,192,192,224,192,240,192,0, + 192,0,192,1,128,62,0,1,128,0,192,0,96,96,96,240, + 96,240,96,192,192,65,128,63,0,12,18,36,15,2,0,1, + 0,3,0,3,0,7,0,15,0,11,0,19,0,51,0,35, + 0,67,0,195,0,131,0,255,224,3,0,3,0,3,0,3, + 0,31,240,11,18,36,15,2,0,96,192,127,128,126,0,64, + 0,64,0,64,0,95,0,97,128,64,192,64,224,0,96,0, + 96,96,96,240,96,224,192,192,192,65,128,62,0,11,18,36, + 15,2,0,15,0,24,128,48,64,96,192,96,192,64,0,192, + 0,207,0,209,192,224,192,224,224,224,96,224,96,224,96,96, + 224,96,192,49,128,15,0,10,18,36,15,3,0,255,192,255, + 192,128,64,128,64,128,128,0,128,1,0,1,0,2,0,6, + 0,6,0,12,0,12,0,30,0,30,0,30,0,30,0,14, + 0,12,18,36,15,2,0,31,128,48,224,96,96,192,48,192, + 48,224,48,240,32,124,64,63,128,55,224,96,240,192,112,192, + 48,192,48,192,48,96,96,112,192,31,128,11,18,36,15,2, + 0,30,0,49,128,96,192,224,192,192,64,192,96,192,96,192, + 224,96,224,113,96,30,96,0,96,0,64,96,192,96,192,64, + 128,65,0,62,0,3,12,12,7,2,0,224,224,224,0,0, + 0,0,0,0,224,224,224,4,16,16,8,2,252,240,240,240, + 0,0,0,0,0,96,240,240,16,16,32,32,64,20,21,63, + 24,2,253,0,0,48,0,0,192,0,3,0,0,12,0,0, + 48,0,0,224,0,3,128,0,14,0,0,24,0,0,96,0, + 0,192,0,0,48,0,0,12,0,0,7,0,0,1,192,0, + 0,112,0,0,24,0,0,6,0,0,1,128,0,0,96,0, + 0,16,22,6,18,24,1,4,255,255,252,0,0,0,0,0, + 0,0,0,0,0,0,0,255,255,252,20,21,63,24,2,253, + 192,0,0,48,0,0,12,0,0,3,0,0,0,192,0,0, + 112,0,0,28,0,0,7,0,0,1,128,0,0,96,0,0, + 48,0,0,192,0,3,0,0,14,0,0,56,0,0,224,0, + 1,128,0,6,0,0,24,0,0,96,0,0,128,0,0,9, + 18,36,12,2,0,62,0,67,0,129,128,129,128,225,128,97, + 128,3,0,6,0,12,0,16,0,48,0,34,0,34,0,28, + 0,0,0,28,0,28,0,28,0,18,18,54,20,1,0,3, + 248,0,12,6,0,16,109,0,33,156,128,67,12,128,70,8, + 64,142,8,64,142,24,64,140,24,64,140,16,64,140,48,128, + 140,48,128,140,241,0,71,30,0,96,0,0,32,0,0,24, + 12,0,7,240,0,18,18,54,20,2,0,0,128,0,0,192, + 0,1,192,0,1,192,0,1,224,0,3,224,0,2,96,0, + 2,112,0,6,112,0,4,48,0,4,56,0,12,56,0,15, + 248,0,24,28,0,16,12,0,16,12,0,48,14,0,254,63, + 192,15,18,36,17,1,0,255,240,24,28,24,12,24,6,24, + 6,24,6,24,12,24,24,31,224,24,24,24,12,24,6,24, + 6,24,6,24,6,24,12,24,28,255,240,14,18,36,18,2, + 0,7,132,24,108,32,60,96,28,96,12,192,12,192,4,192, + 0,192,0,192,0,192,0,192,4,96,4,96,4,32,8,48, + 24,24,48,7,192,17,18,54,20,1,0,255,240,0,24,12, + 0,24,6,0,24,3,0,24,3,0,24,1,128,24,1,128, + 24,1,128,24,1,128,24,1,128,24,1,128,24,1,128,24, + 1,128,24,3,0,24,3,0,24,6,0,24,12,0,255,240, + 0,15,18,36,18,1,0,255,254,24,6,24,2,24,2,24, + 2,24,34,24,32,24,96,31,224,24,96,24,32,24,32,24, + 34,24,2,24,2,24,6,24,14,255,254,15,18,36,17,1, + 0,255,254,24,6,24,2,24,2,24,2,24,34,24,32,24, + 96,31,224,24,96,24,32,24,32,24,32,24,0,24,0,24, + 0,24,0,127,0,17,18,54,19,2,0,7,196,0,24,100, + 0,48,28,0,96,28,0,96,12,0,96,4,0,192,4,0, + 192,0,0,192,127,128,192,28,0,192,28,0,192,28,0,192, + 28,0,96,28,0,96,28,0,48,52,0,24,100,0,7,132, + 0,18,18,54,20,1,0,255,63,192,24,6,0,24,6,0, + 24,6,0,24,6,0,24,6,0,24,6,0,24,6,0,31, + 254,0,24,6,0,24,6,0,24,6,0,24,6,0,24,6, + 0,24,6,0,24,6,0,24,6,0,255,63,192,8,18,18, + 10,1,0,255,24,24,24,24,24,24,24,24,24,24,24,24, + 24,24,24,24,255,12,18,36,14,1,0,7,240,1,128,1, + 128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1, + 128,1,128,97,128,241,128,225,128,193,128,67,0,62,0,17, + 18,54,19,1,0,255,63,128,24,14,0,24,8,0,24,16, + 0,24,32,0,24,64,0,24,128,0,25,192,0,26,192,0, + 28,224,0,24,96,0,24,112,0,24,56,0,24,56,0,24, + 28,0,24,28,0,24,14,0,255,127,128,15,18,36,17,1, + 0,255,0,24,0,24,0,24,0,24,0,24,0,24,0,24, + 0,24,0,24,0,24,0,24,2,24,2,24,2,24,6,24, + 6,24,14,255,254,20,18,54,22,1,0,252,3,240,28,3, + 128,30,5,128,22,5,128,22,5,128,23,5,128,19,9,128, + 19,9,128,19,137,128,19,145,128,17,145,128,17,209,128,17, + 209,128,16,225,128,16,225,128,16,225,128,16,65,128,254,79, + 240,18,18,54,19,1,0,252,15,192,28,2,0,30,2,0, + 22,2,0,23,2,0,19,130,0,17,130,0,17,194,0,16, + 226,0,16,226,0,16,114,0,16,50,0,16,58,0,16,30, + 0,16,14,0,16,14,0,16,6,0,254,2,0,15,18,36, + 18,2,0,7,192,24,48,48,24,32,8,96,12,96,12,192, + 6,192,6,192,6,192,6,192,6,192,6,96,12,96,12,32, + 8,48,24,24,48,7,192,15,18,36,17,1,0,255,240,24, + 28,24,12,24,6,24,6,24,6,24,12,24,24,31,240,24, + 0,24,0,24,0,24,0,24,0,24,0,24,0,24,0,255, + 0,15,22,44,18,2,252,7,192,24,48,48,24,32,8,96, + 12,96,12,192,6,192,6,192,6,192,6,192,6,192,6,96, + 12,99,140,36,76,52,120,28,114,7,226,0,98,0,118,0, + 60,0,24,17,18,54,19,1,0,255,240,0,24,24,0,24, + 12,0,24,12,0,24,12,0,24,12,0,24,24,0,31,224, + 0,24,48,0,24,56,0,24,24,0,24,24,0,24,24,0, + 24,28,128,24,28,128,24,28,128,24,31,0,255,15,0,13, + 18,36,16,2,0,30,32,97,160,192,96,192,96,192,32,192, + 32,224,0,124,0,63,128,15,224,129,240,128,112,128,24,192, + 24,192,24,224,16,152,32,135,192,15,18,36,18,2,0,255, + 254,195,14,131,6,131,2,3,2,3,2,3,2,3,0,3, + 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, + 0,31,240,19,18,54,21,1,0,255,15,224,24,1,0,24, + 1,0,24,1,0,24,1,0,24,1,0,24,1,0,24,1, + 0,24,1,0,24,1,0,24,1,0,24,1,0,24,1,0, + 24,1,0,12,1,0,12,2,0,6,4,0,1,248,0,18, + 18,54,20,1,0,255,31,192,28,3,0,28,2,0,12,2, + 0,14,6,0,6,4,0,7,4,0,7,8,0,3,8,0, + 3,136,0,3,144,0,1,144,0,1,208,0,0,224,0,0, + 224,0,0,224,0,0,64,0,0,64,0,26,18,72,28,1, + 0,255,63,159,192,28,14,3,0,12,6,2,0,12,14,2, + 0,14,15,6,0,14,15,4,0,6,19,4,0,7,19,140, + 0,7,19,136,0,3,49,136,0,3,161,216,0,3,161,208, + 0,1,160,208,0,1,192,240,0,1,192,224,0,0,192,96, + 0,0,128,96,0,0,128,64,0,18,18,54,20,1,0,127, + 191,128,14,12,0,14,12,0,7,8,0,7,16,0,3,176, + 0,1,160,0,1,192,0,0,192,0,0,224,0,1,96,0, + 3,112,0,2,56,0,4,56,0,12,28,0,8,12,0,24, + 14,0,254,63,192,17,18,54,19,1,0,255,31,128,28,6, + 0,28,4,0,14,4,0,6,8,0,7,8,0,3,144,0, + 3,160,0,1,224,0,0,192,0,0,192,0,0,192,0,0, + 192,0,0,192,0,0,192,0,0,192,0,0,192,0,7,252, + 0,14,18,36,17,2,0,127,252,112,56,96,48,64,112,64, + 224,128,192,1,192,3,128,3,0,7,0,14,0,12,4,28, + 4,56,4,48,12,112,28,224,56,255,248,5,23,23,10,3, + 251,248,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,248,8,24,24,12,2,250,128,128, + 128,64,64,64,32,32,32,16,16,16,16,8,8,8,4,4, + 4,2,2,2,1,1,5,23,23,10,2,251,248,24,24,24, + 24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24, + 24,24,248,11,9,18,15,2,9,4,0,14,0,10,0,17, + 0,49,128,32,128,64,64,64,96,128,32,14,1,2,14,0, + 252,255,252,4,4,4,11,2,13,192,224,96,16,11,12,24, + 13,1,0,30,0,99,0,65,128,97,128,33,128,15,128,113, + 128,193,128,195,160,195,160,197,160,121,192,11,18,36,13,0, + 0,240,0,48,0,48,0,48,0,48,0,48,0,51,128,52, + 192,56,96,56,96,48,96,48,96,48,96,48,96,48,96,56, + 96,40,192,39,128,9,12,24,11,1,0,30,0,33,0,96, + 128,193,128,193,128,192,0,192,0,192,0,192,128,96,128,33, + 0,30,0,12,18,36,14,1,0,7,192,0,192,0,192,0, + 192,0,192,0,192,28,192,98,192,97,192,193,192,192,192,192, + 192,192,192,192,192,192,192,97,192,97,192,30,240,9,12,24, + 12,1,0,30,0,35,0,97,128,193,128,193,128,255,128,192, + 0,192,0,192,128,96,128,33,0,30,0,9,18,36,9,1, + 0,15,0,24,128,49,128,49,0,48,0,48,0,254,0,48, + 0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,48, + 0,48,0,254,0,12,18,36,15,2,250,30,112,97,176,225, + 240,192,192,192,192,192,192,225,128,97,128,30,0,224,0,255, + 0,127,192,64,96,128,32,128,32,128,32,192,64,63,128,13, + 18,36,15,1,0,240,0,48,0,48,0,48,0,48,0,48, + 0,51,192,52,192,56,96,56,96,48,96,48,96,48,96,48, + 96,48,96,48,96,48,96,253,248,6,18,18,8,1,0,112, + 112,32,0,0,0,240,48,48,48,48,48,48,48,48,48,48, + 252,7,24,24,8,255,250,6,6,0,0,0,0,62,6,6, + 6,6,6,6,6,6,6,6,6,6,6,198,198,140,120,12, + 18,36,14,1,0,240,0,48,0,48,0,48,0,48,0,48, + 0,49,240,48,128,49,0,50,0,50,0,54,0,59,0,51, + 0,49,128,49,192,48,224,253,240,6,18,18,8,1,0,240, + 48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48, + 252,19,12,36,21,1,0,243,199,0,52,249,128,56,113,192, + 56,97,192,48,97,192,48,97,192,48,97,192,48,97,192,48, + 97,192,48,97,192,48,97,192,253,251,224,13,12,24,15,1, + 0,243,192,52,192,56,96,56,96,48,96,48,96,48,96,48, + 96,48,96,48,96,48,96,253,248,10,12,24,13,1,0,30, + 0,33,128,97,128,192,192,192,192,192,192,192,192,192,192,192, + 192,97,128,33,128,30,0,11,18,36,14,1,250,243,128,52, + 192,56,96,56,96,48,96,48,96,48,96,48,96,48,96,56, + 96,56,192,55,128,48,0,48,0,48,0,48,0,48,0,252, + 0,12,18,36,13,1,250,28,64,98,64,97,192,192,192,192, + 192,192,192,192,192,192,192,192,192,97,192,97,192,30,192,0, + 192,0,192,0,192,0,192,0,192,3,240,9,12,24,11,1, + 0,243,128,52,128,57,128,56,128,56,0,48,0,48,0,48, + 0,48,0,48,0,48,0,252,0,9,12,24,11,1,0,125, + 0,131,0,129,0,193,0,240,0,124,0,31,0,131,128,128, + 128,192,128,224,128,159,0,8,17,17,10,1,0,16,16,16, + 48,48,254,48,48,48,48,48,48,48,49,49,51,30,13,12, + 24,14,0,0,241,224,48,96,48,96,48,96,48,96,48,96, + 48,96,48,96,48,224,48,224,57,96,30,120,13,12,24,14, + 1,0,252,248,48,96,48,64,24,64,24,128,12,128,12,128, + 13,0,7,0,7,0,2,0,2,0,19,12,36,21,1,0, + 253,251,224,48,96,128,48,96,128,24,113,0,24,177,0,12, + 177,0,12,154,0,13,26,0,7,28,0,7,12,0,2,12, + 0,2,8,0,12,12,24,14,1,0,249,224,48,128,57,0, + 25,0,14,0,14,0,6,0,11,0,19,0,17,128,33,192, + 243,240,13,18,36,14,0,250,252,248,56,32,24,32,24,64, + 12,64,12,64,12,128,6,128,6,128,7,0,3,0,3,0, + 2,0,2,0,34,0,98,0,100,0,56,0,9,12,24,12, + 1,0,255,128,195,128,131,0,134,0,142,0,12,0,24,0, + 56,0,48,128,96,128,96,128,255,128,6,23,23,12,3,251, + 12,16,48,48,48,48,56,24,24,24,16,224,48,16,24,24, + 56,48,48,48,48,16,12,1,24,24,7,3,250,128,128,128, + 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, + 128,128,128,128,128,6,23,23,11,3,251,192,32,48,48,48, + 112,96,96,96,96,32,28,48,96,96,96,96,112,48,48,48, + 32,192,15,5,10,17,1,4,32,4,254,2,143,194,129,254, + 64,124,255}; +/* + Fontname: -FreeType-Old Standard TT-Medium-R-Normal--29-290-72-72-P-153-ISO10646-1 + Copyright: Copyright (C) 2006-2008 Alexey Kryukov + Capital A Height: 21, '1' Height: 21 + Calculated Max Values w=29 h=28 x= 6 y=17 dx=32 dy= 0 ascent=28 len=88 + Font Bounding box w=76 h=38 x=-24 y=-9 + Calculated Min Values x=-1 y=-8 dx= 0 dy= 0 + Pure Font ascent =21 descent=-7 + X Font ascent =22 descent=-7 + Max Font ascent =28 descent=-8 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_osr21[9530] U8G_FONT_SECTION("u8g_font_osr21") = { + 0,76,38,232,247,21,5,131,12,189,32,255,249,28,248,22, + 249,0,0,0,8,0,0,4,21,21,8,2,0,96,240,240, + 240,240,240,96,96,96,96,96,96,96,96,96,64,0,96,240, + 240,96,7,5,5,11,2,17,238,204,204,204,68,15,21,42, + 19,2,0,2,16,6,16,6,16,4,16,4,48,4,48,255, + 254,4,32,12,32,12,32,8,32,8,96,8,96,8,64,255, + 254,24,64,24,64,16,192,16,192,16,128,16,128,13,25,50, + 17,2,254,5,0,5,0,15,128,53,96,37,16,69,24,69, + 24,69,56,69,56,117,48,61,0,63,0,15,192,7,224,5, + 240,5,48,101,24,229,24,229,24,197,24,69,48,69,32,61, + 192,7,0,5,0,19,21,63,25,3,0,60,1,0,70,2, + 0,66,2,0,195,4,0,195,8,0,195,8,0,195,16,0, + 195,16,0,66,32,0,102,32,0,56,64,0,0,67,0,0, + 140,192,1,8,64,1,24,96,2,24,96,2,24,96,4,24, + 96,4,24,96,8,8,64,8,7,128,20,21,63,23,2,0, + 3,128,0,12,64,0,8,32,0,24,32,0,24,32,0,24, + 96,0,28,64,0,12,128,0,15,0,0,7,15,240,15,1, + 128,27,129,0,51,193,0,97,194,0,96,226,0,224,244,0, + 224,124,0,224,56,0,224,60,0,96,60,32,59,198,192,3, + 5,5,7,2,17,224,192,192,192,64,6,28,28,10,3,250, + 4,12,24,16,32,32,64,64,64,128,128,128,128,128,128,128, + 128,128,128,192,64,64,32,32,16,24,8,4,6,28,28,11, + 2,250,128,192,64,32,48,16,24,8,8,8,4,4,4,4, + 4,4,4,4,12,8,8,24,16,48,32,96,192,128,10,12, + 24,14,2,9,12,0,14,0,204,64,228,192,117,192,14,0, + 30,0,229,192,196,192,12,0,14,0,12,0,24,25,75,26, + 1,252,0,8,0,0,8,0,0,8,0,0,8,0,0,8, + 0,0,8,0,0,8,0,0,8,0,0,8,0,0,8,0, + 0,8,0,0,8,0,255,255,255,0,8,0,0,8,0,0, + 8,0,0,8,0,0,8,0,0,8,0,0,8,0,0,8, + 0,0,8,0,0,8,0,0,8,0,0,8,0,4,8,8, + 8,2,251,224,240,240,16,16,16,32,64,7,2,2,11,2, + 7,254,254,4,4,4,8,2,0,96,240,240,96,9,28,56, + 13,2,250,0,128,0,128,1,128,1,0,1,0,1,0,2, + 0,2,0,2,0,6,0,4,0,4,0,12,0,8,0,8, + 0,24,0,16,0,16,0,16,0,32,0,32,0,32,0,64, + 0,64,0,64,0,192,0,128,0,128,0,14,21,42,17,1, + 0,7,128,24,64,48,32,32,48,96,16,96,24,96,24,224, + 24,224,24,224,24,224,28,224,28,224,24,224,24,224,24,96, + 24,96,24,96,48,48,32,16,96,15,192,10,21,42,17,3, + 0,2,0,6,0,6,0,14,0,254,0,14,0,14,0,14, + 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, + 0,14,0,14,0,14,0,14,0,255,192,12,21,42,17,2, + 0,31,0,32,192,64,96,128,112,128,112,192,112,240,112,112, + 112,32,96,0,224,0,192,1,0,6,0,12,0,24,0,48, + 16,96,16,64,16,224,112,255,240,255,240,12,21,42,17,2, + 0,31,0,97,192,192,224,224,96,240,96,112,112,0,96,0, + 96,0,224,48,192,63,0,0,192,0,96,0,112,0,112,96, + 112,240,112,240,112,192,96,192,192,127,128,14,21,42,17,2, + 0,0,64,0,192,1,192,1,192,3,192,7,192,5,192,13, + 192,9,192,17,192,49,192,33,192,65,192,193,192,255,252,1, + 192,1,192,1,192,1,192,1,192,15,252,12,21,42,17,2, + 0,96,64,127,128,127,0,64,0,64,0,64,0,64,0,95, + 0,96,192,64,96,64,96,0,112,0,112,0,112,96,112,240, + 112,240,112,224,96,192,224,64,192,63,128,12,21,42,17,2, + 0,7,128,24,64,16,96,48,224,96,224,96,192,96,0,224, + 0,231,128,232,192,240,96,240,96,224,112,224,112,224,112,224, + 112,96,112,96,96,112,96,48,192,31,128,11,21,42,17,3, + 0,255,224,255,224,192,32,128,32,128,64,128,64,0,64,0, + 128,1,0,1,0,2,0,6,0,6,0,12,0,12,0,12, + 0,30,0,30,0,30,0,30,0,30,0,14,21,42,17,2, + 0,15,128,48,96,96,48,224,24,224,24,224,24,224,24,240, + 16,124,32,63,192,15,224,51,240,96,248,224,56,224,28,224, + 28,224,24,224,24,96,24,112,48,31,192,12,21,42,17,2, + 0,15,0,48,128,96,64,96,96,224,96,224,96,224,112,224, + 112,224,112,96,112,96,240,49,176,14,48,0,48,0,32,48, + 96,112,96,112,64,96,192,96,128,63,0,4,14,14,8,2, + 0,96,240,240,96,0,0,0,0,0,0,96,240,240,96,4, + 18,18,8,2,251,96,240,240,96,0,0,0,0,0,0,224, + 240,240,16,16,48,32,64,22,24,72,27,2,251,0,0,12, + 0,0,56,0,0,96,0,1,128,0,7,0,0,28,0,0, + 112,0,0,192,0,3,0,0,14,0,0,56,0,0,224,0, + 0,224,0,0,48,0,0,12,0,0,7,0,0,1,192,0, + 0,112,0,0,24,0,0,6,0,0,3,128,0,0,224,0, + 0,56,0,0,12,24,7,21,26,1,5,255,255,255,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255, + 22,24,72,27,3,251,192,0,0,112,0,0,24,0,0,6, + 0,0,3,128,0,0,224,0,0,56,0,0,12,0,0,3, + 0,0,0,192,0,0,112,0,0,28,0,0,28,0,0,48, + 0,0,192,0,3,128,0,14,0,0,56,0,0,96,0,1, + 128,0,7,0,0,28,0,0,112,0,0,192,0,0,11,21, + 42,14,2,0,30,0,97,128,128,192,128,192,240,224,240,192, + 97,192,1,128,3,128,6,0,12,0,8,0,17,0,17,0, + 17,0,14,0,0,0,12,0,30,0,30,0,12,0,21,21, + 63,25,2,1,3,255,0,12,0,128,24,0,64,48,0,32, + 32,59,144,64,199,16,65,135,8,131,7,8,135,6,8,134, + 6,8,142,14,8,142,14,8,142,12,16,142,28,16,142,28, + 32,70,44,64,67,199,128,32,0,0,16,0,0,8,1,128, + 7,222,0,20,21,63,22,1,0,0,32,0,0,96,0,0, + 96,0,0,112,0,0,240,0,0,240,0,0,184,0,1,56, + 0,1,56,0,3,28,0,3,28,0,2,28,0,6,14,0, + 6,14,0,7,254,0,12,7,0,12,7,0,8,7,0,24, + 3,128,24,3,128,255,31,240,16,21,42,20,2,0,255,240, + 28,12,28,6,28,7,28,7,28,7,28,7,28,6,28,12, + 31,240,28,28,28,6,28,6,28,7,28,7,28,7,28,7, + 28,7,28,6,28,12,255,240,15,21,42,19,2,1,15,226, + 16,54,48,30,32,14,96,6,96,6,224,6,224,2,224,0, + 224,0,224,0,224,0,224,0,224,2,96,2,96,2,96,4, + 32,4,48,12,24,8,7,240,19,21,63,22,2,0,255,248, + 0,28,6,0,28,3,0,28,1,128,28,1,128,28,1,192, + 28,0,192,28,0,192,28,0,192,28,0,224,28,0,224,28, + 0,224,28,0,192,28,0,192,28,0,192,28,1,192,28,1, + 128,28,1,0,28,3,0,28,6,0,255,248,0,17,21,63, + 20,2,0,255,255,128,28,3,128,28,3,128,28,1,128,28, + 1,128,28,0,128,28,32,128,28,32,0,28,32,0,28,96, + 0,31,224,0,28,96,0,28,32,0,28,32,128,28,32,128, + 28,0,128,28,1,128,28,1,128,28,3,128,28,7,128,255, + 255,128,17,21,63,20,2,0,255,255,128,28,3,128,28,3, + 128,28,1,128,28,1,128,28,0,128,28,32,128,28,32,0, + 28,32,0,28,96,0,31,224,0,28,96,0,28,32,0,28, + 32,0,28,32,0,28,0,0,28,0,0,28,0,0,28,0, + 0,28,0,0,255,128,0,18,21,63,21,2,1,15,226,0, + 24,26,0,48,14,0,32,14,0,96,6,0,96,6,0,224, + 2,0,224,2,0,224,0,0,224,0,0,224,127,192,224,14, + 0,224,14,0,224,14,0,224,14,0,96,14,0,96,14,0, + 32,14,0,48,26,0,16,50,0,15,226,0,20,21,63,23, + 2,0,255,15,240,28,3,128,28,3,128,28,3,128,28,3, + 128,28,3,128,28,3,128,28,3,128,28,3,128,31,255,128, + 28,3,128,28,3,128,28,3,128,28,3,128,28,3,128,28, + 3,128,28,3,128,28,3,128,28,3,128,28,3,128,255,15, + 240,8,21,21,12,2,0,255,28,28,28,28,28,28,28,28, + 28,28,28,28,28,28,28,28,28,28,28,255,13,21,42,15, + 1,0,7,248,0,224,0,224,0,224,0,224,0,224,0,224, + 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, + 112,224,240,192,240,192,192,192,65,128,127,0,19,21,63,22, + 2,0,255,31,224,28,7,0,28,6,0,28,12,0,28,8, + 0,28,16,0,28,32,0,28,64,0,28,192,0,29,224,0, + 30,224,0,28,112,0,28,112,0,28,56,0,28,28,0,28, + 28,0,28,14,0,28,14,0,28,7,0,28,7,0,255,63, + 224,16,21,42,20,2,0,255,128,28,0,28,0,28,0,28, + 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, + 0,28,1,28,1,28,1,28,1,28,3,28,3,28,15,255, + 255,21,21,63,25,2,0,252,1,248,30,1,224,30,1,224, + 30,2,224,22,2,224,23,2,224,23,2,224,19,4,224,19, + 132,224,19,132,224,17,132,224,17,200,224,17,200,224,16,200, + 224,16,208,224,16,240,224,16,240,224,16,112,224,16,96,224, + 16,96,224,254,39,248,20,21,63,23,2,0,252,7,240,28, + 0,128,30,0,128,31,0,128,23,0,128,19,128,128,19,192, + 128,17,192,128,16,224,128,16,240,128,16,112,128,16,56,128, + 16,56,128,16,28,128,16,30,128,16,14,128,16,7,128,16, + 7,128,16,3,128,16,1,128,254,1,128,17,22,66,20,2, + 0,0,128,0,7,112,0,24,8,0,16,12,0,48,6,0, + 96,6,0,96,3,0,96,3,0,224,3,0,224,3,0,224, + 3,0,224,3,128,224,3,128,224,3,0,224,3,0,96,3, + 0,96,3,0,96,6,0,48,6,0,16,12,0,24,8,0, + 7,240,0,17,21,63,20,2,0,255,248,0,28,14,0,28, + 7,0,28,3,0,28,3,0,28,3,128,28,3,0,28,3, + 0,28,6,0,28,12,0,31,240,0,28,0,0,28,0,0, + 28,0,0,28,0,0,28,0,0,28,0,0,28,0,0,28, + 0,0,28,0,0,255,128,0,17,27,81,20,2,251,0,128, + 0,7,112,0,24,8,0,16,12,0,48,6,0,96,6,0, + 96,3,0,96,3,0,224,3,0,224,3,0,224,3,0,224, + 3,128,224,3,128,224,3,0,224,3,0,96,3,0,96,3, + 0,97,198,0,51,38,0,26,60,0,14,60,0,7,48,128, + 0,241,0,0,49,0,0,57,0,0,31,0,0,14,0,18, + 21,63,21,2,0,255,248,0,28,14,0,28,6,0,28,7, + 0,28,7,0,28,7,0,28,7,0,28,6,0,28,12,0, + 31,240,0,28,24,0,28,24,0,28,12,0,28,12,0,28, + 12,0,28,14,0,28,14,64,28,14,64,28,14,64,28,7, + 128,255,131,128,14,21,42,18,3,1,63,144,96,208,192,112, + 192,48,192,16,192,16,224,16,240,16,124,0,63,128,31,224, + 7,240,128,248,128,56,128,28,128,12,192,12,224,12,224,8, + 144,16,142,224,17,21,63,21,2,0,255,255,128,225,195,128, + 193,193,128,193,193,128,193,192,128,129,192,128,129,192,128,129, + 192,128,1,192,0,1,192,0,1,192,0,1,192,0,1,192, + 0,1,192,0,1,192,0,1,192,0,1,192,0,1,192,0, + 1,192,0,1,192,0,15,248,0,20,21,63,23,2,0,255, + 7,240,28,0,128,28,0,128,28,0,128,28,0,128,28,0, + 128,28,0,128,28,0,128,28,0,128,28,0,128,28,0,128, + 28,0,128,28,0,128,28,0,128,28,0,128,28,0,128,28, + 0,128,12,0,128,12,1,0,6,2,0,3,252,0,20,22, + 66,23,2,255,255,143,240,28,1,192,28,1,128,14,1,128, + 14,1,0,14,1,0,7,3,0,7,2,0,7,2,0,3, + 134,0,3,132,0,3,132,0,1,196,0,1,200,0,1,200, + 0,0,232,0,0,240,0,0,112,0,0,112,0,0,112,0, + 0,32,0,0,32,0,29,22,88,32,2,255,255,63,231,248, + 28,7,0,192,28,7,0,128,28,7,0,128,12,7,128,128, + 14,15,129,128,14,11,129,0,6,9,129,0,7,9,195,0, + 7,25,194,0,7,17,194,0,3,16,230,0,3,144,228,0, + 3,176,228,0,1,160,108,0,1,224,120,0,1,224,120,0, + 1,192,120,0,0,192,48,0,0,192,48,0,0,192,48,0, + 0,128,16,0,19,21,63,22,2,0,255,159,224,14,7,0, + 14,6,0,7,4,0,7,12,0,3,136,0,3,208,0,1, + 208,0,1,224,0,0,224,0,0,112,0,0,240,0,1,184, + 0,1,56,0,2,28,0,6,28,0,4,14,0,8,14,0, + 24,7,0,24,7,0,255,31,224,19,21,63,21,1,0,255, + 143,224,30,3,128,14,3,0,14,2,0,7,2,0,7,4, + 0,3,132,0,1,200,0,1,200,0,0,240,0,0,240,0, + 0,112,0,0,112,0,0,112,0,0,112,0,0,112,0,0, + 112,0,0,112,0,0,112,0,0,112,0,7,254,0,15,21, + 42,19,2,0,63,254,56,14,112,28,96,56,64,56,64,112, + 64,240,0,224,1,192,1,192,3,128,7,128,7,0,14,2, + 14,2,28,2,60,2,56,6,112,6,240,14,255,254,6,27, + 27,11,3,250,252,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,252,9, + 28,56,13,2,250,128,0,128,0,192,0,64,0,64,0,64, + 0,32,0,32,0,32,0,16,0,16,0,16,0,24,0,8, + 0,8,0,12,0,4,0,4,0,4,0,2,0,2,0,2, + 0,1,0,1,0,1,0,1,128,0,128,0,128,6,27,27, + 11,2,250,252,28,28,28,28,28,28,28,28,28,28,28,28, + 28,28,28,28,28,28,28,28,28,28,28,28,28,252,13,11, + 22,17,2,10,2,0,2,0,5,0,13,128,8,128,24,192, + 16,64,32,32,96,48,64,16,192,24,15,1,2,15,0,251, + 255,254,5,5,5,13,2,16,192,224,96,48,8,13,14,28, + 15,1,0,31,0,33,128,97,192,113,192,113,192,1,192,15, + 192,49,192,97,192,225,192,225,200,225,200,226,216,60,240,13, + 21,42,15,1,0,248,0,56,0,56,0,56,0,56,0,56, + 0,56,0,59,192,60,96,56,48,56,48,56,48,56,48,56, + 56,56,56,56,48,56,48,56,48,56,48,36,96,35,192,10, + 14,28,12,1,0,31,0,48,128,96,64,96,192,225,192,224, + 128,224,0,224,0,224,0,224,0,96,64,96,128,48,128,31, + 0,13,21,42,15,1,0,3,224,0,224,0,224,0,224,0, + 224,0,224,0,224,30,224,49,224,97,224,96,224,224,224,224, + 224,224,224,224,224,224,224,224,224,96,224,96,224,49,224,30, + 248,10,14,28,13,1,0,30,0,49,128,97,128,96,192,224, + 192,224,192,255,192,224,0,224,0,224,64,96,64,96,64,48, + 128,31,0,10,21,42,10,1,0,15,0,24,128,57,192,57, + 128,56,0,56,0,56,0,254,0,56,0,56,0,56,0,56, + 0,56,0,56,0,56,0,56,0,56,0,56,0,56,0,56, + 0,254,0,14,21,42,16,2,249,31,56,113,200,96,220,224, + 248,224,224,224,224,224,224,96,192,49,128,31,0,96,0,128, + 0,224,0,127,224,56,112,64,16,128,16,128,16,128,48,64, + 96,63,128,14,21,42,16,1,0,248,0,56,0,56,0,56, + 0,56,0,56,0,56,0,57,192,62,96,60,112,56,112,56, + 112,56,112,56,112,56,112,56,112,56,112,56,112,56,112,56, + 112,252,252,6,21,21,7,1,0,112,112,112,0,0,0,0, + 240,112,112,112,112,112,112,112,112,112,112,112,112,252,8,28, + 28,9,255,249,6,7,6,0,0,0,0,31,7,7,7,7, + 7,7,7,7,7,7,7,7,7,7,7,70,230,198,204,120, + 13,21,42,15,1,0,248,0,56,0,56,0,56,0,56,0, + 56,0,56,0,57,248,56,192,56,128,57,0,57,0,58,0, + 63,0,63,0,59,128,57,192,56,192,56,224,56,224,253,248, + 7,21,21,8,1,0,248,56,56,56,56,56,56,56,56,56, + 56,56,56,56,56,56,56,56,56,56,254,21,14,42,23,1, + 0,249,195,192,62,100,224,60,120,96,56,120,96,56,112,96, + 56,112,96,56,112,96,56,112,96,56,112,96,56,112,96,56, + 112,96,56,112,96,56,112,96,252,253,248,14,14,28,16,1, + 0,249,192,62,96,60,112,56,112,56,112,56,112,56,112,56, + 112,56,112,56,112,56,112,56,112,56,112,252,252,12,14,28, + 14,1,0,15,0,48,128,96,192,96,96,224,96,224,96,224, + 112,224,112,224,96,224,96,96,96,96,192,48,128,15,0,13, + 21,42,15,1,249,251,192,60,96,56,48,56,48,56,48,56, + 48,56,56,56,56,56,48,56,48,56,48,56,48,60,96,59, + 192,56,0,56,0,56,0,56,0,56,0,56,0,252,0,13, + 21,42,15,1,249,30,32,49,32,96,224,96,224,224,224,224, + 224,224,224,224,224,224,224,224,224,96,224,96,224,49,224,30, + 224,0,224,0,224,0,224,0,224,0,224,0,224,3,248,10, + 14,28,12,1,0,249,128,58,64,60,192,60,192,56,0,56, + 0,56,0,56,0,56,0,56,0,56,0,56,0,56,0,252, + 0,10,14,28,13,2,0,60,128,195,128,129,128,128,128,192, + 128,240,0,62,0,15,128,131,192,128,192,192,64,192,64,160, + 128,159,0,8,20,20,10,1,0,16,16,16,16,48,48,254, + 48,48,48,48,48,48,48,48,49,49,49,59,30,14,14,28, + 16,1,0,248,240,56,112,56,112,56,112,56,112,56,112,56, + 112,56,112,56,112,56,112,56,112,56,240,25,112,14,124,15, + 14,28,15,0,0,254,126,56,16,24,16,28,16,12,32,12, + 32,6,32,6,64,7,64,3,64,3,128,1,128,1,128,1, + 0,22,14,42,22,0,0,254,252,252,56,56,32,24,56,32, + 28,56,32,12,56,64,12,60,64,6,76,64,6,76,128,7, + 70,128,3,134,128,3,135,0,1,131,0,1,131,0,1,2, + 0,14,14,28,16,1,0,124,248,56,96,24,64,12,128,14, + 128,7,0,7,0,3,128,5,128,5,192,8,192,16,224,16, + 96,249,252,15,21,42,15,0,249,254,126,24,16,24,16,28, + 16,12,32,12,32,14,32,6,64,6,64,6,64,3,128,3, + 128,3,128,1,128,1,0,1,0,1,0,98,0,114,0,100, + 0,56,0,10,14,28,13,1,0,255,192,193,192,129,128,131, + 0,135,0,6,0,14,0,28,0,24,0,56,64,48,64,112, + 64,224,192,255,192,6,27,27,12,3,250,12,24,48,48,48, + 48,48,56,24,24,24,16,48,192,48,16,24,24,24,56,48, + 48,48,48,48,16,12,1,28,28,8,4,250,128,128,128,128, + 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, + 128,128,128,128,128,128,128,128,6,27,27,12,3,250,128,96, + 32,48,48,48,112,96,96,96,96,96,32,28,48,96,96,96, + 96,96,112,48,48,48,32,96,192,16,6,12,18,1,5,56, + 2,126,1,143,193,131,241,128,255,64,62,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,255,255,255,255,255,255,255,0,0,0,8, + 0,0,4,21,21,8,2,249,96,240,240,96,0,64,64,96, + 96,96,96,96,96,96,96,240,240,240,240,240,96,10,21,42, + 17,3,253,4,0,4,0,4,0,4,0,31,0,52,128,100, + 64,100,192,229,192,228,128,228,0,228,0,228,0,228,0,100, + 64,100,64,52,128,31,0,4,0,4,0,4,0,16,21,42, + 21,2,0,0,60,0,194,0,131,1,135,1,135,3,130,3, + 128,3,128,3,128,63,128,3,240,3,128,3,128,3,128,3, + 0,3,0,123,1,142,1,135,3,135,254,120,252,13,13,26, + 17,2,4,143,136,112,112,96,48,64,16,128,8,128,8,128, + 8,128,8,128,8,64,16,96,48,112,112,143,136,16,21,42, + 17,1,0,252,63,56,8,56,8,24,16,28,16,28,32,14, + 32,14,64,6,64,7,128,3,128,63,248,3,128,3,128,63, + 248,3,128,3,128,3,128,3,128,3,128,31,240,1,27,27, + 8,4,251,128,128,128,128,128,128,128,128,128,128,128,0,0, + 0,0,0,128,128,128,128,128,128,128,128,128,128,128,11,27, + 54,19,3,250,30,0,49,0,97,128,99,128,97,0,112,0, + 56,0,60,0,62,0,79,0,131,128,129,192,128,224,192,96, + 224,32,112,32,56,64,28,128,15,0,7,0,3,0,1,128, + 33,128,113,128,97,128,35,0,28,0,8,3,3,12,2,16, + 195,231,195,21,22,66,23,1,0,0,32,0,3,222,0,12, + 1,128,24,0,192,48,114,96,33,142,32,67,6,16,67,2, + 16,135,2,8,135,0,8,135,0,8,135,0,8,135,0,8, + 135,0,8,135,2,8,67,2,16,67,4,16,33,132,32,48, + 120,96,24,0,192,12,1,128,3,222,0,8,9,9,12,2, + 12,120,196,12,52,68,197,205,118,254,7,12,12,14,3,1, + 16,34,98,68,196,196,196,196,196,66,34,16,14,6,12,16, + 1,5,255,252,0,4,0,4,0,4,0,4,0,4,7,2, + 2,11,2,7,254,254,21,22,66,23,1,0,0,32,0,3, + 222,0,12,1,128,24,0,192,63,248,96,35,140,32,67,142, + 16,67,142,16,131,142,8,131,140,8,131,240,8,131,140,8, + 131,140,8,131,142,8,131,142,72,67,142,80,67,134,80,47, + 195,160,48,0,96,24,0,192,12,1,128,3,222,0,8,1, + 1,14,3,17,255,8,8,8,16,4,13,60,66,129,129,129, + 129,66,60,24,21,63,26,1,255,0,8,0,0,8,0,0, + 8,0,0,8,0,0,8,0,0,8,0,0,8,0,0,8, + 0,255,255,255,0,8,0,0,8,0,0,8,0,0,8,0, + 0,8,0,0,8,0,0,8,0,0,8,0,0,8,0,0, + 0,0,0,0,0,255,255,255,8,13,13,13,3,8,60,198, + 135,199,231,6,12,24,48,65,193,255,255,9,13,26,13,3, + 8,60,0,70,0,67,0,99,0,3,0,6,0,120,0,7, + 0,3,0,227,128,227,0,135,0,124,0,5,5,5,13,6, + 16,24,56,48,96,128,15,22,44,18,2,248,192,64,192,96, + 224,224,192,224,192,224,192,96,192,96,192,96,64,96,64,64, + 64,66,192,194,177,190,143,28,128,0,128,0,192,0,192,0, + 192,0,224,0,224,0,96,0,12,26,52,16,2,251,31,240, + 124,64,252,64,252,64,252,64,252,64,252,64,124,64,60,64, + 4,64,4,64,4,64,4,64,4,64,4,64,4,64,4,64, + 4,64,4,64,4,64,4,64,4,64,4,64,4,64,4,64, + 4,64,4,4,4,8,2,8,96,240,240,96,6,7,7,13, + 3,250,32,32,48,8,12,140,120,6,12,12,13,4,9,16, + 48,240,48,48,48,48,48,48,48,48,252,7,10,10,11,2, + 11,56,68,198,198,198,198,198,68,56,254,8,12,12,14,3, + 1,8,132,70,66,35,35,35,35,34,70,68,8,19,21,63, + 25,4,0,16,3,0,48,2,0,240,4,0,48,4,0,48, + 8,0,48,8,0,48,16,0,48,48,0,48,32,0,48,65, + 128,48,67,128,48,131,128,252,133,128,1,9,128,3,9,128, + 2,17,128,4,31,224,4,1,128,8,1,128,8,1,128,16, + 7,224,19,21,63,25,4,0,16,2,0,48,2,0,240,4, + 0,48,4,0,48,8,0,48,16,0,48,16,0,48,32,0, + 48,39,128,48,72,192,48,80,224,48,144,224,252,156,224,1, + 12,192,2,0,192,2,1,0,4,6,0,4,12,32,8,8, + 32,8,31,224,16,31,224,20,21,63,25,3,0,60,1,0, + 70,1,0,67,2,0,99,2,0,3,4,0,6,12,0,120, + 8,0,7,16,0,3,16,0,227,160,192,227,33,192,135,65, + 192,124,130,192,0,132,192,1,4,192,1,8,192,2,15,240, + 2,0,192,4,0,192,8,0,192,8,3,240,11,21,42,14, + 1,249,12,0,30,0,30,0,12,0,0,0,14,0,17,0, + 17,0,17,0,2,0,6,0,28,0,56,0,112,0,224,192, + 225,224,225,224,224,32,96,32,112,64,31,128,20,28,84,22, + 1,0,3,0,0,3,128,0,1,128,0,0,192,0,0,64, + 0,0,0,0,0,0,0,0,32,0,0,96,0,0,96,0, + 0,112,0,0,240,0,0,240,0,0,184,0,1,56,0,1, + 56,0,3,28,0,3,28,0,2,28,0,6,14,0,6,14, + 0,7,254,0,12,7,0,12,7,0,8,7,0,24,3,128, + 24,3,128,255,31,240,20,28,84,22,1,0,0,4,0,0, + 12,0,0,24,0,0,48,0,0,32,0,0,0,0,0,0, + 0,0,32,0,0,96,0,0,96,0,0,112,0,0,240,0, + 0,240,0,1,184,0,1,56,0,1,56,0,3,28,0,3, + 28,0,2,28,0,6,14,0,6,14,0,7,254,0,12,7, + 0,12,7,0,8,7,0,24,3,128,24,3,128,255,31,240, + 20,28,84,22,1,0,0,32,0,0,96,0,0,240,0,1, + 152,0,3,4,0,0,0,0,0,0,0,0,32,0,0,96, + 0,0,96,0,0,112,0,0,240,0,0,240,0,0,184,0, + 1,56,0,1,56,0,3,28,0,3,28,0,2,28,0,6, + 14,0,6,14,0,7,254,0,12,7,0,12,7,0,8,7, + 0,24,3,128,24,3,128,255,31,240,20,27,81,22,1,0, + 1,228,0,3,252,0,2,56,0,0,0,0,0,0,0,0, + 0,0,0,32,0,0,96,0,0,96,0,0,112,0,0,240, + 0,0,240,0,0,184,0,1,184,0,1,56,0,3,28,0, + 3,28,0,2,28,0,6,14,0,6,14,0,7,254,0,12, + 7,0,12,7,0,8,7,0,24,3,128,24,3,128,255,31, + 240,19,27,81,22,2,0,6,24,0,7,28,0,6,24,0, + 0,0,0,0,0,0,0,0,0,0,64,0,0,192,0,0, + 224,0,0,224,0,1,224,0,1,224,0,1,112,0,3,112, + 0,2,48,0,2,56,0,6,56,0,4,24,0,4,28,0, + 12,28,0,15,252,0,8,14,0,24,14,0,24,6,0,24, + 7,0,56,7,0,254,31,224,20,28,84,23,2,0,0,96, + 0,1,152,0,1,8,0,1,8,0,1,152,0,0,96,0, + 0,0,0,0,96,0,0,96,0,0,96,0,0,240,0,0, + 240,0,0,240,0,1,184,0,1,56,0,1,56,0,3,28, + 0,2,28,0,2,28,0,6,14,0,4,14,0,15,254,0, + 8,7,0,8,7,0,24,7,0,24,3,128,56,3,128,255, + 31,240,27,21,84,30,1,0,0,63,255,224,0,15,0,224, + 0,15,0,96,0,31,0,96,0,23,0,32,0,55,0,32, + 0,39,8,32,0,103,8,0,0,71,8,0,0,199,24,0, + 0,135,248,0,1,7,24,0,3,7,8,0,2,7,8,32, + 7,255,8,32,4,7,0,32,12,7,0,32,8,7,0,96, + 24,7,0,96,56,7,1,224,255,63,255,224,15,28,56,19, + 2,250,15,226,16,54,48,30,32,14,96,6,96,6,224,6, + 224,2,224,0,224,0,224,0,224,0,224,0,224,2,96,2, + 96,2,96,4,32,4,48,12,24,8,6,112,1,128,1,0, + 1,192,0,96,0,112,8,96,7,192,17,28,84,20,2,0, + 4,0,0,6,0,0,3,0,0,1,0,0,0,128,0,0, + 0,0,0,0,0,255,255,128,28,3,128,28,3,128,28,1, + 128,28,1,128,28,0,128,28,32,128,28,32,0,28,32,0, + 28,96,0,31,224,0,28,96,0,28,32,0,28,32,128,28, + 32,128,28,0,128,28,1,128,28,1,128,28,3,128,28,7, + 128,255,255,128,17,28,84,20,2,0,0,24,0,0,56,0, + 0,48,0,0,96,0,0,128,0,0,0,0,0,0,0,255, + 255,128,28,3,128,28,3,128,28,1,128,28,1,128,28,0, + 128,28,32,128,28,32,0,28,32,0,28,96,0,31,224,0, + 28,96,0,28,32,0,28,32,128,28,32,128,28,0,128,28, + 1,128,28,1,128,28,3,128,28,7,128,255,255,128,17,28, + 84,20,2,0,0,128,0,0,192,0,1,192,0,2,32,0, + 4,24,0,0,0,0,0,0,0,255,255,128,28,3,128,28, + 3,128,28,1,128,28,1,128,28,0,128,28,32,128,28,32, + 0,28,32,0,28,96,0,31,224,0,28,96,0,28,32,0, + 28,32,128,28,32,128,28,0,128,28,1,128,28,1,128,28, + 3,128,28,7,128,255,255,128,17,27,81,20,2,0,6,48, + 0,7,56,0,6,48,0,0,0,0,0,0,0,0,0,0, + 255,255,128,28,7,128,28,3,128,28,1,128,28,1,128,28, + 1,128,28,32,128,28,32,0,28,32,0,28,96,0,31,224, + 0,28,96,0,28,32,0,28,32,128,28,32,128,28,1,0, + 28,1,128,28,1,128,28,3,128,28,7,128,255,255,128,8, + 28,28,12,2,0,192,224,96,48,24,0,0,255,28,28,28, + 28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28, + 255,9,28,56,12,2,0,1,0,3,0,6,0,4,0,8, + 0,0,0,0,0,255,128,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,28,0,28,0,28,0,28,0,255,128,8, + 28,28,12,2,0,8,24,28,38,193,0,0,255,28,28,28, + 28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28, + 255,9,27,54,11,2,0,195,0,227,128,195,0,0,0,0, + 0,0,0,255,0,28,0,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,28,0,28,0,28,0,255,0,19,21,63, + 22,2,0,255,248,0,28,6,0,28,3,0,28,1,128,28, + 1,192,28,0,192,28,0,192,28,0,224,28,0,224,255,128, + 224,28,0,224,28,0,224,28,0,224,28,0,224,28,0,192, + 28,0,192,28,1,128,28,1,128,28,3,0,28,6,0,255, + 248,0,20,27,81,23,2,0,1,226,0,3,254,0,2,28, + 0,0,0,0,0,0,0,0,0,0,252,7,240,28,0,128, + 30,0,128,31,0,128,23,0,128,19,128,128,19,192,128,17, + 192,128,16,224,128,16,240,128,16,112,128,16,56,128,16,56, + 128,16,28,128,16,30,128,16,14,128,16,7,128,16,7,128, + 16,3,128,16,1,128,254,1,128,17,28,84,20,2,0,12, + 0,0,14,0,0,6,0,0,3,0,0,1,128,0,0,0, + 0,0,128,0,7,112,0,24,8,0,16,12,0,48,6,0, + 96,6,0,96,3,0,96,3,0,224,3,0,224,3,0,224, + 3,0,224,3,128,224,3,128,224,3,0,224,3,0,96,3, + 0,96,3,0,96,6,0,48,6,0,16,12,0,24,8,0, + 7,240,0,17,28,84,20,2,0,0,24,0,0,56,0,0, + 112,0,0,64,0,0,128,0,0,0,0,0,128,0,7,112, + 0,24,8,0,16,12,0,48,6,0,96,6,0,96,3,0, + 96,3,0,224,3,0,224,3,0,224,3,0,224,3,128,224, + 3,128,224,3,0,224,3,0,96,3,0,96,3,0,96,6, + 0,48,6,0,16,12,0,24,8,0,7,240,0,17,28,84, + 20,2,0,0,128,0,1,128,0,3,192,0,6,32,0,12, + 16,0,0,8,0,0,128,0,7,112,0,24,8,0,16,12, + 0,48,6,0,96,6,0,96,3,0,96,3,0,224,3,0, + 224,3,0,224,3,0,224,3,128,224,3,128,224,3,0,224, + 3,0,96,3,0,96,3,0,96,6,0,48,6,0,16,12, + 0,24,8,0,7,240,0,17,27,81,20,2,0,7,136,0, + 15,248,0,8,112,0,0,0,0,0,0,0,0,128,0,7, + 112,0,24,8,0,16,12,0,48,6,0,96,6,0,96,3, + 0,96,3,0,224,3,0,224,3,0,224,3,0,224,3,128, + 224,3,128,224,3,0,224,3,0,96,3,0,96,3,0,96, + 6,0,48,6,0,16,12,0,24,8,0,7,240,0,17,27, + 81,20,2,0,12,48,0,14,56,0,12,48,0,0,0,0, + 0,0,0,0,128,0,7,112,0,24,8,0,16,12,0,48, + 6,0,96,6,0,96,3,0,96,3,0,224,3,0,224,3, + 0,224,3,0,224,3,128,224,3,128,224,3,0,224,3,0, + 96,3,0,96,3,0,96,6,0,48,6,0,16,12,0,24, + 8,0,7,240,0,18,18,54,27,5,255,128,0,192,192,1, + 128,96,3,0,48,6,0,24,12,0,12,24,0,6,48,0, + 3,96,0,1,192,0,1,192,0,3,96,0,6,48,0,12, + 24,0,24,12,0,48,6,0,96,3,0,64,1,128,128,0, + 192,17,21,63,20,2,1,7,241,0,8,15,0,16,14,0, + 48,6,0,96,14,0,96,27,0,96,19,0,224,35,0,224, + 99,0,224,195,128,225,131,128,225,3,0,226,3,0,230,3, + 0,236,3,0,104,3,0,112,6,0,112,6,0,112,12,0, + 88,8,0,143,240,0,20,28,84,23,2,0,3,0,0,3, + 128,0,1,128,0,0,192,0,0,32,0,0,0,0,0,0, + 0,255,7,240,28,0,128,28,0,128,28,0,128,28,0,128, + 28,0,128,28,0,128,28,0,128,28,0,128,28,0,128,28, + 0,128,28,0,128,28,0,128,28,0,128,28,0,128,28,0, + 128,28,0,128,12,0,128,12,1,0,6,2,0,3,252,0, + 20,28,84,23,2,0,0,4,0,0,12,0,0,24,0,0, + 16,0,0,32,0,0,0,0,0,0,0,255,7,240,28,0, + 128,28,0,128,28,0,128,28,0,128,28,0,128,28,0,128, + 28,0,128,28,0,128,28,0,128,28,0,128,28,0,128,28, + 0,128,28,0,128,28,0,128,28,0,128,28,0,128,12,0, + 128,12,1,0,6,2,0,3,252,0,20,28,84,23,2,0, + 0,32,0,0,96,0,0,112,0,0,136,0,3,4,0,0, + 0,0,0,0,0,255,7,240,28,0,128,28,0,128,28,0, + 128,28,0,128,28,0,128,28,0,128,28,0,128,28,0,128, + 28,0,128,28,0,128,28,0,128,28,0,128,28,0,128,28, + 0,128,28,0,128,28,0,128,12,1,128,12,1,0,6,2, + 0,3,252,0,20,27,81,23,2,0,1,134,0,3,142,0, + 1,134,0,0,0,0,0,0,0,0,0,0,255,131,240,28, + 0,128,28,0,128,28,0,128,28,0,128,28,0,128,28,0, + 128,28,0,128,28,0,128,28,0,128,28,0,128,28,0,128, + 28,0,128,28,0,128,28,0,128,28,0,128,28,0,128,12, + 0,128,12,1,0,6,2,0,3,252,0,19,28,84,21,1, + 0,0,4,0,0,12,0,0,24,0,0,16,0,0,32,0, + 0,0,0,0,0,0,255,143,224,30,3,128,14,3,0,14, + 2,0,7,2,0,7,4,0,3,132,0,1,200,0,1,200, + 0,0,240,0,0,240,0,0,112,0,0,112,0,0,112,0, + 0,112,0,0,112,0,0,112,0,0,112,0,0,112,0,0, + 112,0,7,254,0,17,21,63,20,2,0,255,128,0,28,0, + 0,28,0,0,31,240,0,28,12,0,28,6,0,28,3,0, + 28,3,0,28,3,128,28,3,128,28,3,0,28,3,0,28, + 6,0,28,12,0,31,240,0,28,0,0,28,0,0,28,0, + 0,28,0,0,28,0,0,255,128,0,13,21,42,15,1,0, + 7,192,12,96,24,112,56,112,56,112,56,96,56,192,59,0, + 56,192,56,96,56,48,56,48,56,56,56,56,56,56,56,56, + 58,56,63,56,62,48,60,48,251,192,13,21,42,15,1,0, + 96,0,96,0,48,0,24,0,8,0,4,0,0,0,31,0, + 97,128,65,192,97,192,113,192,1,192,15,192,49,192,97,192, + 193,192,193,200,195,200,196,216,56,240,13,21,42,15,1,0, + 0,192,1,192,1,128,3,0,6,0,4,0,0,0,31,0, + 33,128,96,192,112,192,112,192,0,192,7,192,56,192,96,192, + 224,192,224,200,225,200,226,216,60,112,13,21,42,15,1,0, + 4,0,12,0,14,0,26,0,17,0,32,128,0,0,31,0, + 33,128,97,192,113,192,113,192,1,192,15,192,49,192,97,192, + 225,192,225,200,225,200,226,216,60,240,13,20,40,15,1,0, + 24,0,63,128,71,128,0,0,0,0,0,0,31,0,33,128, + 97,192,113,192,113,192,1,192,15,192,49,192,97,192,225,192, + 225,200,225,200,226,216,60,240,13,20,40,15,1,0,97,128, + 97,192,97,128,0,0,0,0,0,0,30,0,97,128,64,128, + 96,128,96,192,0,192,15,192,48,192,96,192,192,192,193,200, + 194,200,194,216,60,112,13,21,42,15,1,0,14,0,49,0, + 33,0,33,0,19,0,14,0,0,0,30,0,33,128,97,128, + 97,128,113,192,1,192,15,192,113,192,97,192,225,192,225,200, + 227,200,229,216,120,240,18,14,42,20,1,0,31,30,0,97, + 227,0,65,227,0,97,193,128,113,193,128,1,193,128,15,255, + 192,113,192,0,65,192,0,193,192,128,193,192,128,194,224,128, + 194,97,0,60,62,0,10,20,40,12,1,250,31,0,48,128, + 96,192,96,192,225,192,224,128,224,0,224,0,224,0,224,64, + 96,64,96,128,48,128,31,0,8,0,12,0,3,0,3,0, + 3,0,30,0,10,21,42,13,1,0,96,0,112,0,56,0, + 24,0,4,0,0,0,0,0,30,0,49,128,97,128,96,192, + 224,192,224,192,255,192,224,0,224,0,224,64,96,64,96,64, + 48,128,31,0,10,21,42,13,1,0,0,192,1,192,1,128, + 3,0,6,0,0,0,0,0,30,0,49,128,97,128,96,192, + 224,192,224,192,255,192,224,0,224,0,224,64,96,64,96,64, + 48,128,31,0,10,21,42,13,1,0,4,0,4,0,14,0, + 11,0,17,0,32,128,0,0,30,0,49,128,97,128,96,192, + 224,192,224,192,255,192,224,0,224,0,224,64,96,64,96,64, + 48,128,31,0,10,20,40,13,1,0,49,128,113,192,49,128, + 0,0,0,0,0,0,30,0,49,128,97,128,96,192,224,192, + 224,192,255,192,224,0,224,0,224,64,96,64,96,64,48,128, + 31,0,7,21,21,8,0,0,192,192,96,48,24,0,0,124, + 28,28,28,28,28,28,28,28,28,28,28,28,126,7,21,21, + 8,1,0,6,14,12,24,16,0,0,248,56,56,56,56,56, + 56,56,56,56,56,56,56,252,7,20,20,9,1,0,48,48, + 104,132,2,0,248,56,56,56,56,56,56,56,56,56,56,56, + 56,252,8,19,19,9,1,0,198,231,198,0,0,124,28,28, + 28,28,28,28,28,28,28,28,28,28,126,12,21,42,14,1, + 0,56,64,29,128,14,0,15,0,19,0,33,128,1,192,15, + 192,48,224,96,224,96,96,224,96,224,112,224,112,224,96,224, + 96,224,96,96,96,96,192,48,128,15,0,14,20,40,16,1, + 0,14,32,15,32,19,192,16,192,0,0,0,0,249,192,62, + 96,60,112,56,112,56,112,56,112,56,112,56,112,56,112,56, + 112,56,112,56,112,56,112,252,252,12,21,42,14,1,0,32, + 0,48,0,24,0,8,0,4,0,0,0,0,0,15,0,48, + 128,96,192,96,96,224,96,224,96,224,112,224,112,224,96,224, + 96,96,96,96,192,48,128,15,0,12,21,42,14,1,0,0, + 192,1,192,1,128,3,0,2,0,4,0,0,0,15,0,48, + 128,96,192,96,96,224,96,224,96,224,112,224,112,224,96,224, + 96,96,96,96,192,48,128,15,0,12,21,42,14,1,0,4, + 0,6,0,14,0,11,0,16,128,32,0,0,0,15,0,48, + 128,96,192,96,96,224,96,224,96,224,112,224,112,224,96,224, + 96,96,96,96,192,48,128,15,0,12,20,40,14,1,0,28, + 64,63,192,39,128,0,0,0,0,0,0,15,0,48,128,96, + 192,96,96,224,96,224,96,224,112,224,112,224,96,224,96,96, + 96,96,192,48,128,15,0,12,20,40,14,1,0,48,192,57, + 192,48,192,0,0,0,0,0,0,15,0,48,128,96,192,96, + 96,224,96,224,96,224,112,224,112,224,96,224,96,96,96,96, + 192,48,128,15,0,24,19,57,26,1,254,0,24,0,0,60, + 0,0,60,0,0,24,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,255,255,255,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,24,0,0,60,0,0,60, + 0,0,24,0,12,14,28,14,1,0,15,32,48,160,96,192, + 96,224,225,96,227,96,226,112,228,112,232,96,240,96,96,96, + 96,192,112,128,143,0,14,21,42,16,1,0,24,0,24,0, + 12,0,6,0,2,0,0,0,0,0,248,240,56,112,56,112, + 56,112,56,112,56,112,56,112,56,112,56,112,56,112,56,112, + 56,240,25,112,14,124,14,21,42,16,1,0,0,96,0,224, + 0,192,1,128,1,0,0,0,0,0,248,240,56,112,56,112, + 56,112,56,112,56,112,56,112,56,112,56,112,56,112,56,112, + 56,240,25,112,14,124,14,21,42,16,1,0,2,0,3,0, + 7,0,4,128,8,64,0,0,0,0,248,240,56,112,56,112, + 56,112,56,112,56,112,56,112,56,112,56,112,56,112,56,112, + 56,240,25,112,14,124,14,20,40,16,1,0,24,96,28,224, + 24,96,0,0,0,0,0,0,248,240,56,112,56,112,56,112, + 56,112,56,112,56,112,56,112,56,112,56,112,56,112,56,240, + 25,112,14,124,14,28,56,15,0,249,0,48,0,112,0,96, + 0,192,1,128,0,0,0,0,254,124,24,16,24,16,28,16, + 12,32,12,32,14,32,6,64,6,64,6,64,3,128,3,128, + 3,128,1,128,1,0,1,0,1,0,98,0,114,0,100,0, + 56,0,12,28,56,14,1,249,56,0,248,0,56,0,56,0, + 56,0,56,0,56,0,57,224,62,112,60,112,56,112,56,112, + 56,112,56,96,56,96,56,192,56,128,57,128,58,0,60,0, + 56,0,56,0,56,0,56,0,56,0,56,0,48,0,192,0, + 14,26,52,15,0,249,12,48,14,112,12,48,0,0,0,0, + 254,60,24,16,24,16,28,32,12,32,12,32,14,32,6,64, + 6,64,7,64,3,128,3,128,3,128,1,0,1,0,1,0, + 1,0,114,0,114,0,116,0,56,0}; +/* + Fontname: -FreeType-Old Standard TT-Medium-R-Normal--29-290-72-72-P-153-ISO10646-1 + Copyright: Copyright (C) 2006-2008 Alexey Kryukov + Capital A Height: 0, '1' Height: 21 + Calculated Max Values w=24 h=28 x= 3 y= 9 dx=26 dy= 0 ascent=22 len=75 + Font Bounding box w=76 h=38 x=-24 y=-9 + Calculated Min Values x= 0 y=-6 dx= 0 dy= 0 + Pure Font ascent =21 descent= 0 + X Font ascent =21 descent= 0 + Max Font ascent =22 descent=-6 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_osr21n[722] U8G_FONT_SECTION("u8g_font_osr21n") = { + 0,76,38,232,247,21,0,0,0,0,42,58,0,22,250,21, + 0,10,12,24,14,2,9,12,0,14,0,204,64,228,192,117, + 192,14,0,30,0,229,192,196,192,12,0,14,0,12,0,24, + 25,75,26,1,252,0,8,0,0,8,0,0,8,0,0,8, + 0,0,8,0,0,8,0,0,8,0,0,8,0,0,8,0, + 0,8,0,0,8,0,0,8,0,255,255,255,0,8,0,0, + 8,0,0,8,0,0,8,0,0,8,0,0,8,0,0,8, + 0,0,8,0,0,8,0,0,8,0,0,8,0,0,8,0, + 4,8,8,8,2,251,224,240,240,16,16,16,32,64,7,2, + 2,11,2,7,254,254,4,4,4,8,2,0,96,240,240,96, + 9,28,56,13,2,250,0,128,0,128,1,128,1,0,1,0, + 1,0,2,0,2,0,2,0,6,0,4,0,4,0,12,0, + 8,0,8,0,24,0,16,0,16,0,16,0,32,0,32,0, + 32,0,64,0,64,0,64,0,192,0,128,0,128,0,14,21, + 42,17,1,0,7,128,24,64,48,32,32,48,96,16,96,24, + 96,24,224,24,224,24,224,24,224,28,224,28,224,24,224,24, + 224,24,96,24,96,24,96,48,48,32,16,96,15,192,10,21, + 42,17,3,0,2,0,6,0,6,0,14,0,254,0,14,0, + 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, + 14,0,14,0,14,0,14,0,14,0,14,0,255,192,12,21, + 42,17,2,0,31,0,32,192,64,96,128,112,128,112,192,112, + 240,112,112,112,32,96,0,224,0,192,1,0,6,0,12,0, + 24,0,48,16,96,16,64,16,224,112,255,240,255,240,12,21, + 42,17,2,0,31,0,97,192,192,224,224,96,240,96,112,112, + 0,96,0,96,0,224,48,192,63,0,0,192,0,96,0,112, + 0,112,96,112,240,112,240,112,192,96,192,192,127,128,14,21, + 42,17,2,0,0,64,0,192,1,192,1,192,3,192,7,192, + 5,192,13,192,9,192,17,192,49,192,33,192,65,192,193,192, + 255,252,1,192,1,192,1,192,1,192,1,192,15,252,12,21, + 42,17,2,0,96,64,127,128,127,0,64,0,64,0,64,0, + 64,0,95,0,96,192,64,96,64,96,0,112,0,112,0,112, + 96,112,240,112,240,112,224,96,192,224,64,192,63,128,12,21, + 42,17,2,0,7,128,24,64,16,96,48,224,96,224,96,192, + 96,0,224,0,231,128,232,192,240,96,240,96,224,112,224,112, + 224,112,224,112,96,112,96,96,112,96,48,192,31,128,11,21, + 42,17,3,0,255,224,255,224,192,32,128,32,128,64,128,64, + 0,64,0,128,1,0,1,0,2,0,6,0,6,0,12,0, + 12,0,12,0,30,0,30,0,30,0,30,0,30,0,14,21, + 42,17,2,0,15,128,48,96,96,48,224,24,224,24,224,24, + 224,24,240,16,124,32,63,192,15,224,51,240,96,248,224,56, + 224,28,224,28,224,24,224,24,96,24,112,48,31,192,12,21, + 42,17,2,0,15,0,48,128,96,64,96,96,224,96,224,96, + 224,112,224,112,224,112,96,112,96,240,49,176,14,48,0,48, + 0,32,48,96,112,96,112,64,96,192,96,128,63,0,4,14, + 14,8,2,0,96,240,240,96,0,0,0,0,0,0,96,240, + 240,96}; +/* + Fontname: -FreeType-Old Standard TT-Medium-R-Normal--29-290-72-72-P-153-ISO10646-1 + Copyright: Copyright (C) 2006-2008 Alexey Kryukov + Capital A Height: 21, '1' Height: 21 + Calculated Max Values w=29 h=28 x= 4 y=17 dx=32 dy= 0 ascent=23 len=88 + Font Bounding box w=76 h=38 x=-24 y=-9 + Calculated Min Values x=-1 y=-7 dx= 0 dy= 0 + Pure Font ascent =21 descent=-7 + X Font ascent =22 descent=-7 + Max Font ascent =23 descent=-7 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_osr21r[4396] U8G_FONT_SECTION("u8g_font_osr21r") = { + 0,76,38,232,247,21,5,131,12,189,32,127,249,23,249,22, + 249,0,0,0,8,0,0,4,21,21,8,2,0,96,240,240, + 240,240,240,96,96,96,96,96,96,96,96,96,64,0,96,240, + 240,96,7,5,5,11,2,17,238,204,204,204,68,15,21,42, + 19,2,0,2,16,6,16,6,16,4,16,4,48,4,48,255, + 254,4,32,12,32,12,32,8,32,8,96,8,96,8,64,255, + 254,24,64,24,64,16,192,16,192,16,128,16,128,13,25,50, + 17,2,254,5,0,5,0,15,128,53,96,37,16,69,24,69, + 24,69,56,69,56,117,48,61,0,63,0,15,192,7,224,5, + 240,5,48,101,24,229,24,229,24,197,24,69,48,69,32,61, + 192,7,0,5,0,19,21,63,25,3,0,60,1,0,70,2, + 0,66,2,0,195,4,0,195,8,0,195,8,0,195,16,0, + 195,16,0,66,32,0,102,32,0,56,64,0,0,67,0,0, + 140,192,1,8,64,1,24,96,2,24,96,2,24,96,4,24, + 96,4,24,96,8,8,64,8,7,128,20,21,63,23,2,0, + 3,128,0,12,64,0,8,32,0,24,32,0,24,32,0,24, + 96,0,28,64,0,12,128,0,15,0,0,7,15,240,15,1, + 128,27,129,0,51,193,0,97,194,0,96,226,0,224,244,0, + 224,124,0,224,56,0,224,60,0,96,60,32,59,198,192,3, + 5,5,7,2,17,224,192,192,192,64,6,28,28,10,3,250, + 4,12,24,16,32,32,64,64,64,128,128,128,128,128,128,128, + 128,128,128,192,64,64,32,32,16,24,8,4,6,28,28,11, + 2,250,128,192,64,32,48,16,24,8,8,8,4,4,4,4, + 4,4,4,4,12,8,8,24,16,48,32,96,192,128,10,12, + 24,14,2,9,12,0,14,0,204,64,228,192,117,192,14,0, + 30,0,229,192,196,192,12,0,14,0,12,0,24,25,75,26, + 1,252,0,8,0,0,8,0,0,8,0,0,8,0,0,8, + 0,0,8,0,0,8,0,0,8,0,0,8,0,0,8,0, + 0,8,0,0,8,0,255,255,255,0,8,0,0,8,0,0, + 8,0,0,8,0,0,8,0,0,8,0,0,8,0,0,8, + 0,0,8,0,0,8,0,0,8,0,0,8,0,4,8,8, + 8,2,251,224,240,240,16,16,16,32,64,7,2,2,11,2, + 7,254,254,4,4,4,8,2,0,96,240,240,96,9,28,56, + 13,2,250,0,128,0,128,1,128,1,0,1,0,1,0,2, + 0,2,0,2,0,6,0,4,0,4,0,12,0,8,0,8, + 0,24,0,16,0,16,0,16,0,32,0,32,0,32,0,64, + 0,64,0,64,0,192,0,128,0,128,0,14,21,42,17,1, + 0,7,128,24,64,48,32,32,48,96,16,96,24,96,24,224, + 24,224,24,224,24,224,28,224,28,224,24,224,24,224,24,96, + 24,96,24,96,48,48,32,16,96,15,192,10,21,42,17,3, + 0,2,0,6,0,6,0,14,0,254,0,14,0,14,0,14, + 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, + 0,14,0,14,0,14,0,14,0,255,192,12,21,42,17,2, + 0,31,0,32,192,64,96,128,112,128,112,192,112,240,112,112, + 112,32,96,0,224,0,192,1,0,6,0,12,0,24,0,48, + 16,96,16,64,16,224,112,255,240,255,240,12,21,42,17,2, + 0,31,0,97,192,192,224,224,96,240,96,112,112,0,96,0, + 96,0,224,48,192,63,0,0,192,0,96,0,112,0,112,96, + 112,240,112,240,112,192,96,192,192,127,128,14,21,42,17,2, + 0,0,64,0,192,1,192,1,192,3,192,7,192,5,192,13, + 192,9,192,17,192,49,192,33,192,65,192,193,192,255,252,1, + 192,1,192,1,192,1,192,1,192,15,252,12,21,42,17,2, + 0,96,64,127,128,127,0,64,0,64,0,64,0,64,0,95, + 0,96,192,64,96,64,96,0,112,0,112,0,112,96,112,240, + 112,240,112,224,96,192,224,64,192,63,128,12,21,42,17,2, + 0,7,128,24,64,16,96,48,224,96,224,96,192,96,0,224, + 0,231,128,232,192,240,96,240,96,224,112,224,112,224,112,224, + 112,96,112,96,96,112,96,48,192,31,128,11,21,42,17,3, + 0,255,224,255,224,192,32,128,32,128,64,128,64,0,64,0, + 128,1,0,1,0,2,0,6,0,6,0,12,0,12,0,12, + 0,30,0,30,0,30,0,30,0,30,0,14,21,42,17,2, + 0,15,128,48,96,96,48,224,24,224,24,224,24,224,24,240, + 16,124,32,63,192,15,224,51,240,96,248,224,56,224,28,224, + 28,224,24,224,24,96,24,112,48,31,192,12,21,42,17,2, + 0,15,0,48,128,96,64,96,96,224,96,224,96,224,112,224, + 112,224,112,96,112,96,240,49,176,14,48,0,48,0,32,48, + 96,112,96,112,64,96,192,96,128,63,0,4,14,14,8,2, + 0,96,240,240,96,0,0,0,0,0,0,96,240,240,96,4, + 18,18,8,2,251,96,240,240,96,0,0,0,0,0,0,224, + 240,240,16,16,48,32,64,22,24,72,27,2,251,0,0,12, + 0,0,56,0,0,96,0,1,128,0,7,0,0,28,0,0, + 112,0,0,192,0,3,0,0,14,0,0,56,0,0,224,0, + 0,224,0,0,48,0,0,12,0,0,7,0,0,1,192,0, + 0,112,0,0,24,0,0,6,0,0,3,128,0,0,224,0, + 0,56,0,0,12,24,7,21,26,1,5,255,255,255,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255, + 22,24,72,27,3,251,192,0,0,112,0,0,24,0,0,6, + 0,0,3,128,0,0,224,0,0,56,0,0,12,0,0,3, + 0,0,0,192,0,0,112,0,0,28,0,0,28,0,0,48, + 0,0,192,0,3,128,0,14,0,0,56,0,0,96,0,1, + 128,0,7,0,0,28,0,0,112,0,0,192,0,0,11,21, + 42,14,2,0,30,0,97,128,128,192,128,192,240,224,240,192, + 97,192,1,128,3,128,6,0,12,0,8,0,17,0,17,0, + 17,0,14,0,0,0,12,0,30,0,30,0,12,0,21,21, + 63,25,2,1,3,255,0,12,0,128,24,0,64,48,0,32, + 32,59,144,64,199,16,65,135,8,131,7,8,135,6,8,134, + 6,8,142,14,8,142,14,8,142,12,16,142,28,16,142,28, + 32,70,44,64,67,199,128,32,0,0,16,0,0,8,1,128, + 7,222,0,20,21,63,22,1,0,0,32,0,0,96,0,0, + 96,0,0,112,0,0,240,0,0,240,0,0,184,0,1,56, + 0,1,56,0,3,28,0,3,28,0,2,28,0,6,14,0, + 6,14,0,7,254,0,12,7,0,12,7,0,8,7,0,24, + 3,128,24,3,128,255,31,240,16,21,42,20,2,0,255,240, + 28,12,28,6,28,7,28,7,28,7,28,7,28,6,28,12, + 31,240,28,28,28,6,28,6,28,7,28,7,28,7,28,7, + 28,7,28,6,28,12,255,240,15,21,42,19,2,1,15,226, + 16,54,48,30,32,14,96,6,96,6,224,6,224,2,224,0, + 224,0,224,0,224,0,224,0,224,2,96,2,96,2,96,4, + 32,4,48,12,24,8,7,240,19,21,63,22,2,0,255,248, + 0,28,6,0,28,3,0,28,1,128,28,1,128,28,1,192, + 28,0,192,28,0,192,28,0,192,28,0,224,28,0,224,28, + 0,224,28,0,192,28,0,192,28,0,192,28,1,192,28,1, + 128,28,1,0,28,3,0,28,6,0,255,248,0,17,21,63, + 20,2,0,255,255,128,28,3,128,28,3,128,28,1,128,28, + 1,128,28,0,128,28,32,128,28,32,0,28,32,0,28,96, + 0,31,224,0,28,96,0,28,32,0,28,32,128,28,32,128, + 28,0,128,28,1,128,28,1,128,28,3,128,28,7,128,255, + 255,128,17,21,63,20,2,0,255,255,128,28,3,128,28,3, + 128,28,1,128,28,1,128,28,0,128,28,32,128,28,32,0, + 28,32,0,28,96,0,31,224,0,28,96,0,28,32,0,28, + 32,0,28,32,0,28,0,0,28,0,0,28,0,0,28,0, + 0,28,0,0,255,128,0,18,21,63,21,2,1,15,226,0, + 24,26,0,48,14,0,32,14,0,96,6,0,96,6,0,224, + 2,0,224,2,0,224,0,0,224,0,0,224,127,192,224,14, + 0,224,14,0,224,14,0,224,14,0,96,14,0,96,14,0, + 32,14,0,48,26,0,16,50,0,15,226,0,20,21,63,23, + 2,0,255,15,240,28,3,128,28,3,128,28,3,128,28,3, + 128,28,3,128,28,3,128,28,3,128,28,3,128,31,255,128, + 28,3,128,28,3,128,28,3,128,28,3,128,28,3,128,28, + 3,128,28,3,128,28,3,128,28,3,128,28,3,128,255,15, + 240,8,21,21,12,2,0,255,28,28,28,28,28,28,28,28, + 28,28,28,28,28,28,28,28,28,28,28,255,13,21,42,15, + 1,0,7,248,0,224,0,224,0,224,0,224,0,224,0,224, + 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, + 112,224,240,192,240,192,192,192,65,128,127,0,19,21,63,22, + 2,0,255,31,224,28,7,0,28,6,0,28,12,0,28,8, + 0,28,16,0,28,32,0,28,64,0,28,192,0,29,224,0, + 30,224,0,28,112,0,28,112,0,28,56,0,28,28,0,28, + 28,0,28,14,0,28,14,0,28,7,0,28,7,0,255,63, + 224,16,21,42,20,2,0,255,128,28,0,28,0,28,0,28, + 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, + 0,28,1,28,1,28,1,28,1,28,3,28,3,28,15,255, + 255,21,21,63,25,2,0,252,1,248,30,1,224,30,1,224, + 30,2,224,22,2,224,23,2,224,23,2,224,19,4,224,19, + 132,224,19,132,224,17,132,224,17,200,224,17,200,224,16,200, + 224,16,208,224,16,240,224,16,240,224,16,112,224,16,96,224, + 16,96,224,254,39,248,20,21,63,23,2,0,252,7,240,28, + 0,128,30,0,128,31,0,128,23,0,128,19,128,128,19,192, + 128,17,192,128,16,224,128,16,240,128,16,112,128,16,56,128, + 16,56,128,16,28,128,16,30,128,16,14,128,16,7,128,16, + 7,128,16,3,128,16,1,128,254,1,128,17,22,66,20,2, + 0,0,128,0,7,112,0,24,8,0,16,12,0,48,6,0, + 96,6,0,96,3,0,96,3,0,224,3,0,224,3,0,224, + 3,0,224,3,128,224,3,128,224,3,0,224,3,0,96,3, + 0,96,3,0,96,6,0,48,6,0,16,12,0,24,8,0, + 7,240,0,17,21,63,20,2,0,255,248,0,28,14,0,28, + 7,0,28,3,0,28,3,0,28,3,128,28,3,0,28,3, + 0,28,6,0,28,12,0,31,240,0,28,0,0,28,0,0, + 28,0,0,28,0,0,28,0,0,28,0,0,28,0,0,28, + 0,0,28,0,0,255,128,0,17,27,81,20,2,251,0,128, + 0,7,112,0,24,8,0,16,12,0,48,6,0,96,6,0, + 96,3,0,96,3,0,224,3,0,224,3,0,224,3,0,224, + 3,128,224,3,128,224,3,0,224,3,0,96,3,0,96,3, + 0,97,198,0,51,38,0,26,60,0,14,60,0,7,48,128, + 0,241,0,0,49,0,0,57,0,0,31,0,0,14,0,18, + 21,63,21,2,0,255,248,0,28,14,0,28,6,0,28,7, + 0,28,7,0,28,7,0,28,7,0,28,6,0,28,12,0, + 31,240,0,28,24,0,28,24,0,28,12,0,28,12,0,28, + 12,0,28,14,0,28,14,64,28,14,64,28,14,64,28,7, + 128,255,131,128,14,21,42,18,3,1,63,144,96,208,192,112, + 192,48,192,16,192,16,224,16,240,16,124,0,63,128,31,224, + 7,240,128,248,128,56,128,28,128,12,192,12,224,12,224,8, + 144,16,142,224,17,21,63,21,2,0,255,255,128,225,195,128, + 193,193,128,193,193,128,193,192,128,129,192,128,129,192,128,129, + 192,128,1,192,0,1,192,0,1,192,0,1,192,0,1,192, + 0,1,192,0,1,192,0,1,192,0,1,192,0,1,192,0, + 1,192,0,1,192,0,15,248,0,20,21,63,23,2,0,255, + 7,240,28,0,128,28,0,128,28,0,128,28,0,128,28,0, + 128,28,0,128,28,0,128,28,0,128,28,0,128,28,0,128, + 28,0,128,28,0,128,28,0,128,28,0,128,28,0,128,28, + 0,128,12,0,128,12,1,0,6,2,0,3,252,0,20,22, + 66,23,2,255,255,143,240,28,1,192,28,1,128,14,1,128, + 14,1,0,14,1,0,7,3,0,7,2,0,7,2,0,3, + 134,0,3,132,0,3,132,0,1,196,0,1,200,0,1,200, + 0,0,232,0,0,240,0,0,112,0,0,112,0,0,112,0, + 0,32,0,0,32,0,29,22,88,32,2,255,255,63,231,248, + 28,7,0,192,28,7,0,128,28,7,0,128,12,7,128,128, + 14,15,129,128,14,11,129,0,6,9,129,0,7,9,195,0, + 7,25,194,0,7,17,194,0,3,16,230,0,3,144,228,0, + 3,176,228,0,1,160,108,0,1,224,120,0,1,224,120,0, + 1,192,120,0,0,192,48,0,0,192,48,0,0,192,48,0, + 0,128,16,0,19,21,63,22,2,0,255,159,224,14,7,0, + 14,6,0,7,4,0,7,12,0,3,136,0,3,208,0,1, + 208,0,1,224,0,0,224,0,0,112,0,0,240,0,1,184, + 0,1,56,0,2,28,0,6,28,0,4,14,0,8,14,0, + 24,7,0,24,7,0,255,31,224,19,21,63,21,1,0,255, + 143,224,30,3,128,14,3,0,14,2,0,7,2,0,7,4, + 0,3,132,0,1,200,0,1,200,0,0,240,0,0,240,0, + 0,112,0,0,112,0,0,112,0,0,112,0,0,112,0,0, + 112,0,0,112,0,0,112,0,0,112,0,7,254,0,15,21, + 42,19,2,0,63,254,56,14,112,28,96,56,64,56,64,112, + 64,240,0,224,1,192,1,192,3,128,7,128,7,0,14,2, + 14,2,28,2,60,2,56,6,112,6,240,14,255,254,6,27, + 27,11,3,250,252,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,252,9, + 28,56,13,2,250,128,0,128,0,192,0,64,0,64,0,64, + 0,32,0,32,0,32,0,16,0,16,0,16,0,24,0,8, + 0,8,0,12,0,4,0,4,0,4,0,2,0,2,0,2, + 0,1,0,1,0,1,0,1,128,0,128,0,128,6,27,27, + 11,2,250,252,28,28,28,28,28,28,28,28,28,28,28,28, + 28,28,28,28,28,28,28,28,28,28,28,28,28,252,13,11, + 22,17,2,10,2,0,2,0,5,0,13,128,8,128,24,192, + 16,64,32,32,96,48,64,16,192,24,15,1,2,15,0,251, + 255,254,5,5,5,13,2,16,192,224,96,48,8,13,14,28, + 15,1,0,31,0,33,128,97,192,113,192,113,192,1,192,15, + 192,49,192,97,192,225,192,225,200,225,200,226,216,60,240,13, + 21,42,15,1,0,248,0,56,0,56,0,56,0,56,0,56, + 0,56,0,59,192,60,96,56,48,56,48,56,48,56,48,56, + 56,56,56,56,48,56,48,56,48,56,48,36,96,35,192,10, + 14,28,12,1,0,31,0,48,128,96,64,96,192,225,192,224, + 128,224,0,224,0,224,0,224,0,96,64,96,128,48,128,31, + 0,13,21,42,15,1,0,3,224,0,224,0,224,0,224,0, + 224,0,224,0,224,30,224,49,224,97,224,96,224,224,224,224, + 224,224,224,224,224,224,224,224,224,96,224,96,224,49,224,30, + 248,10,14,28,13,1,0,30,0,49,128,97,128,96,192,224, + 192,224,192,255,192,224,0,224,0,224,64,96,64,96,64,48, + 128,31,0,10,21,42,10,1,0,15,0,24,128,57,192,57, + 128,56,0,56,0,56,0,254,0,56,0,56,0,56,0,56, + 0,56,0,56,0,56,0,56,0,56,0,56,0,56,0,56, + 0,254,0,14,21,42,16,2,249,31,56,113,200,96,220,224, + 248,224,224,224,224,224,224,96,192,49,128,31,0,96,0,128, + 0,224,0,127,224,56,112,64,16,128,16,128,16,128,48,64, + 96,63,128,14,21,42,16,1,0,248,0,56,0,56,0,56, + 0,56,0,56,0,56,0,57,192,62,96,60,112,56,112,56, + 112,56,112,56,112,56,112,56,112,56,112,56,112,56,112,56, + 112,252,252,6,21,21,7,1,0,112,112,112,0,0,0,0, + 240,112,112,112,112,112,112,112,112,112,112,112,112,252,8,28, + 28,9,255,249,6,7,6,0,0,0,0,31,7,7,7,7, + 7,7,7,7,7,7,7,7,7,7,7,70,230,198,204,120, + 13,21,42,15,1,0,248,0,56,0,56,0,56,0,56,0, + 56,0,56,0,57,248,56,192,56,128,57,0,57,0,58,0, + 63,0,63,0,59,128,57,192,56,192,56,224,56,224,253,248, + 7,21,21,8,1,0,248,56,56,56,56,56,56,56,56,56, + 56,56,56,56,56,56,56,56,56,56,254,21,14,42,23,1, + 0,249,195,192,62,100,224,60,120,96,56,120,96,56,112,96, + 56,112,96,56,112,96,56,112,96,56,112,96,56,112,96,56, + 112,96,56,112,96,56,112,96,252,253,248,14,14,28,16,1, + 0,249,192,62,96,60,112,56,112,56,112,56,112,56,112,56, + 112,56,112,56,112,56,112,56,112,56,112,252,252,12,14,28, + 14,1,0,15,0,48,128,96,192,96,96,224,96,224,96,224, + 112,224,112,224,96,224,96,96,96,96,192,48,128,15,0,13, + 21,42,15,1,249,251,192,60,96,56,48,56,48,56,48,56, + 48,56,56,56,56,56,48,56,48,56,48,56,48,60,96,59, + 192,56,0,56,0,56,0,56,0,56,0,56,0,252,0,13, + 21,42,15,1,249,30,32,49,32,96,224,96,224,224,224,224, + 224,224,224,224,224,224,224,224,224,96,224,96,224,49,224,30, + 224,0,224,0,224,0,224,0,224,0,224,0,224,3,248,10, + 14,28,12,1,0,249,128,58,64,60,192,60,192,56,0,56, + 0,56,0,56,0,56,0,56,0,56,0,56,0,56,0,252, + 0,10,14,28,13,2,0,60,128,195,128,129,128,128,128,192, + 128,240,0,62,0,15,128,131,192,128,192,192,64,192,64,160, + 128,159,0,8,20,20,10,1,0,16,16,16,16,48,48,254, + 48,48,48,48,48,48,48,48,49,49,49,59,30,14,14,28, + 16,1,0,248,240,56,112,56,112,56,112,56,112,56,112,56, + 112,56,112,56,112,56,112,56,112,56,240,25,112,14,124,15, + 14,28,15,0,0,254,126,56,16,24,16,28,16,12,32,12, + 32,6,32,6,64,7,64,3,64,3,128,1,128,1,128,1, + 0,22,14,42,22,0,0,254,252,252,56,56,32,24,56,32, + 28,56,32,12,56,64,12,60,64,6,76,64,6,76,128,7, + 70,128,3,134,128,3,135,0,1,131,0,1,131,0,1,2, + 0,14,14,28,16,1,0,124,248,56,96,24,64,12,128,14, + 128,7,0,7,0,3,128,5,128,5,192,8,192,16,224,16, + 96,249,252,15,21,42,15,0,249,254,126,24,16,24,16,28, + 16,12,32,12,32,14,32,6,64,6,64,6,64,3,128,3, + 128,3,128,1,128,1,0,1,0,1,0,98,0,114,0,100, + 0,56,0,10,14,28,13,1,0,255,192,193,192,129,128,131, + 0,135,0,6,0,14,0,28,0,24,0,56,64,48,64,112, + 64,224,192,255,192,6,27,27,12,3,250,12,24,48,48,48, + 48,48,56,24,24,24,16,48,192,48,16,24,24,24,56,48, + 48,48,48,48,16,12,1,28,28,8,4,250,128,128,128,128, + 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, + 128,128,128,128,128,128,128,128,6,27,27,12,3,250,128,96, + 32,48,48,48,112,96,96,96,96,96,32,28,48,96,96,96, + 96,96,112,48,48,48,32,96,192,16,6,12,18,1,5,56, + 2,126,1,143,193,131,241,128,255,64,62,255}; +/* + Fontname: -FreeType-Old Standard TT-Medium-R-Normal--36-360-72-72-P-189-ISO10646-1 + Copyright: Copyright (C) 2006-2008 Alexey Kryukov + Capital A Height: 26, '1' Height: 25 + Calculated Max Values w=36 h=35 x= 7 y=21 dx=38 dy= 0 ascent=35 len=140 + Font Bounding box w=94 h=46 x=-29 y=-11 + Calculated Min Values x=-1 y=-10 dx= 0 dy= 0 + Pure Font ascent =26 descent=-8 + X Font ascent =27 descent=-8 + Max Font ascent =35 descent=-10 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_osr26[13186] U8G_FONT_SECTION("u8g_font_osr26") = { + 0,94,46,227,245,26,7,96,17,82,32,255,248,35,246,27, + 248,0,0,0,10,0,0,4,25,25,10,3,0,96,240,240, + 240,240,240,240,240,96,96,96,96,96,96,96,96,96,96,32, + 64,96,240,240,240,96,8,7,7,14,3,20,195,195,195,195, + 195,195,66,19,25,75,25,3,0,1,130,0,1,130,0,1, + 2,0,1,6,0,3,6,0,3,6,0,3,6,0,255,255, + 224,2,4,0,2,4,0,2,12,0,6,12,0,6,12,0, + 6,12,0,6,8,0,4,8,0,4,8,0,255,255,224,12, + 24,0,12,24,0,12,16,0,8,16,0,8,48,0,8,48, + 0,24,48,0,16,31,62,21,2,253,2,64,2,64,2,64, + 7,224,26,92,50,70,34,66,98,67,98,71,98,79,98,79, + 114,78,58,64,63,64,31,192,7,240,3,252,2,126,2,78, + 34,71,242,67,242,67,226,67,226,67,194,66,66,70,34,76, + 30,112,3,192,2,64,2,64,24,25,75,30,3,0,30,0, + 48,33,0,32,97,128,96,192,192,64,192,192,192,192,192,128, + 192,193,0,192,195,0,192,194,0,64,134,0,97,132,0,34, + 8,0,28,24,112,0,16,132,0,49,134,0,33,2,0,67, + 3,0,195,3,0,131,3,1,131,3,1,3,3,3,3,3, + 6,1,6,4,1,134,12,0,252,24,25,75,28,2,0,1, + 240,0,3,8,0,6,12,0,12,4,0,12,4,0,12,12, + 0,14,8,0,14,24,0,7,48,0,7,192,0,3,193,255, + 7,192,56,13,224,48,24,240,48,48,112,32,112,120,96,112, + 60,64,224,28,128,224,15,128,224,15,0,224,7,0,240,3, + 129,112,15,194,120,25,228,31,224,252,2,7,7,8,3,20, + 192,192,192,192,192,192,64,8,33,33,14,4,250,3,6,12, + 12,24,16,48,48,96,96,96,192,192,192,192,192,192,192,192, + 192,192,64,96,96,96,48,48,24,24,12,6,6,3,8,33, + 33,13,2,250,192,96,96,48,24,24,12,12,6,6,6,2, + 3,3,3,3,3,3,3,3,2,6,6,6,4,12,12,24, + 24,48,96,192,128,13,15,30,18,3,10,7,0,7,0,7, + 0,195,24,226,56,242,120,58,224,7,0,7,128,122,240,242, + 120,226,56,7,0,7,0,7,0,30,31,124,34,2,250,0, + 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, + 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, + 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, + 3,0,0,0,3,0,0,0,3,0,0,255,255,255,252,0, + 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, + 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, + 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, + 3,0,0,0,3,0,0,0,3,0,0,5,11,11,10,2, + 250,112,248,248,120,8,8,8,16,16,32,64,9,2,4,13, + 2,8,255,128,255,128,4,5,5,10,3,0,96,240,240,240, + 96,12,34,68,16,2,249,0,16,0,48,0,48,0,32,0, + 96,0,96,0,64,0,192,0,192,0,128,0,128,1,128,1, + 0,1,0,3,0,2,0,2,0,6,0,4,0,4,0,12, + 0,8,0,8,0,24,0,24,0,16,0,48,0,48,0,32, + 0,96,0,96,0,64,0,192,0,192,0,17,25,75,21,2, + 0,3,224,0,14,56,0,28,28,0,24,12,0,56,14,0, + 112,7,0,112,7,0,112,7,0,240,7,128,240,7,128,240, + 7,128,240,7,128,240,7,128,240,7,128,240,7,128,240,7, + 128,240,7,128,112,7,0,112,7,0,112,7,0,56,14,0, + 56,14,0,24,12,0,12,24,0,7,112,0,12,25,50,21, + 4,0,1,0,3,0,3,0,15,0,255,0,7,0,7,0, + 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, + 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, + 7,0,255,240,15,25,50,21,3,0,15,192,48,112,96,56, + 64,60,192,30,192,30,224,30,248,30,248,30,120,28,0,60, + 0,56,0,112,0,224,1,192,3,0,14,0,28,4,56,4, + 48,4,96,4,96,12,255,252,255,252,255,252,15,25,50,21, + 3,0,15,192,48,112,32,56,96,28,112,28,120,28,120,28, + 48,28,0,28,0,56,0,112,31,192,24,112,0,56,0,60, + 0,30,0,30,112,30,248,30,248,30,248,30,192,60,192,56, + 96,112,63,224,17,25,75,21,2,0,0,16,0,0,48,0, + 0,112,0,0,112,0,0,240,0,1,240,0,1,112,0,3, + 112,0,6,112,0,6,112,0,12,112,0,8,112,0,24,112, + 0,48,112,0,32,112,0,96,112,0,192,112,0,255,255,128, + 0,112,0,0,112,0,0,112,0,0,112,0,0,112,0,0, + 112,0,7,255,128,15,26,52,21,3,0,32,0,48,56,63, + 240,63,192,47,0,32,0,32,0,32,0,32,0,39,192,56, + 112,48,56,32,60,32,28,0,30,0,30,0,30,0,30,120, + 30,248,30,248,28,240,60,224,60,96,56,112,112,63,192,15, + 25,50,21,3,0,3,224,6,24,12,12,24,28,56,60,48, + 60,112,16,112,0,112,0,243,224,246,56,252,28,248,28,248, + 14,240,14,240,14,240,14,240,14,112,14,112,14,112,12,56, + 28,56,24,24,56,14,224,14,25,50,21,3,0,255,252,255, + 252,255,252,192,12,128,8,128,8,128,8,128,16,0,16,0, + 32,0,96,0,64,0,128,1,128,1,128,3,0,3,0,7, + 0,7,0,15,128,15,128,15,128,15,128,15,128,7,128,17, + 25,75,21,2,0,7,240,0,28,28,0,48,14,0,112,6, + 0,224,3,0,224,3,0,224,3,0,240,3,0,240,6,0, + 124,6,0,127,140,0,31,240,0,7,252,0,25,254,0,48, + 63,0,96,15,128,224,7,128,224,3,128,224,3,128,224,3, + 128,224,3,0,96,7,0,112,6,0,56,12,0,15,248,0, + 15,25,50,21,3,0,7,192,24,96,48,48,112,56,112,28, + 224,28,224,28,224,30,224,30,224,30,224,30,112,62,112,62, + 56,94,15,158,0,30,0,28,0,28,56,28,120,28,120,56, + 112,56,96,112,48,224,31,192,4,17,17,10,3,0,96,240, + 240,240,96,0,0,0,0,0,0,0,96,240,240,240,96,5, + 23,23,11,3,250,112,248,248,248,112,0,0,0,0,0,0, + 0,112,248,248,120,24,24,24,16,48,32,64,28,29,116,34, + 3,251,0,0,0,112,0,0,1,192,0,0,7,0,0,0, + 28,0,0,0,112,0,0,1,224,0,0,3,128,0,0,14, + 0,0,0,56,0,0,0,224,0,0,3,128,0,0,15,0, + 0,0,28,0,0,0,112,0,0,0,192,0,0,0,112,0, + 0,0,28,0,0,0,7,0,0,0,1,192,0,0,0,240, + 0,0,0,56,0,0,0,14,0,0,0,3,128,0,0,0, + 224,0,0,0,56,0,0,0,14,0,0,0,7,0,0,0, + 1,192,0,0,0,112,30,8,32,34,2,6,255,255,255,252, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,255,255,255,252,28,29,116,34, + 3,251,224,0,0,0,56,0,0,0,14,0,0,0,3,128, + 0,0,0,224,0,0,0,112,0,0,0,28,0,0,0,7, + 0,0,0,1,192,0,0,0,112,0,0,0,28,0,0,0, + 15,0,0,0,3,128,0,0,0,224,0,0,0,48,0,0, + 0,224,0,0,3,128,0,0,14,0,0,0,56,0,0,0, + 240,0,0,1,192,0,0,7,0,0,0,28,0,0,0,112, + 0,0,1,192,0,0,7,0,0,0,30,0,0,0,56,0, + 0,0,224,0,0,0,13,25,50,17,2,0,15,128,48,224, + 64,112,192,56,192,56,248,56,248,56,112,56,0,112,0,224, + 1,192,3,128,3,0,4,0,12,0,8,64,8,64,8,128, + 7,0,0,0,3,0,7,128,7,128,7,128,3,0,26,27, + 108,30,2,0,0,4,0,0,0,251,224,0,3,0,56,0, + 6,0,12,0,12,0,6,0,24,0,3,0,48,15,1,0, + 48,49,241,128,96,96,241,128,96,192,224,128,193,192,224,192, + 193,128,224,192,193,128,192,192,195,128,192,192,195,1,192,192, + 195,1,192,192,195,1,129,128,195,3,129,128,67,7,129,0, + 99,7,130,0,97,137,132,0,32,240,248,0,48,0,0,0, + 24,0,0,0,12,0,16,0,7,0,48,0,1,255,192,0, + 25,26,104,28,2,0,0,8,0,0,0,12,0,0,0,28, + 0,0,0,28,0,0,0,30,0,0,0,62,0,0,0,46, + 0,0,0,47,0,0,0,103,0,0,0,103,0,0,0,71, + 128,0,0,195,128,0,0,195,128,0,0,131,192,0,1,129, + 192,0,1,129,192,0,3,1,224,0,3,255,224,0,2,0, + 224,0,6,0,240,0,6,0,112,0,6,0,112,0,12,0, + 120,0,12,0,120,0,30,0,120,0,255,195,255,128,20,26, + 78,25,3,0,255,252,0,28,3,0,28,1,192,28,1,192, + 28,0,224,28,0,224,28,0,224,28,0,224,28,0,224,28, + 1,192,28,1,128,28,3,0,31,252,0,28,7,0,28,1, + 192,28,1,224,28,0,224,28,0,240,28,0,240,28,0,240, + 28,0,240,28,0,240,28,1,224,28,1,192,28,3,128,255, + 254,0,19,26,78,24,3,1,3,252,32,14,6,96,28,3, + 224,24,1,224,56,0,224,120,0,224,112,0,96,112,0,96, + 240,0,96,240,0,32,240,0,0,240,0,0,240,0,0,240, + 0,0,240,0,0,240,0,0,240,0,0,112,0,32,112,0, + 32,120,0,96,56,0,64,56,0,64,28,0,128,12,0,128, + 6,3,0,3,222,0,24,26,78,29,3,0,255,255,0,28, + 1,192,28,0,112,28,0,56,28,0,56,28,0,28,28,0, + 30,28,0,30,28,0,14,28,0,15,28,0,15,28,0,15, + 28,0,15,28,0,15,28,0,15,28,0,15,28,0,15,28, + 0,14,28,0,30,28,0,30,28,0,28,28,0,56,28,0, + 56,28,0,112,28,1,192,255,255,0,21,26,78,25,2,0, + 255,255,248,14,0,120,14,0,56,14,0,24,14,0,24,14, + 0,8,14,0,8,14,4,8,14,4,0,14,4,0,14,12, + 0,14,12,0,15,252,0,14,12,0,14,4,0,14,4,0, + 14,4,8,14,4,8,14,0,8,14,0,8,14,0,24,14, + 0,24,14,0,56,14,0,56,14,0,248,255,255,248,20,26, + 78,24,2,0,255,255,240,14,0,240,14,0,112,14,0,48, + 14,0,48,14,0,16,14,0,16,14,4,16,14,4,0,14, + 4,0,14,12,0,14,12,0,15,252,0,14,12,0,14,12, + 0,14,4,0,14,4,0,14,4,0,14,0,0,14,0,0, + 14,0,0,14,0,0,14,0,0,14,0,0,14,0,0,255, + 224,0,22,27,81,26,3,0,0,32,0,3,220,32,6,7, + 32,12,3,224,24,1,224,56,0,224,56,0,96,112,0,96, + 112,0,96,112,0,32,240,0,32,240,0,0,240,0,0,240, + 0,0,240,15,252,240,0,224,240,0,224,240,0,224,240,0, + 224,112,0,224,112,0,224,56,0,224,56,1,224,24,1,32, + 12,3,32,6,6,32,3,252,32,24,26,78,28,2,0,255, + 195,255,14,0,56,14,0,56,14,0,56,14,0,56,14,0, + 56,14,0,56,14,0,56,14,0,56,14,0,56,14,0,56, + 14,0,56,15,255,248,14,0,56,14,0,56,14,0,56,14, + 0,56,14,0,56,14,0,56,14,0,56,14,0,56,14,0, + 56,14,0,56,14,0,56,14,0,56,255,195,255,10,26,52, + 14,2,0,255,192,14,0,14,0,14,0,14,0,14,0,14, + 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, + 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, + 0,14,0,14,0,255,192,16,26,52,19,2,0,3,255,0, + 56,0,56,0,56,0,56,0,56,0,56,0,56,0,56,0, + 56,0,56,0,56,0,56,0,56,0,56,0,56,0,56,0, + 56,112,56,248,56,248,56,240,56,192,48,192,112,96,96,63, + 192,24,26,78,28,2,0,255,199,254,14,1,240,14,0,224, + 14,0,192,14,1,128,14,3,0,14,6,0,14,12,0,14, + 24,0,14,24,0,14,56,0,14,124,0,14,188,0,15,62, + 0,15,30,0,14,31,0,14,15,0,14,15,128,14,7,128, + 14,7,192,14,3,192,14,1,224,14,1,240,14,0,240,14, + 0,248,255,199,255,20,26,78,24,2,0,255,224,0,14,0, + 0,14,0,0,14,0,0,14,0,0,14,0,0,14,0,0, + 14,0,0,14,0,0,14,0,0,14,0,0,14,0,0,14, + 0,0,14,0,0,14,0,0,14,0,0,14,0,16,14,0, + 16,14,0,32,14,0,48,14,0,48,14,0,48,14,0,112, + 14,0,240,14,3,240,255,255,240,26,26,104,30,2,0,255, + 0,31,192,15,0,30,0,15,128,30,0,15,128,46,0,11, + 128,46,0,11,128,46,0,11,192,110,0,9,192,78,0,9, + 192,78,0,9,224,78,0,8,224,142,0,8,224,142,0,8, + 224,142,0,8,241,142,0,8,113,14,0,8,113,14,0,8, + 121,14,0,8,59,14,0,8,58,14,0,8,58,14,0,8, + 30,14,0,8,28,14,0,8,28,14,0,8,12,14,0,28, + 12,14,0,255,136,255,192,25,26,104,28,2,0,254,0,255, + 128,15,0,28,0,15,128,8,0,15,128,8,0,11,192,8, + 0,11,192,8,0,9,224,8,0,8,240,8,0,8,240,8, + 0,8,120,8,0,8,60,8,0,8,60,8,0,8,30,8, + 0,8,30,8,0,8,15,8,0,8,7,136,0,8,7,136, + 0,8,3,200,0,8,1,232,0,8,1,232,0,8,0,248, + 0,8,0,120,0,8,0,120,0,8,0,56,0,28,0,24, + 0,255,128,24,0,21,27,81,26,3,0,0,32,0,3,220, + 0,6,3,0,12,1,128,28,1,192,56,0,224,56,0,224, + 120,0,240,112,0,112,112,0,112,240,0,120,240,0,120,240, + 0,120,240,0,120,240,0,120,240,0,120,240,0,120,240,0, + 120,112,0,112,112,0,112,120,0,240,56,0,224,56,0,224, + 28,1,192,12,1,128,6,3,0,3,254,0,21,26,78,25, + 2,0,255,255,0,14,1,192,14,0,224,14,0,240,14,0, + 120,14,0,120,14,0,120,14,0,120,14,0,120,14,0,112, + 14,0,240,14,0,224,14,1,192,15,254,0,14,0,0,14, + 0,0,14,0,0,14,0,0,14,0,0,14,0,0,14,0, + 0,14,0,0,14,0,0,14,0,0,14,0,0,255,224,0, + 21,33,99,26,3,250,0,32,0,3,220,0,6,3,0,12, + 1,128,28,1,192,56,0,224,56,0,224,120,0,240,112,0, + 112,112,0,112,240,0,120,240,0,120,240,0,120,240,0,120, + 240,0,120,240,0,120,240,0,120,240,0,120,112,0,112,112, + 0,112,120,0,240,56,112,224,57,152,224,29,13,192,13,13, + 128,7,15,8,3,158,8,0,110,8,0,14,8,0,14,24, + 0,7,176,0,7,240,0,3,192,22,26,78,25,2,0,255, + 255,0,14,3,192,14,1,224,14,0,240,14,0,240,14,0, + 240,14,0,240,14,0,240,14,1,224,14,1,192,14,7,128, + 15,252,0,14,6,0,14,7,0,14,3,128,14,3,128,14, + 3,128,14,3,192,14,3,192,14,3,192,14,3,196,14,1, + 196,14,1,196,14,1,236,14,1,248,255,224,240,17,26,78, + 22,3,1,31,227,0,48,51,0,96,31,0,192,15,0,192, + 7,0,192,3,0,192,3,0,224,3,0,240,1,0,120,0, + 0,127,0,0,63,192,0,31,248,0,7,252,0,1,254,0, + 128,63,0,128,15,128,128,3,128,192,3,128,192,1,128,192, + 1,128,224,1,128,240,1,0,248,3,0,140,6,0,135,252, + 0,21,26,78,26,3,0,255,255,248,240,112,120,224,112,56, + 192,112,24,192,112,24,192,112,24,128,112,8,128,112,8,128, + 112,8,128,112,8,0,112,0,0,112,0,0,112,0,0,112, + 0,0,112,0,0,112,0,0,112,0,0,112,0,0,112,0, + 0,112,0,0,112,0,0,112,0,0,112,0,0,112,0,0, + 112,0,7,255,128,25,26,104,29,2,0,255,192,255,128,14, + 0,14,0,14,0,4,0,14,0,4,0,14,0,4,0,14, + 0,4,0,14,0,4,0,14,0,4,0,14,0,4,0,14, + 0,4,0,14,0,4,0,14,0,4,0,14,0,4,0,14, + 0,4,0,14,0,4,0,14,0,4,0,14,0,4,0,14, + 0,4,0,14,0,4,0,14,0,4,0,14,0,4,0,6, + 0,8,0,7,0,8,0,3,0,16,0,1,192,32,0,0, + 127,192,0,25,26,104,28,2,0,255,241,255,128,15,0,60, + 0,15,0,24,0,7,128,24,0,7,128,16,0,3,128,48, + 0,3,192,48,0,3,192,48,0,1,192,32,0,1,224,96, + 0,1,224,96,0,0,224,64,0,0,240,192,0,0,240,192, + 0,0,112,128,0,0,113,128,0,0,121,128,0,0,57,0, + 0,0,59,0,0,0,63,0,0,0,30,0,0,0,30,0, + 0,0,14,0,0,0,14,0,0,0,12,0,0,0,4,0, + 0,36,26,130,38,1,0,255,231,255,63,240,15,0,248,7, + 128,15,0,120,3,0,7,0,120,3,0,7,128,120,6,0, + 7,128,248,6,0,3,128,252,6,0,3,128,252,4,0,3, + 192,156,12,0,1,193,156,12,0,1,193,158,12,0,1,225, + 14,24,0,1,227,14,24,0,0,227,14,24,0,0,227,15, + 16,0,0,242,7,48,0,0,118,7,48,0,0,118,7,32, + 0,0,116,3,224,0,0,124,3,224,0,0,60,3,192,0, + 0,60,1,192,0,0,56,1,192,0,0,24,1,192,0,0, + 24,1,128,0,0,16,0,128,0,24,26,78,27,2,0,255, + 227,255,15,128,112,7,128,96,7,192,96,3,192,192,1,224, + 128,1,225,128,0,227,0,0,242,0,0,118,0,0,124,0, + 0,56,0,0,60,0,0,60,0,0,62,0,0,79,0,0, + 207,0,0,135,128,1,135,128,1,3,192,3,3,192,6,1, + 224,6,0,224,14,0,240,30,0,240,255,199,255,24,26,78, + 27,2,0,255,225,255,31,0,56,15,0,48,7,128,48,7, + 128,32,3,192,96,3,192,64,1,224,128,0,224,128,0,241, + 0,0,113,0,0,122,0,0,58,0,0,60,0,0,28,0, + 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,0, + 28,0,0,28,0,0,28,0,0,28,0,0,28,0,1,255, + 224,19,26,78,23,2,0,63,255,224,60,3,192,56,3,192, + 112,7,128,96,15,0,96,15,0,64,30,0,64,30,0,64, + 60,0,0,120,0,0,120,0,0,240,0,0,224,0,1,224, + 0,3,192,0,3,192,0,7,128,32,7,0,32,15,0,32, + 30,0,96,30,0,96,60,0,224,56,0,224,120,1,224,240, + 3,192,255,255,192,7,33,33,14,4,249,254,240,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,240,254,12,34,68,16, + 2,249,128,0,192,0,64,0,64,0,96,0,32,0,32,0, + 48,0,16,0,16,0,24,0,8,0,8,0,12,0,4,0, + 4,0,6,0,6,0,2,0,3,0,3,0,1,0,1,128, + 1,128,0,128,0,128,0,192,0,64,0,64,0,96,0,32, + 0,32,0,48,0,16,7,33,33,15,3,249,254,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,254,15,13,26, + 21,3,12,1,0,3,128,3,128,6,192,4,64,12,96,24, + 48,16,16,48,24,96,8,96,12,192,6,128,2,19,1,3, + 19,0,250,255,255,224,6,6,6,16,3,19,192,224,112,48, + 24,12,16,17,34,19,2,0,15,128,48,224,96,112,96,112, + 120,112,120,112,0,112,1,240,30,112,112,112,96,112,224,112, + 224,113,224,241,225,113,113,126,62,60,16,26,52,18,0,0, + 252,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,28,112,29,140,29,14,30,6,30,7,28,7,28,7, + 28,7,28,7,28,7,28,7,28,7,28,7,30,6,26,14, + 17,12,16,240,12,17,34,16,2,0,15,128,24,96,48,48, + 112,48,96,112,224,112,224,112,224,0,224,0,224,0,224,0, + 224,0,96,16,112,16,48,32,24,64,15,128,16,26,52,19, + 2,0,1,248,0,56,0,56,0,56,0,56,0,56,0,56, + 0,56,0,56,14,56,57,184,48,184,112,120,96,120,224,56, + 224,56,224,56,224,56,224,56,224,56,224,56,96,56,112,120, + 48,120,48,248,15,63,13,17,34,17,2,0,15,128,24,224, + 48,96,112,112,96,48,224,56,224,56,255,248,224,0,224,0, + 224,0,224,8,112,16,112,16,48,32,24,96,7,128,12,26, + 52,12,1,0,7,192,12,32,28,48,56,112,56,112,56,0, + 56,0,56,0,56,0,255,128,56,0,56,0,56,0,56,0, + 56,0,56,0,56,0,56,0,56,0,56,0,56,0,56,0, + 56,0,56,0,56,0,255,128,17,25,75,20,2,248,7,199, + 0,28,117,128,56,59,128,112,31,128,112,28,0,112,28,0, + 112,28,0,112,28,0,56,56,0,28,112,0,7,192,0,56, + 0,0,64,0,0,64,0,0,64,0,0,127,224,0,63,248, + 0,14,28,0,112,2,0,192,2,0,192,2,0,192,2,0, + 224,4,0,112,8,0,15,240,0,18,26,78,21,1,0,252, + 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, + 0,28,0,0,28,0,0,28,0,0,28,124,0,28,142,0, + 29,7,0,30,7,0,30,7,0,28,7,0,28,7,0,28, + 7,0,28,7,0,28,7,0,28,7,0,28,7,0,28,7, + 0,28,7,0,28,7,0,28,7,0,255,31,192,7,25,25, + 10,2,0,48,120,120,48,0,0,0,0,248,56,56,56,56, + 56,56,56,56,56,56,56,56,56,56,56,254,9,34,68,11, + 255,248,1,128,3,128,3,128,1,128,0,0,0,0,0,0, + 0,0,0,0,31,128,3,128,3,128,3,128,3,128,3,128, + 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, + 3,128,3,128,3,128,3,128,3,128,67,128,227,128,227,0, + 195,0,70,0,60,0,17,26,78,19,1,0,252,0,0,28, + 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, + 0,28,0,0,28,0,0,28,127,0,28,24,0,28,16,0, + 28,48,0,28,32,0,28,64,0,28,128,0,29,192,0,29, + 192,0,30,224,0,28,112,0,28,112,0,28,56,0,28,60, + 0,28,28,0,28,30,0,255,127,128,9,26,52,11,1,0, + 252,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,255,128,25,17,68,29,2,0,248,240,120,0,57,56, + 156,0,58,29,14,0,60,30,14,0,60,30,14,0,56,28, + 14,0,56,28,14,0,56,28,14,0,56,28,14,0,56,28, + 14,0,56,28,14,0,56,28,14,0,56,28,14,0,56,28, + 14,0,56,28,14,0,56,28,14,0,254,127,63,128,17,17, + 51,21,2,0,248,248,0,57,28,0,58,14,0,60,14,0, + 60,14,0,56,14,0,56,14,0,56,14,0,56,14,0,56, + 14,0,56,14,0,56,14,0,56,14,0,56,14,0,56,14, + 0,56,14,0,254,63,128,14,17,34,18,2,0,7,128,24, + 96,48,48,112,56,112,24,224,28,224,28,224,28,224,28,224, + 28,224,28,224,28,112,24,112,56,48,48,24,96,7,128,16, + 25,50,19,1,248,252,240,29,140,31,14,30,6,30,7,28, + 7,28,7,28,7,28,7,28,7,28,7,28,7,28,7,30, + 6,30,14,29,12,28,240,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,255,128,16,25,50,18,2,248,15,8,56, + 136,48,216,112,88,96,120,224,56,224,56,224,56,224,56,224, + 56,224,56,224,56,96,56,112,120,48,120,48,184,15,56,0, + 56,0,56,0,56,0,56,0,56,0,56,0,56,1,255,12, + 17,34,15,2,0,248,224,57,16,58,48,58,112,60,112,60, + 0,60,0,56,0,56,0,56,0,56,0,56,0,56,0,56, + 0,56,0,56,0,254,0,12,17,34,16,2,0,62,64,97, + 64,192,192,192,64,192,64,224,64,120,0,127,0,31,192,7, + 224,128,240,192,112,192,48,224,48,224,48,152,96,135,192,11, + 24,48,13,1,0,8,0,8,0,8,0,8,0,24,0,24, + 0,56,0,255,192,56,0,56,0,56,0,56,0,56,0,56, + 0,56,0,56,0,56,0,56,0,56,32,56,32,56,32,56, + 96,31,192,15,128,17,17,51,20,1,0,248,62,0,56,14, + 0,56,14,0,56,14,0,56,14,0,56,14,0,56,14,0, + 56,14,0,56,14,0,56,14,0,56,14,0,56,14,0,56, + 30,0,56,30,0,56,46,0,28,78,0,15,143,128,18,17, + 51,19,0,0,255,31,192,28,7,0,28,6,0,12,4,0, + 14,4,0,14,4,0,7,8,0,7,8,0,3,8,0,3, + 144,0,1,144,0,1,208,0,1,224,0,0,224,0,0,224, + 0,0,64,0,0,64,0,27,17,68,28,0,0,255,63,207, + 224,28,15,3,0,28,7,3,0,12,7,2,0,14,7,2, + 0,14,15,130,0,7,11,132,0,7,9,132,0,3,137,196, + 0,3,145,200,0,1,144,200,0,1,208,232,0,1,224,240, + 0,0,224,112,0,0,224,112,0,0,64,96,0,0,64,32, + 0,16,17,34,19,2,0,254,126,60,56,28,48,28,32,14, + 64,14,64,7,128,3,128,3,128,3,192,3,192,4,224,8, + 96,8,112,16,56,48,56,252,255,18,25,75,20,1,248,255, + 31,192,28,6,0,28,6,0,12,4,0,14,4,0,14,4, + 0,6,8,0,7,8,0,7,8,0,3,16,0,3,144,0, + 3,144,0,1,240,0,1,224,0,1,224,0,0,224,0,0, + 192,0,0,64,0,0,192,0,0,128,0,112,128,0,113,128, + 0,113,0,0,115,0,0,60,0,0,12,17,34,15,1,0, + 255,240,224,112,192,224,128,224,129,192,131,128,131,128,7,0, + 7,0,14,0,28,16,28,16,56,16,56,16,112,48,224,112, + 255,240,8,33,33,15,3,249,3,4,8,24,24,24,24,28, + 28,28,12,12,12,12,8,24,224,24,8,12,12,12,12,28, + 28,28,24,24,24,24,8,4,3,2,34,34,10,4,249,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,8,33,33,14,3,249,192,32,16,24,24,24,24,24,56, + 56,48,48,48,48,16,24,7,24,16,48,48,48,48,56,56, + 24,24,24,24,24,16,32,192,20,6,18,24,2,6,62,0, + 32,127,192,16,135,248,16,128,255,48,128,63,224,96,7,192, + 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,255,255,255,255,255,255, + 255,0,0,0,10,0,0,4,25,25,10,3,248,96,240,240, + 240,96,64,64,96,96,96,96,96,96,96,96,96,96,240,240, + 240,240,240,240,240,96,12,25,50,21,4,252,1,0,1,0, + 1,0,1,0,7,192,25,32,57,48,113,48,113,112,225,112, + 225,32,225,0,225,0,225,0,225,0,225,0,113,16,113,16, + 57,16,29,32,7,192,1,0,1,0,1,0,1,0,20,25, + 75,25,2,0,0,15,128,0,24,96,0,48,32,0,96,112, + 0,192,240,0,192,240,1,192,224,1,192,0,1,192,0,1, + 192,0,1,192,0,63,192,0,1,254,0,1,192,0,1,192, + 0,1,192,0,1,192,0,1,192,0,1,192,0,57,128,16, + 199,128,16,131,128,48,131,224,96,134,255,192,120,63,128,18, + 16,48,22,2,5,195,241,192,124,15,128,48,7,0,32,3, + 0,96,1,0,64,1,128,64,0,128,64,0,128,64,0,128, + 64,0,128,64,1,128,96,1,0,32,3,0,48,7,0,124, + 15,128,227,241,192,20,25,75,22,1,0,255,7,240,60,1, + 192,28,1,128,30,1,0,14,3,0,15,2,0,7,6,0, + 7,132,0,3,140,0,3,136,0,1,216,0,1,208,0,1, + 224,0,31,255,0,0,224,0,0,224,0,31,255,0,0,224, + 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, + 0,224,0,15,254,0,2,33,33,10,4,250,192,192,192,192, + 192,192,192,192,192,192,192,192,192,0,0,0,0,0,0,0, + 192,192,192,192,192,192,192,192,192,192,192,192,192,13,32,64, + 23,4,249,7,128,24,64,16,96,48,224,48,224,48,64,56, + 0,28,0,30,0,15,0,23,128,99,192,129,224,128,240,128, + 120,128,24,192,24,224,8,120,8,60,16,30,32,15,64,7, + 128,3,192,1,192,0,224,16,96,56,96,56,96,48,64,16, + 192,15,0,10,4,8,16,3,20,96,192,225,192,225,192,96, + 192,26,26,104,30,2,1,0,255,192,0,3,0,48,0,4, + 0,8,0,8,0,4,0,16,30,2,0,32,113,225,0,32, + 224,225,0,65,192,96,128,65,192,96,128,129,128,32,64,131, + 128,32,64,131,128,0,64,131,128,0,64,131,128,0,64,131, + 128,0,64,131,128,0,64,131,128,32,64,65,192,64,128,65, + 192,64,128,32,224,65,0,32,112,129,0,16,31,2,0,8, + 0,4,0,4,0,8,0,3,0,48,0,0,255,192,0,9, + 13,26,13,2,12,120,0,132,0,198,0,198,0,14,0,54, + 0,70,0,198,0,198,128,206,128,115,0,0,0,255,0,10, + 14,28,18,4,2,16,64,48,128,97,128,97,0,195,0,195, + 0,195,0,195,0,195,0,67,0,97,0,32,128,16,192,8, + 0,18,7,21,22,2,6,255,255,192,0,0,192,0,0,192, + 0,0,192,0,0,192,0,0,192,0,0,192,9,2,4,13, + 2,8,255,128,255,128,26,26,104,30,2,1,0,255,192,0, + 3,0,48,0,4,0,8,0,8,0,4,0,19,255,2,0, + 32,225,193,0,32,224,225,0,64,224,224,128,64,224,224,128, + 128,224,224,64,128,224,224,64,128,225,192,64,128,254,0,64, + 128,225,128,64,128,224,192,64,128,224,224,64,128,224,224,64, + 64,224,228,128,64,224,228,128,32,224,233,0,35,248,121,0, + 16,0,2,0,8,0,4,0,4,0,8,0,3,0,48,0, + 0,255,192,0,9,1,2,15,3,21,255,128,10,9,18,22, + 6,16,30,0,97,128,192,128,128,64,128,64,128,64,64,128, + 97,128,30,0,30,25,100,34,2,255,0,3,0,0,0,3, + 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3, + 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3, + 0,0,255,255,255,252,0,3,0,0,0,3,0,0,0,3, + 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3, + 0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,255,255,255,252,10,15, + 30,16,3,10,63,0,67,128,129,192,129,192,225,192,225,192, + 1,128,3,0,6,0,8,0,48,0,64,64,64,64,255,192, + 255,192,10,16,32,16,4,9,62,0,67,0,193,128,225,128, + 225,128,1,128,3,0,124,0,3,128,1,192,1,192,225,192, + 225,192,129,192,131,128,126,0,6,6,6,16,7,19,12,28, + 56,48,96,192,19,27,81,22,2,246,96,24,0,224,60,0, + 224,60,0,224,60,0,224,60,0,224,60,0,224,60,0,224, + 60,0,224,60,0,192,24,0,64,24,0,64,24,0,64,56, + 0,96,48,32,112,124,96,95,231,224,71,195,192,128,0,0, + 192,0,0,192,0,0,192,0,0,192,0,0,224,0,0,224, + 0,0,224,0,0,240,0,0,96,0,0,15,31,62,19,2, + 251,31,254,62,16,126,16,254,16,254,16,254,16,254,16,254, + 16,254,16,126,16,62,16,2,16,2,16,2,16,2,16,2, + 16,2,16,2,16,2,16,2,16,2,16,2,16,2,16,2, + 16,2,16,2,16,2,16,2,16,2,16,2,16,2,16,4, + 5,5,10,3,9,96,240,240,240,96,7,7,7,16,4,248, + 16,32,28,6,6,134,124,8,15,15,16,4,10,8,24,248, + 24,24,24,24,24,24,24,24,24,24,24,255,9,13,26,15, + 3,12,28,0,99,0,67,0,193,128,193,128,193,128,193,128, + 193,128,67,0,99,0,28,0,0,0,255,128,9,14,28,17, + 4,2,132,0,66,0,99,0,33,0,49,128,49,128,49,128, + 49,128,49,128,33,128,99,0,67,0,134,0,4,0,24,25, + 75,31,4,0,8,0,16,24,0,48,248,0,32,24,0,64, + 24,0,64,24,0,128,24,1,128,24,1,0,24,2,0,24, + 6,0,24,4,12,24,8,28,24,8,28,24,16,44,255,48, + 76,0,32,76,0,64,140,0,192,140,0,129,12,1,2,12, + 1,3,255,2,0,12,6,0,12,4,0,12,8,0,127,24, + 25,75,31,4,0,8,0,32,24,0,96,248,0,64,24,0, + 192,24,0,128,24,1,0,24,1,0,24,2,0,24,6,0, + 24,4,0,24,12,248,24,9,14,24,18,15,24,18,7,255, + 35,135,0,97,135,0,64,14,0,128,12,0,128,24,1,0, + 32,3,0,193,2,1,1,6,1,1,4,3,255,8,3,254, + 24,25,75,31,4,0,62,0,32,67,0,32,193,128,64,225, + 128,192,1,128,128,3,1,128,124,1,0,3,130,0,1,194, + 0,1,196,0,225,204,24,225,200,24,129,208,56,131,144,88, + 126,32,88,0,96,152,0,64,152,0,193,24,0,129,24,1, + 2,24,3,3,255,2,0,24,6,0,24,4,0,24,8,0, + 127,13,25,50,17,1,248,6,0,15,0,15,0,15,0,6, + 0,7,0,8,192,16,64,16,64,16,192,0,128,1,0,7, + 0,14,0,28,0,56,0,112,0,240,112,224,120,224,120,224, + 24,224,24,112,16,56,96,15,192,25,34,136,28,2,0,0, + 192,0,0,0,224,0,0,0,224,0,0,0,48,0,0,0, + 24,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0, + 8,0,0,0,12,0,0,0,28,0,0,0,28,0,0,0, + 30,0,0,0,62,0,0,0,46,0,0,0,47,0,0,0, + 103,0,0,0,103,0,0,0,71,128,0,0,195,128,0,0, + 195,128,0,0,131,192,0,1,129,192,0,1,129,192,0,3, + 1,224,0,3,255,224,0,2,0,224,0,6,0,240,0,6, + 0,112,0,6,0,112,0,12,0,120,0,12,0,120,0,30, + 0,120,0,255,195,255,128,25,34,136,28,2,0,0,0,192, + 0,0,1,192,0,0,3,128,0,0,7,0,0,0,6,0, + 0,0,8,0,0,0,0,0,0,0,0,0,0,0,8,0, + 0,0,12,0,0,0,28,0,0,0,28,0,0,0,30,0, + 0,0,62,0,0,0,46,0,0,0,47,0,0,0,103,0, + 0,0,103,0,0,0,71,128,0,0,195,128,0,0,195,128, + 0,1,131,192,0,1,129,192,0,1,129,192,0,3,1,224, + 0,3,255,224,0,2,0,224,0,6,0,240,0,6,0,112, + 0,4,0,112,0,12,0,120,0,12,0,56,0,30,0,124, + 0,255,195,255,128,25,34,136,28,2,0,0,8,0,0,0, + 28,0,0,0,30,0,0,0,51,0,0,0,65,128,0,1, + 128,64,0,0,0,0,0,0,0,0,0,0,8,0,0,0, + 12,0,0,0,28,0,0,0,28,0,0,0,30,0,0,0, + 62,0,0,0,46,0,0,0,47,0,0,0,103,0,0,0, + 103,0,0,0,71,128,0,0,195,128,0,0,195,128,0,0, + 131,192,0,1,129,192,0,1,129,192,0,3,1,224,0,3, + 255,224,0,2,0,224,0,6,0,240,0,6,0,112,0,6, + 0,112,0,12,0,120,0,12,0,120,0,30,0,120,0,255, + 195,255,128,25,33,132,28,2,0,0,112,64,0,0,252,64, + 0,0,159,192,0,1,7,128,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,8,0,0,0,12,0,0,0,28,0, + 0,0,28,0,0,0,30,0,0,0,62,0,0,0,46,0, + 0,0,47,0,0,0,103,0,0,0,103,0,0,0,71,128, + 0,0,195,128,0,0,195,128,0,1,131,192,0,1,129,192, + 0,1,129,192,0,3,1,224,0,3,255,224,0,2,0,224, + 0,6,0,240,0,6,0,112,0,4,0,112,0,12,0,120, + 0,12,0,56,0,30,0,124,0,255,195,255,128,25,33,132, + 28,2,0,0,193,128,0,1,193,192,0,1,193,192,0,0, + 193,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 8,0,0,0,24,0,0,0,28,0,0,0,28,0,0,0, + 60,0,0,0,62,0,0,0,62,0,0,0,110,0,0,0, + 79,0,0,0,71,0,0,0,199,0,0,0,199,128,0,0, + 131,128,0,1,131,128,0,1,129,192,0,1,1,192,0,3, + 1,192,0,3,255,224,0,2,0,224,0,6,0,224,0,6, + 0,112,0,4,0,112,0,12,0,112,0,12,0,120,0,30, + 0,120,0,255,195,255,128,25,35,140,28,2,0,0,28,0, + 0,0,34,0,0,0,65,0,0,0,65,0,0,0,65,0, + 0,0,65,0,0,0,34,0,0,0,28,0,0,0,0,0, + 0,0,8,0,0,0,12,0,0,0,28,0,0,0,28,0, + 0,0,30,0,0,0,62,0,0,0,46,0,0,0,47,0, + 0,0,111,0,0,0,71,0,0,0,71,128,0,0,199,128, + 0,0,131,128,0,1,131,192,0,1,131,192,0,1,1,192, + 0,3,1,224,0,3,255,224,0,2,0,224,0,6,0,240, + 0,6,0,240,0,4,0,112,0,12,0,120,0,12,0,120, + 0,28,0,120,0,255,195,255,128,33,26,130,36,1,0,0, + 7,255,255,128,0,1,224,7,128,0,1,224,3,128,0,3, + 224,1,128,0,2,224,1,128,0,6,224,0,128,0,4,224, + 0,128,0,12,224,32,128,0,8,224,32,0,0,24,224,32, + 0,0,16,224,96,0,0,48,224,96,0,0,48,255,224,0, + 0,96,224,96,0,0,96,224,96,0,0,192,224,32,0,0, + 192,224,32,128,1,255,224,32,128,1,0,224,0,128,3,0, + 224,0,128,2,0,224,1,128,6,0,224,1,128,6,0,224, + 1,128,14,0,224,3,128,30,0,224,15,128,255,199,255,255, + 128,19,34,102,24,3,249,3,252,64,14,6,96,28,3,224, + 24,1,224,56,0,224,120,0,224,112,0,96,112,0,96,240, + 0,96,240,0,32,240,0,0,240,0,0,240,0,0,240,0, + 0,240,0,0,240,0,0,240,0,0,112,0,32,112,0,32, + 120,0,96,56,0,64,56,0,64,24,0,128,12,0,128,6, + 3,0,3,204,0,0,112,0,0,64,0,0,240,0,0,28, + 0,0,28,0,0,28,0,2,28,0,1,240,0,21,34,102, + 25,2,0,3,0,0,3,128,0,1,192,0,0,192,0,0, + 96,0,0,16,0,0,0,0,0,0,0,255,255,248,14,0, + 120,14,0,56,14,0,24,14,0,24,14,0,8,14,0,8, + 14,4,8,14,4,0,14,4,0,14,12,0,14,12,0,15, + 252,0,14,12,0,14,4,0,14,4,0,14,4,8,14,4, + 8,14,0,8,14,0,8,14,0,24,14,0,24,14,0,56, + 14,0,56,14,0,248,255,255,248,21,34,102,25,2,0,0, + 3,0,0,7,128,0,7,0,0,12,0,0,24,0,0,48, + 0,0,0,0,0,0,0,255,255,248,14,0,120,14,0,56, + 14,0,24,14,0,24,14,0,8,14,0,8,14,4,8,14, + 4,0,14,4,0,14,12,0,14,12,0,15,252,0,14,12, + 0,14,4,0,14,4,0,14,4,8,14,4,8,14,0,8, + 14,0,8,14,0,24,14,0,24,14,0,56,14,0,56,14, + 0,248,255,255,248,21,34,102,25,2,0,0,48,0,0,48, + 0,0,120,0,0,204,0,1,134,0,2,1,128,0,0,0, + 0,0,0,255,255,248,14,0,120,14,0,56,14,0,24,14, + 0,24,14,0,8,14,0,8,14,4,8,14,4,0,14,4, + 0,14,12,0,14,12,0,15,252,0,14,12,0,14,4,0, + 14,4,0,14,4,8,14,4,8,14,0,8,14,0,8,14, + 0,24,14,0,24,14,0,56,14,0,56,14,0,248,255,255, + 248,21,33,99,25,2,0,1,131,0,3,135,0,3,135,0, + 1,131,0,0,0,0,0,0,0,0,0,0,255,255,248,14, + 0,120,14,0,56,14,0,24,14,0,24,14,0,8,14,0, + 8,14,4,8,14,4,0,14,4,0,14,12,0,14,12,0, + 15,252,0,14,12,0,14,4,0,14,4,0,14,4,8,14, + 4,8,14,0,8,14,0,8,14,0,24,14,0,24,14,0, + 56,14,0,56,14,0,248,255,255,248,10,34,68,14,2,0, + 192,0,224,0,112,0,56,0,8,0,4,0,0,0,0,0, + 255,192,14,0,14,0,14,0,14,0,14,0,14,0,14,0, + 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, + 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, + 14,0,255,192,10,34,68,14,2,0,0,192,1,192,1,128, + 3,0,6,0,4,0,0,0,0,0,255,192,14,0,14,0, + 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, + 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, + 14,0,14,0,14,0,14,0,14,0,14,0,255,192,10,34, + 68,14,2,0,4,0,14,0,30,0,59,0,97,128,128,64, + 0,0,0,0,255,192,14,0,14,0,14,0,14,0,14,0, + 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, + 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, + 14,0,14,0,14,0,255,192,11,33,66,14,2,0,96,192, + 224,224,224,224,96,192,0,0,0,0,0,0,127,224,14,0, + 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, + 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, + 14,0,14,0,14,0,14,0,14,0,14,0,14,0,127,224, + 24,26,78,27,2,0,255,255,0,14,0,192,14,0,112,14, + 0,56,14,0,60,14,0,28,14,0,30,14,0,30,14,0, + 14,14,0,15,14,0,15,14,0,15,255,224,15,14,0,15, + 14,0,15,14,0,15,14,0,15,14,0,14,14,0,30,14, + 0,30,14,0,28,14,0,56,14,0,56,14,0,112,14,0, + 192,255,255,0,25,33,132,28,2,0,0,120,32,0,0,254, + 96,0,0,143,192,0,0,131,128,0,0,0,0,0,0,0, + 0,0,0,0,0,0,254,0,255,128,15,0,28,0,15,128, + 8,0,15,128,8,0,11,192,8,0,11,192,8,0,9,224, + 8,0,8,240,8,0,8,240,8,0,8,120,8,0,8,60, + 8,0,8,60,8,0,8,30,8,0,8,30,8,0,8,15, + 8,0,8,7,136,0,8,7,136,0,8,3,200,0,8,1, + 232,0,8,1,232,0,8,0,248,0,8,0,120,0,8,0, + 120,0,8,0,56,0,28,0,24,0,255,128,24,0,21,34, + 102,26,3,0,3,0,0,7,0,0,3,128,0,1,192,0, + 0,64,0,0,32,0,0,0,0,0,32,0,3,220,0,6, + 3,0,12,1,128,28,1,192,56,0,224,56,0,224,120,0, + 240,112,0,112,112,0,112,240,0,120,240,0,120,240,0,120, + 240,0,120,240,0,120,240,0,120,240,0,120,240,0,120,112, + 0,112,112,0,112,120,0,240,56,0,224,56,0,224,28,1, + 192,12,1,128,6,3,0,3,254,0,21,34,102,26,3,0, + 0,6,0,0,7,0,0,14,0,0,28,0,0,16,0,0, + 32,0,0,0,0,0,32,0,3,220,0,6,3,0,12,1, + 128,28,1,192,56,0,224,56,0,224,120,0,240,112,0,112, + 112,0,112,240,0,120,240,0,120,240,0,120,240,0,120,240, + 0,120,240,0,120,240,0,120,240,0,120,112,0,112,112,0, + 112,120,0,240,56,0,224,56,0,224,28,1,192,12,1,128, + 6,3,0,3,254,0,21,34,102,26,3,0,0,32,0,0, + 112,0,0,112,0,0,216,0,1,4,0,6,3,0,0,0, + 0,0,32,0,3,220,0,6,3,0,12,1,128,28,1,192, + 56,0,224,56,0,224,120,0,240,112,0,112,112,0,112,240, + 0,120,240,0,120,240,0,120,240,0,120,240,0,120,240,0, + 120,240,0,120,240,0,120,112,0,112,112,0,112,120,0,240, + 56,0,224,56,0,224,28,1,192,12,1,128,6,3,0,3, + 254,0,21,33,99,26,3,0,3,225,0,3,255,0,4,62, + 0,0,0,0,0,0,0,0,0,0,0,32,0,3,220,0, + 6,3,0,12,1,128,28,1,192,56,0,224,56,0,224,120, + 0,240,112,0,112,112,0,112,240,0,120,240,0,120,240,0, + 120,240,0,120,240,0,120,240,0,120,240,0,120,240,0,120, + 112,0,112,112,0,112,120,0,240,56,0,224,56,0,224,28, + 1,192,12,1,128,6,3,0,3,254,0,21,33,99,26,3, + 0,3,6,0,7,7,0,7,7,0,3,6,0,0,0,0, + 0,0,0,0,32,0,3,220,0,6,3,0,12,1,128,28, + 1,192,56,0,224,56,0,224,120,0,240,112,0,112,112,0, + 112,240,0,120,240,0,120,240,0,120,240,0,120,240,0,120, + 240,0,120,240,0,120,240,0,120,112,0,112,112,0,112,120, + 0,240,56,0,224,56,0,224,28,1,192,12,1,128,6,3, + 0,3,254,0,22,23,69,34,6,254,128,0,4,192,0,12, + 96,0,24,48,0,48,24,0,96,12,0,192,6,1,128,3, + 3,0,1,134,0,0,204,0,0,120,0,0,48,0,0,120, + 0,0,204,0,1,134,0,3,3,0,6,1,128,12,0,192, + 24,0,96,48,0,48,96,0,24,192,0,12,128,0,0,21, + 27,81,26,3,0,0,32,0,3,222,24,6,3,48,12,1, + 224,28,1,192,56,0,224,56,1,224,120,3,240,112,2,112, + 112,6,112,240,12,120,240,24,120,240,16,120,240,48,120,240, + 96,120,240,192,120,240,192,120,241,128,120,115,0,112,114,0, + 112,126,0,240,60,0,224,56,0,224,28,1,192,60,1,128, + 102,3,0,195,222,0,25,34,136,29,2,0,0,192,0,0, + 0,224,0,0,0,224,0,0,0,48,0,0,0,16,0,0, + 0,8,0,0,0,0,0,0,0,0,0,0,255,192,255,128, + 14,0,14,0,14,0,4,0,14,0,4,0,14,0,4,0, + 14,0,4,0,14,0,4,0,14,0,4,0,14,0,4,0, + 14,0,4,0,14,0,4,0,14,0,4,0,14,0,4,0, + 14,0,4,0,14,0,4,0,14,0,4,0,14,0,4,0, + 14,0,4,0,14,0,4,0,14,0,4,0,14,0,4,0, + 6,0,8,0,7,0,8,0,3,0,16,0,1,192,32,0, + 0,127,192,0,25,34,136,29,2,0,0,0,192,0,0,1, + 192,0,0,3,128,0,0,7,0,0,0,4,0,0,0,8, + 0,0,0,0,0,0,0,0,0,0,255,192,255,128,14,0, + 14,0,14,0,4,0,14,0,4,0,14,0,4,0,14,0, + 4,0,14,0,4,0,14,0,4,0,14,0,4,0,14,0, + 4,0,14,0,4,0,14,0,4,0,14,0,4,0,14,0, + 4,0,14,0,4,0,14,0,4,0,14,0,4,0,14,0, + 4,0,14,0,4,0,14,0,4,0,14,0,4,0,6,0, + 8,0,7,0,8,0,3,0,16,0,1,192,32,0,0,127, + 192,0,25,34,136,29,2,0,0,8,0,0,0,28,0,0, + 0,30,0,0,0,55,0,0,0,65,128,0,1,128,96,0, + 0,0,0,0,0,0,0,0,255,192,255,128,14,0,14,0, + 14,0,4,0,14,0,4,0,14,0,4,0,14,0,4,0, + 14,0,4,0,14,0,4,0,14,0,4,0,14,0,4,0, + 14,0,4,0,14,0,4,0,14,0,4,0,14,0,4,0, + 14,0,4,0,14,0,4,0,14,0,4,0,14,0,4,0, + 14,0,4,0,14,0,4,0,14,0,4,0,6,0,8,0, + 7,0,8,0,3,128,16,0,1,192,96,0,0,127,192,0, + 25,33,132,29,2,0,0,192,192,0,0,225,192,0,0,225, + 192,0,0,192,192,0,0,0,0,0,0,0,0,0,0,0, + 0,0,255,192,255,128,14,0,14,0,14,0,4,0,14,0, + 4,0,14,0,4,0,14,0,4,0,14,0,4,0,14,0, + 4,0,14,0,4,0,14,0,4,0,14,0,4,0,14,0, + 4,0,14,0,4,0,14,0,4,0,14,0,4,0,14,0, + 4,0,14,0,4,0,14,0,4,0,14,0,4,0,14,0, + 4,0,14,0,4,0,6,0,8,0,7,0,8,0,3,0, + 16,0,1,192,32,0,0,127,192,0,24,34,102,27,2,0, + 0,0,192,0,1,192,0,3,128,0,7,0,0,4,0,0, + 8,0,0,0,0,0,0,0,255,225,255,31,0,56,15,0, + 48,7,128,48,7,128,32,3,192,96,3,192,64,1,224,128, + 0,224,128,0,241,0,0,113,0,0,122,0,0,58,0,0, + 60,0,0,28,0,0,28,0,0,28,0,0,28,0,0,28, + 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, + 0,28,0,1,255,224,21,26,78,25,2,0,255,224,0,14, + 0,0,14,0,0,14,0,0,14,0,0,15,255,0,14,1, + 192,14,0,224,14,0,240,14,0,120,14,0,120,14,0,120, + 14,0,120,14,0,120,14,0,240,14,0,224,14,1,192,15, + 255,0,14,0,0,14,0,0,14,0,0,14,0,0,14,0, + 0,14,0,0,14,0,0,255,224,0,16,26,52,19,1,0, + 1,240,3,28,6,14,14,14,28,14,28,14,28,12,28,28, + 28,48,29,192,28,48,28,24,28,12,28,14,28,6,28,7, + 28,7,28,7,28,7,28,7,28,135,29,199,29,199,29,142, + 29,140,252,120,16,25,50,19,2,1,112,0,112,0,56,0, + 28,0,12,0,2,0,0,0,0,0,15,128,48,224,32,112, + 96,112,120,112,120,112,0,112,1,240,30,112,112,112,96,112, + 224,112,224,113,224,241,225,113,113,126,62,60,16,25,50,19, + 2,1,0,112,0,240,0,224,1,128,3,0,2,0,0,0, + 0,0,15,128,48,224,96,112,96,112,120,112,120,112,0,112, + 1,240,30,112,112,112,96,112,224,112,224,113,224,241,225,113, + 113,126,62,60,16,25,50,19,2,0,6,0,7,0,7,0, + 13,128,24,192,48,96,0,0,0,0,15,128,48,224,96,112, + 96,112,120,112,120,112,0,112,1,240,30,112,112,112,96,112, + 224,112,224,113,224,241,225,113,113,126,62,60,16,24,48,19, + 2,0,30,48,63,224,35,192,0,0,0,0,0,0,0,0, + 15,128,48,224,96,112,96,112,120,112,120,112,0,112,1,240, + 30,112,112,112,96,112,224,112,224,113,224,241,225,113,113,126, + 62,60,16,24,48,19,2,0,48,96,112,224,112,224,48,96, + 0,0,0,0,0,0,15,0,48,192,96,96,96,96,112,96, + 112,96,0,96,1,224,30,96,112,96,96,96,224,96,224,97, + 224,225,225,99,113,126,62,60,16,25,50,19,2,0,7,0, + 24,192,16,64,16,64,24,192,7,0,0,0,0,0,15,128, + 48,224,96,112,96,112,120,112,120,112,0,112,1,240,30,112, + 112,112,96,112,224,112,224,113,224,241,225,113,113,126,62,60, + 22,17,51,26,2,0,15,135,192,48,236,112,96,120,48,112, + 120,56,120,112,24,56,112,28,0,112,28,7,255,252,56,112, + 0,112,112,0,224,112,0,224,112,4,224,248,8,224,184,8, + 225,56,16,113,28,48,62,7,192,12,24,48,16,2,249,15, + 128,24,96,48,48,112,48,96,112,224,112,224,112,224,0,224, + 0,224,0,224,0,224,0,96,16,112,16,48,32,24,96,15, + 128,2,0,6,0,1,128,0,192,0,192,16,192,15,128,13, + 25,50,17,2,1,48,0,56,0,28,0,12,0,6,0,3, + 0,0,0,0,0,15,128,24,224,48,96,112,112,96,48,224, + 56,224,56,255,248,224,0,224,0,224,0,224,8,112,16,112, + 16,48,16,24,96,7,128,13,25,50,17,2,1,0,112,0, + 112,0,224,0,192,1,128,3,0,0,0,0,0,15,128,24, + 224,48,96,112,112,96,48,224,56,224,56,255,248,224,0,224, + 0,224,0,224,8,112,16,112,16,48,16,24,96,7,128,13, + 25,50,17,2,0,3,0,3,0,7,128,5,128,8,64,16, + 32,0,0,0,0,15,128,24,224,48,96,112,112,96,48,224, + 56,224,56,255,248,224,0,224,0,224,0,224,8,112,16,112, + 16,48,32,24,96,7,128,13,24,48,17,2,0,24,96,56, + 112,56,112,24,96,0,0,0,0,0,0,15,128,24,224,48, + 96,112,48,96,48,224,56,224,56,255,248,224,0,224,0,224, + 0,224,8,112,16,112,16,48,32,24,96,7,128,9,25,50, + 11,0,0,192,0,224,0,112,0,56,0,8,0,4,0,0, + 0,0,0,62,0,14,0,14,0,14,0,14,0,14,0,14, + 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, + 0,14,0,63,128,8,25,25,10,2,0,3,7,7,12,24, + 48,0,0,248,56,56,56,56,56,56,56,56,56,56,56,56, + 56,56,56,254,9,25,50,11,1,0,24,0,28,0,60,0, + 54,0,99,0,128,128,0,0,0,0,124,0,28,0,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,28,0,28,0,28,0,28,0,127,0,9,24,48,11, + 1,0,97,128,227,128,227,128,97,128,0,0,0,0,0,0, + 126,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, + 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, + 127,128,14,26,52,18,2,0,28,16,14,48,15,192,7,128, + 7,128,13,192,48,224,0,224,0,112,7,240,24,120,48,56, + 112,60,112,28,224,28,224,28,224,28,224,28,224,28,224,28, + 224,28,112,24,112,56,48,48,24,96,7,128,17,24,72,21, + 2,0,7,4,0,15,204,0,9,248,0,8,112,0,0,0, + 0,0,0,0,0,0,0,248,248,0,57,28,0,58,14,0, + 60,14,0,60,14,0,56,14,0,56,14,0,56,14,0,56, + 14,0,56,14,0,56,14,0,56,14,0,56,14,0,56,14, + 0,56,14,0,56,14,0,254,63,128,14,25,50,18,2,1, + 56,0,56,0,28,0,12,0,6,0,3,0,0,0,0,0, + 7,128,24,96,48,48,112,56,112,24,224,28,224,28,224,28, + 224,28,224,28,224,28,224,28,112,24,112,56,48,48,24,96, + 7,128,14,25,50,18,2,1,0,48,0,112,0,224,0,192, + 1,128,1,0,0,0,0,0,7,128,24,96,48,48,112,56, + 112,24,224,28,224,28,224,28,224,28,224,28,224,28,224,28, + 112,24,112,56,48,48,24,96,7,128,14,25,50,18,2,0, + 3,0,3,0,7,128,4,128,8,64,16,32,0,0,0,0, + 7,128,24,96,48,48,112,56,112,24,224,28,224,28,224,28, + 224,28,224,28,224,28,224,28,112,24,112,56,48,48,24,96, + 7,128,14,24,48,18,2,0,30,16,31,240,33,224,0,0, + 0,0,0,0,0,0,7,128,24,96,48,48,112,56,112,24, + 224,28,224,28,224,28,224,28,224,28,224,28,224,28,112,24, + 112,56,48,48,24,96,7,128,14,24,48,18,2,0,24,48, + 56,112,56,112,24,48,0,0,0,0,0,0,7,128,24,96, + 48,48,112,56,112,24,224,28,224,28,224,28,224,28,224,28, + 224,28,224,28,112,24,112,56,48,48,24,96,7,128,30,23, + 92,34,2,254,0,3,0,0,0,7,128,0,0,7,128,0, + 0,7,128,0,0,3,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 255,255,255,252,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0, + 0,7,128,0,0,7,128,0,0,7,128,0,0,3,0,0, + 14,17,34,18,2,0,7,132,24,104,48,56,112,56,112,56, + 224,92,224,156,225,156,227,28,226,28,228,28,232,28,120,24, + 112,56,48,48,88,96,135,192,17,25,75,20,1,1,28,0, + 0,28,0,0,14,0,0,3,0,0,1,0,0,0,128,0, + 0,0,0,0,0,0,248,62,0,56,14,0,56,14,0,56, + 14,0,56,14,0,56,14,0,56,14,0,56,14,0,56,14, + 0,56,14,0,56,14,0,56,14,0,56,30,0,56,30,0, + 56,46,0,28,78,0,15,143,128,17,25,75,20,1,1,0, + 28,0,0,60,0,0,48,0,0,96,0,0,192,0,0,128, + 0,0,0,0,0,0,0,248,62,0,56,14,0,56,14,0, + 56,14,0,56,14,0,56,14,0,56,14,0,56,14,0,56, + 14,0,56,14,0,56,14,0,56,14,0,56,30,0,56,30, + 0,56,46,0,28,78,0,15,143,128,17,25,75,20,1,0, + 0,128,0,1,192,0,1,192,0,3,96,0,4,48,0,8, + 8,0,0,0,0,0,0,0,248,62,0,56,14,0,56,14, + 0,56,14,0,56,14,0,56,14,0,56,14,0,56,14,0, + 56,14,0,56,14,0,56,14,0,56,14,0,56,30,0,56, + 30,0,56,46,0,28,78,0,15,143,128,17,24,72,20,1, + 0,12,48,0,28,56,0,28,56,0,12,48,0,0,0,0, + 0,0,0,0,0,0,248,62,0,56,14,0,56,14,0,56, + 14,0,56,14,0,56,14,0,56,14,0,56,14,0,56,14, + 0,56,14,0,56,14,0,56,14,0,56,30,0,56,30,0, + 56,46,0,28,78,0,15,143,128,18,33,99,19,1,249,0, + 12,0,0,28,0,0,24,0,0,48,0,0,96,0,0,64, + 0,0,0,0,0,0,0,255,31,192,28,6,0,28,4,0, + 12,4,0,14,4,0,14,4,0,6,8,0,7,8,0,7, + 8,0,3,16,0,3,144,0,3,144,0,1,224,0,1,224, + 0,1,224,0,0,192,0,0,192,0,0,64,0,0,128,0, + 0,128,0,112,128,0,113,128,0,113,0,0,114,0,0,60, + 0,0,16,34,68,19,1,247,12,0,60,0,92,0,28,0, + 28,0,28,0,28,0,28,0,28,60,28,126,28,143,29,7, + 30,7,30,7,30,7,28,6,28,14,28,14,28,12,28,24, + 28,16,28,32,28,64,29,128,31,0,28,0,28,0,28,0, + 28,0,28,0,28,0,28,0,28,0,224,0,17,32,96,19, + 1,248,6,12,0,7,28,0,7,28,0,6,12,0,0,0, + 0,0,0,0,0,0,0,255,31,128,28,6,0,28,4,0, + 14,4,0,14,4,0,14,8,0,7,8,0,7,8,0,7, + 16,0,3,144,0,3,144,0,3,160,0,1,224,0,1,224, + 0,1,224,0,0,192,0,0,192,0,0,64,0,0,128,0, + 0,128,0,112,128,0,121,0,0,121,0,0,114,0,0,60, + 0,0}; +/* + Fontname: -FreeType-Old Standard TT-Medium-R-Normal--36-360-72-72-P-189-ISO10646-1 + Copyright: Copyright (C) 2006-2008 Alexey Kryukov + Capital A Height: 0, '1' Height: 25 + Calculated Max Values w=30 h=34 x= 4 y=10 dx=34 dy= 0 ascent=27 len=124 + Font Bounding box w=94 h=46 x=-29 y=-11 + Calculated Min Values x= 0 y=-7 dx= 0 dy= 0 + Pure Font ascent =25 descent= 0 + X Font ascent =25 descent= 0 + Max Font ascent =27 descent=-7 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_osr26n[955] U8G_FONT_SECTION("u8g_font_osr26n") = { + 0,94,46,227,245,25,0,0,0,0,42,58,0,27,249,25, + 0,13,15,30,18,3,10,7,0,7,0,7,0,195,24,226, + 56,242,120,58,224,7,0,7,128,122,240,242,120,226,56,7, + 0,7,0,7,0,30,31,124,34,2,250,0,3,0,0,0, + 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, + 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, + 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, + 3,0,0,0,3,0,0,255,255,255,252,0,3,0,0,0, + 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, + 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, + 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, + 3,0,0,0,3,0,0,5,11,11,10,2,250,112,248,248, + 120,8,8,8,16,16,32,64,9,2,4,13,2,8,255,128, + 255,128,4,5,5,10,3,0,96,240,240,240,96,12,34,68, + 16,2,249,0,16,0,48,0,48,0,32,0,96,0,96,0, + 64,0,192,0,192,0,128,0,128,1,128,1,0,1,0,3, + 0,2,0,2,0,6,0,4,0,4,0,12,0,8,0,8, + 0,24,0,24,0,16,0,48,0,48,0,32,0,96,0,96, + 0,64,0,192,0,192,0,17,25,75,21,2,0,3,224,0, + 14,56,0,28,28,0,24,12,0,56,14,0,112,7,0,112, + 7,0,112,7,0,240,7,128,240,7,128,240,7,128,240,7, + 128,240,7,128,240,7,128,240,7,128,240,7,128,240,7,128, + 112,7,0,112,7,0,112,7,0,56,14,0,56,14,0,24, + 12,0,12,24,0,7,112,0,12,25,50,21,4,0,1,0, + 3,0,3,0,15,0,255,0,7,0,7,0,7,0,7,0, + 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, + 7,0,7,0,7,0,7,0,7,0,7,0,7,0,255,240, + 15,25,50,21,3,0,15,192,48,112,96,56,64,60,192,30, + 192,30,224,30,248,30,248,30,120,28,0,60,0,56,0,112, + 0,224,1,192,3,0,14,0,28,4,56,4,48,4,96,4, + 96,12,255,252,255,252,255,252,15,25,50,21,3,0,15,192, + 48,112,32,56,96,28,112,28,120,28,120,28,48,28,0,28, + 0,56,0,112,31,192,24,112,0,56,0,60,0,30,0,30, + 112,30,248,30,248,30,248,30,192,60,192,56,96,112,63,224, + 17,25,75,21,2,0,0,16,0,0,48,0,0,112,0,0, + 112,0,0,240,0,1,240,0,1,112,0,3,112,0,6,112, + 0,6,112,0,12,112,0,8,112,0,24,112,0,48,112,0, + 32,112,0,96,112,0,192,112,0,255,255,128,0,112,0,0, + 112,0,0,112,0,0,112,0,0,112,0,0,112,0,7,255, + 128,15,26,52,21,3,0,32,0,48,56,63,240,63,192,47, + 0,32,0,32,0,32,0,32,0,39,192,56,112,48,56,32, + 60,32,28,0,30,0,30,0,30,0,30,120,30,248,30,248, + 28,240,60,224,60,96,56,112,112,63,192,15,25,50,21,3, + 0,3,224,6,24,12,12,24,28,56,60,48,60,112,16,112, + 0,112,0,243,224,246,56,252,28,248,28,248,14,240,14,240, + 14,240,14,240,14,112,14,112,14,112,12,56,28,56,24,24, + 56,14,224,14,25,50,21,3,0,255,252,255,252,255,252,192, + 12,128,8,128,8,128,8,128,16,0,16,0,32,0,96,0, + 64,0,128,1,128,1,128,3,0,3,0,7,0,7,0,15, + 128,15,128,15,128,15,128,15,128,7,128,17,25,75,21,2, + 0,7,240,0,28,28,0,48,14,0,112,6,0,224,3,0, + 224,3,0,224,3,0,240,3,0,240,6,0,124,6,0,127, + 140,0,31,240,0,7,252,0,25,254,0,48,63,0,96,15, + 128,224,7,128,224,3,128,224,3,128,224,3,128,224,3,0, + 96,7,0,112,6,0,56,12,0,15,248,0,15,25,50,21, + 3,0,7,192,24,96,48,48,112,56,112,28,224,28,224,28, + 224,30,224,30,224,30,224,30,112,62,112,62,56,94,15,158, + 0,30,0,28,0,28,56,28,120,28,120,56,112,56,96,112, + 48,224,31,192,4,17,17,10,3,0,96,240,240,240,96,0, + 0,0,0,0,0,0,96,240,240,240,96}; +/* + Fontname: -FreeType-Old Standard TT-Medium-R-Normal--36-360-72-72-P-189-ISO10646-1 + Copyright: Copyright (C) 2006-2008 Alexey Kryukov + Capital A Height: 26, '1' Height: 25 + Calculated Max Values w=36 h=34 x= 4 y=20 dx=38 dy= 0 ascent=28 len=130 + Font Bounding box w=94 h=46 x=-29 y=-11 + Calculated Min Values x=-1 y=-8 dx= 0 dy= 0 + Pure Font ascent =26 descent=-8 + X Font ascent =27 descent=-8 + Max Font ascent =28 descent=-8 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_osr26r[6049] U8G_FONT_SECTION("u8g_font_osr26r") = { + 0,94,46,227,245,26,7,96,17,82,32,127,248,28,248,27, + 248,0,0,0,10,0,0,4,25,25,10,3,0,96,240,240, + 240,240,240,240,240,96,96,96,96,96,96,96,96,96,96,32, + 64,96,240,240,240,96,8,7,7,14,3,20,195,195,195,195, + 195,195,66,19,25,75,25,3,0,1,130,0,1,130,0,1, + 2,0,1,6,0,3,6,0,3,6,0,3,6,0,255,255, + 224,2,4,0,2,4,0,2,12,0,6,12,0,6,12,0, + 6,12,0,6,8,0,4,8,0,4,8,0,255,255,224,12, + 24,0,12,24,0,12,16,0,8,16,0,8,48,0,8,48, + 0,24,48,0,16,31,62,21,2,253,2,64,2,64,2,64, + 7,224,26,92,50,70,34,66,98,67,98,71,98,79,98,79, + 114,78,58,64,63,64,31,192,7,240,3,252,2,126,2,78, + 34,71,242,67,242,67,226,67,226,67,194,66,66,70,34,76, + 30,112,3,192,2,64,2,64,24,25,75,30,3,0,30,0, + 48,33,0,32,97,128,96,192,192,64,192,192,192,192,192,128, + 192,193,0,192,195,0,192,194,0,64,134,0,97,132,0,34, + 8,0,28,24,112,0,16,132,0,49,134,0,33,2,0,67, + 3,0,195,3,0,131,3,1,131,3,1,3,3,3,3,3, + 6,1,6,4,1,134,12,0,252,24,25,75,28,2,0,1, + 240,0,3,8,0,6,12,0,12,4,0,12,4,0,12,12, + 0,14,8,0,14,24,0,7,48,0,7,192,0,3,193,255, + 7,192,56,13,224,48,24,240,48,48,112,32,112,120,96,112, + 60,64,224,28,128,224,15,128,224,15,0,224,7,0,240,3, + 129,112,15,194,120,25,228,31,224,252,2,7,7,8,3,20, + 192,192,192,192,192,192,64,8,33,33,14,4,250,3,6,12, + 12,24,16,48,48,96,96,96,192,192,192,192,192,192,192,192, + 192,192,64,96,96,96,48,48,24,24,12,6,6,3,8,33, + 33,13,2,250,192,96,96,48,24,24,12,12,6,6,6,2, + 3,3,3,3,3,3,3,3,2,6,6,6,4,12,12,24, + 24,48,96,192,128,13,15,30,18,3,10,7,0,7,0,7, + 0,195,24,226,56,242,120,58,224,7,0,7,128,122,240,242, + 120,226,56,7,0,7,0,7,0,30,31,124,34,2,250,0, + 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, + 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, + 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, + 3,0,0,0,3,0,0,0,3,0,0,255,255,255,252,0, + 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, + 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, + 3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0, + 3,0,0,0,3,0,0,0,3,0,0,5,11,11,10,2, + 250,112,248,248,120,8,8,8,16,16,32,64,9,2,4,13, + 2,8,255,128,255,128,4,5,5,10,3,0,96,240,240,240, + 96,12,34,68,16,2,249,0,16,0,48,0,48,0,32,0, + 96,0,96,0,64,0,192,0,192,0,128,0,128,1,128,1, + 0,1,0,3,0,2,0,2,0,6,0,4,0,4,0,12, + 0,8,0,8,0,24,0,24,0,16,0,48,0,48,0,32, + 0,96,0,96,0,64,0,192,0,192,0,17,25,75,21,2, + 0,3,224,0,14,56,0,28,28,0,24,12,0,56,14,0, + 112,7,0,112,7,0,112,7,0,240,7,128,240,7,128,240, + 7,128,240,7,128,240,7,128,240,7,128,240,7,128,240,7, + 128,240,7,128,112,7,0,112,7,0,112,7,0,56,14,0, + 56,14,0,24,12,0,12,24,0,7,112,0,12,25,50,21, + 4,0,1,0,3,0,3,0,15,0,255,0,7,0,7,0, + 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, + 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, + 7,0,255,240,15,25,50,21,3,0,15,192,48,112,96,56, + 64,60,192,30,192,30,224,30,248,30,248,30,120,28,0,60, + 0,56,0,112,0,224,1,192,3,0,14,0,28,4,56,4, + 48,4,96,4,96,12,255,252,255,252,255,252,15,25,50,21, + 3,0,15,192,48,112,32,56,96,28,112,28,120,28,120,28, + 48,28,0,28,0,56,0,112,31,192,24,112,0,56,0,60, + 0,30,0,30,112,30,248,30,248,30,248,30,192,60,192,56, + 96,112,63,224,17,25,75,21,2,0,0,16,0,0,48,0, + 0,112,0,0,112,0,0,240,0,1,240,0,1,112,0,3, + 112,0,6,112,0,6,112,0,12,112,0,8,112,0,24,112, + 0,48,112,0,32,112,0,96,112,0,192,112,0,255,255,128, + 0,112,0,0,112,0,0,112,0,0,112,0,0,112,0,0, + 112,0,7,255,128,15,26,52,21,3,0,32,0,48,56,63, + 240,63,192,47,0,32,0,32,0,32,0,32,0,39,192,56, + 112,48,56,32,60,32,28,0,30,0,30,0,30,0,30,120, + 30,248,30,248,28,240,60,224,60,96,56,112,112,63,192,15, + 25,50,21,3,0,3,224,6,24,12,12,24,28,56,60,48, + 60,112,16,112,0,112,0,243,224,246,56,252,28,248,28,248, + 14,240,14,240,14,240,14,240,14,112,14,112,14,112,12,56, + 28,56,24,24,56,14,224,14,25,50,21,3,0,255,252,255, + 252,255,252,192,12,128,8,128,8,128,8,128,16,0,16,0, + 32,0,96,0,64,0,128,1,128,1,128,3,0,3,0,7, + 0,7,0,15,128,15,128,15,128,15,128,15,128,7,128,17, + 25,75,21,2,0,7,240,0,28,28,0,48,14,0,112,6, + 0,224,3,0,224,3,0,224,3,0,240,3,0,240,6,0, + 124,6,0,127,140,0,31,240,0,7,252,0,25,254,0,48, + 63,0,96,15,128,224,7,128,224,3,128,224,3,128,224,3, + 128,224,3,0,96,7,0,112,6,0,56,12,0,15,248,0, + 15,25,50,21,3,0,7,192,24,96,48,48,112,56,112,28, + 224,28,224,28,224,30,224,30,224,30,224,30,112,62,112,62, + 56,94,15,158,0,30,0,28,0,28,56,28,120,28,120,56, + 112,56,96,112,48,224,31,192,4,17,17,10,3,0,96,240, + 240,240,96,0,0,0,0,0,0,0,96,240,240,240,96,5, + 23,23,11,3,250,112,248,248,248,112,0,0,0,0,0,0, + 0,112,248,248,120,24,24,24,16,48,32,64,28,29,116,34, + 3,251,0,0,0,112,0,0,1,192,0,0,7,0,0,0, + 28,0,0,0,112,0,0,1,224,0,0,3,128,0,0,14, + 0,0,0,56,0,0,0,224,0,0,3,128,0,0,15,0, + 0,0,28,0,0,0,112,0,0,0,192,0,0,0,112,0, + 0,0,28,0,0,0,7,0,0,0,1,192,0,0,0,240, + 0,0,0,56,0,0,0,14,0,0,0,3,128,0,0,0, + 224,0,0,0,56,0,0,0,14,0,0,0,7,0,0,0, + 1,192,0,0,0,112,30,8,32,34,2,6,255,255,255,252, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,255,255,255,252,28,29,116,34, + 3,251,224,0,0,0,56,0,0,0,14,0,0,0,3,128, + 0,0,0,224,0,0,0,112,0,0,0,28,0,0,0,7, + 0,0,0,1,192,0,0,0,112,0,0,0,28,0,0,0, + 15,0,0,0,3,128,0,0,0,224,0,0,0,48,0,0, + 0,224,0,0,3,128,0,0,14,0,0,0,56,0,0,0, + 240,0,0,1,192,0,0,7,0,0,0,28,0,0,0,112, + 0,0,1,192,0,0,7,0,0,0,30,0,0,0,56,0, + 0,0,224,0,0,0,13,25,50,17,2,0,15,128,48,224, + 64,112,192,56,192,56,248,56,248,56,112,56,0,112,0,224, + 1,192,3,128,3,0,4,0,12,0,8,64,8,64,8,128, + 7,0,0,0,3,0,7,128,7,128,7,128,3,0,26,27, + 108,30,2,0,0,4,0,0,0,251,224,0,3,0,56,0, + 6,0,12,0,12,0,6,0,24,0,3,0,48,15,1,0, + 48,49,241,128,96,96,241,128,96,192,224,128,193,192,224,192, + 193,128,224,192,193,128,192,192,195,128,192,192,195,1,192,192, + 195,1,192,192,195,1,129,128,195,3,129,128,67,7,129,0, + 99,7,130,0,97,137,132,0,32,240,248,0,48,0,0,0, + 24,0,0,0,12,0,16,0,7,0,48,0,1,255,192,0, + 25,26,104,28,2,0,0,8,0,0,0,12,0,0,0,28, + 0,0,0,28,0,0,0,30,0,0,0,62,0,0,0,46, + 0,0,0,47,0,0,0,103,0,0,0,103,0,0,0,71, + 128,0,0,195,128,0,0,195,128,0,0,131,192,0,1,129, + 192,0,1,129,192,0,3,1,224,0,3,255,224,0,2,0, + 224,0,6,0,240,0,6,0,112,0,6,0,112,0,12,0, + 120,0,12,0,120,0,30,0,120,0,255,195,255,128,20,26, + 78,25,3,0,255,252,0,28,3,0,28,1,192,28,1,192, + 28,0,224,28,0,224,28,0,224,28,0,224,28,0,224,28, + 1,192,28,1,128,28,3,0,31,252,0,28,7,0,28,1, + 192,28,1,224,28,0,224,28,0,240,28,0,240,28,0,240, + 28,0,240,28,0,240,28,1,224,28,1,192,28,3,128,255, + 254,0,19,26,78,24,3,1,3,252,32,14,6,96,28,3, + 224,24,1,224,56,0,224,120,0,224,112,0,96,112,0,96, + 240,0,96,240,0,32,240,0,0,240,0,0,240,0,0,240, + 0,0,240,0,0,240,0,0,240,0,0,112,0,32,112,0, + 32,120,0,96,56,0,64,56,0,64,28,0,128,12,0,128, + 6,3,0,3,222,0,24,26,78,29,3,0,255,255,0,28, + 1,192,28,0,112,28,0,56,28,0,56,28,0,28,28,0, + 30,28,0,30,28,0,14,28,0,15,28,0,15,28,0,15, + 28,0,15,28,0,15,28,0,15,28,0,15,28,0,15,28, + 0,14,28,0,30,28,0,30,28,0,28,28,0,56,28,0, + 56,28,0,112,28,1,192,255,255,0,21,26,78,25,2,0, + 255,255,248,14,0,120,14,0,56,14,0,24,14,0,24,14, + 0,8,14,0,8,14,4,8,14,4,0,14,4,0,14,12, + 0,14,12,0,15,252,0,14,12,0,14,4,0,14,4,0, + 14,4,8,14,4,8,14,0,8,14,0,8,14,0,24,14, + 0,24,14,0,56,14,0,56,14,0,248,255,255,248,20,26, + 78,24,2,0,255,255,240,14,0,240,14,0,112,14,0,48, + 14,0,48,14,0,16,14,0,16,14,4,16,14,4,0,14, + 4,0,14,12,0,14,12,0,15,252,0,14,12,0,14,12, + 0,14,4,0,14,4,0,14,4,0,14,0,0,14,0,0, + 14,0,0,14,0,0,14,0,0,14,0,0,14,0,0,255, + 224,0,22,27,81,26,3,0,0,32,0,3,220,32,6,7, + 32,12,3,224,24,1,224,56,0,224,56,0,96,112,0,96, + 112,0,96,112,0,32,240,0,32,240,0,0,240,0,0,240, + 0,0,240,15,252,240,0,224,240,0,224,240,0,224,240,0, + 224,112,0,224,112,0,224,56,0,224,56,1,224,24,1,32, + 12,3,32,6,6,32,3,252,32,24,26,78,28,2,0,255, + 195,255,14,0,56,14,0,56,14,0,56,14,0,56,14,0, + 56,14,0,56,14,0,56,14,0,56,14,0,56,14,0,56, + 14,0,56,15,255,248,14,0,56,14,0,56,14,0,56,14, + 0,56,14,0,56,14,0,56,14,0,56,14,0,56,14,0, + 56,14,0,56,14,0,56,14,0,56,255,195,255,10,26,52, + 14,2,0,255,192,14,0,14,0,14,0,14,0,14,0,14, + 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, + 0,14,0,14,0,14,0,14,0,14,0,14,0,14,0,14, + 0,14,0,14,0,255,192,16,26,52,19,2,0,3,255,0, + 56,0,56,0,56,0,56,0,56,0,56,0,56,0,56,0, + 56,0,56,0,56,0,56,0,56,0,56,0,56,0,56,0, + 56,112,56,248,56,248,56,240,56,192,48,192,112,96,96,63, + 192,24,26,78,28,2,0,255,199,254,14,1,240,14,0,224, + 14,0,192,14,1,128,14,3,0,14,6,0,14,12,0,14, + 24,0,14,24,0,14,56,0,14,124,0,14,188,0,15,62, + 0,15,30,0,14,31,0,14,15,0,14,15,128,14,7,128, + 14,7,192,14,3,192,14,1,224,14,1,240,14,0,240,14, + 0,248,255,199,255,20,26,78,24,2,0,255,224,0,14,0, + 0,14,0,0,14,0,0,14,0,0,14,0,0,14,0,0, + 14,0,0,14,0,0,14,0,0,14,0,0,14,0,0,14, + 0,0,14,0,0,14,0,0,14,0,0,14,0,16,14,0, + 16,14,0,32,14,0,48,14,0,48,14,0,48,14,0,112, + 14,0,240,14,3,240,255,255,240,26,26,104,30,2,0,255, + 0,31,192,15,0,30,0,15,128,30,0,15,128,46,0,11, + 128,46,0,11,128,46,0,11,192,110,0,9,192,78,0,9, + 192,78,0,9,224,78,0,8,224,142,0,8,224,142,0,8, + 224,142,0,8,241,142,0,8,113,14,0,8,113,14,0,8, + 121,14,0,8,59,14,0,8,58,14,0,8,58,14,0,8, + 30,14,0,8,28,14,0,8,28,14,0,8,12,14,0,28, + 12,14,0,255,136,255,192,25,26,104,28,2,0,254,0,255, + 128,15,0,28,0,15,128,8,0,15,128,8,0,11,192,8, + 0,11,192,8,0,9,224,8,0,8,240,8,0,8,240,8, + 0,8,120,8,0,8,60,8,0,8,60,8,0,8,30,8, + 0,8,30,8,0,8,15,8,0,8,7,136,0,8,7,136, + 0,8,3,200,0,8,1,232,0,8,1,232,0,8,0,248, + 0,8,0,120,0,8,0,120,0,8,0,56,0,28,0,24, + 0,255,128,24,0,21,27,81,26,3,0,0,32,0,3,220, + 0,6,3,0,12,1,128,28,1,192,56,0,224,56,0,224, + 120,0,240,112,0,112,112,0,112,240,0,120,240,0,120,240, + 0,120,240,0,120,240,0,120,240,0,120,240,0,120,240,0, + 120,112,0,112,112,0,112,120,0,240,56,0,224,56,0,224, + 28,1,192,12,1,128,6,3,0,3,254,0,21,26,78,25, + 2,0,255,255,0,14,1,192,14,0,224,14,0,240,14,0, + 120,14,0,120,14,0,120,14,0,120,14,0,120,14,0,112, + 14,0,240,14,0,224,14,1,192,15,254,0,14,0,0,14, + 0,0,14,0,0,14,0,0,14,0,0,14,0,0,14,0, + 0,14,0,0,14,0,0,14,0,0,14,0,0,255,224,0, + 21,33,99,26,3,250,0,32,0,3,220,0,6,3,0,12, + 1,128,28,1,192,56,0,224,56,0,224,120,0,240,112,0, + 112,112,0,112,240,0,120,240,0,120,240,0,120,240,0,120, + 240,0,120,240,0,120,240,0,120,240,0,120,112,0,112,112, + 0,112,120,0,240,56,112,224,57,152,224,29,13,192,13,13, + 128,7,15,8,3,158,8,0,110,8,0,14,8,0,14,24, + 0,7,176,0,7,240,0,3,192,22,26,78,25,2,0,255, + 255,0,14,3,192,14,1,224,14,0,240,14,0,240,14,0, + 240,14,0,240,14,0,240,14,1,224,14,1,192,14,7,128, + 15,252,0,14,6,0,14,7,0,14,3,128,14,3,128,14, + 3,128,14,3,192,14,3,192,14,3,192,14,3,196,14,1, + 196,14,1,196,14,1,236,14,1,248,255,224,240,17,26,78, + 22,3,1,31,227,0,48,51,0,96,31,0,192,15,0,192, + 7,0,192,3,0,192,3,0,224,3,0,240,1,0,120,0, + 0,127,0,0,63,192,0,31,248,0,7,252,0,1,254,0, + 128,63,0,128,15,128,128,3,128,192,3,128,192,1,128,192, + 1,128,224,1,128,240,1,0,248,3,0,140,6,0,135,252, + 0,21,26,78,26,3,0,255,255,248,240,112,120,224,112,56, + 192,112,24,192,112,24,192,112,24,128,112,8,128,112,8,128, + 112,8,128,112,8,0,112,0,0,112,0,0,112,0,0,112, + 0,0,112,0,0,112,0,0,112,0,0,112,0,0,112,0, + 0,112,0,0,112,0,0,112,0,0,112,0,0,112,0,0, + 112,0,7,255,128,25,26,104,29,2,0,255,192,255,128,14, + 0,14,0,14,0,4,0,14,0,4,0,14,0,4,0,14, + 0,4,0,14,0,4,0,14,0,4,0,14,0,4,0,14, + 0,4,0,14,0,4,0,14,0,4,0,14,0,4,0,14, + 0,4,0,14,0,4,0,14,0,4,0,14,0,4,0,14, + 0,4,0,14,0,4,0,14,0,4,0,14,0,4,0,6, + 0,8,0,7,0,8,0,3,0,16,0,1,192,32,0,0, + 127,192,0,25,26,104,28,2,0,255,241,255,128,15,0,60, + 0,15,0,24,0,7,128,24,0,7,128,16,0,3,128,48, + 0,3,192,48,0,3,192,48,0,1,192,32,0,1,224,96, + 0,1,224,96,0,0,224,64,0,0,240,192,0,0,240,192, + 0,0,112,128,0,0,113,128,0,0,121,128,0,0,57,0, + 0,0,59,0,0,0,63,0,0,0,30,0,0,0,30,0, + 0,0,14,0,0,0,14,0,0,0,12,0,0,0,4,0, + 0,36,26,130,38,1,0,255,231,255,63,240,15,0,248,7, + 128,15,0,120,3,0,7,0,120,3,0,7,128,120,6,0, + 7,128,248,6,0,3,128,252,6,0,3,128,252,4,0,3, + 192,156,12,0,1,193,156,12,0,1,193,158,12,0,1,225, + 14,24,0,1,227,14,24,0,0,227,14,24,0,0,227,15, + 16,0,0,242,7,48,0,0,118,7,48,0,0,118,7,32, + 0,0,116,3,224,0,0,124,3,224,0,0,60,3,192,0, + 0,60,1,192,0,0,56,1,192,0,0,24,1,192,0,0, + 24,1,128,0,0,16,0,128,0,24,26,78,27,2,0,255, + 227,255,15,128,112,7,128,96,7,192,96,3,192,192,1,224, + 128,1,225,128,0,227,0,0,242,0,0,118,0,0,124,0, + 0,56,0,0,60,0,0,60,0,0,62,0,0,79,0,0, + 207,0,0,135,128,1,135,128,1,3,192,3,3,192,6,1, + 224,6,0,224,14,0,240,30,0,240,255,199,255,24,26,78, + 27,2,0,255,225,255,31,0,56,15,0,48,7,128,48,7, + 128,32,3,192,96,3,192,64,1,224,128,0,224,128,0,241, + 0,0,113,0,0,122,0,0,58,0,0,60,0,0,28,0, + 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,0, + 28,0,0,28,0,0,28,0,0,28,0,0,28,0,1,255, + 224,19,26,78,23,2,0,63,255,224,60,3,192,56,3,192, + 112,7,128,96,15,0,96,15,0,64,30,0,64,30,0,64, + 60,0,0,120,0,0,120,0,0,240,0,0,224,0,1,224, + 0,3,192,0,3,192,0,7,128,32,7,0,32,15,0,32, + 30,0,96,30,0,96,60,0,224,56,0,224,120,1,224,240, + 3,192,255,255,192,7,33,33,14,4,249,254,240,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,240,254,12,34,68,16, + 2,249,128,0,192,0,64,0,64,0,96,0,32,0,32,0, + 48,0,16,0,16,0,24,0,8,0,8,0,12,0,4,0, + 4,0,6,0,6,0,2,0,3,0,3,0,1,0,1,128, + 1,128,0,128,0,128,0,192,0,64,0,64,0,96,0,32, + 0,32,0,48,0,16,7,33,33,15,3,249,254,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,254,15,13,26, + 21,3,12,1,0,3,128,3,128,6,192,4,64,12,96,24, + 48,16,16,48,24,96,8,96,12,192,6,128,2,19,1,3, + 19,0,250,255,255,224,6,6,6,16,3,19,192,224,112,48, + 24,12,16,17,34,19,2,0,15,128,48,224,96,112,96,112, + 120,112,120,112,0,112,1,240,30,112,112,112,96,112,224,112, + 224,113,224,241,225,113,113,126,62,60,16,26,52,18,0,0, + 252,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,28,112,29,140,29,14,30,6,30,7,28,7,28,7, + 28,7,28,7,28,7,28,7,28,7,28,7,30,6,26,14, + 17,12,16,240,12,17,34,16,2,0,15,128,24,96,48,48, + 112,48,96,112,224,112,224,112,224,0,224,0,224,0,224,0, + 224,0,96,16,112,16,48,32,24,64,15,128,16,26,52,19, + 2,0,1,248,0,56,0,56,0,56,0,56,0,56,0,56, + 0,56,0,56,14,56,57,184,48,184,112,120,96,120,224,56, + 224,56,224,56,224,56,224,56,224,56,224,56,96,56,112,120, + 48,120,48,248,15,63,13,17,34,17,2,0,15,128,24,224, + 48,96,112,112,96,48,224,56,224,56,255,248,224,0,224,0, + 224,0,224,8,112,16,112,16,48,32,24,96,7,128,12,26, + 52,12,1,0,7,192,12,32,28,48,56,112,56,112,56,0, + 56,0,56,0,56,0,255,128,56,0,56,0,56,0,56,0, + 56,0,56,0,56,0,56,0,56,0,56,0,56,0,56,0, + 56,0,56,0,56,0,255,128,17,25,75,20,2,248,7,199, + 0,28,117,128,56,59,128,112,31,128,112,28,0,112,28,0, + 112,28,0,112,28,0,56,56,0,28,112,0,7,192,0,56, + 0,0,64,0,0,64,0,0,64,0,0,127,224,0,63,248, + 0,14,28,0,112,2,0,192,2,0,192,2,0,192,2,0, + 224,4,0,112,8,0,15,240,0,18,26,78,21,1,0,252, + 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, + 0,28,0,0,28,0,0,28,0,0,28,124,0,28,142,0, + 29,7,0,30,7,0,30,7,0,28,7,0,28,7,0,28, + 7,0,28,7,0,28,7,0,28,7,0,28,7,0,28,7, + 0,28,7,0,28,7,0,28,7,0,255,31,192,7,25,25, + 10,2,0,48,120,120,48,0,0,0,0,248,56,56,56,56, + 56,56,56,56,56,56,56,56,56,56,56,254,9,34,68,11, + 255,248,1,128,3,128,3,128,1,128,0,0,0,0,0,0, + 0,0,0,0,31,128,3,128,3,128,3,128,3,128,3,128, + 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, + 3,128,3,128,3,128,3,128,3,128,67,128,227,128,227,0, + 195,0,70,0,60,0,17,26,78,19,1,0,252,0,0,28, + 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, + 0,28,0,0,28,0,0,28,127,0,28,24,0,28,16,0, + 28,48,0,28,32,0,28,64,0,28,128,0,29,192,0,29, + 192,0,30,224,0,28,112,0,28,112,0,28,56,0,28,60, + 0,28,28,0,28,30,0,255,127,128,9,26,52,11,1,0, + 252,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,255,128,25,17,68,29,2,0,248,240,120,0,57,56, + 156,0,58,29,14,0,60,30,14,0,60,30,14,0,56,28, + 14,0,56,28,14,0,56,28,14,0,56,28,14,0,56,28, + 14,0,56,28,14,0,56,28,14,0,56,28,14,0,56,28, + 14,0,56,28,14,0,56,28,14,0,254,127,63,128,17,17, + 51,21,2,0,248,248,0,57,28,0,58,14,0,60,14,0, + 60,14,0,56,14,0,56,14,0,56,14,0,56,14,0,56, + 14,0,56,14,0,56,14,0,56,14,0,56,14,0,56,14, + 0,56,14,0,254,63,128,14,17,34,18,2,0,7,128,24, + 96,48,48,112,56,112,24,224,28,224,28,224,28,224,28,224, + 28,224,28,224,28,112,24,112,56,48,48,24,96,7,128,16, + 25,50,19,1,248,252,240,29,140,31,14,30,6,30,7,28, + 7,28,7,28,7,28,7,28,7,28,7,28,7,28,7,30, + 6,30,14,29,12,28,240,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,255,128,16,25,50,18,2,248,15,8,56, + 136,48,216,112,88,96,120,224,56,224,56,224,56,224,56,224, + 56,224,56,224,56,96,56,112,120,48,120,48,184,15,56,0, + 56,0,56,0,56,0,56,0,56,0,56,0,56,1,255,12, + 17,34,15,2,0,248,224,57,16,58,48,58,112,60,112,60, + 0,60,0,56,0,56,0,56,0,56,0,56,0,56,0,56, + 0,56,0,56,0,254,0,12,17,34,16,2,0,62,64,97, + 64,192,192,192,64,192,64,224,64,120,0,127,0,31,192,7, + 224,128,240,192,112,192,48,224,48,224,48,152,96,135,192,11, + 24,48,13,1,0,8,0,8,0,8,0,8,0,24,0,24, + 0,56,0,255,192,56,0,56,0,56,0,56,0,56,0,56, + 0,56,0,56,0,56,0,56,0,56,32,56,32,56,32,56, + 96,31,192,15,128,17,17,51,20,1,0,248,62,0,56,14, + 0,56,14,0,56,14,0,56,14,0,56,14,0,56,14,0, + 56,14,0,56,14,0,56,14,0,56,14,0,56,14,0,56, + 30,0,56,30,0,56,46,0,28,78,0,15,143,128,18,17, + 51,19,0,0,255,31,192,28,7,0,28,6,0,12,4,0, + 14,4,0,14,4,0,7,8,0,7,8,0,3,8,0,3, + 144,0,1,144,0,1,208,0,1,224,0,0,224,0,0,224, + 0,0,64,0,0,64,0,27,17,68,28,0,0,255,63,207, + 224,28,15,3,0,28,7,3,0,12,7,2,0,14,7,2, + 0,14,15,130,0,7,11,132,0,7,9,132,0,3,137,196, + 0,3,145,200,0,1,144,200,0,1,208,232,0,1,224,240, + 0,0,224,112,0,0,224,112,0,0,64,96,0,0,64,32, + 0,16,17,34,19,2,0,254,126,60,56,28,48,28,32,14, + 64,14,64,7,128,3,128,3,128,3,192,3,192,4,224,8, + 96,8,112,16,56,48,56,252,255,18,25,75,20,1,248,255, + 31,192,28,6,0,28,6,0,12,4,0,14,4,0,14,4, + 0,6,8,0,7,8,0,7,8,0,3,16,0,3,144,0, + 3,144,0,1,240,0,1,224,0,1,224,0,0,224,0,0, + 192,0,0,64,0,0,192,0,0,128,0,112,128,0,113,128, + 0,113,0,0,115,0,0,60,0,0,12,17,34,15,1,0, + 255,240,224,112,192,224,128,224,129,192,131,128,131,128,7,0, + 7,0,14,0,28,16,28,16,56,16,56,16,112,48,224,112, + 255,240,8,33,33,15,3,249,3,4,8,24,24,24,24,28, + 28,28,12,12,12,12,8,24,224,24,8,12,12,12,12,28, + 28,28,24,24,24,24,8,4,3,2,34,34,10,4,249,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,8,33,33,14,3,249,192,32,16,24,24,24,24,24,56, + 56,48,48,48,48,16,24,7,24,16,48,48,48,48,56,56, + 24,24,24,24,24,16,32,192,20,6,18,24,2,6,62,0, + 32,127,192,16,135,248,16,128,255,48,128,63,224,96,7,192, + 255}; +/* + Fontname: -FreeType-Old Standard TT-Medium-R-Normal--41-410-72-72-P-216-ISO10646-1 + Copyright: Copyright (C) 2006-2008 Alexey Kryukov + Capital A Height: 29, '1' Height: 28 + Calculated Max Values w=41 h=39 x= 8 y=23 dx=44 dy= 0 ascent=39 len=174 + Font Bounding box w=107 h=51 x=-33 y=-12 + Calculated Min Values x=-1 y=-11 dx= 0 dy= 0 + Pure Font ascent =29 descent=-9 + X Font ascent =30 descent=-9 + Max Font ascent =39 descent=-11 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_osr29[16232] U8G_FONT_SECTION("u8g_font_osr29") = { + 0,107,51,223,244,29,9,148,21,166,32,255,247,39,245,30, + 247,0,0,0,11,0,0,5,28,28,11,3,0,112,248,248, + 248,248,248,248,248,112,112,112,112,112,112,112,112,32,32,32, + 32,32,32,0,112,248,248,248,112,9,8,16,17,4,22,227, + 128,227,128,227,128,227,128,193,128,65,128,65,0,65,0,22, + 28,84,28,3,0,0,192,192,0,192,192,0,192,192,0,192, + 128,0,129,128,1,129,128,1,129,128,1,129,128,255,255,252, + 255,255,252,1,129,0,3,3,0,3,3,0,3,3,0,3, + 3,0,3,3,0,2,2,0,6,6,0,255,255,252,255,255, + 252,6,6,0,6,6,0,6,4,0,4,12,0,12,12,0, + 12,12,0,12,12,0,12,12,0,18,34,102,24,3,253,1, + 16,0,1,16,0,1,16,0,3,248,0,13,22,0,25,17, + 0,49,16,128,97,16,192,97,16,192,97,17,192,97,19,192, + 97,19,192,113,19,128,61,16,0,63,144,0,31,240,0,15, + 252,0,3,254,0,1,127,0,1,31,128,1,19,128,33,17, + 192,113,16,192,249,16,192,241,16,192,241,16,192,225,16,128, + 97,17,128,97,17,0,49,19,0,15,188,0,1,240,0,1, + 16,0,1,16,0,28,28,112,36,4,0,31,0,6,0,49, + 128,4,0,96,192,12,0,96,192,8,0,224,224,24,0,224, + 224,48,0,224,224,32,0,224,224,96,0,224,224,64,0,224, + 224,128,0,96,193,128,0,96,193,0,0,49,131,0,0,31, + 6,0,0,0,4,15,0,0,12,48,128,0,8,48,192,0, + 16,96,96,0,48,96,96,0,32,224,112,0,96,224,112,0, + 64,224,112,0,128,224,112,1,128,224,112,1,0,96,96,2, + 0,96,96,6,0,48,192,4,0,31,128,28,28,112,32,2, + 0,0,248,0,0,3,140,0,0,7,4,0,0,6,2,0, + 0,14,2,0,0,14,2,0,0,14,6,0,0,14,4,0, + 0,15,12,0,0,7,24,0,0,7,176,0,0,3,224,0, + 0,1,224,63,240,3,224,7,128,6,240,7,0,12,120,6, + 0,24,124,6,0,48,60,4,0,112,30,12,0,112,31,24, + 0,240,15,144,0,240,7,176,0,240,7,224,0,240,3,224, + 0,240,3,240,32,120,6,248,32,60,12,124,192,31,240,63, + 128,3,8,8,10,4,22,224,224,224,224,192,64,64,64,9, + 37,74,15,4,249,1,128,3,0,6,0,14,0,12,0,24, + 0,24,0,48,0,48,0,96,0,96,0,96,0,96,0,192, + 0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192, + 0,192,0,96,0,96,0,96,0,96,0,48,0,48,0,56, + 0,24,0,12,0,12,0,6,0,3,0,3,128,1,128,9, + 37,74,15,2,249,192,0,96,0,48,0,56,0,24,0,12, + 0,12,0,6,0,6,0,3,0,3,0,3,0,3,0,1, + 128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1, + 128,1,128,3,128,3,0,3,0,3,0,6,0,6,0,14, + 0,12,0,24,0,24,0,48,0,96,0,224,0,192,0,15, + 17,34,21,3,11,3,128,3,192,3,128,3,128,225,142,241, + 30,249,62,29,112,3,192,3,192,29,120,249,62,241,30,227, + 142,3,128,3,192,3,128,35,34,170,39,2,250,0,0,192, + 0,0,0,0,192,0,0,0,0,192,0,0,0,0,192,0, + 0,0,0,192,0,0,0,0,192,0,0,0,0,192,0,0, + 0,0,192,0,0,0,0,192,0,0,0,0,192,0,0,0, + 0,192,0,0,0,0,192,0,0,0,0,192,0,0,0,0, + 192,0,0,0,0,192,0,0,0,0,192,0,0,255,255,255, + 255,224,255,255,255,255,224,0,0,192,0,0,0,0,192,0, + 0,0,0,192,0,0,0,0,192,0,0,0,0,192,0,0, + 0,0,192,0,0,0,0,192,0,0,0,0,192,0,0,0, + 0,192,0,0,0,0,192,0,0,0,0,192,0,0,0,0, + 192,0,0,0,0,192,0,0,0,0,192,0,0,0,0,192, + 0,0,0,0,192,0,0,5,12,12,11,3,249,112,240,248, + 248,24,8,8,16,16,32,32,64,10,2,4,14,2,9,255, + 192,255,192,5,5,5,11,3,0,112,248,248,248,112,14,38, + 76,18,2,248,0,12,0,12,0,12,0,8,0,24,0,24, + 0,16,0,48,0,48,0,32,0,96,0,96,0,64,0,192, + 0,192,0,128,1,128,1,128,1,0,3,0,3,0,2,0, + 6,0,6,0,4,0,12,0,12,0,8,0,24,0,24,0, + 16,0,48,0,48,0,32,0,96,0,96,0,64,0,192,0, + 20,28,84,24,2,0,1,248,0,7,12,0,12,7,0,28, + 3,128,24,1,128,56,1,192,56,1,192,112,0,224,112,0, + 224,112,0,224,240,0,240,240,0,240,240,0,240,240,0,240, + 240,0,240,240,0,240,240,0,240,240,0,240,240,0,240,112, + 0,224,112,0,224,112,0,224,56,1,192,56,1,192,24,1, + 128,12,3,0,6,6,0,3,252,0,14,28,56,24,5,0, + 1,128,1,128,3,128,7,128,255,128,7,128,7,128,7,128, + 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, + 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, + 7,128,7,128,7,128,255,252,17,28,84,24,3,0,7,224, + 0,24,60,0,32,30,0,64,15,0,192,15,0,192,7,128, + 192,7,128,240,7,128,252,7,128,252,7,128,124,7,128,24, + 15,0,0,14,0,0,28,0,0,56,0,0,112,0,0,224, + 0,1,192,0,3,0,0,6,0,0,12,0,128,24,0,128, + 48,0,128,48,1,128,112,1,128,127,255,128,127,255,128,127, + 255,128,17,28,84,24,3,0,15,224,0,48,56,0,96,28, + 0,96,14,0,240,15,0,248,15,0,248,15,0,120,15,0, + 0,15,0,0,15,0,0,14,0,0,28,0,28,56,0,31, + 224,0,0,60,0,0,30,0,0,15,0,0,7,0,0,7, + 128,0,7,128,120,7,128,248,7,128,248,7,128,248,7,0, + 192,15,0,192,14,0,96,28,0,31,240,0,19,28,84,24, + 2,0,0,12,0,0,12,0,0,28,0,0,60,0,0,60, + 0,0,124,0,0,252,0,0,252,0,1,188,0,3,60,0, + 3,60,0,6,60,0,12,60,0,12,60,0,24,60,0,48, + 60,0,32,60,0,96,60,0,192,60,0,255,255,224,0,60, + 0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0, + 0,60,0,7,255,224,17,29,87,24,4,0,0,2,0,120, + 12,0,127,248,0,127,240,0,111,192,0,96,0,0,96,0, + 0,96,0,0,96,0,0,96,0,0,103,224,0,104,60,0, + 112,30,0,96,14,0,96,15,0,96,7,0,0,7,128,0, + 7,128,0,7,128,16,7,128,120,7,128,252,7,128,252,7, + 128,248,15,0,224,15,0,224,14,0,96,28,0,48,56,0, + 31,240,0,17,28,84,24,3,0,1,248,0,3,12,0,12, + 6,0,28,7,0,24,15,0,56,31,0,48,31,0,112,14, + 0,112,0,0,112,0,0,240,0,0,241,240,0,246,28,0, + 252,14,0,248,7,0,248,7,0,240,7,128,240,7,128,240, + 7,128,240,7,128,112,7,128,112,7,128,112,7,0,48,7, + 0,56,7,0,24,14,0,12,28,0,7,248,0,16,28,56, + 24,4,0,255,255,255,255,255,255,192,3,128,2,128,2,128, + 6,128,4,0,12,0,8,0,24,0,48,0,32,0,96,0, + 192,0,192,1,128,3,128,3,128,7,128,7,128,7,128,15, + 192,15,192,15,192,15,192,15,192,7,192,20,28,84,24,2, + 0,3,248,0,14,14,0,56,7,0,112,3,128,112,1,192, + 240,1,192,240,1,192,240,1,192,240,1,192,248,1,128,126, + 3,128,127,131,0,63,252,0,15,252,0,7,255,0,24,127, + 192,48,15,224,112,3,224,224,1,240,224,0,240,224,0,240, + 224,0,224,224,0,224,224,0,224,112,1,192,48,1,128,28, + 7,0,15,252,0,17,28,84,24,3,0,7,224,0,12,56, + 0,56,12,0,56,14,0,112,14,0,112,7,0,240,7,0, + 240,7,0,240,7,128,240,7,128,240,7,128,240,7,128,112, + 15,128,112,15,128,56,27,128,28,51,128,7,199,128,0,7, + 128,0,7,0,0,7,0,56,7,0,124,7,0,124,14,0, + 120,14,0,112,12,0,112,24,0,48,48,0,31,224,0,5, + 19,19,11,3,0,112,248,248,248,112,0,0,0,0,0,0, + 0,0,0,112,248,248,248,112,6,26,26,12,3,249,112,248, + 248,248,112,0,0,0,0,0,0,0,0,0,112,248,252,124, + 12,12,12,8,24,48,32,64,32,34,136,39,3,250,0,0, + 0,2,0,0,0,7,0,0,0,28,0,0,0,112,0,0, + 1,224,0,0,7,128,0,0,30,0,0,0,120,0,0,1, + 224,0,0,3,128,0,0,14,0,0,0,56,0,0,0,240, + 0,0,3,192,0,0,15,0,0,0,60,0,0,0,240,0, + 0,0,224,0,0,0,120,0,0,0,30,0,0,0,7,128, + 0,0,1,192,0,0,0,112,0,0,0,28,0,0,0,7, + 0,0,0,3,192,0,0,0,240,0,0,0,60,0,0,0, + 15,0,0,0,3,128,0,0,0,224,0,0,0,56,0,0, + 0,14,0,0,0,6,35,10,50,39,2,6,255,255,255,255, + 224,255,255,255,255,224,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,255,255,255,255,224,255,255,255,255,224,32,34, + 136,39,3,250,64,0,0,0,224,0,0,0,56,0,0,0, + 14,0,0,0,7,128,0,0,1,224,0,0,0,120,0,0, + 0,30,0,0,0,7,128,0,0,1,192,0,0,0,112,0, + 0,0,28,0,0,0,15,0,0,0,3,192,0,0,0,240, + 0,0,0,60,0,0,0,15,0,0,0,7,0,0,0,30, + 0,0,0,120,0,0,1,224,0,0,3,128,0,0,14,0, + 0,0,56,0,0,0,224,0,0,3,192,0,0,15,0,0, + 0,60,0,0,0,240,0,0,1,192,0,0,7,0,0,0, + 28,0,0,0,112,0,0,0,96,0,0,0,15,28,56,20, + 3,0,15,192,48,112,64,60,192,28,192,30,248,30,248,30, + 112,30,0,28,0,60,0,120,0,240,1,192,3,128,6,0, + 12,0,8,32,8,32,8,32,12,64,7,128,0,0,0,0, + 3,128,7,192,7,192,7,192,3,128,29,29,116,33,2,1, + 0,63,248,0,1,192,14,0,3,0,3,0,6,0,1,128, + 12,0,0,192,24,7,206,96,48,12,124,32,48,56,60,48, + 96,112,60,16,96,224,56,24,96,224,56,24,193,192,56,24, + 193,192,56,24,193,192,48,24,195,192,112,24,195,128,112,24, + 195,128,112,48,195,128,224,48,195,128,224,48,67,129,224,96, + 97,130,224,192,97,196,225,128,48,120,62,0,48,0,0,0, + 24,0,0,0,12,0,0,0,6,0,4,0,3,128,28,0, + 0,127,240,0,29,29,116,32,2,0,0,2,0,0,0,6, + 0,0,0,7,0,0,0,7,0,0,0,15,128,0,0,15, + 128,0,0,15,128,0,0,31,192,0,0,19,192,0,0,51, + 192,0,0,49,224,0,0,33,224,0,0,97,224,0,0,96, + 240,0,0,64,240,0,0,192,240,0,0,192,120,0,0,128, + 120,0,1,128,120,0,1,255,252,0,1,0,60,0,3,0, + 28,0,3,0,30,0,6,0,30,0,6,0,15,0,6,0, + 15,0,14,0,15,0,30,0,15,128,255,224,255,248,23,29, + 87,28,3,0,255,255,128,15,0,224,15,0,120,15,0,60, + 15,0,28,15,0,28,15,0,30,15,0,30,15,0,28,15, + 0,28,15,0,56,15,0,48,15,0,224,15,255,0,15,0, + 224,15,0,112,15,0,56,15,0,60,15,0,30,15,0,30, + 15,0,30,15,0,30,15,0,30,15,0,30,15,0,60,15, + 0,60,15,0,120,15,0,224,255,255,128,22,29,87,28,3, + 1,1,254,8,7,3,152,12,0,248,28,0,248,24,0,120, + 56,0,56,120,0,56,112,0,24,112,0,24,240,0,8,240, + 0,8,240,0,0,240,0,0,240,0,0,240,0,0,240,0, + 0,240,0,0,240,0,0,240,0,0,112,0,12,112,0,12, + 120,0,12,56,0,24,56,0,24,28,0,24,12,0,48,6, + 0,96,3,0,192,0,255,128,27,29,116,32,3,0,255,255, + 192,0,15,0,112,0,15,0,28,0,15,0,14,0,15,0, + 7,0,15,0,7,128,15,0,3,128,15,0,3,192,15,0, + 3,192,15,0,1,192,15,0,1,224,15,0,1,224,15,0, + 1,224,15,0,1,224,15,0,1,224,15,0,1,224,15,0, + 1,224,15,0,1,224,15,0,1,224,15,0,3,192,15,0, + 3,192,15,0,3,192,15,0,3,128,15,0,7,0,15,0, + 7,0,15,0,14,0,15,0,28,0,15,0,112,0,255,255, + 192,0,23,29,87,29,3,0,255,255,254,15,0,62,15,0, + 14,15,0,14,15,0,6,15,0,6,15,0,2,15,0,2, + 15,1,2,15,1,0,15,1,0,15,1,0,15,3,0,15, + 7,0,15,255,0,15,7,0,15,3,0,15,1,0,15,1, + 2,15,1,2,15,1,2,15,0,2,15,0,6,15,0,6, + 15,0,6,15,0,14,15,0,30,15,0,126,255,255,254,23, + 29,87,28,3,0,255,255,254,15,0,62,15,0,14,15,0, + 14,15,0,6,15,0,6,15,0,2,15,0,2,15,1,2, + 15,1,0,15,1,0,15,1,0,15,3,0,15,7,0,15, + 255,0,15,7,0,15,3,0,15,1,0,15,1,0,15,1, + 0,15,1,0,15,0,0,15,0,0,15,0,0,15,0,0, + 15,0,0,15,0,0,15,0,0,255,240,0,25,30,120,29, + 3,0,0,16,0,0,1,254,8,0,6,3,152,0,12,0, + 248,0,28,0,248,0,24,0,120,0,56,0,56,0,56,0, + 56,0,112,0,24,0,112,0,24,0,112,0,8,0,240,0, + 8,0,240,0,0,0,240,0,0,0,240,0,0,0,240,7, + 255,128,240,0,120,0,240,0,120,0,240,0,120,0,240,0, + 120,0,112,0,120,0,112,0,120,0,112,0,120,0,56,0, + 120,0,56,0,120,0,24,0,248,0,28,0,200,0,12,1, + 136,0,6,3,8,0,1,254,8,0,28,29,116,33,3,0, + 255,240,255,240,15,0,15,0,15,0,15,0,15,0,15,0, + 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, + 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, + 15,0,15,0,15,255,255,0,15,0,15,0,15,0,15,0, + 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, + 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, + 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, + 255,240,255,240,12,29,58,17,3,0,255,240,15,0,15,0, + 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, + 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, + 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, + 15,0,255,240,19,29,87,22,2,0,1,255,224,0,30,0, + 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, + 30,0,0,30,0,0,30,0,0,30,0,0,30,0,0,30, + 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, + 0,30,0,0,30,0,120,30,0,248,30,0,248,30,0,248, + 30,0,192,28,0,192,28,0,64,24,0,96,48,0,31,224, + 0,27,29,116,32,3,0,255,241,255,192,15,0,126,0,15, + 0,60,0,15,0,56,0,15,0,112,0,15,0,96,0,15, + 0,192,0,15,1,128,0,15,3,0,0,15,6,0,0,15, + 14,0,0,15,30,0,0,15,63,0,0,15,111,0,0,15, + 207,128,0,15,135,128,0,15,7,192,0,15,3,192,0,15, + 3,224,0,15,3,224,0,15,1,240,0,15,1,240,0,15, + 0,248,0,15,0,248,0,15,0,124,0,15,0,124,0,15, + 0,62,0,15,0,63,0,255,241,255,224,23,29,87,28,3, + 0,255,248,0,15,0,0,15,0,0,15,0,0,15,0,0, + 15,0,0,15,0,0,15,0,0,15,0,0,15,0,0,15, + 0,0,15,0,0,15,0,0,15,0,0,15,0,0,15,0, + 0,15,0,0,15,0,0,15,0,2,15,0,2,15,0,6, + 15,0,6,15,0,6,15,0,14,15,0,14,15,0,30,15, + 0,62,15,0,254,255,255,254,30,29,116,35,3,0,255,128, + 3,252,15,128,7,192,15,192,7,192,15,192,7,192,15,192, + 15,192,13,192,11,192,13,224,11,192,13,224,11,192,12,224, + 27,192,12,240,19,192,12,240,19,192,12,112,51,192,12,112, + 35,192,12,120,35,192,12,120,35,192,12,56,99,192,12,60, + 67,192,12,60,67,192,12,28,195,192,12,28,131,192,12,30, + 131,192,12,14,131,192,12,15,131,192,12,15,3,192,12,15, + 3,192,12,7,3,192,12,6,3,192,30,6,3,192,255,194, + 63,252,28,29,116,32,3,0,255,0,63,240,15,128,7,128, + 15,128,3,0,15,192,3,0,15,224,3,0,13,224,3,0, + 13,240,3,0,12,248,3,0,12,120,3,0,12,124,3,0, + 12,60,3,0,12,30,3,0,12,31,3,0,12,15,3,0, + 12,7,131,0,12,7,131,0,12,3,195,0,12,3,227,0, + 12,1,227,0,12,0,243,0,12,0,251,0,12,0,123,0, + 12,0,63,0,12,0,63,0,12,0,31,0,12,0,31,0, + 12,0,15,0,30,0,7,0,255,192,7,0,24,29,87,29, + 3,1,0,255,0,3,0,192,6,0,96,12,0,48,28,0, + 56,56,0,28,56,0,28,120,0,30,112,0,14,112,0,14, + 240,0,15,240,0,15,240,0,15,240,0,15,240,0,15,240, + 0,15,240,0,15,240,0,15,240,0,15,112,0,14,112,0, + 14,120,0,30,56,0,28,56,0,28,28,0,56,12,0,48, + 6,0,96,3,0,192,0,255,0,23,29,87,28,3,0,255, + 255,128,15,0,224,15,0,120,15,0,60,15,0,60,15,0, + 30,15,0,30,15,0,30,15,0,30,15,0,30,15,0,60, + 15,0,60,15,0,120,15,0,224,15,255,128,15,0,0,15, + 0,0,15,0,0,15,0,0,15,0,0,15,0,0,15,0, + 0,15,0,0,15,0,0,15,0,0,15,0,0,15,0,0, + 15,0,0,255,248,0,24,36,108,29,3,250,0,255,0,3, + 0,192,6,0,96,12,0,48,28,0,56,56,0,28,56,0, + 28,120,0,30,112,0,14,112,0,14,240,0,15,240,0,15, + 240,0,15,240,0,15,240,0,15,240,0,15,240,0,15,240, + 0,15,240,0,15,112,0,14,120,0,30,120,0,30,56,60, + 28,56,99,28,28,195,56,14,193,184,6,193,240,3,193,225, + 0,247,193,0,9,193,0,1,193,0,1,195,0,1,226,0, + 1,254,0,0,252,0,0,56,25,29,116,29,3,0,255,255, + 128,0,15,1,240,0,15,0,120,0,15,0,120,0,15,0, + 60,0,15,0,60,0,15,0,60,0,15,0,60,0,15,0, + 60,0,15,0,120,0,15,0,240,0,15,1,224,0,15,255, + 0,0,15,3,128,0,15,1,192,0,15,0,224,0,15,0, + 224,0,15,0,240,0,15,0,240,0,15,0,240,0,15,0, + 240,0,15,0,240,0,15,0,248,128,15,0,120,128,15,0, + 120,128,15,0,121,128,15,0,127,0,15,0,63,0,255,248, + 30,0,19,29,87,25,4,1,15,240,192,48,28,192,96,15, + 192,96,7,192,192,3,192,192,1,192,192,1,192,192,0,192, + 224,0,192,240,0,192,120,0,64,127,0,0,63,192,0,31, + 248,0,15,254,0,1,255,128,128,127,128,128,15,192,128,3, + 224,128,1,224,192,0,224,192,0,96,224,0,96,224,0,96, + 240,0,96,248,0,192,156,0,128,134,1,0,131,254,0,24, + 29,87,29,3,0,255,255,255,248,60,31,240,60,15,224,60, + 7,192,60,3,192,60,3,192,60,3,128,60,1,128,60,1, + 128,60,1,128,60,1,0,60,0,0,60,0,0,60,0,0, + 60,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60, + 0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0, + 0,60,0,0,60,0,0,60,0,7,255,224,29,29,116,34, + 3,0,255,240,31,248,15,0,3,192,15,0,1,128,15,0, + 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, + 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, + 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, + 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, + 1,128,15,0,1,128,15,0,1,128,15,0,1,128,7,0, + 1,0,7,0,3,0,3,128,2,0,1,192,6,0,0,224, + 24,0,0,63,240,0,29,29,116,32,2,0,255,248,63,248, + 15,128,3,192,7,128,3,128,7,128,3,0,3,192,3,0, + 3,192,3,0,3,192,2,0,1,224,6,0,1,224,6,0, + 1,240,4,0,0,240,12,0,0,240,12,0,0,248,8,0, + 0,120,24,0,0,120,24,0,0,60,16,0,0,60,48,0, + 0,60,48,0,0,30,32,0,0,30,96,0,0,31,96,0, + 0,15,64,0,0,15,192,0,0,15,192,0,0,7,128,0, + 0,7,128,0,0,7,128,0,0,3,0,0,0,3,0,0, + 41,29,174,44,2,0,255,241,255,227,255,128,15,128,63,0, + 124,0,7,128,30,0,56,0,7,128,30,0,48,0,7,128, + 31,0,48,0,3,192,31,0,48,0,3,192,31,0,96,0, + 3,192,55,0,96,0,1,224,55,128,96,0,1,224,55,128, + 64,0,1,224,39,128,192,0,1,224,99,192,192,0,0,240, + 99,192,128,0,0,240,67,193,128,0,0,240,193,193,128,0, + 0,120,193,225,0,0,0,120,193,227,0,0,0,120,129,227, + 0,0,0,125,128,242,0,0,0,61,128,246,0,0,0,61, + 0,246,0,0,0,61,0,116,0,0,0,31,0,124,0,0, + 0,31,0,124,0,0,0,30,0,60,0,0,0,14,0,56, + 0,0,0,14,0,56,0,0,0,12,0,56,0,0,0,12, + 0,16,0,0,28,29,116,31,2,0,255,248,255,224,7,192, + 30,0,7,192,28,0,3,224,24,0,1,224,24,0,1,240, + 48,0,0,240,32,0,0,248,96,0,0,120,192,0,0,124, + 128,0,0,61,128,0,0,63,0,0,0,30,0,0,0,15, + 0,0,0,15,0,0,0,15,128,0,0,31,128,0,0,51, + 192,0,0,51,224,0,0,97,224,0,0,193,240,0,0,192, + 240,0,1,128,248,0,3,0,120,0,3,0,124,0,6,0, + 60,0,14,0,62,0,31,0,63,0,255,225,255,240,27,29, + 116,30,2,0,255,248,127,224,15,128,31,0,15,128,14,0, + 7,128,12,0,3,192,12,0,3,192,8,0,1,224,24,0, + 1,240,16,0,0,240,48,0,0,248,32,0,0,120,96,0, + 0,60,64,0,0,60,192,0,0,30,128,0,0,31,0,0, + 0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0, + 0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0, + 0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0, + 0,15,0,0,1,255,248,0,22,29,87,27,3,0,63,255, + 252,62,0,120,60,0,248,56,0,240,48,1,224,48,3,224, + 96,3,192,96,7,128,64,15,128,64,15,0,0,31,0,0, + 62,0,0,60,0,0,124,0,0,120,0,0,240,0,1,240, + 0,1,224,0,3,224,4,7,192,4,7,128,12,15,128,12, + 31,0,12,31,0,28,62,0,28,60,0,60,124,0,120,248, + 0,248,255,255,248,8,37,37,16,5,248,255,240,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,240,255, + 14,38,76,18,2,248,192,0,64,0,96,0,96,0,32,0, + 48,0,48,0,16,0,24,0,24,0,8,0,12,0,12,0, + 4,0,4,0,6,0,2,0,2,0,3,0,3,0,1,0, + 1,128,1,128,0,128,0,192,0,192,0,64,0,96,0,96, + 0,32,0,48,0,48,0,16,0,24,0,24,0,8,0,12, + 0,12,8,37,37,16,3,248,255,15,7,7,7,7,7,7, + 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, + 7,7,7,7,7,7,7,7,7,7,7,15,255,18,14,42, + 24,3,15,0,192,0,1,192,0,1,224,0,3,48,0,3, + 48,0,6,24,0,12,12,0,12,12,0,24,6,0,48,6, + 0,48,3,0,96,1,128,224,1,128,192,0,192,21,2,6, + 21,0,250,255,255,248,255,255,248,7,7,7,18,3,21,192, + 224,112,56,24,12,2,18,19,57,21,2,0,15,192,0,56, + 112,0,32,56,0,96,28,0,120,28,0,120,28,0,56,28, + 0,0,28,0,0,252,0,15,28,0,56,28,0,112,28,0, + 224,28,0,224,28,64,224,60,64,224,60,64,224,92,192,112, + 159,128,31,15,0,18,29,87,21,1,0,252,0,0,28,0, + 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,0, + 28,0,0,28,0,0,28,0,0,28,120,0,28,142,0,29, + 7,0,30,3,128,30,3,128,28,3,128,28,3,192,28,3, + 192,28,3,192,28,3,192,28,3,192,28,3,192,28,3,192, + 28,3,128,28,3,128,30,3,128,27,7,0,17,142,0,16, + 248,0,15,19,38,18,2,0,7,224,28,16,56,8,48,12, + 112,28,112,60,240,60,240,24,240,0,240,0,240,0,240,0, + 240,6,112,4,112,4,48,12,56,8,12,48,7,224,18,29, + 87,21,2,0,0,254,0,0,14,0,0,14,0,0,14,0, + 0,14,0,0,14,0,0,14,0,0,14,0,0,14,0,0, + 14,0,15,142,0,28,78,0,56,46,0,112,30,0,112,30, + 0,112,14,0,240,14,0,240,14,0,240,14,0,240,14,0, + 240,14,0,240,14,0,240,14,0,112,14,0,112,14,0,112, + 30,0,56,62,0,24,110,0,7,207,192,15,19,38,19,2, + 0,7,192,12,112,56,56,48,28,112,28,112,28,240,30,240, + 30,255,254,240,0,240,0,240,0,240,6,112,4,112,4,56, + 4,56,8,28,16,7,224,14,29,58,14,1,0,1,240,7, + 24,14,24,12,60,28,60,28,56,28,0,28,0,28,0,28, + 0,255,192,28,0,28,0,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,255,192,20,28,84,22,2,247,7,225,192, + 28,58,96,56,30,240,112,30,240,112,14,224,240,15,0,240, + 15,0,240,15,0,112,14,0,112,30,0,56,28,0,28,56, + 0,7,224,0,56,0,0,64,0,0,192,0,0,240,0,0, + 255,254,0,63,255,0,15,7,128,112,1,192,64,0,192,192, + 0,192,192,0,192,192,1,128,96,1,128,56,6,0,7,248, + 0,20,29,87,22,1,0,252,0,0,28,0,0,28,0,0, + 28,0,0,28,0,0,28,0,0,28,0,0,28,0,0,28, + 0,0,28,0,0,28,60,0,28,199,0,29,3,0,29,3, + 128,30,3,128,30,3,128,28,3,128,28,3,128,28,3,128, + 28,3,128,28,3,128,28,3,128,28,3,128,28,3,128,28, + 3,128,28,3,128,28,3,128,28,3,128,255,159,240,8,28, + 28,11,1,0,24,60,60,24,0,0,0,0,0,252,28,28, + 28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,255, + 11,37,74,14,255,247,0,192,1,224,1,224,0,192,0,0, + 0,0,0,0,0,0,0,0,15,224,0,224,0,224,0,224, + 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, + 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, + 0,224,0,224,224,224,240,224,224,192,193,128,99,128,62,0, + 19,29,87,21,1,0,252,0,0,28,0,0,28,0,0,28, + 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, + 0,28,0,0,28,63,192,28,14,0,28,12,0,28,8,0, + 28,16,0,28,48,0,28,96,0,28,192,0,28,224,0,29, + 224,0,30,240,0,30,120,0,28,60,0,28,60,0,28,30, + 0,28,15,0,28,15,0,28,15,128,255,63,224,9,29,58, + 11,1,0,252,0,28,0,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,28,0,28,0,28,0,255,128,31,19,76, + 33,1,0,252,124,15,128,28,199,24,192,29,7,32,224,31, + 3,224,112,30,3,192,112,28,3,128,112,28,3,128,112,28, + 3,128,112,28,3,128,112,28,3,128,112,28,3,128,112,28, + 3,128,112,28,3,128,112,28,3,128,112,28,3,128,112,28, + 3,128,112,28,3,128,112,28,3,128,112,255,159,243,254,20, + 19,57,22,1,0,252,60,0,28,199,0,29,3,0,31,3, + 128,30,3,128,30,3,128,28,3,128,28,3,128,28,3,128, + 28,3,128,28,3,128,28,3,128,28,3,128,28,3,128,28, + 3,128,28,3,128,28,3,128,28,3,128,255,159,240,17,19, + 57,21,2,0,3,224,0,12,56,0,24,28,0,56,14,0, + 112,14,0,112,7,0,240,7,0,240,7,0,240,7,128,240, + 7,128,240,7,128,240,7,0,240,7,0,112,7,0,112,14, + 0,56,14,0,24,28,0,12,56,0,3,224,0,18,28,84, + 21,1,247,252,120,0,29,142,0,31,7,0,30,3,128,30, + 3,128,28,3,128,28,3,192,28,3,192,28,3,192,28,3, + 192,28,3,192,28,3,192,28,3,192,28,3,128,28,3,128, + 30,3,128,31,7,0,29,134,0,28,120,0,28,0,0,28, + 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, + 0,28,0,0,255,128,0,18,28,84,21,2,247,7,130,0, + 28,98,0,56,54,0,112,22,0,112,30,0,112,14,0,240, + 14,0,240,14,0,240,14,0,240,14,0,240,14,0,240,14, + 0,240,14,0,112,14,0,112,14,0,112,30,0,56,62,0, + 24,110,0,7,206,0,0,14,0,0,14,0,0,14,0,0, + 14,0,0,14,0,0,14,0,0,14,0,0,14,0,0,127, + 192,15,19,38,16,1,0,252,56,28,196,28,142,29,30,31, + 28,30,12,30,0,30,0,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,28,0,28,0,28,0,255,128,14,19,38, + 18,2,0,31,16,96,208,64,112,192,48,192,16,224,16,240, + 0,126,0,63,128,31,224,3,248,128,252,192,28,192,12,224, + 12,224,12,240,8,140,24,131,224,12,27,54,14,1,0,4, + 0,4,0,4,0,4,0,4,0,12,0,12,0,28,0,255, + 224,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,28,0,28,16,28,16,28,16,28,48,30, + 32,15,224,7,192,20,19,57,22,1,0,252,31,128,28,3, + 128,28,3,128,28,3,128,28,3,128,28,3,128,28,3,128, + 28,3,128,28,3,128,28,3,128,28,3,128,28,3,128,28, + 3,128,28,7,128,28,7,128,28,15,128,12,11,128,14,51, + 128,3,195,240,20,19,57,21,1,0,255,15,240,60,3,128, + 28,3,0,28,3,0,14,2,0,14,2,0,15,6,0,7, + 4,0,7,4,0,3,140,0,3,136,0,3,200,0,1,216, + 0,1,208,0,0,240,0,0,240,0,0,96,0,0,96,0, + 0,96,0,30,19,76,31,1,0,255,31,243,252,60,7,128, + 224,28,3,128,192,28,3,128,192,14,3,192,128,14,3,192, + 128,15,7,193,128,7,5,225,0,7,4,225,0,3,140,227, + 0,3,136,114,0,1,200,114,0,1,216,118,0,1,240,60, + 0,0,240,60,0,0,240,60,0,0,96,24,0,0,96,24, + 0,0,32,24,0,18,19,57,21,1,0,255,31,192,30,14, + 0,30,12,0,14,8,0,15,24,0,7,16,0,3,160,0, + 3,224,0,1,192,0,1,224,0,1,224,0,1,112,0,3, + 120,0,2,56,0,4,28,0,12,28,0,24,14,0,24,15, + 0,254,63,192,20,28,84,22,1,247,255,143,240,30,1,128, + 30,1,128,14,1,0,14,1,0,15,3,0,7,2,0,7, + 2,0,3,134,0,3,132,0,3,132,0,1,204,0,1,200, + 0,1,200,0,0,248,0,0,240,0,0,240,0,0,112,0, + 0,96,0,0,96,0,0,96,0,0,64,0,48,64,0,120, + 192,0,120,128,0,113,128,0,51,0,0,30,0,0,14,19, + 38,18,2,0,255,252,224,60,192,56,192,120,128,240,128,224, + 129,224,1,192,3,128,7,128,7,0,15,0,30,4,28,4, + 60,4,56,12,112,12,240,28,255,252,10,37,74,17,4,248, + 1,192,6,0,12,0,8,0,24,0,24,0,24,0,28,0, + 28,0,12,0,14,0,14,0,14,0,6,0,6,0,6,0, + 4,0,8,0,240,0,24,0,12,0,4,0,6,0,6,0, + 14,0,14,0,14,0,12,0,28,0,28,0,24,0,24,0, + 24,0,8,0,12,0,6,0,1,192,2,38,38,12,5,248, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,10,37,74,17,3,248,224,0,24,0, + 12,0,4,0,6,0,6,0,6,0,14,0,14,0,12,0, + 28,0,28,0,28,0,24,0,24,0,24,0,8,0,4,0, + 3,192,6,0,8,0,24,0,24,0,24,0,28,0,28,0, + 28,0,12,0,14,0,14,0,6,0,6,0,6,0,4,0, + 12,0,24,0,224,0,23,8,24,27,2,7,30,0,8,127, + 192,4,255,240,2,199,254,2,128,255,134,128,63,254,192,15, + 252,96,1,248,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,255,255, + 255,255,255,255,255,0,0,0,11,0,0,5,28,28,11,3, + 247,112,248,248,248,112,0,32,32,32,32,32,32,112,112,112, + 112,112,112,112,112,248,248,248,248,248,248,248,112,14,28,56, + 24,5,252,0,128,0,128,0,128,0,128,0,128,7,224,12, + 152,24,136,56,140,112,156,112,188,240,188,240,152,240,128,240, + 128,240,128,240,128,240,132,112,132,112,132,56,132,24,136,14, + 144,3,224,0,128,0,128,0,128,0,128,23,28,84,30,3, + 0,0,3,240,0,6,24,0,28,12,0,24,14,0,48,62, + 0,112,62,0,112,62,0,112,24,0,112,0,0,240,0,0, + 240,0,0,240,0,31,240,0,32,255,128,0,240,0,0,240, + 0,0,240,0,0,240,0,0,240,0,0,240,0,0,224,0, + 0,224,0,62,224,2,67,192,2,128,224,4,129,127,60,194, + 63,248,60,15,240,20,20,60,24,2,4,64,0,32,225,248, + 112,119,254,224,62,7,192,24,1,128,48,0,192,48,0,192, + 96,0,96,96,0,96,96,0,96,96,0,96,96,0,96,96, + 0,96,48,0,192,48,0,192,24,1,128,62,7,192,119,254, + 224,225,248,112,64,0,32,22,28,84,24,1,0,255,131,252, + 62,0,112,30,0,96,14,0,64,15,0,64,15,0,128,7, + 128,128,7,129,0,3,193,0,3,194,0,1,226,0,1,228, + 0,0,252,0,0,248,0,0,120,0,31,255,192,0,120,0, + 0,120,0,31,255,192,0,120,0,0,120,0,0,120,0,0, + 120,0,0,120,0,0,120,0,0,120,0,0,120,0,7,255, + 128,2,37,37,12,5,249,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,0,0,0,0,0,0,0,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,15,36,72,26, + 4,248,7,192,12,32,24,48,48,120,48,120,48,112,56,0, + 56,0,28,0,30,0,15,0,31,192,35,224,97,240,64,248, + 192,60,192,30,192,14,224,6,240,6,120,6,60,4,31,12, + 15,152,7,224,3,224,0,224,0,112,0,112,0,56,56,56, + 60,56,56,48,48,48,24,96,7,128,12,4,8,18,3,22, + 96,96,240,240,240,240,96,96,30,29,116,34,2,1,0,127, + 248,0,1,192,14,0,3,0,3,0,4,0,0,128,8,0, + 0,64,16,7,196,32,32,24,108,16,32,48,60,16,64,112, + 28,8,64,224,12,8,192,224,12,8,129,224,4,4,129,224, + 0,4,129,224,0,4,129,224,0,4,129,224,0,4,129,224, + 0,4,129,224,4,4,192,224,4,8,64,224,8,8,64,112, + 8,8,32,112,24,16,48,24,48,48,16,15,192,32,8,0, + 0,64,4,0,0,128,3,0,3,0,1,192,14,0,0,127, + 248,0,11,14,28,16,3,14,60,0,102,0,67,0,99,0, + 99,0,7,0,27,0,99,0,195,0,195,32,231,32,121,192, + 0,0,127,192,10,16,32,19,4,1,24,64,48,192,32,128, + 97,128,97,0,195,0,195,0,195,0,195,0,195,0,195,0, + 97,128,97,128,48,128,16,64,8,0,20,8,24,24,2,7, + 255,255,240,255,255,240,0,0,48,0,0,48,0,0,48,0, + 0,48,0,0,48,0,0,48,10,2,4,14,2,9,255,192, + 255,192,30,29,116,34,2,1,0,127,248,0,1,192,14,0, + 3,0,3,0,4,0,0,128,8,0,0,64,19,255,192,32, + 32,112,240,48,32,112,120,16,64,112,120,8,64,112,120,8, + 192,112,120,8,128,112,112,4,128,112,224,4,128,127,128,4, + 128,112,224,4,128,112,112,4,128,112,112,4,128,112,120,4, + 128,112,120,8,64,112,120,136,64,112,120,136,32,112,56,144, + 32,112,57,16,19,252,30,32,8,0,0,64,4,0,0,128, + 3,0,3,0,1,192,14,0,0,127,248,0,11,2,4,19, + 4,23,255,224,255,224,11,10,20,23,6,18,31,0,96,128, + 64,64,128,32,128,32,128,32,128,32,64,64,96,128,31,0, + 35,28,140,39,2,254,0,0,192,0,0,0,0,192,0,0, + 0,0,192,0,0,0,0,192,0,0,0,0,192,0,0,0, + 0,192,0,0,0,0,192,0,0,0,0,192,0,0,0,0, + 192,0,0,0,0,192,0,0,0,0,192,0,0,255,255,255, + 255,224,255,255,255,255,224,0,0,192,0,0,0,0,192,0, + 0,0,0,192,0,0,0,0,192,0,0,0,0,192,0,0, + 0,0,192,0,0,0,0,192,0,0,0,0,192,0,0,0, + 0,192,0,0,0,0,192,0,0,0,0,192,0,0,0,0, + 0,0,0,0,0,0,0,0,255,255,255,255,192,255,255,255, + 255,192,11,17,34,18,4,11,31,0,99,192,129,192,128,224, + 192,224,224,224,112,224,1,192,1,128,3,0,12,0,24,0, + 32,32,64,32,64,96,255,224,255,224,11,17,34,18,5,11, + 31,0,97,192,192,192,224,224,240,224,0,224,0,192,97,128, + 126,0,1,128,0,192,0,224,224,224,240,224,224,192,129,192, + 127,0,7,7,7,18,8,21,6,14,28,56,48,96,128,21, + 30,90,25,3,245,96,6,0,224,15,0,240,15,0,240,15, + 0,240,15,0,224,15,0,224,15,0,224,15,0,224,15,0, + 224,15,0,224,6,0,64,6,0,64,6,0,64,6,0,96, + 12,8,96,14,24,88,57,248,79,241,248,67,224,112,192,0, + 0,192,0,0,192,0,0,192,0,0,192,0,0,224,0,0, + 224,0,0,240,0,0,240,0,0,112,0,0,112,0,0,17, + 35,105,23,3,250,15,255,128,63,140,0,127,140,0,127,140, + 0,255,140,0,255,140,0,255,140,0,255,140,0,255,140,0, + 127,140,0,127,140,0,63,140,0,7,140,0,1,140,0,1, + 140,0,1,140,0,1,140,0,1,140,0,1,140,0,1,140, + 0,1,140,0,1,140,0,1,140,0,1,140,0,1,140,0, + 1,140,0,1,140,0,1,140,0,1,140,0,1,140,0,1, + 140,0,1,140,0,1,140,0,1,140,0,1,140,0,5,5, + 5,11,3,10,112,248,248,248,112,8,8,8,18,5,248,48, + 32,60,6,7,7,15,252,9,17,34,19,5,11,4,0,12, + 0,28,0,252,0,28,0,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,28,0,28,0,28,0,28,0,255,128,10, + 14,28,16,3,14,30,0,51,0,97,128,192,192,192,192,192, + 192,192,192,192,192,193,192,97,128,35,0,30,0,0,0,255, + 192,10,16,32,20,5,1,134,0,195,0,65,0,97,128,32, + 192,48,192,48,192,48,192,48,192,48,192,48,192,97,128,97, + 128,67,0,130,0,4,0,27,28,112,35,5,0,4,0,12, + 0,12,0,8,0,28,0,24,0,252,0,16,0,28,0,32, + 0,28,0,96,0,28,0,64,0,28,0,192,0,28,0,128, + 0,28,1,128,0,28,3,0,0,28,2,0,0,28,6,7, + 0,28,4,15,0,28,12,15,0,28,24,23,0,255,144,23, + 0,0,48,39,0,0,32,71,0,0,96,71,0,0,192,135, + 0,0,129,7,0,1,129,255,224,1,0,7,0,3,0,7, + 0,6,0,7,0,6,0,7,0,12,0,63,224,27,28,112, + 35,5,0,4,0,4,0,12,0,12,0,28,0,8,0,252, + 0,16,0,28,0,48,0,28,0,32,0,28,0,96,0,28, + 0,64,0,28,0,128,0,28,1,128,0,28,1,0,0,28, + 3,31,0,28,6,99,192,28,4,129,192,28,12,128,224,28, + 8,192,224,255,152,224,224,0,48,240,224,0,32,1,192,0, + 96,1,128,0,64,3,0,0,192,12,0,1,128,24,0,1, + 0,32,32,3,0,64,32,2,0,64,96,6,0,255,224,12, + 0,255,224,28,28,112,36,5,0,31,0,6,0,97,192,4, + 0,192,224,8,0,224,224,24,0,240,224,16,0,0,192,48, + 0,1,128,96,0,126,0,64,0,97,128,192,0,0,192,128, + 0,0,225,128,0,96,227,3,128,240,226,3,128,224,230,7, + 128,129,196,7,128,67,136,11,128,62,24,19,128,0,16,19, + 128,0,48,35,128,0,96,99,128,0,64,67,128,0,192,131, + 128,0,128,255,240,1,128,3,128,3,0,3,128,2,0,3, + 128,6,0,3,128,4,0,31,240,15,28,56,19,1,247,3, + 128,7,192,7,192,7,192,3,128,0,0,3,128,4,64,8, + 32,8,32,8,96,0,96,0,192,1,128,7,0,14,0,28, + 0,56,0,120,0,240,60,240,62,240,62,240,6,240,6,112, + 6,120,12,28,24,7,224,29,38,152,32,2,0,0,224,0, + 0,0,240,0,0,0,112,0,0,0,56,0,0,0,12,0, + 0,0,6,0,0,0,2,0,0,0,0,0,0,0,0,0, + 0,0,2,0,0,0,6,0,0,0,7,0,0,0,7,0, + 0,0,15,128,0,0,15,128,0,0,15,128,0,0,31,192, + 0,0,19,192,0,0,51,192,0,0,49,224,0,0,33,224, + 0,0,97,224,0,0,96,240,0,0,64,240,0,0,192,240, + 0,0,192,120,0,0,128,120,0,1,128,120,0,1,255,252, + 0,1,0,60,0,3,0,28,0,3,0,30,0,6,0,30, + 0,6,0,15,0,6,0,15,0,14,0,15,0,30,0,15, + 128,255,224,255,248,29,38,152,32,2,0,0,0,48,0,0, + 0,112,0,0,0,240,0,0,0,224,0,0,1,128,0,0, + 3,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0, + 2,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0, + 15,128,0,0,15,128,0,0,15,128,0,0,31,192,0,0, + 19,192,0,0,51,192,0,0,49,224,0,0,33,224,0,0, + 97,224,0,0,96,240,0,0,64,240,0,0,192,240,0,0, + 192,120,0,0,128,120,0,1,128,120,0,1,255,252,0,3, + 0,60,0,3,0,30,0,3,0,30,0,6,0,30,0,6, + 0,15,0,6,0,15,0,14,0,15,0,31,0,31,192,255, + 224,255,248,29,38,152,32,2,0,0,6,0,0,0,7,0, + 0,0,15,128,0,0,29,128,0,0,56,192,0,0,96,48, + 0,0,128,8,0,0,0,0,0,0,0,0,0,0,2,0, + 0,0,6,0,0,0,7,0,0,0,7,0,0,0,15,128, + 0,0,15,128,0,0,15,128,0,0,31,192,0,0,19,192, + 0,0,51,192,0,0,49,224,0,0,33,224,0,0,97,224, + 0,0,96,240,0,0,64,240,0,0,192,240,0,0,192,120, + 0,0,128,120,0,1,128,120,0,1,255,252,0,1,0,60, + 0,3,0,28,0,3,0,30,0,6,0,30,0,6,0,15, + 0,6,0,15,0,14,0,15,0,30,0,15,128,255,224,255, + 248,29,37,148,32,2,0,0,60,8,0,0,127,24,0,0, + 207,240,0,0,129,240,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,2,0,0,0,6,0,0,0, + 7,0,0,0,7,0,0,0,15,128,0,0,15,128,0,0, + 15,128,0,0,31,192,0,0,19,192,0,0,51,192,0,0, + 49,224,0,0,33,224,0,0,97,224,0,0,96,240,0,0, + 64,240,0,0,192,240,0,0,192,120,0,0,128,120,0,1, + 128,120,0,1,255,252,0,3,0,60,0,3,0,30,0,3, + 0,30,0,6,0,30,0,6,0,15,0,6,0,15,0,14, + 0,15,0,31,0,31,192,255,224,255,248,29,37,148,32,2, + 0,0,96,48,0,0,240,120,0,0,240,120,0,0,96,48, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,2,0,0,0,6,0,0,0,7,0,0,0,7,0, + 0,0,15,128,0,0,15,128,0,0,31,128,0,0,31,192, + 0,0,19,192,0,0,51,192,0,0,49,224,0,0,33,224, + 0,0,97,224,0,0,96,240,0,0,64,240,0,0,192,112, + 0,0,192,120,0,0,128,120,0,1,128,56,0,1,255,252, + 0,1,0,28,0,3,0,28,0,3,0,30,0,6,0,30, + 0,6,0,15,0,6,0,15,0,14,0,15,0,31,0,15, + 128,255,224,255,248,29,39,156,32,2,0,0,15,0,0,0, + 16,128,0,0,32,64,0,0,32,64,0,0,32,64,0,0, + 32,64,0,0,16,128,0,0,15,0,0,0,0,0,0,0, + 0,0,0,0,2,0,0,0,6,0,0,0,7,0,0,0, + 7,0,0,0,15,128,0,0,15,128,0,0,31,128,0,0, + 31,192,0,0,19,192,0,0,51,192,0,0,51,224,0,0, + 33,224,0,0,97,224,0,0,97,240,0,0,64,240,0,0, + 192,240,0,0,192,248,0,0,128,120,0,1,128,120,0,1, + 255,252,0,1,0,60,0,3,0,60,0,2,0,62,0,6, + 0,30,0,6,0,31,0,6,0,31,0,14,0,15,0,30, + 0,15,128,255,224,255,248,37,29,145,41,1,0,0,3,255, + 255,248,0,0,124,0,248,0,0,124,0,56,0,0,124,0, + 56,0,0,252,0,24,0,1,188,0,24,0,1,188,0,8, + 0,3,60,0,8,0,3,60,4,8,0,6,60,4,0,0, + 6,60,4,0,0,12,60,4,0,0,12,60,12,0,0,24, + 60,28,0,0,24,63,252,0,0,48,60,28,0,0,48,60, + 12,0,0,96,60,4,0,0,96,60,4,8,0,255,252,4, + 8,0,128,60,4,8,1,128,60,0,8,1,0,60,0,24, + 3,0,60,0,24,2,0,60,0,24,6,0,60,0,56,14, + 0,60,0,120,31,0,60,1,248,255,225,255,255,248,22,38, + 114,28,3,248,1,255,12,7,1,140,14,0,252,28,0,124, + 24,0,60,56,0,60,56,0,28,112,0,28,112,0,12,112, + 0,12,240,0,8,240,0,0,240,0,0,240,0,0,240,0, + 0,240,0,0,240,0,0,240,0,0,240,0,0,112,0,4, + 112,0,4,120,0,12,56,0,8,56,0,8,28,0,16,12, + 0,16,14,0,32,3,0,192,1,247,128,0,56,0,0,32, + 0,0,56,0,0,14,0,0,7,0,0,7,0,0,7,0, + 1,14,0,0,252,0,23,38,114,29,3,0,1,128,0,1, + 192,0,1,224,0,0,224,0,0,48,0,0,24,0,0,12, + 0,0,0,0,0,0,0,255,255,254,15,0,62,15,0,14, + 15,0,14,15,0,6,15,0,6,15,0,2,15,0,2,15, + 1,2,15,1,0,15,1,0,15,1,0,15,3,0,15,7, + 0,15,255,0,15,7,0,15,3,0,15,1,0,15,1,2, + 15,1,2,15,1,2,15,0,2,15,0,6,15,0,6,15, + 0,6,15,0,14,15,0,30,15,0,126,255,255,254,23,38, + 114,29,3,0,0,0,192,0,1,224,0,3,192,0,3,128, + 0,6,0,0,12,0,0,8,0,0,0,0,0,0,0,255, + 255,254,15,0,62,15,0,14,15,0,14,15,0,6,15,0, + 6,15,0,2,15,0,2,15,1,2,15,1,0,15,1,0, + 15,1,0,15,3,0,15,7,0,15,255,0,15,7,0,15, + 3,0,15,1,0,15,1,2,15,1,2,15,1,2,15,0, + 2,15,0,6,15,0,6,15,0,6,15,0,14,15,0,30, + 15,0,126,255,255,254,23,38,114,29,3,0,0,8,0,0, + 28,0,0,62,0,0,55,0,0,99,128,1,128,192,2,0, + 32,0,0,0,0,0,0,255,255,254,15,0,62,15,0,14, + 15,0,14,15,0,6,15,0,6,15,0,2,15,0,2,15, + 1,2,15,1,0,15,1,0,15,1,0,15,3,0,15,7, + 0,15,255,0,15,7,0,15,3,0,15,1,0,15,1,2, + 15,1,2,15,1,2,15,0,2,15,0,6,15,0,6,15, + 0,6,15,0,14,15,0,30,15,0,126,255,255,254,23,37, + 111,29,3,0,1,128,192,3,193,224,3,193,224,1,128,192, + 0,0,0,0,0,0,0,0,0,0,0,0,255,255,254,15, + 0,62,15,0,14,15,0,14,15,0,6,15,0,6,15,0, + 2,15,0,2,15,1,2,15,1,0,15,1,0,15,3,0, + 15,3,0,15,7,0,15,255,0,15,7,0,15,3,0,15, + 3,0,15,1,2,15,1,2,15,1,2,15,0,2,15,0, + 6,15,0,6,15,0,6,15,0,14,15,0,30,15,0,126, + 255,255,254,12,38,76,17,3,0,192,0,224,0,112,0,56, + 0,24,0,12,0,2,0,0,0,0,0,255,240,15,0,15, + 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, + 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, + 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, + 0,15,0,255,240,12,38,76,17,3,0,0,48,0,112,0, + 224,1,192,3,128,2,0,4,0,0,0,0,0,255,240,15, + 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, + 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, + 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, + 0,15,0,15,0,255,240,12,38,76,17,3,0,6,0,14, + 0,15,0,27,128,48,192,96,96,128,16,0,0,0,0,255, + 240,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, + 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, + 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, + 0,15,0,15,0,15,0,255,240,12,37,74,15,2,0,96, + 96,240,240,240,240,96,96,0,0,0,0,0,0,0,0,255, + 240,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, + 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, + 0,15,0,15,0,15,0,15,0,15,0,15,0,15,0,15, + 0,15,0,15,0,15,0,255,240,27,29,116,32,3,0,255, + 255,192,0,15,0,112,0,15,0,28,0,15,0,14,0,15, + 0,7,0,15,0,7,128,15,0,3,128,15,0,3,192,15, + 0,3,192,15,0,1,192,15,0,1,224,15,0,1,224,15, + 0,1,224,255,240,1,224,15,0,1,224,15,0,1,224,15, + 0,1,224,15,0,1,224,15,0,1,224,15,0,3,192,15, + 0,3,192,15,0,3,192,15,0,3,128,15,0,7,0,15, + 0,7,0,15,0,14,0,15,0,28,0,15,0,112,0,255, + 255,192,0,28,37,148,32,3,0,0,60,8,0,0,127,152, + 0,0,71,240,0,0,65,240,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,255,0,63,240,15,128,7, + 128,15,128,3,0,15,192,3,0,15,224,3,0,13,224,3, + 0,13,240,3,0,12,248,3,0,12,120,3,0,12,124,3, + 0,12,60,3,0,12,30,3,0,12,31,3,0,12,15,3, + 0,12,7,131,0,12,7,131,0,12,3,195,0,12,3,227, + 0,12,1,227,0,12,0,243,0,12,0,251,0,12,0,123, + 0,12,0,63,0,12,0,63,0,12,0,31,0,12,0,31, + 0,12,0,15,0,30,0,7,0,255,192,7,0,24,38,114, + 29,3,1,3,128,0,3,192,0,1,192,0,0,224,0,0, + 112,0,0,48,0,0,8,0,0,0,0,0,0,0,0,255, + 0,3,0,192,6,0,96,12,0,48,28,0,56,56,0,28, + 56,0,28,120,0,30,112,0,14,112,0,14,240,0,15,240, + 0,15,240,0,15,240,0,15,240,0,15,240,0,15,240,0, + 15,240,0,15,240,0,15,112,0,14,112,0,14,120,0,30, + 56,0,28,56,0,28,28,0,56,12,0,48,6,0,96,3, + 0,192,0,255,0,24,38,114,29,3,1,0,1,192,0,3, + 192,0,3,128,0,7,0,0,14,0,0,12,0,0,16,0, + 0,0,0,0,0,0,0,255,0,3,0,192,6,0,96,12, + 0,48,28,0,56,56,0,28,56,0,28,120,0,30,112,0, + 14,112,0,14,240,0,15,240,0,15,240,0,15,240,0,15, + 240,0,15,240,0,15,240,0,15,240,0,15,240,0,15,112, + 0,14,112,0,14,120,0,30,56,0,28,56,0,28,28,0, + 56,12,0,48,6,0,96,3,0,192,0,255,0,24,38,114, + 29,3,0,0,24,0,0,24,0,0,60,0,0,126,0,0, + 195,0,1,129,128,6,0,96,0,0,0,0,0,0,0,255, + 0,3,0,192,6,0,96,12,0,48,28,0,56,56,0,28, + 56,0,28,120,0,30,112,0,14,112,0,14,240,0,15,240, + 0,15,240,0,15,240,0,15,240,0,15,240,0,15,240,0, + 15,240,0,15,240,0,15,112,0,14,112,0,14,120,0,30, + 56,0,28,56,0,28,28,0,56,12,0,48,6,0,96,3, + 0,192,0,255,0,24,37,111,29,3,0,1,240,32,3,252, + 64,2,63,192,2,7,128,0,0,0,0,0,0,0,0,0, + 0,0,0,0,255,0,3,0,192,6,0,96,12,0,48,28, + 0,56,56,0,28,56,0,28,120,0,30,112,0,14,112,0, + 14,240,0,15,240,0,15,240,0,15,240,0,15,240,0,15, + 240,0,15,240,0,15,240,0,15,240,0,15,112,0,14,112, + 0,14,120,0,30,56,0,28,56,0,28,28,0,56,12,0, + 48,6,0,96,3,0,192,0,255,0,24,37,111,29,3,0, + 1,129,128,3,195,192,3,195,192,1,129,128,0,0,0,0, + 0,0,0,0,0,0,0,0,0,255,0,3,0,192,6,0, + 96,12,0,48,28,0,56,56,0,28,56,0,28,120,0,30, + 112,0,14,112,0,14,240,0,15,240,0,15,240,0,15,240, + 0,15,240,0,15,240,0,15,240,0,15,240,0,15,240,0, + 15,112,0,14,112,0,14,120,0,30,56,0,28,56,0,28, + 28,0,56,12,0,48,6,0,96,3,0,192,0,255,0,25, + 25,100,39,7,254,192,0,1,128,224,0,3,0,112,0,6, + 0,56,0,12,0,28,0,24,0,14,0,48,0,7,0,96, + 0,3,128,192,0,1,193,128,0,0,227,0,0,0,118,0, + 0,0,60,0,0,0,28,0,0,0,62,0,0,0,103,0, + 0,0,195,128,0,1,129,192,0,3,0,224,0,6,0,112, + 0,12,0,56,0,24,0,28,0,48,0,14,0,96,0,7, + 0,192,0,3,128,128,0,1,0,24,29,87,29,3,1,0, + 255,131,3,0,230,6,0,124,12,0,60,28,0,56,56,0, + 60,56,0,124,120,0,254,112,0,206,112,1,142,240,3,15, + 240,6,15,240,14,15,240,12,15,240,24,15,240,48,15,240, + 96,15,240,224,15,240,192,15,113,128,14,115,0,14,126,0, + 30,62,0,28,60,0,28,28,0,56,60,0,48,62,0,96, + 103,0,192,193,255,0,29,38,152,34,3,1,0,112,0,0, + 0,112,0,0,0,56,0,0,0,28,0,0,0,14,0,0, + 0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0, + 255,240,31,248,15,0,3,192,15,0,1,128,15,0,1,128, + 15,0,1,128,15,0,1,128,15,0,1,128,15,0,1,128, + 15,0,1,128,15,0,1,128,15,0,1,128,15,0,1,128, + 15,0,1,128,15,0,1,128,15,0,1,128,15,0,1,128, + 15,0,1,128,15,0,1,128,15,0,1,128,15,0,1,128, + 15,0,1,128,15,0,1,128,15,0,1,128,7,0,1,0, + 7,0,3,0,3,128,2,0,1,192,6,0,0,224,24,0, + 0,63,240,0,29,38,152,34,3,1,0,0,56,0,0,0, + 120,0,0,0,240,0,0,0,224,0,0,1,128,0,0,3, + 0,0,0,2,0,0,0,0,0,0,0,0,0,0,255,240, + 31,248,15,0,3,192,15,0,1,128,15,0,1,128,15,0, + 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, + 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, + 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, + 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, + 1,128,15,0,1,128,15,0,1,128,7,0,1,0,7,0, + 3,0,3,128,2,0,1,192,6,0,0,224,24,0,0,63, + 240,0,29,38,152,34,3,0,0,3,0,0,0,7,0,0, + 0,7,128,0,0,13,192,0,0,24,96,0,0,96,48,0, + 0,192,8,0,0,0,0,0,0,0,0,0,255,240,31,248, + 15,0,3,192,15,0,1,128,15,0,1,128,15,0,1,128, + 15,0,1,128,15,0,1,128,15,0,1,128,15,0,1,128, + 15,0,1,128,15,0,1,128,15,0,1,128,15,0,1,128, + 15,0,1,128,15,0,1,128,15,0,1,128,15,0,1,128, + 15,0,1,128,15,0,1,128,15,0,1,128,15,0,1,128, + 15,0,1,128,15,0,1,128,7,0,3,0,7,0,3,0, + 3,128,6,0,1,192,14,0,0,224,24,0,0,63,240,0, + 29,37,148,34,3,0,0,48,48,0,0,120,120,0,0,120, + 120,0,0,48,48,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,255,240,31,248,15,0,3,192,15,0, + 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, + 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, + 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, + 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, + 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, + 1,128,7,0,1,0,7,0,3,0,3,128,2,0,1,192, + 6,0,0,224,24,0,0,63,240,0,27,38,152,30,2,0, + 0,0,48,0,0,0,112,0,0,0,224,0,0,0,192,0, + 0,1,128,0,0,3,0,0,0,2,0,0,0,0,0,0, + 0,0,0,0,255,248,127,224,15,128,31,0,15,128,14,0, + 7,128,12,0,3,192,12,0,3,192,8,0,1,224,24,0, + 1,240,16,0,0,240,48,0,0,248,32,0,0,120,96,0, + 0,60,64,0,0,60,192,0,0,30,128,0,0,31,0,0, + 0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0, + 0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0, + 0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0, + 0,15,0,0,1,255,248,0,23,29,87,28,3,0,255,248, + 0,15,0,0,15,0,0,15,0,0,15,0,0,15,255,128, + 15,0,224,15,0,120,15,0,60,15,0,60,15,0,30,15, + 0,30,15,0,30,15,0,30,15,0,30,15,0,60,15,0, + 60,15,0,120,15,0,224,15,255,128,15,0,0,15,0,0, + 15,0,0,15,0,0,15,0,0,15,0,0,15,0,0,15, + 0,0,255,248,0,19,29,87,22,1,0,0,252,0,3,14, + 0,6,7,0,14,7,128,12,7,128,28,7,128,28,7,128, + 28,7,0,28,14,0,28,28,0,28,224,0,28,24,0,28, + 6,0,28,7,0,28,3,128,28,3,128,28,1,192,28,1, + 192,28,1,192,28,1,224,28,1,224,28,1,224,28,1,224, + 28,225,192,29,225,192,29,225,192,28,131,128,28,199,0,252, + 60,0,18,28,84,21,2,1,112,0,0,120,0,0,60,0, + 0,28,0,0,6,0,0,3,0,0,1,0,0,0,0,0, + 0,0,0,15,192,0,56,112,0,32,56,0,96,28,0,120, + 28,0,120,28,0,56,28,0,0,28,0,0,252,0,15,28, + 0,56,28,0,112,28,0,224,28,0,224,28,64,224,60,64, + 224,60,64,224,92,192,112,159,128,31,15,0,18,28,84,21, + 2,1,0,28,0,0,60,0,0,120,0,0,112,0,0,192, + 0,1,128,0,1,0,0,0,0,0,0,0,0,15,192,0, + 56,112,0,32,56,0,96,28,0,120,28,0,120,28,0,56, + 28,0,0,28,0,0,252,0,15,28,0,56,28,0,112,28, + 0,224,28,0,224,28,64,224,60,64,224,60,64,224,92,192, + 112,159,128,31,15,0,18,28,84,21,2,0,3,128,0,3, + 128,0,7,128,0,6,192,0,12,96,0,24,48,0,32,24, + 0,0,0,0,0,0,0,15,192,0,56,112,0,32,56,0, + 96,28,0,120,28,0,120,28,0,56,28,0,0,28,0,0, + 252,0,15,28,0,56,28,0,112,28,0,224,28,0,224,28, + 64,224,60,64,224,60,64,224,92,192,112,159,128,31,15,0, + 18,27,81,21,2,0,30,8,0,63,136,0,39,248,0,64, + 240,0,0,0,0,0,0,0,0,0,0,0,0,0,15,192, + 0,56,112,0,32,56,0,96,28,0,120,28,0,120,28,0, + 56,28,0,0,28,0,0,252,0,15,28,0,56,28,0,112, + 28,0,224,28,0,224,28,64,224,60,64,224,60,64,224,92, + 192,112,159,128,31,15,0,18,27,81,21,2,0,56,48,0, + 120,120,0,120,120,0,56,48,0,0,0,0,0,0,0,0, + 0,0,0,0,0,15,192,0,24,112,0,32,56,0,96,28, + 0,112,28,0,120,28,0,56,28,0,0,28,0,0,252,0, + 15,28,0,56,28,0,112,28,0,224,28,0,224,28,64,224, + 60,64,224,60,64,224,92,192,112,159,128,31,15,0,18,28, + 84,21,2,0,7,128,0,8,64,0,16,32,0,16,32,0, + 16,32,0,8,64,0,7,128,0,0,0,0,0,0,0,15, + 192,0,56,112,0,32,56,0,96,28,0,112,28,0,120,28, + 0,56,28,0,0,28,0,0,252,0,15,28,0,56,28,0, + 112,28,0,224,28,0,224,28,64,224,60,64,224,92,64,224, + 156,192,112,159,128,31,15,0,25,19,76,29,2,0,15,193, + 240,0,56,115,28,0,32,30,14,0,96,30,7,0,120,28, + 7,0,120,28,7,0,56,28,7,128,0,28,7,128,3,255, + 255,128,28,28,0,0,112,28,0,0,112,28,0,0,224,28, + 1,128,224,28,1,0,224,62,1,0,224,46,1,0,224,70, + 2,0,112,131,4,0,31,0,248,0,15,27,54,18,2,248, + 7,224,28,16,56,8,48,12,112,28,112,60,240,60,240,24, + 240,0,240,0,240,0,240,0,240,6,112,4,112,4,48,12, + 56,8,28,48,7,224,1,0,2,0,1,192,0,96,0,112, + 0,112,8,240,7,192,15,28,56,19,2,1,56,0,60,0, + 28,0,14,0,7,0,3,0,0,128,0,0,0,0,7,192, + 12,112,56,56,48,28,112,28,112,28,240,30,240,30,255,254, + 240,0,240,0,240,0,240,2,112,4,112,4,56,4,56,8, + 28,16,7,224,15,28,56,19,2,1,0,28,0,60,0,56, + 0,112,0,224,0,192,1,0,0,0,0,0,7,192,12,112, + 56,56,48,28,112,28,112,28,240,30,240,30,255,254,240,0, + 240,0,240,0,240,2,112,4,112,4,56,4,56,8,28,16, + 7,224,15,28,56,19,2,0,1,128,3,128,3,192,7,192, + 6,96,8,48,16,8,0,0,0,0,7,192,12,112,56,56, + 48,28,112,28,112,28,240,30,240,30,255,254,240,0,240,0, + 240,0,240,6,112,4,112,4,56,4,56,8,28,16,7,224, + 15,27,54,19,2,0,24,24,60,60,60,60,24,24,0,0, + 0,0,0,0,0,0,7,192,12,112,56,56,48,28,112,28, + 112,28,240,14,240,14,255,254,240,0,240,0,240,0,240,2, + 112,4,112,4,56,4,56,8,28,16,7,224,10,28,56,11, + 0,0,192,0,224,0,224,0,112,0,24,0,12,0,4,0, + 0,0,0,0,126,0,14,0,14,0,14,0,14,0,14,0, + 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, + 14,0,14,0,14,0,14,0,127,192,10,28,56,11,1,0, + 0,192,1,192,3,128,7,0,6,0,12,0,16,0,0,0, + 0,0,252,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,28,0,28,0,255,128,11,28,56,11,0,0,12,0, + 12,0,30,0,31,0,51,0,96,128,128,96,0,0,0,0, + 126,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, + 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, + 14,0,14,0,127,192,11,26,52,13,1,0,96,192,241,224, + 241,224,96,192,0,0,0,0,0,0,62,0,14,0,14,0, + 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, + 14,0,14,0,14,0,14,0,14,0,14,0,14,0,63,192, + 17,29,87,21,2,0,30,4,0,15,12,0,7,176,0,3, + 224,0,1,224,0,6,224,0,12,240,0,16,120,0,0,56, + 0,0,28,0,3,254,0,12,62,0,24,30,0,56,15,0, + 112,15,0,112,7,0,240,7,0,240,7,128,240,7,128,240, + 7,128,240,7,0,240,7,0,240,7,0,112,7,0,112,14, + 0,56,14,0,24,28,0,12,56,0,3,224,0,20,26,78, + 22,1,0,3,225,0,7,254,0,4,126,0,0,0,0,0, + 0,0,0,0,0,0,0,0,252,60,0,28,199,0,29,3, + 0,31,3,128,30,3,128,30,3,128,28,3,128,28,3,128, + 28,3,128,28,3,128,28,3,128,28,3,128,28,3,128,28, + 3,128,28,3,128,28,3,128,28,3,128,28,3,128,255,159, + 240,17,28,84,21,2,1,56,0,0,60,0,0,30,0,0, + 14,0,0,3,0,0,1,128,0,0,128,0,0,0,0,0, + 0,0,3,224,0,12,56,0,24,28,0,56,14,0,112,14, + 0,112,7,0,240,7,0,240,7,0,240,7,128,240,7,128, + 240,7,128,240,7,0,240,7,0,112,7,0,112,14,0,56, + 14,0,24,28,0,12,56,0,3,224,0,17,28,84,21,2, + 1,0,28,0,0,28,0,0,56,0,0,112,0,0,96,0, + 0,192,0,1,128,0,0,0,0,0,0,0,3,224,0,12, + 56,0,24,28,0,56,14,0,112,14,0,112,7,0,240,7, + 0,240,7,0,240,7,128,240,7,128,240,7,128,240,7,0, + 240,7,0,112,7,0,112,14,0,56,14,0,24,28,0,12, + 56,0,3,224,0,17,28,84,21,2,0,1,128,0,1,192, + 0,3,192,0,3,96,0,6,32,0,12,16,0,16,12,0, + 0,0,0,0,0,0,3,224,0,12,56,0,24,28,0,56, + 14,0,112,14,0,112,7,0,240,7,0,240,7,0,240,7, + 128,240,7,128,240,7,128,240,7,0,240,7,0,112,7,0, + 112,14,0,56,14,0,24,28,0,12,56,0,3,224,0,17, + 27,81,21,2,0,15,4,0,31,204,0,19,248,0,16,240, + 0,0,0,0,0,0,0,0,0,0,0,0,0,3,224,0, + 12,56,0,24,28,0,56,14,0,112,14,0,112,7,0,240, + 7,0,240,7,0,240,7,128,240,7,128,240,7,128,240,7, + 0,240,7,0,112,7,0,112,14,0,56,14,0,24,28,0, + 12,56,0,3,224,0,17,27,81,21,2,0,24,24,0,60, + 60,0,60,60,0,24,24,0,0,0,0,0,0,0,0,0, + 0,0,0,0,3,224,0,12,56,0,24,28,0,56,14,0, + 112,14,0,112,7,0,240,7,0,240,7,0,240,7,128,240, + 7,128,240,7,128,240,7,0,240,7,0,112,7,0,112,14, + 0,56,14,0,24,28,0,12,56,0,3,224,0,35,26,130, + 39,2,254,0,0,224,0,0,0,1,240,0,0,0,1,240, + 0,0,0,1,240,0,0,0,0,224,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255, + 255,255,255,224,255,255,255,255,224,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,0, + 0,0,1,240,0,0,0,1,240,0,0,0,1,240,0,0, + 0,0,224,0,0,17,19,57,21,2,0,3,225,0,12,59, + 0,24,30,0,56,14,0,112,14,0,112,31,0,240,55,0, + 240,103,0,240,199,128,240,135,128,241,7,128,242,7,0,244, + 7,0,124,7,0,120,14,0,56,14,0,120,28,0,76,56, + 0,131,224,0,20,28,84,22,1,1,14,0,0,15,0,0, + 7,0,0,3,128,0,1,192,0,0,64,0,0,32,0,0, + 0,0,0,0,0,252,31,128,28,3,128,28,3,128,28,3, + 128,28,3,128,28,3,128,28,3,128,28,3,128,28,3,128, + 28,3,128,28,3,128,28,3,128,28,3,128,28,7,128,28, + 7,128,28,15,128,12,11,128,14,51,128,3,195,240,20,28, + 84,22,1,1,0,7,0,0,15,0,0,30,0,0,24,0, + 0,48,0,0,96,0,0,64,0,0,0,0,0,0,0,252, + 31,128,28,3,128,28,3,128,28,3,128,28,3,128,28,3, + 128,28,3,128,28,3,128,28,3,128,28,3,128,28,3,128, + 28,3,128,28,3,128,28,7,128,28,7,128,28,15,128,12, + 11,128,14,51,128,3,195,240,20,28,84,22,1,0,0,96, + 0,0,224,0,0,240,0,1,176,0,3,24,0,2,4,0, + 4,2,0,0,0,0,0,0,0,252,31,128,28,3,128,28, + 3,128,28,3,128,28,3,128,28,3,128,28,3,128,28,3, + 128,28,3,128,28,3,128,28,3,128,28,3,128,28,3,128, + 28,7,128,28,7,128,28,15,128,12,11,128,14,51,128,3, + 195,240,20,27,81,22,1,0,6,6,0,15,15,0,15,15, + 0,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0, + 252,15,128,28,3,128,28,3,128,28,3,128,28,3,128,28, + 3,128,28,3,128,28,3,128,28,3,128,28,3,128,28,3, + 128,28,3,128,28,3,128,28,7,128,28,7,128,28,15,128, + 12,11,128,14,51,128,3,195,240,20,37,111,22,1,248,0, + 3,0,0,7,0,0,15,0,0,28,0,0,24,0,0,48, + 0,0,0,0,0,0,0,0,0,0,255,143,240,30,1,128, + 30,1,128,14,1,0,14,1,0,15,3,0,7,2,0,7, + 2,0,3,134,0,3,132,0,3,132,0,1,204,0,1,200, + 0,1,200,0,0,248,0,0,240,0,0,240,0,0,112,0, + 0,96,0,0,96,0,0,96,0,0,64,0,48,64,0,120, + 192,0,120,128,0,113,128,0,51,0,0,30,0,0,18,38, + 114,21,1,246,12,0,0,60,0,0,252,0,0,28,0,0, + 28,0,0,28,0,0,28,0,0,28,0,0,28,0,0,28, + 30,0,28,127,0,28,199,128,29,3,128,31,3,192,30,3, + 192,30,3,128,28,3,128,28,3,128,28,7,0,28,7,0, + 28,6,0,28,12,0,28,28,0,28,24,0,28,48,0,28, + 192,0,29,128,0,30,0,0,28,0,0,28,0,0,28,0, + 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,0, + 56,0,0,192,0,0,19,36,108,21,1,247,3,6,0,7, + 143,0,7,143,0,3,6,0,0,0,0,0,0,0,0,0, + 0,0,0,0,255,143,224,30,3,128,30,1,0,14,3,0, + 14,2,0,7,2,0,7,2,0,7,6,0,3,132,0,3, + 132,0,3,140,0,1,200,0,1,200,0,1,200,0,0,240, + 0,0,240,0,0,240,0,0,96,0,0,96,0,0,96,0, + 0,64,0,0,64,0,48,64,0,120,64,0,120,128,0,121, + 128,0,59,0,0,30,0,0}; +/* + Fontname: -FreeType-Old Standard TT-Medium-R-Normal--41-410-72-72-P-216-ISO10646-1 + Copyright: Copyright (C) 2006-2008 Alexey Kryukov + Capital A Height: 0, '1' Height: 28 + Calculated Max Values w=35 h=38 x= 5 y=11 dx=39 dy= 0 ascent=30 len=170 + Font Bounding box w=107 h=51 x=-33 y=-12 + Calculated Min Values x= 0 y=-8 dx= 0 dy= 0 + Pure Font ascent =28 descent= 0 + X Font ascent =28 descent= 0 + Max Font ascent =30 descent=-8 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_osr29n[1226] U8G_FONT_SECTION("u8g_font_osr29n") = { + 0,107,51,223,244,28,0,0,0,0,42,58,0,30,248,28, + 0,15,17,34,21,3,11,3,128,3,192,3,128,3,128,225, + 142,241,30,249,62,29,112,3,192,3,192,29,120,249,62,241, + 30,227,142,3,128,3,192,3,128,35,34,170,39,2,250,0, + 0,192,0,0,0,0,192,0,0,0,0,192,0,0,0,0, + 192,0,0,0,0,192,0,0,0,0,192,0,0,0,0,192, + 0,0,0,0,192,0,0,0,0,192,0,0,0,0,192,0, + 0,0,0,192,0,0,0,0,192,0,0,0,0,192,0,0, + 0,0,192,0,0,0,0,192,0,0,0,0,192,0,0,255, + 255,255,255,224,255,255,255,255,224,0,0,192,0,0,0,0, + 192,0,0,0,0,192,0,0,0,0,192,0,0,0,0,192, + 0,0,0,0,192,0,0,0,0,192,0,0,0,0,192,0, + 0,0,0,192,0,0,0,0,192,0,0,0,0,192,0,0, + 0,0,192,0,0,0,0,192,0,0,0,0,192,0,0,0, + 0,192,0,0,0,0,192,0,0,5,12,12,11,3,249,112, + 240,248,248,24,8,8,16,16,32,32,64,10,2,4,14,2, + 9,255,192,255,192,5,5,5,11,3,0,112,248,248,248,112, + 14,38,76,18,2,248,0,12,0,12,0,12,0,8,0,24, + 0,24,0,16,0,48,0,48,0,32,0,96,0,96,0,64, + 0,192,0,192,0,128,1,128,1,128,1,0,3,0,3,0, + 2,0,6,0,6,0,4,0,12,0,12,0,8,0,24,0, + 24,0,16,0,48,0,48,0,32,0,96,0,96,0,64,0, + 192,0,20,28,84,24,2,0,1,248,0,7,12,0,12,7, + 0,28,3,128,24,1,128,56,1,192,56,1,192,112,0,224, + 112,0,224,112,0,224,240,0,240,240,0,240,240,0,240,240, + 0,240,240,0,240,240,0,240,240,0,240,240,0,240,240,0, + 240,112,0,224,112,0,224,112,0,224,56,1,192,56,1,192, + 24,1,128,12,3,0,6,6,0,3,252,0,14,28,56,24, + 5,0,1,128,1,128,3,128,7,128,255,128,7,128,7,128, + 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, + 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, + 7,128,7,128,7,128,7,128,255,252,17,28,84,24,3,0, + 7,224,0,24,60,0,32,30,0,64,15,0,192,15,0,192, + 7,128,192,7,128,240,7,128,252,7,128,252,7,128,124,7, + 128,24,15,0,0,14,0,0,28,0,0,56,0,0,112,0, + 0,224,0,1,192,0,3,0,0,6,0,0,12,0,128,24, + 0,128,48,0,128,48,1,128,112,1,128,127,255,128,127,255, + 128,127,255,128,17,28,84,24,3,0,15,224,0,48,56,0, + 96,28,0,96,14,0,240,15,0,248,15,0,248,15,0,120, + 15,0,0,15,0,0,15,0,0,14,0,0,28,0,28,56, + 0,31,224,0,0,60,0,0,30,0,0,15,0,0,7,0, + 0,7,128,0,7,128,120,7,128,248,7,128,248,7,128,248, + 7,0,192,15,0,192,14,0,96,28,0,31,240,0,19,28, + 84,24,2,0,0,12,0,0,12,0,0,28,0,0,60,0, + 0,60,0,0,124,0,0,252,0,0,252,0,1,188,0,3, + 60,0,3,60,0,6,60,0,12,60,0,12,60,0,24,60, + 0,48,60,0,32,60,0,96,60,0,192,60,0,255,255,224, + 0,60,0,0,60,0,0,60,0,0,60,0,0,60,0,0, + 60,0,0,60,0,7,255,224,17,29,87,24,4,0,0,2, + 0,120,12,0,127,248,0,127,240,0,111,192,0,96,0,0, + 96,0,0,96,0,0,96,0,0,96,0,0,103,224,0,104, + 60,0,112,30,0,96,14,0,96,15,0,96,7,0,0,7, + 128,0,7,128,0,7,128,16,7,128,120,7,128,252,7,128, + 252,7,128,248,15,0,224,15,0,224,14,0,96,28,0,48, + 56,0,31,240,0,17,28,84,24,3,0,1,248,0,3,12, + 0,12,6,0,28,7,0,24,15,0,56,31,0,48,31,0, + 112,14,0,112,0,0,112,0,0,240,0,0,241,240,0,246, + 28,0,252,14,0,248,7,0,248,7,0,240,7,128,240,7, + 128,240,7,128,240,7,128,112,7,128,112,7,128,112,7,0, + 48,7,0,56,7,0,24,14,0,12,28,0,7,248,0,16, + 28,56,24,4,0,255,255,255,255,255,255,192,3,128,2,128, + 2,128,6,128,4,0,12,0,8,0,24,0,48,0,32,0, + 96,0,192,0,192,1,128,3,128,3,128,7,128,7,128,7, + 128,15,192,15,192,15,192,15,192,15,192,7,192,20,28,84, + 24,2,0,3,248,0,14,14,0,56,7,0,112,3,128,112, + 1,192,240,1,192,240,1,192,240,1,192,240,1,192,248,1, + 128,126,3,128,127,131,0,63,252,0,15,252,0,7,255,0, + 24,127,192,48,15,224,112,3,224,224,1,240,224,0,240,224, + 0,240,224,0,224,224,0,224,224,0,224,112,1,192,48,1, + 128,28,7,0,15,252,0,17,28,84,24,3,0,7,224,0, + 12,56,0,56,12,0,56,14,0,112,14,0,112,7,0,240, + 7,0,240,7,0,240,7,128,240,7,128,240,7,128,240,7, + 128,112,15,128,112,15,128,56,27,128,28,51,128,7,199,128, + 0,7,128,0,7,0,0,7,0,56,7,0,124,7,0,124, + 14,0,120,14,0,112,12,0,112,24,0,48,48,0,31,224, + 0,5,19,19,11,3,0,112,248,248,248,112,0,0,0,0, + 0,0,0,0,0,112,248,248,248,112}; +/* + Fontname: -FreeType-Old Standard TT-Medium-R-Normal--41-410-72-72-P-216-ISO10646-1 + Copyright: Copyright (C) 2006-2008 Alexey Kryukov + Capital A Height: 29, '1' Height: 28 + Calculated Max Values w=41 h=38 x= 5 y=22 dx=44 dy= 0 ascent=31 len=174 + Font Bounding box w=107 h=51 x=-33 y=-12 + Calculated Min Values x=-1 y=-9 dx= 0 dy= 0 + Pure Font ascent =29 descent=-9 + X Font ascent =30 descent=-9 + Max Font ascent =31 descent=-9 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_osr29r[7573] U8G_FONT_SECTION("u8g_font_osr29r") = { + 0,107,51,223,244,29,9,148,21,166,32,127,247,31,247,30, + 247,0,0,0,11,0,0,5,28,28,11,3,0,112,248,248, + 248,248,248,248,248,112,112,112,112,112,112,112,112,32,32,32, + 32,32,32,0,112,248,248,248,112,9,8,16,17,4,22,227, + 128,227,128,227,128,227,128,193,128,65,128,65,0,65,0,22, + 28,84,28,3,0,0,192,192,0,192,192,0,192,192,0,192, + 128,0,129,128,1,129,128,1,129,128,1,129,128,255,255,252, + 255,255,252,1,129,0,3,3,0,3,3,0,3,3,0,3, + 3,0,3,3,0,2,2,0,6,6,0,255,255,252,255,255, + 252,6,6,0,6,6,0,6,4,0,4,12,0,12,12,0, + 12,12,0,12,12,0,12,12,0,18,34,102,24,3,253,1, + 16,0,1,16,0,1,16,0,3,248,0,13,22,0,25,17, + 0,49,16,128,97,16,192,97,16,192,97,17,192,97,19,192, + 97,19,192,113,19,128,61,16,0,63,144,0,31,240,0,15, + 252,0,3,254,0,1,127,0,1,31,128,1,19,128,33,17, + 192,113,16,192,249,16,192,241,16,192,241,16,192,225,16,128, + 97,17,128,97,17,0,49,19,0,15,188,0,1,240,0,1, + 16,0,1,16,0,28,28,112,36,4,0,31,0,6,0,49, + 128,4,0,96,192,12,0,96,192,8,0,224,224,24,0,224, + 224,48,0,224,224,32,0,224,224,96,0,224,224,64,0,224, + 224,128,0,96,193,128,0,96,193,0,0,49,131,0,0,31, + 6,0,0,0,4,15,0,0,12,48,128,0,8,48,192,0, + 16,96,96,0,48,96,96,0,32,224,112,0,96,224,112,0, + 64,224,112,0,128,224,112,1,128,224,112,1,0,96,96,2, + 0,96,96,6,0,48,192,4,0,31,128,28,28,112,32,2, + 0,0,248,0,0,3,140,0,0,7,4,0,0,6,2,0, + 0,14,2,0,0,14,2,0,0,14,6,0,0,14,4,0, + 0,15,12,0,0,7,24,0,0,7,176,0,0,3,224,0, + 0,1,224,63,240,3,224,7,128,6,240,7,0,12,120,6, + 0,24,124,6,0,48,60,4,0,112,30,12,0,112,31,24, + 0,240,15,144,0,240,7,176,0,240,7,224,0,240,3,224, + 0,240,3,240,32,120,6,248,32,60,12,124,192,31,240,63, + 128,3,8,8,10,4,22,224,224,224,224,192,64,64,64,9, + 37,74,15,4,249,1,128,3,0,6,0,14,0,12,0,24, + 0,24,0,48,0,48,0,96,0,96,0,96,0,96,0,192, + 0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192, + 0,192,0,96,0,96,0,96,0,96,0,48,0,48,0,56, + 0,24,0,12,0,12,0,6,0,3,0,3,128,1,128,9, + 37,74,15,2,249,192,0,96,0,48,0,56,0,24,0,12, + 0,12,0,6,0,6,0,3,0,3,0,3,0,3,0,1, + 128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1, + 128,1,128,3,128,3,0,3,0,3,0,6,0,6,0,14, + 0,12,0,24,0,24,0,48,0,96,0,224,0,192,0,15, + 17,34,21,3,11,3,128,3,192,3,128,3,128,225,142,241, + 30,249,62,29,112,3,192,3,192,29,120,249,62,241,30,227, + 142,3,128,3,192,3,128,35,34,170,39,2,250,0,0,192, + 0,0,0,0,192,0,0,0,0,192,0,0,0,0,192,0, + 0,0,0,192,0,0,0,0,192,0,0,0,0,192,0,0, + 0,0,192,0,0,0,0,192,0,0,0,0,192,0,0,0, + 0,192,0,0,0,0,192,0,0,0,0,192,0,0,0,0, + 192,0,0,0,0,192,0,0,0,0,192,0,0,255,255,255, + 255,224,255,255,255,255,224,0,0,192,0,0,0,0,192,0, + 0,0,0,192,0,0,0,0,192,0,0,0,0,192,0,0, + 0,0,192,0,0,0,0,192,0,0,0,0,192,0,0,0, + 0,192,0,0,0,0,192,0,0,0,0,192,0,0,0,0, + 192,0,0,0,0,192,0,0,0,0,192,0,0,0,0,192, + 0,0,0,0,192,0,0,5,12,12,11,3,249,112,240,248, + 248,24,8,8,16,16,32,32,64,10,2,4,14,2,9,255, + 192,255,192,5,5,5,11,3,0,112,248,248,248,112,14,38, + 76,18,2,248,0,12,0,12,0,12,0,8,0,24,0,24, + 0,16,0,48,0,48,0,32,0,96,0,96,0,64,0,192, + 0,192,0,128,1,128,1,128,1,0,3,0,3,0,2,0, + 6,0,6,0,4,0,12,0,12,0,8,0,24,0,24,0, + 16,0,48,0,48,0,32,0,96,0,96,0,64,0,192,0, + 20,28,84,24,2,0,1,248,0,7,12,0,12,7,0,28, + 3,128,24,1,128,56,1,192,56,1,192,112,0,224,112,0, + 224,112,0,224,240,0,240,240,0,240,240,0,240,240,0,240, + 240,0,240,240,0,240,240,0,240,240,0,240,240,0,240,112, + 0,224,112,0,224,112,0,224,56,1,192,56,1,192,24,1, + 128,12,3,0,6,6,0,3,252,0,14,28,56,24,5,0, + 1,128,1,128,3,128,7,128,255,128,7,128,7,128,7,128, + 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, + 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, + 7,128,7,128,7,128,255,252,17,28,84,24,3,0,7,224, + 0,24,60,0,32,30,0,64,15,0,192,15,0,192,7,128, + 192,7,128,240,7,128,252,7,128,252,7,128,124,7,128,24, + 15,0,0,14,0,0,28,0,0,56,0,0,112,0,0,224, + 0,1,192,0,3,0,0,6,0,0,12,0,128,24,0,128, + 48,0,128,48,1,128,112,1,128,127,255,128,127,255,128,127, + 255,128,17,28,84,24,3,0,15,224,0,48,56,0,96,28, + 0,96,14,0,240,15,0,248,15,0,248,15,0,120,15,0, + 0,15,0,0,15,0,0,14,0,0,28,0,28,56,0,31, + 224,0,0,60,0,0,30,0,0,15,0,0,7,0,0,7, + 128,0,7,128,120,7,128,248,7,128,248,7,128,248,7,0, + 192,15,0,192,14,0,96,28,0,31,240,0,19,28,84,24, + 2,0,0,12,0,0,12,0,0,28,0,0,60,0,0,60, + 0,0,124,0,0,252,0,0,252,0,1,188,0,3,60,0, + 3,60,0,6,60,0,12,60,0,12,60,0,24,60,0,48, + 60,0,32,60,0,96,60,0,192,60,0,255,255,224,0,60, + 0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0, + 0,60,0,7,255,224,17,29,87,24,4,0,0,2,0,120, + 12,0,127,248,0,127,240,0,111,192,0,96,0,0,96,0, + 0,96,0,0,96,0,0,96,0,0,103,224,0,104,60,0, + 112,30,0,96,14,0,96,15,0,96,7,0,0,7,128,0, + 7,128,0,7,128,16,7,128,120,7,128,252,7,128,252,7, + 128,248,15,0,224,15,0,224,14,0,96,28,0,48,56,0, + 31,240,0,17,28,84,24,3,0,1,248,0,3,12,0,12, + 6,0,28,7,0,24,15,0,56,31,0,48,31,0,112,14, + 0,112,0,0,112,0,0,240,0,0,241,240,0,246,28,0, + 252,14,0,248,7,0,248,7,0,240,7,128,240,7,128,240, + 7,128,240,7,128,112,7,128,112,7,128,112,7,0,48,7, + 0,56,7,0,24,14,0,12,28,0,7,248,0,16,28,56, + 24,4,0,255,255,255,255,255,255,192,3,128,2,128,2,128, + 6,128,4,0,12,0,8,0,24,0,48,0,32,0,96,0, + 192,0,192,1,128,3,128,3,128,7,128,7,128,7,128,15, + 192,15,192,15,192,15,192,15,192,7,192,20,28,84,24,2, + 0,3,248,0,14,14,0,56,7,0,112,3,128,112,1,192, + 240,1,192,240,1,192,240,1,192,240,1,192,248,1,128,126, + 3,128,127,131,0,63,252,0,15,252,0,7,255,0,24,127, + 192,48,15,224,112,3,224,224,1,240,224,0,240,224,0,240, + 224,0,224,224,0,224,224,0,224,112,1,192,48,1,128,28, + 7,0,15,252,0,17,28,84,24,3,0,7,224,0,12,56, + 0,56,12,0,56,14,0,112,14,0,112,7,0,240,7,0, + 240,7,0,240,7,128,240,7,128,240,7,128,240,7,128,112, + 15,128,112,15,128,56,27,128,28,51,128,7,199,128,0,7, + 128,0,7,0,0,7,0,56,7,0,124,7,0,124,14,0, + 120,14,0,112,12,0,112,24,0,48,48,0,31,224,0,5, + 19,19,11,3,0,112,248,248,248,112,0,0,0,0,0,0, + 0,0,0,112,248,248,248,112,6,26,26,12,3,249,112,248, + 248,248,112,0,0,0,0,0,0,0,0,0,112,248,252,124, + 12,12,12,8,24,48,32,64,32,34,136,39,3,250,0,0, + 0,2,0,0,0,7,0,0,0,28,0,0,0,112,0,0, + 1,224,0,0,7,128,0,0,30,0,0,0,120,0,0,1, + 224,0,0,3,128,0,0,14,0,0,0,56,0,0,0,240, + 0,0,3,192,0,0,15,0,0,0,60,0,0,0,240,0, + 0,0,224,0,0,0,120,0,0,0,30,0,0,0,7,128, + 0,0,1,192,0,0,0,112,0,0,0,28,0,0,0,7, + 0,0,0,3,192,0,0,0,240,0,0,0,60,0,0,0, + 15,0,0,0,3,128,0,0,0,224,0,0,0,56,0,0, + 0,14,0,0,0,6,35,10,50,39,2,6,255,255,255,255, + 224,255,255,255,255,224,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,255,255,255,255,224,255,255,255,255,224,32,34, + 136,39,3,250,64,0,0,0,224,0,0,0,56,0,0,0, + 14,0,0,0,7,128,0,0,1,224,0,0,0,120,0,0, + 0,30,0,0,0,7,128,0,0,1,192,0,0,0,112,0, + 0,0,28,0,0,0,15,0,0,0,3,192,0,0,0,240, + 0,0,0,60,0,0,0,15,0,0,0,7,0,0,0,30, + 0,0,0,120,0,0,1,224,0,0,3,128,0,0,14,0, + 0,0,56,0,0,0,224,0,0,3,192,0,0,15,0,0, + 0,60,0,0,0,240,0,0,1,192,0,0,7,0,0,0, + 28,0,0,0,112,0,0,0,96,0,0,0,15,28,56,20, + 3,0,15,192,48,112,64,60,192,28,192,30,248,30,248,30, + 112,30,0,28,0,60,0,120,0,240,1,192,3,128,6,0, + 12,0,8,32,8,32,8,32,12,64,7,128,0,0,0,0, + 3,128,7,192,7,192,7,192,3,128,29,29,116,33,2,1, + 0,63,248,0,1,192,14,0,3,0,3,0,6,0,1,128, + 12,0,0,192,24,7,206,96,48,12,124,32,48,56,60,48, + 96,112,60,16,96,224,56,24,96,224,56,24,193,192,56,24, + 193,192,56,24,193,192,48,24,195,192,112,24,195,128,112,24, + 195,128,112,48,195,128,224,48,195,128,224,48,67,129,224,96, + 97,130,224,192,97,196,225,128,48,120,62,0,48,0,0,0, + 24,0,0,0,12,0,0,0,6,0,4,0,3,128,28,0, + 0,127,240,0,29,29,116,32,2,0,0,2,0,0,0,6, + 0,0,0,7,0,0,0,7,0,0,0,15,128,0,0,15, + 128,0,0,15,128,0,0,31,192,0,0,19,192,0,0,51, + 192,0,0,49,224,0,0,33,224,0,0,97,224,0,0,96, + 240,0,0,64,240,0,0,192,240,0,0,192,120,0,0,128, + 120,0,1,128,120,0,1,255,252,0,1,0,60,0,3,0, + 28,0,3,0,30,0,6,0,30,0,6,0,15,0,6,0, + 15,0,14,0,15,0,30,0,15,128,255,224,255,248,23,29, + 87,28,3,0,255,255,128,15,0,224,15,0,120,15,0,60, + 15,0,28,15,0,28,15,0,30,15,0,30,15,0,28,15, + 0,28,15,0,56,15,0,48,15,0,224,15,255,0,15,0, + 224,15,0,112,15,0,56,15,0,60,15,0,30,15,0,30, + 15,0,30,15,0,30,15,0,30,15,0,30,15,0,60,15, + 0,60,15,0,120,15,0,224,255,255,128,22,29,87,28,3, + 1,1,254,8,7,3,152,12,0,248,28,0,248,24,0,120, + 56,0,56,120,0,56,112,0,24,112,0,24,240,0,8,240, + 0,8,240,0,0,240,0,0,240,0,0,240,0,0,240,0, + 0,240,0,0,240,0,0,240,0,0,112,0,12,112,0,12, + 120,0,12,56,0,24,56,0,24,28,0,24,12,0,48,6, + 0,96,3,0,192,0,255,128,27,29,116,32,3,0,255,255, + 192,0,15,0,112,0,15,0,28,0,15,0,14,0,15,0, + 7,0,15,0,7,128,15,0,3,128,15,0,3,192,15,0, + 3,192,15,0,1,192,15,0,1,224,15,0,1,224,15,0, + 1,224,15,0,1,224,15,0,1,224,15,0,1,224,15,0, + 1,224,15,0,1,224,15,0,1,224,15,0,3,192,15,0, + 3,192,15,0,3,192,15,0,3,128,15,0,7,0,15,0, + 7,0,15,0,14,0,15,0,28,0,15,0,112,0,255,255, + 192,0,23,29,87,29,3,0,255,255,254,15,0,62,15,0, + 14,15,0,14,15,0,6,15,0,6,15,0,2,15,0,2, + 15,1,2,15,1,0,15,1,0,15,1,0,15,3,0,15, + 7,0,15,255,0,15,7,0,15,3,0,15,1,0,15,1, + 2,15,1,2,15,1,2,15,0,2,15,0,6,15,0,6, + 15,0,6,15,0,14,15,0,30,15,0,126,255,255,254,23, + 29,87,28,3,0,255,255,254,15,0,62,15,0,14,15,0, + 14,15,0,6,15,0,6,15,0,2,15,0,2,15,1,2, + 15,1,0,15,1,0,15,1,0,15,3,0,15,7,0,15, + 255,0,15,7,0,15,3,0,15,1,0,15,1,0,15,1, + 0,15,1,0,15,0,0,15,0,0,15,0,0,15,0,0, + 15,0,0,15,0,0,15,0,0,255,240,0,25,30,120,29, + 3,0,0,16,0,0,1,254,8,0,6,3,152,0,12,0, + 248,0,28,0,248,0,24,0,120,0,56,0,56,0,56,0, + 56,0,112,0,24,0,112,0,24,0,112,0,8,0,240,0, + 8,0,240,0,0,0,240,0,0,0,240,0,0,0,240,7, + 255,128,240,0,120,0,240,0,120,0,240,0,120,0,240,0, + 120,0,112,0,120,0,112,0,120,0,112,0,120,0,56,0, + 120,0,56,0,120,0,24,0,248,0,28,0,200,0,12,1, + 136,0,6,3,8,0,1,254,8,0,28,29,116,33,3,0, + 255,240,255,240,15,0,15,0,15,0,15,0,15,0,15,0, + 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, + 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, + 15,0,15,0,15,255,255,0,15,0,15,0,15,0,15,0, + 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, + 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, + 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, + 255,240,255,240,12,29,58,17,3,0,255,240,15,0,15,0, + 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, + 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, + 15,0,15,0,15,0,15,0,15,0,15,0,15,0,15,0, + 15,0,255,240,19,29,87,22,2,0,1,255,224,0,30,0, + 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, + 30,0,0,30,0,0,30,0,0,30,0,0,30,0,0,30, + 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, + 0,30,0,0,30,0,120,30,0,248,30,0,248,30,0,248, + 30,0,192,28,0,192,28,0,64,24,0,96,48,0,31,224, + 0,27,29,116,32,3,0,255,241,255,192,15,0,126,0,15, + 0,60,0,15,0,56,0,15,0,112,0,15,0,96,0,15, + 0,192,0,15,1,128,0,15,3,0,0,15,6,0,0,15, + 14,0,0,15,30,0,0,15,63,0,0,15,111,0,0,15, + 207,128,0,15,135,128,0,15,7,192,0,15,3,192,0,15, + 3,224,0,15,3,224,0,15,1,240,0,15,1,240,0,15, + 0,248,0,15,0,248,0,15,0,124,0,15,0,124,0,15, + 0,62,0,15,0,63,0,255,241,255,224,23,29,87,28,3, + 0,255,248,0,15,0,0,15,0,0,15,0,0,15,0,0, + 15,0,0,15,0,0,15,0,0,15,0,0,15,0,0,15, + 0,0,15,0,0,15,0,0,15,0,0,15,0,0,15,0, + 0,15,0,0,15,0,0,15,0,2,15,0,2,15,0,6, + 15,0,6,15,0,6,15,0,14,15,0,14,15,0,30,15, + 0,62,15,0,254,255,255,254,30,29,116,35,3,0,255,128, + 3,252,15,128,7,192,15,192,7,192,15,192,7,192,15,192, + 15,192,13,192,11,192,13,224,11,192,13,224,11,192,12,224, + 27,192,12,240,19,192,12,240,19,192,12,112,51,192,12,112, + 35,192,12,120,35,192,12,120,35,192,12,56,99,192,12,60, + 67,192,12,60,67,192,12,28,195,192,12,28,131,192,12,30, + 131,192,12,14,131,192,12,15,131,192,12,15,3,192,12,15, + 3,192,12,7,3,192,12,6,3,192,30,6,3,192,255,194, + 63,252,28,29,116,32,3,0,255,0,63,240,15,128,7,128, + 15,128,3,0,15,192,3,0,15,224,3,0,13,224,3,0, + 13,240,3,0,12,248,3,0,12,120,3,0,12,124,3,0, + 12,60,3,0,12,30,3,0,12,31,3,0,12,15,3,0, + 12,7,131,0,12,7,131,0,12,3,195,0,12,3,227,0, + 12,1,227,0,12,0,243,0,12,0,251,0,12,0,123,0, + 12,0,63,0,12,0,63,0,12,0,31,0,12,0,31,0, + 12,0,15,0,30,0,7,0,255,192,7,0,24,29,87,29, + 3,1,0,255,0,3,0,192,6,0,96,12,0,48,28,0, + 56,56,0,28,56,0,28,120,0,30,112,0,14,112,0,14, + 240,0,15,240,0,15,240,0,15,240,0,15,240,0,15,240, + 0,15,240,0,15,240,0,15,240,0,15,112,0,14,112,0, + 14,120,0,30,56,0,28,56,0,28,28,0,56,12,0,48, + 6,0,96,3,0,192,0,255,0,23,29,87,28,3,0,255, + 255,128,15,0,224,15,0,120,15,0,60,15,0,60,15,0, + 30,15,0,30,15,0,30,15,0,30,15,0,30,15,0,60, + 15,0,60,15,0,120,15,0,224,15,255,128,15,0,0,15, + 0,0,15,0,0,15,0,0,15,0,0,15,0,0,15,0, + 0,15,0,0,15,0,0,15,0,0,15,0,0,15,0,0, + 15,0,0,255,248,0,24,36,108,29,3,250,0,255,0,3, + 0,192,6,0,96,12,0,48,28,0,56,56,0,28,56,0, + 28,120,0,30,112,0,14,112,0,14,240,0,15,240,0,15, + 240,0,15,240,0,15,240,0,15,240,0,15,240,0,15,240, + 0,15,240,0,15,112,0,14,120,0,30,120,0,30,56,60, + 28,56,99,28,28,195,56,14,193,184,6,193,240,3,193,225, + 0,247,193,0,9,193,0,1,193,0,1,195,0,1,226,0, + 1,254,0,0,252,0,0,56,25,29,116,29,3,0,255,255, + 128,0,15,1,240,0,15,0,120,0,15,0,120,0,15,0, + 60,0,15,0,60,0,15,0,60,0,15,0,60,0,15,0, + 60,0,15,0,120,0,15,0,240,0,15,1,224,0,15,255, + 0,0,15,3,128,0,15,1,192,0,15,0,224,0,15,0, + 224,0,15,0,240,0,15,0,240,0,15,0,240,0,15,0, + 240,0,15,0,240,0,15,0,248,128,15,0,120,128,15,0, + 120,128,15,0,121,128,15,0,127,0,15,0,63,0,255,248, + 30,0,19,29,87,25,4,1,15,240,192,48,28,192,96,15, + 192,96,7,192,192,3,192,192,1,192,192,1,192,192,0,192, + 224,0,192,240,0,192,120,0,64,127,0,0,63,192,0,31, + 248,0,15,254,0,1,255,128,128,127,128,128,15,192,128,3, + 224,128,1,224,192,0,224,192,0,96,224,0,96,224,0,96, + 240,0,96,248,0,192,156,0,128,134,1,0,131,254,0,24, + 29,87,29,3,0,255,255,255,248,60,31,240,60,15,224,60, + 7,192,60,3,192,60,3,192,60,3,128,60,1,128,60,1, + 128,60,1,128,60,1,0,60,0,0,60,0,0,60,0,0, + 60,0,0,60,0,0,60,0,0,60,0,0,60,0,0,60, + 0,0,60,0,0,60,0,0,60,0,0,60,0,0,60,0, + 0,60,0,0,60,0,0,60,0,7,255,224,29,29,116,34, + 3,0,255,240,31,248,15,0,3,192,15,0,1,128,15,0, + 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, + 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, + 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, + 1,128,15,0,1,128,15,0,1,128,15,0,1,128,15,0, + 1,128,15,0,1,128,15,0,1,128,15,0,1,128,7,0, + 1,0,7,0,3,0,3,128,2,0,1,192,6,0,0,224, + 24,0,0,63,240,0,29,29,116,32,2,0,255,248,63,248, + 15,128,3,192,7,128,3,128,7,128,3,0,3,192,3,0, + 3,192,3,0,3,192,2,0,1,224,6,0,1,224,6,0, + 1,240,4,0,0,240,12,0,0,240,12,0,0,248,8,0, + 0,120,24,0,0,120,24,0,0,60,16,0,0,60,48,0, + 0,60,48,0,0,30,32,0,0,30,96,0,0,31,96,0, + 0,15,64,0,0,15,192,0,0,15,192,0,0,7,128,0, + 0,7,128,0,0,7,128,0,0,3,0,0,0,3,0,0, + 41,29,174,44,2,0,255,241,255,227,255,128,15,128,63,0, + 124,0,7,128,30,0,56,0,7,128,30,0,48,0,7,128, + 31,0,48,0,3,192,31,0,48,0,3,192,31,0,96,0, + 3,192,55,0,96,0,1,224,55,128,96,0,1,224,55,128, + 64,0,1,224,39,128,192,0,1,224,99,192,192,0,0,240, + 99,192,128,0,0,240,67,193,128,0,0,240,193,193,128,0, + 0,120,193,225,0,0,0,120,193,227,0,0,0,120,129,227, + 0,0,0,125,128,242,0,0,0,61,128,246,0,0,0,61, + 0,246,0,0,0,61,0,116,0,0,0,31,0,124,0,0, + 0,31,0,124,0,0,0,30,0,60,0,0,0,14,0,56, + 0,0,0,14,0,56,0,0,0,12,0,56,0,0,0,12, + 0,16,0,0,28,29,116,31,2,0,255,248,255,224,7,192, + 30,0,7,192,28,0,3,224,24,0,1,224,24,0,1,240, + 48,0,0,240,32,0,0,248,96,0,0,120,192,0,0,124, + 128,0,0,61,128,0,0,63,0,0,0,30,0,0,0,15, + 0,0,0,15,0,0,0,15,128,0,0,31,128,0,0,51, + 192,0,0,51,224,0,0,97,224,0,0,193,240,0,0,192, + 240,0,1,128,248,0,3,0,120,0,3,0,124,0,6,0, + 60,0,14,0,62,0,31,0,63,0,255,225,255,240,27,29, + 116,30,2,0,255,248,127,224,15,128,31,0,15,128,14,0, + 7,128,12,0,3,192,12,0,3,192,8,0,1,224,24,0, + 1,240,16,0,0,240,48,0,0,248,32,0,0,120,96,0, + 0,60,64,0,0,60,192,0,0,30,128,0,0,31,0,0, + 0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0, + 0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0, + 0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0, + 0,15,0,0,1,255,248,0,22,29,87,27,3,0,63,255, + 252,62,0,120,60,0,248,56,0,240,48,1,224,48,3,224, + 96,3,192,96,7,128,64,15,128,64,15,0,0,31,0,0, + 62,0,0,60,0,0,124,0,0,120,0,0,240,0,1,240, + 0,1,224,0,3,224,4,7,192,4,7,128,12,15,128,12, + 31,0,12,31,0,28,62,0,28,60,0,60,124,0,120,248, + 0,248,255,255,248,8,37,37,16,5,248,255,240,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,240,255, + 14,38,76,18,2,248,192,0,64,0,96,0,96,0,32,0, + 48,0,48,0,16,0,24,0,24,0,8,0,12,0,12,0, + 4,0,4,0,6,0,2,0,2,0,3,0,3,0,1,0, + 1,128,1,128,0,128,0,192,0,192,0,64,0,96,0,96, + 0,32,0,48,0,48,0,16,0,24,0,24,0,8,0,12, + 0,12,8,37,37,16,3,248,255,15,7,7,7,7,7,7, + 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, + 7,7,7,7,7,7,7,7,7,7,7,15,255,18,14,42, + 24,3,15,0,192,0,1,192,0,1,224,0,3,48,0,3, + 48,0,6,24,0,12,12,0,12,12,0,24,6,0,48,6, + 0,48,3,0,96,1,128,224,1,128,192,0,192,21,2,6, + 21,0,250,255,255,248,255,255,248,7,7,7,18,3,21,192, + 224,112,56,24,12,2,18,19,57,21,2,0,15,192,0,56, + 112,0,32,56,0,96,28,0,120,28,0,120,28,0,56,28, + 0,0,28,0,0,252,0,15,28,0,56,28,0,112,28,0, + 224,28,0,224,28,64,224,60,64,224,60,64,224,92,192,112, + 159,128,31,15,0,18,29,87,21,1,0,252,0,0,28,0, + 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,0, + 28,0,0,28,0,0,28,0,0,28,120,0,28,142,0,29, + 7,0,30,3,128,30,3,128,28,3,128,28,3,192,28,3, + 192,28,3,192,28,3,192,28,3,192,28,3,192,28,3,192, + 28,3,128,28,3,128,30,3,128,27,7,0,17,142,0,16, + 248,0,15,19,38,18,2,0,7,224,28,16,56,8,48,12, + 112,28,112,60,240,60,240,24,240,0,240,0,240,0,240,0, + 240,6,112,4,112,4,48,12,56,8,12,48,7,224,18,29, + 87,21,2,0,0,254,0,0,14,0,0,14,0,0,14,0, + 0,14,0,0,14,0,0,14,0,0,14,0,0,14,0,0, + 14,0,15,142,0,28,78,0,56,46,0,112,30,0,112,30, + 0,112,14,0,240,14,0,240,14,0,240,14,0,240,14,0, + 240,14,0,240,14,0,240,14,0,112,14,0,112,14,0,112, + 30,0,56,62,0,24,110,0,7,207,192,15,19,38,19,2, + 0,7,192,12,112,56,56,48,28,112,28,112,28,240,30,240, + 30,255,254,240,0,240,0,240,0,240,6,112,4,112,4,56, + 4,56,8,28,16,7,224,14,29,58,14,1,0,1,240,7, + 24,14,24,12,60,28,60,28,56,28,0,28,0,28,0,28, + 0,255,192,28,0,28,0,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,255,192,20,28,84,22,2,247,7,225,192, + 28,58,96,56,30,240,112,30,240,112,14,224,240,15,0,240, + 15,0,240,15,0,112,14,0,112,30,0,56,28,0,28,56, + 0,7,224,0,56,0,0,64,0,0,192,0,0,240,0,0, + 255,254,0,63,255,0,15,7,128,112,1,192,64,0,192,192, + 0,192,192,0,192,192,1,128,96,1,128,56,6,0,7,248, + 0,20,29,87,22,1,0,252,0,0,28,0,0,28,0,0, + 28,0,0,28,0,0,28,0,0,28,0,0,28,0,0,28, + 0,0,28,0,0,28,60,0,28,199,0,29,3,0,29,3, + 128,30,3,128,30,3,128,28,3,128,28,3,128,28,3,128, + 28,3,128,28,3,128,28,3,128,28,3,128,28,3,128,28, + 3,128,28,3,128,28,3,128,28,3,128,255,159,240,8,28, + 28,11,1,0,24,60,60,24,0,0,0,0,0,252,28,28, + 28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,255, + 11,37,74,14,255,247,0,192,1,224,1,224,0,192,0,0, + 0,0,0,0,0,0,0,0,15,224,0,224,0,224,0,224, + 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, + 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, + 0,224,0,224,224,224,240,224,224,192,193,128,99,128,62,0, + 19,29,87,21,1,0,252,0,0,28,0,0,28,0,0,28, + 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, + 0,28,0,0,28,63,192,28,14,0,28,12,0,28,8,0, + 28,16,0,28,48,0,28,96,0,28,192,0,28,224,0,29, + 224,0,30,240,0,30,120,0,28,60,0,28,60,0,28,30, + 0,28,15,0,28,15,0,28,15,128,255,63,224,9,29,58, + 11,1,0,252,0,28,0,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,28,0,28,0,28,0,255,128,31,19,76, + 33,1,0,252,124,15,128,28,199,24,192,29,7,32,224,31, + 3,224,112,30,3,192,112,28,3,128,112,28,3,128,112,28, + 3,128,112,28,3,128,112,28,3,128,112,28,3,128,112,28, + 3,128,112,28,3,128,112,28,3,128,112,28,3,128,112,28, + 3,128,112,28,3,128,112,28,3,128,112,255,159,243,254,20, + 19,57,22,1,0,252,60,0,28,199,0,29,3,0,31,3, + 128,30,3,128,30,3,128,28,3,128,28,3,128,28,3,128, + 28,3,128,28,3,128,28,3,128,28,3,128,28,3,128,28, + 3,128,28,3,128,28,3,128,28,3,128,255,159,240,17,19, + 57,21,2,0,3,224,0,12,56,0,24,28,0,56,14,0, + 112,14,0,112,7,0,240,7,0,240,7,0,240,7,128,240, + 7,128,240,7,128,240,7,0,240,7,0,112,7,0,112,14, + 0,56,14,0,24,28,0,12,56,0,3,224,0,18,28,84, + 21,1,247,252,120,0,29,142,0,31,7,0,30,3,128,30, + 3,128,28,3,128,28,3,192,28,3,192,28,3,192,28,3, + 192,28,3,192,28,3,192,28,3,192,28,3,128,28,3,128, + 30,3,128,31,7,0,29,134,0,28,120,0,28,0,0,28, + 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, + 0,28,0,0,255,128,0,18,28,84,21,2,247,7,130,0, + 28,98,0,56,54,0,112,22,0,112,30,0,112,14,0,240, + 14,0,240,14,0,240,14,0,240,14,0,240,14,0,240,14, + 0,240,14,0,112,14,0,112,14,0,112,30,0,56,62,0, + 24,110,0,7,206,0,0,14,0,0,14,0,0,14,0,0, + 14,0,0,14,0,0,14,0,0,14,0,0,14,0,0,127, + 192,15,19,38,16,1,0,252,56,28,196,28,142,29,30,31, + 28,30,12,30,0,30,0,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,28,0,28,0,28,0,255,128,14,19,38, + 18,2,0,31,16,96,208,64,112,192,48,192,16,224,16,240, + 0,126,0,63,128,31,224,3,248,128,252,192,28,192,12,224, + 12,224,12,240,8,140,24,131,224,12,27,54,14,1,0,4, + 0,4,0,4,0,4,0,4,0,12,0,12,0,28,0,255, + 224,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,28,0,28,16,28,16,28,16,28,48,30, + 32,15,224,7,192,20,19,57,22,1,0,252,31,128,28,3, + 128,28,3,128,28,3,128,28,3,128,28,3,128,28,3,128, + 28,3,128,28,3,128,28,3,128,28,3,128,28,3,128,28, + 3,128,28,7,128,28,7,128,28,15,128,12,11,128,14,51, + 128,3,195,240,20,19,57,21,1,0,255,15,240,60,3,128, + 28,3,0,28,3,0,14,2,0,14,2,0,15,6,0,7, + 4,0,7,4,0,3,140,0,3,136,0,3,200,0,1,216, + 0,1,208,0,0,240,0,0,240,0,0,96,0,0,96,0, + 0,96,0,30,19,76,31,1,0,255,31,243,252,60,7,128, + 224,28,3,128,192,28,3,128,192,14,3,192,128,14,3,192, + 128,15,7,193,128,7,5,225,0,7,4,225,0,3,140,227, + 0,3,136,114,0,1,200,114,0,1,216,118,0,1,240,60, + 0,0,240,60,0,0,240,60,0,0,96,24,0,0,96,24, + 0,0,32,24,0,18,19,57,21,1,0,255,31,192,30,14, + 0,30,12,0,14,8,0,15,24,0,7,16,0,3,160,0, + 3,224,0,1,192,0,1,224,0,1,224,0,1,112,0,3, + 120,0,2,56,0,4,28,0,12,28,0,24,14,0,24,15, + 0,254,63,192,20,28,84,22,1,247,255,143,240,30,1,128, + 30,1,128,14,1,0,14,1,0,15,3,0,7,2,0,7, + 2,0,3,134,0,3,132,0,3,132,0,1,204,0,1,200, + 0,1,200,0,0,248,0,0,240,0,0,240,0,0,112,0, + 0,96,0,0,96,0,0,96,0,0,64,0,48,64,0,120, + 192,0,120,128,0,113,128,0,51,0,0,30,0,0,14,19, + 38,18,2,0,255,252,224,60,192,56,192,120,128,240,128,224, + 129,224,1,192,3,128,7,128,7,0,15,0,30,4,28,4, + 60,4,56,12,112,12,240,28,255,252,10,37,74,17,4,248, + 1,192,6,0,12,0,8,0,24,0,24,0,24,0,28,0, + 28,0,12,0,14,0,14,0,14,0,6,0,6,0,6,0, + 4,0,8,0,240,0,24,0,12,0,4,0,6,0,6,0, + 14,0,14,0,14,0,12,0,28,0,28,0,24,0,24,0, + 24,0,8,0,12,0,6,0,1,192,2,38,38,12,5,248, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,10,37,74,17,3,248,224,0,24,0, + 12,0,4,0,6,0,6,0,6,0,14,0,14,0,12,0, + 28,0,28,0,28,0,24,0,24,0,24,0,8,0,4,0, + 3,192,6,0,8,0,24,0,24,0,24,0,28,0,28,0, + 28,0,12,0,14,0,14,0,6,0,6,0,6,0,4,0, + 12,0,24,0,224,0,23,8,24,27,2,7,30,0,8,127, + 192,4,255,240,2,199,254,2,128,255,134,128,63,254,192,15, + 252,96,1,248,255}; +/* + Fontname: -FreeType-Old Standard TT-Medium-R-Normal--49-490-72-72-P-256-ISO10646-1 + Copyright: Copyright (C) 2006-2008 Alexey Kryukov + Capital A Height: 35, '1' Height: 34 + Calculated Max Values w=49 h=47 x=10 y=28 dx=52 dy= 0 ascent=47 len=252 + Font Bounding box w=128 h=62 x=-40 y=-15 + Calculated Min Values x=-2 y=-13 dx= 0 dy= 0 + Pure Font ascent =35 descent=-10 + X Font ascent =36 descent=-10 + Max Font ascent =47 descent=-13 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_osr35[22370] U8G_FONT_SECTION("u8g_font_osr35") = { + 0,128,62,216,241,35,12,236,30,116,32,255,246,47,243,36, + 246,0,0,0,14,0,0,6,34,34,14,4,0,120,252,252, + 252,252,252,252,252,252,120,120,120,120,120,120,48,48,48,48, + 48,48,48,48,48,48,48,0,0,0,120,252,252,252,120,11, + 10,20,19,4,26,224,224,224,224,224,224,224,224,224,224,224, + 224,64,64,64,64,64,64,64,64,26,34,136,34,4,0,0, + 48,24,0,0,48,24,0,0,112,24,0,0,96,24,0,0, + 96,56,0,0,96,56,0,0,96,48,0,0,96,48,0,0, + 96,48,0,0,224,48,0,255,255,255,192,255,255,255,192,0, + 192,96,0,0,192,96,0,0,192,96,0,1,192,96,0,1, + 128,96,0,1,128,224,0,1,128,192,0,1,128,192,0,1, + 128,192,0,3,128,192,0,255,255,255,192,255,255,255,192,3, + 1,128,0,3,1,128,0,3,1,128,0,7,1,128,0,7, + 1,128,0,6,1,128,0,6,3,128,0,6,3,0,0,6, + 3,0,0,6,3,0,0,22,41,123,29,3,252,0,204,0, + 0,204,0,0,204,0,1,254,0,7,207,192,12,204,96,24, + 204,48,48,204,24,32,204,24,96,204,28,96,204,60,96,204, + 124,96,204,124,112,204,120,120,204,120,62,204,0,63,204,0, + 31,252,0,15,252,0,7,255,128,1,255,192,0,255,224,0, + 207,240,0,205,248,0,204,120,48,204,60,120,204,28,248,204, + 28,248,204,12,240,204,12,240,204,8,224,204,24,96,204,24, + 96,204,48,48,204,96,28,205,192,7,255,128,0,204,0,0, + 204,0,0,204,0,0,204,0,33,34,170,43,5,0,15,128, + 0,48,0,24,192,0,96,0,48,96,0,64,0,112,112,0, + 192,0,96,48,1,128,0,224,56,1,128,0,224,56,3,0, + 0,224,56,2,0,0,224,56,6,0,0,224,56,12,0,0, + 224,56,12,0,0,224,56,24,0,0,96,48,48,0,0,96, + 112,48,0,0,48,96,96,0,0,24,192,64,0,0,15,128, + 192,0,0,0,1,128,248,0,0,1,129,140,0,0,3,3, + 6,0,0,2,6,7,0,0,6,6,3,0,0,12,14,3, + 128,0,8,14,3,128,0,24,14,3,128,0,48,14,3,128, + 0,48,14,3,128,0,96,14,3,128,0,64,14,3,128,0, + 192,6,3,0,1,128,6,3,0,1,128,7,7,0,3,0, + 3,14,0,6,0,1,252,0,33,34,170,39,3,0,0,63, + 0,0,0,0,227,128,0,0,1,128,192,0,0,3,128,64, + 0,0,3,0,96,0,0,7,0,96,0,0,7,0,96,0, + 0,7,0,224,0,0,7,0,192,0,0,7,129,192,0,0, + 7,131,128,0,0,3,199,0,0,0,3,238,0,0,0,1, + 248,0,0,0,0,248,7,255,128,1,248,0,252,0,3,252, + 0,112,0,7,62,0,112,0,14,63,0,96,0,28,31,0, + 96,0,60,15,128,192,0,56,7,192,192,0,120,7,193,128, + 0,120,3,225,128,0,240,1,243,0,0,240,1,254,0,0, + 240,0,254,0,0,240,0,124,0,0,248,0,62,0,0,248, + 0,62,1,0,120,0,127,1,0,60,0,207,130,0,30,3, + 135,252,0,15,254,1,248,0,3,10,10,11,4,26,224,224, + 224,224,224,224,64,64,64,64,11,46,92,18,5,246,0,64, + 0,224,1,192,3,128,3,0,6,0,14,0,12,0,28,0, + 24,0,56,0,48,0,48,0,112,0,96,0,96,0,96,0, + 224,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, + 192,0,192,0,192,0,224,0,96,0,96,0,96,0,112,0, + 48,0,48,0,56,0,24,0,28,0,12,0,14,0,6,0, + 3,0,3,128,1,192,0,224,0,64,11,45,90,18,2,246, + 64,0,96,0,112,0,56,0,28,0,12,0,14,0,6,0, + 3,0,3,0,3,128,1,128,1,192,0,192,0,192,0,192, + 0,224,0,96,0,96,0,96,0,96,0,96,0,96,0,96, + 0,96,0,96,0,96,0,96,0,96,0,224,0,192,0,192, + 0,192,1,128,1,128,3,128,3,0,7,0,6,0,14,0, + 12,0,24,0,56,0,112,0,224,0,18,20,60,25,4,14, + 0,224,0,1,224,0,1,224,0,1,224,0,224,195,128,240, + 135,192,248,143,192,60,159,128,3,248,0,1,224,0,3,240, + 0,30,190,0,124,143,128,248,135,192,240,195,192,97,193,128, + 1,224,0,1,224,0,1,224,0,0,224,0,41,41,246,45, + 2,248,0,0,12,0,0,0,0,0,12,0,0,0,0,0, + 12,0,0,0,0,0,12,0,0,0,0,0,12,0,0,0, + 0,0,12,0,0,0,0,0,12,0,0,0,0,0,12,0, + 0,0,0,0,12,0,0,0,0,0,12,0,0,0,0,0, + 12,0,0,0,0,0,12,0,0,0,0,0,12,0,0,0, + 0,0,12,0,0,0,0,0,12,0,0,0,0,0,12,0, + 0,0,0,0,12,0,0,0,0,0,12,0,0,0,0,0, + 12,0,0,0,255,255,255,255,255,128,255,255,255,255,255,128, + 0,0,12,0,0,0,0,0,12,0,0,0,0,0,12,0, + 0,0,0,0,12,0,0,0,0,0,12,0,0,0,0,0, + 12,0,0,0,0,0,12,0,0,0,0,0,12,0,0,0, + 0,0,12,0,0,0,0,0,12,0,0,0,0,0,12,0, + 0,0,0,0,12,0,0,0,0,0,12,0,0,0,0,0, + 12,0,0,0,0,0,12,0,0,0,0,0,12,0,0,0, + 0,0,12,0,0,0,0,0,12,0,0,0,0,0,12,0, + 0,0,0,0,12,0,0,0,7,15,15,14,4,247,120,252, + 252,254,126,6,6,6,4,12,8,24,48,96,64,12,3,6, + 18,3,11,255,240,255,240,255,240,6,5,5,14,4,1,120, + 252,252,252,120,16,46,92,22,3,246,0,3,0,3,0,3, + 0,6,0,6,0,6,0,12,0,12,0,12,0,24,0,24, + 0,24,0,48,0,48,0,48,0,48,0,96,0,96,0,96, + 0,192,0,192,0,192,1,128,1,128,1,128,3,0,3,0, + 3,0,6,0,6,0,6,0,12,0,12,0,12,0,24,0, + 24,0,24,0,48,0,48,0,48,0,96,0,96,0,96,0, + 96,0,192,0,192,0,23,34,102,28,2,0,0,124,0,1, + 199,0,7,1,128,6,0,192,14,0,224,28,0,112,60,0, + 120,60,0,120,56,0,56,120,0,60,120,0,60,120,0,60, + 248,0,62,248,0,62,248,0,62,248,0,62,248,0,62,248, + 0,62,248,0,62,248,0,62,248,0,62,248,0,62,120,0, + 60,120,0,60,120,0,60,120,0,60,60,0,120,60,0,120, + 28,0,112,28,0,112,14,0,224,7,1,192,3,131,128,0, + 254,0,17,34,102,28,6,0,0,64,0,0,64,0,0,192, + 0,0,192,0,1,192,0,7,192,0,255,192,0,3,192,0, + 3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3, + 192,0,3,192,0,3,192,0,3,192,0,3,192,0,3,192, + 0,3,192,0,3,192,0,3,192,0,3,192,0,3,192,0, + 3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3, + 192,0,3,192,0,3,192,0,255,255,128,255,255,128,21,34, + 102,28,4,0,3,252,0,14,31,0,16,7,192,32,3,224, + 96,1,240,64,1,240,192,0,240,192,0,248,224,0,248,252, + 0,248,254,0,248,126,0,248,126,0,240,62,1,240,0,1, + 224,0,3,192,0,3,128,0,7,0,0,14,0,0,28,0, + 0,112,0,0,224,0,1,192,0,3,0,0,6,0,16,12, + 0,16,24,0,16,16,0,16,48,0,48,48,0,112,127,255, + 240,127,255,240,127,255,240,127,255,240,21,34,102,28,4,0, + 3,248,0,14,31,0,24,7,128,48,3,192,112,3,192,120, + 1,224,124,1,224,126,1,224,126,1,224,60,1,224,0,1, + 224,0,3,192,0,3,192,0,7,128,0,14,0,15,248,0, + 31,143,0,14,3,128,0,3,224,0,1,224,0,1,240,0, + 0,248,0,0,248,0,0,248,60,0,248,126,0,248,254,0, + 248,254,0,248,252,1,240,224,1,240,224,3,224,96,3,192, + 48,15,0,15,254,0,23,34,102,28,3,0,0,1,128,0, + 1,128,0,3,128,0,7,128,0,7,128,0,15,128,0,31, + 128,0,31,128,0,55,128,0,119,128,0,231,128,0,199,128, + 1,199,128,3,135,128,3,7,128,6,7,128,14,7,128,12, + 7,128,24,7,128,56,7,128,48,7,128,96,7,128,224,7, + 128,255,255,254,0,7,128,0,7,128,0,7,128,0,7,128, + 0,7,128,0,7,128,0,7,128,0,7,128,3,255,254,3, + 255,254,21,35,105,28,4,0,48,0,64,60,3,192,63,255, + 128,63,255,0,63,252,0,55,240,0,48,0,0,48,0,0, + 48,0,0,48,0,0,48,0,0,48,0,0,48,0,0,51, + 254,0,60,7,128,56,3,192,48,1,224,48,1,240,48,1, + 240,0,0,240,0,0,248,0,0,248,0,0,248,0,0,248, + 60,0,248,126,0,248,254,0,248,254,0,240,252,1,240,248, + 1,224,240,1,224,112,3,192,112,7,128,60,31,0,15,252, + 0,21,34,102,28,4,0,0,126,0,1,193,128,3,128,192, + 7,0,64,14,0,224,28,1,224,28,3,224,56,3,224,56, + 3,192,120,0,0,120,0,0,120,0,0,120,0,0,240,126, + 0,241,255,128,243,131,192,247,1,224,254,1,240,252,0,240, + 252,0,240,248,0,248,248,0,120,248,0,120,248,0,120,120, + 0,120,120,0,120,120,0,248,120,0,240,56,0,240,60,0, + 224,28,1,224,14,3,192,7,7,128,1,254,0,19,34,102, + 28,5,0,255,255,224,255,255,224,255,255,224,255,255,224,224, + 0,224,192,0,64,128,0,64,128,0,192,128,0,128,128,1, + 128,0,1,128,0,3,0,0,2,0,0,6,0,0,12,0, + 0,24,0,0,24,0,0,48,0,0,112,0,0,112,0,0, + 224,0,0,224,0,1,224,0,1,224,0,3,224,0,3,224, + 0,3,224,0,7,240,0,7,240,0,7,240,0,7,240,0, + 7,240,0,3,240,0,3,224,0,23,34,102,28,3,0,1, + 254,0,7,135,128,30,1,192,56,0,224,120,0,112,112,0, + 112,240,0,56,240,0,56,240,0,56,240,0,56,248,0,56, + 252,0,112,126,0,112,127,192,224,63,241,192,31,255,0,7, + 255,128,7,255,224,12,63,248,56,7,252,112,1,252,112,0, + 126,224,0,62,224,0,62,224,0,62,224,0,30,224,0,30, + 224,0,28,96,0,60,112,0,56,48,0,120,24,0,240,14, + 1,192,3,255,0,21,34,102,28,4,0,1,248,0,7,142, + 0,14,3,0,28,1,128,56,1,192,120,1,224,120,0,224, + 120,0,240,240,0,240,240,0,240,240,0,240,240,0,248,240, + 0,248,248,0,248,120,1,248,120,1,248,120,3,248,60,7, + 120,30,14,120,15,252,120,3,240,120,0,0,240,0,0,240, + 0,0,240,0,0,240,60,0,224,124,0,224,124,1,192,124, + 1,192,120,3,128,112,3,0,56,6,0,28,28,0,15,248, + 0,6,22,22,14,4,1,120,252,252,252,120,0,0,0,0, + 0,0,0,0,0,0,0,0,120,252,252,252,120,7,31,31, + 14,4,248,120,252,252,252,120,0,0,0,0,0,0,0,0, + 0,0,0,120,252,252,254,126,14,6,6,4,12,8,24,48, + 96,64,38,40,200,46,4,249,0,0,0,0,28,0,0,0, + 0,120,0,0,0,1,240,0,0,0,7,192,0,0,0,15, + 0,0,0,0,60,0,0,0,0,240,0,0,0,3,192,0, + 0,0,15,0,0,0,0,62,0,0,0,0,248,0,0,0, + 1,224,0,0,0,7,128,0,0,0,30,0,0,0,0,120, + 0,0,0,1,224,0,0,0,7,192,0,0,0,31,0,0, + 0,0,60,0,0,0,0,240,0,0,0,0,240,0,0,0, + 0,124,0,0,0,0,31,0,0,0,0,7,128,0,0,0, + 1,224,0,0,0,0,120,0,0,0,0,30,0,0,0,0, + 7,128,0,0,0,3,224,0,0,0,0,248,0,0,0,0, + 60,0,0,0,0,15,0,0,0,0,3,192,0,0,0,0, + 240,0,0,0,0,60,0,0,0,0,31,0,0,0,0,7, + 192,0,0,0,1,224,0,0,0,0,120,0,0,0,0,28, + 41,11,66,45,2,7,255,255,255,255,255,128,255,255,255,255, + 255,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255, + 255,128,255,255,255,255,255,128,38,40,200,46,4,249,224,0, + 0,0,0,120,0,0,0,0,62,0,0,0,0,15,128,0, + 0,0,3,192,0,0,0,0,240,0,0,0,0,60,0,0, + 0,0,15,0,0,0,0,3,192,0,0,0,1,240,0,0, + 0,0,124,0,0,0,0,30,0,0,0,0,7,128,0,0, + 0,1,224,0,0,0,0,120,0,0,0,0,30,0,0,0, + 0,15,128,0,0,0,3,224,0,0,0,0,240,0,0,0, + 0,60,0,0,0,0,60,0,0,0,0,248,0,0,0,3, + 224,0,0,0,7,128,0,0,0,30,0,0,0,0,120,0, + 0,0,1,224,0,0,0,7,128,0,0,0,31,0,0,0, + 0,124,0,0,0,0,240,0,0,0,3,192,0,0,0,15, + 0,0,0,0,60,0,0,0,0,240,0,0,0,3,224,0, + 0,0,15,128,0,0,0,30,0,0,0,0,120,0,0,0, + 0,224,0,0,0,0,18,34,102,23,3,0,7,240,0,28, + 60,0,48,15,0,96,7,128,192,7,128,192,3,192,192,3, + 192,248,3,192,252,3,192,124,7,192,56,7,128,0,15,128, + 0,31,0,0,62,0,0,124,0,0,240,0,0,224,0,1, + 192,0,3,0,0,6,0,0,14,8,0,12,8,0,12,8, + 0,12,8,0,6,16,0,3,224,0,0,0,0,0,0,0, + 0,0,0,1,224,0,3,240,0,3,240,0,3,240,0,1, + 224,0,35,36,180,40,2,0,0,3,254,0,0,0,30,7, + 192,0,0,112,0,112,0,1,192,0,24,0,3,128,0,12, + 0,7,0,0,6,0,14,0,0,3,0,28,0,120,1,0, + 24,1,196,225,128,56,7,7,224,128,48,14,3,224,192,112, + 12,3,192,192,96,28,3,192,64,96,56,3,192,96,224,56, + 3,192,96,192,120,3,128,96,192,112,7,128,96,192,112,7, + 128,96,192,240,7,128,96,192,224,7,0,96,192,224,15,0, + 224,192,224,15,0,192,192,224,14,0,192,96,224,30,1,128, + 96,224,62,1,128,96,224,62,3,0,96,96,78,6,0,48, + 49,143,12,0,48,31,7,240,0,24,0,0,0,0,12,0, + 0,0,0,6,0,0,0,0,3,0,0,0,0,1,192,0, + 112,0,0,112,1,192,0,0,31,255,0,0,34,35,175,37, + 2,0,0,0,192,0,0,0,0,192,0,0,0,0,224,0, + 0,0,1,224,0,0,0,1,224,0,0,0,3,240,0,0, + 0,3,240,0,0,0,3,240,0,0,0,6,248,0,0,0, + 6,248,0,0,0,6,248,0,0,0,12,124,0,0,0,12, + 124,0,0,0,12,124,0,0,0,24,62,0,0,0,24,62, + 0,0,0,24,30,0,0,0,48,31,0,0,0,48,31,0, + 0,0,48,15,0,0,0,96,15,128,0,0,96,15,128,0, + 0,96,7,128,0,0,255,255,192,0,0,255,255,192,0,0, + 192,3,192,0,1,128,3,224,0,1,128,3,224,0,3,128, + 1,224,0,3,0,1,240,0,3,0,1,240,0,7,0,0, + 240,0,7,0,0,248,0,31,128,1,252,0,255,248,31,255, + 192,28,35,140,34,3,0,255,255,240,0,7,192,62,0,7, + 128,15,0,7,128,7,128,7,128,3,192,7,128,1,224,7, + 128,1,224,7,128,1,224,7,128,1,224,7,128,1,224,7, + 128,1,224,7,128,1,224,7,128,3,192,7,128,3,128,7, + 128,7,0,7,128,30,0,7,255,240,0,7,128,62,0,7, + 128,15,0,7,128,7,128,7,128,3,192,7,128,3,224,7, + 128,1,224,7,128,1,240,7,128,1,240,7,128,1,240,7, + 128,1,240,7,128,1,240,7,128,1,240,7,128,3,224,7, + 128,3,224,7,128,7,192,7,128,15,128,7,192,62,0,255, + 255,240,0,26,36,144,32,3,0,0,63,0,128,0,225,224, + 128,3,128,113,128,7,0,63,128,14,0,31,128,30,0,15, + 128,28,0,7,128,60,0,3,128,60,0,3,128,124,0,3, + 128,120,0,1,128,120,0,1,128,120,0,0,128,248,0,0, + 128,248,0,0,0,248,0,0,0,248,0,0,0,248,0,0, + 0,248,0,0,0,248,0,0,0,248,0,0,0,248,0,0, + 0,248,0,0,0,120,0,0,192,120,0,0,192,120,0,0, + 192,60,0,0,192,60,0,0,128,60,0,1,128,28,0,1, + 128,14,0,3,0,14,0,3,0,7,0,6,0,3,128,12, + 0,0,224,56,0,0,127,224,0,33,35,175,38,3,0,255, + 255,252,0,0,7,192,15,0,0,7,128,3,192,0,7,128, + 0,224,0,7,128,0,112,0,7,128,0,120,0,7,128,0, + 60,0,7,128,0,62,0,7,128,0,30,0,7,128,0,31, + 0,7,128,0,31,0,7,128,0,15,0,7,128,0,15,0, + 7,128,0,15,128,7,128,0,15,128,7,128,0,15,128,7, + 128,0,15,128,7,128,0,15,128,7,128,0,15,128,7,128, + 0,15,128,7,128,0,15,128,7,128,0,15,128,7,128,0, + 15,0,7,128,0,31,0,7,128,0,31,0,7,128,0,30, + 0,7,128,0,30,0,7,128,0,60,0,7,128,0,60,0, + 7,128,0,120,0,7,128,0,112,0,7,128,0,224,0,7, + 128,3,192,0,7,192,15,0,0,255,255,252,0,0,28,35, + 140,34,3,0,255,255,255,240,7,192,7,240,7,128,1,240, + 7,128,0,240,7,128,0,112,7,128,0,112,7,128,0,48, + 7,128,0,48,7,128,0,48,7,128,0,16,7,128,32,16, + 7,128,32,16,7,128,32,0,7,128,96,0,7,128,96,0, + 7,128,96,0,7,128,224,0,7,255,224,0,7,129,224,0, + 7,128,96,0,7,128,96,0,7,128,96,0,7,128,32,16, + 7,128,32,16,7,128,32,16,7,128,0,16,7,128,0,48, + 7,128,0,48,7,128,0,48,7,128,0,112,7,128,0,112, + 7,128,0,240,7,128,1,240,255,255,255,240,255,255,255,240, + 27,35,140,34,4,0,255,255,255,224,15,128,15,224,7,128, + 3,224,7,128,1,224,7,128,0,224,7,128,0,224,7,128, + 0,96,7,128,0,96,7,128,0,96,7,128,0,32,7,128, + 32,32,7,128,32,32,7,128,32,0,7,128,96,0,7,128, + 96,0,7,128,96,0,7,128,224,0,7,255,224,0,7,129, + 224,0,7,128,96,0,7,128,96,0,7,128,96,0,7,128, + 32,0,7,128,32,0,7,128,32,0,7,128,0,0,7,128, + 0,0,7,128,0,0,7,128,0,0,7,128,0,0,7,128, + 0,0,7,128,0,0,7,128,0,0,15,128,0,0,255,254, + 0,0,30,36,144,34,3,0,0,63,128,192,0,224,224,192, + 3,128,56,192,7,0,29,192,14,0,15,192,14,0,7,192, + 28,0,7,192,60,0,3,192,60,0,3,192,124,0,1,192, + 120,0,1,192,120,0,0,192,120,0,0,192,248,0,0,192, + 248,0,0,0,248,0,0,0,248,0,0,0,248,0,0,0, + 248,0,255,252,248,0,255,252,248,0,7,192,248,0,7,192, + 248,0,7,192,248,0,7,192,120,0,7,192,120,0,7,192, + 124,0,7,192,60,0,7,192,60,0,7,192,28,0,15,192, + 30,0,15,192,14,0,28,192,7,0,24,192,3,0,48,192, + 1,192,224,192,0,127,128,192,33,35,175,38,3,0,255,252, + 31,255,128,7,192,0,248,0,7,128,0,240,0,7,128,0, + 240,0,7,128,0,240,0,7,128,0,240,0,7,128,0,240, + 0,7,128,0,240,0,7,128,0,240,0,7,128,0,240,0, + 7,128,0,240,0,7,128,0,240,0,7,128,0,240,0,7, + 128,0,240,0,7,128,0,240,0,7,128,0,240,0,7,255, + 255,240,0,7,128,0,240,0,7,128,0,240,0,7,128,0, + 240,0,7,128,0,240,0,7,128,0,240,0,7,128,0,240, + 0,7,128,0,240,0,7,128,0,240,0,7,128,0,240,0, + 7,128,0,240,0,7,128,0,240,0,7,128,0,240,0,7, + 128,0,240,0,7,128,0,240,0,7,128,0,240,0,7,128, + 0,240,0,7,192,0,248,0,255,252,31,255,128,14,35,70, + 19,3,0,255,252,7,192,7,128,7,128,7,128,7,128,7, + 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, + 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, + 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, + 128,7,128,7,128,7,192,255,252,23,35,105,27,2,0,0, + 127,254,0,7,192,0,3,192,0,3,192,0,3,192,0,3, + 192,0,3,192,0,3,192,0,3,192,0,3,192,0,3,192, + 0,3,192,0,3,192,0,3,192,0,3,192,0,3,192,0, + 3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3, + 192,0,3,192,0,3,192,60,3,192,126,3,192,254,3,192, + 254,3,192,252,3,192,224,3,128,224,7,128,96,7,0,112, + 14,0,56,28,0,15,248,0,32,35,140,37,3,0,255,252, + 63,254,7,192,15,240,7,128,7,192,7,128,3,128,7,128, + 7,0,7,128,6,0,7,128,12,0,7,128,28,0,7,128, + 56,0,7,128,112,0,7,128,224,0,7,129,192,0,7,129, + 128,0,7,131,128,0,7,135,128,0,7,143,192,0,7,155, + 224,0,7,179,224,0,7,225,240,0,7,193,240,0,7,128, + 248,0,7,128,248,0,7,128,124,0,7,128,124,0,7,128, + 62,0,7,128,62,0,7,128,31,0,7,128,31,0,7,128, + 15,128,7,128,15,192,7,128,7,192,7,128,7,224,7,128, + 3,224,7,192,7,248,255,252,127,255,27,35,140,33,3,0, + 255,254,0,0,7,192,0,0,7,128,0,0,7,128,0,0, + 7,128,0,0,7,128,0,0,7,128,0,0,7,128,0,0, + 7,128,0,0,7,128,0,0,7,128,0,0,7,128,0,0, + 7,128,0,0,7,128,0,0,7,128,0,0,7,128,0,0, + 7,128,0,0,7,128,0,0,7,128,0,0,7,128,0,0, + 7,128,0,0,7,128,0,0,7,128,0,32,7,128,0,96, + 7,128,0,96,7,128,0,96,7,128,0,96,7,128,0,224, + 7,128,0,224,7,128,0,224,7,128,1,224,7,128,3,224, + 7,128,7,224,255,255,255,224,255,255,255,224,36,35,175,41, + 3,0,255,224,0,63,240,7,224,0,62,0,7,224,0,126, + 0,7,240,0,94,0,7,240,0,94,0,6,240,0,222,0, + 6,248,0,222,0,6,248,0,158,0,6,120,0,158,0,6, + 120,1,158,0,6,124,1,158,0,6,60,1,30,0,6,60, + 1,30,0,6,62,3,30,0,6,62,3,30,0,6,30,2, + 30,0,6,30,2,30,0,6,31,6,30,0,6,15,4,30, + 0,6,15,4,30,0,6,15,140,30,0,6,7,140,30,0, + 6,7,136,30,0,6,7,200,30,0,6,7,216,30,0,6, + 3,216,30,0,6,3,208,30,0,6,3,240,30,0,6,1, + 240,30,0,6,1,240,30,0,6,1,224,30,0,6,0,224, + 30,0,15,0,224,30,0,31,128,192,62,0,255,240,195,255, + 240,33,36,180,38,3,255,255,192,7,255,128,7,192,0,252, + 0,7,224,0,120,0,7,240,0,48,0,7,240,0,48,0, + 7,248,0,48,0,6,248,0,48,0,6,124,0,48,0,6, + 126,0,48,0,6,62,0,48,0,6,31,0,48,0,6,31, + 0,48,0,6,15,128,48,0,6,15,192,48,0,6,7,192, + 48,0,6,3,224,48,0,6,3,224,48,0,6,1,240,48, + 0,6,1,248,48,0,6,0,248,48,0,6,0,124,48,0, + 6,0,124,48,0,6,0,62,48,0,6,0,63,48,0,6, + 0,31,48,0,6,0,15,176,0,6,0,15,176,0,6,0, + 7,240,0,6,0,7,240,0,6,0,3,240,0,6,0,1, + 240,0,6,0,1,240,0,15,0,0,240,0,31,128,0,112, + 0,255,240,0,112,0,0,0,0,48,0,28,36,144,33,3, + 0,0,31,128,0,0,240,240,0,1,192,56,0,3,128,28, + 0,7,0,14,0,14,0,7,0,30,0,7,128,28,0,3, + 128,60,0,3,192,60,0,3,192,124,0,3,224,120,0,1, + 224,120,0,1,224,248,0,1,224,248,0,1,240,248,0,1, + 240,248,0,1,240,248,0,1,240,248,0,1,240,248,0,1, + 240,248,0,1,240,248,0,1,240,248,0,1,240,120,0,1, + 224,120,0,1,224,124,0,3,224,124,0,3,224,60,0,3, + 192,60,0,3,192,30,0,7,128,14,0,7,0,14,0,15, + 0,7,0,14,0,3,128,28,0,0,224,112,0,0,127,224, + 0,28,35,140,33,3,0,255,255,240,0,7,192,30,0,7, + 128,7,128,7,128,7,192,7,128,3,224,7,128,3,224,7, + 128,1,240,7,128,1,240,7,128,1,240,7,128,1,240,7, + 128,1,240,7,128,1,240,7,128,3,224,7,128,3,224,7, + 128,7,192,7,128,7,128,7,128,30,0,7,255,248,0,7, + 128,0,0,7,128,0,0,7,128,0,0,7,128,0,0,7, + 128,0,0,7,128,0,0,7,128,0,0,7,128,0,0,7, + 128,0,0,7,128,0,0,7,128,0,0,7,128,0,0,7, + 128,0,0,7,128,0,0,7,128,0,0,7,192,0,0,255, + 254,0,0,28,44,176,33,3,248,0,31,128,0,0,240,240, + 0,1,192,56,0,3,128,28,0,7,0,14,0,14,0,7, + 0,30,0,7,128,28,0,3,128,60,0,3,192,60,0,3, + 192,124,0,3,224,120,0,1,224,120,0,1,224,248,0,1, + 224,248,0,1,240,248,0,1,240,248,0,1,240,248,0,1, + 240,248,0,1,240,248,0,1,240,248,0,1,240,248,0,1, + 240,248,0,1,240,120,0,1,224,120,0,1,224,124,0,3, + 224,124,0,3,224,60,15,3,192,60,25,195,192,30,48,199, + 128,14,96,231,128,15,96,111,0,7,96,126,0,3,224,124, + 16,0,240,120,16,0,127,240,16,0,0,112,16,0,0,112, + 16,0,0,120,48,0,0,120,32,0,0,124,96,0,0,63, + 192,0,0,63,192,0,0,15,0,30,35,140,35,3,0,255, + 255,248,0,7,192,62,0,7,128,15,128,7,128,7,192,7, + 128,7,192,7,128,3,224,7,128,3,224,7,128,3,224,7, + 128,3,224,7,128,3,224,7,128,3,192,7,128,7,192,7, + 128,7,128,7,128,15,0,7,128,60,0,7,255,224,0,7, + 128,240,0,7,128,56,0,7,128,28,0,7,128,30,0,7, + 128,30,0,7,128,31,0,7,128,15,0,7,128,15,0,7, + 128,15,0,7,128,15,0,7,128,15,128,7,128,15,132,7, + 128,15,132,7,128,15,132,7,128,15,132,7,128,15,140,7, + 128,7,248,7,192,7,248,255,254,3,240,23,36,108,30,4, + 0,3,240,0,14,28,24,56,7,24,48,3,248,112,1,248, + 96,0,248,224,0,120,224,0,56,224,0,56,224,0,56,224, + 0,24,240,0,24,248,0,8,126,0,8,127,192,0,63,240, + 0,31,252,0,15,255,128,3,255,224,0,255,240,128,63,248, + 128,7,252,128,1,252,192,0,126,192,0,62,192,0,30,224, + 0,14,224,0,14,240,0,14,240,0,14,248,0,12,252,0, + 28,222,0,24,199,0,48,195,128,96,128,255,192,28,35,140, + 35,4,0,255,255,255,240,254,15,131,240,248,15,1,240,240, + 15,0,240,224,15,0,112,192,15,0,112,192,15,0,48,192, + 15,0,48,192,15,0,48,128,15,0,16,128,15,0,16,128, + 15,0,16,128,15,0,16,0,15,0,0,0,15,0,0,0, + 15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0, + 15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0, + 15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0, + 15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0, + 15,0,0,0,15,0,0,0,15,128,0,3,255,254,0,34, + 35,175,39,3,0,255,252,3,255,192,7,192,0,126,0,7, + 128,0,60,0,7,128,0,24,0,7,128,0,24,0,7,128, + 0,24,0,7,128,0,24,0,7,128,0,24,0,7,128,0, + 24,0,7,128,0,24,0,7,128,0,24,0,7,128,0,24, + 0,7,128,0,24,0,7,128,0,24,0,7,128,0,24,0, + 7,128,0,24,0,7,128,0,24,0,7,128,0,24,0,7, + 128,0,24,0,7,128,0,24,0,7,128,0,24,0,7,128, + 0,24,0,7,128,0,24,0,7,128,0,24,0,7,128,0, + 24,0,7,128,0,24,0,7,128,0,24,0,3,192,0,24, + 0,3,192,0,48,0,3,192,0,48,0,1,224,0,96,0, + 0,224,0,96,0,0,112,0,192,0,0,60,3,128,0,0, + 15,254,0,0,34,36,180,37,2,255,255,255,7,255,192,15, + 240,0,126,0,3,224,0,56,0,3,224,0,56,0,3,240, + 0,48,0,1,240,0,48,0,1,240,0,48,0,0,248,0, + 96,0,0,248,0,96,0,0,248,0,96,0,0,124,0,192, + 0,0,124,0,192,0,0,124,0,192,0,0,62,0,192,0, + 0,62,1,128,0,0,62,1,128,0,0,31,1,128,0,0, + 31,3,0,0,0,31,3,0,0,0,15,131,0,0,0,15, + 134,0,0,0,15,134,0,0,0,7,198,0,0,0,7,204, + 0,0,0,3,204,0,0,0,3,236,0,0,0,3,232,0, + 0,0,1,248,0,0,0,1,248,0,0,0,1,248,0,0, + 0,0,240,0,0,0,0,240,0,0,0,0,240,0,0,0, + 0,96,0,0,0,0,96,0,0,0,0,96,0,0,49,36, + 252,52,2,255,255,254,127,255,15,255,128,15,240,15,248,1, + 248,0,3,224,3,240,0,240,0,3,224,3,224,0,96,0, + 3,224,3,240,0,96,0,1,240,3,240,0,96,0,1,240, + 3,240,0,192,0,1,240,3,240,0,192,0,0,240,7,248, + 0,192,0,0,248,6,248,0,128,0,0,248,6,248,1,128, + 0,0,248,6,124,1,128,0,0,120,14,124,1,128,0,0, + 124,12,124,3,0,0,0,124,12,62,3,0,0,0,60,28, + 62,3,0,0,0,60,24,62,6,0,0,0,60,24,30,6, + 0,0,0,62,24,31,6,0,0,0,30,56,31,12,0,0, + 0,30,48,31,12,0,0,0,30,48,15,140,0,0,0,15, + 48,15,152,0,0,0,15,112,15,152,0,0,0,15,96,7, + 216,0,0,0,15,96,7,208,0,0,0,7,224,7,240,0, + 0,0,7,192,3,240,0,0,0,7,192,3,240,0,0,0, + 3,192,3,224,0,0,0,3,192,3,224,0,0,0,3,128, + 1,224,0,0,0,1,128,1,192,0,0,0,1,128,1,192, + 0,0,0,1,128,0,192,0,0,0,1,0,0,128,0,0, + 33,35,175,36,2,0,127,255,31,255,0,3,240,3,240,0, + 1,240,1,224,0,1,240,1,192,0,0,248,1,128,0,0, + 120,3,0,0,0,124,3,0,0,0,60,6,0,0,0,62, + 14,0,0,0,31,12,0,0,0,31,24,0,0,0,15,152, + 0,0,0,15,176,0,0,0,7,224,0,0,0,7,224,0, + 0,0,3,224,0,0,0,3,224,0,0,0,1,240,0,0, + 0,3,240,0,0,0,3,248,0,0,0,6,248,0,0,0, + 14,124,0,0,0,12,124,0,0,0,24,62,0,0,0,56, + 62,0,0,0,48,31,0,0,0,96,31,0,0,0,224,15, + 128,0,0,192,15,128,0,1,128,7,192,0,3,128,7,192, + 0,3,128,3,224,0,7,128,3,240,0,31,192,3,248,0, + 255,248,63,255,128,32,35,140,35,2,0,255,254,15,255,15, + 224,1,248,7,224,0,240,3,224,0,96,3,240,0,64,1, + 240,0,192,1,248,0,128,0,248,0,128,0,252,1,0,0, + 124,3,0,0,62,2,0,0,62,6,0,0,31,4,0,0, + 31,12,0,0,15,136,0,0,7,216,0,0,7,208,0,0, + 3,240,0,0,3,224,0,0,1,224,0,0,1,224,0,0, + 1,224,0,0,1,224,0,0,1,224,0,0,1,224,0,0, + 1,224,0,0,1,224,0,0,1,224,0,0,1,224,0,0, + 1,224,0,0,1,224,0,0,1,224,0,0,1,224,0,0, + 1,240,0,0,127,255,192,26,35,140,32,3,0,63,255,255, + 192,63,128,15,128,62,0,31,128,60,0,31,0,56,0,62, + 0,56,0,62,0,48,0,124,0,48,0,252,0,96,0,248, + 0,96,1,240,0,64,3,240,0,64,3,224,0,0,7,192, + 0,0,7,192,0,0,15,128,0,0,31,128,0,0,31,0, + 0,0,62,0,0,0,126,0,0,0,124,0,0,0,252,0, + 0,0,248,0,64,1,240,0,64,3,240,0,64,3,224,0, + 192,7,192,0,192,7,192,0,192,15,128,1,192,31,128,1, + 192,31,0,3,192,62,0,3,192,126,0,7,192,124,0,15, + 128,248,0,63,128,255,255,255,128,10,45,90,19,6,247,255, + 192,254,0,240,0,240,0,240,0,240,0,240,0,240,0,240, + 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, + 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, + 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, + 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, + 0,240,0,240,0,254,0,255,192,16,46,92,22,3,246,192, + 0,192,0,192,0,96,0,96,0,96,0,48,0,48,0,48, + 0,24,0,24,0,24,0,12,0,12,0,12,0,6,0,6, + 0,6,0,2,0,3,0,3,0,3,0,1,128,1,128,1, + 128,0,192,0,192,0,192,0,96,0,96,0,96,0,48,0, + 48,0,48,0,24,0,24,0,24,0,12,0,12,0,12,0, + 6,0,6,0,6,0,3,0,3,0,3,10,45,90,19,3, + 247,255,192,31,192,3,192,3,192,3,192,3,192,3,192,3, + 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, + 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, + 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, + 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, + 192,3,192,3,192,3,192,31,192,255,192,22,18,54,28,3, + 17,0,16,0,0,48,0,0,56,0,0,120,0,0,108,0, + 0,206,0,1,198,0,1,131,0,3,3,0,7,1,128,6, + 1,192,14,0,192,28,0,96,24,0,112,56,0,48,48,0, + 56,96,0,24,224,0,12,25,2,8,25,0,248,255,255,255, + 128,255,255,255,128,8,9,9,22,4,25,224,240,240,120,60, + 12,6,3,1,21,22,66,24,2,1,7,248,0,24,30,0, + 16,15,0,48,7,0,56,7,128,60,7,128,62,7,128,28, + 7,128,0,7,128,0,31,128,3,247,128,31,7,128,60,7, + 128,120,7,128,248,7,128,240,7,128,240,15,136,240,15,136, + 240,23,136,248,23,152,120,39,240,63,195,240,22,35,105,25, + 1,0,255,0,0,15,0,0,15,0,0,15,0,0,15,0, + 0,15,0,0,15,0,0,15,0,0,15,0,0,15,0,0, + 15,0,0,15,0,0,15,0,0,15,31,128,15,32,224,15, + 64,240,15,192,112,15,128,120,15,128,120,15,0,120,15,0, + 60,15,0,60,15,0,60,15,0,60,15,0,60,15,0,60, + 15,0,60,15,0,60,15,0,120,15,0,120,15,128,120,13, + 128,112,12,192,224,12,96,224,8,63,128,17,22,66,21,2, + 1,7,252,0,14,6,0,28,3,0,56,3,0,56,3,128, + 120,15,128,120,15,128,240,15,128,240,7,0,240,0,0,240, + 0,0,240,0,0,240,0,0,240,0,0,240,0,128,120,0, + 128,120,0,128,56,1,0,56,1,0,28,2,0,14,6,0, + 7,248,0,22,35,105,25,2,0,0,63,192,0,3,192,0, + 3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3, + 192,0,3,192,0,3,192,0,3,192,0,3,192,0,3,192, + 15,227,192,28,19,192,60,11,192,56,15,192,120,7,192,120, + 7,192,120,3,192,240,3,192,240,3,192,240,3,192,240,3, + 192,240,3,192,240,3,192,240,3,192,240,3,192,120,3,192, + 120,3,192,120,7,192,56,7,192,60,15,192,28,27,192,7, + 243,252,18,22,66,22,2,1,7,248,0,14,28,0,28,14, + 0,56,15,0,56,7,128,120,7,128,120,7,128,240,7,192, + 240,7,192,240,7,192,255,255,192,240,0,0,240,0,0,240, + 0,0,240,0,128,120,0,128,120,0,128,120,1,128,56,1, + 0,28,3,0,14,6,0,7,252,0,16,35,70,16,1,0, + 0,248,3,198,7,3,15,7,14,15,14,15,30,15,30,6, + 30,0,30,0,30,0,30,0,30,0,255,240,30,0,30,0, + 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, + 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, + 30,0,30,0,255,240,23,33,99,27,3,246,7,252,124,30, + 14,206,60,7,142,124,7,158,120,3,222,120,3,192,120,3, + 192,120,3,192,120,3,192,120,3,192,60,7,128,28,7,128, + 14,14,0,3,248,0,28,0,0,96,0,0,192,0,0,192, + 0,0,224,0,0,255,255,128,127,255,224,15,255,240,28,0, + 112,48,0,56,96,0,24,192,0,24,192,0,24,192,0,24, + 192,0,48,96,0,48,120,0,96,30,7,192,3,254,0,24, + 35,105,27,1,0,255,0,0,15,0,0,15,0,0,15,0, + 0,15,0,0,15,0,0,15,0,0,15,0,0,15,0,0, + 15,0,0,15,0,0,15,0,0,15,0,0,15,15,192,15, + 48,240,15,96,112,15,64,120,15,128,120,15,128,120,15,0, + 120,15,0,120,15,0,120,15,0,120,15,0,120,15,0,120, + 15,0,120,15,0,120,15,0,120,15,0,120,15,0,120,15, + 0,120,15,0,120,15,0,120,15,0,120,255,195,255,10,34, + 68,14,2,0,28,0,62,0,62,0,62,0,28,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,254,0,30,0, + 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, + 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, + 30,0,30,0,30,0,255,192,13,45,90,16,254,245,0,112, + 0,248,0,248,0,248,0,112,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,15,248,0,120,0,120,0,120,0,120, + 0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120, + 0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120, + 0,120,0,120,0,120,0,120,0,120,240,120,240,120,240,112, + 224,240,96,224,115,192,31,0,22,35,105,24,1,0,254,0, + 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, + 30,0,0,30,0,0,30,0,0,30,0,0,30,0,0,30, + 0,0,30,0,0,30,15,252,30,3,224,30,1,128,30,3, + 0,30,6,0,30,6,0,30,12,0,30,24,0,30,48,0, + 30,120,0,30,248,0,30,188,0,31,190,0,31,30,0,30, + 15,0,30,15,128,30,7,128,30,3,192,30,3,224,30,1, + 224,30,3,240,255,207,252,11,35,70,13,1,0,254,0,30, + 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, + 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, + 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, + 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, + 0,255,224,36,22,110,40,2,1,254,63,129,252,0,30,97, + 195,14,0,30,193,230,15,0,30,128,228,7,128,31,0,248, + 7,128,31,0,248,7,128,30,0,240,7,128,30,0,240,7, + 128,30,0,240,7,128,30,0,240,7,128,30,0,240,7,128, + 30,0,240,7,128,30,0,240,7,128,30,0,240,7,128,30, + 0,240,7,128,30,0,240,7,128,30,0,240,7,128,30,0, + 240,7,128,30,0,240,7,128,30,0,240,7,128,30,0,240, + 7,128,255,199,254,63,240,23,22,66,27,2,1,254,31,128, + 30,97,224,30,192,224,30,128,240,31,0,240,31,0,240,30, + 0,240,30,0,240,30,0,240,30,0,240,30,0,240,30,0, + 240,30,0,240,30,0,240,30,0,240,30,0,240,30,0,240, + 30,0,240,30,0,240,30,0,240,30,0,240,255,199,254,19, + 22,66,24,2,1,3,252,0,14,14,0,28,7,0,60,3, + 128,56,3,192,120,3,192,120,1,224,248,1,224,240,1,224, + 240,1,224,240,1,224,240,1,224,240,1,224,240,1,224,240, + 1,224,120,1,224,120,3,192,56,3,192,60,3,128,28,7, + 0,14,14,0,3,252,0,22,33,99,25,1,246,254,63,128, + 30,97,192,30,192,224,31,128,112,31,0,120,31,0,120,30, + 0,120,30,0,60,30,0,60,30,0,60,30,0,60,30,0, + 60,30,0,60,30,0,60,30,0,60,30,0,120,30,0,120, + 31,0,120,31,0,112,31,128,224,30,192,192,30,127,128,30, + 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, + 0,30,0,0,30,0,0,30,0,0,30,0,0,255,224,0, + 22,33,99,25,2,246,7,240,64,28,24,192,28,12,192,56, + 12,192,120,7,192,120,7,192,120,3,192,240,3,192,240,3, + 192,240,3,192,240,3,192,240,3,192,240,3,192,240,3,192, + 240,3,192,120,3,192,120,3,192,120,7,192,56,7,192,60, + 15,192,28,27,192,7,243,192,0,3,192,0,3,192,0,3, + 192,0,3,192,0,3,192,0,3,192,0,3,192,0,3,192, + 0,3,192,0,3,192,0,31,252,17,22,66,20,2,1,254, + 31,0,30,35,128,30,67,128,30,207,128,30,143,128,31,143, + 0,31,2,0,31,0,0,31,0,0,30,0,0,30,0,0, + 30,0,0,30,0,0,30,0,0,30,0,0,30,0,0,30, + 0,0,30,0,0,30,0,0,30,0,0,30,0,0,255,192, + 0,17,22,66,22,3,1,31,226,0,112,50,0,96,30,0, + 192,14,0,192,6,0,224,2,0,240,2,0,252,0,0,127, + 0,0,63,192,0,31,248,0,7,254,0,128,255,0,192,31, + 0,192,7,128,224,3,128,224,1,128,240,1,128,240,1,128, + 248,3,0,198,7,0,131,252,0,14,32,64,17,1,0,2, + 0,2,0,2,0,2,0,2,0,6,0,6,0,6,0,14, + 0,30,0,255,248,30,0,30,0,30,0,30,0,30,0,30, + 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, + 0,30,4,30,4,30,4,30,12,15,8,15,248,7,240,23, + 22,66,27,2,0,254,7,240,30,0,240,30,0,240,30,0, + 240,30,0,240,30,0,240,30,0,240,30,0,240,30,0,240, + 30,0,240,30,0,240,30,0,240,30,0,240,30,0,240,30, + 0,240,30,1,240,30,1,240,30,1,240,30,2,240,14,6, + 240,15,12,240,3,240,254,24,23,69,26,1,255,255,225,255, + 31,0,124,15,0,48,15,0,48,15,0,32,7,128,96,7, + 128,96,3,192,64,3,192,192,1,192,192,1,224,128,1,225, + 128,0,241,128,0,241,0,0,113,0,0,123,0,0,58,0, + 0,62,0,0,62,0,0,28,0,0,28,0,0,12,0,0, + 8,0,36,23,115,38,1,255,255,231,255,31,240,31,1,248, + 7,128,31,0,240,3,0,15,0,120,3,0,15,0,120,2, + 0,7,128,120,6,0,7,128,252,6,0,3,128,252,4,0, + 3,192,188,12,0,3,192,158,12,0,1,225,158,8,0,1, + 225,14,24,0,0,225,15,24,0,0,243,15,16,0,0,242, + 7,48,0,0,114,7,176,0,0,126,7,160,0,0,62,3, + 224,0,0,60,3,192,0,0,28,1,192,0,0,28,1,192, + 0,0,24,1,128,0,0,8,0,128,0,22,22,66,26,2, + 0,255,207,248,31,3,192,31,3,128,15,3,0,7,131,0, + 7,198,0,3,196,0,1,236,0,1,248,0,0,240,0,0, + 112,0,0,120,0,0,124,0,0,220,0,1,158,0,1,15, + 0,3,15,0,6,7,128,4,7,192,12,3,192,28,3,224, + 255,15,252,24,33,99,26,1,245,255,225,255,31,0,120,15, + 0,48,15,0,48,7,0,32,7,128,96,7,128,96,3,192, + 64,3,192,192,3,192,192,1,224,128,1,225,128,0,225,128, + 0,241,128,0,241,0,0,115,0,0,123,0,0,122,0,0, + 62,0,0,62,0,0,60,0,0,28,0,0,28,0,0,24, + 0,0,24,0,0,24,0,24,48,0,60,48,0,60,48,0, + 60,96,0,56,96,0,31,192,0,15,0,0,17,22,66,22, + 2,0,255,255,128,248,7,128,224,15,0,224,31,0,192,30, + 0,192,60,0,128,124,0,128,120,0,0,240,0,1,240,0, + 1,224,0,3,192,0,7,192,0,7,128,128,15,0,128,31, + 0,128,30,0,128,60,1,128,124,1,128,120,3,128,240,15, + 128,255,255,128,11,45,90,21,6,247,0,224,1,128,7,0, + 14,0,12,0,28,0,28,0,28,0,28,0,30,0,30,0, + 14,0,14,0,15,0,15,0,7,0,7,0,7,0,7,0, + 6,0,4,0,24,0,224,0,56,0,12,0,6,0,6,0, + 7,0,7,0,7,0,15,0,15,0,15,0,14,0,30,0, + 30,0,28,0,28,0,28,0,28,0,12,0,12,0,6,0, + 3,128,0,224,2,46,46,14,6,246,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,11,45,90,20,4,247,192,0, + 112,0,28,0,12,0,6,0,7,0,7,0,7,0,7,0, + 15,0,15,0,14,0,30,0,30,0,30,0,28,0,28,0, + 28,0,28,0,12,0,4,0,3,0,0,224,3,0,6,0, + 12,0,28,0,28,0,28,0,28,0,30,0,30,0,30,0, + 14,0,15,0,15,0,7,0,7,0,7,0,7,0,6,0, + 6,0,12,0,56,0,224,0,28,9,36,32,2,8,31,128, + 0,192,127,240,0,96,127,252,0,48,227,255,0,48,192,127, + 224,48,192,31,248,112,192,3,255,224,96,0,255,192,48,0, + 31,128,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,255,255,255,255, + 255,255,255,0,0,0,14,0,0,6,33,33,14,4,246,120, + 252,252,252,120,0,0,48,48,48,48,48,48,48,48,48,48, + 48,120,120,120,120,120,120,248,252,252,252,252,252,252,252,120, + 17,34,102,28,5,250,0,192,0,0,192,0,0,192,0,0, + 192,0,0,192,0,0,192,0,7,252,0,14,198,0,28,195, + 0,56,195,128,120,195,128,120,207,128,120,207,128,248,207,128, + 240,199,0,240,192,0,240,192,0,240,192,0,240,192,0,240, + 192,0,248,192,128,120,192,128,120,192,128,120,193,128,56,193, + 0,28,195,0,14,198,0,7,252,0,0,192,0,0,192,0, + 0,192,0,0,192,0,0,192,0,0,192,0,28,34,136,35, + 3,0,0,0,126,0,0,1,227,128,0,3,128,192,0,7, + 0,192,0,14,0,224,0,14,1,224,0,28,3,224,0,28, + 3,224,0,60,3,192,0,60,0,128,0,60,0,0,0,60, + 0,0,0,60,0,0,0,60,0,0,0,60,0,0,31,252, + 0,0,0,127,248,0,0,124,0,0,0,124,0,0,0,60, + 0,0,0,60,0,0,0,60,0,0,0,60,0,0,0,60, + 0,0,0,56,0,0,0,56,0,16,62,56,0,32,99,240, + 0,32,193,240,0,96,128,120,0,64,128,254,0,192,128,159, + 255,128,193,7,255,0,126,1,254,0,24,24,72,28,2,5, + 64,0,2,224,126,7,115,255,206,63,129,252,30,0,120,28, + 0,56,56,0,24,48,0,12,48,0,12,96,0,6,96,0, + 6,96,0,6,96,0,6,96,0,6,96,0,6,112,0,12, + 48,0,12,56,0,28,28,0,56,30,0,120,63,129,252,115, + 255,206,224,126,7,64,0,2,27,33,132,29,1,0,255,224, + 127,224,31,0,15,0,15,0,6,0,15,128,6,0,7,128, + 12,0,7,192,12,0,3,192,24,0,3,224,24,0,1,224, + 48,0,1,240,32,0,0,240,96,0,0,248,64,0,0,248, + 192,0,0,124,128,0,0,125,128,0,0,63,0,0,0,63, + 0,0,15,255,252,0,0,30,0,0,0,30,0,0,0,30, + 0,0,15,255,252,0,0,30,0,0,0,30,0,0,0,30, + 0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,30, + 0,0,0,30,0,0,0,30,0,0,0,31,0,0,3,255, + 240,0,2,44,44,14,6,248,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,0,0,0,0,0,0, + 0,0,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,18,43,129,31,5,247,1,240,0,6,24,0, + 12,12,0,24,30,0,56,62,0,56,62,0,56,62,0,56, + 8,0,60,0,0,30,0,0,31,0,0,15,128,0,7,192, + 0,15,224,0,25,240,0,48,252,0,96,126,0,64,63,0, + 192,15,128,192,7,128,192,3,192,224,1,192,240,0,192,120, + 0,192,124,0,192,62,0,128,31,1,128,15,131,0,7,198, + 0,3,248,0,1,240,0,0,248,0,0,124,0,0,60,0, + 0,30,0,0,14,0,30,14,0,62,14,0,62,14,0,60, + 12,0,24,28,0,12,56,0,7,224,0,14,5,10,22,4, + 27,112,56,248,124,248,124,248,124,112,56,35,36,180,40,3, + 0,0,7,252,0,0,0,60,7,128,0,0,224,0,192,0, + 1,128,0,48,0,3,0,0,24,0,4,0,0,12,0,8, + 0,0,6,0,24,1,240,131,0,48,7,28,129,0,32,30, + 7,128,128,96,28,3,128,128,64,56,1,128,64,64,120,1, + 128,64,192,120,0,128,64,128,120,0,128,96,128,248,0,0, + 32,128,240,0,0,32,128,240,0,0,32,128,240,0,0,32, + 128,240,0,0,32,128,240,0,0,32,128,240,0,0,32,128, + 248,0,128,96,64,120,0,128,64,64,120,0,128,64,96,56, + 1,128,192,32,60,1,0,128,48,30,3,1,128,16,15,14, + 3,0,24,3,248,2,0,12,0,0,6,0,6,0,0,12, + 0,3,128,0,56,0,0,192,0,96,0,0,120,3,192,0, + 0,31,254,0,0,13,17,34,19,3,17,62,0,99,0,193, + 128,225,128,225,128,3,128,13,128,49,128,113,128,225,128,225, + 136,225,136,247,152,120,240,0,0,0,0,255,240,13,19,38, + 23,5,1,4,0,12,24,24,48,48,32,112,96,96,96,96, + 192,224,192,224,192,224,192,224,192,224,192,224,192,96,192,112, + 96,48,96,56,48,24,16,12,0,23,10,30,29,3,8,255, + 255,254,255,255,254,0,0,6,0,0,6,0,0,6,0,0, + 6,0,0,6,0,0,6,0,0,6,0,0,6,12,3,6, + 18,3,11,255,240,255,240,255,240,35,36,180,40,3,0,0, + 7,252,0,0,0,60,7,128,0,0,224,0,192,0,1,128, + 0,48,0,3,0,0,24,0,4,0,0,12,0,8,0,0, + 6,0,25,255,248,3,0,48,60,30,1,0,32,60,15,0, + 128,96,60,7,128,128,64,60,7,128,64,64,60,7,128,64, + 192,60,7,128,64,128,60,7,128,96,128,60,15,0,32,128, + 60,30,0,32,128,63,240,0,32,128,60,28,0,32,128,60, + 14,0,32,128,60,7,0,32,128,60,7,0,32,128,60,7, + 128,96,64,60,7,128,64,64,60,7,132,64,64,60,7,132, + 192,32,60,7,136,128,48,60,3,201,128,17,255,129,241,0, + 24,0,0,2,0,12,0,0,6,0,6,0,0,12,0,3, + 0,0,24,0,0,192,0,96,0,0,112,1,192,0,0,31, + 254,0,0,13,2,4,21,4,28,255,248,255,248,14,13,26, + 29,8,21,15,192,56,96,112,48,96,24,192,8,192,12,192, + 12,192,12,192,12,96,24,96,24,56,112,15,192,41,34,204, + 45,2,254,0,0,12,0,0,0,0,0,12,0,0,0,0, + 0,12,0,0,0,0,0,12,0,0,0,0,0,12,0,0, + 0,0,0,12,0,0,0,0,0,12,0,0,0,0,0,12, + 0,0,0,0,0,12,0,0,0,0,0,12,0,0,0,0, + 0,12,0,0,0,0,0,12,0,0,0,0,0,12,0,0, + 0,255,255,255,255,255,128,255,255,255,255,255,128,0,0,12, + 0,0,0,0,0,12,0,0,0,0,0,12,0,0,0,0, + 0,12,0,0,0,0,0,12,0,0,0,0,0,12,0,0, + 0,0,0,12,0,0,0,0,0,12,0,0,0,0,0,12, + 0,0,0,0,0,12,0,0,0,0,0,12,0,0,0,0, + 0,12,0,0,0,0,0,12,0,0,0,0,0,12,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,255,255,255,255,255,128,255,255,255,255,255,128,14, + 21,42,22,4,13,15,192,49,240,96,120,192,124,192,60,224, + 60,248,60,120,60,48,120,0,112,0,224,1,192,3,128,6, + 0,12,0,48,4,32,4,96,12,127,248,255,248,255,248,14, + 21,42,22,5,13,15,192,56,224,96,112,96,56,112,56,120, + 56,48,56,0,112,0,224,63,128,56,224,0,120,0,56,0, + 60,112,60,248,60,240,60,192,56,192,120,96,240,31,192,8, + 9,9,22,10,25,7,15,15,30,60,48,96,192,128,25,36, + 144,29,3,243,112,1,192,0,240,3,192,0,240,3,224,0, + 240,3,224,0,240,3,224,0,240,3,224,0,240,3,224,0, + 240,3,224,0,240,3,224,0,240,3,224,0,224,3,224,0, + 224,1,192,0,224,1,192,0,96,1,192,0,96,1,192,0, + 96,1,192,0,96,1,128,0,96,3,129,128,112,7,193,128, + 88,15,127,128,79,254,63,128,67,252,31,0,64,0,0,0, + 192,0,0,0,192,0,0,0,192,0,0,0,192,0,0,0, + 192,0,0,0,224,0,0,0,224,0,0,0,240,0,0,0, + 240,0,0,0,240,0,0,0,248,0,0,0,120,0,0,0, + 120,0,0,0,20,42,126,26,3,249,7,255,240,31,193,128, + 63,193,128,127,193,128,127,193,128,255,193,128,255,193,128,255, + 193,128,255,193,128,255,193,128,255,193,128,127,193,128,127,193, + 128,63,193,128,15,193,128,0,193,128,0,193,128,0,193,128, + 0,193,128,0,193,128,0,193,128,0,193,128,0,193,128,0, + 193,128,0,193,128,0,193,128,0,193,128,0,193,128,0,193, + 128,0,193,128,0,193,128,0,193,128,0,193,128,0,193,128, + 0,193,128,0,193,128,0,193,128,0,193,128,0,193,128,0, + 193,128,0,193,128,0,193,128,6,6,6,14,4,12,120,252, + 252,252,252,120,10,10,20,21,5,246,8,0,8,0,24,0, + 15,0,3,128,1,192,1,192,1,192,195,128,63,0,11,20, + 40,21,5,14,2,0,6,0,14,0,254,0,14,0,14,0, + 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, + 14,0,14,0,14,0,14,0,14,0,255,224,12,17,34,18, + 3,17,15,0,57,192,112,192,96,224,224,96,224,112,224,112, + 224,112,224,112,224,112,96,96,112,224,49,192,31,0,0,0, + 0,0,255,240,13,19,38,23,5,1,1,0,193,128,96,192, + 32,96,48,112,48,48,24,48,24,56,24,56,24,56,24,56, + 24,56,24,56,24,48,48,112,48,96,96,224,64,192,1,128, + 33,35,175,42,5,255,2,0,0,96,0,6,0,0,64,0, + 14,0,0,192,0,254,0,1,128,0,14,0,1,0,0,14, + 0,3,0,0,14,0,2,0,0,14,0,6,0,0,14,0, + 12,0,0,14,0,8,0,0,14,0,24,0,0,14,0,16, + 0,0,14,0,48,0,0,14,0,96,0,0,14,0,96,56, + 0,14,0,192,120,0,14,0,128,120,0,14,1,128,248,0, + 14,3,0,184,0,255,227,1,56,0,0,6,1,56,0,0, + 4,2,56,0,0,12,2,56,0,0,8,4,56,0,0,24, + 12,56,0,0,48,8,56,0,0,32,24,56,0,0,96,31, + 255,128,0,64,0,56,0,0,192,0,56,0,1,128,0,56, + 0,1,128,0,56,0,3,0,0,56,0,2,0,1,255,128, + 6,0,0,0,0,33,35,175,42,5,255,2,0,0,96,0, + 6,0,0,64,0,6,0,0,192,0,14,0,1,128,0,254, + 0,1,128,0,14,0,3,0,0,14,0,2,0,0,14,0, + 6,0,0,14,0,4,0,0,14,0,12,0,0,14,0,24, + 0,0,14,0,16,0,0,14,0,48,0,0,14,0,33,248, + 0,14,0,102,62,0,14,0,204,15,0,14,0,152,15,128, + 14,1,152,7,128,14,1,24,7,128,255,227,31,7,128,0, + 6,31,7,128,0,4,15,7,0,0,12,0,14,0,0,8, + 0,28,0,0,24,0,56,0,0,48,0,112,0,0,48,0, + 192,0,0,96,1,128,0,0,64,2,0,128,0,192,4,0, + 128,1,128,12,1,128,1,128,15,255,0,3,0,15,255,0, + 2,0,31,255,0,6,0,0,0,0,33,35,175,42,5,255, + 15,192,0,48,0,56,224,0,96,0,96,112,0,96,0,96, + 56,0,192,0,112,56,0,128,0,120,56,1,128,0,48,56, + 3,0,0,0,112,3,0,0,0,224,6,0,0,63,128,4, + 0,0,56,224,12,0,0,0,120,24,0,0,0,56,24,0, + 0,0,60,48,0,0,112,60,32,28,0,248,60,96,28,0, + 240,60,192,60,0,192,120,192,92,0,96,241,128,92,0,63, + 193,0,156,0,0,3,1,156,0,0,6,1,28,0,0,6, + 2,28,0,0,12,6,28,0,0,8,4,28,0,0,24,8, + 28,0,0,48,24,28,0,0,48,31,255,128,0,96,0,28, + 0,0,64,0,28,0,0,192,0,28,0,1,128,0,28,0, + 1,128,0,28,0,3,0,1,255,128,2,0,0,0,0,18, + 33,99,24,2,246,1,224,0,3,240,0,3,240,0,3,240, + 0,1,224,0,0,0,0,0,0,0,1,224,0,2,48,0, + 4,24,0,4,24,0,4,24,0,4,24,0,0,48,0,0, + 112,0,0,224,0,1,192,0,7,128,0,15,0,0,30,0, + 0,60,0,0,124,0,0,120,15,0,248,31,128,240,31,192, + 240,15,192,240,0,192,240,0,192,120,0,192,120,1,128,60, + 3,0,15,14,0,3,248,0,34,46,230,37,2,0,0,56, + 0,0,0,0,60,0,0,0,0,60,0,0,0,0,30,0, + 0,0,0,15,0,0,0,0,3,128,0,0,0,1,128,0, + 0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,192,0,0,0,0,192,0,0,0, + 0,224,0,0,0,1,224,0,0,0,1,224,0,0,0,3, + 240,0,0,0,3,240,0,0,0,3,240,0,0,0,6,248, + 0,0,0,6,248,0,0,0,6,248,0,0,0,12,124,0, + 0,0,12,124,0,0,0,12,124,0,0,0,24,62,0,0, + 0,24,62,0,0,0,24,30,0,0,0,48,31,0,0,0, + 48,31,0,0,0,48,15,0,0,0,96,15,128,0,0,96, + 15,128,0,0,96,7,128,0,0,255,255,192,0,0,255,255, + 192,0,0,192,3,192,0,1,128,3,224,0,1,128,3,224, + 0,3,128,1,224,0,3,0,1,240,0,3,0,1,240,0, + 7,0,0,240,0,7,0,0,248,0,31,128,1,252,0,255, + 248,31,255,192,34,46,230,37,2,0,0,0,7,0,0,0, + 0,15,0,0,0,0,15,0,0,0,0,30,0,0,0,0, + 60,0,0,0,0,48,0,0,0,0,96,0,0,0,0,192, + 0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,192,0,0,0,0,192,0,0,0,0,224,0,0, + 0,1,224,0,0,0,1,224,0,0,0,3,240,0,0,0, + 3,240,0,0,0,3,240,0,0,0,6,248,0,0,0,6, + 248,0,0,0,6,248,0,0,0,12,124,0,0,0,12,124, + 0,0,0,12,124,0,0,0,24,62,0,0,0,24,62,0, + 0,0,24,30,0,0,0,48,31,0,0,0,48,31,0,0, + 0,48,15,0,0,0,96,15,128,0,0,96,15,128,0,0, + 224,7,128,0,0,255,255,192,0,0,255,255,192,0,1,192, + 3,192,0,1,128,3,224,0,1,128,3,224,0,3,128,1, + 224,0,3,0,1,240,0,3,0,1,240,0,7,0,0,240, + 0,15,128,0,248,0,255,248,31,255,192,255,248,31,255,192, + 34,45,225,37,2,0,0,0,192,0,0,0,1,224,0,0, + 0,3,240,0,0,0,7,56,0,0,0,14,28,0,0,0, + 28,14,0,0,0,48,3,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,192,0,0,0,0,192, + 0,0,0,0,224,0,0,0,1,224,0,0,0,1,224,0, + 0,0,3,240,0,0,0,3,240,0,0,0,3,240,0,0, + 0,6,248,0,0,0,6,248,0,0,0,6,248,0,0,0, + 12,124,0,0,0,12,124,0,0,0,12,124,0,0,0,24, + 62,0,0,0,24,62,0,0,0,24,30,0,0,0,48,31, + 0,0,0,48,31,0,0,0,48,15,0,0,0,96,15,128, + 0,0,96,15,128,0,0,96,7,128,0,0,255,255,192,0, + 0,255,255,192,0,0,192,3,192,0,1,128,3,224,0,1, + 128,3,224,0,3,128,1,224,0,3,0,1,240,0,3,0, + 1,240,0,7,0,0,240,0,7,0,0,248,0,31,128,1, + 252,0,255,248,31,255,192,34,45,225,37,2,0,0,15,0, + 128,0,0,31,225,128,0,0,63,255,0,0,0,33,255,0, + 0,0,32,62,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,192,0,0,0,0,192,0,0,0,1,224,0,0,0,1, + 224,0,0,0,1,224,0,0,0,3,240,0,0,0,3,240, + 0,0,0,3,240,0,0,0,6,248,0,0,0,6,248,0, + 0,0,6,248,0,0,0,12,124,0,0,0,12,124,0,0, + 0,12,124,0,0,0,24,62,0,0,0,24,62,0,0,0, + 24,30,0,0,0,48,31,0,0,0,48,31,0,0,0,112, + 15,0,0,0,96,15,128,0,0,96,15,128,0,0,224,7, + 128,0,0,255,255,192,0,0,255,255,192,0,1,192,3,192, + 0,1,128,3,224,0,1,128,3,224,0,3,128,1,224,0, + 3,0,1,240,0,3,0,1,240,0,7,0,0,240,0,15, + 128,0,248,0,255,248,31,255,192,255,248,31,255,192,34,44, + 220,37,2,0,0,28,7,0,0,0,62,15,128,0,0,62, + 15,128,0,0,62,15,128,0,0,28,7,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,64,0,0,0,0,192,0,0,0,0,224,0,0, + 0,0,224,0,0,0,1,224,0,0,0,1,240,0,0,0, + 3,240,0,0,0,3,240,0,0,0,3,248,0,0,0,7, + 248,0,0,0,6,120,0,0,0,6,124,0,0,0,14,60, + 0,0,0,12,60,0,0,0,12,62,0,0,0,28,30,0, + 0,0,24,30,0,0,0,24,31,0,0,0,48,15,0,0, + 0,48,15,0,0,0,112,15,128,0,0,96,7,128,0,0, + 96,7,128,0,0,255,255,192,0,0,255,255,192,0,0,192, + 3,192,0,1,192,3,224,0,1,192,1,224,0,1,128,1, + 224,0,3,128,1,240,0,3,128,0,240,0,7,128,0,240, + 0,7,128,0,248,0,31,192,1,252,0,255,248,31,255,192, + 34,47,235,37,2,0,0,1,224,0,0,0,6,24,0,0, + 0,4,8,0,0,0,8,4,0,0,0,8,4,0,0,0, + 8,4,0,0,0,8,4,0,0,0,4,8,0,0,0,6, + 24,0,0,0,3,224,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,192,0,0,0,0,192,0,0,0,0,224,0, + 0,0,1,224,0,0,0,1,224,0,0,0,3,240,0,0, + 0,3,240,0,0,0,3,240,0,0,0,6,248,0,0,0, + 6,248,0,0,0,6,248,0,0,0,12,124,0,0,0,12, + 124,0,0,0,12,124,0,0,0,24,62,0,0,0,24,62, + 0,0,0,24,30,0,0,0,48,31,0,0,0,48,31,0, + 0,0,48,15,0,0,0,96,15,128,0,0,96,7,128,0, + 0,96,7,128,0,0,255,255,192,0,0,255,255,192,0,1, + 192,3,192,0,1,128,3,224,0,1,128,3,224,0,3,128, + 1,224,0,3,0,1,240,0,3,0,1,240,0,7,0,0, + 240,0,7,0,0,248,0,31,128,1,252,0,255,248,31,255, + 192,44,35,210,48,1,0,0,0,127,255,255,240,0,0,15, + 224,3,240,0,0,15,192,0,240,0,0,15,192,0,112,0, + 0,15,192,0,112,0,0,27,192,0,48,0,0,27,192,0, + 48,0,0,51,192,0,48,0,0,51,192,0,16,0,0,99, + 192,0,16,0,0,99,192,16,16,0,0,195,192,16,16,0, + 1,195,192,16,0,0,1,131,192,48,0,0,3,131,192,48, + 0,0,3,3,192,48,0,0,7,3,192,112,0,0,6,3, + 255,240,0,0,14,3,192,240,0,0,12,3,192,48,0,0, + 24,3,192,48,0,0,24,3,192,16,0,0,48,3,192,16, + 16,0,63,255,192,16,16,0,96,3,192,16,16,0,96,3, + 192,0,16,0,192,3,192,0,16,0,192,3,192,0,48,1, + 128,3,192,0,48,1,128,3,192,0,112,3,128,3,192,0, + 112,7,128,3,192,0,240,15,128,3,192,1,240,255,248,127, + 255,255,240,255,248,127,255,255,240,26,47,188,32,3,245,0, + 63,0,128,0,225,225,128,3,128,113,128,7,0,63,128,14, + 0,31,128,30,0,15,128,28,0,7,128,60,0,7,128,60, + 0,3,128,124,0,3,128,120,0,1,128,120,0,1,128,120, + 0,0,128,248,0,0,128,248,0,0,0,248,0,0,0,248, + 0,0,0,248,0,0,0,248,0,0,0,248,0,0,0,248, + 0,0,0,248,0,0,0,248,0,0,0,120,0,0,192,120, + 0,0,192,120,0,0,192,124,0,0,192,60,0,0,128,60, + 0,1,128,28,0,1,128,30,0,3,0,14,0,3,0,7, + 0,6,0,3,128,12,0,1,192,56,0,0,127,224,0,0, + 8,0,0,0,8,0,0,0,28,0,0,0,15,128,0,0, + 3,192,0,0,1,224,0,0,1,224,0,0,1,224,0,0, + 129,224,0,0,199,192,0,0,63,0,0,28,46,184,34,3, + 0,0,224,0,0,0,240,0,0,0,240,0,0,0,120,0, + 0,0,60,0,0,0,14,0,0,0,6,0,0,0,3,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255, + 240,255,255,255,240,7,128,1,240,7,128,0,240,7,128,0, + 112,7,128,0,112,7,128,0,48,7,128,0,48,7,128,0, + 48,7,128,0,16,7,128,32,16,7,128,32,16,7,128,32, + 0,7,128,96,0,7,128,96,0,7,128,96,0,7,128,224, + 0,7,255,224,0,7,129,224,0,7,128,96,0,7,128,96, + 0,7,128,96,0,7,128,32,16,7,128,32,16,7,128,32, + 16,7,128,0,16,7,128,0,48,7,128,0,48,7,128,0, + 48,7,128,0,112,7,128,0,112,7,128,0,240,7,128,1, + 240,255,255,255,240,255,255,255,240,28,46,184,34,3,0,0, + 0,28,0,0,0,60,0,0,0,60,0,0,0,120,0,0, + 0,240,0,0,0,192,0,0,1,128,0,0,3,0,0,0, + 2,0,0,0,0,0,0,0,0,0,0,255,255,255,240,255, + 255,255,240,7,128,1,240,7,128,0,240,7,128,0,112,7, + 128,0,112,7,128,0,48,7,128,0,48,7,128,0,48,7, + 128,0,16,7,128,32,16,7,128,32,16,7,128,32,0,7, + 128,96,0,7,128,96,0,7,128,96,0,7,128,224,0,7, + 255,224,0,7,129,224,0,7,128,96,0,7,128,96,0,7, + 128,96,0,7,128,32,16,7,128,32,16,7,128,32,16,7, + 128,0,16,7,128,0,48,7,128,0,48,7,128,0,48,7, + 128,0,112,7,128,0,112,7,128,0,240,7,128,1,240,255, + 255,255,240,255,255,255,240,28,45,180,34,3,0,0,3,0, + 0,0,7,128,0,0,15,192,0,0,12,224,0,0,24,112, + 0,0,112,24,0,0,192,12,0,0,0,2,0,0,0,0, + 0,0,0,0,0,255,255,255,240,255,255,255,240,7,128,1, + 240,7,128,0,240,7,128,0,112,7,128,0,112,7,128,0, + 48,7,128,0,48,7,128,0,48,7,128,0,16,7,128,32, + 16,7,128,32,16,7,128,32,0,7,128,96,0,7,128,96, + 0,7,128,96,0,7,128,224,0,7,255,224,0,7,129,224, + 0,7,128,96,0,7,128,96,0,7,128,96,0,7,128,32, + 16,7,128,32,16,7,128,32,16,7,128,0,16,7,128,0, + 48,7,128,0,48,7,128,0,48,7,128,0,112,7,128,0, + 112,7,128,0,240,7,128,1,240,255,255,255,240,255,255,255, + 240,28,44,176,34,3,0,0,112,28,0,0,248,62,0,0, + 248,62,0,0,248,62,0,0,112,28,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,255,255,255,240,7, + 192,7,240,7,128,1,240,7,128,0,240,7,128,0,112,7, + 128,0,112,7,128,0,48,7,128,0,48,7,128,0,48,7, + 128,0,16,7,128,32,16,7,128,32,16,7,128,32,0,7, + 128,32,0,7,128,96,0,7,128,96,0,7,128,224,0,7, + 255,224,0,7,129,224,0,7,128,96,0,7,128,96,0,7, + 128,32,0,7,128,32,16,7,128,32,16,7,128,32,16,7, + 128,0,16,7,128,0,48,7,128,0,48,7,128,0,48,7, + 128,0,112,7,128,0,112,7,128,0,240,7,128,1,240,255, + 255,255,240,255,255,255,240,14,46,92,19,3,0,224,0,240, + 0,240,0,120,0,60,0,12,0,6,0,3,0,1,0,0, + 0,0,0,255,252,255,252,7,128,7,128,7,128,7,128,7, + 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, + 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, + 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, + 128,7,128,7,128,15,128,255,252,14,46,92,19,3,0,0, + 28,0,60,0,60,0,120,0,240,0,192,1,128,3,0,0, + 0,0,0,0,0,255,252,255,252,7,128,7,128,7,128,7, + 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, + 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, + 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, + 128,7,128,7,128,7,128,7,192,255,252,14,45,90,19,3, + 0,3,0,7,128,7,192,14,192,24,96,112,56,192,12,0, + 0,0,0,0,0,255,252,7,192,7,128,7,128,7,128,7, + 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, + 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, + 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, + 128,7,128,7,128,7,128,255,252,255,252,15,44,88,20,3, + 0,112,28,248,62,248,62,248,62,112,28,0,0,0,0,0, + 0,0,0,127,254,7,192,3,192,3,192,3,192,3,192,3, + 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, + 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, + 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, + 192,3,192,3,192,7,192,127,254,32,35,140,38,4,0,255, + 255,248,0,15,128,15,0,7,128,3,128,7,128,1,192,7, + 128,0,224,7,128,0,240,7,128,0,120,7,128,0,124,7, + 128,0,60,7,128,0,62,7,128,0,62,7,128,0,30,7, + 128,0,30,7,128,0,31,7,128,0,31,7,128,0,31,255, + 254,0,31,7,128,0,31,7,128,0,31,7,128,0,31,7, + 128,0,31,7,128,0,31,7,128,0,30,7,128,0,62,7, + 128,0,62,7,128,0,60,7,128,0,60,7,128,0,120,7, + 128,0,120,7,128,0,240,7,128,0,224,7,128,1,192,7, + 128,3,128,15,128,30,0,255,255,248,0,33,46,230,38,3, + 255,0,7,1,128,0,0,31,225,128,0,0,31,255,0,0, + 0,16,255,0,0,0,48,62,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,255,192,7,255,128,255,192,7,255,128,7,224,0, + 120,0,7,240,0,48,0,7,240,0,48,0,7,248,0,48, + 0,6,248,0,48,0,6,252,0,48,0,6,126,0,48,0, + 6,62,0,48,0,6,63,0,48,0,6,31,0,48,0,6, + 15,128,48,0,6,15,192,48,0,6,7,192,48,0,6,7, + 224,48,0,6,3,224,48,0,6,1,240,48,0,6,1,248, + 48,0,6,0,248,48,0,6,0,252,48,0,6,0,124,48, + 0,6,0,62,48,0,6,0,63,48,0,6,0,31,48,0, + 6,0,15,176,0,6,0,15,176,0,6,0,7,240,0,6, + 0,7,240,0,6,0,3,240,0,6,0,1,240,0,6,0, + 1,240,0,15,0,0,240,0,31,128,0,240,0,255,240,0, + 112,0,0,0,0,48,0,28,46,184,33,3,1,1,192,0, + 0,1,224,0,0,1,240,0,0,0,112,0,0,0,56,0, + 0,0,28,0,0,0,12,0,0,0,6,0,0,0,0,0, + 0,0,0,0,0,0,31,128,0,0,255,240,0,1,192,56, + 0,3,128,28,0,7,0,14,0,14,0,7,0,30,0,7, + 128,30,0,7,128,60,0,3,192,60,0,3,192,124,0,3, + 224,124,0,3,224,120,0,1,224,248,0,1,240,248,0,1, + 240,248,0,1,240,248,0,1,240,248,0,1,240,248,0,1, + 240,248,0,1,240,248,0,1,240,248,0,1,240,248,0,1, + 240,120,0,1,224,120,0,1,224,120,0,3,224,124,0,3, + 192,60,0,3,192,60,0,3,192,30,0,7,128,14,0,7, + 0,14,0,7,0,7,0,14,0,3,128,28,0,0,192,48, + 0,0,127,224,0,28,46,184,33,3,1,0,0,56,0,0, + 0,120,0,0,0,248,0,0,0,224,0,0,1,192,0,0, + 3,128,0,0,3,0,0,0,6,0,0,0,0,0,0,0, + 0,0,0,0,31,128,0,0,255,240,0,1,192,56,0,3, + 128,28,0,7,0,14,0,14,0,7,0,30,0,7,128,30, + 0,7,128,60,0,3,192,60,0,3,192,124,0,3,224,124, + 0,3,224,120,0,1,224,248,0,1,240,248,0,1,240,248, + 0,1,240,248,0,1,240,248,0,1,240,248,0,1,240,248, + 0,1,240,248,0,1,240,248,0,1,240,248,0,1,240,120, + 0,1,224,120,0,1,224,120,0,3,224,124,0,3,192,60, + 0,3,192,60,0,3,192,30,0,7,128,14,0,7,0,14, + 0,7,0,7,0,14,0,3,128,28,0,0,192,48,0,0, + 127,224,0,28,46,184,33,3,0,0,6,0,0,0,15,0, + 0,0,15,0,0,0,31,128,0,0,57,192,0,0,112,224, + 0,0,192,48,0,3,128,28,0,0,0,0,0,0,0,0, + 0,0,31,128,0,0,255,240,0,1,192,56,0,3,128,28, + 0,7,0,14,0,14,0,7,0,30,0,7,128,30,0,7, + 128,60,0,3,192,60,0,3,192,124,0,3,224,124,0,3, + 224,120,0,1,224,248,0,1,240,248,0,1,240,248,0,1, + 240,248,0,1,240,248,0,1,240,248,0,1,240,248,0,1, + 240,248,0,1,240,248,0,1,240,248,0,1,240,120,0,1, + 224,120,0,1,224,120,0,3,224,124,0,3,192,60,0,3, + 192,60,0,3,192,30,0,7,128,14,0,7,0,14,0,7, + 0,7,0,14,0,3,128,28,0,0,192,48,0,0,127,224, + 0,28,45,180,33,3,0,0,120,12,0,0,255,8,0,1, + 255,248,0,1,143,248,0,1,1,224,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,31,128,0,0, + 255,240,0,1,192,56,0,3,128,28,0,7,0,14,0,14, + 0,7,0,30,0,7,128,30,0,7,128,60,0,3,192,60, + 0,3,192,124,0,3,224,124,0,3,224,120,0,1,224,248, + 0,1,240,248,0,1,240,248,0,1,240,248,0,1,240,248, + 0,1,240,248,0,1,240,248,0,1,240,248,0,1,240,248, + 0,1,240,248,0,1,240,120,0,1,224,120,0,1,224,120, + 0,3,224,124,0,3,192,60,0,3,192,60,0,3,192,30, + 0,7,128,14,0,7,0,14,0,7,0,7,0,14,0,3, + 128,28,0,0,192,48,0,0,127,224,0,28,45,180,33,3, + 0,0,224,56,0,1,240,124,0,1,240,124,0,1,240,124, + 0,0,224,56,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,31,128,0,0,240,240,0,1,192,56, + 0,3,128,28,0,7,0,14,0,14,0,7,0,30,0,7, + 128,28,0,3,128,60,0,3,192,60,0,3,192,124,0,3, + 224,120,0,1,224,120,0,1,224,248,0,1,224,248,0,1, + 240,248,0,1,240,248,0,1,240,248,0,1,240,248,0,1, + 240,248,0,1,240,248,0,1,240,248,0,1,240,248,0,1, + 240,120,0,1,224,120,0,1,224,124,0,3,224,124,0,3, + 224,60,0,3,192,60,0,3,192,30,0,7,128,14,0,7, + 0,14,0,15,0,7,0,14,0,3,128,28,0,0,224,112, + 0,0,127,224,0,30,30,120,46,8,254,192,0,0,12,224, + 0,0,28,112,0,0,56,56,0,0,112,28,0,0,224,14, + 0,1,192,7,0,3,128,3,128,7,0,1,192,14,0,0, + 224,28,0,0,112,56,0,0,56,112,0,0,28,224,0,0, + 15,192,0,0,7,128,0,0,7,128,0,0,15,192,0,0, + 28,224,0,0,56,112,0,0,112,56,0,0,224,28,0,1, + 192,14,0,3,128,7,0,7,0,3,128,14,0,1,192,28, + 0,0,224,56,0,0,112,112,0,0,56,224,0,0,28,192, + 0,0,12,28,36,144,33,3,0,0,31,128,32,0,240,240, + 96,1,192,56,224,3,128,30,192,7,0,15,128,14,0,7, + 128,30,0,7,128,28,0,7,128,60,0,15,192,60,0,31, + 192,124,0,59,224,120,0,49,224,120,0,97,224,248,0,225, + 240,248,1,193,240,248,1,129,240,248,3,1,240,248,7,1, + 240,248,6,1,240,248,12,1,240,248,28,1,240,248,56,1, + 240,248,48,1,240,120,96,1,224,120,224,1,224,121,192,3, + 224,125,128,3,192,63,0,3,192,63,0,3,192,30,0,7, + 128,30,0,7,0,30,0,15,0,63,0,14,0,51,128,28, + 0,97,192,112,0,192,127,224,0,34,46,230,39,3,1,0, + 28,0,0,0,0,28,0,0,0,0,30,0,0,0,0,15, + 0,0,0,0,7,0,0,0,0,1,128,0,0,0,0,192, + 0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0, + 0,255,252,3,255,192,255,252,3,255,192,7,192,0,126,0, + 7,128,0,60,0,7,128,0,24,0,7,128,0,24,0,7, + 128,0,24,0,7,128,0,24,0,7,128,0,24,0,7,128, + 0,24,0,7,128,0,24,0,7,128,0,24,0,7,128,0, + 24,0,7,128,0,24,0,7,128,0,24,0,7,128,0,24, + 0,7,128,0,24,0,7,128,0,24,0,7,128,0,24,0, + 7,128,0,24,0,7,128,0,24,0,7,128,0,24,0,7, + 128,0,24,0,7,128,0,24,0,7,128,0,24,0,7,128, + 0,24,0,7,128,0,24,0,7,128,0,24,0,3,192,0, + 24,0,3,192,0,48,0,1,192,0,48,0,1,224,0,96, + 0,0,224,0,96,0,0,112,0,192,0,0,60,3,128,0, + 0,15,254,0,0,34,46,230,39,3,1,0,0,7,0,0, + 0,0,15,0,0,0,0,30,0,0,0,0,28,0,0,0, + 0,56,0,0,0,0,112,0,0,0,0,96,0,0,0,0, + 128,0,0,0,0,0,0,0,0,0,0,0,0,255,252,3, + 255,192,255,252,3,255,192,7,192,0,126,0,7,128,0,60, + 0,7,128,0,24,0,7,128,0,24,0,7,128,0,24,0, + 7,128,0,24,0,7,128,0,24,0,7,128,0,24,0,7, + 128,0,24,0,7,128,0,24,0,7,128,0,24,0,7,128, + 0,24,0,7,128,0,24,0,7,128,0,24,0,7,128,0, + 24,0,7,128,0,24,0,7,128,0,24,0,7,128,0,24, + 0,7,128,0,24,0,7,128,0,24,0,7,128,0,24,0, + 7,128,0,24,0,7,128,0,24,0,7,128,0,24,0,7, + 128,0,24,0,7,128,0,24,0,3,192,0,24,0,3,192, + 0,48,0,1,192,0,48,0,1,224,0,96,0,0,224,0, + 96,0,0,112,0,192,0,0,60,3,128,0,0,15,254,0, + 0,34,46,230,39,3,0,0,0,192,0,0,0,0,224,0, + 0,0,1,224,0,0,0,3,240,0,0,0,3,56,0,0, + 0,6,28,0,0,0,28,6,0,0,0,48,3,128,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,252, + 3,255,192,7,192,0,126,0,7,128,0,60,0,7,128,0, + 24,0,7,128,0,24,0,7,128,0,24,0,7,128,0,24, + 0,7,128,0,24,0,7,128,0,24,0,7,128,0,24,0, + 7,128,0,24,0,7,128,0,24,0,7,128,0,24,0,7, + 128,0,24,0,7,128,0,24,0,7,128,0,24,0,7,128, + 0,24,0,7,128,0,24,0,7,128,0,24,0,7,128,0, + 24,0,7,128,0,24,0,7,128,0,24,0,7,128,0,24, + 0,7,128,0,24,0,7,128,0,24,0,7,128,0,24,0, + 7,128,0,24,0,3,192,0,24,0,3,192,0,48,0,3, + 192,0,48,0,1,224,0,96,0,0,240,0,224,0,0,120, + 1,192,0,0,62,7,128,0,0,15,254,0,0,34,45,225, + 39,3,0,0,28,7,0,0,0,62,15,128,0,0,62,15, + 128,0,0,62,15,128,0,0,28,7,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,255,252,3,255,192,7,192,0,126,0,7, + 128,0,60,0,7,128,0,24,0,7,128,0,24,0,7,128, + 0,24,0,7,128,0,24,0,7,128,0,24,0,7,128,0, + 24,0,7,128,0,24,0,7,128,0,24,0,7,128,0,24, + 0,7,128,0,24,0,7,128,0,24,0,7,128,0,24,0, + 7,128,0,24,0,7,128,0,24,0,7,128,0,24,0,7, + 128,0,24,0,7,128,0,24,0,7,128,0,24,0,7,128, + 0,24,0,7,128,0,24,0,7,128,0,24,0,7,128,0, + 24,0,7,128,0,24,0,7,128,0,24,0,3,192,0,24, + 0,3,192,0,48,0,3,192,0,48,0,1,224,0,96,0, + 0,224,0,96,0,0,112,0,192,0,0,60,3,128,0,0, + 15,254,0,0,32,46,184,35,2,0,0,0,3,0,0,0, + 7,128,0,0,15,0,0,0,30,0,0,0,60,0,0,0, + 56,0,0,0,96,0,0,0,192,0,0,0,0,0,0,0, + 0,0,0,0,0,0,255,254,15,255,255,254,15,255,7,224, + 0,240,7,224,0,96,3,224,0,96,3,240,0,64,1,240, + 0,192,0,248,0,128,0,252,1,128,0,124,1,0,0,62, + 3,0,0,62,2,0,0,31,6,0,0,31,12,0,0,15, + 136,0,0,7,152,0,0,7,208,0,0,3,240,0,0,3, + 224,0,0,1,224,0,0,1,224,0,0,1,224,0,0,1, + 224,0,0,1,224,0,0,1,224,0,0,1,224,0,0,1, + 224,0,0,1,224,0,0,1,224,0,0,1,224,0,0,1, + 224,0,0,1,224,0,0,1,224,0,0,1,240,0,0,127, + 255,192,28,35,140,33,3,0,255,254,0,0,7,192,0,0, + 7,128,0,0,7,128,0,0,7,128,0,0,7,128,0,0, + 7,255,240,0,7,192,30,0,7,128,7,128,7,128,7,192, + 7,128,3,224,7,128,3,224,7,128,1,240,7,128,1,240, + 7,128,1,240,7,128,1,240,7,128,1,240,7,128,1,240, + 7,128,3,224,7,128,3,224,7,128,7,192,7,128,7,128, + 7,128,30,0,7,255,248,0,7,128,0,0,7,128,0,0, + 7,128,0,0,7,128,0,0,7,128,0,0,7,128,0,0, + 7,128,0,0,7,128,0,0,7,128,0,0,7,192,0,0, + 255,254,0,0,22,35,105,26,1,0,0,63,128,0,243,224, + 1,192,240,3,128,240,7,128,248,7,0,120,15,0,120,15, + 0,120,15,0,248,15,0,240,15,0,224,15,1,192,15,3, + 0,15,60,0,15,6,0,15,1,128,15,0,192,15,0,224, + 15,0,112,15,0,120,15,0,120,15,0,60,15,0,60,15, + 0,60,15,0,60,15,0,60,15,0,60,15,0,60,15,56, + 60,15,120,60,15,120,60,15,112,120,15,96,112,15,48,224, + 255,31,192,21,33,99,24,2,1,56,0,0,60,0,0,30, + 0,0,14,0,0,7,0,0,3,128,0,1,128,0,0,192, + 0,0,0,0,0,0,0,0,0,0,7,248,0,24,30,0, + 16,15,0,48,7,0,56,7,128,60,7,128,62,7,128,28, + 7,128,0,7,128,0,31,128,3,247,128,31,7,128,60,7, + 128,120,7,128,248,7,128,240,7,128,240,15,136,240,15,136, + 240,23,136,248,23,152,120,39,240,63,195,240,21,33,99,24, + 2,1,0,7,0,0,15,128,0,15,0,0,30,0,0,60, + 0,0,48,0,0,96,0,0,192,0,0,0,0,0,0,0, + 0,0,0,7,248,0,24,30,0,16,15,0,48,7,0,56, + 7,128,60,7,128,62,7,128,28,7,128,0,7,128,0,31, + 128,3,247,128,31,7,128,60,7,128,120,7,128,248,7,128, + 240,7,128,240,15,136,240,15,136,240,23,136,248,23,152,120, + 39,240,63,195,240,21,33,99,24,2,0,0,192,0,0,224, + 0,1,224,0,1,240,0,3,48,0,6,24,0,12,12,0, + 24,2,0,0,0,0,0,0,0,0,0,0,7,248,0,24, + 30,0,16,15,0,48,7,0,56,7,128,60,7,128,62,7, + 128,28,7,128,0,7,128,0,31,128,3,247,128,31,7,128, + 60,7,128,120,7,128,248,7,128,240,7,128,240,15,136,240, + 15,136,240,23,136,248,23,152,120,39,240,63,195,240,21,32, + 96,24,2,0,15,129,0,31,227,0,31,255,0,16,254,0, + 32,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,7,248,0,24,30,0,16,15,0,48,7,0,56,7, + 128,60,7,128,62,7,128,28,7,128,0,7,128,0,31,128, + 3,247,128,31,7,128,60,7,128,120,7,128,248,7,128,240, + 7,128,240,15,136,240,15,136,240,23,136,248,23,152,120,39, + 240,63,195,240,21,32,96,24,2,0,28,14,0,62,31,0, + 62,31,0,62,31,0,28,14,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,7,248,0,24,30,0,16,15, + 0,48,7,0,56,7,128,60,7,128,62,7,128,28,7,128, + 0,7,128,0,31,128,3,247,128,31,7,128,60,7,128,120, + 7,128,248,7,128,240,7,128,240,15,136,240,15,136,240,23, + 136,248,23,152,120,39,240,63,195,240,21,34,102,24,2,0, + 1,224,0,2,24,0,4,8,0,8,4,0,8,4,0,8, + 4,0,4,12,0,6,24,0,1,240,0,0,0,0,0,0, + 0,0,0,0,7,248,0,24,30,0,16,15,0,48,7,0, + 56,7,128,60,7,128,60,7,128,28,7,128,0,7,128,0, + 31,128,3,247,128,31,7,128,60,7,128,120,7,128,248,7, + 128,240,7,128,240,15,136,240,15,136,240,31,136,248,23,152, + 120,39,240,63,195,240,30,22,88,34,2,1,7,248,63,128, + 24,30,97,224,16,15,224,224,48,7,192,112,56,7,192,120, + 60,7,128,120,62,7,128,120,30,7,128,60,0,7,128,60, + 0,15,128,60,1,247,255,252,15,7,128,0,60,7,128,0, + 120,7,128,0,248,7,128,0,240,7,128,8,240,15,128,8, + 240,11,192,8,240,27,192,16,248,17,224,48,120,32,240,96, + 63,192,127,192,17,32,96,21,2,247,7,252,0,14,6,0, + 28,3,0,56,3,0,56,3,128,120,15,128,120,15,128,240, + 15,128,240,7,0,240,0,0,240,0,0,240,0,0,240,0, + 0,240,0,0,240,0,128,120,0,128,120,0,128,120,1,0, + 56,1,0,28,2,0,14,6,0,7,248,0,0,128,0,0, + 128,0,1,128,0,0,240,0,0,56,0,0,28,0,0,28, + 0,0,28,0,12,56,0,3,240,0,18,33,99,22,2,1, + 60,0,0,60,0,0,30,0,0,15,0,0,7,0,0,3, + 128,0,0,192,0,0,64,0,0,0,0,0,0,0,0,0, + 0,7,248,0,14,28,0,28,14,0,56,15,0,56,7,128, + 120,7,128,120,7,128,240,7,192,240,7,192,240,7,192,255, + 255,192,240,0,0,240,0,0,240,0,0,240,0,128,120,0, + 128,120,0,128,120,1,128,56,1,0,28,3,0,14,6,0, + 7,252,0,18,33,99,22,2,1,0,7,0,0,15,0,0, + 15,0,0,30,0,0,60,0,0,48,0,0,96,0,0,192, + 0,0,0,0,0,0,0,0,0,0,7,248,0,14,28,0, + 28,14,0,56,15,0,56,7,128,120,7,128,120,7,128,240, + 7,192,240,7,192,240,7,192,255,255,192,240,0,0,240,0, + 0,240,0,0,240,0,128,120,0,128,120,0,128,120,1,128, + 56,1,0,28,3,0,14,6,0,7,252,0,18,33,99,22, + 2,0,0,192,0,0,224,0,1,224,0,1,240,0,3,184, + 0,7,24,0,4,12,0,24,2,0,0,0,0,0,0,0, + 0,0,0,7,248,0,14,28,0,28,14,0,56,15,0,56, + 7,128,120,7,128,120,7,128,240,7,192,240,7,192,240,7, + 192,255,255,192,240,0,0,240,0,0,240,0,0,240,0,128, + 120,0,128,120,0,128,120,1,128,56,1,0,28,3,0,14, + 6,0,7,252,0,18,32,96,22,2,0,28,7,0,62,15, + 128,62,15,128,62,15,128,28,7,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,7,248,0,14,12,0,28, + 14,0,60,7,0,56,7,128,120,3,128,120,3,128,240,3, + 192,240,3,192,240,3,192,255,255,192,240,0,0,240,0,0, + 240,0,0,240,0,64,120,0,128,120,0,128,120,0,128,56, + 1,128,28,1,0,14,6,0,7,252,0,12,33,66,14,0, + 1,224,0,240,0,240,0,120,0,60,0,12,0,6,0,3, + 0,0,0,0,0,0,0,63,128,7,128,7,128,7,128,7, + 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, + 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, + 128,63,240,11,33,66,13,2,1,0,224,1,224,1,224,3, + 192,7,128,6,0,12,0,24,0,0,0,0,0,0,0,254, + 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, + 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, + 0,30,0,30,0,30,0,30,0,255,192,13,33,66,14,0, + 0,7,0,7,0,7,128,15,128,29,192,24,96,48,48,192, + 24,0,0,0,0,0,0,63,128,7,128,7,128,7,128,7, + 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, + 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, + 128,63,240,13,32,64,15,1,0,112,112,248,248,248,248,248, + 248,112,112,0,0,0,0,0,0,0,0,0,0,63,128,7, + 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, + 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, + 128,7,128,7,128,7,128,63,240,19,35,105,24,2,0,31, + 0,0,15,131,128,7,198,0,3,252,0,1,240,0,0,240, + 0,1,248,0,7,124,0,12,60,0,24,30,0,0,31,0, + 0,15,0,0,7,128,3,255,128,14,15,192,28,7,192,60, + 3,192,56,3,224,120,3,224,120,1,224,248,1,224,240,1, + 224,240,1,224,240,1,224,240,1,224,240,1,224,240,1,224, + 240,1,224,120,1,192,120,3,192,56,3,192,60,3,128,28, + 7,0,14,14,0,3,252,0,23,32,96,27,2,0,1,224, + 64,3,248,192,7,255,192,6,63,128,4,7,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,254,31,128,30, + 97,224,30,192,224,30,128,240,31,0,240,31,0,240,30,0, + 240,30,0,240,30,0,240,30,0,240,30,0,240,30,0,240, + 30,0,240,30,0,240,30,0,240,30,0,240,30,0,240,30, + 0,240,30,0,240,30,0,240,30,0,240,255,199,254,19,33, + 99,24,2,1,28,0,0,30,0,0,30,0,0,15,0,0, + 7,128,0,1,128,0,0,192,0,0,96,0,0,0,0,0, + 0,0,0,0,0,3,252,0,14,14,0,28,7,0,60,3, + 128,56,3,192,120,3,192,120,1,224,248,1,224,240,1,224, + 240,1,224,240,1,224,240,1,224,240,1,224,240,1,224,240, + 1,224,120,1,224,120,3,192,56,3,192,60,3,128,28,7, + 0,14,14,0,3,252,0,19,33,99,24,2,1,0,7,0, + 0,7,128,0,15,0,0,30,0,0,28,0,0,56,0,0, + 96,0,0,64,0,0,0,0,0,0,0,0,0,0,3,252, + 0,14,14,0,28,7,0,60,3,128,56,3,192,120,3,192, + 120,1,224,248,1,224,240,1,224,240,1,224,240,1,224,240, + 1,224,240,1,224,240,1,224,240,1,224,120,1,224,120,3, + 192,56,3,192,60,3,128,28,7,0,14,14,0,3,252,0, + 19,33,99,24,2,0,0,96,0,0,224,0,0,240,0,1, + 240,0,1,184,0,3,24,0,6,4,0,8,3,0,0,0, + 0,0,0,0,0,0,0,3,252,0,14,14,0,28,7,0, + 60,3,128,56,3,192,120,3,192,120,1,224,248,1,224,240, + 1,224,240,1,224,240,1,224,240,1,224,240,1,224,240,1, + 224,240,1,224,120,1,224,120,3,192,56,3,192,60,3,128, + 28,7,0,14,14,0,3,252,0,19,32,96,24,2,0,7, + 129,0,15,225,0,31,255,0,24,254,0,16,28,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,3,252,0, + 14,14,0,28,7,0,60,3,128,56,3,192,120,3,192,120, + 1,224,248,1,224,240,1,224,240,1,224,240,1,224,240,1, + 224,240,1,224,240,1,224,240,1,224,120,1,224,120,3,192, + 56,3,192,60,3,128,28,7,0,14,14,0,3,252,0,19, + 32,96,24,2,0,14,7,0,31,15,128,31,15,128,31,15, + 128,14,7,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,3,252,0,14,14,0,28,7,0,60,3,128,56, + 3,192,120,3,192,120,1,224,248,1,224,240,1,224,240,1, + 224,240,1,224,240,1,224,240,1,224,240,1,224,240,1,224, + 120,1,224,120,3,192,56,3,192,60,3,128,28,7,0,14, + 14,0,3,252,0,41,31,186,45,2,253,0,0,30,0,0, + 0,0,0,63,0,0,0,0,0,63,0,0,0,0,0,63, + 0,0,0,0,0,63,0,0,0,0,0,30,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255, + 255,255,255,255,128,255,255,255,255,255,128,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,30,0,0,0,0,0,63,0,0,0,0,0,63, + 0,0,0,0,0,63,0,0,0,0,0,63,0,0,0,0, + 0,30,0,0,0,19,22,66,24,2,1,3,252,96,14,14, + 64,28,7,192,60,3,128,56,3,192,120,7,192,120,13,224, + 248,9,224,240,25,224,240,49,224,240,97,224,240,193,224,240, + 129,224,241,129,224,243,1,224,126,1,224,124,3,192,56,3, + 192,60,3,128,60,7,0,110,14,0,195,252,0,23,33,99, + 27,2,1,14,0,0,15,0,0,7,128,0,3,192,0,1, + 192,0,0,224,0,0,48,0,0,16,0,0,0,0,0,0, + 0,0,0,0,254,7,240,30,0,240,30,0,240,30,0,240, + 30,0,240,30,0,240,30,0,240,30,0,240,30,0,240,30, + 0,240,30,0,240,30,0,240,30,0,240,30,0,240,30,0, + 240,30,1,240,30,1,240,30,1,240,30,2,240,14,6,240, + 15,12,240,3,240,254,23,33,99,27,2,1,0,1,192,0, + 3,192,0,3,192,0,7,128,0,14,0,0,12,0,0,24, + 0,0,48,0,0,0,0,0,0,0,0,0,0,254,7,240, + 30,0,240,30,0,240,30,0,240,30,0,240,30,0,240,30, + 0,240,30,0,240,30,0,240,30,0,240,30,0,240,30,0, + 240,30,0,240,30,0,240,30,0,240,30,1,240,30,1,240, + 30,1,240,30,2,240,14,6,240,15,12,240,3,240,254,23, + 33,99,27,2,0,0,48,0,0,56,0,0,120,0,0,124, + 0,0,204,0,1,134,0,3,3,0,6,0,128,0,0,0, + 0,0,0,0,0,0,254,7,240,30,0,240,30,0,240,30, + 0,240,30,0,240,30,0,240,30,0,240,30,0,240,30,0, + 240,30,0,240,30,0,240,30,0,240,30,0,240,30,0,240, + 30,0,240,30,1,240,30,1,240,30,1,240,30,2,240,14, + 6,240,15,12,240,3,240,254,23,32,96,27,2,0,7,3, + 128,15,135,192,15,135,192,15,135,192,7,3,128,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,254,7,240,30, + 0,240,30,0,240,30,0,240,30,0,240,30,0,240,30,0, + 240,30,0,240,30,0,240,30,0,240,30,0,240,30,0,240, + 30,0,240,30,0,240,30,0,240,30,1,240,30,1,240,30, + 1,240,30,2,240,14,6,240,15,12,240,3,240,254,24,45, + 135,26,1,246,0,0,240,0,0,240,0,1,224,0,1,192, + 0,3,128,0,7,0,0,6,0,0,12,0,0,24,0,0, + 0,0,0,0,0,0,0,0,255,225,255,31,0,120,15,0, + 48,15,0,48,7,0,32,7,128,96,7,128,96,3,192,64, + 3,192,192,3,192,192,1,224,128,1,225,128,0,225,128,0, + 241,128,0,241,0,0,115,0,0,123,0,0,122,0,0,62, + 0,0,62,0,0,60,0,0,28,0,0,28,0,0,24,0, + 0,24,0,0,24,0,24,48,0,60,48,0,60,48,0,60, + 96,0,56,96,0,31,192,0,15,0,0,20,46,138,25,2, + 243,30,0,0,126,0,0,254,0,0,30,0,0,30,0,0, + 30,0,0,30,0,0,30,0,0,30,0,0,30,0,0,30, + 0,0,30,15,192,30,63,224,30,97,240,30,192,240,30,128, + 240,31,128,240,31,0,240,31,0,240,30,0,240,30,0,240, + 30,1,224,30,1,224,30,1,192,30,3,128,30,3,128,30, + 7,0,30,6,0,30,12,0,30,24,0,30,48,0,30,192, + 0,31,128,0,30,0,0,30,0,0,30,0,0,30,0,0, + 30,0,0,30,0,0,30,0,0,30,0,0,30,0,0,30, + 0,0,60,0,0,240,0,0,128,0,0,24,43,129,26,1, + 245,1,192,224,3,225,240,3,225,240,3,225,240,1,192,224, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255, + 225,255,31,128,120,15,0,48,15,0,48,7,128,32,7,128, + 96,7,128,96,3,192,64,3,192,64,3,192,192,1,224,128, + 1,224,128,0,225,128,0,241,128,0,241,0,0,115,0,0, + 123,0,0,122,0,0,62,0,0,62,0,0,60,0,0,28, + 0,0,28,0,0,24,0,0,24,0,0,24,0,24,48,0, + 60,48,0,60,48,0,60,96,0,56,96,0,31,192,0,15, + 0,0}; +/* + Fontname: -FreeType-Old Standard TT-Medium-R-Normal--49-490-72-72-P-256-ISO10646-1 + Copyright: Copyright (C) 2006-2008 Alexey Kryukov + Capital A Height: 0, '1' Height: 34 + Calculated Max Values w=41 h=46 x= 6 y=14 dx=45 dy= 0 ascent=36 len=246 + Font Bounding box w=128 h=62 x=-40 y=-15 + Calculated Min Values x= 0 y=-10 dx= 0 dy= 0 + Pure Font ascent =34 descent= 0 + X Font ascent =34 descent= 0 + Max Font ascent =36 descent=-10 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_osr35n[1588] U8G_FONT_SECTION("u8g_font_osr35n") = { + 0,128,62,216,241,34,0,0,0,0,42,58,0,36,246,34, + 0,18,20,60,25,4,14,0,224,0,1,224,0,1,224,0, + 1,224,0,224,195,128,240,135,192,248,143,192,60,159,128,3, + 248,0,1,224,0,3,240,0,30,190,0,124,143,128,248,135, + 192,240,195,192,97,193,128,1,224,0,1,224,0,1,224,0, + 0,224,0,41,41,246,45,2,248,0,0,12,0,0,0,0, + 0,12,0,0,0,0,0,12,0,0,0,0,0,12,0,0, + 0,0,0,12,0,0,0,0,0,12,0,0,0,0,0,12, + 0,0,0,0,0,12,0,0,0,0,0,12,0,0,0,0, + 0,12,0,0,0,0,0,12,0,0,0,0,0,12,0,0, + 0,0,0,12,0,0,0,0,0,12,0,0,0,0,0,12, + 0,0,0,0,0,12,0,0,0,0,0,12,0,0,0,0, + 0,12,0,0,0,0,0,12,0,0,0,255,255,255,255,255, + 128,255,255,255,255,255,128,0,0,12,0,0,0,0,0,12, + 0,0,0,0,0,12,0,0,0,0,0,12,0,0,0,0, + 0,12,0,0,0,0,0,12,0,0,0,0,0,12,0,0, + 0,0,0,12,0,0,0,0,0,12,0,0,0,0,0,12, + 0,0,0,0,0,12,0,0,0,0,0,12,0,0,0,0, + 0,12,0,0,0,0,0,12,0,0,0,0,0,12,0,0, + 0,0,0,12,0,0,0,0,0,12,0,0,0,0,0,12, + 0,0,0,0,0,12,0,0,0,0,0,12,0,0,0,7, + 15,15,14,4,247,120,252,252,254,126,6,6,6,4,12,8, + 24,48,96,64,12,3,6,18,3,11,255,240,255,240,255,240, + 6,5,5,14,4,1,120,252,252,252,120,16,46,92,22,3, + 246,0,3,0,3,0,3,0,6,0,6,0,6,0,12,0, + 12,0,12,0,24,0,24,0,24,0,48,0,48,0,48,0, + 48,0,96,0,96,0,96,0,192,0,192,0,192,1,128,1, + 128,1,128,3,0,3,0,3,0,6,0,6,0,6,0,12, + 0,12,0,12,0,24,0,24,0,24,0,48,0,48,0,48, + 0,96,0,96,0,96,0,96,0,192,0,192,0,23,34,102, + 28,2,0,0,124,0,1,199,0,7,1,128,6,0,192,14, + 0,224,28,0,112,60,0,120,60,0,120,56,0,56,120,0, + 60,120,0,60,120,0,60,248,0,62,248,0,62,248,0,62, + 248,0,62,248,0,62,248,0,62,248,0,62,248,0,62,248, + 0,62,248,0,62,120,0,60,120,0,60,120,0,60,120,0, + 60,60,0,120,60,0,120,28,0,112,28,0,112,14,0,224, + 7,1,192,3,131,128,0,254,0,17,34,102,28,6,0,0, + 64,0,0,64,0,0,192,0,0,192,0,1,192,0,7,192, + 0,255,192,0,3,192,0,3,192,0,3,192,0,3,192,0, + 3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3, + 192,0,3,192,0,3,192,0,3,192,0,3,192,0,3,192, + 0,3,192,0,3,192,0,3,192,0,3,192,0,3,192,0, + 3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,255, + 255,128,255,255,128,21,34,102,28,4,0,3,252,0,14,31, + 0,16,7,192,32,3,224,96,1,240,64,1,240,192,0,240, + 192,0,248,224,0,248,252,0,248,254,0,248,126,0,248,126, + 0,240,62,1,240,0,1,224,0,3,192,0,3,128,0,7, + 0,0,14,0,0,28,0,0,112,0,0,224,0,1,192,0, + 3,0,0,6,0,16,12,0,16,24,0,16,16,0,16,48, + 0,48,48,0,112,127,255,240,127,255,240,127,255,240,127,255, + 240,21,34,102,28,4,0,3,248,0,14,31,0,24,7,128, + 48,3,192,112,3,192,120,1,224,124,1,224,126,1,224,126, + 1,224,60,1,224,0,1,224,0,3,192,0,3,192,0,7, + 128,0,14,0,15,248,0,31,143,0,14,3,128,0,3,224, + 0,1,224,0,1,240,0,0,248,0,0,248,0,0,248,60, + 0,248,126,0,248,254,0,248,254,0,248,252,1,240,224,1, + 240,224,3,224,96,3,192,48,15,0,15,254,0,23,34,102, + 28,3,0,0,1,128,0,1,128,0,3,128,0,7,128,0, + 7,128,0,15,128,0,31,128,0,31,128,0,55,128,0,119, + 128,0,231,128,0,199,128,1,199,128,3,135,128,3,7,128, + 6,7,128,14,7,128,12,7,128,24,7,128,56,7,128,48, + 7,128,96,7,128,224,7,128,255,255,254,0,7,128,0,7, + 128,0,7,128,0,7,128,0,7,128,0,7,128,0,7,128, + 0,7,128,3,255,254,3,255,254,21,35,105,28,4,0,48, + 0,64,60,3,192,63,255,128,63,255,0,63,252,0,55,240, + 0,48,0,0,48,0,0,48,0,0,48,0,0,48,0,0, + 48,0,0,48,0,0,51,254,0,60,7,128,56,3,192,48, + 1,224,48,1,240,48,1,240,0,0,240,0,0,248,0,0, + 248,0,0,248,0,0,248,60,0,248,126,0,248,254,0,248, + 254,0,240,252,1,240,248,1,224,240,1,224,112,3,192,112, + 7,128,60,31,0,15,252,0,21,34,102,28,4,0,0,126, + 0,1,193,128,3,128,192,7,0,64,14,0,224,28,1,224, + 28,3,224,56,3,224,56,3,192,120,0,0,120,0,0,120, + 0,0,120,0,0,240,126,0,241,255,128,243,131,192,247,1, + 224,254,1,240,252,0,240,252,0,240,248,0,248,248,0,120, + 248,0,120,248,0,120,120,0,120,120,0,120,120,0,248,120, + 0,240,56,0,240,60,0,224,28,1,224,14,3,192,7,7, + 128,1,254,0,19,34,102,28,5,0,255,255,224,255,255,224, + 255,255,224,255,255,224,224,0,224,192,0,64,128,0,64,128, + 0,192,128,0,128,128,1,128,0,1,128,0,3,0,0,2, + 0,0,6,0,0,12,0,0,24,0,0,24,0,0,48,0, + 0,112,0,0,112,0,0,224,0,0,224,0,1,224,0,1, + 224,0,3,224,0,3,224,0,3,224,0,7,240,0,7,240, + 0,7,240,0,7,240,0,7,240,0,3,240,0,3,224,0, + 23,34,102,28,3,0,1,254,0,7,135,128,30,1,192,56, + 0,224,120,0,112,112,0,112,240,0,56,240,0,56,240,0, + 56,240,0,56,248,0,56,252,0,112,126,0,112,127,192,224, + 63,241,192,31,255,0,7,255,128,7,255,224,12,63,248,56, + 7,252,112,1,252,112,0,126,224,0,62,224,0,62,224,0, + 62,224,0,30,224,0,30,224,0,28,96,0,60,112,0,56, + 48,0,120,24,0,240,14,1,192,3,255,0,21,34,102,28, + 4,0,1,248,0,7,142,0,14,3,0,28,1,128,56,1, + 192,120,1,224,120,0,224,120,0,240,240,0,240,240,0,240, + 240,0,240,240,0,248,240,0,248,248,0,248,120,1,248,120, + 1,248,120,3,248,60,7,120,30,14,120,15,252,120,3,240, + 120,0,0,240,0,0,240,0,0,240,0,0,240,60,0,224, + 124,0,224,124,1,192,124,1,192,120,3,128,112,3,0,56, + 6,0,28,28,0,15,248,0,6,22,22,14,4,1,120,252, + 252,252,120,0,0,0,0,0,0,0,0,0,0,0,0,120, + 252,252,252,120}; +/* + Fontname: -FreeType-Old Standard TT-Medium-R-Normal--49-490-72-72-P-256-ISO10646-1 + Copyright: Copyright (C) 2006-2008 Alexey Kryukov + Capital A Height: 35, '1' Height: 34 + Calculated Max Values w=49 h=46 x= 6 y=26 dx=52 dy= 0 ascent=37 len=252 + Font Bounding box w=128 h=62 x=-40 y=-15 + Calculated Min Values x=-2 y=-11 dx= 0 dy= 0 + Pure Font ascent =35 descent=-10 + X Font ascent =36 descent=-10 + Max Font ascent =37 descent=-11 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_osr35r[10371] U8G_FONT_SECTION("u8g_font_osr35r") = { + 0,128,62,216,241,35,12,236,30,116,32,127,246,37,245,36, + 246,0,0,0,14,0,0,6,34,34,14,4,0,120,252,252, + 252,252,252,252,252,252,120,120,120,120,120,120,48,48,48,48, + 48,48,48,48,48,48,48,0,0,0,120,252,252,252,120,11, + 10,20,19,4,26,224,224,224,224,224,224,224,224,224,224,224, + 224,64,64,64,64,64,64,64,64,26,34,136,34,4,0,0, + 48,24,0,0,48,24,0,0,112,24,0,0,96,24,0,0, + 96,56,0,0,96,56,0,0,96,48,0,0,96,48,0,0, + 96,48,0,0,224,48,0,255,255,255,192,255,255,255,192,0, + 192,96,0,0,192,96,0,0,192,96,0,1,192,96,0,1, + 128,96,0,1,128,224,0,1,128,192,0,1,128,192,0,1, + 128,192,0,3,128,192,0,255,255,255,192,255,255,255,192,3, + 1,128,0,3,1,128,0,3,1,128,0,7,1,128,0,7, + 1,128,0,6,1,128,0,6,3,128,0,6,3,0,0,6, + 3,0,0,6,3,0,0,22,41,123,29,3,252,0,204,0, + 0,204,0,0,204,0,1,254,0,7,207,192,12,204,96,24, + 204,48,48,204,24,32,204,24,96,204,28,96,204,60,96,204, + 124,96,204,124,112,204,120,120,204,120,62,204,0,63,204,0, + 31,252,0,15,252,0,7,255,128,1,255,192,0,255,224,0, + 207,240,0,205,248,0,204,120,48,204,60,120,204,28,248,204, + 28,248,204,12,240,204,12,240,204,8,224,204,24,96,204,24, + 96,204,48,48,204,96,28,205,192,7,255,128,0,204,0,0, + 204,0,0,204,0,0,204,0,33,34,170,43,5,0,15,128, + 0,48,0,24,192,0,96,0,48,96,0,64,0,112,112,0, + 192,0,96,48,1,128,0,224,56,1,128,0,224,56,3,0, + 0,224,56,2,0,0,224,56,6,0,0,224,56,12,0,0, + 224,56,12,0,0,224,56,24,0,0,96,48,48,0,0,96, + 112,48,0,0,48,96,96,0,0,24,192,64,0,0,15,128, + 192,0,0,0,1,128,248,0,0,1,129,140,0,0,3,3, + 6,0,0,2,6,7,0,0,6,6,3,0,0,12,14,3, + 128,0,8,14,3,128,0,24,14,3,128,0,48,14,3,128, + 0,48,14,3,128,0,96,14,3,128,0,64,14,3,128,0, + 192,6,3,0,1,128,6,3,0,1,128,7,7,0,3,0, + 3,14,0,6,0,1,252,0,33,34,170,39,3,0,0,63, + 0,0,0,0,227,128,0,0,1,128,192,0,0,3,128,64, + 0,0,3,0,96,0,0,7,0,96,0,0,7,0,96,0, + 0,7,0,224,0,0,7,0,192,0,0,7,129,192,0,0, + 7,131,128,0,0,3,199,0,0,0,3,238,0,0,0,1, + 248,0,0,0,0,248,7,255,128,1,248,0,252,0,3,252, + 0,112,0,7,62,0,112,0,14,63,0,96,0,28,31,0, + 96,0,60,15,128,192,0,56,7,192,192,0,120,7,193,128, + 0,120,3,225,128,0,240,1,243,0,0,240,1,254,0,0, + 240,0,254,0,0,240,0,124,0,0,248,0,62,0,0,248, + 0,62,1,0,120,0,127,1,0,60,0,207,130,0,30,3, + 135,252,0,15,254,1,248,0,3,10,10,11,4,26,224,224, + 224,224,224,224,64,64,64,64,11,46,92,18,5,246,0,64, + 0,224,1,192,3,128,3,0,6,0,14,0,12,0,28,0, + 24,0,56,0,48,0,48,0,112,0,96,0,96,0,96,0, + 224,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, + 192,0,192,0,192,0,224,0,96,0,96,0,96,0,112,0, + 48,0,48,0,56,0,24,0,28,0,12,0,14,0,6,0, + 3,0,3,128,1,192,0,224,0,64,11,45,90,18,2,246, + 64,0,96,0,112,0,56,0,28,0,12,0,14,0,6,0, + 3,0,3,0,3,128,1,128,1,192,0,192,0,192,0,192, + 0,224,0,96,0,96,0,96,0,96,0,96,0,96,0,96, + 0,96,0,96,0,96,0,96,0,96,0,224,0,192,0,192, + 0,192,1,128,1,128,3,128,3,0,7,0,6,0,14,0, + 12,0,24,0,56,0,112,0,224,0,18,20,60,25,4,14, + 0,224,0,1,224,0,1,224,0,1,224,0,224,195,128,240, + 135,192,248,143,192,60,159,128,3,248,0,1,224,0,3,240, + 0,30,190,0,124,143,128,248,135,192,240,195,192,97,193,128, + 1,224,0,1,224,0,1,224,0,0,224,0,41,41,246,45, + 2,248,0,0,12,0,0,0,0,0,12,0,0,0,0,0, + 12,0,0,0,0,0,12,0,0,0,0,0,12,0,0,0, + 0,0,12,0,0,0,0,0,12,0,0,0,0,0,12,0, + 0,0,0,0,12,0,0,0,0,0,12,0,0,0,0,0, + 12,0,0,0,0,0,12,0,0,0,0,0,12,0,0,0, + 0,0,12,0,0,0,0,0,12,0,0,0,0,0,12,0, + 0,0,0,0,12,0,0,0,0,0,12,0,0,0,0,0, + 12,0,0,0,255,255,255,255,255,128,255,255,255,255,255,128, + 0,0,12,0,0,0,0,0,12,0,0,0,0,0,12,0, + 0,0,0,0,12,0,0,0,0,0,12,0,0,0,0,0, + 12,0,0,0,0,0,12,0,0,0,0,0,12,0,0,0, + 0,0,12,0,0,0,0,0,12,0,0,0,0,0,12,0, + 0,0,0,0,12,0,0,0,0,0,12,0,0,0,0,0, + 12,0,0,0,0,0,12,0,0,0,0,0,12,0,0,0, + 0,0,12,0,0,0,0,0,12,0,0,0,0,0,12,0, + 0,0,0,0,12,0,0,0,7,15,15,14,4,247,120,252, + 252,254,126,6,6,6,4,12,8,24,48,96,64,12,3,6, + 18,3,11,255,240,255,240,255,240,6,5,5,14,4,1,120, + 252,252,252,120,16,46,92,22,3,246,0,3,0,3,0,3, + 0,6,0,6,0,6,0,12,0,12,0,12,0,24,0,24, + 0,24,0,48,0,48,0,48,0,48,0,96,0,96,0,96, + 0,192,0,192,0,192,1,128,1,128,1,128,3,0,3,0, + 3,0,6,0,6,0,6,0,12,0,12,0,12,0,24,0, + 24,0,24,0,48,0,48,0,48,0,96,0,96,0,96,0, + 96,0,192,0,192,0,23,34,102,28,2,0,0,124,0,1, + 199,0,7,1,128,6,0,192,14,0,224,28,0,112,60,0, + 120,60,0,120,56,0,56,120,0,60,120,0,60,120,0,60, + 248,0,62,248,0,62,248,0,62,248,0,62,248,0,62,248, + 0,62,248,0,62,248,0,62,248,0,62,248,0,62,120,0, + 60,120,0,60,120,0,60,120,0,60,60,0,120,60,0,120, + 28,0,112,28,0,112,14,0,224,7,1,192,3,131,128,0, + 254,0,17,34,102,28,6,0,0,64,0,0,64,0,0,192, + 0,0,192,0,1,192,0,7,192,0,255,192,0,3,192,0, + 3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3, + 192,0,3,192,0,3,192,0,3,192,0,3,192,0,3,192, + 0,3,192,0,3,192,0,3,192,0,3,192,0,3,192,0, + 3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3, + 192,0,3,192,0,3,192,0,255,255,128,255,255,128,21,34, + 102,28,4,0,3,252,0,14,31,0,16,7,192,32,3,224, + 96,1,240,64,1,240,192,0,240,192,0,248,224,0,248,252, + 0,248,254,0,248,126,0,248,126,0,240,62,1,240,0,1, + 224,0,3,192,0,3,128,0,7,0,0,14,0,0,28,0, + 0,112,0,0,224,0,1,192,0,3,0,0,6,0,16,12, + 0,16,24,0,16,16,0,16,48,0,48,48,0,112,127,255, + 240,127,255,240,127,255,240,127,255,240,21,34,102,28,4,0, + 3,248,0,14,31,0,24,7,128,48,3,192,112,3,192,120, + 1,224,124,1,224,126,1,224,126,1,224,60,1,224,0,1, + 224,0,3,192,0,3,192,0,7,128,0,14,0,15,248,0, + 31,143,0,14,3,128,0,3,224,0,1,224,0,1,240,0, + 0,248,0,0,248,0,0,248,60,0,248,126,0,248,254,0, + 248,254,0,248,252,1,240,224,1,240,224,3,224,96,3,192, + 48,15,0,15,254,0,23,34,102,28,3,0,0,1,128,0, + 1,128,0,3,128,0,7,128,0,7,128,0,15,128,0,31, + 128,0,31,128,0,55,128,0,119,128,0,231,128,0,199,128, + 1,199,128,3,135,128,3,7,128,6,7,128,14,7,128,12, + 7,128,24,7,128,56,7,128,48,7,128,96,7,128,224,7, + 128,255,255,254,0,7,128,0,7,128,0,7,128,0,7,128, + 0,7,128,0,7,128,0,7,128,0,7,128,3,255,254,3, + 255,254,21,35,105,28,4,0,48,0,64,60,3,192,63,255, + 128,63,255,0,63,252,0,55,240,0,48,0,0,48,0,0, + 48,0,0,48,0,0,48,0,0,48,0,0,48,0,0,51, + 254,0,60,7,128,56,3,192,48,1,224,48,1,240,48,1, + 240,0,0,240,0,0,248,0,0,248,0,0,248,0,0,248, + 60,0,248,126,0,248,254,0,248,254,0,240,252,1,240,248, + 1,224,240,1,224,112,3,192,112,7,128,60,31,0,15,252, + 0,21,34,102,28,4,0,0,126,0,1,193,128,3,128,192, + 7,0,64,14,0,224,28,1,224,28,3,224,56,3,224,56, + 3,192,120,0,0,120,0,0,120,0,0,120,0,0,240,126, + 0,241,255,128,243,131,192,247,1,224,254,1,240,252,0,240, + 252,0,240,248,0,248,248,0,120,248,0,120,248,0,120,120, + 0,120,120,0,120,120,0,248,120,0,240,56,0,240,60,0, + 224,28,1,224,14,3,192,7,7,128,1,254,0,19,34,102, + 28,5,0,255,255,224,255,255,224,255,255,224,255,255,224,224, + 0,224,192,0,64,128,0,64,128,0,192,128,0,128,128,1, + 128,0,1,128,0,3,0,0,2,0,0,6,0,0,12,0, + 0,24,0,0,24,0,0,48,0,0,112,0,0,112,0,0, + 224,0,0,224,0,1,224,0,1,224,0,3,224,0,3,224, + 0,3,224,0,7,240,0,7,240,0,7,240,0,7,240,0, + 7,240,0,3,240,0,3,224,0,23,34,102,28,3,0,1, + 254,0,7,135,128,30,1,192,56,0,224,120,0,112,112,0, + 112,240,0,56,240,0,56,240,0,56,240,0,56,248,0,56, + 252,0,112,126,0,112,127,192,224,63,241,192,31,255,0,7, + 255,128,7,255,224,12,63,248,56,7,252,112,1,252,112,0, + 126,224,0,62,224,0,62,224,0,62,224,0,30,224,0,30, + 224,0,28,96,0,60,112,0,56,48,0,120,24,0,240,14, + 1,192,3,255,0,21,34,102,28,4,0,1,248,0,7,142, + 0,14,3,0,28,1,128,56,1,192,120,1,224,120,0,224, + 120,0,240,240,0,240,240,0,240,240,0,240,240,0,248,240, + 0,248,248,0,248,120,1,248,120,1,248,120,3,248,60,7, + 120,30,14,120,15,252,120,3,240,120,0,0,240,0,0,240, + 0,0,240,0,0,240,60,0,224,124,0,224,124,1,192,124, + 1,192,120,3,128,112,3,0,56,6,0,28,28,0,15,248, + 0,6,22,22,14,4,1,120,252,252,252,120,0,0,0,0, + 0,0,0,0,0,0,0,0,120,252,252,252,120,7,31,31, + 14,4,248,120,252,252,252,120,0,0,0,0,0,0,0,0, + 0,0,0,120,252,252,254,126,14,6,6,4,12,8,24,48, + 96,64,38,40,200,46,4,249,0,0,0,0,28,0,0,0, + 0,120,0,0,0,1,240,0,0,0,7,192,0,0,0,15, + 0,0,0,0,60,0,0,0,0,240,0,0,0,3,192,0, + 0,0,15,0,0,0,0,62,0,0,0,0,248,0,0,0, + 1,224,0,0,0,7,128,0,0,0,30,0,0,0,0,120, + 0,0,0,1,224,0,0,0,7,192,0,0,0,31,0,0, + 0,0,60,0,0,0,0,240,0,0,0,0,240,0,0,0, + 0,124,0,0,0,0,31,0,0,0,0,7,128,0,0,0, + 1,224,0,0,0,0,120,0,0,0,0,30,0,0,0,0, + 7,128,0,0,0,3,224,0,0,0,0,248,0,0,0,0, + 60,0,0,0,0,15,0,0,0,0,3,192,0,0,0,0, + 240,0,0,0,0,60,0,0,0,0,31,0,0,0,0,7, + 192,0,0,0,1,224,0,0,0,0,120,0,0,0,0,28, + 41,11,66,45,2,7,255,255,255,255,255,128,255,255,255,255, + 255,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255, + 255,128,255,255,255,255,255,128,38,40,200,46,4,249,224,0, + 0,0,0,120,0,0,0,0,62,0,0,0,0,15,128,0, + 0,0,3,192,0,0,0,0,240,0,0,0,0,60,0,0, + 0,0,15,0,0,0,0,3,192,0,0,0,1,240,0,0, + 0,0,124,0,0,0,0,30,0,0,0,0,7,128,0,0, + 0,1,224,0,0,0,0,120,0,0,0,0,30,0,0,0, + 0,15,128,0,0,0,3,224,0,0,0,0,240,0,0,0, + 0,60,0,0,0,0,60,0,0,0,0,248,0,0,0,3, + 224,0,0,0,7,128,0,0,0,30,0,0,0,0,120,0, + 0,0,1,224,0,0,0,7,128,0,0,0,31,0,0,0, + 0,124,0,0,0,0,240,0,0,0,3,192,0,0,0,15, + 0,0,0,0,60,0,0,0,0,240,0,0,0,3,224,0, + 0,0,15,128,0,0,0,30,0,0,0,0,120,0,0,0, + 0,224,0,0,0,0,18,34,102,23,3,0,7,240,0,28, + 60,0,48,15,0,96,7,128,192,7,128,192,3,192,192,3, + 192,248,3,192,252,3,192,124,7,192,56,7,128,0,15,128, + 0,31,0,0,62,0,0,124,0,0,240,0,0,224,0,1, + 192,0,3,0,0,6,0,0,14,8,0,12,8,0,12,8, + 0,12,8,0,6,16,0,3,224,0,0,0,0,0,0,0, + 0,0,0,1,224,0,3,240,0,3,240,0,3,240,0,1, + 224,0,35,36,180,40,2,0,0,3,254,0,0,0,30,7, + 192,0,0,112,0,112,0,1,192,0,24,0,3,128,0,12, + 0,7,0,0,6,0,14,0,0,3,0,28,0,120,1,0, + 24,1,196,225,128,56,7,7,224,128,48,14,3,224,192,112, + 12,3,192,192,96,28,3,192,64,96,56,3,192,96,224,56, + 3,192,96,192,120,3,128,96,192,112,7,128,96,192,112,7, + 128,96,192,240,7,128,96,192,224,7,0,96,192,224,15,0, + 224,192,224,15,0,192,192,224,14,0,192,96,224,30,1,128, + 96,224,62,1,128,96,224,62,3,0,96,96,78,6,0,48, + 49,143,12,0,48,31,7,240,0,24,0,0,0,0,12,0, + 0,0,0,6,0,0,0,0,3,0,0,0,0,1,192,0, + 112,0,0,112,1,192,0,0,31,255,0,0,34,35,175,37, + 2,0,0,0,192,0,0,0,0,192,0,0,0,0,224,0, + 0,0,1,224,0,0,0,1,224,0,0,0,3,240,0,0, + 0,3,240,0,0,0,3,240,0,0,0,6,248,0,0,0, + 6,248,0,0,0,6,248,0,0,0,12,124,0,0,0,12, + 124,0,0,0,12,124,0,0,0,24,62,0,0,0,24,62, + 0,0,0,24,30,0,0,0,48,31,0,0,0,48,31,0, + 0,0,48,15,0,0,0,96,15,128,0,0,96,15,128,0, + 0,96,7,128,0,0,255,255,192,0,0,255,255,192,0,0, + 192,3,192,0,1,128,3,224,0,1,128,3,224,0,3,128, + 1,224,0,3,0,1,240,0,3,0,1,240,0,7,0,0, + 240,0,7,0,0,248,0,31,128,1,252,0,255,248,31,255, + 192,28,35,140,34,3,0,255,255,240,0,7,192,62,0,7, + 128,15,0,7,128,7,128,7,128,3,192,7,128,1,224,7, + 128,1,224,7,128,1,224,7,128,1,224,7,128,1,224,7, + 128,1,224,7,128,1,224,7,128,3,192,7,128,3,128,7, + 128,7,0,7,128,30,0,7,255,240,0,7,128,62,0,7, + 128,15,0,7,128,7,128,7,128,3,192,7,128,3,224,7, + 128,1,224,7,128,1,240,7,128,1,240,7,128,1,240,7, + 128,1,240,7,128,1,240,7,128,1,240,7,128,3,224,7, + 128,3,224,7,128,7,192,7,128,15,128,7,192,62,0,255, + 255,240,0,26,36,144,32,3,0,0,63,0,128,0,225,224, + 128,3,128,113,128,7,0,63,128,14,0,31,128,30,0,15, + 128,28,0,7,128,60,0,3,128,60,0,3,128,124,0,3, + 128,120,0,1,128,120,0,1,128,120,0,0,128,248,0,0, + 128,248,0,0,0,248,0,0,0,248,0,0,0,248,0,0, + 0,248,0,0,0,248,0,0,0,248,0,0,0,248,0,0, + 0,248,0,0,0,120,0,0,192,120,0,0,192,120,0,0, + 192,60,0,0,192,60,0,0,128,60,0,1,128,28,0,1, + 128,14,0,3,0,14,0,3,0,7,0,6,0,3,128,12, + 0,0,224,56,0,0,127,224,0,33,35,175,38,3,0,255, + 255,252,0,0,7,192,15,0,0,7,128,3,192,0,7,128, + 0,224,0,7,128,0,112,0,7,128,0,120,0,7,128,0, + 60,0,7,128,0,62,0,7,128,0,30,0,7,128,0,31, + 0,7,128,0,31,0,7,128,0,15,0,7,128,0,15,0, + 7,128,0,15,128,7,128,0,15,128,7,128,0,15,128,7, + 128,0,15,128,7,128,0,15,128,7,128,0,15,128,7,128, + 0,15,128,7,128,0,15,128,7,128,0,15,128,7,128,0, + 15,0,7,128,0,31,0,7,128,0,31,0,7,128,0,30, + 0,7,128,0,30,0,7,128,0,60,0,7,128,0,60,0, + 7,128,0,120,0,7,128,0,112,0,7,128,0,224,0,7, + 128,3,192,0,7,192,15,0,0,255,255,252,0,0,28,35, + 140,34,3,0,255,255,255,240,7,192,7,240,7,128,1,240, + 7,128,0,240,7,128,0,112,7,128,0,112,7,128,0,48, + 7,128,0,48,7,128,0,48,7,128,0,16,7,128,32,16, + 7,128,32,16,7,128,32,0,7,128,96,0,7,128,96,0, + 7,128,96,0,7,128,224,0,7,255,224,0,7,129,224,0, + 7,128,96,0,7,128,96,0,7,128,96,0,7,128,32,16, + 7,128,32,16,7,128,32,16,7,128,0,16,7,128,0,48, + 7,128,0,48,7,128,0,48,7,128,0,112,7,128,0,112, + 7,128,0,240,7,128,1,240,255,255,255,240,255,255,255,240, + 27,35,140,34,4,0,255,255,255,224,15,128,15,224,7,128, + 3,224,7,128,1,224,7,128,0,224,7,128,0,224,7,128, + 0,96,7,128,0,96,7,128,0,96,7,128,0,32,7,128, + 32,32,7,128,32,32,7,128,32,0,7,128,96,0,7,128, + 96,0,7,128,96,0,7,128,224,0,7,255,224,0,7,129, + 224,0,7,128,96,0,7,128,96,0,7,128,96,0,7,128, + 32,0,7,128,32,0,7,128,32,0,7,128,0,0,7,128, + 0,0,7,128,0,0,7,128,0,0,7,128,0,0,7,128, + 0,0,7,128,0,0,7,128,0,0,15,128,0,0,255,254, + 0,0,30,36,144,34,3,0,0,63,128,192,0,224,224,192, + 3,128,56,192,7,0,29,192,14,0,15,192,14,0,7,192, + 28,0,7,192,60,0,3,192,60,0,3,192,124,0,1,192, + 120,0,1,192,120,0,0,192,120,0,0,192,248,0,0,192, + 248,0,0,0,248,0,0,0,248,0,0,0,248,0,0,0, + 248,0,255,252,248,0,255,252,248,0,7,192,248,0,7,192, + 248,0,7,192,248,0,7,192,120,0,7,192,120,0,7,192, + 124,0,7,192,60,0,7,192,60,0,7,192,28,0,15,192, + 30,0,15,192,14,0,28,192,7,0,24,192,3,0,48,192, + 1,192,224,192,0,127,128,192,33,35,175,38,3,0,255,252, + 31,255,128,7,192,0,248,0,7,128,0,240,0,7,128,0, + 240,0,7,128,0,240,0,7,128,0,240,0,7,128,0,240, + 0,7,128,0,240,0,7,128,0,240,0,7,128,0,240,0, + 7,128,0,240,0,7,128,0,240,0,7,128,0,240,0,7, + 128,0,240,0,7,128,0,240,0,7,128,0,240,0,7,255, + 255,240,0,7,128,0,240,0,7,128,0,240,0,7,128,0, + 240,0,7,128,0,240,0,7,128,0,240,0,7,128,0,240, + 0,7,128,0,240,0,7,128,0,240,0,7,128,0,240,0, + 7,128,0,240,0,7,128,0,240,0,7,128,0,240,0,7, + 128,0,240,0,7,128,0,240,0,7,128,0,240,0,7,128, + 0,240,0,7,192,0,248,0,255,252,31,255,128,14,35,70, + 19,3,0,255,252,7,192,7,128,7,128,7,128,7,128,7, + 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, + 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, + 128,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, + 128,7,128,7,128,7,192,255,252,23,35,105,27,2,0,0, + 127,254,0,7,192,0,3,192,0,3,192,0,3,192,0,3, + 192,0,3,192,0,3,192,0,3,192,0,3,192,0,3,192, + 0,3,192,0,3,192,0,3,192,0,3,192,0,3,192,0, + 3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3, + 192,0,3,192,0,3,192,60,3,192,126,3,192,254,3,192, + 254,3,192,252,3,192,224,3,128,224,7,128,96,7,0,112, + 14,0,56,28,0,15,248,0,32,35,140,37,3,0,255,252, + 63,254,7,192,15,240,7,128,7,192,7,128,3,128,7,128, + 7,0,7,128,6,0,7,128,12,0,7,128,28,0,7,128, + 56,0,7,128,112,0,7,128,224,0,7,129,192,0,7,129, + 128,0,7,131,128,0,7,135,128,0,7,143,192,0,7,155, + 224,0,7,179,224,0,7,225,240,0,7,193,240,0,7,128, + 248,0,7,128,248,0,7,128,124,0,7,128,124,0,7,128, + 62,0,7,128,62,0,7,128,31,0,7,128,31,0,7,128, + 15,128,7,128,15,192,7,128,7,192,7,128,7,224,7,128, + 3,224,7,192,7,248,255,252,127,255,27,35,140,33,3,0, + 255,254,0,0,7,192,0,0,7,128,0,0,7,128,0,0, + 7,128,0,0,7,128,0,0,7,128,0,0,7,128,0,0, + 7,128,0,0,7,128,0,0,7,128,0,0,7,128,0,0, + 7,128,0,0,7,128,0,0,7,128,0,0,7,128,0,0, + 7,128,0,0,7,128,0,0,7,128,0,0,7,128,0,0, + 7,128,0,0,7,128,0,0,7,128,0,32,7,128,0,96, + 7,128,0,96,7,128,0,96,7,128,0,96,7,128,0,224, + 7,128,0,224,7,128,0,224,7,128,1,224,7,128,3,224, + 7,128,7,224,255,255,255,224,255,255,255,224,36,35,175,41, + 3,0,255,224,0,63,240,7,224,0,62,0,7,224,0,126, + 0,7,240,0,94,0,7,240,0,94,0,6,240,0,222,0, + 6,248,0,222,0,6,248,0,158,0,6,120,0,158,0,6, + 120,1,158,0,6,124,1,158,0,6,60,1,30,0,6,60, + 1,30,0,6,62,3,30,0,6,62,3,30,0,6,30,2, + 30,0,6,30,2,30,0,6,31,6,30,0,6,15,4,30, + 0,6,15,4,30,0,6,15,140,30,0,6,7,140,30,0, + 6,7,136,30,0,6,7,200,30,0,6,7,216,30,0,6, + 3,216,30,0,6,3,208,30,0,6,3,240,30,0,6,1, + 240,30,0,6,1,240,30,0,6,1,224,30,0,6,0,224, + 30,0,15,0,224,30,0,31,128,192,62,0,255,240,195,255, + 240,33,36,180,38,3,255,255,192,7,255,128,7,192,0,252, + 0,7,224,0,120,0,7,240,0,48,0,7,240,0,48,0, + 7,248,0,48,0,6,248,0,48,0,6,124,0,48,0,6, + 126,0,48,0,6,62,0,48,0,6,31,0,48,0,6,31, + 0,48,0,6,15,128,48,0,6,15,192,48,0,6,7,192, + 48,0,6,3,224,48,0,6,3,224,48,0,6,1,240,48, + 0,6,1,248,48,0,6,0,248,48,0,6,0,124,48,0, + 6,0,124,48,0,6,0,62,48,0,6,0,63,48,0,6, + 0,31,48,0,6,0,15,176,0,6,0,15,176,0,6,0, + 7,240,0,6,0,7,240,0,6,0,3,240,0,6,0,1, + 240,0,6,0,1,240,0,15,0,0,240,0,31,128,0,112, + 0,255,240,0,112,0,0,0,0,48,0,28,36,144,33,3, + 0,0,31,128,0,0,240,240,0,1,192,56,0,3,128,28, + 0,7,0,14,0,14,0,7,0,30,0,7,128,28,0,3, + 128,60,0,3,192,60,0,3,192,124,0,3,224,120,0,1, + 224,120,0,1,224,248,0,1,224,248,0,1,240,248,0,1, + 240,248,0,1,240,248,0,1,240,248,0,1,240,248,0,1, + 240,248,0,1,240,248,0,1,240,248,0,1,240,120,0,1, + 224,120,0,1,224,124,0,3,224,124,0,3,224,60,0,3, + 192,60,0,3,192,30,0,7,128,14,0,7,0,14,0,15, + 0,7,0,14,0,3,128,28,0,0,224,112,0,0,127,224, + 0,28,35,140,33,3,0,255,255,240,0,7,192,30,0,7, + 128,7,128,7,128,7,192,7,128,3,224,7,128,3,224,7, + 128,1,240,7,128,1,240,7,128,1,240,7,128,1,240,7, + 128,1,240,7,128,1,240,7,128,3,224,7,128,3,224,7, + 128,7,192,7,128,7,128,7,128,30,0,7,255,248,0,7, + 128,0,0,7,128,0,0,7,128,0,0,7,128,0,0,7, + 128,0,0,7,128,0,0,7,128,0,0,7,128,0,0,7, + 128,0,0,7,128,0,0,7,128,0,0,7,128,0,0,7, + 128,0,0,7,128,0,0,7,128,0,0,7,192,0,0,255, + 254,0,0,28,44,176,33,3,248,0,31,128,0,0,240,240, + 0,1,192,56,0,3,128,28,0,7,0,14,0,14,0,7, + 0,30,0,7,128,28,0,3,128,60,0,3,192,60,0,3, + 192,124,0,3,224,120,0,1,224,120,0,1,224,248,0,1, + 224,248,0,1,240,248,0,1,240,248,0,1,240,248,0,1, + 240,248,0,1,240,248,0,1,240,248,0,1,240,248,0,1, + 240,248,0,1,240,120,0,1,224,120,0,1,224,124,0,3, + 224,124,0,3,224,60,15,3,192,60,25,195,192,30,48,199, + 128,14,96,231,128,15,96,111,0,7,96,126,0,3,224,124, + 16,0,240,120,16,0,127,240,16,0,0,112,16,0,0,112, + 16,0,0,120,48,0,0,120,32,0,0,124,96,0,0,63, + 192,0,0,63,192,0,0,15,0,30,35,140,35,3,0,255, + 255,248,0,7,192,62,0,7,128,15,128,7,128,7,192,7, + 128,7,192,7,128,3,224,7,128,3,224,7,128,3,224,7, + 128,3,224,7,128,3,224,7,128,3,192,7,128,7,192,7, + 128,7,128,7,128,15,0,7,128,60,0,7,255,224,0,7, + 128,240,0,7,128,56,0,7,128,28,0,7,128,30,0,7, + 128,30,0,7,128,31,0,7,128,15,0,7,128,15,0,7, + 128,15,0,7,128,15,0,7,128,15,128,7,128,15,132,7, + 128,15,132,7,128,15,132,7,128,15,132,7,128,15,140,7, + 128,7,248,7,192,7,248,255,254,3,240,23,36,108,30,4, + 0,3,240,0,14,28,24,56,7,24,48,3,248,112,1,248, + 96,0,248,224,0,120,224,0,56,224,0,56,224,0,56,224, + 0,24,240,0,24,248,0,8,126,0,8,127,192,0,63,240, + 0,31,252,0,15,255,128,3,255,224,0,255,240,128,63,248, + 128,7,252,128,1,252,192,0,126,192,0,62,192,0,30,224, + 0,14,224,0,14,240,0,14,240,0,14,248,0,12,252,0, + 28,222,0,24,199,0,48,195,128,96,128,255,192,28,35,140, + 35,4,0,255,255,255,240,254,15,131,240,248,15,1,240,240, + 15,0,240,224,15,0,112,192,15,0,112,192,15,0,48,192, + 15,0,48,192,15,0,48,128,15,0,16,128,15,0,16,128, + 15,0,16,128,15,0,16,0,15,0,0,0,15,0,0,0, + 15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0, + 15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0, + 15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0, + 15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0, + 15,0,0,0,15,0,0,0,15,128,0,3,255,254,0,34, + 35,175,39,3,0,255,252,3,255,192,7,192,0,126,0,7, + 128,0,60,0,7,128,0,24,0,7,128,0,24,0,7,128, + 0,24,0,7,128,0,24,0,7,128,0,24,0,7,128,0, + 24,0,7,128,0,24,0,7,128,0,24,0,7,128,0,24, + 0,7,128,0,24,0,7,128,0,24,0,7,128,0,24,0, + 7,128,0,24,0,7,128,0,24,0,7,128,0,24,0,7, + 128,0,24,0,7,128,0,24,0,7,128,0,24,0,7,128, + 0,24,0,7,128,0,24,0,7,128,0,24,0,7,128,0, + 24,0,7,128,0,24,0,7,128,0,24,0,3,192,0,24, + 0,3,192,0,48,0,3,192,0,48,0,1,224,0,96,0, + 0,224,0,96,0,0,112,0,192,0,0,60,3,128,0,0, + 15,254,0,0,34,36,180,37,2,255,255,255,7,255,192,15, + 240,0,126,0,3,224,0,56,0,3,224,0,56,0,3,240, + 0,48,0,1,240,0,48,0,1,240,0,48,0,0,248,0, + 96,0,0,248,0,96,0,0,248,0,96,0,0,124,0,192, + 0,0,124,0,192,0,0,124,0,192,0,0,62,0,192,0, + 0,62,1,128,0,0,62,1,128,0,0,31,1,128,0,0, + 31,3,0,0,0,31,3,0,0,0,15,131,0,0,0,15, + 134,0,0,0,15,134,0,0,0,7,198,0,0,0,7,204, + 0,0,0,3,204,0,0,0,3,236,0,0,0,3,232,0, + 0,0,1,248,0,0,0,1,248,0,0,0,1,248,0,0, + 0,0,240,0,0,0,0,240,0,0,0,0,240,0,0,0, + 0,96,0,0,0,0,96,0,0,0,0,96,0,0,49,36, + 252,52,2,255,255,254,127,255,15,255,128,15,240,15,248,1, + 248,0,3,224,3,240,0,240,0,3,224,3,224,0,96,0, + 3,224,3,240,0,96,0,1,240,3,240,0,96,0,1,240, + 3,240,0,192,0,1,240,3,240,0,192,0,0,240,7,248, + 0,192,0,0,248,6,248,0,128,0,0,248,6,248,1,128, + 0,0,248,6,124,1,128,0,0,120,14,124,1,128,0,0, + 124,12,124,3,0,0,0,124,12,62,3,0,0,0,60,28, + 62,3,0,0,0,60,24,62,6,0,0,0,60,24,30,6, + 0,0,0,62,24,31,6,0,0,0,30,56,31,12,0,0, + 0,30,48,31,12,0,0,0,30,48,15,140,0,0,0,15, + 48,15,152,0,0,0,15,112,15,152,0,0,0,15,96,7, + 216,0,0,0,15,96,7,208,0,0,0,7,224,7,240,0, + 0,0,7,192,3,240,0,0,0,7,192,3,240,0,0,0, + 3,192,3,224,0,0,0,3,192,3,224,0,0,0,3,128, + 1,224,0,0,0,1,128,1,192,0,0,0,1,128,1,192, + 0,0,0,1,128,0,192,0,0,0,1,0,0,128,0,0, + 33,35,175,36,2,0,127,255,31,255,0,3,240,3,240,0, + 1,240,1,224,0,1,240,1,192,0,0,248,1,128,0,0, + 120,3,0,0,0,124,3,0,0,0,60,6,0,0,0,62, + 14,0,0,0,31,12,0,0,0,31,24,0,0,0,15,152, + 0,0,0,15,176,0,0,0,7,224,0,0,0,7,224,0, + 0,0,3,224,0,0,0,3,224,0,0,0,1,240,0,0, + 0,3,240,0,0,0,3,248,0,0,0,6,248,0,0,0, + 14,124,0,0,0,12,124,0,0,0,24,62,0,0,0,56, + 62,0,0,0,48,31,0,0,0,96,31,0,0,0,224,15, + 128,0,0,192,15,128,0,1,128,7,192,0,3,128,7,192, + 0,3,128,3,224,0,7,128,3,240,0,31,192,3,248,0, + 255,248,63,255,128,32,35,140,35,2,0,255,254,15,255,15, + 224,1,248,7,224,0,240,3,224,0,96,3,240,0,64,1, + 240,0,192,1,248,0,128,0,248,0,128,0,252,1,0,0, + 124,3,0,0,62,2,0,0,62,6,0,0,31,4,0,0, + 31,12,0,0,15,136,0,0,7,216,0,0,7,208,0,0, + 3,240,0,0,3,224,0,0,1,224,0,0,1,224,0,0, + 1,224,0,0,1,224,0,0,1,224,0,0,1,224,0,0, + 1,224,0,0,1,224,0,0,1,224,0,0,1,224,0,0, + 1,224,0,0,1,224,0,0,1,224,0,0,1,224,0,0, + 1,240,0,0,127,255,192,26,35,140,32,3,0,63,255,255, + 192,63,128,15,128,62,0,31,128,60,0,31,0,56,0,62, + 0,56,0,62,0,48,0,124,0,48,0,252,0,96,0,248, + 0,96,1,240,0,64,3,240,0,64,3,224,0,0,7,192, + 0,0,7,192,0,0,15,128,0,0,31,128,0,0,31,0, + 0,0,62,0,0,0,126,0,0,0,124,0,0,0,252,0, + 0,0,248,0,64,1,240,0,64,3,240,0,64,3,224,0, + 192,7,192,0,192,7,192,0,192,15,128,1,192,31,128,1, + 192,31,0,3,192,62,0,3,192,126,0,7,192,124,0,15, + 128,248,0,63,128,255,255,255,128,10,45,90,19,6,247,255, + 192,254,0,240,0,240,0,240,0,240,0,240,0,240,0,240, + 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, + 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, + 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, + 0,240,0,240,0,240,0,240,0,240,0,240,0,240,0,240, + 0,240,0,240,0,254,0,255,192,16,46,92,22,3,246,192, + 0,192,0,192,0,96,0,96,0,96,0,48,0,48,0,48, + 0,24,0,24,0,24,0,12,0,12,0,12,0,6,0,6, + 0,6,0,2,0,3,0,3,0,3,0,1,128,1,128,1, + 128,0,192,0,192,0,192,0,96,0,96,0,96,0,48,0, + 48,0,48,0,24,0,24,0,24,0,12,0,12,0,12,0, + 6,0,6,0,6,0,3,0,3,0,3,10,45,90,19,3, + 247,255,192,31,192,3,192,3,192,3,192,3,192,3,192,3, + 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, + 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, + 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, + 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, + 192,3,192,3,192,3,192,31,192,255,192,22,18,54,28,3, + 17,0,16,0,0,48,0,0,56,0,0,120,0,0,108,0, + 0,206,0,1,198,0,1,131,0,3,3,0,7,1,128,6, + 1,192,14,0,192,28,0,96,24,0,112,56,0,48,48,0, + 56,96,0,24,224,0,12,25,2,8,25,0,248,255,255,255, + 128,255,255,255,128,8,9,9,22,4,25,224,240,240,120,60, + 12,6,3,1,21,22,66,24,2,1,7,248,0,24,30,0, + 16,15,0,48,7,0,56,7,128,60,7,128,62,7,128,28, + 7,128,0,7,128,0,31,128,3,247,128,31,7,128,60,7, + 128,120,7,128,248,7,128,240,7,128,240,15,136,240,15,136, + 240,23,136,248,23,152,120,39,240,63,195,240,22,35,105,25, + 1,0,255,0,0,15,0,0,15,0,0,15,0,0,15,0, + 0,15,0,0,15,0,0,15,0,0,15,0,0,15,0,0, + 15,0,0,15,0,0,15,0,0,15,31,128,15,32,224,15, + 64,240,15,192,112,15,128,120,15,128,120,15,0,120,15,0, + 60,15,0,60,15,0,60,15,0,60,15,0,60,15,0,60, + 15,0,60,15,0,60,15,0,120,15,0,120,15,128,120,13, + 128,112,12,192,224,12,96,224,8,63,128,17,22,66,21,2, + 1,7,252,0,14,6,0,28,3,0,56,3,0,56,3,128, + 120,15,128,120,15,128,240,15,128,240,7,0,240,0,0,240, + 0,0,240,0,0,240,0,0,240,0,0,240,0,128,120,0, + 128,120,0,128,56,1,0,56,1,0,28,2,0,14,6,0, + 7,248,0,22,35,105,25,2,0,0,63,192,0,3,192,0, + 3,192,0,3,192,0,3,192,0,3,192,0,3,192,0,3, + 192,0,3,192,0,3,192,0,3,192,0,3,192,0,3,192, + 15,227,192,28,19,192,60,11,192,56,15,192,120,7,192,120, + 7,192,120,3,192,240,3,192,240,3,192,240,3,192,240,3, + 192,240,3,192,240,3,192,240,3,192,240,3,192,120,3,192, + 120,3,192,120,7,192,56,7,192,60,15,192,28,27,192,7, + 243,252,18,22,66,22,2,1,7,248,0,14,28,0,28,14, + 0,56,15,0,56,7,128,120,7,128,120,7,128,240,7,192, + 240,7,192,240,7,192,255,255,192,240,0,0,240,0,0,240, + 0,0,240,0,128,120,0,128,120,0,128,120,1,128,56,1, + 0,28,3,0,14,6,0,7,252,0,16,35,70,16,1,0, + 0,248,3,198,7,3,15,7,14,15,14,15,30,15,30,6, + 30,0,30,0,30,0,30,0,30,0,255,240,30,0,30,0, + 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, + 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, + 30,0,30,0,255,240,23,33,99,27,3,246,7,252,124,30, + 14,206,60,7,142,124,7,158,120,3,222,120,3,192,120,3, + 192,120,3,192,120,3,192,120,3,192,60,7,128,28,7,128, + 14,14,0,3,248,0,28,0,0,96,0,0,192,0,0,192, + 0,0,224,0,0,255,255,128,127,255,224,15,255,240,28,0, + 112,48,0,56,96,0,24,192,0,24,192,0,24,192,0,24, + 192,0,48,96,0,48,120,0,96,30,7,192,3,254,0,24, + 35,105,27,1,0,255,0,0,15,0,0,15,0,0,15,0, + 0,15,0,0,15,0,0,15,0,0,15,0,0,15,0,0, + 15,0,0,15,0,0,15,0,0,15,0,0,15,15,192,15, + 48,240,15,96,112,15,64,120,15,128,120,15,128,120,15,0, + 120,15,0,120,15,0,120,15,0,120,15,0,120,15,0,120, + 15,0,120,15,0,120,15,0,120,15,0,120,15,0,120,15, + 0,120,15,0,120,15,0,120,15,0,120,255,195,255,10,34, + 68,14,2,0,28,0,62,0,62,0,62,0,28,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,0,254,0,30,0, + 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, + 30,0,30,0,30,0,30,0,30,0,30,0,30,0,30,0, + 30,0,30,0,30,0,255,192,13,45,90,16,254,245,0,112, + 0,248,0,248,0,248,0,112,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,15,248,0,120,0,120,0,120,0,120, + 0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120, + 0,120,0,120,0,120,0,120,0,120,0,120,0,120,0,120, + 0,120,0,120,0,120,0,120,0,120,240,120,240,120,240,112, + 224,240,96,224,115,192,31,0,22,35,105,24,1,0,254,0, + 0,30,0,0,30,0,0,30,0,0,30,0,0,30,0,0, + 30,0,0,30,0,0,30,0,0,30,0,0,30,0,0,30, + 0,0,30,0,0,30,15,252,30,3,224,30,1,128,30,3, + 0,30,6,0,30,6,0,30,12,0,30,24,0,30,48,0, + 30,120,0,30,248,0,30,188,0,31,190,0,31,30,0,30, + 15,0,30,15,128,30,7,128,30,3,192,30,3,224,30,1, + 224,30,3,240,255,207,252,11,35,70,13,1,0,254,0,30, + 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, + 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, + 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, + 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, + 0,255,224,36,22,110,40,2,1,254,63,129,252,0,30,97, + 195,14,0,30,193,230,15,0,30,128,228,7,128,31,0,248, + 7,128,31,0,248,7,128,30,0,240,7,128,30,0,240,7, + 128,30,0,240,7,128,30,0,240,7,128,30,0,240,7,128, + 30,0,240,7,128,30,0,240,7,128,30,0,240,7,128,30, + 0,240,7,128,30,0,240,7,128,30,0,240,7,128,30,0, + 240,7,128,30,0,240,7,128,30,0,240,7,128,30,0,240, + 7,128,255,199,254,63,240,23,22,66,27,2,1,254,31,128, + 30,97,224,30,192,224,30,128,240,31,0,240,31,0,240,30, + 0,240,30,0,240,30,0,240,30,0,240,30,0,240,30,0, + 240,30,0,240,30,0,240,30,0,240,30,0,240,30,0,240, + 30,0,240,30,0,240,30,0,240,30,0,240,255,199,254,19, + 22,66,24,2,1,3,252,0,14,14,0,28,7,0,60,3, + 128,56,3,192,120,3,192,120,1,224,248,1,224,240,1,224, + 240,1,224,240,1,224,240,1,224,240,1,224,240,1,224,240, + 1,224,120,1,224,120,3,192,56,3,192,60,3,128,28,7, + 0,14,14,0,3,252,0,22,33,99,25,1,246,254,63,128, + 30,97,192,30,192,224,31,128,112,31,0,120,31,0,120,30, + 0,120,30,0,60,30,0,60,30,0,60,30,0,60,30,0, + 60,30,0,60,30,0,60,30,0,60,30,0,120,30,0,120, + 31,0,120,31,0,112,31,128,224,30,192,192,30,127,128,30, + 0,0,30,0,0,30,0,0,30,0,0,30,0,0,30,0, + 0,30,0,0,30,0,0,30,0,0,30,0,0,255,224,0, + 22,33,99,25,2,246,7,240,64,28,24,192,28,12,192,56, + 12,192,120,7,192,120,7,192,120,3,192,240,3,192,240,3, + 192,240,3,192,240,3,192,240,3,192,240,3,192,240,3,192, + 240,3,192,120,3,192,120,3,192,120,7,192,56,7,192,60, + 15,192,28,27,192,7,243,192,0,3,192,0,3,192,0,3, + 192,0,3,192,0,3,192,0,3,192,0,3,192,0,3,192, + 0,3,192,0,3,192,0,31,252,17,22,66,20,2,1,254, + 31,0,30,35,128,30,67,128,30,207,128,30,143,128,31,143, + 0,31,2,0,31,0,0,31,0,0,30,0,0,30,0,0, + 30,0,0,30,0,0,30,0,0,30,0,0,30,0,0,30, + 0,0,30,0,0,30,0,0,30,0,0,30,0,0,255,192, + 0,17,22,66,22,3,1,31,226,0,112,50,0,96,30,0, + 192,14,0,192,6,0,224,2,0,240,2,0,252,0,0,127, + 0,0,63,192,0,31,248,0,7,254,0,128,255,0,192,31, + 0,192,7,128,224,3,128,224,1,128,240,1,128,240,1,128, + 248,3,0,198,7,0,131,252,0,14,32,64,17,1,0,2, + 0,2,0,2,0,2,0,2,0,6,0,6,0,6,0,14, + 0,30,0,255,248,30,0,30,0,30,0,30,0,30,0,30, + 0,30,0,30,0,30,0,30,0,30,0,30,0,30,0,30, + 0,30,4,30,4,30,4,30,12,15,8,15,248,7,240,23, + 22,66,27,2,0,254,7,240,30,0,240,30,0,240,30,0, + 240,30,0,240,30,0,240,30,0,240,30,0,240,30,0,240, + 30,0,240,30,0,240,30,0,240,30,0,240,30,0,240,30, + 0,240,30,1,240,30,1,240,30,1,240,30,2,240,14,6, + 240,15,12,240,3,240,254,24,23,69,26,1,255,255,225,255, + 31,0,124,15,0,48,15,0,48,15,0,32,7,128,96,7, + 128,96,3,192,64,3,192,192,1,192,192,1,224,128,1,225, + 128,0,241,128,0,241,0,0,113,0,0,123,0,0,58,0, + 0,62,0,0,62,0,0,28,0,0,28,0,0,12,0,0, + 8,0,36,23,115,38,1,255,255,231,255,31,240,31,1,248, + 7,128,31,0,240,3,0,15,0,120,3,0,15,0,120,2, + 0,7,128,120,6,0,7,128,252,6,0,3,128,252,4,0, + 3,192,188,12,0,3,192,158,12,0,1,225,158,8,0,1, + 225,14,24,0,0,225,15,24,0,0,243,15,16,0,0,242, + 7,48,0,0,114,7,176,0,0,126,7,160,0,0,62,3, + 224,0,0,60,3,192,0,0,28,1,192,0,0,28,1,192, + 0,0,24,1,128,0,0,8,0,128,0,22,22,66,26,2, + 0,255,207,248,31,3,192,31,3,128,15,3,0,7,131,0, + 7,198,0,3,196,0,1,236,0,1,248,0,0,240,0,0, + 112,0,0,120,0,0,124,0,0,220,0,1,158,0,1,15, + 0,3,15,0,6,7,128,4,7,192,12,3,192,28,3,224, + 255,15,252,24,33,99,26,1,245,255,225,255,31,0,120,15, + 0,48,15,0,48,7,0,32,7,128,96,7,128,96,3,192, + 64,3,192,192,3,192,192,1,224,128,1,225,128,0,225,128, + 0,241,128,0,241,0,0,115,0,0,123,0,0,122,0,0, + 62,0,0,62,0,0,60,0,0,28,0,0,28,0,0,24, + 0,0,24,0,0,24,0,24,48,0,60,48,0,60,48,0, + 60,96,0,56,96,0,31,192,0,15,0,0,17,22,66,22, + 2,0,255,255,128,248,7,128,224,15,0,224,31,0,192,30, + 0,192,60,0,128,124,0,128,120,0,0,240,0,1,240,0, + 1,224,0,3,192,0,7,192,0,7,128,128,15,0,128,31, + 0,128,30,0,128,60,1,128,124,1,128,120,3,128,240,15, + 128,255,255,128,11,45,90,21,6,247,0,224,1,128,7,0, + 14,0,12,0,28,0,28,0,28,0,28,0,30,0,30,0, + 14,0,14,0,15,0,15,0,7,0,7,0,7,0,7,0, + 6,0,4,0,24,0,224,0,56,0,12,0,6,0,6,0, + 7,0,7,0,7,0,15,0,15,0,15,0,14,0,30,0, + 30,0,28,0,28,0,28,0,28,0,12,0,12,0,6,0, + 3,128,0,224,2,46,46,14,6,246,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,11,45,90,20,4,247,192,0, + 112,0,28,0,12,0,6,0,7,0,7,0,7,0,7,0, + 15,0,15,0,14,0,30,0,30,0,30,0,28,0,28,0, + 28,0,28,0,12,0,4,0,3,0,0,224,3,0,6,0, + 12,0,28,0,28,0,28,0,28,0,30,0,30,0,30,0, + 14,0,15,0,15,0,7,0,7,0,7,0,7,0,6,0, + 6,0,12,0,56,0,224,0,28,9,36,32,2,8,31,128, + 0,192,127,240,0,96,127,252,0,48,227,255,0,48,192,127, + 224,48,192,31,248,112,192,3,255,224,96,0,255,192,48,0, + 31,128,255}; +/* + Fontname: -FreeType-P01type-Medium-R-Normal--8-80-72-72-P-35-ISO10646-1 + Copyright: Copyright Patrick Lauke 2012 + Capital A Height: 4, '1' Height: 5 + Calculated Max Values w= 5 h= 5 x= 1 y= 2 dx= 6 dy= 0 ascent= 4 len= 5 + Font Bounding box w= 5 h= 6 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent = 4 descent=-2 + X Font ascent = 5 descent=-2 + Max Font ascent = 4 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_p01type[1163] U8G_FONT_SECTION("u8g_font_p01type") = { + 0,5,6,0,254,4,1,81,2,129,32,255,254,4,254,5, + 254,0,0,0,4,0,0,1,5,5,3,1,255,128,128,128, + 0,128,3,2,2,4,0,2,160,160,5,5,5,6,0,255, + 80,248,80,248,80,255,4,4,4,5,0,0,144,32,64,144, + 4,5,5,5,0,255,64,128,80,160,80,1,2,2,2,0, + 2,128,128,2,5,5,3,0,255,64,128,128,128,64,2,5, + 5,3,0,255,128,64,64,64,128,3,3,3,4,0,0,160, + 64,160,3,3,3,4,0,0,64,224,64,2,2,2,3,0, + 255,64,128,3,1,1,4,0,1,224,1,1,1,2,0,0, + 128,4,4,4,5,0,255,16,32,64,128,3,5,5,4,0, + 255,96,160,160,160,192,1,5,5,2,0,255,128,128,128,128, + 128,3,5,5,4,0,255,192,32,224,128,96,3,5,5,4, + 0,255,192,32,192,32,192,3,5,5,4,0,255,160,160,224, + 32,32,3,5,5,4,0,255,96,128,224,32,192,3,5,5, + 4,0,255,96,128,224,160,192,3,5,5,4,0,255,224,32, + 32,64,64,3,5,5,4,0,255,96,160,224,160,192,3,5, + 5,4,0,255,96,160,224,32,192,1,3,3,2,0,0,128, + 0,128,2,4,4,3,0,255,64,0,64,128,3,5,5,4, + 0,255,32,64,128,64,32,3,3,3,4,0,0,224,0,224, + 3,5,5,4,0,255,128,64,32,64,128,4,5,5,5,0, + 255,224,16,96,0,64,4,5,5,5,0,255,112,144,176,128, + 224,4,4,4,5,0,0,112,144,240,144,4,5,5,5,0, + 255,112,144,224,144,224,4,4,4,5,0,0,112,128,128,240, + 4,4,4,5,0,0,224,144,144,240,4,5,5,5,0,255, + 112,128,224,128,112,4,4,4,5,0,0,240,128,224,128,4, + 4,4,5,0,0,112,128,144,224,4,4,4,5,0,0,144, + 144,240,144,1,4,4,2,0,0,128,128,128,128,2,4,4, + 3,0,0,64,64,64,128,4,4,4,5,0,0,144,144,224, + 144,4,4,4,5,0,0,128,128,128,112,4,4,4,5,0, + 0,144,240,144,144,4,4,4,5,0,0,144,208,176,144,4, + 4,4,5,0,0,112,144,144,224,4,4,4,5,0,0,112, + 144,224,128,4,4,4,5,0,0,112,144,160,208,4,4,4, + 5,0,0,112,144,224,144,4,5,5,5,0,255,112,128,240, + 16,224,5,4,4,6,0,0,248,32,32,32,4,4,4,5, + 0,0,144,144,144,224,4,4,4,5,0,0,144,144,144,96, + 5,4,4,6,0,0,168,168,168,216,4,4,4,5,0,0, + 144,144,96,144,4,4,4,5,0,0,144,240,16,224,4,4, + 4,5,0,0,240,32,64,240,2,5,5,3,0,255,192,128, + 128,128,192,4,4,4,5,0,255,128,64,32,16,2,5,5, + 3,0,255,192,64,64,64,192,255,4,1,1,5,0,255,240, + 255,3,3,3,4,0,0,96,160,224,3,4,4,4,0,0, + 128,224,160,192,3,3,3,4,0,0,96,128,224,3,4,4, + 4,0,0,32,96,160,224,3,5,5,4,0,254,96,160,224, + 128,96,3,4,4,4,0,0,96,64,224,64,3,5,5,4, + 0,254,96,160,224,32,192,3,4,4,4,0,0,128,192,160, + 160,1,3,3,2,0,0,128,128,128,2,5,5,3,0,254, + 64,64,64,64,128,3,4,4,4,0,0,128,160,192,160,1, + 4,4,2,0,0,128,128,128,128,5,3,3,6,0,0,80, + 168,168,3,3,3,4,0,0,192,160,160,3,3,3,4,0, + 0,96,160,192,3,5,5,4,0,254,96,160,192,128,128,3, + 5,5,4,0,254,192,160,96,32,32,3,3,3,4,0,0, + 96,128,128,3,5,5,4,0,254,96,128,224,32,192,3,4, + 4,4,0,0,64,224,64,32,3,3,3,4,0,0,160,160, + 96,3,3,3,4,0,0,160,160,64,5,3,3,6,0,0, + 168,168,80,3,3,3,4,0,0,160,64,160,3,5,5,4, + 0,254,160,160,96,32,192,3,3,3,4,0,0,224,64,224, + 3,5,5,4,0,255,96,64,128,64,96,1,5,5,2,0, + 255,128,128,128,128,128,3,5,5,4,0,255,192,64,32,64, + 192,4,2,2,5,0,1,80,160,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,255,255,255,255,255,255,255,255,1,5,5,2,0, + 255,128,0,128,128,128,255,255,255,255,1,5,5,3,1,255, + 128,128,0,128,128,255,255,255,255,5,5,5,6,0,255,40, + 80,160,80,40,3,2,2,4,0,0,224,32,3,1,1,4, + 0,1,224,255,255,255,3,5,5,4,0,255,64,224,64,0, + 224,255,255,255,255,255,1,1,1,2,0,1,128,255,255,255, + 5,5,5,6,0,255,160,80,40,80,160,255,255,255,4,5, + 5,5,0,255,32,0,96,128,112,255,255,255,255,255,255,255, + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 3,3,3,4,0,0,160,64,160,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,255,255,255,255,255,3,5,5,4,0,255,64,0, + 224,0,64,255,255,255,255,255,255,255,255}; +/* + Fontname: -FreeType-P01type-Medium-R-Normal--8-80-72-72-P-35-ISO10646-1 + Copyright: Copyright Patrick Lauke 2012 + Capital A Height: 0, '1' Height: 5 + Calculated Max Values w= 4 h= 5 x= 0 y= 1 dx= 5 dy= 0 ascent= 4 len= 5 + Font Bounding box w= 5 h= 6 x= 0 y=-2 + Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 + Pure Font ascent = 5 descent= 0 + X Font ascent = 5 descent= 0 + Max Font ascent = 4 descent=-1 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_p01typen[186] U8G_FONT_SECTION("u8g_font_p01typen") = { + 0,5,6,0,254,5,0,0,0,0,42,58,0,4,255,5, + 0,3,3,3,4,0,0,160,64,160,3,3,3,4,0,0, + 64,224,64,2,2,2,3,0,255,64,128,3,1,1,4,0, + 1,224,1,1,1,2,0,0,128,4,4,4,5,0,255,16, + 32,64,128,3,5,5,4,0,255,96,160,160,160,192,1,5, + 5,2,0,255,128,128,128,128,128,3,5,5,4,0,255,192, + 32,224,128,96,3,5,5,4,0,255,192,32,192,32,192,3, + 5,5,4,0,255,160,160,224,32,32,3,5,5,4,0,255, + 96,128,224,32,192,3,5,5,4,0,255,96,128,224,160,192, + 3,5,5,4,0,255,224,32,32,64,64,3,5,5,4,0, + 255,96,160,224,160,192,3,5,5,4,0,255,96,160,224,32, + 192,1,3,3,2,0,0,128,0,128}; +/* + Fontname: -FreeType-P01type-Medium-R-Normal--8-80-72-72-P-35-ISO10646-1 + Copyright: Copyright Patrick Lauke 2012 + Capital A Height: 4, '1' Height: 5 + Calculated Max Values w= 5 h= 5 x= 1 y= 2 dx= 6 dy= 0 ascent= 4 len= 5 + Font Bounding box w= 5 h= 6 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent = 4 descent=-2 + X Font ascent = 5 descent=-2 + Max Font ascent = 4 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_p01typer[938] U8G_FONT_SECTION("u8g_font_p01typer") = { + 0,5,6,0,254,4,1,81,2,129,32,127,254,4,254,5, + 254,0,0,0,4,0,0,1,5,5,3,1,255,128,128,128, + 0,128,3,2,2,4,0,2,160,160,5,5,5,6,0,255, + 80,248,80,248,80,255,4,4,4,5,0,0,144,32,64,144, + 4,5,5,5,0,255,64,128,80,160,80,1,2,2,2,0, + 2,128,128,2,5,5,3,0,255,64,128,128,128,64,2,5, + 5,3,0,255,128,64,64,64,128,3,3,3,4,0,0,160, + 64,160,3,3,3,4,0,0,64,224,64,2,2,2,3,0, + 255,64,128,3,1,1,4,0,1,224,1,1,1,2,0,0, + 128,4,4,4,5,0,255,16,32,64,128,3,5,5,4,0, + 255,96,160,160,160,192,1,5,5,2,0,255,128,128,128,128, + 128,3,5,5,4,0,255,192,32,224,128,96,3,5,5,4, + 0,255,192,32,192,32,192,3,5,5,4,0,255,160,160,224, + 32,32,3,5,5,4,0,255,96,128,224,32,192,3,5,5, + 4,0,255,96,128,224,160,192,3,5,5,4,0,255,224,32, + 32,64,64,3,5,5,4,0,255,96,160,224,160,192,3,5, + 5,4,0,255,96,160,224,32,192,1,3,3,2,0,0,128, + 0,128,2,4,4,3,0,255,64,0,64,128,3,5,5,4, + 0,255,32,64,128,64,32,3,3,3,4,0,0,224,0,224, + 3,5,5,4,0,255,128,64,32,64,128,4,5,5,5,0, + 255,224,16,96,0,64,4,5,5,5,0,255,112,144,176,128, + 224,4,4,4,5,0,0,112,144,240,144,4,5,5,5,0, + 255,112,144,224,144,224,4,4,4,5,0,0,112,128,128,240, + 4,4,4,5,0,0,224,144,144,240,4,5,5,5,0,255, + 112,128,224,128,112,4,4,4,5,0,0,240,128,224,128,4, + 4,4,5,0,0,112,128,144,224,4,4,4,5,0,0,144, + 144,240,144,1,4,4,2,0,0,128,128,128,128,2,4,4, + 3,0,0,64,64,64,128,4,4,4,5,0,0,144,144,224, + 144,4,4,4,5,0,0,128,128,128,112,4,4,4,5,0, + 0,144,240,144,144,4,4,4,5,0,0,144,208,176,144,4, + 4,4,5,0,0,112,144,144,224,4,4,4,5,0,0,112, + 144,224,128,4,4,4,5,0,0,112,144,160,208,4,4,4, + 5,0,0,112,144,224,144,4,5,5,5,0,255,112,128,240, + 16,224,5,4,4,6,0,0,248,32,32,32,4,4,4,5, + 0,0,144,144,144,224,4,4,4,5,0,0,144,144,144,96, + 5,4,4,6,0,0,168,168,168,216,4,4,4,5,0,0, + 144,144,96,144,4,4,4,5,0,0,144,240,16,224,4,4, + 4,5,0,0,240,32,64,240,2,5,5,3,0,255,192,128, + 128,128,192,4,4,4,5,0,255,128,64,32,16,2,5,5, + 3,0,255,192,64,64,64,192,255,4,1,1,5,0,255,240, + 255,3,3,3,4,0,0,96,160,224,3,4,4,4,0,0, + 128,224,160,192,3,3,3,4,0,0,96,128,224,3,4,4, + 4,0,0,32,96,160,224,3,5,5,4,0,254,96,160,224, + 128,96,3,4,4,4,0,0,96,64,224,64,3,5,5,4, + 0,254,96,160,224,32,192,3,4,4,4,0,0,128,192,160, + 160,1,3,3,2,0,0,128,128,128,2,5,5,3,0,254, + 64,64,64,64,128,3,4,4,4,0,0,128,160,192,160,1, + 4,4,2,0,0,128,128,128,128,5,3,3,6,0,0,80, + 168,168,3,3,3,4,0,0,192,160,160,3,3,3,4,0, + 0,96,160,192,3,5,5,4,0,254,96,160,192,128,128,3, + 5,5,4,0,254,192,160,96,32,32,3,3,3,4,0,0, + 96,128,128,3,5,5,4,0,254,96,128,224,32,192,3,4, + 4,4,0,0,64,224,64,32,3,3,3,4,0,0,160,160, + 96,3,3,3,4,0,0,160,160,64,5,3,3,6,0,0, + 168,168,80,3,3,3,4,0,0,160,64,160,3,5,5,4, + 0,254,160,160,96,32,192,3,3,3,4,0,0,224,64,224, + 3,5,5,4,0,255,96,64,128,64,96,1,5,5,2,0, + 255,128,128,128,128,128,3,5,5,4,0,255,192,64,32,64, + 192,4,2,2,5,0,1,80,160,255}; +/* + Fontname: -FreeType-Pixelle (Micro)-Medium-R-Normal--8-80-72-72-P-32-ISO10646-1 + Copyright: Copyright rdonaghy 2008 + Capital A Height: 5, '1' Height: 5 + Calculated Max Values w= 5 h= 7 x= 0 y= 4 dx= 6 dy= 0 ascent= 6 len= 7 + Font Bounding box w= 6 h= 8 x=-1 y=-2 + Calculated Min Values x=-1 y=-2 dx= 0 dy= 0 + Pure Font ascent = 5 descent=-2 + X Font ascent = 6 descent=-2 + Max Font ascent = 6 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_pixelle_micro[1140] U8G_FONT_SECTION("u8g_font_pixelle_micro") = { + 0,6,8,255,254,5,1,97,2,188,32,255,254,6,254,6, + 254,0,0,0,1,0,0,1,5,5,2,0,0,128,128,128, + 0,128,3,2,2,4,0,3,160,160,5,5,5,6,0,0, + 80,248,80,248,80,3,7,7,4,0,255,64,224,128,224,32, + 224,64,4,4,4,5,0,0,144,32,64,144,4,5,5,5, + 0,0,96,64,208,160,208,1,2,2,2,0,3,128,128,2, + 7,7,3,0,255,64,128,128,128,128,128,64,2,7,7,3, + 0,255,128,64,64,64,64,64,128,3,4,4,4,0,0,64, + 224,64,160,3,3,3,4,0,0,64,224,64,1,2,2,2, + 0,255,128,128,3,1,1,4,0,1,224,1,1,1,2,0, + 0,128,3,6,6,4,0,0,32,32,64,64,128,128,3,5, + 5,4,0,0,64,160,224,160,64,3,5,5,4,0,0,192, + 64,64,64,224,3,5,5,4,0,0,64,160,32,64,224,3, + 5,5,4,0,0,192,32,64,32,192,3,5,5,4,0,0, + 160,160,224,32,32,3,5,5,4,0,0,224,128,224,32,192, + 3,5,5,4,0,0,64,160,192,160,64,3,5,5,4,0, + 0,224,32,64,64,128,3,5,5,4,0,0,64,160,64,160, + 64,3,5,5,4,0,0,64,160,96,160,64,1,3,3,2, + 0,0,128,0,128,1,4,4,2,0,255,128,0,128,128,2, + 3,3,3,0,0,64,128,64,3,3,3,4,0,0,224,0, + 224,2,3,3,3,0,0,128,64,128,3,5,5,4,0,0, + 64,160,32,64,64,5,6,6,6,0,0,112,136,168,184,128, + 120,3,5,5,4,0,0,64,160,224,160,160,3,5,5,4, + 0,0,192,160,192,160,192,3,5,5,4,0,0,64,160,128, + 160,64,3,5,5,4,0,0,192,160,160,160,192,3,5,5, + 4,0,0,224,128,192,128,224,3,5,5,4,0,0,224,128, + 192,128,128,3,5,5,4,0,0,64,160,128,160,96,3,5, + 5,4,0,0,160,160,224,160,160,3,5,5,4,0,0,224, + 64,64,64,224,3,5,5,4,0,0,32,32,32,160,64,3, + 5,5,4,0,0,160,160,192,160,160,3,5,5,4,0,0, + 128,128,128,128,224,3,5,5,4,0,0,160,224,224,160,160, + 3,5,5,4,0,0,160,224,224,224,160,3,5,5,4,0, + 0,64,160,160,160,64,3,5,5,4,0,0,192,160,192,128, + 128,3,5,5,4,0,0,64,160,160,224,96,3,5,5,4, + 0,0,192,160,192,160,160,3,5,5,4,0,0,96,128,64, + 32,224,3,5,5,4,0,0,224,64,64,64,64,3,5,5, + 4,0,0,160,160,160,160,64,3,5,5,4,0,0,160,160, + 160,64,64,3,5,5,4,0,0,160,160,224,224,160,3,5, + 5,4,0,0,160,160,64,160,160,3,5,5,4,0,0,160, + 160,64,64,64,3,5,5,4,0,0,224,32,64,128,224,2, + 7,7,3,0,255,192,128,128,128,128,128,192,3,6,6,4, + 0,0,128,128,64,64,32,32,2,7,7,3,0,255,192,64, + 64,64,64,64,192,3,2,2,4,0,3,64,160,3,1,1, + 4,0,0,224,1,2,2,2,0,4,128,128,3,3,3,4, + 0,0,96,160,96,3,5,5,4,0,0,128,128,192,160,192, + 3,3,3,4,0,0,96,128,96,3,5,5,4,0,0,32, + 32,96,160,96,3,3,3,4,0,0,96,224,96,2,5,5, + 3,0,0,64,128,192,128,128,3,5,5,4,0,254,96,160, + 96,160,64,3,5,5,4,0,0,128,128,192,160,160,1,5, + 5,2,0,0,128,0,128,128,128,3,7,7,3,255,254,32, + 0,32,32,32,160,64,3,6,6,4,0,0,128,128,128,160, + 192,160,1,6,6,2,0,0,128,128,128,128,128,128,5,3, + 3,6,0,0,208,168,168,3,3,3,4,0,0,192,160,160, + 3,3,3,4,0,0,64,160,64,3,5,5,4,0,254,192, + 160,192,128,128,3,5,5,4,0,254,96,160,96,32,32,3, + 3,3,4,0,0,192,160,128,3,3,3,4,0,0,96,64, + 192,3,5,5,4,0,0,64,64,224,64,64,3,3,3,4, + 0,0,160,160,64,3,3,3,4,0,0,160,64,64,5,3, + 3,6,0,0,168,168,208,3,3,3,4,0,0,160,64,160, + 3,5,5,4,0,254,160,160,96,160,64,3,3,3,4,0, + 0,224,64,224,3,7,7,4,0,255,32,64,64,128,64,64, + 32,1,7,7,2,0,255,128,128,128,128,128,128,128,3,7, + 7,4,0,255,128,64,64,32,64,64,128,4,2,2,5,0, + 1,80,160,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,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,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,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,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}; +/* + Fontname: -FreeType-Pixelle (Micro)-Medium-R-Normal--8-80-72-72-P-32-ISO10646-1 + Copyright: Copyright rdonaghy 2008 + Capital A Height: 0, '1' Height: 5 + Calculated Max Values w= 3 h= 6 x= 0 y= 1 dx= 4 dy= 0 ascent= 6 len= 6 + Font Bounding box w= 6 h= 8 x=-1 y=-2 + Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 + Pure Font ascent = 5 descent= 0 + X Font ascent = 5 descent= 0 + Max Font ascent = 6 descent=-1 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_pixelle_micron[189] U8G_FONT_SECTION("u8g_font_pixelle_micron") = { + 0,6,8,255,254,5,0,0,0,0,42,58,0,6,255,5, + 0,3,4,4,4,0,0,64,224,64,160,3,3,3,4,0, + 0,64,224,64,1,2,2,2,0,255,128,128,3,1,1,4, + 0,1,224,1,1,1,2,0,0,128,3,6,6,4,0,0, + 32,32,64,64,128,128,3,5,5,4,0,0,64,160,224,160, + 64,3,5,5,4,0,0,192,64,64,64,224,3,5,5,4, + 0,0,64,160,32,64,224,3,5,5,4,0,0,192,32,64, + 32,192,3,5,5,4,0,0,160,160,224,32,32,3,5,5, + 4,0,0,224,128,224,32,192,3,5,5,4,0,0,64,160, + 192,160,64,3,5,5,4,0,0,224,32,64,64,128,3,5, + 5,4,0,0,64,160,64,160,64,3,5,5,4,0,0,64, + 160,96,160,64,1,3,3,2,0,0,128,0,128}; +/* + Fontname: -FreeType-Pixelle (Micro)-Medium-R-Normal--8-80-72-72-P-32-ISO10646-1 + Copyright: Copyright rdonaghy 2008 + Capital A Height: 5, '1' Height: 5 + Calculated Max Values w= 5 h= 7 x= 0 y= 4 dx= 6 dy= 0 ascent= 6 len= 7 + Font Bounding box w= 6 h= 8 x=-1 y=-2 + Calculated Min Values x=-1 y=-2 dx= 0 dy= 0 + Pure Font ascent = 5 descent=-2 + X Font ascent = 6 descent=-2 + Max Font ascent = 6 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_pixelle_micror[1012] U8G_FONT_SECTION("u8g_font_pixelle_micror") = { + 0,6,8,255,254,5,1,97,2,188,32,127,254,6,254,6, + 254,0,0,0,1,0,0,1,5,5,2,0,0,128,128,128, + 0,128,3,2,2,4,0,3,160,160,5,5,5,6,0,0, + 80,248,80,248,80,3,7,7,4,0,255,64,224,128,224,32, + 224,64,4,4,4,5,0,0,144,32,64,144,4,5,5,5, + 0,0,96,64,208,160,208,1,2,2,2,0,3,128,128,2, + 7,7,3,0,255,64,128,128,128,128,128,64,2,7,7,3, + 0,255,128,64,64,64,64,64,128,3,4,4,4,0,0,64, + 224,64,160,3,3,3,4,0,0,64,224,64,1,2,2,2, + 0,255,128,128,3,1,1,4,0,1,224,1,1,1,2,0, + 0,128,3,6,6,4,0,0,32,32,64,64,128,128,3,5, + 5,4,0,0,64,160,224,160,64,3,5,5,4,0,0,192, + 64,64,64,224,3,5,5,4,0,0,64,160,32,64,224,3, + 5,5,4,0,0,192,32,64,32,192,3,5,5,4,0,0, + 160,160,224,32,32,3,5,5,4,0,0,224,128,224,32,192, + 3,5,5,4,0,0,64,160,192,160,64,3,5,5,4,0, + 0,224,32,64,64,128,3,5,5,4,0,0,64,160,64,160, + 64,3,5,5,4,0,0,64,160,96,160,64,1,3,3,2, + 0,0,128,0,128,1,4,4,2,0,255,128,0,128,128,2, + 3,3,3,0,0,64,128,64,3,3,3,4,0,0,224,0, + 224,2,3,3,3,0,0,128,64,128,3,5,5,4,0,0, + 64,160,32,64,64,5,6,6,6,0,0,112,136,168,184,128, + 120,3,5,5,4,0,0,64,160,224,160,160,3,5,5,4, + 0,0,192,160,192,160,192,3,5,5,4,0,0,64,160,128, + 160,64,3,5,5,4,0,0,192,160,160,160,192,3,5,5, + 4,0,0,224,128,192,128,224,3,5,5,4,0,0,224,128, + 192,128,128,3,5,5,4,0,0,64,160,128,160,96,3,5, + 5,4,0,0,160,160,224,160,160,3,5,5,4,0,0,224, + 64,64,64,224,3,5,5,4,0,0,32,32,32,160,64,3, + 5,5,4,0,0,160,160,192,160,160,3,5,5,4,0,0, + 128,128,128,128,224,3,5,5,4,0,0,160,224,224,160,160, + 3,5,5,4,0,0,160,224,224,224,160,3,5,5,4,0, + 0,64,160,160,160,64,3,5,5,4,0,0,192,160,192,128, + 128,3,5,5,4,0,0,64,160,160,224,96,3,5,5,4, + 0,0,192,160,192,160,160,3,5,5,4,0,0,96,128,64, + 32,224,3,5,5,4,0,0,224,64,64,64,64,3,5,5, + 4,0,0,160,160,160,160,64,3,5,5,4,0,0,160,160, + 160,64,64,3,5,5,4,0,0,160,160,224,224,160,3,5, + 5,4,0,0,160,160,64,160,160,3,5,5,4,0,0,160, + 160,64,64,64,3,5,5,4,0,0,224,32,64,128,224,2, + 7,7,3,0,255,192,128,128,128,128,128,192,3,6,6,4, + 0,0,128,128,64,64,32,32,2,7,7,3,0,255,192,64, + 64,64,64,64,192,3,2,2,4,0,3,64,160,3,1,1, + 4,0,0,224,1,2,2,2,0,4,128,128,3,3,3,4, + 0,0,96,160,96,3,5,5,4,0,0,128,128,192,160,192, + 3,3,3,4,0,0,96,128,96,3,5,5,4,0,0,32, + 32,96,160,96,3,3,3,4,0,0,96,224,96,2,5,5, + 3,0,0,64,128,192,128,128,3,5,5,4,0,254,96,160, + 96,160,64,3,5,5,4,0,0,128,128,192,160,160,1,5, + 5,2,0,0,128,0,128,128,128,3,7,7,3,255,254,32, + 0,32,32,32,160,64,3,6,6,4,0,0,128,128,128,160, + 192,160,1,6,6,2,0,0,128,128,128,128,128,128,5,3, + 3,6,0,0,208,168,168,3,3,3,4,0,0,192,160,160, + 3,3,3,4,0,0,64,160,64,3,5,5,4,0,254,192, + 160,192,128,128,3,5,5,4,0,254,96,160,96,32,32,3, + 3,3,4,0,0,192,160,128,3,3,3,4,0,0,96,64, + 192,3,5,5,4,0,0,64,64,224,64,64,3,3,3,4, + 0,0,160,160,64,3,3,3,4,0,0,160,64,64,5,3, + 3,6,0,0,168,168,208,3,3,3,4,0,0,160,64,160, + 3,5,5,4,0,254,160,160,96,160,64,3,3,3,4,0, + 0,224,64,224,3,7,7,4,0,255,32,64,64,128,64,64, + 32,1,7,7,2,0,255,128,128,128,128,128,128,128,3,7, + 7,4,0,255,128,64,64,32,64,64,128,4,2,2,5,0, + 1,80,160,255}; +/* + Fontname: ProFont10 + Copyright: ProFont Distribution 2.2 Ñ Generated by Fontographer 4.1.5 + Capital A Height: 6, '1' Height: 6 + Calculated Max Values w= 5 h= 9 x= 2 y= 5 dx= 5 dy= 0 ascent= 8 len= 9 + Font Bounding box w= 5 h= 9 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent = 6 descent=-2 + X Font ascent = 7 descent=-2 + Max Font ascent = 8 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_profont10[2560] U8G_FONT_SECTION("u8g_font_profont10") = { + 0,5,9,0,254,6,1,126,2,248,32,255,254,8,254,7, + 254,0,0,0,5,0,0,1,6,6,5,2,0,128,128,128, + 128,0,128,3,2,2,5,1,5,160,160,5,5,5,5,0, + 1,80,248,80,248,80,5,8,8,5,0,255,32,120,160,112, + 40,168,112,32,5,6,6,5,0,0,120,168,176,104,168,144, + 4,6,6,5,0,0,64,160,64,80,160,80,1,2,2,5, + 2,4,128,128,3,8,8,5,1,255,32,64,128,128,128,128, + 64,32,3,8,8,5,0,255,128,64,32,32,32,32,64,128, + 4,5,5,5,0,1,64,144,96,144,32,3,3,3,5,0, + 1,64,224,64,2,3,3,5,0,254,64,64,128,2,1,1, + 5,1,2,192,1,1,1,5,2,0,128,4,8,8,5,0, + 254,16,16,32,32,64,64,128,128,4,6,6,5,0,0,96, + 144,176,208,144,96,3,6,6,5,1,0,64,192,64,64,64, + 224,4,6,6,5,0,0,96,144,16,32,64,240,4,6,6, + 5,0,0,96,144,32,16,144,96,4,6,6,5,0,0,32, + 96,160,240,32,112,4,6,6,5,0,0,240,128,224,16,144, + 96,4,6,6,5,0,0,96,128,224,144,144,96,4,6,6, + 5,0,0,240,16,32,64,64,64,4,6,6,5,0,0,96, + 144,96,144,144,96,4,6,6,5,0,0,96,144,144,112,16, + 96,1,4,4,5,2,0,128,0,0,128,2,6,6,5,0, + 254,64,0,0,64,64,128,3,5,5,5,1,0,32,64,128, + 64,32,4,3,3,5,0,1,240,0,240,3,5,5,5,1, + 0,128,64,32,64,128,4,6,6,5,0,0,96,144,32,64, + 0,64,4,6,6,5,0,0,96,144,176,176,128,112,4,6, + 6,5,0,0,96,144,144,240,144,144,4,6,6,5,0,0, + 224,144,224,144,144,224,4,6,6,5,0,0,96,144,128,128, + 144,96,4,6,6,5,0,0,224,144,144,144,144,224,4,6, + 6,5,0,0,240,128,224,128,128,240,4,6,6,5,0,0, + 240,128,224,128,128,128,4,6,6,5,0,0,96,144,128,176, + 144,96,4,6,6,5,0,0,144,144,240,144,144,144,3,6, + 6,5,1,0,224,64,64,64,64,224,4,6,6,5,0,0, + 16,16,16,16,144,96,4,6,6,5,0,0,144,160,192,192, + 160,144,4,6,6,5,0,0,128,128,128,128,128,240,4,6, + 6,5,0,0,144,240,240,144,144,144,4,6,6,5,0,0, + 144,208,176,144,144,144,4,6,6,5,0,0,96,144,144,144, + 144,96,4,6,6,5,0,0,224,144,144,224,128,128,4,7, + 7,5,0,255,96,144,144,144,176,96,16,4,6,6,5,0, + 0,224,144,144,224,144,144,4,6,6,5,0,0,96,144,96, + 16,144,96,3,6,6,5,1,0,224,64,64,64,64,64,4, + 6,6,5,0,0,144,144,144,144,144,96,4,6,6,5,0, + 0,144,144,144,144,160,64,4,6,6,5,0,0,144,144,144, + 240,240,144,4,6,6,5,0,0,144,144,96,96,144,144,4, + 6,6,5,0,0,144,144,160,64,64,64,4,6,6,5,0, + 0,240,16,32,64,128,240,2,8,8,5,2,255,192,128,128, + 128,128,128,128,192,4,8,8,5,1,254,128,128,64,64,32, + 32,16,16,2,8,8,5,1,255,192,64,64,64,64,64,64, + 192,3,2,2,5,1,4,64,160,5,1,1,5,0,254,248, + 2,2,2,5,1,5,128,64,4,4,4,5,0,0,112,144, + 176,80,4,6,6,5,0,0,128,128,224,144,144,224,4,4, + 4,5,0,0,96,144,128,112,4,6,6,5,0,0,16,16, + 112,144,144,112,4,4,4,5,0,0,96,240,128,112,3,6, + 6,5,1,0,32,64,224,64,64,64,4,6,6,5,0,254, + 112,144,144,112,16,96,4,6,6,5,0,0,128,128,224,144, + 144,144,3,6,6,5,1,0,64,0,192,64,64,224,2,8, + 8,5,1,254,64,0,192,64,64,64,64,128,4,6,6,5, + 0,0,128,128,160,192,160,144,3,6,6,5,1,0,192,64, + 64,64,64,224,5,4,4,5,0,0,240,168,168,168,4,4, + 4,5,0,0,160,208,144,144,4,4,4,5,0,0,96,144, + 144,96,4,6,6,5,0,254,224,144,144,224,128,128,4,6, + 6,5,0,254,112,144,144,112,16,16,4,4,4,5,0,0, + 160,208,128,128,4,4,4,5,0,0,112,224,16,224,3,6, + 6,5,1,0,64,64,224,64,64,32,4,4,4,5,0,0, + 144,144,176,80,4,4,4,5,0,0,144,144,160,64,5,4, + 4,5,0,0,168,168,168,80,4,4,4,5,0,0,144,96, + 96,144,4,6,6,5,0,254,144,144,144,112,16,96,4,4, + 4,5,0,0,240,32,64,240,3,9,9,5,1,254,32,64, + 64,64,128,64,64,64,32,1,8,8,5,2,255,128,128,128, + 128,128,128,128,128,3,9,9,5,1,254,128,64,64,64,32, + 64,64,64,128,4,2,2,5,0,2,80,160,0,0,0,5, + 0,0,0,0,0,5,0,0,0,0,0,5,0,0,2,3, + 3,5,0,255,64,64,128,3,9,9,5,1,254,32,64,64, + 224,64,64,64,64,128,4,3,3,5,0,255,80,80,160,5, + 1,1,5,0,0,168,3,5,5,5,1,1,64,224,64,64, + 64,3,5,5,5,1,1,64,224,64,224,64,3,2,2,5, + 1,5,64,160,5,6,6,5,0,0,120,208,224,112,248,112, + 4,8,8,5,0,0,80,32,112,128,96,16,144,96,2,3, + 3,5,0,0,64,128,64,4,6,6,5,0,0,112,160,176, + 160,160,112,0,0,0,5,0,0,0,0,0,5,0,0,0, + 0,0,5,0,0,0,0,0,5,0,0,2,3,3,5,2, + 3,64,128,128,2,3,3,5,1,3,64,64,128,4,3,3, + 5,0,3,80,160,160,4,3,3,5,0,3,80,80,160,4, + 4,4,5,0,1,96,240,240,96,2,1,1,5,1,2,192, + 5,1,1,5,0,2,248,4,2,2,5,0,5,80,160,5, + 3,3,5,0,3,248,88,88,4,7,7,5,0,0,80,32, + 0,112,224,16,224,2,3,3,5,0,0,128,64,128,4,4, + 4,5,0,0,112,176,160,80,0,0,0,5,0,0,0,0, + 0,5,0,0,4,8,8,5,0,0,80,0,144,144,160,64, + 64,64,0,0,0,5,0,0,1,6,6,5,2,0,128,0, + 128,128,128,128,4,6,6,5,0,255,32,96,176,192,112,64, + 4,6,6,5,0,0,96,128,192,128,144,224,4,4,4,5, + 0,0,144,96,96,144,3,6,6,5,1,0,160,64,224,64, + 224,64,1,8,8,5,2,255,128,128,128,0,0,128,128,128, + 4,8,8,5,0,255,96,144,64,160,80,32,144,96,2,1, + 1,5,1,5,192,4,6,6,5,0,0,192,32,208,208,32, + 192,3,5,5,5,1,2,96,160,96,0,224,5,3,3,5, + 0,0,72,144,72,4,2,2,5,0,1,240,16,3,1,1, + 5,0,2,224,4,5,5,5,0,1,192,32,208,208,176,2, + 1,1,5,1,5,192,3,3,3,5,1,3,64,160,64,3, + 4,4,5,0,0,64,224,64,224,2,3,3,5,1,4,128, + 64,192,2,3,3,5,1,4,192,64,192,2,1,1,5,2, + 5,192,4,5,5,5,0,255,160,160,160,208,128,4,6,6, + 5,0,0,112,176,176,112,48,48,1,1,1,5,2,2,128, + 2,2,2,5,1,254,192,192,2,3,3,5,1,4,192,64, + 64,3,5,5,5,1,2,64,160,64,0,224,5,3,3,5, + 0,0,144,72,144,5,7,7,5,0,0,192,72,80,32,72, + 152,8,5,7,7,5,0,0,192,72,80,32,80,136,24,5, + 7,7,5,0,0,192,72,208,32,72,152,8,4,6,6,5, + 0,0,32,0,32,64,144,96,4,8,8,5,0,0,64,32, + 96,144,144,240,144,144,4,8,8,5,0,0,32,64,96,144, + 144,240,144,144,4,8,8,5,0,0,32,80,0,96,144,240, + 144,144,4,8,8,5,0,0,80,160,0,96,144,240,144,144, + 4,8,8,5,0,0,80,0,96,144,144,240,144,144,4,8, + 8,5,0,0,32,80,32,96,144,240,144,144,4,6,6,5, + 0,0,112,160,240,160,160,176,4,8,8,5,0,254,96,144, + 128,128,144,96,32,64,4,8,8,5,0,0,64,32,240,128, + 224,128,128,240,4,8,8,5,0,0,32,64,240,128,224,128, + 128,240,4,8,8,5,0,0,32,80,240,128,224,128,128,240, + 4,8,8,5,0,0,80,0,240,128,224,128,128,240,3,8, + 8,5,1,0,128,64,224,64,64,64,64,224,3,8,8,5, + 1,0,32,64,224,64,64,64,64,224,3,8,8,5,1,0, + 64,160,0,224,64,64,64,224,3,8,8,5,1,0,160,0, + 224,64,64,64,64,224,4,6,6,5,0,0,96,80,208,80, + 80,96,4,8,8,5,0,0,80,160,144,208,176,144,144,144, + 4,8,8,5,0,0,64,32,96,144,144,144,144,96,4,8, + 8,5,0,0,32,64,96,144,144,144,144,96,4,8,8,5, + 0,0,32,80,0,96,144,144,144,96,4,8,8,5,0,0, + 80,160,0,96,144,144,144,96,4,8,8,5,0,0,80,0, + 96,144,144,144,144,96,3,3,3,5,0,1,160,64,160,4, + 6,6,5,0,0,96,144,176,208,144,96,4,8,8,5,0, + 0,64,32,144,144,144,144,144,96,4,8,8,5,0,0,32, + 64,144,144,144,144,144,96,4,8,8,5,0,0,32,80,0, + 144,144,144,144,96,4,8,8,5,0,0,80,0,144,144,144, + 144,144,96,4,8,8,5,0,0,32,64,0,144,144,160,64, + 64,4,6,6,5,0,0,128,224,144,224,128,128,4,7,7, + 5,0,255,96,144,160,160,144,160,128,4,7,7,5,0,0, + 64,32,0,112,144,176,80,4,7,7,5,0,0,32,64,0, + 112,144,176,80,4,7,7,5,0,0,32,80,0,112,144,176, + 80,4,7,7,5,0,0,80,160,0,112,144,176,80,4,6, + 6,5,0,0,80,0,112,144,176,80,4,7,7,5,0,0, + 32,80,32,112,144,176,80,4,4,4,5,0,0,112,176,160, + 112,4,6,6,5,0,254,96,144,128,112,32,64,4,7,7, + 5,0,0,64,32,0,96,240,128,112,4,7,7,5,0,0, + 32,64,0,96,240,128,112,4,7,7,5,0,0,32,80,0, + 96,240,128,112,4,6,6,5,0,0,80,0,96,240,128,112, + 3,7,7,5,1,0,128,64,0,192,64,64,224,3,7,7, + 5,1,0,64,128,0,192,64,64,224,3,7,7,5,1,0, + 64,160,0,192,64,64,224,3,6,6,5,1,0,160,0,192, + 64,64,224,4,7,7,5,0,0,192,192,32,112,144,144,96, + 4,7,7,5,0,0,80,160,0,160,208,144,144,4,7,7, + 5,0,0,64,32,0,96,144,144,96,4,7,7,5,0,0, + 32,64,0,96,144,144,96,4,7,7,5,0,0,32,80,0, + 96,144,144,96,4,7,7,5,0,0,80,160,0,96,144,144, + 96,4,6,6,5,0,0,80,0,96,144,144,96,3,5,5, + 5,0,0,64,0,224,0,64,4,4,4,5,0,0,96,176, + 208,96,4,7,7,5,0,0,64,32,0,144,144,176,80,4, + 7,7,5,0,0,32,64,0,144,144,176,80,4,7,7,5, + 0,0,32,80,0,144,144,176,80,4,6,6,5,0,0,80, + 0,144,144,176,80,4,9,9,5,0,254,16,32,0,144,144, + 144,112,16,96,4,8,8,5,0,254,128,128,224,144,144,224, + 128,128,4,8,8,5,0,254,80,0,144,144,144,112,16,96 + }; +/* + Fontname: ProFont10 + Copyright: ProFont Distribution 2.2 Ñ Generated by Fontographer 4.1.5 + Capital A Height: 6, '1' Height: 6 + Calculated Max Values w= 5 h= 9 x= 2 y= 5 dx= 5 dy= 0 ascent= 7 len= 9 + Font Bounding box w= 5 h= 9 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent = 6 descent=-2 + X Font ascent = 7 descent=-2 + Max Font ascent = 7 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_profont10r[1106] U8G_FONT_SECTION("u8g_font_profont10r") = { + 0,5,9,0,254,6,1,126,2,248,32,127,254,7,254,7, + 254,0,0,0,5,0,0,1,6,6,5,2,0,128,128,128, + 128,0,128,3,2,2,5,1,5,160,160,5,5,5,5,0, + 1,80,248,80,248,80,5,8,8,5,0,255,32,120,160,112, + 40,168,112,32,5,6,6,5,0,0,120,168,176,104,168,144, + 4,6,6,5,0,0,64,160,64,80,160,80,1,2,2,5, + 2,4,128,128,3,8,8,5,1,255,32,64,128,128,128,128, + 64,32,3,8,8,5,0,255,128,64,32,32,32,32,64,128, + 4,5,5,5,0,1,64,144,96,144,32,3,3,3,5,0, + 1,64,224,64,2,3,3,5,0,254,64,64,128,2,1,1, + 5,1,2,192,1,1,1,5,2,0,128,4,8,8,5,0, + 254,16,16,32,32,64,64,128,128,4,6,6,5,0,0,96, + 144,176,208,144,96,3,6,6,5,1,0,64,192,64,64,64, + 224,4,6,6,5,0,0,96,144,16,32,64,240,4,6,6, + 5,0,0,96,144,32,16,144,96,4,6,6,5,0,0,32, + 96,160,240,32,112,4,6,6,5,0,0,240,128,224,16,144, + 96,4,6,6,5,0,0,96,128,224,144,144,96,4,6,6, + 5,0,0,240,16,32,64,64,64,4,6,6,5,0,0,96, + 144,96,144,144,96,4,6,6,5,0,0,96,144,144,112,16, + 96,1,4,4,5,2,0,128,0,0,128,2,6,6,5,0, + 254,64,0,0,64,64,128,3,5,5,5,1,0,32,64,128, + 64,32,4,3,3,5,0,1,240,0,240,3,5,5,5,1, + 0,128,64,32,64,128,4,6,6,5,0,0,96,144,32,64, + 0,64,4,6,6,5,0,0,96,144,176,176,128,112,4,6, + 6,5,0,0,96,144,144,240,144,144,4,6,6,5,0,0, + 224,144,224,144,144,224,4,6,6,5,0,0,96,144,128,128, + 144,96,4,6,6,5,0,0,224,144,144,144,144,224,4,6, + 6,5,0,0,240,128,224,128,128,240,4,6,6,5,0,0, + 240,128,224,128,128,128,4,6,6,5,0,0,96,144,128,176, + 144,96,4,6,6,5,0,0,144,144,240,144,144,144,3,6, + 6,5,1,0,224,64,64,64,64,224,4,6,6,5,0,0, + 16,16,16,16,144,96,4,6,6,5,0,0,144,160,192,192, + 160,144,4,6,6,5,0,0,128,128,128,128,128,240,4,6, + 6,5,0,0,144,240,240,144,144,144,4,6,6,5,0,0, + 144,208,176,144,144,144,4,6,6,5,0,0,96,144,144,144, + 144,96,4,6,6,5,0,0,224,144,144,224,128,128,4,7, + 7,5,0,255,96,144,144,144,176,96,16,4,6,6,5,0, + 0,224,144,144,224,144,144,4,6,6,5,0,0,96,144,96, + 16,144,96,3,6,6,5,1,0,224,64,64,64,64,64,4, + 6,6,5,0,0,144,144,144,144,144,96,4,6,6,5,0, + 0,144,144,144,144,160,64,4,6,6,5,0,0,144,144,144, + 240,240,144,4,6,6,5,0,0,144,144,96,96,144,144,4, + 6,6,5,0,0,144,144,160,64,64,64,4,6,6,5,0, + 0,240,16,32,64,128,240,2,8,8,5,2,255,192,128,128, + 128,128,128,128,192,4,8,8,5,1,254,128,128,64,64,32, + 32,16,16,2,8,8,5,1,255,192,64,64,64,64,64,64, + 192,3,2,2,5,1,4,64,160,5,1,1,5,0,254,248, + 2,2,2,5,1,5,128,64,4,4,4,5,0,0,112,144, + 176,80,4,6,6,5,0,0,128,128,224,144,144,224,4,4, + 4,5,0,0,96,144,128,112,4,6,6,5,0,0,16,16, + 112,144,144,112,4,4,4,5,0,0,96,240,128,112,3,6, + 6,5,1,0,32,64,224,64,64,64,4,6,6,5,0,254, + 112,144,144,112,16,96,4,6,6,5,0,0,128,128,224,144, + 144,144,3,6,6,5,1,0,64,0,192,64,64,224,2,8, + 8,5,1,254,64,0,192,64,64,64,64,128,4,6,6,5, + 0,0,128,128,160,192,160,144,3,6,6,5,1,0,192,64, + 64,64,64,224,5,4,4,5,0,0,240,168,168,168,4,4, + 4,5,0,0,160,208,144,144,4,4,4,5,0,0,96,144, + 144,96,4,6,6,5,0,254,224,144,144,224,128,128,4,6, + 6,5,0,254,112,144,144,112,16,16,4,4,4,5,0,0, + 160,208,128,128,4,4,4,5,0,0,112,224,16,224,3,6, + 6,5,1,0,64,64,224,64,64,32,4,4,4,5,0,0, + 144,144,176,80,4,4,4,5,0,0,144,144,160,64,5,4, + 4,5,0,0,168,168,168,80,4,4,4,5,0,0,144,96, + 96,144,4,6,6,5,0,254,144,144,144,112,16,96,4,4, + 4,5,0,0,240,32,64,240,3,9,9,5,1,254,32,64, + 64,64,128,64,64,64,32,1,8,8,5,2,255,128,128,128, + 128,128,128,128,128,3,9,9,5,1,254,128,64,64,64,32, + 64,64,64,128,4,2,2,5,0,2,80,160,0,0,0,5, + 0,0}; +/* + Fontname: ProFont11 + Copyright: ProFont Distribution 2.2 Ñ Generated by Fontographer 4.1.5 + Capital A Height: 7, '1' Height: 7 + Calculated Max Values w= 6 h=11 x= 3 y= 6 dx= 6 dy= 0 ascent= 9 len=11 + Font Bounding box w= 6 h=10 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent = 7 descent=-2 + X Font ascent = 8 descent=-2 + Max Font ascent = 9 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_profont11[2768] U8G_FONT_SECTION("u8g_font_profont11") = { + 0,6,10,0,254,7,1,158,3,55,32,255,254,9,254,8, + 254,0,0,0,6,0,0,1,7,7,6,2,0,128,128,128, + 128,128,0,128,3,3,3,6,1,5,160,160,160,5,5,5, + 6,0,2,80,248,80,248,80,5,9,9,6,0,255,32,112, + 168,160,112,40,168,112,32,5,7,7,6,0,0,120,168,176, + 80,104,168,144,5,7,7,6,0,0,96,144,160,64,168,144, + 104,1,3,3,6,2,5,128,128,128,3,9,9,6,1,255, + 32,64,128,128,128,128,128,64,32,3,9,9,6,1,255,128, + 64,32,32,32,32,32,64,128,5,5,5,6,0,2,32,168, + 112,168,32,5,5,5,6,0,1,32,32,248,32,32,2,4, + 4,6,1,254,192,192,64,128,3,1,1,6,1,3,224,2, + 2,2,6,2,0,192,192,5,10,10,6,0,254,8,8,16, + 16,32,32,64,64,128,128,5,7,7,6,0,0,112,136,152, + 168,200,136,112,5,7,7,6,0,0,32,224,32,32,32,32, + 248,5,7,7,6,0,0,112,136,8,16,32,64,248,5,7, + 7,6,0,0,112,136,8,48,8,136,112,5,7,7,6,0, + 0,16,48,80,144,248,16,56,5,7,7,6,0,0,248,128, + 240,8,8,136,112,5,7,7,6,0,0,112,128,240,136,136, + 136,112,5,7,7,6,0,0,248,8,8,16,32,32,32,5, + 7,7,6,0,0,112,136,136,112,136,136,112,5,7,7,6, + 0,0,112,136,136,136,120,8,112,2,5,5,6,2,0,192, + 192,0,192,192,2,7,7,6,1,254,192,192,0,192,192,64, + 128,4,7,7,6,1,0,16,32,64,128,64,32,16,5,3, + 3,6,0,2,248,0,248,4,7,7,6,1,0,128,64,32, + 16,32,64,128,5,7,7,6,0,0,112,136,8,16,32,0, + 32,5,7,7,6,0,0,112,136,184,168,184,128,120,5,7, + 7,6,0,0,32,80,80,136,248,136,136,5,7,7,6,0, + 0,240,136,136,240,136,136,240,5,7,7,6,0,0,112,136, + 128,128,128,136,112,5,7,7,6,0,0,240,136,136,136,136, + 136,240,5,7,7,6,0,0,248,128,128,240,128,128,248,5, + 7,7,6,0,0,248,128,128,240,128,128,128,5,7,7,6, + 0,0,112,136,128,152,136,136,112,5,7,7,6,0,0,136, + 136,136,248,136,136,136,5,7,7,6,0,0,248,32,32,32, + 32,32,248,5,7,7,6,0,0,8,8,8,8,136,136,112, + 5,7,7,6,0,0,136,144,160,192,160,144,136,5,7,7, + 6,0,0,128,128,128,128,128,128,248,5,7,7,6,0,0, + 136,216,168,168,136,136,136,5,7,7,6,0,0,136,200,168, + 152,136,136,136,5,7,7,6,0,0,112,136,136,136,136,136, + 112,5,7,7,6,0,0,240,136,136,240,128,128,128,5,8, + 8,6,0,255,112,136,136,136,136,168,112,8,5,7,7,6, + 0,0,240,136,136,240,136,136,136,5,7,7,6,0,0,112, + 136,128,112,8,136,112,5,7,7,6,0,0,248,32,32,32, + 32,32,32,5,7,7,6,0,0,136,136,136,136,136,136,112, + 5,7,7,6,0,0,136,136,136,80,80,32,32,5,7,7, + 6,0,0,136,136,136,168,168,216,136,5,7,7,6,0,0, + 136,136,80,32,80,136,136,5,7,7,6,0,0,136,136,136, + 80,32,32,32,5,7,7,6,0,0,248,8,16,32,64,128, + 248,2,9,9,6,2,255,192,128,128,128,128,128,128,128,192, + 5,10,10,6,1,254,128,128,64,64,32,32,16,16,8,8, + 2,9,9,6,1,255,192,64,64,64,64,64,64,64,192,5, + 3,3,6,0,4,32,80,136,6,1,1,6,0,254,252,2, + 2,2,6,1,6,128,64,5,5,5,6,0,0,120,136,136, + 152,104,5,7,7,6,0,0,128,128,240,136,136,136,240,5, + 5,5,6,0,0,112,136,128,128,120,5,7,7,6,0,0, + 8,8,120,136,136,136,120,5,5,5,6,0,0,112,136,248, + 128,120,4,7,7,6,1,0,48,64,224,64,64,64,64,5, + 7,7,6,0,254,120,136,136,136,120,8,112,5,7,7,6, + 0,0,128,128,240,136,136,136,136,3,7,7,6,1,0,64, + 0,192,64,64,64,224,3,9,9,6,0,254,32,0,96,32, + 32,32,32,32,192,5,7,7,6,0,0,128,128,144,160,224, + 144,136,3,7,7,6,1,0,192,64,64,64,64,64,224,5, + 5,5,6,0,0,240,168,168,168,168,5,5,5,6,0,0, + 176,200,136,136,136,5,5,5,6,0,0,112,136,136,136,112, + 5,7,7,6,0,254,240,136,136,136,240,128,128,5,7,7, + 6,0,254,120,136,136,136,120,8,8,5,5,5,6,0,0, + 176,200,128,128,128,5,5,5,6,0,0,120,128,112,8,240, + 4,7,7,6,1,0,64,64,224,64,64,64,48,5,5,5, + 6,0,0,136,136,136,152,104,5,5,5,6,0,0,136,136, + 80,80,32,5,5,5,6,0,0,168,168,168,168,80,5,5, + 5,6,0,0,136,80,32,80,136,5,7,7,6,0,254,136, + 136,136,136,120,8,112,5,5,5,6,0,0,248,16,32,64, + 248,3,11,11,6,1,254,32,64,64,64,64,128,64,64,64, + 64,32,1,9,9,6,2,255,128,128,128,128,128,128,128,128, + 128,3,11,11,6,1,254,128,64,64,64,64,32,64,64,64, + 64,128,5,2,2,6,0,3,104,176,0,0,0,6,0,0, + 0,0,0,6,0,0,0,0,0,6,0,0,2,3,3,6, + 0,255,64,64,128,5,11,11,6,0,254,24,32,32,32,112, + 32,32,32,32,32,192,4,3,3,6,0,255,80,80,160,5, + 1,1,6,0,0,168,3,5,5,6,1,2,64,224,64,64, + 64,3,5,5,6,1,2,64,224,64,224,64,3,2,2,6, + 1,6,64,160,6,8,8,6,0,0,124,168,176,96,104,212, + 84,40,5,9,9,6,0,0,80,32,112,136,128,112,8,136, + 112,2,4,4,6,0,0,64,128,128,64,5,7,7,6,0, + 0,120,160,160,176,160,160,120,0,0,0,6,0,0,0,0, + 0,6,0,0,0,0,0,6,0,0,0,0,0,6,0,0, + 2,3,3,6,2,4,64,128,128,2,3,3,6,2,4,64, + 64,128,4,3,3,6,1,4,80,160,160,4,3,3,6,1, + 4,80,80,160,5,5,5,6,0,1,112,248,248,248,112,3, + 1,1,6,1,3,224,6,1,1,6,0,3,252,5,2,2, + 6,0,6,104,176,6,3,3,6,0,4,244,92,92,5,8, + 8,6,0,0,80,32,0,120,128,112,8,240,2,4,4,6, + 0,0,128,64,64,128,5,5,5,6,0,0,80,168,184,160, + 88,0,0,0,6,0,0,0,0,0,6,0,0,5,9,9, + 6,0,0,80,0,136,136,136,80,32,32,32,0,0,0,6, + 0,0,1,7,7,6,3,0,128,0,128,128,128,128,128,5, + 7,7,6,0,255,32,112,168,160,160,120,32,5,8,8,6, + 0,0,96,144,128,224,128,128,136,240,5,5,5,6,0,0, + 136,112,80,112,136,5,7,7,6,0,0,136,80,248,32,248, + 32,32,1,9,9,6,2,255,128,128,128,128,0,128,128,128, + 128,5,10,10,6,0,255,112,136,72,160,144,72,40,144,136, + 112,3,1,1,6,1,6,160,5,7,7,6,0,0,224,16, + 104,136,104,16,224,4,6,6,6,1,3,112,144,144,112,0, + 240,5,4,4,6,0,0,72,144,144,72,5,3,3,6,0, + 1,248,8,8,5,1,1,6,0,3,248,5,6,6,6,0, + 1,224,16,200,168,200,176,3,1,1,6,1,6,224,4,4, + 4,6,1,4,96,144,144,96,5,6,6,6,0,0,32,32, + 248,32,32,248,3,4,4,6,1,5,192,32,64,224,3,5, + 5,6,1,4,192,32,96,32,192,3,2,2,6,2,6,96, + 192,5,7,7,6,0,254,144,144,144,144,232,128,128,5,8, + 8,6,0,0,120,168,168,168,120,40,40,40,2,2,2,6, + 2,2,192,192,3,3,3,6,1,254,224,96,192,3,4,4, + 6,1,5,192,64,64,224,4,6,6,6,1,3,96,144,144, + 96,0,240,5,4,4,6,0,0,144,72,72,144,6,9,9, + 6,0,0,192,64,68,232,16,40,88,184,8,6,9,9,6, + 0,0,192,64,68,232,16,56,68,136,28,6,9,9,6,0, + 0,192,32,100,40,208,40,88,184,8,5,7,7,6,0,0, + 32,0,32,64,128,136,112,5,9,9,6,0,0,64,32,32, + 80,80,136,248,136,136,5,9,9,6,0,0,16,32,32,80, + 80,136,248,136,136,5,9,9,6,0,0,32,80,0,32,80, + 136,248,136,136,5,9,9,6,0,0,104,176,32,80,80,136, + 248,136,136,5,9,9,6,0,0,80,0,32,80,80,136,248, + 136,136,5,9,9,6,0,0,32,80,32,80,136,136,248,136, + 136,5,7,7,6,0,0,120,160,160,240,160,160,184,5,9, + 9,6,0,254,112,136,128,128,128,136,112,32,64,5,9,9, + 6,0,0,64,32,248,128,128,240,128,128,248,5,9,9,6, + 0,0,16,32,248,128,128,240,128,128,248,5,9,9,6,0, + 0,32,80,248,128,128,240,128,128,248,5,9,9,6,0,0, + 80,0,248,128,128,240,128,128,248,5,9,9,6,0,0,64, + 32,248,32,32,32,32,32,248,5,9,9,6,0,0,16,32, + 248,32,32,32,32,32,248,5,9,9,6,0,0,32,80,0, + 248,32,32,32,32,248,5,9,9,6,0,0,80,0,248,32, + 32,32,32,32,248,5,7,7,6,0,0,112,72,72,232,72, + 72,112,5,9,9,6,0,0,104,176,136,200,168,152,136,136, + 136,5,9,9,6,0,0,64,32,112,136,136,136,136,136,112, + 5,9,9,6,0,0,16,32,112,136,136,136,136,136,112,5, + 9,9,6,0,0,32,80,0,112,136,136,136,136,112,5,9, + 9,6,0,0,104,176,112,136,136,136,136,136,112,5,9,9, + 6,0,0,80,0,112,136,136,136,136,136,112,5,5,5,6, + 0,1,136,80,32,80,136,5,7,7,6,0,0,112,136,152, + 168,200,136,112,5,9,9,6,0,0,64,32,136,136,136,136, + 136,136,112,5,9,9,6,0,0,16,32,136,136,136,136,136, + 136,112,5,9,9,6,0,0,32,80,0,136,136,136,136,136, + 112,5,9,9,6,0,0,80,0,136,136,136,136,136,136,112, + 5,9,9,6,0,0,16,32,136,136,136,80,32,32,32,5, + 7,7,6,0,0,128,240,136,136,240,128,128,5,9,9,6, + 0,255,48,72,136,144,144,136,136,176,128,5,8,8,6,0, + 0,32,16,0,120,136,136,152,104,5,8,8,6,0,0,16, + 32,0,120,136,136,152,104,5,8,8,6,0,0,32,80,0, + 120,136,136,152,104,5,8,8,6,0,0,104,176,0,120,136, + 136,152,104,5,7,7,6,0,0,80,0,120,136,136,152,104, + 5,8,8,6,0,0,32,80,32,120,136,136,152,104,5,5, + 5,6,0,0,112,168,184,160,120,5,7,7,6,0,254,112, + 136,128,128,120,32,64,5,8,8,6,0,0,64,32,0,112, + 136,248,128,120,5,8,8,6,0,0,16,32,0,112,136,248, + 128,120,5,8,8,6,0,0,32,80,0,112,136,248,128,120, + 5,7,7,6,0,0,80,0,112,136,248,128,120,3,8,8, + 6,1,0,128,64,0,192,64,64,64,224,3,8,8,6,1, + 0,32,64,0,192,64,64,64,224,3,8,8,6,1,0,64, + 160,0,192,64,64,64,224,3,7,7,6,1,0,160,0,192, + 64,64,64,224,5,8,8,6,0,0,96,96,16,120,136,136, + 136,112,5,8,8,6,0,0,104,176,0,176,200,136,136,136, + 5,8,8,6,0,0,64,32,0,112,136,136,136,112,5,8, + 8,6,0,0,16,32,0,112,136,136,136,112,5,8,8,6, + 0,0,32,80,0,112,136,136,136,112,5,8,8,6,0,0, + 104,176,0,112,136,136,136,112,5,7,7,6,0,0,80,0, + 112,136,136,136,112,5,5,5,6,0,1,32,0,248,0,32, + 5,5,5,6,0,0,112,152,168,200,112,5,8,8,6,0, + 0,64,32,0,136,136,136,152,104,5,8,8,6,0,0,16, + 32,0,136,136,136,152,104,5,8,8,6,0,0,32,80,0, + 136,136,136,152,104,5,7,7,6,0,0,80,0,136,136,136, + 152,104,5,10,10,6,0,254,16,32,0,136,136,136,136,120, + 8,112,5,9,9,6,0,254,128,128,240,136,136,136,240,128, + 128,5,9,9,6,0,254,80,0,136,136,136,136,120,8,112 + }; +/* + Fontname: ProFont11 + Copyright: ProFont Distribution 2.2 Ñ Generated by Fontographer 4.1.5 + Capital A Height: 7, '1' Height: 7 + Calculated Max Values w= 6 h=11 x= 2 y= 6 dx= 6 dy= 0 ascent= 9 len=11 + Font Bounding box w= 6 h=10 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent = 7 descent=-2 + X Font ascent = 8 descent=-2 + Max Font ascent = 9 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_profont11r[1200] U8G_FONT_SECTION("u8g_font_profont11r") = { + 0,6,10,0,254,7,1,158,3,55,32,127,254,9,254,8, + 254,0,0,0,6,0,0,1,7,7,6,2,0,128,128,128, + 128,128,0,128,3,3,3,6,1,5,160,160,160,5,5,5, + 6,0,2,80,248,80,248,80,5,9,9,6,0,255,32,112, + 168,160,112,40,168,112,32,5,7,7,6,0,0,120,168,176, + 80,104,168,144,5,7,7,6,0,0,96,144,160,64,168,144, + 104,1,3,3,6,2,5,128,128,128,3,9,9,6,1,255, + 32,64,128,128,128,128,128,64,32,3,9,9,6,1,255,128, + 64,32,32,32,32,32,64,128,5,5,5,6,0,2,32,168, + 112,168,32,5,5,5,6,0,1,32,32,248,32,32,2,4, + 4,6,1,254,192,192,64,128,3,1,1,6,1,3,224,2, + 2,2,6,2,0,192,192,5,10,10,6,0,254,8,8,16, + 16,32,32,64,64,128,128,5,7,7,6,0,0,112,136,152, + 168,200,136,112,5,7,7,6,0,0,32,224,32,32,32,32, + 248,5,7,7,6,0,0,112,136,8,16,32,64,248,5,7, + 7,6,0,0,112,136,8,48,8,136,112,5,7,7,6,0, + 0,16,48,80,144,248,16,56,5,7,7,6,0,0,248,128, + 240,8,8,136,112,5,7,7,6,0,0,112,128,240,136,136, + 136,112,5,7,7,6,0,0,248,8,8,16,32,32,32,5, + 7,7,6,0,0,112,136,136,112,136,136,112,5,7,7,6, + 0,0,112,136,136,136,120,8,112,2,5,5,6,2,0,192, + 192,0,192,192,2,7,7,6,1,254,192,192,0,192,192,64, + 128,4,7,7,6,1,0,16,32,64,128,64,32,16,5,3, + 3,6,0,2,248,0,248,4,7,7,6,1,0,128,64,32, + 16,32,64,128,5,7,7,6,0,0,112,136,8,16,32,0, + 32,5,7,7,6,0,0,112,136,184,168,184,128,120,5,7, + 7,6,0,0,32,80,80,136,248,136,136,5,7,7,6,0, + 0,240,136,136,240,136,136,240,5,7,7,6,0,0,112,136, + 128,128,128,136,112,5,7,7,6,0,0,240,136,136,136,136, + 136,240,5,7,7,6,0,0,248,128,128,240,128,128,248,5, + 7,7,6,0,0,248,128,128,240,128,128,128,5,7,7,6, + 0,0,112,136,128,152,136,136,112,5,7,7,6,0,0,136, + 136,136,248,136,136,136,5,7,7,6,0,0,248,32,32,32, + 32,32,248,5,7,7,6,0,0,8,8,8,8,136,136,112, + 5,7,7,6,0,0,136,144,160,192,160,144,136,5,7,7, + 6,0,0,128,128,128,128,128,128,248,5,7,7,6,0,0, + 136,216,168,168,136,136,136,5,7,7,6,0,0,136,200,168, + 152,136,136,136,5,7,7,6,0,0,112,136,136,136,136,136, + 112,5,7,7,6,0,0,240,136,136,240,128,128,128,5,8, + 8,6,0,255,112,136,136,136,136,168,112,8,5,7,7,6, + 0,0,240,136,136,240,136,136,136,5,7,7,6,0,0,112, + 136,128,112,8,136,112,5,7,7,6,0,0,248,32,32,32, + 32,32,32,5,7,7,6,0,0,136,136,136,136,136,136,112, + 5,7,7,6,0,0,136,136,136,80,80,32,32,5,7,7, + 6,0,0,136,136,136,168,168,216,136,5,7,7,6,0,0, + 136,136,80,32,80,136,136,5,7,7,6,0,0,136,136,136, + 80,32,32,32,5,7,7,6,0,0,248,8,16,32,64,128, + 248,2,9,9,6,2,255,192,128,128,128,128,128,128,128,192, + 5,10,10,6,1,254,128,128,64,64,32,32,16,16,8,8, + 2,9,9,6,1,255,192,64,64,64,64,64,64,64,192,5, + 3,3,6,0,4,32,80,136,6,1,1,6,0,254,252,2, + 2,2,6,1,6,128,64,5,5,5,6,0,0,120,136,136, + 152,104,5,7,7,6,0,0,128,128,240,136,136,136,240,5, + 5,5,6,0,0,112,136,128,128,120,5,7,7,6,0,0, + 8,8,120,136,136,136,120,5,5,5,6,0,0,112,136,248, + 128,120,4,7,7,6,1,0,48,64,224,64,64,64,64,5, + 7,7,6,0,254,120,136,136,136,120,8,112,5,7,7,6, + 0,0,128,128,240,136,136,136,136,3,7,7,6,1,0,64, + 0,192,64,64,64,224,3,9,9,6,0,254,32,0,96,32, + 32,32,32,32,192,5,7,7,6,0,0,128,128,144,160,224, + 144,136,3,7,7,6,1,0,192,64,64,64,64,64,224,5, + 5,5,6,0,0,240,168,168,168,168,5,5,5,6,0,0, + 176,200,136,136,136,5,5,5,6,0,0,112,136,136,136,112, + 5,7,7,6,0,254,240,136,136,136,240,128,128,5,7,7, + 6,0,254,120,136,136,136,120,8,8,5,5,5,6,0,0, + 176,200,128,128,128,5,5,5,6,0,0,120,128,112,8,240, + 4,7,7,6,1,0,64,64,224,64,64,64,48,5,5,5, + 6,0,0,136,136,136,152,104,5,5,5,6,0,0,136,136, + 80,80,32,5,5,5,6,0,0,168,168,168,168,80,5,5, + 5,6,0,0,136,80,32,80,136,5,7,7,6,0,254,136, + 136,136,136,120,8,112,5,5,5,6,0,0,248,16,32,64, + 248,3,11,11,6,1,254,32,64,64,64,64,128,64,64,64, + 64,32,1,9,9,6,2,255,128,128,128,128,128,128,128,128, + 128,3,11,11,6,1,254,128,64,64,64,64,32,64,64,64, + 64,128,5,2,2,6,0,3,104,176,0,0,0,6,0,0 + }; +/* + Fontname: ProFont12 + Copyright: ProFont Distribution 2.2 Ñ Generated by Fontographer 4.1.5 + Capital A Height: 8, '1' Height: 8 + Calculated Max Values w= 6 h=12 x= 3 y= 7 dx= 6 dy= 0 ascent=10 len=12 + Font Bounding box w= 6 h=11 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent = 8 descent=-2 + X Font ascent = 9 descent=-2 + Max Font ascent =10 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_profont12[2907] U8G_FONT_SECTION("u8g_font_profont12") = { + 0,6,11,0,254,8,1,178,3,103,32,255,254,10,254,9, + 254,0,0,0,6,0,0,1,8,8,6,2,0,128,128,128, + 128,128,128,0,128,3,3,3,6,1,6,160,160,160,5,5, + 5,6,0,3,80,248,80,248,80,5,10,10,6,0,255,32, + 112,168,160,112,40,40,168,112,32,5,8,8,6,0,0,120, + 168,168,80,48,104,168,144,5,8,8,6,0,0,96,144,160, + 64,160,168,144,104,1,3,3,6,2,6,128,128,128,3,10, + 10,6,1,255,32,64,128,128,128,128,128,128,64,32,3,10, + 10,6,1,255,128,64,32,32,32,32,32,32,64,128,5,5, + 5,6,0,3,32,168,112,168,32,5,5,5,6,0,1,32, + 32,248,32,32,2,4,4,6,1,254,192,192,64,128,3,1, + 1,6,1,3,224,2,2,2,6,2,0,192,192,5,10,10, + 6,0,254,8,8,16,16,32,32,64,64,128,128,5,8,8, + 6,0,0,112,136,152,168,200,136,136,112,5,8,8,6,0, + 0,32,224,32,32,32,32,32,248,5,8,8,6,0,0,112, + 136,8,16,32,64,128,248,5,8,8,6,0,0,112,136,8, + 48,8,8,136,112,5,8,8,6,0,0,16,48,80,144,248, + 16,16,56,5,8,8,6,0,0,248,128,128,240,8,8,136, + 112,5,8,8,6,0,0,112,128,128,240,136,136,136,112,5, + 8,8,6,0,0,248,8,8,16,32,32,32,32,5,8,8, + 6,0,0,112,136,136,112,136,136,136,112,5,8,8,6,0, + 0,112,136,136,136,120,8,8,112,2,6,6,6,2,0,192, + 192,0,0,192,192,2,8,8,6,1,254,192,192,0,0,192, + 192,64,128,4,7,7,6,1,1,16,32,64,128,64,32,16, + 5,3,3,6,0,3,248,0,248,4,7,7,6,1,1,128, + 64,32,16,32,64,128,5,8,8,6,0,0,112,136,8,8, + 16,32,0,32,5,8,8,6,0,0,112,136,184,168,184,128, + 128,120,5,8,8,6,0,0,32,80,80,136,136,248,136,136, + 5,8,8,6,0,0,240,136,136,240,136,136,136,240,5,8, + 8,6,0,0,112,136,128,128,128,128,136,112,5,8,8,6, + 0,0,240,136,136,136,136,136,136,240,5,8,8,6,0,0, + 248,128,128,240,128,128,128,248,5,8,8,6,0,0,248,128, + 128,240,128,128,128,128,5,8,8,6,0,0,112,136,128,128, + 152,136,136,112,5,8,8,6,0,0,136,136,136,248,136,136, + 136,136,5,8,8,6,0,0,248,32,32,32,32,32,32,248, + 5,8,8,6,0,0,8,8,8,8,8,136,136,112,5,8, + 8,6,0,0,136,144,160,192,192,160,144,136,5,8,8,6, + 0,0,128,128,128,128,128,128,128,248,5,8,8,6,0,0, + 136,216,168,168,136,136,136,136,5,8,8,6,0,0,136,200, + 168,152,136,136,136,136,5,8,8,6,0,0,112,136,136,136, + 136,136,136,112,5,8,8,6,0,0,240,136,136,240,128,128, + 128,128,5,9,9,6,0,255,112,136,136,136,136,136,168,112, + 8,5,8,8,6,0,0,240,136,136,240,136,136,136,136,5, + 8,8,6,0,0,112,136,128,112,8,8,136,112,5,8,8, + 6,0,0,248,32,32,32,32,32,32,32,5,8,8,6,0, + 0,136,136,136,136,136,136,136,112,5,8,8,6,0,0,136, + 136,136,136,80,80,32,32,5,8,8,6,0,0,136,136,136, + 136,168,168,216,136,5,8,8,6,0,0,136,136,136,80,32, + 80,136,136,5,8,8,6,0,0,136,136,136,136,80,32,32, + 32,5,8,8,6,0,0,248,8,16,32,64,128,128,248,2, + 10,10,6,2,255,192,128,128,128,128,128,128,128,128,192,5, + 10,10,6,1,254,128,128,64,64,32,32,16,16,8,8,2, + 10,10,6,1,255,192,64,64,64,64,64,64,64,64,192,5, + 3,3,6,0,5,32,80,136,6,1,1,6,0,254,252,2, + 2,2,6,1,7,128,64,5,5,5,6,0,0,120,136,136, + 152,104,5,8,8,6,0,0,128,128,128,240,136,136,136,240, + 5,5,5,6,0,0,112,136,128,128,120,5,8,8,6,0, + 0,8,8,8,120,136,136,136,120,5,5,5,6,0,0,112, + 136,248,128,120,4,8,8,6,1,0,48,64,224,64,64,64, + 64,64,5,7,7,6,0,254,120,136,136,136,120,8,112,5, + 8,8,6,0,0,128,128,128,240,136,136,136,136,3,8,8, + 6,1,0,64,0,0,192,64,64,64,224,3,10,10,6,0, + 254,32,0,0,96,32,32,32,32,32,192,5,8,8,6,0, + 0,128,128,128,144,160,224,144,136,3,8,8,6,1,0,192, + 64,64,64,64,64,64,224,5,5,5,6,0,0,240,168,168, + 168,168,5,5,5,6,0,0,176,200,136,136,136,5,5,5, + 6,0,0,112,136,136,136,112,5,7,7,6,0,254,240,136, + 136,136,240,128,128,5,7,7,6,0,254,120,136,136,136,120, + 8,8,5,5,5,6,0,0,176,200,128,128,128,5,5,5, + 6,0,0,120,128,112,8,240,4,8,8,6,1,0,64,64, + 64,224,64,64,64,48,5,5,5,6,0,0,136,136,136,152, + 104,5,5,5,6,0,0,136,136,80,80,32,5,5,5,6, + 0,0,168,168,168,168,80,5,5,5,6,0,0,136,80,32, + 80,136,5,7,7,6,0,254,136,136,136,136,120,8,112,5, + 5,5,6,0,0,248,16,32,64,248,3,11,11,6,1,254, + 32,64,64,64,64,128,64,64,64,64,32,1,10,10,6,2, + 255,128,128,128,128,128,128,128,128,128,128,3,11,11,6,1, + 254,128,64,64,64,64,32,64,64,64,64,128,5,2,2,6, + 0,4,104,176,0,0,0,6,0,0,0,0,0,6,0,0, + 0,0,0,6,0,0,2,3,3,6,0,255,64,64,128,5, + 12,12,6,0,254,24,32,32,32,32,112,32,32,32,32,32, + 192,4,3,3,6,0,255,80,80,160,5,1,1,6,0,0, + 168,3,6,6,6,1,2,64,224,64,64,64,64,3,6,6, + 6,1,2,64,224,64,64,224,64,3,2,2,6,1,7,64, + 160,6,9,9,6,0,0,124,164,168,80,32,104,212,84,40, + 5,10,10,6,0,0,80,32,112,136,128,112,8,8,136,112, + 2,4,4,6,0,0,64,128,128,64,5,8,8,6,0,0, + 120,160,160,176,160,160,160,120,0,0,0,6,0,0,0,0, + 0,6,0,0,0,0,0,6,0,0,0,0,0,6,0,0, + 2,3,3,6,2,5,64,128,128,2,3,3,6,2,5,64, + 64,128,4,3,3,6,1,5,80,160,160,4,3,3,6,1, + 5,80,80,160,5,5,5,6,0,2,112,248,248,248,112,3, + 1,1,6,1,3,224,6,1,1,6,0,3,252,5,2,2, + 6,0,7,104,176,6,3,3,6,0,5,244,92,92,5,9, + 9,6,0,0,80,32,0,0,120,128,112,8,240,2,4,4, + 6,0,0,128,64,64,128,5,5,5,6,0,0,80,168,184, + 160,88,0,0,0,6,0,0,0,0,0,6,0,0,5,10, + 10,6,0,0,80,0,0,136,136,136,80,32,32,32,0,0, + 0,6,0,0,1,8,8,6,3,0,128,0,128,128,128,128, + 128,128,5,7,7,6,0,255,32,112,168,160,160,120,32,5, + 9,9,6,0,0,96,144,128,224,128,128,128,136,240,5,5, + 5,6,0,1,136,112,80,112,136,5,8,8,6,0,0,136, + 80,248,32,248,32,32,32,1,10,10,6,2,255,128,128,128, + 128,0,0,128,128,128,128,5,11,11,6,0,255,112,136,72, + 160,144,136,72,40,144,136,112,3,1,1,6,1,7,160,5, + 8,8,6,0,0,224,16,104,136,136,104,16,224,4,7,7, + 6,1,3,112,144,144,112,0,0,240,5,4,4,6,0,0, + 72,144,144,72,5,3,3,6,0,2,248,8,8,5,1,1, + 6,0,3,248,5,7,7,6,0,1,224,16,200,168,168,200, + 176,3,1,1,6,1,7,224,4,4,4,6,1,5,96,144, + 144,96,5,6,6,6,0,1,32,32,248,32,32,248,3,4, + 4,6,1,6,192,32,64,224,3,5,5,6,1,5,192,32, + 96,32,192,4,2,2,6,2,7,112,224,5,7,7,6,0, + 254,144,144,144,144,232,128,128,5,9,9,6,0,0,120,168, + 168,168,120,40,40,40,40,2,2,2,6,2,3,192,192,4, + 3,3,6,1,254,240,112,224,3,4,4,6,1,6,192,64, + 64,224,4,7,7,6,1,3,96,144,144,96,0,0,240,5, + 4,4,6,0,0,144,72,72,144,6,10,10,6,0,0,192, + 64,68,232,16,32,72,152,56,8,6,10,10,6,0,0,192, + 64,68,232,16,32,88,132,8,28,6,10,10,6,0,0,192, + 32,100,40,208,32,72,152,56,8,5,8,8,6,0,0,32, + 0,32,64,128,128,136,112,5,10,10,6,0,0,64,32,32, + 80,80,136,136,248,136,136,5,10,10,6,0,0,16,32,32, + 80,80,136,136,248,136,136,5,10,10,6,0,0,32,80,0, + 32,80,80,136,248,136,136,5,10,10,6,0,0,104,176,32, + 80,80,136,136,248,136,136,5,10,10,6,0,0,80,0,32, + 80,80,136,136,248,136,136,5,10,10,6,0,0,32,80,32, + 80,80,136,136,248,136,136,5,8,8,6,0,0,120,160,160, + 240,160,160,160,184,5,10,10,6,0,254,112,136,128,128,128, + 128,136,112,32,64,5,10,10,6,0,0,64,32,248,128,128, + 240,128,128,128,248,5,10,10,6,0,0,16,32,248,128,128, + 240,128,128,128,248,5,10,10,6,0,0,32,80,248,128,128, + 240,128,128,128,248,5,10,10,6,0,0,80,0,248,128,128, + 240,128,128,128,248,5,10,10,6,0,0,64,32,248,32,32, + 32,32,32,32,248,5,10,10,6,0,0,16,32,248,32,32, + 32,32,32,32,248,5,10,10,6,0,0,32,80,0,248,32, + 32,32,32,32,248,5,10,10,6,0,0,80,0,248,32,32, + 32,32,32,32,248,6,8,8,6,0,0,120,68,68,228,68, + 68,68,120,5,10,10,6,0,0,104,176,136,200,168,152,136, + 136,136,136,5,10,10,6,0,0,64,32,112,136,136,136,136, + 136,136,112,5,10,10,6,0,0,16,32,112,136,136,136,136, + 136,136,112,5,10,10,6,0,0,32,80,0,112,136,136,136, + 136,136,112,5,10,10,6,0,0,104,176,112,136,136,136,136, + 136,136,112,5,10,10,6,0,0,80,0,112,136,136,136,136, + 136,136,112,5,5,5,6,0,2,136,80,32,80,136,5,8, + 8,6,0,0,112,136,152,168,200,136,136,112,5,10,10,6, + 0,0,64,32,136,136,136,136,136,136,136,112,5,10,10,6, + 0,0,16,32,136,136,136,136,136,136,136,112,5,10,10,6, + 0,0,32,80,0,136,136,136,136,136,136,112,5,10,10,6, + 0,0,80,0,136,136,136,136,136,136,136,112,5,10,10,6, + 0,0,16,32,136,136,136,136,80,32,32,32,5,8,8,6, + 0,0,128,240,136,136,136,240,128,128,5,10,10,6,0,255, + 48,72,136,144,144,136,136,136,176,128,5,9,9,6,0,0, + 32,16,0,0,120,136,136,152,104,5,9,9,6,0,0,16, + 32,0,0,120,136,136,152,104,5,9,9,6,0,0,32,80, + 0,0,120,136,136,152,104,5,9,9,6,0,0,104,176,0, + 0,120,136,136,152,104,5,8,8,6,0,0,80,0,0,120, + 136,136,152,104,5,9,9,6,0,0,32,80,32,0,120,136, + 136,152,104,5,5,5,6,0,0,112,168,184,160,120,5,7, + 7,6,0,254,112,136,128,128,120,32,64,5,9,9,6,0, + 0,64,32,0,0,112,136,248,128,120,5,9,9,6,0,0, + 16,32,0,0,112,136,248,128,120,5,9,9,6,0,0,32, + 80,0,0,112,136,248,128,120,5,8,8,6,0,0,80,0, + 0,112,136,248,128,120,3,9,9,6,1,0,128,64,0,0, + 192,64,64,64,224,3,9,9,6,1,0,32,64,0,0,192, + 64,64,64,224,3,9,9,6,1,0,64,160,0,0,192,64, + 64,64,224,3,8,8,6,1,0,160,0,0,192,64,64,64, + 224,5,9,9,6,0,0,96,96,16,8,120,136,136,136,112, + 5,9,9,6,0,0,104,176,0,0,176,200,136,136,136,5, + 9,9,6,0,0,64,32,0,0,112,136,136,136,112,5,9, + 9,6,0,0,16,32,0,0,112,136,136,136,112,5,9,9, + 6,0,0,32,80,0,0,112,136,136,136,112,5,9,9,6, + 0,0,104,176,0,0,112,136,136,136,112,5,8,8,6,0, + 0,80,0,0,112,136,136,136,112,5,5,5,6,0,1,32, + 0,248,0,32,5,5,5,6,0,0,112,152,168,200,112,5, + 9,9,6,0,0,64,32,0,0,136,136,136,152,104,5,9, + 9,6,0,0,16,32,0,0,136,136,136,152,104,5,9,9, + 6,0,0,32,80,0,0,136,136,136,152,104,5,8,8,6, + 0,0,80,0,0,136,136,136,152,104,5,11,11,6,0,254, + 16,32,0,0,136,136,136,136,120,8,112,5,10,10,6,0, + 254,128,128,128,240,136,136,136,240,128,128,5,10,10,6,0, + 254,80,0,0,136,136,136,136,120,8,112}; +/* + Fontname: ProFont12 + Copyright: ProFont Distribution 2.2 Ñ Generated by Fontographer 4.1.5 + Capital A Height: 8, '1' Height: 8 + Calculated Max Values w= 6 h=11 x= 2 y= 7 dx= 6 dy= 0 ascent= 9 len=11 + Font Bounding box w= 6 h=11 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent = 8 descent=-2 + X Font ascent = 9 descent=-2 + Max Font ascent = 9 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_profont12r[1258] U8G_FONT_SECTION("u8g_font_profont12r") = { + 0,6,11,0,254,8,1,178,3,103,32,127,254,9,254,9, + 254,0,0,0,6,0,0,1,8,8,6,2,0,128,128,128, + 128,128,128,0,128,3,3,3,6,1,6,160,160,160,5,5, + 5,6,0,3,80,248,80,248,80,5,10,10,6,0,255,32, + 112,168,160,112,40,40,168,112,32,5,8,8,6,0,0,120, + 168,168,80,48,104,168,144,5,8,8,6,0,0,96,144,160, + 64,160,168,144,104,1,3,3,6,2,6,128,128,128,3,10, + 10,6,1,255,32,64,128,128,128,128,128,128,64,32,3,10, + 10,6,1,255,128,64,32,32,32,32,32,32,64,128,5,5, + 5,6,0,3,32,168,112,168,32,5,5,5,6,0,1,32, + 32,248,32,32,2,4,4,6,1,254,192,192,64,128,3,1, + 1,6,1,3,224,2,2,2,6,2,0,192,192,5,10,10, + 6,0,254,8,8,16,16,32,32,64,64,128,128,5,8,8, + 6,0,0,112,136,152,168,200,136,136,112,5,8,8,6,0, + 0,32,224,32,32,32,32,32,248,5,8,8,6,0,0,112, + 136,8,16,32,64,128,248,5,8,8,6,0,0,112,136,8, + 48,8,8,136,112,5,8,8,6,0,0,16,48,80,144,248, + 16,16,56,5,8,8,6,0,0,248,128,128,240,8,8,136, + 112,5,8,8,6,0,0,112,128,128,240,136,136,136,112,5, + 8,8,6,0,0,248,8,8,16,32,32,32,32,5,8,8, + 6,0,0,112,136,136,112,136,136,136,112,5,8,8,6,0, + 0,112,136,136,136,120,8,8,112,2,6,6,6,2,0,192, + 192,0,0,192,192,2,8,8,6,1,254,192,192,0,0,192, + 192,64,128,4,7,7,6,1,1,16,32,64,128,64,32,16, + 5,3,3,6,0,3,248,0,248,4,7,7,6,1,1,128, + 64,32,16,32,64,128,5,8,8,6,0,0,112,136,8,8, + 16,32,0,32,5,8,8,6,0,0,112,136,184,168,184,128, + 128,120,5,8,8,6,0,0,32,80,80,136,136,248,136,136, + 5,8,8,6,0,0,240,136,136,240,136,136,136,240,5,8, + 8,6,0,0,112,136,128,128,128,128,136,112,5,8,8,6, + 0,0,240,136,136,136,136,136,136,240,5,8,8,6,0,0, + 248,128,128,240,128,128,128,248,5,8,8,6,0,0,248,128, + 128,240,128,128,128,128,5,8,8,6,0,0,112,136,128,128, + 152,136,136,112,5,8,8,6,0,0,136,136,136,248,136,136, + 136,136,5,8,8,6,0,0,248,32,32,32,32,32,32,248, + 5,8,8,6,0,0,8,8,8,8,8,136,136,112,5,8, + 8,6,0,0,136,144,160,192,192,160,144,136,5,8,8,6, + 0,0,128,128,128,128,128,128,128,248,5,8,8,6,0,0, + 136,216,168,168,136,136,136,136,5,8,8,6,0,0,136,200, + 168,152,136,136,136,136,5,8,8,6,0,0,112,136,136,136, + 136,136,136,112,5,8,8,6,0,0,240,136,136,240,128,128, + 128,128,5,9,9,6,0,255,112,136,136,136,136,136,168,112, + 8,5,8,8,6,0,0,240,136,136,240,136,136,136,136,5, + 8,8,6,0,0,112,136,128,112,8,8,136,112,5,8,8, + 6,0,0,248,32,32,32,32,32,32,32,5,8,8,6,0, + 0,136,136,136,136,136,136,136,112,5,8,8,6,0,0,136, + 136,136,136,80,80,32,32,5,8,8,6,0,0,136,136,136, + 136,168,168,216,136,5,8,8,6,0,0,136,136,136,80,32, + 80,136,136,5,8,8,6,0,0,136,136,136,136,80,32,32, + 32,5,8,8,6,0,0,248,8,16,32,64,128,128,248,2, + 10,10,6,2,255,192,128,128,128,128,128,128,128,128,192,5, + 10,10,6,1,254,128,128,64,64,32,32,16,16,8,8,2, + 10,10,6,1,255,192,64,64,64,64,64,64,64,64,192,5, + 3,3,6,0,5,32,80,136,6,1,1,6,0,254,252,2, + 2,2,6,1,7,128,64,5,5,5,6,0,0,120,136,136, + 152,104,5,8,8,6,0,0,128,128,128,240,136,136,136,240, + 5,5,5,6,0,0,112,136,128,128,120,5,8,8,6,0, + 0,8,8,8,120,136,136,136,120,5,5,5,6,0,0,112, + 136,248,128,120,4,8,8,6,1,0,48,64,224,64,64,64, + 64,64,5,7,7,6,0,254,120,136,136,136,120,8,112,5, + 8,8,6,0,0,128,128,128,240,136,136,136,136,3,8,8, + 6,1,0,64,0,0,192,64,64,64,224,3,10,10,6,0, + 254,32,0,0,96,32,32,32,32,32,192,5,8,8,6,0, + 0,128,128,128,144,160,224,144,136,3,8,8,6,1,0,192, + 64,64,64,64,64,64,224,5,5,5,6,0,0,240,168,168, + 168,168,5,5,5,6,0,0,176,200,136,136,136,5,5,5, + 6,0,0,112,136,136,136,112,5,7,7,6,0,254,240,136, + 136,136,240,128,128,5,7,7,6,0,254,120,136,136,136,120, + 8,8,5,5,5,6,0,0,176,200,128,128,128,5,5,5, + 6,0,0,120,128,112,8,240,4,8,8,6,1,0,64,64, + 64,224,64,64,64,48,5,5,5,6,0,0,136,136,136,152, + 104,5,5,5,6,0,0,136,136,80,80,32,5,5,5,6, + 0,0,168,168,168,168,80,5,5,5,6,0,0,136,80,32, + 80,136,5,7,7,6,0,254,136,136,136,136,120,8,112,5, + 5,5,6,0,0,248,16,32,64,248,3,11,11,6,1,254, + 32,64,64,64,64,128,64,64,64,64,32,1,10,10,6,2, + 255,128,128,128,128,128,128,128,128,128,128,3,11,11,6,1, + 254,128,64,64,64,64,32,64,64,64,64,128,5,2,2,6, + 0,4,104,176,0,0,0,6,0,0}; +/* + Fontname: ProFont15 + Copyright: ProFont Distribution 2.2 Ñ Generated by Fontographer 4.1.5 + Capital A Height: 9, '1' Height: 9 + Calculated Max Values w= 7 h=15 x= 4 y= 8 dx= 7 dy= 0 ascent=12 len=15 + Font Bounding box w= 7 h=14 x= 0 y=-3 + Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 + Pure Font ascent = 9 descent=-3 + X Font ascent =11 descent=-3 + Max Font ascent =12 descent=-3 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_profont15[3186] U8G_FONT_SECTION("u8g_font_profont15") = { + 0,7,14,0,253,9,1,217,3,175,32,255,253,12,253,11, + 253,0,0,0,7,0,0,1,9,9,7,3,0,128,128,128, + 128,128,128,128,0,128,4,4,4,7,1,7,144,144,144,144, + 6,6,6,7,0,3,72,252,72,72,252,72,5,13,13,7, + 0,254,32,32,112,168,160,160,112,40,40,168,112,32,32,7, + 9,9,7,0,0,126,162,164,168,84,42,74,138,132,6,9, + 9,7,0,0,112,136,144,160,64,160,148,136,116,1,4,4, + 7,3,7,128,128,128,128,4,13,13,7,1,254,16,32,64, + 128,128,128,128,128,128,128,64,32,16,4,13,13,7,1,254, + 128,64,32,16,16,16,16,16,16,16,32,64,128,5,6,6, + 7,0,3,32,168,112,112,168,32,5,5,5,7,0,1,32, + 32,248,32,32,3,5,5,7,1,253,96,96,32,64,128,4, + 1,1,7,1,3,240,2,2,2,7,2,0,192,192,6,12, + 12,7,0,254,4,4,8,8,16,16,32,32,64,64,128,128, + 6,9,9,7,0,0,120,132,140,148,164,196,132,132,120,7, + 9,9,7,0,0,16,112,16,16,16,16,16,16,254,6,9, + 9,7,0,0,120,132,4,4,8,16,32,64,252,6,9,9, + 7,0,0,120,132,4,4,56,4,4,132,120,6,9,9,7, + 0,0,8,24,40,72,136,252,8,8,28,6,9,9,7,0, + 0,252,128,128,248,4,4,4,132,120,6,9,9,7,0,0, + 120,128,128,248,132,132,132,132,120,6,9,9,7,0,0,252, + 4,4,8,16,32,32,32,32,6,9,9,7,0,0,120,132, + 132,132,120,132,132,132,120,6,9,9,7,0,0,120,132,132, + 132,132,124,4,4,120,2,7,7,7,2,0,192,192,0,0, + 0,192,192,3,10,10,7,1,253,96,96,0,0,0,96,96, + 32,64,128,5,9,9,7,1,0,8,16,32,64,128,64,32, + 16,8,6,4,4,7,0,3,252,0,0,252,5,9,9,7, + 1,0,128,64,32,16,8,16,32,64,128,6,9,9,7,0, + 0,120,132,4,4,8,16,32,0,32,6,9,9,7,0,0, + 120,132,156,164,164,152,128,128,124,6,9,9,7,0,0,48, + 48,72,72,132,252,132,132,132,6,9,9,7,0,0,248,132, + 132,132,248,132,132,132,248,6,9,9,7,0,0,120,132,128, + 128,128,128,128,132,120,6,9,9,7,0,0,248,132,132,132, + 132,132,132,132,248,6,9,9,7,0,0,252,128,128,128,248, + 128,128,128,252,6,9,9,7,0,0,252,128,128,128,248,128, + 128,128,128,6,9,9,7,0,0,120,132,128,128,140,132,132, + 132,120,6,9,9,7,0,0,132,132,132,132,252,132,132,132, + 132,7,9,9,7,0,0,254,16,16,16,16,16,16,16,254, + 6,9,9,7,0,0,4,4,4,4,4,132,132,132,120,6, + 9,9,7,0,0,132,136,144,160,192,160,144,136,132,6,9, + 9,7,0,0,128,128,128,128,128,128,128,128,252,7,9,9, + 7,0,0,130,198,170,146,146,130,130,130,130,6,9,9,7, + 0,0,132,196,164,148,140,132,132,132,132,6,9,9,7,0, + 0,120,132,132,132,132,132,132,132,120,6,9,9,7,0,0, + 248,132,132,132,248,128,128,128,128,6,10,10,7,0,255,120, + 132,132,132,132,132,164,148,120,4,6,9,9,7,0,0,248, + 132,132,132,248,132,132,132,132,6,9,9,7,0,0,120,132, + 128,128,120,4,4,132,120,7,9,9,7,0,0,254,16,16, + 16,16,16,16,16,16,6,9,9,7,0,0,132,132,132,132, + 132,132,132,132,120,7,9,9,7,0,0,130,130,130,68,68, + 40,40,16,16,7,9,9,7,0,0,130,130,130,130,146,146, + 170,198,130,6,9,9,7,0,0,132,132,132,72,48,48,72, + 132,132,7,9,9,7,0,0,130,130,130,68,40,16,16,16, + 16,6,9,9,7,0,0,252,4,8,16,32,64,128,128,252, + 3,12,12,7,2,255,224,128,128,128,128,128,128,128,128,128, + 128,224,6,12,12,7,1,254,128,128,64,64,32,32,16,16, + 8,8,4,4,3,12,12,7,1,255,224,32,32,32,32,32, + 32,32,32,32,32,224,5,3,3,7,1,6,32,80,136,7, + 1,1,7,0,254,254,3,3,3,7,1,8,128,64,32,6, + 6,6,7,0,0,124,132,132,140,148,100,6,9,9,7,0, + 0,128,128,128,248,132,132,132,132,248,6,6,6,7,0,0, + 120,132,128,128,128,124,6,9,9,7,0,0,4,4,4,124, + 132,132,132,132,124,6,6,6,7,0,0,120,132,252,128,128, + 124,4,9,9,7,1,0,48,64,64,224,64,64,64,64,64, + 6,9,9,7,0,253,124,132,132,132,132,124,4,4,120,6, + 9,9,7,0,0,128,128,128,248,132,132,132,132,132,3,9, + 9,7,2,0,64,0,0,192,64,64,64,64,224,3,12,12, + 7,1,253,32,0,0,96,32,32,32,32,32,32,32,192,6, + 9,9,7,0,0,128,128,128,136,144,160,208,136,132,3,9, + 9,7,2,0,192,64,64,64,64,64,64,64,224,7,6,6, + 7,0,0,252,146,146,146,146,146,6,6,6,7,0,0,152, + 164,196,132,132,132,6,6,6,7,0,0,120,132,132,132,132, + 120,6,9,9,7,0,253,248,132,132,132,132,248,128,128,128, + 6,9,9,7,0,253,124,132,132,132,132,124,4,4,4,6, + 6,6,7,0,0,152,164,192,128,128,128,6,6,6,7,0, + 0,124,128,120,4,4,248,4,9,9,7,1,0,64,64,64, + 224,64,64,64,64,48,6,6,6,7,0,0,132,132,132,140, + 148,100,6,6,6,7,0,0,132,132,72,72,48,48,7,6, + 6,7,0,0,146,146,146,146,146,108,6,6,6,7,0,0, + 132,72,48,48,72,132,6,9,9,7,0,253,132,132,132,132, + 132,124,4,4,120,6,6,6,7,0,0,252,8,16,32,64, + 252,4,15,15,7,1,253,48,64,64,64,64,64,64,128,64, + 64,64,64,64,64,48,1,13,13,7,3,254,128,128,128,128, + 128,128,128,128,128,128,128,128,128,4,15,15,7,1,253,192, + 32,32,32,32,32,32,16,32,32,32,32,32,32,192,6,2, + 2,7,0,4,100,152,0,0,0,7,0,0,0,0,0,7, + 0,0,0,0,0,7,0,0,2,4,4,7,0,255,64,64, + 64,128,7,14,14,7,0,254,6,8,16,16,16,56,16,16, + 16,16,16,16,32,192,5,4,4,7,0,255,72,72,72,144, + 7,1,1,7,0,0,146,3,6,6,7,2,3,64,224,64, + 64,64,64,3,6,6,7,2,3,64,224,64,64,224,64,5, + 3,3,7,1,8,32,80,136,7,10,10,7,0,0,126,164, + 168,176,96,84,170,42,42,20,6,12,12,7,0,0,68,40, + 16,120,132,128,128,120,4,4,132,120,2,5,5,7,0,0, + 64,128,128,128,64,6,9,9,7,0,0,124,144,144,144,152, + 144,144,144,124,0,0,0,7,0,0,0,0,0,7,0,0, + 0,0,0,7,0,0,0,0,0,7,0,0,2,4,4,7, + 3,5,64,128,128,128,2,4,4,7,3,5,64,64,64,128, + 5,4,4,7,1,5,72,144,144,144,5,4,4,7,1,5, + 72,72,72,144,6,6,6,7,0,2,48,120,252,252,120,48, + 4,1,1,7,1,3,240,7,1,1,7,0,3,254,6,2, + 2,7,0,8,100,152,7,4,4,7,0,5,242,94,82,82, + 6,11,11,7,0,0,68,40,16,0,0,124,128,120,4,4, + 248,2,5,5,7,0,0,128,64,64,64,128,6,6,6,7, + 0,0,104,148,156,144,144,108,0,0,0,7,0,0,0,0, + 0,7,0,0,7,12,12,7,0,0,68,0,0,130,130,130, + 68,40,16,16,16,16,0,0,0,7,0,0,1,9,9,7, + 4,0,128,0,128,128,128,128,128,128,128,5,10,10,7,0, + 254,32,32,112,168,160,160,160,120,32,32,6,11,11,7,0, + 0,96,144,128,128,240,128,128,128,132,136,240,7,7,7,7, + 0,0,130,68,56,40,56,68,130,7,10,10,7,0,0,130, + 68,40,254,16,16,254,16,16,16,1,13,13,7,3,254,128, + 128,128,128,128,0,0,0,128,128,128,128,128,6,13,13,7, + 0,255,120,132,132,68,160,144,72,36,20,136,132,132,120,4, + 1,1,7,1,8,144,6,9,9,7,0,0,240,8,116,132, + 132,132,116,8,240,5,8,8,7,1,4,120,136,136,136,120, + 0,0,248,6,5,5,7,0,0,68,136,136,136,68,6,4, + 4,7,0,1,252,4,4,4,5,1,1,7,0,3,248,6, + 8,8,7,0,1,240,8,100,148,148,228,148,136,4,1,1, + 7,1,8,240,5,5,5,7,1,6,112,136,136,136,112,5, + 6,6,7,0,1,32,32,248,32,32,248,4,5,5,7,1, + 7,96,144,32,64,240,4,5,5,7,1,7,96,144,32,144, + 96,3,3,3,7,3,8,96,224,192,6,9,9,7,0,253, + 136,136,136,136,136,244,128,128,128,6,10,10,7,0,0,60, + 84,148,148,84,60,20,20,20,20,2,2,2,7,3,3,192, + 192,2,3,3,7,2,254,192,64,128,3,5,5,7,2,7, + 192,64,64,64,224,5,8,8,7,1,4,112,136,136,136,112, + 0,0,248,6,5,5,7,0,0,136,68,68,68,136,7,12, + 12,7,0,0,96,32,32,34,116,8,16,36,76,148,30,4, + 7,12,12,7,0,0,96,32,32,34,116,8,16,44,82,132, + 8,30,7,12,12,7,0,0,96,144,32,146,100,8,16,36, + 76,148,30,4,6,9,9,7,0,0,16,0,16,32,64,128, + 128,132,120,6,12,12,7,0,0,64,32,16,48,48,72,72, + 132,252,132,132,132,6,12,12,7,0,0,8,16,32,48,48, + 72,72,132,252,132,132,132,6,12,12,7,0,0,16,40,68, + 48,48,72,72,132,252,132,132,132,6,12,12,7,0,0,100, + 152,0,48,48,72,72,132,252,132,132,132,6,12,12,7,0, + 0,72,0,0,48,48,72,72,132,252,132,132,132,6,12,12, + 7,0,0,48,72,72,48,48,72,72,132,252,132,132,132,6, + 9,9,7,0,0,124,144,144,144,248,144,144,144,156,6,11, + 11,7,0,254,120,132,128,128,128,128,128,132,120,16,32,6, + 12,12,7,0,0,64,32,16,252,128,128,128,248,128,128,128, + 252,6,12,12,7,0,0,8,16,32,252,128,128,128,248,128, + 128,128,252,6,12,12,7,0,0,16,40,68,252,128,128,128, + 248,128,128,128,252,6,12,12,7,0,0,72,0,0,252,128, + 128,128,248,128,128,128,252,7,12,12,7,0,0,64,32,16, + 254,16,16,16,16,16,16,16,254,7,12,12,7,0,0,4, + 8,16,254,16,16,16,16,16,16,16,254,7,12,12,7,0, + 0,16,40,68,254,16,16,16,16,16,16,16,254,7,12,12, + 7,0,0,72,0,0,254,16,16,16,16,16,16,16,254,6, + 9,9,7,0,0,120,68,68,68,228,68,68,68,120,6,12, + 12,7,0,0,100,152,0,132,196,164,148,140,132,132,132,132, + 6,12,12,7,0,0,64,32,16,120,132,132,132,132,132,132, + 132,120,6,12,12,7,0,0,8,16,32,120,132,132,132,132, + 132,132,132,120,6,12,12,7,0,0,16,40,68,120,132,132, + 132,132,132,132,132,120,6,12,12,7,0,0,100,152,0,120, + 132,132,132,132,132,132,132,120,6,12,12,7,0,0,72,0, + 0,120,132,132,132,132,132,132,132,120,5,5,5,7,0,2, + 136,80,32,80,136,6,9,9,7,0,0,120,132,140,148,164, + 196,132,132,120,6,12,12,7,0,0,64,32,16,132,132,132, + 132,132,132,132,132,120,6,12,12,7,0,0,8,16,32,132, + 132,132,132,132,132,132,132,120,6,12,12,7,0,0,16,40, + 68,0,132,132,132,132,132,132,132,120,6,12,12,7,0,0, + 72,0,0,132,132,132,132,132,132,132,132,120,7,12,12,7, + 0,0,4,8,16,130,130,130,68,40,16,16,16,16,6,9, + 9,7,0,0,128,248,132,132,132,248,128,128,128,6,11,11, + 7,0,255,56,68,132,136,144,144,136,132,132,152,128,6,11, + 11,7,0,0,64,32,16,0,0,124,132,132,140,148,100,6, + 11,11,7,0,0,4,8,16,0,0,124,132,132,140,148,100, + 6,11,11,7,0,0,16,40,68,0,0,124,132,132,140,148, + 100,6,10,10,7,0,0,100,152,0,0,124,132,132,140,148, + 100,6,9,9,7,0,0,72,0,0,124,132,132,140,148,100, + 6,10,10,7,0,0,48,72,72,48,124,132,132,140,148,100, + 6,6,6,7,0,0,120,164,188,160,160,124,6,8,8,7, + 0,254,120,132,128,128,128,124,16,32,6,11,11,7,0,0, + 64,32,16,0,0,120,132,252,128,128,124,6,11,11,7,0, + 0,4,8,16,0,0,120,132,252,128,128,124,6,11,11,7, + 0,0,16,40,68,0,0,120,132,252,128,128,124,6,9,9, + 7,0,0,72,0,0,120,132,252,128,128,124,4,11,11,7, + 1,0,128,64,32,0,0,96,32,32,32,32,112,4,11,11, + 7,2,0,16,32,64,0,0,192,64,64,64,64,224,5,11, + 11,7,1,0,32,80,136,0,0,96,32,32,32,32,112,4, + 9,9,7,1,0,144,0,0,96,32,32,32,32,112,6,11, + 11,7,0,0,80,32,80,8,4,124,132,132,132,132,120,6, + 10,10,7,0,0,100,152,0,0,152,164,196,132,132,132,6, + 11,11,7,0,0,64,32,16,0,0,120,132,132,132,132,120, + 6,11,11,7,0,0,4,8,16,0,0,120,132,132,132,132, + 120,6,11,11,7,0,0,16,40,68,0,0,120,132,132,132, + 132,120,6,10,10,7,0,0,100,152,0,0,120,132,132,132, + 132,120,6,9,9,7,0,0,72,0,0,120,132,132,132,132, + 120,5,5,5,7,0,1,32,0,248,0,32,6,6,6,7, + 0,0,120,140,148,164,196,120,6,11,11,7,0,0,64,32, + 16,0,0,132,132,132,140,148,100,6,11,11,7,0,0,4, + 8,16,0,0,132,132,132,140,148,100,6,11,11,7,0,0, + 16,40,68,0,0,132,132,132,140,148,100,6,9,9,7,0, + 0,72,0,0,132,132,132,140,148,100,6,14,14,7,0,253, + 4,8,16,0,0,132,132,132,132,132,124,4,4,120,6,12, + 12,7,0,253,128,128,128,248,132,132,132,132,248,128,128,128, + 6,12,12,7,0,253,72,0,0,132,132,132,132,132,124,4, + 4,120}; +/* + Fontname: ProFont15 + Copyright: ProFont Distribution 2.2 Ñ Generated by Fontographer 4.1.5 + Capital A Height: 9, '1' Height: 9 + Calculated Max Values w= 7 h=15 x= 3 y= 8 dx= 7 dy= 0 ascent=12 len=15 + Font Bounding box w= 7 h=14 x= 0 y=-3 + Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 + Pure Font ascent = 9 descent=-3 + X Font ascent =11 descent=-3 + Max Font ascent =12 descent=-3 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_profont15r[1372] U8G_FONT_SECTION("u8g_font_profont15r") = { + 0,7,14,0,253,9,1,217,3,175,32,127,253,12,253,11, + 253,0,0,0,7,0,0,1,9,9,7,3,0,128,128,128, + 128,128,128,128,0,128,4,4,4,7,1,7,144,144,144,144, + 6,6,6,7,0,3,72,252,72,72,252,72,5,13,13,7, + 0,254,32,32,112,168,160,160,112,40,40,168,112,32,32,7, + 9,9,7,0,0,126,162,164,168,84,42,74,138,132,6,9, + 9,7,0,0,112,136,144,160,64,160,148,136,116,1,4,4, + 7,3,7,128,128,128,128,4,13,13,7,1,254,16,32,64, + 128,128,128,128,128,128,128,64,32,16,4,13,13,7,1,254, + 128,64,32,16,16,16,16,16,16,16,32,64,128,5,6,6, + 7,0,3,32,168,112,112,168,32,5,5,5,7,0,1,32, + 32,248,32,32,3,5,5,7,1,253,96,96,32,64,128,4, + 1,1,7,1,3,240,2,2,2,7,2,0,192,192,6,12, + 12,7,0,254,4,4,8,8,16,16,32,32,64,64,128,128, + 6,9,9,7,0,0,120,132,140,148,164,196,132,132,120,7, + 9,9,7,0,0,16,112,16,16,16,16,16,16,254,6,9, + 9,7,0,0,120,132,4,4,8,16,32,64,252,6,9,9, + 7,0,0,120,132,4,4,56,4,4,132,120,6,9,9,7, + 0,0,8,24,40,72,136,252,8,8,28,6,9,9,7,0, + 0,252,128,128,248,4,4,4,132,120,6,9,9,7,0,0, + 120,128,128,248,132,132,132,132,120,6,9,9,7,0,0,252, + 4,4,8,16,32,32,32,32,6,9,9,7,0,0,120,132, + 132,132,120,132,132,132,120,6,9,9,7,0,0,120,132,132, + 132,132,124,4,4,120,2,7,7,7,2,0,192,192,0,0, + 0,192,192,3,10,10,7,1,253,96,96,0,0,0,96,96, + 32,64,128,5,9,9,7,1,0,8,16,32,64,128,64,32, + 16,8,6,4,4,7,0,3,252,0,0,252,5,9,9,7, + 1,0,128,64,32,16,8,16,32,64,128,6,9,9,7,0, + 0,120,132,4,4,8,16,32,0,32,6,9,9,7,0,0, + 120,132,156,164,164,152,128,128,124,6,9,9,7,0,0,48, + 48,72,72,132,252,132,132,132,6,9,9,7,0,0,248,132, + 132,132,248,132,132,132,248,6,9,9,7,0,0,120,132,128, + 128,128,128,128,132,120,6,9,9,7,0,0,248,132,132,132, + 132,132,132,132,248,6,9,9,7,0,0,252,128,128,128,248, + 128,128,128,252,6,9,9,7,0,0,252,128,128,128,248,128, + 128,128,128,6,9,9,7,0,0,120,132,128,128,140,132,132, + 132,120,6,9,9,7,0,0,132,132,132,132,252,132,132,132, + 132,7,9,9,7,0,0,254,16,16,16,16,16,16,16,254, + 6,9,9,7,0,0,4,4,4,4,4,132,132,132,120,6, + 9,9,7,0,0,132,136,144,160,192,160,144,136,132,6,9, + 9,7,0,0,128,128,128,128,128,128,128,128,252,7,9,9, + 7,0,0,130,198,170,146,146,130,130,130,130,6,9,9,7, + 0,0,132,196,164,148,140,132,132,132,132,6,9,9,7,0, + 0,120,132,132,132,132,132,132,132,120,6,9,9,7,0,0, + 248,132,132,132,248,128,128,128,128,6,10,10,7,0,255,120, + 132,132,132,132,132,164,148,120,4,6,9,9,7,0,0,248, + 132,132,132,248,132,132,132,132,6,9,9,7,0,0,120,132, + 128,128,120,4,4,132,120,7,9,9,7,0,0,254,16,16, + 16,16,16,16,16,16,6,9,9,7,0,0,132,132,132,132, + 132,132,132,132,120,7,9,9,7,0,0,130,130,130,68,68, + 40,40,16,16,7,9,9,7,0,0,130,130,130,130,146,146, + 170,198,130,6,9,9,7,0,0,132,132,132,72,48,48,72, + 132,132,7,9,9,7,0,0,130,130,130,68,40,16,16,16, + 16,6,9,9,7,0,0,252,4,8,16,32,64,128,128,252, + 3,12,12,7,2,255,224,128,128,128,128,128,128,128,128,128, + 128,224,6,12,12,7,1,254,128,128,64,64,32,32,16,16, + 8,8,4,4,3,12,12,7,1,255,224,32,32,32,32,32, + 32,32,32,32,32,224,5,3,3,7,1,6,32,80,136,7, + 1,1,7,0,254,254,3,3,3,7,1,8,128,64,32,6, + 6,6,7,0,0,124,132,132,140,148,100,6,9,9,7,0, + 0,128,128,128,248,132,132,132,132,248,6,6,6,7,0,0, + 120,132,128,128,128,124,6,9,9,7,0,0,4,4,4,124, + 132,132,132,132,124,6,6,6,7,0,0,120,132,252,128,128, + 124,4,9,9,7,1,0,48,64,64,224,64,64,64,64,64, + 6,9,9,7,0,253,124,132,132,132,132,124,4,4,120,6, + 9,9,7,0,0,128,128,128,248,132,132,132,132,132,3,9, + 9,7,2,0,64,0,0,192,64,64,64,64,224,3,12,12, + 7,1,253,32,0,0,96,32,32,32,32,32,32,32,192,6, + 9,9,7,0,0,128,128,128,136,144,160,208,136,132,3,9, + 9,7,2,0,192,64,64,64,64,64,64,64,224,7,6,6, + 7,0,0,252,146,146,146,146,146,6,6,6,7,0,0,152, + 164,196,132,132,132,6,6,6,7,0,0,120,132,132,132,132, + 120,6,9,9,7,0,253,248,132,132,132,132,248,128,128,128, + 6,9,9,7,0,253,124,132,132,132,132,124,4,4,4,6, + 6,6,7,0,0,152,164,192,128,128,128,6,6,6,7,0, + 0,124,128,120,4,4,248,4,9,9,7,1,0,64,64,64, + 224,64,64,64,64,48,6,6,6,7,0,0,132,132,132,140, + 148,100,6,6,6,7,0,0,132,132,72,72,48,48,7,6, + 6,7,0,0,146,146,146,146,146,108,6,6,6,7,0,0, + 132,72,48,48,72,132,6,9,9,7,0,253,132,132,132,132, + 132,124,4,4,120,6,6,6,7,0,0,252,8,16,32,64, + 252,4,15,15,7,1,253,48,64,64,64,64,64,64,128,64, + 64,64,64,64,64,48,1,13,13,7,3,254,128,128,128,128, + 128,128,128,128,128,128,128,128,128,4,15,15,7,1,253,192, + 32,32,32,32,32,32,16,32,32,32,32,32,32,192,6,2, + 2,7,0,4,100,152,0,0,0,7,0,0}; +/* + Fontname: ProFont17 + Copyright: ProFont Distribution 2.2 Ñ Generated by Fontographer 4.1.5 + Capital A Height: 11, '1' Height: 11 + Calculated Max Values w= 9 h=17 x= 5 y=10 dx=14 dy= 0 ascent=14 len=32 + Font Bounding box w=14 h=16 x= 0 y=-3 + Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 + Pure Font ascent =11 descent=-3 + X Font ascent =13 descent=-3 + Max Font ascent =14 descent=-3 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_profont17[3681] U8G_FONT_SECTION("u8g_font_profont17") = { + 0,14,16,0,253,11,2,35,4,78,32,255,253,14,253,13, + 253,0,0,0,14,0,0,2,11,11,14,3,0,192,192,192, + 192,192,192,192,192,0,192,192,5,5,5,14,1,8,216,216, + 216,216,216,7,7,7,14,1,3,108,254,254,108,254,254,108, + 8,15,15,14,0,254,24,24,60,126,219,216,124,62,31,219, + 219,126,60,24,24,8,11,11,14,0,0,63,127,219,222,124, + 60,62,123,219,206,196,8,11,11,14,0,0,48,120,204,204, + 216,112,243,222,204,254,123,2,5,5,14,3,8,192,192,192, + 192,192,6,15,15,14,1,254,12,24,48,96,192,192,192,192, + 192,192,192,96,48,24,12,6,15,15,14,1,254,192,96,48, + 24,12,12,12,12,12,12,12,24,48,96,192,8,8,8,14, + 0,3,24,219,255,60,60,255,219,24,8,8,8,14,0,1, + 24,24,24,255,255,24,24,24,4,6,6,14,1,253,112,112, + 112,48,96,192,5,2,2,14,1,4,248,248,3,3,3,14, + 2,0,224,224,224,9,16,32,14,0,253,1,128,1,128,3, + 0,3,0,6,0,6,0,12,0,12,0,24,0,24,0,48, + 0,48,0,96,0,96,0,192,0,192,0,8,11,11,14,0, + 0,60,126,195,199,207,219,243,227,195,126,60,8,11,11,14, + 0,0,24,120,120,24,24,24,24,24,24,255,255,8,11,11, + 14,0,0,60,126,195,195,6,12,24,48,96,255,255,8,11, + 11,14,0,0,60,126,195,195,30,28,6,195,195,126,60,8, + 11,11,14,0,0,6,14,30,54,102,198,255,255,6,15,15, + 8,11,11,14,0,0,255,255,192,252,254,3,3,3,195,126, + 60,8,11,11,14,0,0,62,126,192,252,254,195,195,195,195, + 126,60,8,11,11,14,0,0,255,255,3,3,6,12,24,24, + 24,24,24,8,11,11,14,0,0,60,126,195,195,126,60,126, + 195,195,126,60,8,11,11,14,0,0,60,126,195,195,195,195, + 127,63,3,126,124,3,8,8,14,2,0,224,224,224,0,0, + 224,224,224,4,11,11,14,1,253,112,112,112,0,0,112,112, + 112,48,96,192,7,11,11,14,1,0,6,12,24,48,96,192, + 96,48,24,12,6,8,5,5,14,0,3,255,255,0,255,255, + 7,11,11,14,1,0,192,96,48,24,12,6,12,24,48,96, + 192,8,11,11,14,0,0,60,126,195,195,6,12,24,16,0, + 24,24,8,11,11,14,0,0,60,126,195,207,223,219,223,206, + 192,127,63,8,11,11,14,0,0,24,60,60,102,102,195,255, + 255,195,195,195,8,11,11,14,0,0,252,254,195,195,254,252, + 198,195,195,254,252,8,11,11,14,0,0,60,126,195,195,192, + 192,192,195,195,126,60,8,11,11,14,0,0,252,254,195,195, + 195,195,195,195,195,254,252,8,11,11,14,0,0,255,255,192, + 192,252,252,192,192,192,255,255,8,11,11,14,0,0,255,255, + 192,192,252,252,192,192,192,192,192,8,11,11,14,0,0,60, + 126,195,195,192,207,207,195,195,126,60,8,11,11,14,0,0, + 195,195,195,195,255,255,195,195,195,195,195,8,11,11,14,0, + 0,255,255,24,24,24,24,24,24,24,255,255,8,11,11,14, + 0,0,3,3,3,3,3,3,195,195,195,126,60,8,11,11, + 14,0,0,195,198,204,216,240,224,240,216,204,198,195,8,11, + 11,14,0,0,192,192,192,192,192,192,192,192,192,255,255,8, + 11,11,14,0,0,195,231,255,255,219,219,219,195,195,195,195, + 8,11,11,14,0,0,195,227,243,219,207,199,195,195,195,195, + 195,8,11,11,14,0,0,60,126,195,195,195,195,195,195,195, + 126,60,8,11,11,14,0,0,252,254,195,195,254,252,192,192, + 192,192,192,8,13,13,14,0,254,60,126,195,195,195,195,195, + 219,207,126,62,6,3,8,11,11,14,0,0,252,254,195,195, + 254,252,198,195,195,195,195,8,11,11,14,0,0,60,126,195, + 192,124,62,7,195,195,126,60,8,11,11,14,0,0,255,255, + 24,24,24,24,24,24,24,24,24,8,11,11,14,0,0,195, + 195,195,195,195,195,195,195,195,126,60,8,11,11,14,0,0, + 195,195,195,195,195,102,102,60,60,24,24,8,11,11,14,0, + 0,195,195,195,195,219,219,219,255,255,231,195,8,11,11,14, + 0,0,195,195,195,102,60,24,60,102,195,195,195,8,11,11, + 14,0,0,195,195,195,195,231,126,60,24,24,24,24,8,11, + 11,14,0,0,255,255,3,6,12,24,48,96,192,255,255,4, + 15,15,14,3,254,240,240,192,192,192,192,192,192,192,192,192, + 192,192,240,240,9,16,32,14,0,253,192,0,192,0,96,0, + 96,0,48,0,48,0,24,0,24,0,12,0,12,0,6,0, + 6,0,3,0,3,0,1,128,1,128,4,15,15,14,1,254, + 240,240,48,48,48,48,48,48,48,48,48,48,48,240,240,7, + 5,5,14,1,6,16,56,108,198,130,9,2,4,14,0,253, + 255,128,255,128,3,4,4,14,1,9,128,192,96,32,8,8, + 8,14,0,0,63,127,195,195,199,207,123,51,8,11,11,14, + 0,0,192,192,192,252,254,195,195,195,195,254,252,8,8,8, + 14,0,0,60,126,195,195,192,192,127,63,8,11,11,14,0, + 0,3,3,3,63,127,195,195,195,195,127,63,8,8,8,14, + 0,0,60,126,195,255,255,192,127,63,6,11,11,14,2,0, + 28,60,96,240,240,96,96,96,96,96,96,8,11,11,14,0, + 253,63,127,195,195,195,195,127,63,3,62,60,8,11,11,14, + 0,0,192,192,192,252,254,195,195,195,195,195,195,6,11,11, + 14,1,0,48,48,0,240,240,48,48,48,48,252,252,5,14, + 14,14,0,253,24,24,0,120,120,24,24,24,24,24,24,24, + 240,224,8,11,11,14,0,0,192,192,192,198,204,216,240,248, + 204,198,195,6,11,11,14,1,0,240,240,48,48,48,48,48, + 48,48,252,252,8,8,8,14,0,0,252,254,219,219,219,219, + 219,219,8,8,8,14,0,0,204,222,243,227,195,195,195,195, + 8,8,8,14,0,0,60,126,195,195,195,195,126,60,8,11, + 11,14,0,253,252,254,195,195,195,195,254,252,192,192,192,8, + 11,11,14,0,253,63,127,195,195,195,195,127,63,3,3,3, + 8,8,8,14,0,0,204,222,243,227,192,192,192,192,8,8, + 8,14,0,0,63,255,192,252,63,3,255,252,6,11,11,14, + 2,0,96,96,96,240,240,96,96,96,96,60,28,8,8,8, + 14,0,0,195,195,195,195,199,207,123,51,8,8,8,14,0, + 0,195,195,195,102,102,60,60,24,8,8,8,14,0,0,219, + 219,219,219,219,219,255,102,8,8,8,14,0,0,195,102,60, + 24,24,60,102,195,8,11,11,14,0,253,195,195,195,195,195, + 195,127,63,3,62,60,7,8,8,14,0,0,254,254,12,24, + 48,96,254,254,5,17,17,14,1,253,24,56,48,48,48,48, + 48,96,192,96,48,48,48,48,48,56,24,2,15,15,14,3, + 254,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 5,17,17,14,2,253,192,224,96,96,96,96,96,48,24,48, + 96,96,96,96,96,224,192,8,3,3,14,0,5,113,219,142, + 0,0,0,14,0,0,0,0,0,14,0,0,0,0,0,14, + 0,0,4,5,5,14,0,254,48,48,48,96,192,8,17,17, + 14,0,253,7,15,24,24,24,24,60,60,24,24,24,24,24, + 24,24,240,224,7,5,5,14,0,254,54,54,54,108,216,8, + 2,2,14,0,0,219,219,4,9,9,14,2,2,96,96,240, + 240,96,96,96,96,96,4,9,9,14,2,2,96,96,240,240, + 96,240,240,96,96,6,3,3,14,1,10,48,120,204,9,13, + 26,14,0,0,63,128,127,128,217,128,219,0,222,0,124,0, + 56,0,63,0,127,128,214,128,150,128,31,128,15,0,8,14, + 14,14,0,0,102,60,24,60,126,195,192,124,62,7,195,195, + 126,60,4,7,7,14,0,0,48,96,192,192,192,96,48,8, + 11,11,14,0,0,63,127,216,216,220,220,216,216,216,127,63, + 0,0,0,14,0,0,0,0,0,14,0,0,0,0,0,14, + 0,0,0,0,0,14,0,0,4,5,5,14,3,6,48,96, + 192,192,192,4,5,5,14,3,6,48,48,48,96,192,7,5, + 5,14,1,6,54,108,216,216,216,7,5,5,14,1,6,54, + 54,54,108,216,7,7,7,14,0,2,56,124,254,254,254,124, + 56,5,2,2,14,2,5,248,248,9,2,4,14,0,5,255, + 128,255,128,8,3,3,14,0,9,113,219,142,9,5,10,14, + 0,6,252,128,39,128,39,128,36,128,36,128,8,13,13,14, + 0,0,102,60,24,0,0,63,255,192,252,63,3,255,252,4, + 7,7,14,0,0,192,96,48,48,48,96,192,8,8,8,14, + 0,0,36,126,219,223,223,216,127,39,0,0,0,14,0,0, + 0,0,0,14,0,0,8,14,14,14,0,0,102,102,0,195, + 195,195,195,231,126,60,24,24,24,24,0,0,0,14,0,0, + 2,11,11,14,5,0,192,192,0,192,192,192,192,192,192,192, + 192,8,12,12,14,0,254,24,24,60,126,219,219,216,216,127, + 63,24,24,8,12,12,14,0,0,120,252,204,192,240,240,192, + 192,192,199,254,252,8,8,8,14,0,0,129,66,60,36,36, + 60,66,129,8,11,11,14,0,0,195,102,60,255,255,24,255, + 255,24,24,24,2,15,15,14,3,254,192,192,192,192,192,192, + 0,0,0,192,192,192,192,192,192,8,16,16,14,0,254,60, + 126,99,99,51,216,204,198,99,51,27,204,198,198,126,60,4, + 2,2,14,2,9,144,240,8,11,11,14,0,0,120,252,134, + 123,251,195,251,123,134,252,120,6,9,9,14,2,5,60,124, + 204,204,124,60,0,252,252,8,7,7,14,0,0,51,102,204, + 204,204,102,51,8,4,4,14,0,2,255,255,3,3,8,2, + 2,14,0,4,255,255,8,10,10,14,0,1,248,252,6,243, + 251,219,243,251,222,204,5,2,2,14,2,9,248,248,6,6, + 6,14,2,6,48,120,204,204,120,48,8,9,9,14,0,0, + 24,24,24,255,255,24,24,255,255,4,6,6,14,2,8,96, + 144,16,32,64,240,4,6,6,14,2,8,96,144,32,16,144, + 96,4,4,4,14,3,9,48,112,224,192,8,11,11,14,0, + 253,204,204,204,204,204,204,255,243,192,192,192,8,13,13,14, + 0,0,63,127,219,219,219,219,127,63,27,27,27,27,27,3, + 3,3,14,3,4,224,224,224,4,5,5,14,1,253,112,112, + 48,96,192,3,6,6,14,3,8,192,64,64,64,64,224,6, + 9,9,14,2,5,48,120,204,204,120,48,0,252,252,8,7, + 7,14,0,0,204,102,51,51,51,102,204,9,14,28,14,0, + 0,96,0,32,0,32,0,32,128,33,0,114,0,4,0,8, + 0,17,0,35,0,69,0,137,0,15,128,1,0,9,14,28, + 14,0,0,96,0,32,0,32,0,32,128,33,0,114,0,4, + 0,8,0,19,0,36,128,64,128,129,0,2,0,7,128,9, + 14,28,14,0,0,48,0,72,0,16,0,8,128,73,0,50, + 0,4,0,8,0,17,0,35,0,69,0,137,0,15,128,1, + 0,8,11,11,14,0,0,24,24,0,8,24,48,96,195,195, + 126,60,8,14,14,14,0,0,96,48,24,24,60,60,102,102, + 195,255,255,195,195,195,8,14,14,14,0,0,6,12,24,24, + 60,60,102,102,195,255,255,195,195,195,8,14,14,14,0,0, + 24,60,102,24,60,60,102,102,195,255,255,195,195,195,8,14, + 14,14,0,0,115,219,142,24,60,60,102,102,195,255,255,195, + 195,195,8,14,14,14,0,0,102,102,0,24,60,60,102,102, + 195,255,255,195,195,195,8,14,14,14,0,0,24,60,36,60, + 24,60,102,102,195,255,255,195,195,195,8,11,11,14,0,0, + 63,127,216,216,252,252,216,216,216,223,223,8,14,14,14,0, + 253,60,126,195,195,192,192,192,195,195,126,60,24,48,96,8, + 14,14,14,0,0,96,48,24,255,255,192,192,252,252,192,192, + 192,255,255,8,14,14,14,0,0,6,12,24,255,255,192,192, + 252,252,192,192,192,255,255,8,14,14,14,0,0,24,60,102, + 255,255,192,192,252,252,192,192,192,255,255,8,14,14,14,0, + 0,102,102,0,255,255,192,192,252,252,192,192,192,255,255,8, + 14,14,14,0,0,96,48,24,255,255,24,24,24,24,24,24, + 24,255,255,8,14,14,14,0,0,6,12,24,255,255,24,24, + 24,24,24,24,24,255,255,8,14,14,14,0,0,24,60,102, + 255,255,24,24,24,24,24,24,24,255,255,8,14,14,14,0, + 0,102,102,0,255,255,24,24,24,24,24,24,24,255,255,8, + 11,11,14,0,0,124,126,99,99,243,243,99,99,99,126,124, + 8,14,14,14,0,0,113,219,142,195,227,243,219,207,199,195, + 195,195,195,195,8,14,14,14,0,0,96,48,24,60,126,195, + 195,195,195,195,195,195,126,60,8,14,14,14,0,0,6,12, + 24,60,126,195,195,195,195,195,195,195,126,60,8,14,14,14, + 0,0,24,60,102,0,60,126,195,195,195,195,195,195,126,60, + 8,14,14,14,0,0,113,219,142,60,126,195,195,195,195,195, + 195,195,126,60,8,14,14,14,0,0,102,102,0,60,126,195, + 195,195,195,195,195,195,126,60,8,7,7,14,0,2,195,102, + 60,24,60,102,195,8,11,11,14,0,0,60,126,195,199,207, + 219,243,227,195,126,60,8,14,14,14,0,0,96,48,24,195, + 195,195,195,195,195,195,195,195,126,60,8,14,14,14,0,0, + 6,12,24,195,195,195,195,195,195,195,195,195,126,60,8,14, + 14,14,0,0,24,60,102,0,195,195,195,195,195,195,195,195, + 126,60,8,14,14,14,0,0,102,102,0,195,195,195,195,195, + 195,195,195,195,126,60,8,14,14,14,0,0,6,12,24,195, + 195,195,195,231,126,60,24,24,24,24,8,11,11,14,0,0, + 192,192,252,254,195,195,254,252,192,192,192,8,15,15,14,0, + 254,28,62,99,195,195,198,204,204,198,195,195,222,220,192,192, + 8,13,13,14,0,0,16,24,12,4,0,63,127,195,195,199, + 207,123,51,8,13,13,14,0,0,4,12,24,16,0,63,127, + 195,195,199,207,123,51,8,12,12,14,0,0,24,60,102,0, + 63,127,195,195,199,207,123,51,8,12,12,14,0,0,113,219, + 142,0,63,127,195,195,199,207,123,51,8,11,11,14,0,0, + 102,102,0,63,127,195,195,199,207,123,51,8,12,12,14,0, + 0,24,36,36,24,63,127,195,195,199,207,123,51,8,8,8, + 14,0,0,60,126,219,223,223,216,127,63,8,11,11,14,0, + 253,60,126,195,195,192,192,127,63,24,48,96,8,13,13,14, + 0,0,32,48,24,8,0,60,126,195,255,255,192,127,63,8, + 13,13,14,0,0,4,12,24,16,0,60,126,195,255,255,192, + 127,63,8,12,12,14,0,0,24,60,102,0,60,126,195,255, + 255,192,127,63,8,11,11,14,0,0,102,102,0,60,126,195, + 255,255,192,127,63,6,13,13,14,1,0,128,192,96,32,0, + 240,240,48,48,48,48,252,252,6,13,13,14,1,0,8,24, + 48,32,0,240,240,48,48,48,48,252,252,6,12,12,14,1, + 0,48,120,204,0,240,240,48,48,48,48,252,252,6,11,11, + 14,1,0,204,204,0,240,240,48,48,48,48,252,252,8,13, + 13,14,0,0,72,48,48,72,4,62,127,195,195,195,195,126, + 60,8,12,12,14,0,0,113,219,142,0,204,222,243,227,195, + 195,195,195,8,13,13,14,0,0,32,48,24,8,0,60,126, + 195,195,195,195,126,60,8,13,13,14,0,0,4,12,24,16, + 0,60,126,195,195,195,195,126,60,8,12,12,14,0,0,24, + 60,102,0,60,126,195,195,195,195,126,60,8,12,12,14,0, + 0,113,219,142,0,60,126,195,195,195,195,126,60,8,11,11, + 14,0,0,102,102,0,60,126,195,195,195,195,126,60,8,8, + 8,14,0,2,24,24,0,255,255,0,24,24,8,8,8,14, + 0,0,60,126,199,207,243,227,126,60,8,13,13,14,0,0, + 32,48,24,8,0,195,195,195,195,199,207,123,51,8,13,13, + 14,0,0,4,12,24,16,0,195,195,195,195,199,207,123,51, + 8,12,12,14,0,0,24,60,102,0,195,195,195,195,199,207, + 123,51,8,11,11,14,0,0,102,102,0,195,195,195,195,199, + 207,123,51,8,16,16,14,0,253,4,12,24,16,0,195,195, + 195,195,195,195,127,63,3,62,60,8,14,14,14,0,253,192, + 192,192,252,254,195,195,195,195,254,252,192,192,192,8,14,14, + 14,0,253,102,102,0,195,195,195,195,195,195,127,63,3,62, + 60}; +/* + Fontname: ProFont17 + Copyright: ProFont Distribution 2.2 Ñ Generated by Fontographer 4.1.5 + Capital A Height: 11, '1' Height: 11 + Calculated Max Values w= 9 h=17 x= 3 y= 9 dx=14 dy= 0 ascent=14 len=32 + Font Bounding box w=14 h=16 x= 0 y=-3 + Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 + Pure Font ascent =11 descent=-3 + X Font ascent =13 descent=-3 + Max Font ascent =14 descent=-3 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_profont17r[1590] U8G_FONT_SECTION("u8g_font_profont17r") = { + 0,14,16,0,253,11,2,35,4,78,32,127,253,14,253,13, + 253,0,0,0,14,0,0,2,11,11,14,3,0,192,192,192, + 192,192,192,192,192,0,192,192,5,5,5,14,1,8,216,216, + 216,216,216,7,7,7,14,1,3,108,254,254,108,254,254,108, + 8,15,15,14,0,254,24,24,60,126,219,216,124,62,31,219, + 219,126,60,24,24,8,11,11,14,0,0,63,127,219,222,124, + 60,62,123,219,206,196,8,11,11,14,0,0,48,120,204,204, + 216,112,243,222,204,254,123,2,5,5,14,3,8,192,192,192, + 192,192,6,15,15,14,1,254,12,24,48,96,192,192,192,192, + 192,192,192,96,48,24,12,6,15,15,14,1,254,192,96,48, + 24,12,12,12,12,12,12,12,24,48,96,192,8,8,8,14, + 0,3,24,219,255,60,60,255,219,24,8,8,8,14,0,1, + 24,24,24,255,255,24,24,24,4,6,6,14,1,253,112,112, + 112,48,96,192,5,2,2,14,1,4,248,248,3,3,3,14, + 2,0,224,224,224,9,16,32,14,0,253,1,128,1,128,3, + 0,3,0,6,0,6,0,12,0,12,0,24,0,24,0,48, + 0,48,0,96,0,96,0,192,0,192,0,8,11,11,14,0, + 0,60,126,195,199,207,219,243,227,195,126,60,8,11,11,14, + 0,0,24,120,120,24,24,24,24,24,24,255,255,8,11,11, + 14,0,0,60,126,195,195,6,12,24,48,96,255,255,8,11, + 11,14,0,0,60,126,195,195,30,28,6,195,195,126,60,8, + 11,11,14,0,0,6,14,30,54,102,198,255,255,6,15,15, + 8,11,11,14,0,0,255,255,192,252,254,3,3,3,195,126, + 60,8,11,11,14,0,0,62,126,192,252,254,195,195,195,195, + 126,60,8,11,11,14,0,0,255,255,3,3,6,12,24,24, + 24,24,24,8,11,11,14,0,0,60,126,195,195,126,60,126, + 195,195,126,60,8,11,11,14,0,0,60,126,195,195,195,195, + 127,63,3,126,124,3,8,8,14,2,0,224,224,224,0,0, + 224,224,224,4,11,11,14,1,253,112,112,112,0,0,112,112, + 112,48,96,192,7,11,11,14,1,0,6,12,24,48,96,192, + 96,48,24,12,6,8,5,5,14,0,3,255,255,0,255,255, + 7,11,11,14,1,0,192,96,48,24,12,6,12,24,48,96, + 192,8,11,11,14,0,0,60,126,195,195,6,12,24,16,0, + 24,24,8,11,11,14,0,0,60,126,195,207,223,219,223,206, + 192,127,63,8,11,11,14,0,0,24,60,60,102,102,195,255, + 255,195,195,195,8,11,11,14,0,0,252,254,195,195,254,252, + 198,195,195,254,252,8,11,11,14,0,0,60,126,195,195,192, + 192,192,195,195,126,60,8,11,11,14,0,0,252,254,195,195, + 195,195,195,195,195,254,252,8,11,11,14,0,0,255,255,192, + 192,252,252,192,192,192,255,255,8,11,11,14,0,0,255,255, + 192,192,252,252,192,192,192,192,192,8,11,11,14,0,0,60, + 126,195,195,192,207,207,195,195,126,60,8,11,11,14,0,0, + 195,195,195,195,255,255,195,195,195,195,195,8,11,11,14,0, + 0,255,255,24,24,24,24,24,24,24,255,255,8,11,11,14, + 0,0,3,3,3,3,3,3,195,195,195,126,60,8,11,11, + 14,0,0,195,198,204,216,240,224,240,216,204,198,195,8,11, + 11,14,0,0,192,192,192,192,192,192,192,192,192,255,255,8, + 11,11,14,0,0,195,231,255,255,219,219,219,195,195,195,195, + 8,11,11,14,0,0,195,227,243,219,207,199,195,195,195,195, + 195,8,11,11,14,0,0,60,126,195,195,195,195,195,195,195, + 126,60,8,11,11,14,0,0,252,254,195,195,254,252,192,192, + 192,192,192,8,13,13,14,0,254,60,126,195,195,195,195,195, + 219,207,126,62,6,3,8,11,11,14,0,0,252,254,195,195, + 254,252,198,195,195,195,195,8,11,11,14,0,0,60,126,195, + 192,124,62,7,195,195,126,60,8,11,11,14,0,0,255,255, + 24,24,24,24,24,24,24,24,24,8,11,11,14,0,0,195, + 195,195,195,195,195,195,195,195,126,60,8,11,11,14,0,0, + 195,195,195,195,195,102,102,60,60,24,24,8,11,11,14,0, + 0,195,195,195,195,219,219,219,255,255,231,195,8,11,11,14, + 0,0,195,195,195,102,60,24,60,102,195,195,195,8,11,11, + 14,0,0,195,195,195,195,231,126,60,24,24,24,24,8,11, + 11,14,0,0,255,255,3,6,12,24,48,96,192,255,255,4, + 15,15,14,3,254,240,240,192,192,192,192,192,192,192,192,192, + 192,192,240,240,9,16,32,14,0,253,192,0,192,0,96,0, + 96,0,48,0,48,0,24,0,24,0,12,0,12,0,6,0, + 6,0,3,0,3,0,1,128,1,128,4,15,15,14,1,254, + 240,240,48,48,48,48,48,48,48,48,48,48,48,240,240,7, + 5,5,14,1,6,16,56,108,198,130,9,2,4,14,0,253, + 255,128,255,128,3,4,4,14,1,9,128,192,96,32,8,8, + 8,14,0,0,63,127,195,195,199,207,123,51,8,11,11,14, + 0,0,192,192,192,252,254,195,195,195,195,254,252,8,8,8, + 14,0,0,60,126,195,195,192,192,127,63,8,11,11,14,0, + 0,3,3,3,63,127,195,195,195,195,127,63,8,8,8,14, + 0,0,60,126,195,255,255,192,127,63,6,11,11,14,2,0, + 28,60,96,240,240,96,96,96,96,96,96,8,11,11,14,0, + 253,63,127,195,195,195,195,127,63,3,62,60,8,11,11,14, + 0,0,192,192,192,252,254,195,195,195,195,195,195,6,11,11, + 14,1,0,48,48,0,240,240,48,48,48,48,252,252,5,14, + 14,14,0,253,24,24,0,120,120,24,24,24,24,24,24,24, + 240,224,8,11,11,14,0,0,192,192,192,198,204,216,240,248, + 204,198,195,6,11,11,14,1,0,240,240,48,48,48,48,48, + 48,48,252,252,8,8,8,14,0,0,252,254,219,219,219,219, + 219,219,8,8,8,14,0,0,204,222,243,227,195,195,195,195, + 8,8,8,14,0,0,60,126,195,195,195,195,126,60,8,11, + 11,14,0,253,252,254,195,195,195,195,254,252,192,192,192,8, + 11,11,14,0,253,63,127,195,195,195,195,127,63,3,3,3, + 8,8,8,14,0,0,204,222,243,227,192,192,192,192,8,8, + 8,14,0,0,63,255,192,252,63,3,255,252,6,11,11,14, + 2,0,96,96,96,240,240,96,96,96,96,60,28,8,8,8, + 14,0,0,195,195,195,195,199,207,123,51,8,8,8,14,0, + 0,195,195,195,102,102,60,60,24,8,8,8,14,0,0,219, + 219,219,219,219,219,255,102,8,8,8,14,0,0,195,102,60, + 24,24,60,102,195,8,11,11,14,0,253,195,195,195,195,195, + 195,127,63,3,62,60,7,8,8,14,0,0,254,254,12,24, + 48,96,254,254,5,17,17,14,1,253,24,56,48,48,48,48, + 48,96,192,96,48,48,48,48,48,56,24,2,15,15,14,3, + 254,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 5,17,17,14,2,253,192,224,96,96,96,96,96,48,24,48, + 96,96,96,96,96,224,192,8,3,3,14,0,5,113,219,142, + 0,0,0,14,0,0}; +/* + Fontname: ProFont22 + Copyright: ProFont Distribution 2.2 Ñ Generated by Fontographer 4.1.5 + Capital A Height: 14, '1' Height: 14 + Calculated Max Values w=12 h=22 x= 6 y=12 dx=12 dy= 0 ascent=18 len=44 + Font Bounding box w=12 h=21 x= 0 y=-4 + Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 + Pure Font ascent =14 descent=-4 + X Font ascent =16 descent=-4 + Max Font ascent =18 descent=-4 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_profont22[6454] U8G_FONT_SECTION("u8g_font_profont22") = { + 0,12,21,0,252,14,3,117,7,113,32,255,252,18,252,16, + 252,0,0,0,12,0,0,2,14,14,12,4,0,192,192,192, + 192,192,192,192,192,192,192,0,0,192,192,6,6,6,12,2, + 10,204,204,204,204,204,204,10,10,20,12,0,4,51,0,51, + 0,255,192,255,192,51,0,51,0,255,192,255,192,51,0,51, + 0,10,18,36,12,0,254,12,0,12,0,63,0,127,128,237, + 192,204,192,204,0,236,0,127,0,63,128,13,192,12,192,204, + 192,237,192,127,128,63,0,12,0,12,0,10,14,28,12,0, + 0,63,192,127,192,204,192,205,192,207,128,207,0,127,0,63, + 128,60,192,124,192,236,192,204,192,199,128,195,0,10,14,28, + 12,0,0,62,0,127,0,227,0,199,0,206,0,252,0,120, + 0,120,0,252,192,207,192,199,128,231,128,127,192,60,192,2, + 6,6,12,4,10,192,192,192,192,192,192,6,18,18,12,2, + 254,12,28,56,112,224,192,192,192,192,192,192,192,192,224,112, + 56,28,12,6,18,18,12,2,254,192,224,112,56,28,12,12, + 12,12,12,12,12,12,28,56,112,224,192,10,10,20,12,0, + 4,12,0,12,0,204,192,255,192,63,0,63,0,255,192,204, + 192,12,0,12,0,10,10,20,12,0,2,12,0,12,0,12, + 0,12,0,255,192,255,192,12,0,12,0,12,0,12,0,5, + 9,9,12,2,252,48,120,120,56,24,56,112,224,64,6,2, + 2,12,2,6,252,252,4,4,4,12,3,1,96,240,240,96, + 11,20,40,12,0,252,0,96,0,96,0,192,0,192,1,128, + 1,128,3,0,3,0,6,0,6,0,12,0,12,0,24,0, + 24,0,48,0,48,0,96,0,96,0,192,0,192,0,10,14, + 28,12,0,0,63,0,127,128,225,192,193,192,195,192,199,192, + 206,192,220,192,248,192,240,192,224,192,225,192,127,128,63,0, + 10,14,28,12,0,0,12,0,12,0,124,0,124,0,12,0, + 12,0,12,0,12,0,12,0,12,0,12,0,12,0,255,192, + 255,192,10,14,28,12,0,0,63,0,127,128,225,192,192,192, + 0,192,1,192,3,128,7,0,14,0,28,0,56,0,112,0, + 255,192,255,192,10,14,28,12,0,0,63,0,127,128,225,192, + 192,192,0,192,1,128,15,0,15,128,1,192,0,192,192,192, + 225,192,127,128,63,0,10,14,28,12,0,0,3,0,7,0, + 15,0,31,0,59,0,115,0,227,0,195,0,255,192,255,192, + 3,0,3,0,15,192,15,192,10,14,28,12,0,0,255,192, + 255,192,192,0,192,0,255,0,255,128,1,192,0,192,0,192, + 0,192,192,192,225,192,127,128,63,0,10,14,28,12,0,0, + 63,0,127,0,224,0,192,0,255,0,255,128,193,192,192,192, + 192,192,192,192,192,192,225,192,127,128,63,0,10,14,28,12, + 0,0,255,192,255,192,0,192,0,192,0,192,1,192,3,128, + 7,0,14,0,12,0,12,0,12,0,12,0,12,0,10,14, + 28,12,0,0,63,0,127,128,225,192,192,192,192,192,97,128, + 63,0,127,128,225,192,192,192,192,192,225,192,127,128,63,0, + 10,14,28,12,0,0,63,0,127,128,225,192,192,192,192,192, + 192,192,192,192,224,192,127,192,63,192,0,192,1,192,63,128, + 63,0,4,10,10,12,3,1,96,240,240,96,0,0,96,240, + 240,96,5,15,15,12,2,252,48,120,120,48,0,0,48,120, + 120,56,24,56,112,224,64,8,14,14,12,2,0,3,7,14, + 28,56,112,224,224,112,56,28,14,7,3,10,6,12,12,0, + 4,255,192,255,192,0,0,0,0,255,192,255,192,8,14,14, + 12,2,0,192,224,112,56,28,14,7,7,14,28,56,112,224, + 192,10,14,28,12,0,0,63,0,127,128,225,192,192,192,0, + 192,1,192,3,128,7,0,14,0,12,0,0,0,0,0,12, + 0,12,0,10,14,28,12,0,0,63,0,127,128,225,192,192, + 192,199,192,207,192,204,192,204,192,207,192,199,128,192,0,224, + 0,127,192,63,192,10,14,28,12,0,0,12,0,30,0,30, + 0,51,0,51,0,97,128,97,128,192,192,255,192,255,192,192, + 192,192,192,192,192,192,192,10,14,28,12,0,0,255,0,255, + 128,193,192,192,192,192,192,193,128,255,0,255,128,193,192,192, + 192,192,192,193,192,255,128,255,0,10,14,28,12,0,0,63, + 0,127,128,225,192,192,192,192,0,192,0,192,0,192,0,192, + 0,192,0,192,192,225,192,127,128,63,0,10,14,28,12,0, + 0,255,0,255,128,193,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,193,192,255,128,255,0,10,14,28, + 12,0,0,255,192,255,192,192,0,192,0,192,0,192,0,255, + 0,255,0,192,0,192,0,192,0,192,0,255,192,255,192,10, + 14,28,12,0,0,255,192,255,192,192,0,192,0,192,0,192, + 0,255,0,255,0,192,0,192,0,192,0,192,0,192,0,192, + 0,10,14,28,12,0,0,63,0,127,128,225,192,192,192,192, + 0,192,0,195,192,195,192,192,192,192,192,192,192,225,192,127, + 128,63,0,10,14,28,12,0,0,192,192,192,192,192,192,192, + 192,192,192,192,192,255,192,255,192,192,192,192,192,192,192,192, + 192,192,192,192,192,10,14,28,12,0,0,255,192,255,192,12, + 0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, + 0,12,0,255,192,255,192,10,14,28,12,0,0,0,192,0, + 192,0,192,0,192,0,192,0,192,0,192,0,192,192,192,192, + 192,192,192,225,192,127,128,63,0,10,14,28,12,0,0,193, + 192,195,128,199,0,206,0,220,0,248,0,240,0,248,0,220, + 0,206,0,199,0,195,128,193,192,192,192,10,14,28,12,0, + 0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192, + 0,192,0,192,0,192,0,192,0,255,192,255,192,10,14,28, + 12,0,0,192,192,225,192,243,192,255,192,222,192,204,192,204, + 192,204,192,192,192,192,192,192,192,192,192,192,192,192,192,10, + 14,28,12,0,0,192,192,224,192,240,192,248,192,220,192,206, + 192,199,192,195,192,193,192,192,192,192,192,192,192,192,192,192, + 192,10,14,28,12,0,0,63,0,127,128,225,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,225,192,127, + 128,63,0,10,14,28,12,0,0,255,0,255,128,193,192,192, + 192,192,192,193,192,255,128,255,0,192,0,192,0,192,0,192, + 0,192,0,192,0,10,16,32,12,0,254,63,0,127,128,225, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,204, + 192,239,192,127,128,63,128,1,192,0,192,10,14,28,12,0, + 0,255,0,255,128,193,192,192,192,192,192,193,128,255,0,255, + 128,193,192,192,192,192,192,192,192,192,192,192,192,10,14,28, + 12,0,0,63,0,127,128,225,192,192,192,192,0,224,0,127, + 0,63,128,1,192,0,192,192,192,225,192,127,128,63,0,10, + 14,28,12,0,0,255,192,255,192,12,0,12,0,12,0,12, + 0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, + 0,10,14,28,12,0,0,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,225,192,127, + 128,63,0,10,14,28,12,0,0,192,192,192,192,192,192,192, + 192,192,192,192,192,97,128,97,128,51,0,51,0,30,0,30, + 0,12,0,12,0,10,14,28,12,0,0,192,192,192,192,192, + 192,192,192,192,192,192,192,204,192,204,192,204,192,222,192,255, + 192,243,192,225,192,192,192,10,14,28,12,0,0,192,192,192, + 192,192,192,225,192,115,128,63,0,30,0,30,0,63,0,115, + 128,225,192,192,192,192,192,192,192,10,14,28,12,0,0,192, + 192,192,192,192,192,192,192,192,192,225,192,115,128,63,0,30, + 0,12,0,12,0,12,0,12,0,12,0,10,14,28,12,0, + 0,255,192,255,192,0,192,1,192,3,128,7,0,14,0,28, + 0,56,0,112,0,224,0,192,0,255,192,255,192,4,18,18, + 12,4,254,240,240,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,240,240,11,20,40,12,1,252,192,0,192,0,96, + 0,96,0,48,0,48,0,24,0,24,0,12,0,12,0,6, + 0,6,0,3,0,3,0,1,128,1,128,0,192,0,192,0, + 96,0,96,4,18,18,12,2,254,240,240,48,48,48,48,48, + 48,48,48,48,48,48,48,48,48,240,240,10,6,12,12,0, + 8,12,0,30,0,63,0,115,128,225,192,64,128,12,2,4, + 12,0,252,255,240,255,240,4,4,4,12,2,12,192,224,112, + 48,10,10,20,12,0,0,63,192,127,192,224,192,192,192,192, + 192,193,192,195,192,231,192,126,192,60,192,10,14,28,12,0, + 0,192,0,192,0,192,0,192,0,255,0,255,128,193,192,192, + 192,192,192,192,192,192,192,193,192,255,128,255,0,10,10,20, + 12,0,0,63,0,127,128,225,192,192,192,192,0,192,0,192, + 0,224,0,127,192,63,192,10,14,28,12,0,0,0,192,0, + 192,0,192,0,192,63,192,127,192,224,192,192,192,192,192,192, + 192,192,192,224,192,127,192,63,192,10,10,20,12,0,0,63, + 0,127,128,225,192,192,192,255,192,255,192,192,0,224,0,127, + 192,63,192,8,14,14,12,2,0,15,31,56,48,252,252,48, + 48,48,48,48,48,48,48,10,14,28,12,0,252,63,192,127, + 192,224,192,192,192,192,192,192,192,192,192,224,192,127,192,63, + 192,0,192,1,192,63,128,63,0,10,14,28,12,0,0,192, + 0,192,0,192,0,192,0,255,0,255,128,193,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,6,14,14,12,2, + 0,48,48,0,0,240,240,48,48,48,48,48,48,252,252,6, + 18,18,12,0,252,12,12,0,0,60,60,12,12,12,12,12, + 12,12,12,12,28,248,240,10,14,28,12,0,0,192,0,192, + 0,192,0,192,0,195,128,199,0,206,0,220,0,252,0,254, + 0,231,0,195,128,193,192,192,192,6,14,14,12,2,0,240, + 240,48,48,48,48,48,48,48,48,48,48,252,252,10,10,20, + 12,0,0,255,0,255,128,205,192,204,192,204,192,204,192,204, + 192,204,192,204,192,204,192,10,10,20,12,0,0,207,0,223, + 128,249,192,240,192,224,192,192,192,192,192,192,192,192,192,192, + 192,10,10,20,12,0,0,63,0,127,128,225,192,192,192,192, + 192,192,192,192,192,225,192,127,128,63,0,10,14,28,12,0, + 252,255,0,255,128,193,192,192,192,192,192,192,192,192,192,193, + 192,255,128,255,0,192,0,192,0,192,0,192,0,10,14,28, + 12,0,252,63,192,127,192,224,192,192,192,192,192,192,192,192, + 192,224,192,127,192,63,192,0,192,0,192,0,192,0,192,10, + 10,20,12,0,0,207,0,223,128,249,192,240,192,224,0,192, + 0,192,0,192,0,192,0,192,0,10,10,20,12,0,0,63, + 192,127,192,192,0,192,0,127,0,63,128,0,192,0,192,255, + 128,255,0,8,14,14,12,2,0,48,48,48,48,252,252,48, + 48,48,48,48,56,31,15,10,10,20,12,0,0,192,192,192, + 192,192,192,192,192,192,192,193,192,195,192,231,192,126,192,60, + 192,10,10,20,12,0,0,192,192,192,192,192,192,97,128,97, + 128,51,128,51,0,30,0,30,0,12,0,10,10,20,12,0, + 0,204,192,204,192,204,192,204,192,204,192,204,192,204,192,204, + 192,127,128,51,0,10,10,20,12,0,0,192,192,225,192,115, + 128,63,0,30,0,30,0,63,0,115,128,225,192,192,192,10, + 14,28,12,0,252,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,224,192,127,192,63,192,0,192,1,192,63,128,63, + 0,10,10,20,12,0,0,255,192,255,192,3,128,7,0,14, + 0,28,0,56,0,112,0,255,192,255,192,6,22,22,12,2, + 252,12,28,56,48,48,48,48,48,48,112,224,224,112,48,48, + 48,48,48,48,56,28,12,2,18,18,12,4,254,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,6, + 22,22,12,2,252,192,224,112,48,48,48,48,48,48,56,28, + 28,56,48,48,48,48,48,48,112,224,192,10,4,8,12,0, + 6,48,192,124,192,207,128,195,0,0,0,0,12,0,0,0, + 0,0,12,0,0,0,0,0,12,0,0,4,7,7,12,0, + 253,48,48,48,48,112,224,64,10,22,44,12,0,252,3,192, + 7,192,14,0,12,0,12,0,12,0,12,0,12,0,63,0, + 63,0,12,0,12,0,12,0,12,0,12,0,12,0,12,0, + 12,0,12,0,28,0,248,0,240,0,8,7,7,12,0,253, + 51,51,51,51,119,238,68,10,2,4,12,0,0,204,192,204, + 192,6,10,10,12,2,4,48,48,252,252,48,48,48,48,48, + 48,6,10,10,12,2,4,48,48,252,252,48,48,252,252,48, + 48,6,4,4,12,2,12,48,120,252,204,12,16,32,12,0, + 0,63,240,127,240,204,224,205,192,207,128,207,0,126,0,60, + 0,60,192,127,224,243,48,243,48,179,48,51,48,31,224,12, + 192,10,18,36,12,0,0,51,0,63,0,30,0,12,0,63, + 0,127,128,225,192,192,192,192,0,224,0,127,0,63,128,1, + 192,0,192,192,192,225,192,127,128,63,0,4,10,10,12,0, + 255,48,112,96,224,192,192,224,96,112,48,10,14,28,12,0, + 0,63,192,127,192,236,0,204,0,204,0,204,0,207,0,207, + 0,204,0,204,0,204,0,236,0,127,192,63,192,0,0,0, + 12,0,0,0,0,0,12,0,0,0,0,0,12,0,0,0, + 0,0,12,0,0,4,7,7,12,4,8,32,112,224,192,192, + 192,192,4,7,7,12,4,7,48,48,48,48,112,224,64,8, + 7,7,12,2,8,34,119,238,204,204,204,204,8,7,7,12, + 2,7,51,51,51,51,119,238,68,10,10,20,12,0,2,30, + 0,127,128,127,128,255,192,255,192,255,192,255,192,127,128,127, + 128,30,0,6,2,2,12,2,6,252,252,12,2,4,12,0, + 6,255,240,255,240,10,4,8,12,0,12,48,192,124,192,207, + 128,195,0,12,6,12,12,0,8,255,48,255,240,51,240,51, + 240,51,48,51,48,10,16,32,12,0,0,51,0,63,0,30, + 0,12,0,0,0,0,0,63,192,127,192,192,0,192,0,127, + 0,63,128,0,192,0,192,255,128,255,0,4,10,10,12,0, + 255,192,224,96,112,48,48,112,96,224,192,10,10,20,12,0, + 0,51,0,127,128,204,192,204,192,207,192,207,192,204,0,204, + 0,127,192,51,192,0,0,0,12,0,0,0,0,0,12,0, + 0,10,18,36,12,0,0,51,0,51,0,0,0,0,0,192, + 192,192,192,192,192,192,192,192,192,225,192,115,128,63,0,30, + 0,12,0,12,0,12,0,12,0,12,0,0,0,0,12,0, + 0,2,14,14,12,6,0,192,192,0,0,192,192,192,192,192, + 192,192,192,192,192,10,14,28,12,0,254,12,0,12,0,63, + 0,127,128,237,192,204,192,204,0,204,0,204,0,236,0,127, + 192,63,192,12,0,12,0,10,16,32,12,0,0,60,0,126, + 0,231,0,195,0,192,0,192,0,252,0,252,0,192,0,192, + 0,192,0,192,0,192,192,193,192,255,128,255,0,10,10,20, + 12,0,0,64,128,225,192,127,128,63,0,51,0,51,0,63, + 0,127,128,225,192,64,128,10,14,28,12,0,0,192,192,225, + 192,115,128,63,0,255,192,255,192,12,0,12,0,255,192,255, + 192,12,0,12,0,12,0,12,0,2,18,18,12,4,254,192, + 192,192,192,192,192,192,192,0,0,192,192,192,192,192,192,192, + 192,10,20,40,12,0,254,31,0,127,128,97,192,224,192,112, + 192,56,192,220,0,206,0,199,0,227,128,113,192,56,192,28, + 192,14,192,199,0,195,128,193,192,225,128,127,128,62,0,6, + 2,2,12,2,12,204,204,10,14,28,12,0,0,120,0,254, + 0,135,0,1,128,61,128,124,192,192,192,192,192,124,192,61, + 128,1,128,135,0,254,0,120,0,8,12,12,12,2,6,63, + 127,227,195,195,227,127,63,0,0,255,255,10,10,20,12,0, + 255,48,192,113,192,97,128,227,128,195,0,195,0,227,128,97, + 128,113,192,48,192,10,6,12,12,0,2,255,192,255,192,0, + 192,0,192,0,192,0,192,10,2,4,12,0,6,255,192,255, + 192,10,12,24,12,0,2,120,0,254,0,135,0,1,128,241, + 128,248,192,204,192,204,192,248,192,249,192,223,128,207,0,6, + 2,2,12,2,12,252,252,8,8,8,12,2,8,60,126,231, + 195,195,231,126,60,10,12,24,12,0,0,12,0,12,0,12, + 0,12,0,255,192,255,192,12,0,12,0,12,0,12,0,255, + 192,255,192,5,7,7,12,3,11,112,136,8,16,32,64,248, + 5,7,7,12,3,11,112,136,8,48,8,136,112,4,4,4, + 12,4,12,48,112,224,192,10,14,28,12,0,252,195,0,195, + 0,195,0,195,0,195,0,195,0,195,0,199,128,255,192,252, + 192,192,0,192,0,192,0,192,0,10,16,32,12,0,0,31, + 192,127,192,124,192,236,192,204,192,204,192,236,192,124,192,127, + 192,31,192,12,192,12,192,12,192,12,192,12,192,12,192,4, + 4,4,12,4,4,96,240,240,96,4,6,6,12,2,252,240, + 240,48,112,224,64,5,7,7,12,3,11,32,224,32,32,32, + 32,248,8,12,12,12,2,6,60,126,231,195,195,231,126,60, + 0,0,255,255,10,10,20,12,0,255,195,0,227,128,97,128, + 113,192,48,192,48,192,113,192,97,128,227,128,195,0,12,18, + 36,12,0,0,16,0,112,0,16,0,16,0,16,16,16,32, + 124,64,0,128,1,0,2,0,4,0,8,64,16,192,33,64, + 66,64,131,224,0,64,0,224,12,18,36,12,0,0,16,0, + 112,0,16,0,16,0,16,16,16,32,124,64,0,128,1,0, + 2,0,4,0,9,192,18,32,32,32,64,64,128,128,1,0, + 3,224,12,18,36,12,0,0,56,0,68,0,4,0,24,0, + 4,16,68,32,56,64,0,128,1,0,2,0,4,0,8,64, + 16,192,33,64,66,64,131,224,0,64,0,224,10,14,28,12, + 0,0,12,0,12,0,0,0,0,0,12,0,28,0,56,0, + 112,0,224,0,192,0,192,192,225,192,127,128,63,0,10,18, + 36,12,0,0,48,0,56,0,28,0,12,0,12,0,30,0, + 30,0,51,0,51,0,97,128,97,128,192,192,255,192,255,192, + 192,192,192,192,192,192,192,192,10,18,36,12,0,0,3,0, + 7,0,14,0,12,0,12,0,30,0,30,0,51,0,51,0, + 97,128,97,128,192,192,255,192,255,192,192,192,192,192,192,192, + 192,192,10,18,36,12,0,0,12,0,30,0,63,0,51,0, + 12,0,30,0,30,0,51,0,51,0,97,128,97,128,192,192, + 255,192,255,192,192,192,192,192,192,192,192,192,10,18,36,12, + 0,0,48,192,124,192,207,128,195,0,12,0,30,0,30,0, + 51,0,51,0,97,128,97,128,192,192,255,192,255,192,192,192, + 192,192,192,192,192,192,10,18,36,12,0,0,51,0,51,0, + 0,0,0,0,12,0,30,0,30,0,51,0,51,0,97,128, + 97,128,192,192,255,192,255,192,192,192,192,192,192,192,192,192, + 10,18,36,12,0,0,12,0,30,0,51,0,51,0,30,0, + 30,0,30,0,51,0,51,0,97,128,97,128,192,192,255,192, + 255,192,192,192,192,192,192,192,192,192,10,14,28,12,0,0, + 63,192,127,192,236,0,204,0,204,0,204,0,255,0,255,0, + 204,0,204,0,204,0,204,0,207,192,207,192,10,18,36,12, + 0,252,63,0,127,128,225,192,192,192,192,0,192,0,192,0, + 192,0,192,0,192,0,192,192,225,192,127,128,63,0,12,0, + 28,0,56,0,16,0,10,18,36,12,0,0,48,0,56,0, + 28,0,12,0,255,192,255,192,192,0,192,0,192,0,192,0, + 255,0,255,0,192,0,192,0,192,0,192,0,255,192,255,192, + 10,18,36,12,0,0,3,0,7,0,14,0,12,0,255,192, + 255,192,192,0,192,0,192,0,192,0,255,0,255,0,192,0, + 192,0,192,0,192,0,255,192,255,192,10,18,36,12,0,0, + 12,0,30,0,63,0,51,0,255,192,255,192,192,0,192,0, + 192,0,192,0,255,0,255,0,192,0,192,0,192,0,192,0, + 255,192,255,192,10,18,36,12,0,0,51,0,51,0,0,0, + 0,0,255,192,255,192,192,0,192,0,192,0,192,0,255,0, + 255,0,192,0,192,0,192,0,192,0,255,192,255,192,10,18, + 36,12,0,0,48,0,56,0,28,0,12,0,255,192,255,192, + 12,0,12,0,12,0,12,0,12,0,12,0,12,0,12,0, + 12,0,12,0,255,192,255,192,10,18,36,12,0,0,3,0, + 7,0,14,0,12,0,255,192,255,192,12,0,12,0,12,0, + 12,0,12,0,12,0,12,0,12,0,12,0,12,0,255,192, + 255,192,10,18,36,12,0,0,12,0,30,0,63,0,51,0, + 255,192,255,192,12,0,12,0,12,0,12,0,12,0,12,0, + 12,0,12,0,12,0,12,0,255,192,255,192,10,18,36,12, + 0,0,51,0,51,0,0,0,0,0,255,192,255,192,12,0, + 12,0,12,0,12,0,12,0,12,0,12,0,12,0,12,0, + 12,0,255,192,255,192,10,14,28,12,0,0,63,0,63,128, + 49,192,48,192,48,192,48,192,252,192,252,192,48,192,48,192, + 48,192,49,192,63,128,63,0,10,18,36,12,0,0,48,192, + 124,192,207,128,199,0,192,192,224,192,240,192,248,192,220,192, + 206,192,199,192,195,192,193,192,192,192,192,192,192,192,192,192, + 192,192,10,18,36,12,0,0,48,0,56,0,28,0,12,0, + 63,0,127,128,225,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,225,192,127,128,63,0,10,18,36,12, + 0,0,3,0,7,0,14,0,12,0,63,0,127,128,225,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 225,192,127,128,63,0,10,18,36,12,0,0,12,0,30,0, + 63,0,51,0,0,0,63,0,127,128,225,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,225,192,127,128,63,0, + 10,18,36,12,0,0,48,192,124,192,207,128,199,0,63,0, + 127,128,225,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,225,192,127,128,63,0,10,18,36,12,0,0, + 51,0,51,0,0,0,0,0,63,0,127,128,225,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,225,192, + 127,128,63,0,10,10,20,12,0,2,64,128,225,192,115,128, + 63,0,30,0,30,0,63,0,115,128,225,192,64,128,10,14, + 28,12,0,0,63,0,127,128,225,192,193,192,195,192,199,192, + 206,192,220,192,248,192,240,192,224,192,225,192,127,128,63,0, + 10,18,36,12,0,0,48,0,56,0,28,0,12,0,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,225,192,127,128,63,0,10,18,36,12,0,0, + 3,0,7,0,14,0,12,0,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,225,192, + 127,128,63,0,10,18,36,12,0,0,12,0,30,0,63,0, + 51,0,0,0,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,225,192,127,128,63,0,10,18, + 36,12,0,0,51,0,51,0,0,0,0,0,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,225,192,127,128,63,0,10,18,36,12,0,0,3,0, + 7,0,14,0,12,0,192,192,192,192,192,192,192,192,192,192, + 225,192,115,128,63,0,30,0,12,0,12,0,12,0,12,0, + 12,0,10,14,28,12,0,0,192,0,192,0,255,0,255,128, + 193,192,192,192,192,192,193,192,255,128,255,0,192,0,192,0, + 192,0,192,0,10,18,36,12,0,254,15,0,31,128,57,192, + 112,192,224,192,193,192,195,128,195,0,195,0,195,128,193,192, + 192,192,192,192,193,192,207,128,207,0,192,0,192,0,10,16, + 32,12,0,0,12,0,14,0,7,0,3,0,0,0,0,0, + 63,192,127,192,224,192,192,192,192,192,193,192,195,192,231,192, + 126,192,60,192,10,16,32,12,0,0,3,0,7,0,14,0, + 12,0,0,0,0,0,63,192,127,192,224,192,192,192,192,192, + 193,192,195,192,231,192,126,192,60,192,10,16,32,12,0,0, + 12,0,30,0,63,0,51,0,0,0,0,0,63,192,127,192, + 224,192,192,192,192,192,193,192,195,192,231,192,126,192,60,192, + 10,16,32,12,0,0,48,192,124,192,207,128,199,0,0,0, + 0,0,63,192,127,192,224,192,192,192,192,192,193,192,195,192, + 231,192,126,192,60,192,10,14,28,12,0,0,51,0,51,0, + 0,0,0,0,63,192,127,192,224,192,192,192,192,192,193,192, + 195,192,231,192,126,192,60,192,10,16,32,12,0,0,12,0, + 30,0,51,0,51,0,30,0,12,0,63,192,127,192,224,192, + 192,192,192,192,193,192,195,192,231,192,126,192,60,192,10,10, + 20,12,0,0,63,0,127,128,237,192,204,192,207,192,207,192, + 204,0,236,0,127,192,63,192,10,14,28,12,0,252,63,0, + 127,128,225,192,192,192,192,0,192,0,192,0,224,0,127,192, + 63,192,12,0,28,0,56,0,16,0,10,16,32,12,0,0, + 48,0,56,0,28,0,12,0,0,0,0,0,63,0,127,128, + 225,192,192,192,255,192,255,192,192,0,224,0,127,192,63,192, + 10,16,32,12,0,0,3,0,7,0,14,0,12,0,0,0, + 0,0,63,0,127,128,225,192,192,192,255,192,255,192,192,0, + 224,0,127,192,63,192,10,16,32,12,0,0,12,0,30,0, + 63,0,51,0,0,0,0,0,63,0,127,128,225,192,192,192, + 255,192,255,192,192,0,224,0,127,192,63,192,10,14,28,12, + 0,0,51,0,51,0,0,0,0,0,63,0,127,128,225,192, + 192,192,255,192,255,192,192,0,224,0,127,192,63,192,6,16, + 16,12,2,0,192,224,112,48,0,0,240,240,48,48,48,48, + 48,48,252,252,6,16,16,12,2,0,12,28,56,48,0,0, + 240,240,48,48,48,48,48,48,252,252,6,16,16,12,2,0, + 48,120,252,204,0,0,240,240,48,48,48,48,48,48,252,252, + 6,14,14,12,2,0,204,204,0,0,240,240,48,48,48,48, + 48,48,252,252,10,17,34,12,0,0,36,0,126,0,60,0, + 60,0,126,0,39,0,3,128,63,192,127,192,225,192,192,192, + 192,192,192,192,192,192,225,192,127,128,63,0,10,16,32,12, + 0,0,48,192,124,192,207,128,199,0,0,0,0,0,207,0, + 223,128,249,192,240,192,224,192,192,192,192,192,192,192,192,192, + 192,192,10,16,32,12,0,0,48,0,56,0,28,0,12,0, + 0,0,0,0,63,0,127,128,225,192,192,192,192,192,192,192, + 192,192,225,192,127,128,63,0,10,16,32,12,0,0,3,0, + 7,0,14,0,12,0,0,0,0,0,63,0,127,128,225,192, + 192,192,192,192,192,192,192,192,225,192,127,128,63,0,10,16, + 32,12,0,0,12,0,30,0,63,0,51,0,0,0,0,0, + 63,0,127,128,225,192,192,192,192,192,192,192,192,192,225,192, + 127,128,63,0,10,16,32,12,0,0,48,192,124,192,207,128, + 199,0,0,0,0,0,63,0,127,128,225,192,192,192,192,192, + 192,192,192,192,225,192,127,128,63,0,10,14,28,12,0,0, + 51,0,51,0,0,0,0,0,63,0,127,128,225,192,192,192, + 192,192,192,192,192,192,225,192,127,128,63,0,10,10,20,12, + 0,2,12,0,12,0,0,0,0,0,255,192,255,192,0,0, + 0,0,12,0,12,0,10,10,20,12,0,0,63,0,127,128, + 227,192,199,192,206,192,220,192,248,192,241,192,127,128,63,0, + 10,16,32,12,0,0,48,0,56,0,28,0,12,0,0,0, + 0,0,192,192,192,192,192,192,192,192,192,192,193,192,195,192, + 231,192,126,192,60,192,10,16,32,12,0,0,3,0,7,0, + 14,0,12,0,0,0,0,0,192,192,192,192,192,192,192,192, + 192,192,193,192,195,192,231,192,126,192,60,192,10,16,32,12, + 0,0,12,0,30,0,63,0,51,0,0,0,0,0,192,192, + 192,192,192,192,192,192,192,192,193,192,195,192,231,192,126,192, + 60,192,10,14,28,12,0,0,51,0,51,0,0,0,0,0, + 192,192,192,192,192,192,192,192,192,192,193,192,195,192,231,192, + 126,192,60,192,10,20,40,12,0,252,3,0,7,0,14,0, + 12,0,0,0,0,0,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,224,192,127,192,63,192,0,192,1,192,63,128, + 63,0,10,18,36,12,0,252,192,0,192,0,192,0,192,0, + 255,0,255,128,193,192,192,192,192,192,192,192,192,192,193,192, + 255,128,255,0,192,0,192,0,192,0,192,0,10,18,36,12, + 0,252,51,0,51,0,0,0,0,0,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,224,192,127,192,63,192,0,192, + 1,192,63,128,63,0}; +/* + Fontname: ProFont22 + Copyright: ProFont Distribution 2.2 Ñ Generated by Fontographer 4.1.5 + Capital A Height: 14, '1' Height: 14 + Calculated Max Values w=12 h=22 x= 4 y=12 dx=12 dy= 0 ascent=18 len=40 + Font Bounding box w=12 h=21 x= 0 y=-4 + Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 + Pure Font ascent =14 descent=-4 + X Font ascent =16 descent=-4 + Max Font ascent =18 descent=-4 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_profont22r[2719] U8G_FONT_SECTION("u8g_font_profont22r") = { + 0,12,21,0,252,14,3,117,7,113,32,127,252,18,252,16, + 252,0,0,0,12,0,0,2,14,14,12,4,0,192,192,192, + 192,192,192,192,192,192,192,0,0,192,192,6,6,6,12,2, + 10,204,204,204,204,204,204,10,10,20,12,0,4,51,0,51, + 0,255,192,255,192,51,0,51,0,255,192,255,192,51,0,51, + 0,10,18,36,12,0,254,12,0,12,0,63,0,127,128,237, + 192,204,192,204,0,236,0,127,0,63,128,13,192,12,192,204, + 192,237,192,127,128,63,0,12,0,12,0,10,14,28,12,0, + 0,63,192,127,192,204,192,205,192,207,128,207,0,127,0,63, + 128,60,192,124,192,236,192,204,192,199,128,195,0,10,14,28, + 12,0,0,62,0,127,0,227,0,199,0,206,0,252,0,120, + 0,120,0,252,192,207,192,199,128,231,128,127,192,60,192,2, + 6,6,12,4,10,192,192,192,192,192,192,6,18,18,12,2, + 254,12,28,56,112,224,192,192,192,192,192,192,192,192,224,112, + 56,28,12,6,18,18,12,2,254,192,224,112,56,28,12,12, + 12,12,12,12,12,12,28,56,112,224,192,10,10,20,12,0, + 4,12,0,12,0,204,192,255,192,63,0,63,0,255,192,204, + 192,12,0,12,0,10,10,20,12,0,2,12,0,12,0,12, + 0,12,0,255,192,255,192,12,0,12,0,12,0,12,0,5, + 9,9,12,2,252,48,120,120,56,24,56,112,224,64,6,2, + 2,12,2,6,252,252,4,4,4,12,3,1,96,240,240,96, + 11,20,40,12,0,252,0,96,0,96,0,192,0,192,1,128, + 1,128,3,0,3,0,6,0,6,0,12,0,12,0,24,0, + 24,0,48,0,48,0,96,0,96,0,192,0,192,0,10,14, + 28,12,0,0,63,0,127,128,225,192,193,192,195,192,199,192, + 206,192,220,192,248,192,240,192,224,192,225,192,127,128,63,0, + 10,14,28,12,0,0,12,0,12,0,124,0,124,0,12,0, + 12,0,12,0,12,0,12,0,12,0,12,0,12,0,255,192, + 255,192,10,14,28,12,0,0,63,0,127,128,225,192,192,192, + 0,192,1,192,3,128,7,0,14,0,28,0,56,0,112,0, + 255,192,255,192,10,14,28,12,0,0,63,0,127,128,225,192, + 192,192,0,192,1,128,15,0,15,128,1,192,0,192,192,192, + 225,192,127,128,63,0,10,14,28,12,0,0,3,0,7,0, + 15,0,31,0,59,0,115,0,227,0,195,0,255,192,255,192, + 3,0,3,0,15,192,15,192,10,14,28,12,0,0,255,192, + 255,192,192,0,192,0,255,0,255,128,1,192,0,192,0,192, + 0,192,192,192,225,192,127,128,63,0,10,14,28,12,0,0, + 63,0,127,0,224,0,192,0,255,0,255,128,193,192,192,192, + 192,192,192,192,192,192,225,192,127,128,63,0,10,14,28,12, + 0,0,255,192,255,192,0,192,0,192,0,192,1,192,3,128, + 7,0,14,0,12,0,12,0,12,0,12,0,12,0,10,14, + 28,12,0,0,63,0,127,128,225,192,192,192,192,192,97,128, + 63,0,127,128,225,192,192,192,192,192,225,192,127,128,63,0, + 10,14,28,12,0,0,63,0,127,128,225,192,192,192,192,192, + 192,192,192,192,224,192,127,192,63,192,0,192,1,192,63,128, + 63,0,4,10,10,12,3,1,96,240,240,96,0,0,96,240, + 240,96,5,15,15,12,2,252,48,120,120,48,0,0,48,120, + 120,56,24,56,112,224,64,8,14,14,12,2,0,3,7,14, + 28,56,112,224,224,112,56,28,14,7,3,10,6,12,12,0, + 4,255,192,255,192,0,0,0,0,255,192,255,192,8,14,14, + 12,2,0,192,224,112,56,28,14,7,7,14,28,56,112,224, + 192,10,14,28,12,0,0,63,0,127,128,225,192,192,192,0, + 192,1,192,3,128,7,0,14,0,12,0,0,0,0,0,12, + 0,12,0,10,14,28,12,0,0,63,0,127,128,225,192,192, + 192,199,192,207,192,204,192,204,192,207,192,199,128,192,0,224, + 0,127,192,63,192,10,14,28,12,0,0,12,0,30,0,30, + 0,51,0,51,0,97,128,97,128,192,192,255,192,255,192,192, + 192,192,192,192,192,192,192,10,14,28,12,0,0,255,0,255, + 128,193,192,192,192,192,192,193,128,255,0,255,128,193,192,192, + 192,192,192,193,192,255,128,255,0,10,14,28,12,0,0,63, + 0,127,128,225,192,192,192,192,0,192,0,192,0,192,0,192, + 0,192,0,192,192,225,192,127,128,63,0,10,14,28,12,0, + 0,255,0,255,128,193,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,193,192,255,128,255,0,10,14,28, + 12,0,0,255,192,255,192,192,0,192,0,192,0,192,0,255, + 0,255,0,192,0,192,0,192,0,192,0,255,192,255,192,10, + 14,28,12,0,0,255,192,255,192,192,0,192,0,192,0,192, + 0,255,0,255,0,192,0,192,0,192,0,192,0,192,0,192, + 0,10,14,28,12,0,0,63,0,127,128,225,192,192,192,192, + 0,192,0,195,192,195,192,192,192,192,192,192,192,225,192,127, + 128,63,0,10,14,28,12,0,0,192,192,192,192,192,192,192, + 192,192,192,192,192,255,192,255,192,192,192,192,192,192,192,192, + 192,192,192,192,192,10,14,28,12,0,0,255,192,255,192,12, + 0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, + 0,12,0,255,192,255,192,10,14,28,12,0,0,0,192,0, + 192,0,192,0,192,0,192,0,192,0,192,0,192,192,192,192, + 192,192,192,225,192,127,128,63,0,10,14,28,12,0,0,193, + 192,195,128,199,0,206,0,220,0,248,0,240,0,248,0,220, + 0,206,0,199,0,195,128,193,192,192,192,10,14,28,12,0, + 0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192, + 0,192,0,192,0,192,0,192,0,255,192,255,192,10,14,28, + 12,0,0,192,192,225,192,243,192,255,192,222,192,204,192,204, + 192,204,192,192,192,192,192,192,192,192,192,192,192,192,192,10, + 14,28,12,0,0,192,192,224,192,240,192,248,192,220,192,206, + 192,199,192,195,192,193,192,192,192,192,192,192,192,192,192,192, + 192,10,14,28,12,0,0,63,0,127,128,225,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,225,192,127, + 128,63,0,10,14,28,12,0,0,255,0,255,128,193,192,192, + 192,192,192,193,192,255,128,255,0,192,0,192,0,192,0,192, + 0,192,0,192,0,10,16,32,12,0,254,63,0,127,128,225, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,204, + 192,239,192,127,128,63,128,1,192,0,192,10,14,28,12,0, + 0,255,0,255,128,193,192,192,192,192,192,193,128,255,0,255, + 128,193,192,192,192,192,192,192,192,192,192,192,192,10,14,28, + 12,0,0,63,0,127,128,225,192,192,192,192,0,224,0,127, + 0,63,128,1,192,0,192,192,192,225,192,127,128,63,0,10, + 14,28,12,0,0,255,192,255,192,12,0,12,0,12,0,12, + 0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, + 0,10,14,28,12,0,0,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,225,192,127, + 128,63,0,10,14,28,12,0,0,192,192,192,192,192,192,192, + 192,192,192,192,192,97,128,97,128,51,0,51,0,30,0,30, + 0,12,0,12,0,10,14,28,12,0,0,192,192,192,192,192, + 192,192,192,192,192,192,192,204,192,204,192,204,192,222,192,255, + 192,243,192,225,192,192,192,10,14,28,12,0,0,192,192,192, + 192,192,192,225,192,115,128,63,0,30,0,30,0,63,0,115, + 128,225,192,192,192,192,192,192,192,10,14,28,12,0,0,192, + 192,192,192,192,192,192,192,192,192,225,192,115,128,63,0,30, + 0,12,0,12,0,12,0,12,0,12,0,10,14,28,12,0, + 0,255,192,255,192,0,192,1,192,3,128,7,0,14,0,28, + 0,56,0,112,0,224,0,192,0,255,192,255,192,4,18,18, + 12,4,254,240,240,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,240,240,11,20,40,12,1,252,192,0,192,0,96, + 0,96,0,48,0,48,0,24,0,24,0,12,0,12,0,6, + 0,6,0,3,0,3,0,1,128,1,128,0,192,0,192,0, + 96,0,96,4,18,18,12,2,254,240,240,48,48,48,48,48, + 48,48,48,48,48,48,48,48,48,240,240,10,6,12,12,0, + 8,12,0,30,0,63,0,115,128,225,192,64,128,12,2,4, + 12,0,252,255,240,255,240,4,4,4,12,2,12,192,224,112, + 48,10,10,20,12,0,0,63,192,127,192,224,192,192,192,192, + 192,193,192,195,192,231,192,126,192,60,192,10,14,28,12,0, + 0,192,0,192,0,192,0,192,0,255,0,255,128,193,192,192, + 192,192,192,192,192,192,192,193,192,255,128,255,0,10,10,20, + 12,0,0,63,0,127,128,225,192,192,192,192,0,192,0,192, + 0,224,0,127,192,63,192,10,14,28,12,0,0,0,192,0, + 192,0,192,0,192,63,192,127,192,224,192,192,192,192,192,192, + 192,192,192,224,192,127,192,63,192,10,10,20,12,0,0,63, + 0,127,128,225,192,192,192,255,192,255,192,192,0,224,0,127, + 192,63,192,8,14,14,12,2,0,15,31,56,48,252,252,48, + 48,48,48,48,48,48,48,10,14,28,12,0,252,63,192,127, + 192,224,192,192,192,192,192,192,192,192,192,224,192,127,192,63, + 192,0,192,1,192,63,128,63,0,10,14,28,12,0,0,192, + 0,192,0,192,0,192,0,255,0,255,128,193,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,6,14,14,12,2, + 0,48,48,0,0,240,240,48,48,48,48,48,48,252,252,6, + 18,18,12,0,252,12,12,0,0,60,60,12,12,12,12,12, + 12,12,12,12,28,248,240,10,14,28,12,0,0,192,0,192, + 0,192,0,192,0,195,128,199,0,206,0,220,0,252,0,254, + 0,231,0,195,128,193,192,192,192,6,14,14,12,2,0,240, + 240,48,48,48,48,48,48,48,48,48,48,252,252,10,10,20, + 12,0,0,255,0,255,128,205,192,204,192,204,192,204,192,204, + 192,204,192,204,192,204,192,10,10,20,12,0,0,207,0,223, + 128,249,192,240,192,224,192,192,192,192,192,192,192,192,192,192, + 192,10,10,20,12,0,0,63,0,127,128,225,192,192,192,192, + 192,192,192,192,192,225,192,127,128,63,0,10,14,28,12,0, + 252,255,0,255,128,193,192,192,192,192,192,192,192,192,192,193, + 192,255,128,255,0,192,0,192,0,192,0,192,0,10,14,28, + 12,0,252,63,192,127,192,224,192,192,192,192,192,192,192,192, + 192,224,192,127,192,63,192,0,192,0,192,0,192,0,192,10, + 10,20,12,0,0,207,0,223,128,249,192,240,192,224,0,192, + 0,192,0,192,0,192,0,192,0,10,10,20,12,0,0,63, + 192,127,192,192,0,192,0,127,0,63,128,0,192,0,192,255, + 128,255,0,8,14,14,12,2,0,48,48,48,48,252,252,48, + 48,48,48,48,56,31,15,10,10,20,12,0,0,192,192,192, + 192,192,192,192,192,192,192,193,192,195,192,231,192,126,192,60, + 192,10,10,20,12,0,0,192,192,192,192,192,192,97,128,97, + 128,51,128,51,0,30,0,30,0,12,0,10,10,20,12,0, + 0,204,192,204,192,204,192,204,192,204,192,204,192,204,192,204, + 192,127,128,51,0,10,10,20,12,0,0,192,192,225,192,115, + 128,63,0,30,0,30,0,63,0,115,128,225,192,192,192,10, + 14,28,12,0,252,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,224,192,127,192,63,192,0,192,1,192,63,128,63, + 0,10,10,20,12,0,0,255,192,255,192,3,128,7,0,14, + 0,28,0,56,0,112,0,255,192,255,192,6,22,22,12,2, + 252,12,28,56,48,48,48,48,48,48,112,224,224,112,48,48, + 48,48,48,48,56,28,12,2,18,18,12,4,254,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,6, + 22,22,12,2,252,192,224,112,48,48,48,48,48,48,56,28, + 28,56,48,48,48,48,48,48,112,224,192,10,4,8,12,0, + 6,48,192,124,192,207,128,195,0,0,0,0,12,0,0}; +/* + Fontname: ProFont29 + Copyright: ProFont Distribution 2.2 Ñ Generated by Fontographer 4.1.5 + Capital A Height: 19, '1' Height: 19 + Calculated Max Values w=16 h=29 x= 8 y=16 dx=16 dy= 0 ascent=24 len=58 + Font Bounding box w=16 h=28 x= 0 y=-5 + Calculated Min Values x= 0 y=-5 dx= 0 dy= 0 + Pure Font ascent =19 descent=-5 + X Font ascent =22 descent=-5 + Max Font ascent =24 descent=-5 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_profont29[8666] U8G_FONT_SECTION("u8g_font_profont29") = { + 0,16,28,0,251,19,4,198,9,234,32,255,251,24,251,22, + 251,0,0,0,16,0,0,3,19,19,16,5,0,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,0,0,224,224,224, + 9,9,18,16,2,13,227,128,227,128,227,128,227,128,227,128, + 227,128,227,128,227,128,227,128,15,15,30,16,0,5,28,112, + 28,112,28,112,255,254,255,254,255,254,28,112,28,112,28,112, + 255,254,255,254,255,254,28,112,28,112,28,112,13,25,50,16, + 0,253,7,0,7,0,7,0,15,128,63,224,127,240,119,112, + 231,56,231,56,231,0,119,0,127,128,63,224,15,240,7,112, + 7,56,231,56,231,56,119,112,127,240,63,224,15,128,7,0, + 7,0,7,0,14,19,38,16,0,0,31,252,63,252,127,252, + 102,28,231,60,231,120,231,240,103,224,127,224,63,192,31,240, + 31,48,63,56,127,56,247,56,227,48,227,240,225,224,224,192, + 14,19,38,16,0,0,15,0,63,192,127,224,112,224,225,224, + 227,192,231,128,127,0,126,0,60,0,126,8,127,28,231,188, + 227,248,225,240,113,240,127,248,63,188,14,24,3,9,9,16, + 5,13,224,224,224,224,224,224,224,224,224,9,25,50,16,3, + 253,3,0,7,128,15,0,30,0,60,0,120,0,240,0,224, + 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, + 0,224,0,224,0,240,0,120,0,60,0,30,0,15,0,7, + 128,3,0,9,25,50,16,2,253,96,0,240,0,120,0,60, + 0,30,0,15,0,7,128,3,128,3,128,3,128,3,128,3, + 128,3,128,3,128,3,128,3,128,3,128,3,128,7,128,15, + 0,30,0,60,0,120,0,240,0,96,0,13,13,26,16,0, + 5,7,0,7,0,103,48,247,248,127,240,31,192,31,192,127, + 240,255,248,103,48,7,0,7,0,7,0,13,13,26,16,0, + 3,7,0,7,0,7,0,7,0,7,0,255,248,255,248,255, + 248,7,0,7,0,7,0,7,0,7,0,6,11,11,16,3, + 251,56,124,124,124,60,28,28,60,120,240,96,8,3,3,16, + 3,8,255,255,255,5,5,5,16,4,1,112,248,248,248,112, + 15,26,52,16,0,251,0,14,0,14,0,28,0,28,0,56, + 0,56,0,112,0,112,0,224,0,224,1,192,1,192,3,128, + 3,128,7,0,7,0,14,0,14,0,28,0,28,0,56,0, + 56,0,112,0,112,0,224,0,224,0,14,19,38,16,0,0, + 15,192,63,240,127,248,112,56,224,60,224,124,224,252,225,252, + 227,220,231,156,239,28,254,28,252,28,248,28,240,28,112,56, + 127,248,63,240,15,192,13,19,38,16,0,0,7,0,7,0, + 15,0,127,0,127,0,127,0,7,0,7,0,7,0,7,0, + 7,0,7,0,7,0,7,0,7,0,7,0,255,248,255,248, + 255,248,14,19,38,16,0,0,15,192,63,240,127,248,112,56, + 224,28,224,28,0,28,0,56,0,120,0,240,1,224,3,192, + 7,128,15,0,30,0,60,0,127,252,255,252,255,252,14,19, + 38,16,0,0,15,192,63,240,127,248,112,56,224,28,224,28, + 0,28,0,120,3,240,3,224,3,240,0,120,0,28,224,28, + 224,28,112,56,127,248,63,240,15,192,14,19,38,16,0,0, + 0,224,1,224,3,224,7,224,15,224,30,224,60,224,120,224, + 240,224,224,224,255,252,255,252,255,252,0,224,0,224,0,224, + 7,252,7,252,7,252,14,19,38,16,0,0,255,252,255,252, + 255,252,224,0,224,0,255,192,255,240,255,248,0,56,0,28, + 0,28,0,28,0,28,224,28,224,28,112,56,127,248,63,240, + 15,192,14,19,38,16,0,0,15,224,63,224,127,224,112,0, + 224,0,255,192,255,240,255,248,224,56,224,28,224,28,224,28, + 224,28,224,28,224,28,112,56,127,248,63,240,15,192,14,19, + 38,16,0,0,255,252,255,252,255,252,0,28,0,28,0,28, + 0,60,0,120,0,240,1,224,3,192,7,128,7,0,7,0, + 7,0,7,0,7,0,7,0,7,0,14,19,38,16,0,0, + 15,192,63,240,127,248,112,56,224,28,224,28,224,28,120,120, + 63,240,31,224,63,240,120,120,224,28,224,28,224,28,112,56, + 127,248,63,240,15,192,14,19,38,16,0,0,15,192,63,240, + 127,248,112,56,224,28,224,28,224,28,224,28,224,28,224,28, + 112,28,127,252,63,252,15,252,0,28,0,56,31,248,31,240, + 31,192,5,13,13,16,4,1,112,248,248,248,112,0,0,0, + 112,248,248,248,112,6,19,19,16,3,251,56,124,124,124,56, + 0,0,0,56,124,124,124,60,28,28,60,120,240,96,12,19, + 38,16,2,0,0,96,0,240,1,224,3,192,7,128,15,0, + 30,0,60,0,120,0,240,0,120,0,60,0,30,0,15,0, + 7,128,3,192,1,224,0,240,0,96,14,9,18,16,0,5, + 255,252,255,252,255,252,0,0,0,0,0,0,255,252,255,252, + 255,252,12,19,38,16,2,0,96,0,240,0,120,0,60,0, + 30,0,15,0,7,128,3,192,1,224,0,240,1,224,3,192, + 7,128,15,0,30,0,60,0,120,0,240,0,96,0,14,19, + 38,16,0,0,15,192,63,240,127,248,112,56,224,28,224,28, + 0,28,0,60,0,120,0,240,1,224,3,192,7,128,7,0, + 0,0,0,0,7,0,7,0,7,0,14,19,38,16,0,0, + 15,192,63,240,127,248,112,56,224,28,225,252,227,252,231,252, + 231,28,231,28,231,28,231,252,227,248,225,240,224,0,112,0, + 127,252,63,252,15,252,14,19,38,16,0,0,7,128,7,128, + 15,192,15,192,28,224,28,224,56,112,56,112,112,56,112,56, + 224,28,255,252,255,252,255,252,224,28,224,28,224,28,224,28, + 224,28,14,19,38,16,0,0,255,192,255,240,255,248,224,56, + 224,28,224,28,224,28,224,120,255,240,255,224,255,240,224,120, + 224,28,224,28,224,28,224,56,255,248,255,240,255,192,14,19, + 38,16,0,0,15,192,63,240,127,248,112,56,224,28,224,28, + 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,28, + 224,28,112,56,127,248,63,240,15,192,14,19,38,16,0,0, + 255,192,255,240,255,248,224,56,224,28,224,28,224,28,224,28, + 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,56, + 255,248,255,240,255,192,14,19,38,16,0,0,255,252,255,252, + 255,252,224,0,224,0,224,0,224,0,224,0,255,224,255,224, + 255,224,224,0,224,0,224,0,224,0,224,0,255,252,255,252, + 255,252,14,19,38,16,0,0,255,252,255,252,255,252,224,0, + 224,0,224,0,224,0,224,0,255,224,255,224,255,224,224,0, + 224,0,224,0,224,0,224,0,224,0,224,0,224,0,14,19, + 38,16,0,0,15,192,63,240,127,248,112,56,224,28,224,28, + 224,0,224,0,224,252,224,252,224,252,224,28,224,28,224,28, + 224,28,112,56,127,248,63,240,15,192,14,19,38,16,0,0, + 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, + 255,252,255,252,255,252,224,28,224,28,224,28,224,28,224,28, + 224,28,224,28,224,28,13,19,38,16,0,0,255,248,255,248, + 255,248,7,0,7,0,7,0,7,0,7,0,7,0,7,0, + 7,0,7,0,7,0,7,0,7,0,7,0,255,248,255,248, + 255,248,14,19,38,16,0,0,0,28,0,28,0,28,0,28, + 0,28,0,28,0,28,0,28,0,28,0,28,0,28,224,28, + 224,28,224,28,224,28,112,56,127,248,63,240,15,192,13,19, + 38,16,0,0,224,56,224,120,224,240,225,224,227,192,231,128, + 239,0,254,0,252,0,248,0,252,0,254,0,239,0,231,128, + 227,192,225,224,224,240,224,120,224,56,14,19,38,16,0,0, + 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, + 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, + 255,252,255,252,255,252,15,19,38,16,0,0,224,14,240,30, + 248,62,252,126,254,254,239,238,231,206,227,142,227,142,227,142, + 227,142,224,14,224,14,224,14,224,14,224,14,224,14,224,14, + 224,14,14,19,38,16,0,0,224,28,240,28,248,28,252,28, + 254,28,239,28,231,156,227,220,225,252,224,252,224,124,224,60, + 224,28,224,28,224,28,224,28,224,28,224,28,224,28,14,19, + 38,16,0,0,15,192,63,240,127,248,112,56,224,28,224,28, + 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, + 224,28,112,56,127,248,63,240,15,192,14,19,38,16,0,0, + 255,192,255,240,255,248,224,56,224,28,224,28,224,28,224,56, + 255,248,255,240,255,192,224,0,224,0,224,0,224,0,224,0, + 224,0,224,0,224,0,14,22,44,16,0,253,15,192,63,240, + 127,248,112,56,224,28,224,28,224,28,224,28,224,28,224,28, + 224,28,224,28,224,28,230,28,239,28,119,248,127,248,63,240, + 15,240,0,120,0,60,0,24,14,19,38,16,0,0,255,192, + 255,240,255,248,224,56,224,28,224,28,224,28,224,120,255,240, + 255,224,255,240,224,120,224,28,224,28,224,28,224,28,224,28, + 224,28,224,28,14,19,38,16,0,0,15,192,63,240,127,248, + 112,56,224,28,224,28,224,0,112,0,127,192,63,240,15,248, + 0,56,0,28,224,28,224,28,112,56,127,248,63,240,15,192, + 13,19,38,16,0,0,255,248,255,248,255,248,7,0,7,0, + 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, + 7,0,7,0,7,0,7,0,7,0,7,0,14,19,38,16, + 0,0,224,28,224,28,224,28,224,28,224,28,224,28,224,28, + 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, + 112,56,127,248,63,240,15,192,14,19,38,16,0,0,224,28, + 224,28,224,28,224,28,224,28,224,28,224,28,112,56,112,56, + 56,112,56,112,28,224,28,224,15,192,15,192,7,128,7,128, + 3,0,3,0,15,19,38,16,0,0,224,14,224,14,224,14, + 224,14,224,14,224,14,224,14,224,14,227,142,227,142,227,142, + 227,142,231,206,239,254,254,254,252,126,248,62,240,30,224,14, + 14,19,38,16,0,0,224,28,224,28,224,28,224,28,240,60, + 120,120,60,240,31,224,15,192,7,128,15,192,31,224,60,240, + 120,120,240,60,224,28,224,28,224,28,224,28,13,19,38,16, + 0,0,224,56,224,56,224,56,224,56,224,56,224,56,224,56, + 240,120,120,240,61,224,31,192,15,128,7,0,7,0,7,0, + 7,0,7,0,7,0,7,0,14,19,38,16,0,0,255,252, + 255,252,255,252,0,28,0,60,0,120,0,240,1,224,3,192, + 7,128,15,0,30,0,60,0,120,0,240,0,224,0,255,252, + 255,252,255,252,6,25,25,16,5,253,252,252,252,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, + 252,252,252,15,26,52,16,1,251,224,0,224,0,112,0,112, + 0,56,0,56,0,28,0,28,0,14,0,14,0,7,0,7, + 0,3,128,3,128,1,192,1,192,0,224,0,224,0,112,0, + 112,0,56,0,56,0,28,0,28,0,14,0,14,6,25,25, + 16,2,253,252,252,252,28,28,28,28,28,28,28,28,28,28, + 28,28,28,28,28,28,28,28,28,252,252,252,14,8,16,16, + 0,11,3,0,7,128,15,192,31,224,60,240,120,120,240,60, + 96,24,16,3,6,16,0,251,255,255,255,255,255,255,7,6, + 6,16,2,15,96,240,120,60,30,12,14,14,28,16,0,0, + 15,252,63,252,127,252,112,28,224,28,224,28,224,28,224,28, + 224,60,224,124,113,252,127,220,63,156,14,28,14,19,38,16, + 0,0,224,0,224,0,224,0,224,0,224,0,255,192,255,240, + 255,248,224,56,224,28,224,28,224,28,224,28,224,28,224,28, + 224,56,255,248,255,240,255,192,14,14,28,16,0,0,15,192, + 63,240,127,248,112,56,224,28,224,28,224,0,224,0,224,0, + 224,0,112,0,127,252,63,252,15,252,14,19,38,16,0,0, + 0,28,0,28,0,28,0,28,0,28,15,252,63,252,127,252, + 112,28,224,28,224,28,224,28,224,28,224,28,224,28,112,28, + 127,252,63,252,15,252,14,14,28,16,0,0,15,192,63,240, + 127,248,112,56,224,28,224,28,255,252,255,252,255,252,224,0, + 112,0,127,252,63,252,15,252,11,19,38,16,2,0,1,224, + 7,224,15,224,14,0,28,0,255,128,255,128,255,128,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,28,0,14,19,38,16,0,251,15,252,63,252,127,252, + 112,28,224,28,224,28,224,28,224,28,224,28,224,28,112,28, + 127,252,63,252,15,252,0,28,0,56,31,248,31,240,31,192, + 14,19,38,16,0,0,224,0,224,0,224,0,224,0,224,0, + 255,192,255,240,255,248,224,56,224,28,224,28,224,28,224,28, + 224,28,224,28,224,28,224,28,224,28,224,28,9,19,38,16, + 2,0,28,0,28,0,28,0,0,0,0,0,252,0,252,0, + 252,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,255,128,255,128,255,128,8,24,24,16,0,251,7,7, + 7,0,0,63,63,63,7,7,7,7,7,7,7,7,7,7, + 7,7,14,254,252,240,14,19,38,16,0,0,224,0,224,0, + 224,0,224,0,224,0,224,120,224,240,225,224,227,192,231,128, + 239,0,255,0,255,128,251,192,241,224,224,240,224,120,224,60, + 224,28,9,19,38,16,2,0,252,0,252,0,252,0,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,28,0,28,0,28,0,255,128,255,128,255,128,15,14, + 28,16,0,0,255,224,255,248,255,252,227,156,227,142,227,142, + 227,142,227,142,227,142,227,142,227,142,227,142,227,142,227,142, + 14,14,28,16,0,0,225,192,231,240,239,248,254,56,248,28, + 240,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, + 224,28,14,14,28,16,0,0,15,192,63,240,127,248,112,56, + 224,28,224,28,224,28,224,28,224,28,224,28,112,56,127,248, + 63,240,15,192,14,19,38,16,0,251,255,192,255,240,255,248, + 224,56,224,28,224,28,224,28,224,28,224,28,224,28,224,56, + 255,248,255,240,255,192,224,0,224,0,224,0,224,0,224,0, + 14,19,38,16,0,251,15,252,63,252,127,252,112,28,224,28, + 224,28,224,28,224,28,224,28,224,28,112,28,127,252,63,252, + 15,252,0,28,0,28,0,28,0,28,0,28,14,14,28,16, + 0,0,225,192,231,240,239,248,254,56,248,28,240,28,224,0, + 224,0,224,0,224,0,224,0,224,0,224,0,224,0,14,14, + 28,16,0,0,15,252,63,252,127,252,240,0,224,0,255,192, + 127,240,31,248,0,60,0,28,0,60,255,248,255,240,255,192, + 11,19,38,16,2,0,28,0,28,0,28,0,28,0,28,0, + 255,128,255,128,255,128,28,0,28,0,28,0,28,0,28,0, + 28,0,28,0,14,0,15,224,7,224,1,224,14,14,28,16, + 0,0,224,28,224,28,224,28,224,28,224,28,224,28,224,28, + 224,28,224,60,224,124,113,252,127,220,63,156,14,28,14,14, + 28,16,0,0,224,28,224,28,224,28,224,28,224,28,112,56, + 112,56,56,112,56,112,28,224,28,224,15,192,15,192,7,128, + 15,14,28,16,0,0,227,142,227,142,227,142,227,142,227,142, + 227,142,227,142,227,142,227,142,227,142,247,222,127,252,126,252, + 28,112,14,14,28,16,0,0,224,28,224,28,240,60,120,120, + 60,240,31,224,15,192,15,192,31,224,60,240,120,120,240,60, + 224,28,224,28,14,19,38,16,0,251,224,28,224,28,224,28, + 224,28,224,28,224,28,224,28,224,28,224,28,224,28,112,28, + 127,252,63,252,15,252,0,28,0,56,31,248,31,240,31,192, + 13,14,28,16,0,0,255,248,255,248,255,248,0,240,1,224, + 3,192,7,128,15,0,30,0,60,0,120,0,255,248,255,248, + 255,248,9,29,58,16,3,251,3,128,15,128,15,128,30,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 60,0,248,0,224,0,248,0,60,0,28,0,28,0,28,0, + 28,0,28,0,28,0,28,0,28,0,30,0,15,128,15,128, + 3,128,3,25,25,16,5,253,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,9,29,58,16,2,251,224,0,248,0,248,0,60,0,28, + 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,30, + 0,15,128,3,128,15,128,30,0,28,0,28,0,28,0,28, + 0,28,0,28,0,28,0,28,0,60,0,248,0,248,0,224, + 0,13,5,10,16,0,8,60,56,127,56,255,248,231,240,225, + 224,0,0,0,16,0,0,0,0,0,16,0,0,0,0,0, + 16,0,0,5,8,8,16,0,253,56,56,56,56,56,120,240, + 96,13,29,58,16,0,251,0,120,1,248,3,248,3,128,7, + 0,7,0,7,0,7,0,7,0,7,0,31,192,31,192,31, + 192,7,0,7,0,7,0,7,0,7,0,7,0,7,0,7, + 0,7,0,7,0,7,0,7,0,14,0,254,0,252,0,240, + 0,11,8,16,16,0,253,56,224,56,224,56,224,56,224,56, + 224,121,224,243,192,97,128,13,3,6,16,0,0,231,56,231, + 56,231,56,9,14,28,16,2,5,28,0,28,0,28,0,255, + 128,255,128,255,128,28,0,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,9,14,28,16,2,5,28,0,28,0,28, + 0,255,128,255,128,255,128,28,0,28,0,255,128,255,128,255, + 128,28,0,28,0,28,0,10,6,12,16,2,16,12,0,30, + 0,63,0,127,128,243,192,97,128,15,22,44,16,0,0,31, + 254,63,254,127,254,119,30,227,60,227,120,227,240,247,224,127, + 192,127,128,63,0,15,56,63,252,127,252,253,238,248,198,216, + 198,152,198,29,238,15,252,15,252,7,56,14,24,48,16,0, + 0,24,192,61,224,31,192,15,128,7,0,15,192,63,240,127, + 248,112,56,224,28,224,28,224,0,112,0,127,192,63,240,15, + 248,0,56,0,28,224,28,224,28,112,56,127,248,63,240,15, + 192,5,13,13,16,0,255,48,56,112,112,224,224,224,224,224, + 112,112,56,48,14,19,38,16,0,0,15,252,63,252,127,252, + 119,0,231,0,231,0,231,0,231,0,231,224,231,224,231,224, + 231,0,231,0,231,0,231,0,119,0,127,252,63,252,15,252, + 0,0,0,16,0,0,0,0,0,16,0,0,0,0,0,16, + 0,0,0,0,0,16,0,0,5,8,8,16,5,11,48,120, + 240,224,224,224,224,224,5,8,8,16,6,11,56,56,56,56, + 56,120,240,96,11,8,16,16,2,11,48,192,121,224,243,192, + 227,128,227,128,227,128,227,128,227,128,11,8,16,16,3,11, + 56,224,56,224,56,224,56,224,56,224,121,224,243,192,97,128, + 13,13,26,16,0,3,15,128,63,224,127,240,127,240,255,248, + 255,248,255,248,255,248,255,248,127,240,127,240,63,224,15,128, + 8,3,3,16,3,8,255,255,255,16,3,6,16,0,8,255, + 255,255,255,255,255,13,5,10,16,0,16,60,56,127,56,255, + 248,231,240,225,224,15,8,16,16,0,11,255,206,255,254,255, + 254,57,254,57,254,57,206,57,206,57,206,14,22,44,16,0, + 0,24,96,60,240,31,224,15,192,7,128,3,0,0,0,0, + 0,15,252,63,252,127,252,240,0,224,0,255,192,127,240,31, + 248,0,60,0,28,0,60,255,248,255,240,255,192,5,13,13, + 16,0,255,96,224,112,112,56,56,56,56,56,120,112,224,96, + 14,14,28,16,0,0,60,240,127,248,127,248,231,28,231,28, + 231,28,231,252,231,252,231,252,231,0,231,0,127,252,127,252, + 60,252,0,0,0,16,0,0,0,0,0,16,0,0,13,24, + 48,16,0,0,56,224,56,224,56,224,0,0,0,0,224,56, + 224,56,224,56,224,56,224,56,224,56,224,56,240,120,120,240, + 61,224,31,192,15,128,7,0,7,0,7,0,7,0,7,0, + 7,0,7,0,0,0,0,16,0,0,3,19,19,16,8,0, + 224,224,224,0,0,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,13,20,40,16,0,253,7,0,7,0,7,0,15, + 128,63,224,127,240,119,112,231,56,231,56,231,0,231,0,231, + 0,231,0,119,0,127,248,63,248,15,248,7,0,7,0,7, + 0,13,22,44,16,0,0,14,0,63,128,127,128,113,192,224, + 224,224,224,224,0,224,0,255,0,255,0,255,0,224,0,224, + 0,224,0,224,0,224,0,224,56,224,56,224,112,255,240,255, + 224,255,128,13,13,26,16,0,0,64,16,224,56,112,112,63, + 224,31,192,29,192,24,192,29,192,31,192,63,224,112,112,224, + 56,64,16,15,19,38,16,0,0,96,12,240,30,120,60,60, + 120,30,240,127,252,127,252,127,252,3,128,3,128,3,128,127, + 252,127,252,127,252,3,128,3,128,3,128,3,128,3,128,3, + 25,25,16,5,253,224,224,224,224,224,224,224,224,224,224,224, + 0,0,0,224,224,224,224,224,224,224,224,224,224,224,14,27, + 54,16,0,253,15,192,63,240,63,248,112,56,112,28,120,28, + 60,28,30,28,239,0,231,128,227,192,225,224,240,240,120,120, + 60,60,30,28,15,28,7,156,3,220,225,224,224,240,224,120, + 224,56,112,56,127,240,63,240,15,128,8,3,3,16,3,16, + 231,231,231,14,19,38,16,0,0,28,0,255,128,255,224,193, + 240,0,112,31,56,127,56,127,24,224,28,224,28,224,28,127, + 24,127,56,31,56,0,112,193,240,255,224,255,128,28,0,12, + 16,32,16,2,8,15,240,63,240,127,240,112,112,224,112,224, + 112,224,112,112,112,127,240,63,240,15,240,0,0,0,0,255, + 240,255,240,255,240,13,13,26,16,0,255,48,48,56,56,112, + 112,112,112,224,224,224,224,224,224,224,224,224,224,112,112,112, + 112,56,56,48,48,14,8,16,16,0,3,255,252,255,252,255, + 252,0,28,0,28,0,28,0,28,0,28,13,3,6,16,0, + 8,255,248,255,248,255,248,14,17,34,16,0,2,28,0,255, + 128,255,224,193,240,0,112,248,56,254,56,254,24,231,28,231, + 28,231,28,254,24,254,56,254,56,239,240,231,240,227,192,8, + 3,3,16,3,16,255,255,255,12,12,24,16,2,10,15,0, + 63,192,127,224,112,224,224,112,224,112,224,112,224,112,112,224, + 127,224,63,192,15,0,13,16,32,16,0,0,7,0,7,0, + 7,0,7,0,7,0,255,248,255,248,255,248,7,0,7,0, + 7,0,7,0,7,0,255,248,255,248,255,248,6,9,9,16, + 4,15,120,132,4,4,8,16,32,64,252,6,9,9,16,4, + 15,120,132,4,8,48,8,4,132,120,7,6,6,16,5,16, + 12,30,60,120,240,96,14,18,36,16,0,251,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,225,240, + 255,252,255,188,254,12,224,0,224,0,224,0,224,0,224,0, + 14,22,44,16,0,0,7,252,31,252,63,252,127,28,119,28, + 231,28,231,28,231,28,231,28,119,28,127,28,63,252,31,252, + 7,252,7,28,7,28,7,28,7,28,7,28,7,28,7,28, + 7,28,5,5,5,16,5,6,112,248,248,248,112,6,8,8, + 16,3,251,252,252,252,60,124,248,240,96,7,9,9,16,4, + 15,16,112,16,16,16,16,16,16,254,11,16,32,16,3,8, + 14,0,63,128,127,192,113,192,224,224,224,224,224,224,113,192, + 127,192,63,128,14,0,0,0,0,0,255,224,255,224,255,224, + 13,13,26,16,0,255,96,96,224,224,112,112,112,112,56,56, + 56,56,56,56,56,56,56,56,112,112,112,112,224,224,96,96, + 15,24,48,16,0,0,8,0,56,0,8,0,8,0,8,0, + 8,0,8,2,8,4,127,8,0,16,0,32,0,64,0,128, + 1,0,2,0,4,8,8,24,16,40,32,72,64,136,128,254, + 0,8,0,8,0,62,15,24,48,16,0,0,8,0,56,0, + 8,0,8,0,8,0,8,0,8,2,8,4,127,8,0,16, + 0,32,0,64,0,128,1,0,2,0,4,120,8,132,16,4, + 32,4,64,8,128,16,0,32,0,64,0,252,15,24,48,16, + 0,0,30,0,33,0,1,0,2,0,12,0,2,0,1,2, + 33,4,30,8,0,16,0,32,0,64,0,128,1,0,2,0, + 4,8,8,24,16,40,32,72,64,136,128,254,0,8,0,8, + 0,62,14,19,38,16,0,0,3,128,3,128,3,128,0,0, + 0,0,3,128,7,128,15,0,30,0,60,0,120,0,240,0, + 224,0,224,28,224,28,112,56,127,248,63,240,15,192,14,24, + 48,16,0,0,24,0,60,0,30,0,15,0,7,128,7,128, + 7,128,15,192,15,192,28,224,28,224,56,112,56,112,112,56, + 112,56,224,28,255,252,255,252,255,252,224,28,224,28,224,28, + 224,28,224,28,14,24,48,16,0,0,0,96,0,240,1,224, + 3,192,7,128,7,128,7,128,15,192,15,192,28,224,28,224, + 56,112,56,112,112,56,112,56,224,28,255,252,255,252,255,252, + 224,28,224,28,224,28,224,28,224,28,14,24,48,16,0,0, + 3,0,7,128,15,192,31,224,28,224,11,64,7,128,15,192, + 15,192,28,224,28,224,56,112,56,112,112,56,112,56,224,28, + 255,252,255,252,255,252,224,28,224,28,224,28,224,28,224,28, + 14,24,48,16,0,0,60,56,127,56,255,248,231,240,225,224, + 7,128,7,128,15,192,15,192,28,224,28,224,56,112,56,112, + 112,56,112,56,224,28,255,252,255,252,255,252,224,28,224,28, + 224,28,224,28,224,28,14,24,48,16,0,0,56,112,56,112, + 56,112,0,0,0,0,7,128,7,128,15,192,15,192,28,224, + 28,224,56,112,56,112,112,56,112,56,224,28,255,252,255,252, + 255,252,224,28,224,28,224,28,224,28,224,28,14,24,48,16, + 0,0,7,128,15,192,28,224,24,96,28,224,15,192,7,128, + 15,192,15,192,28,224,28,224,56,112,56,112,112,56,112,56, + 224,28,255,252,255,252,255,252,224,28,224,28,224,28,224,28, + 224,28,14,19,38,16,0,0,15,252,63,252,127,252,119,0, + 231,0,231,0,231,0,231,0,255,224,255,224,255,224,231,0, + 231,0,231,0,231,0,231,0,231,252,231,252,231,252,14,24, + 48,16,0,251,15,192,63,240,127,248,112,56,224,28,224,28, + 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,28, + 224,28,112,56,127,248,63,240,15,192,7,0,15,0,30,0, + 60,0,24,0,14,24,48,16,0,0,24,0,60,0,30,0, + 15,0,7,128,255,252,255,252,255,252,224,0,224,0,224,0, + 224,0,224,0,255,224,255,224,255,224,224,0,224,0,224,0, + 224,0,224,0,255,252,255,252,255,252,14,24,48,16,0,0, + 0,96,0,240,1,224,3,192,7,128,255,252,255,252,255,252, + 224,0,224,0,224,0,224,0,224,0,255,224,255,224,255,224, + 224,0,224,0,224,0,224,0,224,0,255,252,255,252,255,252, + 14,24,48,16,0,0,3,0,7,128,15,192,31,224,28,224, + 255,252,255,252,255,252,224,0,224,0,224,0,224,0,224,0, + 255,224,255,224,255,224,224,0,224,0,224,0,224,0,224,0, + 255,252,255,252,255,252,14,24,48,16,0,0,56,112,56,112, + 56,112,0,0,0,0,255,252,255,252,255,252,224,0,224,0, + 224,0,224,0,224,0,255,224,255,224,255,224,224,0,224,0, + 224,0,224,0,224,0,255,252,255,252,255,252,13,24,48,16, + 0,0,24,0,60,0,30,0,15,0,7,0,255,248,255,248, + 255,248,7,0,7,0,7,0,7,0,7,0,7,0,7,0, + 7,0,7,0,7,0,7,0,7,0,7,0,255,248,255,248, + 255,248,13,24,48,16,0,0,0,192,1,224,3,192,7,128, + 7,0,255,248,255,248,255,248,7,0,7,0,7,0,7,0, + 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, + 7,0,255,248,255,248,255,248,13,24,48,16,0,0,2,0, + 7,0,15,128,31,192,56,224,255,248,255,248,255,248,7,0, + 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, + 7,0,7,0,7,0,7,0,255,248,255,248,255,248,13,24, + 48,16,0,0,56,224,56,224,56,224,0,0,0,0,255,248, + 255,248,255,248,7,0,7,0,7,0,7,0,7,0,7,0, + 7,0,7,0,7,0,7,0,7,0,7,0,7,0,255,248, + 255,248,255,248,14,19,38,16,0,0,31,192,31,240,31,248, + 28,56,28,28,28,28,28,28,28,28,255,156,255,156,255,156, + 28,28,28,28,28,28,28,28,28,56,31,248,31,240,31,192, + 14,24,48,16,0,0,60,56,127,56,255,248,231,240,225,224, + 224,28,240,28,248,28,252,28,254,28,239,28,231,156,227,220, + 225,252,224,252,224,124,224,60,224,28,224,28,224,28,224,28, + 224,28,224,28,224,28,14,24,48,16,0,0,12,0,30,0, + 15,0,7,128,3,128,15,192,63,240,127,248,112,56,224,28, + 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, + 224,28,224,28,112,56,127,248,63,240,15,192,14,24,48,16, + 0,0,0,192,1,224,3,192,7,128,7,0,15,192,63,240, + 127,248,112,56,224,28,224,28,224,28,224,28,224,28,224,28, + 224,28,224,28,224,28,224,28,224,28,112,56,127,248,63,240, + 15,192,14,24,48,16,0,0,3,0,7,128,15,192,31,224, + 60,240,24,96,15,192,63,240,127,248,112,56,224,28,224,28, + 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, + 112,56,127,248,63,240,15,192,14,24,48,16,0,0,60,56, + 127,56,255,248,231,240,225,224,15,192,63,240,127,248,112,56, + 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, + 224,28,224,28,224,28,112,56,127,248,63,240,15,192,14,24, + 48,16,0,0,56,112,56,112,56,112,0,0,0,0,15,192, + 63,240,127,248,112,56,224,28,224,28,224,28,224,28,224,28, + 224,28,224,28,224,28,224,28,224,28,224,28,112,56,127,248, + 63,240,15,192,14,13,26,16,0,3,96,24,240,60,120,120, + 60,240,31,224,15,192,7,128,15,192,31,224,60,240,120,120, + 240,60,96,24,14,19,38,16,0,0,15,192,63,240,127,248, + 112,56,224,60,224,124,224,252,225,252,227,220,231,156,239,28, + 254,28,252,28,248,28,240,28,112,56,127,248,63,240,15,192, + 14,24,48,16,0,0,24,0,60,0,30,0,15,0,7,128, + 227,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, + 224,28,224,28,224,28,224,28,224,28,224,28,224,28,112,56, + 127,248,63,240,15,192,14,24,48,16,0,0,0,96,0,240, + 1,224,3,192,7,128,227,28,224,28,224,28,224,28,224,28, + 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, + 224,28,224,28,112,56,127,248,63,240,15,192,14,24,48,16, + 0,0,3,0,7,128,15,192,31,224,60,240,24,96,224,28, + 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, + 224,28,224,28,224,28,224,28,224,28,112,56,127,248,63,240, + 15,192,14,24,48,16,0,0,56,112,56,112,56,112,0,0, + 0,0,224,28,224,28,224,28,224,28,224,28,224,28,224,28, + 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, + 112,56,127,248,63,240,15,192,13,24,48,16,0,0,0,96, + 0,240,1,224,3,192,7,128,227,56,224,56,224,56,224,56, + 224,56,224,56,224,56,240,120,120,240,61,224,31,192,15,128, + 7,0,7,0,7,0,7,0,7,0,7,0,7,0,14,19, + 38,16,0,0,224,0,224,0,224,0,255,192,255,240,255,248, + 224,56,224,28,224,28,224,28,224,56,255,248,255,240,255,192, + 224,0,224,0,224,0,224,0,224,0,13,25,50,16,0,253, + 3,192,7,224,15,240,30,120,60,56,120,56,240,56,224,56, + 224,112,224,224,224,224,224,224,224,224,224,112,224,56,224,56, + 224,56,224,56,224,120,227,240,227,224,227,192,224,0,224,0, + 224,0,14,22,44,16,0,0,6,0,15,0,7,128,3,192, + 1,224,0,192,0,0,0,0,15,252,63,252,127,252,112,28, + 224,28,224,28,224,28,224,28,224,60,224,124,113,252,127,220, + 63,156,14,28,14,22,44,16,0,0,0,96,0,240,1,224, + 3,192,7,128,3,0,0,0,0,0,15,252,63,252,127,252, + 112,28,224,28,224,28,224,28,224,28,224,60,224,124,113,252, + 127,220,63,156,14,28,14,22,44,16,0,0,3,0,7,128, + 15,192,31,224,60,240,24,96,0,0,0,0,15,252,63,252, + 127,252,112,28,224,28,224,28,224,28,224,28,224,60,224,124, + 113,252,127,220,63,156,14,28,14,21,42,16,0,0,60,56, + 127,56,255,248,231,240,225,224,0,0,0,0,15,252,63,252, + 127,252,112,28,224,28,224,28,224,28,224,28,224,60,224,124, + 113,252,127,220,63,156,14,28,14,19,38,16,0,0,56,112, + 56,112,56,112,0,0,0,0,15,252,63,252,127,252,112,28, + 224,28,224,28,224,28,224,28,224,60,224,124,113,252,127,220, + 63,156,14,28,14,21,42,16,0,0,7,192,15,224,12,96, + 12,96,12,96,15,224,7,192,15,252,63,252,127,252,112,28, + 224,28,224,28,224,28,224,28,224,60,224,124,113,252,127,220, + 63,156,14,28,14,14,28,16,0,0,15,192,63,240,127,248, + 119,120,231,60,231,28,231,252,231,252,231,252,231,0,119,0, + 127,252,63,252,15,252,14,19,38,16,0,251,15,192,63,240, + 127,248,112,56,224,28,224,28,224,0,224,0,224,0,224,0, + 112,0,127,252,63,252,15,252,7,0,15,0,30,0,60,0, + 24,0,14,22,44,16,0,0,24,0,60,0,30,0,15,0, + 7,128,3,0,0,0,0,0,15,192,63,240,127,248,112,56, + 224,28,224,28,255,252,255,252,255,252,224,0,112,0,127,252, + 63,252,15,252,14,22,44,16,0,0,0,96,0,240,1,224, + 3,192,7,128,3,0,0,0,0,0,15,192,63,240,127,248, + 112,56,224,28,224,28,255,252,255,252,255,252,224,0,112,0, + 127,252,63,252,15,252,14,22,44,16,0,0,3,0,7,128, + 15,192,31,224,60,240,24,96,0,0,0,0,15,192,63,240, + 127,248,112,56,224,28,224,28,255,252,255,252,255,252,224,0, + 112,0,127,252,63,252,15,252,14,19,38,16,0,0,56,112, + 56,112,56,112,0,0,0,0,15,192,63,240,127,248,112,56, + 224,28,224,28,255,252,255,252,255,252,224,0,112,0,127,252, + 63,252,15,252,9,22,44,16,2,0,96,0,240,0,120,0, + 60,0,30,0,12,0,0,0,0,0,252,0,252,0,252,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 255,128,255,128,255,128,9,22,44,16,2,0,3,0,7,128, + 15,0,30,0,60,0,24,0,0,0,0,0,252,0,252,0, + 252,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,255,128,255,128,255,128,10,22,44,16,2,0,12,0, + 30,0,63,0,127,128,243,192,97,128,0,0,0,0,252,0, + 252,0,252,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,28,0,255,128,255,128,255,128,9,19,38,16,2,0, + 227,128,227,128,227,128,0,0,0,0,252,0,252,0,252,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 255,128,255,128,255,128,14,23,46,16,0,0,49,128,123,192, + 63,128,31,0,31,0,63,128,123,192,49,224,0,240,15,248, + 63,252,127,252,112,60,224,28,224,28,224,28,224,28,224,28, + 224,28,112,56,127,248,63,240,15,192,14,21,42,16,0,0, + 60,56,127,56,255,248,231,240,225,224,0,0,0,0,225,192, + 231,240,239,248,254,56,248,28,240,28,224,28,224,28,224,28, + 224,28,224,28,224,28,224,28,224,28,14,22,44,16,0,0, + 24,0,60,0,30,0,15,0,7,128,3,0,0,0,0,0, + 15,192,63,240,127,248,112,56,224,28,224,28,224,28,224,28, + 224,28,224,28,112,56,127,248,63,240,15,192,14,22,44,16, + 0,0,0,96,0,240,1,224,3,192,7,128,3,0,0,0, + 0,0,15,192,63,240,127,248,112,56,224,28,224,28,224,28, + 224,28,224,28,224,28,112,56,127,248,63,240,15,192,14,22, + 44,16,0,0,3,0,7,128,15,192,31,224,60,240,24,96, + 0,0,0,0,15,192,63,240,127,248,112,56,224,28,224,28, + 224,28,224,28,224,28,224,28,112,56,127,248,63,240,15,192, + 14,21,42,16,0,0,60,56,127,56,255,248,231,240,225,224, + 0,0,0,0,15,192,63,240,127,248,112,56,224,28,224,28, + 224,28,224,28,224,28,224,28,112,56,127,248,63,240,15,192, + 14,19,38,16,0,0,56,112,56,112,56,112,0,0,0,0, + 15,192,63,240,127,248,112,56,224,28,224,28,224,28,224,28, + 224,28,224,28,112,56,127,248,63,240,15,192,13,14,28,16, + 0,2,7,0,7,0,7,0,0,0,0,0,255,248,255,248, + 255,248,0,0,0,0,0,0,7,0,7,0,7,0,14,14, + 28,16,0,0,15,192,63,240,127,248,112,120,224,252,225,220, + 227,156,231,28,238,28,252,28,120,56,127,248,63,240,15,192, + 14,22,44,16,0,0,24,0,60,0,30,0,15,0,7,128, + 3,0,0,0,0,0,224,28,224,28,224,28,224,28,224,28, + 224,28,224,28,224,28,224,60,224,124,113,252,127,220,63,156, + 14,28,14,22,44,16,0,0,0,96,0,240,1,224,3,192, + 7,128,3,0,0,0,0,0,224,28,224,28,224,28,224,28, + 224,28,224,28,224,28,224,28,224,60,224,124,113,252,127,220, + 63,156,14,28,14,22,44,16,0,0,3,0,7,128,15,192, + 31,224,60,240,24,96,0,0,0,0,224,28,224,28,224,28, + 224,28,224,28,224,28,224,28,224,28,224,60,224,124,113,252, + 127,220,63,156,14,28,14,19,38,16,0,0,56,112,56,112, + 56,112,0,0,0,0,224,28,224,28,224,28,224,28,224,28, + 224,28,224,28,224,28,224,60,224,124,113,252,127,220,63,156, + 14,28,14,27,54,16,0,251,0,96,0,240,1,224,3,192, + 7,128,3,0,0,0,0,0,224,28,224,28,224,28,224,28, + 224,28,224,28,224,28,224,28,224,28,224,28,112,28,127,252, + 63,252,15,252,0,28,0,56,31,248,31,240,31,192,14,24, + 48,16,0,251,224,0,224,0,224,0,224,0,224,0,255,192, + 255,240,255,248,224,56,224,28,224,28,224,28,224,28,224,28, + 224,28,224,56,255,248,255,240,255,192,224,0,224,0,224,0, + 224,0,224,0,14,24,48,16,0,251,56,112,56,112,56,112, + 0,0,0,0,224,28,224,28,224,28,224,28,224,28,224,28, + 224,28,224,28,224,28,224,28,112,28,127,252,63,252,31,252, + 0,28,0,56,31,248,31,240,31,224}; +/* + Fontname: ProFont29 + Copyright: ProFont Distribution 2.2 Ñ Generated by Fontographer 4.1.5 + Capital A Height: 19, '1' Height: 19 + Calculated Max Values w=16 h=29 x= 5 y=15 dx=16 dy= 0 ascent=24 len=58 + Font Bounding box w=16 h=28 x= 0 y=-5 + Calculated Min Values x= 0 y=-5 dx= 0 dy= 0 + Pure Font ascent =19 descent=-5 + X Font ascent =22 descent=-5 + Max Font ascent =24 descent=-5 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_profont29r[3719] U8G_FONT_SECTION("u8g_font_profont29r") = { + 0,16,28,0,251,19,4,198,9,234,32,127,251,24,251,22, + 251,0,0,0,16,0,0,3,19,19,16,5,0,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,0,0,224,224,224, + 9,9,18,16,2,13,227,128,227,128,227,128,227,128,227,128, + 227,128,227,128,227,128,227,128,15,15,30,16,0,5,28,112, + 28,112,28,112,255,254,255,254,255,254,28,112,28,112,28,112, + 255,254,255,254,255,254,28,112,28,112,28,112,13,25,50,16, + 0,253,7,0,7,0,7,0,15,128,63,224,127,240,119,112, + 231,56,231,56,231,0,119,0,127,128,63,224,15,240,7,112, + 7,56,231,56,231,56,119,112,127,240,63,224,15,128,7,0, + 7,0,7,0,14,19,38,16,0,0,31,252,63,252,127,252, + 102,28,231,60,231,120,231,240,103,224,127,224,63,192,31,240, + 31,48,63,56,127,56,247,56,227,48,227,240,225,224,224,192, + 14,19,38,16,0,0,15,0,63,192,127,224,112,224,225,224, + 227,192,231,128,127,0,126,0,60,0,126,8,127,28,231,188, + 227,248,225,240,113,240,127,248,63,188,14,24,3,9,9,16, + 5,13,224,224,224,224,224,224,224,224,224,9,25,50,16,3, + 253,3,0,7,128,15,0,30,0,60,0,120,0,240,0,224, + 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, + 0,224,0,224,0,240,0,120,0,60,0,30,0,15,0,7, + 128,3,0,9,25,50,16,2,253,96,0,240,0,120,0,60, + 0,30,0,15,0,7,128,3,128,3,128,3,128,3,128,3, + 128,3,128,3,128,3,128,3,128,3,128,3,128,7,128,15, + 0,30,0,60,0,120,0,240,0,96,0,13,13,26,16,0, + 5,7,0,7,0,103,48,247,248,127,240,31,192,31,192,127, + 240,255,248,103,48,7,0,7,0,7,0,13,13,26,16,0, + 3,7,0,7,0,7,0,7,0,7,0,255,248,255,248,255, + 248,7,0,7,0,7,0,7,0,7,0,6,11,11,16,3, + 251,56,124,124,124,60,28,28,60,120,240,96,8,3,3,16, + 3,8,255,255,255,5,5,5,16,4,1,112,248,248,248,112, + 15,26,52,16,0,251,0,14,0,14,0,28,0,28,0,56, + 0,56,0,112,0,112,0,224,0,224,1,192,1,192,3,128, + 3,128,7,0,7,0,14,0,14,0,28,0,28,0,56,0, + 56,0,112,0,112,0,224,0,224,0,14,19,38,16,0,0, + 15,192,63,240,127,248,112,56,224,60,224,124,224,252,225,252, + 227,220,231,156,239,28,254,28,252,28,248,28,240,28,112,56, + 127,248,63,240,15,192,13,19,38,16,0,0,7,0,7,0, + 15,0,127,0,127,0,127,0,7,0,7,0,7,0,7,0, + 7,0,7,0,7,0,7,0,7,0,7,0,255,248,255,248, + 255,248,14,19,38,16,0,0,15,192,63,240,127,248,112,56, + 224,28,224,28,0,28,0,56,0,120,0,240,1,224,3,192, + 7,128,15,0,30,0,60,0,127,252,255,252,255,252,14,19, + 38,16,0,0,15,192,63,240,127,248,112,56,224,28,224,28, + 0,28,0,120,3,240,3,224,3,240,0,120,0,28,224,28, + 224,28,112,56,127,248,63,240,15,192,14,19,38,16,0,0, + 0,224,1,224,3,224,7,224,15,224,30,224,60,224,120,224, + 240,224,224,224,255,252,255,252,255,252,0,224,0,224,0,224, + 7,252,7,252,7,252,14,19,38,16,0,0,255,252,255,252, + 255,252,224,0,224,0,255,192,255,240,255,248,0,56,0,28, + 0,28,0,28,0,28,224,28,224,28,112,56,127,248,63,240, + 15,192,14,19,38,16,0,0,15,224,63,224,127,224,112,0, + 224,0,255,192,255,240,255,248,224,56,224,28,224,28,224,28, + 224,28,224,28,224,28,112,56,127,248,63,240,15,192,14,19, + 38,16,0,0,255,252,255,252,255,252,0,28,0,28,0,28, + 0,60,0,120,0,240,1,224,3,192,7,128,7,0,7,0, + 7,0,7,0,7,0,7,0,7,0,14,19,38,16,0,0, + 15,192,63,240,127,248,112,56,224,28,224,28,224,28,120,120, + 63,240,31,224,63,240,120,120,224,28,224,28,224,28,112,56, + 127,248,63,240,15,192,14,19,38,16,0,0,15,192,63,240, + 127,248,112,56,224,28,224,28,224,28,224,28,224,28,224,28, + 112,28,127,252,63,252,15,252,0,28,0,56,31,248,31,240, + 31,192,5,13,13,16,4,1,112,248,248,248,112,0,0,0, + 112,248,248,248,112,6,19,19,16,3,251,56,124,124,124,56, + 0,0,0,56,124,124,124,60,28,28,60,120,240,96,12,19, + 38,16,2,0,0,96,0,240,1,224,3,192,7,128,15,0, + 30,0,60,0,120,0,240,0,120,0,60,0,30,0,15,0, + 7,128,3,192,1,224,0,240,0,96,14,9,18,16,0,5, + 255,252,255,252,255,252,0,0,0,0,0,0,255,252,255,252, + 255,252,12,19,38,16,2,0,96,0,240,0,120,0,60,0, + 30,0,15,0,7,128,3,192,1,224,0,240,1,224,3,192, + 7,128,15,0,30,0,60,0,120,0,240,0,96,0,14,19, + 38,16,0,0,15,192,63,240,127,248,112,56,224,28,224,28, + 0,28,0,60,0,120,0,240,1,224,3,192,7,128,7,0, + 0,0,0,0,7,0,7,0,7,0,14,19,38,16,0,0, + 15,192,63,240,127,248,112,56,224,28,225,252,227,252,231,252, + 231,28,231,28,231,28,231,252,227,248,225,240,224,0,112,0, + 127,252,63,252,15,252,14,19,38,16,0,0,7,128,7,128, + 15,192,15,192,28,224,28,224,56,112,56,112,112,56,112,56, + 224,28,255,252,255,252,255,252,224,28,224,28,224,28,224,28, + 224,28,14,19,38,16,0,0,255,192,255,240,255,248,224,56, + 224,28,224,28,224,28,224,120,255,240,255,224,255,240,224,120, + 224,28,224,28,224,28,224,56,255,248,255,240,255,192,14,19, + 38,16,0,0,15,192,63,240,127,248,112,56,224,28,224,28, + 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,28, + 224,28,112,56,127,248,63,240,15,192,14,19,38,16,0,0, + 255,192,255,240,255,248,224,56,224,28,224,28,224,28,224,28, + 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,56, + 255,248,255,240,255,192,14,19,38,16,0,0,255,252,255,252, + 255,252,224,0,224,0,224,0,224,0,224,0,255,224,255,224, + 255,224,224,0,224,0,224,0,224,0,224,0,255,252,255,252, + 255,252,14,19,38,16,0,0,255,252,255,252,255,252,224,0, + 224,0,224,0,224,0,224,0,255,224,255,224,255,224,224,0, + 224,0,224,0,224,0,224,0,224,0,224,0,224,0,14,19, + 38,16,0,0,15,192,63,240,127,248,112,56,224,28,224,28, + 224,0,224,0,224,252,224,252,224,252,224,28,224,28,224,28, + 224,28,112,56,127,248,63,240,15,192,14,19,38,16,0,0, + 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, + 255,252,255,252,255,252,224,28,224,28,224,28,224,28,224,28, + 224,28,224,28,224,28,13,19,38,16,0,0,255,248,255,248, + 255,248,7,0,7,0,7,0,7,0,7,0,7,0,7,0, + 7,0,7,0,7,0,7,0,7,0,7,0,255,248,255,248, + 255,248,14,19,38,16,0,0,0,28,0,28,0,28,0,28, + 0,28,0,28,0,28,0,28,0,28,0,28,0,28,224,28, + 224,28,224,28,224,28,112,56,127,248,63,240,15,192,13,19, + 38,16,0,0,224,56,224,120,224,240,225,224,227,192,231,128, + 239,0,254,0,252,0,248,0,252,0,254,0,239,0,231,128, + 227,192,225,224,224,240,224,120,224,56,14,19,38,16,0,0, + 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, + 224,0,224,0,224,0,224,0,224,0,224,0,224,0,224,0, + 255,252,255,252,255,252,15,19,38,16,0,0,224,14,240,30, + 248,62,252,126,254,254,239,238,231,206,227,142,227,142,227,142, + 227,142,224,14,224,14,224,14,224,14,224,14,224,14,224,14, + 224,14,14,19,38,16,0,0,224,28,240,28,248,28,252,28, + 254,28,239,28,231,156,227,220,225,252,224,252,224,124,224,60, + 224,28,224,28,224,28,224,28,224,28,224,28,224,28,14,19, + 38,16,0,0,15,192,63,240,127,248,112,56,224,28,224,28, + 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, + 224,28,112,56,127,248,63,240,15,192,14,19,38,16,0,0, + 255,192,255,240,255,248,224,56,224,28,224,28,224,28,224,56, + 255,248,255,240,255,192,224,0,224,0,224,0,224,0,224,0, + 224,0,224,0,224,0,14,22,44,16,0,253,15,192,63,240, + 127,248,112,56,224,28,224,28,224,28,224,28,224,28,224,28, + 224,28,224,28,224,28,230,28,239,28,119,248,127,248,63,240, + 15,240,0,120,0,60,0,24,14,19,38,16,0,0,255,192, + 255,240,255,248,224,56,224,28,224,28,224,28,224,120,255,240, + 255,224,255,240,224,120,224,28,224,28,224,28,224,28,224,28, + 224,28,224,28,14,19,38,16,0,0,15,192,63,240,127,248, + 112,56,224,28,224,28,224,0,112,0,127,192,63,240,15,248, + 0,56,0,28,224,28,224,28,112,56,127,248,63,240,15,192, + 13,19,38,16,0,0,255,248,255,248,255,248,7,0,7,0, + 7,0,7,0,7,0,7,0,7,0,7,0,7,0,7,0, + 7,0,7,0,7,0,7,0,7,0,7,0,14,19,38,16, + 0,0,224,28,224,28,224,28,224,28,224,28,224,28,224,28, + 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, + 112,56,127,248,63,240,15,192,14,19,38,16,0,0,224,28, + 224,28,224,28,224,28,224,28,224,28,224,28,112,56,112,56, + 56,112,56,112,28,224,28,224,15,192,15,192,7,128,7,128, + 3,0,3,0,15,19,38,16,0,0,224,14,224,14,224,14, + 224,14,224,14,224,14,224,14,224,14,227,142,227,142,227,142, + 227,142,231,206,239,254,254,254,252,126,248,62,240,30,224,14, + 14,19,38,16,0,0,224,28,224,28,224,28,224,28,240,60, + 120,120,60,240,31,224,15,192,7,128,15,192,31,224,60,240, + 120,120,240,60,224,28,224,28,224,28,224,28,13,19,38,16, + 0,0,224,56,224,56,224,56,224,56,224,56,224,56,224,56, + 240,120,120,240,61,224,31,192,15,128,7,0,7,0,7,0, + 7,0,7,0,7,0,7,0,14,19,38,16,0,0,255,252, + 255,252,255,252,0,28,0,60,0,120,0,240,1,224,3,192, + 7,128,15,0,30,0,60,0,120,0,240,0,224,0,255,252, + 255,252,255,252,6,25,25,16,5,253,252,252,252,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, + 252,252,252,15,26,52,16,1,251,224,0,224,0,112,0,112, + 0,56,0,56,0,28,0,28,0,14,0,14,0,7,0,7, + 0,3,128,3,128,1,192,1,192,0,224,0,224,0,112,0, + 112,0,56,0,56,0,28,0,28,0,14,0,14,6,25,25, + 16,2,253,252,252,252,28,28,28,28,28,28,28,28,28,28, + 28,28,28,28,28,28,28,28,28,252,252,252,14,8,16,16, + 0,11,3,0,7,128,15,192,31,224,60,240,120,120,240,60, + 96,24,16,3,6,16,0,251,255,255,255,255,255,255,7,6, + 6,16,2,15,96,240,120,60,30,12,14,14,28,16,0,0, + 15,252,63,252,127,252,112,28,224,28,224,28,224,28,224,28, + 224,60,224,124,113,252,127,220,63,156,14,28,14,19,38,16, + 0,0,224,0,224,0,224,0,224,0,224,0,255,192,255,240, + 255,248,224,56,224,28,224,28,224,28,224,28,224,28,224,28, + 224,56,255,248,255,240,255,192,14,14,28,16,0,0,15,192, + 63,240,127,248,112,56,224,28,224,28,224,0,224,0,224,0, + 224,0,112,0,127,252,63,252,15,252,14,19,38,16,0,0, + 0,28,0,28,0,28,0,28,0,28,15,252,63,252,127,252, + 112,28,224,28,224,28,224,28,224,28,224,28,224,28,112,28, + 127,252,63,252,15,252,14,14,28,16,0,0,15,192,63,240, + 127,248,112,56,224,28,224,28,255,252,255,252,255,252,224,0, + 112,0,127,252,63,252,15,252,11,19,38,16,2,0,1,224, + 7,224,15,224,14,0,28,0,255,128,255,128,255,128,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,28,0,14,19,38,16,0,251,15,252,63,252,127,252, + 112,28,224,28,224,28,224,28,224,28,224,28,224,28,112,28, + 127,252,63,252,15,252,0,28,0,56,31,248,31,240,31,192, + 14,19,38,16,0,0,224,0,224,0,224,0,224,0,224,0, + 255,192,255,240,255,248,224,56,224,28,224,28,224,28,224,28, + 224,28,224,28,224,28,224,28,224,28,224,28,9,19,38,16, + 2,0,28,0,28,0,28,0,0,0,0,0,252,0,252,0, + 252,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,255,128,255,128,255,128,8,24,24,16,0,251,7,7, + 7,0,0,63,63,63,7,7,7,7,7,7,7,7,7,7, + 7,7,14,254,252,240,14,19,38,16,0,0,224,0,224,0, + 224,0,224,0,224,0,224,120,224,240,225,224,227,192,231,128, + 239,0,255,0,255,128,251,192,241,224,224,240,224,120,224,60, + 224,28,9,19,38,16,2,0,252,0,252,0,252,0,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,28,0,28,0,28,0,255,128,255,128,255,128,15,14, + 28,16,0,0,255,224,255,248,255,252,227,156,227,142,227,142, + 227,142,227,142,227,142,227,142,227,142,227,142,227,142,227,142, + 14,14,28,16,0,0,225,192,231,240,239,248,254,56,248,28, + 240,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, + 224,28,14,14,28,16,0,0,15,192,63,240,127,248,112,56, + 224,28,224,28,224,28,224,28,224,28,224,28,112,56,127,248, + 63,240,15,192,14,19,38,16,0,251,255,192,255,240,255,248, + 224,56,224,28,224,28,224,28,224,28,224,28,224,28,224,56, + 255,248,255,240,255,192,224,0,224,0,224,0,224,0,224,0, + 14,19,38,16,0,251,15,252,63,252,127,252,112,28,224,28, + 224,28,224,28,224,28,224,28,224,28,112,28,127,252,63,252, + 15,252,0,28,0,28,0,28,0,28,0,28,14,14,28,16, + 0,0,225,192,231,240,239,248,254,56,248,28,240,28,224,0, + 224,0,224,0,224,0,224,0,224,0,224,0,224,0,14,14, + 28,16,0,0,15,252,63,252,127,252,240,0,224,0,255,192, + 127,240,31,248,0,60,0,28,0,60,255,248,255,240,255,192, + 11,19,38,16,2,0,28,0,28,0,28,0,28,0,28,0, + 255,128,255,128,255,128,28,0,28,0,28,0,28,0,28,0, + 28,0,28,0,14,0,15,224,7,224,1,224,14,14,28,16, + 0,0,224,28,224,28,224,28,224,28,224,28,224,28,224,28, + 224,28,224,60,224,124,113,252,127,220,63,156,14,28,14,14, + 28,16,0,0,224,28,224,28,224,28,224,28,224,28,112,56, + 112,56,56,112,56,112,28,224,28,224,15,192,15,192,7,128, + 15,14,28,16,0,0,227,142,227,142,227,142,227,142,227,142, + 227,142,227,142,227,142,227,142,227,142,247,222,127,252,126,252, + 28,112,14,14,28,16,0,0,224,28,224,28,240,60,120,120, + 60,240,31,224,15,192,15,192,31,224,60,240,120,120,240,60, + 224,28,224,28,14,19,38,16,0,251,224,28,224,28,224,28, + 224,28,224,28,224,28,224,28,224,28,224,28,224,28,112,28, + 127,252,63,252,15,252,0,28,0,56,31,248,31,240,31,192, + 13,14,28,16,0,0,255,248,255,248,255,248,0,240,1,224, + 3,192,7,128,15,0,30,0,60,0,120,0,255,248,255,248, + 255,248,9,29,58,16,3,251,3,128,15,128,15,128,30,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 60,0,248,0,224,0,248,0,60,0,28,0,28,0,28,0, + 28,0,28,0,28,0,28,0,28,0,30,0,15,128,15,128, + 3,128,3,25,25,16,5,253,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,9,29,58,16,2,251,224,0,248,0,248,0,60,0,28, + 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,30, + 0,15,128,3,128,15,128,30,0,28,0,28,0,28,0,28, + 0,28,0,28,0,28,0,28,0,60,0,248,0,248,0,224, + 0,13,5,10,16,0,8,60,56,127,56,255,248,231,240,225, + 224,0,0,0,16,0,0}; +/* + Fontname: -FreeType-Robot de Niro-Medium-R-Normal--16-160-72-72-P-39-ISO10646-1 + Copyright: Copyright BMoser 2008 + Capital A Height: 6, '1' Height: 5 + Calculated Max Values w= 7 h= 8 x= 0 y= 6 dx= 8 dy= 0 ascent=10 len= 8 + Font Bounding box w=10 h=10 x=-1 y= 0 + Calculated Min Values x=-1 y= 0 dx= 0 dy= 0 + Pure Font ascent = 6 descent= 1 + X Font ascent = 9 descent= 0 + Max Font ascent =10 descent= 0 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_robot_de_niro[1376] U8G_FONT_SECTION("u8g_font_robot_de_niro") = { + 0,10,10,255,0,6,1,97,2,193,32,255,1,10,0,9, + 0,0,0,0,2,0,0,2,5,5,3,0,3,192,128,128, + 0,128,3,2,2,4,0,6,160,160,5,5,5,6,0,3, + 80,248,80,248,80,4,7,7,5,0,2,96,224,16,96,128, + 112,96,5,5,5,6,0,3,192,208,32,88,24,4,5,5, + 5,0,3,96,160,80,160,80,1,2,2,2,0,6,128,128, + 2,7,7,3,0,2,64,128,128,128,128,128,64,2,7,7, + 3,0,2,128,64,64,64,64,64,128,3,3,3,4,0,6, + 160,64,160,3,3,3,4,0,4,64,224,64,2,2,2,3, + 0,2,64,128,3,1,1,4,0,5,224,1,1,1,2,0, + 3,128,3,5,5,4,0,3,32,32,64,128,128,3,5,5, + 4,0,3,64,160,160,160,64,3,5,5,4,0,3,192,64, + 64,64,224,3,5,5,4,0,3,192,32,96,128,224,3,5, + 5,4,0,3,192,32,224,32,224,3,5,5,4,0,3,160, + 160,224,32,32,3,5,5,4,0,3,96,128,224,32,224,3, + 5,5,4,0,3,96,128,224,160,64,4,5,5,5,0,3, + 224,32,112,32,32,3,5,5,4,0,3,96,160,224,160,192, + 3,5,5,4,0,3,96,160,224,32,192,1,3,3,2,0, + 4,128,0,128,2,4,4,3,0,3,64,0,64,128,2,3, + 3,3,0,4,64,128,64,3,3,3,4,0,4,224,0,224, + 2,3,3,3,0,4,128,64,128,3,5,5,4,0,3,224, + 32,64,0,64,5,7,7,6,0,2,120,136,184,168,184,128, + 120,4,6,6,4,255,2,48,80,112,80,80,128,4,5,5, + 5,0,3,224,80,96,80,224,3,5,5,4,0,3,96,128, + 128,160,64,4,5,5,5,0,3,224,80,80,80,32,3,5, + 5,4,0,3,96,128,192,128,224,4,6,6,5,0,2,176, + 64,96,64,64,128,4,5,5,5,0,3,96,128,176,160,96, + 4,6,6,4,255,2,80,80,112,80,80,128,1,5,5,2, + 0,3,128,128,128,128,128,3,5,5,4,0,3,64,32,32, + 32,192,5,5,5,6,0,3,208,80,96,80,72,4,5,5, + 5,0,3,192,64,64,64,176,6,5,5,6,255,3,168,84, + 84,84,68,4,5,5,5,0,3,224,80,80,80,80,3,5, + 5,4,0,3,96,160,160,160,64,4,5,5,5,0,3,176, + 80,96,64,64,4,5,5,5,0,3,64,160,160,160,112,5, + 5,5,5,255,3,176,80,96,80,72,3,5,5,4,0,3, + 96,128,224,32,192,3,5,5,4,0,3,224,64,64,64,64, + 4,5,5,5,0,3,160,160,160,160,80,3,5,5,4,0, + 3,160,160,160,160,64,6,5,5,7,0,3,172,168,168,168, + 88,4,5,5,5,0,3,160,160,64,160,176,4,7,7,4, + 255,1,208,80,80,48,16,16,32,3,5,5,4,0,3,224, + 32,64,128,224,2,7,7,3,0,2,192,128,128,128,128,128, + 192,3,5,5,4,0,3,128,128,64,32,32,2,7,7,3, + 0,2,192,64,64,64,64,64,192,3,3,3,4,0,5,64, + 160,160,4,1,1,5,0,3,240,2,2,2,3,0,6,128, + 64,4,4,4,5,0,3,96,160,160,80,4,5,5,5,0, + 3,64,96,80,80,160,3,4,4,4,0,3,96,128,160,64, + 4,6,6,5,0,3,16,32,96,160,160,208,4,4,4,5, + 0,3,96,160,208,96,4,7,7,4,255,1,48,64,96,64, + 64,64,128,4,6,6,5,0,1,80,160,160,96,32,192,3, + 7,7,4,0,3,64,128,128,192,160,160,160,1,5,5,2, + 0,3,128,0,128,128,128,3,7,7,3,255,1,32,0,32, + 32,32,32,192,4,7,7,5,0,2,128,128,160,224,160,144, + 16,4,6,6,5,0,3,32,80,96,64,64,176,6,4,4, + 7,0,3,88,168,168,164,3,4,4,4,0,3,64,160,160, + 160,3,4,4,4,0,3,96,160,160,192,4,6,6,5,0, + 1,176,80,80,96,64,128,4,6,6,5,0,1,80,160,160, + 96,32,32,4,4,4,5,0,3,160,80,64,64,3,4,4, + 4,0,3,64,160,32,192,2,6,6,3,0,3,128,128,192, + 128,128,64,4,4,4,5,0,3,160,160,160,80,3,4,4, + 4,0,3,160,160,160,64,6,4,4,7,0,3,172,168,168, + 80,3,4,4,4,0,3,160,160,64,160,3,5,5,4,0, + 2,160,160,64,32,192,4,5,5,5,0,2,224,32,64,144, + 96,3,7,7,4,0,2,96,64,64,128,64,64,96,1,7, + 7,2,0,2,128,128,128,128,128,128,128,3,7,7,4,0, + 2,192,64,64,32,64,64,192,4,2,2,5,0,5,80,160, + 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,255,255,255,255,255,255, + 255,255,255,255,4,7,7,5,0,2,96,144,64,224,64,128, + 240,255,255,255,4,7,7,5,0,2,96,128,96,144,96,16, + 96,255,7,8,8,8,0,2,124,130,154,170,162,154,130,124, + 255,255,255,255,7,8,8,8,0,2,124,130,186,170,178,170, + 130,124,255,255,255,255,255,255,255,6,5,5,7,0,3,108, + 232,104,40,40,255,255,255,255,255,255,255,255,255,255,255,255, + 255,4,8,8,4,255,2,80,0,48,80,112,80,80,128,255, + 255,3,7,7,4,0,1,96,128,128,160,96,64,32,255,255, + 255,255,255,255,255,255,255,255,255,255,255,255,3,7,7,4, + 0,3,160,0,96,160,160,160,64,4,4,4,5,0,4,144, + 96,96,144,255,255,255,255,4,7,7,5,0,3,80,0,160, + 160,160,160,80,255,255,4,7,7,4,255,1,32,80,96,80, + 96,64,128,255,255,255,255,4,6,6,5,0,3,80,0,96, + 160,160,80,255,255,255,4,6,6,5,0,3,96,0,96,160, + 208,96,4,6,6,5,0,3,96,0,96,160,208,96,4,7, + 7,5,0,3,64,160,0,96,160,208,96,255,255,255,255,255, + 255,255,255,255,255,255,3,6,6,4,0,3,160,0,96,160, + 160,192,5,5,5,6,0,3,32,0,248,0,32,255,255,255, + 255,4,6,6,5,0,3,80,0,160,160,160,80,255,255,255 + }; +/* + Fontname: -FreeType-Robot de Niro-Medium-R-Normal--16-160-72-72-P-39-ISO10646-1 + Copyright: Copyright BMoser 2008 + Capital A Height: 0, '1' Height: 5 + Calculated Max Values w= 4 h= 5 x= 0 y= 6 dx= 5 dy= 0 ascent= 9 len= 5 + Font Bounding box w=10 h=10 x=-1 y= 0 + Calculated Min Values x= 0 y= 0 dx= 0 dy= 0 + Pure Font ascent = 5 descent= 0 + X Font ascent = 5 descent= 0 + Max Font ascent = 9 descent= 0 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_robot_de_niron[187] U8G_FONT_SECTION("u8g_font_robot_de_niron") = { + 0,10,10,255,0,5,0,0,0,0,42,58,0,9,0,5, + 0,3,3,3,4,0,6,160,64,160,3,3,3,4,0,4, + 64,224,64,2,2,2,3,0,2,64,128,3,1,1,4,0, + 5,224,1,1,1,2,0,3,128,3,5,5,4,0,3,32, + 32,64,128,128,3,5,5,4,0,3,64,160,160,160,64,3, + 5,5,4,0,3,192,64,64,64,224,3,5,5,4,0,3, + 192,32,96,128,224,3,5,5,4,0,3,192,32,224,32,224, + 3,5,5,4,0,3,160,160,224,32,32,3,5,5,4,0, + 3,96,128,224,32,224,3,5,5,4,0,3,96,128,224,160, + 64,4,5,5,5,0,3,224,32,112,32,32,3,5,5,4, + 0,3,96,160,224,160,192,3,5,5,4,0,3,96,160,224, + 32,192,1,3,3,2,0,4,128,0,128}; +/* + Fontname: -FreeType-Robot de Niro-Medium-R-Normal--16-160-72-72-P-39-ISO10646-1 + Copyright: Copyright BMoser 2008 + Capital A Height: 6, '1' Height: 5 + Calculated Max Values w= 6 h= 7 x= 0 y= 6 dx= 7 dy= 0 ascent=10 len= 7 + Font Bounding box w=10 h=10 x=-1 y= 0 + Calculated Min Values x=-1 y= 0 dx= 0 dy= 0 + Pure Font ascent = 6 descent= 1 + X Font ascent = 9 descent= 0 + Max Font ascent =10 descent= 0 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_robot_de_niror[1041] U8G_FONT_SECTION("u8g_font_robot_de_niror") = { + 0,10,10,255,0,6,1,97,2,193,32,127,1,10,0,9, + 0,0,0,0,2,0,0,2,5,5,3,0,3,192,128,128, + 0,128,3,2,2,4,0,6,160,160,5,5,5,6,0,3, + 80,248,80,248,80,4,7,7,5,0,2,96,224,16,96,128, + 112,96,5,5,5,6,0,3,192,208,32,88,24,4,5,5, + 5,0,3,96,160,80,160,80,1,2,2,2,0,6,128,128, + 2,7,7,3,0,2,64,128,128,128,128,128,64,2,7,7, + 3,0,2,128,64,64,64,64,64,128,3,3,3,4,0,6, + 160,64,160,3,3,3,4,0,4,64,224,64,2,2,2,3, + 0,2,64,128,3,1,1,4,0,5,224,1,1,1,2,0, + 3,128,3,5,5,4,0,3,32,32,64,128,128,3,5,5, + 4,0,3,64,160,160,160,64,3,5,5,4,0,3,192,64, + 64,64,224,3,5,5,4,0,3,192,32,96,128,224,3,5, + 5,4,0,3,192,32,224,32,224,3,5,5,4,0,3,160, + 160,224,32,32,3,5,5,4,0,3,96,128,224,32,224,3, + 5,5,4,0,3,96,128,224,160,64,4,5,5,5,0,3, + 224,32,112,32,32,3,5,5,4,0,3,96,160,224,160,192, + 3,5,5,4,0,3,96,160,224,32,192,1,3,3,2,0, + 4,128,0,128,2,4,4,3,0,3,64,0,64,128,2,3, + 3,3,0,4,64,128,64,3,3,3,4,0,4,224,0,224, + 2,3,3,3,0,4,128,64,128,3,5,5,4,0,3,224, + 32,64,0,64,5,7,7,6,0,2,120,136,184,168,184,128, + 120,4,6,6,4,255,2,48,80,112,80,80,128,4,5,5, + 5,0,3,224,80,96,80,224,3,5,5,4,0,3,96,128, + 128,160,64,4,5,5,5,0,3,224,80,80,80,32,3,5, + 5,4,0,3,96,128,192,128,224,4,6,6,5,0,2,176, + 64,96,64,64,128,4,5,5,5,0,3,96,128,176,160,96, + 4,6,6,4,255,2,80,80,112,80,80,128,1,5,5,2, + 0,3,128,128,128,128,128,3,5,5,4,0,3,64,32,32, + 32,192,5,5,5,6,0,3,208,80,96,80,72,4,5,5, + 5,0,3,192,64,64,64,176,6,5,5,6,255,3,168,84, + 84,84,68,4,5,5,5,0,3,224,80,80,80,80,3,5, + 5,4,0,3,96,160,160,160,64,4,5,5,5,0,3,176, + 80,96,64,64,4,5,5,5,0,3,64,160,160,160,112,5, + 5,5,5,255,3,176,80,96,80,72,3,5,5,4,0,3, + 96,128,224,32,192,3,5,5,4,0,3,224,64,64,64,64, + 4,5,5,5,0,3,160,160,160,160,80,3,5,5,4,0, + 3,160,160,160,160,64,6,5,5,7,0,3,172,168,168,168, + 88,4,5,5,5,0,3,160,160,64,160,176,4,7,7,4, + 255,1,208,80,80,48,16,16,32,3,5,5,4,0,3,224, + 32,64,128,224,2,7,7,3,0,2,192,128,128,128,128,128, + 192,3,5,5,4,0,3,128,128,64,32,32,2,7,7,3, + 0,2,192,64,64,64,64,64,192,3,3,3,4,0,5,64, + 160,160,4,1,1,5,0,3,240,2,2,2,3,0,6,128, + 64,4,4,4,5,0,3,96,160,160,80,4,5,5,5,0, + 3,64,96,80,80,160,3,4,4,4,0,3,96,128,160,64, + 4,6,6,5,0,3,16,32,96,160,160,208,4,4,4,5, + 0,3,96,160,208,96,4,7,7,4,255,1,48,64,96,64, + 64,64,128,4,6,6,5,0,1,80,160,160,96,32,192,3, + 7,7,4,0,3,64,128,128,192,160,160,160,1,5,5,2, + 0,3,128,0,128,128,128,3,7,7,3,255,1,32,0,32, + 32,32,32,192,4,7,7,5,0,2,128,128,160,224,160,144, + 16,4,6,6,5,0,3,32,80,96,64,64,176,6,4,4, + 7,0,3,88,168,168,164,3,4,4,4,0,3,64,160,160, + 160,3,4,4,4,0,3,96,160,160,192,4,6,6,5,0, + 1,176,80,80,96,64,128,4,6,6,5,0,1,80,160,160, + 96,32,32,4,4,4,5,0,3,160,80,64,64,3,4,4, + 4,0,3,64,160,32,192,2,6,6,3,0,3,128,128,192, + 128,128,64,4,4,4,5,0,3,160,160,160,80,3,4,4, + 4,0,3,160,160,160,64,6,4,4,7,0,3,172,168,168, + 80,3,4,4,4,0,3,160,160,64,160,3,5,5,4,0, + 2,160,160,64,32,192,4,5,5,5,0,2,224,32,64,144, + 96,3,7,7,4,0,2,96,64,64,128,64,64,96,1,7, + 7,2,0,2,128,128,128,128,128,128,128,3,7,7,4,0, + 2,192,64,64,32,64,64,192,4,2,2,5,0,5,80,160, + 255}; +/* + Fontname: -Adobe-Symbol-Medium-R-Normal--11-80-100-100-P-61-Adobe-FontSpecific + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 7, '1' Height: 7 + Calculated Max Values w=10 h=15 x= 3 y= 9 dx=11 dy= 0 ascent=11 len=15 + Font Bounding box w=11 h=15 x=-1 y=-4 + Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 + Pure Font ascent = 7 descent=-2 + X Font ascent = 7 descent=-2 + Max Font ascent =11 descent=-4 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_symb08[2612] U8G_FONT_SECTION("u8g_font_symb08") = { + 0,11,15,255,252,7,1,152,3,60,32,255,254,11,252,7, + 254,0,0,0,3,0,1,1,7,7,3,1,0,128,128,128, + 128,128,0,128,7,7,7,7,0,0,130,68,124,40,40,16, + 16,5,7,7,5,0,0,80,80,248,80,248,80,80,5,7, + 7,6,0,0,248,8,8,120,8,8,248,7,7,7,8,0, + 0,100,188,168,86,42,42,68,6,7,7,7,0,0,32,80, + 80,108,152,152,108,4,5,5,5,0,0,224,16,112,16,224, + 3,9,9,4,0,254,32,64,64,128,128,128,64,64,32,3, + 9,9,4,1,254,128,64,64,32,32,32,64,64,128,3,3, + 3,5,1,2,160,64,160,5,5,5,6,0,0,32,32,248, + 32,32,2,3,3,2,0,254,64,64,128,5,1,1,6,0, + 2,248,1,1,1,2,1,0,128,3,7,7,3,0,0,32, + 32,64,64,64,128,128,4,7,7,5,0,0,96,144,144,144, + 144,144,96,3,7,7,5,1,0,64,192,64,64,64,64,224, + 4,7,7,5,0,0,96,144,16,32,32,64,240,4,7,7, + 5,0,0,96,144,16,96,16,16,224,5,7,7,5,0,0, + 16,48,80,144,248,16,16,4,7,7,5,0,0,112,64,224, + 16,16,16,224,4,7,7,5,0,0,112,128,224,144,144,144, + 96,4,7,7,5,0,0,240,144,32,32,64,64,64,4,7, + 7,5,0,0,96,144,144,96,144,144,96,4,7,7,5,0, + 0,96,144,144,144,112,32,192,1,5,5,2,1,0,128,0, + 0,0,128,2,7,7,2,0,254,64,0,0,0,64,64,128, + 6,5,5,7,0,0,12,48,192,48,12,5,3,3,6,0, + 1,248,0,248,6,5,5,6,0,0,192,48,12,48,192,3, + 7,7,5,1,0,64,160,32,64,64,0,64,5,6,6,6, + 0,0,104,176,0,248,0,248,7,7,7,8,0,0,16,56, + 40,40,124,68,238,5,7,7,6,0,0,240,72,72,112,72, + 72,240,7,7,7,8,0,0,238,68,40,16,40,68,238,6, + 7,7,7,0,0,48,48,88,72,140,132,252,5,7,7,6, + 0,0,248,72,64,112,64,72,248,7,7,7,8,0,0,56, + 16,124,146,124,16,56,5,7,7,6,0,0,248,72,64,64, + 64,64,224,7,7,7,8,0,0,238,68,68,124,68,68,238, + 3,7,7,3,0,0,224,64,64,64,64,64,224,6,7,7, + 7,0,0,16,40,152,76,72,72,48,6,7,7,7,0,0, + 236,72,80,96,80,72,236,7,7,7,7,0,0,16,16,40, + 40,68,68,238,9,7,14,10,0,0,227,128,99,0,85,0, + 85,0,93,0,73,0,235,128,7,7,7,8,0,0,238,100, + 84,84,76,76,228,6,7,7,7,0,0,120,204,132,132,132, + 204,120,7,7,7,8,0,0,254,68,68,68,68,68,238,6, + 7,7,7,0,0,120,204,132,180,132,204,120,5,7,7,6, + 0,0,240,72,72,112,64,64,224,5,7,7,6,0,0,248, + 136,64,32,64,136,248,5,7,7,6,0,0,248,168,32,32, + 32,32,112,7,7,7,8,0,0,238,68,40,56,16,16,56, + 4,7,7,5,0,254,112,128,128,128,96,16,96,8,7,7, + 9,0,0,60,102,66,66,102,165,231,6,7,7,7,0,0, + 120,72,0,48,0,132,252,9,7,14,9,0,0,221,128,73, + 0,73,0,62,0,8,0,8,0,28,0,5,7,7,6,0, + 0,248,136,16,32,64,136,248,2,9,9,3,0,254,192,128, + 128,128,128,128,128,128,192,5,5,5,7,1,0,32,0,0, + 0,136,2,9,9,3,1,254,192,64,64,64,64,64,64,64, + 192,5,7,7,7,1,0,32,32,32,32,32,32,248,5,1, + 1,5,0,254,248,6,1,1,5,0,9,252,6,5,5,7, + 0,0,104,168,144,148,104,4,10,10,5,0,254,96,144,144, + 160,144,144,208,160,128,128,5,7,7,6,0,254,200,80,80, + 32,80,80,152,4,8,8,5,0,0,96,144,64,96,144,144, + 144,96,4,5,5,5,0,0,96,144,192,144,96,5,9,9, + 6,0,254,32,32,112,168,168,168,112,32,32,5,7,7,6, + 0,254,200,168,40,48,16,32,32,5,7,7,6,0,254,80, + 232,72,72,72,8,8,3,5,5,4,0,0,192,64,64,64, + 96,5,7,7,6,0,254,48,168,168,168,112,32,32,5,5, + 5,6,0,0,72,216,96,80,72,6,8,8,6,0,0,192, + 160,32,32,80,80,148,136,5,7,7,6,0,254,144,144,144, + 144,232,128,192,5,5,5,6,0,0,136,136,80,80,32,4, + 5,5,5,0,0,96,144,144,144,96,5,5,5,6,0,0, + 248,80,80,88,208,4,7,7,5,0,0,96,144,144,240,144, + 144,96,4,8,8,5,0,253,96,144,144,144,224,128,128,128, + 5,5,5,6,0,0,120,144,144,144,96,4,5,5,5,0, + 0,240,64,64,80,96,5,5,5,6,0,0,80,200,72,72, + 48,7,6,6,8,0,0,254,68,130,146,146,108,7,5,5, + 8,0,0,68,130,146,146,108,4,10,10,5,0,254,128,176, + 64,112,128,128,128,96,16,112,7,7,7,7,0,254,146,84, + 84,84,56,16,16,4,10,10,5,0,254,128,176,96,128,128, + 128,128,96,16,112,3,9,9,5,1,254,32,64,64,64,128, + 64,64,64,32,1,9,9,2,0,254,128,128,128,128,128,128, + 128,128,128,3,9,9,5,1,254,128,64,64,64,32,64,64, + 64,128,5,2,2,6,0,2,104,176,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,255,255,255,255,255,255,255,255,6,7,7,7, + 0,0,140,212,112,32,32,32,112,3,3,3,3,0,5,32, + 64,128,5,7,7,6,0,0,8,48,192,48,8,0,248,4, + 7,7,3,255,0,16,16,32,32,64,64,128,7,3,3,7, + 0,1,108,146,108,5,9,9,5,0,254,24,32,112,32,32, + 32,32,32,192,5,5,5,7,1,0,112,112,248,248,32,5, + 5,5,7,1,0,32,112,248,112,32,5,5,5,7,1,0, + 216,248,248,112,32,5,5,5,7,1,0,32,112,248,248,32, + 10,5,10,10,0,0,33,0,64,128,255,192,64,128,33,0, + 10,5,10,10,0,0,32,0,64,0,255,192,64,0,32,0, + 5,14,14,6,0,252,32,112,168,32,32,32,32,32,32,32, + 32,32,32,32,10,5,10,10,0,0,1,0,0,128,255,192, + 0,128,1,0,5,13,13,6,0,254,32,32,32,32,32,32, + 32,32,32,32,168,112,32,3,4,4,4,0,3,64,160,160, + 64,5,7,7,6,0,0,32,32,248,32,32,0,248,5,3, + 3,4,0,5,40,80,160,5,7,7,6,0,0,128,96,24, + 96,128,0,248,5,5,5,6,0,0,136,80,32,80,136,6, + 3,3,7,0,1,108,144,108,4,8,8,5,0,0,96,144, + 16,16,112,144,144,96,4,3,3,5,0,1,96,240,96,5, + 5,5,6,0,0,32,0,248,0,32,5,5,5,6,0,0, + 16,248,32,248,64,5,5,5,6,0,1,248,0,248,0,248, + 5,5,5,6,0,0,104,176,0,104,176,7,1,1,9,1, + 0,146,1,15,15,6,2,252,128,128,128,128,128,128,128,128, + 128,128,128,128,128,128,128,10,1,2,10,0,2,255,192,6, + 6,6,7,0,0,4,4,4,68,252,64,7,7,7,8,0, + 0,204,102,52,92,76,38,98,6,9,9,7,0,255,124,132, + 200,24,12,4,68,232,48,8,8,8,8,0,0,108,146,146, + 92,20,18,82,163,7,8,8,9,1,254,16,36,74,82,106, + 108,160,96,7,7,7,8,0,0,56,68,170,146,170,68,56, + 7,7,7,8,0,0,56,68,146,186,146,68,56,7,9,9, + 8,0,255,2,60,76,138,146,162,100,120,128,7,5,5,8, + 0,0,56,68,130,130,130,7,5,5,8,0,0,130,130,130, + 68,56,7,5,5,7,0,0,248,4,2,4,248,7,7,7, + 7,0,254,248,4,2,4,248,0,254,7,7,7,7,0,255, + 4,62,72,136,80,62,32,7,5,5,7,0,0,62,64,128, + 64,62,7,7,7,7,0,254,62,64,128,64,62,0,254,5, + 5,5,7,1,0,120,128,248,128,120,5,7,7,7,1,255, + 16,120,144,248,160,120,64,7,7,7,8,0,0,2,4,8, + 16,32,64,254,6,7,7,7,0,0,252,132,132,72,72,48, + 48,7,8,8,8,0,255,56,68,250,170,178,174,68,56,7, + 8,8,8,0,255,56,68,154,170,162,154,68,56,10,5,10, + 10,0,2,253,0,170,128,42,128,42,128,122,192,8,9,9, + 9,0,255,255,66,66,66,66,66,66,66,231,6,10,10,6, + 0,0,4,4,8,8,72,208,80,80,32,32,1,1,1,3, + 1,2,128,6,3,3,7,0,0,252,4,4,5,5,5,6, + 0,0,32,80,80,136,136,5,5,5,6,0,0,136,136,80, + 80,32,10,5,10,11,0,0,33,0,127,128,128,64,127,128, + 33,0,9,5,10,10,0,0,32,0,127,128,128,0,127,128, + 32,0,5,10,10,6,0,0,32,112,216,80,80,80,80,80, + 80,80,9,5,10,10,0,0,2,0,255,0,0,128,255,0, + 2,0,5,10,10,6,0,0,80,80,80,80,80,80,80,216, + 80,32,7,7,7,7,0,0,16,40,68,198,68,40,16,3, + 9,9,3,0,254,32,32,64,64,128,64,64,32,32,7,8, + 8,8,0,255,56,68,186,170,178,170,68,56,7,8,8,8, + 0,255,56,68,154,162,162,154,68,56,8,5,5,9,0,2, + 250,85,85,85,85,6,9,9,7,0,255,252,132,64,32,16, + 32,64,132,252,3,14,14,4,1,252,32,64,64,128,128,128, + 128,128,128,128,128,128,128,128,1,15,15,4,1,252,128,128, + 128,128,128,128,128,128,128,128,128,128,128,128,128,3,15,15, + 4,1,252,128,128,128,128,128,128,128,128,128,128,128,128,64, + 64,32,3,14,14,4,1,252,224,128,128,128,128,128,128,128, + 128,128,128,128,128,128,1,15,15,4,1,252,128,128,128,128, + 128,128,128,128,128,128,128,128,128,128,128,3,13,13,4,1, + 254,128,128,128,128,128,128,128,128,128,128,128,128,224,3,14, + 14,5,2,252,96,128,128,128,128,128,128,128,128,128,128,128, + 128,128,3,15,15,5,0,252,32,32,32,32,32,64,128,64, + 32,32,32,32,32,32,32,3,13,13,5,2,254,128,128,128, + 128,128,128,128,128,128,128,128,128,96,1,15,15,5,2,252, + 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,255, + 3,9,9,3,0,254,128,128,64,64,32,64,64,128,128,3, + 12,12,3,0,254,32,64,64,64,64,64,64,64,64,64,64, + 128,4,14,14,7,3,252,48,80,128,128,128,128,128,128,128, + 128,128,128,128,128,1,15,15,7,0,252,128,128,128,128,128, + 128,128,128,128,128,128,128,128,128,128,4,13,13,7,0,254, + 16,16,16,16,16,16,16,16,16,16,16,160,192,3,14,14, + 4,0,252,128,64,64,32,32,32,32,32,32,32,32,32,32, + 32,1,15,15,4,2,252,128,128,128,128,128,128,128,128,128, + 128,128,128,128,128,128,3,15,15,4,0,252,32,32,32,32, + 32,32,32,32,32,32,32,32,64,64,128,3,14,14,4,0, + 252,224,32,32,32,32,32,32,32,32,32,32,32,32,32,1, + 15,15,4,2,252,128,128,128,128,128,128,128,128,128,128,128, + 128,128,128,128,3,13,13,4,0,254,32,32,32,32,32,32, + 32,32,32,32,32,32,224,3,14,14,5,0,252,192,32,32, + 32,32,32,32,32,32,32,32,32,32,32,3,15,15,5,2, + 252,128,128,128,128,128,64,32,64,128,128,128,128,128,128,128, + 3,13,13,5,0,254,32,32,32,32,32,32,32,32,32,32, + 32,32,192,255}; +/* + Fontname: -Adobe-Symbol-Medium-R-Normal--11-80-100-100-P-61-Adobe-FontSpecific + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 7, '1' Height: 7 + Calculated Max Values w= 9 h=10 x= 1 y= 9 dx=10 dy= 0 ascent=10 len=14 + Font Bounding box w=11 h=15 x=-1 y=-4 + Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 + Pure Font ascent = 7 descent=-2 + X Font ascent = 7 descent=-2 + Max Font ascent =10 descent=-3 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_symb08r[1211] U8G_FONT_SECTION("u8g_font_symb08r") = { + 0,11,15,255,252,7,1,152,3,60,32,127,254,10,253,7, + 254,0,0,0,3,0,1,1,7,7,3,1,0,128,128,128, + 128,128,0,128,7,7,7,7,0,0,130,68,124,40,40,16, + 16,5,7,7,5,0,0,80,80,248,80,248,80,80,5,7, + 7,6,0,0,248,8,8,120,8,8,248,7,7,7,8,0, + 0,100,188,168,86,42,42,68,6,7,7,7,0,0,32,80, + 80,108,152,152,108,4,5,5,5,0,0,224,16,112,16,224, + 3,9,9,4,0,254,32,64,64,128,128,128,64,64,32,3, + 9,9,4,1,254,128,64,64,32,32,32,64,64,128,3,3, + 3,5,1,2,160,64,160,5,5,5,6,0,0,32,32,248, + 32,32,2,3,3,2,0,254,64,64,128,5,1,1,6,0, + 2,248,1,1,1,2,1,0,128,3,7,7,3,0,0,32, + 32,64,64,64,128,128,4,7,7,5,0,0,96,144,144,144, + 144,144,96,3,7,7,5,1,0,64,192,64,64,64,64,224, + 4,7,7,5,0,0,96,144,16,32,32,64,240,4,7,7, + 5,0,0,96,144,16,96,16,16,224,5,7,7,5,0,0, + 16,48,80,144,248,16,16,4,7,7,5,0,0,112,64,224, + 16,16,16,224,4,7,7,5,0,0,112,128,224,144,144,144, + 96,4,7,7,5,0,0,240,144,32,32,64,64,64,4,7, + 7,5,0,0,96,144,144,96,144,144,96,4,7,7,5,0, + 0,96,144,144,144,112,32,192,1,5,5,2,1,0,128,0, + 0,0,128,2,7,7,2,0,254,64,0,0,0,64,64,128, + 6,5,5,7,0,0,12,48,192,48,12,5,3,3,6,0, + 1,248,0,248,6,5,5,6,0,0,192,48,12,48,192,3, + 7,7,5,1,0,64,160,32,64,64,0,64,5,6,6,6, + 0,0,104,176,0,248,0,248,7,7,7,8,0,0,16,56, + 40,40,124,68,238,5,7,7,6,0,0,240,72,72,112,72, + 72,240,7,7,7,8,0,0,238,68,40,16,40,68,238,6, + 7,7,7,0,0,48,48,88,72,140,132,252,5,7,7,6, + 0,0,248,72,64,112,64,72,248,7,7,7,8,0,0,56, + 16,124,146,124,16,56,5,7,7,6,0,0,248,72,64,64, + 64,64,224,7,7,7,8,0,0,238,68,68,124,68,68,238, + 3,7,7,3,0,0,224,64,64,64,64,64,224,6,7,7, + 7,0,0,16,40,152,76,72,72,48,6,7,7,7,0,0, + 236,72,80,96,80,72,236,7,7,7,7,0,0,16,16,40, + 40,68,68,238,9,7,14,10,0,0,227,128,99,0,85,0, + 85,0,93,0,73,0,235,128,7,7,7,8,0,0,238,100, + 84,84,76,76,228,6,7,7,7,0,0,120,204,132,132,132, + 204,120,7,7,7,8,0,0,254,68,68,68,68,68,238,6, + 7,7,7,0,0,120,204,132,180,132,204,120,5,7,7,6, + 0,0,240,72,72,112,64,64,224,5,7,7,6,0,0,248, + 136,64,32,64,136,248,5,7,7,6,0,0,248,168,32,32, + 32,32,112,7,7,7,8,0,0,238,68,40,56,16,16,56, + 4,7,7,5,0,254,112,128,128,128,96,16,96,8,7,7, + 9,0,0,60,102,66,66,102,165,231,6,7,7,7,0,0, + 120,72,0,48,0,132,252,9,7,14,9,0,0,221,128,73, + 0,73,0,62,0,8,0,8,0,28,0,5,7,7,6,0, + 0,248,136,16,32,64,136,248,2,9,9,3,0,254,192,128, + 128,128,128,128,128,128,192,5,5,5,7,1,0,32,0,0, + 0,136,2,9,9,3,1,254,192,64,64,64,64,64,64,64, + 192,5,7,7,7,1,0,32,32,32,32,32,32,248,5,1, + 1,5,0,254,248,6,1,1,5,0,9,252,6,5,5,7, + 0,0,104,168,144,148,104,4,10,10,5,0,254,96,144,144, + 160,144,144,208,160,128,128,5,7,7,6,0,254,200,80,80, + 32,80,80,152,4,8,8,5,0,0,96,144,64,96,144,144, + 144,96,4,5,5,5,0,0,96,144,192,144,96,5,9,9, + 6,0,254,32,32,112,168,168,168,112,32,32,5,7,7,6, + 0,254,200,168,40,48,16,32,32,5,7,7,6,0,254,80, + 232,72,72,72,8,8,3,5,5,4,0,0,192,64,64,64, + 96,5,7,7,6,0,254,48,168,168,168,112,32,32,5,5, + 5,6,0,0,72,216,96,80,72,6,8,8,6,0,0,192, + 160,32,32,80,80,148,136,5,7,7,6,0,254,144,144,144, + 144,232,128,192,5,5,5,6,0,0,136,136,80,80,32,4, + 5,5,5,0,0,96,144,144,144,96,5,5,5,6,0,0, + 248,80,80,88,208,4,7,7,5,0,0,96,144,144,240,144, + 144,96,4,8,8,5,0,253,96,144,144,144,224,128,128,128, + 5,5,5,6,0,0,120,144,144,144,96,4,5,5,5,0, + 0,240,64,64,80,96,5,5,5,6,0,0,80,200,72,72, + 48,7,6,6,8,0,0,254,68,130,146,146,108,7,5,5, + 8,0,0,68,130,146,146,108,4,10,10,5,0,254,128,176, + 64,112,128,128,128,96,16,112,7,7,7,7,0,254,146,84, + 84,84,56,16,16,4,10,10,5,0,254,128,176,96,128,128, + 128,128,96,16,112,3,9,9,5,1,254,32,64,64,64,128, + 64,64,64,32,1,9,9,2,0,254,128,128,128,128,128,128, + 128,128,128,3,9,9,5,1,254,128,64,64,64,32,64,64, + 64,128,5,2,2,6,0,2,104,176,255}; +/* + Fontname: -Adobe-Symbol-Medium-R-Normal--14-100-100-100-P-85-Adobe-FontSpecific + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 10, '1' Height: 10 + Calculated Max Values w=15 h=15 x= 7 y=11 dx=15 dy= 0 ascent=12 len=24 + Font Bounding box w=16 h=15 x=-1 y=-3 + Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 + Pure Font ascent =10 descent=-3 + X Font ascent =10 descent=-3 + Max Font ascent =12 descent=-3 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_symb10[3433] U8G_FONT_SECTION("u8g_font_symb10") = { + 0,16,15,255,253,10,2,6,4,121,32,255,253,12,253,10, + 253,0,0,0,4,0,1,1,10,10,5,2,0,128,128,128, + 128,128,128,128,0,128,128,9,10,20,9,0,0,128,128,65, + 0,65,0,62,0,34,0,34,0,20,0,20,0,8,0,8, + 0,7,10,10,7,0,0,20,20,20,126,40,40,252,80,80, + 80,6,10,10,8,1,0,252,4,4,4,252,4,4,4,4, + 252,9,10,20,12,1,0,121,128,151,0,146,0,148,0,108, + 0,27,0,20,128,36,128,68,128,195,0,9,10,20,11,1, + 0,48,0,72,0,72,0,112,0,39,0,114,0,202,0,132, + 0,206,128,123,0,5,7,7,6,0,0,224,16,8,120,8, + 16,224,3,13,13,5,1,253,32,64,64,128,128,128,128,128, + 128,128,64,64,32,3,13,13,5,1,253,128,64,64,32,32, + 32,32,32,32,32,64,64,128,5,6,6,7,1,2,32,168, + 112,112,168,32,7,7,7,8,0,0,16,16,16,254,16,16, + 16,2,4,4,3,0,254,64,64,64,128,7,1,1,8,0, + 3,254,1,2,2,3,1,0,128,128,4,10,10,4,0,0, + 16,16,32,32,32,64,64,64,128,128,6,10,10,7,0,0, + 120,204,132,132,132,132,132,132,204,120,5,10,10,7,1,0, + 32,224,32,32,32,32,32,32,32,248,6,10,10,7,0,0, + 112,216,136,8,24,16,32,64,196,252,6,10,10,7,0,0, + 120,204,132,12,56,12,4,4,204,120,6,10,10,7,0,0, + 8,24,24,40,104,72,136,252,8,8,5,10,10,7,1,0, + 120,64,128,224,48,24,8,8,144,224,6,10,10,7,0,0, + 28,48,64,64,248,140,132,132,204,120,6,10,10,7,0,0, + 252,132,8,8,16,16,32,32,64,64,5,10,10,7,1,0, + 112,216,136,216,112,136,136,136,216,112,6,10,10,7,0,0, + 120,204,132,132,204,120,24,16,96,192,1,7,7,4,2,0, + 128,128,0,0,0,128,128,2,9,9,4,1,254,64,64,0, + 0,0,64,64,64,128,7,7,7,8,1,0,2,12,48,192, + 48,12,2,7,3,3,8,0,2,254,0,254,7,7,7,8, + 0,0,128,96,24,6,24,96,128,5,10,10,6,1,0,112, + 136,136,8,16,32,32,0,32,32,7,7,7,8,0,0,114, + 156,0,254,0,0,254,9,10,20,11,1,0,8,0,28,0, + 20,0,20,0,34,0,34,0,62,0,99,0,65,0,227,128, + 7,10,10,9,1,0,252,70,66,70,124,70,66,66,70,252, + 9,10,20,11,1,0,227,128,65,0,34,0,20,0,8,0, + 20,0,34,0,34,0,65,0,227,128,7,10,10,9,1,0, + 16,16,40,40,40,68,68,68,130,254,7,10,10,9,1,0, + 254,66,64,68,124,68,64,66,66,254,9,10,20,11,1,0, + 28,0,8,0,127,0,201,128,136,128,136,128,201,128,127,0, + 8,0,28,0,7,10,10,9,1,0,254,66,64,64,64,64, + 64,64,64,224,9,10,20,11,1,0,227,128,65,0,65,0, + 65,0,127,0,65,0,65,0,65,0,65,0,227,128,3,10, + 10,5,1,0,224,64,64,64,64,64,64,64,64,224,8,10, + 10,9,0,0,12,10,10,102,163,34,34,34,54,28,8,10, + 10,10,1,0,238,68,72,80,112,80,72,68,70,231,9,10, + 20,10,0,0,8,0,8,0,20,0,20,0,34,0,34,0, + 34,0,65,0,65,0,227,128,11,10,20,13,1,0,224,224, + 96,192,81,64,81,64,91,64,74,64,74,64,78,64,68,64, + 228,224,9,10,20,11,1,0,227,128,97,0,81,0,89,0, + 73,0,77,0,69,0,69,0,67,0,227,0,8,10,10,10, + 1,0,60,102,66,129,129,129,129,66,102,60,9,10,20,11, + 1,0,255,128,65,0,65,0,65,0,65,0,65,0,65,0, + 65,0,65,0,227,128,8,10,10,10,1,0,60,102,66,165, + 189,165,129,66,102,60,6,10,10,8,1,0,248,76,68,68, + 76,120,64,64,64,224,8,10,10,9,1,0,254,194,96,48, + 24,16,32,64,193,255,7,10,10,9,1,0,254,146,146,16, + 16,16,16,16,16,56,9,10,20,9,0,0,227,128,65,0, + 34,0,34,0,20,0,8,0,8,0,8,0,8,0,28,0, + 6,10,10,7,1,253,56,192,128,128,128,96,56,4,36,56, + 10,10,20,11,0,0,12,0,51,0,33,0,64,128,64,128, + 64,128,33,0,51,0,146,64,243,192,9,10,20,9,0,0, + 127,0,65,0,0,0,34,0,62,0,34,0,0,0,0,0, + 128,128,255,128,11,10,20,11,0,0,206,96,100,192,36,128, + 36,128,31,0,4,0,4,0,4,0,4,0,14,0,7,10, + 10,9,1,0,254,134,4,8,16,16,32,64,194,254,3,13, + 13,5,1,253,224,128,128,128,128,128,128,128,128,128,128,128, + 224,8,7,7,10,1,0,24,24,0,0,0,195,195,3,13, + 13,5,1,253,224,32,32,32,32,32,32,32,32,32,32,32, + 224,9,10,20,10,0,0,8,0,8,0,8,0,8,0,8, + 0,8,0,8,0,8,0,8,0,255,128,7,1,1,7,0, + 253,254,8,1,1,7,7,11,255,8,7,7,9,1,0,118, + 212,136,136,136,213,102,6,14,14,8,1,253,120,204,132,140, + 152,140,132,132,132,204,184,128,128,128,8,10,10,8,0,253, + 195,166,36,60,24,56,40,100,69,195,5,11,11,7,1,0, + 112,152,128,64,112,152,136,136,136,216,112,5,7,7,6,1, + 0,120,200,128,96,128,200,112,7,13,13,9,1,253,16,16, + 16,56,84,146,146,146,84,56,16,16,16,6,10,10,6,0, + 253,196,164,36,40,40,24,24,16,48,48,7,10,10,8,0, + 253,108,178,34,34,34,34,34,2,2,2,5,7,7,5,0, + 0,96,160,32,32,32,40,48,7,10,10,9,1,253,24,84, + 210,146,146,84,56,16,16,16,7,7,7,8,0,0,70,202, + 80,112,88,76,70,8,10,10,8,0,0,96,80,16,16,40, + 40,72,68,133,131,8,9,9,8,0,254,68,68,68,68,68, + 77,123,64,192,7,7,7,8,0,0,198,66,34,34,20,20, + 8,6,7,7,8,1,0,120,204,132,132,132,204,120,8,7, + 7,8,0,0,126,164,36,36,36,37,102,5,10,10,7,1, + 0,112,216,136,136,248,136,136,136,216,112,6,10,10,8,1, + 253,120,204,132,132,132,204,184,128,128,128,7,7,7,8,1, + 0,126,200,132,132,132,204,120,5,7,7,6,0,0,120,160, + 32,32,32,40,48,7,7,7,8,0,0,100,162,34,34,34, + 38,28,10,8,16,11,0,0,127,192,160,128,68,64,68,64, + 68,64,68,64,100,192,59,128,9,7,14,11,1,0,99,0, + 136,128,136,128,136,128,136,128,201,128,119,0,6,15,15,7, + 1,253,32,64,56,32,64,120,32,64,128,128,192,120,4,36, + 56,9,10,20,9,0,253,136,128,73,0,73,0,73,0,107, + 0,62,0,28,0,8,0,8,0,8,0,6,14,14,7,1, + 253,32,68,60,16,32,64,64,128,128,192,120,4,36,56,5, + 13,13,7,1,253,24,32,32,32,32,64,128,64,32,32,32, + 32,24,1,13,13,3,1,253,128,128,128,128,128,128,128,128, + 128,128,128,128,128,5,13,13,7,1,253,192,32,32,32,32, + 16,8,16,32,32,32,32,192,6,2,2,8,1,3,100,152, + 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,255,255,255,255,255,255, + 255,255,8,10,10,9,0,0,198,105,43,16,16,16,16,16, + 16,56,4,3,3,4,0,7,48,96,128,7,9,9,8,0, + 0,2,12,48,192,48,12,2,0,254,5,10,10,4,255,0, + 8,8,16,16,32,32,64,64,128,128,9,4,8,10,0,2, + 119,0,152,128,140,128,119,0,7,13,13,7,0,253,6,10, + 8,8,60,16,16,16,32,32,32,160,192,9,7,14,11,1, + 0,28,0,28,0,28,0,235,128,255,128,235,128,8,0,7, + 7,7,11,2,0,16,56,124,254,124,56,16,7,7,7,11, + 2,0,108,254,254,254,124,56,16,9,7,14,11,1,0,8, + 0,28,0,62,0,127,0,255,128,107,0,8,0,13,7,14, + 15,1,0,16,64,32,32,64,16,255,248,64,16,32,32,16, + 64,14,7,14,14,0,0,16,0,32,0,64,0,255,252,64, + 0,32,0,16,0,7,15,15,9,1,253,16,56,84,146,16, + 16,16,16,16,16,16,16,16,16,16,14,7,14,14,0,0, + 0,32,0,16,0,8,255,252,0,8,0,16,0,32,7,15, + 15,9,1,253,16,16,16,16,16,16,16,16,16,16,16,146, + 84,56,16,4,4,4,6,1,6,96,144,144,96,7,9,9, + 8,0,0,16,16,16,254,16,16,16,0,254,7,3,3,6, + 0,7,54,108,144,7,9,9,8,0,0,128,96,24,6,24, + 96,128,0,254,7,7,7,8,0,0,130,68,40,16,40,68, + 130,8,4,4,10,0,2,119,136,136,119,6,11,11,7,0, + 0,112,136,4,4,4,116,204,132,132,200,112,5,5,5,7, + 1,1,112,248,248,248,112,7,7,7,8,0,0,16,16,0, + 254,0,16,16,7,7,7,8,0,0,4,8,254,16,254,32, + 64,7,5,5,8,0,1,254,0,254,0,254,7,5,5,8, + 0,2,114,156,0,114,156,11,2,4,15,2,0,132,32,132, + 32,1,15,15,9,4,253,128,128,128,128,128,128,128,128,128, + 128,128,128,128,128,128,15,1,2,15,0,3,255,254,8,9, + 9,10,0,0,1,1,1,1,1,1,65,255,64,8,10,10, + 12,2,0,136,206,102,36,116,156,140,70,99,225,8,12,12, + 10,1,255,63,97,66,70,36,6,3,1,97,241,26,12,10, + 11,22,12,1,0,115,0,157,128,137,128,139,0,206,0,106, + 0,41,0,9,0,9,0,105,0,176,192,9,12,24,12,1, + 253,16,0,35,0,69,128,72,128,144,128,212,128,105,0,107, + 0,182,0,144,0,144,0,96,0,9,9,18,11,1,0,28, + 0,99,0,99,0,148,128,136,128,148,128,99,0,99,0,28, + 0,9,9,18,11,1,0,28,0,99,0,73,0,136,128,190, + 128,136,128,73,0,99,0,28,0,11,11,22,12,0,0,31, + 32,96,192,64,192,129,32,130,32,132,32,136,32,144,32,96, + 64,96,192,159,0,10,7,14,10,0,0,30,0,97,128,64, + 128,128,64,128,64,128,64,128,64,10,7,14,10,0,0,128, + 64,128,64,128,64,128,64,64,128,97,128,30,0,9,7,14, + 10,0,0,254,0,1,0,0,128,0,128,0,128,1,0,254, + 0,9,9,18,10,1,254,254,0,1,0,0,128,0,128,0, + 128,1,0,254,0,0,0,255,128,9,9,18,10,0,255,1, + 0,63,128,66,0,130,0,132,0,132,0,72,0,63,128,16, + 0,9,7,14,10,1,0,63,128,64,0,128,0,128,0,128, + 0,64,0,63,128,9,9,18,10,0,254,63,128,64,0,128, + 0,128,0,128,0,64,0,63,128,0,0,255,128,7,7,7, + 10,1,0,62,64,128,254,128,64,62,7,9,9,10,0,255, + 4,62,72,144,254,144,96,62,64,11,10,20,11,0,0,0, + 64,0,128,1,0,2,0,4,0,8,0,16,0,32,0,64, + 0,255,224,9,11,22,10,0,0,255,128,128,128,65,0,65, + 0,34,0,34,0,34,0,20,0,20,0,8,0,8,0,10, + 10,20,12,1,0,30,0,33,0,124,128,146,64,146,64,156, + 64,146,64,121,128,33,0,30,0,10,10,20,12,1,0,30, + 0,33,0,78,128,146,64,144,64,144,64,146,64,76,128,33, + 0,30,0,11,6,12,11,0,4,250,128,170,128,38,192,37, + 64,37,64,118,224,10,12,24,12,1,255,255,192,64,128,64, + 128,64,128,64,128,64,128,64,128,64,128,64,128,64,128,64, + 128,225,192,8,12,12,8,0,0,1,1,1,2,2,98,164, + 36,20,20,8,8,1,2,2,4,1,3,128,128,9,5,10, + 10,0,0,255,128,0,128,0,128,0,128,0,128,8,7,7, + 9,0,0,24,24,36,36,66,66,129,8,7,7,9,0,0, + 129,66,66,36,36,24,24,13,7,14,15,1,0,16,64,32, + 32,127,240,192,24,127,240,32,32,16,64,13,7,14,14,0, + 0,16,0,32,0,127,248,192,0,127,248,32,0,16,0,7, + 12,12,9,1,0,16,56,108,170,40,40,40,40,40,40,40, + 40,13,7,14,14,1,0,0,64,0,32,255,240,0,24,255, + 240,0,32,0,64,7,12,12,9,1,0,40,40,40,40,40, + 40,40,40,170,108,56,16,7,11,11,7,0,0,16,40,40, + 68,68,130,68,68,40,40,16,4,15,15,5,0,253,16,32, + 32,64,64,64,128,128,128,64,64,64,32,32,16,10,10,20, + 12,1,0,30,0,33,0,92,128,146,64,146,64,156,64,146, + 64,82,128,33,0,30,0,10,10,20,12,1,0,30,0,33, + 0,76,128,146,64,144,64,144,64,146,64,76,128,33,0,30, + 0,10,6,12,11,0,4,250,128,34,128,38,192,37,64,37, + 64,36,64,9,12,24,10,0,255,255,0,129,0,64,0,32, + 0,16,0,8,0,8,0,16,0,32,0,64,0,128,128,255, + 128,4,15,15,6,1,253,16,32,64,64,128,128,128,128,128, + 128,128,128,128,128,128,1,15,15,6,1,253,128,128,128,128, + 128,128,128,128,128,128,128,128,128,128,128,4,15,15,6,1, + 253,128,128,128,128,128,128,128,128,128,128,128,64,64,32,16, + 4,15,15,6,1,253,240,128,128,128,128,128,128,128,128,128, + 128,128,128,128,128,1,15,15,6,1,253,128,128,128,128,128, + 128,128,128,128,128,128,128,128,128,128,4,15,15,6,1,253, + 128,128,128,128,128,128,128,128,128,128,128,128,128,128,240,4, + 15,15,7,3,253,48,64,128,128,128,128,128,128,128,128,128, + 128,128,128,128,3,15,15,7,1,253,32,32,32,32,32,32, + 64,128,64,32,32,32,32,32,32,4,15,15,7,3,253,128, + 128,128,128,128,128,128,128,128,128,128,128,128,64,48,1,15, + 15,7,3,253,128,128,128,128,128,128,128,128,128,128,128,128, + 128,128,128,255,4,15,15,5,1,253,128,64,64,32,32,32, + 16,16,16,32,32,32,64,64,128,5,13,13,4,0,255,24, + 40,32,32,32,32,32,32,32,32,32,160,192,5,15,15,10, + 5,253,56,88,64,128,128,128,128,128,128,128,128,128,128,128, + 128,1,15,15,10,5,253,128,128,128,128,128,128,128,128,128, + 128,128,128,128,128,128,5,15,15,10,1,253,8,8,8,8, + 8,8,8,8,8,8,8,8,16,208,224,4,15,15,6,1, + 253,128,64,32,32,16,16,16,16,16,16,16,16,16,16,16, + 1,15,15,6,4,253,128,128,128,128,128,128,128,128,128,128, + 128,128,128,128,128,4,15,15,6,1,253,16,16,16,16,16, + 16,16,16,16,16,16,32,32,64,128,4,15,15,6,1,253, + 240,16,16,16,16,16,16,16,16,16,16,16,16,16,16,1, + 15,15,6,4,253,128,128,128,128,128,128,128,128,128,128,128, + 128,128,128,128,4,15,15,6,1,253,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,240,4,15,15,7,0,253,192, + 32,16,16,16,16,16,16,16,16,16,16,16,16,16,3,15, + 15,7,3,253,128,128,128,128,128,128,64,32,64,128,128,128, + 128,128,128,4,15,15,7,0,253,16,16,16,16,16,16,16, + 16,16,16,16,16,16,32,192,255}; +/* + Fontname: -Adobe-Symbol-Medium-R-Normal--14-100-100-100-P-85-Adobe-FontSpecific + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 10, '1' Height: 10 + Calculated Max Values w=11 h=15 x= 7 y=11 dx=13 dy= 0 ascent=12 len=20 + Font Bounding box w=16 h=15 x=-1 y=-3 + Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 + Pure Font ascent =10 descent=-3 + X Font ascent =10 descent=-3 + Max Font ascent =12 descent=-3 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_symb10r[1633] U8G_FONT_SECTION("u8g_font_symb10r") = { + 0,16,15,255,253,10,2,6,4,121,32,127,253,12,253,10, + 253,0,0,0,4,0,1,1,10,10,5,2,0,128,128,128, + 128,128,128,128,0,128,128,9,10,20,9,0,0,128,128,65, + 0,65,0,62,0,34,0,34,0,20,0,20,0,8,0,8, + 0,7,10,10,7,0,0,20,20,20,126,40,40,252,80,80, + 80,6,10,10,8,1,0,252,4,4,4,252,4,4,4,4, + 252,9,10,20,12,1,0,121,128,151,0,146,0,148,0,108, + 0,27,0,20,128,36,128,68,128,195,0,9,10,20,11,1, + 0,48,0,72,0,72,0,112,0,39,0,114,0,202,0,132, + 0,206,128,123,0,5,7,7,6,0,0,224,16,8,120,8, + 16,224,3,13,13,5,1,253,32,64,64,128,128,128,128,128, + 128,128,64,64,32,3,13,13,5,1,253,128,64,64,32,32, + 32,32,32,32,32,64,64,128,5,6,6,7,1,2,32,168, + 112,112,168,32,7,7,7,8,0,0,16,16,16,254,16,16, + 16,2,4,4,3,0,254,64,64,64,128,7,1,1,8,0, + 3,254,1,2,2,3,1,0,128,128,4,10,10,4,0,0, + 16,16,32,32,32,64,64,64,128,128,6,10,10,7,0,0, + 120,204,132,132,132,132,132,132,204,120,5,10,10,7,1,0, + 32,224,32,32,32,32,32,32,32,248,6,10,10,7,0,0, + 112,216,136,8,24,16,32,64,196,252,6,10,10,7,0,0, + 120,204,132,12,56,12,4,4,204,120,6,10,10,7,0,0, + 8,24,24,40,104,72,136,252,8,8,5,10,10,7,1,0, + 120,64,128,224,48,24,8,8,144,224,6,10,10,7,0,0, + 28,48,64,64,248,140,132,132,204,120,6,10,10,7,0,0, + 252,132,8,8,16,16,32,32,64,64,5,10,10,7,1,0, + 112,216,136,216,112,136,136,136,216,112,6,10,10,7,0,0, + 120,204,132,132,204,120,24,16,96,192,1,7,7,4,2,0, + 128,128,0,0,0,128,128,2,9,9,4,1,254,64,64,0, + 0,0,64,64,64,128,7,7,7,8,1,0,2,12,48,192, + 48,12,2,7,3,3,8,0,2,254,0,254,7,7,7,8, + 0,0,128,96,24,6,24,96,128,5,10,10,6,1,0,112, + 136,136,8,16,32,32,0,32,32,7,7,7,8,0,0,114, + 156,0,254,0,0,254,9,10,20,11,1,0,8,0,28,0, + 20,0,20,0,34,0,34,0,62,0,99,0,65,0,227,128, + 7,10,10,9,1,0,252,70,66,70,124,70,66,66,70,252, + 9,10,20,11,1,0,227,128,65,0,34,0,20,0,8,0, + 20,0,34,0,34,0,65,0,227,128,7,10,10,9,1,0, + 16,16,40,40,40,68,68,68,130,254,7,10,10,9,1,0, + 254,66,64,68,124,68,64,66,66,254,9,10,20,11,1,0, + 28,0,8,0,127,0,201,128,136,128,136,128,201,128,127,0, + 8,0,28,0,7,10,10,9,1,0,254,66,64,64,64,64, + 64,64,64,224,9,10,20,11,1,0,227,128,65,0,65,0, + 65,0,127,0,65,0,65,0,65,0,65,0,227,128,3,10, + 10,5,1,0,224,64,64,64,64,64,64,64,64,224,8,10, + 10,9,0,0,12,10,10,102,163,34,34,34,54,28,8,10, + 10,10,1,0,238,68,72,80,112,80,72,68,70,231,9,10, + 20,10,0,0,8,0,8,0,20,0,20,0,34,0,34,0, + 34,0,65,0,65,0,227,128,11,10,20,13,1,0,224,224, + 96,192,81,64,81,64,91,64,74,64,74,64,78,64,68,64, + 228,224,9,10,20,11,1,0,227,128,97,0,81,0,89,0, + 73,0,77,0,69,0,69,0,67,0,227,0,8,10,10,10, + 1,0,60,102,66,129,129,129,129,66,102,60,9,10,20,11, + 1,0,255,128,65,0,65,0,65,0,65,0,65,0,65,0, + 65,0,65,0,227,128,8,10,10,10,1,0,60,102,66,165, + 189,165,129,66,102,60,6,10,10,8,1,0,248,76,68,68, + 76,120,64,64,64,224,8,10,10,9,1,0,254,194,96,48, + 24,16,32,64,193,255,7,10,10,9,1,0,254,146,146,16, + 16,16,16,16,16,56,9,10,20,9,0,0,227,128,65,0, + 34,0,34,0,20,0,8,0,8,0,8,0,8,0,28,0, + 6,10,10,7,1,253,56,192,128,128,128,96,56,4,36,56, + 10,10,20,11,0,0,12,0,51,0,33,0,64,128,64,128, + 64,128,33,0,51,0,146,64,243,192,9,10,20,9,0,0, + 127,0,65,0,0,0,34,0,62,0,34,0,0,0,0,0, + 128,128,255,128,11,10,20,11,0,0,206,96,100,192,36,128, + 36,128,31,0,4,0,4,0,4,0,4,0,14,0,7,10, + 10,9,1,0,254,134,4,8,16,16,32,64,194,254,3,13, + 13,5,1,253,224,128,128,128,128,128,128,128,128,128,128,128, + 224,8,7,7,10,1,0,24,24,0,0,0,195,195,3,13, + 13,5,1,253,224,32,32,32,32,32,32,32,32,32,32,32, + 224,9,10,20,10,0,0,8,0,8,0,8,0,8,0,8, + 0,8,0,8,0,8,0,8,0,255,128,7,1,1,7,0, + 253,254,8,1,1,7,7,11,255,8,7,7,9,1,0,118, + 212,136,136,136,213,102,6,14,14,8,1,253,120,204,132,140, + 152,140,132,132,132,204,184,128,128,128,8,10,10,8,0,253, + 195,166,36,60,24,56,40,100,69,195,5,11,11,7,1,0, + 112,152,128,64,112,152,136,136,136,216,112,5,7,7,6,1, + 0,120,200,128,96,128,200,112,7,13,13,9,1,253,16,16, + 16,56,84,146,146,146,84,56,16,16,16,6,10,10,6,0, + 253,196,164,36,40,40,24,24,16,48,48,7,10,10,8,0, + 253,108,178,34,34,34,34,34,2,2,2,5,7,7,5,0, + 0,96,160,32,32,32,40,48,7,10,10,9,1,253,24,84, + 210,146,146,84,56,16,16,16,7,7,7,8,0,0,70,202, + 80,112,88,76,70,8,10,10,8,0,0,96,80,16,16,40, + 40,72,68,133,131,8,9,9,8,0,254,68,68,68,68,68, + 77,123,64,192,7,7,7,8,0,0,198,66,34,34,20,20, + 8,6,7,7,8,1,0,120,204,132,132,132,204,120,8,7, + 7,8,0,0,126,164,36,36,36,37,102,5,10,10,7,1, + 0,112,216,136,136,248,136,136,136,216,112,6,10,10,8,1, + 253,120,204,132,132,132,204,184,128,128,128,7,7,7,8,1, + 0,126,200,132,132,132,204,120,5,7,7,6,0,0,120,160, + 32,32,32,40,48,7,7,7,8,0,0,100,162,34,34,34, + 38,28,10,8,16,11,0,0,127,192,160,128,68,64,68,64, + 68,64,68,64,100,192,59,128,9,7,14,11,1,0,99,0, + 136,128,136,128,136,128,136,128,201,128,119,0,6,15,15,7, + 1,253,32,64,56,32,64,120,32,64,128,128,192,120,4,36, + 56,9,10,20,9,0,253,136,128,73,0,73,0,73,0,107, + 0,62,0,28,0,8,0,8,0,8,0,6,14,14,7,1, + 253,32,68,60,16,32,64,64,128,128,192,120,4,36,56,5, + 13,13,7,1,253,24,32,32,32,32,64,128,64,32,32,32, + 32,24,1,13,13,3,1,253,128,128,128,128,128,128,128,128, + 128,128,128,128,128,5,13,13,7,1,253,192,32,32,32,32, + 16,8,16,32,32,32,32,192,6,2,2,8,1,3,100,152, + 255}; +/* + Fontname: -Adobe-Symbol-Medium-R-Normal--17-120-100-100-P-95-Adobe-FontSpecific + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 11, '1' Height: 12 + Calculated Max Values w=16 h=17 x= 7 y=12 dx=17 dy= 0 ascent=13 len=30 + Font Bounding box w=20 h=17 x=-3 y=-4 + Calculated Min Values x=-3 y=-4 dx= 0 dy= 0 + Pure Font ascent =11 descent=-4 + X Font ascent =12 descent=-4 + Max Font ascent =13 descent=-4 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_symb12[4136] U8G_FONT_SECTION("u8g_font_symb12") = { + 0,20,17,253,252,11,2,70,5,85,32,255,252,13,252,12, + 252,0,0,0,4,0,1,3,11,11,5,1,0,64,224,224, + 224,64,64,64,0,64,224,64,11,12,24,11,0,0,128,32, + 128,32,64,64,64,64,63,128,32,128,17,0,17,0,10,0, + 10,0,4,0,4,0,8,11,11,8,0,0,18,18,18,127, + 36,36,36,254,72,72,72,7,12,12,9,0,0,254,2,2, + 2,2,126,2,2,2,2,2,254,11,12,24,13,1,255,48, + 64,111,128,201,0,201,0,154,0,148,192,101,160,11,32,11, + 32,18,96,34,64,33,128,12,11,22,13,0,0,14,0,25, + 0,17,0,26,0,12,240,56,64,76,128,198,128,131,0,197, + 144,120,224,5,8,8,7,1,0,224,16,24,120,24,24,16, + 224,4,14,14,5,0,254,16,32,64,64,128,128,128,128,128, + 128,64,64,32,16,4,14,14,5,0,254,128,64,32,32,16, + 16,16,16,16,16,32,32,64,128,5,5,5,8,1,3,32, + 168,112,168,32,9,9,18,9,0,0,8,0,8,0,8,0, + 8,0,255,128,8,0,8,0,8,0,8,0,3,5,5,4, + 1,254,64,224,96,64,128,9,1,2,9,0,4,255,128,3, + 3,3,4,1,0,64,224,64,5,11,11,5,255,0,8,8, + 16,16,32,32,32,64,64,128,128,7,12,12,8,0,0,56, + 108,68,198,130,130,130,130,198,68,108,56,5,12,12,8,1, + 0,32,96,160,32,32,32,32,32,32,32,32,248,7,12,12, + 8,0,0,56,76,134,2,2,4,4,8,16,34,126,252,6, + 12,12,8,1,0,56,76,132,4,8,56,12,4,4,4,200, + 112,7,12,12,8,0,0,4,4,12,20,20,36,68,68,254, + 4,4,4,7,12,12,8,0,0,62,60,64,64,240,248,12, + 4,4,4,200,240,6,12,12,8,1,0,12,48,96,64,248, + 204,132,132,132,132,76,56,6,12,12,8,1,0,252,252,136, + 8,8,16,16,16,16,32,32,32,6,12,12,8,1,0,48, + 72,132,196,104,48,88,140,132,132,72,48,6,12,12,8,1, + 0,112,200,132,132,132,132,204,124,8,24,48,192,3,8,8, + 4,1,0,64,224,64,0,0,64,224,64,3,10,10,4,1, + 254,64,224,64,0,0,64,224,96,64,128,8,9,9,9,0, + 0,1,6,24,96,128,96,24,6,1,9,4,8,9,0,2, + 255,128,0,0,0,0,255,128,8,9,9,9,0,0,128,96, + 24,6,1,6,24,96,128,6,11,11,7,0,0,120,156,140, + 12,24,16,32,0,32,112,32,8,8,8,9,0,0,113,142, + 0,0,255,0,0,255,11,11,22,12,0,0,4,0,4,0, + 14,0,14,0,19,0,19,0,33,128,63,128,65,192,64,192, + 225,224,9,11,22,11,1,0,254,0,99,0,97,128,97,128, + 99,0,126,0,99,0,97,128,97,128,99,0,254,0,10,11, + 22,12,0,0,241,192,96,128,49,0,26,0,26,0,12,0, + 22,0,19,0,35,0,65,128,227,192,10,11,22,10,0,0, + 4,0,4,0,14,0,14,0,19,0,19,0,35,0,33,128, + 65,128,64,192,255,192,8,11,11,10,1,0,255,97,96,96, + 98,126,98,96,96,97,255,12,11,22,12,0,0,15,0,6, + 0,63,192,102,96,198,48,198,48,198,48,102,96,63,192,6, + 0,15,0,9,11,22,10,1,0,255,128,97,128,96,0,96, + 0,96,0,96,0,96,0,96,0,96,0,96,0,240,0,11, + 11,22,12,0,0,241,224,96,192,96,192,96,192,96,192,127, + 192,96,192,96,192,96,192,96,192,241,224,4,11,11,6,1, + 0,240,96,96,96,96,96,96,96,96,96,240,9,12,24,10, + 0,0,12,0,18,0,17,0,9,0,69,0,163,0,33,128, + 33,0,33,0,33,0,34,0,28,0,10,11,22,12,1,0, + 243,192,97,0,98,0,100,0,104,0,120,0,108,0,102,0, + 99,0,97,128,243,192,11,11,22,11,0,0,4,0,4,0, + 14,0,14,0,19,0,19,0,33,128,33,128,64,192,64,192, + 225,224,13,11,22,14,1,0,224,56,96,112,112,112,112,176, + 88,176,89,48,77,48,78,48,70,48,68,48,224,120,10,11, + 22,11,1,0,225,192,112,128,112,128,88,128,92,128,78,128, + 70,128,67,128,67,128,65,128,224,128,11,11,22,12,0,0, + 31,0,113,192,96,192,192,96,192,96,192,96,192,96,192,96, + 96,192,113,192,31,0,11,11,22,12,1,0,255,224,96,192, + 96,192,96,192,96,192,96,192,96,192,96,192,96,192,96,192, + 241,224,11,11,22,12,0,0,31,0,113,192,96,192,192,96, + 209,96,223,96,209,96,192,96,96,192,113,192,31,0,8,11, + 11,9,1,0,252,102,99,99,102,124,96,96,96,96,240,9, + 11,22,10,0,0,255,128,96,128,48,0,24,0,12,0,12, + 0,8,0,16,128,32,128,127,128,255,128,10,11,22,10,0, + 0,255,192,140,64,140,64,12,0,12,0,12,0,12,0,12, + 0,12,0,12,0,30,0,10,11,22,11,1,0,241,192,96, + 128,49,0,49,0,26,0,12,0,12,0,12,0,12,0,12, + 0,30,0,7,12,12,8,0,252,60,76,128,128,128,128,124, + 62,2,2,60,56,12,12,24,12,0,0,31,128,112,224,96, + 96,192,48,192,48,192,48,192,48,96,96,48,192,137,16,249, + 240,249,240,9,11,22,11,0,0,255,128,255,128,128,128,0, + 0,34,0,62,0,34,0,0,0,128,128,255,128,255,128,12, + 11,22,13,0,0,207,48,102,96,102,96,102,96,102,96,63, + 192,6,0,6,0,6,0,6,0,15,0,8,11,11,10,1, + 0,255,131,134,12,12,24,48,48,97,193,255,3,14,14,6, + 1,254,224,128,128,128,128,128,128,128,128,128,128,128,128,224, + 9,8,16,14,2,0,8,0,28,0,8,0,0,0,0,0, + 65,0,227,128,65,0,3,14,14,5,0,254,224,32,32,32, + 32,32,32,32,32,32,32,32,32,224,9,11,22,11,1,0, + 8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0, + 8,0,8,0,255,128,8,1,1,8,0,253,255,10,1,2, + 8,7,12,255,192,10,9,18,11,0,0,57,128,101,128,195, + 0,195,0,195,0,194,0,198,64,101,64,56,128,8,17,17, + 9,0,252,60,70,66,66,70,92,70,67,67,65,65,99,94, + 64,64,64,192,8,12,12,9,0,253,99,162,150,20,28,24, + 24,56,40,105,69,198,7,12,12,8,0,0,120,140,64,48, + 24,44,70,194,130,194,68,56,7,9,9,7,0,0,56,68, + 192,192,120,192,192,66,60,7,14,14,9,1,253,16,16,56, + 84,214,146,146,146,214,84,56,16,16,16,8,13,13,7,255, + 252,97,161,146,18,20,20,8,8,16,16,48,48,48,9,12, + 24,10,0,253,110,0,177,0,33,0,33,0,33,0,33,0, + 33,0,33,0,33,0,1,0,1,0,1,128,6,9,9,5, + 255,0,32,96,160,32,32,32,32,52,24,9,12,24,10,0, + 253,39,0,73,128,201,128,136,128,136,128,136,128,201,128,73, + 0,62,0,8,0,8,0,8,0,8,9,9,9,0,0,70, + 206,80,80,120,76,76,70,79,9,13,26,9,0,0,96,0, + 208,0,144,0,16,0,8,0,24,0,24,0,56,0,40,0, + 36,0,100,128,68,128,195,0,8,13,13,9,1,252,132,132, + 132,132,132,132,132,205,182,128,128,128,128,9,9,18,8,255, + 0,225,128,33,128,49,0,51,0,18,0,26,0,12,0,12, + 0,8,0,7,9,9,9,1,0,56,68,198,130,130,130,198, + 68,56,8,9,9,9,0,0,127,255,164,36,36,36,37,103, + 102,7,12,12,9,1,0,56,108,68,198,130,254,130,130,198, + 68,108,56,7,13,13,9,1,252,56,76,134,134,130,130,198, + 196,184,128,128,128,128,9,9,18,10,1,0,31,128,116,0, + 194,0,195,0,129,0,193,0,65,0,99,0,30,0,7,9, + 9,7,0,0,60,124,144,16,16,16,18,30,12,8,9,9, + 9,1,0,68,226,161,33,33,33,33,50,28,10,10,20,11, + 0,0,127,192,155,0,32,128,100,192,68,64,68,64,68,64, + 68,64,100,192,59,128,9,9,18,11,1,0,54,0,65,0, + 201,128,136,128,136,128,136,128,136,128,201,128,119,0,7,17, + 17,8,0,252,64,88,48,64,92,60,64,128,128,128,128,124, + 62,2,2,60,56,11,13,26,11,0,252,196,96,100,192,36, + 128,36,128,36,128,36,128,36,128,53,128,31,0,4,0,4, + 0,4,0,4,0,7,17,17,8,1,252,32,76,60,32,64, + 64,128,128,128,128,128,124,62,2,2,60,56,5,14,14,8, + 1,254,24,32,32,32,32,32,192,32,32,32,32,32,32,24, + 1,14,14,3,1,253,128,128,128,128,128,128,128,128,128,128, + 128,128,128,128,5,14,14,8,1,254,192,32,32,32,32,32, + 24,32,32,32,32,32,32,192,8,2,2,9,0,3,113,142, + 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,255,255,255,255,255,255, + 255,255,10,11,22,10,255,0,225,128,18,192,10,192,12,0, + 12,0,12,0,12,0,12,0,12,0,12,0,30,0,3,4, + 4,4,1,8,96,96,192,128,8,11,11,9,0,0,1,6, + 24,96,128,96,24,6,1,0,255,8,11,11,3,253,0,1, + 2,2,4,8,16,16,32,64,64,128,11,5,10,12,0,2, + 113,192,138,32,132,32,138,32,113,192,7,15,15,8,0,253, + 6,10,8,8,8,126,16,16,16,16,32,32,32,160,192,9, + 10,20,12,1,255,28,0,62,0,62,0,28,0,107,0,255, + 128,255,128,107,0,8,0,28,0,7,9,9,12,2,0,16, + 56,124,124,254,124,124,56,16,8,9,9,12,2,0,102,255, + 255,255,126,60,60,24,24,9,10,20,12,2,255,8,0,28, + 0,28,0,62,0,127,0,127,0,255,128,107,0,8,0,28, + 0,15,9,18,17,0,0,8,32,16,16,32,8,64,4,255, + 254,64,4,32,8,16,16,8,32,16,9,18,16,0,0,8, + 0,16,0,32,0,64,0,255,255,64,0,32,0,16,0,8, + 0,9,15,30,10,0,254,8,0,28,0,42,0,73,0,136, + 128,8,0,8,0,8,0,8,0,8,0,8,0,8,0,8, + 0,8,0,8,0,15,9,18,16,0,0,0,32,0,16,0, + 8,0,4,255,254,0,4,0,8,0,16,0,32,9,15,30, + 10,0,254,8,0,8,0,8,0,8,0,8,0,8,0,8, + 0,8,0,8,0,8,0,136,128,73,0,42,0,28,0,8, + 0,5,5,5,6,0,6,112,136,136,136,112,9,11,22,9, + 0,0,8,0,8,0,8,0,8,0,255,128,8,0,8,0, + 8,0,8,0,0,0,255,128,6,4,4,7,1,8,108,108, + 216,144,8,11,11,9,0,0,128,96,24,6,1,6,24,96, + 128,0,255,9,9,18,9,0,0,128,128,65,0,34,0,20, + 0,8,0,20,0,34,0,65,0,128,128,10,5,10,11,0, + 2,113,192,138,0,132,0,138,0,113,192,7,14,14,8,0, + 255,120,196,4,2,2,2,58,102,194,194,130,196,68,56,6, + 6,6,8,1,2,120,252,252,252,252,120,8,7,7,9,0, + 1,24,24,0,255,0,24,24,9,10,20,9,0,255,2,0, + 2,0,4,0,255,128,8,0,8,0,255,128,16,0,32,0, + 32,0,8,7,7,9,0,1,255,0,0,255,0,0,255,8, + 5,5,9,0,2,113,142,0,113,142,13,3,6,16,1,0, + 66,16,231,56,66,16,1,17,17,10,4,252,128,128,128,128, + 128,128,128,128,128,128,128,128,128,128,128,128,128,16,1,2, + 16,0,4,255,255,9,11,22,10,0,255,0,128,0,128,0, + 128,0,128,0,128,0,128,32,128,96,128,255,128,96,0,32, + 0,9,11,22,13,2,0,68,0,231,0,103,0,50,0,26, + 0,60,0,108,0,102,0,99,0,51,128,113,0,9,14,28, + 11,0,255,30,0,63,128,67,128,65,0,66,0,34,0,19, + 0,1,0,1,128,0,128,0,128,112,128,191,0,28,0,12, + 13,26,13,0,0,113,128,138,192,140,96,196,64,100,128,37, + 0,7,128,5,128,12,192,12,192,8,208,104,96,48,64,12, + 13,26,16,2,252,12,0,17,224,34,48,36,16,72,48,114, + 32,102,96,100,192,115,0,144,0,144,0,144,0,96,0,11, + 11,22,12,1,0,14,0,49,128,64,64,81,64,138,32,132, + 32,138,32,81,64,64,64,49,128,14,0,11,11,22,12,1, + 0,14,0,49,128,68,64,68,64,132,32,191,160,132,32,68, + 64,68,64,49,128,14,0,12,12,24,13,1,0,15,16,48, + 224,64,96,64,160,129,16,130,16,132,16,136,16,80,32,96, + 32,112,192,159,0,11,9,18,12,1,0,14,0,49,128,64, + 64,64,64,128,32,128,32,128,32,128,32,128,32,11,9,18, + 12,1,0,128,32,128,32,128,32,128,32,128,32,64,64,64, + 64,49,128,14,0,10,8,16,11,0,0,255,0,0,128,0, + 64,0,64,0,64,0,64,0,128,255,0,10,10,20,11,0, + 253,255,0,0,128,0,64,0,64,0,64,0,64,0,128,255, + 0,0,0,255,192,11,10,20,11,0,255,0,128,63,224,65, + 0,129,0,130,0,130,0,132,0,68,0,63,224,8,0,10, + 8,16,11,0,0,63,192,64,0,128,0,128,0,128,0,128, + 0,64,0,63,192,10,10,20,11,0,254,63,192,64,0,128, + 0,128,0,128,0,128,0,64,0,63,192,0,0,255,192,7, + 7,7,11,0,0,62,64,128,254,128,64,62,7,9,9,11, + 0,255,4,62,72,136,254,144,80,62,32,11,11,22,12,1, + 0,0,32,0,64,0,128,1,0,2,0,4,0,8,0,16, + 0,32,0,64,0,255,192,10,11,22,11,1,1,255,192,192, + 128,96,128,97,0,49,0,50,0,50,0,28,0,28,0,8, + 0,8,0,11,11,22,13,1,0,14,0,49,128,94,64,73, + 64,137,32,142,32,138,32,73,64,93,192,49,128,14,0,11, + 11,22,13,1,0,14,0,49,128,70,64,73,64,145,32,144, + 32,144,32,73,64,70,64,49,128,14,0,13,6,12,14,0, + 5,255,24,171,16,34,176,34,176,34,80,119,88,12,15,30, + 13,1,254,255,240,96,96,96,96,96,96,96,96,96,96,96, + 96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,240, + 240,7,16,16,9,1,253,2,2,2,2,2,4,68,196,36, + 36,20,20,20,8,8,8,2,2,2,4,1,3,192,192,11, + 5,10,12,0,0,255,224,0,32,0,32,0,32,0,32,9, + 8,16,10,0,0,8,0,8,0,20,0,34,0,34,0,65, + 0,128,128,128,128,9,8,16,10,0,0,128,128,128,128,65, + 0,34,0,34,0,20,0,8,0,8,0,16,9,18,17,0, + 0,8,16,16,8,63,252,64,2,128,1,64,2,63,252,16, + 8,8,16,15,9,18,16,0,0,8,0,16,0,63,254,64, + 0,128,0,64,0,63,254,16,0,8,0,9,15,30,10,0, + 254,8,0,20,0,34,0,99,0,162,128,34,0,34,0,34, + 0,34,0,34,0,34,0,34,0,34,0,34,0,34,0,15, + 9,18,16,0,0,0,32,0,16,255,248,0,4,0,2,0, + 4,255,248,0,16,0,32,9,15,30,10,0,254,34,0,34, + 0,34,0,34,0,34,0,34,0,34,0,34,0,34,0,34, + 0,162,128,99,0,34,0,20,0,8,0,7,12,12,8,0, + 0,16,40,40,68,68,130,130,68,68,40,40,16,4,15,15, + 5,0,254,16,16,32,32,64,64,128,128,128,64,64,32,32, + 16,16,11,11,22,13,1,0,14,0,49,128,94,64,81,64, + 145,32,158,32,145,32,81,64,81,64,49,128,14,0,11,11, + 22,13,1,0,14,0,49,128,70,64,73,64,144,32,144,32, + 144,32,73,64,70,64,49,128,14,0,11,6,12,13,0,5, + 252,32,38,96,38,96,37,160,37,160,36,32,11,15,30,11, + 0,254,255,192,112,64,56,64,24,0,12,0,14,0,7,0, + 3,0,2,0,4,0,8,0,16,32,32,64,127,192,255,128, + 6,17,17,6,1,252,4,8,16,32,32,64,64,64,64,128, + 128,128,128,128,128,128,128,1,17,17,6,1,252,128,128,128, + 128,128,128,128,128,128,128,128,128,128,128,128,128,128,6,17, + 17,6,1,252,128,128,128,128,128,128,128,128,64,64,64,64, + 32,32,16,8,4,5,17,17,6,0,252,248,128,128,128,128, + 128,128,128,128,128,128,128,128,128,128,128,128,1,17,17,6, + 0,252,128,128,128,128,128,128,128,128,128,128,128,128,128,128, + 128,128,128,5,17,17,6,0,252,128,128,128,128,128,128,128, + 128,128,128,128,128,128,128,128,128,248,4,17,17,8,3,252, + 48,64,128,128,128,128,128,128,128,128,128,128,128,128,128,128, + 128,4,17,17,8,0,252,16,16,16,16,16,16,16,32,192, + 32,16,16,16,16,16,16,16,4,17,17,8,3,252,128,128, + 128,128,128,128,128,128,128,128,128,128,128,128,128,64,48,1, + 17,17,8,3,252,128,128,128,128,128,128,128,128,128,128,128, + 128,128,128,128,128,128,255,4,15,15,5,0,254,128,128,64, + 64,32,32,16,16,16,32,32,64,64,128,128,5,17,17,5, + 0,252,24,40,32,32,32,32,32,32,32,32,32,32,32,32, + 32,160,192,6,17,17,11,5,252,24,44,72,64,128,128,128, + 128,128,128,128,128,128,128,128,128,128,1,17,17,11,5,252, + 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, + 128,6,17,17,11,0,252,4,4,4,4,4,4,4,4,4, + 4,4,4,4,8,72,208,96,6,17,17,7,1,252,128,64, + 32,16,16,8,8,8,8,4,4,4,4,4,4,4,4,1, + 17,17,6,5,252,128,128,128,128,128,128,128,128,128,128,128, + 128,128,128,128,128,128,6,17,17,6,0,252,4,4,4,4, + 4,4,4,4,8,8,8,8,16,16,32,64,128,5,17,17, + 6,1,252,248,8,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,1,17,17,6,5,252,128,128,128,128,128,128, + 128,128,128,128,128,128,128,128,128,128,128,5,17,17,6,1, + 252,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,248,4,17,17,8,0,252,192,32,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,4,17,17,8,3,252,128, + 128,128,128,128,128,128,64,48,64,128,128,128,128,128,128,128, + 4,17,17,8,0,252,16,16,16,16,16,16,16,16,16,16, + 16,16,16,16,16,32,192,255}; +/* + Fontname: -Adobe-Symbol-Medium-R-Normal--17-120-100-100-P-95-Adobe-FontSpecific + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 11, '1' Height: 12 + Calculated Max Values w=13 h=17 x= 7 y=12 dx=14 dy= 0 ascent=13 len=26 + Font Bounding box w=20 h=17 x=-3 y=-4 + Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 + Pure Font ascent =11 descent=-4 + X Font ascent =12 descent=-4 + Max Font ascent =13 descent=-4 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_symb12r[1985] U8G_FONT_SECTION("u8g_font_symb12r") = { + 0,20,17,253,252,11,2,70,5,85,32,127,252,13,252,12, + 252,0,0,0,4,0,1,3,11,11,5,1,0,64,224,224, + 224,64,64,64,0,64,224,64,11,12,24,11,0,0,128,32, + 128,32,64,64,64,64,63,128,32,128,17,0,17,0,10,0, + 10,0,4,0,4,0,8,11,11,8,0,0,18,18,18,127, + 36,36,36,254,72,72,72,7,12,12,9,0,0,254,2,2, + 2,2,126,2,2,2,2,2,254,11,12,24,13,1,255,48, + 64,111,128,201,0,201,0,154,0,148,192,101,160,11,32,11, + 32,18,96,34,64,33,128,12,11,22,13,0,0,14,0,25, + 0,17,0,26,0,12,240,56,64,76,128,198,128,131,0,197, + 144,120,224,5,8,8,7,1,0,224,16,24,120,24,24,16, + 224,4,14,14,5,0,254,16,32,64,64,128,128,128,128,128, + 128,64,64,32,16,4,14,14,5,0,254,128,64,32,32,16, + 16,16,16,16,16,32,32,64,128,5,5,5,8,1,3,32, + 168,112,168,32,9,9,18,9,0,0,8,0,8,0,8,0, + 8,0,255,128,8,0,8,0,8,0,8,0,3,5,5,4, + 1,254,64,224,96,64,128,9,1,2,9,0,4,255,128,3, + 3,3,4,1,0,64,224,64,5,11,11,5,255,0,8,8, + 16,16,32,32,32,64,64,128,128,7,12,12,8,0,0,56, + 108,68,198,130,130,130,130,198,68,108,56,5,12,12,8,1, + 0,32,96,160,32,32,32,32,32,32,32,32,248,7,12,12, + 8,0,0,56,76,134,2,2,4,4,8,16,34,126,252,6, + 12,12,8,1,0,56,76,132,4,8,56,12,4,4,4,200, + 112,7,12,12,8,0,0,4,4,12,20,20,36,68,68,254, + 4,4,4,7,12,12,8,0,0,62,60,64,64,240,248,12, + 4,4,4,200,240,6,12,12,8,1,0,12,48,96,64,248, + 204,132,132,132,132,76,56,6,12,12,8,1,0,252,252,136, + 8,8,16,16,16,16,32,32,32,6,12,12,8,1,0,48, + 72,132,196,104,48,88,140,132,132,72,48,6,12,12,8,1, + 0,112,200,132,132,132,132,204,124,8,24,48,192,3,8,8, + 4,1,0,64,224,64,0,0,64,224,64,3,10,10,4,1, + 254,64,224,64,0,0,64,224,96,64,128,8,9,9,9,0, + 0,1,6,24,96,128,96,24,6,1,9,4,8,9,0,2, + 255,128,0,0,0,0,255,128,8,9,9,9,0,0,128,96, + 24,6,1,6,24,96,128,6,11,11,7,0,0,120,156,140, + 12,24,16,32,0,32,112,32,8,8,8,9,0,0,113,142, + 0,0,255,0,0,255,11,11,22,12,0,0,4,0,4,0, + 14,0,14,0,19,0,19,0,33,128,63,128,65,192,64,192, + 225,224,9,11,22,11,1,0,254,0,99,0,97,128,97,128, + 99,0,126,0,99,0,97,128,97,128,99,0,254,0,10,11, + 22,12,0,0,241,192,96,128,49,0,26,0,26,0,12,0, + 22,0,19,0,35,0,65,128,227,192,10,11,22,10,0,0, + 4,0,4,0,14,0,14,0,19,0,19,0,35,0,33,128, + 65,128,64,192,255,192,8,11,11,10,1,0,255,97,96,96, + 98,126,98,96,96,97,255,12,11,22,12,0,0,15,0,6, + 0,63,192,102,96,198,48,198,48,198,48,102,96,63,192,6, + 0,15,0,9,11,22,10,1,0,255,128,97,128,96,0,96, + 0,96,0,96,0,96,0,96,0,96,0,96,0,240,0,11, + 11,22,12,0,0,241,224,96,192,96,192,96,192,96,192,127, + 192,96,192,96,192,96,192,96,192,241,224,4,11,11,6,1, + 0,240,96,96,96,96,96,96,96,96,96,240,9,12,24,10, + 0,0,12,0,18,0,17,0,9,0,69,0,163,0,33,128, + 33,0,33,0,33,0,34,0,28,0,10,11,22,12,1,0, + 243,192,97,0,98,0,100,0,104,0,120,0,108,0,102,0, + 99,0,97,128,243,192,11,11,22,11,0,0,4,0,4,0, + 14,0,14,0,19,0,19,0,33,128,33,128,64,192,64,192, + 225,224,13,11,22,14,1,0,224,56,96,112,112,112,112,176, + 88,176,89,48,77,48,78,48,70,48,68,48,224,120,10,11, + 22,11,1,0,225,192,112,128,112,128,88,128,92,128,78,128, + 70,128,67,128,67,128,65,128,224,128,11,11,22,12,0,0, + 31,0,113,192,96,192,192,96,192,96,192,96,192,96,192,96, + 96,192,113,192,31,0,11,11,22,12,1,0,255,224,96,192, + 96,192,96,192,96,192,96,192,96,192,96,192,96,192,96,192, + 241,224,11,11,22,12,0,0,31,0,113,192,96,192,192,96, + 209,96,223,96,209,96,192,96,96,192,113,192,31,0,8,11, + 11,9,1,0,252,102,99,99,102,124,96,96,96,96,240,9, + 11,22,10,0,0,255,128,96,128,48,0,24,0,12,0,12, + 0,8,0,16,128,32,128,127,128,255,128,10,11,22,10,0, + 0,255,192,140,64,140,64,12,0,12,0,12,0,12,0,12, + 0,12,0,12,0,30,0,10,11,22,11,1,0,241,192,96, + 128,49,0,49,0,26,0,12,0,12,0,12,0,12,0,12, + 0,30,0,7,12,12,8,0,252,60,76,128,128,128,128,124, + 62,2,2,60,56,12,12,24,12,0,0,31,128,112,224,96, + 96,192,48,192,48,192,48,192,48,96,96,48,192,137,16,249, + 240,249,240,9,11,22,11,0,0,255,128,255,128,128,128,0, + 0,34,0,62,0,34,0,0,0,128,128,255,128,255,128,12, + 11,22,13,0,0,207,48,102,96,102,96,102,96,102,96,63, + 192,6,0,6,0,6,0,6,0,15,0,8,11,11,10,1, + 0,255,131,134,12,12,24,48,48,97,193,255,3,14,14,6, + 1,254,224,128,128,128,128,128,128,128,128,128,128,128,128,224, + 9,8,16,14,2,0,8,0,28,0,8,0,0,0,0,0, + 65,0,227,128,65,0,3,14,14,5,0,254,224,32,32,32, + 32,32,32,32,32,32,32,32,32,224,9,11,22,11,1,0, + 8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0, + 8,0,8,0,255,128,8,1,1,8,0,253,255,10,1,2, + 8,7,12,255,192,10,9,18,11,0,0,57,128,101,128,195, + 0,195,0,195,0,194,0,198,64,101,64,56,128,8,17,17, + 9,0,252,60,70,66,66,70,92,70,67,67,65,65,99,94, + 64,64,64,192,8,12,12,9,0,253,99,162,150,20,28,24, + 24,56,40,105,69,198,7,12,12,8,0,0,120,140,64,48, + 24,44,70,194,130,194,68,56,7,9,9,7,0,0,56,68, + 192,192,120,192,192,66,60,7,14,14,9,1,253,16,16,56, + 84,214,146,146,146,214,84,56,16,16,16,8,13,13,7,255, + 252,97,161,146,18,20,20,8,8,16,16,48,48,48,9,12, + 24,10,0,253,110,0,177,0,33,0,33,0,33,0,33,0, + 33,0,33,0,33,0,1,0,1,0,1,128,6,9,9,5, + 255,0,32,96,160,32,32,32,32,52,24,9,12,24,10,0, + 253,39,0,73,128,201,128,136,128,136,128,136,128,201,128,73, + 0,62,0,8,0,8,0,8,0,8,9,9,9,0,0,70, + 206,80,80,120,76,76,70,79,9,13,26,9,0,0,96,0, + 208,0,144,0,16,0,8,0,24,0,24,0,56,0,40,0, + 36,0,100,128,68,128,195,0,8,13,13,9,1,252,132,132, + 132,132,132,132,132,205,182,128,128,128,128,9,9,18,8,255, + 0,225,128,33,128,49,0,51,0,18,0,26,0,12,0,12, + 0,8,0,7,9,9,9,1,0,56,68,198,130,130,130,198, + 68,56,8,9,9,9,0,0,127,255,164,36,36,36,37,103, + 102,7,12,12,9,1,0,56,108,68,198,130,254,130,130,198, + 68,108,56,7,13,13,9,1,252,56,76,134,134,130,130,198, + 196,184,128,128,128,128,9,9,18,10,1,0,31,128,116,0, + 194,0,195,0,129,0,193,0,65,0,99,0,30,0,7,9, + 9,7,0,0,60,124,144,16,16,16,18,30,12,8,9,9, + 9,1,0,68,226,161,33,33,33,33,50,28,10,10,20,11, + 0,0,127,192,155,0,32,128,100,192,68,64,68,64,68,64, + 68,64,100,192,59,128,9,9,18,11,1,0,54,0,65,0, + 201,128,136,128,136,128,136,128,136,128,201,128,119,0,7,17, + 17,8,0,252,64,88,48,64,92,60,64,128,128,128,128,124, + 62,2,2,60,56,11,13,26,11,0,252,196,96,100,192,36, + 128,36,128,36,128,36,128,36,128,53,128,31,0,4,0,4, + 0,4,0,4,0,7,17,17,8,1,252,32,76,60,32,64, + 64,128,128,128,128,128,124,62,2,2,60,56,5,14,14,8, + 1,254,24,32,32,32,32,32,192,32,32,32,32,32,32,24, + 1,14,14,3,1,253,128,128,128,128,128,128,128,128,128,128, + 128,128,128,128,5,14,14,8,1,254,192,32,32,32,32,32, + 24,32,32,32,32,32,32,192,8,2,2,9,0,3,113,142, + 255}; +/* + Fontname: -Adobe-Symbol-Medium-R-Normal--20-140-100-100-P-107-Adobe-FontSpecific + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 13, '1' Height: 13 + Calculated Max Values w=19 h=19 x= 9 y=13 dx=19 dy= 0 ascent=14 len=34 + Font Bounding box w=20 h=19 x=-1 y=-5 + Calculated Min Values x=-1 y=-5 dx= 0 dy= 0 + Pure Font ascent =13 descent=-4 + X Font ascent =13 descent=-4 + Max Font ascent =14 descent=-5 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_symb14[4665] U8G_FONT_SECTION("u8g_font_symb14") = { + 0,20,19,255,251,13,2,127,6,16,32,255,252,14,251,13, + 252,0,0,0,5,0,1,2,13,13,6,2,0,192,192,192, + 192,192,192,192,64,64,0,0,192,192,13,13,26,13,0,0, + 192,24,192,24,96,48,96,48,63,224,48,96,24,192,24,192, + 8,128,13,128,5,0,7,0,2,0,10,13,26,9,255,0, + 9,0,9,0,9,0,9,0,127,192,18,0,18,0,18,0, + 255,128,36,0,36,0,36,0,36,0,8,13,13,10,1,0, + 255,3,3,3,3,3,127,3,3,3,3,3,255,13,13,26, + 15,1,0,56,96,103,224,196,192,197,128,233,128,115,0,6, + 0,6,112,12,200,25,136,25,136,49,208,48,224,12,13,26, + 13,1,0,28,0,54,0,34,0,38,0,60,0,57,224,124, + 192,238,128,199,128,195,0,195,144,103,240,60,224,6,9,9, + 8,1,0,240,56,28,12,124,12,28,56,240,4,17,17,6, + 1,252,16,48,96,96,192,192,192,192,192,192,192,192,192,96, + 96,48,16,4,17,17,6,1,252,128,192,96,96,48,48,48, + 48,48,48,48,48,48,96,96,192,128,7,7,7,9,1,3, + 16,214,124,56,124,214,16,8,8,8,10,1,1,24,24,24, + 255,255,24,24,24,3,5,5,5,1,253,96,96,32,96,192, + 7,2,2,9,1,4,254,254,2,2,2,4,1,0,192,192, + 5,13,13,5,0,0,24,24,24,48,48,48,96,96,96,96, + 192,192,192,8,13,13,9,0,0,60,102,102,195,195,195,195, + 195,195,195,102,102,60,6,13,13,9,1,0,48,240,176,48, + 48,48,48,48,48,48,48,120,252,7,13,13,9,1,0,60, + 126,206,134,6,6,12,28,24,48,98,254,254,7,13,13,9, + 1,0,124,206,134,6,12,56,60,14,6,6,6,204,248,8, + 13,13,9,0,0,6,14,14,30,54,54,102,198,198,255,6, + 6,6,7,13,13,9,1,0,126,124,192,192,240,60,12,14, + 6,6,12,220,240,8,13,13,9,0,0,14,56,48,96,96, + 252,198,195,195,195,195,102,60,8,13,13,9,0,0,127,255, + 134,6,12,12,12,24,24,24,48,48,48,8,13,13,9,0, + 0,60,102,102,102,116,60,126,102,195,195,195,102,60,8,13, + 13,9,0,0,60,110,199,195,195,195,227,127,58,6,12,56, + 224,2,9,9,5,2,0,192,192,0,0,0,0,0,192,192, + 3,12,12,5,1,253,96,96,0,0,0,0,0,96,96,32, + 96,192,9,9,18,10,0,0,3,128,15,0,60,0,240,0, + 192,0,240,0,60,0,15,0,3,128,8,5,5,10,1,2, + 255,255,0,255,255,9,9,18,10,0,0,224,0,120,0,30, + 0,7,128,1,128,7,128,30,0,120,0,224,0,6,13,13, + 8,1,0,120,220,204,204,12,12,24,48,48,48,0,48,48, + 8,9,9,10,1,0,115,255,206,0,255,255,0,255,255,12, + 13,26,14,1,0,4,0,14,0,14,0,11,0,27,0,19, + 0,17,128,49,128,63,192,32,192,96,192,96,224,241,240,9, + 13,26,11,1,0,252,0,102,0,99,0,99,0,99,0,102, + 0,126,0,99,0,97,128,97,128,97,128,99,128,255,0,12, + 13,26,14,1,0,240,112,112,96,56,192,24,192,29,128,15, + 0,6,0,15,0,27,128,49,128,49,192,96,224,224,240,11, + 13,26,11,0,0,4,0,6,0,14,0,11,0,19,0,19, + 0,17,128,33,128,33,192,64,192,64,192,128,96,255,224,9, + 13,26,11,1,0,255,128,97,128,96,128,96,0,96,0,97, + 0,127,0,97,0,96,0,96,0,96,128,97,128,255,128,12, + 13,26,14,1,0,15,0,6,0,31,128,102,96,198,48,198, + 48,198,48,198,48,198,48,102,96,31,128,6,0,15,0,10, + 13,26,11,0,0,255,192,112,192,48,64,48,0,48,0,48, + 0,48,0,48,0,48,0,48,0,48,0,48,0,120,0,11, + 13,26,13,1,0,241,224,96,192,96,192,96,192,96,192,96, + 192,127,192,96,192,96,192,96,192,96,192,96,192,241,224,4, + 13,13,6,1,0,240,96,96,96,96,96,96,96,96,96,96, + 96,240,11,13,26,12,1,0,6,0,11,0,9,128,5,128, + 99,128,241,128,177,192,49,160,49,128,49,128,49,128,59,0, + 30,0,11,13,26,14,1,0,243,192,97,128,99,0,102,0, + 108,0,120,0,120,0,108,0,102,0,99,0,99,128,97,192, + 241,224,12,13,26,13,0,0,6,0,6,0,15,0,11,0, + 11,0,25,128,17,128,17,128,48,192,32,192,32,96,96,96, + 240,240,14,13,26,16,1,0,224,28,112,56,112,56,88,120, + 88,88,88,216,76,152,76,152,77,152,71,24,71,24,67,24, + 226,60,11,13,26,13,1,0,224,224,112,64,112,64,88,64, + 76,64,76,64,70,64,67,64,67,192,65,192,64,192,64,192, + 224,64,11,13,26,13,1,0,14,0,49,128,96,192,224,224, + 192,96,192,96,192,96,192,96,192,96,224,224,96,192,49,128, + 14,0,11,13,26,13,1,0,255,224,96,192,96,192,96,192, + 96,192,96,192,96,192,96,192,96,192,96,192,96,192,96,192, + 241,224,11,13,26,13,1,0,14,0,49,128,96,192,224,224, + 192,96,209,96,223,96,209,96,192,96,224,224,96,192,49,128, + 14,0,8,13,13,10,1,0,254,103,99,99,99,103,126,96, + 96,96,96,96,240,10,13,26,11,0,0,255,128,193,128,96, + 128,48,0,24,0,12,0,12,0,8,0,16,0,32,64,64, + 192,255,128,255,128,10,13,26,12,1,0,255,192,204,192,140, + 64,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, + 0,12,0,30,0,12,13,26,13,0,0,248,240,112,96,48, + 192,24,192,29,128,15,0,15,0,6,0,6,0,6,0,6, + 0,6,0,15,0,6,13,13,8,1,252,60,124,192,128,128, + 128,192,120,60,4,4,60,56,13,13,26,14,0,0,7,0, + 24,192,48,96,112,112,96,48,96,48,96,48,96,48,48,96, + 56,224,136,136,248,248,248,248,10,13,26,12,1,0,127,128, + 127,128,64,128,0,0,33,0,63,0,63,0,33,0,0,0, + 128,64,128,64,255,192,255,192,14,13,26,15,0,0,199,140, + 99,24,99,24,99,24,99,24,51,48,31,224,3,0,3,0, + 3,0,3,0,3,0,7,128,9,13,26,11,1,0,255,128, + 195,128,131,0,7,0,6,0,14,0,28,0,24,0,56,0, + 112,0,96,128,225,128,255,128,4,17,17,6,1,252,240,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,240,10, + 9,18,14,2,0,12,0,12,0,0,0,0,0,0,0,0, + 0,0,0,192,192,192,192,4,17,17,6,1,252,240,48,48, + 48,48,48,48,48,48,48,48,48,48,48,48,48,240,10,13, + 26,12,1,0,12,0,12,0,12,0,12,0,12,0,12,0, + 12,0,12,0,12,0,12,0,12,0,255,192,255,192,9,2, + 4,9,0,252,255,128,255,128,10,1,2,9,9,13,255,192, + 11,9,18,12,1,0,60,192,101,128,195,0,195,0,195,0, + 195,0,195,0,101,32,56,192,8,18,18,10,1,252,60,70, + 198,198,198,204,198,195,195,195,195,195,230,220,192,192,192,192, + 10,13,26,10,0,252,96,192,241,192,145,128,19,0,23,0, + 14,0,12,0,28,0,26,0,50,0,98,64,227,192,193,128, + 7,14,14,9,1,0,56,76,64,96,48,56,108,198,198,198, + 198,198,108,56,6,9,9,8,1,0,120,236,204,192,112,192, + 192,228,120,9,16,32,11,1,252,8,0,8,0,8,0,62, + 0,107,0,201,128,201,128,201,128,201,128,201,128,107,0,62, + 0,8,0,8,0,8,0,8,0,8,13,13,8,0,252,195, + 227,163,38,38,22,20,28,12,24,24,24,24,9,13,26,11, + 1,252,103,0,233,128,177,128,49,128,49,128,49,128,49,128, + 49,128,49,128,1,128,1,128,1,128,1,128,5,9,9,6, + 1,0,96,224,96,96,96,96,96,104,112,9,13,26,11,1, + 252,102,0,207,0,201,128,201,128,201,128,201,128,73,0,107, + 0,62,0,8,0,8,0,8,0,8,0,9,9,18,10,0, + 0,99,128,229,128,104,0,112,0,120,0,108,0,102,0,99, + 0,97,128,10,14,28,10,0,0,48,0,120,0,72,0,8, + 0,8,0,8,0,24,0,28,0,52,0,52,0,102,0,98, + 64,195,192,193,128,9,13,26,11,2,252,66,0,198,0,198, + 0,198,0,198,0,198,0,198,128,251,128,123,0,64,0,192, + 0,192,0,192,0,8,9,9,10,1,0,195,195,97,98,50, + 52,28,24,8,8,9,9,10,1,0,60,102,195,195,195,195, + 195,102,60,9,9,18,10,0,0,127,128,255,128,146,0,18, + 0,18,0,18,0,50,128,115,128,99,0,8,13,13,10,1, + 0,60,102,195,195,195,195,255,195,195,195,195,102,60,8,13, + 13,10,1,252,60,70,195,195,195,195,195,230,220,192,192,192, + 192,10,9,18,11,1,0,31,192,127,192,102,0,195,0,195, + 0,195,0,195,0,102,0,60,0,7,9,9,8,0,0,126, + 254,144,16,16,16,18,30,28,9,9,18,11,1,0,99,0, + 241,128,177,128,49,128,49,128,49,128,49,128,59,0,30,0, + 11,11,22,12,0,0,63,224,127,224,153,128,48,192,32,64, + 102,96,102,96,102,96,102,96,54,192,57,192,10,9,18,12, + 1,0,51,0,97,128,64,128,204,192,204,192,204,192,204,192, + 109,128,115,128,7,19,19,9,1,251,96,142,252,32,64,64, + 124,120,192,128,128,128,192,252,126,2,2,30,28,13,13,26, + 13,0,252,226,56,114,112,50,96,50,96,50,96,50,96,26, + 192,26,192,15,128,2,0,2,0,2,0,2,0,7,19,19, + 9,1,251,96,134,158,120,96,64,128,128,128,128,128,128,192, + 252,126,2,2,30,28,7,17,17,9,1,252,14,24,48,48, + 48,48,48,96,192,96,48,48,48,48,48,24,14,2,17,17, + 4,1,252,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,7,17,17,9,1,252,224,48,24,24,24,24, + 24,12,6,12,24,24,24,24,24,48,224,8,3,3,10,1, + 4,115,255,206,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,255,255, + 255,255,255,255,255,255,11,13,26,12,0,0,225,192,115,32, + 58,96,28,96,12,0,12,0,12,0,12,0,12,0,12,0, + 12,0,12,0,30,0,4,5,5,5,1,9,48,112,96,192, + 128,9,12,24,10,0,0,3,128,15,0,60,0,240,0,192, + 0,240,0,60,0,15,0,3,128,0,0,255,128,255,128,8, + 13,13,5,255,0,3,6,6,12,12,24,24,48,48,96,96, + 192,192,12,5,10,13,0,3,121,224,207,48,134,16,207,48, + 121,224,9,17,34,9,0,252,3,128,5,128,12,0,12,0, + 12,0,127,0,24,0,24,0,24,0,24,0,24,0,24,0, + 24,0,24,0,24,0,208,0,224,0,10,9,18,14,2,0, + 12,0,30,0,30,0,30,0,109,128,255,192,255,192,109,128, + 12,0,9,9,18,13,2,0,8,0,28,0,62,0,127,0, + 255,128,127,0,62,0,28,0,8,0,9,9,18,13,2,0, + 99,0,247,128,255,128,255,128,127,0,127,0,62,0,28,0, + 8,0,10,9,18,14,2,0,12,0,30,0,63,0,127,128, + 255,192,255,192,109,128,12,0,12,0,17,8,24,19,1,1, + 24,12,0,48,6,0,96,3,0,255,255,128,255,255,128,96, + 3,0,48,6,0,24,12,0,18,8,24,18,0,1,24,0, + 0,48,0,0,96,0,0,255,255,192,255,255,192,96,0,0, + 48,0,0,24,0,0,8,19,19,10,1,251,24,60,126,219, + 153,24,24,24,24,24,24,24,24,24,24,24,24,24,24,18, + 8,24,18,0,1,0,6,0,0,3,0,0,1,128,255,255, + 192,255,255,192,0,1,128,0,3,0,0,6,0,8,19,19, + 10,1,251,24,24,24,24,24,24,24,24,24,24,24,24,24, + 24,153,219,126,60,24,5,6,6,7,1,7,112,248,216,216, + 248,112,8,11,11,10,1,0,24,24,24,255,255,24,24,24, + 0,255,255,8,5,5,8,0,9,51,119,102,204,136,9,12, + 24,10,0,0,224,0,120,0,30,0,7,128,1,128,7,128, + 30,0,120,0,224,0,0,0,255,128,255,128,10,9,18,10, + 0,0,225,192,115,128,51,0,30,0,12,0,30,0,51,0, + 115,128,225,192,11,5,10,12,0,3,121,224,207,0,134,0, + 207,0,121,224,7,14,14,9,1,0,120,204,134,6,6,6, + 62,102,198,198,198,196,236,120,5,6,6,9,2,2,112,248, + 248,248,248,112,8,8,8,10,1,1,24,24,0,255,255,0, + 24,24,8,9,9,10,1,0,12,12,255,255,24,255,255,48, + 48,8,8,8,10,1,1,255,255,0,255,255,0,255,255,8, + 7,7,10,1,2,115,255,206,0,115,255,206,14,2,4,18, + 2,0,195,12,195,12,2,19,19,10,4,251,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,19, + 2,6,19,0,4,255,255,224,255,255,224,9,12,24,12,1, + 0,1,128,1,128,1,128,1,128,1,128,1,128,33,128,97, + 128,255,128,255,128,96,0,32,0,11,13,26,13,1,0,194, + 0,227,192,113,224,56,224,57,128,125,0,207,0,199,0,227, + 0,115,128,49,192,112,192,240,64,10,15,30,13,1,255,31, + 192,63,192,96,128,65,0,66,0,34,0,19,0,3,128,1, + 192,0,192,0,192,112,192,248,128,31,0,14,0,13,14,28, + 15,1,0,121,192,254,224,142,112,134,48,198,96,118,128,54, + 64,38,96,6,96,6,96,6,96,6,96,108,120,184,48,12, + 15,30,14,1,252,12,0,24,0,49,224,103,48,204,48,216, + 48,214,48,246,96,100,224,119,192,179,128,152,0,152,0,216, + 0,112,0,12,13,26,14,1,0,31,128,57,192,96,96,217, + 176,221,176,143,16,134,16,143,16,219,176,217,176,96,96,57, + 192,31,128,12,13,26,14,1,0,31,128,57,192,102,96,198, + 48,198,48,191,208,191,208,134,16,198,48,198,48,96,96,57, + 192,31,128,12,13,26,14,1,0,31,176,57,240,96,96,192, + 240,193,176,131,16,134,16,140,16,216,48,240,48,96,96,249, + 192,223,128,12,9,18,14,1,0,31,128,57,192,96,96,224, + 112,192,48,192,48,192,48,192,48,192,48,12,9,18,14,1, + 0,192,48,192,48,192,48,192,48,192,48,224,112,96,96,57, + 192,31,128,12,9,18,13,1,0,255,128,255,224,0,96,0, + 48,0,48,0,48,0,96,255,224,255,128,12,12,24,13,0, + 253,255,128,255,224,0,96,0,48,0,48,0,48,0,96,255, + 224,255,128,0,0,255,240,255,240,12,13,26,13,0,254,0, + 96,0,192,31,240,127,240,97,128,195,0,195,0,198,0,102, + 0,127,240,31,240,24,0,48,0,12,9,18,13,0,0,31, + 240,127,240,96,0,192,0,192,0,192,0,96,0,127,240,31, + 240,12,12,24,13,0,253,31,240,127,240,96,0,192,0,192, + 0,192,0,96,0,127,240,31,240,0,0,255,240,255,240,9, + 9,18,12,1,0,31,128,127,128,224,0,192,0,255,128,192, + 0,224,0,127,128,31,128,10,11,22,12,1,255,0,128,31, + 192,127,192,226,0,196,0,255,128,200,0,240,0,127,192,63, + 192,64,0,13,13,26,14,0,0,0,24,0,48,0,96,0, + 192,1,128,3,0,6,0,12,0,24,0,48,0,96,0,192, + 0,255,248,11,13,26,13,1,0,255,224,224,32,96,96,96, + 64,112,192,48,128,48,128,57,128,25,0,27,0,14,0,14, + 0,4,0,13,13,26,15,1,0,31,192,56,224,96,48,223, + 24,205,152,205,152,205,152,207,24,205,152,220,216,96,48,56, + 224,31,192,13,13,26,15,1,0,31,192,56,224,96,48,199, + 152,205,152,204,152,204,24,204,24,204,152,199,24,96,48,56, + 224,31,192,14,8,16,16,1,5,251,28,171,24,35,24,34, + 168,34,168,34,168,34,72,119,92,14,16,32,15,0,254,255, + 252,120,120,48,48,48,48,48,48,48,48,48,48,48,48,48, + 48,48,48,48,48,48,48,48,48,48,48,120,120,252,252,9, + 14,28,10,0,0,0,128,0,128,0,128,0,128,48,128,113, + 0,217,0,25,0,25,0,13,0,14,0,6,0,6,0,6, + 0,2,2,2,4,1,4,192,192,11,6,12,13,1,0,255, + 224,255,224,0,96,0,96,0,96,0,96,10,9,18,11,0, + 0,12,0,12,0,30,0,51,0,51,0,97,128,97,128,192, + 192,192,192,10,9,18,11,0,0,192,192,192,192,97,128,97, + 128,51,0,51,0,30,0,12,0,12,0,18,9,27,18,0, + 0,8,4,0,24,6,0,63,255,0,127,255,128,224,1,192, + 127,255,128,63,255,0,24,6,0,8,4,0,16,9,18,18, + 1,0,8,0,24,0,63,255,127,255,224,0,127,255,63,255, + 24,0,8,0,9,17,34,11,1,253,8,0,28,0,54,0, + 119,0,247,128,54,0,54,0,54,0,54,0,54,0,54,0, + 54,0,54,0,54,0,54,0,54,0,54,0,16,9,18,18, + 1,0,0,16,0,24,255,252,255,254,0,7,255,254,255,252, + 0,24,0,16,9,17,34,11,1,253,54,0,54,0,54,0, + 54,0,54,0,54,0,54,0,54,0,54,0,54,0,54,0, + 54,0,247,128,119,0,54,0,28,0,8,0,9,14,28,9, + 0,0,28,0,28,0,54,0,54,0,99,0,99,0,193,128, + 193,128,99,0,99,0,54,0,54,0,28,0,28,0,5,17, + 17,6,0,253,24,24,48,48,96,96,192,192,128,192,192,96, + 96,48,48,24,24,13,13,26,15,1,0,31,192,56,224,96, + 48,207,24,205,152,205,152,207,24,205,152,205,152,205,152,96, + 48,56,224,31,192,13,13,26,15,1,0,31,192,56,224,96, + 48,199,24,204,152,204,24,204,24,204,24,204,152,199,24,96, + 48,56,224,31,192,13,8,16,15,1,5,251,24,35,24,35, + 24,34,168,34,168,34,168,34,72,34,72,12,16,32,13,0, + 254,255,224,224,96,112,32,56,0,28,0,14,0,7,0,3, + 0,6,0,12,0,24,0,48,0,96,16,192,48,255,240,255, + 240,6,19,19,7,1,251,4,12,24,24,48,48,96,96,96, + 96,192,192,192,192,192,192,192,192,192,2,19,19,7,1,251, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,6,19,19,7,1,251,192,192,192,192,192,192,192, + 192,192,224,96,96,96,48,48,24,24,12,4,5,19,19,7, + 1,251,248,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,2,19,19,7,1,251,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,5,19, + 19,7,1,251,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,248,5,19,19,9,4,251,56,96,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 5,19,19,9,1,251,24,24,24,24,24,24,16,48,96,192, + 96,48,16,24,24,24,24,24,24,5,19,19,9,4,251,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 96,56,2,19,19,9,4,251,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,255,5,17,17,6, + 0,253,192,192,96,96,48,48,24,24,8,24,24,48,48,96, + 96,192,192,6,19,19,6,0,251,28,28,48,48,48,48,48, + 48,48,48,48,48,48,48,48,48,48,224,224,7,19,19,13, + 5,251,28,126,102,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,2,19,19,13,5,251,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,7,19, + 19,13,0,251,6,6,6,6,6,6,6,6,6,6,6,6, + 6,6,6,6,204,252,112,6,19,19,7,0,251,128,192,96, + 96,48,48,24,24,24,24,12,12,12,12,12,12,12,12,12, + 2,19,19,7,4,251,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,6,19,19,7,0,251,12, + 12,12,12,12,12,12,12,12,24,24,24,24,48,48,96,96, + 192,128,5,19,19,7,1,251,248,24,24,24,24,24,24,24, + 24,24,24,24,24,24,24,24,24,24,24,2,19,19,7,4, + 251,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,5,19,19,7,1,251,24,24,24,24,24,24, + 24,24,24,24,24,24,24,24,24,24,24,24,248,5,19,19, + 9,1,251,224,48,24,24,24,24,24,24,24,24,24,24,24, + 24,24,24,24,24,24,5,19,19,9,4,251,192,192,192,192, + 192,192,64,96,48,24,48,96,64,192,192,192,192,192,192,5, + 19,19,9,1,251,24,24,24,24,24,24,24,24,24,24,24, + 24,24,24,24,24,24,48,224,255}; +/* + Fontname: -Adobe-Symbol-Medium-R-Normal--20-140-100-100-P-107-Adobe-FontSpecific + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 13, '1' Height: 13 + Calculated Max Values w=14 h=19 x= 9 y=13 dx=16 dy= 0 ascent=14 len=32 + Font Bounding box w=20 h=19 x=-1 y=-5 + Calculated Min Values x=-1 y=-5 dx= 0 dy= 0 + Pure Font ascent =13 descent=-4 + X Font ascent =13 descent=-4 + Max Font ascent =14 descent=-5 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_symb14r[2261] U8G_FONT_SECTION("u8g_font_symb14r") = { + 0,20,19,255,251,13,2,127,6,16,32,127,252,14,251,13, + 252,0,0,0,5,0,1,2,13,13,6,2,0,192,192,192, + 192,192,192,192,64,64,0,0,192,192,13,13,26,13,0,0, + 192,24,192,24,96,48,96,48,63,224,48,96,24,192,24,192, + 8,128,13,128,5,0,7,0,2,0,10,13,26,9,255,0, + 9,0,9,0,9,0,9,0,127,192,18,0,18,0,18,0, + 255,128,36,0,36,0,36,0,36,0,8,13,13,10,1,0, + 255,3,3,3,3,3,127,3,3,3,3,3,255,13,13,26, + 15,1,0,56,96,103,224,196,192,197,128,233,128,115,0,6, + 0,6,112,12,200,25,136,25,136,49,208,48,224,12,13,26, + 13,1,0,28,0,54,0,34,0,38,0,60,0,57,224,124, + 192,238,128,199,128,195,0,195,144,103,240,60,224,6,9,9, + 8,1,0,240,56,28,12,124,12,28,56,240,4,17,17,6, + 1,252,16,48,96,96,192,192,192,192,192,192,192,192,192,96, + 96,48,16,4,17,17,6,1,252,128,192,96,96,48,48,48, + 48,48,48,48,48,48,96,96,192,128,7,7,7,9,1,3, + 16,214,124,56,124,214,16,8,8,8,10,1,1,24,24,24, + 255,255,24,24,24,3,5,5,5,1,253,96,96,32,96,192, + 7,2,2,9,1,4,254,254,2,2,2,4,1,0,192,192, + 5,13,13,5,0,0,24,24,24,48,48,48,96,96,96,96, + 192,192,192,8,13,13,9,0,0,60,102,102,195,195,195,195, + 195,195,195,102,102,60,6,13,13,9,1,0,48,240,176,48, + 48,48,48,48,48,48,48,120,252,7,13,13,9,1,0,60, + 126,206,134,6,6,12,28,24,48,98,254,254,7,13,13,9, + 1,0,124,206,134,6,12,56,60,14,6,6,6,204,248,8, + 13,13,9,0,0,6,14,14,30,54,54,102,198,198,255,6, + 6,6,7,13,13,9,1,0,126,124,192,192,240,60,12,14, + 6,6,12,220,240,8,13,13,9,0,0,14,56,48,96,96, + 252,198,195,195,195,195,102,60,8,13,13,9,0,0,127,255, + 134,6,12,12,12,24,24,24,48,48,48,8,13,13,9,0, + 0,60,102,102,102,116,60,126,102,195,195,195,102,60,8,13, + 13,9,0,0,60,110,199,195,195,195,227,127,58,6,12,56, + 224,2,9,9,5,2,0,192,192,0,0,0,0,0,192,192, + 3,12,12,5,1,253,96,96,0,0,0,0,0,96,96,32, + 96,192,9,9,18,10,0,0,3,128,15,0,60,0,240,0, + 192,0,240,0,60,0,15,0,3,128,8,5,5,10,1,2, + 255,255,0,255,255,9,9,18,10,0,0,224,0,120,0,30, + 0,7,128,1,128,7,128,30,0,120,0,224,0,6,13,13, + 8,1,0,120,220,204,204,12,12,24,48,48,48,0,48,48, + 8,9,9,10,1,0,115,255,206,0,255,255,0,255,255,12, + 13,26,14,1,0,4,0,14,0,14,0,11,0,27,0,19, + 0,17,128,49,128,63,192,32,192,96,192,96,224,241,240,9, + 13,26,11,1,0,252,0,102,0,99,0,99,0,99,0,102, + 0,126,0,99,0,97,128,97,128,97,128,99,128,255,0,12, + 13,26,14,1,0,240,112,112,96,56,192,24,192,29,128,15, + 0,6,0,15,0,27,128,49,128,49,192,96,224,224,240,11, + 13,26,11,0,0,4,0,6,0,14,0,11,0,19,0,19, + 0,17,128,33,128,33,192,64,192,64,192,128,96,255,224,9, + 13,26,11,1,0,255,128,97,128,96,128,96,0,96,0,97, + 0,127,0,97,0,96,0,96,0,96,128,97,128,255,128,12, + 13,26,14,1,0,15,0,6,0,31,128,102,96,198,48,198, + 48,198,48,198,48,198,48,102,96,31,128,6,0,15,0,10, + 13,26,11,0,0,255,192,112,192,48,64,48,0,48,0,48, + 0,48,0,48,0,48,0,48,0,48,0,48,0,120,0,11, + 13,26,13,1,0,241,224,96,192,96,192,96,192,96,192,96, + 192,127,192,96,192,96,192,96,192,96,192,96,192,241,224,4, + 13,13,6,1,0,240,96,96,96,96,96,96,96,96,96,96, + 96,240,11,13,26,12,1,0,6,0,11,0,9,128,5,128, + 99,128,241,128,177,192,49,160,49,128,49,128,49,128,59,0, + 30,0,11,13,26,14,1,0,243,192,97,128,99,0,102,0, + 108,0,120,0,120,0,108,0,102,0,99,0,99,128,97,192, + 241,224,12,13,26,13,0,0,6,0,6,0,15,0,11,0, + 11,0,25,128,17,128,17,128,48,192,32,192,32,96,96,96, + 240,240,14,13,26,16,1,0,224,28,112,56,112,56,88,120, + 88,88,88,216,76,152,76,152,77,152,71,24,71,24,67,24, + 226,60,11,13,26,13,1,0,224,224,112,64,112,64,88,64, + 76,64,76,64,70,64,67,64,67,192,65,192,64,192,64,192, + 224,64,11,13,26,13,1,0,14,0,49,128,96,192,224,224, + 192,96,192,96,192,96,192,96,192,96,224,224,96,192,49,128, + 14,0,11,13,26,13,1,0,255,224,96,192,96,192,96,192, + 96,192,96,192,96,192,96,192,96,192,96,192,96,192,96,192, + 241,224,11,13,26,13,1,0,14,0,49,128,96,192,224,224, + 192,96,209,96,223,96,209,96,192,96,224,224,96,192,49,128, + 14,0,8,13,13,10,1,0,254,103,99,99,99,103,126,96, + 96,96,96,96,240,10,13,26,11,0,0,255,128,193,128,96, + 128,48,0,24,0,12,0,12,0,8,0,16,0,32,64,64, + 192,255,128,255,128,10,13,26,12,1,0,255,192,204,192,140, + 64,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, + 0,12,0,30,0,12,13,26,13,0,0,248,240,112,96,48, + 192,24,192,29,128,15,0,15,0,6,0,6,0,6,0,6, + 0,6,0,15,0,6,13,13,8,1,252,60,124,192,128,128, + 128,192,120,60,4,4,60,56,13,13,26,14,0,0,7,0, + 24,192,48,96,112,112,96,48,96,48,96,48,96,48,48,96, + 56,224,136,136,248,248,248,248,10,13,26,12,1,0,127,128, + 127,128,64,128,0,0,33,0,63,0,63,0,33,0,0,0, + 128,64,128,64,255,192,255,192,14,13,26,15,0,0,199,140, + 99,24,99,24,99,24,99,24,51,48,31,224,3,0,3,0, + 3,0,3,0,3,0,7,128,9,13,26,11,1,0,255,128, + 195,128,131,0,7,0,6,0,14,0,28,0,24,0,56,0, + 112,0,96,128,225,128,255,128,4,17,17,6,1,252,240,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,240,10, + 9,18,14,2,0,12,0,12,0,0,0,0,0,0,0,0, + 0,0,0,192,192,192,192,4,17,17,6,1,252,240,48,48, + 48,48,48,48,48,48,48,48,48,48,48,48,48,240,10,13, + 26,12,1,0,12,0,12,0,12,0,12,0,12,0,12,0, + 12,0,12,0,12,0,12,0,12,0,255,192,255,192,9,2, + 4,9,0,252,255,128,255,128,10,1,2,9,9,13,255,192, + 11,9,18,12,1,0,60,192,101,128,195,0,195,0,195,0, + 195,0,195,0,101,32,56,192,8,18,18,10,1,252,60,70, + 198,198,198,204,198,195,195,195,195,195,230,220,192,192,192,192, + 10,13,26,10,0,252,96,192,241,192,145,128,19,0,23,0, + 14,0,12,0,28,0,26,0,50,0,98,64,227,192,193,128, + 7,14,14,9,1,0,56,76,64,96,48,56,108,198,198,198, + 198,198,108,56,6,9,9,8,1,0,120,236,204,192,112,192, + 192,228,120,9,16,32,11,1,252,8,0,8,0,8,0,62, + 0,107,0,201,128,201,128,201,128,201,128,201,128,107,0,62, + 0,8,0,8,0,8,0,8,0,8,13,13,8,0,252,195, + 227,163,38,38,22,20,28,12,24,24,24,24,9,13,26,11, + 1,252,103,0,233,128,177,128,49,128,49,128,49,128,49,128, + 49,128,49,128,1,128,1,128,1,128,1,128,5,9,9,6, + 1,0,96,224,96,96,96,96,96,104,112,9,13,26,11,1, + 252,102,0,207,0,201,128,201,128,201,128,201,128,73,0,107, + 0,62,0,8,0,8,0,8,0,8,0,9,9,18,10,0, + 0,99,128,229,128,104,0,112,0,120,0,108,0,102,0,99, + 0,97,128,10,14,28,10,0,0,48,0,120,0,72,0,8, + 0,8,0,8,0,24,0,28,0,52,0,52,0,102,0,98, + 64,195,192,193,128,9,13,26,11,2,252,66,0,198,0,198, + 0,198,0,198,0,198,0,198,128,251,128,123,0,64,0,192, + 0,192,0,192,0,8,9,9,10,1,0,195,195,97,98,50, + 52,28,24,8,8,9,9,10,1,0,60,102,195,195,195,195, + 195,102,60,9,9,18,10,0,0,127,128,255,128,146,0,18, + 0,18,0,18,0,50,128,115,128,99,0,8,13,13,10,1, + 0,60,102,195,195,195,195,255,195,195,195,195,102,60,8,13, + 13,10,1,252,60,70,195,195,195,195,195,230,220,192,192,192, + 192,10,9,18,11,1,0,31,192,127,192,102,0,195,0,195, + 0,195,0,195,0,102,0,60,0,7,9,9,8,0,0,126, + 254,144,16,16,16,18,30,28,9,9,18,11,1,0,99,0, + 241,128,177,128,49,128,49,128,49,128,49,128,59,0,30,0, + 11,11,22,12,0,0,63,224,127,224,153,128,48,192,32,64, + 102,96,102,96,102,96,102,96,54,192,57,192,10,9,18,12, + 1,0,51,0,97,128,64,128,204,192,204,192,204,192,204,192, + 109,128,115,128,7,19,19,9,1,251,96,142,252,32,64,64, + 124,120,192,128,128,128,192,252,126,2,2,30,28,13,13,26, + 13,0,252,226,56,114,112,50,96,50,96,50,96,50,96,26, + 192,26,192,15,128,2,0,2,0,2,0,2,0,7,19,19, + 9,1,251,96,134,158,120,96,64,128,128,128,128,128,128,192, + 252,126,2,2,30,28,7,17,17,9,1,252,14,24,48,48, + 48,48,48,96,192,96,48,48,48,48,48,24,14,2,17,17, + 4,1,252,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,7,17,17,9,1,252,224,48,24,24,24,24, + 24,12,6,12,24,24,24,24,24,48,224,8,3,3,10,1, + 4,115,255,206,255}; +/* + Fontname: -Adobe-Symbol-Medium-R-Normal--25-180-100-100-P-142-Adobe-FontSpecific + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 17, '1' Height: 17 + Calculated Max Values w=25 h=24 x=13 y=18 dx=26 dy= 0 ascent=19 len=63 + Font Bounding box w=27 h=24 x=-1 y=-5 + Calculated Min Values x=-1 y=-5 dx= 0 dy= 0 + Pure Font ascent =17 descent=-5 + X Font ascent =17 descent=-5 + Max Font ascent =19 descent=-5 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_symb18[6604] U8G_FONT_SECTION("u8g_font_symb18") = { + 0,27,24,255,251,17,3,215,8,151,32,255,251,19,251,17, + 251,0,0,0,6,0,1,3,17,17,7,2,0,64,224,224, + 224,224,224,224,224,64,64,64,64,0,0,0,192,192,15,17, + 34,17,1,0,192,6,192,6,96,12,96,12,63,248,63,248, + 48,24,24,48,24,48,12,96,12,96,12,96,6,192,6,192, + 3,128,3,128,3,128,11,17,34,13,1,0,8,128,8,128, + 8,128,8,128,8,128,127,224,127,224,17,0,17,0,17,0, + 255,192,255,192,34,0,34,0,34,0,34,0,34,0,11,17, + 34,13,1,0,255,224,255,224,0,96,0,96,0,96,0,96, + 0,96,255,224,255,224,0,96,0,96,0,96,0,96,0,96, + 0,96,255,224,255,224,18,17,51,20,1,0,31,6,0,57, + 254,0,113,12,0,99,24,0,227,24,0,198,48,0,206,96, + 0,220,96,0,120,199,128,1,142,192,1,156,192,3,56,192, + 6,48,192,6,49,128,12,51,128,24,55,0,24,30,0,15, + 17,34,17,1,0,7,128,12,192,24,64,24,64,24,192,29, + 128,15,62,30,28,62,24,103,48,195,160,193,224,192,192,193, + 224,227,114,126,62,60,28,8,13,13,11,2,0,248,62,14, + 7,3,3,127,3,3,7,14,62,248,6,22,22,8,1,251, + 12,24,48,32,96,96,64,192,192,192,192,192,192,192,192,64, + 96,96,32,48,24,12,6,22,22,8,1,251,192,96,48,16, + 24,24,8,12,12,12,12,12,12,12,12,8,24,24,16,48, + 96,192,8,10,10,12,2,7,24,24,195,231,24,24,231,195, + 24,24,10,10,20,12,1,2,12,0,12,0,12,0,12,0, + 255,192,255,192,12,0,12,0,12,0,12,0,3,6,6,6, + 1,252,96,96,32,96,192,128,11,2,4,13,1,6,255,224, + 255,224,2,2,2,6,2,0,192,192,7,17,17,7,0,0, + 6,6,6,12,12,12,24,24,48,48,48,96,96,96,192,192, + 192,10,17,34,12,1,0,30,0,51,0,97,128,97,128,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,97,128,97,128,51,0,30,0,6,17,17,12,3,0,48, + 112,240,48,48,48,48,48,48,48,48,48,48,48,48,48,252, + 10,17,34,12,1,0,28,0,127,0,103,0,131,128,129,128, + 1,128,1,128,3,128,3,0,7,0,12,0,12,0,24,0, + 48,0,96,64,255,192,255,128,9,17,34,12,1,0,28,0, + 126,0,71,0,131,0,131,0,6,0,12,0,30,0,7,0, + 3,0,1,128,1,128,1,128,3,0,199,0,254,0,120,0, + 10,17,34,12,1,0,3,0,7,0,7,0,15,0,11,0, + 27,0,19,0,51,0,35,0,99,0,67,0,255,192,255,192, + 3,0,3,0,3,0,3,0,10,17,34,12,1,0,31,192, + 63,128,96,0,96,0,192,0,240,0,252,0,30,0,7,0, + 3,128,1,128,1,128,1,128,1,128,195,0,254,0,124,0, + 10,17,34,12,1,0,3,192,14,0,56,0,112,0,96,0, + 224,0,207,0,243,128,225,128,192,192,192,192,192,192,192,192, + 224,192,97,192,115,128,31,0,10,17,34,12,1,0,127,192, + 255,192,192,192,129,128,1,128,3,0,3,0,3,0,6,0, + 6,0,6,0,12,0,12,0,12,0,24,0,24,0,24,0, + 10,17,34,12,1,0,30,0,51,0,97,128,97,128,97,128, + 51,0,30,0,30,0,55,0,115,128,225,192,192,192,192,192, + 192,192,225,192,115,128,30,0,10,17,34,12,1,0,30,0, + 115,128,97,128,192,192,192,192,192,192,192,192,192,192,97,192, + 115,192,30,192,1,128,3,128,7,0,14,0,60,0,240,0, + 2,11,11,6,2,0,192,192,0,0,0,0,0,0,0,192, + 192,3,15,15,6,1,252,96,96,0,0,0,0,0,0,0, + 96,96,32,96,192,128,12,12,24,13,0,1,0,112,1,224, + 7,128,30,0,120,0,224,0,224,0,120,0,30,0,7,128, + 1,224,0,112,10,5,10,12,1,4,255,192,255,192,0,0, + 255,192,255,192,12,12,24,13,0,1,224,0,120,0,30,0, + 7,128,1,224,0,112,0,112,1,224,7,128,30,0,120,0, + 224,0,8,17,17,11,2,0,124,198,131,195,199,6,14,12, + 28,24,24,16,16,0,0,48,48,11,12,24,13,1,1,56, + 32,124,96,199,192,131,128,0,0,0,0,255,224,255,224,0, + 0,0,0,255,224,255,224,17,17,51,18,0,0,0,128,0, + 1,192,0,1,192,0,1,64,0,3,96,0,2,96,0,2, + 48,0,6,48,0,4,48,0,12,24,0,8,24,0,15,252, + 0,24,12,0,16,12,0,48,6,0,48,6,0,248,15,128, + 13,17,34,15,1,0,255,192,48,224,48,112,48,48,48,48, + 48,48,48,48,48,96,63,192,48,112,48,56,48,24,48,24, + 48,24,48,56,48,112,255,192,16,17,34,18,1,0,248,31, + 112,14,56,12,28,24,12,48,14,96,7,192,3,128,3,128, + 7,192,6,96,12,112,24,48,24,24,48,28,112,14,248,31, + 15,17,34,15,0,0,3,0,3,0,3,128,5,128,4,192, + 12,192,8,96,8,96,24,48,16,48,48,24,32,24,32,12, + 96,12,64,6,192,6,255,254,13,17,34,15,1,0,255,240, + 48,48,48,16,48,0,48,0,48,0,48,32,48,32,63,224, + 48,32,48,32,48,0,48,0,48,0,48,8,48,24,255,248, + 16,17,34,19,1,0,7,224,1,128,1,128,15,240,57,156, + 97,134,225,135,193,131,193,131,193,131,225,135,97,134,57,156, + 15,240,1,128,1,128,7,224,13,17,34,15,1,0,255,248, + 48,24,48,8,48,0,48,0,48,0,48,0,48,0,48,0, + 48,0,48,0,48,0,48,0,48,0,48,0,48,0,252,0, + 16,17,34,18,1,0,252,63,48,12,48,12,48,12,48,12, + 48,12,48,12,48,12,63,252,48,12,48,12,48,12,48,12, + 48,12,48,12,48,12,252,63,6,17,17,8,1,0,252,48, + 48,48,48,48,48,48,48,48,48,48,48,48,48,48,252,14, + 17,34,16,1,0,3,192,6,224,4,96,6,96,3,48,113, + 176,248,240,152,60,24,48,24,48,48,48,48,48,48,48,48, + 96,56,96,28,192,15,128,15,17,34,17,1,0,252,124,48, + 48,48,96,48,192,49,128,51,0,54,0,62,0,63,0,51, + 128,49,128,49,192,48,224,48,112,48,56,48,28,252,62,15, + 17,34,17,1,0,3,0,3,0,3,128,5,128,4,192,4, + 192,12,192,8,96,8,96,24,96,16,48,16,48,48,48,32, + 24,32,24,96,28,248,62,20,17,51,22,1,0,240,1,240, + 56,1,192,56,3,192,60,2,192,44,2,192,46,6,192,38, + 4,192,39,12,192,35,8,192,35,136,192,33,152,192,33,208, + 192,32,208,192,32,240,192,32,96,192,32,96,192,248,67,240, + 16,17,34,18,1,0,240,31,56,4,56,4,44,4,46,4, + 38,4,35,4,35,4,33,132,33,196,32,196,32,100,32,100, + 32,52,32,60,32,28,248,12,16,17,34,18,1,0,7,224, + 30,120,56,28,112,14,96,6,192,3,192,3,192,3,192,3, + 192,3,192,3,192,3,96,6,112,14,56,28,28,56,7,224, + 16,17,34,18,1,0,255,255,48,12,48,12,48,12,48,12, + 48,12,48,12,48,12,48,12,48,12,48,12,48,12,48,12, + 48,12,48,12,48,12,252,63,16,17,34,18,1,0,7,224, + 30,120,56,28,112,14,96,6,200,19,200,19,207,243,207,243, + 200,19,200,19,192,3,96,6,112,14,56,28,28,56,7,224, + 12,17,34,14,1,0,255,128,48,224,48,96,48,48,48,48, + 48,48,48,96,48,224,63,128,48,0,48,0,48,0,48,0, + 48,0,48,0,48,0,252,0,12,17,34,14,1,0,255,240, + 224,16,112,16,56,0,28,0,14,0,7,0,3,128,3,0, + 6,0,12,0,24,0,48,0,96,16,192,16,255,240,255,240, + 14,17,34,16,1,0,255,252,195,12,131,4,3,0,3,0, + 3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0, + 3,0,3,0,3,0,15,192,16,17,34,16,0,0,248,31, + 112,14,48,12,24,24,28,16,12,48,14,96,6,96,3,192, + 3,192,1,128,1,128,1,128,1,128,1,128,1,128,7,224, + 9,18,36,11,1,251,31,128,63,128,96,0,96,0,192,0, + 192,0,192,0,192,0,192,0,192,0,96,0,127,0,31,128, + 0,128,0,128,1,128,15,0,14,0,16,17,34,18,1,0, + 7,224,30,120,56,28,112,14,96,6,192,3,192,3,192,3, + 192,3,192,3,96,6,48,12,24,24,140,49,196,35,252,63, + 252,63,14,17,34,16,1,0,127,248,127,248,64,8,64,8, + 0,0,16,32,16,32,31,224,31,224,16,32,16,32,0,0, + 0,0,128,4,128,4,255,252,255,252,18,17,51,20,1,0, + 227,241,192,112,195,128,48,195,0,48,195,0,56,199,0,56, + 199,0,24,198,0,28,206,0,7,248,0,0,192,0,0,192, + 0,0,192,0,0,192,0,0,192,0,0,192,0,0,192,0, + 3,240,0,12,17,34,15,1,0,255,240,192,112,128,96,0, + 224,1,192,1,128,3,128,7,0,6,0,14,0,28,0,56, + 0,56,0,112,0,96,16,224,48,255,240,5,22,22,8,2, + 251,248,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,248,12,10,20,18,3,0,6,0,6, + 0,0,0,0,0,0,0,0,0,0,0,0,0,192,48,192, + 48,5,22,22,8,1,251,248,24,24,24,24,24,24,24,24, + 24,24,24,24,24,24,24,24,24,24,24,24,248,14,17,34, + 16,1,0,3,0,3,0,3,0,3,0,3,0,3,0,3, + 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, + 0,255,252,255,252,13,2,4,13,0,251,255,248,255,248,13, + 1,2,13,13,18,255,248,14,13,26,16,1,0,31,24,113, + 184,96,176,224,240,192,96,192,96,192,96,192,96,192,96,224, + 224,96,228,113,252,31,56,10,24,48,12,1,251,62,0,103, + 0,195,128,193,128,193,128,195,128,195,0,206,0,207,0,195, + 128,193,128,193,192,192,192,192,192,192,192,193,192,225,128,243, + 128,223,0,192,0,192,0,192,0,192,0,192,0,12,18,36, + 14,1,251,112,96,248,96,216,192,136,192,9,128,9,128,11, + 0,7,0,6,0,6,0,14,0,14,0,25,0,25,0,49, + 16,49,176,97,240,96,224,10,18,36,12,1,0,31,0,51, + 128,33,128,48,0,56,0,28,0,14,0,63,0,115,128,97, + 128,192,192,192,192,192,192,192,192,192,192,97,128,115,128,30, + 0,9,13,26,11,1,0,62,0,115,0,227,0,195,0,224, + 0,96,0,60,0,96,0,224,0,192,0,224,128,113,128,63, + 0,12,22,44,14,1,251,6,0,6,0,6,0,6,0,31, + 128,54,192,102,96,230,112,198,48,198,48,198,48,198,48,198, + 48,230,112,102,96,54,192,31,128,6,0,6,0,6,0,6, + 0,6,0,11,18,36,11,0,251,112,96,248,96,152,96,152, + 192,24,192,12,192,13,128,13,128,5,128,7,0,7,0,3, + 0,6,0,6,0,6,0,6,0,6,0,6,0,12,18,36, + 15,1,251,113,192,251,224,158,48,28,48,24,48,24,48,24, + 48,24,48,24,48,24,48,24,48,24,48,24,48,0,48,0, + 48,0,48,0,48,0,48,7,13,13,8,1,0,48,112,240, + 48,48,48,48,48,48,48,50,62,28,12,18,36,14,1,251, + 51,128,115,192,102,96,198,112,198,48,198,48,198,48,198,48, + 198,48,230,112,102,96,54,192,31,128,6,0,6,0,6,0, + 6,0,6,0,12,13,26,14,1,0,48,112,112,240,241,176, + 51,0,54,0,60,0,60,0,62,0,55,0,51,128,49,192, + 48,224,49,240,12,19,38,14,1,0,112,0,248,0,136,0, + 8,0,8,0,12,0,12,0,12,0,28,0,30,0,26,0, + 50,0,50,0,51,0,97,0,97,0,97,144,193,240,192,224, + 13,18,36,14,1,251,96,192,96,192,96,192,96,192,96,192, + 96,192,96,192,96,192,96,192,96,192,113,200,63,248,111,48, + 96,0,96,0,96,0,96,0,192,0,11,13,26,13,1,0, + 192,224,192,224,192,96,96,64,96,192,96,128,49,128,49,0, + 51,0,26,0,26,0,14,0,12,0,11,13,26,13,1,0, + 31,0,113,192,96,192,224,224,192,96,192,96,192,96,192,96, + 192,96,224,224,96,192,113,192,31,0,13,13,26,14,0,0, + 127,248,255,248,152,192,24,192,24,192,24,192,24,192,24,192, + 24,192,24,192,24,200,56,248,48,240,10,17,34,12,1,0, + 30,0,51,0,97,128,97,128,192,192,192,192,192,192,192,192, + 255,192,192,192,192,192,192,192,192,192,97,128,97,128,51,0, + 30,0,10,18,36,12,1,251,62,0,99,128,193,128,193,192, + 192,192,192,192,192,192,192,192,192,192,193,192,193,128,227,128, + 222,0,192,0,192,0,192,0,192,0,192,0,14,13,26,15, + 1,0,31,252,113,252,96,192,224,224,192,96,192,96,192,96, + 192,96,192,96,224,224,96,192,113,192,31,0,10,13,26,11, + 0,0,63,192,127,192,204,0,140,0,12,0,12,0,12,0, + 12,0,12,0,12,0,12,128,15,128,7,0,13,13,26,14, + 0,0,48,224,120,48,216,24,152,24,24,24,24,24,24,24, + 24,24,24,24,24,48,12,48,14,224,7,192,16,14,28,18, + 1,0,127,255,255,255,152,24,48,12,49,140,97,134,97,134, + 97,134,97,134,97,134,97,134,49,140,59,220,30,120,14,13, + 26,16,1,0,24,96,48,48,96,24,99,24,195,12,195,12, + 195,12,195,12,195,12,195,12,99,24,119,184,60,240,10,24, + 48,12,1,251,48,0,99,128,103,128,63,0,48,0,32,0, + 55,128,31,128,48,0,96,0,192,0,128,0,128,0,128,0, + 192,0,240,0,124,0,63,128,15,192,0,192,0,64,0,192, + 15,128,15,0,16,18,36,18,1,251,193,131,113,142,49,140, + 57,156,57,156,57,156,57,156,57,156,57,156,25,152,25,152, + 13,176,7,224,1,128,1,128,1,128,1,128,1,128,10,24, + 48,12,1,251,48,0,99,128,103,128,63,0,24,0,48,0, + 32,0,96,0,64,0,192,0,128,0,128,0,128,0,128,0, + 192,0,240,0,124,0,63,128,15,192,0,192,0,64,0,192, + 15,128,15,0,8,22,22,10,1,251,7,12,24,24,24,24, + 24,16,48,32,192,32,48,16,24,24,24,24,24,24,12,7, + 2,22,22,4,1,251,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,8,22,22,10, + 1,251,224,48,24,24,24,24,24,8,12,4,3,4,12,8, + 24,24,24,24,24,24,48,224,11,4,8,13,1,5,56,32, + 124,96,199,192,131,128,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, + 255,255,255,255,255,255,255,255,13,17,34,15,1,0,224,112, + 112,216,57,184,27,48,14,0,6,0,6,0,6,0,6,0, + 6,0,6,0,6,0,6,0,6,0,6,0,6,0,31,128, + 5,6,6,6,1,12,24,56,112,96,192,128,12,15,30,14, + 0,0,0,112,1,224,7,128,30,0,120,0,224,0,224,0, + 120,0,30,0,3,192,0,240,0,48,0,0,255,240,255,240, + 8,17,17,4,255,0,3,3,6,6,12,12,24,24,24,48, + 48,96,96,96,192,192,192,15,7,14,17,1,4,56,56,124, + 124,198,198,195,134,199,198,124,124,56,56,13,22,44,13,0, + 251,0,240,1,152,1,152,3,0,3,0,3,0,31,192,6, + 0,6,0,6,0,6,0,6,0,6,0,6,0,6,0,6, + 0,6,0,6,0,6,0,204,0,204,0,120,0,14,13,26, + 18,2,0,7,128,15,192,15,192,15,192,15,192,119,184,251, + 124,255,252,255,252,251,124,115,56,3,0,7,128,10,13,26, + 18,4,0,12,0,30,0,63,0,63,0,127,128,127,128,255, + 192,127,128,127,128,63,0,30,0,30,0,12,0,12,13,26, + 18,3,0,112,224,249,240,255,240,255,240,255,240,255,240,127, + 224,127,224,63,192,31,128,31,128,15,0,6,0,12,13,26, + 18,3,0,6,0,15,0,31,128,31,128,63,192,127,224,127, + 224,255,240,255,240,246,240,102,96,6,0,6,0,24,12,36, + 26,1,1,6,0,96,12,0,48,24,0,24,48,0,12,96, + 0,6,255,255,255,255,255,255,96,0,6,48,0,12,24,0, + 24,12,0,48,6,0,96,25,12,48,25,0,1,6,0,0, + 0,12,0,0,0,24,0,0,0,48,0,0,0,96,0,0, + 0,255,255,255,128,255,255,255,128,96,0,0,0,48,0,0, + 0,24,0,0,0,12,0,0,0,6,0,0,0,12,24,48, + 14,1,251,6,0,15,0,31,128,54,192,102,96,198,48,6, + 0,6,0,6,0,6,0,6,0,6,0,6,0,6,0,6, + 0,6,0,6,0,6,0,6,0,6,0,6,0,6,0,6, + 0,6,0,25,12,48,25,0,1,0,0,48,0,0,0,24, + 0,0,0,12,0,0,0,6,0,0,0,3,0,255,255,255, + 128,255,255,255,128,0,0,3,0,0,0,6,0,0,0,12, + 0,0,0,24,0,0,0,48,0,12,24,48,14,1,251,6, + 0,6,0,6,0,6,0,6,0,6,0,6,0,6,0,6, + 0,6,0,6,0,6,0,6,0,6,0,6,0,6,0,6, + 0,6,0,198,48,102,96,54,192,31,128,15,0,6,0,7, + 7,7,9,1,10,56,108,198,198,198,108,56,10,14,28,12, + 1,0,12,0,12,0,12,0,12,0,255,192,255,192,12,0, + 12,0,12,0,12,0,0,0,0,0,255,192,255,192,9,6, + 12,10,1,12,25,128,59,128,119,0,102,0,204,0,136,0, + 12,15,30,14,0,0,224,0,120,0,30,0,7,128,1,224, + 0,112,0,112,1,224,7,128,62,0,240,0,192,0,0,0, + 255,240,255,240,11,10,20,13,1,2,192,96,96,192,49,128, + 27,0,14,0,14,0,27,0,49,128,96,192,192,96,14,7, + 14,16,1,4,56,56,124,124,198,192,195,128,199,192,124,124, + 56,56,10,19,38,12,1,0,62,0,99,0,193,128,1,128, + 0,192,0,192,0,192,0,192,30,192,115,192,97,192,192,192, + 192,192,193,128,193,128,193,128,227,0,119,0,62,0,8,8, + 8,12,2,3,60,126,255,255,255,255,126,60,10,8,16,12, + 1,3,12,0,12,0,0,0,255,192,255,192,0,0,12,0, + 12,0,10,13,26,14,2,0,1,128,1,128,3,0,3,0, + 255,192,255,192,12,0,255,192,255,192,48,0,48,0,96,0, + 96,0,11,8,16,13,1,3,255,224,255,224,0,0,255,224, + 255,224,0,0,255,224,255,224,11,8,16,13,1,3,56,32, + 124,96,199,192,131,128,56,32,124,96,199,192,131,128,18,2, + 6,24,3,0,192,192,192,192,192,192,2,24,24,14,6,251, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,25,2,8,25,0,6,255,255, + 255,128,255,255,255,128,14,16,32,16,1,0,0,12,0,12, + 0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, + 32,12,96,12,255,252,255,252,96,0,32,0,12,16,32,14, + 1,0,129,128,195,0,227,240,113,240,56,96,28,192,60,128, + 110,128,199,128,195,128,227,128,241,192,112,224,48,112,112,48, + 224,16,14,19,38,16,1,255,15,128,63,252,112,248,96,48, + 64,96,64,192,96,192,48,224,28,112,0,56,0,56,0,28, + 0,28,0,12,48,12,120,12,222,24,15,240,3,192,17,18, + 54,19,1,0,30,24,0,63,60,0,99,206,0,193,135,0, + 129,131,0,193,134,0,225,140,0,113,184,0,57,176,0,25, + 152,0,17,152,0,1,152,0,1,156,0,1,140,0,1,140, + 0,25,134,128,63,7,128,78,7,0,15,20,40,19,2,251, + 6,0,12,0,24,60,48,254,49,134,99,6,102,6,108,6, + 104,12,121,156,115,152,114,48,122,112,91,224,221,128,140,0, + 140,0,140,0,216,0,112,0,16,17,34,18,1,0,7,224, + 30,120,56,28,96,6,104,22,204,51,198,99,195,195,193,131, + 195,195,198,99,204,51,104,22,96,6,56,28,30,120,7,224, + 16,17,34,18,1,0,7,224,30,120,56,28,97,134,97,134, + 193,131,193,131,207,243,207,243,193,131,193,131,193,131,97,134, + 96,6,56,28,30,120,7,224,18,17,51,20,1,0,3,240, + 192,15,253,128,28,15,0,48,7,0,48,15,0,96,25,128, + 96,49,128,96,97,128,96,193,128,97,129,128,99,1,128,102, + 1,128,60,3,0,56,3,0,60,14,0,111,252,0,195,240, + 0,16,13,26,18,1,0,7,224,31,248,56,28,96,6,96, + 6,192,3,192,3,192,3,192,3,192,3,192,3,192,3,192, + 3,16,13,26,18,1,0,192,3,192,3,192,3,192,3,192, + 3,192,3,192,3,192,3,96,6,96,6,56,28,31,248,7, + 224,15,12,24,17,1,0,255,224,255,248,0,28,0,12,0, + 6,0,6,0,6,0,6,0,12,0,28,255,248,255,224,15, + 15,30,17,1,253,255,224,255,248,0,28,0,12,0,6,0, + 6,0,6,0,6,0,12,0,28,255,248,255,224,0,0,255, + 254,255,254,15,16,32,17,1,254,0,12,0,12,15,254,63, + 254,112,48,96,48,192,96,192,96,192,192,192,192,97,128,113, + 128,63,254,15,254,6,0,6,0,15,12,24,17,1,0,15, + 254,63,254,112,0,96,0,192,0,192,0,192,0,192,0,96, + 0,112,0,63,254,15,254,15,15,30,17,1,253,15,254,63, + 254,112,0,96,0,192,0,192,0,192,0,192,0,96,0,112, + 0,63,254,15,254,0,0,255,254,255,254,12,13,26,16,2, + 0,31,240,127,240,96,0,192,0,192,0,192,0,255,240,192, + 0,192,0,192,0,96,0,127,240,31,240,12,15,30,16,2, + 255,0,192,31,240,127,240,97,128,193,128,195,0,195,0,255, + 240,198,0,198,0,204,0,108,0,127,240,31,240,24,0,17, + 16,48,19,1,0,0,1,128,0,3,0,0,6,0,0,12, + 0,0,24,0,0,48,0,0,96,0,0,192,0,1,128,0, + 3,0,0,6,0,0,12,0,0,24,0,0,48,0,0,127, + 255,128,255,255,128,16,18,36,18,1,0,255,255,192,3,192, + 2,96,6,96,4,48,12,48,8,48,24,24,16,24,48,12, + 32,12,32,6,96,6,64,3,192,3,192,1,128,1,128,16, + 17,34,18,1,0,7,224,30,120,56,28,96,6,111,230,198, + 115,198,51,198,115,199,227,198,195,198,99,198,51,111,62,96, + 6,56,28,30,120,7,224,16,17,34,18,1,0,7,224,30, + 120,56,28,96,6,99,230,198,99,204,35,204,3,204,3,204, + 3,204,3,206,51,103,230,99,198,56,28,30,120,7,224,20, + 10,30,22,1,7,255,96,112,153,96,96,24,112,224,24,112, + 224,24,89,96,24,89,96,24,78,96,24,78,96,24,70,96, + 60,230,240,17,21,63,19,1,253,255,255,128,48,6,0,48, + 6,0,48,6,0,48,6,0,48,6,0,48,6,0,48,6, + 0,48,6,0,48,6,0,48,6,0,48,6,0,48,6,0, + 48,6,0,48,6,0,48,6,0,48,6,0,48,6,0,48, + 6,0,48,6,0,252,31,128,14,19,38,14,0,0,0,12, + 0,12,0,8,0,8,0,24,48,24,112,16,216,16,24,16, + 12,48,12,48,6,32,6,32,3,32,3,96,1,192,1,192, + 0,192,0,192,2,2,2,6,2,6,192,192,15,8,16,17, + 1,0,255,254,255,254,0,6,0,6,0,6,0,6,0,6, + 0,6,13,12,24,15,1,0,7,0,7,0,13,128,13,128, + 24,192,24,192,48,96,48,96,96,48,96,48,192,24,192,24, + 13,12,24,15,1,0,192,24,192,24,96,48,96,48,48,96, + 48,96,24,192,24,192,13,128,13,128,7,0,7,0,23,12, + 36,25,1,0,6,0,192,12,0,96,24,0,48,63,255,248, + 127,255,252,224,0,14,224,0,14,127,255,252,63,255,248,24, + 0,48,12,0,96,6,0,192,23,12,36,25,1,0,6,0, + 0,12,0,0,24,0,0,63,255,254,127,255,254,224,0,0, + 224,0,0,127,255,254,63,255,254,24,0,0,12,0,0,6, + 0,0,12,19,38,14,1,0,6,0,15,0,31,128,57,192, + 121,224,217,176,25,128,25,128,25,128,25,128,25,128,25,128, + 25,128,25,128,25,128,25,128,25,128,25,128,25,128,23,12, + 36,25,1,0,0,0,192,0,0,96,0,0,48,255,255,248, + 255,255,252,0,0,14,0,0,14,255,255,252,255,255,248,0, + 0,48,0,0,96,0,0,192,12,19,38,14,1,0,25,128, + 25,128,25,128,25,128,25,128,25,128,25,128,25,128,25,128, + 25,128,25,128,25,128,25,128,217,176,121,224,57,192,31,128, + 15,0,6,0,10,18,36,12,1,0,12,0,30,0,30,0, + 51,0,51,0,97,128,97,128,192,192,192,192,192,192,192,192, + 97,128,97,128,51,0,51,0,30,0,30,0,12,0,7,22, + 22,8,0,251,6,6,12,12,24,24,48,48,96,96,192,192, + 96,96,48,48,24,24,12,12,6,6,16,17,34,18,1,0, + 7,224,30,120,56,28,96,6,103,230,198,51,198,51,198,51, + 199,227,198,99,198,51,198,51,102,50,96,6,56,28,30,120, + 7,224,16,17,34,18,1,0,7,224,30,120,56,28,96,6, + 99,198,198,99,204,35,204,3,200,3,200,3,204,3,204,35, + 102,102,99,198,56,28,30,120,7,224,18,10,30,20,1,7, + 254,192,192,24,192,192,24,225,192,24,225,192,24,243,192,24, + 210,192,24,222,192,24,204,192,24,204,192,24,204,192,14,20, + 40,18,2,254,255,248,224,24,112,8,56,0,28,0,14,0, + 7,0,3,128,1,192,0,192,1,128,3,0,6,0,12,0, + 24,0,48,0,96,4,192,12,255,252,255,252,9,24,48,10, + 1,251,1,128,3,0,6,0,12,0,24,0,24,0,48,0, + 48,0,96,0,96,0,96,0,96,0,192,0,192,0,192,0, + 192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, + 192,0,2,24,24,10,1,251,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 9,24,48,10,1,251,192,0,192,0,192,0,192,0,192,0, + 192,0,192,0,192,0,192,0,192,0,192,0,192,0,96,0, + 96,0,96,0,96,0,48,0,48,0,24,0,24,0,12,0, + 6,0,3,0,1,128,7,24,24,10,1,251,254,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,2,24,24,10,1,251,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,7,24,24,10,1,251,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,254, + 7,24,24,12,5,251,30,48,96,96,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,5,24, + 24,12,2,251,24,24,24,24,24,24,24,24,16,48,96,192, + 96,48,16,24,24,24,24,24,24,24,24,24,7,24,24,12, + 5,251,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,96,96,48,30,2,24,24,12,5,251, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,255,7,22,22,8,1,251,192, + 192,96,96,48,48,24,24,12,12,6,6,12,12,24,24,48, + 48,96,96,192,192,8,24,24,8,0,251,7,15,27,24,24, + 24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24, + 216,240,224,8,24,24,17,8,251,14,27,51,32,96,64,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,2,24,24,17,8,251,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,8, + 24,24,17,2,251,3,3,3,3,3,3,3,3,3,3,3, + 3,3,3,3,3,3,3,3,2,6,204,216,112,9,24,48, + 10,0,251,192,0,96,0,48,0,24,0,12,0,12,0,6, + 0,6,0,3,0,3,0,3,0,3,0,1,128,1,128,1, + 128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1, + 128,1,128,2,24,24,10,7,251,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,9,24,48,10,0,251,1,128,1,128,1,128,1,128,1, + 128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,3, + 0,3,0,3,0,3,0,6,0,6,0,12,0,12,0,24, + 0,48,0,96,0,192,0,7,24,24,10,2,251,254,6,6, + 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, + 6,6,6,6,6,2,24,24,10,7,251,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,7,24,24,10,2,251,6,6,6,6,6,6,6, + 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, + 254,7,24,24,12,0,251,240,24,12,12,6,6,6,6,6, + 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,5, + 24,24,12,5,251,192,192,192,192,192,192,192,192,64,96,48, + 24,48,96,64,192,192,192,192,192,192,192,192,192,7,24,24, + 12,0,251,6,6,6,6,6,6,6,6,6,6,6,6,6, + 6,6,6,6,6,6,6,12,12,24,240,255}; +/* + Fontname: -Adobe-Symbol-Medium-R-Normal--25-180-100-100-P-142-Adobe-FontSpecific + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 17, '1' Height: 17 + Calculated Max Values w=20 h=24 x=13 y=18 dx=22 dy= 0 ascent=19 len=51 + Font Bounding box w=27 h=24 x=-1 y=-5 + Calculated Min Values x= 0 y=-5 dx= 0 dy= 0 + Pure Font ascent =17 descent=-5 + X Font ascent =17 descent=-5 + Max Font ascent =19 descent=-5 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_symb18r[3303] U8G_FONT_SECTION("u8g_font_symb18r") = { + 0,27,24,255,251,17,3,215,8,151,32,127,251,19,251,17, + 251,0,0,0,6,0,1,3,17,17,7,2,0,64,224,224, + 224,224,224,224,224,64,64,64,64,0,0,0,192,192,15,17, + 34,17,1,0,192,6,192,6,96,12,96,12,63,248,63,248, + 48,24,24,48,24,48,12,96,12,96,12,96,6,192,6,192, + 3,128,3,128,3,128,11,17,34,13,1,0,8,128,8,128, + 8,128,8,128,8,128,127,224,127,224,17,0,17,0,17,0, + 255,192,255,192,34,0,34,0,34,0,34,0,34,0,11,17, + 34,13,1,0,255,224,255,224,0,96,0,96,0,96,0,96, + 0,96,255,224,255,224,0,96,0,96,0,96,0,96,0,96, + 0,96,255,224,255,224,18,17,51,20,1,0,31,6,0,57, + 254,0,113,12,0,99,24,0,227,24,0,198,48,0,206,96, + 0,220,96,0,120,199,128,1,142,192,1,156,192,3,56,192, + 6,48,192,6,49,128,12,51,128,24,55,0,24,30,0,15, + 17,34,17,1,0,7,128,12,192,24,64,24,64,24,192,29, + 128,15,62,30,28,62,24,103,48,195,160,193,224,192,192,193, + 224,227,114,126,62,60,28,8,13,13,11,2,0,248,62,14, + 7,3,3,127,3,3,7,14,62,248,6,22,22,8,1,251, + 12,24,48,32,96,96,64,192,192,192,192,192,192,192,192,64, + 96,96,32,48,24,12,6,22,22,8,1,251,192,96,48,16, + 24,24,8,12,12,12,12,12,12,12,12,8,24,24,16,48, + 96,192,8,10,10,12,2,7,24,24,195,231,24,24,231,195, + 24,24,10,10,20,12,1,2,12,0,12,0,12,0,12,0, + 255,192,255,192,12,0,12,0,12,0,12,0,3,6,6,6, + 1,252,96,96,32,96,192,128,11,2,4,13,1,6,255,224, + 255,224,2,2,2,6,2,0,192,192,7,17,17,7,0,0, + 6,6,6,12,12,12,24,24,48,48,48,96,96,96,192,192, + 192,10,17,34,12,1,0,30,0,51,0,97,128,97,128,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,97,128,97,128,51,0,30,0,6,17,17,12,3,0,48, + 112,240,48,48,48,48,48,48,48,48,48,48,48,48,48,252, + 10,17,34,12,1,0,28,0,127,0,103,0,131,128,129,128, + 1,128,1,128,3,128,3,0,7,0,12,0,12,0,24,0, + 48,0,96,64,255,192,255,128,9,17,34,12,1,0,28,0, + 126,0,71,0,131,0,131,0,6,0,12,0,30,0,7,0, + 3,0,1,128,1,128,1,128,3,0,199,0,254,0,120,0, + 10,17,34,12,1,0,3,0,7,0,7,0,15,0,11,0, + 27,0,19,0,51,0,35,0,99,0,67,0,255,192,255,192, + 3,0,3,0,3,0,3,0,10,17,34,12,1,0,31,192, + 63,128,96,0,96,0,192,0,240,0,252,0,30,0,7,0, + 3,128,1,128,1,128,1,128,1,128,195,0,254,0,124,0, + 10,17,34,12,1,0,3,192,14,0,56,0,112,0,96,0, + 224,0,207,0,243,128,225,128,192,192,192,192,192,192,192,192, + 224,192,97,192,115,128,31,0,10,17,34,12,1,0,127,192, + 255,192,192,192,129,128,1,128,3,0,3,0,3,0,6,0, + 6,0,6,0,12,0,12,0,12,0,24,0,24,0,24,0, + 10,17,34,12,1,0,30,0,51,0,97,128,97,128,97,128, + 51,0,30,0,30,0,55,0,115,128,225,192,192,192,192,192, + 192,192,225,192,115,128,30,0,10,17,34,12,1,0,30,0, + 115,128,97,128,192,192,192,192,192,192,192,192,192,192,97,192, + 115,192,30,192,1,128,3,128,7,0,14,0,60,0,240,0, + 2,11,11,6,2,0,192,192,0,0,0,0,0,0,0,192, + 192,3,15,15,6,1,252,96,96,0,0,0,0,0,0,0, + 96,96,32,96,192,128,12,12,24,13,0,1,0,112,1,224, + 7,128,30,0,120,0,224,0,224,0,120,0,30,0,7,128, + 1,224,0,112,10,5,10,12,1,4,255,192,255,192,0,0, + 255,192,255,192,12,12,24,13,0,1,224,0,120,0,30,0, + 7,128,1,224,0,112,0,112,1,224,7,128,30,0,120,0, + 224,0,8,17,17,11,2,0,124,198,131,195,199,6,14,12, + 28,24,24,16,16,0,0,48,48,11,12,24,13,1,1,56, + 32,124,96,199,192,131,128,0,0,0,0,255,224,255,224,0, + 0,0,0,255,224,255,224,17,17,51,18,0,0,0,128,0, + 1,192,0,1,192,0,1,64,0,3,96,0,2,96,0,2, + 48,0,6,48,0,4,48,0,12,24,0,8,24,0,15,252, + 0,24,12,0,16,12,0,48,6,0,48,6,0,248,15,128, + 13,17,34,15,1,0,255,192,48,224,48,112,48,48,48,48, + 48,48,48,48,48,96,63,192,48,112,48,56,48,24,48,24, + 48,24,48,56,48,112,255,192,16,17,34,18,1,0,248,31, + 112,14,56,12,28,24,12,48,14,96,7,192,3,128,3,128, + 7,192,6,96,12,112,24,48,24,24,48,28,112,14,248,31, + 15,17,34,15,0,0,3,0,3,0,3,128,5,128,4,192, + 12,192,8,96,8,96,24,48,16,48,48,24,32,24,32,12, + 96,12,64,6,192,6,255,254,13,17,34,15,1,0,255,240, + 48,48,48,16,48,0,48,0,48,0,48,32,48,32,63,224, + 48,32,48,32,48,0,48,0,48,0,48,8,48,24,255,248, + 16,17,34,19,1,0,7,224,1,128,1,128,15,240,57,156, + 97,134,225,135,193,131,193,131,193,131,225,135,97,134,57,156, + 15,240,1,128,1,128,7,224,13,17,34,15,1,0,255,248, + 48,24,48,8,48,0,48,0,48,0,48,0,48,0,48,0, + 48,0,48,0,48,0,48,0,48,0,48,0,48,0,252,0, + 16,17,34,18,1,0,252,63,48,12,48,12,48,12,48,12, + 48,12,48,12,48,12,63,252,48,12,48,12,48,12,48,12, + 48,12,48,12,48,12,252,63,6,17,17,8,1,0,252,48, + 48,48,48,48,48,48,48,48,48,48,48,48,48,48,252,14, + 17,34,16,1,0,3,192,6,224,4,96,6,96,3,48,113, + 176,248,240,152,60,24,48,24,48,48,48,48,48,48,48,48, + 96,56,96,28,192,15,128,15,17,34,17,1,0,252,124,48, + 48,48,96,48,192,49,128,51,0,54,0,62,0,63,0,51, + 128,49,128,49,192,48,224,48,112,48,56,48,28,252,62,15, + 17,34,17,1,0,3,0,3,0,3,128,5,128,4,192,4, + 192,12,192,8,96,8,96,24,96,16,48,16,48,48,48,32, + 24,32,24,96,28,248,62,20,17,51,22,1,0,240,1,240, + 56,1,192,56,3,192,60,2,192,44,2,192,46,6,192,38, + 4,192,39,12,192,35,8,192,35,136,192,33,152,192,33,208, + 192,32,208,192,32,240,192,32,96,192,32,96,192,248,67,240, + 16,17,34,18,1,0,240,31,56,4,56,4,44,4,46,4, + 38,4,35,4,35,4,33,132,33,196,32,196,32,100,32,100, + 32,52,32,60,32,28,248,12,16,17,34,18,1,0,7,224, + 30,120,56,28,112,14,96,6,192,3,192,3,192,3,192,3, + 192,3,192,3,192,3,96,6,112,14,56,28,28,56,7,224, + 16,17,34,18,1,0,255,255,48,12,48,12,48,12,48,12, + 48,12,48,12,48,12,48,12,48,12,48,12,48,12,48,12, + 48,12,48,12,48,12,252,63,16,17,34,18,1,0,7,224, + 30,120,56,28,112,14,96,6,200,19,200,19,207,243,207,243, + 200,19,200,19,192,3,96,6,112,14,56,28,28,56,7,224, + 12,17,34,14,1,0,255,128,48,224,48,96,48,48,48,48, + 48,48,48,96,48,224,63,128,48,0,48,0,48,0,48,0, + 48,0,48,0,48,0,252,0,12,17,34,14,1,0,255,240, + 224,16,112,16,56,0,28,0,14,0,7,0,3,128,3,0, + 6,0,12,0,24,0,48,0,96,16,192,16,255,240,255,240, + 14,17,34,16,1,0,255,252,195,12,131,4,3,0,3,0, + 3,0,3,0,3,0,3,0,3,0,3,0,3,0,3,0, + 3,0,3,0,3,0,15,192,16,17,34,16,0,0,248,31, + 112,14,48,12,24,24,28,16,12,48,14,96,6,96,3,192, + 3,192,1,128,1,128,1,128,1,128,1,128,1,128,7,224, + 9,18,36,11,1,251,31,128,63,128,96,0,96,0,192,0, + 192,0,192,0,192,0,192,0,192,0,96,0,127,0,31,128, + 0,128,0,128,1,128,15,0,14,0,16,17,34,18,1,0, + 7,224,30,120,56,28,112,14,96,6,192,3,192,3,192,3, + 192,3,192,3,96,6,48,12,24,24,140,49,196,35,252,63, + 252,63,14,17,34,16,1,0,127,248,127,248,64,8,64,8, + 0,0,16,32,16,32,31,224,31,224,16,32,16,32,0,0, + 0,0,128,4,128,4,255,252,255,252,18,17,51,20,1,0, + 227,241,192,112,195,128,48,195,0,48,195,0,56,199,0,56, + 199,0,24,198,0,28,206,0,7,248,0,0,192,0,0,192, + 0,0,192,0,0,192,0,0,192,0,0,192,0,0,192,0, + 3,240,0,12,17,34,15,1,0,255,240,192,112,128,96,0, + 224,1,192,1,128,3,128,7,0,6,0,14,0,28,0,56, + 0,56,0,112,0,96,16,224,48,255,240,5,22,22,8,2, + 251,248,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,248,12,10,20,18,3,0,6,0,6, + 0,0,0,0,0,0,0,0,0,0,0,0,0,192,48,192, + 48,5,22,22,8,1,251,248,24,24,24,24,24,24,24,24, + 24,24,24,24,24,24,24,24,24,24,24,24,248,14,17,34, + 16,1,0,3,0,3,0,3,0,3,0,3,0,3,0,3, + 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, + 0,255,252,255,252,13,2,4,13,0,251,255,248,255,248,13, + 1,2,13,13,18,255,248,14,13,26,16,1,0,31,24,113, + 184,96,176,224,240,192,96,192,96,192,96,192,96,192,96,224, + 224,96,228,113,252,31,56,10,24,48,12,1,251,62,0,103, + 0,195,128,193,128,193,128,195,128,195,0,206,0,207,0,195, + 128,193,128,193,192,192,192,192,192,192,192,193,192,225,128,243, + 128,223,0,192,0,192,0,192,0,192,0,192,0,12,18,36, + 14,1,251,112,96,248,96,216,192,136,192,9,128,9,128,11, + 0,7,0,6,0,6,0,14,0,14,0,25,0,25,0,49, + 16,49,176,97,240,96,224,10,18,36,12,1,0,31,0,51, + 128,33,128,48,0,56,0,28,0,14,0,63,0,115,128,97, + 128,192,192,192,192,192,192,192,192,192,192,97,128,115,128,30, + 0,9,13,26,11,1,0,62,0,115,0,227,0,195,0,224, + 0,96,0,60,0,96,0,224,0,192,0,224,128,113,128,63, + 0,12,22,44,14,1,251,6,0,6,0,6,0,6,0,31, + 128,54,192,102,96,230,112,198,48,198,48,198,48,198,48,198, + 48,230,112,102,96,54,192,31,128,6,0,6,0,6,0,6, + 0,6,0,11,18,36,11,0,251,112,96,248,96,152,96,152, + 192,24,192,12,192,13,128,13,128,5,128,7,0,7,0,3, + 0,6,0,6,0,6,0,6,0,6,0,6,0,12,18,36, + 15,1,251,113,192,251,224,158,48,28,48,24,48,24,48,24, + 48,24,48,24,48,24,48,24,48,24,48,24,48,0,48,0, + 48,0,48,0,48,0,48,7,13,13,8,1,0,48,112,240, + 48,48,48,48,48,48,48,50,62,28,12,18,36,14,1,251, + 51,128,115,192,102,96,198,112,198,48,198,48,198,48,198,48, + 198,48,230,112,102,96,54,192,31,128,6,0,6,0,6,0, + 6,0,6,0,12,13,26,14,1,0,48,112,112,240,241,176, + 51,0,54,0,60,0,60,0,62,0,55,0,51,128,49,192, + 48,224,49,240,12,19,38,14,1,0,112,0,248,0,136,0, + 8,0,8,0,12,0,12,0,12,0,28,0,30,0,26,0, + 50,0,50,0,51,0,97,0,97,0,97,144,193,240,192,224, + 13,18,36,14,1,251,96,192,96,192,96,192,96,192,96,192, + 96,192,96,192,96,192,96,192,96,192,113,200,63,248,111,48, + 96,0,96,0,96,0,96,0,192,0,11,13,26,13,1,0, + 192,224,192,224,192,96,96,64,96,192,96,128,49,128,49,0, + 51,0,26,0,26,0,14,0,12,0,11,13,26,13,1,0, + 31,0,113,192,96,192,224,224,192,96,192,96,192,96,192,96, + 192,96,224,224,96,192,113,192,31,0,13,13,26,14,0,0, + 127,248,255,248,152,192,24,192,24,192,24,192,24,192,24,192, + 24,192,24,192,24,200,56,248,48,240,10,17,34,12,1,0, + 30,0,51,0,97,128,97,128,192,192,192,192,192,192,192,192, + 255,192,192,192,192,192,192,192,192,192,97,128,97,128,51,0, + 30,0,10,18,36,12,1,251,62,0,99,128,193,128,193,192, + 192,192,192,192,192,192,192,192,192,192,193,192,193,128,227,128, + 222,0,192,0,192,0,192,0,192,0,192,0,14,13,26,15, + 1,0,31,252,113,252,96,192,224,224,192,96,192,96,192,96, + 192,96,192,96,224,224,96,192,113,192,31,0,10,13,26,11, + 0,0,63,192,127,192,204,0,140,0,12,0,12,0,12,0, + 12,0,12,0,12,0,12,128,15,128,7,0,13,13,26,14, + 0,0,48,224,120,48,216,24,152,24,24,24,24,24,24,24, + 24,24,24,24,24,48,12,48,14,224,7,192,16,14,28,18, + 1,0,127,255,255,255,152,24,48,12,49,140,97,134,97,134, + 97,134,97,134,97,134,97,134,49,140,59,220,30,120,14,13, + 26,16,1,0,24,96,48,48,96,24,99,24,195,12,195,12, + 195,12,195,12,195,12,195,12,99,24,119,184,60,240,10,24, + 48,12,1,251,48,0,99,128,103,128,63,0,48,0,32,0, + 55,128,31,128,48,0,96,0,192,0,128,0,128,0,128,0, + 192,0,240,0,124,0,63,128,15,192,0,192,0,64,0,192, + 15,128,15,0,16,18,36,18,1,251,193,131,113,142,49,140, + 57,156,57,156,57,156,57,156,57,156,57,156,25,152,25,152, + 13,176,7,224,1,128,1,128,1,128,1,128,1,128,10,24, + 48,12,1,251,48,0,99,128,103,128,63,0,24,0,48,0, + 32,0,96,0,64,0,192,0,128,0,128,0,128,0,128,0, + 192,0,240,0,124,0,63,128,15,192,0,192,0,64,0,192, + 15,128,15,0,8,22,22,10,1,251,7,12,24,24,24,24, + 24,16,48,32,192,32,48,16,24,24,24,24,24,24,12,7, + 2,22,22,4,1,251,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,8,22,22,10, + 1,251,224,48,24,24,24,24,24,8,12,4,3,4,12,8, + 24,24,24,24,24,24,48,224,11,4,8,13,1,5,56,32, + 124,96,199,192,131,128,255}; +/* + Fontname: -Adobe-Symbol-Medium-R-Normal--34-240-100-100-P-191-Adobe-FontSpecific + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 23, '1' Height: 23 + Calculated Max Values w=32 h=34 x=15 y=26 dx=34 dy= 0 ascent=27 len=108 + Font Bounding box w=40 h=34 x=-5 y=-7 + Calculated Min Values x=-5 y=-7 dx= 0 dy= 0 + Pure Font ascent =23 descent=-7 + X Font ascent =23 descent=-7 + Max Font ascent =27 descent=-7 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_symb24[10727] U8G_FONT_SECTION("u8g_font_symb24") = { + 0,40,34,251,249,23,5,133,13,247,32,255,249,27,249,23, + 249,0,0,0,8,0,1,4,23,23,11,4,0,96,240,240, + 240,240,240,96,96,96,96,96,96,96,96,96,96,0,0,0, + 96,240,240,96,20,24,72,23,1,0,192,0,48,192,0,48, + 192,0,96,96,0,96,96,0,96,48,0,192,48,0,192,63, + 255,192,31,255,128,24,1,128,12,3,0,12,3,0,12,3, + 0,6,6,0,6,6,0,3,12,0,3,12,0,3,12,0, + 1,152,0,1,152,0,0,240,0,0,240,0,0,240,0,0, + 96,0,14,23,46,16,1,0,6,48,6,48,6,48,6,48, + 12,96,12,96,12,96,127,252,127,252,12,96,12,96,12,96, + 24,192,24,192,24,192,255,248,255,248,24,192,24,192,49,128, + 49,128,49,128,49,128,15,24,48,18,0,0,255,254,255,254, + 0,6,0,6,0,6,0,6,0,6,0,6,0,6,0,6, + 0,6,63,254,63,254,0,6,0,6,0,6,0,6,0,6, + 0,6,0,6,0,6,0,6,255,254,255,254,23,23,69,27, + 2,255,7,192,96,30,225,192,60,63,192,56,33,128,112,33, + 128,112,35,0,240,98,0,224,70,0,224,204,0,224,204,0, + 97,152,0,119,16,124,62,48,238,0,97,198,0,99,130,0, + 199,2,0,135,2,1,142,6,3,14,4,3,14,12,6,14, + 24,14,7,48,12,3,224,23,22,66,25,1,0,0,248,0, + 3,140,0,3,6,0,7,6,0,7,6,0,7,6,0,7, + 12,0,7,152,0,3,241,252,3,192,112,7,192,96,29,224, + 96,56,240,192,112,240,128,96,121,128,224,63,0,224,30,0, + 224,31,0,240,31,130,248,55,238,127,227,252,31,128,248,12, + 17,34,14,1,0,126,0,127,128,7,192,1,224,0,224,0, + 240,0,112,0,112,63,240,63,240,0,112,0,112,0,224,1, + 224,3,192,255,0,124,0,8,29,29,11,2,250,3,7,6, + 12,24,48,48,112,112,96,96,224,224,224,224,224,224,224,96, + 96,112,112,48,48,24,12,6,7,3,8,29,29,11,1,250, + 192,224,96,48,24,12,12,14,14,6,6,7,7,7,7,7, + 7,7,6,6,14,14,12,12,24,48,96,224,192,11,14,28, + 16,2,4,4,0,14,0,14,0,196,96,228,224,127,192,31, + 0,31,0,127,192,228,224,196,96,14,0,14,0,4,0,16, + 18,36,18,1,0,1,128,1,128,1,128,1,128,1,128,1, + 128,1,128,1,128,255,255,255,255,1,128,1,128,1,128,1, + 128,1,128,1,128,1,128,1,128,4,9,9,8,2,251,96, + 240,240,240,16,48,96,224,192,17,2,6,18,0,8,255,255, + 128,255,255,128,4,4,4,8,2,0,96,240,240,96,7,22, + 22,9,1,0,2,2,6,6,4,12,12,8,24,24,16,48, + 48,32,32,96,64,64,192,192,128,128,14,23,46,16,1,0, + 15,192,28,224,56,112,48,48,112,56,112,56,96,24,224,28, + 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, + 96,24,112,56,112,56,48,48,56,112,28,224,15,192,9,23, + 46,16,4,0,4,0,28,0,252,0,220,0,28,0,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,0,62,0, + 255,128,14,23,46,16,1,0,15,128,31,192,63,224,97,240, + 192,240,192,112,128,112,0,112,0,112,0,96,0,96,0,192, + 0,192,1,128,3,0,3,0,6,0,12,0,24,0,48,12, + 112,24,127,248,255,240,13,23,46,16,1,0,15,128,63,224, + 113,224,64,224,192,96,128,96,0,96,0,192,0,192,1,128, + 7,192,15,224,1,240,0,112,0,120,0,56,0,56,0,56, + 0,48,0,48,96,96,121,192,127,128,15,23,46,16,0,0, + 0,48,0,112,0,112,0,240,1,240,1,240,3,112,6,112, + 6,112,12,112,24,112,24,112,48,112,32,112,96,112,192,112, + 255,254,255,254,0,112,0,112,0,112,0,112,0,112,13,23, + 46,16,1,0,15,248,15,240,31,240,16,0,48,0,32,0, + 126,0,127,128,127,192,15,224,3,224,0,240,0,112,0,112, + 0,112,0,48,0,48,0,48,0,112,0,96,224,192,251,128, + 254,0,14,23,46,16,1,0,0,56,1,224,3,128,7,0, + 14,0,28,0,56,0,56,0,112,0,119,192,255,240,240,120, + 224,56,224,60,224,28,224,28,224,28,224,28,112,28,112,56, + 56,56,28,112,15,192,13,23,46,16,1,0,127,248,127,248, + 127,248,192,24,128,48,0,48,0,48,0,96,0,96,0,96, + 0,192,0,192,0,192,1,192,1,128,1,128,1,128,3,0, + 3,0,3,0,6,0,6,0,6,0,12,23,46,16,2,0, + 31,128,113,192,96,224,224,96,192,96,224,96,224,224,112,192, + 121,192,63,0,31,0,31,128,63,192,115,192,96,224,224,240, + 192,112,192,112,224,112,224,112,96,96,121,192,31,128,14,23, + 46,16,1,0,15,128,56,224,48,112,96,56,224,56,224,56, + 224,60,224,28,224,28,224,28,240,28,112,28,120,124,63,252, + 15,56,0,56,0,112,0,240,0,224,1,192,7,128,30,0, + 112,0,4,15,15,9,2,0,96,240,240,96,0,0,0,0, + 0,0,0,96,240,240,96,4,20,20,9,3,251,96,240,240, + 96,0,0,0,0,0,0,0,96,240,240,240,16,48,96,224, + 192,16,16,32,18,1,1,0,7,0,31,0,124,1,240,7, + 128,30,0,120,0,224,0,224,0,120,0,30,0,7,128,1, + 240,0,124,0,31,0,7,17,8,24,18,0,5,255,255,128, + 255,255,128,0,0,0,0,0,0,0,0,0,0,0,0,255, + 255,128,255,255,128,16,16,32,18,1,1,224,0,248,0,62, + 0,15,128,1,224,0,120,0,30,0,7,0,7,0,30,0, + 120,1,224,15,128,62,0,248,0,224,0,11,23,46,14,2, + 0,63,0,99,128,193,192,192,224,192,224,224,224,192,224,1, + 224,1,192,1,128,3,128,3,0,6,0,6,0,4,0,4, + 0,4,0,0,0,0,0,12,0,30,0,30,0,12,0,17, + 16,48,18,0,0,30,1,0,63,195,128,96,255,0,64,28, + 0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,128, + 255,255,128,0,0,0,0,0,0,0,0,0,0,0,0,255, + 255,128,255,255,128,21,23,69,23,0,0,0,32,0,0,112, + 0,0,112,0,0,112,0,0,248,0,0,248,0,0,188,0, + 1,188,0,1,156,0,3,30,0,3,14,0,2,15,0,6, + 15,0,6,7,0,12,7,128,15,255,128,8,3,128,24,3, + 192,24,1,192,48,1,224,48,1,224,112,1,240,252,7,248, + 18,23,69,22,1,0,255,224,0,63,254,0,28,31,0,28, + 7,0,28,7,128,28,7,128,28,7,128,28,7,128,28,7, + 0,28,15,0,28,62,0,31,248,0,28,31,0,28,7,128, + 28,3,128,28,3,192,28,3,192,28,3,192,28,3,192,28, + 7,128,28,15,128,63,255,0,255,248,0,22,23,69,23,0, + 0,255,195,252,63,0,224,31,0,192,15,1,192,7,129,128, + 7,195,0,3,198,0,1,230,0,1,236,0,0,248,0,0, + 120,0,0,120,0,0,124,0,0,222,0,1,158,0,1,143, + 0,3,15,128,6,7,128,14,3,192,12,3,224,24,1,224, + 56,1,240,254,7,252,19,22,66,20,0,0,0,96,0,0, + 96,0,0,240,0,0,240,0,0,240,0,1,248,0,1,56, + 0,3,60,0,2,60,0,6,28,0,4,30,0,12,14,0, + 12,15,0,8,15,0,24,7,0,16,7,128,48,3,128,32, + 3,192,96,3,192,64,1,192,255,255,224,255,255,224,18,23, + 69,20,1,0,255,255,128,63,255,128,28,3,128,28,1,128, + 28,1,128,28,0,0,28,0,0,28,2,0,28,2,0,28, + 2,0,28,14,0,31,254,0,28,6,0,28,2,0,28,2, + 0,28,0,0,28,0,0,28,0,64,28,0,64,28,0,192, + 28,1,192,63,255,128,255,255,128,23,23,69,25,1,0,1, + 255,0,0,124,0,0,56,0,0,56,0,7,255,192,31,57, + 240,60,56,120,120,56,60,120,56,60,240,56,30,240,56,30, + 240,56,30,240,56,30,240,56,30,120,56,28,120,56,60,60, + 56,120,31,57,240,7,255,192,0,56,0,0,56,0,0,124, + 0,1,255,0,18,23,69,20,1,0,255,255,128,63,255,192, + 60,1,192,28,0,192,28,0,64,28,0,64,28,0,0,28, + 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, + 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,0, + 28,0,0,28,0,0,28,0,0,62,0,0,255,128,0,22, + 23,69,24,1,0,255,135,252,62,1,240,28,0,224,28,0, + 224,28,0,224,28,0,224,28,0,224,28,0,224,28,0,224, + 28,0,224,28,0,224,31,255,224,28,0,224,28,0,224,28, + 0,224,28,0,224,28,0,224,28,0,224,28,0,224,28,0, + 224,28,0,224,62,1,240,255,135,252,9,23,46,11,1,0, + 255,128,62,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,28,0,28,0,28,0,28,0,62,0,255,128,20,23, + 69,20,0,0,0,120,0,0,220,0,0,134,0,0,135,0, + 0,131,0,0,195,128,0,67,128,28,99,128,62,57,128,126, + 29,128,199,7,128,199,1,224,6,1,176,14,1,128,14,1, + 128,14,1,128,14,3,128,14,3,0,14,3,0,14,7,0, + 7,6,0,3,156,0,1,248,0,22,23,69,23,1,0,255, + 143,240,62,3,192,28,3,128,28,3,0,28,6,0,28,12, + 0,28,24,0,28,48,0,28,96,0,29,192,0,31,224,0, + 31,224,0,30,240,0,28,120,0,28,124,0,28,62,0,28, + 31,0,28,15,128,28,7,128,28,3,192,28,1,224,62,1, + 240,255,143,252,21,22,66,22,0,0,0,32,0,0,48,0, + 0,112,0,0,112,0,0,248,0,0,248,0,0,188,0,1, + 188,0,1,156,0,1,30,0,3,14,0,3,15,0,2,15, + 0,6,7,0,6,7,128,12,3,128,12,3,192,8,3,192, + 24,1,192,24,1,224,56,1,240,254,7,248,27,23,92,29, + 1,0,254,0,15,224,30,0,15,128,31,0,15,0,31,0, + 31,0,31,0,31,0,31,128,55,0,27,128,55,0,27,192, + 39,0,27,192,103,0,25,224,103,0,25,224,199,0,24,224, + 199,0,24,240,135,0,24,113,135,0,24,121,135,0,24,123, + 7,0,24,63,7,0,24,63,7,0,24,30,7,0,24,30, + 7,0,24,12,7,0,56,12,15,128,255,12,63,224,22,23, + 69,23,1,0,252,3,252,62,0,96,30,0,96,31,0,96, + 31,128,96,31,192,96,27,192,96,25,224,96,25,240,96,24, + 240,96,24,120,96,24,60,96,24,60,96,24,30,96,24,15, + 96,24,15,224,24,7,224,24,3,224,24,1,224,24,1,224, + 24,0,224,56,0,96,255,0,32,22,23,69,23,1,0,1, + 254,0,7,135,128,14,1,192,28,0,224,60,0,240,120,0, + 112,120,0,120,112,0,56,240,0,60,240,0,60,240,0,60, + 240,0,60,240,0,60,240,0,60,240,0,60,112,0,56,120, + 0,120,56,0,112,60,0,240,28,0,224,14,1,192,7,207, + 128,1,254,0,23,23,69,25,1,0,255,255,254,63,255,248, + 28,0,112,28,0,112,28,0,112,28,0,112,28,0,112,28, + 0,112,28,0,112,28,0,112,28,0,112,28,0,112,28,0, + 112,28,0,112,28,0,112,28,0,112,28,0,112,28,0,112, + 28,0,112,28,0,112,28,0,112,62,0,248,255,131,254,22, + 23,69,24,1,0,1,254,0,7,135,128,14,1,192,28,0, + 224,60,0,240,56,0,112,120,0,120,112,0,56,112,0,56, + 242,1,60,243,3,60,243,255,60,243,255,60,243,3,60,242, + 1,60,112,0,56,112,0,56,120,0,120,56,0,112,28,0, + 224,14,1,192,7,135,128,1,254,0,17,23,69,18,1,0, + 255,240,0,63,254,0,28,15,0,28,7,128,28,7,128,28, + 3,128,28,3,128,28,3,128,28,3,128,28,7,128,28,7, + 0,30,62,0,31,252,0,28,0,0,28,0,0,28,0,0, + 28,0,0,28,0,0,28,0,0,28,0,0,28,0,0,62, + 0,0,255,128,0,18,23,69,19,1,0,255,255,0,255,255, + 0,120,3,0,60,1,0,62,1,128,30,0,0,15,0,0, + 7,128,0,7,192,0,3,192,0,1,224,0,0,192,0,1, + 192,0,1,128,0,3,0,0,6,0,0,12,0,64,28,0, + 192,24,0,128,48,1,128,127,255,128,255,255,128,255,255,128, + 19,23,69,20,1,0,255,255,224,248,227,224,192,224,224,192, + 224,96,128,224,32,128,224,32,0,224,0,0,224,0,0,224, + 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, + 0,224,0,0,224,0,0,224,0,0,224,0,0,224,0,0, + 224,0,0,224,0,1,240,0,7,252,0,23,23,69,23,0, + 0,255,193,254,62,0,112,31,0,96,15,0,224,15,128,192, + 7,129,128,3,193,128,3,227,0,1,227,0,0,246,0,0, + 252,0,0,124,0,0,56,0,0,56,0,0,56,0,0,56, + 0,0,56,0,0,56,0,0,56,0,0,56,0,0,56,0, + 0,124,0,1,255,0,13,24,48,14,1,249,3,224,15,240, + 31,240,48,0,96,0,64,0,192,0,192,0,128,0,128,0, + 128,0,192,0,192,0,240,0,127,240,63,240,31,248,0,24, + 0,8,0,8,0,24,7,240,7,240,7,192,23,23,69,25, + 1,0,0,254,0,3,131,128,14,0,224,30,0,240,28,0, + 112,60,0,120,56,0,56,120,0,60,120,0,60,120,0,60, + 120,0,60,120,0,60,120,0,60,56,0,56,60,0,120,28, + 0,112,14,0,224,7,1,192,129,131,2,192,130,6,255,199, + 254,255,199,254,255,199,254,19,23,69,21,1,0,127,255,192, + 127,255,192,127,255,192,96,0,192,64,0,64,0,0,0,0, + 0,0,0,0,0,8,2,0,12,6,0,15,254,0,15,254, + 0,15,254,0,8,2,0,8,2,0,0,0,0,0,0,0, + 192,0,96,192,0,96,64,0,64,127,255,192,127,255,192,127, + 255,192,25,23,92,26,0,0,224,255,131,128,112,62,7,0, + 56,28,14,0,56,28,14,0,60,28,30,0,60,28,30,0, + 60,28,30,0,60,28,30,0,60,28,30,0,28,28,28,0, + 30,28,60,0,15,156,248,0,3,255,224,0,0,28,0,0, + 0,28,0,0,0,28,0,0,0,28,0,0,0,28,0,0, + 0,28,0,0,0,28,0,0,0,28,0,0,0,62,0,0, + 0,255,128,0,19,23,69,20,1,0,127,255,192,120,3,192, + 96,7,128,96,15,0,64,15,0,64,30,0,0,62,0,0, + 60,0,0,120,0,0,248,0,0,240,0,1,224,0,1,224, + 0,3,192,0,7,192,0,7,128,0,15,0,0,31,0,32, + 30,0,32,62,0,96,60,0,224,120,3,192,255,255,192,7, + 28,28,11,3,251,254,224,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,224, + 254,17,16,48,28,5,0,1,224,0,1,224,0,1,224,0, + 1,224,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,240,7,128,240,7, + 128,240,7,128,240,7,128,7,28,28,11,1,251,254,14,6, + 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, + 6,6,6,6,6,6,6,14,254,20,23,69,21,1,0,0, + 96,0,0,96,0,0,96,0,0,96,0,0,96,0,0,96, + 0,0,96,0,0,96,0,0,96,0,0,96,0,0,96,0, + 0,96,0,0,96,0,0,96,0,0,96,0,0,96,0,0, + 96,0,0,96,0,0,96,0,0,96,0,0,96,0,255,255, + 240,255,255,240,16,2,4,16,0,249,255,255,255,255,20,1, + 3,17,15,26,255,255,240,19,17,51,20,1,0,15,193,128, + 28,225,128,56,51,128,112,19,128,112,23,0,240,31,0,224, + 15,0,224,14,0,224,14,0,224,14,0,224,28,0,240,30, + 0,240,30,32,112,58,32,120,115,224,60,225,192,15,193,192, + 14,32,64,18,2,249,15,128,25,224,48,224,112,112,96,112, + 96,112,96,112,96,112,96,112,96,96,103,192,103,224,96,112, + 96,56,96,56,96,60,96,28,96,28,96,28,96,28,96,28, + 96,56,120,120,111,240,99,192,96,0,96,0,96,0,96,0, + 224,0,224,0,224,0,17,25,75,18,0,249,24,0,0,60, + 14,0,126,14,0,70,30,0,194,28,0,195,60,0,3,56, + 0,1,112,0,1,112,0,1,224,0,1,224,0,1,192,0, + 3,192,0,3,128,0,7,192,0,7,192,0,15,64,0,14, + 64,0,30,96,0,28,97,128,60,97,128,56,51,0,120,63, + 0,112,62,0,112,30,0,14,25,50,16,1,0,15,128,31, + 224,48,240,32,120,48,48,56,0,28,0,14,0,7,128,3, + 192,7,240,28,240,56,120,112,56,240,60,224,28,224,28,224, + 28,224,28,240,28,240,56,112,56,120,112,31,224,7,128,12, + 18,36,14,1,255,31,128,57,224,112,224,224,224,224,64,224, + 0,112,0,120,0,31,128,120,0,240,0,224,0,224,0,224, + 16,240,48,120,48,63,224,15,128,15,30,60,17,1,249,1, + 0,1,0,1,0,1,0,1,0,1,0,15,192,29,112,57, + 56,113,28,113,28,225,30,225,14,225,14,225,14,225,14,225, + 14,241,14,113,12,113,28,57,24,29,112,7,224,1,0,1, + 0,1,0,1,0,1,0,1,0,1,0,15,24,48,13,254, + 249,56,14,124,14,124,14,198,28,134,28,130,28,3,56,3, + 56,1,48,1,48,1,96,1,224,1,192,0,192,0,192,1, + 128,1,192,1,192,3,192,3,192,3,192,3,192,3,128,1, + 128,17,24,72,20,0,249,24,56,0,124,254,0,223,222,0, + 207,15,0,143,7,0,14,7,0,14,7,0,14,7,0,14, + 7,0,14,7,0,14,7,0,14,7,0,14,7,0,14,7, + 0,14,7,0,14,7,0,14,7,0,0,7,0,0,7,0, + 0,7,0,0,7,0,0,7,0,0,3,0,0,3,128,10, + 17,34,11,0,0,4,0,124,0,252,0,60,0,28,0,28, + 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, + 64,28,192,15,192,15,0,18,24,72,20,1,249,6,60,0, + 30,126,0,56,255,0,112,199,128,112,195,128,240,195,192,224, + 193,192,224,193,192,224,193,192,224,193,192,240,193,192,240,193, + 128,112,195,128,120,195,0,56,199,0,30,220,0,7,248,0, + 0,192,0,0,192,0,0,192,0,0,192,0,0,192,0,0, + 192,0,0,192,0,17,17,51,18,1,0,8,7,0,248,31, + 128,248,63,128,56,99,0,24,192,0,25,128,0,27,0,0, + 31,128,0,31,128,0,27,192,0,25,224,0,24,240,0,24, + 240,0,24,120,0,24,60,0,24,62,0,24,127,128,17,25, + 75,18,1,0,56,0,0,124,0,0,126,0,0,198,0,0, + 195,0,0,131,0,0,1,0,0,1,0,0,1,128,0,3, + 128,0,3,128,0,7,128,0,7,192,0,15,192,0,14,192, + 0,30,64,0,28,96,0,28,96,0,56,96,0,56,96,128, + 112,48,128,112,57,128,224,63,0,224,31,0,224,14,0,17, + 24,72,19,1,249,112,56,0,112,56,0,112,56,0,112,56, + 0,112,56,0,112,56,0,112,56,0,112,56,0,112,56,0, + 112,56,0,112,56,0,112,56,0,112,120,0,120,120,128,127, + 253,128,127,159,128,110,30,0,96,0,0,96,0,0,96,0, + 0,224,0,0,224,0,0,224,0,0,96,0,0,16,17,34, + 17,255,0,24,6,248,7,60,7,28,7,28,7,30,6,14, + 6,14,12,7,12,7,24,7,152,3,176,3,160,1,224,1, + 192,1,192,0,128,15,17,34,18,1,0,7,192,28,112,48, + 56,112,60,112,28,224,30,224,14,224,14,224,14,224,14,224, + 14,240,14,112,28,120,28,56,56,30,112,15,224,17,17,51, + 18,0,0,15,255,128,63,255,128,63,255,128,102,56,0,198, + 56,0,6,48,0,6,48,0,6,48,0,6,48,0,6,48, + 0,4,48,0,12,48,0,12,48,128,28,57,128,60,63,0, + 60,31,0,56,30,0,14,23,46,17,1,0,7,128,28,224, + 24,112,48,48,112,56,112,56,240,60,224,28,224,28,224,28, + 224,28,255,252,255,252,224,28,224,28,224,28,224,28,112,56, + 112,56,112,56,56,112,28,224,15,192,14,25,50,18,2,249, + 7,192,31,224,48,240,96,120,96,120,224,60,224,60,224,28, + 224,28,224,28,224,28,224,24,224,24,224,56,240,112,248,224, + 239,192,231,0,224,0,224,0,224,0,224,0,224,0,224,0, + 224,0,18,18,54,20,1,0,3,255,192,15,255,192,63,255, + 192,124,48,0,120,24,0,240,28,0,240,14,0,224,15,0, + 224,7,0,224,7,0,240,7,0,112,7,0,112,15,0,56, + 14,0,60,30,0,30,56,0,7,240,0,1,192,0,14,17, + 34,14,0,0,15,252,63,252,63,252,99,128,195,128,195,128, + 3,0,3,0,3,0,3,0,3,0,3,8,3,136,3,152, + 3,248,1,240,1,224,17,18,54,19,0,0,0,16,0,60, + 24,0,124,28,0,252,6,0,206,7,0,142,3,0,14,3, + 0,14,3,128,14,3,128,14,3,128,14,3,128,14,3,128, + 14,3,0,14,7,0,7,7,0,7,14,0,3,156,0,1, + 248,0,21,19,57,23,0,0,31,255,248,63,255,248,127,255, + 248,231,131,128,222,0,192,60,0,224,56,56,112,120,56,112, + 120,56,56,120,56,56,112,56,56,112,56,56,112,56,56,112, + 16,56,120,16,56,120,56,112,56,40,112,28,236,224,15,135, + 192,20,17,51,22,1,0,15,14,0,28,7,128,56,1,192, + 112,97,224,112,224,224,224,224,240,224,224,240,224,224,112,224, + 224,112,224,224,112,224,224,112,224,64,112,224,224,240,112,224, + 224,113,177,224,63,31,192,30,15,0,14,33,66,16,1,249, + 48,0,96,192,99,224,103,192,63,128,24,0,48,0,32,0, + 32,0,48,0,49,240,31,240,31,224,48,0,96,0,64,0, + 192,0,128,0,128,0,128,0,192,0,192,0,248,0,127,240, + 63,252,31,252,0,12,0,4,0,4,0,12,3,248,3,248, + 1,224,22,24,72,22,0,249,240,48,60,120,48,120,60,48, + 240,28,48,224,28,48,224,28,48,224,28,48,224,28,48,224, + 30,48,224,30,49,224,30,49,224,14,49,192,14,49,192,6, + 49,192,7,51,128,3,183,0,1,254,0,0,48,0,0,48, + 0,0,48,0,0,48,0,0,48,0,0,48,0,0,48,0, + 13,32,64,16,2,249,24,0,56,112,48,240,51,224,63,192, + 14,0,12,0,24,0,16,0,48,0,32,0,96,0,64,0, + 64,0,192,0,192,0,192,0,192,0,192,0,224,0,96,0, + 127,192,63,240,31,248,15,248,0,24,0,8,0,8,0,24, + 3,248,7,240,3,224,11,29,58,16,2,250,7,224,14,0, + 12,0,12,0,12,0,12,0,12,0,12,0,12,0,12,0, + 12,0,28,0,28,0,112,0,192,0,112,0,28,0,28,0, + 12,0,12,0,12,0,12,0,12,0,12,0,12,0,12,0, + 12,0,14,0,7,224,2,28,28,7,2,250,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,11,29,58,16,2,250,252,0, + 14,0,6,0,6,0,6,0,6,0,6,0,6,0,6,0, + 6,0,6,0,7,0,7,0,1,192,0,96,1,192,7,0, + 7,0,6,0,6,0,6,0,6,0,6,0,6,0,6,0, + 6,0,6,0,14,0,252,0,15,4,8,18,1,7,24,0, + 127,134,227,254,192,56,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, + 255,255,255,255,255,255,255,255,20,23,69,20,0,0,240,1, + 192,124,7,224,15,12,112,7,12,240,3,152,224,1,208,224, + 1,208,0,1,240,0,1,240,0,0,224,0,0,224,0,0, + 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, + 0,0,224,0,0,224,0,0,224,0,0,224,0,1,240,0, + 7,252,0,6,9,9,8,1,16,24,60,60,120,112,96,224, + 192,128,16,21,42,18,1,0,0,7,0,31,0,124,1,240, + 7,192,30,0,120,0,224,0,224,0,120,0,30,0,7,128, + 1,224,0,120,0,30,0,7,0,1,0,0,0,0,255,255, + 255,255,15,23,46,6,251,0,0,2,0,6,0,12,0,12, + 0,24,0,48,0,48,0,96,0,192,0,192,1,128,3,0, + 3,0,6,0,12,0,12,0,24,0,48,0,48,0,96,0, + 192,0,192,0,128,0,21,10,30,23,1,4,28,3,192,127, + 15,224,99,158,48,193,248,24,192,240,24,192,240,24,192,248, + 24,99,156,48,127,15,240,28,3,192,16,29,58,16,0,250, + 0,30,0,51,0,103,0,98,0,224,0,224,0,192,0,192, + 0,192,15,252,1,192,1,192,1,192,1,192,1,128,1,128, + 1,128,3,128,3,128,3,128,3,0,3,0,3,0,3,0, + 2,0,102,0,230,0,236,0,120,0,18,18,54,24,3,0, + 1,224,0,3,240,0,7,248,0,7,248,0,7,248,0,7, + 248,0,3,240,0,1,224,0,124,207,128,255,255,192,255,255, + 192,255,255,192,255,255,192,255,255,192,252,207,192,120,199,128, + 0,192,0,1,224,0,14,18,36,24,5,0,3,0,7,128, + 7,192,15,192,31,224,63,240,127,248,127,248,255,252,255,252, + 127,248,127,248,63,240,31,224,15,192,7,192,7,128,3,0, + 16,18,36,24,4,0,124,62,254,127,254,127,255,255,255,255, + 255,255,255,255,127,254,127,254,63,252,63,252,31,248,15,240, + 15,240,7,224,3,192,1,128,1,128,16,18,36,24,4,0, + 1,128,1,192,3,192,7,224,7,240,15,240,31,248,63,252, + 63,252,127,254,255,255,255,255,255,255,253,191,249,159,249,159, + 113,142,3,192,32,16,64,34,1,0,1,128,1,128,3,0, + 0,192,7,0,0,224,14,0,0,112,28,0,0,56,56,0, + 0,28,112,0,0,14,255,255,255,255,255,255,255,255,112,0, + 0,14,56,0,0,28,28,0,0,56,14,0,0,112,7,0, + 0,224,3,0,0,192,1,128,1,128,29,16,64,32,1,0, + 1,128,0,0,3,0,0,0,6,0,0,0,14,0,0,0, + 28,0,0,0,56,0,0,0,112,0,0,0,255,255,255,248, + 255,255,255,248,112,0,0,0,56,0,0,0,28,0,0,0, + 14,0,0,0,6,0,0,0,3,0,0,0,1,128,0,0, + 16,27,54,20,2,0,1,128,3,192,7,224,15,240,29,184, + 57,156,113,142,225,135,193,131,1,128,1,128,1,128,1,128, + 1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128, + 1,128,1,128,1,128,1,128,1,128,1,128,29,16,64,32, + 2,0,0,0,12,0,0,0,14,0,0,0,7,0,0,0, + 3,128,0,0,1,192,0,0,0,224,0,0,0,112,255,255, + 255,248,255,255,255,248,0,0,0,112,0,0,0,224,0,0, + 1,192,0,0,3,128,0,0,7,0,0,0,14,0,0,0, + 12,0,16,27,54,20,2,0,1,128,1,128,1,128,1,128, + 1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128, + 1,128,1,128,1,128,1,128,1,128,1,128,193,131,225,135, + 113,142,57,156,29,184,15,240,7,224,3,192,1,128,9,10, + 20,13,2,13,28,0,99,0,65,0,128,128,128,128,128,128, + 128,128,65,0,99,0,28,0,16,22,44,18,1,0,1,128, + 1,128,1,128,1,128,1,128,1,128,1,128,1,128,255,255, + 255,255,1,128,1,128,1,128,1,128,1,128,1,128,1,128, + 1,128,0,0,0,0,255,255,255,255,12,9,18,13,1,15, + 28,112,28,112,60,240,56,224,113,192,113,192,227,128,195,0, + 130,0,16,21,42,18,1,0,224,0,248,0,62,0,15,128, + 1,224,0,120,0,30,0,7,0,7,0,30,0,120,1,224, + 7,128,30,0,120,0,224,0,128,0,0,0,0,0,255,255, + 255,255,16,16,32,18,1,1,192,3,224,7,112,14,56,28, + 28,56,14,112,7,224,3,192,3,192,7,224,14,112,28,56, + 56,28,112,14,224,7,192,3,19,10,30,23,1,4,28,3, + 192,63,15,224,99,156,0,193,248,0,192,240,0,192,240,0, + 193,248,0,99,156,0,127,15,224,28,3,192,14,27,54,16, + 1,0,30,0,63,128,32,224,0,112,0,48,0,24,0,24, + 0,24,0,28,0,28,0,28,15,28,31,252,56,124,120,60, + 112,60,240,56,224,56,224,56,224,56,224,112,224,112,96,96, + 112,224,57,192,31,128,15,0,11,12,24,15,2,4,14,0, + 63,128,127,192,127,192,255,224,255,224,255,224,255,224,127,192, + 127,192,63,128,14,0,16,13,26,18,1,2,1,128,3,192, + 3,192,1,128,0,0,255,255,255,255,0,0,0,0,1,128, + 3,192,3,192,1,128,17,19,57,18,1,255,0,12,0,0, + 24,0,0,24,0,0,48,0,0,48,0,255,255,128,255,255, + 128,0,192,0,0,192,0,1,128,0,1,128,0,3,0,0, + 255,255,128,255,255,128,6,0,0,12,0,0,12,0,0,24, + 0,0,24,0,0,17,12,36,18,0,3,255,255,128,255,255, + 128,0,0,0,0,0,0,0,0,0,255,255,128,255,255,128, + 0,0,0,0,0,0,0,0,0,255,255,128,255,255,128,16, + 9,18,18,1,4,28,0,127,135,225,254,64,56,0,0,28, + 0,127,135,225,254,192,56,26,4,16,33,3,0,96,12,1, + 128,240,30,3,192,240,30,3,192,96,12,1,128,2,34,34, + 20,9,249,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,32,2,8,32,0,7,255,255,255,255,255, + 255,255,255,18,21,63,21,1,0,0,0,192,0,0,192,0, + 0,192,0,0,192,0,0,192,0,0,192,0,0,192,0,0, + 192,0,0,192,0,0,192,0,0,192,0,0,192,0,0,192, + 0,0,192,0,0,192,16,0,192,112,0,192,255,255,192,255, + 255,192,112,0,0,16,0,0,16,22,44,27,5,0,0,32, + 96,96,240,126,240,127,248,127,124,63,60,15,62,12,31,24, + 31,152,55,240,115,240,97,240,225,240,240,248,240,124,120,62, + 124,30,124,31,60,15,124,7,252,6,18,27,81,22,1,254, + 7,240,0,31,254,0,63,255,128,56,63,128,96,7,0,96, + 7,0,64,6,0,64,12,0,64,12,0,96,28,0,48,28, + 0,28,14,0,14,14,0,0,15,0,0,7,0,0,7,128, + 0,3,128,0,3,192,0,1,192,0,1,192,0,1,192,60, + 1,128,255,1,128,159,195,0,7,254,0,3,248,0,0,240, + 0,23,24,72,26,1,0,15,128,192,63,225,240,97,247,248, + 192,252,124,128,120,62,128,120,28,128,56,56,192,56,112,224, + 56,192,120,57,192,62,59,192,14,57,224,6,56,224,6,56, + 224,0,56,240,0,56,240,0,56,112,0,112,112,0,112,112, + 0,96,120,30,192,122,63,128,62,47,128,60,6,0,16,23, + 26,78,32,5,249,0,192,0,1,192,0,3,0,112,6,3, + 252,6,14,30,12,24,30,28,48,14,24,96,14,56,192,30, + 57,128,30,59,0,30,62,0,28,62,48,60,60,120,56,30, + 112,120,62,64,240,47,65,224,111,99,192,71,63,0,199,0, + 0,135,0,0,131,0,0,131,0,0,199,0,0,102,0,0, + 60,0,0,22,23,69,25,1,0,0,252,0,3,255,0,15, + 3,192,28,0,224,56,0,112,50,1,48,103,3,152,99,135, + 24,193,134,8,192,204,12,192,120,12,192,48,12,192,120,12, + 192,204,12,193,134,12,99,135,24,103,3,152,50,1,48,56, + 0,112,28,0,224,15,3,192,3,255,0,0,252,0,22,23, + 69,25,1,0,0,252,0,3,255,0,15,3,192,28,48,224, + 24,48,96,48,48,48,96,48,24,96,48,24,96,48,24,192, + 48,12,192,48,12,223,255,236,223,255,236,192,48,12,192,48, + 12,96,48,24,96,48,24,48,48,48,56,48,112,28,48,224, + 15,3,192,3,255,0,0,252,0,24,24,72,27,1,0,0, + 126,2,3,255,198,7,129,238,14,0,124,24,0,56,48,0, + 124,112,0,238,96,1,198,96,3,134,192,7,3,192,14,3, + 192,28,3,192,56,3,192,112,3,192,224,3,97,192,6,99, + 128,6,119,0,14,62,0,12,28,0,24,62,0,112,119,129, + 224,227,255,192,192,126,0,22,17,51,25,1,0,0,252,0, + 3,255,0,15,3,192,28,0,224,56,0,112,48,0,48,96, + 0,24,96,0,24,192,0,12,192,0,12,192,0,12,192,0, + 12,192,0,12,192,0,12,192,0,12,192,0,12,192,0,12, + 22,17,51,25,1,0,192,0,12,192,0,12,192,0,12,192, + 0,12,192,0,12,192,0,12,192,0,12,192,0,12,192,0, + 12,96,0,24,96,0,24,48,0,48,56,0,112,28,0,224, + 15,3,192,3,255,0,0,252,0,21,16,48,23,1,0,255, + 255,0,255,255,192,0,1,224,0,0,112,0,0,48,0,0, + 56,0,0,24,0,0,24,0,0,24,0,0,24,0,0,24, + 0,0,48,0,0,112,0,0,224,255,255,192,255,255,0,21, + 20,60,23,1,252,255,255,0,255,255,192,0,0,224,0,0, + 112,0,0,48,0,0,24,0,0,24,0,0,24,0,0,24, + 0,0,24,0,0,24,0,0,48,0,0,112,0,0,224,255, + 255,192,255,255,0,0,0,0,0,0,0,255,255,240,255,255, + 240,21,20,60,23,1,254,0,0,96,0,0,192,7,255,248, + 15,255,248,56,1,128,112,3,0,96,3,0,224,6,0,192, + 6,0,192,12,0,192,12,0,192,24,0,224,24,0,96,48, + 0,112,48,0,60,96,0,31,255,248,7,255,248,0,192,0, + 1,128,0,21,16,48,23,1,0,7,255,248,31,255,248,56, + 0,0,112,0,0,96,0,0,192,0,0,192,0,0,192,0, + 0,192,0,0,192,0,0,224,0,0,96,0,0,112,0,0, + 60,0,0,31,255,248,7,255,248,21,20,60,23,1,252,7, + 255,248,31,255,248,56,0,0,112,0,0,96,0,0,192,0, + 0,192,0,0,192,0,0,192,0,0,192,0,0,192,0,0, + 96,0,0,112,0,0,56,0,0,31,255,248,7,255,248,0, + 0,0,0,0,0,127,255,248,127,255,248,15,16,32,23,1, + 0,7,254,31,254,56,0,112,0,96,0,192,0,192,0,255, + 254,255,254,192,0,192,0,96,0,112,0,56,0,31,254,7, + 254,15,20,40,23,1,254,0,24,0,24,7,254,31,254,56, + 96,112,96,96,192,64,192,193,128,255,254,255,254,195,0,70, + 0,110,0,124,0,60,0,31,254,55,254,48,0,32,0,22, + 22,66,25,1,0,0,0,12,0,0,28,0,0,56,0,0, + 112,0,0,224,0,1,192,0,3,128,0,7,0,0,14,0, + 0,28,0,0,56,0,0,112,0,0,96,0,0,192,0,1, + 128,0,3,0,0,7,0,0,14,0,0,28,0,0,56,0, + 0,127,255,248,255,255,248,20,24,72,23,1,0,255,255,240, + 127,255,240,120,0,48,120,0,32,60,0,96,60,0,64,28, + 0,192,30,0,192,30,1,128,15,1,128,15,1,0,7,3, + 0,7,130,0,7,134,0,3,196,0,3,204,0,3,204,0, + 1,248,0,1,248,0,0,240,0,0,240,0,0,224,0,0, + 96,0,0,64,0,21,22,66,25,2,0,1,252,0,7,7, + 0,12,1,192,24,0,192,51,248,96,97,142,48,65,134,16, + 193,134,24,193,134,24,129,140,8,129,248,8,129,184,8,129, + 152,8,193,156,24,193,142,24,65,135,16,103,195,176,48,0, + 96,24,0,192,28,1,192,7,7,0,1,252,0,21,23,69, + 25,2,0,1,252,0,7,207,0,14,1,128,24,0,192,48, + 0,96,48,0,48,96,125,48,65,199,16,195,3,24,195,1, + 24,134,0,8,134,0,8,134,0,8,134,0,8,134,0,8, + 199,0,24,67,3,24,97,199,16,32,252,48,48,0,96,28, + 0,192,7,135,128,1,254,0,27,13,52,29,1,10,255,220, + 1,224,204,206,3,128,140,78,3,128,12,15,7,128,12,11, + 5,128,12,11,141,128,12,9,141,128,12,9,201,128,12,8, + 217,128,12,8,241,128,12,8,113,128,12,8,97,128,62,30, + 39,224,25,27,108,27,1,0,255,255,255,128,63,255,254,0, + 30,0,60,0,30,0,60,0,30,0,60,0,30,0,60,0, + 30,0,60,0,30,0,60,0,30,0,60,0,30,0,60,0, + 30,0,60,0,30,0,60,0,30,0,60,0,30,0,60,0, + 30,0,60,0,30,0,60,0,30,0,60,0,30,0,60,0, + 30,0,60,0,30,0,60,0,30,0,60,0,30,0,60,0, + 30,0,60,0,30,0,60,0,30,0,60,0,63,0,126,0, + 255,193,255,128,17,27,81,18,0,0,0,0,128,0,0,128, + 0,0,128,0,0,128,0,1,128,0,1,0,0,1,0,0, + 3,0,0,2,0,8,2,0,56,2,0,236,6,0,12,4, + 0,6,4,0,6,4,0,3,4,0,3,12,0,1,140,0, + 1,136,0,0,200,0,0,200,0,0,104,0,0,120,0,0, + 56,0,0,48,0,0,16,0,0,16,0,3,3,3,8,2, + 7,224,224,224,21,10,30,23,1,0,255,255,248,255,255,248, + 0,0,24,0,0,24,0,0,24,0,0,24,0,0,24,0, + 0,24,0,0,24,0,0,24,16,15,30,20,2,0,1,128, + 1,128,3,192,3,192,6,96,14,112,12,48,28,56,24,24, + 48,12,48,12,96,6,224,7,192,3,128,1,16,15,30,20, + 2,0,128,1,192,3,224,7,96,6,48,12,48,12,24,24, + 28,56,12,48,6,96,6,96,3,192,3,192,1,128,1,128, + 32,18,72,34,1,0,0,128,1,0,1,128,1,128,3,0, + 0,192,6,0,0,96,15,255,255,240,31,255,255,248,56,0, + 0,28,112,0,0,14,224,0,0,7,224,0,0,7,112,0, + 0,14,56,0,0,28,31,255,255,248,15,255,255,240,6,0, + 0,96,3,0,0,192,1,128,1,128,0,128,1,0,29,17, + 68,32,1,0,0,128,0,0,1,128,0,0,3,0,0,0, + 6,0,0,0,15,255,255,248,31,255,255,248,56,0,0,0, + 112,0,0,0,224,0,0,0,112,0,0,0,56,0,0,0, + 31,255,255,248,15,255,255,248,6,0,0,0,3,0,0,0, + 1,128,0,0,0,128,0,0,17,27,81,20,1,0,0,128, + 0,1,192,0,3,224,0,7,112,0,14,56,0,28,28,0, + 60,30,0,124,31,0,236,27,128,12,24,0,12,24,0,12, + 24,0,12,24,0,12,24,0,12,24,0,12,24,0,12,24, + 0,12,24,0,12,24,0,12,24,0,12,24,0,12,24,0, + 12,24,0,12,24,0,12,24,0,12,24,0,12,24,0,29, + 17,68,32,2,0,0,0,8,0,0,0,12,0,0,0,6, + 0,0,0,3,0,255,255,255,128,255,255,255,192,0,0,0, + 224,0,0,0,112,0,0,0,56,0,0,0,112,0,0,0, + 224,255,255,255,192,255,255,255,128,0,0,3,0,0,0,6, + 0,0,0,12,0,0,0,8,0,17,27,81,20,1,0,12, + 24,0,12,24,0,12,24,0,12,24,0,12,24,0,12,24, + 0,12,24,0,12,24,0,12,24,0,12,24,0,12,24,0, + 12,24,0,12,24,0,12,24,0,12,24,0,12,24,0,12, + 24,0,12,24,0,236,27,128,124,31,0,60,30,0,28,28, + 0,14,56,0,7,112,0,3,224,0,1,192,0,0,128,0, + 14,25,50,16,1,0,3,0,7,128,7,128,12,192,12,192, + 24,96,24,96,48,48,48,48,96,24,96,24,192,12,192,12, + 224,28,96,24,96,24,48,48,48,48,24,96,24,96,12,192, + 12,192,7,128,7,128,3,0,9,30,60,11,1,250,1,128, + 3,0,3,0,6,0,6,0,14,0,12,0,28,0,24,0, + 56,0,48,0,48,0,96,0,96,0,192,0,192,0,96,0, + 96,0,48,0,48,0,56,0,24,0,28,0,12,0,14,0, + 6,0,6,0,3,0,3,0,1,128,21,22,66,26,2,0, + 1,252,0,7,15,0,12,1,128,24,0,192,48,0,96,99, + 254,48,67,6,16,195,3,24,195,3,24,195,3,24,131,6, + 8,131,252,8,131,6,8,195,3,24,195,3,24,67,3,16, + 99,3,48,32,0,32,48,0,96,28,1,192,7,15,0,3, + 252,0,21,23,69,26,2,0,1,252,0,7,223,0,14,3, + 128,24,0,192,48,0,96,32,0,32,96,252,48,65,206,16, + 195,6,24,195,3,24,194,0,8,134,0,8,134,0,8,134, + 0,8,134,3,24,195,3,24,67,6,24,97,206,48,32,248, + 48,48,0,96,28,0,192,15,135,128,3,254,0,22,13,39, + 25,1,10,255,56,28,24,56,28,24,56,28,24,60,60,24, + 60,60,24,52,44,24,54,108,24,54,108,24,50,76,24,51, + 204,24,51,204,24,49,140,24,49,140,21,28,84,23,1,255, + 255,255,224,120,3,224,124,0,96,60,0,96,30,0,32,15, + 0,0,15,128,0,7,128,0,3,192,0,3,224,0,1,240, + 0,0,240,0,0,120,0,0,120,0,0,56,0,0,48,0, + 0,96,0,0,192,0,1,128,0,3,128,0,3,0,0,6, + 0,8,12,0,24,24,0,24,48,0,48,127,255,240,127,255, + 240,255,255,240,13,34,68,13,1,249,0,24,0,120,0,224, + 1,192,3,128,3,0,6,0,12,0,12,0,24,0,24,0, + 56,0,48,0,48,0,48,0,96,0,96,0,96,0,96,0, + 96,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, + 192,0,192,0,192,0,192,0,192,0,192,0,192,0,2,34, + 34,13,1,249,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,13,34,68,13,1,249,192,0,192,0, + 192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, + 192,0,192,0,192,0,192,0,96,0,96,0,96,0,96,0, + 96,0,48,0,48,0,48,0,56,0,24,0,24,0,12,0, + 12,0,6,0,3,0,3,128,1,192,0,224,0,120,0,24, + 11,34,68,13,0,249,255,224,255,224,192,0,192,0,192,0, + 192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, + 192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, + 192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, + 192,0,192,0,192,0,192,0,192,0,2,34,34,13,0,249, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,11,34,68,13,0,249,192,0,192,0,192,0,192,0, + 192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, + 192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, + 192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0, + 192,0,192,0,192,0,192,0,255,224,255,224,8,34,34,16, + 6,249,7,31,56,112,96,96,224,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,9,34,68,16,255,249,1,128,1,128,1,128, + 1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128, + 3,0,3,0,6,0,12,0,56,0,224,0,120,0,12,0, + 6,0,3,0,3,0,1,128,1,128,1,128,1,128,1,128, + 1,128,1,128,1,128,1,128,1,128,1,128,1,128,8,34, + 34,16,6,249,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,224, + 96,96,112,56,31,7,2,34,34,16,6,249,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,255,9, + 30,60,11,1,250,192,0,96,0,96,0,48,0,48,0,56, + 0,24,0,28,0,12,0,14,0,6,0,6,0,3,0,3, + 0,1,128,1,128,3,0,3,0,6,0,6,0,14,0,12, + 0,28,0,24,0,56,0,48,0,48,0,96,0,96,0,192, + 0,9,33,66,9,0,250,3,0,7,128,7,128,12,0,12, + 0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, + 0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, + 0,12,0,12,0,12,0,12,0,12,0,12,0,12,0,12, + 0,12,0,248,0,248,0,112,0,12,34,68,23,10,249,1, + 224,3,240,6,112,12,240,8,96,24,0,24,0,48,0,48, + 0,48,0,112,0,96,0,96,0,96,0,96,0,224,0,224, + 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, + 0,224,0,224,0,224,0,224,0,224,0,224,0,224,0,224, + 0,224,0,3,34,34,22,10,249,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,12,34,68,22,1, + 249,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0, + 112,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0, + 112,0,112,0,112,0,112,0,96,0,96,0,96,0,96,0, + 224,0,192,0,192,0,192,1,128,1,128,97,0,243,0,230, + 0,252,0,120,0,13,34,68,13,0,249,192,0,240,0,56, + 0,24,0,12,0,6,0,3,0,1,0,1,128,0,192,0, + 192,0,192,0,96,0,96,0,96,0,48,0,48,0,48,0, + 48,0,48,0,16,0,16,0,24,0,24,0,24,0,24,0, + 24,0,24,0,24,0,24,0,24,0,24,0,24,0,24,2, + 34,34,13,11,249,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,13,34,68,13,0,249,0,24,0, + 24,0,24,0,24,0,24,0,24,0,24,0,24,0,24,0, + 24,0,24,0,24,0,16,0,16,0,48,0,48,0,48,0, + 48,0,48,0,96,0,96,0,96,0,192,0,192,0,192,1, + 128,1,0,3,0,6,0,12,0,28,0,56,0,240,0,192, + 0,11,34,68,13,1,249,255,224,255,224,0,96,0,96,0, + 96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0, + 96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0, + 96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0, + 96,0,96,0,96,0,96,0,96,0,96,2,34,34,13,10, + 249,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,11,34,68,13,1,249,0,96,0,96,0,96,0, + 96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0, + 96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0, + 96,0,96,0,96,0,96,0,96,0,96,0,96,0,96,0, + 96,0,96,0,96,0,96,0,96,255,224,255,224,8,34,34, + 16,0,249,224,120,28,14,6,6,3,3,3,3,3,3,3, + 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, + 3,3,3,3,3,9,34,68,16,6,249,192,0,192,0,192, + 0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192, + 0,96,0,96,0,48,0,24,0,14,0,3,128,14,0,24, + 0,48,0,96,0,96,0,192,0,192,0,192,0,192,0,192, + 0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,8, + 33,33,16,0,250,3,3,3,3,3,3,3,3,3,3,3, + 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, + 6,6,14,28,120,224,255}; +/* + Fontname: -Adobe-Symbol-Medium-R-Normal--34-240-100-100-P-191-Adobe-FontSpecific + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 23, '1' Height: 23 + Calculated Max Values w=27 h=33 x=15 y=26 dx=29 dy= 0 ascent=27 len=92 + Font Bounding box w=40 h=34 x=-5 y=-7 + Calculated Min Values x=-2 y=-7 dx= 0 dy= 0 + Pure Font ascent =23 descent=-7 + X Font ascent =23 descent=-7 + Max Font ascent =27 descent=-7 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_symb24r[5335] U8G_FONT_SECTION("u8g_font_symb24r") = { + 0,40,34,251,249,23,5,133,13,247,32,127,249,27,249,23, + 249,0,0,0,8,0,1,4,23,23,11,4,0,96,240,240, + 240,240,240,96,96,96,96,96,96,96,96,96,96,0,0,0, + 96,240,240,96,20,24,72,23,1,0,192,0,48,192,0,48, + 192,0,96,96,0,96,96,0,96,48,0,192,48,0,192,63, + 255,192,31,255,128,24,1,128,12,3,0,12,3,0,12,3, + 0,6,6,0,6,6,0,3,12,0,3,12,0,3,12,0, + 1,152,0,1,152,0,0,240,0,0,240,0,0,240,0,0, + 96,0,14,23,46,16,1,0,6,48,6,48,6,48,6,48, + 12,96,12,96,12,96,127,252,127,252,12,96,12,96,12,96, + 24,192,24,192,24,192,255,248,255,248,24,192,24,192,49,128, + 49,128,49,128,49,128,15,24,48,18,0,0,255,254,255,254, + 0,6,0,6,0,6,0,6,0,6,0,6,0,6,0,6, + 0,6,63,254,63,254,0,6,0,6,0,6,0,6,0,6, + 0,6,0,6,0,6,0,6,255,254,255,254,23,23,69,27, + 2,255,7,192,96,30,225,192,60,63,192,56,33,128,112,33, + 128,112,35,0,240,98,0,224,70,0,224,204,0,224,204,0, + 97,152,0,119,16,124,62,48,238,0,97,198,0,99,130,0, + 199,2,0,135,2,1,142,6,3,14,4,3,14,12,6,14, + 24,14,7,48,12,3,224,23,22,66,25,1,0,0,248,0, + 3,140,0,3,6,0,7,6,0,7,6,0,7,6,0,7, + 12,0,7,152,0,3,241,252,3,192,112,7,192,96,29,224, + 96,56,240,192,112,240,128,96,121,128,224,63,0,224,30,0, + 224,31,0,240,31,130,248,55,238,127,227,252,31,128,248,12, + 17,34,14,1,0,126,0,127,128,7,192,1,224,0,224,0, + 240,0,112,0,112,63,240,63,240,0,112,0,112,0,224,1, + 224,3,192,255,0,124,0,8,29,29,11,2,250,3,7,6, + 12,24,48,48,112,112,96,96,224,224,224,224,224,224,224,96, + 96,112,112,48,48,24,12,6,7,3,8,29,29,11,1,250, + 192,224,96,48,24,12,12,14,14,6,6,7,7,7,7,7, + 7,7,6,6,14,14,12,12,24,48,96,224,192,11,14,28, + 16,2,4,4,0,14,0,14,0,196,96,228,224,127,192,31, + 0,31,0,127,192,228,224,196,96,14,0,14,0,4,0,16, + 18,36,18,1,0,1,128,1,128,1,128,1,128,1,128,1, + 128,1,128,1,128,255,255,255,255,1,128,1,128,1,128,1, + 128,1,128,1,128,1,128,1,128,4,9,9,8,2,251,96, + 240,240,240,16,48,96,224,192,17,2,6,18,0,8,255,255, + 128,255,255,128,4,4,4,8,2,0,96,240,240,96,7,22, + 22,9,1,0,2,2,6,6,4,12,12,8,24,24,16,48, + 48,32,32,96,64,64,192,192,128,128,14,23,46,16,1,0, + 15,192,28,224,56,112,48,48,112,56,112,56,96,24,224,28, + 224,28,224,28,224,28,224,28,224,28,224,28,224,28,224,28, + 96,24,112,56,112,56,48,48,56,112,28,224,15,192,9,23, + 46,16,4,0,4,0,28,0,252,0,220,0,28,0,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,0,62,0, + 255,128,14,23,46,16,1,0,15,128,31,192,63,224,97,240, + 192,240,192,112,128,112,0,112,0,112,0,96,0,96,0,192, + 0,192,1,128,3,0,3,0,6,0,12,0,24,0,48,12, + 112,24,127,248,255,240,13,23,46,16,1,0,15,128,63,224, + 113,224,64,224,192,96,128,96,0,96,0,192,0,192,1,128, + 7,192,15,224,1,240,0,112,0,120,0,56,0,56,0,56, + 0,48,0,48,96,96,121,192,127,128,15,23,46,16,0,0, + 0,48,0,112,0,112,0,240,1,240,1,240,3,112,6,112, + 6,112,12,112,24,112,24,112,48,112,32,112,96,112,192,112, + 255,254,255,254,0,112,0,112,0,112,0,112,0,112,13,23, + 46,16,1,0,15,248,15,240,31,240,16,0,48,0,32,0, + 126,0,127,128,127,192,15,224,3,224,0,240,0,112,0,112, + 0,112,0,48,0,48,0,48,0,112,0,96,224,192,251,128, + 254,0,14,23,46,16,1,0,0,56,1,224,3,128,7,0, + 14,0,28,0,56,0,56,0,112,0,119,192,255,240,240,120, + 224,56,224,60,224,28,224,28,224,28,224,28,112,28,112,56, + 56,56,28,112,15,192,13,23,46,16,1,0,127,248,127,248, + 127,248,192,24,128,48,0,48,0,48,0,96,0,96,0,96, + 0,192,0,192,0,192,1,192,1,128,1,128,1,128,3,0, + 3,0,3,0,6,0,6,0,6,0,12,23,46,16,2,0, + 31,128,113,192,96,224,224,96,192,96,224,96,224,224,112,192, + 121,192,63,0,31,0,31,128,63,192,115,192,96,224,224,240, + 192,112,192,112,224,112,224,112,96,96,121,192,31,128,14,23, + 46,16,1,0,15,128,56,224,48,112,96,56,224,56,224,56, + 224,60,224,28,224,28,224,28,240,28,112,28,120,124,63,252, + 15,56,0,56,0,112,0,240,0,224,1,192,7,128,30,0, + 112,0,4,15,15,9,2,0,96,240,240,96,0,0,0,0, + 0,0,0,96,240,240,96,4,20,20,9,3,251,96,240,240, + 96,0,0,0,0,0,0,0,96,240,240,240,16,48,96,224, + 192,16,16,32,18,1,1,0,7,0,31,0,124,1,240,7, + 128,30,0,120,0,224,0,224,0,120,0,30,0,7,128,1, + 240,0,124,0,31,0,7,17,8,24,18,0,5,255,255,128, + 255,255,128,0,0,0,0,0,0,0,0,0,0,0,0,255, + 255,128,255,255,128,16,16,32,18,1,1,224,0,248,0,62, + 0,15,128,1,224,0,120,0,30,0,7,0,7,0,30,0, + 120,1,224,15,128,62,0,248,0,224,0,11,23,46,14,2, + 0,63,0,99,128,193,192,192,224,192,224,224,224,192,224,1, + 224,1,192,1,128,3,128,3,0,6,0,6,0,4,0,4, + 0,4,0,0,0,0,0,12,0,30,0,30,0,12,0,17, + 16,48,18,0,0,30,1,0,63,195,128,96,255,0,64,28, + 0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,128, + 255,255,128,0,0,0,0,0,0,0,0,0,0,0,0,255, + 255,128,255,255,128,21,23,69,23,0,0,0,32,0,0,112, + 0,0,112,0,0,112,0,0,248,0,0,248,0,0,188,0, + 1,188,0,1,156,0,3,30,0,3,14,0,2,15,0,6, + 15,0,6,7,0,12,7,128,15,255,128,8,3,128,24,3, + 192,24,1,192,48,1,224,48,1,224,112,1,240,252,7,248, + 18,23,69,22,1,0,255,224,0,63,254,0,28,31,0,28, + 7,0,28,7,128,28,7,128,28,7,128,28,7,128,28,7, + 0,28,15,0,28,62,0,31,248,0,28,31,0,28,7,128, + 28,3,128,28,3,192,28,3,192,28,3,192,28,3,192,28, + 7,128,28,15,128,63,255,0,255,248,0,22,23,69,23,0, + 0,255,195,252,63,0,224,31,0,192,15,1,192,7,129,128, + 7,195,0,3,198,0,1,230,0,1,236,0,0,248,0,0, + 120,0,0,120,0,0,124,0,0,222,0,1,158,0,1,143, + 0,3,15,128,6,7,128,14,3,192,12,3,224,24,1,224, + 56,1,240,254,7,252,19,22,66,20,0,0,0,96,0,0, + 96,0,0,240,0,0,240,0,0,240,0,1,248,0,1,56, + 0,3,60,0,2,60,0,6,28,0,4,30,0,12,14,0, + 12,15,0,8,15,0,24,7,0,16,7,128,48,3,128,32, + 3,192,96,3,192,64,1,192,255,255,224,255,255,224,18,23, + 69,20,1,0,255,255,128,63,255,128,28,3,128,28,1,128, + 28,1,128,28,0,0,28,0,0,28,2,0,28,2,0,28, + 2,0,28,14,0,31,254,0,28,6,0,28,2,0,28,2, + 0,28,0,0,28,0,0,28,0,64,28,0,64,28,0,192, + 28,1,192,63,255,128,255,255,128,23,23,69,25,1,0,1, + 255,0,0,124,0,0,56,0,0,56,0,7,255,192,31,57, + 240,60,56,120,120,56,60,120,56,60,240,56,30,240,56,30, + 240,56,30,240,56,30,240,56,30,120,56,28,120,56,60,60, + 56,120,31,57,240,7,255,192,0,56,0,0,56,0,0,124, + 0,1,255,0,18,23,69,20,1,0,255,255,128,63,255,192, + 60,1,192,28,0,192,28,0,64,28,0,64,28,0,0,28, + 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, + 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,0, + 28,0,0,28,0,0,28,0,0,62,0,0,255,128,0,22, + 23,69,24,1,0,255,135,252,62,1,240,28,0,224,28,0, + 224,28,0,224,28,0,224,28,0,224,28,0,224,28,0,224, + 28,0,224,28,0,224,31,255,224,28,0,224,28,0,224,28, + 0,224,28,0,224,28,0,224,28,0,224,28,0,224,28,0, + 224,28,0,224,62,1,240,255,135,252,9,23,46,11,1,0, + 255,128,62,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,28,0,28,0,28,0,28,0,62,0,255,128,20,23, + 69,20,0,0,0,120,0,0,220,0,0,134,0,0,135,0, + 0,131,0,0,195,128,0,67,128,28,99,128,62,57,128,126, + 29,128,199,7,128,199,1,224,6,1,176,14,1,128,14,1, + 128,14,1,128,14,3,128,14,3,0,14,3,0,14,7,0, + 7,6,0,3,156,0,1,248,0,22,23,69,23,1,0,255, + 143,240,62,3,192,28,3,128,28,3,0,28,6,0,28,12, + 0,28,24,0,28,48,0,28,96,0,29,192,0,31,224,0, + 31,224,0,30,240,0,28,120,0,28,124,0,28,62,0,28, + 31,0,28,15,128,28,7,128,28,3,192,28,1,224,62,1, + 240,255,143,252,21,22,66,22,0,0,0,32,0,0,48,0, + 0,112,0,0,112,0,0,248,0,0,248,0,0,188,0,1, + 188,0,1,156,0,1,30,0,3,14,0,3,15,0,2,15, + 0,6,7,0,6,7,128,12,3,128,12,3,192,8,3,192, + 24,1,192,24,1,224,56,1,240,254,7,248,27,23,92,29, + 1,0,254,0,15,224,30,0,15,128,31,0,15,0,31,0, + 31,0,31,0,31,0,31,128,55,0,27,128,55,0,27,192, + 39,0,27,192,103,0,25,224,103,0,25,224,199,0,24,224, + 199,0,24,240,135,0,24,113,135,0,24,121,135,0,24,123, + 7,0,24,63,7,0,24,63,7,0,24,30,7,0,24,30, + 7,0,24,12,7,0,56,12,15,128,255,12,63,224,22,23, + 69,23,1,0,252,3,252,62,0,96,30,0,96,31,0,96, + 31,128,96,31,192,96,27,192,96,25,224,96,25,240,96,24, + 240,96,24,120,96,24,60,96,24,60,96,24,30,96,24,15, + 96,24,15,224,24,7,224,24,3,224,24,1,224,24,1,224, + 24,0,224,56,0,96,255,0,32,22,23,69,23,1,0,1, + 254,0,7,135,128,14,1,192,28,0,224,60,0,240,120,0, + 112,120,0,120,112,0,56,240,0,60,240,0,60,240,0,60, + 240,0,60,240,0,60,240,0,60,240,0,60,112,0,56,120, + 0,120,56,0,112,60,0,240,28,0,224,14,1,192,7,207, + 128,1,254,0,23,23,69,25,1,0,255,255,254,63,255,248, + 28,0,112,28,0,112,28,0,112,28,0,112,28,0,112,28, + 0,112,28,0,112,28,0,112,28,0,112,28,0,112,28,0, + 112,28,0,112,28,0,112,28,0,112,28,0,112,28,0,112, + 28,0,112,28,0,112,28,0,112,62,0,248,255,131,254,22, + 23,69,24,1,0,1,254,0,7,135,128,14,1,192,28,0, + 224,60,0,240,56,0,112,120,0,120,112,0,56,112,0,56, + 242,1,60,243,3,60,243,255,60,243,255,60,243,3,60,242, + 1,60,112,0,56,112,0,56,120,0,120,56,0,112,28,0, + 224,14,1,192,7,135,128,1,254,0,17,23,69,18,1,0, + 255,240,0,63,254,0,28,15,0,28,7,128,28,7,128,28, + 3,128,28,3,128,28,3,128,28,3,128,28,7,128,28,7, + 0,30,62,0,31,252,0,28,0,0,28,0,0,28,0,0, + 28,0,0,28,0,0,28,0,0,28,0,0,28,0,0,62, + 0,0,255,128,0,18,23,69,19,1,0,255,255,0,255,255, + 0,120,3,0,60,1,0,62,1,128,30,0,0,15,0,0, + 7,128,0,7,192,0,3,192,0,1,224,0,0,192,0,1, + 192,0,1,128,0,3,0,0,6,0,0,12,0,64,28,0, + 192,24,0,128,48,1,128,127,255,128,255,255,128,255,255,128, + 19,23,69,20,1,0,255,255,224,248,227,224,192,224,224,192, + 224,96,128,224,32,128,224,32,0,224,0,0,224,0,0,224, + 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, + 0,224,0,0,224,0,0,224,0,0,224,0,0,224,0,0, + 224,0,0,224,0,1,240,0,7,252,0,23,23,69,23,0, + 0,255,193,254,62,0,112,31,0,96,15,0,224,15,128,192, + 7,129,128,3,193,128,3,227,0,1,227,0,0,246,0,0, + 252,0,0,124,0,0,56,0,0,56,0,0,56,0,0,56, + 0,0,56,0,0,56,0,0,56,0,0,56,0,0,56,0, + 0,124,0,1,255,0,13,24,48,14,1,249,3,224,15,240, + 31,240,48,0,96,0,64,0,192,0,192,0,128,0,128,0, + 128,0,192,0,192,0,240,0,127,240,63,240,31,248,0,24, + 0,8,0,8,0,24,7,240,7,240,7,192,23,23,69,25, + 1,0,0,254,0,3,131,128,14,0,224,30,0,240,28,0, + 112,60,0,120,56,0,56,120,0,60,120,0,60,120,0,60, + 120,0,60,120,0,60,120,0,60,56,0,56,60,0,120,28, + 0,112,14,0,224,7,1,192,129,131,2,192,130,6,255,199, + 254,255,199,254,255,199,254,19,23,69,21,1,0,127,255,192, + 127,255,192,127,255,192,96,0,192,64,0,64,0,0,0,0, + 0,0,0,0,0,8,2,0,12,6,0,15,254,0,15,254, + 0,15,254,0,8,2,0,8,2,0,0,0,0,0,0,0, + 192,0,96,192,0,96,64,0,64,127,255,192,127,255,192,127, + 255,192,25,23,92,26,0,0,224,255,131,128,112,62,7,0, + 56,28,14,0,56,28,14,0,60,28,30,0,60,28,30,0, + 60,28,30,0,60,28,30,0,60,28,30,0,28,28,28,0, + 30,28,60,0,15,156,248,0,3,255,224,0,0,28,0,0, + 0,28,0,0,0,28,0,0,0,28,0,0,0,28,0,0, + 0,28,0,0,0,28,0,0,0,28,0,0,0,62,0,0, + 0,255,128,0,19,23,69,20,1,0,127,255,192,120,3,192, + 96,7,128,96,15,0,64,15,0,64,30,0,0,62,0,0, + 60,0,0,120,0,0,248,0,0,240,0,1,224,0,1,224, + 0,3,192,0,7,192,0,7,128,0,15,0,0,31,0,32, + 30,0,32,62,0,96,60,0,224,120,3,192,255,255,192,7, + 28,28,11,3,251,254,224,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,224, + 254,17,16,48,28,5,0,1,224,0,1,224,0,1,224,0, + 1,224,0,0,0,0,0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0,0,240,7,128,240,7, + 128,240,7,128,240,7,128,7,28,28,11,1,251,254,14,6, + 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, + 6,6,6,6,6,6,6,14,254,20,23,69,21,1,0,0, + 96,0,0,96,0,0,96,0,0,96,0,0,96,0,0,96, + 0,0,96,0,0,96,0,0,96,0,0,96,0,0,96,0, + 0,96,0,0,96,0,0,96,0,0,96,0,0,96,0,0, + 96,0,0,96,0,0,96,0,0,96,0,0,96,0,255,255, + 240,255,255,240,16,2,4,16,0,249,255,255,255,255,20,1, + 3,17,15,26,255,255,240,19,17,51,20,1,0,15,193,128, + 28,225,128,56,51,128,112,19,128,112,23,0,240,31,0,224, + 15,0,224,14,0,224,14,0,224,14,0,224,28,0,240,30, + 0,240,30,32,112,58,32,120,115,224,60,225,192,15,193,192, + 14,32,64,18,2,249,15,128,25,224,48,224,112,112,96,112, + 96,112,96,112,96,112,96,112,96,96,103,192,103,224,96,112, + 96,56,96,56,96,60,96,28,96,28,96,28,96,28,96,28, + 96,56,120,120,111,240,99,192,96,0,96,0,96,0,96,0, + 224,0,224,0,224,0,17,25,75,18,0,249,24,0,0,60, + 14,0,126,14,0,70,30,0,194,28,0,195,60,0,3,56, + 0,1,112,0,1,112,0,1,224,0,1,224,0,1,192,0, + 3,192,0,3,128,0,7,192,0,7,192,0,15,64,0,14, + 64,0,30,96,0,28,97,128,60,97,128,56,51,0,120,63, + 0,112,62,0,112,30,0,14,25,50,16,1,0,15,128,31, + 224,48,240,32,120,48,48,56,0,28,0,14,0,7,128,3, + 192,7,240,28,240,56,120,112,56,240,60,224,28,224,28,224, + 28,224,28,240,28,240,56,112,56,120,112,31,224,7,128,12, + 18,36,14,1,255,31,128,57,224,112,224,224,224,224,64,224, + 0,112,0,120,0,31,128,120,0,240,0,224,0,224,0,224, + 16,240,48,120,48,63,224,15,128,15,30,60,17,1,249,1, + 0,1,0,1,0,1,0,1,0,1,0,15,192,29,112,57, + 56,113,28,113,28,225,30,225,14,225,14,225,14,225,14,225, + 14,241,14,113,12,113,28,57,24,29,112,7,224,1,0,1, + 0,1,0,1,0,1,0,1,0,1,0,15,24,48,13,254, + 249,56,14,124,14,124,14,198,28,134,28,130,28,3,56,3, + 56,1,48,1,48,1,96,1,224,1,192,0,192,0,192,1, + 128,1,192,1,192,3,192,3,192,3,192,3,192,3,128,1, + 128,17,24,72,20,0,249,24,56,0,124,254,0,223,222,0, + 207,15,0,143,7,0,14,7,0,14,7,0,14,7,0,14, + 7,0,14,7,0,14,7,0,14,7,0,14,7,0,14,7, + 0,14,7,0,14,7,0,14,7,0,0,7,0,0,7,0, + 0,7,0,0,7,0,0,7,0,0,3,0,0,3,128,10, + 17,34,11,0,0,4,0,124,0,252,0,60,0,28,0,28, + 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, + 64,28,192,15,192,15,0,18,24,72,20,1,249,6,60,0, + 30,126,0,56,255,0,112,199,128,112,195,128,240,195,192,224, + 193,192,224,193,192,224,193,192,224,193,192,240,193,192,240,193, + 128,112,195,128,120,195,0,56,199,0,30,220,0,7,248,0, + 0,192,0,0,192,0,0,192,0,0,192,0,0,192,0,0, + 192,0,0,192,0,17,17,51,18,1,0,8,7,0,248,31, + 128,248,63,128,56,99,0,24,192,0,25,128,0,27,0,0, + 31,128,0,31,128,0,27,192,0,25,224,0,24,240,0,24, + 240,0,24,120,0,24,60,0,24,62,0,24,127,128,17,25, + 75,18,1,0,56,0,0,124,0,0,126,0,0,198,0,0, + 195,0,0,131,0,0,1,0,0,1,0,0,1,128,0,3, + 128,0,3,128,0,7,128,0,7,192,0,15,192,0,14,192, + 0,30,64,0,28,96,0,28,96,0,56,96,0,56,96,128, + 112,48,128,112,57,128,224,63,0,224,31,0,224,14,0,17, + 24,72,19,1,249,112,56,0,112,56,0,112,56,0,112,56, + 0,112,56,0,112,56,0,112,56,0,112,56,0,112,56,0, + 112,56,0,112,56,0,112,56,0,112,120,0,120,120,128,127, + 253,128,127,159,128,110,30,0,96,0,0,96,0,0,96,0, + 0,224,0,0,224,0,0,224,0,0,96,0,0,16,17,34, + 17,255,0,24,6,248,7,60,7,28,7,28,7,30,6,14, + 6,14,12,7,12,7,24,7,152,3,176,3,160,1,224,1, + 192,1,192,0,128,15,17,34,18,1,0,7,192,28,112,48, + 56,112,60,112,28,224,30,224,14,224,14,224,14,224,14,224, + 14,240,14,112,28,120,28,56,56,30,112,15,224,17,17,51, + 18,0,0,15,255,128,63,255,128,63,255,128,102,56,0,198, + 56,0,6,48,0,6,48,0,6,48,0,6,48,0,6,48, + 0,4,48,0,12,48,0,12,48,128,28,57,128,60,63,0, + 60,31,0,56,30,0,14,23,46,17,1,0,7,128,28,224, + 24,112,48,48,112,56,112,56,240,60,224,28,224,28,224,28, + 224,28,255,252,255,252,224,28,224,28,224,28,224,28,112,56, + 112,56,112,56,56,112,28,224,15,192,14,25,50,18,2,249, + 7,192,31,224,48,240,96,120,96,120,224,60,224,60,224,28, + 224,28,224,28,224,28,224,24,224,24,224,56,240,112,248,224, + 239,192,231,0,224,0,224,0,224,0,224,0,224,0,224,0, + 224,0,18,18,54,20,1,0,3,255,192,15,255,192,63,255, + 192,124,48,0,120,24,0,240,28,0,240,14,0,224,15,0, + 224,7,0,224,7,0,240,7,0,112,7,0,112,15,0,56, + 14,0,60,30,0,30,56,0,7,240,0,1,192,0,14,17, + 34,14,0,0,15,252,63,252,63,252,99,128,195,128,195,128, + 3,0,3,0,3,0,3,0,3,0,3,8,3,136,3,152, + 3,248,1,240,1,224,17,18,54,19,0,0,0,16,0,60, + 24,0,124,28,0,252,6,0,206,7,0,142,3,0,14,3, + 0,14,3,128,14,3,128,14,3,128,14,3,128,14,3,128, + 14,3,0,14,7,0,7,7,0,7,14,0,3,156,0,1, + 248,0,21,19,57,23,0,0,31,255,248,63,255,248,127,255, + 248,231,131,128,222,0,192,60,0,224,56,56,112,120,56,112, + 120,56,56,120,56,56,112,56,56,112,56,56,112,56,56,112, + 16,56,120,16,56,120,56,112,56,40,112,28,236,224,15,135, + 192,20,17,51,22,1,0,15,14,0,28,7,128,56,1,192, + 112,97,224,112,224,224,224,224,240,224,224,240,224,224,112,224, + 224,112,224,224,112,224,224,112,224,64,112,224,224,240,112,224, + 224,113,177,224,63,31,192,30,15,0,14,33,66,16,1,249, + 48,0,96,192,99,224,103,192,63,128,24,0,48,0,32,0, + 32,0,48,0,49,240,31,240,31,224,48,0,96,0,64,0, + 192,0,128,0,128,0,128,0,192,0,192,0,248,0,127,240, + 63,252,31,252,0,12,0,4,0,4,0,12,3,248,3,248, + 1,224,22,24,72,22,0,249,240,48,60,120,48,120,60,48, + 240,28,48,224,28,48,224,28,48,224,28,48,224,28,48,224, + 30,48,224,30,49,224,30,49,224,14,49,192,14,49,192,6, + 49,192,7,51,128,3,183,0,1,254,0,0,48,0,0,48, + 0,0,48,0,0,48,0,0,48,0,0,48,0,0,48,0, + 13,32,64,16,2,249,24,0,56,112,48,240,51,224,63,192, + 14,0,12,0,24,0,16,0,48,0,32,0,96,0,64,0, + 64,0,192,0,192,0,192,0,192,0,192,0,224,0,96,0, + 127,192,63,240,31,248,15,248,0,24,0,8,0,8,0,24, + 3,248,7,240,3,224,11,29,58,16,2,250,7,224,14,0, + 12,0,12,0,12,0,12,0,12,0,12,0,12,0,12,0, + 12,0,28,0,28,0,112,0,192,0,112,0,28,0,28,0, + 12,0,12,0,12,0,12,0,12,0,12,0,12,0,12,0, + 12,0,14,0,7,224,2,28,28,7,2,250,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,11,29,58,16,2,250,252,0, + 14,0,6,0,6,0,6,0,6,0,6,0,6,0,6,0, + 6,0,6,0,7,0,7,0,1,192,0,96,1,192,7,0, + 7,0,6,0,6,0,6,0,6,0,6,0,6,0,6,0, + 6,0,6,0,14,0,252,0,15,4,8,18,1,7,24,0, + 127,134,227,254,192,56,255}; +/* + Fontname: -Adobe-Times-Bold-R-Normal--11-80-100-100-P-57-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 7, '1' Height: 7 + Calculated Max Values w=10 h=11 x= 1 y= 6 dx=11 dy= 0 ascent=10 len=18 + Font Bounding box w=13 h=18 x=-2 y=-5 + Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 + Pure Font ascent = 7 descent=-3 + X Font ascent = 7 descent=-3 + Max Font ascent =10 descent=-3 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_timB08[2551] U8G_FONT_SECTION("u8g_font_timB08") = { + 0,13,18,254,251,7,1,164,3,77,32,255,253,10,253,7, + 253,0,0,0,2,0,1,2,7,7,4,1,0,192,192,192, + 192,0,192,192,3,3,3,5,1,4,160,160,160,5,7,7, + 6,0,0,80,80,248,80,248,80,80,5,9,9,5,0,255, + 32,112,184,224,96,48,184,112,32,7,7,7,9,1,0,118, + 220,232,16,46,90,156,7,7,7,9,1,0,48,104,104,118, + 220,204,118,1,3,3,3,1,4,128,128,128,3,10,10,3, + 255,253,32,96,64,192,192,192,192,64,96,32,3,10,10,4, + 0,253,128,192,64,96,96,96,96,64,192,128,5,5,5,6, + 0,2,32,248,112,248,32,5,5,5,6,0,0,32,32,248, + 32,32,2,3,3,4,1,255,192,192,64,3,1,1,3,0, + 2,224,2,2,2,3,0,0,192,192,3,7,7,3,0,0, + 32,32,96,64,192,128,128,4,7,7,5,0,0,96,208,208, + 208,208,208,96,4,7,7,5,0,0,96,224,96,96,96,96, + 240,4,7,7,5,0,0,96,240,48,32,64,240,240,4,7, + 7,5,0,0,96,176,48,96,48,176,224,5,7,7,5,0, + 0,16,48,80,144,248,48,48,4,7,7,5,0,0,224,224, + 128,224,48,176,224,4,7,7,5,0,0,48,96,192,240,208, + 208,96,5,7,7,5,0,0,120,240,144,48,32,96,96,4, + 7,7,5,0,0,96,208,208,96,176,176,96,4,7,7,5, + 0,0,96,176,176,176,112,48,224,2,5,5,4,1,0,192, + 192,0,192,192,2,6,6,4,1,255,192,192,0,192,192,64, + 5,5,5,6,0,0,24,112,192,112,24,5,3,3,6,0, + 1,248,0,248,5,5,5,6,0,0,192,112,24,112,192,4, + 7,7,6,1,0,96,176,176,32,0,96,96,10,9,18,11, + 0,254,31,0,48,128,109,64,218,64,210,64,210,128,205,0, + 96,0,62,0,8,7,7,7,255,0,16,24,56,44,124,78, + 239,6,7,7,7,0,0,248,108,108,120,108,108,248,6,7, + 7,7,0,0,124,204,192,192,192,236,120,7,7,7,8,0, + 0,252,102,102,102,102,102,252,6,7,7,7,0,0,252,100, + 96,120,96,100,252,6,7,7,7,0,0,252,100,104,120,104, + 96,240,6,7,7,7,0,0,124,204,192,220,204,204,120,8, + 7,7,9,0,0,231,102,102,126,102,102,231,4,7,7,5, + 0,0,240,96,96,96,96,96,240,5,8,8,5,0,255,120, + 48,48,48,48,48,176,224,7,7,7,8,0,0,238,100,104, + 120,108,110,230,6,7,7,7,0,0,240,96,96,96,100,108, + 252,9,7,14,10,0,0,243,128,119,0,91,0,91,0,91, + 0,75,0,227,128,7,7,7,8,0,0,238,100,116,92,92, + 76,228,6,7,7,7,0,0,120,204,204,204,204,204,120,6, + 7,7,6,0,0,248,108,108,120,96,96,240,6,9,9,7, + 0,254,120,204,204,204,204,204,120,48,28,7,7,7,7,0, + 0,248,108,108,120,104,108,238,5,7,7,6,0,0,120,200, + 224,112,56,152,240,6,7,7,7,0,0,252,180,48,48,48, + 48,120,7,7,7,7,0,0,246,100,100,100,100,100,56,8, + 7,7,8,0,0,243,98,116,52,56,24,16,10,7,14,10, + 0,0,238,192,108,128,109,128,109,0,55,0,54,0,18,0, + 7,7,7,7,0,0,230,100,56,56,44,76,222,8,7,7, + 8,0,0,247,98,52,56,24,24,60,6,7,7,7,0,0, + 252,204,152,48,100,204,252,3,10,10,4,0,253,224,192,192, + 192,192,192,192,192,192,224,3,7,7,3,0,0,128,128,192, + 64,96,32,32,3,10,10,4,0,253,224,96,96,96,96,96, + 96,96,96,224,5,4,4,6,0,3,32,112,216,136,5,1, + 1,5,0,253,248,2,2,2,4,0,6,128,64,5,5,5, + 5,0,0,96,176,112,176,248,5,7,7,5,255,0,224,96, + 112,104,104,104,112,4,5,5,5,0,0,112,208,192,208,112, + 6,7,7,6,0,0,56,24,120,216,216,216,108,4,5,5, + 5,0,0,112,208,240,192,112,4,7,7,3,255,0,48,96, + 240,96,96,96,240,5,8,8,5,0,253,120,208,208,112,192, + 240,144,240,6,7,7,5,255,0,224,96,120,104,104,104,108, + 2,7,7,3,0,0,192,0,192,192,192,192,192,3,10,10, + 4,0,253,96,0,96,96,96,96,96,96,96,192,6,7,7, + 5,255,0,224,96,108,104,112,104,236,3,7,7,3,255,0, + 224,96,96,96,96,96,96,8,5,5,8,0,0,172,254,214, + 214,215,6,5,5,6,0,0,176,216,216,216,220,5,5,5, + 6,0,0,112,216,216,216,112,5,8,8,5,255,253,240,104, + 104,104,112,96,96,224,5,8,8,5,0,253,112,208,208,208, + 112,48,48,56,4,5,5,4,0,0,208,240,192,192,192,3, + 5,5,4,0,0,96,192,224,96,224,4,7,7,4,255,0, + 32,96,240,96,96,96,48,5,5,5,5,0,0,216,208,208, + 208,112,5,5,5,5,0,0,216,208,112,96,32,7,5,5, + 6,255,0,214,212,92,120,40,4,5,5,5,0,0,208,240, + 96,240,176,5,8,8,5,0,253,216,216,112,112,32,32,192, + 192,4,5,5,5,0,0,240,176,96,208,240,4,10,10,4, + 255,253,48,96,96,96,192,192,96,96,96,48,1,10,10,3, + 1,253,128,128,128,128,128,128,128,128,128,128,4,10,10,4, + 0,253,192,96,96,96,48,48,96,96,96,192,5,2,2,6, + 0,2,104,176,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,255,255, + 255,255,255,255,255,0,0,0,2,0,1,2,7,7,4,1, + 253,192,192,0,192,192,192,192,5,7,7,6,0,255,16,120, + 208,208,224,120,32,5,7,7,6,0,0,56,104,96,248,96, + 232,216,5,5,5,6,0,1,136,112,80,112,136,5,7,7, + 6,0,0,216,216,112,32,112,32,112,1,7,7,3,1,0, + 128,128,128,0,128,128,128,4,9,9,5,0,254,96,176,192, + 160,208,112,48,208,96,3,1,1,4,0,5,160,7,7,7, + 9,1,0,56,68,154,162,154,68,56,3,6,6,4,0,1, + 192,32,224,160,0,224,5,5,5,6,0,0,40,80,160,80, + 40,5,3,3,7,1,1,248,8,8,3,1,1,3,0,2, + 224,7,7,7,9,1,0,56,68,186,178,170,68,56,3,1, + 1,4,0,5,224,4,3,3,4,0,4,96,144,96,5,7, + 7,6,0,0,32,32,248,32,32,0,248,3,4,4,3,0, + 3,96,160,64,224,3,4,4,3,0,3,224,64,32,192,2, + 2,2,4,1,5,64,128,5,8,8,5,0,253,216,208,208, + 208,240,128,192,192,6,10,10,6,0,253,124,232,232,232,104, + 40,40,40,40,40,1,2,2,3,1,2,128,128,2,3,3, + 3,1,253,128,64,192,3,4,4,3,0,3,64,192,64,224, + 3,6,6,4,0,1,64,160,160,64,0,224,5,5,5,6, + 0,0,160,80,40,80,160,7,7,7,7,0,0,68,200,72, + 244,44,62,68,7,7,7,7,0,0,68,200,72,246,42,36, + 78,7,7,7,7,0,0,228,72,40,212,44,62,68,4,7, + 7,6,1,253,96,96,0,64,208,208,96,8,10,10,7,255, + 0,32,16,0,16,24,56,44,124,78,239,8,10,10,7,255, + 0,8,16,0,16,24,56,44,124,78,239,8,10,10,7,255, + 0,16,40,0,16,24,56,44,124,78,239,8,10,10,7,255, + 0,52,88,0,16,24,56,44,124,78,239,8,9,9,7,255, + 0,36,0,16,24,56,44,124,78,239,8,10,10,7,255,0, + 24,36,24,16,24,56,44,124,78,239,9,7,14,9,255,0, + 63,128,28,128,44,0,47,0,124,0,76,128,239,128,6,10, + 10,7,0,253,124,204,192,192,192,236,120,32,16,48,6,10, + 10,7,0,0,32,16,0,252,100,96,120,96,100,252,6,10, + 10,7,0,0,8,16,0,252,100,96,120,96,100,252,6,10, + 10,7,0,0,48,72,0,252,100,96,120,96,100,252,6,9, + 9,7,0,0,40,0,252,100,96,120,96,100,252,4,10,10, + 5,0,0,64,32,0,240,96,96,96,96,96,240,4,10,10, + 5,0,0,32,64,0,240,96,96,96,96,96,240,4,10,10, + 5,0,0,96,144,0,240,96,96,96,96,96,240,4,9,9, + 5,0,0,144,0,240,96,96,96,96,96,240,7,7,7,8, + 0,0,252,102,102,246,102,102,252,7,10,10,8,0,0,52, + 88,0,238,100,116,92,92,76,228,6,10,10,7,0,0,32, + 16,0,120,204,204,204,204,204,120,6,10,10,7,0,0,16, + 32,0,120,204,204,204,204,204,120,6,10,10,7,0,0,48, + 72,0,120,204,204,204,204,204,120,6,10,10,7,0,0,52, + 88,0,120,204,204,204,204,204,120,6,9,9,7,0,0,72, + 0,120,204,204,204,204,204,120,6,5,5,6,0,0,204,120, + 48,120,204,6,9,9,8,1,255,4,120,204,220,236,236,204, + 120,128,7,10,10,7,0,0,32,16,0,246,100,100,100,100, + 100,56,7,10,10,7,0,0,8,16,0,246,100,100,100,100, + 100,56,7,10,10,7,0,0,24,36,0,246,100,100,100,100, + 100,56,7,9,9,7,0,0,36,0,246,100,100,100,100,100, + 56,8,10,10,8,0,0,4,8,0,247,98,52,56,24,24, + 60,6,7,7,6,0,0,224,120,108,108,120,96,240,5,7, + 7,6,0,0,112,200,200,208,200,200,216,5,8,8,5,0, + 0,64,32,0,96,176,112,176,248,5,8,8,5,0,0,16, + 32,0,96,176,112,176,248,5,8,8,5,0,0,32,80,0, + 96,176,112,176,248,5,8,8,5,0,0,104,176,0,96,176, + 112,176,248,5,7,7,5,0,0,80,0,96,176,112,176,248, + 5,8,8,5,0,0,32,80,32,96,176,112,176,248,7,5, + 5,8,0,0,110,186,126,184,238,4,8,8,5,0,253,112, + 208,192,208,112,64,32,96,4,8,8,5,0,0,64,32,0, + 112,208,240,192,112,4,8,8,5,0,0,16,32,0,112,208, + 240,192,112,5,8,8,5,0,0,32,80,136,112,208,240,192, + 112,4,7,7,5,0,0,80,0,112,208,240,192,112,2,8, + 8,3,0,0,128,64,0,192,192,192,192,192,2,8,8,3, + 0,0,64,128,0,192,192,192,192,192,3,8,8,3,0,0, + 64,160,0,192,192,192,192,192,3,7,7,3,0,0,160,0, + 192,192,192,192,192,5,9,9,6,0,0,128,112,96,176,24, + 120,216,216,112,6,8,8,6,0,0,104,176,0,176,216,216, + 216,220,5,8,8,6,0,0,64,32,0,112,216,216,216,112, + 5,8,8,6,0,0,16,32,0,112,216,216,216,112,5,8, + 8,6,0,0,32,80,0,112,216,216,216,112,5,8,8,6, + 0,0,104,176,0,112,216,216,216,112,5,7,7,6,0,0, + 80,0,112,216,216,216,112,5,5,5,6,0,0,32,0,248, + 0,32,5,7,7,6,0,255,16,112,216,216,216,112,64,5, + 8,8,5,0,0,64,32,0,216,208,208,208,112,5,8,8, + 5,0,0,16,32,0,216,208,208,208,112,5,8,8,5,0, + 0,32,80,0,216,208,208,208,112,5,7,7,5,0,0,80, + 0,216,208,208,208,112,5,11,11,5,0,253,16,32,0,216, + 216,112,112,32,32,192,192,5,10,10,5,255,253,224,96,112, + 104,104,104,112,96,96,224,5,10,10,5,0,253,80,0,216, + 216,112,112,32,32,192,192}; +/* + Fontname: -Adobe-Times-Bold-R-Normal--11-80-100-100-P-57-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 7, '1' Height: 7 + Calculated Max Values w=10 h=10 x= 1 y= 6 dx=11 dy= 0 ascent= 8 len=18 + Font Bounding box w=13 h=18 x=-2 y=-5 + Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 + Pure Font ascent = 7 descent=-3 + X Font ascent = 7 descent=-3 + Max Font ascent = 8 descent=-3 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_timB08r[1221] U8G_FONT_SECTION("u8g_font_timB08r") = { + 0,13,18,254,251,7,1,164,3,77,32,127,253,8,253,7, + 253,0,0,0,2,0,1,2,7,7,4,1,0,192,192,192, + 192,0,192,192,3,3,3,5,1,4,160,160,160,5,7,7, + 6,0,0,80,80,248,80,248,80,80,5,9,9,5,0,255, + 32,112,184,224,96,48,184,112,32,7,7,7,9,1,0,118, + 220,232,16,46,90,156,7,7,7,9,1,0,48,104,104,118, + 220,204,118,1,3,3,3,1,4,128,128,128,3,10,10,3, + 255,253,32,96,64,192,192,192,192,64,96,32,3,10,10,4, + 0,253,128,192,64,96,96,96,96,64,192,128,5,5,5,6, + 0,2,32,248,112,248,32,5,5,5,6,0,0,32,32,248, + 32,32,2,3,3,4,1,255,192,192,64,3,1,1,3,0, + 2,224,2,2,2,3,0,0,192,192,3,7,7,3,0,0, + 32,32,96,64,192,128,128,4,7,7,5,0,0,96,208,208, + 208,208,208,96,4,7,7,5,0,0,96,224,96,96,96,96, + 240,4,7,7,5,0,0,96,240,48,32,64,240,240,4,7, + 7,5,0,0,96,176,48,96,48,176,224,5,7,7,5,0, + 0,16,48,80,144,248,48,48,4,7,7,5,0,0,224,224, + 128,224,48,176,224,4,7,7,5,0,0,48,96,192,240,208, + 208,96,5,7,7,5,0,0,120,240,144,48,32,96,96,4, + 7,7,5,0,0,96,208,208,96,176,176,96,4,7,7,5, + 0,0,96,176,176,176,112,48,224,2,5,5,4,1,0,192, + 192,0,192,192,2,6,6,4,1,255,192,192,0,192,192,64, + 5,5,5,6,0,0,24,112,192,112,24,5,3,3,6,0, + 1,248,0,248,5,5,5,6,0,0,192,112,24,112,192,4, + 7,7,6,1,0,96,176,176,32,0,96,96,10,9,18,11, + 0,254,31,0,48,128,109,64,218,64,210,64,210,128,205,0, + 96,0,62,0,8,7,7,7,255,0,16,24,56,44,124,78, + 239,6,7,7,7,0,0,248,108,108,120,108,108,248,6,7, + 7,7,0,0,124,204,192,192,192,236,120,7,7,7,8,0, + 0,252,102,102,102,102,102,252,6,7,7,7,0,0,252,100, + 96,120,96,100,252,6,7,7,7,0,0,252,100,104,120,104, + 96,240,6,7,7,7,0,0,124,204,192,220,204,204,120,8, + 7,7,9,0,0,231,102,102,126,102,102,231,4,7,7,5, + 0,0,240,96,96,96,96,96,240,5,8,8,5,0,255,120, + 48,48,48,48,48,176,224,7,7,7,8,0,0,238,100,104, + 120,108,110,230,6,7,7,7,0,0,240,96,96,96,100,108, + 252,9,7,14,10,0,0,243,128,119,0,91,0,91,0,91, + 0,75,0,227,128,7,7,7,8,0,0,238,100,116,92,92, + 76,228,6,7,7,7,0,0,120,204,204,204,204,204,120,6, + 7,7,6,0,0,248,108,108,120,96,96,240,6,9,9,7, + 0,254,120,204,204,204,204,204,120,48,28,7,7,7,7,0, + 0,248,108,108,120,104,108,238,5,7,7,6,0,0,120,200, + 224,112,56,152,240,6,7,7,7,0,0,252,180,48,48,48, + 48,120,7,7,7,7,0,0,246,100,100,100,100,100,56,8, + 7,7,8,0,0,243,98,116,52,56,24,16,10,7,14,10, + 0,0,238,192,108,128,109,128,109,0,55,0,54,0,18,0, + 7,7,7,7,0,0,230,100,56,56,44,76,222,8,7,7, + 8,0,0,247,98,52,56,24,24,60,6,7,7,7,0,0, + 252,204,152,48,100,204,252,3,10,10,4,0,253,224,192,192, + 192,192,192,192,192,192,224,3,7,7,3,0,0,128,128,192, + 64,96,32,32,3,10,10,4,0,253,224,96,96,96,96,96, + 96,96,96,224,5,4,4,6,0,3,32,112,216,136,5,1, + 1,5,0,253,248,2,2,2,4,0,6,128,64,5,5,5, + 5,0,0,96,176,112,176,248,5,7,7,5,255,0,224,96, + 112,104,104,104,112,4,5,5,5,0,0,112,208,192,208,112, + 6,7,7,6,0,0,56,24,120,216,216,216,108,4,5,5, + 5,0,0,112,208,240,192,112,4,7,7,3,255,0,48,96, + 240,96,96,96,240,5,8,8,5,0,253,120,208,208,112,192, + 240,144,240,6,7,7,5,255,0,224,96,120,104,104,104,108, + 2,7,7,3,0,0,192,0,192,192,192,192,192,3,10,10, + 4,0,253,96,0,96,96,96,96,96,96,96,192,6,7,7, + 5,255,0,224,96,108,104,112,104,236,3,7,7,3,255,0, + 224,96,96,96,96,96,96,8,5,5,8,0,0,172,254,214, + 214,215,6,5,5,6,0,0,176,216,216,216,220,5,5,5, + 6,0,0,112,216,216,216,112,5,8,8,5,255,253,240,104, + 104,104,112,96,96,224,5,8,8,5,0,253,112,208,208,208, + 112,48,48,56,4,5,5,4,0,0,208,240,192,192,192,3, + 5,5,4,0,0,96,192,224,96,224,4,7,7,4,255,0, + 32,96,240,96,96,96,48,5,5,5,5,0,0,216,208,208, + 208,112,5,5,5,5,0,0,216,208,112,96,32,7,5,5, + 6,255,0,214,212,92,120,40,4,5,5,5,0,0,208,240, + 96,240,176,5,8,8,5,0,253,216,216,112,112,32,32,192, + 192,4,5,5,5,0,0,240,176,96,208,240,4,10,10,4, + 255,253,48,96,96,96,192,192,96,96,96,48,1,10,10,3, + 1,253,128,128,128,128,128,128,128,128,128,128,4,10,10,4, + 0,253,192,96,96,96,48,48,96,96,96,192,5,2,2,6, + 0,2,104,176,255}; +/* + Fontname: -Adobe-Times-Bold-R-Normal--14-100-100-100-P-76-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 10, '1' Height: 10 + Calculated Max Values w=15 h=14 x= 1 y= 8 dx=14 dy= 0 ascent=14 len=28 + Font Bounding box w=17 h=24 x=-2 y=-6 + Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 + Pure Font ascent =10 descent=-3 + X Font ascent =10 descent=-3 + Max Font ascent =14 descent=-3 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_timB10[3539] U8G_FONT_SECTION("u8g_font_timB10") = { + 0,17,24,254,250,10,2,6,4,148,32,255,253,14,253,10, + 253,0,0,0,3,0,1,2,10,10,4,1,0,192,192,192, + 192,192,192,192,0,192,192,5,4,4,7,1,6,216,216,216, + 72,7,10,10,7,255,0,20,20,20,126,40,40,252,80,80, + 80,6,12,12,7,0,255,16,120,212,212,240,120,60,28,148, + 212,120,16,13,10,20,14,0,0,56,192,103,192,197,128,201, + 0,115,0,6,112,4,200,13,136,25,144,24,224,10,10,20, + 12,1,0,60,0,102,0,102,0,60,0,57,192,108,128,205, + 128,199,0,239,128,123,0,2,4,4,4,1,6,192,192,192, + 64,3,13,13,5,1,253,32,96,64,192,192,192,192,192,192, + 192,64,96,32,3,13,13,5,0,253,128,192,64,96,96,96, + 96,96,96,96,64,192,128,5,6,6,7,1,4,32,168,112, + 112,168,32,7,7,7,8,0,0,16,16,16,254,16,16,16, + 2,4,4,3,0,254,192,192,64,128,3,1,1,4,0,3, + 224,2,2,2,3,0,0,192,192,4,10,10,4,0,0,16, + 16,48,32,96,64,64,192,128,128,6,10,10,7,0,0,120, + 72,204,204,204,204,204,204,72,120,6,10,10,7,0,0,48, + 240,48,48,48,48,48,48,48,252,6,10,10,7,0,0,56, + 124,140,12,12,24,48,64,252,252,6,10,10,7,0,0,56, + 124,140,12,56,28,12,196,236,120,6,10,10,7,0,0,24, + 56,56,88,152,152,252,252,24,24,6,10,10,7,0,0,124, + 124,64,120,124,12,4,196,204,120,6,10,10,7,0,0,28, + 48,96,224,248,204,204,204,204,120,6,10,10,7,0,0,252, + 252,140,8,24,16,16,32,32,96,6,10,10,7,0,0,120, + 204,204,236,120,120,204,204,204,120,6,10,10,7,0,0,120, + 204,204,204,204,124,24,56,112,192,2,7,7,4,1,0,192, + 192,0,0,0,192,192,2,9,9,4,1,254,192,192,0,0, + 0,192,192,64,128,7,7,7,8,0,0,6,28,112,192,112, + 28,6,7,3,3,8,0,2,254,0,254,7,7,7,8,0, + 0,192,112,28,6,28,112,192,5,10,10,7,1,0,112,216, + 216,24,48,96,96,0,96,96,11,12,24,14,1,254,15,128, + 56,192,96,96,69,32,143,32,155,32,155,32,159,96,141,192, + 64,0,96,0,31,128,10,10,20,10,0,0,12,0,12,0, + 30,0,22,0,51,0,35,0,63,0,97,128,65,128,227,192, + 8,10,10,9,0,0,254,99,99,99,126,99,99,99,99,254, + 8,10,10,10,1,0,61,99,193,193,192,192,192,193,99,62, + 9,10,20,10,0,0,254,0,99,0,97,128,97,128,97,128, + 97,128,97,128,97,128,99,0,254,0,8,10,10,9,0,0, + 255,99,97,100,124,100,96,97,99,255,8,10,10,8,0,0, + 255,99,97,100,124,100,100,96,96,240,9,10,20,11,1,0, + 61,0,99,0,193,0,193,0,192,0,199,128,195,0,195,0, + 99,0,62,0,10,10,20,11,0,0,243,192,97,128,97,128, + 97,128,127,128,97,128,97,128,97,128,97,128,243,192,4,10, + 10,5,0,0,240,96,96,96,96,96,96,96,96,240,6,11, + 11,7,0,255,60,24,24,24,24,24,24,24,216,216,112,10, + 10,20,11,1,0,247,192,99,0,98,0,100,0,120,0,124, + 0,110,0,103,0,99,128,247,192,8,10,10,9,0,0,240, + 96,96,96,96,96,97,97,99,255,12,10,20,13,0,0,240, + 240,112,224,112,224,89,96,89,96,90,96,78,96,78,96,68, + 96,228,240,10,10,20,10,0,0,225,192,112,128,112,128,88, + 128,76,128,76,128,70,128,67,128,67,128,225,128,9,10,20, + 11,1,0,62,0,99,0,193,128,193,128,193,128,193,128,193, + 128,193,128,99,0,62,0,8,10,10,9,0,0,254,103,99, + 99,99,126,96,96,96,240,9,13,26,11,1,253,62,0,99, + 0,193,128,193,128,193,128,193,128,193,128,193,128,99,0,62, + 0,28,0,14,0,3,128,10,10,20,10,0,0,254,0,103, + 0,99,0,99,0,102,0,124,0,110,0,103,0,99,128,241, + 192,7,10,10,8,0,0,122,198,194,224,120,28,14,134,198, + 252,8,10,10,9,0,0,255,219,153,24,24,24,24,24,24, + 60,9,10,20,10,0,0,243,128,97,0,97,0,97,0,97, + 0,97,0,97,0,97,0,115,0,62,0,10,10,20,10,0, + 0,241,192,96,128,97,128,49,0,51,0,50,0,26,0,30, + 0,12,0,12,0,15,10,20,14,255,0,247,158,99,12,99, + 8,49,136,49,144,51,144,26,208,28,224,12,96,12,96,11, + 10,20,10,0,0,241,192,112,128,57,0,30,0,12,0,14, + 0,23,0,35,128,65,192,227,224,10,10,20,10,0,0,249, + 192,112,128,49,0,57,0,26,0,30,0,12,0,12,0,12, + 0,30,0,8,10,10,9,0,0,255,199,134,140,24,24,49, + 97,227,255,4,13,13,5,0,253,240,192,192,192,192,192,192, + 192,192,192,192,192,240,4,10,10,4,0,0,128,128,192,64, + 96,32,32,48,16,16,4,13,13,5,0,253,240,48,48,48, + 48,48,48,48,48,48,48,48,240,5,5,5,8,1,5,32, + 112,80,216,136,7,1,1,7,0,253,254,3,3,3,5,1, + 8,128,192,32,7,7,7,7,0,0,120,204,12,124,204,204, + 118,7,10,10,8,0,0,224,96,96,124,102,102,102,102,102, + 92,5,7,7,6,0,0,48,88,200,192,192,232,112,7,10, + 10,7,0,0,28,12,12,124,204,204,204,204,204,118,6,7, + 7,6,0,0,56,76,204,252,192,228,120,5,10,10,5,0, + 0,56,104,96,240,96,96,96,96,96,240,7,10,10,7,0, + 253,126,204,204,204,120,64,124,254,130,124,8,10,10,8,0, + 0,224,96,96,108,118,102,102,102,102,231,4,10,10,4,0, + 0,96,96,0,224,96,96,96,96,96,240,4,13,13,4,255, + 253,48,48,0,112,48,48,48,48,48,48,48,176,224,8,10, + 10,8,0,0,224,96,96,110,100,104,120,108,102,231,4,10, + 10,4,0,0,224,96,96,96,96,96,96,96,96,240,12,7, + 14,12,0,0,236,192,119,96,102,96,102,96,102,96,102,96, + 247,112,8,7,7,8,0,0,236,118,102,102,102,102,231,6, + 7,7,7,0,0,120,204,204,204,204,204,120,7,10,10,8, + 0,253,236,118,102,102,102,102,124,96,96,240,7,10,10,7, + 0,253,108,220,204,204,204,204,124,12,12,30,6,7,7,6, + 0,0,220,108,96,96,96,96,240,5,7,7,6,0,0,120, + 200,224,112,56,152,240,5,9,9,5,0,0,32,96,240,96, + 96,96,104,112,48,8,7,7,7,255,0,238,102,102,102,102, + 102,59,8,7,7,7,255,0,247,98,98,52,52,24,24,10, + 7,14,10,0,0,238,192,100,128,118,128,55,0,59,0,59, + 0,18,0,7,7,7,7,0,0,238,108,56,56,56,108,238, + 8,10,10,7,255,253,247,98,50,52,28,28,8,8,56,48, + 6,7,7,6,0,0,252,156,24,48,100,228,252,5,13,13, + 7,1,253,24,48,48,48,48,96,192,96,48,48,48,48,24, + 1,12,12,3,1,254,128,128,128,128,128,128,128,128,128,128, + 128,128,5,13,13,7,0,253,192,96,96,96,96,48,24,48, + 96,96,96,96,192,7,4,4,8,0,3,96,242,158,12,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,255,255,255,255,255,255,255, + 0,0,0,3,0,1,2,10,10,4,1,253,192,192,0,192, + 192,192,192,192,192,192,6,11,11,7,0,254,8,8,120,212, + 208,208,240,228,120,32,32,7,10,10,8,0,0,60,118,102, + 96,48,248,48,48,246,222,7,6,6,8,0,2,56,238,68, + 68,238,56,8,10,10,8,0,0,247,98,118,52,60,24,60, + 24,24,60,1,12,12,3,1,254,128,128,128,128,128,0,0, + 128,128,128,128,128,5,12,12,7,1,254,112,216,200,96,240, + 152,200,120,48,152,216,112,3,2,2,5,1,8,160,160,10, + 10,20,12,1,0,30,0,97,128,78,128,146,64,144,64,144, + 64,146,64,76,128,97,128,30,0,4,7,7,5,0,3,96, + 16,112,144,112,0,240,7,5,5,9,1,1,54,108,216,108, + 54,7,4,4,9,1,1,254,2,2,2,3,1,1,4,0, + 3,224,10,10,20,12,1,0,30,0,97,128,92,128,146,64, + 146,64,156,64,148,64,82,128,97,128,30,0,4,1,1,5, + 0,8,240,4,4,4,6,1,6,96,144,144,96,7,9,9, + 8,0,0,16,16,16,254,16,16,16,0,254,4,6,6,4, + 0,4,96,176,48,96,192,240,4,6,6,4,0,4,96,176, + 96,48,176,96,3,3,3,5,1,8,32,96,128,8,10,10, + 7,255,253,238,102,102,102,102,102,123,64,96,96,7,13,13, + 8,0,253,126,244,244,244,244,116,20,20,20,20,20,20,20, + 2,2,2,4,0,4,192,192,3,3,3,5,1,253,64,32, + 224,4,6,6,4,0,4,32,224,96,96,96,240,4,7,7, + 5,0,3,96,144,144,144,96,0,240,7,5,5,9,1,1, + 216,108,54,108,216,10,10,20,10,0,0,33,0,226,0,98, + 0,100,0,100,128,249,128,11,128,22,128,23,192,33,128,10, + 10,20,10,0,0,33,0,226,0,98,0,100,0,101,128,250, + 192,8,192,17,128,19,0,35,192,10,10,20,10,0,0,97, + 0,178,0,98,0,52,0,180,128,105,128,11,128,22,128,23, + 192,33,128,5,10,10,7,1,253,48,48,0,48,48,96,192, + 216,216,112,10,14,28,10,0,0,16,0,24,0,4,0,0, + 0,12,0,12,0,30,0,22,0,51,0,35,0,63,0,97, + 128,65,128,227,192,10,14,28,10,0,0,2,0,6,0,8, + 0,0,0,12,0,12,0,30,0,22,0,51,0,35,0,63, + 0,97,128,65,128,227,192,10,14,28,10,0,0,8,0,28, + 0,34,0,0,0,12,0,12,0,30,0,22,0,51,0,35, + 0,63,0,97,128,65,128,227,192,10,13,26,10,0,0,26, + 0,44,0,0,0,12,0,12,0,30,0,22,0,51,0,35, + 0,63,0,97,128,65,128,227,192,10,13,26,10,0,0,18, + 0,18,0,0,0,12,0,12,0,30,0,22,0,51,0,35, + 0,63,0,97,128,65,128,227,192,10,14,28,10,0,0,12, + 0,18,0,12,0,0,0,12,0,12,0,30,0,22,0,51, + 0,35,0,63,0,97,128,65,128,227,192,13,10,20,14,0, + 0,31,248,15,24,11,8,27,32,19,224,63,32,35,40,99, + 8,67,24,231,248,8,13,13,10,1,253,61,99,193,193,192, + 192,192,193,99,62,16,8,56,8,14,14,9,0,0,32,48, + 8,0,255,99,97,100,124,100,101,97,99,255,8,14,14,9, + 0,0,4,12,16,0,255,99,97,100,124,100,101,97,99,255, + 8,14,14,9,0,0,8,28,34,0,255,99,97,100,124,100, + 101,97,99,255,8,13,13,9,0,0,36,36,0,255,99,97, + 100,124,100,101,97,99,255,4,14,14,5,0,0,128,192,32, + 0,240,96,96,96,96,96,96,96,96,240,4,14,14,5,0, + 0,16,48,64,0,240,96,96,96,96,96,96,96,96,240,5, + 14,14,5,0,0,32,112,136,0,240,96,96,96,96,96,96, + 96,96,240,4,13,13,5,0,0,144,144,0,240,96,96,96, + 96,96,96,96,96,240,9,10,20,11,1,0,254,0,99,0, + 97,128,97,128,241,128,97,128,97,128,97,128,99,0,254,0, + 10,13,26,10,0,0,26,0,44,0,0,0,225,192,112,128, + 112,128,88,128,76,128,76,128,70,128,67,128,67,128,225,128, + 9,14,28,11,1,0,16,0,24,0,4,0,0,0,62,0, + 99,0,193,128,193,128,193,128,193,128,193,128,193,128,99,0, + 62,0,9,14,28,11,1,0,4,0,12,0,16,0,0,0, + 62,0,99,0,193,128,193,128,193,128,193,128,193,128,193,128, + 99,0,62,0,9,14,28,11,1,0,8,0,28,0,34,0, + 0,0,62,0,99,0,193,128,193,128,193,128,193,128,193,128, + 193,128,99,0,62,0,9,13,26,11,1,0,26,0,44,0, + 0,0,62,0,99,0,193,128,193,128,193,128,193,128,193,128, + 193,128,99,0,62,0,9,13,26,11,1,0,34,0,34,0, + 0,0,62,0,99,0,193,128,193,128,193,128,193,128,193,128, + 193,128,99,0,62,0,8,7,7,8,0,0,195,102,60,24, + 60,102,195,9,12,24,11,1,255,0,128,61,0,99,0,195, + 128,197,128,201,128,201,128,209,128,225,128,99,0,94,0,128, + 0,9,14,28,10,0,0,16,0,24,0,4,0,0,0,243, + 128,97,0,97,0,97,0,97,0,97,0,97,0,97,0,115, + 0,62,0,9,14,28,10,0,0,4,0,12,0,16,0,0, + 0,243,128,97,0,97,0,97,0,97,0,97,0,97,0,97, + 0,115,0,62,0,9,14,28,10,0,0,8,0,28,0,34, + 0,0,0,243,128,97,0,97,0,97,0,97,0,97,0,97, + 0,97,0,115,0,62,0,9,13,26,10,0,0,18,0,18, + 0,0,0,243,128,97,0,97,0,97,0,97,0,97,0,97, + 0,97,0,115,0,62,0,10,14,28,10,0,0,1,0,3, + 0,4,0,0,0,249,192,112,128,49,0,57,0,26,0,30, + 0,12,0,12,0,12,0,30,0,8,10,10,9,0,0,240, + 96,126,103,99,99,99,126,96,240,7,10,10,8,0,0,56, + 108,100,108,120,108,102,102,102,236,7,11,11,7,0,0,32, + 48,8,0,120,204,12,124,204,204,118,7,11,11,7,0,0, + 8,24,32,0,120,204,12,124,204,204,118,7,11,11,7,0, + 0,16,56,68,0,120,204,12,124,204,204,118,7,10,10,7, + 0,0,52,88,0,120,204,12,124,204,204,118,7,10,10,7, + 0,0,40,40,0,120,204,12,124,204,204,118,7,11,11,7, + 0,0,48,72,48,0,120,204,12,124,204,204,118,10,7,14, + 11,0,0,123,128,204,192,204,192,63,192,204,0,204,192,119, + 128,6,10,10,7,0,253,56,76,204,192,192,228,120,32,16, + 112,6,11,11,7,0,0,64,96,16,0,56,76,204,252,192, + 228,120,6,11,11,7,0,0,8,24,32,0,56,76,204,252, + 192,228,120,6,11,11,7,0,0,16,56,68,0,56,76,204, + 252,192,228,120,6,10,10,7,0,0,80,80,0,56,76,204, + 252,192,228,120,4,11,11,4,0,0,128,192,32,0,224,96, + 96,96,96,96,240,4,11,11,4,0,0,32,96,128,0,224, + 96,96,96,96,96,240,5,11,11,4,0,0,32,112,136,0, + 224,96,96,96,96,96,240,4,10,10,4,0,0,160,160,0, + 224,96,96,96,96,96,240,6,10,10,7,0,0,204,112,152, + 120,204,204,204,204,204,120,8,10,10,8,0,0,52,88,0, + 236,118,102,102,102,102,231,6,11,11,7,0,0,32,48,8, + 0,120,204,204,204,204,204,120,6,11,11,7,0,0,8,24, + 32,0,120,204,204,204,204,204,120,6,11,11,7,0,0,32, + 112,136,0,120,204,204,204,204,204,120,6,10,10,7,0,0, + 104,176,0,120,204,204,204,204,204,120,6,10,10,7,0,0, + 80,80,0,120,204,204,204,204,204,120,6,7,7,8,0,0, + 48,48,0,252,0,48,48,6,9,9,7,0,255,4,120,204, + 220,236,236,204,120,128,8,11,11,7,255,0,32,48,8,0, + 238,102,102,102,102,102,59,8,11,11,7,255,0,4,12,16, + 0,238,102,102,102,102,102,59,8,11,11,7,255,0,16,56, + 68,0,238,102,102,102,102,102,59,8,10,10,7,255,0,40, + 40,0,238,102,102,102,102,102,59,8,14,14,7,255,253,2, + 6,8,0,247,98,50,52,28,28,8,8,56,48,7,13,13, + 8,0,253,224,96,96,108,118,102,102,102,102,124,96,96,240, + 8,13,13,7,255,253,34,34,0,247,98,50,52,28,28,8, + 8,56,48}; +/* + Fontname: -Adobe-Times-Bold-R-Normal--14-100-100-100-P-76-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 10, '1' Height: 10 + Calculated Max Values w=15 h=13 x= 1 y= 8 dx=14 dy= 0 ascent=11 len=26 + Font Bounding box w=17 h=24 x=-2 y=-6 + Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 + Pure Font ascent =10 descent=-3 + X Font ascent =10 descent=-3 + Max Font ascent =11 descent=-3 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_timB10r[1632] U8G_FONT_SECTION("u8g_font_timB10r") = { + 0,17,24,254,250,10,2,6,4,148,32,127,253,11,253,10, + 253,0,0,0,3,0,1,2,10,10,4,1,0,192,192,192, + 192,192,192,192,0,192,192,5,4,4,7,1,6,216,216,216, + 72,7,10,10,7,255,0,20,20,20,126,40,40,252,80,80, + 80,6,12,12,7,0,255,16,120,212,212,240,120,60,28,148, + 212,120,16,13,10,20,14,0,0,56,192,103,192,197,128,201, + 0,115,0,6,112,4,200,13,136,25,144,24,224,10,10,20, + 12,1,0,60,0,102,0,102,0,60,0,57,192,108,128,205, + 128,199,0,239,128,123,0,2,4,4,4,1,6,192,192,192, + 64,3,13,13,5,1,253,32,96,64,192,192,192,192,192,192, + 192,64,96,32,3,13,13,5,0,253,128,192,64,96,96,96, + 96,96,96,96,64,192,128,5,6,6,7,1,4,32,168,112, + 112,168,32,7,7,7,8,0,0,16,16,16,254,16,16,16, + 2,4,4,3,0,254,192,192,64,128,3,1,1,4,0,3, + 224,2,2,2,3,0,0,192,192,4,10,10,4,0,0,16, + 16,48,32,96,64,64,192,128,128,6,10,10,7,0,0,120, + 72,204,204,204,204,204,204,72,120,6,10,10,7,0,0,48, + 240,48,48,48,48,48,48,48,252,6,10,10,7,0,0,56, + 124,140,12,12,24,48,64,252,252,6,10,10,7,0,0,56, + 124,140,12,56,28,12,196,236,120,6,10,10,7,0,0,24, + 56,56,88,152,152,252,252,24,24,6,10,10,7,0,0,124, + 124,64,120,124,12,4,196,204,120,6,10,10,7,0,0,28, + 48,96,224,248,204,204,204,204,120,6,10,10,7,0,0,252, + 252,140,8,24,16,16,32,32,96,6,10,10,7,0,0,120, + 204,204,236,120,120,204,204,204,120,6,10,10,7,0,0,120, + 204,204,204,204,124,24,56,112,192,2,7,7,4,1,0,192, + 192,0,0,0,192,192,2,9,9,4,1,254,192,192,0,0, + 0,192,192,64,128,7,7,7,8,0,0,6,28,112,192,112, + 28,6,7,3,3,8,0,2,254,0,254,7,7,7,8,0, + 0,192,112,28,6,28,112,192,5,10,10,7,1,0,112,216, + 216,24,48,96,96,0,96,96,11,12,24,14,1,254,15,128, + 56,192,96,96,69,32,143,32,155,32,155,32,159,96,141,192, + 64,0,96,0,31,128,10,10,20,10,0,0,12,0,12,0, + 30,0,22,0,51,0,35,0,63,0,97,128,65,128,227,192, + 8,10,10,9,0,0,254,99,99,99,126,99,99,99,99,254, + 8,10,10,10,1,0,61,99,193,193,192,192,192,193,99,62, + 9,10,20,10,0,0,254,0,99,0,97,128,97,128,97,128, + 97,128,97,128,97,128,99,0,254,0,8,10,10,9,0,0, + 255,99,97,100,124,100,96,97,99,255,8,10,10,8,0,0, + 255,99,97,100,124,100,100,96,96,240,9,10,20,11,1,0, + 61,0,99,0,193,0,193,0,192,0,199,128,195,0,195,0, + 99,0,62,0,10,10,20,11,0,0,243,192,97,128,97,128, + 97,128,127,128,97,128,97,128,97,128,97,128,243,192,4,10, + 10,5,0,0,240,96,96,96,96,96,96,96,96,240,6,11, + 11,7,0,255,60,24,24,24,24,24,24,24,216,216,112,10, + 10,20,11,1,0,247,192,99,0,98,0,100,0,120,0,124, + 0,110,0,103,0,99,128,247,192,8,10,10,9,0,0,240, + 96,96,96,96,96,97,97,99,255,12,10,20,13,0,0,240, + 240,112,224,112,224,89,96,89,96,90,96,78,96,78,96,68, + 96,228,240,10,10,20,10,0,0,225,192,112,128,112,128,88, + 128,76,128,76,128,70,128,67,128,67,128,225,128,9,10,20, + 11,1,0,62,0,99,0,193,128,193,128,193,128,193,128,193, + 128,193,128,99,0,62,0,8,10,10,9,0,0,254,103,99, + 99,99,126,96,96,96,240,9,13,26,11,1,253,62,0,99, + 0,193,128,193,128,193,128,193,128,193,128,193,128,99,0,62, + 0,28,0,14,0,3,128,10,10,20,10,0,0,254,0,103, + 0,99,0,99,0,102,0,124,0,110,0,103,0,99,128,241, + 192,7,10,10,8,0,0,122,198,194,224,120,28,14,134,198, + 252,8,10,10,9,0,0,255,219,153,24,24,24,24,24,24, + 60,9,10,20,10,0,0,243,128,97,0,97,0,97,0,97, + 0,97,0,97,0,97,0,115,0,62,0,10,10,20,10,0, + 0,241,192,96,128,97,128,49,0,51,0,50,0,26,0,30, + 0,12,0,12,0,15,10,20,14,255,0,247,158,99,12,99, + 8,49,136,49,144,51,144,26,208,28,224,12,96,12,96,11, + 10,20,10,0,0,241,192,112,128,57,0,30,0,12,0,14, + 0,23,0,35,128,65,192,227,224,10,10,20,10,0,0,249, + 192,112,128,49,0,57,0,26,0,30,0,12,0,12,0,12, + 0,30,0,8,10,10,9,0,0,255,199,134,140,24,24,49, + 97,227,255,4,13,13,5,0,253,240,192,192,192,192,192,192, + 192,192,192,192,192,240,4,10,10,4,0,0,128,128,192,64, + 96,32,32,48,16,16,4,13,13,5,0,253,240,48,48,48, + 48,48,48,48,48,48,48,48,240,5,5,5,8,1,5,32, + 112,80,216,136,7,1,1,7,0,253,254,3,3,3,5,1, + 8,128,192,32,7,7,7,7,0,0,120,204,12,124,204,204, + 118,7,10,10,8,0,0,224,96,96,124,102,102,102,102,102, + 92,5,7,7,6,0,0,48,88,200,192,192,232,112,7,10, + 10,7,0,0,28,12,12,124,204,204,204,204,204,118,6,7, + 7,6,0,0,56,76,204,252,192,228,120,5,10,10,5,0, + 0,56,104,96,240,96,96,96,96,96,240,7,10,10,7,0, + 253,126,204,204,204,120,64,124,254,130,124,8,10,10,8,0, + 0,224,96,96,108,118,102,102,102,102,231,4,10,10,4,0, + 0,96,96,0,224,96,96,96,96,96,240,4,13,13,4,255, + 253,48,48,0,112,48,48,48,48,48,48,48,176,224,8,10, + 10,8,0,0,224,96,96,110,100,104,120,108,102,231,4,10, + 10,4,0,0,224,96,96,96,96,96,96,96,96,240,12,7, + 14,12,0,0,236,192,119,96,102,96,102,96,102,96,102,96, + 247,112,8,7,7,8,0,0,236,118,102,102,102,102,231,6, + 7,7,7,0,0,120,204,204,204,204,204,120,7,10,10,8, + 0,253,236,118,102,102,102,102,124,96,96,240,7,10,10,7, + 0,253,108,220,204,204,204,204,124,12,12,30,6,7,7,6, + 0,0,220,108,96,96,96,96,240,5,7,7,6,0,0,120, + 200,224,112,56,152,240,5,9,9,5,0,0,32,96,240,96, + 96,96,104,112,48,8,7,7,7,255,0,238,102,102,102,102, + 102,59,8,7,7,7,255,0,247,98,98,52,52,24,24,10, + 7,14,10,0,0,238,192,100,128,118,128,55,0,59,0,59, + 0,18,0,7,7,7,7,0,0,238,108,56,56,56,108,238, + 8,10,10,7,255,253,247,98,50,52,28,28,8,8,56,48, + 6,7,7,6,0,0,252,156,24,48,100,228,252,5,13,13, + 7,1,253,24,48,48,48,48,96,192,96,48,48,48,48,24, + 1,12,12,3,1,254,128,128,128,128,128,128,128,128,128,128, + 128,128,5,13,13,7,0,253,192,96,96,96,96,48,24,48, + 96,96,96,96,192,7,4,4,8,0,3,96,242,158,12,255 + }; +/* + Fontname: -Adobe-Times-Bold-R-Normal--17-120-100-100-P-88-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 11, '1' Height: 11 + Calculated Max Values w=17 h=16 x= 2 y= 9 dx=17 dy= 0 ascent=16 len=33 + Font Bounding box w=19 h=27 x=-2 y=-7 + Calculated Min Values x=-2 y=-4 dx= 0 dy= 0 + Pure Font ascent =11 descent=-4 + X Font ascent =11 descent=-4 + Max Font ascent =16 descent=-4 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_timB12[3887] U8G_FONT_SECTION("u8g_font_timB12") = { + 0,19,27,254,249,11,2,42,5,41,32,255,252,16,252,11, + 252,0,0,0,5,0,1,2,11,11,6,2,0,192,192,192, + 192,192,128,128,0,0,192,192,5,5,5,9,1,6,216,216, + 216,144,144,8,11,11,8,0,0,18,18,18,127,36,36,36, + 254,72,72,72,7,13,13,8,0,255,16,122,150,210,240,120, + 60,30,22,146,210,188,16,12,12,24,16,2,0,48,128,111, + 0,201,0,201,0,202,0,210,96,100,208,9,144,9,144,17, + 144,17,160,32,192,10,11,22,14,2,0,28,0,38,0,38, + 0,52,0,57,192,120,128,156,128,141,0,198,64,231,192,123, + 128,2,5,5,5,2,6,192,192,192,128,128,4,14,14,6, + 1,253,16,32,96,64,192,192,192,192,192,192,64,96,32,16, + 4,14,14,6,0,253,128,64,96,32,48,48,48,48,48,48, + 32,96,64,128,5,7,7,8,1,4,32,168,248,112,248,168, + 32,7,8,8,9,1,0,16,16,16,254,254,16,16,16,2, + 5,5,4,1,253,192,192,64,64,128,4,2,2,5,0,3, + 240,240,2,2,2,4,1,0,192,192,4,11,11,5,0,0, + 16,48,32,32,96,64,64,64,192,128,128,6,11,11,8,1, + 0,48,72,204,204,204,204,204,204,204,72,48,6,11,11,8, + 1,0,16,240,48,48,48,48,48,48,48,48,252,7,11,11, + 8,0,0,56,124,156,12,12,8,24,16,34,124,252,7,11, + 11,8,0,0,56,124,140,8,16,60,14,6,198,204,120,7, + 11,11,8,0,0,4,12,28,44,44,76,140,254,254,12,12, + 8,11,11,8,0,0,31,62,32,56,124,14,6,6,198,204, + 112,6,11,11,8,1,0,12,48,96,96,240,204,204,204,204, + 72,48,7,11,11,8,0,0,126,126,132,4,12,8,8,24, + 16,48,32,7,11,11,8,0,0,56,68,198,228,120,60,78, + 198,198,68,56,6,11,11,8,1,0,48,72,204,204,204,204, + 124,24,24,48,192,2,7,7,5,1,0,192,192,0,0,0, + 192,192,2,10,10,5,1,253,192,192,0,0,0,192,192,64, + 64,128,8,8,8,9,0,0,3,14,56,192,192,56,14,3, + 7,5,5,9,1,2,254,254,0,254,254,8,8,8,9,0, + 0,192,112,28,3,3,28,112,192,6,11,11,8,1,0,56, + 204,204,12,12,8,16,32,0,96,96,13,13,26,16,1,254, + 7,128,28,96,48,16,103,80,204,200,216,200,216,136,217,144, + 217,176,78,224,32,0,24,96,7,128,11,11,22,12,0,0, + 4,0,14,0,14,0,27,0,19,0,51,0,33,128,127,128, + 64,192,192,192,225,224,9,11,22,10,1,0,252,0,102,0, + 99,0,99,0,102,0,126,0,99,0,97,128,97,128,99,0, + 254,0,9,11,22,11,1,0,30,128,99,128,65,128,192,128, + 192,0,192,0,192,0,192,0,96,128,115,0,62,0,9,11, + 22,11,1,0,252,0,102,0,99,0,97,128,97,128,97,128, + 97,128,97,128,99,0,102,0,252,0,8,11,11,10,1,0, + 255,99,97,96,98,126,98,96,97,99,255,8,11,11,10,1, + 0,255,99,97,96,98,126,98,96,96,96,248,10,11,22,12, + 1,0,30,128,99,128,65,128,192,128,192,0,192,0,199,192, + 193,128,193,128,97,128,63,0,10,11,22,12,1,0,243,192, + 97,128,97,128,97,128,97,128,127,128,97,128,97,128,97,128, + 97,128,243,192,4,11,11,6,1,0,240,96,96,96,96,96, + 96,96,96,96,240,6,13,13,8,1,254,60,24,24,24,24, + 24,24,24,24,24,216,208,96,11,11,22,13,1,0,251,192, + 97,0,98,0,100,0,104,0,120,0,108,0,102,0,99,0, + 97,128,251,224,9,11,22,11,1,0,240,0,96,0,96,0, + 96,0,96,0,96,0,96,0,96,128,96,128,97,128,255,128, + 14,11,22,15,0,0,224,28,112,24,112,56,120,56,88,88, + 76,88,76,152,70,152,71,24,67,24,226,60,10,11,22,12, + 1,0,241,192,112,128,88,128,88,128,76,128,70,128,71,128, + 67,128,65,128,65,128,224,128,10,11,22,12,1,0,30,0, + 97,128,64,128,192,192,192,192,192,192,192,192,192,192,64,128, + 97,128,30,0,8,11,11,10,1,0,254,103,99,99,102,124, + 96,96,96,96,240,10,14,28,12,1,253,30,0,97,128,64, + 128,192,192,192,192,192,192,192,192,192,192,64,128,97,128,63, + 0,14,0,6,0,1,128,10,11,22,12,1,0,254,0,103, + 0,99,0,99,0,102,0,124,0,108,0,102,0,99,0,97, + 128,243,192,8,11,11,9,0,0,61,67,193,224,120,60,14, + 7,131,194,188,10,11,22,11,1,0,255,192,204,192,140,64, + 12,0,12,0,12,0,12,0,12,0,12,0,12,0,30,0, + 10,11,22,12,1,0,241,192,96,128,96,128,96,128,96,128, + 96,128,96,128,96,128,96,128,33,0,30,0,11,11,22,12, + 0,0,248,224,48,64,48,64,24,128,24,128,13,0,13,0, + 7,0,6,0,2,0,2,0,17,11,33,17,0,0,251,239, + 128,112,195,0,48,194,0,56,226,0,25,230,0,29,100,0, + 13,124,0,15,56,0,6,56,0,6,16,0,2,16,0,10, + 11,22,12,1,0,251,192,113,0,58,0,58,0,28,0,14, + 0,30,0,23,0,35,0,67,128,231,192,11,11,22,12,0, + 0,248,224,112,64,56,128,24,128,29,0,15,0,6,0,6, + 0,6,0,6,0,15,0,10,11,22,11,0,0,255,192,193, + 192,131,128,7,0,14,0,14,0,28,0,56,0,112,64,240, + 192,255,192,3,14,14,6,1,253,224,192,192,192,192,192,192, + 192,192,192,192,192,192,224,4,11,11,5,0,0,128,192,64, + 64,96,32,32,32,48,16,16,3,14,14,6,1,253,224,96, + 96,96,96,96,96,96,96,96,96,96,96,224,7,7,7,9, + 1,4,16,56,40,108,68,198,130,8,1,1,8,0,252,255, + 3,3,3,6,2,9,192,64,32,8,8,8,8,0,0,56, + 204,204,28,108,204,205,118,8,11,11,9,0,0,224,96,96, + 108,118,99,99,99,99,118,236,6,8,8,7,0,0,56,108, + 204,192,192,192,100,56,8,11,11,9,0,0,14,6,6,54, + 110,198,198,198,198,78,55,6,8,8,7,0,0,56,108,204, + 252,192,192,100,56,6,11,11,6,0,0,24,108,96,240,96, + 96,96,96,96,96,240,7,12,12,8,0,252,50,78,204,204, + 200,112,64,252,126,130,132,120,8,11,11,9,0,0,224,96, + 96,108,118,102,102,102,102,102,239,4,11,11,5,0,0,96, + 96,0,224,96,96,96,96,96,96,240,5,15,15,5,254,252, + 24,24,0,56,24,24,24,24,24,24,24,24,216,208,96,9, + 11,22,9,0,0,224,0,96,0,96,0,111,0,100,0,104, + 0,120,0,124,0,110,0,103,0,247,128,4,11,11,5,0, + 0,224,96,96,96,96,96,96,96,96,96,240,12,8,16,13, + 0,0,237,192,119,96,102,96,102,96,102,96,102,96,102,96, + 246,240,8,8,8,9,0,0,236,126,102,102,102,102,102,247, + 7,8,8,8,0,0,56,108,198,198,198,198,108,56,8,12, + 12,9,0,252,236,118,99,99,99,99,118,108,96,96,96,240, + 8,12,12,9,0,252,50,110,198,198,198,198,110,54,6,6, + 6,15,6,8,8,7,0,0,236,124,96,96,96,96,96,240, + 5,8,8,6,0,0,120,200,224,112,56,152,216,176,5,11, + 11,6,0,0,32,32,96,240,96,96,96,96,96,104,48,8, + 8,8,9,0,0,238,102,102,102,102,102,111,54,8,8,8, + 8,0,0,247,98,98,100,52,56,24,16,12,8,16,12,0, + 0,239,112,102,32,102,32,119,64,55,64,57,128,25,128,17, + 0,7,8,8,8,0,0,246,116,56,56,24,60,76,238,8, + 12,12,8,0,252,247,98,98,52,52,28,24,24,16,16,224, + 192,7,8,8,7,0,0,254,140,152,24,48,114,98,254,4, + 14,14,7,1,253,48,96,96,96,96,64,128,64,96,96,96, + 96,96,48,1,14,14,4,1,253,128,128,128,128,128,128,128, + 128,128,128,128,128,128,128,4,14,14,7,1,253,192,96,96, + 96,96,32,16,32,96,96,96,96,96,192,9,4,8,9,0, + 4,48,0,120,128,159,0,14,0,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,255,255,255,255,255,255,255,0,0,0,5,0,1, + 2,12,12,6,2,252,192,192,0,0,64,64,64,192,192,192, + 192,192,6,12,12,8,1,254,4,4,56,76,204,208,208,224, + 100,56,64,64,8,11,11,8,0,0,28,38,38,48,48,124, + 48,16,113,158,110,6,7,7,8,1,1,180,120,204,132,204, + 120,180,8,11,11,8,0,0,227,98,50,52,28,126,24,126, + 24,24,126,1,15,15,4,1,253,128,128,128,128,128,128,0, + 0,0,128,128,128,128,128,128,6,15,15,8,1,252,56,76, + 76,96,48,120,156,204,228,120,56,24,200,200,112,5,2,2, + 6,0,9,216,216,12,11,22,12,255,0,15,0,48,192,71, + 32,72,160,152,16,152,16,152,16,72,160,71,32,48,192,15, + 0,5,7,7,5,0,4,96,144,112,176,216,0,248,7,7, + 7,8,0,0,18,54,108,216,108,54,18,7,6,6,9,1, + 1,254,254,2,2,2,2,4,2,2,5,0,3,240,240,12, + 11,22,12,0,0,15,0,48,192,78,32,73,32,137,16,142, + 16,138,16,73,32,93,32,48,192,15,0,5,1,1,6,0, + 9,248,4,5,5,7,1,6,96,144,144,144,96,7,9,9, + 9,1,0,16,16,254,254,16,16,0,254,254,4,7,7,5, + 0,4,96,240,176,32,64,240,240,4,7,7,5,0,4,96, + 176,48,96,48,176,96,3,3,3,6,1,9,96,64,128,8, + 11,11,9,0,253,238,102,102,102,102,102,111,118,64,96,96, + 7,15,15,9,1,252,62,116,244,244,244,244,116,52,20,20, + 20,20,20,20,20,2,2,2,4,1,4,192,192,5,4,4, + 6,0,252,32,48,136,112,4,7,7,5,1,4,96,224,96, + 96,96,96,240,4,7,7,6,1,4,96,144,144,144,96,0, + 240,7,7,7,8,0,0,144,216,108,54,108,216,144,11,11, + 22,12,0,0,96,128,225,0,97,0,98,0,100,64,100,192, + 249,192,10,192,19,224,32,192,32,192,10,11,22,12,0,0, + 97,0,225,0,98,0,98,0,100,0,107,128,254,192,16,128, + 17,0,35,192,39,192,11,11,22,12,0,0,96,128,177,0, + 49,0,98,0,52,64,180,192,105,192,10,192,19,224,32,192, + 32,192,6,11,11,8,1,253,24,24,0,16,32,64,192,192, + 204,204,112,11,15,30,12,0,0,48,0,24,0,4,0,0, + 0,4,0,14,0,14,0,27,0,19,0,51,0,33,128,127, + 128,64,192,192,192,225,224,11,15,30,12,0,0,1,128,3, + 0,4,0,0,0,4,0,14,0,14,0,27,0,19,0,51, + 0,33,128,127,128,64,192,192,192,225,224,11,15,30,12,0, + 0,4,0,14,0,17,0,0,0,4,0,14,0,14,0,27, + 0,19,0,51,0,33,128,127,128,64,192,192,192,225,224,11, + 14,28,12,0,0,29,0,46,0,0,0,4,0,14,0,14, + 0,27,0,19,0,51,0,33,128,127,128,64,192,192,192,225, + 224,11,14,28,12,0,0,27,0,27,0,0,0,4,0,14, + 0,14,0,27,0,19,0,51,0,33,128,127,128,64,192,192, + 192,225,224,11,16,32,12,0,0,6,0,9,0,9,0,6, + 0,0,0,4,0,14,0,14,0,27,0,19,0,51,0,33, + 128,127,128,64,192,192,192,225,224,14,11,22,16,1,0,15, + 248,7,24,11,8,11,0,19,32,31,224,35,32,35,0,67, + 4,67,12,231,252,9,15,30,11,1,252,30,128,99,128,65, + 128,192,128,192,0,192,0,192,0,192,0,96,128,115,0,62, + 0,8,0,12,0,34,0,28,0,8,15,15,10,1,0,96, + 48,8,0,255,99,97,96,98,126,98,96,97,99,255,8,15, + 15,10,1,0,6,12,16,0,255,99,97,96,98,126,98,96, + 97,99,255,8,15,15,10,1,0,8,28,34,0,255,99,97, + 96,98,126,98,96,97,99,255,8,14,14,10,1,0,102,102, + 0,255,99,97,96,98,126,98,96,97,99,255,5,15,15,6, + 0,0,192,96,16,0,120,48,48,48,48,48,48,48,48,48, + 120,4,15,15,6,1,0,48,96,128,0,240,96,96,96,96, + 96,96,96,96,96,240,5,15,15,6,0,0,32,112,136,0, + 120,48,48,48,48,48,48,48,48,48,120,6,14,14,6,0, + 0,204,204,0,120,48,48,48,48,48,48,48,48,48,120,9, + 11,22,11,1,0,252,0,102,0,99,0,97,128,97,128,249, + 128,97,128,97,128,99,0,102,0,252,0,10,14,28,12,1, + 0,29,0,46,0,0,0,241,192,112,128,88,128,88,128,76, + 128,70,128,71,128,67,128,65,128,65,128,224,128,10,15,30, + 12,1,0,48,0,24,0,4,0,0,0,30,0,97,128,64, + 128,192,192,192,192,192,192,192,192,192,192,64,128,97,128,30, + 0,10,15,30,12,1,0,3,0,6,0,8,0,0,0,30, + 0,97,128,64,128,192,192,192,192,192,192,192,192,192,192,64, + 128,97,128,30,0,10,15,30,12,1,0,4,0,14,0,17, + 0,0,0,30,0,97,128,64,128,192,192,192,192,192,192,192, + 192,192,192,64,128,97,128,30,0,10,14,28,12,1,0,29, + 0,46,0,0,0,30,0,97,128,64,128,192,192,192,192,192, + 192,192,192,192,192,64,128,97,128,30,0,10,14,28,12,1, + 0,51,0,51,0,0,0,30,0,97,128,64,128,192,192,192, + 192,192,192,192,192,192,192,64,128,97,128,30,0,7,8,8, + 9,1,0,130,198,108,56,56,108,198,130,10,13,26,13,1, + 255,0,64,30,128,97,128,65,128,194,192,194,192,196,192,200, + 192,200,192,80,128,97,128,62,0,64,0,10,15,30,12,1, + 0,48,0,24,0,4,0,0,0,241,192,96,128,96,128,96, + 128,96,128,96,128,96,128,96,128,96,128,33,0,30,0,10, + 15,30,12,1,0,3,0,6,0,8,0,0,0,241,192,96, + 128,96,128,96,128,96,128,96,128,96,128,96,128,96,128,33, + 0,30,0,10,15,30,12,1,0,4,0,14,0,17,0,0, + 0,241,192,96,128,96,128,96,128,96,128,96,128,96,128,96, + 128,96,128,33,0,30,0,10,14,28,12,1,0,51,0,51, + 0,0,0,241,192,96,128,96,128,96,128,96,128,96,128,96, + 128,96,128,96,128,33,0,30,0,11,15,30,12,0,0,1, + 128,3,0,4,0,0,0,248,224,112,64,56,128,24,128,29, + 0,15,0,6,0,6,0,6,0,6,0,15,0,8,11,11, + 10,1,0,240,96,126,103,99,99,103,126,96,96,240,8,11, + 11,9,0,0,24,38,102,102,108,98,99,99,99,98,236,8, + 12,12,8,0,0,48,16,8,0,56,204,204,28,108,204,205, + 118,8,12,12,8,0,0,24,16,32,0,56,204,204,28,108, + 204,205,118,8,12,12,8,0,0,16,56,68,0,56,204,204, + 28,108,204,205,118,8,11,11,8,0,0,52,88,0,56,204, + 204,28,108,204,205,118,8,11,11,8,0,0,108,108,0,56, + 204,204,28,108,204,205,118,8,13,13,8,0,0,16,40,40, + 16,0,56,204,204,28,108,204,205,118,10,8,16,12,1,0, + 51,128,206,192,204,192,31,192,108,0,204,0,214,64,99,128, + 6,12,12,7,0,252,56,108,204,192,192,192,100,56,32,48, + 136,112,6,12,12,7,0,0,48,16,8,0,56,108,204,252, + 192,192,100,56,6,12,12,7,0,0,24,16,32,0,56,108, + 204,252,192,192,100,56,6,12,12,7,0,0,16,56,68,0, + 56,108,204,252,192,192,100,56,6,11,11,7,0,0,108,108, + 0,56,108,204,252,192,192,100,56,4,12,12,5,0,0,192, + 64,32,0,224,96,96,96,96,96,96,240,4,12,12,5,0, + 0,48,32,64,0,224,96,96,96,96,96,96,240,5,12,12, + 5,255,0,32,112,136,0,112,48,48,48,48,48,48,120,5, + 11,11,5,255,0,216,216,0,112,48,48,48,48,48,48,120, + 7,11,11,8,0,0,108,48,216,60,108,198,198,198,198,108, + 56,8,11,11,9,0,0,52,88,0,236,126,102,102,102,102, + 102,247,7,12,12,8,0,0,48,16,8,0,56,108,198,198, + 198,198,108,56,7,12,12,8,0,0,24,16,32,0,56,108, + 198,198,198,198,108,56,7,12,12,8,0,0,16,56,68,0, + 56,108,198,198,198,198,108,56,7,11,11,8,0,0,52,88, + 0,56,108,198,198,198,198,108,56,7,11,11,8,0,0,108, + 108,0,56,108,198,198,198,198,108,56,8,8,8,9,0,0, + 24,24,0,255,255,0,24,24,7,10,10,8,0,255,2,60, + 108,206,214,214,230,108,120,128,8,12,12,9,0,0,48,16, + 8,0,238,102,102,102,102,102,111,54,8,12,12,9,0,0, + 12,8,16,0,238,102,102,102,102,102,111,54,8,12,12,9, + 0,0,16,56,68,0,238,102,102,102,102,102,111,54,8,11, + 11,9,0,0,108,108,0,238,102,102,102,102,102,111,54,8, + 16,16,8,0,252,12,8,16,0,247,98,98,52,52,28,24, + 24,16,16,224,192,8,15,15,9,0,252,224,96,96,108,118, + 99,99,99,99,114,108,96,96,96,240,8,15,15,8,0,252, + 108,108,0,247,98,98,52,52,28,24,24,16,16,224,192}; +/* + Fontname: -Adobe-Times-Bold-R-Normal--17-120-100-100-P-88-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 11, '1' Height: 11 + Calculated Max Values w=17 h=15 x= 2 y= 9 dx=17 dy= 0 ascent=12 len=33 + Font Bounding box w=19 h=27 x=-2 y=-7 + Calculated Min Values x=-2 y=-4 dx= 0 dy= 0 + Pure Font ascent =11 descent=-4 + X Font ascent =11 descent=-4 + Max Font ascent =12 descent=-4 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_timB12r[1834] U8G_FONT_SECTION("u8g_font_timB12r") = { + 0,19,27,254,249,11,2,42,5,41,32,127,252,12,252,11, + 252,0,0,0,5,0,1,2,11,11,6,2,0,192,192,192, + 192,192,128,128,0,0,192,192,5,5,5,9,1,6,216,216, + 216,144,144,8,11,11,8,0,0,18,18,18,127,36,36,36, + 254,72,72,72,7,13,13,8,0,255,16,122,150,210,240,120, + 60,30,22,146,210,188,16,12,12,24,16,2,0,48,128,111, + 0,201,0,201,0,202,0,210,96,100,208,9,144,9,144,17, + 144,17,160,32,192,10,11,22,14,2,0,28,0,38,0,38, + 0,52,0,57,192,120,128,156,128,141,0,198,64,231,192,123, + 128,2,5,5,5,2,6,192,192,192,128,128,4,14,14,6, + 1,253,16,32,96,64,192,192,192,192,192,192,64,96,32,16, + 4,14,14,6,0,253,128,64,96,32,48,48,48,48,48,48, + 32,96,64,128,5,7,7,8,1,4,32,168,248,112,248,168, + 32,7,8,8,9,1,0,16,16,16,254,254,16,16,16,2, + 5,5,4,1,253,192,192,64,64,128,4,2,2,5,0,3, + 240,240,2,2,2,4,1,0,192,192,4,11,11,5,0,0, + 16,48,32,32,96,64,64,64,192,128,128,6,11,11,8,1, + 0,48,72,204,204,204,204,204,204,204,72,48,6,11,11,8, + 1,0,16,240,48,48,48,48,48,48,48,48,252,7,11,11, + 8,0,0,56,124,156,12,12,8,24,16,34,124,252,7,11, + 11,8,0,0,56,124,140,8,16,60,14,6,198,204,120,7, + 11,11,8,0,0,4,12,28,44,44,76,140,254,254,12,12, + 8,11,11,8,0,0,31,62,32,56,124,14,6,6,198,204, + 112,6,11,11,8,1,0,12,48,96,96,240,204,204,204,204, + 72,48,7,11,11,8,0,0,126,126,132,4,12,8,8,24, + 16,48,32,7,11,11,8,0,0,56,68,198,228,120,60,78, + 198,198,68,56,6,11,11,8,1,0,48,72,204,204,204,204, + 124,24,24,48,192,2,7,7,5,1,0,192,192,0,0,0, + 192,192,2,10,10,5,1,253,192,192,0,0,0,192,192,64, + 64,128,8,8,8,9,0,0,3,14,56,192,192,56,14,3, + 7,5,5,9,1,2,254,254,0,254,254,8,8,8,9,0, + 0,192,112,28,3,3,28,112,192,6,11,11,8,1,0,56, + 204,204,12,12,8,16,32,0,96,96,13,13,26,16,1,254, + 7,128,28,96,48,16,103,80,204,200,216,200,216,136,217,144, + 217,176,78,224,32,0,24,96,7,128,11,11,22,12,0,0, + 4,0,14,0,14,0,27,0,19,0,51,0,33,128,127,128, + 64,192,192,192,225,224,9,11,22,10,1,0,252,0,102,0, + 99,0,99,0,102,0,126,0,99,0,97,128,97,128,99,0, + 254,0,9,11,22,11,1,0,30,128,99,128,65,128,192,128, + 192,0,192,0,192,0,192,0,96,128,115,0,62,0,9,11, + 22,11,1,0,252,0,102,0,99,0,97,128,97,128,97,128, + 97,128,97,128,99,0,102,0,252,0,8,11,11,10,1,0, + 255,99,97,96,98,126,98,96,97,99,255,8,11,11,10,1, + 0,255,99,97,96,98,126,98,96,96,96,248,10,11,22,12, + 1,0,30,128,99,128,65,128,192,128,192,0,192,0,199,192, + 193,128,193,128,97,128,63,0,10,11,22,12,1,0,243,192, + 97,128,97,128,97,128,97,128,127,128,97,128,97,128,97,128, + 97,128,243,192,4,11,11,6,1,0,240,96,96,96,96,96, + 96,96,96,96,240,6,13,13,8,1,254,60,24,24,24,24, + 24,24,24,24,24,216,208,96,11,11,22,13,1,0,251,192, + 97,0,98,0,100,0,104,0,120,0,108,0,102,0,99,0, + 97,128,251,224,9,11,22,11,1,0,240,0,96,0,96,0, + 96,0,96,0,96,0,96,0,96,128,96,128,97,128,255,128, + 14,11,22,15,0,0,224,28,112,24,112,56,120,56,88,88, + 76,88,76,152,70,152,71,24,67,24,226,60,10,11,22,12, + 1,0,241,192,112,128,88,128,88,128,76,128,70,128,71,128, + 67,128,65,128,65,128,224,128,10,11,22,12,1,0,30,0, + 97,128,64,128,192,192,192,192,192,192,192,192,192,192,64,128, + 97,128,30,0,8,11,11,10,1,0,254,103,99,99,102,124, + 96,96,96,96,240,10,14,28,12,1,253,30,0,97,128,64, + 128,192,192,192,192,192,192,192,192,192,192,64,128,97,128,63, + 0,14,0,6,0,1,128,10,11,22,12,1,0,254,0,103, + 0,99,0,99,0,102,0,124,0,108,0,102,0,99,0,97, + 128,243,192,8,11,11,9,0,0,61,67,193,224,120,60,14, + 7,131,194,188,10,11,22,11,1,0,255,192,204,192,140,64, + 12,0,12,0,12,0,12,0,12,0,12,0,12,0,30,0, + 10,11,22,12,1,0,241,192,96,128,96,128,96,128,96,128, + 96,128,96,128,96,128,96,128,33,0,30,0,11,11,22,12, + 0,0,248,224,48,64,48,64,24,128,24,128,13,0,13,0, + 7,0,6,0,2,0,2,0,17,11,33,17,0,0,251,239, + 128,112,195,0,48,194,0,56,226,0,25,230,0,29,100,0, + 13,124,0,15,56,0,6,56,0,6,16,0,2,16,0,10, + 11,22,12,1,0,251,192,113,0,58,0,58,0,28,0,14, + 0,30,0,23,0,35,0,67,128,231,192,11,11,22,12,0, + 0,248,224,112,64,56,128,24,128,29,0,15,0,6,0,6, + 0,6,0,6,0,15,0,10,11,22,11,0,0,255,192,193, + 192,131,128,7,0,14,0,14,0,28,0,56,0,112,64,240, + 192,255,192,3,14,14,6,1,253,224,192,192,192,192,192,192, + 192,192,192,192,192,192,224,4,11,11,5,0,0,128,192,64, + 64,96,32,32,32,48,16,16,3,14,14,6,1,253,224,96, + 96,96,96,96,96,96,96,96,96,96,96,224,7,7,7,9, + 1,4,16,56,40,108,68,198,130,8,1,1,8,0,252,255, + 3,3,3,6,2,9,192,64,32,8,8,8,8,0,0,56, + 204,204,28,108,204,205,118,8,11,11,9,0,0,224,96,96, + 108,118,99,99,99,99,118,236,6,8,8,7,0,0,56,108, + 204,192,192,192,100,56,8,11,11,9,0,0,14,6,6,54, + 110,198,198,198,198,78,55,6,8,8,7,0,0,56,108,204, + 252,192,192,100,56,6,11,11,6,0,0,24,108,96,240,96, + 96,96,96,96,96,240,7,12,12,8,0,252,50,78,204,204, + 200,112,64,252,126,130,132,120,8,11,11,9,0,0,224,96, + 96,108,118,102,102,102,102,102,239,4,11,11,5,0,0,96, + 96,0,224,96,96,96,96,96,96,240,5,15,15,5,254,252, + 24,24,0,56,24,24,24,24,24,24,24,24,216,208,96,9, + 11,22,9,0,0,224,0,96,0,96,0,111,0,100,0,104, + 0,120,0,124,0,110,0,103,0,247,128,4,11,11,5,0, + 0,224,96,96,96,96,96,96,96,96,96,240,12,8,16,13, + 0,0,237,192,119,96,102,96,102,96,102,96,102,96,102,96, + 246,240,8,8,8,9,0,0,236,126,102,102,102,102,102,247, + 7,8,8,8,0,0,56,108,198,198,198,198,108,56,8,12, + 12,9,0,252,236,118,99,99,99,99,118,108,96,96,96,240, + 8,12,12,9,0,252,50,110,198,198,198,198,110,54,6,6, + 6,15,6,8,8,7,0,0,236,124,96,96,96,96,96,240, + 5,8,8,6,0,0,120,200,224,112,56,152,216,176,5,11, + 11,6,0,0,32,32,96,240,96,96,96,96,96,104,48,8, + 8,8,9,0,0,238,102,102,102,102,102,111,54,8,8,8, + 8,0,0,247,98,98,100,52,56,24,16,12,8,16,12,0, + 0,239,112,102,32,102,32,119,64,55,64,57,128,25,128,17, + 0,7,8,8,8,0,0,246,116,56,56,24,60,76,238,8, + 12,12,8,0,252,247,98,98,52,52,28,24,24,16,16,224, + 192,7,8,8,7,0,0,254,140,152,24,48,114,98,254,4, + 14,14,7,1,253,48,96,96,96,96,64,128,64,96,96,96, + 96,96,48,1,14,14,4,1,253,128,128,128,128,128,128,128, + 128,128,128,128,128,128,128,4,14,14,7,1,253,192,96,96, + 96,96,32,16,32,96,96,96,96,96,192,9,4,8,9,0, + 4,48,0,120,128,159,0,14,0,255}; +/* + Fontname: -Adobe-Times-Bold-R-Normal--20-140-100-100-P-100-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 13, '1' Height: 13 + Calculated Max Values w=18 h=17 x= 2 y=11 dx=19 dy= 0 ascent=17 len=39 + Font Bounding box w=22 h=28 x=-2 y=-7 + Calculated Min Values x=-2 y=-4 dx= 0 dy= 0 + Pure Font ascent =13 descent=-4 + X Font ascent =13 descent=-4 + Max Font ascent =17 descent=-4 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_timB14[4851] U8G_FONT_SECTION("u8g_font_timB14") = { + 0,22,28,254,249,13,2,178,6,78,32,255,252,17,252,13, + 252,0,0,0,5,0,1,3,13,13,6,1,0,64,224,224, + 224,224,224,224,64,64,0,224,224,224,6,6,6,10,2,7, + 204,204,204,204,136,136,10,12,24,9,0,0,25,128,25,128, + 25,128,127,192,127,192,51,0,51,0,255,128,255,128,102,0, + 102,0,102,0,8,16,16,9,0,254,24,126,219,219,216,248, + 124,62,31,31,27,219,219,126,24,24,14,13,26,18,1,0, + 60,24,119,240,226,96,226,64,228,192,253,128,115,120,6,236, + 6,196,13,196,25,200,49,248,48,224,13,13,26,16,2,0, + 30,0,51,0,51,0,51,0,58,0,28,240,60,96,94,64, + 207,128,199,128,227,192,255,248,120,240,2,6,6,5,1,7, + 192,192,192,192,128,128,5,17,17,6,1,252,8,16,48,96, + 96,224,192,192,192,192,192,224,96,96,48,16,8,5,17,17, + 6,0,252,128,64,96,48,48,56,24,24,24,24,24,56,48, + 32,96,64,128,8,9,9,9,0,4,24,24,219,255,60,255, + 219,24,24,10,10,20,11,0,0,12,0,12,0,12,0,12, + 0,255,192,255,192,12,0,12,0,12,0,12,0,4,6,6, + 5,0,253,112,112,112,48,96,192,5,3,3,6,0,4,248, + 248,248,3,3,3,5,1,0,224,224,224,5,13,13,6,0, + 0,24,24,24,48,48,48,32,96,96,96,192,192,192,8,13, + 13,9,0,0,60,102,103,231,231,231,231,231,231,231,102,102, + 60,8,13,13,9,0,0,28,60,252,28,28,28,28,28,28, + 28,28,28,127,8,13,13,9,0,0,60,126,207,135,7,7, + 6,12,24,49,99,255,255,9,13,26,9,0,0,60,0,126, + 0,143,0,7,0,14,0,28,0,62,0,15,0,7,128,3, + 128,195,0,230,0,124,0,8,13,13,9,0,0,14,30,30, + 46,46,78,206,142,255,255,14,14,14,9,13,26,9,0,0, + 63,0,63,0,62,0,64,0,120,0,126,0,63,0,7,128, + 3,128,3,128,195,0,230,0,252,0,8,13,13,9,0,0, + 7,28,56,112,96,252,230,231,231,231,231,102,60,8,13,13, + 9,0,0,255,255,254,134,12,12,12,24,24,56,48,48,112, + 8,13,13,9,0,0,60,102,227,227,246,124,60,126,207,199, + 195,231,126,8,13,13,9,0,0,60,102,231,231,231,231,103, + 63,7,6,14,60,240,3,9,9,5,1,0,224,224,224,0, + 0,0,224,224,224,4,12,12,5,0,253,112,112,112,0,0, + 0,112,112,112,48,96,192,9,9,18,11,1,0,3,128,15, + 0,60,0,240,0,192,0,240,0,60,0,15,0,3,128,9, + 6,12,11,1,2,255,128,255,128,0,0,0,0,255,128,255, + 128,9,9,18,11,1,0,224,0,120,0,30,0,7,128,1, + 128,7,128,30,0,120,0,224,0,7,13,13,9,1,0,124, + 206,238,238,78,12,24,16,16,0,56,56,56,15,16,32,17, + 1,253,3,224,15,56,56,12,48,4,115,182,103,118,231,118, + 238,102,238,102,238,236,239,252,103,184,112,0,56,0,30,0, + 7,240,14,13,26,14,0,0,3,0,3,128,7,128,5,192, + 13,192,8,192,24,224,16,96,31,240,48,112,32,56,96,56, + 248,252,10,13,26,13,1,0,254,0,115,128,113,192,113,192, + 113,192,115,128,126,0,115,128,113,192,113,192,113,192,115,128, + 255,0,12,13,26,14,1,0,15,144,56,240,112,112,112,48, + 224,0,224,0,224,0,224,0,224,0,112,0,112,48,60,224, + 15,128,12,13,26,14,1,0,255,0,113,192,112,224,112,96, + 112,112,112,112,112,112,112,112,112,112,112,96,112,224,113,192, + 255,0,10,13,26,13,2,0,255,192,112,192,112,64,112,0, + 112,0,113,0,127,0,113,0,112,0,112,0,112,64,112,192, + 255,192,10,13,26,12,2,0,255,192,112,192,112,64,112,0, + 112,0,113,0,127,0,113,0,112,0,112,0,112,0,112,0, + 248,0,13,13,26,15,1,0,15,144,56,240,112,112,112,48, + 224,0,224,0,224,248,224,112,224,112,112,112,112,112,56,240, + 15,192,13,13,26,15,1,0,248,248,112,112,112,112,112,112, + 112,112,112,112,127,240,112,112,112,112,112,112,112,112,112,112, + 249,248,5,13,13,7,1,0,248,112,112,112,112,112,112,112, + 112,112,112,112,248,8,15,15,9,0,254,31,14,14,14,14, + 14,14,14,14,14,14,14,238,236,120,12,13,26,15,2,0, + 249,240,112,192,113,128,115,0,118,0,124,0,124,0,126,0, + 119,0,119,128,115,192,113,224,248,240,10,13,26,13,2,0, + 248,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0, + 112,0,112,0,112,64,112,192,255,192,15,13,26,18,2,0, + 240,30,112,28,120,60,120,60,124,92,92,92,94,220,78,156, + 79,156,71,28,71,28,67,28,226,62,12,13,26,14,1,0, + 240,112,120,32,120,32,124,32,94,32,78,32,79,32,71,160, + 67,160,67,224,65,224,64,224,224,224,13,13,26,15,1,0, + 15,128,56,224,112,112,112,112,224,56,224,56,224,56,224,56, + 224,56,112,112,112,112,56,224,15,128,10,13,26,12,1,0, + 255,0,115,128,113,192,113,192,113,192,115,128,127,0,112,0, + 112,0,112,0,112,0,112,0,248,0,13,17,34,15,1,252, + 15,128,56,224,112,112,112,112,224,56,224,56,224,56,224,56, + 224,56,112,112,112,112,56,224,15,128,15,0,7,128,3,224, + 0,248,12,13,26,14,1,0,255,0,115,128,113,192,113,192, + 113,192,115,128,127,0,119,0,115,128,113,192,113,192,112,224, + 248,240,9,13,26,11,1,0,30,128,99,128,225,128,224,0, + 248,0,124,0,63,0,15,128,7,128,3,128,195,128,231,0, + 188,0,11,13,26,13,1,0,255,224,206,96,142,32,14,0, + 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, + 31,0,12,13,26,14,1,0,248,240,112,32,112,32,112,32, + 112,32,112,32,112,32,112,32,112,32,112,32,112,96,56,192, + 31,128,14,13,26,14,0,0,252,124,120,24,56,16,60,48, + 28,32,30,96,30,64,14,192,15,128,7,128,7,0,3,0, + 2,0,18,13,39,19,1,0,253,247,192,121,225,128,56,225, + 0,60,227,0,60,226,0,28,114,0,30,118,0,14,116,0, + 14,188,0,15,60,0,7,60,0,6,24,0,6,24,0,14, + 13,26,14,0,0,248,120,120,48,60,96,28,192,15,128,7, + 0,7,128,7,192,13,192,24,224,48,112,96,120,240,252,13, + 13,26,14,1,0,252,120,120,48,56,96,60,64,30,192,14, + 128,15,128,7,0,7,0,7,0,7,0,7,0,31,192,10, + 13,26,13,2,0,255,192,195,192,131,128,7,128,15,0,14, + 0,30,0,60,0,56,0,120,0,240,64,224,192,255,192,4, + 16,16,6,1,253,240,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,240,5,13,13,5,0,0,192,192,192,96,96, + 96,32,48,48,48,24,24,24,4,16,16,6,1,253,240,48, + 48,48,48,48,48,48,48,48,48,48,48,48,48,240,8,7, + 7,11,1,6,24,24,60,36,102,195,195,9,2,4,9,0, + 252,255,128,255,128,5,3,3,6,0,10,224,112,24,8,9, + 9,9,0,0,124,206,206,30,110,206,206,254,119,9,13,26, + 9,255,0,240,0,112,0,112,0,112,0,118,0,127,0,115, + 128,115,128,115,128,115,128,115,128,115,0,110,0,7,9,9, + 8,0,0,62,118,230,224,224,224,224,118,60,9,13,26,10, + 0,0,15,0,7,0,7,0,7,0,55,0,127,0,231,0, + 231,0,231,0,231,0,231,0,119,0,59,128,7,9,9,8, + 0,0,60,118,230,254,224,224,224,118,60,7,13,13,6,0, + 0,62,118,118,112,252,112,112,112,112,112,112,112,248,9,13, + 26,9,0,252,63,128,231,0,231,0,231,0,230,0,120,0, + 96,0,254,0,255,128,227,128,193,128,227,0,126,0,10,13, + 26,11,0,0,240,0,112,0,112,0,112,0,119,0,127,128, + 115,128,115,128,115,128,115,128,115,128,115,128,251,192,5,13, + 13,5,0,0,96,96,96,0,240,112,112,112,112,112,112,112, + 248,6,17,17,5,254,252,24,24,24,0,60,28,28,28,28, + 28,28,28,28,28,220,216,112,10,13,26,10,0,0,240,0, + 112,0,112,0,112,0,115,128,115,0,118,0,124,0,124,0, + 126,0,119,0,115,128,247,192,5,13,13,6,0,0,240,112, + 112,112,112,112,112,112,112,112,112,112,248,15,9,18,16,0, + 0,247,56,123,220,115,156,115,156,115,156,115,156,115,156,115, + 156,251,222,10,9,18,11,0,0,231,0,127,128,115,128,115, + 128,115,128,115,128,115,128,115,128,251,192,8,9,9,9,0, + 0,60,102,231,231,231,231,231,102,60,9,13,26,10,0,252, + 230,0,127,0,115,128,115,128,115,128,115,128,115,128,123,0, + 118,0,112,0,112,0,112,0,248,0,9,13,26,9,0,252, + 57,0,119,0,231,0,231,0,231,0,231,0,231,0,127,0, + 55,0,7,0,7,0,7,0,15,128,7,9,9,8,0,0, + 238,118,112,112,112,112,112,112,248,6,9,9,7,0,0,124, + 204,228,240,120,60,156,204,248,6,11,11,7,0,0,16,48, + 252,112,112,112,112,112,112,116,56,10,9,18,11,0,0,247, + 128,115,128,115,128,115,128,115,128,115,128,115,128,127,128,61, + 192,10,9,18,9,255,0,251,192,113,128,121,0,59,0,59, + 0,30,0,30,0,12,0,12,0,14,9,18,12,255,0,247, + 156,119,24,115,144,59,176,57,160,29,224,31,224,12,192,12, + 192,9,9,18,9,0,0,243,128,115,0,122,0,60,0,28, + 0,30,0,55,0,103,128,227,128,10,13,26,9,255,252,251, + 192,113,128,121,0,59,0,58,0,30,0,30,0,12,0,12, + 0,12,0,200,0,216,0,240,0,7,9,9,8,0,0,254, + 206,142,28,56,112,114,230,254,7,17,17,8,0,252,30,56, + 48,48,48,48,48,96,192,96,48,48,48,48,48,56,30,2, + 16,16,4,1,253,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,7,17,17,8,1,252,240,56,24,24,24, + 24,24,12,6,12,24,24,24,24,24,56,240,8,4,4,10, + 1,3,112,249,159,14,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, + 255,255,255,255,255,255,255,0,0,0,5,0,1,3,13,13, + 6,1,252,224,224,224,0,64,64,224,224,224,224,224,224,64, + 8,13,13,9,0,254,1,3,62,119,239,236,216,216,240,115, + 62,96,64,14,13,26,9,0,0,31,0,59,0,59,0,56, + 0,56,0,56,0,254,0,56,4,56,0,48,0,240,128,191, + 128,239,0,8,8,8,9,0,2,219,255,102,195,195,102,255, + 219,9,13,26,9,0,0,251,128,113,0,115,0,58,0,58, + 0,28,0,127,0,28,0,127,0,28,0,28,0,28,0,127, + 0,2,16,16,4,1,253,192,192,192,192,192,192,0,0,0, + 0,192,192,192,192,192,192,7,16,16,9,1,253,60,102,70, + 96,48,120,220,206,230,118,60,28,12,196,204,120,6,2,2, + 6,0,10,204,204,13,13,26,15,1,0,15,128,56,224,96, + 48,79,208,220,216,152,72,152,8,152,8,220,216,79,144,96, + 48,56,224,15,128,6,8,8,6,0,5,112,216,56,216,216, + 236,0,252,9,7,14,11,1,1,25,128,51,0,102,0,204, + 0,102,0,51,0,25,128,9,6,12,11,1,1,255,128,255, + 128,1,128,1,128,1,128,1,128,5,3,3,6,0,4,248, + 248,248,13,13,26,15,1,0,15,128,56,224,96,48,95,144, + 204,216,140,200,143,136,141,136,204,216,94,240,96,48,56,224, + 15,128,6,1,1,6,0,11,252,6,5,5,7,0,8,120, + 204,204,204,120,8,11,11,11,1,0,24,24,24,255,255,24, + 24,24,0,255,255,5,8,8,5,0,5,112,152,24,48,32, + 64,248,240,5,8,8,5,0,5,112,152,24,112,56,24,152, + 112,5,3,3,6,0,10,56,112,192,10,13,26,11,0,252, + 247,128,115,128,115,128,115,128,115,128,115,128,115,128,127,128, + 125,192,96,0,224,0,240,0,96,0,9,17,34,10,0,252, + 63,128,127,128,251,0,251,0,251,0,251,0,123,0,59,0, + 27,0,27,0,27,0,27,0,27,0,27,0,27,0,27,0, + 27,0,3,3,3,5,1,4,224,224,224,5,4,4,6,1, + 252,32,24,152,112,6,8,8,5,0,5,48,240,48,48,48, + 48,48,252,6,8,8,6,0,5,120,204,204,204,204,120,0, + 252,9,7,14,11,1,1,204,0,102,0,51,0,25,128,51, + 0,102,0,204,0,13,13,26,13,0,0,48,96,240,192,48, + 192,49,128,49,128,51,16,51,48,254,112,6,176,13,176,13, + 248,24,48,24,48,13,13,26,13,0,0,48,96,240,192,48, + 192,49,128,49,128,51,112,51,152,254,24,6,48,12,32,12, + 64,24,248,24,240,13,13,26,13,0,0,112,96,152,192,24, + 192,113,128,57,128,27,16,155,48,118,112,6,176,13,176,13, + 248,24,48,24,48,7,13,13,9,1,252,56,56,56,0,16, + 16,48,96,228,238,238,230,124,14,17,34,14,0,0,14,0, + 7,0,1,128,0,0,3,0,3,128,7,128,5,192,13,192, + 8,192,24,224,16,96,31,240,48,112,32,56,96,56,248,252, + 14,17,34,14,0,0,3,128,7,0,12,0,0,0,3,0, + 3,128,7,128,5,192,13,192,8,192,24,224,16,96,31,240, + 48,112,32,56,96,56,248,252,14,17,34,14,0,0,3,0, + 7,128,12,192,0,0,3,0,3,128,7,128,5,192,13,192, + 8,192,24,224,16,96,31,240,48,112,32,56,96,56,248,252, + 14,17,34,14,0,0,6,64,15,192,9,128,0,0,3,0, + 3,128,7,128,5,192,13,192,8,192,24,224,16,96,31,240, + 48,112,32,56,96,56,248,252,14,16,32,14,0,0,12,192, + 12,192,0,0,3,0,3,128,7,128,5,192,13,192,8,192, + 24,224,16,96,31,240,48,112,32,56,96,56,248,252,14,17, + 34,14,0,0,7,0,13,128,13,128,7,0,3,0,3,128, + 7,128,5,192,13,192,8,192,24,224,16,96,31,240,48,112, + 32,56,96,56,248,252,17,13,39,19,0,0,7,255,128,3, + 225,128,2,224,128,6,224,0,4,224,0,12,226,0,8,254, + 0,31,226,0,16,224,0,48,224,0,32,224,128,96,225,128, + 249,255,128,12,17,34,14,1,252,15,144,56,240,112,112,112, + 48,224,0,224,0,224,0,224,0,224,0,112,0,112,48,60, + 224,15,128,4,0,3,0,19,0,14,0,10,17,34,13,2, + 0,56,0,28,0,6,0,0,0,255,192,112,192,112,64,112, + 0,112,0,113,0,127,0,113,0,112,0,112,0,112,64,112, + 192,255,192,10,17,34,13,2,0,14,0,28,0,48,0,0, + 0,255,192,112,192,112,64,112,0,112,0,113,0,127,0,113, + 0,112,0,112,0,112,64,112,192,255,192,10,17,34,13,2, + 0,12,0,30,0,51,0,0,0,255,192,112,192,112,64,112, + 0,112,0,113,0,127,0,113,0,112,0,112,0,112,64,112, + 192,255,192,10,16,32,13,2,0,51,0,51,0,0,0,255, + 192,112,192,112,64,112,0,112,0,113,0,127,0,113,0,112, + 0,112,0,112,64,112,192,255,192,5,17,17,7,1,0,224, + 112,24,0,248,112,112,112,112,112,112,112,112,112,112,112,248, + 5,17,17,7,1,0,56,112,192,0,248,112,112,112,112,112, + 112,112,112,112,112,112,248,6,17,17,7,1,0,48,120,204, + 0,248,112,112,112,112,112,112,112,112,112,112,112,248,6,16, + 16,7,1,0,204,204,0,248,112,112,112,112,112,112,112,112, + 112,112,112,248,13,13,26,14,0,0,127,128,56,224,56,112, + 56,48,56,56,56,56,254,56,56,56,56,56,56,48,56,112, + 56,224,127,128,12,17,34,14,1,0,12,128,31,128,19,0, + 0,0,240,112,120,32,120,32,124,32,94,32,78,32,79,32, + 71,160,67,160,67,224,65,224,64,224,224,224,13,17,34,15, + 1,0,14,0,7,0,1,128,0,0,15,128,56,224,112,112, + 112,112,224,56,224,56,224,56,224,56,224,56,112,112,112,112, + 56,224,15,128,13,17,34,15,1,0,3,128,7,0,12,0, + 0,0,15,128,56,224,112,112,112,112,224,56,224,56,224,56, + 224,56,224,56,112,112,112,112,56,224,15,128,13,17,34,15, + 1,0,6,0,15,0,25,128,0,0,15,128,56,224,112,112, + 112,112,224,56,224,56,224,56,224,56,224,56,112,112,112,112, + 56,224,15,128,13,17,34,15,1,0,12,128,31,128,19,0, + 0,0,15,128,56,224,112,112,112,112,224,56,224,56,224,56, + 224,56,224,56,112,112,112,112,56,224,15,128,13,16,32,15, + 1,0,25,128,25,128,0,0,15,128,56,224,112,112,112,112, + 224,56,224,56,224,56,224,56,224,56,112,112,112,112,56,224, + 15,128,9,8,16,11,1,1,193,128,99,0,54,0,28,0, + 28,0,54,0,99,0,193,128,13,15,30,15,1,255,0,96, + 15,192,56,224,112,176,113,176,225,56,227,56,226,56,230,56, + 228,56,108,112,104,112,56,224,31,128,48,0,12,17,34,14, + 1,0,28,0,14,0,3,0,0,0,248,240,112,32,112,32, + 112,32,112,32,112,32,112,32,112,32,112,32,112,32,112,96, + 56,192,31,128,12,17,34,14,1,0,1,192,3,128,6,0, + 0,0,248,240,112,32,112,32,112,32,112,32,112,32,112,32, + 112,32,112,32,112,32,112,96,56,192,31,128,12,17,34,14, + 1,0,6,0,15,0,25,128,0,0,248,240,112,32,112,32, + 112,32,112,32,112,32,112,32,112,32,112,32,112,32,112,96, + 56,192,31,128,12,16,32,14,1,0,25,128,25,128,0,0, + 248,240,112,32,112,32,112,32,112,32,112,32,112,32,112,32, + 112,32,112,32,112,96,56,192,31,128,13,17,34,14,1,0, + 0,224,1,192,3,0,0,0,252,120,120,48,56,96,60,64, + 30,192,14,128,15,128,7,0,7,0,7,0,7,0,7,0, + 31,192,10,13,26,11,1,0,248,0,112,0,112,0,127,0, + 115,128,113,192,113,192,113,192,115,128,127,0,112,0,112,0, + 248,0,9,13,26,10,0,0,30,0,59,0,115,128,115,128, + 115,128,119,0,114,0,115,0,115,128,115,128,115,128,115,128, + 247,0,8,13,13,9,0,0,112,56,12,0,124,206,206,30, + 110,206,206,254,119,8,13,13,9,0,0,14,28,48,0,124, + 206,206,30,110,206,206,254,119,8,13,13,9,0,0,24,60, + 102,0,124,206,206,30,110,206,206,254,119,8,13,13,9,0, + 0,50,126,76,0,124,206,206,30,110,206,206,254,119,8,12, + 12,9,0,0,102,102,0,124,206,206,30,110,206,206,254,119, + 8,13,13,9,0,0,56,108,108,56,124,206,206,30,110,206, + 206,254,119,12,9,18,13,0,0,125,224,231,176,199,48,15, + 240,127,0,231,0,199,0,239,176,121,224,7,13,13,8,0, + 252,62,118,230,224,224,224,224,118,60,16,12,76,56,7,13, + 13,8,0,0,112,56,12,0,60,118,230,254,224,224,224,118, + 60,8,13,13,8,0,0,7,14,24,0,60,118,230,254,224, + 224,224,118,60,7,13,13,8,0,0,24,60,102,0,60,118, + 230,254,224,224,224,118,60,7,12,12,8,0,0,102,102,0, + 60,118,230,254,224,224,224,118,60,5,13,13,5,0,0,224, + 112,24,0,240,112,112,112,112,112,112,112,248,5,13,13,5, + 0,0,56,112,192,0,240,112,112,112,112,112,112,112,248,6, + 13,13,5,0,0,48,120,204,0,240,112,112,112,112,112,112, + 112,248,6,12,12,5,0,0,204,204,0,240,112,112,112,112, + 112,112,112,248,8,13,13,9,0,0,96,54,56,76,62,102, + 231,231,231,231,231,102,60,10,13,26,11,0,0,25,0,63, + 0,38,0,0,0,231,0,127,128,115,128,115,128,115,128,115, + 128,115,128,115,128,251,192,8,13,13,9,0,0,112,56,12, + 0,60,102,231,231,231,231,231,102,60,8,13,13,9,0,0, + 7,14,24,0,60,102,231,231,231,231,231,102,60,8,13,13, + 9,0,0,24,60,102,0,60,102,231,231,231,231,231,102,60, + 8,13,13,9,0,0,50,126,76,0,60,102,231,231,231,231, + 231,102,60,8,12,12,9,0,0,102,102,0,60,102,231,231, + 231,231,231,102,60,8,8,8,11,1,1,24,24,0,255,255, + 0,24,24,10,11,22,9,255,255,0,64,30,128,51,0,115, + 128,115,128,119,128,123,128,113,128,51,0,94,0,128,0,10, + 13,26,11,0,0,56,0,28,0,6,0,0,0,247,128,115, + 128,115,128,115,128,115,128,115,128,115,128,127,128,61,192,10, + 13,26,11,0,0,14,0,28,0,48,0,0,0,247,128,115, + 128,115,128,115,128,115,128,115,128,115,128,127,128,61,192,10, + 13,26,11,0,0,12,0,30,0,51,0,0,0,247,128,115, + 128,115,128,115,128,115,128,115,128,115,128,127,128,61,192,10, + 12,24,11,0,0,51,0,51,0,0,0,247,128,115,128,115, + 128,115,128,115,128,115,128,115,128,127,128,61,192,10,17,34, + 9,255,252,3,128,7,0,12,0,0,0,251,192,113,128,121, + 0,59,0,58,0,30,0,30,0,12,0,12,0,12,0,8, + 0,216,0,240,0,9,17,34,10,0,252,240,0,112,0,112, + 0,112,0,118,0,127,0,115,128,115,128,115,128,115,128,115, + 128,123,0,118,0,112,0,112,0,112,0,248,0,10,16,32, + 9,255,252,51,0,51,0,0,0,251,192,113,128,121,0,59, + 0,58,0,30,0,30,0,12,0,12,0,12,0,8,0,216, + 0,240,0}; +/* + Fontname: -Adobe-Times-Bold-R-Normal--20-140-100-100-P-100-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 13, '1' Height: 13 + Calculated Max Values w=18 h=17 x= 2 y=10 dx=19 dy= 0 ascent=14 len=39 + Font Bounding box w=22 h=28 x=-2 y=-7 + Calculated Min Values x=-2 y=-4 dx= 0 dy= 0 + Pure Font ascent =13 descent=-4 + X Font ascent =13 descent=-4 + Max Font ascent =14 descent=-4 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_timB14r[2295] U8G_FONT_SECTION("u8g_font_timB14r") = { + 0,22,28,254,249,13,2,178,6,78,32,127,252,14,252,13, + 252,0,0,0,5,0,1,3,13,13,6,1,0,64,224,224, + 224,224,224,224,64,64,0,224,224,224,6,6,6,10,2,7, + 204,204,204,204,136,136,10,12,24,9,0,0,25,128,25,128, + 25,128,127,192,127,192,51,0,51,0,255,128,255,128,102,0, + 102,0,102,0,8,16,16,9,0,254,24,126,219,219,216,248, + 124,62,31,31,27,219,219,126,24,24,14,13,26,18,1,0, + 60,24,119,240,226,96,226,64,228,192,253,128,115,120,6,236, + 6,196,13,196,25,200,49,248,48,224,13,13,26,16,2,0, + 30,0,51,0,51,0,51,0,58,0,28,240,60,96,94,64, + 207,128,199,128,227,192,255,248,120,240,2,6,6,5,1,7, + 192,192,192,192,128,128,5,17,17,6,1,252,8,16,48,96, + 96,224,192,192,192,192,192,224,96,96,48,16,8,5,17,17, + 6,0,252,128,64,96,48,48,56,24,24,24,24,24,56,48, + 32,96,64,128,8,9,9,9,0,4,24,24,219,255,60,255, + 219,24,24,10,10,20,11,0,0,12,0,12,0,12,0,12, + 0,255,192,255,192,12,0,12,0,12,0,12,0,4,6,6, + 5,0,253,112,112,112,48,96,192,5,3,3,6,0,4,248, + 248,248,3,3,3,5,1,0,224,224,224,5,13,13,6,0, + 0,24,24,24,48,48,48,32,96,96,96,192,192,192,8,13, + 13,9,0,0,60,102,103,231,231,231,231,231,231,231,102,102, + 60,8,13,13,9,0,0,28,60,252,28,28,28,28,28,28, + 28,28,28,127,8,13,13,9,0,0,60,126,207,135,7,7, + 6,12,24,49,99,255,255,9,13,26,9,0,0,60,0,126, + 0,143,0,7,0,14,0,28,0,62,0,15,0,7,128,3, + 128,195,0,230,0,124,0,8,13,13,9,0,0,14,30,30, + 46,46,78,206,142,255,255,14,14,14,9,13,26,9,0,0, + 63,0,63,0,62,0,64,0,120,0,126,0,63,0,7,128, + 3,128,3,128,195,0,230,0,252,0,8,13,13,9,0,0, + 7,28,56,112,96,252,230,231,231,231,231,102,60,8,13,13, + 9,0,0,255,255,254,134,12,12,12,24,24,56,48,48,112, + 8,13,13,9,0,0,60,102,227,227,246,124,60,126,207,199, + 195,231,126,8,13,13,9,0,0,60,102,231,231,231,231,103, + 63,7,6,14,60,240,3,9,9,5,1,0,224,224,224,0, + 0,0,224,224,224,4,12,12,5,0,253,112,112,112,0,0, + 0,112,112,112,48,96,192,9,9,18,11,1,0,3,128,15, + 0,60,0,240,0,192,0,240,0,60,0,15,0,3,128,9, + 6,12,11,1,2,255,128,255,128,0,0,0,0,255,128,255, + 128,9,9,18,11,1,0,224,0,120,0,30,0,7,128,1, + 128,7,128,30,0,120,0,224,0,7,13,13,9,1,0,124, + 206,238,238,78,12,24,16,16,0,56,56,56,15,16,32,17, + 1,253,3,224,15,56,56,12,48,4,115,182,103,118,231,118, + 238,102,238,102,238,236,239,252,103,184,112,0,56,0,30,0, + 7,240,14,13,26,14,0,0,3,0,3,128,7,128,5,192, + 13,192,8,192,24,224,16,96,31,240,48,112,32,56,96,56, + 248,252,10,13,26,13,1,0,254,0,115,128,113,192,113,192, + 113,192,115,128,126,0,115,128,113,192,113,192,113,192,115,128, + 255,0,12,13,26,14,1,0,15,144,56,240,112,112,112,48, + 224,0,224,0,224,0,224,0,224,0,112,0,112,48,60,224, + 15,128,12,13,26,14,1,0,255,0,113,192,112,224,112,96, + 112,112,112,112,112,112,112,112,112,112,112,96,112,224,113,192, + 255,0,10,13,26,13,2,0,255,192,112,192,112,64,112,0, + 112,0,113,0,127,0,113,0,112,0,112,0,112,64,112,192, + 255,192,10,13,26,12,2,0,255,192,112,192,112,64,112,0, + 112,0,113,0,127,0,113,0,112,0,112,0,112,0,112,0, + 248,0,13,13,26,15,1,0,15,144,56,240,112,112,112,48, + 224,0,224,0,224,248,224,112,224,112,112,112,112,112,56,240, + 15,192,13,13,26,15,1,0,248,248,112,112,112,112,112,112, + 112,112,112,112,127,240,112,112,112,112,112,112,112,112,112,112, + 249,248,5,13,13,7,1,0,248,112,112,112,112,112,112,112, + 112,112,112,112,248,8,15,15,9,0,254,31,14,14,14,14, + 14,14,14,14,14,14,14,238,236,120,12,13,26,15,2,0, + 249,240,112,192,113,128,115,0,118,0,124,0,124,0,126,0, + 119,0,119,128,115,192,113,224,248,240,10,13,26,13,2,0, + 248,0,112,0,112,0,112,0,112,0,112,0,112,0,112,0, + 112,0,112,0,112,64,112,192,255,192,15,13,26,18,2,0, + 240,30,112,28,120,60,120,60,124,92,92,92,94,220,78,156, + 79,156,71,28,71,28,67,28,226,62,12,13,26,14,1,0, + 240,112,120,32,120,32,124,32,94,32,78,32,79,32,71,160, + 67,160,67,224,65,224,64,224,224,224,13,13,26,15,1,0, + 15,128,56,224,112,112,112,112,224,56,224,56,224,56,224,56, + 224,56,112,112,112,112,56,224,15,128,10,13,26,12,1,0, + 255,0,115,128,113,192,113,192,113,192,115,128,127,0,112,0, + 112,0,112,0,112,0,112,0,248,0,13,17,34,15,1,252, + 15,128,56,224,112,112,112,112,224,56,224,56,224,56,224,56, + 224,56,112,112,112,112,56,224,15,128,15,0,7,128,3,224, + 0,248,12,13,26,14,1,0,255,0,115,128,113,192,113,192, + 113,192,115,128,127,0,119,0,115,128,113,192,113,192,112,224, + 248,240,9,13,26,11,1,0,30,128,99,128,225,128,224,0, + 248,0,124,0,63,0,15,128,7,128,3,128,195,128,231,0, + 188,0,11,13,26,13,1,0,255,224,206,96,142,32,14,0, + 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, + 31,0,12,13,26,14,1,0,248,240,112,32,112,32,112,32, + 112,32,112,32,112,32,112,32,112,32,112,32,112,96,56,192, + 31,128,14,13,26,14,0,0,252,124,120,24,56,16,60,48, + 28,32,30,96,30,64,14,192,15,128,7,128,7,0,3,0, + 2,0,18,13,39,19,1,0,253,247,192,121,225,128,56,225, + 0,60,227,0,60,226,0,28,114,0,30,118,0,14,116,0, + 14,188,0,15,60,0,7,60,0,6,24,0,6,24,0,14, + 13,26,14,0,0,248,120,120,48,60,96,28,192,15,128,7, + 0,7,128,7,192,13,192,24,224,48,112,96,120,240,252,13, + 13,26,14,1,0,252,120,120,48,56,96,60,64,30,192,14, + 128,15,128,7,0,7,0,7,0,7,0,7,0,31,192,10, + 13,26,13,2,0,255,192,195,192,131,128,7,128,15,0,14, + 0,30,0,60,0,56,0,120,0,240,64,224,192,255,192,4, + 16,16,6,1,253,240,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,240,5,13,13,5,0,0,192,192,192,96,96, + 96,32,48,48,48,24,24,24,4,16,16,6,1,253,240,48, + 48,48,48,48,48,48,48,48,48,48,48,48,48,240,8,7, + 7,11,1,6,24,24,60,36,102,195,195,9,2,4,9,0, + 252,255,128,255,128,5,3,3,6,0,10,224,112,24,8,9, + 9,9,0,0,124,206,206,30,110,206,206,254,119,9,13,26, + 9,255,0,240,0,112,0,112,0,112,0,118,0,127,0,115, + 128,115,128,115,128,115,128,115,128,115,0,110,0,7,9,9, + 8,0,0,62,118,230,224,224,224,224,118,60,9,13,26,10, + 0,0,15,0,7,0,7,0,7,0,55,0,127,0,231,0, + 231,0,231,0,231,0,231,0,119,0,59,128,7,9,9,8, + 0,0,60,118,230,254,224,224,224,118,60,7,13,13,6,0, + 0,62,118,118,112,252,112,112,112,112,112,112,112,248,9,13, + 26,9,0,252,63,128,231,0,231,0,231,0,230,0,120,0, + 96,0,254,0,255,128,227,128,193,128,227,0,126,0,10,13, + 26,11,0,0,240,0,112,0,112,0,112,0,119,0,127,128, + 115,128,115,128,115,128,115,128,115,128,115,128,251,192,5,13, + 13,5,0,0,96,96,96,0,240,112,112,112,112,112,112,112, + 248,6,17,17,5,254,252,24,24,24,0,60,28,28,28,28, + 28,28,28,28,28,220,216,112,10,13,26,10,0,0,240,0, + 112,0,112,0,112,0,115,128,115,0,118,0,124,0,124,0, + 126,0,119,0,115,128,247,192,5,13,13,6,0,0,240,112, + 112,112,112,112,112,112,112,112,112,112,248,15,9,18,16,0, + 0,247,56,123,220,115,156,115,156,115,156,115,156,115,156,115, + 156,251,222,10,9,18,11,0,0,231,0,127,128,115,128,115, + 128,115,128,115,128,115,128,115,128,251,192,8,9,9,9,0, + 0,60,102,231,231,231,231,231,102,60,9,13,26,10,0,252, + 230,0,127,0,115,128,115,128,115,128,115,128,115,128,123,0, + 118,0,112,0,112,0,112,0,248,0,9,13,26,9,0,252, + 57,0,119,0,231,0,231,0,231,0,231,0,231,0,127,0, + 55,0,7,0,7,0,7,0,15,128,7,9,9,8,0,0, + 238,118,112,112,112,112,112,112,248,6,9,9,7,0,0,124, + 204,228,240,120,60,156,204,248,6,11,11,7,0,0,16,48, + 252,112,112,112,112,112,112,116,56,10,9,18,11,0,0,247, + 128,115,128,115,128,115,128,115,128,115,128,115,128,127,128,61, + 192,10,9,18,9,255,0,251,192,113,128,121,0,59,0,59, + 0,30,0,30,0,12,0,12,0,14,9,18,12,255,0,247, + 156,119,24,115,144,59,176,57,160,29,224,31,224,12,192,12, + 192,9,9,18,9,0,0,243,128,115,0,122,0,60,0,28, + 0,30,0,55,0,103,128,227,128,10,13,26,9,255,252,251, + 192,113,128,121,0,59,0,58,0,30,0,30,0,12,0,12, + 0,12,0,200,0,216,0,240,0,7,9,9,8,0,0,254, + 206,142,28,56,112,114,230,254,7,17,17,8,0,252,30,56, + 48,48,48,48,48,96,192,96,48,48,48,48,48,56,30,2, + 16,16,4,1,253,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,7,17,17,8,1,252,240,56,24,24,24, + 24,24,12,6,12,24,24,24,24,24,56,240,8,4,4,10, + 1,3,112,249,159,14,255}; +/* + Fontname: -Adobe-Times-Bold-R-Normal--25-180-100-100-P-132-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 17, '1' Height: 17 + Calculated Max Values w=24 h=23 x= 3 y=14 dx=25 dy= 0 ascent=23 len=69 + Font Bounding box w=27 h=38 x=-2 y=-10 + Calculated Min Values x=-1 y=-6 dx= 0 dy= 0 + Pure Font ascent =17 descent=-5 + X Font ascent =17 descent=-5 + Max Font ascent =23 descent=-6 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_timB18[7223] U8G_FONT_SECTION("u8g_font_timB18") = { + 0,27,38,254,246,17,4,47,9,109,32,255,251,23,250,17, + 251,0,0,0,6,0,1,4,17,17,8,2,0,96,240,240, + 240,240,240,96,96,96,96,96,0,0,96,240,240,96,8,8, + 8,12,2,9,231,231,231,231,231,231,66,66,12,17,34,13, + 0,0,12,192,12,192,12,192,12,192,127,240,127,240,25,128, + 25,128,25,128,25,128,255,224,255,224,51,0,51,0,51,0, + 51,0,51,0,10,20,40,12,1,254,8,0,8,0,63,0, + 107,128,233,128,233,128,248,128,124,0,126,0,63,0,31,128, + 15,128,11,192,137,192,201,192,201,128,235,128,62,0,8,0, + 8,0,17,17,51,19,1,0,30,12,0,59,252,0,113,24, + 0,225,48,0,226,48,0,226,96,0,244,96,0,120,192,0, + 0,192,0,1,143,0,1,157,128,3,56,128,3,112,128,6, + 113,0,6,113,0,12,122,0,12,60,0,17,17,51,21,1, + 0,3,224,0,6,112,0,14,48,0,14,48,0,14,112,0, + 7,224,0,15,15,128,31,135,0,51,194,0,97,230,0,225, + 252,0,224,248,0,224,120,0,240,124,0,248,255,128,127,159, + 0,63,14,0,3,8,8,7,2,9,224,224,224,224,224,224, + 64,64,5,21,21,8,1,252,8,24,48,48,112,96,96,224, + 224,224,224,224,224,224,96,96,112,48,48,24,8,5,21,21, + 8,1,252,128,192,96,96,48,48,48,56,56,56,56,56,56, + 56,48,48,48,96,96,192,128,10,11,22,13,1,6,12,0, + 12,0,76,128,237,192,127,128,30,0,127,128,237,192,76,128, + 12,0,12,0,12,12,24,14,1,0,6,0,6,0,6,0, + 6,0,6,0,255,240,255,240,6,0,6,0,6,0,6,0, + 6,0,4,9,9,6,1,251,96,240,240,112,48,96,96,192, + 128,6,3,3,8,1,5,252,252,252,4,4,4,6,1,0, + 96,240,240,96,7,17,17,7,0,0,6,6,4,12,12,8, + 24,24,16,48,48,32,96,96,64,192,192,11,17,34,12,0, + 0,14,0,59,128,49,128,113,192,113,192,241,224,241,224,241, + 224,241,224,241,224,241,224,113,192,113,192,113,192,49,128,59, + 128,14,0,9,17,34,12,2,0,12,0,60,0,252,0,28, + 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,28,0,62,0,255,128,10,17,34,12,1, + 0,30,0,63,0,127,128,199,128,131,128,3,128,3,128,3, + 0,7,0,6,0,12,0,12,0,24,64,48,64,127,192,255, + 192,255,128,11,17,34,12,0,0,15,0,63,128,99,192,65, + 192,1,192,3,128,7,0,31,0,7,192,1,224,1,224,0, + 224,0,224,96,224,241,192,251,128,126,0,11,17,34,12,0, + 0,1,128,3,128,7,128,7,128,15,128,27,128,51,128,51, + 128,99,128,195,128,255,224,255,224,255,224,3,128,3,128,3, + 128,3,128,11,17,34,12,0,0,31,224,31,192,63,192,48, + 0,32,0,112,0,127,0,127,128,127,192,7,192,1,192,0, + 192,0,192,96,192,241,128,251,128,126,0,11,17,34,12,1, + 0,1,224,7,128,30,0,60,0,56,0,120,0,119,0,123, + 128,241,192,241,224,241,224,241,224,241,224,113,192,113,192,59, + 128,30,0,11,17,34,12,0,0,63,224,127,224,127,192,192, + 192,129,128,1,128,3,128,3,0,3,0,7,0,6,0,6, + 0,14,0,14,0,12,0,28,0,28,0,11,17,34,12,0, + 0,31,0,59,128,113,192,113,192,113,192,121,128,59,0,63, + 0,31,128,55,192,99,192,225,224,225,224,225,224,241,192,123, + 128,62,0,11,17,34,12,0,0,14,0,59,128,113,192,113, + 192,241,224,241,224,241,224,241,224,113,224,59,192,31,192,3, + 192,3,128,7,128,15,0,60,0,240,0,4,12,12,8,2, + 0,96,240,240,96,0,0,0,0,96,240,240,96,4,17,17, + 8,2,251,96,240,240,96,0,0,0,0,96,240,240,112,48, + 96,96,192,128,11,12,24,14,1,0,0,96,1,224,7,192, + 31,0,60,0,224,0,224,0,60,0,31,0,7,192,1,224, + 0,96,11,6,12,14,1,3,255,224,255,224,0,0,0,0, + 255,224,255,224,11,12,24,14,1,0,192,0,240,0,124,0, + 31,0,7,128,0,224,0,224,7,128,31,0,124,0,240,0, + 192,0,9,17,34,12,1,0,62,0,111,0,231,128,231,128, + 71,128,7,128,15,0,14,0,28,0,24,0,24,0,0,0, + 0,0,24,0,60,0,60,0,24,0,20,21,63,23,1,252, + 0,124,0,3,247,128,15,128,192,30,0,96,60,0,32,56, + 59,48,112,255,16,113,231,16,241,199,16,227,198,16,227,142, + 16,227,142,48,227,142,32,243,158,96,241,254,192,112,243,128, + 120,0,0,56,0,0,30,0,0,7,131,0,1,252,0,17, + 17,51,18,0,0,1,128,0,1,192,0,3,192,0,3,224, + 0,3,224,0,6,224,0,6,240,0,4,112,0,12,112,0, + 8,120,0,8,56,0,31,248,0,16,60,0,48,60,0,48, + 30,0,112,30,0,248,127,128,14,17,34,16,0,0,255,192, + 60,240,60,120,60,120,60,120,60,120,60,112,60,192,63,224, + 60,120,60,60,60,60,60,60,60,60,60,56,60,120,255,224, + 15,17,34,18,1,0,3,242,30,62,60,14,120,6,120,2, + 240,2,240,0,240,0,240,0,240,0,240,0,240,0,120,0, + 120,2,60,14,31,60,7,240,16,17,34,18,1,0,255,224, + 60,120,60,60,60,30,60,30,60,15,60,15,60,15,60,15, + 60,15,60,15,60,14,60,30,60,28,60,60,60,120,255,224, + 15,17,34,17,1,0,255,252,60,28,60,12,60,4,60,4, + 60,32,60,32,60,96,63,224,60,96,60,32,60,32,60,2, + 60,2,60,6,60,14,255,254,14,17,34,15,0,0,255,252, + 60,28,60,12,60,4,60,4,60,32,60,32,60,96,63,224, + 60,96,60,32,60,32,60,0,60,0,60,0,60,0,255,0, + 17,17,51,19,1,0,3,242,0,30,62,0,60,14,0,120, + 6,0,120,2,0,240,2,0,240,0,0,240,0,0,240,0, + 0,240,127,128,240,30,0,240,30,0,120,30,0,120,30,0, + 56,30,0,30,30,0,7,248,0,18,17,51,19,0,0,255, + 63,192,60,15,0,60,15,0,60,15,0,60,15,0,60,15, + 0,60,15,0,60,15,0,63,255,0,60,15,0,60,15,0, + 60,15,0,60,15,0,60,15,0,60,15,0,60,15,0,255, + 63,192,8,17,17,10,0,0,255,60,60,60,60,60,60,60, + 60,60,60,60,60,60,60,60,255,11,19,38,12,0,254,31, + 224,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, + 128,7,128,7,128,7,128,7,128,7,128,231,128,231,128,231, + 0,231,0,60,0,18,17,51,19,0,0,255,63,128,60,30, + 0,60,24,0,60,48,0,60,96,0,60,192,0,61,128,0, + 63,192,0,63,192,0,61,224,0,60,240,0,60,248,0,60, + 124,0,60,62,0,60,31,0,60,15,128,255,31,192,15,17, + 34,16,0,0,255,0,60,0,60,0,60,0,60,0,60,0, + 60,0,60,0,60,0,60,0,60,0,60,0,60,2,60,6, + 60,12,60,28,255,252,21,17,51,24,1,0,252,1,248,60, + 3,224,62,3,224,62,7,224,47,5,224,47,13,224,39,9, + 224,39,137,224,39,153,224,35,145,224,35,241,224,35,241,224, + 33,225,224,33,225,224,32,193,224,32,193,224,248,7,248,17, + 17,51,18,0,0,248,15,128,124,7,0,62,2,0,63,2, + 0,63,130,0,47,194,0,39,226,0,35,226,0,33,242,0, + 32,250,0,32,126,0,32,62,0,32,30,0,32,30,0,32, + 14,0,96,6,0,248,2,0,16,17,34,19,1,0,7,224, + 28,56,56,28,120,30,112,14,240,15,240,15,240,15,240,15, + 240,15,240,15,240,15,112,14,120,30,56,28,28,56,7,224, + 14,17,34,15,0,0,255,224,60,120,60,60,60,60,60,60, + 60,60,60,60,60,120,63,224,60,0,60,0,60,0,60,0, + 60,0,60,0,60,0,255,0,17,22,66,19,1,251,7,224, + 0,28,56,0,56,28,0,120,30,0,112,14,0,240,15,0, + 240,15,0,240,15,0,240,15,0,240,15,0,240,15,0,240, + 15,0,240,14,0,120,30,0,120,28,0,60,56,0,31,224, + 0,7,192,0,1,224,0,1,240,0,0,252,0,0,63,128, + 16,17,34,18,1,0,255,224,60,120,60,56,60,60,60,60, + 60,60,60,56,60,112,63,192,61,224,60,240,60,240,60,120, + 60,124,60,60,60,30,255,31,12,17,34,14,1,0,63,160, + 113,224,224,224,224,96,224,32,248,0,126,0,127,128,63,192, + 15,224,7,224,129,240,128,240,192,240,224,224,249,224,191,128, + 14,17,34,16,1,0,255,252,231,156,199,140,135,132,135,132, + 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, + 7,128,7,128,7,128,31,224,17,17,51,18,0,0,255,15, + 128,126,7,0,60,2,0,60,2,0,60,2,0,60,2,0, + 60,2,0,60,2,0,60,2,0,60,2,0,60,2,0,60, + 2,0,60,2,0,60,6,0,30,4,0,31,12,0,7,248, + 0,17,17,51,18,0,0,255,31,128,60,6,0,60,4,0, + 30,4,0,30,12,0,15,8,0,15,24,0,15,24,0,7, + 144,0,7,176,0,3,224,0,3,224,0,3,224,0,1,192, + 0,1,192,0,0,128,0,0,128,0,24,17,51,25,0,0, + 255,127,159,60,30,6,60,30,4,30,15,12,30,31,8,30, + 31,24,15,23,152,15,55,144,15,39,176,7,227,176,7,195, + 224,7,195,224,3,193,224,3,129,192,3,129,192,1,0,128, + 1,0,128,16,17,34,18,1,0,255,63,62,12,30,8,31, + 24,15,48,15,160,7,224,3,192,3,224,3,224,3,240,6, + 240,12,120,8,124,24,60,56,62,252,255,18,17,51,18,0, + 0,255,143,192,62,3,0,30,2,0,15,6,0,15,12,0, + 7,140,0,7,152,0,3,208,0,3,240,0,1,224,0,1, + 224,0,1,224,0,1,224,0,1,224,0,1,224,0,1,224, + 0,7,248,0,14,17,34,17,1,0,255,248,224,248,193,240, + 193,240,131,224,3,192,7,192,7,128,15,128,15,0,30,0, + 62,4,60,4,124,12,120,28,248,60,255,248,5,21,21,8, + 1,252,248,224,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,224,248,7,17,17,7,0,0,192,192,64, + 96,96,32,48,48,16,24,24,8,12,12,4,6,6,5,21, + 21,8,1,252,248,56,24,24,24,24,24,24,24,24,24,24, + 24,24,24,24,24,24,24,56,248,8,10,10,15,3,7,24, + 24,60,36,102,102,102,195,195,129,12,2,4,12,0,251,255, + 240,255,240,5,4,4,8,1,13,224,112,48,24,10,12,24, + 12,1,0,62,0,119,0,227,128,227,128,67,128,15,128,115, + 128,227,128,227,128,231,128,255,192,113,128,11,17,34,13,1, + 0,240,0,112,0,112,0,112,0,112,0,119,0,127,192,113, + 192,112,224,112,224,112,224,112,224,112,224,112,224,113,192,123, + 192,103,0,9,12,24,11,1,0,30,0,115,0,115,128,227, + 128,225,0,224,0,224,0,224,0,240,0,120,128,127,0,30, + 0,12,17,34,14,1,0,1,224,0,224,0,224,0,224,0, + 224,30,224,127,224,113,224,224,224,224,224,224,224,224,224,224, + 224,240,224,113,224,126,224,28,112,9,12,24,11,1,0,30, + 0,115,0,115,128,227,128,227,128,255,128,224,0,224,0,240, + 0,120,128,127,0,30,0,8,17,17,8,1,0,30,51,115, + 112,112,252,112,112,112,112,112,112,112,112,112,112,248,10,17, + 34,12,1,251,62,192,119,192,227,128,227,128,227,128,227,128, + 115,0,62,0,96,0,224,0,255,128,255,192,127,192,193,192, + 192,192,225,128,127,0,12,17,34,14,1,0,240,0,112,0, + 112,0,112,0,112,0,115,192,127,224,120,224,112,224,112,224, + 112,224,112,224,112,224,112,224,112,224,112,224,249,240,5,17, + 17,7,1,0,112,112,112,0,0,240,112,112,112,112,112,112, + 112,112,112,112,248,7,22,22,8,255,251,14,14,14,0,0, + 30,14,14,14,14,14,14,14,14,14,14,14,14,206,206,204, + 120,13,17,34,15,1,0,240,0,112,0,112,0,112,0,112, + 0,115,240,112,192,113,128,115,0,118,0,126,0,127,0,119, + 128,115,192,113,224,112,240,251,248,5,17,17,7,1,0,240, + 112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,248, + 19,12,36,21,1,0,243,199,128,119,223,192,120,241,192,112, + 225,192,112,225,192,112,225,192,112,225,192,112,225,192,112,225, + 192,112,225,192,112,225,192,249,243,224,12,12,24,14,1,0, + 243,192,119,224,120,224,112,224,112,224,112,224,112,224,112,224, + 112,224,112,224,112,224,249,240,11,12,24,13,1,0,31,0, + 113,192,113,192,224,224,224,224,224,224,224,224,224,224,224,224, + 113,192,113,192,31,0,12,17,34,14,1,251,227,192,119,224, + 120,224,112,112,112,112,112,112,112,112,112,112,112,112,120,224, + 119,224,115,128,112,0,112,0,112,0,112,0,252,0,12,17, + 34,14,1,251,14,96,63,224,113,224,112,224,224,224,224,224, + 224,224,224,224,224,224,113,224,126,224,28,224,0,224,0,224, + 0,224,0,224,1,240,9,12,24,11,1,0,239,0,127,128, + 115,128,112,0,112,0,112,0,112,0,112,0,112,0,112,0, + 112,0,248,0,8,12,12,10,1,0,62,102,226,224,248,124, + 62,31,135,135,198,252,8,16,16,8,0,0,8,24,56,120, + 255,56,56,56,56,56,56,56,56,57,62,28,12,12,24,14, + 1,0,241,224,112,224,112,224,112,224,112,224,112,224,112,224, + 112,224,112,224,113,224,126,240,60,224,12,12,24,12,0,0, + 252,240,112,96,120,64,56,192,56,128,28,128,29,128,31,0, + 15,0,15,0,6,0,6,0,17,12,36,18,0,0,253,247, + 128,120,227,0,56,227,0,56,226,0,60,230,0,29,118,0, + 29,116,0,31,60,0,14,56,0,14,56,0,4,16,0,4, + 16,0,12,12,24,12,0,0,252,240,120,96,60,192,29,128, + 31,0,15,0,15,0,31,128,27,192,49,192,97,224,243,240, + 12,17,34,12,0,251,253,240,120,96,56,64,56,192,60,128, + 28,128,29,128,31,0,15,0,15,0,6,0,6,0,6,0, + 100,0,236,0,248,0,112,0,9,12,24,11,1,0,255,128, + 199,0,143,0,142,0,30,0,28,0,60,0,56,0,120,128, + 113,128,241,128,255,128,7,21,21,10,1,252,14,24,48,48, + 48,48,48,48,48,96,192,96,48,48,48,48,48,48,48,24, + 14,2,22,22,6,2,251,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,7,21,21, + 10,1,252,224,48,24,24,24,24,24,24,24,12,6,12,24, + 24,24,24,24,24,24,48,224,12,6,12,13,0,6,24,0, + 126,16,255,16,143,240,135,224,1,128,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,255,255,255,255,255,255,255,0,0,0,6,0, + 1,4,17,17,8,2,251,96,240,240,96,0,0,96,96,96, + 96,96,240,240,240,240,240,96,10,18,36,13,1,253,0,128, + 1,128,1,0,31,128,115,192,115,192,230,128,228,0,228,0, + 236,0,232,0,248,0,120,128,127,128,62,0,48,0,96,0, + 96,0,11,17,34,13,0,0,15,192,30,96,60,224,60,224, + 60,64,28,0,28,0,255,128,255,128,28,0,28,0,28,0, + 12,32,124,96,207,224,255,224,115,192,11,12,24,13,0,3, + 192,96,238,224,127,192,59,128,113,192,96,192,96,192,113,192, + 59,128,127,192,238,224,192,96,14,17,34,13,0,0,254,124, + 56,48,60,32,28,96,30,64,14,192,15,128,7,128,7,0, + 31,192,7,0,31,192,7,0,7,0,7,0,7,0,31,192, + 2,22,22,6,2,251,192,192,192,192,192,192,192,192,192,0, + 0,0,0,192,192,192,192,192,192,192,192,192,7,20,20,11, + 2,253,60,110,206,198,224,112,120,92,142,134,194,226,116,60, + 28,14,198,230,236,120,6,2,2,8,1,14,204,204,17,17, + 51,19,1,0,3,224,0,15,248,0,60,30,0,48,6,0, + 97,243,0,99,51,0,198,17,128,198,1,128,198,1,128,198, + 1,128,198,1,128,99,51,0,97,227,0,48,6,0,60,30, + 0,15,248,0,3,224,0,7,10,10,8,0,7,120,220,12, + 124,236,204,126,0,254,254,11,10,20,13,1,1,12,96,24, + 192,49,128,115,128,231,0,231,0,115,128,49,128,24,192,12, + 96,11,7,14,15,2,2,255,224,255,224,0,96,0,96,0, + 96,0,96,0,96,6,3,3,8,1,5,252,252,252,17,17, + 51,19,1,0,3,224,0,15,248,0,60,30,0,48,6,0, + 103,227,0,99,51,0,195,49,128,195,49,128,195,225,128,195, + 97,128,195,49,128,99,51,0,103,187,0,48,6,0,60,30, + 0,15,248,0,3,224,0,6,1,1,8,1,14,252,8,7, + 7,9,0,10,60,102,195,195,195,102,60,12,13,26,14,1, + 0,6,0,6,0,6,0,6,0,255,240,255,240,6,0,6, + 0,6,0,6,0,0,0,255,240,255,240,6,10,10,7,0, + 7,56,124,140,12,24,16,32,64,252,252,6,10,10,7,0, + 7,56,124,140,12,56,28,12,140,248,112,5,4,4,8,2, + 13,56,112,96,192,12,17,34,14,1,251,241,224,112,224,112, + 224,112,224,112,224,112,224,112,224,112,224,112,224,113,224,126, + 240,108,224,96,0,96,0,224,0,240,0,96,0,11,22,44, + 14,1,251,31,224,127,224,126,64,254,64,254,64,254,64,254, + 64,254,64,254,64,126,64,126,64,30,64,2,64,2,64,2, + 64,2,64,2,64,2,64,2,64,2,64,2,64,2,64,3, + 3,3,6,1,6,224,224,224,6,6,6,8,1,250,16,48, + 56,12,140,120,6,10,10,7,0,7,48,240,48,48,48,48, + 48,48,48,252,7,10,10,8,0,7,56,108,198,198,198,108, + 56,0,254,254,11,10,20,13,1,1,198,0,99,0,49,128, + 57,192,28,224,28,224,57,192,51,128,99,0,198,0,17,17, + 51,18,0,0,48,4,0,240,12,0,48,24,0,48,24,0, + 48,48,0,48,32,0,48,96,0,48,66,0,48,198,0,252, + 142,0,1,142,0,1,22,0,3,54,0,6,38,0,6,127, + 128,12,6,0,8,6,0,17,17,51,18,0,0,48,4,0, + 240,12,0,48,24,0,48,24,0,48,48,0,48,32,0,48, + 96,0,48,71,0,48,207,128,252,145,128,1,129,128,1,3, + 0,3,2,0,6,4,0,6,8,0,12,31,128,8,31,128, + 17,17,51,18,1,0,56,4,0,124,12,0,140,24,0,12, + 24,0,56,48,0,28,32,0,12,96,0,140,66,0,248,198, + 0,113,14,0,3,14,0,2,22,0,6,54,0,12,38,0, + 12,127,128,24,6,0,16,6,0,9,17,34,12,1,251,12, + 0,30,0,30,0,12,0,0,0,0,0,12,0,12,0,28, + 0,56,0,120,0,240,0,241,0,243,128,243,128,123,0,62, + 0,17,22,66,18,0,0,3,128,0,1,192,0,0,192,0, + 0,96,0,0,0,0,1,128,0,1,192,0,3,192,0,3, + 224,0,3,224,0,6,224,0,6,240,0,4,112,0,12,112, + 0,8,120,0,8,56,0,31,248,0,16,60,0,48,60,0, + 48,30,0,112,30,0,248,127,128,17,22,66,18,0,0,0, + 224,0,1,192,0,1,128,0,3,0,0,0,0,0,1,128, + 0,1,192,0,3,192,0,3,224,0,3,224,0,6,224,0, + 6,240,0,4,112,0,12,112,0,8,120,0,8,56,0,31, + 248,0,16,60,0,48,60,0,48,30,0,112,30,0,248,127, + 128,17,22,66,18,0,0,1,128,0,3,192,0,6,96,0, + 0,0,0,0,0,0,1,128,0,1,192,0,3,192,0,3, + 224,0,3,224,0,6,224,0,6,240,0,4,112,0,12,112, + 0,8,120,0,8,56,0,31,248,0,16,60,0,48,60,0, + 48,30,0,112,30,0,248,127,128,17,21,63,18,0,0,3, + 16,0,7,224,0,8,192,0,0,0,0,1,128,0,1,192, + 0,3,192,0,3,224,0,3,224,0,6,224,0,6,240,0, + 4,112,0,12,112,0,8,120,0,8,56,0,31,248,0,16, + 60,0,48,60,0,48,30,0,112,30,0,248,127,128,17,21, + 63,18,0,0,6,96,0,6,96,0,0,0,0,0,0,0, + 1,128,0,1,192,0,3,192,0,3,224,0,3,224,0,6, + 224,0,6,240,0,4,112,0,12,112,0,8,120,0,8,56, + 0,31,248,0,16,60,0,48,60,0,48,30,0,112,30,0, + 248,127,128,17,23,69,18,0,0,1,128,0,3,192,0,6, + 96,0,6,96,0,3,192,0,1,128,0,1,128,0,1,192, + 0,3,192,0,3,224,0,3,224,0,6,224,0,6,240,0, + 4,112,0,12,112,0,8,120,0,8,56,0,31,248,0,16, + 60,0,48,60,0,48,30,0,112,30,0,248,127,128,23,17, + 51,25,0,0,1,255,252,0,124,28,0,252,12,0,188,4, + 1,188,4,1,60,32,3,60,32,2,60,96,6,63,224,7, + 252,96,12,60,32,8,60,32,24,60,2,16,60,2,48,60, + 6,112,60,14,248,255,254,15,23,46,18,1,250,3,242,30, + 62,60,14,120,6,120,2,240,2,240,0,240,0,240,0,240, + 0,240,0,240,0,120,0,120,2,60,14,31,60,7,240,1, + 0,3,0,3,128,0,192,8,192,7,128,15,22,44,17,1, + 0,7,0,3,128,1,128,0,192,0,0,255,252,60,28,60, + 12,60,4,60,4,60,32,60,32,60,96,63,224,60,96,60, + 32,60,32,60,2,60,2,60,6,60,14,255,254,15,22,44, + 17,1,0,1,192,3,128,3,0,6,0,0,0,255,252,60, + 28,60,12,60,4,60,4,60,32,60,32,60,96,63,224,60, + 96,60,32,60,32,60,2,60,2,60,6,60,14,255,254,15, + 22,44,17,1,0,3,0,7,128,12,192,0,0,0,0,255, + 252,60,28,60,12,60,4,60,4,60,32,60,32,60,96,63, + 224,60,96,60,32,60,32,60,2,60,2,60,6,60,14,255, + 254,15,21,42,17,1,0,12,192,12,192,0,0,0,0,255, + 252,60,28,60,12,60,4,60,4,60,32,60,32,60,96,63, + 224,60,96,60,32,60,32,60,2,60,2,60,6,60,14,255, + 254,8,22,22,10,0,0,112,56,24,12,0,255,60,60,60, + 60,60,60,60,60,60,60,60,60,60,60,60,255,8,22,22, + 10,0,0,14,28,24,48,0,255,60,60,60,60,60,60,60, + 60,60,60,60,60,60,60,60,255,8,22,22,10,0,0,24, + 60,102,0,0,255,60,60,60,60,60,60,60,60,60,60,60, + 60,60,60,60,255,8,21,21,10,0,0,102,102,0,0,255, + 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,255, + 16,17,34,18,1,0,255,224,60,120,60,60,60,30,60,30, + 60,15,60,15,255,143,255,143,60,15,60,15,60,14,60,30, + 60,28,60,60,60,120,255,224,17,22,66,18,0,0,1,136, + 0,3,240,0,4,96,0,0,0,0,0,0,0,248,15,128, + 124,7,0,62,2,0,63,2,0,63,130,0,47,194,0,39, + 226,0,35,226,0,33,242,0,32,250,0,32,126,0,32,62, + 0,32,30,0,32,14,0,32,14,0,96,6,0,248,2,0, + 16,22,44,19,1,0,7,0,3,128,1,128,0,192,0,0, + 7,224,30,120,60,60,120,30,120,30,240,15,240,15,240,15, + 240,15,240,15,240,15,240,15,120,30,120,30,60,60,30,120, + 7,224,16,22,44,19,1,0,0,112,0,224,0,192,1,128, + 0,0,7,224,30,120,60,60,120,30,120,30,240,15,240,15, + 240,15,240,15,240,15,240,15,240,15,120,30,120,30,60,60, + 30,120,7,224,16,22,44,19,1,0,1,128,3,192,6,96, + 0,0,0,0,7,224,30,120,60,60,120,30,120,30,240,15, + 240,15,240,15,240,15,240,15,240,15,240,15,120,30,120,30, + 60,60,30,120,7,224,16,22,44,19,1,0,3,16,7,224, + 8,192,0,0,0,0,7,224,30,120,60,60,120,30,120,30, + 240,15,240,15,240,15,240,15,240,15,240,15,240,15,120,30, + 120,30,60,60,30,120,7,224,16,21,42,19,1,0,12,96, + 12,96,0,0,0,0,7,224,30,120,60,60,120,30,120,30, + 240,15,240,15,240,15,240,15,240,15,240,15,240,15,120,30, + 120,30,60,60,30,120,7,224,12,12,24,14,1,0,192,48, + 224,112,112,224,57,192,31,128,15,0,15,0,31,128,57,192, + 112,224,224,112,192,48,16,19,38,19,1,255,0,4,7,236, + 30,120,56,28,120,62,120,62,240,111,240,207,240,207,241,143, + 243,15,243,15,246,15,124,30,124,30,56,28,62,120,55,224, + 96,0,17,22,66,18,0,0,3,128,0,1,192,0,0,192, + 0,0,96,0,0,0,0,255,15,128,62,6,0,60,2,0, + 60,2,0,60,2,0,60,2,0,60,2,0,60,2,0,60, + 2,0,60,2,0,60,2,0,60,2,0,60,2,0,60,6, + 0,30,4,0,31,28,0,7,248,0,17,22,66,18,0,0, + 0,56,0,0,112,0,0,96,0,0,192,0,0,0,0,255, + 15,128,62,6,0,60,2,0,60,2,0,60,2,0,60,2, + 0,60,2,0,60,2,0,60,2,0,60,2,0,60,2,0, + 60,2,0,60,2,0,60,6,0,30,4,0,31,28,0,7, + 248,0,17,22,66,18,0,0,0,96,0,0,240,0,1,152, + 0,0,0,0,0,0,0,255,15,128,62,6,0,60,2,0, + 60,2,0,60,2,0,60,2,0,60,2,0,60,2,0,60, + 2,0,60,2,0,60,2,0,60,2,0,60,2,0,60,6, + 0,30,4,0,31,28,0,7,248,0,17,21,63,18,0,0, + 3,24,0,3,24,0,0,0,0,0,0,0,255,15,128,62, + 6,0,60,2,0,60,2,0,60,2,0,60,2,0,60,2, + 0,60,2,0,60,2,0,60,2,0,60,2,0,60,2,0, + 60,2,0,60,6,0,30,4,0,31,28,0,7,248,0,18, + 23,69,18,0,0,0,14,0,0,28,0,0,24,0,0,48, + 0,0,0,0,0,0,0,255,143,192,62,3,0,30,2,0, + 15,6,0,15,12,0,7,140,0,7,152,0,3,208,0,3, + 240,0,1,224,0,1,224,0,1,224,0,1,224,0,1,224, + 0,1,224,0,1,224,0,7,248,0,14,17,34,15,0,0, + 255,0,60,0,60,0,60,0,63,224,60,120,60,60,60,60, + 60,60,60,60,60,60,60,120,63,224,60,0,60,0,60,0, + 255,0,11,17,34,14,1,0,31,0,57,128,113,192,113,192, + 113,192,113,192,115,128,119,0,115,128,113,192,112,224,112,224, + 112,224,112,224,112,224,112,192,243,128,10,17,34,12,1,0, + 56,0,28,0,12,0,6,0,0,0,62,0,119,0,227,128, + 227,128,67,128,15,128,115,128,227,128,227,128,231,128,255,192, + 113,128,10,17,34,12,1,0,14,0,28,0,24,0,48,0, + 0,0,62,0,119,0,227,128,227,128,67,128,15,128,115,128, + 227,128,227,128,231,128,255,192,113,128,10,17,34,12,1,0, + 12,0,30,0,51,0,0,0,0,0,62,0,119,0,227,128, + 227,128,67,128,15,128,115,128,227,128,227,128,231,128,255,192, + 113,128,10,17,34,12,1,0,24,128,63,0,70,0,0,0, + 0,0,62,0,119,0,227,128,227,128,67,128,15,128,115,128, + 227,128,227,128,231,128,255,192,113,128,10,16,32,12,1,0, + 51,0,51,0,0,0,0,0,62,0,119,0,227,128,227,128, + 67,128,15,128,115,128,227,128,227,128,231,128,255,192,113,128, + 10,18,36,12,1,0,12,0,30,0,51,0,51,0,30,0, + 12,0,62,0,119,0,227,128,227,128,67,128,15,128,115,128, + 227,128,227,128,231,128,255,192,113,128,15,12,24,17,1,0, + 62,120,119,204,227,206,99,142,3,142,31,254,115,128,227,128, + 227,192,231,226,254,252,124,120,9,18,36,11,1,250,30,0, + 115,0,115,128,227,128,225,0,224,0,224,0,224,0,240,0, + 120,128,127,0,30,0,8,0,24,0,28,0,6,0,70,0, + 60,0,9,17,34,11,1,0,56,0,28,0,12,0,6,0, + 0,0,30,0,115,0,115,128,227,128,227,128,255,128,224,0, + 224,0,240,0,120,128,127,0,30,0,9,17,34,11,1,0, + 14,0,28,0,24,0,48,0,0,0,30,0,115,0,115,128, + 227,128,227,128,255,128,224,0,224,0,240,0,120,128,127,0, + 30,0,9,17,34,11,1,0,24,0,60,0,102,0,0,0, + 0,0,30,0,115,0,115,128,227,128,227,128,255,128,224,0, + 224,0,240,0,120,128,127,0,30,0,9,16,32,11,1,0, + 51,0,51,0,0,0,0,0,30,0,115,0,115,128,227,128, + 227,128,255,128,224,0,224,0,240,0,120,128,127,0,30,0, + 5,17,17,7,1,0,224,112,48,24,0,240,112,112,112,112, + 112,112,112,112,112,112,248,6,17,17,7,1,0,28,56,48, + 96,0,240,112,112,112,112,112,112,112,112,112,112,248,6,17, + 17,7,1,0,48,120,204,0,0,240,112,112,112,112,112,112, + 112,112,112,112,248,6,16,16,7,1,0,204,204,0,0,240, + 112,112,112,112,112,112,112,112,112,112,248,11,17,34,13,1, + 0,96,0,56,192,15,0,30,0,99,0,31,128,123,192,113, + 192,224,224,224,224,224,224,224,224,224,224,224,224,113,192,123, + 192,31,0,12,17,34,14,1,0,12,64,31,128,35,0,0, + 0,0,0,243,192,119,224,120,224,112,224,112,224,112,224,112, + 224,112,224,112,224,112,224,112,224,249,240,11,17,34,13,1, + 0,28,0,14,0,6,0,3,0,0,0,31,0,123,192,113, + 192,224,224,224,224,224,224,224,224,224,224,224,224,113,192,123, + 192,31,0,11,17,34,13,1,0,3,128,7,0,6,0,12, + 0,0,0,31,0,123,192,113,192,224,224,224,224,224,224,224, + 224,224,224,224,224,113,192,123,192,31,0,11,17,34,13,1, + 0,12,0,30,0,51,0,0,0,0,0,31,0,123,192,113, + 192,224,224,224,224,224,224,224,224,224,224,224,224,113,192,123, + 192,31,0,11,17,34,13,1,0,24,128,63,0,70,0,0, + 0,0,0,31,0,123,192,113,192,224,224,224,224,224,224,224, + 224,224,224,224,224,113,192,123,192,31,0,11,16,32,13,1, + 0,49,128,49,128,0,0,0,0,31,0,123,192,113,192,224, + 224,224,224,224,224,224,224,224,224,224,224,113,192,123,192,31, + 0,12,12,24,14,1,0,6,0,6,0,6,0,0,0,0, + 0,255,240,255,240,0,0,0,0,6,0,6,0,6,0,11, + 16,32,13,1,254,0,64,0,64,30,128,121,192,113,192,226, + 224,226,224,228,224,228,224,232,224,232,224,113,192,123,192,63, + 0,64,0,64,0,12,17,34,14,1,0,28,0,14,0,6, + 0,3,0,0,0,241,224,112,224,112,224,112,224,112,224,112, + 224,112,224,112,224,112,224,113,224,126,240,60,224,12,17,34, + 14,1,0,7,0,14,0,12,0,24,0,0,0,241,224,112, + 224,112,224,112,224,112,224,112,224,112,224,112,224,112,224,113, + 224,126,240,60,224,12,17,34,14,1,0,6,0,15,0,25, + 128,0,0,0,0,241,224,112,224,112,224,112,224,112,224,112, + 224,112,224,112,224,112,224,113,224,126,240,60,224,12,16,32, + 14,1,0,25,128,25,128,0,0,0,0,241,224,112,224,112, + 224,112,224,112,224,112,224,112,224,112,224,112,224,113,224,126, + 240,60,224,12,22,44,12,0,251,1,192,3,128,3,0,6, + 0,0,0,253,240,120,96,56,64,56,192,60,128,28,128,29, + 128,31,0,15,0,15,0,6,0,6,0,6,0,100,0,236, + 0,248,0,112,0,12,22,44,14,1,251,240,0,112,0,112, + 0,112,0,112,0,115,128,119,224,124,224,120,112,112,112,112, + 112,112,112,112,112,112,112,120,224,119,224,115,128,112,0,112, + 0,112,0,112,0,252,0,12,21,42,12,0,251,25,128,25, + 128,0,0,0,0,253,240,120,96,56,64,56,192,60,128,28, + 128,29,128,31,0,15,0,15,0,6,0,6,0,6,0,100, + 0,236,0,248,0,112,0}; +/* + Fontname: -Adobe-Times-Bold-R-Normal--25-180-100-100-P-132-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 17, '1' Height: 17 + Calculated Max Values w=24 h=22 x= 3 y=13 dx=25 dy= 0 ascent=18 len=66 + Font Bounding box w=27 h=38 x=-2 y=-10 + Calculated Min Values x=-1 y=-5 dx= 0 dy= 0 + Pure Font ascent =17 descent=-5 + X Font ascent =17 descent=-5 + Max Font ascent =18 descent=-5 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_timB18r[3355] U8G_FONT_SECTION("u8g_font_timB18r") = { + 0,27,38,254,246,17,4,47,9,109,32,127,251,18,251,17, + 251,0,0,0,6,0,1,4,17,17,8,2,0,96,240,240, + 240,240,240,96,96,96,96,96,0,0,96,240,240,96,8,8, + 8,12,2,9,231,231,231,231,231,231,66,66,12,17,34,13, + 0,0,12,192,12,192,12,192,12,192,127,240,127,240,25,128, + 25,128,25,128,25,128,255,224,255,224,51,0,51,0,51,0, + 51,0,51,0,10,20,40,12,1,254,8,0,8,0,63,0, + 107,128,233,128,233,128,248,128,124,0,126,0,63,0,31,128, + 15,128,11,192,137,192,201,192,201,128,235,128,62,0,8,0, + 8,0,17,17,51,19,1,0,30,12,0,59,252,0,113,24, + 0,225,48,0,226,48,0,226,96,0,244,96,0,120,192,0, + 0,192,0,1,143,0,1,157,128,3,56,128,3,112,128,6, + 113,0,6,113,0,12,122,0,12,60,0,17,17,51,21,1, + 0,3,224,0,6,112,0,14,48,0,14,48,0,14,112,0, + 7,224,0,15,15,128,31,135,0,51,194,0,97,230,0,225, + 252,0,224,248,0,224,120,0,240,124,0,248,255,128,127,159, + 0,63,14,0,3,8,8,7,2,9,224,224,224,224,224,224, + 64,64,5,21,21,8,1,252,8,24,48,48,112,96,96,224, + 224,224,224,224,224,224,96,96,112,48,48,24,8,5,21,21, + 8,1,252,128,192,96,96,48,48,48,56,56,56,56,56,56, + 56,48,48,48,96,96,192,128,10,11,22,13,1,6,12,0, + 12,0,76,128,237,192,127,128,30,0,127,128,237,192,76,128, + 12,0,12,0,12,12,24,14,1,0,6,0,6,0,6,0, + 6,0,6,0,255,240,255,240,6,0,6,0,6,0,6,0, + 6,0,4,9,9,6,1,251,96,240,240,112,48,96,96,192, + 128,6,3,3,8,1,5,252,252,252,4,4,4,6,1,0, + 96,240,240,96,7,17,17,7,0,0,6,6,4,12,12,8, + 24,24,16,48,48,32,96,96,64,192,192,11,17,34,12,0, + 0,14,0,59,128,49,128,113,192,113,192,241,224,241,224,241, + 224,241,224,241,224,241,224,113,192,113,192,113,192,49,128,59, + 128,14,0,9,17,34,12,2,0,12,0,60,0,252,0,28, + 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,28,0,62,0,255,128,10,17,34,12,1, + 0,30,0,63,0,127,128,199,128,131,128,3,128,3,128,3, + 0,7,0,6,0,12,0,12,0,24,64,48,64,127,192,255, + 192,255,128,11,17,34,12,0,0,15,0,63,128,99,192,65, + 192,1,192,3,128,7,0,31,0,7,192,1,224,1,224,0, + 224,0,224,96,224,241,192,251,128,126,0,11,17,34,12,0, + 0,1,128,3,128,7,128,7,128,15,128,27,128,51,128,51, + 128,99,128,195,128,255,224,255,224,255,224,3,128,3,128,3, + 128,3,128,11,17,34,12,0,0,31,224,31,192,63,192,48, + 0,32,0,112,0,127,0,127,128,127,192,7,192,1,192,0, + 192,0,192,96,192,241,128,251,128,126,0,11,17,34,12,1, + 0,1,224,7,128,30,0,60,0,56,0,120,0,119,0,123, + 128,241,192,241,224,241,224,241,224,241,224,113,192,113,192,59, + 128,30,0,11,17,34,12,0,0,63,224,127,224,127,192,192, + 192,129,128,1,128,3,128,3,0,3,0,7,0,6,0,6, + 0,14,0,14,0,12,0,28,0,28,0,11,17,34,12,0, + 0,31,0,59,128,113,192,113,192,113,192,121,128,59,0,63, + 0,31,128,55,192,99,192,225,224,225,224,225,224,241,192,123, + 128,62,0,11,17,34,12,0,0,14,0,59,128,113,192,113, + 192,241,224,241,224,241,224,241,224,113,224,59,192,31,192,3, + 192,3,128,7,128,15,0,60,0,240,0,4,12,12,8,2, + 0,96,240,240,96,0,0,0,0,96,240,240,96,4,17,17, + 8,2,251,96,240,240,96,0,0,0,0,96,240,240,112,48, + 96,96,192,128,11,12,24,14,1,0,0,96,1,224,7,192, + 31,0,60,0,224,0,224,0,60,0,31,0,7,192,1,224, + 0,96,11,6,12,14,1,3,255,224,255,224,0,0,0,0, + 255,224,255,224,11,12,24,14,1,0,192,0,240,0,124,0, + 31,0,7,128,0,224,0,224,7,128,31,0,124,0,240,0, + 192,0,9,17,34,12,1,0,62,0,111,0,231,128,231,128, + 71,128,7,128,15,0,14,0,28,0,24,0,24,0,0,0, + 0,0,24,0,60,0,60,0,24,0,20,21,63,23,1,252, + 0,124,0,3,247,128,15,128,192,30,0,96,60,0,32,56, + 59,48,112,255,16,113,231,16,241,199,16,227,198,16,227,142, + 16,227,142,48,227,142,32,243,158,96,241,254,192,112,243,128, + 120,0,0,56,0,0,30,0,0,7,131,0,1,252,0,17, + 17,51,18,0,0,1,128,0,1,192,0,3,192,0,3,224, + 0,3,224,0,6,224,0,6,240,0,4,112,0,12,112,0, + 8,120,0,8,56,0,31,248,0,16,60,0,48,60,0,48, + 30,0,112,30,0,248,127,128,14,17,34,16,0,0,255,192, + 60,240,60,120,60,120,60,120,60,120,60,112,60,192,63,224, + 60,120,60,60,60,60,60,60,60,60,60,56,60,120,255,224, + 15,17,34,18,1,0,3,242,30,62,60,14,120,6,120,2, + 240,2,240,0,240,0,240,0,240,0,240,0,240,0,120,0, + 120,2,60,14,31,60,7,240,16,17,34,18,1,0,255,224, + 60,120,60,60,60,30,60,30,60,15,60,15,60,15,60,15, + 60,15,60,15,60,14,60,30,60,28,60,60,60,120,255,224, + 15,17,34,17,1,0,255,252,60,28,60,12,60,4,60,4, + 60,32,60,32,60,96,63,224,60,96,60,32,60,32,60,2, + 60,2,60,6,60,14,255,254,14,17,34,15,0,0,255,252, + 60,28,60,12,60,4,60,4,60,32,60,32,60,96,63,224, + 60,96,60,32,60,32,60,0,60,0,60,0,60,0,255,0, + 17,17,51,19,1,0,3,242,0,30,62,0,60,14,0,120, + 6,0,120,2,0,240,2,0,240,0,0,240,0,0,240,0, + 0,240,127,128,240,30,0,240,30,0,120,30,0,120,30,0, + 56,30,0,30,30,0,7,248,0,18,17,51,19,0,0,255, + 63,192,60,15,0,60,15,0,60,15,0,60,15,0,60,15, + 0,60,15,0,60,15,0,63,255,0,60,15,0,60,15,0, + 60,15,0,60,15,0,60,15,0,60,15,0,60,15,0,255, + 63,192,8,17,17,10,0,0,255,60,60,60,60,60,60,60, + 60,60,60,60,60,60,60,60,255,11,19,38,12,0,254,31, + 224,7,128,7,128,7,128,7,128,7,128,7,128,7,128,7, + 128,7,128,7,128,7,128,7,128,7,128,231,128,231,128,231, + 0,231,0,60,0,18,17,51,19,0,0,255,63,128,60,30, + 0,60,24,0,60,48,0,60,96,0,60,192,0,61,128,0, + 63,192,0,63,192,0,61,224,0,60,240,0,60,248,0,60, + 124,0,60,62,0,60,31,0,60,15,128,255,31,192,15,17, + 34,16,0,0,255,0,60,0,60,0,60,0,60,0,60,0, + 60,0,60,0,60,0,60,0,60,0,60,0,60,2,60,6, + 60,12,60,28,255,252,21,17,51,24,1,0,252,1,248,60, + 3,224,62,3,224,62,7,224,47,5,224,47,13,224,39,9, + 224,39,137,224,39,153,224,35,145,224,35,241,224,35,241,224, + 33,225,224,33,225,224,32,193,224,32,193,224,248,7,248,17, + 17,51,18,0,0,248,15,128,124,7,0,62,2,0,63,2, + 0,63,130,0,47,194,0,39,226,0,35,226,0,33,242,0, + 32,250,0,32,126,0,32,62,0,32,30,0,32,30,0,32, + 14,0,96,6,0,248,2,0,16,17,34,19,1,0,7,224, + 28,56,56,28,120,30,112,14,240,15,240,15,240,15,240,15, + 240,15,240,15,240,15,112,14,120,30,56,28,28,56,7,224, + 14,17,34,15,0,0,255,224,60,120,60,60,60,60,60,60, + 60,60,60,60,60,120,63,224,60,0,60,0,60,0,60,0, + 60,0,60,0,60,0,255,0,17,22,66,19,1,251,7,224, + 0,28,56,0,56,28,0,120,30,0,112,14,0,240,15,0, + 240,15,0,240,15,0,240,15,0,240,15,0,240,15,0,240, + 15,0,240,14,0,120,30,0,120,28,0,60,56,0,31,224, + 0,7,192,0,1,224,0,1,240,0,0,252,0,0,63,128, + 16,17,34,18,1,0,255,224,60,120,60,56,60,60,60,60, + 60,60,60,56,60,112,63,192,61,224,60,240,60,240,60,120, + 60,124,60,60,60,30,255,31,12,17,34,14,1,0,63,160, + 113,224,224,224,224,96,224,32,248,0,126,0,127,128,63,192, + 15,224,7,224,129,240,128,240,192,240,224,224,249,224,191,128, + 14,17,34,16,1,0,255,252,231,156,199,140,135,132,135,132, + 7,128,7,128,7,128,7,128,7,128,7,128,7,128,7,128, + 7,128,7,128,7,128,31,224,17,17,51,18,0,0,255,15, + 128,126,7,0,60,2,0,60,2,0,60,2,0,60,2,0, + 60,2,0,60,2,0,60,2,0,60,2,0,60,2,0,60, + 2,0,60,2,0,60,6,0,30,4,0,31,12,0,7,248, + 0,17,17,51,18,0,0,255,31,128,60,6,0,60,4,0, + 30,4,0,30,12,0,15,8,0,15,24,0,15,24,0,7, + 144,0,7,176,0,3,224,0,3,224,0,3,224,0,1,192, + 0,1,192,0,0,128,0,0,128,0,24,17,51,25,0,0, + 255,127,159,60,30,6,60,30,4,30,15,12,30,31,8,30, + 31,24,15,23,152,15,55,144,15,39,176,7,227,176,7,195, + 224,7,195,224,3,193,224,3,129,192,3,129,192,1,0,128, + 1,0,128,16,17,34,18,1,0,255,63,62,12,30,8,31, + 24,15,48,15,160,7,224,3,192,3,224,3,224,3,240,6, + 240,12,120,8,124,24,60,56,62,252,255,18,17,51,18,0, + 0,255,143,192,62,3,0,30,2,0,15,6,0,15,12,0, + 7,140,0,7,152,0,3,208,0,3,240,0,1,224,0,1, + 224,0,1,224,0,1,224,0,1,224,0,1,224,0,1,224, + 0,7,248,0,14,17,34,17,1,0,255,248,224,248,193,240, + 193,240,131,224,3,192,7,192,7,128,15,128,15,0,30,0, + 62,4,60,4,124,12,120,28,248,60,255,248,5,21,21,8, + 1,252,248,224,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,224,248,7,17,17,7,0,0,192,192,64, + 96,96,32,48,48,16,24,24,8,12,12,4,6,6,5,21, + 21,8,1,252,248,56,24,24,24,24,24,24,24,24,24,24, + 24,24,24,24,24,24,24,56,248,8,10,10,15,3,7,24, + 24,60,36,102,102,102,195,195,129,12,2,4,12,0,251,255, + 240,255,240,5,4,4,8,1,13,224,112,48,24,10,12,24, + 12,1,0,62,0,119,0,227,128,227,128,67,128,15,128,115, + 128,227,128,227,128,231,128,255,192,113,128,11,17,34,13,1, + 0,240,0,112,0,112,0,112,0,112,0,119,0,127,192,113, + 192,112,224,112,224,112,224,112,224,112,224,112,224,113,192,123, + 192,103,0,9,12,24,11,1,0,30,0,115,0,115,128,227, + 128,225,0,224,0,224,0,224,0,240,0,120,128,127,0,30, + 0,12,17,34,14,1,0,1,224,0,224,0,224,0,224,0, + 224,30,224,127,224,113,224,224,224,224,224,224,224,224,224,224, + 224,240,224,113,224,126,224,28,112,9,12,24,11,1,0,30, + 0,115,0,115,128,227,128,227,128,255,128,224,0,224,0,240, + 0,120,128,127,0,30,0,8,17,17,8,1,0,30,51,115, + 112,112,252,112,112,112,112,112,112,112,112,112,112,248,10,17, + 34,12,1,251,62,192,119,192,227,128,227,128,227,128,227,128, + 115,0,62,0,96,0,224,0,255,128,255,192,127,192,193,192, + 192,192,225,128,127,0,12,17,34,14,1,0,240,0,112,0, + 112,0,112,0,112,0,115,192,127,224,120,224,112,224,112,224, + 112,224,112,224,112,224,112,224,112,224,112,224,249,240,5,17, + 17,7,1,0,112,112,112,0,0,240,112,112,112,112,112,112, + 112,112,112,112,248,7,22,22,8,255,251,14,14,14,0,0, + 30,14,14,14,14,14,14,14,14,14,14,14,14,206,206,204, + 120,13,17,34,15,1,0,240,0,112,0,112,0,112,0,112, + 0,115,240,112,192,113,128,115,0,118,0,126,0,127,0,119, + 128,115,192,113,224,112,240,251,248,5,17,17,7,1,0,240, + 112,112,112,112,112,112,112,112,112,112,112,112,112,112,112,248, + 19,12,36,21,1,0,243,199,128,119,223,192,120,241,192,112, + 225,192,112,225,192,112,225,192,112,225,192,112,225,192,112,225, + 192,112,225,192,112,225,192,249,243,224,12,12,24,14,1,0, + 243,192,119,224,120,224,112,224,112,224,112,224,112,224,112,224, + 112,224,112,224,112,224,249,240,11,12,24,13,1,0,31,0, + 113,192,113,192,224,224,224,224,224,224,224,224,224,224,224,224, + 113,192,113,192,31,0,12,17,34,14,1,251,227,192,119,224, + 120,224,112,112,112,112,112,112,112,112,112,112,112,112,120,224, + 119,224,115,128,112,0,112,0,112,0,112,0,252,0,12,17, + 34,14,1,251,14,96,63,224,113,224,112,224,224,224,224,224, + 224,224,224,224,224,224,113,224,126,224,28,224,0,224,0,224, + 0,224,0,224,1,240,9,12,24,11,1,0,239,0,127,128, + 115,128,112,0,112,0,112,0,112,0,112,0,112,0,112,0, + 112,0,248,0,8,12,12,10,1,0,62,102,226,224,248,124, + 62,31,135,135,198,252,8,16,16,8,0,0,8,24,56,120, + 255,56,56,56,56,56,56,56,56,57,62,28,12,12,24,14, + 1,0,241,224,112,224,112,224,112,224,112,224,112,224,112,224, + 112,224,112,224,113,224,126,240,60,224,12,12,24,12,0,0, + 252,240,112,96,120,64,56,192,56,128,28,128,29,128,31,0, + 15,0,15,0,6,0,6,0,17,12,36,18,0,0,253,247, + 128,120,227,0,56,227,0,56,226,0,60,230,0,29,118,0, + 29,116,0,31,60,0,14,56,0,14,56,0,4,16,0,4, + 16,0,12,12,24,12,0,0,252,240,120,96,60,192,29,128, + 31,0,15,0,15,0,31,128,27,192,49,192,97,224,243,240, + 12,17,34,12,0,251,253,240,120,96,56,64,56,192,60,128, + 28,128,29,128,31,0,15,0,15,0,6,0,6,0,6,0, + 100,0,236,0,248,0,112,0,9,12,24,11,1,0,255,128, + 199,0,143,0,142,0,30,0,28,0,60,0,56,0,120,128, + 113,128,241,128,255,128,7,21,21,10,1,252,14,24,48,48, + 48,48,48,48,48,96,192,96,48,48,48,48,48,48,48,24, + 14,2,22,22,6,2,251,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,7,21,21, + 10,1,252,224,48,24,24,24,24,24,24,24,12,6,12,24, + 24,24,24,24,24,24,48,224,12,6,12,13,0,6,24,0, + 126,16,255,16,143,240,135,224,1,128,255}; +/* + Fontname: -Adobe-Times-Bold-R-Normal--34-240-100-100-P-177-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 23, '1' Height: 23 + Calculated Max Values w=32 h=30 x= 4 y=18 dx=33 dy= 0 ascent=30 len=108 + Font Bounding box w=38 h=49 x=-5 y=-12 + Calculated Min Values x=-2 y=-7 dx= 0 dy= 0 + Pure Font ascent =23 descent=-7 + X Font ascent =23 descent=-7 + Max Font ascent =30 descent=-7 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_timB24[10820] U8G_FONT_SECTION("u8g_font_timB24") = { + 0,38,49,251,244,23,5,149,13,202,32,255,249,30,249,23, + 249,0,0,0,8,0,1,5,23,23,11,3,0,112,248,248, + 248,248,248,248,112,112,112,112,32,32,32,32,0,0,0,112, + 248,248,248,112,11,11,22,19,2,12,96,192,241,224,241,224, + 241,224,241,224,241,224,241,224,96,192,96,192,96,192,96,192, + 16,23,46,17,0,0,3,12,3,12,7,28,7,28,6,24, + 6,24,127,255,127,255,14,56,12,48,12,48,12,48,12,48, + 28,112,255,254,255,254,24,96,24,96,24,96,56,224,56,224, + 48,192,48,192,15,28,56,16,1,253,3,0,3,0,15,232, + 63,248,115,56,99,24,227,8,227,8,243,0,251,0,127,0, + 127,128,63,224,15,240,3,248,3,252,3,124,131,62,131,30, + 131,30,195,28,195,60,243,120,255,224,131,0,3,0,3,0, + 3,0,24,23,69,33,4,0,7,128,32,15,192,224,30,127, + 192,60,32,192,124,33,128,120,33,128,248,99,0,240,71,0, + 240,198,0,240,206,0,241,140,60,127,24,126,60,25,243,0, + 49,225,0,51,193,0,99,193,0,231,195,0,199,130,1,199, + 134,1,135,134,3,3,140,3,3,248,6,1,224,22,23,69, + 28,2,0,1,240,0,3,188,0,7,30,0,7,14,0,15, + 14,0,15,14,0,15,140,0,7,216,0,7,240,0,3,224, + 252,7,240,112,29,240,48,57,248,96,112,252,64,240,252,192, + 240,127,128,248,63,0,248,31,128,252,31,192,254,63,228,127, + 243,252,127,193,252,31,0,120,4,11,11,9,2,12,96,240, + 240,240,240,240,240,96,96,96,96,8,29,29,11,2,250,3, + 6,12,24,24,48,48,112,96,224,224,224,224,224,224,224,224, + 224,224,224,96,112,48,48,24,24,12,6,3,8,29,29,11, + 0,250,192,96,48,24,24,12,12,14,6,7,7,7,7,7, + 7,7,7,7,7,7,6,14,12,12,24,24,48,96,192,13, + 14,28,17,1,9,3,0,7,0,7,0,231,56,242,120,122, + 240,15,128,15,128,122,240,242,120,231,56,7,0,7,0,6, + 0,15,15,30,19,2,0,3,128,3,128,3,128,3,128,3, + 128,3,128,255,254,255,254,255,254,3,128,3,128,3,128,3, + 128,3,128,3,128,6,11,11,8,1,250,56,124,124,124,60, + 12,8,24,48,96,192,8,4,4,11,1,6,255,255,255,255, + 5,5,5,8,1,0,112,248,248,248,112,9,25,50,9,0, + 0,1,128,1,128,1,0,3,0,3,0,3,0,6,0,6, + 0,6,0,4,0,12,0,12,0,12,0,24,0,24,0,24, + 0,48,0,48,0,48,0,48,0,96,0,96,0,96,0,192, + 0,192,0,14,23,46,16,1,0,7,128,31,224,28,224,56, + 112,120,112,120,120,120,120,248,124,248,124,248,124,248,124,248, + 124,248,124,248,124,248,124,248,124,120,120,120,120,120,120,56, + 112,28,224,15,192,7,128,13,23,46,16,2,0,1,128,7, + 128,31,128,255,128,15,128,15,128,15,128,15,128,15,128,15, + 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, + 128,15,128,15,128,15,128,31,192,255,248,16,23,46,16,0, + 0,3,192,15,240,31,248,63,248,48,252,96,124,64,124,0, + 124,0,120,0,120,0,120,0,240,0,224,1,192,1,128,3, + 0,7,1,14,3,28,6,63,254,127,254,255,252,255,252,14, + 23,46,16,1,0,7,192,31,240,63,240,48,248,96,120,64, + 120,0,120,0,112,0,192,3,224,15,240,15,248,3,248,0, + 252,0,124,0,60,0,60,0,60,96,56,240,56,248,112,127, + 192,31,0,14,23,46,16,1,0,0,112,0,240,0,240,1, + 240,3,240,6,240,6,240,12,240,24,240,24,240,48,240,96, + 240,96,240,192,240,255,252,255,252,255,252,255,252,0,240,0, + 240,0,240,0,240,0,240,13,23,46,16,1,0,31,248,31, + 248,31,248,31,248,48,0,48,0,32,0,62,0,127,128,127, + 224,127,240,127,240,3,248,0,248,0,120,0,56,0,56,0, + 56,96,48,240,48,248,96,127,192,31,0,14,23,46,16,1, + 0,0,28,0,240,3,192,7,128,15,0,30,0,62,0,60, + 0,124,0,127,224,253,240,248,248,248,120,248,124,248,124,248, + 124,248,124,120,124,120,120,120,120,56,112,28,224,15,192,13, + 23,46,16,2,0,127,248,127,248,255,248,255,248,192,48,128, + 112,128,112,0,96,0,224,0,224,0,192,1,192,1,192,3, + 128,3,128,3,128,7,0,7,0,7,0,14,0,14,0,14, + 0,28,0,14,23,46,16,1,0,15,224,62,240,60,120,120, + 120,120,56,120,56,124,56,126,112,63,224,63,128,31,192,15, + 224,63,240,113,248,112,252,224,124,224,60,224,60,224,60,240, + 56,120,120,127,240,31,192,14,23,46,16,1,0,15,192,28, + 224,56,112,120,120,120,120,248,120,248,124,248,124,248,124,248, + 124,120,124,124,124,62,252,31,248,0,248,0,240,1,240,1, + 224,3,192,7,128,15,0,60,0,224,0,5,16,16,11,3, + 0,112,248,248,248,112,0,0,0,0,0,0,112,248,248,248, + 112,6,22,22,11,2,250,56,124,124,124,56,0,0,0,0, + 0,0,56,124,124,124,60,12,8,24,48,96,192,16,15,30, + 19,1,0,0,3,0,15,0,127,1,252,15,224,63,128,252, + 0,240,0,252,0,63,128,15,224,1,252,0,127,0,15,0, + 3,15,10,20,19,2,3,255,254,255,254,255,254,0,0,0, + 0,0,0,0,0,255,254,255,254,255,254,16,15,30,19,2, + 0,192,0,240,0,254,0,63,128,7,240,1,252,0,63,0, + 15,0,63,1,252,7,240,63,128,254,0,240,0,192,0,12, + 23,46,16,2,0,63,0,115,192,225,224,225,240,241,240,241, + 240,97,240,1,224,1,224,3,192,3,128,3,0,6,0,4, + 0,4,0,0,0,0,0,0,0,14,0,31,0,31,0,31, + 0,14,0,26,27,108,31,2,251,0,31,224,0,0,252,60, + 0,3,224,14,0,7,128,3,0,15,0,1,0,30,0,1, + 128,62,15,56,128,60,31,248,192,124,124,248,64,120,120,120, + 64,248,248,240,64,248,240,240,64,241,240,240,64,241,240,240, + 64,241,224,240,192,241,225,224,128,241,225,225,128,241,227,227, + 0,113,243,227,0,120,254,254,0,120,120,120,0,60,0,0, + 0,28,0,0,0,14,0,1,128,7,128,7,0,1,224,60, + 0,0,63,224,0,21,23,69,24,1,0,0,32,0,0,96, + 0,0,112,0,0,240,0,0,248,0,0,248,0,1,248,0, + 1,124,0,1,124,0,3,62,0,2,62,0,6,62,0,6, + 31,0,4,31,0,12,15,0,15,255,128,24,15,128,24,7, + 192,16,7,192,48,3,224,48,3,224,112,7,240,252,31,248, + 19,23,69,22,1,0,255,252,0,63,31,0,31,15,128,31, + 7,192,31,7,192,31,7,192,31,7,192,31,7,192,31,7, + 128,31,15,128,31,62,0,31,252,0,31,15,128,31,7,192, + 31,7,224,31,3,224,31,3,224,31,3,224,31,3,224,31, + 3,192,31,7,192,63,15,0,255,252,0,19,23,69,24,2, + 0,1,252,32,7,255,96,15,7,224,30,1,224,60,0,224, + 124,0,96,124,0,96,248,0,32,248,0,0,248,0,0,248, + 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, + 0,124,0,0,124,0,0,60,0,32,30,0,96,15,129,192, + 3,255,128,0,254,0,22,23,69,24,0,0,255,252,0,63, + 255,128,31,7,224,31,1,240,31,1,240,31,0,248,31,0, + 248,31,0,252,31,0,124,31,0,124,31,0,124,31,0,124, + 31,0,124,31,0,124,31,0,124,31,0,248,31,0,248,31, + 0,248,31,1,240,31,1,224,31,7,192,63,255,0,255,252, + 0,21,23,69,22,0,0,255,255,224,63,255,224,31,0,224, + 31,0,96,31,0,96,31,0,32,31,0,32,31,4,0,31, + 4,0,31,12,0,31,28,0,31,252,0,31,28,0,31,12, + 0,31,4,0,31,4,0,31,0,8,31,0,24,31,0,48, + 31,0,112,31,1,240,63,255,224,255,255,224,19,23,69,20, + 0,0,255,255,224,63,255,224,31,0,224,31,0,96,31,0, + 96,31,0,32,31,0,32,31,4,0,31,4,0,31,12,0, + 31,28,0,31,252,0,31,28,0,31,12,0,31,4,0,31, + 4,0,31,0,0,31,0,0,31,0,0,31,0,0,31,0, + 0,63,128,0,255,224,0,22,23,69,25,2,0,1,252,32, + 7,255,96,15,7,224,30,1,224,60,0,224,124,0,96,124, + 0,96,248,0,32,248,0,0,248,0,0,248,0,0,248,0, + 0,248,0,0,248,31,252,248,7,240,248,3,224,124,3,224, + 124,3,224,60,3,224,62,3,224,30,7,224,15,143,224,3, + 255,0,24,23,69,25,0,0,255,231,255,63,129,252,31,0, + 248,31,0,248,31,0,248,31,0,248,31,0,248,31,0,248, + 31,0,248,31,0,248,31,255,248,31,255,248,31,0,248,31, + 0,248,31,0,248,31,0,248,31,0,248,31,0,248,31,0, + 248,31,0,248,31,0,248,63,129,252,255,231,255,11,23,46, + 13,1,0,255,224,63,128,31,0,31,0,31,0,31,0,31, + 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, + 0,31,0,31,0,31,0,31,0,31,0,31,0,63,128,255, + 224,15,26,52,16,0,253,15,254,3,248,1,240,1,240,1, + 240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1, + 240,1,240,1,240,1,240,1,240,1,240,1,240,97,240,241, + 240,241,240,243,224,227,224,127,192,31,0,24,23,69,25,1, + 0,255,207,252,127,3,224,62,1,192,62,3,128,62,7,0, + 62,14,0,62,28,0,62,56,0,62,112,0,62,224,0,63, + 240,0,63,248,0,63,252,0,62,254,0,62,127,0,62,63, + 128,62,31,192,62,15,224,62,7,240,62,3,248,62,1,252, + 127,0,254,255,195,255,20,23,69,22,1,0,255,224,0,63, + 128,0,31,0,0,31,0,0,31,0,0,31,0,0,31,0, + 0,31,0,0,31,0,0,31,0,0,31,0,0,31,0,0, + 31,0,0,31,0,0,31,0,0,31,0,0,31,0,16,31, + 0,48,31,0,96,31,0,224,31,129,224,63,255,192,255,255, + 192,28,23,92,31,1,0,255,0,15,240,63,0,31,192,31, + 128,31,128,31,128,63,128,23,192,63,128,23,192,47,128,23, + 192,111,128,19,224,79,128,19,224,207,128,19,224,207,128,17, + 240,143,128,17,241,143,128,16,249,15,128,16,251,15,128,16, + 251,15,128,16,126,15,128,16,126,15,128,16,124,15,128,16, + 60,15,128,16,60,15,128,16,24,15,128,56,24,31,192,254, + 24,63,240,22,23,69,24,1,0,254,1,252,127,0,112,63, + 128,32,31,128,32,31,192,32,31,224,32,23,240,32,19,248, + 32,17,248,32,17,252,32,16,254,32,16,127,32,16,63,32, + 16,31,160,16,31,224,16,15,224,16,7,224,16,3,224,16, + 3,224,16,1,224,16,0,224,56,0,96,254,0,32,21,23, + 69,25,2,0,1,252,0,7,255,0,15,143,128,30,3,192, + 60,1,224,124,1,240,120,0,240,248,0,248,248,0,248,248, + 0,248,248,0,248,248,0,248,248,0,248,248,0,248,248,0, + 248,248,0,248,120,0,240,124,1,240,60,1,224,30,3,192, + 15,143,128,7,255,0,1,252,0,19,23,69,20,0,0,255, + 252,0,63,31,128,31,15,192,31,7,192,31,7,224,31,3, + 224,31,3,224,31,3,224,31,3,224,31,7,192,31,7,192, + 31,31,128,31,254,0,31,0,0,31,0,0,31,0,0,31, + 0,0,31,0,0,31,0,0,31,0,0,31,0,0,63,128, + 0,255,224,0,22,27,81,26,2,252,1,252,0,7,255,0, + 15,143,128,30,3,192,60,1,224,124,1,240,120,0,240,248, + 0,248,248,0,248,248,0,248,248,0,248,248,0,248,248,0, + 248,248,0,248,248,0,248,248,0,248,248,0,248,124,1,240, + 124,1,240,62,3,224,31,7,192,7,255,0,1,252,0,0, + 254,0,0,127,132,0,31,248,0,7,224,22,23,69,24,1, + 0,255,252,0,63,31,128,31,7,192,31,7,224,31,3,224, + 31,3,224,31,3,224,31,3,224,31,7,224,31,7,192,31, + 31,128,31,252,0,31,126,0,31,62,0,31,63,0,31,31, + 128,31,31,128,31,15,192,31,7,224,31,7,224,31,3,240, + 63,129,248,255,225,252,15,23,46,18,1,0,15,196,56,124, + 112,60,112,28,240,12,240,12,248,4,252,0,255,0,127,192, + 63,240,31,248,15,252,3,252,1,254,128,126,128,62,192,30, + 192,30,224,28,240,28,248,56,143,224,19,23,69,22,1,0, + 255,255,224,249,243,224,225,240,224,193,240,96,129,240,32,129, + 240,32,129,240,32,1,240,0,1,240,0,1,240,0,1,240, + 0,1,240,0,1,240,0,1,240,0,1,240,0,1,240,0, + 1,240,0,1,240,0,1,240,0,1,240,0,1,240,0,3, + 248,0,15,254,0,23,23,69,24,0,0,255,224,254,63,128, + 56,31,0,16,31,0,16,31,0,16,31,0,16,31,0,16, + 31,0,16,31,0,16,31,0,16,31,0,16,31,0,16,31, + 0,16,31,0,16,31,0,16,31,0,16,31,0,16,31,0, + 16,15,128,48,15,128,96,7,192,192,3,255,128,0,254,0, + 22,23,69,24,1,0,255,195,252,127,0,240,62,0,96,63, + 0,64,31,0,192,31,128,192,15,128,128,15,129,128,15,193, + 0,7,193,0,7,195,0,3,226,0,3,230,0,3,246,0, + 1,244,0,1,252,0,0,248,0,0,248,0,0,248,0,0, + 112,0,0,112,0,0,32,0,0,32,0,32,23,92,33,0, + 0,255,239,255,63,127,3,248,14,63,1,248,12,31,1,248, + 12,31,1,248,8,31,129,252,24,15,129,252,24,15,129,124, + 16,15,195,124,48,7,194,126,48,7,198,62,32,7,230,62, + 96,3,228,62,96,3,236,31,64,3,248,31,192,1,248,31, + 192,1,248,15,128,1,240,15,128,0,240,15,128,0,224,7, + 0,0,224,7,0,0,224,7,0,0,64,2,0,21,23,69, + 24,1,0,255,207,224,127,3,0,63,2,0,31,134,0,31, + 132,0,15,204,0,15,200,0,7,248,0,3,240,0,3,240, + 0,1,248,0,0,248,0,1,252,0,1,124,0,3,62,0, + 2,63,0,6,31,0,4,31,128,12,15,192,8,15,192,24, + 7,224,56,7,240,254,63,248,22,23,69,24,1,0,255,195, + 252,127,0,240,63,0,96,63,0,96,31,128,192,31,128,128, + 15,193,128,15,195,0,7,227,0,3,230,0,3,244,0,1, + 252,0,1,248,0,0,248,0,0,248,0,0,248,0,0,248, + 0,0,248,0,0,248,0,0,248,0,0,248,0,1,252,0, + 7,255,0,19,23,69,22,1,0,63,255,192,126,15,128,120, + 31,128,112,31,0,96,63,0,64,126,0,0,126,0,0,252, + 0,0,252,0,1,248,0,1,240,0,3,240,0,3,224,0, + 7,224,0,7,192,0,15,192,32,31,128,32,31,128,96,63, + 0,96,63,0,224,126,1,224,126,7,192,255,255,192,7,28, + 28,11,2,251,254,240,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,240,254, + 8,26,26,9,0,0,128,192,192,192,96,96,96,96,48,48, + 48,24,24,24,24,12,12,12,4,6,6,6,3,3,3,3, + 7,28,28,11,1,251,254,30,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 30,254,11,13,26,19,4,10,14,0,14,0,31,0,31,0, + 27,0,59,128,59,128,113,192,113,192,97,192,224,224,224,224, + 192,96,16,3,6,16,0,251,255,255,255,255,255,255,7,6, + 6,11,1,17,192,224,112,56,12,2,14,16,32,16,1,0, + 31,128,49,224,112,240,120,240,120,240,48,240,1,240,7,240, + 28,240,56,240,120,240,240,240,249,240,255,244,126,252,60,120, + 17,22,66,18,0,0,252,0,0,124,0,0,60,0,0,60, + 0,0,60,0,0,60,0,0,60,120,0,61,254,0,63,254, + 0,62,31,0,60,31,0,60,15,128,60,15,128,60,15,128, + 60,15,128,60,15,128,60,15,128,60,15,0,60,31,0,62, + 62,0,55,252,0,33,240,0,14,16,32,15,1,0,7,240, + 30,120,60,60,124,60,120,24,248,0,248,0,248,0,248,0, + 248,0,248,0,248,0,124,0,62,24,31,240,15,224,16,22, + 44,18,1,0,0,252,0,124,0,60,0,60,0,60,0,60, + 15,188,63,252,124,60,120,60,248,60,240,60,240,60,240,60, + 240,60,240,60,240,60,240,60,120,60,124,126,63,255,15,184, + 14,16,32,15,0,0,7,192,30,240,60,112,120,56,120,60, + 248,60,248,60,255,252,248,0,248,0,248,0,120,0,124,0, + 62,24,31,240,7,224,12,23,46,11,0,0,7,224,30,112, + 28,240,60,240,60,96,60,0,60,0,255,128,255,128,60,0, + 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, + 60,0,60,0,60,0,126,0,255,0,14,23,46,16,1,249, + 15,192,61,252,112,252,240,240,240,120,240,120,240,120,240,120, + 120,248,63,240,31,192,60,0,96,0,224,0,255,224,255,248, + 127,252,48,60,96,28,192,12,224,28,127,248,31,224,17,22, + 66,18,0,0,252,0,0,124,0,0,60,0,0,60,0,0, + 60,0,0,60,0,0,60,120,0,61,252,0,63,254,0,62, + 62,0,60,30,0,60,30,0,60,30,0,60,30,0,60,30, + 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, + 126,63,0,255,127,128,8,23,23,9,0,0,24,60,60,60, + 24,0,0,252,124,60,60,60,60,60,60,60,60,60,60,60, + 60,126,255,10,30,60,11,254,249,1,128,3,192,3,192,3, + 192,1,128,0,0,0,0,15,192,7,192,3,192,3,192,3, + 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, + 192,3,192,3,192,3,192,3,192,3,192,99,192,243,192,243, + 128,119,128,62,0,18,22,66,18,0,0,252,0,0,124,0, + 0,60,0,0,60,0,0,60,0,0,60,0,0,60,31,0, + 60,14,0,60,12,0,60,24,0,60,48,0,60,96,0,60, + 192,0,61,192,0,63,224,0,61,240,0,60,248,0,60,124, + 0,60,62,0,60,31,0,126,15,128,255,31,192,8,22,22, + 9,0,0,252,124,60,60,60,60,60,60,60,60,60,60,60, + 60,60,60,60,60,60,60,126,255,26,16,64,27,0,0,252, + 120,60,0,125,254,254,0,63,63,159,0,62,63,31,0,62, + 30,15,0,60,30,15,0,60,30,15,0,60,30,15,0,60, + 30,15,0,60,30,15,0,60,30,15,0,60,30,15,0,60, + 30,15,0,60,30,15,0,126,63,31,128,255,127,191,192,17, + 16,48,18,0,0,252,120,0,125,252,0,63,62,0,62,30, + 0,62,30,0,60,30,0,60,30,0,60,30,0,60,30,0, + 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,126, + 63,0,255,127,128,14,16,32,17,1,0,15,192,60,240,120, + 120,120,120,240,60,240,60,240,60,240,60,240,60,240,60,240, + 60,240,60,120,120,120,120,60,240,15,192,17,23,69,18,0, + 249,252,248,0,125,254,0,63,31,0,62,15,0,60,15,128, + 60,7,128,60,7,128,60,7,128,60,7,128,60,7,128,60, + 7,128,60,7,128,62,15,0,63,15,0,63,254,0,60,248, + 0,60,0,0,60,0,0,60,0,0,60,0,0,60,0,0, + 126,0,0,255,0,0,16,23,46,18,1,249,15,196,62,236, + 124,60,120,60,248,60,240,60,240,60,240,60,240,60,240,60, + 240,60,240,60,120,60,120,124,63,252,15,60,0,60,0,60, + 0,60,0,60,0,60,0,126,0,255,13,16,32,15,1,0, + 252,112,124,248,63,248,63,120,62,48,60,0,60,0,60,0, + 60,0,60,0,60,0,60,0,60,0,60,0,126,0,255,0, + 10,16,32,13,1,0,31,64,113,192,96,192,224,192,240,64, + 252,0,127,0,127,128,63,128,15,192,3,192,129,192,193,192, + 193,192,227,128,191,0,10,21,42,11,0,0,4,0,12,0, + 28,0,28,0,60,0,127,128,255,128,60,0,60,0,60,0, + 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,64, + 62,192,63,128,30,0,17,16,48,18,0,0,252,126,0,124, + 62,0,60,30,0,60,30,0,60,30,0,60,30,0,60,30, + 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, + 60,62,0,62,95,0,31,223,128,7,140,0,15,16,32,17, + 0,0,255,62,124,12,60,8,62,24,30,16,31,16,31,48, + 15,32,15,32,7,224,7,192,7,192,3,128,3,128,1,0, + 1,0,23,16,48,24,0,0,255,127,190,126,62,28,60,30, + 8,62,30,24,30,31,16,31,31,48,31,63,48,15,47,160, + 15,231,224,7,231,192,7,199,192,7,195,192,3,131,128,3, + 131,128,1,1,0,1,1,0,16,16,32,17,0,0,255,62, + 126,24,62,24,31,48,31,96,15,192,15,192,7,192,3,224, + 3,224,7,240,13,248,24,248,24,124,48,124,252,255,15,23, + 46,17,0,249,255,190,126,12,62,8,62,8,31,24,31,16, + 15,16,15,176,15,160,7,160,7,224,7,192,3,192,3,192, + 1,128,1,128,1,128,1,0,115,0,243,0,246,0,254,0, + 120,0,12,16,32,15,1,0,255,240,227,240,195,224,135,224, + 135,192,15,128,15,128,31,0,31,0,62,0,62,16,124,16, + 124,48,248,48,248,240,255,240,10,27,54,13,1,252,7,192, + 14,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,28,0,56,0,112,0,224,0,112,0,56,0,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 14,0,7,192,2,30,30,7,3,249,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,10,27,54,13,1,252,248,0, + 28,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, + 14,0,14,0,7,0,3,128,1,192,3,128,7,0,14,0, + 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, + 28,0,248,0,15,8,16,17,1,8,28,0,63,0,127,130, + 255,198,143,254,131,252,1,248,0,112,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,255,255,255,255,255,255,255,0,0,0,8,0, + 1,5,23,23,11,3,249,112,248,248,248,112,0,0,0,32, + 32,32,32,112,112,112,112,248,248,248,248,248,248,112,13,25, + 50,17,1,251,0,8,0,8,0,24,0,16,7,240,28,224, + 56,240,120,240,240,240,240,224,240,128,241,128,241,0,243,0, + 242,0,250,16,126,48,127,224,63,192,15,0,8,0,16,0, + 16,0,32,0,32,0,16,23,46,17,1,0,0,240,3,252, + 7,30,14,30,14,30,30,12,30,0,30,0,31,0,15,0, + 15,0,127,240,127,240,7,128,7,128,7,128,55,128,127,1, + 239,3,199,135,199,255,238,254,124,124,14,15,30,17,1,4, + 96,24,247,188,255,252,127,248,60,240,120,120,112,56,112,56, + 112,56,120,120,60,240,127,248,255,252,247,188,96,24,18,23, + 69,17,1,0,255,135,192,62,3,128,62,3,0,31,3,0, + 31,6,0,31,134,0,15,132,0,15,140,0,7,200,0,7, + 216,0,7,208,0,3,240,0,31,252,0,31,252,0,3,224, + 0,31,252,0,31,252,0,1,224,0,1,224,0,1,224,0, + 1,224,0,3,240,0,15,252,0,2,30,30,7,3,249,192, + 192,192,192,192,192,192,192,192,192,192,192,0,0,0,0,0, + 0,192,192,192,192,192,192,192,192,192,192,192,192,12,28,56, + 17,2,251,15,128,24,192,48,224,113,224,113,224,120,192,60, + 0,62,0,31,0,15,128,63,192,99,224,193,224,192,240,224, + 112,240,48,120,48,124,96,63,192,31,128,7,128,3,192,49, + 224,120,224,120,224,112,192,49,128,31,0,8,4,4,11,2, + 18,66,231,231,66,22,23,69,25,1,0,1,254,0,7,255, + 128,15,3,192,28,0,224,56,0,112,48,254,48,113,199,56, + 99,131,24,231,131,28,199,0,12,199,0,12,199,0,12,199, + 0,12,199,128,12,195,195,12,227,230,28,96,252,24,112,0, + 56,56,0,112,28,0,224,15,3,192,7,255,128,1,254,0, + 9,14,28,10,0,9,60,0,102,0,103,0,103,0,31,0, + 103,0,199,0,199,0,239,128,115,0,0,0,0,0,255,128, + 255,128,14,14,28,17,2,1,2,4,6,12,14,28,28,56, + 56,112,112,224,225,192,225,192,112,224,56,112,28,56,14,28, + 6,12,2,4,16,9,18,19,1,3,255,255,255,255,255,255, + 0,7,0,7,0,7,0,7,0,7,0,7,8,4,4,11, + 1,6,255,255,255,255,22,23,69,25,2,0,1,254,0,7, + 255,128,15,3,192,28,0,224,56,0,112,51,252,48,113,206, + 56,96,199,24,224,199,28,192,199,12,192,206,12,192,248,12, + 192,220,12,192,206,12,192,198,12,224,199,28,97,195,152,115, + 227,248,56,0,112,28,0,224,15,3,192,7,255,128,1,254, + 0,9,2,4,11,1,18,255,128,255,128,9,10,20,13,2, + 13,28,0,127,0,99,0,193,128,193,128,193,128,193,128,99, + 0,127,0,60,0,15,19,38,19,2,0,3,128,3,128,3, + 128,3,128,3,128,3,128,255,254,255,254,255,254,3,128,3, + 128,3,128,3,128,3,128,3,128,0,0,255,254,255,254,255, + 254,10,14,28,10,1,9,62,0,127,0,199,128,131,128,3, + 128,3,128,3,0,6,0,12,0,24,0,48,64,127,192,255, + 128,255,128,9,14,28,10,1,9,30,0,63,0,103,128,67, + 128,3,0,6,0,31,0,7,128,3,128,3,128,3,128,195, + 128,231,0,126,0,7,6,6,11,3,17,6,14,28,56,96, + 128,16,22,44,19,2,250,248,252,120,124,120,60,120,60,120, + 60,120,60,120,60,120,60,120,60,120,60,120,60,120,60,120, + 124,124,252,127,191,95,56,64,0,224,0,224,0,224,0,224, + 0,224,0,16,29,58,18,1,250,15,255,63,255,63,140,127, + 140,255,140,255,140,255,140,255,140,255,140,255,140,255,140,127, + 140,63,140,63,140,15,140,1,140,1,140,1,140,1,140,1, + 140,1,140,1,140,1,140,1,140,1,140,1,140,1,140,1, + 140,1,140,4,4,4,8,2,9,96,240,240,96,7,7,7, + 11,1,249,6,12,28,14,198,238,124,9,14,28,10,0,9, + 12,0,124,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,28,0,28,0,28,0,28,0,255,128,9,14,28,11, + 1,9,28,0,119,0,99,0,227,128,227,128,227,128,227,128, + 99,0,119,0,28,0,0,0,0,0,255,128,255,128,14,14, + 28,17,1,1,129,0,193,128,225,192,112,224,56,112,28,56, + 14,28,14,28,28,56,56,112,112,224,225,192,193,128,129,0, + 23,23,69,25,0,0,12,0,8,124,0,24,28,0,48,28, + 0,48,28,0,96,28,0,96,28,0,192,28,1,128,28,1, + 128,28,3,12,28,6,28,28,6,60,28,12,124,255,152,252, + 0,24,220,0,49,156,0,99,156,0,99,28,0,199,254,1, + 199,254,1,128,28,3,0,28,3,0,28,23,23,69,25,0, + 0,12,0,48,124,0,96,28,0,96,28,0,192,28,0,128, + 28,1,128,28,3,0,28,2,0,28,6,0,28,12,240,28, + 25,248,28,27,60,28,50,28,255,176,28,0,96,28,0,96, + 24,0,192,48,1,128,96,1,128,192,3,1,130,6,3,254, + 6,7,252,12,15,252,22,23,69,25,1,0,30,0,16,63, + 0,48,103,128,96,67,128,96,3,0,192,6,0,192,31,1, + 128,7,131,0,3,131,0,3,134,24,3,140,56,195,140,120, + 231,24,248,126,49,248,0,49,184,0,99,56,0,199,56,0, + 198,56,1,143,252,3,143,252,3,0,56,6,0,56,6,0, + 56,12,23,46,16,2,249,7,0,15,128,15,128,15,128,7, + 0,0,0,0,0,0,0,2,0,2,0,6,0,12,0,28, + 0,60,0,120,0,120,0,248,96,248,240,248,240,248,112,120, + 112,60,224,31,192,21,30,90,24,1,0,6,0,0,7,0, + 0,3,128,0,1,192,0,0,96,0,0,0,0,0,32,0, + 0,32,0,0,96,0,0,112,0,0,240,0,0,248,0,0, + 248,0,1,248,0,1,124,0,1,124,0,3,62,0,2,62, + 0,6,62,0,6,31,0,4,31,0,12,15,0,15,255,128, + 24,15,128,24,7,192,16,7,192,48,3,224,48,3,224,112, + 7,240,252,31,248,21,30,90,24,1,0,0,3,0,0,7, + 0,0,14,0,0,28,0,0,48,0,0,64,0,0,0,0, + 0,32,0,0,96,0,0,112,0,0,240,0,0,248,0,0, + 248,0,1,248,0,1,124,0,1,124,0,3,62,0,2,62, + 0,6,62,0,6,31,0,4,31,0,12,15,0,15,255,128, + 24,15,128,24,7,192,16,7,192,48,3,224,48,3,224,112, + 7,240,252,31,248,21,30,90,24,1,0,0,96,0,0,240, + 0,1,248,0,1,152,0,3,12,0,2,4,0,0,0,0, + 0,32,0,0,96,0,0,112,0,0,240,0,0,248,0,0, + 248,0,1,248,0,1,124,0,1,124,0,3,62,0,2,62, + 0,6,62,0,6,31,0,4,31,0,12,15,0,15,255,128, + 24,15,128,24,7,192,16,7,192,48,3,224,48,3,224,112, + 7,240,252,31,248,21,29,87,24,1,0,0,194,0,1,246, + 0,3,124,0,2,24,0,0,0,0,0,0,0,0,32,0, + 0,96,0,0,112,0,0,240,0,0,248,0,0,248,0,1, + 248,0,1,124,0,1,124,0,3,62,0,2,62,0,6,62, + 0,6,31,0,4,31,0,12,15,0,15,255,128,24,15,128, + 24,7,192,16,7,192,48,3,224,48,3,224,112,7,240,252, + 31,248,21,29,87,24,1,0,1,8,0,3,156,0,3,156, + 0,1,8,0,0,0,0,0,0,0,0,32,0,0,96,0, + 0,112,0,0,240,0,0,248,0,0,248,0,1,248,0,1, + 124,0,1,124,0,3,62,0,2,62,0,6,62,0,6,31, + 0,4,31,0,12,15,0,15,255,128,24,15,128,24,7,192, + 16,7,192,48,3,224,48,3,224,112,7,240,252,31,248,21, + 30,90,24,1,0,0,224,0,1,176,0,3,24,0,2,8, + 0,3,24,0,1,176,0,0,224,0,0,0,0,0,96,0, + 0,112,0,0,240,0,0,248,0,0,248,0,1,248,0,1, + 124,0,1,124,0,3,62,0,2,62,0,6,62,0,6,31, + 0,4,31,0,12,15,0,15,255,128,24,15,128,24,7,192, + 16,7,192,48,3,224,48,3,224,112,7,240,252,31,248,32, + 23,92,33,0,0,3,255,255,252,0,255,255,252,0,99,224, + 28,0,99,224,12,0,195,224,12,0,195,224,4,1,131,224, + 4,1,131,224,128,3,3,224,128,3,3,225,128,2,3,227, + 128,7,255,255,128,7,255,227,128,12,3,225,128,12,3,224, + 128,24,3,224,128,24,3,224,1,56,3,224,3,48,3,224, + 6,112,3,224,14,112,3,224,62,248,7,255,252,254,31,255, + 252,19,30,90,24,2,249,1,252,32,7,255,96,15,7,224, + 30,1,224,60,0,224,124,0,96,124,0,96,248,0,32,248, + 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, + 0,248,0,0,248,0,0,124,0,0,124,0,0,60,0,32, + 30,0,96,15,129,192,3,255,128,0,254,0,0,24,0,0, + 48,0,0,112,0,0,56,0,3,24,0,3,184,0,1,240, + 0,21,30,90,22,0,0,6,0,0,7,0,0,3,128,0, + 1,192,0,0,96,0,0,48,0,0,0,0,255,255,224,63, + 255,224,31,0,224,31,0,96,31,0,96,31,0,32,31,0, + 32,31,4,0,31,4,0,31,12,0,31,28,0,31,252,0, + 31,28,0,31,12,0,31,4,0,31,4,0,31,0,8,31, + 0,24,31,0,48,31,0,112,31,1,240,63,255,224,255,255, + 224,21,30,90,22,0,0,0,1,128,0,3,128,0,7,0, + 0,14,0,0,24,0,0,48,0,0,0,0,255,255,224,63, + 255,224,31,0,224,31,0,96,31,0,96,31,0,32,31,0, + 32,31,4,0,31,4,0,31,12,0,31,28,0,31,252,0, + 31,28,0,31,12,0,31,4,0,31,4,0,31,0,8,31, + 0,24,31,0,48,31,0,112,31,1,240,63,255,224,255,255, + 224,21,30,90,22,0,0,0,48,0,0,120,0,0,252,0, + 0,204,0,1,134,0,1,2,0,0,0,0,255,255,224,63, + 255,224,31,0,224,31,0,96,31,0,96,31,0,32,31,0, + 32,31,4,0,31,4,0,31,12,0,31,28,0,31,252,0, + 31,28,0,31,12,0,31,4,0,31,4,0,31,0,8,31, + 0,24,31,0,48,31,0,112,31,1,240,63,255,224,255,255, + 224,21,29,87,22,0,0,0,132,0,1,206,0,1,206,0, + 0,132,0,0,0,0,0,0,0,255,255,224,63,255,224,31, + 0,224,31,0,96,31,0,96,31,0,32,31,0,32,31,4, + 0,31,4,0,31,12,0,31,28,0,31,252,0,31,28,0, + 31,12,0,31,4,0,31,4,0,31,0,8,31,0,24,31, + 0,48,31,0,112,31,1,240,63,255,224,255,255,224,11,30, + 60,13,1,0,192,0,224,0,112,0,56,0,12,0,6,0, + 0,0,255,224,63,128,31,0,31,0,31,0,31,0,31,0, + 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, + 31,0,31,0,31,0,31,0,31,0,31,0,63,128,255,224, + 12,30,60,13,1,0,0,48,0,112,0,224,1,192,3,0, + 6,0,0,0,255,224,63,128,31,0,31,0,31,0,31,0, + 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, + 31,0,31,0,31,0,31,0,31,0,31,0,31,0,63,128, + 255,224,11,30,60,13,1,0,6,0,15,0,31,128,25,128, + 48,192,32,64,0,0,255,224,63,128,31,0,31,0,31,0, + 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, + 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, + 63,128,255,224,11,29,58,13,1,0,16,128,57,192,57,192, + 16,128,0,0,0,0,255,224,63,128,31,0,31,0,31,0, + 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, + 31,0,31,0,31,0,31,0,31,0,31,0,31,0,31,0, + 63,128,255,224,22,23,69,24,0,0,255,254,0,63,15,128, + 31,3,224,31,1,240,31,1,240,31,0,248,31,0,248,31, + 0,252,31,0,252,31,0,252,255,240,124,255,240,124,255,240, + 124,31,0,124,31,0,252,31,0,248,31,0,248,31,0,248, + 31,1,240,31,1,224,31,3,192,63,15,128,127,254,0,22, + 29,87,24,1,0,0,97,0,0,251,0,1,190,0,1,12, + 0,0,0,0,0,0,0,254,1,252,127,0,112,63,128,32, + 31,128,32,31,192,32,31,224,32,23,240,32,19,248,32,17, + 248,32,17,252,32,16,254,32,16,127,32,16,63,32,16,31, + 160,16,31,224,16,15,224,16,7,224,16,3,224,16,3,224, + 16,1,224,16,0,224,56,0,96,254,0,32,21,30,90,25, + 2,0,6,0,0,7,0,0,3,128,0,1,192,0,0,96, + 0,0,48,0,0,0,0,1,252,0,7,255,0,15,143,128, + 30,3,192,60,1,224,124,1,240,120,0,240,248,0,248,248, + 0,248,248,0,248,248,0,248,248,0,248,248,0,248,248,0, + 248,248,0,248,248,0,248,120,0,240,124,1,240,60,1,224, + 30,3,192,15,143,128,7,255,0,1,252,0,21,30,90,25, + 2,0,0,3,128,0,7,0,0,14,0,0,24,0,0,48, + 0,0,96,0,0,0,0,1,252,0,7,255,0,15,143,128, + 30,3,192,60,1,224,124,1,240,120,0,240,248,0,248,248, + 0,248,248,0,248,248,0,248,248,0,248,248,0,248,248,0, + 248,248,0,248,248,0,248,120,0,240,124,1,240,60,1,224, + 30,3,192,15,143,128,7,255,0,1,252,0,21,30,90,25, + 2,0,0,48,0,0,120,0,0,252,0,0,204,0,1,134, + 0,1,2,0,0,0,0,1,252,0,7,255,0,15,143,128, + 30,3,192,60,1,224,124,1,240,120,0,240,248,0,248,248, + 0,248,248,0,248,248,0,248,248,0,248,248,0,248,248,0, + 248,248,0,248,248,0,248,120,0,240,124,1,240,60,1,224, + 30,3,192,15,143,128,7,255,0,1,252,0,21,29,87,25, + 2,0,0,194,0,1,246,0,3,124,0,2,24,0,0,0, + 0,0,0,0,1,252,0,7,255,0,15,143,128,30,3,192, + 60,1,224,124,1,240,120,0,240,248,0,248,248,0,248,248, + 0,248,248,0,248,248,0,248,248,0,248,248,0,248,248,0, + 248,248,0,248,120,0,240,124,1,240,60,1,224,30,3,192, + 15,143,128,7,255,0,1,252,0,21,29,87,25,2,0,0, + 132,0,1,206,0,1,206,0,0,132,0,0,0,0,0,0, + 0,1,252,0,7,255,0,15,143,128,30,3,192,60,1,224, + 124,1,240,120,0,240,248,0,248,248,0,248,248,0,248,248, + 0,248,248,0,248,248,0,248,248,0,248,248,0,248,248,0, + 248,120,0,240,124,1,240,60,1,224,30,3,192,15,143,128, + 7,255,0,1,252,0,15,16,32,19,2,0,64,4,224,14, + 240,30,120,60,60,120,30,240,15,224,7,192,7,192,15,224, + 30,240,60,120,120,60,240,30,224,14,64,4,21,27,81,26, + 2,254,0,0,48,0,0,96,1,252,64,7,143,192,14,3, + 128,30,1,192,60,3,224,124,6,240,120,4,240,248,12,248, + 248,24,248,248,24,248,248,48,248,248,32,248,248,96,248,248, + 192,248,248,128,248,249,128,248,123,0,240,126,1,240,62,1, + 224,28,3,192,14,7,128,31,254,0,17,248,0,48,0,0, + 96,0,0,23,30,90,24,0,0,0,192,0,0,224,0,0, + 112,0,0,56,0,0,12,0,0,2,0,0,0,0,255,224, + 254,63,128,56,31,0,16,31,0,16,31,0,16,31,0,16, + 31,0,16,31,0,16,31,0,16,31,0,16,31,0,16,31, + 0,16,31,0,16,31,0,16,31,0,16,31,0,16,31,0, + 16,31,0,48,15,128,48,15,128,96,7,192,192,3,255,128, + 0,254,0,23,30,90,24,0,0,0,0,192,0,1,192,0, + 3,128,0,7,0,0,12,0,0,16,0,0,0,0,255,224, + 254,63,128,56,31,0,16,31,0,16,31,0,16,31,0,16, + 31,0,16,31,0,16,31,0,16,31,0,16,31,0,16,31, + 0,16,31,0,16,31,0,16,31,0,16,31,0,16,31,0, + 16,31,0,48,15,128,48,15,128,96,7,192,192,3,255,128, + 0,254,0,23,30,90,24,0,0,0,12,0,0,30,0,0, + 63,0,0,51,0,0,97,128,0,64,128,0,0,0,255,224, + 254,63,128,56,31,0,16,31,0,16,31,0,16,31,0,16, + 31,0,16,31,0,16,31,0,16,31,0,16,31,0,16,31, + 0,16,31,0,16,31,0,16,31,0,16,31,0,16,31,0, + 16,31,0,48,15,128,48,15,128,96,7,192,192,3,255,128, + 0,254,0,23,29,87,24,0,0,0,33,0,0,115,128,0, + 115,128,0,33,0,0,0,0,0,0,0,255,224,254,63,128, + 56,31,0,16,31,0,16,31,0,16,31,0,16,31,0,16, + 31,0,16,31,0,16,31,0,16,31,0,16,31,0,16,31, + 0,16,31,0,16,31,0,16,31,0,16,31,0,16,31,0, + 48,15,128,48,15,128,96,7,192,192,3,255,128,0,254,0, + 22,30,90,24,1,0,0,0,192,0,1,192,0,3,128,0, + 7,0,0,12,0,0,16,0,0,0,0,255,195,252,127,0, + 240,63,0,96,63,0,96,31,128,192,31,128,128,15,193,128, + 15,195,0,7,227,0,3,230,0,3,244,0,1,252,0,1, + 248,0,0,248,0,0,248,0,0,248,0,0,248,0,0,248, + 0,0,248,0,0,248,0,0,248,0,1,252,0,7,255,0, + 19,23,69,20,0,0,255,224,0,63,128,0,31,0,0,31, + 0,0,31,254,0,31,15,128,31,7,192,31,7,224,31,3, + 224,31,3,224,31,3,224,31,3,224,31,7,224,31,7,192, + 31,31,128,31,254,0,31,0,0,31,0,0,31,0,0,31, + 0,0,31,0,0,63,128,0,255,224,0,17,23,69,19,0, + 0,3,240,0,14,60,0,30,62,0,28,30,0,60,30,0, + 60,30,0,60,30,0,60,30,0,60,28,0,60,56,0,60, + 224,0,60,60,0,60,30,0,60,15,0,60,15,0,60,15, + 128,60,15,128,60,15,128,60,15,128,60,15,0,60,15,0, + 60,30,0,252,124,0,14,23,46,16,1,0,48,0,56,0, + 28,0,14,0,3,0,0,128,0,0,31,128,49,224,112,240, + 120,240,120,240,48,240,1,240,7,240,28,240,56,240,120,240, + 240,240,249,240,255,244,126,252,60,120,14,23,46,16,1,0, + 0,48,0,112,0,224,1,192,3,0,4,0,0,0,31,128, + 49,224,112,240,120,240,120,240,48,240,1,240,7,240,28,240, + 56,240,120,240,240,240,249,240,255,244,126,252,60,120,14,23, + 46,16,1,0,3,0,7,128,15,192,12,192,24,96,16,32, + 0,0,31,128,49,224,112,240,120,240,120,240,48,240,1,240, + 7,240,28,240,56,240,120,240,240,240,249,240,255,244,126,252, + 60,120,14,22,44,16,1,0,12,32,31,96,55,192,33,128, + 0,0,0,0,31,128,49,224,112,240,120,240,120,240,48,240, + 1,240,7,240,28,240,56,240,120,240,240,240,249,240,255,244, + 126,252,60,120,14,22,44,16,1,0,8,64,28,224,28,224, + 8,64,0,0,0,0,31,128,49,224,112,240,120,240,120,240, + 48,240,1,240,7,240,28,240,56,240,120,240,240,240,249,240, + 255,244,126,252,60,120,14,25,50,16,1,0,7,0,13,128, + 24,192,16,64,24,192,13,128,7,0,0,0,0,0,31,128, + 49,224,112,240,120,240,120,240,48,240,1,240,7,240,28,240, + 56,240,120,240,240,240,249,240,255,244,126,252,60,120,21,16, + 48,24,1,0,31,135,192,49,238,224,112,252,112,120,248,112, + 120,248,56,48,248,56,1,248,56,7,255,248,28,248,0,56, + 248,0,120,252,0,248,252,8,248,254,24,255,255,240,126,63, + 224,60,15,192,13,23,46,15,1,249,7,224,30,240,60,120, + 120,120,120,48,240,0,240,0,240,0,240,0,240,0,248,0, + 120,0,120,0,60,48,31,224,15,192,3,0,6,0,6,0, + 3,128,49,128,59,128,31,0,14,23,46,15,0,0,48,0, + 56,0,28,0,14,0,3,0,0,128,0,0,7,192,30,240, + 60,112,120,56,120,60,248,60,248,60,255,252,248,0,248,0, + 248,0,120,0,124,0,62,24,31,240,7,224,14,23,46,15, + 0,0,0,24,0,56,0,112,0,224,1,128,2,0,0,0, + 7,192,30,240,60,112,120,56,120,60,248,60,248,60,255,252, + 248,0,248,0,248,0,120,0,124,0,62,24,31,240,7,224, + 14,23,46,15,0,0,3,0,7,128,15,192,12,192,24,96, + 16,32,0,0,7,192,30,240,60,112,120,56,120,60,248,60, + 248,60,255,252,248,0,248,0,248,0,120,0,124,0,62,24, + 31,240,7,224,14,22,44,15,0,0,4,32,14,112,14,112, + 4,32,0,0,0,0,7,192,30,240,60,112,120,56,120,60, + 248,60,248,60,255,252,248,0,248,0,248,0,120,0,124,0, + 62,24,31,240,7,224,8,23,23,9,0,0,192,224,112,56, + 12,2,0,252,124,60,60,60,60,60,60,60,60,60,60,60, + 60,126,255,8,23,23,9,0,0,3,7,14,28,48,64,0, + 252,124,60,60,60,60,60,60,60,60,60,60,60,60,126,255, + 8,23,23,9,0,0,24,60,126,102,195,129,0,252,124,60, + 60,60,60,60,60,60,60,60,60,60,60,126,255,8,22,22, + 9,0,0,66,231,231,66,0,0,252,124,60,60,60,60,60, + 60,60,60,60,60,60,60,126,255,14,22,44,17,1,0,56, + 48,62,248,15,248,255,128,251,192,97,224,15,240,60,248,120, + 120,120,120,240,60,240,60,240,60,240,60,240,60,240,60,240, + 60,240,60,120,120,120,120,60,240,15,192,17,22,66,18,0, + 0,3,8,0,7,216,0,13,240,0,8,96,0,0,0,0, + 0,0,0,252,120,0,125,252,0,63,62,0,62,30,0,62, + 30,0,60,30,0,60,30,0,60,30,0,60,30,0,60,30, + 0,60,30,0,60,30,0,60,30,0,60,30,0,126,63,0, + 255,127,128,14,23,46,17,1,0,48,0,56,0,28,0,14, + 0,3,0,0,128,0,0,15,192,60,240,120,120,120,120,240, + 60,240,60,240,60,240,60,240,60,240,60,240,60,240,60,120, + 120,120,120,60,240,15,192,14,23,46,17,1,0,0,24,0, + 56,0,112,0,224,1,128,2,0,0,0,15,192,60,240,120, + 120,120,120,240,60,240,60,240,60,240,60,240,60,240,60,240, + 60,240,60,120,120,120,120,60,240,15,192,14,23,46,17,1, + 0,3,0,7,128,15,192,12,192,24,96,16,32,0,0,15, + 192,60,240,120,120,120,120,240,60,240,60,240,60,240,60,240, + 60,240,60,240,60,240,60,120,120,120,120,60,240,15,192,14, + 22,44,17,1,0,12,32,31,96,55,192,33,128,0,0,0, + 0,15,192,60,240,120,120,120,120,240,60,240,60,240,60,240, + 60,240,60,240,60,240,60,240,60,120,120,120,120,60,240,15, + 192,14,22,44,17,1,0,8,64,28,224,28,224,8,64,0, + 0,0,0,15,192,60,240,120,120,120,120,240,60,240,60,240, + 60,240,60,240,60,240,60,240,60,240,60,120,120,120,120,60, + 240,15,192,14,15,30,19,2,1,3,0,7,128,7,128,3, + 0,0,0,0,0,255,252,255,252,255,252,0,0,0,0,3, + 0,7,128,7,128,3,0,14,22,44,17,1,253,0,8,0, + 24,0,24,15,240,60,240,120,120,120,120,240,252,241,188,241, + 60,243,60,242,60,246,60,252,60,248,60,120,120,120,120,60, + 240,111,192,96,0,192,0,128,0,17,23,69,18,0,0,24, + 0,0,28,0,0,14,0,0,7,0,0,1,128,0,0,64, + 0,0,0,0,252,126,0,124,62,0,60,30,0,60,30,0, + 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, + 30,0,60,30,0,60,30,0,60,62,0,62,127,0,31,223, + 128,7,140,0,17,23,69,18,0,0,0,12,0,0,28,0, + 0,56,0,0,112,0,0,192,0,1,0,0,0,0,0,252, + 126,0,124,62,0,60,30,0,60,30,0,60,30,0,60,30, + 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, + 60,30,0,60,62,0,62,127,0,31,223,128,7,140,0,17, + 23,69,18,0,0,1,128,0,3,192,0,7,224,0,6,96, + 0,12,48,0,8,16,0,0,0,0,252,126,0,124,62,0, + 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,60, + 30,0,60,30,0,60,30,0,60,30,0,60,30,0,60,62, + 0,62,127,0,31,223,128,7,140,0,17,22,66,18,0,0, + 4,32,0,14,112,0,14,112,0,4,32,0,0,0,0,0, + 0,0,252,126,0,124,62,0,60,30,0,60,30,0,60,30, + 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, + 60,30,0,60,30,0,60,62,0,62,127,0,31,223,128,7, + 140,0,15,30,60,17,0,249,0,12,0,28,0,56,0,112, + 0,192,1,0,0,0,255,190,126,12,62,8,62,8,31,24, + 31,16,15,16,15,176,15,160,7,160,7,224,7,192,3,192, + 3,192,1,128,1,128,1,128,1,0,115,0,243,0,246,0, + 254,0,120,0,15,29,58,19,1,249,252,0,124,0,60,0, + 60,0,60,0,60,0,60,224,63,248,62,124,60,60,60,62, + 60,30,60,30,60,30,60,30,60,30,60,30,60,30,60,60, + 62,60,63,248,60,224,60,0,60,0,60,0,60,0,60,0, + 126,0,255,0,15,29,58,17,0,249,4,32,14,112,14,112, + 4,32,0,0,0,0,255,190,126,12,62,8,62,8,31,24, + 31,16,15,16,15,176,15,160,7,160,7,224,7,192,3,192, + 3,192,1,128,1,128,1,128,1,0,115,0,243,0,246,0, + 254,0,120,0}; +/* + Fontname: -Adobe-Times-Bold-R-Normal--34-240-100-100-P-177-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 0, '1' Height: 23 + Calculated Max Values w=16 h=25 x= 3 y= 9 dx=19 dy= 0 ascent=25 len=50 + Font Bounding box w=38 h=49 x=-5 y=-12 + Calculated Min Values x= 0 y=-6 dx= 0 dy= 0 + Pure Font ascent =23 descent= 0 + X Font ascent =23 descent= 0 + Max Font ascent =25 descent=-6 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_timB24n[723] U8G_FONT_SECTION("u8g_font_timB24n") = { + 0,38,49,251,244,23,0,0,0,0,42,58,0,25,250,23, + 0,13,14,28,17,1,9,3,0,7,0,7,0,231,56,242, + 120,122,240,15,128,15,128,122,240,242,120,231,56,7,0,7, + 0,6,0,15,15,30,19,2,0,3,128,3,128,3,128,3, + 128,3,128,3,128,255,254,255,254,255,254,3,128,3,128,3, + 128,3,128,3,128,3,128,6,11,11,8,1,250,56,124,124, + 124,60,12,8,24,48,96,192,8,4,4,11,1,6,255,255, + 255,255,5,5,5,8,1,0,112,248,248,248,112,9,25,50, + 9,0,0,1,128,1,128,1,0,3,0,3,0,3,0,6, + 0,6,0,6,0,4,0,12,0,12,0,12,0,24,0,24, + 0,24,0,48,0,48,0,48,0,48,0,96,0,96,0,96, + 0,192,0,192,0,14,23,46,16,1,0,7,128,31,224,28, + 224,56,112,120,112,120,120,120,120,248,124,248,124,248,124,248, + 124,248,124,248,124,248,124,248,124,248,124,120,120,120,120,120, + 120,56,112,28,224,15,192,7,128,13,23,46,16,2,0,1, + 128,7,128,31,128,255,128,15,128,15,128,15,128,15,128,15, + 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, + 128,15,128,15,128,15,128,15,128,31,192,255,248,16,23,46, + 16,0,0,3,192,15,240,31,248,63,248,48,252,96,124,64, + 124,0,124,0,120,0,120,0,120,0,240,0,224,1,192,1, + 128,3,0,7,1,14,3,28,6,63,254,127,254,255,252,255, + 252,14,23,46,16,1,0,7,192,31,240,63,240,48,248,96, + 120,64,120,0,120,0,112,0,192,3,224,15,240,15,248,3, + 248,0,252,0,124,0,60,0,60,0,60,96,56,240,56,248, + 112,127,192,31,0,14,23,46,16,1,0,0,112,0,240,0, + 240,1,240,3,240,6,240,6,240,12,240,24,240,24,240,48, + 240,96,240,96,240,192,240,255,252,255,252,255,252,255,252,0, + 240,0,240,0,240,0,240,0,240,13,23,46,16,1,0,31, + 248,31,248,31,248,31,248,48,0,48,0,32,0,62,0,127, + 128,127,224,127,240,127,240,3,248,0,248,0,120,0,56,0, + 56,0,56,96,48,240,48,248,96,127,192,31,0,14,23,46, + 16,1,0,0,28,0,240,3,192,7,128,15,0,30,0,62, + 0,60,0,124,0,127,224,253,240,248,248,248,120,248,124,248, + 124,248,124,248,124,120,124,120,120,120,120,56,112,28,224,15, + 192,13,23,46,16,2,0,127,248,127,248,255,248,255,248,192, + 48,128,112,128,112,0,96,0,224,0,224,0,192,1,192,1, + 192,3,128,3,128,3,128,7,0,7,0,7,0,14,0,14, + 0,14,0,28,0,14,23,46,16,1,0,15,224,62,240,60, + 120,120,120,120,56,120,56,124,56,126,112,63,224,63,128,31, + 192,15,224,63,240,113,248,112,252,224,124,224,60,224,60,224, + 60,240,56,120,120,127,240,31,192,14,23,46,16,1,0,15, + 192,28,224,56,112,120,120,120,120,248,120,248,124,248,124,248, + 124,248,124,120,124,124,124,62,252,31,248,0,248,0,240,1, + 240,1,224,3,192,7,128,15,0,60,0,224,0,5,16,16, + 11,3,0,112,248,248,248,112,0,0,0,0,0,0,112,248, + 248,248,112}; +/* + Fontname: -Adobe-Times-Bold-R-Normal--34-240-100-100-P-177-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 23, '1' Height: 23 + Calculated Max Values w=32 h=30 x= 4 y=17 dx=33 dy= 0 ascent=26 len=108 + Font Bounding box w=38 h=49 x=-5 y=-12 + Calculated Min Values x=-2 y=-7 dx= 0 dy= 0 + Pure Font ascent =23 descent=-7 + X Font ascent =23 descent=-7 + Max Font ascent =26 descent=-7 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_timB24r[5003] U8G_FONT_SECTION("u8g_font_timB24r") = { + 0,38,49,251,244,23,5,149,13,202,32,127,249,26,249,23, + 249,0,0,0,8,0,1,5,23,23,11,3,0,112,248,248, + 248,248,248,248,112,112,112,112,32,32,32,32,0,0,0,112, + 248,248,248,112,11,11,22,19,2,12,96,192,241,224,241,224, + 241,224,241,224,241,224,241,224,96,192,96,192,96,192,96,192, + 16,23,46,17,0,0,3,12,3,12,7,28,7,28,6,24, + 6,24,127,255,127,255,14,56,12,48,12,48,12,48,12,48, + 28,112,255,254,255,254,24,96,24,96,24,96,56,224,56,224, + 48,192,48,192,15,28,56,16,1,253,3,0,3,0,15,232, + 63,248,115,56,99,24,227,8,227,8,243,0,251,0,127,0, + 127,128,63,224,15,240,3,248,3,252,3,124,131,62,131,30, + 131,30,195,28,195,60,243,120,255,224,131,0,3,0,3,0, + 3,0,24,23,69,33,4,0,7,128,32,15,192,224,30,127, + 192,60,32,192,124,33,128,120,33,128,248,99,0,240,71,0, + 240,198,0,240,206,0,241,140,60,127,24,126,60,25,243,0, + 49,225,0,51,193,0,99,193,0,231,195,0,199,130,1,199, + 134,1,135,134,3,3,140,3,3,248,6,1,224,22,23,69, + 28,2,0,1,240,0,3,188,0,7,30,0,7,14,0,15, + 14,0,15,14,0,15,140,0,7,216,0,7,240,0,3,224, + 252,7,240,112,29,240,48,57,248,96,112,252,64,240,252,192, + 240,127,128,248,63,0,248,31,128,252,31,192,254,63,228,127, + 243,252,127,193,252,31,0,120,4,11,11,9,2,12,96,240, + 240,240,240,240,240,96,96,96,96,8,29,29,11,2,250,3, + 6,12,24,24,48,48,112,96,224,224,224,224,224,224,224,224, + 224,224,224,96,112,48,48,24,24,12,6,3,8,29,29,11, + 0,250,192,96,48,24,24,12,12,14,6,7,7,7,7,7, + 7,7,7,7,7,7,6,14,12,12,24,24,48,96,192,13, + 14,28,17,1,9,3,0,7,0,7,0,231,56,242,120,122, + 240,15,128,15,128,122,240,242,120,231,56,7,0,7,0,6, + 0,15,15,30,19,2,0,3,128,3,128,3,128,3,128,3, + 128,3,128,255,254,255,254,255,254,3,128,3,128,3,128,3, + 128,3,128,3,128,6,11,11,8,1,250,56,124,124,124,60, + 12,8,24,48,96,192,8,4,4,11,1,6,255,255,255,255, + 5,5,5,8,1,0,112,248,248,248,112,9,25,50,9,0, + 0,1,128,1,128,1,0,3,0,3,0,3,0,6,0,6, + 0,6,0,4,0,12,0,12,0,12,0,24,0,24,0,24, + 0,48,0,48,0,48,0,48,0,96,0,96,0,96,0,192, + 0,192,0,14,23,46,16,1,0,7,128,31,224,28,224,56, + 112,120,112,120,120,120,120,248,124,248,124,248,124,248,124,248, + 124,248,124,248,124,248,124,248,124,120,120,120,120,120,120,56, + 112,28,224,15,192,7,128,13,23,46,16,2,0,1,128,7, + 128,31,128,255,128,15,128,15,128,15,128,15,128,15,128,15, + 128,15,128,15,128,15,128,15,128,15,128,15,128,15,128,15, + 128,15,128,15,128,15,128,31,192,255,248,16,23,46,16,0, + 0,3,192,15,240,31,248,63,248,48,252,96,124,64,124,0, + 124,0,120,0,120,0,120,0,240,0,224,1,192,1,128,3, + 0,7,1,14,3,28,6,63,254,127,254,255,252,255,252,14, + 23,46,16,1,0,7,192,31,240,63,240,48,248,96,120,64, + 120,0,120,0,112,0,192,3,224,15,240,15,248,3,248,0, + 252,0,124,0,60,0,60,0,60,96,56,240,56,248,112,127, + 192,31,0,14,23,46,16,1,0,0,112,0,240,0,240,1, + 240,3,240,6,240,6,240,12,240,24,240,24,240,48,240,96, + 240,96,240,192,240,255,252,255,252,255,252,255,252,0,240,0, + 240,0,240,0,240,0,240,13,23,46,16,1,0,31,248,31, + 248,31,248,31,248,48,0,48,0,32,0,62,0,127,128,127, + 224,127,240,127,240,3,248,0,248,0,120,0,56,0,56,0, + 56,96,48,240,48,248,96,127,192,31,0,14,23,46,16,1, + 0,0,28,0,240,3,192,7,128,15,0,30,0,62,0,60, + 0,124,0,127,224,253,240,248,248,248,120,248,124,248,124,248, + 124,248,124,120,124,120,120,120,120,56,112,28,224,15,192,13, + 23,46,16,2,0,127,248,127,248,255,248,255,248,192,48,128, + 112,128,112,0,96,0,224,0,224,0,192,1,192,1,192,3, + 128,3,128,3,128,7,0,7,0,7,0,14,0,14,0,14, + 0,28,0,14,23,46,16,1,0,15,224,62,240,60,120,120, + 120,120,56,120,56,124,56,126,112,63,224,63,128,31,192,15, + 224,63,240,113,248,112,252,224,124,224,60,224,60,224,60,240, + 56,120,120,127,240,31,192,14,23,46,16,1,0,15,192,28, + 224,56,112,120,120,120,120,248,120,248,124,248,124,248,124,248, + 124,120,124,124,124,62,252,31,248,0,248,0,240,1,240,1, + 224,3,192,7,128,15,0,60,0,224,0,5,16,16,11,3, + 0,112,248,248,248,112,0,0,0,0,0,0,112,248,248,248, + 112,6,22,22,11,2,250,56,124,124,124,56,0,0,0,0, + 0,0,56,124,124,124,60,12,8,24,48,96,192,16,15,30, + 19,1,0,0,3,0,15,0,127,1,252,15,224,63,128,252, + 0,240,0,252,0,63,128,15,224,1,252,0,127,0,15,0, + 3,15,10,20,19,2,3,255,254,255,254,255,254,0,0,0, + 0,0,0,0,0,255,254,255,254,255,254,16,15,30,19,2, + 0,192,0,240,0,254,0,63,128,7,240,1,252,0,63,0, + 15,0,63,1,252,7,240,63,128,254,0,240,0,192,0,12, + 23,46,16,2,0,63,0,115,192,225,224,225,240,241,240,241, + 240,97,240,1,224,1,224,3,192,3,128,3,0,6,0,4, + 0,4,0,0,0,0,0,0,0,14,0,31,0,31,0,31, + 0,14,0,26,27,108,31,2,251,0,31,224,0,0,252,60, + 0,3,224,14,0,7,128,3,0,15,0,1,0,30,0,1, + 128,62,15,56,128,60,31,248,192,124,124,248,64,120,120,120, + 64,248,248,240,64,248,240,240,64,241,240,240,64,241,240,240, + 64,241,224,240,192,241,225,224,128,241,225,225,128,241,227,227, + 0,113,243,227,0,120,254,254,0,120,120,120,0,60,0,0, + 0,28,0,0,0,14,0,1,128,7,128,7,0,1,224,60, + 0,0,63,224,0,21,23,69,24,1,0,0,32,0,0,96, + 0,0,112,0,0,240,0,0,248,0,0,248,0,1,248,0, + 1,124,0,1,124,0,3,62,0,2,62,0,6,62,0,6, + 31,0,4,31,0,12,15,0,15,255,128,24,15,128,24,7, + 192,16,7,192,48,3,224,48,3,224,112,7,240,252,31,248, + 19,23,69,22,1,0,255,252,0,63,31,0,31,15,128,31, + 7,192,31,7,192,31,7,192,31,7,192,31,7,192,31,7, + 128,31,15,128,31,62,0,31,252,0,31,15,128,31,7,192, + 31,7,224,31,3,224,31,3,224,31,3,224,31,3,224,31, + 3,192,31,7,192,63,15,0,255,252,0,19,23,69,24,2, + 0,1,252,32,7,255,96,15,7,224,30,1,224,60,0,224, + 124,0,96,124,0,96,248,0,32,248,0,0,248,0,0,248, + 0,0,248,0,0,248,0,0,248,0,0,248,0,0,248,0, + 0,124,0,0,124,0,0,60,0,32,30,0,96,15,129,192, + 3,255,128,0,254,0,22,23,69,24,0,0,255,252,0,63, + 255,128,31,7,224,31,1,240,31,1,240,31,0,248,31,0, + 248,31,0,252,31,0,124,31,0,124,31,0,124,31,0,124, + 31,0,124,31,0,124,31,0,124,31,0,248,31,0,248,31, + 0,248,31,1,240,31,1,224,31,7,192,63,255,0,255,252, + 0,21,23,69,22,0,0,255,255,224,63,255,224,31,0,224, + 31,0,96,31,0,96,31,0,32,31,0,32,31,4,0,31, + 4,0,31,12,0,31,28,0,31,252,0,31,28,0,31,12, + 0,31,4,0,31,4,0,31,0,8,31,0,24,31,0,48, + 31,0,112,31,1,240,63,255,224,255,255,224,19,23,69,20, + 0,0,255,255,224,63,255,224,31,0,224,31,0,96,31,0, + 96,31,0,32,31,0,32,31,4,0,31,4,0,31,12,0, + 31,28,0,31,252,0,31,28,0,31,12,0,31,4,0,31, + 4,0,31,0,0,31,0,0,31,0,0,31,0,0,31,0, + 0,63,128,0,255,224,0,22,23,69,25,2,0,1,252,32, + 7,255,96,15,7,224,30,1,224,60,0,224,124,0,96,124, + 0,96,248,0,32,248,0,0,248,0,0,248,0,0,248,0, + 0,248,0,0,248,31,252,248,7,240,248,3,224,124,3,224, + 124,3,224,60,3,224,62,3,224,30,7,224,15,143,224,3, + 255,0,24,23,69,25,0,0,255,231,255,63,129,252,31,0, + 248,31,0,248,31,0,248,31,0,248,31,0,248,31,0,248, + 31,0,248,31,0,248,31,255,248,31,255,248,31,0,248,31, + 0,248,31,0,248,31,0,248,31,0,248,31,0,248,31,0, + 248,31,0,248,31,0,248,63,129,252,255,231,255,11,23,46, + 13,1,0,255,224,63,128,31,0,31,0,31,0,31,0,31, + 0,31,0,31,0,31,0,31,0,31,0,31,0,31,0,31, + 0,31,0,31,0,31,0,31,0,31,0,31,0,63,128,255, + 224,15,26,52,16,0,253,15,254,3,248,1,240,1,240,1, + 240,1,240,1,240,1,240,1,240,1,240,1,240,1,240,1, + 240,1,240,1,240,1,240,1,240,1,240,1,240,97,240,241, + 240,241,240,243,224,227,224,127,192,31,0,24,23,69,25,1, + 0,255,207,252,127,3,224,62,1,192,62,3,128,62,7,0, + 62,14,0,62,28,0,62,56,0,62,112,0,62,224,0,63, + 240,0,63,248,0,63,252,0,62,254,0,62,127,0,62,63, + 128,62,31,192,62,15,224,62,7,240,62,3,248,62,1,252, + 127,0,254,255,195,255,20,23,69,22,1,0,255,224,0,63, + 128,0,31,0,0,31,0,0,31,0,0,31,0,0,31,0, + 0,31,0,0,31,0,0,31,0,0,31,0,0,31,0,0, + 31,0,0,31,0,0,31,0,0,31,0,0,31,0,16,31, + 0,48,31,0,96,31,0,224,31,129,224,63,255,192,255,255, + 192,28,23,92,31,1,0,255,0,15,240,63,0,31,192,31, + 128,31,128,31,128,63,128,23,192,63,128,23,192,47,128,23, + 192,111,128,19,224,79,128,19,224,207,128,19,224,207,128,17, + 240,143,128,17,241,143,128,16,249,15,128,16,251,15,128,16, + 251,15,128,16,126,15,128,16,126,15,128,16,124,15,128,16, + 60,15,128,16,60,15,128,16,24,15,128,56,24,31,192,254, + 24,63,240,22,23,69,24,1,0,254,1,252,127,0,112,63, + 128,32,31,128,32,31,192,32,31,224,32,23,240,32,19,248, + 32,17,248,32,17,252,32,16,254,32,16,127,32,16,63,32, + 16,31,160,16,31,224,16,15,224,16,7,224,16,3,224,16, + 3,224,16,1,224,16,0,224,56,0,96,254,0,32,21,23, + 69,25,2,0,1,252,0,7,255,0,15,143,128,30,3,192, + 60,1,224,124,1,240,120,0,240,248,0,248,248,0,248,248, + 0,248,248,0,248,248,0,248,248,0,248,248,0,248,248,0, + 248,248,0,248,120,0,240,124,1,240,60,1,224,30,3,192, + 15,143,128,7,255,0,1,252,0,19,23,69,20,0,0,255, + 252,0,63,31,128,31,15,192,31,7,192,31,7,224,31,3, + 224,31,3,224,31,3,224,31,3,224,31,7,192,31,7,192, + 31,31,128,31,254,0,31,0,0,31,0,0,31,0,0,31, + 0,0,31,0,0,31,0,0,31,0,0,31,0,0,63,128, + 0,255,224,0,22,27,81,26,2,252,1,252,0,7,255,0, + 15,143,128,30,3,192,60,1,224,124,1,240,120,0,240,248, + 0,248,248,0,248,248,0,248,248,0,248,248,0,248,248,0, + 248,248,0,248,248,0,248,248,0,248,248,0,248,124,1,240, + 124,1,240,62,3,224,31,7,192,7,255,0,1,252,0,0, + 254,0,0,127,132,0,31,248,0,7,224,22,23,69,24,1, + 0,255,252,0,63,31,128,31,7,192,31,7,224,31,3,224, + 31,3,224,31,3,224,31,3,224,31,7,224,31,7,192,31, + 31,128,31,252,0,31,126,0,31,62,0,31,63,0,31,31, + 128,31,31,128,31,15,192,31,7,224,31,7,224,31,3,240, + 63,129,248,255,225,252,15,23,46,18,1,0,15,196,56,124, + 112,60,112,28,240,12,240,12,248,4,252,0,255,0,127,192, + 63,240,31,248,15,252,3,252,1,254,128,126,128,62,192,30, + 192,30,224,28,240,28,248,56,143,224,19,23,69,22,1,0, + 255,255,224,249,243,224,225,240,224,193,240,96,129,240,32,129, + 240,32,129,240,32,1,240,0,1,240,0,1,240,0,1,240, + 0,1,240,0,1,240,0,1,240,0,1,240,0,1,240,0, + 1,240,0,1,240,0,1,240,0,1,240,0,1,240,0,3, + 248,0,15,254,0,23,23,69,24,0,0,255,224,254,63,128, + 56,31,0,16,31,0,16,31,0,16,31,0,16,31,0,16, + 31,0,16,31,0,16,31,0,16,31,0,16,31,0,16,31, + 0,16,31,0,16,31,0,16,31,0,16,31,0,16,31,0, + 16,15,128,48,15,128,96,7,192,192,3,255,128,0,254,0, + 22,23,69,24,1,0,255,195,252,127,0,240,62,0,96,63, + 0,64,31,0,192,31,128,192,15,128,128,15,129,128,15,193, + 0,7,193,0,7,195,0,3,226,0,3,230,0,3,246,0, + 1,244,0,1,252,0,0,248,0,0,248,0,0,248,0,0, + 112,0,0,112,0,0,32,0,0,32,0,32,23,92,33,0, + 0,255,239,255,63,127,3,248,14,63,1,248,12,31,1,248, + 12,31,1,248,8,31,129,252,24,15,129,252,24,15,129,124, + 16,15,195,124,48,7,194,126,48,7,198,62,32,7,230,62, + 96,3,228,62,96,3,236,31,64,3,248,31,192,1,248,31, + 192,1,248,15,128,1,240,15,128,0,240,15,128,0,224,7, + 0,0,224,7,0,0,224,7,0,0,64,2,0,21,23,69, + 24,1,0,255,207,224,127,3,0,63,2,0,31,134,0,31, + 132,0,15,204,0,15,200,0,7,248,0,3,240,0,3,240, + 0,1,248,0,0,248,0,1,252,0,1,124,0,3,62,0, + 2,63,0,6,31,0,4,31,128,12,15,192,8,15,192,24, + 7,224,56,7,240,254,63,248,22,23,69,24,1,0,255,195, + 252,127,0,240,63,0,96,63,0,96,31,128,192,31,128,128, + 15,193,128,15,195,0,7,227,0,3,230,0,3,244,0,1, + 252,0,1,248,0,0,248,0,0,248,0,0,248,0,0,248, + 0,0,248,0,0,248,0,0,248,0,0,248,0,1,252,0, + 7,255,0,19,23,69,22,1,0,63,255,192,126,15,128,120, + 31,128,112,31,0,96,63,0,64,126,0,0,126,0,0,252, + 0,0,252,0,1,248,0,1,240,0,3,240,0,3,224,0, + 7,224,0,7,192,0,15,192,32,31,128,32,31,128,96,63, + 0,96,63,0,224,126,1,224,126,7,192,255,255,192,7,28, + 28,11,2,251,254,240,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,240,254, + 8,26,26,9,0,0,128,192,192,192,96,96,96,96,48,48, + 48,24,24,24,24,12,12,12,4,6,6,6,3,3,3,3, + 7,28,28,11,1,251,254,30,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14, + 30,254,11,13,26,19,4,10,14,0,14,0,31,0,31,0, + 27,0,59,128,59,128,113,192,113,192,97,192,224,224,224,224, + 192,96,16,3,6,16,0,251,255,255,255,255,255,255,7,6, + 6,11,1,17,192,224,112,56,12,2,14,16,32,16,1,0, + 31,128,49,224,112,240,120,240,120,240,48,240,1,240,7,240, + 28,240,56,240,120,240,240,240,249,240,255,244,126,252,60,120, + 17,22,66,18,0,0,252,0,0,124,0,0,60,0,0,60, + 0,0,60,0,0,60,0,0,60,120,0,61,254,0,63,254, + 0,62,31,0,60,31,0,60,15,128,60,15,128,60,15,128, + 60,15,128,60,15,128,60,15,128,60,15,0,60,31,0,62, + 62,0,55,252,0,33,240,0,14,16,32,15,1,0,7,240, + 30,120,60,60,124,60,120,24,248,0,248,0,248,0,248,0, + 248,0,248,0,248,0,124,0,62,24,31,240,15,224,16,22, + 44,18,1,0,0,252,0,124,0,60,0,60,0,60,0,60, + 15,188,63,252,124,60,120,60,248,60,240,60,240,60,240,60, + 240,60,240,60,240,60,240,60,120,60,124,126,63,255,15,184, + 14,16,32,15,0,0,7,192,30,240,60,112,120,56,120,60, + 248,60,248,60,255,252,248,0,248,0,248,0,120,0,124,0, + 62,24,31,240,7,224,12,23,46,11,0,0,7,224,30,112, + 28,240,60,240,60,96,60,0,60,0,255,128,255,128,60,0, + 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0, + 60,0,60,0,60,0,126,0,255,0,14,23,46,16,1,249, + 15,192,61,252,112,252,240,240,240,120,240,120,240,120,240,120, + 120,248,63,240,31,192,60,0,96,0,224,0,255,224,255,248, + 127,252,48,60,96,28,192,12,224,28,127,248,31,224,17,22, + 66,18,0,0,252,0,0,124,0,0,60,0,0,60,0,0, + 60,0,0,60,0,0,60,120,0,61,252,0,63,254,0,62, + 62,0,60,30,0,60,30,0,60,30,0,60,30,0,60,30, + 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, + 126,63,0,255,127,128,8,23,23,9,0,0,24,60,60,60, + 24,0,0,252,124,60,60,60,60,60,60,60,60,60,60,60, + 60,126,255,10,30,60,11,254,249,1,128,3,192,3,192,3, + 192,1,128,0,0,0,0,15,192,7,192,3,192,3,192,3, + 192,3,192,3,192,3,192,3,192,3,192,3,192,3,192,3, + 192,3,192,3,192,3,192,3,192,3,192,99,192,243,192,243, + 128,119,128,62,0,18,22,66,18,0,0,252,0,0,124,0, + 0,60,0,0,60,0,0,60,0,0,60,0,0,60,31,0, + 60,14,0,60,12,0,60,24,0,60,48,0,60,96,0,60, + 192,0,61,192,0,63,224,0,61,240,0,60,248,0,60,124, + 0,60,62,0,60,31,0,126,15,128,255,31,192,8,22,22, + 9,0,0,252,124,60,60,60,60,60,60,60,60,60,60,60, + 60,60,60,60,60,60,60,126,255,26,16,64,27,0,0,252, + 120,60,0,125,254,254,0,63,63,159,0,62,63,31,0,62, + 30,15,0,60,30,15,0,60,30,15,0,60,30,15,0,60, + 30,15,0,60,30,15,0,60,30,15,0,60,30,15,0,60, + 30,15,0,60,30,15,0,126,63,31,128,255,127,191,192,17, + 16,48,18,0,0,252,120,0,125,252,0,63,62,0,62,30, + 0,62,30,0,60,30,0,60,30,0,60,30,0,60,30,0, + 60,30,0,60,30,0,60,30,0,60,30,0,60,30,0,126, + 63,0,255,127,128,14,16,32,17,1,0,15,192,60,240,120, + 120,120,120,240,60,240,60,240,60,240,60,240,60,240,60,240, + 60,240,60,120,120,120,120,60,240,15,192,17,23,69,18,0, + 249,252,248,0,125,254,0,63,31,0,62,15,0,60,15,128, + 60,7,128,60,7,128,60,7,128,60,7,128,60,7,128,60, + 7,128,60,7,128,62,15,0,63,15,0,63,254,0,60,248, + 0,60,0,0,60,0,0,60,0,0,60,0,0,60,0,0, + 126,0,0,255,0,0,16,23,46,18,1,249,15,196,62,236, + 124,60,120,60,248,60,240,60,240,60,240,60,240,60,240,60, + 240,60,240,60,120,60,120,124,63,252,15,60,0,60,0,60, + 0,60,0,60,0,60,0,126,0,255,13,16,32,15,1,0, + 252,112,124,248,63,248,63,120,62,48,60,0,60,0,60,0, + 60,0,60,0,60,0,60,0,60,0,60,0,126,0,255,0, + 10,16,32,13,1,0,31,64,113,192,96,192,224,192,240,64, + 252,0,127,0,127,128,63,128,15,192,3,192,129,192,193,192, + 193,192,227,128,191,0,10,21,42,11,0,0,4,0,12,0, + 28,0,28,0,60,0,127,128,255,128,60,0,60,0,60,0, + 60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,64, + 62,192,63,128,30,0,17,16,48,18,0,0,252,126,0,124, + 62,0,60,30,0,60,30,0,60,30,0,60,30,0,60,30, + 0,60,30,0,60,30,0,60,30,0,60,30,0,60,30,0, + 60,62,0,62,95,0,31,223,128,7,140,0,15,16,32,17, + 0,0,255,62,124,12,60,8,62,24,30,16,31,16,31,48, + 15,32,15,32,7,224,7,192,7,192,3,128,3,128,1,0, + 1,0,23,16,48,24,0,0,255,127,190,126,62,28,60,30, + 8,62,30,24,30,31,16,31,31,48,31,63,48,15,47,160, + 15,231,224,7,231,192,7,199,192,7,195,192,3,131,128,3, + 131,128,1,1,0,1,1,0,16,16,32,17,0,0,255,62, + 126,24,62,24,31,48,31,96,15,192,15,192,7,192,3,224, + 3,224,7,240,13,248,24,248,24,124,48,124,252,255,15,23, + 46,17,0,249,255,190,126,12,62,8,62,8,31,24,31,16, + 15,16,15,176,15,160,7,160,7,224,7,192,3,192,3,192, + 1,128,1,128,1,128,1,0,115,0,243,0,246,0,254,0, + 120,0,12,16,32,15,1,0,255,240,227,240,195,224,135,224, + 135,192,15,128,15,128,31,0,31,0,62,0,62,16,124,16, + 124,48,248,48,248,240,255,240,10,27,54,13,1,252,7,192, + 14,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,28,0,56,0,112,0,224,0,112,0,56,0,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 14,0,7,192,2,30,30,7,3,249,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,10,27,54,13,1,252,248,0, + 28,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, + 14,0,14,0,7,0,3,128,1,192,3,128,7,0,14,0, + 14,0,14,0,14,0,14,0,14,0,14,0,14,0,14,0, + 28,0,248,0,15,8,16,17,1,8,28,0,63,0,127,130, + 255,198,143,254,131,252,1,248,0,112,255}; +/* + Fontname: -Adobe-Times-Medium-R-Normal--11-80-100-100-P-54-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 7, '1' Height: 7 + Calculated Max Values w=11 h=10 x= 1 y= 6 dx=10 dy= 0 ascent=10 len=14 + Font Bounding box w=12 h=17 x=-2 y=-4 + Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 + Pure Font ascent = 7 descent=-2 + X Font ascent = 7 descent=-2 + Max Font ascent =10 descent=-3 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_timR08[2512] U8G_FONT_SECTION("u8g_font_timR08") = { + 0,12,17,254,252,7,1,147,3,56,32,255,254,10,253,7, + 254,0,0,0,2,0,1,1,7,7,3,1,0,128,128,128, + 128,128,0,128,3,2,2,4,0,5,160,160,5,7,7,5, + 0,0,80,80,248,80,248,80,80,4,9,9,5,0,255,32, + 112,144,128,96,16,144,224,32,7,7,7,8,0,0,126,164, + 168,86,42,42,68,8,7,7,8,0,0,48,80,110,116,152, + 141,118,1,2,2,2,0,5,128,128,3,9,9,4,0,254, + 32,64,64,128,128,128,64,64,32,3,9,9,4,0,254,128, + 64,64,32,32,32,64,64,128,3,3,3,5,1,4,160,64, + 160,5,5,5,6,0,0,32,32,248,32,32,2,2,2,3, + 0,255,192,64,3,1,1,4,0,2,224,1,1,1,3,1, + 0,128,3,7,7,3,0,0,32,32,64,64,64,128,128,4, + 7,7,5,0,0,96,144,144,144,144,144,96,3,7,7,5, + 1,0,64,192,64,64,64,64,224,4,7,7,5,0,0,96, + 144,16,32,32,64,240,4,7,7,5,0,0,96,144,16,96, + 16,16,224,5,7,7,5,0,0,16,48,80,144,248,16,16, + 4,7,7,5,0,0,112,64,224,16,16,16,224,4,7,7, + 5,0,0,48,64,224,144,144,144,96,4,7,7,5,0,0, + 240,144,32,32,64,64,64,4,7,7,5,0,0,96,144,144, + 96,144,144,96,4,7,7,5,0,0,96,144,144,144,112,32, + 192,1,5,5,3,1,0,128,0,0,0,128,2,6,6,3, + 0,255,64,0,0,0,192,64,3,5,5,5,1,0,32,64, + 128,64,32,5,3,3,6,0,1,248,0,248,3,5,5,5, + 0,0,128,64,32,64,128,3,7,7,4,0,0,224,160,32, + 64,64,0,64,8,9,9,9,0,254,60,66,157,165,165,173, + 146,64,62,7,7,7,8,0,0,16,56,40,40,124,68,238, + 5,7,7,6,0,0,240,72,72,112,72,72,240,6,7,7, + 7,0,0,124,196,128,128,128,196,120,6,7,7,7,0,0, + 248,76,68,68,68,76,248,5,7,7,6,0,0,248,72,64, + 112,64,72,248,5,7,7,6,0,0,248,72,64,112,64,64, + 224,6,7,7,7,0,0,124,196,128,156,132,196,120,7,7, + 7,8,0,0,238,68,68,124,68,68,238,3,7,7,4,0, + 0,224,64,64,64,64,64,224,4,7,7,4,0,0,112,32, + 32,32,32,160,192,6,7,7,7,0,0,236,72,80,96,80, + 72,236,5,7,7,6,0,0,224,64,64,64,64,72,248,9, + 7,14,10,0,0,227,128,99,0,85,0,85,0,93,0,73, + 0,235,128,7,7,7,8,0,0,238,100,84,84,76,76,228, + 6,7,7,7,0,0,120,204,132,132,132,204,120,5,7,7, + 6,0,0,240,72,72,112,64,64,224,6,9,9,7,0,254, + 120,204,132,132,132,204,112,24,12,6,7,7,7,0,0,240, + 72,72,112,80,72,236,4,7,7,5,0,0,112,144,192,96, + 16,144,224,5,7,7,6,0,0,248,168,32,32,32,32,112, + 7,7,7,8,0,0,238,68,68,68,68,108,56,7,7,7, + 8,0,0,238,68,108,40,40,16,16,11,7,14,10,255,0, + 238,224,68,64,100,192,46,128,42,128,17,0,17,0,7,7, + 7,8,0,0,238,68,40,16,40,68,238,7,7,7,8,0, + 0,238,68,40,56,16,16,56,5,7,7,6,0,0,248,136, + 16,32,64,136,248,2,9,9,3,0,254,192,128,128,128,128, + 128,128,128,192,3,7,7,3,0,0,128,128,64,64,64,32, + 32,2,9,9,3,0,254,192,64,64,64,64,64,64,64,192, + 3,3,3,5,1,4,64,160,160,5,1,1,5,0,253,248, + 2,2,2,3,0,6,128,64,3,5,5,4,0,0,192,32, + 96,160,224,5,7,7,5,255,0,192,64,112,72,72,72,112, + 3,5,5,4,0,0,96,128,128,128,96,5,7,7,5,0, + 0,48,16,112,144,144,144,104,3,5,5,4,0,0,96,160, + 192,128,96,4,7,7,4,0,0,48,64,224,64,64,64,224, + 4,7,7,5,0,254,112,160,160,64,96,144,224,6,7,7, + 5,255,0,192,64,112,72,72,72,108,2,7,7,3,0,0, + 64,0,192,64,64,64,64,3,9,9,3,255,254,32,0,96, + 32,32,32,32,32,192,6,7,7,5,255,0,192,64,72,80, + 112,72,76,3,7,7,4,0,0,192,64,64,64,64,64,224, + 8,5,5,8,0,0,236,146,146,146,219,5,5,5,5,0, + 0,224,144,144,144,216,4,5,5,5,0,0,96,144,144,144, + 96,5,8,8,5,255,253,240,72,72,72,112,64,64,224,5, + 8,8,5,0,253,112,144,144,144,112,16,16,56,3,5,5, + 4,0,0,160,96,64,64,224,3,5,5,4,0,0,96,128, + 64,32,224,4,6,6,4,0,0,64,224,64,64,64,48,5, + 5,5,5,0,0,216,144,144,144,104,6,5,5,5,255,0, + 236,72,40,48,16,9,5,10,8,255,0,237,128,73,0,42, + 0,54,0,20,0,5,5,5,6,0,0,216,80,32,80,216, + 6,7,7,5,255,254,220,72,80,48,32,96,192,4,5,5, + 5,0,0,240,32,64,144,240,3,9,9,4,0,254,32,64, + 64,64,128,64,64,64,32,1,9,9,2,0,254,128,128,128, + 128,128,128,128,128,128,3,9,9,4,0,254,128,64,64,64, + 32,64,64,64,128,6,2,2,7,0,2,100,152,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,255,255,255,255,255,255,255,0,0, + 0,2,0,1,1,7,7,3,1,254,128,0,128,128,128,128, + 128,4,7,7,5,0,255,32,112,144,128,144,96,64,5,7, + 7,5,0,0,48,80,64,224,64,200,240,5,6,6,5,0, + 1,136,112,80,80,112,136,5,7,7,5,0,0,136,80,216, + 32,248,32,112,1,7,7,2,0,0,128,128,128,0,128,128, + 128,4,9,9,5,0,254,112,144,64,160,144,80,32,144,224, + 3,1,1,5,1,5,160,7,7,7,9,1,0,56,68,154, + 162,154,68,56,3,5,5,4,0,2,192,32,160,0,224,4, + 4,4,5,0,1,80,160,160,80,5,2,2,7,1,1,248, + 8,3,1,1,4,0,2,224,7,7,7,9,1,0,56,68, + 186,178,170,68,56,3,1,1,4,0,5,224,4,4,4,4, + 0,3,96,144,144,96,5,7,7,6,0,0,32,32,248,32, + 32,0,248,3,4,4,3,0,3,96,160,64,224,3,4,4, + 3,0,3,224,64,32,192,2,2,2,3,0,5,64,128,5, + 7,7,5,0,254,144,144,144,144,232,128,128,6,9,9,6, + 0,254,124,232,232,232,104,40,40,40,40,1,1,1,2,0, + 2,128,3,3,3,4,0,253,64,32,192,3,4,4,3,0, + 3,64,192,64,224,3,5,5,4,0,2,64,160,64,0,224, + 4,4,4,5,0,1,160,80,80,160,7,7,7,8,0,0, + 68,200,72,244,44,62,68,7,7,7,8,0,0,68,200,72, + 246,42,36,78,7,7,7,8,0,0,228,72,40,212,44,62, + 68,3,7,7,4,0,254,64,0,64,64,128,160,224,7,10, + 10,8,0,0,32,16,0,16,56,40,40,124,68,238,7,10, + 10,8,0,0,8,16,0,16,56,40,40,124,68,238,7,10, + 10,8,0,0,16,40,0,16,56,40,40,124,68,238,7,10, + 10,8,0,0,20,40,0,16,56,40,40,124,68,238,7,9, + 9,8,0,0,40,0,16,56,40,40,124,68,238,7,10,10, + 8,0,0,16,40,16,16,56,40,40,124,68,238,8,7,7, + 9,0,0,31,57,40,46,120,73,239,6,10,10,7,0,253, + 124,196,128,128,128,196,120,32,16,96,5,10,10,6,0,0, + 64,32,0,248,72,64,112,64,72,248,5,10,10,6,0,0, + 16,32,0,248,72,64,112,64,72,248,5,10,10,6,0,0, + 32,80,0,248,72,64,112,64,72,248,5,9,9,6,0,0, + 80,0,248,72,64,112,64,72,248,3,10,10,4,0,0,128, + 64,0,224,64,64,64,64,64,224,3,10,10,4,0,0,32, + 64,0,224,64,64,64,64,64,224,3,10,10,4,0,0,64, + 160,0,224,64,64,64,64,64,224,3,9,9,4,0,0,160, + 0,224,64,64,64,64,64,224,6,7,7,7,0,0,248,76, + 68,228,68,76,248,7,10,10,8,0,0,20,40,0,206,100, + 100,84,84,76,228,6,10,10,7,0,0,32,16,0,120,204, + 132,132,132,204,120,6,10,10,7,0,0,16,32,0,120,204, + 132,132,132,204,120,6,10,10,7,0,0,16,40,0,120,204, + 132,132,132,204,120,6,10,10,7,0,0,40,80,0,120,204, + 132,132,132,204,120,6,9,9,7,0,0,72,0,120,204,132, + 132,132,204,120,5,5,5,6,0,0,136,80,32,80,136,8, + 9,9,8,255,255,1,62,102,74,66,82,102,124,128,7,10, + 10,8,0,0,32,16,0,238,68,68,68,68,108,56,7,10, + 10,8,0,0,8,16,0,238,68,68,68,68,108,56,7,10, + 10,8,0,0,16,40,0,238,68,68,68,68,108,56,7,9, + 9,8,0,0,40,0,238,68,68,68,68,108,56,7,10,10, + 8,0,0,8,16,0,198,68,40,56,16,16,56,5,7,7, + 6,0,0,224,64,112,72,112,64,224,4,7,7,5,0,0, + 32,80,80,96,80,80,224,3,8,8,4,0,0,128,64,0, + 192,32,96,160,224,3,8,8,4,0,0,32,64,0,192,32, + 96,160,224,3,8,8,4,0,0,64,160,0,192,32,96,160, + 224,4,8,8,4,0,0,80,160,0,192,32,96,160,224,3, + 7,7,4,0,0,160,0,192,32,96,160,224,3,8,8,4, + 0,0,64,160,64,192,32,96,160,224,5,5,5,6,0,0, + 216,40,112,160,216,3,8,8,4,0,253,96,128,128,128,96, + 64,32,192,3,8,8,4,0,0,128,64,0,96,160,192,128, + 96,3,8,8,4,0,0,32,64,0,96,160,192,128,96,3, + 8,8,4,0,0,64,160,0,96,160,192,128,96,3,7,7, + 4,0,0,160,0,96,160,192,128,96,2,8,8,3,0,0, + 128,64,0,192,64,64,64,64,3,8,8,3,0,0,32,64, + 0,192,64,64,64,64,3,8,8,3,0,0,64,160,0,192, + 64,64,64,64,3,7,7,3,0,0,160,0,192,64,64,64, + 64,4,8,8,5,0,0,64,112,160,112,144,144,144,96,5, + 8,8,5,0,0,80,160,0,224,144,144,144,216,4,8,8, + 5,0,0,64,32,0,96,144,144,144,96,4,8,8,5,0, + 0,32,64,0,96,144,144,144,96,4,8,8,5,0,0,64, + 160,0,96,144,144,144,96,4,8,8,5,0,0,80,160,0, + 96,144,144,144,96,4,7,7,5,0,0,160,0,96,144,144, + 144,96,5,5,5,6,0,0,32,0,248,0,32,6,7,7, + 5,255,255,4,56,72,72,72,112,128,5,8,8,5,0,0, + 64,32,0,144,144,144,144,104,5,8,8,5,0,0,32,64, + 0,144,144,144,144,104,5,8,8,5,0,0,32,80,0,144, + 144,144,144,104,5,7,7,5,0,0,80,0,144,144,144,144, + 104,6,10,10,5,255,254,16,32,0,220,72,80,48,32,96, + 192,5,10,10,5,255,253,192,64,112,72,72,72,112,64,64, + 224,6,9,9,5,255,254,80,0,220,72,80,48,32,96,192 + }; +/* + Fontname: -Adobe-Times-Medium-R-Normal--11-80-100-100-P-54-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 7, '1' Height: 7 + Calculated Max Values w=11 h= 9 x= 1 y= 6 dx=10 dy= 0 ascent= 8 len=14 + Font Bounding box w=12 h=17 x=-2 y=-4 + Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 + Pure Font ascent = 7 descent=-2 + X Font ascent = 7 descent=-2 + Max Font ascent = 8 descent=-3 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_timR08r[1198] U8G_FONT_SECTION("u8g_font_timR08r") = { + 0,12,17,254,252,7,1,147,3,56,32,127,254,8,253,7, + 254,0,0,0,2,0,1,1,7,7,3,1,0,128,128,128, + 128,128,0,128,3,2,2,4,0,5,160,160,5,7,7,5, + 0,0,80,80,248,80,248,80,80,4,9,9,5,0,255,32, + 112,144,128,96,16,144,224,32,7,7,7,8,0,0,126,164, + 168,86,42,42,68,8,7,7,8,0,0,48,80,110,116,152, + 141,118,1,2,2,2,0,5,128,128,3,9,9,4,0,254, + 32,64,64,128,128,128,64,64,32,3,9,9,4,0,254,128, + 64,64,32,32,32,64,64,128,3,3,3,5,1,4,160,64, + 160,5,5,5,6,0,0,32,32,248,32,32,2,2,2,3, + 0,255,192,64,3,1,1,4,0,2,224,1,1,1,3,1, + 0,128,3,7,7,3,0,0,32,32,64,64,64,128,128,4, + 7,7,5,0,0,96,144,144,144,144,144,96,3,7,7,5, + 1,0,64,192,64,64,64,64,224,4,7,7,5,0,0,96, + 144,16,32,32,64,240,4,7,7,5,0,0,96,144,16,96, + 16,16,224,5,7,7,5,0,0,16,48,80,144,248,16,16, + 4,7,7,5,0,0,112,64,224,16,16,16,224,4,7,7, + 5,0,0,48,64,224,144,144,144,96,4,7,7,5,0,0, + 240,144,32,32,64,64,64,4,7,7,5,0,0,96,144,144, + 96,144,144,96,4,7,7,5,0,0,96,144,144,144,112,32, + 192,1,5,5,3,1,0,128,0,0,0,128,2,6,6,3, + 0,255,64,0,0,0,192,64,3,5,5,5,1,0,32,64, + 128,64,32,5,3,3,6,0,1,248,0,248,3,5,5,5, + 0,0,128,64,32,64,128,3,7,7,4,0,0,224,160,32, + 64,64,0,64,8,9,9,9,0,254,60,66,157,165,165,173, + 146,64,62,7,7,7,8,0,0,16,56,40,40,124,68,238, + 5,7,7,6,0,0,240,72,72,112,72,72,240,6,7,7, + 7,0,0,124,196,128,128,128,196,120,6,7,7,7,0,0, + 248,76,68,68,68,76,248,5,7,7,6,0,0,248,72,64, + 112,64,72,248,5,7,7,6,0,0,248,72,64,112,64,64, + 224,6,7,7,7,0,0,124,196,128,156,132,196,120,7,7, + 7,8,0,0,238,68,68,124,68,68,238,3,7,7,4,0, + 0,224,64,64,64,64,64,224,4,7,7,4,0,0,112,32, + 32,32,32,160,192,6,7,7,7,0,0,236,72,80,96,80, + 72,236,5,7,7,6,0,0,224,64,64,64,64,72,248,9, + 7,14,10,0,0,227,128,99,0,85,0,85,0,93,0,73, + 0,235,128,7,7,7,8,0,0,238,100,84,84,76,76,228, + 6,7,7,7,0,0,120,204,132,132,132,204,120,5,7,7, + 6,0,0,240,72,72,112,64,64,224,6,9,9,7,0,254, + 120,204,132,132,132,204,112,24,12,6,7,7,7,0,0,240, + 72,72,112,80,72,236,4,7,7,5,0,0,112,144,192,96, + 16,144,224,5,7,7,6,0,0,248,168,32,32,32,32,112, + 7,7,7,8,0,0,238,68,68,68,68,108,56,7,7,7, + 8,0,0,238,68,108,40,40,16,16,11,7,14,10,255,0, + 238,224,68,64,100,192,46,128,42,128,17,0,17,0,7,7, + 7,8,0,0,238,68,40,16,40,68,238,7,7,7,8,0, + 0,238,68,40,56,16,16,56,5,7,7,6,0,0,248,136, + 16,32,64,136,248,2,9,9,3,0,254,192,128,128,128,128, + 128,128,128,192,3,7,7,3,0,0,128,128,64,64,64,32, + 32,2,9,9,3,0,254,192,64,64,64,64,64,64,64,192, + 3,3,3,5,1,4,64,160,160,5,1,1,5,0,253,248, + 2,2,2,3,0,6,128,64,3,5,5,4,0,0,192,32, + 96,160,224,5,7,7,5,255,0,192,64,112,72,72,72,112, + 3,5,5,4,0,0,96,128,128,128,96,5,7,7,5,0, + 0,48,16,112,144,144,144,104,3,5,5,4,0,0,96,160, + 192,128,96,4,7,7,4,0,0,48,64,224,64,64,64,224, + 4,7,7,5,0,254,112,160,160,64,96,144,224,6,7,7, + 5,255,0,192,64,112,72,72,72,108,2,7,7,3,0,0, + 64,0,192,64,64,64,64,3,9,9,3,255,254,32,0,96, + 32,32,32,32,32,192,6,7,7,5,255,0,192,64,72,80, + 112,72,76,3,7,7,4,0,0,192,64,64,64,64,64,224, + 8,5,5,8,0,0,236,146,146,146,219,5,5,5,5,0, + 0,224,144,144,144,216,4,5,5,5,0,0,96,144,144,144, + 96,5,8,8,5,255,253,240,72,72,72,112,64,64,224,5, + 8,8,5,0,253,112,144,144,144,112,16,16,56,3,5,5, + 4,0,0,160,96,64,64,224,3,5,5,4,0,0,96,128, + 64,32,224,4,6,6,4,0,0,64,224,64,64,64,48,5, + 5,5,5,0,0,216,144,144,144,104,6,5,5,5,255,0, + 236,72,40,48,16,9,5,10,8,255,0,237,128,73,0,42, + 0,54,0,20,0,5,5,5,6,0,0,216,80,32,80,216, + 6,7,7,5,255,254,220,72,80,48,32,96,192,4,5,5, + 5,0,0,240,32,64,144,240,3,9,9,4,0,254,32,64, + 64,64,128,64,64,64,32,1,9,9,2,0,254,128,128,128, + 128,128,128,128,128,128,3,9,9,4,0,254,128,64,64,64, + 32,64,64,64,128,6,2,2,7,0,2,100,152,255}; +/* + Fontname: -Adobe-Times-Medium-R-Normal--14-100-100-100-P-74-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 10, '1' Height: 10 + Calculated Max Values w=13 h=14 x= 2 y= 8 dx=13 dy= 0 ascent=14 len=28 + Font Bounding box w=17 h=24 x=-2 y=-6 + Calculated Min Values x=-1 y=-3 dx= 0 dy= 0 + Pure Font ascent =10 descent=-3 + X Font ascent =10 descent=-3 + Max Font ascent =14 descent=-3 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_timR10[3359] U8G_FONT_SECTION("u8g_font_timR10") = { + 0,17,24,254,250,10,2,4,4,92,32,255,253,14,253,10, + 253,0,0,0,3,0,1,1,10,10,5,2,0,128,128,128, + 128,128,128,128,0,128,128,3,3,3,6,1,7,160,160,160, + 7,10,10,7,0,0,20,20,126,40,40,40,252,80,80,80, + 5,12,12,7,1,255,32,120,168,160,160,112,40,40,40,168, + 240,32,9,10,20,12,1,0,113,128,223,0,146,0,148,0, + 104,0,11,0,22,128,36,128,68,128,67,0,10,10,20,11, + 1,0,24,0,36,0,36,0,56,0,19,128,121,0,202,0, + 132,0,206,64,115,128,1,3,3,3,1,7,128,128,128,3, + 13,13,5,1,253,32,32,64,64,128,128,128,128,128,64,64, + 32,32,3,13,13,5,1,253,128,128,64,64,32,32,32,32, + 32,64,64,128,128,5,6,6,7,1,4,32,168,112,112,168, + 32,7,7,7,8,0,0,16,16,16,254,16,16,16,2,3, + 3,4,1,254,192,64,128,3,1,1,4,0,3,224,2,1, + 1,4,1,0,192,4,12,12,4,0,254,16,16,16,32,32, + 32,64,64,64,128,128,128,6,10,10,7,1,0,120,204,132, + 132,132,132,132,132,204,120,5,10,10,7,1,0,32,224,32, + 32,32,32,32,32,32,248,5,10,10,7,1,0,112,216,136, + 8,24,16,32,64,136,248,6,10,10,7,0,0,120,140,4, + 8,48,56,4,4,204,120,6,10,10,7,0,0,8,24,24, + 40,104,72,136,252,8,8,5,10,10,7,1,0,120,64,128, + 224,48,24,8,8,144,224,6,10,10,7,0,0,12,16,32, + 64,120,204,132,132,204,120,6,10,10,7,0,0,252,132,8, + 8,16,16,32,32,64,64,5,10,10,7,1,0,112,152,136, + 200,112,152,136,136,136,112,6,10,10,7,1,0,120,204,132, + 132,204,120,8,16,32,192,2,7,7,4,1,0,192,0,0, + 0,0,0,192,2,9,9,4,1,254,192,0,0,0,0,0, + 192,64,128,7,7,7,8,0,0,6,24,96,192,96,24,6, + 7,3,3,8,0,2,254,0,254,7,7,7,8,0,0,192, + 48,12,6,12,48,192,5,10,10,6,0,0,112,136,136,8, + 16,32,32,0,32,32,12,12,24,13,0,254,15,128,48,96, + 96,32,70,144,137,16,145,16,145,16,147,32,205,192,64,0, + 48,192,15,0,9,10,20,11,1,0,8,0,8,0,20,0, + 20,0,34,0,34,0,62,0,65,0,65,0,227,128,7,10, + 10,9,1,0,252,70,66,70,124,70,66,66,70,252,8,10, + 10,10,1,0,61,99,65,129,128,128,128,193,98,60,9,10, + 20,10,0,0,254,0,35,0,33,0,32,128,32,128,32,128, + 32,128,33,0,35,0,254,0,7,10,10,9,1,0,254,66, + 64,68,124,68,64,66,66,254,7,10,10,8,1,0,254,66, + 64,68,124,68,64,64,64,224,9,10,20,11,1,0,61,0, + 99,0,65,0,129,0,128,0,135,128,129,0,193,0,99,0, + 62,0,8,10,10,10,1,0,231,66,66,66,126,66,66,66, + 66,231,3,10,10,5,1,0,224,64,64,64,64,64,64,64, + 64,224,4,10,10,6,1,0,112,32,32,32,32,32,32,32, + 160,192,8,10,10,10,1,0,238,68,72,80,112,80,72,68, + 70,231,7,10,10,9,1,0,224,64,64,64,64,64,64,64, + 66,254,11,10,20,13,1,0,224,224,96,192,81,64,81,64, + 91,64,74,64,74,64,78,64,68,64,228,224,9,10,20,11, + 1,0,227,128,97,0,81,0,89,0,73,0,77,0,69,0, + 69,0,67,0,227,0,8,10,10,10,1,0,60,102,66,129, + 129,129,129,66,102,60,6,10,10,8,1,0,248,76,68,68, + 76,120,64,64,64,224,8,13,13,10,1,253,60,102,66,129, + 129,129,129,66,102,60,8,6,3,9,10,20,9,0,0,252, + 0,38,0,34,0,34,0,38,0,60,0,36,0,34,0,35, + 0,241,128,6,10,10,8,1,0,116,204,132,192,112,24,4, + 132,204,184,7,10,10,9,1,0,254,146,146,16,16,16,16, + 16,16,56,8,10,10,10,1,0,231,66,66,66,66,66,66, + 66,102,60,9,10,20,9,0,0,227,128,65,0,99,0,34, + 0,34,0,54,0,20,0,28,0,8,0,8,0,13,10,20, + 13,0,0,231,56,66,16,98,48,34,32,37,32,53,96,21, + 64,24,192,8,128,8,128,10,10,20,10,0,0,115,128,33, + 0,18,0,18,0,12,0,12,0,18,0,33,0,97,128,243, + 192,9,10,20,9,0,0,227,128,65,0,34,0,34,0,20, + 0,8,0,8,0,8,0,8,0,28,0,8,10,10,8,0, + 0,127,67,2,4,8,16,32,64,193,255,3,13,13,5,1, + 253,224,128,128,128,128,128,128,128,128,128,128,128,224,4,10, + 10,4,0,0,128,128,64,64,64,32,32,32,16,16,3,13, + 13,5,1,253,224,32,32,32,32,32,32,32,32,32,32,32, + 224,5,5,5,7,1,5,32,80,80,136,136,7,1,1,7, + 0,253,254,3,3,3,5,1,8,128,192,32,6,7,7,7, + 1,0,112,200,24,104,136,200,116,6,10,10,7,0,0,192, + 64,64,88,108,68,68,68,76,120,6,7,7,7,1,0,120, + 204,128,128,128,196,120,6,10,10,7,1,0,24,8,8,120, + 200,136,136,136,216,116,6,7,7,7,1,0,112,136,248,128, + 128,196,120,5,10,10,4,0,0,56,96,64,248,64,64,64, + 64,64,240,6,10,10,7,1,253,120,208,136,200,112,64,120, + 132,204,112,7,10,10,7,0,0,192,64,64,88,108,68,68, + 68,68,238,3,10,10,3,0,0,64,64,0,192,64,64,64, + 64,64,224,3,13,13,4,0,253,32,32,0,96,32,32,32, + 32,32,32,32,160,192,7,10,10,7,0,0,192,64,64,76, + 72,112,80,72,76,230,3,10,10,3,0,0,192,64,64,64, + 64,64,64,64,64,224,11,7,14,11,0,0,219,128,110,192, + 68,64,68,64,68,64,68,64,238,224,7,7,7,7,0,0, + 216,108,68,68,68,68,238,5,7,7,7,1,0,112,216,136, + 136,136,216,112,6,10,10,7,0,253,216,108,68,68,68,108, + 88,64,64,224,6,10,10,7,1,253,120,200,136,136,136,216, + 104,8,8,28,5,7,7,5,0,0,184,96,64,64,64,64, + 224,4,7,7,6,1,0,112,144,192,96,48,144,224,4,8, + 8,4,0,0,64,240,64,64,64,64,64,48,7,7,7,7, + 0,0,204,68,68,68,68,108,54,7,7,7,7,0,0,238, + 68,68,40,40,16,16,11,7,14,11,0,0,238,224,68,64, + 68,64,36,128,59,128,17,0,17,0,7,7,7,7,0,0, + 238,68,56,16,56,68,238,7,10,10,7,0,253,238,68,68, + 40,40,16,48,32,160,192,6,7,7,6,0,0,252,136,24, + 48,96,196,252,5,13,13,7,1,253,24,32,32,32,32,64, + 128,64,32,32,32,32,24,1,10,10,3,1,0,128,128,128, + 128,128,128,128,128,128,128,5,13,13,7,1,253,192,32,32, + 32,32,16,8,16,32,32,32,32,192,7,2,2,8,0,3, + 98,156,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,255,255,255,255, + 255,255,255,0,0,0,3,0,1,1,10,10,5,2,253,128, + 128,0,128,128,128,128,128,128,128,6,9,9,7,0,255,4, + 124,204,144,144,160,228,120,128,7,10,10,8,0,0,28,52, + 32,32,248,32,32,32,226,188,5,7,7,7,1,1,136,112, + 136,136,136,112,136,7,10,10,7,0,0,238,68,108,40,124, + 16,124,16,16,56,1,10,10,3,1,0,128,128,128,128,0, + 0,128,128,128,128,5,13,13,7,1,253,56,88,64,96,112, + 152,136,200,112,48,16,208,224,3,2,2,5,1,8,160,160, + 10,10,20,12,1,0,30,0,97,128,78,128,146,64,144,64, + 144,64,146,64,76,128,97,128,30,0,3,6,6,4,0,4, + 224,32,160,224,0,224,6,6,6,7,0,0,36,72,144,144, + 72,36,7,4,4,9,1,2,254,2,2,2,3,1,1,4, + 0,3,224,10,10,20,12,1,0,30,0,97,128,92,128,146, + 64,156,64,148,64,146,64,82,128,97,128,30,0,4,1,1, + 4,0,8,240,4,4,4,6,1,6,96,144,144,96,7,7, + 7,8,0,0,16,16,254,16,16,0,254,4,6,6,4,0, + 4,96,144,16,32,64,240,4,6,6,4,0,4,96,144,32, + 16,144,96,3,3,3,5,1,8,32,96,128,7,10,10,7, + 0,253,204,68,68,68,68,108,118,64,64,96,7,13,13,7, + 0,253,62,116,244,244,244,116,52,20,20,20,20,20,20,1, + 2,2,4,2,3,128,128,3,3,3,5,1,253,64,32,192, + 3,6,6,4,0,4,64,192,64,64,64,224,4,6,6,5, + 0,4,96,144,144,96,0,240,6,6,6,7,1,0,144,72, + 36,36,72,144,10,10,20,10,0,0,65,0,194,0,66,0, + 68,0,68,128,233,128,10,128,20,128,23,192,32,128,10,10, + 20,10,0,0,65,0,194,0,66,0,68,0,69,128,234,64, + 8,64,16,128,17,0,35,192,10,10,20,10,0,0,97,0, + 146,0,34,0,20,0,148,128,105,128,10,128,20,128,23,192, + 32,128,5,10,10,6,0,253,32,32,0,32,32,64,128,136, + 136,112,9,14,28,11,1,0,16,0,24,0,4,0,0,0, + 8,0,8,0,20,0,20,0,34,0,34,0,62,0,65,0, + 65,0,227,128,9,14,28,11,1,0,4,0,12,0,16,0, + 0,0,8,0,8,0,20,0,20,0,34,0,34,0,62,0, + 65,0,65,0,227,128,9,14,28,11,1,0,8,0,28,0, + 34,0,0,0,8,0,8,0,20,0,20,0,34,0,34,0, + 62,0,65,0,65,0,227,128,9,14,28,11,1,0,18,0, + 42,0,36,0,0,0,8,0,8,0,20,0,20,0,34,0, + 34,0,62,0,65,0,65,0,227,128,9,13,26,11,1,0, + 36,0,36,0,0,0,8,0,8,0,20,0,20,0,34,0, + 34,0,62,0,65,0,65,0,227,128,9,14,28,11,1,0, + 24,0,36,0,24,0,0,0,8,0,8,0,20,0,20,0, + 34,0,34,0,62,0,65,0,65,0,227,128,11,10,20,13, + 1,0,31,224,12,32,20,0,20,64,39,192,36,64,60,0, + 68,32,68,32,239,224,8,13,13,10,1,253,61,99,65,129, + 128,128,128,193,98,60,8,4,24,7,14,14,9,1,0,32, + 48,8,0,254,66,64,68,124,68,64,66,66,254,7,14,14, + 9,1,0,4,12,16,0,254,66,64,68,124,68,64,66,66, + 254,7,14,14,9,1,0,16,56,68,0,254,66,64,68,124, + 68,64,66,66,254,7,13,13,9,1,0,36,36,0,254,66, + 64,68,124,68,64,66,66,254,3,14,14,5,1,0,128,192, + 32,0,224,64,64,64,64,64,64,64,64,224,3,14,14,5, + 1,0,32,96,128,0,224,64,64,64,64,64,64,64,64,224, + 5,14,14,5,0,0,32,112,136,0,112,32,32,32,32,32, + 32,32,32,112,3,13,13,5,1,0,160,160,0,224,64,64, + 64,64,64,64,64,64,224,9,10,20,10,0,0,254,0,35, + 0,33,0,32,128,248,128,32,128,32,128,33,0,35,0,254, + 0,9,14,28,11,1,0,18,0,42,0,36,0,0,0,227, + 128,97,0,81,0,89,0,73,0,77,0,69,0,69,0,67, + 0,227,0,8,14,14,10,1,0,32,48,8,0,60,102,66, + 129,129,129,129,66,102,60,8,14,14,10,1,0,4,12,16, + 0,60,102,66,129,129,129,129,66,102,60,8,14,14,10,1, + 0,16,56,68,0,60,102,66,129,129,129,129,66,102,60,8, + 14,14,10,1,0,36,84,72,0,60,102,66,129,129,129,129, + 66,102,60,8,13,13,10,1,0,36,36,0,60,102,66,129, + 129,129,129,66,102,60,7,7,7,8,1,0,130,68,40,16, + 40,68,130,9,12,24,10,0,255,0,128,31,0,49,0,35, + 0,68,128,76,128,72,128,80,128,49,0,99,0,94,0,128, + 0,8,14,14,10,1,0,32,48,8,0,231,66,66,66,66, + 66,66,66,102,60,8,14,14,10,1,0,4,12,16,0,231, + 66,66,66,66,66,66,66,102,60,8,14,14,10,1,0,16, + 56,68,0,231,66,66,66,66,66,66,66,102,60,8,13,13, + 10,1,0,36,36,0,231,66,66,66,66,66,66,66,102,60, + 9,14,28,9,0,0,2,0,6,0,8,0,0,0,227,128, + 65,0,34,0,34,0,20,0,8,0,8,0,8,0,8,0, + 28,0,6,10,10,8,1,0,224,64,120,76,68,68,76,120, + 64,224,6,10,10,7,0,0,56,108,68,72,112,88,76,68, + 84,216,6,11,11,7,1,0,64,96,16,0,112,200,24,104, + 136,200,116,6,11,11,7,1,0,8,24,32,0,112,200,24, + 104,136,200,116,6,11,11,7,1,0,32,112,136,0,112,200, + 24,104,136,200,116,6,11,11,7,1,0,72,168,144,0,112, + 200,24,104,136,200,116,6,10,10,7,1,0,80,80,0,112, + 200,24,104,136,200,116,6,11,11,7,1,0,48,72,48,0, + 112,200,24,104,136,200,116,9,7,14,11,1,0,127,0,201, + 128,31,0,104,0,136,0,204,128,119,0,6,10,10,7,1, + 253,112,200,128,128,128,196,120,32,16,96,6,11,11,7,1, + 0,64,96,16,0,112,136,248,128,128,196,120,6,11,11,7, + 1,0,8,24,32,0,112,136,248,128,128,196,120,6,11,11, + 7,1,0,32,112,136,0,112,136,248,128,128,196,120,6,10, + 10,7,1,0,80,80,0,112,136,248,128,128,196,120,3,11, + 11,3,0,0,128,192,32,0,192,64,64,64,64,64,224,3, + 11,11,3,0,0,32,96,128,0,192,64,64,64,64,64,224, + 5,11,11,3,255,0,32,112,136,0,96,32,32,32,32,32, + 112,3,10,10,3,0,0,160,160,0,192,64,64,64,64,64, + 224,5,10,10,7,1,0,216,96,144,120,216,136,136,136,216, + 112,7,11,11,7,0,0,36,84,72,0,216,108,68,68,68, + 68,238,5,11,11,7,1,0,64,96,16,0,112,216,136,136, + 136,216,112,5,11,11,7,1,0,16,48,64,0,112,216,136, + 136,136,216,112,5,11,11,7,1,0,32,112,136,0,112,216, + 136,136,136,216,112,5,11,11,7,1,0,72,168,144,0,112, + 216,136,136,136,216,112,5,10,10,7,1,0,80,80,0,112, + 216,136,136,136,216,112,7,7,7,8,1,0,16,16,0,254, + 0,16,16,7,9,9,7,0,255,2,60,108,68,68,68,108, + 120,128,7,11,11,7,0,0,32,48,8,0,204,68,68,68, + 68,108,54,7,11,11,7,0,0,8,24,32,0,204,68,68, + 68,68,108,54,7,11,11,7,0,0,16,56,68,0,204,68, + 68,68,68,108,54,7,10,10,7,0,0,40,40,0,204,68, + 68,68,68,108,54,7,14,14,7,0,253,4,12,16,0,238, + 68,68,40,40,16,48,32,160,192,6,13,13,7,0,253,192, + 64,64,88,108,68,68,68,108,88,64,64,224,7,13,13,7, + 0,253,40,40,0,238,68,68,40,40,16,48,32,160,192}; +/* + Fontname: -Adobe-Times-Medium-R-Normal--14-100-100-100-P-74-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 10, '1' Height: 10 + Calculated Max Values w=13 h=13 x= 2 y= 8 dx=13 dy= 0 ascent=11 len=24 + Font Bounding box w=17 h=24 x=-2 y=-6 + Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 + Pure Font ascent =10 descent=-3 + X Font ascent =10 descent=-3 + Max Font ascent =11 descent=-3 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_timR10r[1571] U8G_FONT_SECTION("u8g_font_timR10r") = { + 0,17,24,254,250,10,2,4,4,92,32,127,253,11,253,10, + 253,0,0,0,3,0,1,1,10,10,5,2,0,128,128,128, + 128,128,128,128,0,128,128,3,3,3,6,1,7,160,160,160, + 7,10,10,7,0,0,20,20,126,40,40,40,252,80,80,80, + 5,12,12,7,1,255,32,120,168,160,160,112,40,40,40,168, + 240,32,9,10,20,12,1,0,113,128,223,0,146,0,148,0, + 104,0,11,0,22,128,36,128,68,128,67,0,10,10,20,11, + 1,0,24,0,36,0,36,0,56,0,19,128,121,0,202,0, + 132,0,206,64,115,128,1,3,3,3,1,7,128,128,128,3, + 13,13,5,1,253,32,32,64,64,128,128,128,128,128,64,64, + 32,32,3,13,13,5,1,253,128,128,64,64,32,32,32,32, + 32,64,64,128,128,5,6,6,7,1,4,32,168,112,112,168, + 32,7,7,7,8,0,0,16,16,16,254,16,16,16,2,3, + 3,4,1,254,192,64,128,3,1,1,4,0,3,224,2,1, + 1,4,1,0,192,4,12,12,4,0,254,16,16,16,32,32, + 32,64,64,64,128,128,128,6,10,10,7,1,0,120,204,132, + 132,132,132,132,132,204,120,5,10,10,7,1,0,32,224,32, + 32,32,32,32,32,32,248,5,10,10,7,1,0,112,216,136, + 8,24,16,32,64,136,248,6,10,10,7,0,0,120,140,4, + 8,48,56,4,4,204,120,6,10,10,7,0,0,8,24,24, + 40,104,72,136,252,8,8,5,10,10,7,1,0,120,64,128, + 224,48,24,8,8,144,224,6,10,10,7,0,0,12,16,32, + 64,120,204,132,132,204,120,6,10,10,7,0,0,252,132,8, + 8,16,16,32,32,64,64,5,10,10,7,1,0,112,152,136, + 200,112,152,136,136,136,112,6,10,10,7,1,0,120,204,132, + 132,204,120,8,16,32,192,2,7,7,4,1,0,192,0,0, + 0,0,0,192,2,9,9,4,1,254,192,0,0,0,0,0, + 192,64,128,7,7,7,8,0,0,6,24,96,192,96,24,6, + 7,3,3,8,0,2,254,0,254,7,7,7,8,0,0,192, + 48,12,6,12,48,192,5,10,10,6,0,0,112,136,136,8, + 16,32,32,0,32,32,12,12,24,13,0,254,15,128,48,96, + 96,32,70,144,137,16,145,16,145,16,147,32,205,192,64,0, + 48,192,15,0,9,10,20,11,1,0,8,0,8,0,20,0, + 20,0,34,0,34,0,62,0,65,0,65,0,227,128,7,10, + 10,9,1,0,252,70,66,70,124,70,66,66,70,252,8,10, + 10,10,1,0,61,99,65,129,128,128,128,193,98,60,9,10, + 20,10,0,0,254,0,35,0,33,0,32,128,32,128,32,128, + 32,128,33,0,35,0,254,0,7,10,10,9,1,0,254,66, + 64,68,124,68,64,66,66,254,7,10,10,8,1,0,254,66, + 64,68,124,68,64,64,64,224,9,10,20,11,1,0,61,0, + 99,0,65,0,129,0,128,0,135,128,129,0,193,0,99,0, + 62,0,8,10,10,10,1,0,231,66,66,66,126,66,66,66, + 66,231,3,10,10,5,1,0,224,64,64,64,64,64,64,64, + 64,224,4,10,10,6,1,0,112,32,32,32,32,32,32,32, + 160,192,8,10,10,10,1,0,238,68,72,80,112,80,72,68, + 70,231,7,10,10,9,1,0,224,64,64,64,64,64,64,64, + 66,254,11,10,20,13,1,0,224,224,96,192,81,64,81,64, + 91,64,74,64,74,64,78,64,68,64,228,224,9,10,20,11, + 1,0,227,128,97,0,81,0,89,0,73,0,77,0,69,0, + 69,0,67,0,227,0,8,10,10,10,1,0,60,102,66,129, + 129,129,129,66,102,60,6,10,10,8,1,0,248,76,68,68, + 76,120,64,64,64,224,8,13,13,10,1,253,60,102,66,129, + 129,129,129,66,102,60,8,6,3,9,10,20,9,0,0,252, + 0,38,0,34,0,34,0,38,0,60,0,36,0,34,0,35, + 0,241,128,6,10,10,8,1,0,116,204,132,192,112,24,4, + 132,204,184,7,10,10,9,1,0,254,146,146,16,16,16,16, + 16,16,56,8,10,10,10,1,0,231,66,66,66,66,66,66, + 66,102,60,9,10,20,9,0,0,227,128,65,0,99,0,34, + 0,34,0,54,0,20,0,28,0,8,0,8,0,13,10,20, + 13,0,0,231,56,66,16,98,48,34,32,37,32,53,96,21, + 64,24,192,8,128,8,128,10,10,20,10,0,0,115,128,33, + 0,18,0,18,0,12,0,12,0,18,0,33,0,97,128,243, + 192,9,10,20,9,0,0,227,128,65,0,34,0,34,0,20, + 0,8,0,8,0,8,0,8,0,28,0,8,10,10,8,0, + 0,127,67,2,4,8,16,32,64,193,255,3,13,13,5,1, + 253,224,128,128,128,128,128,128,128,128,128,128,128,224,4,10, + 10,4,0,0,128,128,64,64,64,32,32,32,16,16,3,13, + 13,5,1,253,224,32,32,32,32,32,32,32,32,32,32,32, + 224,5,5,5,7,1,5,32,80,80,136,136,7,1,1,7, + 0,253,254,3,3,3,5,1,8,128,192,32,6,7,7,7, + 1,0,112,200,24,104,136,200,116,6,10,10,7,0,0,192, + 64,64,88,108,68,68,68,76,120,6,7,7,7,1,0,120, + 204,128,128,128,196,120,6,10,10,7,1,0,24,8,8,120, + 200,136,136,136,216,116,6,7,7,7,1,0,112,136,248,128, + 128,196,120,5,10,10,4,0,0,56,96,64,248,64,64,64, + 64,64,240,6,10,10,7,1,253,120,208,136,200,112,64,120, + 132,204,112,7,10,10,7,0,0,192,64,64,88,108,68,68, + 68,68,238,3,10,10,3,0,0,64,64,0,192,64,64,64, + 64,64,224,3,13,13,4,0,253,32,32,0,96,32,32,32, + 32,32,32,32,160,192,7,10,10,7,0,0,192,64,64,76, + 72,112,80,72,76,230,3,10,10,3,0,0,192,64,64,64, + 64,64,64,64,64,224,11,7,14,11,0,0,219,128,110,192, + 68,64,68,64,68,64,68,64,238,224,7,7,7,7,0,0, + 216,108,68,68,68,68,238,5,7,7,7,1,0,112,216,136, + 136,136,216,112,6,10,10,7,0,253,216,108,68,68,68,108, + 88,64,64,224,6,10,10,7,1,253,120,200,136,136,136,216, + 104,8,8,28,5,7,7,5,0,0,184,96,64,64,64,64, + 224,4,7,7,6,1,0,112,144,192,96,48,144,224,4,8, + 8,4,0,0,64,240,64,64,64,64,64,48,7,7,7,7, + 0,0,204,68,68,68,68,108,54,7,7,7,7,0,0,238, + 68,68,40,40,16,16,11,7,14,11,0,0,238,224,68,64, + 68,64,36,128,59,128,17,0,17,0,7,7,7,7,0,0, + 238,68,56,16,56,68,238,7,10,10,7,0,253,238,68,68, + 40,40,16,48,32,160,192,6,7,7,6,0,0,252,136,24, + 48,96,196,252,5,13,13,7,1,253,24,32,32,32,32,64, + 128,64,32,32,32,32,24,1,10,10,3,1,0,128,128,128, + 128,128,128,128,128,128,128,5,13,13,7,1,253,192,32,32, + 32,32,16,8,16,32,32,32,32,192,7,2,2,8,0,3, + 98,156,255}; +/* + Fontname: -Adobe-Times-Medium-R-Normal--17-120-100-100-P-84-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 11, '1' Height: 11 + Calculated Max Values w=15 h=16 x= 2 y= 9 dx=16 dy= 0 ascent=15 len=30 + Font Bounding box w=19 h=26 x=-2 y=-7 + Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 + Pure Font ascent =11 descent=-4 + X Font ascent =11 descent=-4 + Max Font ascent =15 descent=-4 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_timR12[3905] U8G_FONT_SECTION("u8g_font_timR12") = { + 0,19,26,254,249,11,2,36,5,11,32,255,252,15,252,11, + 252,0,0,0,4,0,1,1,11,11,5,2,0,128,128,128, + 128,128,128,128,0,0,128,128,4,3,3,7,1,8,144,144, + 144,8,11,11,8,0,0,18,18,18,127,36,36,254,72,72, + 72,72,7,13,13,8,0,255,16,124,146,146,144,80,56,20, + 18,146,146,124,16,11,11,22,14,1,0,57,0,79,0,139, + 0,138,0,150,0,100,224,13,32,10,32,26,32,18,64,17, + 128,12,11,22,13,0,0,12,0,18,0,18,0,18,0,12, + 224,56,64,68,128,131,0,130,16,69,32,56,192,1,3,3, + 3,1,8,128,128,128,4,14,14,5,0,253,16,32,64,64, + 128,128,128,128,128,128,64,64,32,16,4,14,14,5,255,253, + 128,64,32,32,16,16,16,16,16,16,32,32,64,128,5,6, + 6,8,1,5,32,168,112,112,168,32,7,7,7,9,1,1, + 16,16,16,254,16,16,16,2,3,3,4,1,255,64,64,128, + 4,1,1,5,0,4,240,1,2,2,4,1,0,128,128,5, + 13,13,5,0,254,8,8,8,16,16,32,32,32,64,64,64, + 128,128,7,11,11,8,0,0,56,68,68,130,130,130,130,130, + 68,68,56,4,11,11,8,1,0,32,96,160,32,32,32,32, + 32,32,32,112,7,11,11,8,0,0,56,68,130,2,2,4, + 8,16,32,66,252,7,11,11,8,0,0,56,68,132,8,16, + 56,4,2,2,196,120,8,11,11,8,255,0,2,6,10,10, + 18,34,34,66,255,2,2,7,11,11,8,0,0,62,32,32, + 64,120,4,2,2,2,140,112,7,11,11,8,0,0,14,48, + 64,64,152,228,130,130,130,68,56,7,11,11,8,0,0,254, + 130,132,4,8,8,16,16,16,32,32,6,11,11,8,0,0, + 48,72,132,132,72,48,72,132,132,72,48,7,11,11,8,0, + 0,56,68,130,130,130,70,58,4,4,24,224,1,8,8,4, + 1,0,128,128,0,0,0,0,128,128,2,9,9,4,0,255, + 64,64,0,0,0,0,64,64,128,8,9,9,9,0,0,3, + 12,16,96,128,96,16,12,3,7,4,4,9,0,2,254,0, + 0,254,8,9,9,9,1,0,192,48,8,6,1,6,8,48, + 192,5,11,11,7,1,0,112,136,136,8,16,32,32,0,0, + 32,32,14,14,28,15,0,253,7,192,24,48,32,8,65,168, + 70,100,132,68,136,68,136,68,136,200,137,72,70,48,32,0, + 24,48,7,192,12,11,22,12,0,0,4,0,6,0,10,0, + 11,0,17,0,17,128,32,128,63,128,64,192,64,64,224,240, + 8,11,11,11,1,0,252,70,66,66,68,124,70,65,65,67, + 254,10,11,22,11,0,0,31,64,96,192,64,64,128,64,128, + 0,128,0,128,0,128,0,64,64,97,128,30,0,10,11,22, + 12,0,0,252,0,67,0,64,128,64,64,64,64,64,64,64, + 64,64,64,64,128,67,0,252,0,9,11,22,10,0,0,255, + 0,65,0,64,0,64,0,66,0,126,0,66,0,64,0,64, + 0,64,128,255,0,8,11,11,9,0,0,255,65,64,64,66, + 126,66,64,64,64,224,11,11,22,12,0,0,15,64,48,192, + 64,64,128,0,128,0,129,224,128,64,128,64,64,64,48,192, + 15,0,10,11,22,12,0,0,225,192,64,128,64,128,64,128, + 64,128,127,128,64,128,64,128,64,128,64,128,225,192,3,11, + 11,5,0,0,224,64,64,64,64,64,64,64,64,64,224,5, + 11,11,6,0,0,56,16,16,16,16,16,16,16,144,144,96, + 10,11,22,12,1,0,243,192,65,0,66,0,68,0,72,0, + 112,0,72,0,68,0,66,0,65,0,243,192,8,11,11,10, + 0,0,224,64,64,64,64,64,64,64,64,65,254,13,11,22, + 15,0,0,224,56,96,48,80,80,80,80,72,144,72,144,72, + 144,69,16,69,16,66,16,226,56,10,11,22,12,0,0,225, + 192,96,128,80,128,80,128,72,128,72,128,68,128,66,128,66, + 128,65,128,240,128,9,11,22,12,1,0,28,0,99,0,65, + 0,128,128,128,128,128,128,128,128,128,128,65,0,99,0,28, + 0,8,11,11,9,0,0,252,66,65,65,66,124,64,64,64, + 64,224,10,14,28,12,1,253,28,0,99,0,65,0,128,128, + 128,128,128,128,128,128,128,128,65,0,99,0,60,0,12,0, + 6,0,1,192,10,11,22,11,0,0,252,0,66,0,65,0, + 65,0,66,0,124,0,72,0,68,0,66,0,65,0,225,192, + 8,11,11,9,0,0,58,70,130,128,96,28,2,1,129,194, + 188,9,11,22,10,0,0,255,128,136,128,136,128,8,0,8, + 0,8,0,8,0,8,0,8,0,8,0,28,0,10,11,22, + 12,0,0,225,192,64,128,64,128,64,128,64,128,64,128,64, + 128,64,128,64,128,33,0,30,0,11,11,22,12,0,0,224, + 224,64,64,32,128,32,128,17,0,17,0,17,0,10,0,10, + 0,4,0,4,0,15,11,22,16,0,0,231,14,66,4,33, + 8,33,8,17,136,18,144,18,144,10,80,10,80,4,32,4, + 32,11,11,22,12,0,0,224,224,64,64,32,128,17,0,10, + 0,4,0,10,0,17,0,32,128,64,64,224,224,11,11,22, + 12,0,0,224,224,64,64,32,128,17,0,17,0,10,0,4, + 0,4,0,4,0,4,0,14,0,9,11,22,10,0,0,255, + 128,129,0,130,0,4,0,4,0,8,0,16,0,32,0,32, + 0,64,128,255,0,3,14,14,5,1,253,224,128,128,128,128, + 128,128,128,128,128,128,128,128,224,6,11,11,5,255,0,128, + 64,64,32,32,16,16,8,8,4,4,3,14,14,5,0,253, + 224,32,32,32,32,32,32,32,32,32,32,32,32,224,7,7, + 7,8,0,4,16,40,40,68,68,130,130,8,1,1,8,0, + 254,255,3,3,3,6,1,8,128,64,32,7,8,8,7,1, + 0,112,136,136,56,200,136,154,108,7,11,11,8,0,0,64, + 192,64,92,100,66,66,66,66,100,56,6,8,8,7,0,0, + 56,68,132,128,128,128,68,56,7,11,11,8,0,0,4,12, + 4,52,76,132,132,132,132,78,52,6,8,8,7,0,0,56, + 68,132,252,128,128,68,56,5,11,11,6,1,0,48,72,64, + 64,240,64,64,64,64,64,240,7,12,12,8,0,252,54,76, + 132,132,72,112,128,124,130,130,196,120,8,11,11,8,0,0, + 64,192,64,92,102,66,66,66,66,66,231,3,11,11,5,1, + 0,64,64,0,64,192,64,64,64,64,64,224,3,15,15,4, + 0,252,32,32,0,32,96,32,32,32,32,32,32,32,32,160, + 192,7,11,11,8,1,0,64,192,64,92,72,80,96,80,72, + 68,238,3,11,11,5,1,0,64,192,64,64,64,64,64,64, + 64,64,224,11,8,16,13,1,0,89,128,230,64,68,64,68, + 64,68,64,68,64,68,64,238,224,8,8,8,8,0,0,92, + 230,66,66,66,66,66,231,7,8,8,8,0,0,56,68,130, + 130,130,130,68,56,7,12,12,8,0,252,92,230,66,66,66, + 66,98,92,64,64,64,224,7,12,12,8,1,252,116,204,132, + 132,132,132,204,116,4,4,4,14,5,8,8,6,0,0,88, + 232,64,64,64,64,64,224,5,8,8,6,0,0,120,136,128, + 112,8,136,200,176,4,10,10,5,0,0,64,64,240,64,64, + 64,64,64,80,32,8,8,8,8,0,0,198,66,66,66,66, + 66,71,58,8,8,8,8,0,0,231,66,66,36,36,20,24, + 8,12,8,16,12,0,0,238,112,68,32,68,32,34,64,34, + 64,21,64,8,128,8,128,7,8,8,8,0,0,238,68,40, + 16,40,40,68,238,8,12,12,8,0,252,247,66,66,36,36, + 20,8,8,16,16,160,192,6,8,8,7,0,0,252,132,8, + 16,32,64,132,252,4,14,14,8,2,253,48,64,64,64,64, + 64,128,64,64,64,64,64,64,48,1,11,11,3,0,0,128, + 128,128,128,128,128,128,128,128,128,128,4,14,14,8,0,253, + 192,32,32,32,32,32,16,32,32,32,32,32,32,192,8,3, + 3,9,0,3,113,153,142,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,255,255,255,255,255,255,255,0,0,0,4,0,1,1,11, + 11,5,2,253,128,128,0,0,128,128,128,128,128,128,128,7, + 12,12,8,0,254,4,4,60,74,138,136,144,146,84,56,32, + 32,8,11,11,8,0,0,12,18,34,32,32,252,16,16,113, + 145,110,8,9,9,8,0,1,153,102,66,129,129,129,66,102, + 153,9,11,22,8,255,0,227,128,65,0,34,0,20,0,8, + 0,62,0,8,0,62,0,8,0,8,0,28,0,1,11,11, + 3,0,0,128,128,128,128,128,0,128,128,128,128,128,7,14, + 14,8,0,253,56,68,76,32,80,136,132,66,34,20,8,100, + 68,56,4,2,2,6,1,9,144,144,11,11,22,13,0,0, + 14,0,49,128,64,64,78,64,145,32,144,32,144,32,81,64, + 78,64,49,128,14,0,4,6,6,5,0,5,96,16,112,144, + 80,240,7,7,7,8,0,0,18,36,72,144,72,36,18,8, + 5,5,9,0,0,255,1,1,1,1,4,1,1,5,0,4, + 240,11,11,22,13,0,0,14,0,49,128,64,64,78,64,137, + 32,142,32,138,32,74,64,73,64,49,128,14,0,5,1,1, + 6,0,9,248,5,5,5,7,1,6,112,136,136,136,112,7, + 9,9,9,1,0,16,16,16,254,16,16,16,0,254,5,7, + 7,5,0,4,112,136,8,16,32,72,248,6,7,7,5,255, + 4,56,68,4,24,4,132,120,3,3,3,6,2,8,32,64, + 128,8,11,11,8,0,253,198,66,66,66,66,66,71,122,64, + 64,64,7,15,15,8,0,252,62,116,244,244,244,116,52,20, + 20,20,20,20,20,20,20,1,2,2,4,1,4,128,128,4, + 4,4,6,0,252,32,112,16,224,3,7,7,5,1,4,64, + 192,64,64,64,64,224,4,6,6,5,0,5,96,144,144,144, + 96,240,7,7,7,8,0,0,144,72,36,18,36,72,144,11, + 11,22,13,1,0,64,128,193,0,67,0,66,0,68,64,76, + 192,233,64,25,64,18,64,39,224,64,64,12,11,22,13,0, + 0,64,128,193,0,67,0,66,0,68,224,77,16,232,16,24, + 32,16,64,32,144,65,240,13,11,22,13,255,0,56,32,68, + 64,4,192,24,128,5,16,135,48,122,80,6,80,4,144,9, + 248,8,16,5,11,11,7,1,253,32,32,0,0,32,32,64, + 128,136,136,112,12,15,30,12,0,0,8,0,4,0,2,0, + 0,0,4,0,6,0,10,0,11,0,17,0,17,128,32,128, + 63,128,64,192,64,64,224,240,12,15,30,12,0,0,1,0, + 2,0,4,0,0,0,4,0,6,0,10,0,11,0,17,0, + 17,128,32,128,63,128,64,192,64,64,224,240,12,15,30,12, + 0,0,4,0,10,0,17,0,0,0,4,0,6,0,10,0, + 11,0,17,0,17,128,32,128,63,128,64,192,64,64,224,240, + 12,14,28,12,0,0,13,0,22,0,0,0,4,0,6,0, + 10,0,11,0,17,0,17,128,32,128,63,128,64,192,64,64, + 224,240,12,14,28,12,0,0,9,0,9,0,0,0,4,0, + 6,0,10,0,11,0,17,0,17,128,32,128,63,128,64,192, + 64,64,224,240,12,14,28,12,0,0,6,0,9,0,9,0, + 6,0,6,0,10,0,11,0,17,0,17,128,32,128,63,128, + 64,192,64,64,224,240,14,11,22,15,0,0,7,248,3,8, + 5,8,9,0,9,16,17,240,31,16,33,0,33,0,65,4, + 243,248,10,15,30,11,0,252,15,64,48,192,64,64,128,64, + 128,0,128,0,128,0,128,0,64,64,49,128,14,0,4,0, + 14,0,2,0,28,0,9,15,30,10,0,0,32,0,16,0, + 8,0,0,0,255,0,65,0,64,0,64,0,66,0,126,0, + 66,0,64,0,64,0,64,128,255,0,9,15,30,10,0,0, + 2,0,4,0,8,0,0,0,255,0,65,0,65,0,64,0, + 66,0,126,0,66,0,64,0,64,0,64,128,255,0,9,15, + 30,10,0,0,8,0,20,0,34,0,0,0,255,0,65,0, + 64,0,64,0,66,0,126,0,66,0,64,0,64,0,64,128, + 255,0,9,14,28,10,0,0,36,0,36,0,0,0,255,0, + 65,0,64,0,64,0,66,0,126,0,66,0,64,0,64,0, + 64,128,255,0,4,15,15,5,255,0,128,64,32,0,112,32, + 32,32,32,32,32,32,32,32,112,5,15,15,5,0,0,8, + 16,32,0,224,64,64,64,64,64,64,64,64,64,224,5,15, + 15,5,255,0,32,80,136,0,112,32,32,32,32,32,32,32, + 32,32,112,3,14,14,5,0,0,160,160,0,224,64,64,64, + 64,64,64,64,64,64,224,10,11,22,12,1,0,252,0,67, + 0,64,128,64,64,64,64,248,64,64,64,64,64,64,128,67, + 0,252,0,10,14,28,12,0,0,13,0,22,0,0,0,225, + 192,96,128,80,128,80,128,72,128,72,128,68,128,66,128,66, + 128,65,128,240,128,9,15,30,12,1,0,32,0,16,0,8, + 0,0,0,28,0,99,0,65,0,128,128,128,128,128,128,128, + 128,128,128,65,0,99,0,28,0,9,15,30,12,1,0,2, + 0,4,0,8,0,0,0,28,0,99,0,65,0,128,128,128, + 128,128,128,128,128,128,128,65,0,99,0,28,0,9,15,30, + 12,1,0,8,0,20,0,34,0,0,0,28,0,99,0,65, + 0,128,128,128,128,128,128,128,128,128,128,65,0,99,0,28, + 0,9,14,28,12,1,0,26,0,44,0,0,0,28,0,99, + 0,65,0,128,128,128,128,128,128,128,128,128,128,65,0,99, + 0,28,0,9,14,28,12,1,0,34,0,34,0,0,0,28, + 0,99,0,65,0,128,128,128,128,128,128,128,128,128,128,65, + 0,99,0,28,0,7,7,7,9,1,0,130,68,40,16,40, + 68,130,11,13,26,12,0,255,0,64,14,64,49,128,65,64, + 130,32,132,32,132,32,136,32,144,32,80,64,49,128,78,0, + 64,0,10,15,30,12,0,0,16,0,8,0,4,0,0,0, + 225,192,64,128,64,128,64,128,64,128,64,128,64,128,64,128, + 64,128,33,0,30,0,10,15,30,12,0,0,1,0,2,0, + 4,0,0,0,225,192,64,128,64,128,64,128,64,128,64,128, + 64,128,64,128,64,128,33,0,30,0,10,15,30,12,0,0, + 4,0,10,0,17,0,0,0,225,192,64,128,64,128,64,128, + 64,128,64,128,64,128,64,128,64,128,33,0,30,0,10,14, + 28,12,0,0,18,0,18,0,0,0,225,192,64,128,64,128, + 64,128,64,128,64,128,64,128,64,128,64,128,33,0,30,0, + 11,15,30,12,0,0,0,128,1,0,2,0,0,0,224,224, + 64,64,32,128,17,0,17,0,10,0,4,0,4,0,4,0, + 4,0,14,0,8,11,11,9,0,0,224,64,124,66,65,65, + 66,124,64,64,224,7,11,11,8,0,0,56,68,68,68,72, + 88,68,66,66,82,204,7,12,12,7,1,0,64,32,16,0, + 112,136,136,56,200,136,154,100,7,12,12,7,1,0,8,16, + 32,0,112,136,136,56,200,136,154,100,7,12,12,7,1,0, + 32,80,136,0,112,136,136,56,200,136,154,100,7,11,11,7, + 1,0,104,176,0,112,136,136,56,200,136,154,100,7,11,11, + 7,1,0,72,72,0,112,136,136,56,200,136,154,100,7,12, + 12,7,1,0,32,80,80,32,112,136,136,56,200,136,154,100, + 9,8,16,11,1,0,115,0,140,128,136,128,63,128,200,0, + 136,0,156,128,99,0,6,12,12,7,0,252,56,68,132,128, + 128,128,68,56,16,56,8,112,6,12,12,7,0,0,64,32, + 16,0,56,68,132,252,128,128,68,56,6,12,12,7,0,0, + 4,8,16,0,56,68,132,252,128,128,68,56,6,12,12,7, + 0,0,16,40,68,0,56,68,132,252,128,128,68,56,6,11, + 11,7,0,0,72,72,0,56,68,132,252,128,128,68,56,3, + 12,12,5,0,0,128,64,32,0,64,192,64,64,64,64,64, + 224,3,12,12,5,0,0,32,64,128,0,64,192,64,64,64, + 64,64,224,5,12,12,5,255,0,32,80,136,0,32,96,32, + 32,32,32,32,112,3,11,11,5,0,0,160,160,0,64,192, + 64,64,64,64,64,224,7,11,11,8,0,0,108,48,200,60, + 68,130,130,130,130,68,56,8,11,11,8,255,0,52,88,0, + 92,230,66,66,66,66,66,231,7,12,12,8,0,0,32,16, + 8,0,56,68,130,130,130,130,68,56,7,12,12,8,0,0, + 4,8,16,0,56,68,130,130,130,130,68,56,7,12,12,8, + 0,0,16,40,68,0,56,68,130,130,130,130,68,56,7,11, + 11,8,0,0,52,88,0,56,68,130,130,130,130,68,56,7, + 11,11,8,0,0,72,72,0,56,68,130,130,130,130,68,56, + 9,9,18,9,255,0,8,0,8,0,0,0,0,0,255,128, + 0,0,0,0,8,0,8,0,7,12,12,8,0,254,2,2, + 60,68,138,146,146,162,100,56,64,64,8,12,12,8,255,0, + 32,16,8,0,198,66,66,66,66,66,70,59,8,12,12,8, + 255,0,4,8,16,0,198,66,66,66,66,66,70,59,8,12, + 12,8,255,0,16,40,68,0,198,66,66,66,66,66,70,59, + 8,11,11,8,255,0,36,36,0,198,66,66,66,66,66,70, + 59,8,16,16,8,255,252,2,4,8,0,247,66,66,36,36, + 20,8,8,16,16,160,192,8,15,15,8,255,252,64,192,64, + 92,98,65,65,65,65,98,92,64,64,64,224,8,15,15,8, + 255,252,36,36,0,247,66,98,36,52,20,24,8,16,16,160, + 192}; +/* + Fontname: -Adobe-Times-Medium-R-Normal--17-120-100-100-P-84-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 11, '1' Height: 11 + Calculated Max Values w=15 h=15 x= 2 y= 8 dx=16 dy= 0 ascent=12 len=28 + Font Bounding box w=19 h=26 x=-2 y=-7 + Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 + Pure Font ascent =11 descent=-4 + X Font ascent =11 descent=-4 + Max Font ascent =12 descent=-4 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_timR12r[1784] U8G_FONT_SECTION("u8g_font_timR12r") = { + 0,19,26,254,249,11,2,36,5,11,32,127,252,12,252,11, + 252,0,0,0,4,0,1,1,11,11,5,2,0,128,128,128, + 128,128,128,128,0,0,128,128,4,3,3,7,1,8,144,144, + 144,8,11,11,8,0,0,18,18,18,127,36,36,254,72,72, + 72,72,7,13,13,8,0,255,16,124,146,146,144,80,56,20, + 18,146,146,124,16,11,11,22,14,1,0,57,0,79,0,139, + 0,138,0,150,0,100,224,13,32,10,32,26,32,18,64,17, + 128,12,11,22,13,0,0,12,0,18,0,18,0,18,0,12, + 224,56,64,68,128,131,0,130,16,69,32,56,192,1,3,3, + 3,1,8,128,128,128,4,14,14,5,0,253,16,32,64,64, + 128,128,128,128,128,128,64,64,32,16,4,14,14,5,255,253, + 128,64,32,32,16,16,16,16,16,16,32,32,64,128,5,6, + 6,8,1,5,32,168,112,112,168,32,7,7,7,9,1,1, + 16,16,16,254,16,16,16,2,3,3,4,1,255,64,64,128, + 4,1,1,5,0,4,240,1,2,2,4,1,0,128,128,5, + 13,13,5,0,254,8,8,8,16,16,32,32,32,64,64,64, + 128,128,7,11,11,8,0,0,56,68,68,130,130,130,130,130, + 68,68,56,4,11,11,8,1,0,32,96,160,32,32,32,32, + 32,32,32,112,7,11,11,8,0,0,56,68,130,2,2,4, + 8,16,32,66,252,7,11,11,8,0,0,56,68,132,8,16, + 56,4,2,2,196,120,8,11,11,8,255,0,2,6,10,10, + 18,34,34,66,255,2,2,7,11,11,8,0,0,62,32,32, + 64,120,4,2,2,2,140,112,7,11,11,8,0,0,14,48, + 64,64,152,228,130,130,130,68,56,7,11,11,8,0,0,254, + 130,132,4,8,8,16,16,16,32,32,6,11,11,8,0,0, + 48,72,132,132,72,48,72,132,132,72,48,7,11,11,8,0, + 0,56,68,130,130,130,70,58,4,4,24,224,1,8,8,4, + 1,0,128,128,0,0,0,0,128,128,2,9,9,4,0,255, + 64,64,0,0,0,0,64,64,128,8,9,9,9,0,0,3, + 12,16,96,128,96,16,12,3,7,4,4,9,0,2,254,0, + 0,254,8,9,9,9,1,0,192,48,8,6,1,6,8,48, + 192,5,11,11,7,1,0,112,136,136,8,16,32,32,0,0, + 32,32,14,14,28,15,0,253,7,192,24,48,32,8,65,168, + 70,100,132,68,136,68,136,68,136,200,137,72,70,48,32,0, + 24,48,7,192,12,11,22,12,0,0,4,0,6,0,10,0, + 11,0,17,0,17,128,32,128,63,128,64,192,64,64,224,240, + 8,11,11,11,1,0,252,70,66,66,68,124,70,65,65,67, + 254,10,11,22,11,0,0,31,64,96,192,64,64,128,64,128, + 0,128,0,128,0,128,0,64,64,97,128,30,0,10,11,22, + 12,0,0,252,0,67,0,64,128,64,64,64,64,64,64,64, + 64,64,64,64,128,67,0,252,0,9,11,22,10,0,0,255, + 0,65,0,64,0,64,0,66,0,126,0,66,0,64,0,64, + 0,64,128,255,0,8,11,11,9,0,0,255,65,64,64,66, + 126,66,64,64,64,224,11,11,22,12,0,0,15,64,48,192, + 64,64,128,0,128,0,129,224,128,64,128,64,64,64,48,192, + 15,0,10,11,22,12,0,0,225,192,64,128,64,128,64,128, + 64,128,127,128,64,128,64,128,64,128,64,128,225,192,3,11, + 11,5,0,0,224,64,64,64,64,64,64,64,64,64,224,5, + 11,11,6,0,0,56,16,16,16,16,16,16,16,144,144,96, + 10,11,22,12,1,0,243,192,65,0,66,0,68,0,72,0, + 112,0,72,0,68,0,66,0,65,0,243,192,8,11,11,10, + 0,0,224,64,64,64,64,64,64,64,64,65,254,13,11,22, + 15,0,0,224,56,96,48,80,80,80,80,72,144,72,144,72, + 144,69,16,69,16,66,16,226,56,10,11,22,12,0,0,225, + 192,96,128,80,128,80,128,72,128,72,128,68,128,66,128,66, + 128,65,128,240,128,9,11,22,12,1,0,28,0,99,0,65, + 0,128,128,128,128,128,128,128,128,128,128,65,0,99,0,28, + 0,8,11,11,9,0,0,252,66,65,65,66,124,64,64,64, + 64,224,10,14,28,12,1,253,28,0,99,0,65,0,128,128, + 128,128,128,128,128,128,128,128,65,0,99,0,60,0,12,0, + 6,0,1,192,10,11,22,11,0,0,252,0,66,0,65,0, + 65,0,66,0,124,0,72,0,68,0,66,0,65,0,225,192, + 8,11,11,9,0,0,58,70,130,128,96,28,2,1,129,194, + 188,9,11,22,10,0,0,255,128,136,128,136,128,8,0,8, + 0,8,0,8,0,8,0,8,0,8,0,28,0,10,11,22, + 12,0,0,225,192,64,128,64,128,64,128,64,128,64,128,64, + 128,64,128,64,128,33,0,30,0,11,11,22,12,0,0,224, + 224,64,64,32,128,32,128,17,0,17,0,17,0,10,0,10, + 0,4,0,4,0,15,11,22,16,0,0,231,14,66,4,33, + 8,33,8,17,136,18,144,18,144,10,80,10,80,4,32,4, + 32,11,11,22,12,0,0,224,224,64,64,32,128,17,0,10, + 0,4,0,10,0,17,0,32,128,64,64,224,224,11,11,22, + 12,0,0,224,224,64,64,32,128,17,0,17,0,10,0,4, + 0,4,0,4,0,4,0,14,0,9,11,22,10,0,0,255, + 128,129,0,130,0,4,0,4,0,8,0,16,0,32,0,32, + 0,64,128,255,0,3,14,14,5,1,253,224,128,128,128,128, + 128,128,128,128,128,128,128,128,224,6,11,11,5,255,0,128, + 64,64,32,32,16,16,8,8,4,4,3,14,14,5,0,253, + 224,32,32,32,32,32,32,32,32,32,32,32,32,224,7,7, + 7,8,0,4,16,40,40,68,68,130,130,8,1,1,8,0, + 254,255,3,3,3,6,1,8,128,64,32,7,8,8,7,1, + 0,112,136,136,56,200,136,154,108,7,11,11,8,0,0,64, + 192,64,92,100,66,66,66,66,100,56,6,8,8,7,0,0, + 56,68,132,128,128,128,68,56,7,11,11,8,0,0,4,12, + 4,52,76,132,132,132,132,78,52,6,8,8,7,0,0,56, + 68,132,252,128,128,68,56,5,11,11,6,1,0,48,72,64, + 64,240,64,64,64,64,64,240,7,12,12,8,0,252,54,76, + 132,132,72,112,128,124,130,130,196,120,8,11,11,8,0,0, + 64,192,64,92,102,66,66,66,66,66,231,3,11,11,5,1, + 0,64,64,0,64,192,64,64,64,64,64,224,3,15,15,4, + 0,252,32,32,0,32,96,32,32,32,32,32,32,32,32,160, + 192,7,11,11,8,1,0,64,192,64,92,72,80,96,80,72, + 68,238,3,11,11,5,1,0,64,192,64,64,64,64,64,64, + 64,64,224,11,8,16,13,1,0,89,128,230,64,68,64,68, + 64,68,64,68,64,68,64,238,224,8,8,8,8,0,0,92, + 230,66,66,66,66,66,231,7,8,8,8,0,0,56,68,130, + 130,130,130,68,56,7,12,12,8,0,252,92,230,66,66,66, + 66,98,92,64,64,64,224,7,12,12,8,1,252,116,204,132, + 132,132,132,204,116,4,4,4,14,5,8,8,6,0,0,88, + 232,64,64,64,64,64,224,5,8,8,6,0,0,120,136,128, + 112,8,136,200,176,4,10,10,5,0,0,64,64,240,64,64, + 64,64,64,80,32,8,8,8,8,0,0,198,66,66,66,66, + 66,71,58,8,8,8,8,0,0,231,66,66,36,36,20,24, + 8,12,8,16,12,0,0,238,112,68,32,68,32,34,64,34, + 64,21,64,8,128,8,128,7,8,8,8,0,0,238,68,40, + 16,40,40,68,238,8,12,12,8,0,252,247,66,66,36,36, + 20,8,8,16,16,160,192,6,8,8,7,0,0,252,132,8, + 16,32,64,132,252,4,14,14,8,2,253,48,64,64,64,64, + 64,128,64,64,64,64,64,64,48,1,11,11,3,0,0,128, + 128,128,128,128,128,128,128,128,128,128,4,14,14,8,0,253, + 192,32,32,32,32,32,16,32,32,32,32,32,32,192,8,3, + 3,9,0,3,113,153,142,255}; +/* + Fontname: -Adobe-Times-Medium-R-Normal--20-140-100-100-P-96-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 13, '1' Height: 13 + Calculated Max Values w=18 h=18 x= 2 y=10 dx=18 dy= 0 ascent=18 len=39 + Font Bounding box w=22 h=29 x=-3 y=-7 + Calculated Min Values x=-2 y=-4 dx= 0 dy= 0 + Pure Font ascent =13 descent=-4 + X Font ascent =13 descent=-4 + Max Font ascent =18 descent=-4 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_timR14[4577] U8G_FONT_SECTION("u8g_font_timR14") = { + 0,22,29,253,249,13,2,131,6,16,32,255,252,18,252,13, + 252,0,0,0,5,0,1,2,13,13,4,1,0,192,192,192, + 192,192,192,64,64,64,0,0,192,192,6,4,4,8,1,9, + 204,204,204,136,12,11,22,10,255,1,12,192,12,192,12,192, + 127,240,25,128,25,128,25,128,255,224,51,0,51,0,51,0, + 7,16,16,9,1,254,16,124,214,210,208,240,120,60,28,22, + 22,150,214,124,16,16,13,13,26,15,1,0,56,48,111,224, + 196,64,196,128,205,128,251,0,114,112,6,216,13,136,9,136, + 25,152,49,240,32,224,12,13,26,14,1,0,28,0,50,0, + 50,0,50,0,52,0,25,224,56,192,109,128,207,0,199,0, + 199,128,237,240,120,224,2,4,4,4,1,9,192,192,192,128, + 5,17,17,7,1,252,24,48,96,96,64,192,192,192,192,192, + 192,192,64,96,96,48,24,5,17,17,7,1,252,192,96,48, + 48,16,24,24,24,24,24,24,24,16,48,48,96,192,7,7, + 7,9,1,6,16,214,84,56,214,146,16,8,8,8,10,1, + 1,24,24,24,255,255,24,24,24,3,5,5,4,0,253,96, + 96,32,96,192,5,2,2,6,0,3,248,248,2,2,2,4, + 1,0,192,192,7,17,17,5,255,252,2,2,6,4,12,12, + 8,24,24,16,48,48,32,96,96,64,192,8,13,13,9,1, + 0,60,102,102,195,195,195,195,195,195,195,102,102,60,6,13, + 13,9,2,0,48,112,240,48,48,48,48,48,48,48,48,120, + 252,7,13,13,9,1,0,60,126,206,134,6,6,12,12,24, + 48,98,254,254,7,13,13,9,1,0,124,206,134,6,12,56, + 60,14,6,6,6,204,248,8,13,13,9,0,0,2,6,14, + 14,22,38,70,70,255,255,6,6,6,7,13,13,9,1,0, + 126,124,192,192,240,60,12,14,6,6,12,220,240,8,13,13, + 9,1,0,7,28,48,96,96,252,198,195,195,195,227,118,60, + 8,13,13,9,1,0,127,255,130,6,4,12,12,8,24,24, + 16,48,48,8,13,13,9,1,0,60,102,194,230,124,56,60, + 110,199,195,195,102,60,8,13,13,9,1,0,60,110,198,195, + 195,195,227,127,54,6,12,56,224,2,9,9,5,1,0,192, + 192,0,0,0,0,0,192,192,3,12,12,5,0,253,96,96, + 0,0,0,0,0,96,96,32,96,192,9,9,18,11,1,0, + 1,128,7,0,28,0,112,0,192,0,112,0,28,0,7,0, + 1,128,9,5,10,11,1,2,255,128,255,128,0,0,255,128, + 255,128,9,9,18,11,1,0,192,0,112,0,28,0,7,0, + 1,128,7,0,28,0,112,0,192,0,6,13,13,8,1,0, + 120,140,196,204,12,24,24,48,32,32,0,48,48,14,16,32, + 17,1,253,7,224,14,48,56,24,48,8,99,236,103,228,198, + 100,204,100,204,204,204,200,205,216,103,112,96,0,48,0,28, + 48,7,224,13,13,26,14,1,0,2,0,7,0,7,0,5, + 0,13,128,9,128,25,192,16,192,31,192,48,224,32,96,96, + 112,240,248,10,13,26,13,2,0,255,0,99,128,97,128,97, + 128,97,128,99,0,127,128,97,192,96,192,96,192,96,192,97, + 128,255,0,11,13,26,13,1,0,15,32,48,224,96,96,96, + 32,192,0,192,0,192,0,192,0,192,0,96,0,96,96,56, + 192,15,0,11,13,26,14,2,0,255,0,99,128,96,192,96, + 192,96,96,96,96,96,96,96,96,96,96,96,192,96,192,99, + 128,255,0,9,13,26,12,1,0,255,128,97,128,96,128,96, + 0,96,0,97,0,127,0,97,0,96,0,96,0,96,128,97, + 128,255,128,9,13,26,11,1,0,255,128,97,128,96,128,96, + 0,96,0,97,0,127,0,97,0,96,0,96,0,96,0,96, + 0,240,0,12,13,26,14,1,0,15,32,48,224,96,96,96, + 32,192,0,192,0,192,240,192,96,192,96,96,96,96,96,57, + 192,15,0,12,13,26,14,1,0,240,240,96,96,96,96,96, + 96,96,96,96,96,127,224,96,96,96,96,96,96,96,96,96, + 96,240,240,4,13,13,6,1,0,240,96,96,96,96,96,96, + 96,96,96,96,96,240,6,13,13,7,0,0,60,24,24,24, + 24,24,24,24,24,24,24,216,240,12,13,26,14,1,0,243, + 224,97,128,99,0,102,0,108,0,120,0,120,0,124,0,110, + 0,103,0,99,128,97,192,240,240,10,13,26,12,1,0,240, + 0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96, + 0,96,0,96,64,96,192,255,192,14,13,26,17,1,0,224, + 28,112,56,112,56,120,120,88,88,88,216,92,216,76,152,77, + 152,71,24,71,24,66,24,226,60,12,13,26,14,1,0,224, + 112,96,32,112,32,120,32,92,32,76,32,78,32,71,32,67, + 160,65,224,64,224,64,96,224,32,12,13,26,14,1,0,15, + 0,48,192,96,96,96,96,192,48,192,48,192,48,192,48,192, + 48,96,96,96,96,48,192,15,0,9,13,26,11,1,0,255, + 0,99,128,97,128,97,128,97,128,99,0,126,0,96,0,96, + 0,96,0,96,0,96,0,240,0,12,17,34,14,1,252,15, + 0,48,192,96,96,96,96,192,48,192,48,192,48,192,48,192, + 48,96,96,96,96,48,192,15,0,6,0,3,0,1,192,0, + 240,11,13,26,13,1,0,255,0,99,128,97,128,97,128,97, + 128,99,0,126,0,110,0,102,0,99,0,97,128,96,192,240, + 224,8,13,13,11,2,0,58,70,194,192,224,120,60,14,7, + 3,131,198,184,10,13,26,12,1,0,255,192,204,192,140,64, + 12,0,12,0,12,0,12,0,12,0,12,0,12,0,12,0, + 12,0,30,0,11,13,26,14,2,0,240,224,96,64,96,64, + 96,64,96,64,96,64,96,64,96,64,96,64,96,64,112,192, + 57,128,31,0,13,13,26,14,0,0,248,120,112,48,48,32, + 56,32,24,96,24,64,28,64,12,192,14,128,6,128,7,128, + 3,0,3,0,18,13,39,18,0,0,249,227,192,112,193,128, + 48,193,0,56,225,0,24,99,0,24,226,0,24,226,0,29, + 166,0,13,52,0,15,60,0,14,56,0,6,24,0,6,24, + 0,12,13,26,14,1,0,240,112,112,96,56,192,25,128,13, + 0,14,0,6,0,15,0,27,0,17,128,49,192,96,224,240, + 240,12,13,26,14,1,0,240,240,112,96,48,192,24,128,25, + 0,15,0,6,0,6,0,6,0,6,0,6,0,6,0,15, + 0,10,13,26,12,1,0,127,192,97,192,65,128,3,128,7, + 0,6,0,14,0,28,0,56,0,48,0,112,64,224,192,255, + 192,4,16,16,6,2,253,240,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,240,5,13,13,5,0,0,128,128,192, + 64,96,96,32,48,48,16,24,8,8,4,16,16,6,0,253, + 240,48,48,48,48,48,48,48,48,48,48,48,48,48,48,240, + 7,7,7,9,1,6,16,56,40,108,68,198,130,9,2,4, + 9,0,252,255,128,255,128,4,3,3,4,0,10,192,96,16, + 7,9,9,9,1,0,120,200,204,28,108,204,204,252,102,8, + 13,13,9,0,0,96,224,96,96,110,119,99,99,99,99,99, + 102,92,7,9,9,8,0,0,60,102,192,192,192,192,192,102, + 60,8,13,13,9,0,0,6,14,6,6,62,102,198,198,198, + 198,198,102,63,7,9,9,8,0,0,60,102,194,254,192,192, + 192,102,60,6,13,13,6,0,0,28,52,32,96,248,96,96, + 96,96,96,96,96,240,8,13,13,9,0,252,62,204,196,196, + 204,120,64,124,127,131,193,226,124,9,13,26,10,0,0,96, + 0,224,0,96,0,96,0,102,0,111,0,115,0,99,0,99, + 0,99,0,99,0,99,0,243,128,4,13,13,5,0,0,96, + 96,0,0,96,224,96,96,96,96,96,96,240,4,17,17,5, + 255,252,48,48,0,0,48,112,48,48,48,48,48,48,48,48, + 48,224,192,10,13,26,9,0,0,96,0,224,0,96,0,96, + 0,103,0,98,0,100,0,104,0,120,0,108,0,110,0,103, + 0,227,192,4,13,13,5,0,0,96,224,96,96,96,96,96, + 96,96,96,96,96,240,14,9,18,15,0,0,102,48,239,120, + 115,152,99,24,99,24,99,24,99,24,99,24,247,188,9,9, + 18,10,0,0,102,0,239,0,115,0,99,0,99,0,99,0, + 99,0,99,0,243,128,8,9,9,9,0,0,60,102,195,195, + 195,195,195,102,60,8,13,13,9,0,252,110,247,99,99,99, + 99,99,118,124,96,96,96,240,8,13,13,9,0,252,62,102, + 198,198,198,198,198,102,62,6,6,6,15,6,9,9,7,0, + 0,108,236,112,96,96,96,96,96,240,5,9,9,7,1,0, + 104,152,200,224,112,56,152,200,176,6,11,11,6,0,0,32, + 96,248,96,96,96,96,96,96,116,56,9,9,18,10,0,0, + 231,0,99,0,99,0,99,0,99,0,99,0,99,0,119,0, + 59,128,9,9,18,9,255,0,243,128,99,0,98,0,50,0, + 54,0,20,0,28,0,8,0,8,0,13,9,18,14,0,0, + 231,56,102,48,98,96,54,96,55,96,29,64,29,192,8,128, + 8,128,9,9,18,9,0,0,225,128,99,0,54,0,28,0, + 28,0,28,0,54,0,99,0,195,128,8,13,13,9,0,252, + 243,99,114,50,54,28,28,12,8,24,16,240,224,7,9,9, + 8,0,0,254,206,140,24,48,48,98,230,254,7,17,17,9, + 1,252,14,24,48,48,48,48,48,96,192,96,48,48,48,48, + 48,24,14,1,13,13,3,1,0,128,128,128,128,128,128,128, + 128,128,128,128,128,128,7,17,17,9,1,252,224,48,24,24, + 24,24,24,12,6,12,24,24,24,24,24,48,224,9,4,8, + 11,1,3,48,0,121,128,207,0,6,0,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,255,255,255,255,255,255,255,0,0,0,5, + 0,1,2,13,13,4,1,252,192,192,0,0,128,128,128,192, + 192,192,192,192,192,7,14,14,9,1,253,6,4,60,110,200, + 216,208,208,240,114,124,64,192,128,10,13,26,11,0,0,15, + 0,25,128,25,128,24,0,24,0,24,0,126,0,24,0,24, + 0,16,0,120,64,191,192,231,128,9,7,14,11,1,3,221, + 128,247,128,99,0,65,0,99,0,247,128,221,128,8,13,13, + 9,0,0,247,98,98,118,52,52,126,24,126,24,24,24,126, + 1,13,13,3,1,0,128,128,128,128,128,0,0,0,128,128, + 128,128,128,8,16,16,10,1,253,60,102,102,112,56,124,142, + 199,227,113,62,28,14,102,102,60,5,2,2,5,0,10,216, + 216,13,13,26,15,1,0,15,128,48,96,64,16,71,144,136, + 136,144,8,144,8,144,8,136,136,71,16,64,16,48,96,15, + 128,5,8,8,5,0,5,96,144,16,112,144,232,0,248,8, + 7,7,10,1,1,17,51,102,204,102,51,17,9,5,10,11, + 1,2,255,128,255,128,1,128,1,128,1,128,5,2,2,6, + 0,3,248,248,13,13,26,15,1,0,15,128,48,96,64,16, + 95,16,136,136,136,136,143,8,137,8,136,136,92,208,64,16, + 48,96,15,128,5,2,2,5,0,10,248,248,5,5,5,7, + 1,8,112,136,136,136,112,8,11,11,10,1,0,24,24,24, + 255,255,24,24,24,0,255,255,5,8,8,6,0,5,112,152, + 24,16,32,32,64,248,5,8,8,6,0,5,112,136,24,112, + 24,8,136,112,4,3,3,4,0,10,48,96,128,9,13,26, + 9,255,252,231,0,99,0,99,0,99,0,99,0,99,0,99, + 0,119,0,123,128,64,0,64,0,96,0,96,0,7,17,17, + 8,1,252,62,116,244,244,244,244,244,116,20,20,20,20,20, + 20,20,20,20,2,2,2,4,1,4,192,192,4,5,5,6, + 1,252,32,32,16,176,112,3,8,8,6,1,5,64,192,64, + 64,64,64,64,224,5,8,8,6,0,5,112,216,136,136,216, + 112,0,248,8,7,7,10,1,1,136,204,102,51,102,204,136, + 11,13,26,13,1,0,64,128,193,128,65,0,67,0,70,0, + 68,64,76,192,233,64,27,64,50,64,39,224,96,64,64,64, + 11,13,26,13,1,0,64,128,193,128,65,0,67,0,70,0, + 69,192,78,96,232,96,24,64,48,128,32,128,97,0,67,224, + 13,13,26,13,255,0,112,32,136,96,24,64,112,192,25,128, + 9,16,139,48,114,80,6,208,12,144,9,248,24,16,16,16, + 6,13,13,8,1,252,48,48,0,16,16,48,96,96,192,204, + 140,196,120,13,17,34,14,1,0,24,0,12,0,2,0,0, + 0,2,0,7,0,7,0,5,0,13,128,9,128,25,192,16, + 192,31,192,48,224,32,96,96,112,240,248,13,17,34,14,1, + 0,0,192,1,128,2,0,0,0,2,0,7,0,7,0,5, + 0,13,128,9,128,25,192,16,192,31,192,48,224,32,96,96, + 112,240,248,13,17,34,14,1,0,2,0,7,0,13,128,0, + 0,2,0,7,0,7,0,5,0,13,128,9,128,25,192,16, + 192,31,192,48,224,32,96,96,112,240,248,13,17,34,14,1, + 0,12,128,31,128,19,0,0,0,2,0,7,0,7,0,5, + 0,13,128,9,128,25,192,16,192,31,192,48,224,32,96,96, + 112,240,248,13,16,32,14,1,0,13,128,13,128,0,0,2, + 0,7,0,7,0,5,0,13,128,9,128,25,192,16,192,31, + 192,48,224,32,96,96,112,240,248,13,18,36,14,1,0,6, + 0,9,0,9,0,6,0,0,0,2,0,7,0,7,0,5, + 0,13,128,9,128,25,192,16,192,31,192,48,224,32,96,96, + 112,240,248,15,13,26,17,1,0,15,252,7,140,5,132,5, + 128,13,128,9,136,25,248,31,136,17,128,49,128,33,130,97, + 134,247,254,11,17,34,13,1,252,15,32,48,224,96,96,96, + 32,192,0,192,0,192,0,192,0,192,0,96,0,96,96,56, + 192,15,0,4,0,2,0,22,0,14,0,9,17,34,12,1, + 0,48,0,24,0,4,0,0,0,255,128,97,128,96,128,96, + 0,96,0,97,0,127,0,97,0,96,0,96,0,96,128,97, + 128,255,128,9,17,34,12,1,0,3,0,6,0,8,0,0, + 0,255,128,97,128,96,128,96,0,96,0,97,0,127,0,97, + 0,96,0,96,0,96,128,97,128,255,128,9,17,34,12,1, + 0,8,0,28,0,54,0,0,0,255,128,97,128,96,128,96, + 0,96,0,97,0,127,0,97,0,96,0,96,0,96,128,97, + 128,255,128,9,16,32,12,1,0,54,0,54,0,0,0,255, + 128,97,128,96,128,96,0,96,0,97,0,127,0,97,0,96, + 0,96,0,96,128,97,128,255,128,6,17,17,6,255,0,192, + 96,16,0,60,24,24,24,24,24,24,24,24,24,24,24,60, + 6,17,17,6,1,0,12,24,32,0,240,96,96,96,96,96, + 96,96,96,96,96,96,240,5,17,17,6,1,0,32,112,216, + 0,240,96,96,96,96,96,96,96,96,96,96,96,240,5,16, + 16,6,1,0,216,216,0,240,96,96,96,96,96,96,96,96, + 96,96,96,240,12,13,26,13,0,0,127,128,49,192,48,96, + 48,96,48,48,48,48,252,48,48,48,48,48,48,96,48,96, + 49,192,127,128,12,17,34,14,1,0,12,128,31,128,19,0, + 0,0,224,112,96,32,112,32,120,32,92,32,76,32,78,32, + 71,32,67,160,65,224,64,224,64,96,224,32,12,17,34,14, + 1,0,48,0,24,0,4,0,0,0,15,0,48,192,96,96, + 96,96,192,48,192,48,192,48,192,48,192,48,96,96,96,96, + 48,192,15,0,12,17,34,14,1,0,0,192,1,128,2,0, + 0,0,15,0,48,192,96,96,96,96,192,48,192,48,192,48, + 192,48,192,48,96,96,96,96,48,192,15,0,12,17,34,14, + 1,0,4,0,14,0,27,0,0,0,15,0,48,192,96,96, + 96,96,192,48,192,48,192,48,192,48,192,48,96,96,96,96, + 48,192,15,0,12,17,34,14,1,0,12,128,31,128,19,0, + 0,0,15,0,48,192,96,96,96,96,192,48,192,48,192,48, + 192,48,192,48,96,96,96,96,48,192,15,0,12,16,32,14, + 1,0,27,0,27,0,0,0,15,0,48,192,96,96,96,96, + 192,48,192,48,192,48,192,48,192,48,96,96,96,96,48,192, + 15,0,8,7,7,10,1,1,195,102,60,24,60,102,195,12, + 15,30,14,1,255,0,48,15,96,48,192,96,224,97,160,195, + 48,195,48,198,48,204,48,204,48,88,96,112,96,48,192,111, + 0,192,0,11,17,34,14,2,0,48,0,24,0,4,0,0, + 0,240,224,96,64,96,64,96,64,96,64,96,64,96,64,96, + 64,96,64,96,64,112,192,57,128,31,0,11,17,34,14,2, + 0,0,192,1,128,2,0,0,0,240,224,96,64,96,64,96, + 64,96,64,96,64,96,64,96,64,96,64,96,64,112,192,57, + 128,31,0,11,17,34,14,2,0,4,0,14,0,27,0,0, + 0,240,224,96,64,96,64,96,64,96,64,96,64,96,64,96, + 64,96,64,96,64,112,192,57,128,31,0,11,16,32,14,2, + 0,27,0,27,0,0,0,240,224,96,64,96,64,96,64,96, + 64,96,64,96,64,96,64,96,64,96,64,112,192,57,128,31, + 0,12,17,34,14,1,0,0,192,1,128,2,0,0,0,240, + 240,112,96,48,192,24,128,25,0,15,0,6,0,6,0,6, + 0,6,0,6,0,6,0,15,0,9,13,26,10,1,0,240, + 0,96,0,96,0,127,0,99,128,97,128,97,128,97,128,99, + 0,126,0,96,0,96,0,240,0,8,13,13,9,0,0,28, + 50,99,99,102,110,124,102,99,99,107,111,238,7,13,13,9, + 1,0,192,96,16,0,120,200,204,28,108,204,204,252,102,7, + 13,13,9,1,0,12,24,32,0,120,200,204,28,108,204,204, + 252,102,7,13,13,9,1,0,16,56,108,0,120,200,204,28, + 108,204,204,252,102,7,13,13,9,1,0,100,252,152,0,120, + 200,204,28,108,204,204,252,102,7,12,12,9,1,0,108,108, + 0,120,200,204,28,108,204,204,252,102,7,14,14,9,1,0, + 48,72,72,48,0,120,200,204,28,108,204,204,252,102,11,9, + 18,12,0,0,123,192,206,96,204,32,31,224,108,0,204,0, + 204,0,254,96,99,192,7,13,13,8,0,252,60,102,192,192, + 192,192,192,102,60,16,8,88,56,7,13,13,8,0,0,192, + 96,16,0,60,102,194,254,192,192,192,102,60,7,13,13,8, + 0,0,6,12,16,0,60,102,194,254,192,192,192,102,60,7, + 13,13,8,0,0,16,56,108,0,60,102,194,254,192,192,192, + 102,60,7,12,12,8,0,0,108,108,0,60,102,194,254,192, + 192,192,102,60,6,13,13,5,254,0,192,96,16,0,24,56, + 24,24,24,24,24,24,60,6,13,13,5,0,0,12,24,32, + 0,96,224,96,96,96,96,96,96,240,5,13,13,5,0,0, + 32,112,216,0,96,224,96,96,96,96,96,96,240,5,12,12, + 5,0,0,216,216,0,96,224,96,96,96,96,96,96,240,8, + 13,13,9,0,0,96,54,56,76,62,102,195,195,195,195,195, + 102,60,9,13,26,10,0,0,50,0,126,0,76,0,0,0, + 102,0,239,0,115,0,99,0,99,0,99,0,99,0,99,0, + 243,128,8,13,13,9,0,0,48,24,4,0,60,102,195,195, + 195,195,195,102,60,8,13,13,9,0,0,6,12,16,0,60, + 102,195,195,195,195,195,102,60,8,13,13,9,0,0,16,56, + 108,0,60,102,195,195,195,195,195,102,60,8,13,13,9,0, + 0,50,126,76,0,60,102,195,195,195,195,195,102,60,8,12, + 12,9,0,0,108,108,0,60,102,195,195,195,195,195,102,60, + 8,8,8,10,1,1,24,24,0,255,255,0,24,24,8,11, + 11,9,0,255,1,63,102,207,203,219,211,243,102,124,192,9, + 13,26,10,0,0,96,0,48,0,8,0,0,0,231,0,99, + 0,99,0,99,0,99,0,99,0,99,0,119,0,59,128,9, + 13,26,10,0,0,6,0,12,0,16,0,0,0,231,0,99, + 0,99,0,99,0,99,0,99,0,99,0,119,0,59,128,9, + 13,26,10,0,0,8,0,28,0,54,0,0,0,231,0,99, + 0,99,0,99,0,99,0,99,0,99,0,119,0,59,128,9, + 12,24,10,0,0,54,0,54,0,0,0,231,0,99,0,99, + 0,99,0,99,0,99,0,99,0,119,0,59,128,8,17,17, + 8,255,252,3,6,8,0,243,99,114,50,54,28,28,12,8, + 24,16,240,224,8,17,17,9,0,252,96,224,96,96,110,119, + 99,99,99,99,99,118,124,96,96,96,240,8,16,16,9,0, + 252,54,54,0,243,99,114,50,54,28,28,12,8,24,16,240, + 224}; +/* + Fontname: -Adobe-Times-Medium-R-Normal--20-140-100-100-P-96-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 13, '1' Height: 13 + Calculated Max Values w=18 h=17 x= 2 y=10 dx=18 dy= 0 ascent=14 len=39 + Font Bounding box w=22 h=29 x=-3 y=-7 + Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 + Pure Font ascent =13 descent=-4 + X Font ascent =13 descent=-4 + Max Font ascent =14 descent=-4 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_timR14r[2156] U8G_FONT_SECTION("u8g_font_timR14r") = { + 0,22,29,253,249,13,2,131,6,16,32,127,252,14,252,13, + 252,0,0,0,5,0,1,2,13,13,4,1,0,192,192,192, + 192,192,192,64,64,64,0,0,192,192,6,4,4,8,1,9, + 204,204,204,136,12,11,22,10,255,1,12,192,12,192,12,192, + 127,240,25,128,25,128,25,128,255,224,51,0,51,0,51,0, + 7,16,16,9,1,254,16,124,214,210,208,240,120,60,28,22, + 22,150,214,124,16,16,13,13,26,15,1,0,56,48,111,224, + 196,64,196,128,205,128,251,0,114,112,6,216,13,136,9,136, + 25,152,49,240,32,224,12,13,26,14,1,0,28,0,50,0, + 50,0,50,0,52,0,25,224,56,192,109,128,207,0,199,0, + 199,128,237,240,120,224,2,4,4,4,1,9,192,192,192,128, + 5,17,17,7,1,252,24,48,96,96,64,192,192,192,192,192, + 192,192,64,96,96,48,24,5,17,17,7,1,252,192,96,48, + 48,16,24,24,24,24,24,24,24,16,48,48,96,192,7,7, + 7,9,1,6,16,214,84,56,214,146,16,8,8,8,10,1, + 1,24,24,24,255,255,24,24,24,3,5,5,4,0,253,96, + 96,32,96,192,5,2,2,6,0,3,248,248,2,2,2,4, + 1,0,192,192,7,17,17,5,255,252,2,2,6,4,12,12, + 8,24,24,16,48,48,32,96,96,64,192,8,13,13,9,1, + 0,60,102,102,195,195,195,195,195,195,195,102,102,60,6,13, + 13,9,2,0,48,112,240,48,48,48,48,48,48,48,48,120, + 252,7,13,13,9,1,0,60,126,206,134,6,6,12,12,24, + 48,98,254,254,7,13,13,9,1,0,124,206,134,6,12,56, + 60,14,6,6,6,204,248,8,13,13,9,0,0,2,6,14, + 14,22,38,70,70,255,255,6,6,6,7,13,13,9,1,0, + 126,124,192,192,240,60,12,14,6,6,12,220,240,8,13,13, + 9,1,0,7,28,48,96,96,252,198,195,195,195,227,118,60, + 8,13,13,9,1,0,127,255,130,6,4,12,12,8,24,24, + 16,48,48,8,13,13,9,1,0,60,102,194,230,124,56,60, + 110,199,195,195,102,60,8,13,13,9,1,0,60,110,198,195, + 195,195,227,127,54,6,12,56,224,2,9,9,5,1,0,192, + 192,0,0,0,0,0,192,192,3,12,12,5,0,253,96,96, + 0,0,0,0,0,96,96,32,96,192,9,9,18,11,1,0, + 1,128,7,0,28,0,112,0,192,0,112,0,28,0,7,0, + 1,128,9,5,10,11,1,2,255,128,255,128,0,0,255,128, + 255,128,9,9,18,11,1,0,192,0,112,0,28,0,7,0, + 1,128,7,0,28,0,112,0,192,0,6,13,13,8,1,0, + 120,140,196,204,12,24,24,48,32,32,0,48,48,14,16,32, + 17,1,253,7,224,14,48,56,24,48,8,99,236,103,228,198, + 100,204,100,204,204,204,200,205,216,103,112,96,0,48,0,28, + 48,7,224,13,13,26,14,1,0,2,0,7,0,7,0,5, + 0,13,128,9,128,25,192,16,192,31,192,48,224,32,96,96, + 112,240,248,10,13,26,13,2,0,255,0,99,128,97,128,97, + 128,97,128,99,0,127,128,97,192,96,192,96,192,96,192,97, + 128,255,0,11,13,26,13,1,0,15,32,48,224,96,96,96, + 32,192,0,192,0,192,0,192,0,192,0,96,0,96,96,56, + 192,15,0,11,13,26,14,2,0,255,0,99,128,96,192,96, + 192,96,96,96,96,96,96,96,96,96,96,96,192,96,192,99, + 128,255,0,9,13,26,12,1,0,255,128,97,128,96,128,96, + 0,96,0,97,0,127,0,97,0,96,0,96,0,96,128,97, + 128,255,128,9,13,26,11,1,0,255,128,97,128,96,128,96, + 0,96,0,97,0,127,0,97,0,96,0,96,0,96,0,96, + 0,240,0,12,13,26,14,1,0,15,32,48,224,96,96,96, + 32,192,0,192,0,192,240,192,96,192,96,96,96,96,96,57, + 192,15,0,12,13,26,14,1,0,240,240,96,96,96,96,96, + 96,96,96,96,96,127,224,96,96,96,96,96,96,96,96,96, + 96,240,240,4,13,13,6,1,0,240,96,96,96,96,96,96, + 96,96,96,96,96,240,6,13,13,7,0,0,60,24,24,24, + 24,24,24,24,24,24,24,216,240,12,13,26,14,1,0,243, + 224,97,128,99,0,102,0,108,0,120,0,120,0,124,0,110, + 0,103,0,99,128,97,192,240,240,10,13,26,12,1,0,240, + 0,96,0,96,0,96,0,96,0,96,0,96,0,96,0,96, + 0,96,0,96,64,96,192,255,192,14,13,26,17,1,0,224, + 28,112,56,112,56,120,120,88,88,88,216,92,216,76,152,77, + 152,71,24,71,24,66,24,226,60,12,13,26,14,1,0,224, + 112,96,32,112,32,120,32,92,32,76,32,78,32,71,32,67, + 160,65,224,64,224,64,96,224,32,12,13,26,14,1,0,15, + 0,48,192,96,96,96,96,192,48,192,48,192,48,192,48,192, + 48,96,96,96,96,48,192,15,0,9,13,26,11,1,0,255, + 0,99,128,97,128,97,128,97,128,99,0,126,0,96,0,96, + 0,96,0,96,0,96,0,240,0,12,17,34,14,1,252,15, + 0,48,192,96,96,96,96,192,48,192,48,192,48,192,48,192, + 48,96,96,96,96,48,192,15,0,6,0,3,0,1,192,0, + 240,11,13,26,13,1,0,255,0,99,128,97,128,97,128,97, + 128,99,0,126,0,110,0,102,0,99,0,97,128,96,192,240, + 224,8,13,13,11,2,0,58,70,194,192,224,120,60,14,7, + 3,131,198,184,10,13,26,12,1,0,255,192,204,192,140,64, + 12,0,12,0,12,0,12,0,12,0,12,0,12,0,12,0, + 12,0,30,0,11,13,26,14,2,0,240,224,96,64,96,64, + 96,64,96,64,96,64,96,64,96,64,96,64,96,64,112,192, + 57,128,31,0,13,13,26,14,0,0,248,120,112,48,48,32, + 56,32,24,96,24,64,28,64,12,192,14,128,6,128,7,128, + 3,0,3,0,18,13,39,18,0,0,249,227,192,112,193,128, + 48,193,0,56,225,0,24,99,0,24,226,0,24,226,0,29, + 166,0,13,52,0,15,60,0,14,56,0,6,24,0,6,24, + 0,12,13,26,14,1,0,240,112,112,96,56,192,25,128,13, + 0,14,0,6,0,15,0,27,0,17,128,49,192,96,224,240, + 240,12,13,26,14,1,0,240,240,112,96,48,192,24,128,25, + 0,15,0,6,0,6,0,6,0,6,0,6,0,6,0,15, + 0,10,13,26,12,1,0,127,192,97,192,65,128,3,128,7, + 0,6,0,14,0,28,0,56,0,48,0,112,64,224,192,255, + 192,4,16,16,6,2,253,240,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,240,5,13,13,5,0,0,128,128,192, + 64,96,96,32,48,48,16,24,8,8,4,16,16,6,0,253, + 240,48,48,48,48,48,48,48,48,48,48,48,48,48,48,240, + 7,7,7,9,1,6,16,56,40,108,68,198,130,9,2,4, + 9,0,252,255,128,255,128,4,3,3,4,0,10,192,96,16, + 7,9,9,9,1,0,120,200,204,28,108,204,204,252,102,8, + 13,13,9,0,0,96,224,96,96,110,119,99,99,99,99,99, + 102,92,7,9,9,8,0,0,60,102,192,192,192,192,192,102, + 60,8,13,13,9,0,0,6,14,6,6,62,102,198,198,198, + 198,198,102,63,7,9,9,8,0,0,60,102,194,254,192,192, + 192,102,60,6,13,13,6,0,0,28,52,32,96,248,96,96, + 96,96,96,96,96,240,8,13,13,9,0,252,62,204,196,196, + 204,120,64,124,127,131,193,226,124,9,13,26,10,0,0,96, + 0,224,0,96,0,96,0,102,0,111,0,115,0,99,0,99, + 0,99,0,99,0,99,0,243,128,4,13,13,5,0,0,96, + 96,0,0,96,224,96,96,96,96,96,96,240,4,17,17,5, + 255,252,48,48,0,0,48,112,48,48,48,48,48,48,48,48, + 48,224,192,10,13,26,9,0,0,96,0,224,0,96,0,96, + 0,103,0,98,0,100,0,104,0,120,0,108,0,110,0,103, + 0,227,192,4,13,13,5,0,0,96,224,96,96,96,96,96, + 96,96,96,96,96,240,14,9,18,15,0,0,102,48,239,120, + 115,152,99,24,99,24,99,24,99,24,99,24,247,188,9,9, + 18,10,0,0,102,0,239,0,115,0,99,0,99,0,99,0, + 99,0,99,0,243,128,8,9,9,9,0,0,60,102,195,195, + 195,195,195,102,60,8,13,13,9,0,252,110,247,99,99,99, + 99,99,118,124,96,96,96,240,8,13,13,9,0,252,62,102, + 198,198,198,198,198,102,62,6,6,6,15,6,9,9,7,0, + 0,108,236,112,96,96,96,96,96,240,5,9,9,7,1,0, + 104,152,200,224,112,56,152,200,176,6,11,11,6,0,0,32, + 96,248,96,96,96,96,96,96,116,56,9,9,18,10,0,0, + 231,0,99,0,99,0,99,0,99,0,99,0,99,0,119,0, + 59,128,9,9,18,9,255,0,243,128,99,0,98,0,50,0, + 54,0,20,0,28,0,8,0,8,0,13,9,18,14,0,0, + 231,56,102,48,98,96,54,96,55,96,29,64,29,192,8,128, + 8,128,9,9,18,9,0,0,225,128,99,0,54,0,28,0, + 28,0,28,0,54,0,99,0,195,128,8,13,13,9,0,252, + 243,99,114,50,54,28,28,12,8,24,16,240,224,7,9,9, + 8,0,0,254,206,140,24,48,48,98,230,254,7,17,17,9, + 1,252,14,24,48,48,48,48,48,96,192,96,48,48,48,48, + 48,24,14,1,13,13,3,1,0,128,128,128,128,128,128,128, + 128,128,128,128,128,128,7,17,17,9,1,252,224,48,24,24, + 24,24,24,12,6,12,24,24,24,24,24,48,224,9,4,8, + 11,1,3,48,0,121,128,207,0,6,0,255}; +/* + Fontname: -Adobe-Times-Medium-R-Normal--25-180-100-100-P-125-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 17, '1' Height: 17 + Calculated Max Values w=23 h=23 x= 3 y=14 dx=23 dy= 0 ascent=23 len=69 + Font Bounding box w=29 h=37 x=-4 y=-9 + Calculated Min Values x=-2 y=-6 dx= 0 dy= 0 + Pure Font ascent =17 descent=-6 + X Font ascent =17 descent=-6 + Max Font ascent =23 descent=-6 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_timR18[6850] U8G_FONT_SECTION("u8g_font_timR18") = { + 0,29,37,252,247,17,4,9,8,241,32,255,250,23,250,17, + 250,0,0,0,6,0,1,3,17,17,8,3,0,64,224,224, + 224,224,224,224,224,64,64,64,64,0,0,0,192,192,6,5, + 5,10,1,12,204,204,204,204,136,11,17,34,13,1,0,8, + 128,8,128,8,128,8,128,8,128,127,224,127,224,17,0,17, + 0,17,0,255,192,255,192,34,0,34,0,34,0,34,0,34, + 0,11,21,42,12,0,254,4,0,4,0,63,0,101,192,196, + 192,196,64,196,64,228,0,124,0,30,0,7,128,5,192,4, + 224,4,96,132,96,132,96,196,192,229,192,63,0,4,0,4, + 0,17,16,48,19,1,0,30,12,0,51,252,0,97,24,0, + 193,16,0,193,48,0,194,96,0,228,64,0,120,192,0,1, + 143,0,1,25,128,3,48,128,6,96,128,4,96,128,12,97, + 0,24,114,0,16,60,0,17,17,51,19,1,0,7,192,0, + 8,96,0,24,32,0,24,32,0,24,96,0,12,192,0,15, + 158,0,7,12,0,15,8,0,51,136,0,97,144,0,192,208, + 0,192,224,0,192,96,0,224,240,128,127,191,0,62,14,0, + 2,5,5,6,2,12,192,192,192,192,128,6,22,22,8,1, + 251,4,8,16,48,32,96,96,192,192,192,192,192,192,192,192, + 96,96,32,48,16,8,4,6,22,22,8,1,251,128,64,32, + 48,16,24,24,12,12,12,12,12,12,12,12,24,24,16,48, + 32,64,128,9,9,18,12,2,8,28,0,28,0,201,128,235, + 128,28,0,235,128,201,128,28,0,28,0,12,12,24,12,0, + 0,6,0,6,0,6,0,6,0,6,0,255,240,255,240,6, + 0,6,0,6,0,6,0,6,0,3,5,5,7,2,253,192, + 224,32,96,192,6,2,2,8,0,5,252,252,2,2,2,6, + 2,0,192,192,9,21,42,7,254,252,1,128,1,128,1,0, + 3,0,3,0,2,0,6,0,6,0,4,0,12,0,12,0, + 8,0,24,0,24,0,16,0,48,0,48,0,96,0,96,0, + 64,0,192,0,10,17,34,12,1,0,30,0,51,0,97,128, + 97,128,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,225,192,97,128,97,128,51,0,30,0,8,17,17,12, + 2,0,8,24,120,24,24,24,24,24,24,24,24,24,24,24, + 24,24,255,10,17,34,12,1,0,28,0,127,0,67,128,129, + 128,129,128,1,128,1,128,3,0,3,0,6,0,4,0,12, + 0,24,0,48,0,96,64,255,192,255,128,9,17,34,12,1, + 0,28,0,126,0,71,0,131,0,131,0,6,0,12,0,30, + 0,7,0,3,128,1,128,1,128,1,128,1,0,195,0,230, + 0,120,0,10,17,34,12,1,0,3,0,7,0,7,0,11, + 0,27,0,19,0,51,0,35,0,99,0,67,0,195,0,255, + 192,255,192,3,0,3,0,3,0,3,0,10,17,34,12,1, + 0,31,192,31,128,32,0,32,0,96,0,120,0,126,0,15, + 128,3,128,1,192,0,192,0,192,0,192,0,192,193,128,227, + 128,126,0,10,17,34,12,1,0,3,192,14,0,24,0,48, + 0,112,0,96,0,238,0,243,128,193,128,192,192,192,192,192, + 192,192,192,224,192,97,128,123,128,30,0,10,17,34,12,1, + 0,127,192,255,192,192,192,129,128,1,128,1,0,3,0,3, + 0,2,0,6,0,6,0,4,0,12,0,12,0,12,0,24, + 0,24,0,10,17,34,12,1,0,30,0,51,0,97,128,97, + 128,97,128,115,0,62,0,30,0,63,0,99,128,65,192,192, + 192,192,192,192,192,225,128,115,128,30,0,10,17,34,12,1, + 0,30,0,119,128,97,128,193,192,192,192,192,192,192,192,192, + 192,97,192,115,192,29,128,1,128,3,128,3,0,6,0,28, + 0,240,0,2,11,11,6,2,0,192,192,0,0,0,0,0, + 0,0,192,192,3,14,14,7,2,253,192,192,0,0,0,0, + 0,0,0,192,224,32,96,192,11,11,22,14,1,0,0,96, + 1,192,7,0,28,0,112,0,192,0,112,0,28,0,7,0, + 1,192,0,96,9,5,10,13,2,3,255,128,255,128,0,0, + 255,128,255,128,11,11,22,13,1,0,192,0,112,0,28,0, + 7,0,1,192,0,96,1,192,7,0,28,0,112,0,192,0, + 8,17,17,11,2,0,124,198,131,195,195,7,14,12,28,24, + 24,16,16,0,0,48,48,18,20,60,22,2,253,3,248,0, + 15,14,0,28,3,0,56,1,128,112,0,128,96,236,192,225, + 252,64,195,140,64,195,12,64,198,12,64,198,24,64,198,24, + 192,198,24,128,198,57,128,99,123,0,97,222,0,48,0,0, + 24,0,0,14,12,0,3,240,0,17,17,51,17,0,0,0, + 128,0,1,192,0,1,192,0,1,96,0,2,96,0,2,48, + 0,6,48,0,4,48,0,4,24,0,12,24,0,15,248,0, + 8,12,0,24,12,0,16,12,0,16,6,0,48,6,0,252, + 31,128,14,17,34,16,1,0,255,192,48,112,48,48,48,24, + 48,24,48,24,48,48,48,64,63,224,48,56,48,24,48,12, + 48,12,48,12,48,24,48,120,255,224,14,17,34,16,1,0, + 7,228,28,60,56,12,96,4,96,4,192,0,192,0,192,0, + 192,0,192,0,192,0,192,0,96,0,96,4,56,8,30,56, + 7,224,15,17,34,17,1,0,255,192,48,112,48,56,48,12, + 48,12,48,6,48,6,48,6,48,6,48,6,48,6,48,6, + 48,12,48,12,48,56,48,112,255,192,13,17,34,15,1,0, + 255,240,48,48,48,16,48,16,48,0,48,0,48,64,48,64, + 63,192,48,64,48,64,48,0,48,0,48,8,48,8,48,24, + 255,248,12,17,34,14,1,0,255,240,48,48,48,16,48,16, + 48,0,48,0,48,32,48,32,63,224,48,32,48,32,48,0, + 48,0,48,0,48,0,48,0,252,0,16,17,34,18,1,0, + 7,228,28,60,56,12,96,4,96,4,192,0,192,0,192,0, + 192,0,192,63,192,12,192,12,96,12,96,12,56,28,30,56, + 7,224,17,17,51,19,1,0,252,31,128,48,6,0,48,6, + 0,48,6,0,48,6,0,48,6,0,48,6,0,48,6,0, + 63,254,0,48,6,0,48,6,0,48,6,0,48,6,0,48, + 6,0,48,6,0,48,6,0,252,31,128,6,17,17,8,1, + 0,252,48,48,48,48,48,48,48,48,48,48,48,48,48,48, + 48,252,9,17,34,11,1,0,31,128,6,0,6,0,6,0, + 6,0,6,0,6,0,6,0,6,0,6,0,6,0,6,0, + 6,0,6,0,198,0,204,0,120,0,16,17,34,17,1,0, + 252,126,48,24,48,48,48,96,48,192,49,128,51,0,62,0, + 63,0,51,128,49,192,48,224,48,112,48,56,48,28,48,14, + 252,31,13,17,34,14,1,0,252,0,48,0,48,0,48,0, + 48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0, + 48,0,48,8,48,8,48,24,255,248,21,17,51,22,1,0, + 240,0,248,48,0,224,56,1,96,56,1,96,44,2,96,44, + 2,96,38,2,96,38,4,96,35,4,96,35,8,96,33,136, + 96,33,136,96,32,208,96,32,208,96,32,96,96,32,96,96, + 248,97,248,16,17,34,18,1,0,240,31,48,4,56,4,56, + 4,44,4,38,4,38,4,35,4,33,132,33,132,32,196,32, + 100,32,100,32,52,32,28,32,28,248,12,16,17,34,18,1, + 0,7,224,28,56,56,28,96,6,96,6,192,3,192,3,192, + 3,192,3,192,3,192,3,192,3,96,6,96,6,56,28,28, + 56,7,224,13,17,34,15,1,0,255,192,48,112,48,48,48, + 24,48,24,48,24,48,48,48,112,63,192,48,0,48,0,48, + 0,48,0,48,0,48,0,48,0,252,0,16,22,44,18,1, + 251,7,224,28,56,56,28,96,6,96,6,192,3,192,3,192, + 3,192,3,192,3,192,3,192,3,96,6,96,6,56,28,28, + 56,7,224,1,192,0,224,0,112,0,56,0,15,15,17,34, + 16,1,0,255,192,48,112,48,48,48,24,48,24,48,24,48, + 48,48,112,63,192,51,128,49,128,48,192,48,96,48,112,48, + 56,48,28,252,30,11,17,34,13,1,0,30,64,99,192,192, + 192,192,64,192,64,224,0,120,0,30,0,15,128,3,192,0, + 224,0,96,128,96,128,96,192,192,241,128,158,0,14,17,34, + 16,1,0,255,252,195,12,131,4,131,4,3,0,3,0,3, + 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, + 0,3,0,15,192,16,17,34,18,1,0,252,31,48,4,48, + 4,48,4,48,4,48,4,48,4,48,4,48,4,48,4,48, + 4,48,4,48,4,48,8,24,8,28,48,7,224,17,17,51, + 17,0,0,252,31,128,48,6,0,48,4,0,24,12,0,24, + 8,0,24,8,0,12,24,0,12,16,0,6,48,0,6,32, + 0,6,32,0,3,96,0,3,64,0,3,192,0,1,128,0, + 1,128,0,1,128,0,23,17,51,23,0,0,252,126,126,48, + 24,24,48,24,16,24,24,16,24,24,48,24,44,32,12,44, + 32,12,44,96,6,76,96,6,76,64,6,70,64,3,70,192, + 3,70,128,3,135,128,1,131,128,1,131,0,1,131,0,18, + 17,51,18,0,0,126,15,128,28,6,0,14,12,0,6,8, + 0,3,16,0,1,160,0,1,192,0,0,192,0,0,224,0, + 1,112,0,2,56,0,6,24,0,4,12,0,8,14,0,24, + 7,0,48,3,128,252,15,192,16,17,34,18,1,0,252,63, + 48,12,56,8,24,24,28,16,12,48,6,32,6,96,3,64, + 3,192,1,128,1,128,1,128,1,128,1,128,1,128,7,224, + 13,17,34,15,1,0,255,240,192,112,128,224,128,192,1,192, + 3,128,3,0,7,0,6,0,14,0,28,0,24,0,56,0, + 48,8,112,8,224,24,255,248,5,21,21,8,2,252,248,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,248,7,17,17,7,0,0,192,192,64,96,96,32,48, + 48,16,24,24,8,12,12,4,6,6,5,21,21,8,1,252, + 248,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24, + 24,24,24,24,248,9,9,18,11,1,8,8,0,28,0,20, + 0,54,0,34,0,99,0,65,0,193,128,128,128,12,2,4, + 12,0,251,255,240,255,240,5,4,4,8,1,13,192,224,112, + 24,9,12,24,11,1,0,62,0,103,0,99,0,3,0,15, + 0,59,0,99,0,195,0,195,0,199,0,251,0,113,128,11, + 17,34,12,0,0,48,0,240,0,48,0,48,0,48,0,55, + 0,57,192,48,192,48,96,48,96,48,96,48,96,48,96,48, + 96,48,192,57,192,47,0,9,12,24,11,1,0,31,0,99, + 128,65,128,192,0,192,0,192,0,192,0,192,0,224,0,112, + 128,127,0,30,0,10,17,34,12,1,0,1,128,7,128,1, + 128,1,128,1,128,29,128,115,128,97,128,193,128,193,128,193, + 128,193,128,193,128,193,128,99,128,127,128,25,192,9,12,24, + 11,1,0,30,0,99,0,65,128,193,128,255,128,192,0,192, + 0,192,0,224,0,112,128,127,0,30,0,7,17,17,7,0, + 0,14,22,48,48,48,254,48,48,48,48,48,48,48,48,48, + 48,120,11,18,36,12,1,250,30,192,35,192,97,0,97,128, + 97,128,97,128,97,128,51,0,60,0,64,0,96,0,127,128, + 63,192,64,224,192,96,192,96,225,192,127,0,12,17,34,13, + 0,0,48,0,240,0,48,0,48,0,48,0,51,128,55,192, + 56,224,48,96,48,96,48,96,48,96,48,96,48,96,48,96, + 48,96,120,240,4,17,17,6,1,0,96,96,0,0,0,96, + 224,96,96,96,96,96,96,96,96,96,240,6,23,23,6,254, + 250,12,12,0,0,0,12,28,12,12,12,12,12,12,12,12, + 12,12,12,12,12,204,200,112,12,17,34,12,0,0,48,0, + 240,0,48,0,48,0,48,0,51,224,49,128,51,0,50,0, + 52,0,60,0,54,0,55,0,51,128,49,192,48,224,121,240, + 5,17,17,6,0,0,48,240,48,48,48,48,48,48,48,48, + 48,48,48,48,48,48,120,18,12,36,20,1,0,103,14,0, + 239,159,0,113,227,128,96,193,128,96,193,128,96,193,128,96, + 193,128,96,193,128,96,193,128,96,193,128,96,193,128,241,227, + 192,11,12,24,13,1,0,103,0,239,128,113,192,96,192,96, + 192,96,192,96,192,96,192,96,192,96,192,96,192,241,224,10, + 12,24,12,1,0,30,0,115,128,97,128,192,192,192,192,192, + 192,192,192,192,192,192,192,97,128,115,128,30,0,10,18,36, + 12,1,250,110,0,243,128,97,128,96,192,96,192,96,192,96, + 192,96,192,96,192,97,128,115,128,110,0,96,0,96,0,96, + 0,96,0,96,0,240,0,10,18,36,12,1,250,29,128,115, + 128,97,128,193,128,193,128,193,128,193,128,193,128,193,128,97, + 128,115,128,29,128,1,128,1,128,1,128,1,128,1,128,3, + 192,6,12,12,8,1,0,108,236,112,96,96,96,96,96,96, + 96,96,240,8,12,12,10,1,0,62,70,194,224,112,124,30, + 7,3,131,198,248,7,15,15,7,0,0,16,48,112,254,48, + 48,48,48,48,48,48,48,48,50,28,11,12,24,13,1,0, + 225,192,96,192,96,192,96,192,96,192,96,192,96,192,96,192, + 96,192,113,192,62,192,28,224,11,12,24,11,0,0,241,224, + 96,192,96,128,48,128,48,128,49,0,25,0,25,0,26,0, + 14,0,14,0,4,0,17,12,36,17,0,0,241,231,128,96, + 195,0,96,194,0,48,194,0,48,194,0,49,100,0,25,100, + 0,26,100,0,26,40,0,14,56,0,14,56,0,4,16,0, + 11,12,24,13,1,0,241,224,96,192,49,128,57,0,26,0, + 12,0,14,0,27,0,51,128,33,128,96,192,241,224,12,18, + 36,11,255,250,120,240,48,96,48,64,24,64,24,64,24,128, + 12,128,12,128,13,0,7,0,7,0,2,0,6,0,4,0, + 12,0,200,0,240,0,96,0,8,12,12,10,1,0,255,195, + 134,14,28,24,56,48,112,97,195,255,8,22,22,10,1,251, + 7,12,24,24,24,24,24,16,48,32,192,32,48,16,24,24, + 24,24,24,24,12,7,2,17,17,5,1,0,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,8,22,22, + 10,1,251,224,48,24,24,24,24,24,8,12,4,3,4,12, + 8,24,24,24,24,24,24,48,224,11,4,8,13,1,4,56, + 32,124,96,199,192,131,128,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,255,255,255,255,255,255,255,0,0,0,6,0,1,3,17, + 17,8,3,251,96,96,0,0,0,64,64,64,64,224,224,224, + 224,224,224,224,64,9,16,32,12,1,254,2,0,2,0,15, + 0,51,128,101,128,196,0,196,0,200,0,200,0,200,0,208, + 0,112,128,113,0,62,0,64,0,64,0,10,17,34,12,1, + 0,15,0,25,128,49,128,48,0,48,0,48,0,48,0,252, + 0,48,0,48,0,48,0,48,0,48,0,48,0,120,64,190, + 192,231,128,11,12,24,13,1,3,192,96,238,224,127,192,49, + 128,96,192,96,192,96,192,96,192,49,128,127,192,238,224,192, + 96,14,17,34,14,0,0,248,124,112,48,48,32,24,96,24, + 64,12,192,12,128,7,128,3,0,31,224,3,0,31,224,3, + 0,3,0,3,0,3,0,15,192,2,17,17,6,2,0,192, + 192,192,192,192,192,192,0,0,0,192,192,192,192,192,192,192, + 8,20,20,12,2,253,28,38,70,96,112,56,60,78,135,131, + 195,226,116,56,28,14,6,98,100,56,6,2,2,8,1,14, + 204,204,17,17,51,19,1,0,7,240,0,28,28,0,48,6, + 0,97,227,0,71,49,0,196,25,128,140,0,128,136,0,128, + 136,0,128,136,0,128,140,0,128,196,25,128,71,113,0,97, + 195,0,48,6,0,28,28,0,7,240,0,7,9,9,8,0, + 8,120,204,12,124,204,204,118,0,254,9,10,20,13,1,1, + 8,128,25,128,51,0,102,0,204,0,204,0,102,0,51,0, + 25,128,8,128,11,7,14,15,2,1,255,224,255,224,0,96, + 0,96,0,96,0,96,0,96,6,2,2,8,0,5,252,252, + 17,17,51,19,1,0,7,240,0,28,28,0,48,6,0,103, + 227,0,66,49,0,194,17,128,130,16,128,130,48,128,131,224, + 128,130,64,128,130,32,128,194,49,128,71,25,0,96,3,0, + 48,6,0,28,28,0,7,240,0,7,2,2,8,1,14,254, + 254,7,7,7,9,1,10,56,68,130,130,130,68,56,10,11, + 22,14,2,0,12,0,12,0,12,0,255,192,255,192,12,0, + 12,0,12,0,0,0,255,192,255,192,6,10,10,7,0,7, + 56,76,140,12,8,16,48,32,68,252,6,10,10,7,0,7, + 56,76,140,8,48,8,12,140,136,112,5,4,4,8,2,13, + 24,56,112,192,11,17,34,13,1,251,225,192,96,192,96,192, + 96,192,96,192,96,192,96,192,96,192,96,192,113,192,126,192, + 92,224,64,0,192,0,192,0,224,0,64,0,9,21,42,11, + 1,252,31,128,57,0,121,0,121,0,249,0,249,0,249,0, + 121,0,121,0,57,0,25,0,9,0,9,0,9,0,9,0, + 9,0,9,0,9,0,9,0,9,0,9,0,2,3,3,6, + 2,5,192,192,192,6,6,6,8,1,250,16,48,60,12,204, + 120,5,10,10,7,1,7,32,96,160,32,32,32,32,32,32, + 248,7,9,9,8,0,8,56,68,198,198,198,68,56,0,254, + 9,10,20,12,2,1,136,0,204,0,102,0,51,0,25,128, + 25,128,51,0,102,0,204,0,136,0,16,17,34,18,1,0, + 32,24,96,24,160,48,32,96,32,96,32,192,32,192,33,132, + 35,12,251,28,6,20,6,36,12,100,24,68,24,255,48,4, + 48,4,15,17,34,18,1,0,32,24,96,24,160,48,32,96, + 32,96,32,192,32,192,33,156,35,38,251,70,6,6,6,4, + 12,8,24,24,24,16,48,34,48,126,17,17,51,18,0,0, + 56,12,0,76,12,0,140,24,0,8,48,0,48,48,0,8, + 96,0,12,96,0,140,194,0,137,134,0,113,142,0,3,10, + 0,3,18,0,6,50,0,12,34,0,12,127,128,24,2,0, + 24,2,0,8,17,17,11,1,251,12,12,0,0,8,8,24, + 24,56,48,112,224,195,195,193,99,62,17,22,66,17,0,0, + 12,0,0,14,0,0,7,0,0,1,128,0,0,0,0,0, + 128,0,1,192,0,1,192,0,1,96,0,2,96,0,2,48, + 0,6,48,0,4,48,0,4,24,0,12,24,0,15,248,0, + 8,12,0,24,12,0,16,12,0,16,6,0,48,6,0,252, + 31,128,17,22,66,17,0,0,0,24,0,0,56,0,0,112, + 0,0,192,0,0,0,0,0,128,0,1,192,0,1,192,0, + 1,96,0,2,96,0,2,48,0,6,48,0,4,48,0,4, + 24,0,12,24,0,15,248,0,8,12,0,24,12,0,16,12, + 0,16,6,0,48,6,0,252,31,128,17,22,66,17,0,0, + 1,128,0,3,192,0,6,96,0,4,32,0,0,0,0,0, + 128,0,1,192,0,1,192,0,1,96,0,2,96,0,2,48, + 0,6,48,0,4,48,0,4,24,0,12,24,0,15,248,0, + 8,12,0,24,12,0,16,12,0,16,6,0,48,6,0,252, + 31,128,17,21,63,17,0,0,3,32,0,7,224,0,4,192, + 0,0,0,0,0,128,0,1,192,0,1,192,0,1,96,0, + 2,96,0,2,48,0,6,48,0,4,48,0,4,24,0,12, + 24,0,15,248,0,8,12,0,24,12,0,16,12,0,16,6, + 0,48,6,0,252,31,128,17,21,63,17,0,0,6,96,0, + 6,96,0,0,0,0,0,0,0,0,128,0,1,192,0,1, + 192,0,1,96,0,2,96,0,2,48,0,6,48,0,4,48, + 0,4,24,0,12,24,0,15,248,0,8,12,0,24,12,0, + 16,12,0,16,6,0,48,6,0,252,31,128,17,23,69,17, + 0,0,1,192,0,2,32,0,2,32,0,2,32,0,1,192, + 0,0,0,0,0,128,0,1,192,0,1,192,0,1,96,0, + 2,96,0,2,48,0,6,48,0,4,48,0,4,24,0,12, + 24,0,15,248,0,8,12,0,24,12,0,16,12,0,16,6, + 0,48,6,0,252,31,128,21,17,51,22,0,0,3,255,240, + 0,240,48,1,176,16,1,48,16,3,48,0,2,48,0,6, + 48,64,4,48,64,4,63,192,12,48,64,15,240,64,8,48, + 0,24,48,0,16,48,8,48,48,8,32,48,24,248,255,248, + 14,23,46,16,1,250,7,228,28,60,56,12,96,4,96,4, + 192,0,192,0,192,0,192,0,192,0,192,0,192,0,96,0, + 96,4,56,8,30,56,7,224,1,0,3,0,3,192,0,192, + 12,192,7,128,13,22,44,15,1,0,24,0,28,0,14,0, + 3,0,0,0,255,240,48,48,48,16,48,16,48,0,48,0, + 48,64,48,64,63,192,48,64,48,64,48,0,48,0,48,8, + 48,8,48,24,255,248,13,22,44,15,1,0,0,96,0,224, + 1,192,3,0,0,0,255,240,48,48,48,16,48,16,48,0, + 48,0,48,64,48,64,63,192,48,64,48,64,48,0,48,0, + 48,8,48,8,48,24,255,248,13,22,44,15,1,0,6,0, + 15,0,25,128,16,128,0,0,255,240,48,48,48,16,48,16, + 48,0,48,0,48,64,48,64,63,192,48,64,48,64,48,0, + 48,0,48,8,48,8,48,24,255,248,13,21,42,15,1,0, + 25,128,25,128,0,0,0,0,255,240,48,48,48,16,48,16, + 48,0,48,0,48,64,48,64,63,192,48,64,48,64,48,0, + 48,0,48,8,48,8,48,24,255,248,7,22,22,8,0,0, + 192,224,112,24,0,126,24,24,24,24,24,24,24,24,24,24, + 24,24,24,24,24,126,7,22,22,8,1,0,6,14,28,48, + 0,252,48,48,48,48,48,48,48,48,48,48,48,48,48,48, + 48,252,6,22,22,8,1,0,48,120,204,132,0,252,48,48, + 48,48,48,48,48,48,48,48,48,48,48,48,48,252,6,21, + 21,8,1,0,204,204,0,0,252,48,48,48,48,48,48,48, + 48,48,48,48,48,48,48,48,252,16,17,34,17,0,0,127, + 224,24,56,24,28,24,6,24,6,24,3,24,3,255,3,255, + 3,24,3,24,3,24,3,24,6,24,6,24,28,24,56,127, + 224,16,21,42,18,1,0,3,32,7,224,4,192,0,0,240, + 31,48,4,56,4,56,4,44,4,38,4,38,4,35,4,33, + 132,33,132,32,196,32,100,32,100,32,52,32,28,32,28,248, + 12,16,22,44,18,1,0,12,0,14,0,7,0,1,128,0, + 0,7,224,28,56,56,28,96,6,96,6,192,3,192,3,192, + 3,192,3,192,3,192,3,192,3,96,6,96,6,56,28,28, + 56,7,224,16,22,44,18,1,0,0,48,0,112,0,224,1, + 128,0,0,7,224,28,56,56,28,96,6,96,6,192,3,192, + 3,192,3,192,3,192,3,192,3,192,3,96,6,96,6,56, + 28,28,56,7,224,16,22,44,18,1,0,1,128,3,192,6, + 96,4,32,0,0,7,224,28,56,56,28,96,6,96,6,192, + 3,192,3,192,3,192,3,192,3,192,3,192,3,96,6,96, + 6,56,28,28,56,7,224,16,21,42,18,1,0,3,32,7, + 224,4,192,0,0,7,224,28,56,56,28,96,6,96,6,192, + 3,192,3,192,3,192,3,192,3,192,3,192,3,96,6,96, + 6,56,28,28,56,7,224,16,21,42,18,1,0,6,96,6, + 96,0,0,0,0,7,224,28,56,56,28,96,6,96,6,192, + 3,192,3,192,3,192,3,192,3,192,3,192,3,96,6,96, + 6,56,28,28,56,7,224,10,9,18,12,1,1,192,192,97, + 128,51,0,30,0,12,0,30,0,51,0,97,128,192,192,16, + 19,38,18,1,255,0,4,7,228,28,56,56,28,96,38,96, + 70,192,67,192,131,192,131,193,3,193,3,194,3,194,3,100, + 6,104,6,56,28,28,56,39,224,32,0,16,22,44,18,1, + 0,6,0,7,0,3,128,0,192,0,0,252,31,48,4,48, + 4,48,4,48,4,48,4,48,4,48,4,48,4,48,4,48, + 4,48,4,48,4,48,8,24,8,28,48,7,224,16,22,44, + 18,1,0,0,48,0,112,0,224,1,128,0,0,252,31,48, + 4,48,4,48,4,48,4,48,4,48,4,48,4,48,4,48, + 4,48,4,48,4,48,4,48,8,24,8,28,48,7,224,16, + 22,44,18,1,0,1,128,3,192,6,96,4,32,0,0,252, + 31,48,4,48,4,48,4,48,4,48,4,48,4,48,4,48, + 4,48,4,48,4,48,4,48,4,48,8,24,8,28,48,7, + 224,16,21,42,18,1,0,6,96,6,96,0,0,0,0,252, + 31,48,4,48,4,48,4,48,4,48,4,48,4,48,4,48, + 4,48,4,48,4,48,4,48,4,48,8,24,8,28,48,7, + 224,16,22,44,18,1,0,0,48,0,112,0,224,1,128,0, + 0,252,63,48,12,56,8,24,24,28,16,12,48,6,32,6, + 96,3,64,3,192,1,128,1,128,1,128,1,128,1,128,1, + 128,7,224,13,17,34,15,1,0,252,0,48,0,48,0,48, + 0,63,192,48,112,48,48,48,24,48,24,48,24,48,48,48, + 112,63,192,48,0,48,0,48,0,252,0,10,17,34,12,1, + 0,30,0,51,0,97,128,97,128,97,128,97,128,99,0,108, + 0,103,0,99,128,97,128,97,192,96,192,96,192,108,192,108, + 128,231,0,9,17,34,11,1,0,96,0,112,0,56,0,12, + 0,0,0,62,0,103,0,99,0,3,0,15,0,59,0,99, + 0,195,0,195,0,199,0,251,0,113,128,9,17,34,11,1, + 0,3,0,7,0,14,0,24,0,0,0,62,0,103,0,99, + 0,3,0,15,0,59,0,99,0,195,0,195,0,199,0,251, + 0,113,128,9,17,34,11,1,0,12,0,30,0,51,0,33, + 0,0,0,62,0,103,0,99,0,3,0,15,0,59,0,99, + 0,195,0,195,0,199,0,251,0,113,128,9,16,32,11,1, + 0,50,0,126,0,76,0,0,0,62,0,103,0,99,0,3, + 0,15,0,59,0,99,0,195,0,195,0,199,0,251,0,113, + 128,9,16,32,11,1,0,102,0,102,0,0,0,0,0,62, + 0,103,0,99,0,3,0,15,0,59,0,99,0,195,0,195, + 0,199,0,251,0,113,128,9,18,36,11,1,0,28,0,34, + 0,34,0,34,0,28,0,0,0,62,0,103,0,99,0,3, + 0,15,0,59,0,99,0,195,0,195,0,199,0,251,0,113, + 128,14,12,24,16,1,0,60,240,103,152,99,12,3,12,15, + 252,59,0,99,0,195,0,195,0,199,132,251,248,112,240,9, + 18,36,11,1,250,31,0,99,128,65,128,192,0,192,0,192, + 0,192,0,192,0,224,0,112,128,127,0,30,0,8,0,24, + 0,30,0,6,0,102,0,60,0,9,17,34,11,1,0,96, + 0,112,0,56,0,12,0,0,0,30,0,99,0,65,128,193, + 128,255,128,192,0,192,0,192,0,224,0,112,128,127,0,30, + 0,9,17,34,11,1,0,3,0,7,0,14,0,24,0,0, + 0,30,0,99,0,65,128,193,128,255,128,192,0,192,0,192, + 0,224,0,112,128,127,0,30,0,9,17,34,11,1,0,12, + 0,30,0,51,0,33,0,0,0,30,0,99,0,65,128,193, + 128,255,128,192,0,192,0,192,0,224,0,112,128,127,0,30, + 0,9,16,32,11,1,0,51,0,51,0,0,0,0,0,30, + 0,99,0,65,128,193,128,255,128,192,0,192,0,192,0,224, + 0,112,128,127,0,30,0,6,17,17,6,255,0,192,224,112, + 24,0,56,24,24,24,24,24,24,24,24,24,24,60,5,17, + 17,6,1,0,24,56,112,192,0,96,224,96,96,96,96,96, + 96,96,96,96,240,6,17,17,6,0,0,48,120,204,132,0, + 48,112,48,48,48,48,48,48,48,48,48,120,6,16,16,6, + 0,0,204,204,0,0,112,48,48,48,48,48,48,48,48,48, + 48,120,10,17,34,12,1,0,192,0,113,128,30,0,60,0, + 198,0,31,0,115,128,97,128,192,192,192,192,192,192,192,192, + 192,192,192,192,97,128,115,128,30,0,11,16,32,13,1,0, + 25,0,63,0,38,0,0,0,103,0,239,128,113,192,96,192, + 96,192,96,192,96,192,96,192,96,192,96,192,96,192,241,224, + 10,17,34,12,1,0,96,0,112,0,56,0,12,0,0,0, + 30,0,115,128,97,128,192,192,192,192,192,192,192,192,192,192, + 192,192,97,128,115,128,30,0,10,17,34,12,1,0,3,0, + 7,0,14,0,24,0,0,0,30,0,115,128,97,128,192,192, + 192,192,192,192,192,192,192,192,192,192,97,128,115,128,30,0, + 10,17,34,12,1,0,12,0,30,0,51,0,33,0,0,0, + 30,0,115,128,97,128,192,192,192,192,192,192,192,192,192,192, + 192,192,97,128,115,128,30,0,10,16,32,12,1,0,25,0, + 63,0,38,0,0,0,30,0,115,128,97,128,192,192,192,192, + 192,192,192,192,192,192,192,192,97,128,115,128,30,0,10,16, + 32,12,1,0,51,0,51,0,0,0,0,0,30,0,115,128, + 97,128,192,192,192,192,192,192,192,192,192,192,192,192,97,128, + 115,128,30,0,10,10,20,12,1,1,12,0,12,0,0,0, + 0,0,255,192,255,192,0,0,0,0,12,0,12,0,10,14, + 28,12,1,255,0,192,30,192,115,128,99,128,198,192,196,192, + 204,192,200,192,216,192,208,192,113,128,115,128,222,0,192,0, + 11,17,34,13,1,0,96,0,112,0,56,0,12,0,0,0, + 225,192,96,192,96,192,96,192,96,192,96,192,96,192,96,192, + 96,192,113,192,62,192,28,224,11,17,34,13,1,0,1,128, + 3,128,7,0,12,0,0,0,225,192,96,192,96,192,96,192, + 96,192,96,192,96,192,96,192,96,192,113,192,62,192,28,224, + 11,17,34,13,1,0,12,0,30,0,51,0,33,0,0,0, + 225,192,96,192,96,192,96,192,96,192,96,192,96,192,96,192, + 96,192,113,192,62,192,28,224,11,16,32,13,1,0,51,0, + 51,0,0,0,0,0,225,192,96,192,96,192,96,192,96,192, + 96,192,96,192,96,192,96,192,113,192,62,192,28,224,11,22, + 44,11,0,251,1,128,3,128,7,0,12,0,0,0,241,224, + 96,192,96,128,48,128,48,128,49,0,25,0,25,0,26,0, + 14,0,14,0,4,0,12,0,8,0,24,0,240,0,224,0, + 10,22,44,12,1,251,96,0,224,0,96,0,96,0,96,0, + 110,0,115,128,97,128,96,192,96,192,96,192,96,192,96,192, + 96,192,97,128,115,128,110,0,96,0,96,0,96,0,96,0, + 240,0,11,21,42,11,0,251,51,0,51,0,0,0,0,0, + 241,224,96,192,96,128,48,128,48,128,49,0,25,0,25,0, + 26,0,14,0,14,0,4,0,12,0,8,0,24,0,240,0, + 224,0}; +/* + Fontname: -Adobe-Times-Medium-R-Normal--25-180-100-100-P-125-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 17, '1' Height: 17 + Calculated Max Values w=23 h=23 x= 3 y=13 dx=23 dy= 0 ascent=19 len=60 + Font Bounding box w=29 h=37 x=-4 y=-9 + Calculated Min Values x=-2 y=-6 dx= 0 dy= 0 + Pure Font ascent =17 descent=-6 + X Font ascent =17 descent=-6 + Max Font ascent =19 descent=-6 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_timR18r[3208] U8G_FONT_SECTION("u8g_font_timR18r") = { + 0,29,37,252,247,17,4,9,8,241,32,127,250,19,250,17, + 250,0,0,0,6,0,1,3,17,17,8,3,0,64,224,224, + 224,224,224,224,224,64,64,64,64,0,0,0,192,192,6,5, + 5,10,1,12,204,204,204,204,136,11,17,34,13,1,0,8, + 128,8,128,8,128,8,128,8,128,127,224,127,224,17,0,17, + 0,17,0,255,192,255,192,34,0,34,0,34,0,34,0,34, + 0,11,21,42,12,0,254,4,0,4,0,63,0,101,192,196, + 192,196,64,196,64,228,0,124,0,30,0,7,128,5,192,4, + 224,4,96,132,96,132,96,196,192,229,192,63,0,4,0,4, + 0,17,16,48,19,1,0,30,12,0,51,252,0,97,24,0, + 193,16,0,193,48,0,194,96,0,228,64,0,120,192,0,1, + 143,0,1,25,128,3,48,128,6,96,128,4,96,128,12,97, + 0,24,114,0,16,60,0,17,17,51,19,1,0,7,192,0, + 8,96,0,24,32,0,24,32,0,24,96,0,12,192,0,15, + 158,0,7,12,0,15,8,0,51,136,0,97,144,0,192,208, + 0,192,224,0,192,96,0,224,240,128,127,191,0,62,14,0, + 2,5,5,6,2,12,192,192,192,192,128,6,22,22,8,1, + 251,4,8,16,48,32,96,96,192,192,192,192,192,192,192,192, + 96,96,32,48,16,8,4,6,22,22,8,1,251,128,64,32, + 48,16,24,24,12,12,12,12,12,12,12,12,24,24,16,48, + 32,64,128,9,9,18,12,2,8,28,0,28,0,201,128,235, + 128,28,0,235,128,201,128,28,0,28,0,12,12,24,12,0, + 0,6,0,6,0,6,0,6,0,6,0,255,240,255,240,6, + 0,6,0,6,0,6,0,6,0,3,5,5,7,2,253,192, + 224,32,96,192,6,2,2,8,0,5,252,252,2,2,2,6, + 2,0,192,192,9,21,42,7,254,252,1,128,1,128,1,0, + 3,0,3,0,2,0,6,0,6,0,4,0,12,0,12,0, + 8,0,24,0,24,0,16,0,48,0,48,0,96,0,96,0, + 64,0,192,0,10,17,34,12,1,0,30,0,51,0,97,128, + 97,128,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,225,192,97,128,97,128,51,0,30,0,8,17,17,12, + 2,0,8,24,120,24,24,24,24,24,24,24,24,24,24,24, + 24,24,255,10,17,34,12,1,0,28,0,127,0,67,128,129, + 128,129,128,1,128,1,128,3,0,3,0,6,0,4,0,12, + 0,24,0,48,0,96,64,255,192,255,128,9,17,34,12,1, + 0,28,0,126,0,71,0,131,0,131,0,6,0,12,0,30, + 0,7,0,3,128,1,128,1,128,1,128,1,0,195,0,230, + 0,120,0,10,17,34,12,1,0,3,0,7,0,7,0,11, + 0,27,0,19,0,51,0,35,0,99,0,67,0,195,0,255, + 192,255,192,3,0,3,0,3,0,3,0,10,17,34,12,1, + 0,31,192,31,128,32,0,32,0,96,0,120,0,126,0,15, + 128,3,128,1,192,0,192,0,192,0,192,0,192,193,128,227, + 128,126,0,10,17,34,12,1,0,3,192,14,0,24,0,48, + 0,112,0,96,0,238,0,243,128,193,128,192,192,192,192,192, + 192,192,192,224,192,97,128,123,128,30,0,10,17,34,12,1, + 0,127,192,255,192,192,192,129,128,1,128,1,0,3,0,3, + 0,2,0,6,0,6,0,4,0,12,0,12,0,12,0,24, + 0,24,0,10,17,34,12,1,0,30,0,51,0,97,128,97, + 128,97,128,115,0,62,0,30,0,63,0,99,128,65,192,192, + 192,192,192,192,192,225,128,115,128,30,0,10,17,34,12,1, + 0,30,0,119,128,97,128,193,192,192,192,192,192,192,192,192, + 192,97,192,115,192,29,128,1,128,3,128,3,0,6,0,28, + 0,240,0,2,11,11,6,2,0,192,192,0,0,0,0,0, + 0,0,192,192,3,14,14,7,2,253,192,192,0,0,0,0, + 0,0,0,192,224,32,96,192,11,11,22,14,1,0,0,96, + 1,192,7,0,28,0,112,0,192,0,112,0,28,0,7,0, + 1,192,0,96,9,5,10,13,2,3,255,128,255,128,0,0, + 255,128,255,128,11,11,22,13,1,0,192,0,112,0,28,0, + 7,0,1,192,0,96,1,192,7,0,28,0,112,0,192,0, + 8,17,17,11,2,0,124,198,131,195,195,7,14,12,28,24, + 24,16,16,0,0,48,48,18,20,60,22,2,253,3,248,0, + 15,14,0,28,3,0,56,1,128,112,0,128,96,236,192,225, + 252,64,195,140,64,195,12,64,198,12,64,198,24,64,198,24, + 192,198,24,128,198,57,128,99,123,0,97,222,0,48,0,0, + 24,0,0,14,12,0,3,240,0,17,17,51,17,0,0,0, + 128,0,1,192,0,1,192,0,1,96,0,2,96,0,2,48, + 0,6,48,0,4,48,0,4,24,0,12,24,0,15,248,0, + 8,12,0,24,12,0,16,12,0,16,6,0,48,6,0,252, + 31,128,14,17,34,16,1,0,255,192,48,112,48,48,48,24, + 48,24,48,24,48,48,48,64,63,224,48,56,48,24,48,12, + 48,12,48,12,48,24,48,120,255,224,14,17,34,16,1,0, + 7,228,28,60,56,12,96,4,96,4,192,0,192,0,192,0, + 192,0,192,0,192,0,192,0,96,0,96,4,56,8,30,56, + 7,224,15,17,34,17,1,0,255,192,48,112,48,56,48,12, + 48,12,48,6,48,6,48,6,48,6,48,6,48,6,48,6, + 48,12,48,12,48,56,48,112,255,192,13,17,34,15,1,0, + 255,240,48,48,48,16,48,16,48,0,48,0,48,64,48,64, + 63,192,48,64,48,64,48,0,48,0,48,8,48,8,48,24, + 255,248,12,17,34,14,1,0,255,240,48,48,48,16,48,16, + 48,0,48,0,48,32,48,32,63,224,48,32,48,32,48,0, + 48,0,48,0,48,0,48,0,252,0,16,17,34,18,1,0, + 7,228,28,60,56,12,96,4,96,4,192,0,192,0,192,0, + 192,0,192,63,192,12,192,12,96,12,96,12,56,28,30,56, + 7,224,17,17,51,19,1,0,252,31,128,48,6,0,48,6, + 0,48,6,0,48,6,0,48,6,0,48,6,0,48,6,0, + 63,254,0,48,6,0,48,6,0,48,6,0,48,6,0,48, + 6,0,48,6,0,48,6,0,252,31,128,6,17,17,8,1, + 0,252,48,48,48,48,48,48,48,48,48,48,48,48,48,48, + 48,252,9,17,34,11,1,0,31,128,6,0,6,0,6,0, + 6,0,6,0,6,0,6,0,6,0,6,0,6,0,6,0, + 6,0,6,0,198,0,204,0,120,0,16,17,34,17,1,0, + 252,126,48,24,48,48,48,96,48,192,49,128,51,0,62,0, + 63,0,51,128,49,192,48,224,48,112,48,56,48,28,48,14, + 252,31,13,17,34,14,1,0,252,0,48,0,48,0,48,0, + 48,0,48,0,48,0,48,0,48,0,48,0,48,0,48,0, + 48,0,48,8,48,8,48,24,255,248,21,17,51,22,1,0, + 240,0,248,48,0,224,56,1,96,56,1,96,44,2,96,44, + 2,96,38,2,96,38,4,96,35,4,96,35,8,96,33,136, + 96,33,136,96,32,208,96,32,208,96,32,96,96,32,96,96, + 248,97,248,16,17,34,18,1,0,240,31,48,4,56,4,56, + 4,44,4,38,4,38,4,35,4,33,132,33,132,32,196,32, + 100,32,100,32,52,32,28,32,28,248,12,16,17,34,18,1, + 0,7,224,28,56,56,28,96,6,96,6,192,3,192,3,192, + 3,192,3,192,3,192,3,192,3,96,6,96,6,56,28,28, + 56,7,224,13,17,34,15,1,0,255,192,48,112,48,48,48, + 24,48,24,48,24,48,48,48,112,63,192,48,0,48,0,48, + 0,48,0,48,0,48,0,48,0,252,0,16,22,44,18,1, + 251,7,224,28,56,56,28,96,6,96,6,192,3,192,3,192, + 3,192,3,192,3,192,3,192,3,96,6,96,6,56,28,28, + 56,7,224,1,192,0,224,0,112,0,56,0,15,15,17,34, + 16,1,0,255,192,48,112,48,48,48,24,48,24,48,24,48, + 48,48,112,63,192,51,128,49,128,48,192,48,96,48,112,48, + 56,48,28,252,30,11,17,34,13,1,0,30,64,99,192,192, + 192,192,64,192,64,224,0,120,0,30,0,15,128,3,192,0, + 224,0,96,128,96,128,96,192,192,241,128,158,0,14,17,34, + 16,1,0,255,252,195,12,131,4,131,4,3,0,3,0,3, + 0,3,0,3,0,3,0,3,0,3,0,3,0,3,0,3, + 0,3,0,15,192,16,17,34,18,1,0,252,31,48,4,48, + 4,48,4,48,4,48,4,48,4,48,4,48,4,48,4,48, + 4,48,4,48,4,48,8,24,8,28,48,7,224,17,17,51, + 17,0,0,252,31,128,48,6,0,48,4,0,24,12,0,24, + 8,0,24,8,0,12,24,0,12,16,0,6,48,0,6,32, + 0,6,32,0,3,96,0,3,64,0,3,192,0,1,128,0, + 1,128,0,1,128,0,23,17,51,23,0,0,252,126,126,48, + 24,24,48,24,16,24,24,16,24,24,48,24,44,32,12,44, + 32,12,44,96,6,76,96,6,76,64,6,70,64,3,70,192, + 3,70,128,3,135,128,1,131,128,1,131,0,1,131,0,18, + 17,51,18,0,0,126,15,128,28,6,0,14,12,0,6,8, + 0,3,16,0,1,160,0,1,192,0,0,192,0,0,224,0, + 1,112,0,2,56,0,6,24,0,4,12,0,8,14,0,24, + 7,0,48,3,128,252,15,192,16,17,34,18,1,0,252,63, + 48,12,56,8,24,24,28,16,12,48,6,32,6,96,3,64, + 3,192,1,128,1,128,1,128,1,128,1,128,1,128,7,224, + 13,17,34,15,1,0,255,240,192,112,128,224,128,192,1,192, + 3,128,3,0,7,0,6,0,14,0,28,0,24,0,56,0, + 48,8,112,8,224,24,255,248,5,21,21,8,2,252,248,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,248,7,17,17,7,0,0,192,192,64,96,96,32,48, + 48,16,24,24,8,12,12,4,6,6,5,21,21,8,1,252, + 248,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24, + 24,24,24,24,248,9,9,18,11,1,8,8,0,28,0,20, + 0,54,0,34,0,99,0,65,0,193,128,128,128,12,2,4, + 12,0,251,255,240,255,240,5,4,4,8,1,13,192,224,112, + 24,9,12,24,11,1,0,62,0,103,0,99,0,3,0,15, + 0,59,0,99,0,195,0,195,0,199,0,251,0,113,128,11, + 17,34,12,0,0,48,0,240,0,48,0,48,0,48,0,55, + 0,57,192,48,192,48,96,48,96,48,96,48,96,48,96,48, + 96,48,192,57,192,47,0,9,12,24,11,1,0,31,0,99, + 128,65,128,192,0,192,0,192,0,192,0,192,0,224,0,112, + 128,127,0,30,0,10,17,34,12,1,0,1,128,7,128,1, + 128,1,128,1,128,29,128,115,128,97,128,193,128,193,128,193, + 128,193,128,193,128,193,128,99,128,127,128,25,192,9,12,24, + 11,1,0,30,0,99,0,65,128,193,128,255,128,192,0,192, + 0,192,0,224,0,112,128,127,0,30,0,7,17,17,7,0, + 0,14,22,48,48,48,254,48,48,48,48,48,48,48,48,48, + 48,120,11,18,36,12,1,250,30,192,35,192,97,0,97,128, + 97,128,97,128,97,128,51,0,60,0,64,0,96,0,127,128, + 63,192,64,224,192,96,192,96,225,192,127,0,12,17,34,13, + 0,0,48,0,240,0,48,0,48,0,48,0,51,128,55,192, + 56,224,48,96,48,96,48,96,48,96,48,96,48,96,48,96, + 48,96,120,240,4,17,17,6,1,0,96,96,0,0,0,96, + 224,96,96,96,96,96,96,96,96,96,240,6,23,23,6,254, + 250,12,12,0,0,0,12,28,12,12,12,12,12,12,12,12, + 12,12,12,12,12,204,200,112,12,17,34,12,0,0,48,0, + 240,0,48,0,48,0,48,0,51,224,49,128,51,0,50,0, + 52,0,60,0,54,0,55,0,51,128,49,192,48,224,121,240, + 5,17,17,6,0,0,48,240,48,48,48,48,48,48,48,48, + 48,48,48,48,48,48,120,18,12,36,20,1,0,103,14,0, + 239,159,0,113,227,128,96,193,128,96,193,128,96,193,128,96, + 193,128,96,193,128,96,193,128,96,193,128,96,193,128,241,227, + 192,11,12,24,13,1,0,103,0,239,128,113,192,96,192,96, + 192,96,192,96,192,96,192,96,192,96,192,96,192,241,224,10, + 12,24,12,1,0,30,0,115,128,97,128,192,192,192,192,192, + 192,192,192,192,192,192,192,97,128,115,128,30,0,10,18,36, + 12,1,250,110,0,243,128,97,128,96,192,96,192,96,192,96, + 192,96,192,96,192,97,128,115,128,110,0,96,0,96,0,96, + 0,96,0,96,0,240,0,10,18,36,12,1,250,29,128,115, + 128,97,128,193,128,193,128,193,128,193,128,193,128,193,128,97, + 128,115,128,29,128,1,128,1,128,1,128,1,128,1,128,3, + 192,6,12,12,8,1,0,108,236,112,96,96,96,96,96,96, + 96,96,240,8,12,12,10,1,0,62,70,194,224,112,124,30, + 7,3,131,198,248,7,15,15,7,0,0,16,48,112,254,48, + 48,48,48,48,48,48,48,48,50,28,11,12,24,13,1,0, + 225,192,96,192,96,192,96,192,96,192,96,192,96,192,96,192, + 96,192,113,192,62,192,28,224,11,12,24,11,0,0,241,224, + 96,192,96,128,48,128,48,128,49,0,25,0,25,0,26,0, + 14,0,14,0,4,0,17,12,36,17,0,0,241,231,128,96, + 195,0,96,194,0,48,194,0,48,194,0,49,100,0,25,100, + 0,26,100,0,26,40,0,14,56,0,14,56,0,4,16,0, + 11,12,24,13,1,0,241,224,96,192,49,128,57,0,26,0, + 12,0,14,0,27,0,51,128,33,128,96,192,241,224,12,18, + 36,11,255,250,120,240,48,96,48,64,24,64,24,64,24,128, + 12,128,12,128,13,0,7,0,7,0,2,0,6,0,4,0, + 12,0,200,0,240,0,96,0,8,12,12,10,1,0,255,195, + 134,14,28,24,56,48,112,97,195,255,8,22,22,10,1,251, + 7,12,24,24,24,24,24,16,48,32,192,32,48,16,24,24, + 24,24,24,24,12,7,2,17,17,5,1,0,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,8,22,22, + 10,1,251,224,48,24,24,24,24,24,8,12,4,3,4,12, + 8,24,24,24,24,24,24,48,224,11,4,8,13,1,4,56, + 32,124,96,199,192,131,128,255}; +/* + Fontname: -Adobe-Times-Medium-R-Normal--34-240-100-100-P-170-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 23, '1' Height: 23 + Calculated Max Values w=31 h=30 x= 4 y=18 dx=32 dy= 0 ascent=30 len=112 + Font Bounding box w=38 h=48 x=-5 y=-11 + Calculated Min Values x=-2 y=-7 dx= 0 dy= 0 + Pure Font ascent =23 descent=-7 + X Font ascent =23 descent=-7 + Max Font ascent =30 descent=-7 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_timR24[10419] U8G_FONT_SECTION("u8g_font_timR24") = { + 0,38,48,251,245,23,5,140,13,213,32,255,249,30,249,23, + 249,0,0,0,8,0,1,4,23,23,11,3,0,96,240,240, + 240,240,240,96,96,96,96,96,96,96,96,96,96,96,0,0, + 96,240,240,96,9,7,14,14,2,16,227,128,227,128,227,128, + 227,128,65,0,65,0,65,0,16,23,46,17,0,0,6,24, + 6,24,6,24,6,24,6,24,6,24,6,24,6,24,127,255, + 127,255,12,48,12,48,12,48,12,48,255,254,255,254,24,96, + 24,96,24,96,24,96,24,96,24,96,24,96,13,28,56,16, + 2,253,2,0,2,0,15,192,58,112,50,56,98,24,98,8, + 98,8,114,0,122,0,62,0,63,0,31,128,7,192,3,224, + 2,240,2,112,2,56,2,56,130,24,130,24,194,56,226,48, + 114,96,31,192,2,0,2,0,2,0,23,23,69,27,2,0, + 15,0,64,29,131,192,56,252,128,112,65,128,112,67,0,224, + 66,0,224,70,0,224,196,0,192,140,0,193,136,0,193,24, + 120,102,16,236,60,49,198,0,99,130,0,67,130,0,199,2, + 0,135,2,1,135,6,1,6,4,3,6,12,2,6,8,6, + 3,48,4,1,224,23,23,69,26,2,0,0,248,0,1,140, + 0,3,14,0,3,6,0,7,6,0,7,6,0,7,12,0, + 7,140,0,3,152,0,3,241,252,3,192,112,7,192,96,29, + 224,64,56,240,192,112,112,128,96,121,128,224,63,0,224,30, + 0,224,15,0,240,31,130,120,51,252,127,225,248,31,128,240, + 3,8,8,6,1,15,224,224,224,224,64,64,64,64,8,28, + 28,11,2,251,3,6,12,24,56,48,112,112,96,224,224,224, + 224,224,224,224,224,224,224,96,112,112,48,56,24,12,6,3, + 8,28,28,11,1,251,192,96,48,24,28,12,14,14,6,7, + 7,7,7,7,7,7,7,7,7,6,14,14,12,28,24,48, + 96,192,12,13,26,17,2,10,6,0,15,0,6,0,198,48, + 246,240,118,224,15,0,118,224,246,240,198,48,6,0,15,0, + 6,0,16,16,32,19,1,1,1,128,1,128,1,128,1,128, + 1,128,1,128,1,128,255,255,255,255,1,128,1,128,1,128, + 1,128,1,128,1,128,1,128,4,7,7,8,2,253,96,240, + 240,112,16,32,64,8,2,2,11,1,7,255,255,4,4,4, + 8,2,0,96,240,240,96,10,26,52,9,0,253,0,192,0, + 192,1,128,1,128,3,128,3,0,3,0,3,0,6,0,6, + 0,6,0,14,0,12,0,12,0,28,0,24,0,24,0,24, + 0,48,0,48,0,48,0,112,0,96,0,96,0,192,0,192, + 0,14,23,46,16,1,0,7,128,28,224,56,112,48,48,112, + 56,112,56,96,24,224,28,224,28,224,28,224,28,224,28,224, + 28,224,28,224,28,224,28,224,24,112,56,112,56,48,48,56, + 112,28,224,7,128,9,23,46,16,4,0,12,0,28,0,124, + 0,220,0,28,0,28,0,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,62,0,255,128,15,23,46,16,0,0,7, + 224,15,240,28,248,48,60,32,60,96,28,64,28,0,28,0, + 28,0,24,0,56,0,48,0,96,0,96,0,192,1,128,3, + 0,6,0,12,2,24,6,63,252,127,248,255,248,12,23,46, + 16,2,0,15,128,63,192,97,224,192,224,128,224,0,224,0, + 192,0,192,1,128,3,0,7,192,31,224,1,240,0,112,0, + 112,0,48,0,48,0,48,0,112,0,96,224,192,243,128,127, + 0,14,23,46,16,1,0,0,96,0,224,0,224,1,224,1, + 96,3,96,6,96,4,96,12,96,24,96,16,96,48,96,96, + 96,64,96,255,252,255,252,255,252,0,96,0,96,0,96,0, + 96,0,96,0,96,13,23,46,16,1,0,15,248,31,240,31, + 224,16,0,48,0,32,0,126,0,127,128,127,192,7,224,1, + 224,0,240,0,112,0,112,0,48,0,48,0,48,0,48,0, + 96,0,96,224,192,243,128,126,0,14,23,46,16,1,0,0, + 120,1,192,3,128,15,0,30,0,28,0,56,0,120,0,112, + 0,115,192,247,240,248,120,224,56,224,60,224,28,224,28,224, + 28,224,28,112,28,112,24,56,56,28,96,7,192,14,23,46, + 16,1,0,63,252,127,252,96,24,192,24,128,56,0,48,0, + 48,0,48,0,96,0,96,0,96,0,224,0,192,0,192,1, + 192,1,128,1,128,1,128,3,0,3,0,3,0,7,0,6, + 0,13,23,46,16,2,0,31,128,56,224,112,112,224,48,224, + 48,224,48,224,112,240,96,124,192,63,0,31,128,15,192,27, + 224,113,240,96,240,224,120,192,120,192,56,192,56,224,56,96, + 112,112,224,31,192,14,23,46,16,1,0,7,128,24,224,48, + 112,112,56,96,56,224,28,224,28,224,28,224,28,224,28,240, + 28,112,28,120,60,62,252,15,184,0,56,0,112,0,112,0, + 224,1,192,3,128,15,0,120,0,4,15,15,9,2,0,96, + 240,240,96,0,0,0,0,0,0,0,96,240,240,96,4,18, + 18,9,2,253,96,240,240,96,0,0,0,0,0,0,0,96, + 240,240,112,16,32,64,16,18,36,19,1,0,0,1,0,7, + 0,31,0,124,1,240,7,192,31,0,124,0,240,0,240,0, + 124,0,31,0,7,192,1,240,0,124,0,31,0,7,0,1, + 16,9,18,19,1,4,255,255,255,255,0,0,0,0,0,0, + 0,0,0,0,255,255,255,255,16,18,36,19,2,0,128,0, + 224,0,248,0,62,0,15,128,3,224,0,248,0,62,0,15, + 0,15,0,62,0,248,3,224,15,128,62,0,248,0,224,0, + 128,0,11,23,46,14,2,0,31,0,115,128,193,192,193,192, + 224,224,224,224,96,224,1,192,1,192,1,128,3,128,3,0, + 6,0,4,0,12,0,8,0,8,0,0,0,0,0,12,0, + 30,0,30,0,12,0,27,28,112,31,2,251,0,31,240,0, + 0,248,60,0,1,224,6,0,7,128,3,0,14,0,1,128, + 28,0,0,192,28,0,0,192,56,7,140,96,112,31,92,96, + 112,28,124,32,112,56,56,32,224,112,56,32,224,112,48,32, + 224,112,112,32,224,224,112,96,224,224,112,64,224,224,224,192, + 224,224,224,128,112,225,225,128,112,119,115,0,112,60,62,0, + 56,0,0,0,24,0,0,0,28,0,0,0,14,0,0,0, + 7,128,6,0,1,240,60,0,0,127,240,0,22,23,69,24, + 1,0,0,48,0,0,48,0,0,112,0,0,120,0,0,120, + 0,0,252,0,0,220,0,0,156,0,1,142,0,1,14,0, + 3,15,0,3,7,0,2,7,0,6,7,128,6,3,128,15, + 255,192,12,3,192,24,1,192,24,1,224,48,1,224,48,0, + 240,112,0,240,252,3,252,20,23,69,22,1,0,255,254,0, + 62,15,128,28,3,192,28,1,192,28,1,224,28,0,224,28, + 0,224,28,1,224,28,1,192,28,3,192,28,15,128,31,254, + 0,28,7,128,28,1,224,28,0,224,28,0,240,28,0,112, + 28,0,112,28,0,240,28,0,224,28,1,224,62,7,192,255, + 255,0,20,23,69,22,1,0,1,255,16,7,131,240,14,0, + 240,28,0,112,56,0,48,56,0,48,112,0,16,112,0,16, + 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,240, + 0,0,240,0,0,112,0,0,112,0,0,56,0,0,56,0, + 16,28,0,48,14,0,96,7,131,192,1,255,0,22,23,69, + 24,1,0,255,254,0,62,7,128,28,1,192,28,0,224,28, + 0,112,28,0,112,28,0,56,28,0,56,28,0,60,28,0, + 60,28,0,60,28,0,60,28,0,60,28,0,60,28,0,60, + 28,0,56,28,0,56,28,0,112,28,0,112,28,0,224,28, + 1,192,62,7,128,255,254,0,19,23,69,20,1,0,255,255, + 192,62,3,192,28,0,192,28,0,64,28,0,64,28,0,0, + 28,0,0,28,0,0,28,1,0,28,1,0,28,3,0,31, + 255,0,28,3,0,28,1,0,28,1,0,28,0,0,28,0, + 0,28,0,32,28,0,32,28,0,96,28,0,192,62,3,192, + 255,255,192,17,23,69,18,1,0,255,255,128,62,7,128,28, + 1,128,28,0,128,28,0,128,28,0,0,28,0,0,28,0, + 0,28,2,0,28,2,0,28,6,0,31,254,0,28,6,0, + 28,2,0,28,2,0,28,0,0,28,0,0,28,0,0,28, + 0,0,28,0,0,28,0,0,62,0,0,255,128,0,22,23, + 69,24,1,0,1,255,48,7,135,240,14,0,240,28,0,112, + 56,0,48,56,0,48,112,0,16,112,0,0,240,0,0,240, + 0,0,240,0,0,240,3,252,240,0,248,240,0,112,240,0, + 112,112,0,112,112,0,112,56,0,112,56,0,112,28,0,112, + 14,0,112,7,129,224,1,255,128,22,23,69,24,1,0,255, + 135,252,62,1,240,28,0,224,28,0,224,28,0,224,28,0, + 224,28,0,224,28,0,224,28,0,224,28,0,224,28,0,224, + 31,255,224,28,0,224,28,0,224,28,0,224,28,0,224,28, + 0,224,28,0,224,28,0,224,28,0,224,28,0,224,62,1, + 240,255,135,252,9,23,46,11,1,0,255,128,62,0,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,28,0,62,0,255,128,12,23,46,13,1,0,31,240, + 7,192,3,128,3,128,3,128,3,128,3,128,3,128,3,128, + 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, + 3,128,3,128,195,128,227,0,231,0,124,0,23,23,69,24, + 1,0,255,199,248,62,1,224,28,1,128,28,3,0,28,6, + 0,28,12,0,28,24,0,28,48,0,28,96,0,28,192,0, + 31,192,0,31,224,0,31,240,0,30,120,0,28,60,0,28, + 30,0,28,15,0,28,7,128,28,3,192,28,1,224,28,0, + 240,62,0,248,255,199,254,19,23,69,20,1,0,255,128,0, + 62,0,0,28,0,0,28,0,0,28,0,0,28,0,0,28, + 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, + 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,0, + 28,0,32,28,0,32,28,0,96,28,0,192,62,3,192,255, + 255,192,28,23,92,30,1,0,252,0,7,240,62,0,7,192, + 30,0,15,128,31,0,15,128,31,0,11,128,23,0,27,128, + 23,128,27,128,19,128,51,128,19,192,51,128,19,192,35,128, + 17,224,99,128,17,224,99,128,16,224,195,128,16,240,195,128, + 16,112,131,128,16,121,131,128,16,121,3,128,16,61,3,128, + 16,63,3,128,16,30,3,128,16,30,3,128,56,12,7,192, + 254,12,31,240,22,23,69,24,1,0,248,1,252,60,0,112, + 30,0,32,31,0,32,31,0,32,23,128,32,19,192,32,19, + 192,32,17,224,32,16,240,32,16,248,32,16,120,32,16,60, + 32,16,30,32,16,31,32,16,15,32,16,7,160,16,3,224, + 16,1,224,16,1,224,16,0,224,56,0,96,254,0,32,22, + 23,69,24,1,0,1,254,0,7,135,128,14,1,192,28,0, + 224,56,0,112,56,0,112,112,0,56,112,0,56,240,0,60, + 240,0,60,240,0,60,240,0,60,240,0,60,240,0,60,240, + 0,60,112,0,56,112,0,56,56,0,112,56,0,112,28,0, + 224,14,1,192,7,135,128,1,254,0,17,23,69,18,1,0, + 255,248,0,60,62,0,28,15,0,28,7,0,28,7,128,28, + 3,128,28,3,128,28,3,128,28,7,128,28,7,0,28,15, + 0,28,62,0,31,240,0,28,0,0,28,0,0,28,0,0, + 28,0,0,28,0,0,28,0,0,28,0,0,28,0,0,62, + 0,0,255,128,0,22,29,87,24,1,250,1,254,0,7,135, + 128,14,1,192,28,0,224,56,0,112,56,0,112,112,0,56, + 112,0,56,240,0,60,240,0,60,240,0,60,240,0,60,240, + 0,60,240,0,60,240,0,60,112,0,56,112,0,56,56,0, + 112,56,0,112,28,0,224,14,1,192,7,135,128,1,254,0, + 0,124,0,0,62,0,0,31,0,0,15,128,0,3,224,0, + 0,124,21,23,69,22,1,0,255,248,0,60,62,0,28,15, + 0,28,7,128,28,7,128,28,3,128,28,3,128,28,3,128, + 28,7,128,28,7,0,28,30,0,31,248,0,28,240,0,28, + 120,0,28,60,0,28,60,0,28,30,0,28,15,0,28,15, + 128,28,7,128,28,3,192,62,1,224,255,129,248,15,23,46, + 18,1,0,7,228,28,60,56,28,112,12,112,4,112,6,120, + 0,124,0,62,0,31,128,15,224,7,240,1,248,0,124,0, + 62,0,30,128,14,128,14,192,14,224,12,112,28,124,120,103, + 240,19,23,69,20,1,0,255,255,224,240,225,224,192,224,96, + 192,224,96,128,224,32,128,224,32,0,224,0,0,224,0,0, + 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, + 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, + 0,224,0,0,224,0,1,240,0,7,252,0,22,23,69,24, + 1,0,255,129,252,62,0,112,28,0,32,28,0,32,28,0, + 32,28,0,32,28,0,32,28,0,32,28,0,32,28,0,32, + 28,0,32,28,0,32,28,0,32,28,0,32,28,0,32,28, + 0,32,28,0,32,28,0,32,30,0,96,14,0,64,15,0, + 192,7,195,128,1,254,0,22,23,69,23,1,0,255,1,252, + 124,0,112,60,0,96,30,0,64,30,0,192,14,0,192,15, + 0,128,15,1,128,7,1,128,7,129,0,3,131,0,3,195, + 0,3,194,0,1,198,0,1,230,0,0,228,0,0,236,0, + 0,124,0,0,120,0,0,120,0,0,56,0,0,48,0,0, + 16,0,31,23,92,32,1,0,255,63,224,254,124,15,128,120, + 60,7,0,48,28,7,128,48,30,7,128,96,30,3,128,96, + 14,3,192,96,15,3,192,192,7,3,224,192,7,135,224,192, + 7,134,225,128,3,132,241,128,3,204,241,128,3,204,115,0, + 1,216,123,0,1,216,59,0,1,248,62,0,0,240,62,0, + 0,240,28,0,0,224,28,0,0,96,28,0,0,96,8,0, + 0,64,8,0,22,23,69,24,1,0,255,195,252,63,0,240, + 31,0,224,15,0,192,7,129,128,7,131,0,3,198,0,1, + 230,0,1,236,0,0,248,0,0,120,0,0,120,0,0,124, + 0,0,222,0,1,158,0,1,143,0,3,15,128,6,7,128, + 14,3,192,12,3,224,24,1,224,56,1,240,254,7,252,22, + 23,69,24,1,0,255,192,252,63,0,56,30,0,48,15,0, + 96,15,128,192,7,128,128,3,193,128,3,195,0,1,227,0, + 0,246,0,0,252,0,0,124,0,0,56,0,0,56,0,0, + 56,0,0,56,0,0,56,0,0,56,0,0,56,0,0,56, + 0,0,56,0,0,124,0,1,255,0,19,23,69,20,1,0, + 63,255,224,56,3,192,96,7,128,96,7,128,64,15,0,64, + 30,0,0,30,0,0,60,0,0,120,0,0,120,0,0,240, + 0,1,224,0,1,224,0,3,192,0,3,192,0,7,128,0, + 15,0,0,15,0,32,30,0,32,60,0,96,60,0,96,120, + 1,192,255,255,192,7,28,28,11,3,251,254,240,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,240,254,13,23,46,9,254,0,192,0,224, + 0,96,0,112,0,48,0,56,0,24,0,28,0,12,0,14, + 0,6,0,7,0,3,0,3,128,1,128,1,192,0,192,0, + 224,0,96,0,112,0,48,0,56,0,24,7,28,28,11,1, + 251,254,30,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,30,254,13,13,26, + 16,1,10,7,0,7,0,15,128,13,128,24,192,24,192,48, + 96,48,96,112,112,96,48,224,56,192,24,192,24,17,2,6, + 17,0,251,255,255,128,255,255,128,7,6,6,11,1,17,192, + 224,112,24,12,6,13,15,30,15,1,0,31,128,49,192,112, + 224,112,224,96,224,3,224,14,224,24,224,48,224,96,224,224, + 224,225,224,242,232,126,248,60,112,15,23,46,16,0,0,24, + 0,248,0,56,0,56,0,56,0,56,0,56,0,56,0,57, + 240,59,248,60,124,56,28,56,30,56,14,56,14,56,14,56, + 14,56,14,56,12,56,28,56,24,60,112,15,224,12,15,30, + 15,1,0,15,128,56,192,112,224,96,224,224,96,192,0,192, + 0,192,0,192,0,224,0,224,16,112,48,124,96,63,192,31, + 0,15,23,46,16,1,0,0,24,0,248,0,56,0,56,0, + 56,0,56,0,56,0,56,15,184,24,248,48,120,112,56,96, + 56,224,56,224,56,224,56,224,56,224,56,240,56,112,120,120, + 248,63,190,15,48,12,15,30,15,1,0,15,128,57,192,96, + 224,96,112,192,112,255,240,192,0,192,0,192,0,224,0,224, + 16,112,48,124,96,63,192,15,0,12,23,46,11,0,0,3, + 224,6,112,12,112,12,48,28,0,28,0,28,0,28,0,255, + 192,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,28,0,28,0,62,0,255,128,14,22,44, + 16,1,249,15,192,24,252,48,124,112,48,112,48,112,48,112, + 48,56,112,28,224,15,128,24,0,48,0,120,0,127,224,63, + 248,31,252,96,12,192,12,192,28,240,56,127,224,31,128,16, + 23,46,16,0,0,24,0,248,0,56,0,56,0,56,0,56, + 0,56,0,56,0,57,240,59,248,62,60,60,28,56,28,56, + 28,56,28,56,28,56,28,56,28,56,28,56,28,56,28,56, + 28,254,127,7,23,23,9,1,0,56,56,56,0,0,0,0, + 0,56,248,56,56,56,56,56,56,56,56,56,56,56,56,254, + 8,30,30,9,255,249,7,7,7,0,0,0,0,0,3,31, + 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, + 6,198,236,120,16,23,46,16,0,0,24,0,248,0,56,0, + 56,0,56,0,56,0,56,0,56,0,56,254,56,112,56,96, + 56,192,57,128,63,0,62,0,63,0,59,128,57,192,56,224, + 56,240,56,120,56,60,254,127,7,23,23,9,1,0,24,248, + 56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56, + 56,56,56,56,254,25,15,60,26,0,0,24,240,120,0,251, + 249,252,0,62,63,30,0,60,30,14,0,56,28,14,0,56, + 28,14,0,56,28,14,0,56,28,14,0,56,28,14,0,56, + 28,14,0,56,28,14,0,56,28,14,0,56,28,14,0,56, + 28,14,0,254,127,63,128,16,15,30,16,0,0,24,240,251, + 248,60,60,56,28,56,28,56,28,56,28,56,28,56,28,56, + 28,56,28,56,28,56,28,56,28,254,127,14,15,30,16,1, + 0,7,128,24,224,48,112,112,56,96,56,224,28,224,28,224, + 28,224,28,224,28,112,24,112,56,56,48,28,96,7,128,15, + 22,44,17,0,249,25,224,251,248,60,124,56,28,56,30,56, + 14,56,14,56,14,56,14,56,14,56,12,56,28,60,24,62, + 112,59,192,56,0,56,0,56,0,56,0,56,0,56,0,255, + 0,15,22,44,17,1,249,15,200,28,120,48,56,112,56,96, + 56,224,56,224,56,224,56,224,56,224,56,240,56,112,120,120, + 248,63,184,31,56,0,56,0,56,0,56,0,56,0,56,0, + 56,1,254,10,15,30,11,1,0,25,128,251,192,63,192,60, + 0,56,0,56,0,56,0,56,0,56,0,56,0,56,0,56, + 0,56,0,56,0,254,0,10,15,30,13,1,0,62,128,99, + 128,193,128,192,128,224,128,240,0,124,0,63,0,15,128,3, + 192,129,192,128,192,192,192,225,128,191,0,9,19,38,9,0, + 0,8,0,8,0,24,0,56,0,255,0,56,0,56,0,56, + 0,56,0,56,0,56,0,56,0,56,0,56,0,56,0,56, + 0,56,128,63,0,28,0,16,15,30,17,0,0,248,124,56, + 28,56,28,56,28,56,28,56,28,56,28,56,28,56,28,56, + 28,56,28,56,60,60,92,31,223,15,140,15,15,30,17,1, + 0,254,62,120,12,56,8,60,24,28,24,28,16,14,48,14, + 32,7,96,7,64,7,192,3,192,3,128,1,128,1,0,21, + 15,45,24,1,0,253,252,120,112,112,48,112,112,48,56,48, + 32,56,56,96,24,56,64,28,120,64,28,92,192,12,204,128, + 14,143,128,15,143,0,7,7,0,7,7,0,3,6,0,2, + 2,0,14,15,30,17,1,0,252,248,56,96,60,192,28,128, + 30,128,15,0,7,0,7,128,15,128,11,192,25,224,16,224, + 48,112,96,120,240,252,15,22,44,17,1,249,254,30,120,12, + 56,12,60,8,28,24,30,24,14,16,14,48,7,32,7,32, + 3,224,3,192,1,192,1,128,1,128,1,0,1,0,3,0, + 2,0,62,0,124,0,56,0,13,15,30,15,1,0,127,240, + 96,240,64,224,65,224,3,192,3,128,7,128,7,0,14,0, + 30,0,28,8,56,8,120,8,112,24,255,240,8,28,28,16, + 4,251,15,28,56,56,56,56,56,56,56,56,56,56,56,48, + 224,48,56,56,56,56,56,56,56,56,56,24,28,15,2,23, + 23,7,2,0,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,8,28,28,16,4, + 251,240,56,28,28,28,28,28,28,28,28,28,28,28,12,7, + 12,28,28,28,28,28,28,28,28,28,24,56,240,16,4,8, + 18,1,7,62,3,127,135,225,254,192,124,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,255,255,255,255,255,255,255,0,0,0,8, + 0,1,4,22,22,11,3,249,96,240,240,96,0,0,96,96, + 96,96,96,96,96,96,96,96,96,240,240,240,240,96,12,23, + 46,17,2,252,0,64,0,64,0,128,0,128,15,128,56,224, + 113,112,97,112,225,48,195,0,194,0,194,0,230,0,228,0, + 116,16,124,48,63,224,31,192,31,0,16,0,48,0,32,0, + 32,0,15,23,46,17,1,0,1,240,3,152,6,28,6,28, + 14,24,14,0,14,0,14,0,14,0,14,0,255,224,255,224, + 15,0,7,0,7,0,7,0,7,0,6,0,6,2,126,6, + 199,252,207,248,120,240,16,17,34,17,0,3,199,227,255,255, + 62,124,120,30,112,14,224,7,224,7,192,3,192,3,192,3, + 224,7,224,7,112,14,120,30,62,124,255,255,199,227,17,23, + 69,17,0,0,254,31,128,120,7,0,56,6,0,60,4,0, + 28,12,0,30,8,0,14,24,0,15,16,0,7,48,0,7, + 160,0,3,224,0,3,192,0,63,254,0,1,192,0,1,192, + 0,1,192,0,63,254,0,1,192,0,1,192,0,1,192,0, + 1,192,0,1,192,0,7,240,0,2,23,23,7,2,0,192, + 192,192,192,192,192,192,192,192,0,0,0,0,0,192,192,192, + 192,192,192,192,192,192,12,28,56,17,2,251,31,128,49,192, + 97,192,97,192,113,128,56,0,60,0,30,0,15,0,63,128, + 99,192,193,224,192,224,192,112,224,48,112,48,120,48,60,96, + 31,192,15,0,7,128,3,192,1,192,24,224,56,96,56,96, + 56,192,31,128,9,3,6,11,1,18,227,128,227,128,227,128, + 22,23,69,25,1,0,0,252,0,3,255,0,14,1,192,24, + 0,96,48,0,48,96,0,24,96,127,24,193,199,12,195,131, + 12,195,1,12,199,0,12,199,0,12,199,0,12,199,0,12, + 199,128,12,67,129,24,97,230,24,96,124,48,48,0,48,24, + 0,96,14,1,192,7,255,0,1,252,0,9,13,26,9,0, + 10,60,0,78,0,198,0,198,0,30,0,102,0,198,0,198, + 0,239,128,123,0,0,0,0,0,255,0,13,13,26,17,1, + 1,2,8,6,24,12,48,24,96,56,224,113,192,227,128,113, + 192,56,224,24,96,12,48,6,24,2,8,16,9,18,18,1, + 4,255,255,255,255,0,3,0,3,0,3,0,3,0,3,0, + 3,0,3,8,2,2,11,1,7,255,255,22,23,69,25,1, + 0,0,254,0,3,255,0,14,1,192,24,0,96,48,0,48, + 35,252,24,96,199,24,192,195,12,192,195,12,192,195,12,192, + 198,12,192,248,12,192,220,12,192,204,12,192,206,12,64,198, + 8,96,199,24,35,227,208,48,0,48,24,0,96,14,1,192, + 3,255,0,0,252,0,10,2,4,11,0,18,255,192,255,192, + 10,10,20,13,1,13,30,0,63,0,97,128,192,192,192,192, + 192,192,192,192,97,128,63,0,30,0,16,20,40,19,1,0, + 1,128,1,128,1,128,1,128,1,128,1,128,1,128,255,255, + 255,255,1,128,1,128,1,128,1,128,1,128,1,128,1,128, + 1,128,0,0,255,255,255,255,9,14,28,10,0,9,60,0, + 78,0,135,0,3,0,3,0,7,0,6,0,12,0,24,0, + 16,0,32,0,64,128,255,0,254,0,9,14,28,10,0,9, + 62,0,71,0,131,0,3,0,3,0,6,0,60,0,7,0, + 3,128,1,128,1,128,193,128,227,0,126,0,7,6,6,11, + 3,17,6,14,28,48,96,192,16,22,44,17,0,249,248,124, + 56,28,56,28,56,28,56,28,56,28,56,28,56,28,56,28, + 56,28,56,28,56,60,60,124,63,223,47,152,32,0,112,0, + 112,0,112,0,112,0,112,0,32,0,13,29,58,15,1,250, + 7,248,30,32,62,32,126,32,126,32,254,32,254,32,254,32, + 254,32,126,32,126,32,62,32,30,32,14,32,2,32,2,32, + 2,32,2,32,2,32,2,32,2,32,2,32,2,32,2,32, + 2,32,2,32,2,32,2,32,2,32,4,4,4,8,2,7, + 96,240,240,96,6,7,7,11,2,249,32,96,120,28,12,28, + 248,6,14,14,10,2,9,48,240,48,48,48,48,48,48,48, + 48,48,48,48,252,9,13,26,10,0,10,62,0,99,0,195, + 128,193,128,193,128,193,128,193,128,225,128,99,0,62,0,0, + 0,0,0,255,128,13,13,26,16,2,1,130,0,195,0,97, + 128,48,192,56,224,28,112,14,56,28,112,56,224,48,192,97, + 128,195,0,130,0,22,23,69,25,2,0,48,0,96,240,0, + 96,48,0,192,48,1,192,48,1,128,48,3,0,48,3,0, + 48,6,0,48,14,0,48,12,16,48,24,48,48,24,112,48, + 48,112,252,96,240,0,97,176,0,193,48,1,194,48,1,134, + 48,3,12,48,3,31,252,6,0,48,12,0,48,12,0,48, + 23,23,69,25,1,0,48,0,192,240,0,192,48,1,128,48, + 3,128,48,3,0,48,6,0,48,6,0,48,12,0,48,28, + 0,48,24,240,48,49,56,48,50,28,48,96,12,252,224,12, + 0,192,28,1,128,24,3,128,48,3,0,96,6,0,64,6, + 0,128,12,1,2,24,3,252,24,3,248,24,23,69,25,0, + 0,62,0,24,71,0,24,131,0,48,3,0,112,3,0,96, + 6,0,192,60,0,192,7,1,128,3,131,128,1,131,4,1, + 134,12,193,134,28,227,12,28,126,24,60,0,24,108,0,48, + 76,0,112,140,0,97,140,0,195,12,0,199,255,1,128,12, + 3,0,12,3,0,12,11,22,44,14,1,249,6,0,15,0, + 15,0,6,0,0,0,2,0,2,0,6,0,4,0,12,0, + 24,0,56,0,48,0,112,0,112,0,224,192,224,224,224,224, + 112,96,112,96,57,192,31,0,22,30,90,24,1,0,6,0, + 0,7,0,0,3,128,0,0,192,0,0,96,0,0,48,0, + 0,0,0,0,48,0,0,48,0,0,112,0,0,120,0,0, + 120,0,0,252,0,0,220,0,0,156,0,1,142,0,1,14, + 0,3,15,0,3,7,0,2,7,0,6,7,128,6,3,128, + 15,255,192,12,3,192,24,1,192,24,1,224,48,1,224,48, + 0,240,112,0,240,252,3,252,22,30,90,24,1,0,0,1, + 128,0,3,128,0,7,0,0,12,0,0,24,0,0,48,0, + 0,0,0,0,48,0,0,48,0,0,112,0,0,120,0,0, + 120,0,0,252,0,0,220,0,0,156,0,1,142,0,1,14, + 0,3,15,0,3,7,0,2,7,0,6,7,128,6,3,128, + 15,255,192,12,3,192,24,1,192,24,1,224,48,1,224,48, + 0,240,112,0,240,252,3,252,22,30,90,24,1,0,0,48, + 0,0,120,0,0,252,0,1,206,0,3,3,0,2,1,0, + 0,0,0,0,48,0,0,48,0,0,112,0,0,120,0,0, + 120,0,0,252,0,0,220,0,0,156,0,1,142,0,1,14, + 0,3,15,0,3,7,0,2,7,0,6,7,128,6,3,128, + 15,255,192,12,3,192,24,1,192,24,1,224,48,1,224,48, + 0,240,112,0,240,252,3,252,22,28,84,24,1,0,0,224, + 128,1,249,128,3,63,0,2,14,0,0,0,0,0,48,0, + 0,48,0,0,112,0,0,120,0,0,120,0,0,252,0,0, + 220,0,0,156,0,1,142,0,1,14,0,3,15,0,3,7, + 0,2,7,0,6,7,128,6,3,128,15,255,192,12,3,192, + 24,1,192,24,1,224,48,1,224,48,0,240,112,0,240,252, + 3,252,22,28,84,24,1,0,1,199,0,1,199,0,1,199, + 0,0,0,0,0,0,0,0,48,0,0,48,0,0,112,0, + 0,120,0,0,120,0,0,252,0,0,220,0,0,156,0,1, + 142,0,1,14,0,3,15,0,3,7,0,2,7,0,6,7, + 128,6,3,128,15,255,192,12,3,192,24,1,192,24,1,224, + 48,1,224,48,0,240,112,0,240,252,3,252,22,30,90,24, + 1,0,0,112,0,0,248,0,1,140,0,1,4,0,1,140, + 0,0,248,0,0,112,0,0,0,0,0,48,0,0,48,0, + 0,120,0,0,120,0,0,252,0,0,220,0,0,156,0,1, + 142,0,1,14,0,3,15,0,3,7,0,2,7,0,6,7, + 128,6,3,128,15,255,192,12,3,192,24,1,192,24,1,224, + 48,1,224,48,0,240,112,0,240,252,3,252,28,23,92,30, + 1,0,0,255,255,224,0,31,129,224,0,31,0,96,0,55, + 0,32,0,55,0,32,0,103,0,0,0,103,0,0,0,71, + 0,128,0,199,0,128,0,199,1,128,1,135,3,128,1,135, + 255,128,3,7,3,128,3,7,1,128,7,255,0,128,6,7, + 0,128,12,7,0,0,12,7,0,16,24,7,0,16,24,7, + 0,48,48,7,0,96,48,15,129,224,254,63,255,224,20,30, + 90,22,1,249,1,255,16,7,131,240,14,0,240,28,0,112, + 56,0,48,56,0,48,112,0,16,112,0,16,240,0,0,240, + 0,0,240,0,0,240,0,0,240,0,0,240,0,0,240,0, + 0,112,0,0,112,0,0,56,0,0,56,0,16,28,0,48, + 14,0,96,7,131,192,1,255,0,0,64,0,0,192,0,0, + 240,0,0,56,0,0,24,0,0,56,0,1,240,0,19,30, + 90,20,1,0,3,0,0,3,128,0,1,192,0,0,96,0, + 0,48,0,0,24,0,0,0,0,255,255,192,62,3,192,28, + 0,192,28,0,64,28,0,64,28,0,0,28,0,0,28,0, + 0,28,1,0,28,1,0,28,3,0,31,255,0,28,3,0, + 28,1,0,28,1,0,28,0,0,28,0,0,28,0,32,28, + 0,32,28,0,96,28,0,192,62,3,192,255,255,192,19,30, + 90,20,1,0,0,6,0,0,14,0,0,28,0,0,48,0, + 0,96,0,0,192,0,0,0,0,255,255,192,62,3,192,28, + 0,192,28,0,64,28,0,64,28,0,0,28,0,0,28,0, + 0,28,1,0,28,1,0,28,3,0,31,255,0,28,3,0, + 28,1,0,28,1,0,28,0,0,28,0,0,28,0,32,28, + 0,32,28,0,96,28,0,192,62,3,192,255,255,192,19,30, + 90,20,1,0,0,48,0,0,120,0,0,252,0,1,206,0, + 3,3,0,2,1,0,0,0,0,255,255,192,62,3,192,28, + 0,192,28,0,64,28,0,64,28,0,0,28,0,0,28,0, + 0,28,1,0,28,1,0,28,3,0,31,255,0,28,3,0, + 28,1,0,28,1,0,28,0,0,28,0,0,28,0,32,28, + 0,32,28,0,96,28,0,192,62,3,192,255,255,192,19,28, + 84,20,1,0,3,142,0,3,142,0,3,142,0,0,0,0, + 0,0,0,255,255,192,62,3,192,28,0,192,28,0,64,28, + 0,64,28,0,0,28,0,0,28,0,0,28,1,0,28,1, + 0,28,3,0,31,255,0,28,3,0,28,1,0,28,1,0, + 28,0,0,28,0,0,28,0,32,28,0,32,28,0,96,28, + 0,192,62,3,192,255,255,192,9,30,60,11,1,0,96,0, + 112,0,56,0,12,0,6,0,3,0,0,0,255,128,62,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,28,0,28,0,62,0,255,128,9,30,60,11,1,0, + 1,128,3,128,7,0,12,0,24,0,48,0,0,0,255,128, + 62,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,28,0,28,0,28,0,62,0,255,128,10,30,60,11, + 1,0,12,0,30,0,63,0,115,128,192,192,128,64,0,0, + 255,128,62,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,28,0,28,0,28,0,28,0,62,0,255,128,9,28, + 56,11,1,0,227,128,227,128,227,128,0,0,0,0,255,128, + 62,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,28,0,28,0,28,0,62,0,255,128,22,23,69,24, + 1,0,255,254,0,62,7,128,28,1,192,28,0,224,28,0, + 112,28,0,112,28,0,56,28,0,56,28,0,60,28,0,60, + 28,0,60,255,192,60,255,192,60,28,0,60,28,0,60,28, + 0,56,28,0,56,28,0,112,28,0,112,28,0,224,28,1, + 192,62,7,128,255,254,0,22,29,87,24,1,0,0,224,128, + 1,249,128,3,63,0,2,14,0,0,0,0,0,0,0,248, + 1,252,60,0,112,30,0,32,31,0,32,31,0,32,23,128, + 32,19,192,32,19,192,32,17,224,32,16,240,32,16,248,32, + 16,120,32,16,60,32,16,30,32,16,31,32,16,15,32,16, + 7,160,16,3,224,16,1,224,16,1,224,16,0,224,56,0, + 96,254,0,32,22,30,90,24,1,0,3,0,0,3,128,0, + 1,192,0,0,96,0,0,48,0,0,24,0,0,0,0,1, + 254,0,7,135,128,14,1,192,28,0,224,56,0,112,56,0, + 112,112,0,56,112,0,56,240,0,60,240,0,60,240,0,60, + 240,0,60,240,0,60,240,0,60,240,0,60,112,0,56,112, + 0,56,56,0,112,56,0,112,28,0,224,14,1,192,7,135, + 128,1,254,0,22,30,90,24,1,0,0,1,128,0,3,128, + 0,7,0,0,12,0,0,24,0,0,48,0,0,0,0,1, + 254,0,7,135,128,14,1,192,28,0,224,56,0,112,56,0, + 112,112,0,56,112,0,56,240,0,60,240,0,60,240,0,60, + 240,0,60,240,0,60,240,0,60,240,0,60,112,0,56,112, + 0,56,56,0,112,56,0,112,28,0,224,14,1,192,7,135, + 128,1,254,0,22,30,90,24,1,0,0,48,0,0,120,0, + 0,252,0,1,206,0,3,3,0,2,1,0,0,0,0,1, + 254,0,7,135,128,14,1,192,28,0,224,56,0,112,56,0, + 112,112,0,56,112,0,56,240,0,60,240,0,60,240,0,60, + 240,0,60,240,0,60,240,0,60,240,0,60,112,0,56,112, + 0,56,56,0,112,56,0,112,28,0,224,14,1,192,7,135, + 128,1,254,0,22,28,84,24,1,0,0,224,128,1,249,128, + 3,63,0,2,14,0,0,0,0,1,254,0,7,135,128,14, + 1,192,28,0,224,56,0,112,56,0,112,112,0,56,112,0, + 56,240,0,60,240,0,60,240,0,60,240,0,60,240,0,60, + 240,0,60,240,0,60,112,0,56,112,0,56,56,0,112,56, + 0,112,28,0,224,14,1,192,7,135,128,1,254,0,22,28, + 84,24,1,0,1,199,0,1,199,0,1,199,0,0,0,0, + 0,0,0,1,254,0,7,135,128,14,1,192,28,0,224,56, + 0,112,56,0,112,112,0,56,112,0,56,240,0,60,240,0, + 60,240,0,60,240,0,60,240,0,60,240,0,60,240,0,60, + 112,0,56,112,0,56,56,0,112,56,0,112,28,0,224,14, + 1,192,7,135,128,1,254,0,16,16,32,19,1,0,64,2, + 224,7,112,14,56,28,28,56,14,112,7,224,3,192,3,192, + 7,224,14,112,28,56,56,28,112,14,224,7,64,2,22,27, + 81,24,1,254,0,0,16,0,0,48,1,254,96,7,135,192, + 14,1,192,28,1,224,56,3,112,56,2,112,112,6,56,112, + 12,56,240,8,60,240,24,60,240,48,60,240,96,60,240,64, + 60,240,192,60,240,128,60,113,128,56,115,0,56,58,0,112, + 62,0,112,28,0,224,30,1,192,55,135,128,33,254,0,96, + 0,0,64,0,0,22,30,90,24,1,0,0,192,0,0,224, + 0,0,112,0,0,24,0,0,12,0,0,6,0,0,0,0, + 255,129,252,62,0,112,28,0,32,28,0,32,28,0,32,28, + 0,32,28,0,32,28,0,32,28,0,32,28,0,32,28,0, + 32,28,0,32,28,0,32,28,0,32,28,0,32,28,0,32, + 28,0,32,28,0,96,30,0,96,14,0,64,15,0,192,7, + 195,128,1,254,0,22,30,90,24,1,0,0,1,128,0,3, + 128,0,7,0,0,12,0,0,24,0,0,48,0,0,0,0, + 255,129,252,62,0,112,28,0,32,28,0,32,28,0,32,28, + 0,32,28,0,32,28,0,32,28,0,32,28,0,32,28,0, + 32,28,0,32,28,0,32,28,0,32,28,0,32,28,0,32, + 28,0,32,28,0,96,30,0,96,14,0,64,15,0,192,7, + 195,128,1,254,0,22,30,90,24,1,0,0,24,0,0,60, + 0,0,126,0,0,231,0,1,129,128,1,0,128,0,0,0, + 255,129,252,62,0,112,28,0,32,28,0,32,28,0,32,28, + 0,32,28,0,32,28,0,32,28,0,32,28,0,32,28,0, + 32,28,0,32,28,0,32,28,0,32,28,0,32,28,0,32, + 28,0,32,28,0,96,30,0,96,14,0,64,15,0,192,7, + 195,128,1,254,0,22,28,84,24,1,0,1,199,0,1,199, + 0,1,199,0,0,0,0,0,0,0,255,129,252,62,0,112, + 28,0,32,28,0,32,28,0,32,28,0,32,28,0,32,28, + 0,32,28,0,32,28,0,32,28,0,32,28,0,32,28,0, + 32,28,0,32,28,0,32,28,0,32,28,0,32,28,0,96, + 30,0,96,14,0,64,15,0,192,7,195,128,1,254,0,22, + 30,90,24,1,0,0,0,192,0,1,192,0,3,128,0,6, + 0,0,12,0,0,24,0,0,0,0,255,192,252,63,0,56, + 30,0,48,15,0,96,15,128,192,7,128,128,3,193,128,3, + 195,0,1,227,0,0,246,0,0,252,0,0,124,0,0,56, + 0,0,56,0,0,56,0,0,56,0,0,56,0,0,56,0, + 0,56,0,0,56,0,0,56,0,0,124,0,1,255,0,18, + 23,69,19,1,0,255,128,0,62,0,0,28,0,0,28,0, + 0,28,0,0,31,252,0,28,31,0,28,7,128,28,3,128, + 28,3,192,28,1,192,28,1,192,28,1,192,28,3,192,28, + 3,128,28,7,128,28,31,0,31,252,0,28,0,0,28,0, + 0,28,0,0,62,0,0,255,128,0,15,23,46,17,1,0, + 7,192,12,112,24,56,24,56,56,56,56,56,56,56,56,56, + 56,48,56,96,57,192,56,120,56,28,56,30,56,14,56,14, + 56,14,56,14,56,14,59,12,59,156,59,152,249,240,13,23, + 46,15,1,0,24,0,28,0,14,0,3,0,1,128,0,192, + 0,0,0,0,31,128,49,192,112,224,112,224,96,224,3,224, + 14,224,24,224,48,224,96,224,224,224,225,224,242,232,126,248, + 60,112,13,23,46,15,1,0,0,192,1,192,3,128,6,0, + 12,0,24,0,0,0,0,0,31,128,49,192,112,224,112,224, + 96,224,3,224,14,224,24,224,48,224,96,224,224,224,225,224, + 242,232,126,248,60,112,13,23,46,15,1,0,6,0,15,0, + 31,128,57,192,96,96,64,32,0,0,0,0,31,128,49,192, + 112,224,112,224,96,224,3,224,14,224,24,224,48,224,96,224, + 224,224,225,224,242,232,126,248,60,112,13,21,42,15,1,0, + 28,16,62,48,99,224,65,192,0,0,0,0,31,128,49,192, + 112,224,112,224,96,224,3,224,14,224,24,224,48,224,96,224, + 224,224,225,224,242,232,126,248,60,112,13,21,42,15,1,0, + 56,224,56,224,56,224,0,0,0,0,0,0,31,128,49,192, + 112,224,112,224,96,224,3,224,14,224,24,224,48,224,96,224, + 224,224,225,224,242,232,126,248,60,112,13,23,46,15,1,0, + 7,0,15,128,24,192,16,64,24,192,15,128,7,0,0,0, + 31,128,49,192,112,224,112,224,96,224,3,224,14,224,24,224, + 48,224,96,224,224,224,225,224,242,232,126,248,60,112,19,15, + 45,22,1,0,31,159,0,49,249,192,112,224,192,112,224,224, + 96,224,224,3,255,224,14,224,0,24,224,0,48,224,0,96, + 224,0,224,224,32,225,240,96,243,120,192,126,63,128,60,31, + 0,12,22,44,15,1,249,15,128,56,192,112,224,96,224,224, + 96,192,0,192,0,192,0,192,0,224,0,224,16,112,48,124, + 96,63,192,15,0,4,0,12,0,15,0,3,128,1,128,3, + 128,31,0,12,23,46,15,1,0,48,0,56,0,28,0,6, + 0,3,0,1,128,0,0,0,0,15,128,57,192,96,224,96, + 112,192,112,255,240,192,0,192,0,192,0,224,0,224,16,112, + 48,124,96,63,192,15,0,12,23,46,15,1,0,1,128,3, + 128,7,0,12,0,24,0,48,0,0,0,0,0,15,128,57, + 192,96,224,96,112,192,112,255,240,192,0,192,0,192,0,224, + 0,224,16,112,48,124,96,63,192,15,0,12,23,46,15,1, + 0,6,0,15,0,31,128,57,192,96,96,64,32,0,0,0, + 0,15,128,57,192,96,224,96,112,192,112,255,240,192,0,192, + 0,192,0,224,0,224,16,112,48,124,96,63,192,15,0,12, + 21,42,15,1,0,56,224,56,224,56,224,0,0,0,0,0, + 0,15,128,57,192,96,224,96,112,192,112,255,240,192,0,192, + 0,192,0,224,0,224,16,112,48,124,96,63,192,15,0,7, + 23,23,9,1,0,192,224,112,24,12,6,0,0,24,248,56, + 56,56,56,56,56,56,56,56,56,56,56,254,7,23,23,9, + 1,0,6,14,28,48,96,192,0,0,24,248,56,56,56,56, + 56,56,56,56,56,56,56,56,254,10,23,46,9,0,0,12, + 0,30,0,63,0,115,128,192,192,128,64,0,0,0,0,12, + 0,124,0,28,0,28,0,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,28,0,28,0,28,0,127,0,9,21,42, + 9,0,0,227,128,227,128,227,128,0,0,0,0,0,0,12, + 0,124,0,28,0,28,0,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,28,0,28,0,28,0,127,0,14,23,46, + 17,1,0,16,0,56,0,28,112,15,240,15,0,127,128,49, + 192,0,224,7,240,24,240,48,120,112,56,96,60,224,28,224, + 28,224,28,224,28,224,28,112,24,112,56,56,48,28,96,7, + 128,16,21,42,16,0,0,14,8,31,24,49,240,32,224,0, + 0,0,0,24,240,251,248,62,60,60,28,56,28,56,28,56, + 28,56,28,56,28,56,28,56,28,56,28,56,28,56,28,254, + 127,14,23,46,16,1,0,24,0,28,0,14,0,3,0,1, + 128,0,192,0,0,0,0,7,128,24,224,48,112,112,56,96, + 56,224,28,224,28,224,28,224,28,224,28,112,24,112,56,56, + 48,28,96,7,128,14,23,46,16,1,0,0,192,1,192,3, + 128,6,0,12,0,24,0,0,0,0,0,7,128,24,224,48, + 112,112,56,96,56,224,28,224,28,224,28,224,28,224,28,112, + 24,112,56,56,48,28,96,7,128,14,23,46,16,1,0,3, + 0,7,128,15,192,28,224,48,48,32,16,0,0,0,0,7, + 128,24,224,48,112,112,56,96,56,224,28,224,28,224,28,224, + 28,224,28,112,24,112,56,56,48,28,96,7,128,14,21,42, + 16,1,0,28,16,62,48,99,224,65,192,0,0,0,0,7, + 128,24,224,48,112,112,56,96,56,224,28,224,28,224,28,224, + 28,224,28,112,24,112,56,56,48,28,96,7,128,14,21,42, + 16,1,0,56,224,56,224,56,224,0,0,0,0,0,0,7, + 128,24,224,48,112,112,56,96,56,224,28,224,28,224,28,224, + 28,224,28,112,24,112,56,56,48,28,96,7,128,16,17,34, + 19,1,0,1,128,3,192,3,192,1,128,0,0,0,0,0, + 0,255,255,255,255,0,0,0,0,0,0,0,0,1,128,3, + 192,3,192,1,128,14,21,42,17,1,253,0,24,0,16,0, + 48,7,160,24,224,48,240,112,184,97,184,225,28,225,28,227, + 28,226,28,230,28,116,24,116,56,60,48,28,96,31,128,48, + 0,32,0,96,0,16,23,46,17,0,0,12,0,14,0,7, + 0,1,128,0,192,0,96,0,0,0,0,248,124,56,28,56, + 28,56,28,56,28,56,28,56,28,56,28,56,28,56,28,56, + 28,56,60,60,124,31,223,15,152,16,23,46,17,0,0,0, + 96,0,224,1,192,3,0,6,0,12,0,0,0,0,0,248, + 124,56,28,56,28,56,28,56,28,56,28,56,28,56,28,56, + 28,56,28,56,28,56,60,60,124,31,223,15,152,16,23,46, + 17,0,0,1,128,3,192,7,224,14,112,24,24,16,8,0, + 0,0,0,248,124,56,28,56,28,56,28,56,28,56,28,56, + 28,56,28,56,28,56,28,56,28,56,60,60,124,31,223,15, + 152,16,21,42,17,0,0,28,112,28,112,28,112,0,0,0, + 0,0,0,248,124,56,28,56,28,56,28,56,28,56,28,56, + 28,56,28,56,28,56,28,56,28,56,60,60,124,31,223,15, + 152,15,30,60,17,0,249,0,24,0,56,0,112,0,192,1, + 128,3,0,0,0,0,0,254,30,120,12,56,12,60,8,28, + 24,30,24,14,16,14,48,7,32,7,32,3,224,3,192,1, + 192,1,128,1,128,1,128,1,0,3,0,2,0,62,0,124, + 0,56,0,15,30,60,17,0,249,24,0,248,0,56,0,56, + 0,56,0,56,0,56,0,56,0,57,240,59,248,62,124,60, + 28,56,30,56,14,56,14,56,14,56,14,56,14,56,12,56, + 28,60,24,62,48,59,224,56,0,56,0,56,0,56,0,56, + 0,56,0,255,0,15,28,56,17,1,249,28,112,28,112,28, + 112,0,0,0,0,0,0,254,30,120,12,56,12,60,8,28, + 24,30,24,14,16,14,48,7,32,7,32,3,224,3,192,1, + 192,1,128,1,128,1,0,1,0,3,0,2,0,62,0,124, + 0,56,0}; +/* + Fontname: -Adobe-Times-Medium-R-Normal--34-240-100-100-P-170-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 0, '1' Height: 23 + Calculated Max Values w=16 h=26 x= 4 y=10 dx=19 dy= 0 ascent=23 len=52 + Font Bounding box w=38 h=48 x=-5 y=-11 + Calculated Min Values x= 0 y=-3 dx= 0 dy= 0 + Pure Font ascent =23 descent= 0 + X Font ascent =23 descent= 0 + Max Font ascent =23 descent=-3 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_timR24n[717] U8G_FONT_SECTION("u8g_font_timR24n") = { + 0,38,48,251,245,23,0,0,0,0,42,58,0,23,253,23, + 0,12,13,26,17,2,10,6,0,15,0,6,0,198,48,246, + 240,118,224,15,0,118,224,246,240,198,48,6,0,15,0,6, + 0,16,16,32,19,1,1,1,128,1,128,1,128,1,128,1, + 128,1,128,1,128,255,255,255,255,1,128,1,128,1,128,1, + 128,1,128,1,128,1,128,4,7,7,8,2,253,96,240,240, + 112,16,32,64,8,2,2,11,1,7,255,255,4,4,4,8, + 2,0,96,240,240,96,10,26,52,9,0,253,0,192,0,192, + 1,128,1,128,3,128,3,0,3,0,3,0,6,0,6,0, + 6,0,14,0,12,0,12,0,28,0,24,0,24,0,24,0, + 48,0,48,0,48,0,112,0,96,0,96,0,192,0,192,0, + 14,23,46,16,1,0,7,128,28,224,56,112,48,48,112,56, + 112,56,96,24,224,28,224,28,224,28,224,28,224,28,224,28, + 224,28,224,28,224,28,224,24,112,56,112,56,48,48,56,112, + 28,224,7,128,9,23,46,16,4,0,12,0,28,0,124,0, + 220,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,28,0,62,0,255,128,15,23,46,16,0,0,7,224, + 15,240,28,248,48,60,32,60,96,28,64,28,0,28,0,28, + 0,24,0,56,0,48,0,96,0,96,0,192,1,128,3,0, + 6,0,12,2,24,6,63,252,127,248,255,248,12,23,46,16, + 2,0,15,128,63,192,97,224,192,224,128,224,0,224,0,192, + 0,192,1,128,3,0,7,192,31,224,1,240,0,112,0,112, + 0,48,0,48,0,48,0,112,0,96,224,192,243,128,127,0, + 14,23,46,16,1,0,0,96,0,224,0,224,1,224,1,96, + 3,96,6,96,4,96,12,96,24,96,16,96,48,96,96,96, + 64,96,255,252,255,252,255,252,0,96,0,96,0,96,0,96, + 0,96,0,96,13,23,46,16,1,0,15,248,31,240,31,224, + 16,0,48,0,32,0,126,0,127,128,127,192,7,224,1,224, + 0,240,0,112,0,112,0,48,0,48,0,48,0,48,0,96, + 0,96,224,192,243,128,126,0,14,23,46,16,1,0,0,120, + 1,192,3,128,15,0,30,0,28,0,56,0,120,0,112,0, + 115,192,247,240,248,120,224,56,224,60,224,28,224,28,224,28, + 224,28,112,28,112,24,56,56,28,96,7,192,14,23,46,16, + 1,0,63,252,127,252,96,24,192,24,128,56,0,48,0,48, + 0,48,0,96,0,96,0,96,0,224,0,192,0,192,1,192, + 1,128,1,128,1,128,3,0,3,0,3,0,7,0,6,0, + 13,23,46,16,2,0,31,128,56,224,112,112,224,48,224,48, + 224,48,224,112,240,96,124,192,63,0,31,128,15,192,27,224, + 113,240,96,240,224,120,192,120,192,56,192,56,224,56,96,112, + 112,224,31,192,14,23,46,16,1,0,7,128,24,224,48,112, + 112,56,96,56,224,28,224,28,224,28,224,28,224,28,240,28, + 112,28,120,60,62,252,15,184,0,56,0,112,0,112,0,224, + 1,192,3,128,15,0,120,0,4,15,15,9,2,0,96,240, + 240,96,0,0,0,0,0,0,0,96,240,240,96}; +/* + Fontname: -Adobe-Times-Medium-R-Normal--34-240-100-100-P-170-ISO10646-1 + Copyright: Copyright (c) 1984, 1987 Adobe Systems Incorporated. All Rights Reserved. Copyright (c) 1988, 1991 Digital Equipment Corporation. All Rights Reserved. + Capital A Height: 23, '1' Height: 23 + Calculated Max Values w=31 h=30 x= 4 y=17 dx=32 dy= 0 ascent=25 len=112 + Font Bounding box w=38 h=48 x=-5 y=-11 + Calculated Min Values x=-2 y=-7 dx= 0 dy= 0 + Pure Font ascent =23 descent=-7 + X Font ascent =23 descent=-7 + Max Font ascent =25 descent=-7 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_timR24r[4764] U8G_FONT_SECTION("u8g_font_timR24r") = { + 0,38,48,251,245,23,5,140,13,213,32,127,249,25,249,23, + 249,0,0,0,8,0,1,4,23,23,11,3,0,96,240,240, + 240,240,240,96,96,96,96,96,96,96,96,96,96,96,0,0, + 96,240,240,96,9,7,14,14,2,16,227,128,227,128,227,128, + 227,128,65,0,65,0,65,0,16,23,46,17,0,0,6,24, + 6,24,6,24,6,24,6,24,6,24,6,24,6,24,127,255, + 127,255,12,48,12,48,12,48,12,48,255,254,255,254,24,96, + 24,96,24,96,24,96,24,96,24,96,24,96,13,28,56,16, + 2,253,2,0,2,0,15,192,58,112,50,56,98,24,98,8, + 98,8,114,0,122,0,62,0,63,0,31,128,7,192,3,224, + 2,240,2,112,2,56,2,56,130,24,130,24,194,56,226,48, + 114,96,31,192,2,0,2,0,2,0,23,23,69,27,2,0, + 15,0,64,29,131,192,56,252,128,112,65,128,112,67,0,224, + 66,0,224,70,0,224,196,0,192,140,0,193,136,0,193,24, + 120,102,16,236,60,49,198,0,99,130,0,67,130,0,199,2, + 0,135,2,1,135,6,1,6,4,3,6,12,2,6,8,6, + 3,48,4,1,224,23,23,69,26,2,0,0,248,0,1,140, + 0,3,14,0,3,6,0,7,6,0,7,6,0,7,12,0, + 7,140,0,3,152,0,3,241,252,3,192,112,7,192,96,29, + 224,64,56,240,192,112,112,128,96,121,128,224,63,0,224,30, + 0,224,15,0,240,31,130,120,51,252,127,225,248,31,128,240, + 3,8,8,6,1,15,224,224,224,224,64,64,64,64,8,28, + 28,11,2,251,3,6,12,24,56,48,112,112,96,224,224,224, + 224,224,224,224,224,224,224,96,112,112,48,56,24,12,6,3, + 8,28,28,11,1,251,192,96,48,24,28,12,14,14,6,7, + 7,7,7,7,7,7,7,7,7,6,14,14,12,28,24,48, + 96,192,12,13,26,17,2,10,6,0,15,0,6,0,198,48, + 246,240,118,224,15,0,118,224,246,240,198,48,6,0,15,0, + 6,0,16,16,32,19,1,1,1,128,1,128,1,128,1,128, + 1,128,1,128,1,128,255,255,255,255,1,128,1,128,1,128, + 1,128,1,128,1,128,1,128,4,7,7,8,2,253,96,240, + 240,112,16,32,64,8,2,2,11,1,7,255,255,4,4,4, + 8,2,0,96,240,240,96,10,26,52,9,0,253,0,192,0, + 192,1,128,1,128,3,128,3,0,3,0,3,0,6,0,6, + 0,6,0,14,0,12,0,12,0,28,0,24,0,24,0,24, + 0,48,0,48,0,48,0,112,0,96,0,96,0,192,0,192, + 0,14,23,46,16,1,0,7,128,28,224,56,112,48,48,112, + 56,112,56,96,24,224,28,224,28,224,28,224,28,224,28,224, + 28,224,28,224,28,224,28,224,24,112,56,112,56,48,48,56, + 112,28,224,7,128,9,23,46,16,4,0,12,0,28,0,124, + 0,220,0,28,0,28,0,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,62,0,255,128,15,23,46,16,0,0,7, + 224,15,240,28,248,48,60,32,60,96,28,64,28,0,28,0, + 28,0,24,0,56,0,48,0,96,0,96,0,192,1,128,3, + 0,6,0,12,2,24,6,63,252,127,248,255,248,12,23,46, + 16,2,0,15,128,63,192,97,224,192,224,128,224,0,224,0, + 192,0,192,1,128,3,0,7,192,31,224,1,240,0,112,0, + 112,0,48,0,48,0,48,0,112,0,96,224,192,243,128,127, + 0,14,23,46,16,1,0,0,96,0,224,0,224,1,224,1, + 96,3,96,6,96,4,96,12,96,24,96,16,96,48,96,96, + 96,64,96,255,252,255,252,255,252,0,96,0,96,0,96,0, + 96,0,96,0,96,13,23,46,16,1,0,15,248,31,240,31, + 224,16,0,48,0,32,0,126,0,127,128,127,192,7,224,1, + 224,0,240,0,112,0,112,0,48,0,48,0,48,0,48,0, + 96,0,96,224,192,243,128,126,0,14,23,46,16,1,0,0, + 120,1,192,3,128,15,0,30,0,28,0,56,0,120,0,112, + 0,115,192,247,240,248,120,224,56,224,60,224,28,224,28,224, + 28,224,28,112,28,112,24,56,56,28,96,7,192,14,23,46, + 16,1,0,63,252,127,252,96,24,192,24,128,56,0,48,0, + 48,0,48,0,96,0,96,0,96,0,224,0,192,0,192,1, + 192,1,128,1,128,1,128,3,0,3,0,3,0,7,0,6, + 0,13,23,46,16,2,0,31,128,56,224,112,112,224,48,224, + 48,224,48,224,112,240,96,124,192,63,0,31,128,15,192,27, + 224,113,240,96,240,224,120,192,120,192,56,192,56,224,56,96, + 112,112,224,31,192,14,23,46,16,1,0,7,128,24,224,48, + 112,112,56,96,56,224,28,224,28,224,28,224,28,224,28,240, + 28,112,28,120,60,62,252,15,184,0,56,0,112,0,112,0, + 224,1,192,3,128,15,0,120,0,4,15,15,9,2,0,96, + 240,240,96,0,0,0,0,0,0,0,96,240,240,96,4,18, + 18,9,2,253,96,240,240,96,0,0,0,0,0,0,0,96, + 240,240,112,16,32,64,16,18,36,19,1,0,0,1,0,7, + 0,31,0,124,1,240,7,192,31,0,124,0,240,0,240,0, + 124,0,31,0,7,192,1,240,0,124,0,31,0,7,0,1, + 16,9,18,19,1,4,255,255,255,255,0,0,0,0,0,0, + 0,0,0,0,255,255,255,255,16,18,36,19,2,0,128,0, + 224,0,248,0,62,0,15,128,3,224,0,248,0,62,0,15, + 0,15,0,62,0,248,3,224,15,128,62,0,248,0,224,0, + 128,0,11,23,46,14,2,0,31,0,115,128,193,192,193,192, + 224,224,224,224,96,224,1,192,1,192,1,128,3,128,3,0, + 6,0,4,0,12,0,8,0,8,0,0,0,0,0,12,0, + 30,0,30,0,12,0,27,28,112,31,2,251,0,31,240,0, + 0,248,60,0,1,224,6,0,7,128,3,0,14,0,1,128, + 28,0,0,192,28,0,0,192,56,7,140,96,112,31,92,96, + 112,28,124,32,112,56,56,32,224,112,56,32,224,112,48,32, + 224,112,112,32,224,224,112,96,224,224,112,64,224,224,224,192, + 224,224,224,128,112,225,225,128,112,119,115,0,112,60,62,0, + 56,0,0,0,24,0,0,0,28,0,0,0,14,0,0,0, + 7,128,6,0,1,240,60,0,0,127,240,0,22,23,69,24, + 1,0,0,48,0,0,48,0,0,112,0,0,120,0,0,120, + 0,0,252,0,0,220,0,0,156,0,1,142,0,1,14,0, + 3,15,0,3,7,0,2,7,0,6,7,128,6,3,128,15, + 255,192,12,3,192,24,1,192,24,1,224,48,1,224,48,0, + 240,112,0,240,252,3,252,20,23,69,22,1,0,255,254,0, + 62,15,128,28,3,192,28,1,192,28,1,224,28,0,224,28, + 0,224,28,1,224,28,1,192,28,3,192,28,15,128,31,254, + 0,28,7,128,28,1,224,28,0,224,28,0,240,28,0,112, + 28,0,112,28,0,240,28,0,224,28,1,224,62,7,192,255, + 255,0,20,23,69,22,1,0,1,255,16,7,131,240,14,0, + 240,28,0,112,56,0,48,56,0,48,112,0,16,112,0,16, + 240,0,0,240,0,0,240,0,0,240,0,0,240,0,0,240, + 0,0,240,0,0,112,0,0,112,0,0,56,0,0,56,0, + 16,28,0,48,14,0,96,7,131,192,1,255,0,22,23,69, + 24,1,0,255,254,0,62,7,128,28,1,192,28,0,224,28, + 0,112,28,0,112,28,0,56,28,0,56,28,0,60,28,0, + 60,28,0,60,28,0,60,28,0,60,28,0,60,28,0,60, + 28,0,56,28,0,56,28,0,112,28,0,112,28,0,224,28, + 1,192,62,7,128,255,254,0,19,23,69,20,1,0,255,255, + 192,62,3,192,28,0,192,28,0,64,28,0,64,28,0,0, + 28,0,0,28,0,0,28,1,0,28,1,0,28,3,0,31, + 255,0,28,3,0,28,1,0,28,1,0,28,0,0,28,0, + 0,28,0,32,28,0,32,28,0,96,28,0,192,62,3,192, + 255,255,192,17,23,69,18,1,0,255,255,128,62,7,128,28, + 1,128,28,0,128,28,0,128,28,0,0,28,0,0,28,0, + 0,28,2,0,28,2,0,28,6,0,31,254,0,28,6,0, + 28,2,0,28,2,0,28,0,0,28,0,0,28,0,0,28, + 0,0,28,0,0,28,0,0,62,0,0,255,128,0,22,23, + 69,24,1,0,1,255,48,7,135,240,14,0,240,28,0,112, + 56,0,48,56,0,48,112,0,16,112,0,0,240,0,0,240, + 0,0,240,0,0,240,3,252,240,0,248,240,0,112,240,0, + 112,112,0,112,112,0,112,56,0,112,56,0,112,28,0,112, + 14,0,112,7,129,224,1,255,128,22,23,69,24,1,0,255, + 135,252,62,1,240,28,0,224,28,0,224,28,0,224,28,0, + 224,28,0,224,28,0,224,28,0,224,28,0,224,28,0,224, + 31,255,224,28,0,224,28,0,224,28,0,224,28,0,224,28, + 0,224,28,0,224,28,0,224,28,0,224,28,0,224,62,1, + 240,255,135,252,9,23,46,11,1,0,255,128,62,0,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,28,0,28,0,28,0,28,0,28,0,28,0,28,0, + 28,0,28,0,62,0,255,128,12,23,46,13,1,0,31,240, + 7,192,3,128,3,128,3,128,3,128,3,128,3,128,3,128, + 3,128,3,128,3,128,3,128,3,128,3,128,3,128,3,128, + 3,128,3,128,195,128,227,0,231,0,124,0,23,23,69,24, + 1,0,255,199,248,62,1,224,28,1,128,28,3,0,28,6, + 0,28,12,0,28,24,0,28,48,0,28,96,0,28,192,0, + 31,192,0,31,224,0,31,240,0,30,120,0,28,60,0,28, + 30,0,28,15,0,28,7,128,28,3,192,28,1,224,28,0, + 240,62,0,248,255,199,254,19,23,69,20,1,0,255,128,0, + 62,0,0,28,0,0,28,0,0,28,0,0,28,0,0,28, + 0,0,28,0,0,28,0,0,28,0,0,28,0,0,28,0, + 0,28,0,0,28,0,0,28,0,0,28,0,0,28,0,0, + 28,0,32,28,0,32,28,0,96,28,0,192,62,3,192,255, + 255,192,28,23,92,30,1,0,252,0,7,240,62,0,7,192, + 30,0,15,128,31,0,15,128,31,0,11,128,23,0,27,128, + 23,128,27,128,19,128,51,128,19,192,51,128,19,192,35,128, + 17,224,99,128,17,224,99,128,16,224,195,128,16,240,195,128, + 16,112,131,128,16,121,131,128,16,121,3,128,16,61,3,128, + 16,63,3,128,16,30,3,128,16,30,3,128,56,12,7,192, + 254,12,31,240,22,23,69,24,1,0,248,1,252,60,0,112, + 30,0,32,31,0,32,31,0,32,23,128,32,19,192,32,19, + 192,32,17,224,32,16,240,32,16,248,32,16,120,32,16,60, + 32,16,30,32,16,31,32,16,15,32,16,7,160,16,3,224, + 16,1,224,16,1,224,16,0,224,56,0,96,254,0,32,22, + 23,69,24,1,0,1,254,0,7,135,128,14,1,192,28,0, + 224,56,0,112,56,0,112,112,0,56,112,0,56,240,0,60, + 240,0,60,240,0,60,240,0,60,240,0,60,240,0,60,240, + 0,60,112,0,56,112,0,56,56,0,112,56,0,112,28,0, + 224,14,1,192,7,135,128,1,254,0,17,23,69,18,1,0, + 255,248,0,60,62,0,28,15,0,28,7,0,28,7,128,28, + 3,128,28,3,128,28,3,128,28,7,128,28,7,0,28,15, + 0,28,62,0,31,240,0,28,0,0,28,0,0,28,0,0, + 28,0,0,28,0,0,28,0,0,28,0,0,28,0,0,62, + 0,0,255,128,0,22,29,87,24,1,250,1,254,0,7,135, + 128,14,1,192,28,0,224,56,0,112,56,0,112,112,0,56, + 112,0,56,240,0,60,240,0,60,240,0,60,240,0,60,240, + 0,60,240,0,60,240,0,60,112,0,56,112,0,56,56,0, + 112,56,0,112,28,0,224,14,1,192,7,135,128,1,254,0, + 0,124,0,0,62,0,0,31,0,0,15,128,0,3,224,0, + 0,124,21,23,69,22,1,0,255,248,0,60,62,0,28,15, + 0,28,7,128,28,7,128,28,3,128,28,3,128,28,3,128, + 28,7,128,28,7,0,28,30,0,31,248,0,28,240,0,28, + 120,0,28,60,0,28,60,0,28,30,0,28,15,0,28,15, + 128,28,7,128,28,3,192,62,1,224,255,129,248,15,23,46, + 18,1,0,7,228,28,60,56,28,112,12,112,4,112,6,120, + 0,124,0,62,0,31,128,15,224,7,240,1,248,0,124,0, + 62,0,30,128,14,128,14,192,14,224,12,112,28,124,120,103, + 240,19,23,69,20,1,0,255,255,224,240,225,224,192,224,96, + 192,224,96,128,224,32,128,224,32,0,224,0,0,224,0,0, + 224,0,0,224,0,0,224,0,0,224,0,0,224,0,0,224, + 0,0,224,0,0,224,0,0,224,0,0,224,0,0,224,0, + 0,224,0,0,224,0,1,240,0,7,252,0,22,23,69,24, + 1,0,255,129,252,62,0,112,28,0,32,28,0,32,28,0, + 32,28,0,32,28,0,32,28,0,32,28,0,32,28,0,32, + 28,0,32,28,0,32,28,0,32,28,0,32,28,0,32,28, + 0,32,28,0,32,28,0,32,30,0,96,14,0,64,15,0, + 192,7,195,128,1,254,0,22,23,69,23,1,0,255,1,252, + 124,0,112,60,0,96,30,0,64,30,0,192,14,0,192,15, + 0,128,15,1,128,7,1,128,7,129,0,3,131,0,3,195, + 0,3,194,0,1,198,0,1,230,0,0,228,0,0,236,0, + 0,124,0,0,120,0,0,120,0,0,56,0,0,48,0,0, + 16,0,31,23,92,32,1,0,255,63,224,254,124,15,128,120, + 60,7,0,48,28,7,128,48,30,7,128,96,30,3,128,96, + 14,3,192,96,15,3,192,192,7,3,224,192,7,135,224,192, + 7,134,225,128,3,132,241,128,3,204,241,128,3,204,115,0, + 1,216,123,0,1,216,59,0,1,248,62,0,0,240,62,0, + 0,240,28,0,0,224,28,0,0,96,28,0,0,96,8,0, + 0,64,8,0,22,23,69,24,1,0,255,195,252,63,0,240, + 31,0,224,15,0,192,7,129,128,7,131,0,3,198,0,1, + 230,0,1,236,0,0,248,0,0,120,0,0,120,0,0,124, + 0,0,222,0,1,158,0,1,143,0,3,15,128,6,7,128, + 14,3,192,12,3,224,24,1,224,56,1,240,254,7,252,22, + 23,69,24,1,0,255,192,252,63,0,56,30,0,48,15,0, + 96,15,128,192,7,128,128,3,193,128,3,195,0,1,227,0, + 0,246,0,0,252,0,0,124,0,0,56,0,0,56,0,0, + 56,0,0,56,0,0,56,0,0,56,0,0,56,0,0,56, + 0,0,56,0,0,124,0,1,255,0,19,23,69,20,1,0, + 63,255,224,56,3,192,96,7,128,96,7,128,64,15,0,64, + 30,0,0,30,0,0,60,0,0,120,0,0,120,0,0,240, + 0,1,224,0,1,224,0,3,192,0,3,192,0,7,128,0, + 15,0,0,15,0,32,30,0,32,60,0,96,60,0,96,120, + 1,192,255,255,192,7,28,28,11,3,251,254,240,224,224,224, + 224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,224,224,224,224,240,254,13,23,46,9,254,0,192,0,224, + 0,96,0,112,0,48,0,56,0,24,0,28,0,12,0,14, + 0,6,0,7,0,3,0,3,128,1,128,1,192,0,192,0, + 224,0,96,0,112,0,48,0,56,0,24,7,28,28,11,1, + 251,254,30,14,14,14,14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14,14,30,254,13,13,26, + 16,1,10,7,0,7,0,15,128,13,128,24,192,24,192,48, + 96,48,96,112,112,96,48,224,56,192,24,192,24,17,2,6, + 17,0,251,255,255,128,255,255,128,7,6,6,11,1,17,192, + 224,112,24,12,6,13,15,30,15,1,0,31,128,49,192,112, + 224,112,224,96,224,3,224,14,224,24,224,48,224,96,224,224, + 224,225,224,242,232,126,248,60,112,15,23,46,16,0,0,24, + 0,248,0,56,0,56,0,56,0,56,0,56,0,56,0,57, + 240,59,248,60,124,56,28,56,30,56,14,56,14,56,14,56, + 14,56,14,56,12,56,28,56,24,60,112,15,224,12,15,30, + 15,1,0,15,128,56,192,112,224,96,224,224,96,192,0,192, + 0,192,0,192,0,224,0,224,16,112,48,124,96,63,192,31, + 0,15,23,46,16,1,0,0,24,0,248,0,56,0,56,0, + 56,0,56,0,56,0,56,15,184,24,248,48,120,112,56,96, + 56,224,56,224,56,224,56,224,56,224,56,240,56,112,120,120, + 248,63,190,15,48,12,15,30,15,1,0,15,128,57,192,96, + 224,96,112,192,112,255,240,192,0,192,0,192,0,224,0,224, + 16,112,48,124,96,63,192,15,0,12,23,46,11,0,0,3, + 224,6,112,12,112,12,48,28,0,28,0,28,0,28,0,255, + 192,28,0,28,0,28,0,28,0,28,0,28,0,28,0,28, + 0,28,0,28,0,28,0,28,0,62,0,255,128,14,22,44, + 16,1,249,15,192,24,252,48,124,112,48,112,48,112,48,112, + 48,56,112,28,224,15,128,24,0,48,0,120,0,127,224,63, + 248,31,252,96,12,192,12,192,28,240,56,127,224,31,128,16, + 23,46,16,0,0,24,0,248,0,56,0,56,0,56,0,56, + 0,56,0,56,0,57,240,59,248,62,60,60,28,56,28,56, + 28,56,28,56,28,56,28,56,28,56,28,56,28,56,28,56, + 28,254,127,7,23,23,9,1,0,56,56,56,0,0,0,0, + 0,56,248,56,56,56,56,56,56,56,56,56,56,56,56,254, + 8,30,30,9,255,249,7,7,7,0,0,0,0,0,3,31, + 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, + 6,198,236,120,16,23,46,16,0,0,24,0,248,0,56,0, + 56,0,56,0,56,0,56,0,56,0,56,254,56,112,56,96, + 56,192,57,128,63,0,62,0,63,0,59,128,57,192,56,224, + 56,240,56,120,56,60,254,127,7,23,23,9,1,0,24,248, + 56,56,56,56,56,56,56,56,56,56,56,56,56,56,56,56, + 56,56,56,56,254,25,15,60,26,0,0,24,240,120,0,251, + 249,252,0,62,63,30,0,60,30,14,0,56,28,14,0,56, + 28,14,0,56,28,14,0,56,28,14,0,56,28,14,0,56, + 28,14,0,56,28,14,0,56,28,14,0,56,28,14,0,56, + 28,14,0,254,127,63,128,16,15,30,16,0,0,24,240,251, + 248,60,60,56,28,56,28,56,28,56,28,56,28,56,28,56, + 28,56,28,56,28,56,28,56,28,254,127,14,15,30,16,1, + 0,7,128,24,224,48,112,112,56,96,56,224,28,224,28,224, + 28,224,28,224,28,112,24,112,56,56,48,28,96,7,128,15, + 22,44,17,0,249,25,224,251,248,60,124,56,28,56,30,56, + 14,56,14,56,14,56,14,56,14,56,12,56,28,60,24,62, + 112,59,192,56,0,56,0,56,0,56,0,56,0,56,0,255, + 0,15,22,44,17,1,249,15,200,28,120,48,56,112,56,96, + 56,224,56,224,56,224,56,224,56,224,56,240,56,112,120,120, + 248,63,184,31,56,0,56,0,56,0,56,0,56,0,56,0, + 56,1,254,10,15,30,11,1,0,25,128,251,192,63,192,60, + 0,56,0,56,0,56,0,56,0,56,0,56,0,56,0,56, + 0,56,0,56,0,254,0,10,15,30,13,1,0,62,128,99, + 128,193,128,192,128,224,128,240,0,124,0,63,0,15,128,3, + 192,129,192,128,192,192,192,225,128,191,0,9,19,38,9,0, + 0,8,0,8,0,24,0,56,0,255,0,56,0,56,0,56, + 0,56,0,56,0,56,0,56,0,56,0,56,0,56,0,56, + 0,56,128,63,0,28,0,16,15,30,17,0,0,248,124,56, + 28,56,28,56,28,56,28,56,28,56,28,56,28,56,28,56, + 28,56,28,56,60,60,92,31,223,15,140,15,15,30,17,1, + 0,254,62,120,12,56,8,60,24,28,24,28,16,14,48,14, + 32,7,96,7,64,7,192,3,192,3,128,1,128,1,0,21, + 15,45,24,1,0,253,252,120,112,112,48,112,112,48,56,48, + 32,56,56,96,24,56,64,28,120,64,28,92,192,12,204,128, + 14,143,128,15,143,0,7,7,0,7,7,0,3,6,0,2, + 2,0,14,15,30,17,1,0,252,248,56,96,60,192,28,128, + 30,128,15,0,7,0,7,128,15,128,11,192,25,224,16,224, + 48,112,96,120,240,252,15,22,44,17,1,249,254,30,120,12, + 56,12,60,8,28,24,30,24,14,16,14,48,7,32,7,32, + 3,224,3,192,1,192,1,128,1,128,1,0,1,0,3,0, + 2,0,62,0,124,0,56,0,13,15,30,15,1,0,127,240, + 96,240,64,224,65,224,3,192,3,128,7,128,7,0,14,0, + 30,0,28,8,56,8,120,8,112,24,255,240,8,28,28,16, + 4,251,15,28,56,56,56,56,56,56,56,56,56,56,56,48, + 224,48,56,56,56,56,56,56,56,56,56,24,28,15,2,23, + 23,7,2,0,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,8,28,28,16,4, + 251,240,56,28,28,28,28,28,28,28,28,28,28,28,12,7, + 12,28,28,28,28,28,28,28,28,28,24,56,240,16,4,8, + 18,1,7,62,3,127,135,225,254,192,124,255}; +/* + Fontname: -FreeType-Teachers Pet Sans Serif Bold-Medium-R-Normal--8-80-72-72-P-61-ISO10646-1 + Copyright: © www.orgdot.com + Capital A Height: 9, '1' Height: 9 + Calculated Max Values w=11 h=13 x= 1 y=10 dx=12 dy= 0 ascent=13 len=18 + Font Bounding box w=11 h=17 x= 0 y=-4 + Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 + Pure Font ascent = 9 descent=-4 + X Font ascent = 9 descent=-4 + Max Font ascent =13 descent=-4 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_tpssb[2656] U8G_FONT_SECTION("u8g_font_tpssb") = { + 0,11,17,0,252,9,1,205,3,159,32,255,252,13,252,9, + 252,0,0,0,4,0,0,2,9,9,4,1,0,192,192,192, + 192,192,192,0,192,192,5,2,2,7,1,7,216,216,5,5, + 5,7,1,0,80,248,80,248,80,7,9,9,9,1,0,124, + 146,144,124,18,18,146,146,124,8,9,9,10,1,0,198,204, + 12,24,24,24,48,51,99,9,9,18,11,1,0,124,0,198, + 0,198,0,124,0,198,0,198,0,198,0,199,128,62,0,2, + 2,2,4,1,7,192,192,5,9,9,7,1,0,24,48,96, + 96,224,96,96,48,24,5,9,9,7,1,0,192,96,48,48, + 56,48,48,96,192,5,7,7,7,1,1,32,168,112,32,112, + 168,32,6,6,6,8,1,1,48,48,252,252,48,48,3,2, + 2,5,1,255,96,192,5,2,2,7,1,3,248,248,2,1, + 1,4,1,0,192,6,9,9,8,1,0,12,24,24,48,48, + 48,96,96,192,6,9,9,7,0,0,120,204,204,204,204,204, + 204,204,120,6,9,9,7,0,0,48,112,240,48,48,48,48, + 48,252,6,9,9,7,0,0,120,204,204,12,24,48,96,192, + 252,6,9,9,7,0,0,120,204,12,56,12,12,12,204,120, + 6,9,9,7,0,0,12,204,204,252,12,12,12,12,12,6, + 9,9,7,0,0,252,192,192,248,12,12,12,204,120,6,9, + 9,7,0,0,120,204,192,248,204,204,204,204,120,6,9,9, + 7,0,0,252,12,24,48,96,96,96,96,96,6,9,9,7, + 0,0,120,204,204,120,204,204,204,204,120,6,9,9,7,0, + 0,120,204,204,204,124,12,12,204,120,2,4,4,4,1,0, + 192,0,0,192,3,5,5,5,1,255,96,0,0,96,192,6, + 9,9,8,1,0,12,24,48,96,192,96,48,24,12,6,5, + 5,8,1,1,252,252,0,252,252,6,9,9,8,1,0,192, + 96,48,24,12,24,48,96,192,6,9,9,8,1,0,120,204, + 12,24,48,48,0,48,48,10,8,16,12,1,0,63,0,64, + 128,204,192,210,192,210,128,205,0,64,64,63,128,6,9,9, + 7,0,0,120,204,204,252,204,204,204,204,204,6,9,9,7, + 0,0,248,204,204,248,204,204,204,204,248,6,9,9,7,0, + 0,120,204,192,192,192,192,192,204,120,6,9,9,7,0,0, + 248,204,204,204,204,204,204,204,248,6,9,9,7,0,0,252, + 192,192,248,192,192,192,192,252,6,9,9,7,0,0,252,192, + 192,248,192,192,192,192,192,6,9,9,7,0,0,120,204,192, + 220,204,204,204,204,120,6,9,9,7,0,0,204,204,204,252, + 204,204,204,204,204,2,9,9,3,0,0,192,192,192,192,192, + 192,192,192,192,6,9,9,7,0,0,12,12,12,12,12,12, + 12,204,120,6,9,9,7,0,0,204,204,216,240,224,240,216, + 204,204,6,9,9,7,0,0,192,192,192,192,192,192,192,192, + 252,7,9,9,9,1,0,130,238,254,146,130,130,130,130,130, + 6,9,9,7,0,0,204,236,252,220,204,204,204,204,204,6, + 9,9,7,0,0,120,204,204,204,204,204,204,204,120,6,9, + 9,7,0,0,248,204,204,248,192,192,192,192,192,7,9,9, + 8,0,0,124,130,130,130,130,146,146,146,124,6,9,9,7, + 0,0,248,204,204,248,204,204,204,204,204,6,9,9,7,0, + 0,120,204,192,120,12,12,204,204,120,6,9,9,7,0,0, + 252,48,48,48,48,48,48,48,48,6,9,9,7,0,0,204, + 204,204,204,204,204,204,204,120,7,9,9,8,0,0,198,198, + 198,108,108,108,56,56,56,9,9,18,11,1,0,128,128,128, + 128,128,128,105,128,105,128,105,128,127,0,127,0,127,0,6, + 9,9,7,0,0,204,204,120,48,48,120,204,204,204,6,9, + 9,7,0,0,204,204,120,48,48,48,48,48,48,6,9,9, + 7,0,0,252,12,12,24,48,96,192,192,252,4,9,9,6, + 1,0,240,192,192,192,192,192,192,192,240,6,7,7,8,1, + 0,192,96,96,48,24,24,12,4,9,9,6,1,0,240,48, + 48,48,48,48,48,48,240,4,2,2,6,1,10,96,144,6, + 2,2,8,1,0,252,252,2,2,2,4,1,10,64,128,6, + 6,6,7,0,0,120,204,204,204,204,124,6,9,9,7,0, + 0,192,192,192,248,204,204,204,204,120,6,6,6,7,0,0, + 120,204,192,192,204,120,6,9,9,7,0,0,12,12,12,124, + 204,204,204,204,124,6,6,6,7,0,0,120,204,252,192,204, + 120,6,9,9,7,0,0,56,108,96,240,96,96,96,96,96, + 6,10,10,7,0,252,120,204,204,204,204,124,12,12,204,120, + 6,9,9,7,0,0,192,192,192,248,236,204,204,204,204,2, + 9,9,3,0,0,192,192,0,192,192,192,192,192,192,3,13, + 13,4,0,252,96,96,0,96,96,96,96,96,96,96,96,96, + 192,6,9,9,7,0,0,192,192,192,216,240,224,240,216,204, + 2,9,9,3,0,0,192,192,192,192,192,192,192,192,192,7, + 6,6,9,1,0,254,146,146,146,146,146,6,6,6,7,0, + 0,248,236,204,204,204,204,6,6,6,7,0,0,120,204,204, + 204,204,120,6,10,10,7,0,252,120,204,204,204,204,248,192, + 192,192,192,7,10,10,7,0,252,124,204,204,204,204,124,12, + 30,12,12,5,6,6,6,0,0,248,240,192,192,192,192,6, + 6,6,7,0,0,120,224,120,12,204,120,5,9,9,6,0, + 0,96,96,96,248,96,96,96,96,96,6,6,6,7,0,0, + 204,204,204,204,204,120,6,6,6,7,0,0,204,204,120,120, + 48,48,9,6,12,10,0,0,128,128,128,128,107,0,107,0, + 127,0,127,0,6,6,6,7,0,0,204,120,48,48,120,204, + 6,10,10,7,0,252,204,204,204,204,204,124,12,12,204,120, + 6,6,6,7,0,0,124,204,24,48,96,252,6,9,9,8, + 1,0,12,24,48,48,240,48,48,24,12,2,9,9,4,1, + 0,192,192,192,192,192,192,192,192,192,6,9,9,8,1,0, + 192,96,48,48,28,48,48,96,192,5,2,2,6,0,10,232, + 184,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,255,255,255,255,255, + 255,255,255,2,9,9,3,0,0,192,192,0,192,192,192,192, + 192,192,5,7,7,7,1,0,32,112,168,160,168,112,32,6, + 9,9,7,0,0,192,192,248,192,192,192,204,204,252,5,5, + 5,7,1,1,136,112,80,112,136,6,9,9,8,1,0,204, + 204,120,48,48,120,48,120,48,2,9,9,4,1,0,192,192, + 192,0,0,0,192,192,192,8,10,10,10,1,0,124,192,126, + 195,126,3,3,3,195,62,5,1,1,7,1,3,216,9,7, + 14,11,1,0,62,0,65,0,221,128,209,128,221,128,65,0, + 62,0,7,8,8,9,1,0,120,204,204,204,204,126,0,254, + 7,3,3,9,1,2,102,204,102,5,3,3,7,1,1,248, + 248,24,255,9,7,14,11,1,0,62,0,65,0,221,128,209, + 128,209,128,65,0,62,0,5,1,1,6,0,6,248,3,3, + 3,5,1,2,224,160,224,5,7,7,7,1,0,32,32,248, + 32,32,0,248,255,255,255,255,255,255,255,255,255,7,3,3, + 9,1,2,204,102,204,255,255,255,255,6,12,12,7,0,0, + 96,48,0,120,204,204,252,204,204,204,204,204,6,12,12,7, + 0,0,24,48,0,120,204,204,252,204,204,204,204,204,6,12, + 12,7,0,0,48,72,0,120,204,204,252,204,204,204,204,204, + 6,12,12,7,0,0,232,184,0,120,204,204,252,204,204,204, + 204,204,6,11,11,7,0,0,72,0,120,204,204,252,204,204, + 204,204,204,6,13,13,7,0,0,48,72,48,0,120,204,204, + 252,204,204,204,204,204,11,9,18,12,0,0,127,224,206,0, + 206,0,255,192,206,0,206,0,206,0,206,0,207,224,6,11, + 11,7,0,254,120,204,192,192,192,192,192,204,120,48,96,6, + 12,12,7,0,0,96,48,0,252,192,192,248,192,192,192,192, + 252,6,12,12,7,0,0,24,48,0,252,192,192,248,192,192, + 192,192,252,6,12,12,7,0,0,48,72,0,252,192,192,248, + 192,192,192,192,252,6,11,11,7,0,0,204,0,252,192,192, + 248,192,192,192,192,252,3,12,12,4,0,0,192,96,0,96, + 96,96,96,96,96,96,96,96,3,12,12,4,0,0,96,192, + 0,192,192,192,192,192,192,192,192,192,4,12,12,5,0,0, + 96,144,0,96,96,96,96,96,96,96,96,96,6,11,11,7, + 0,0,204,0,48,48,48,48,48,48,48,48,48,6,9,9, + 7,0,0,248,204,204,236,204,204,204,204,248,6,12,12,7, + 0,0,232,184,0,204,236,252,220,204,204,204,204,204,6,12, + 12,7,0,0,96,48,0,120,204,204,204,204,204,204,204,120, + 6,12,12,7,0,0,24,48,0,120,204,204,204,204,204,204, + 204,120,6,12,12,7,0,0,48,72,0,120,204,204,204,204, + 204,204,204,120,6,12,12,7,0,0,232,184,0,120,204,204, + 204,204,204,204,204,120,6,11,11,7,0,0,204,0,120,204, + 204,204,204,204,204,204,120,3,3,3,6,1,2,160,64,160, + 6,9,9,7,0,0,120,204,220,220,236,236,236,204,120,6, + 12,12,7,0,0,96,48,0,204,204,204,204,204,204,204,204, + 120,6,12,12,7,0,0,24,48,0,204,204,204,204,204,204, + 204,204,120,6,12,12,7,0,0,48,72,0,204,204,204,204, + 204,204,204,204,120,6,11,11,7,0,0,204,0,204,204,204, + 204,204,204,204,204,120,6,12,12,7,0,0,24,48,0,204, + 204,120,48,48,48,48,48,48,7,9,9,8,0,0,192,192, + 252,198,252,192,192,192,192,7,11,11,8,0,254,252,198,220, + 198,198,198,220,192,192,192,192,6,9,9,7,0,0,96,48, + 0,120,204,204,204,204,124,6,9,9,7,0,0,24,48,0, + 120,204,204,204,204,124,6,9,9,7,0,0,48,72,0,120, + 204,204,204,204,124,6,9,9,7,0,0,232,184,0,120,204, + 204,204,204,124,6,8,8,7,0,0,204,0,120,204,204,204, + 204,124,6,10,10,7,0,0,48,72,48,0,120,204,204,204, + 204,124,9,6,12,11,1,0,127,128,136,128,143,128,136,0, + 136,128,127,128,6,8,8,7,0,254,120,204,192,192,204,120, + 48,96,6,9,9,7,0,0,96,48,0,120,204,252,192,204, + 120,6,9,9,7,0,0,24,48,0,120,204,252,192,204,120, + 6,9,9,7,0,0,48,72,0,120,204,252,192,204,120,6, + 8,8,7,0,0,204,0,120,204,252,192,204,120,3,12,12, + 4,0,0,192,96,0,96,96,96,96,96,96,96,96,96,3, + 12,12,4,0,0,96,192,0,192,192,192,192,192,192,192,192, + 192,4,12,12,5,0,0,96,144,0,96,96,96,96,96,96, + 96,96,96,6,11,11,7,0,0,204,0,48,48,48,48,48, + 48,48,48,48,6,9,9,7,0,0,12,60,12,124,204,204, + 204,204,124,6,9,9,7,0,0,232,184,0,248,236,204,204, + 204,204,6,9,9,7,0,0,96,48,0,120,204,204,204,204, + 120,6,9,9,7,0,0,24,48,0,120,204,204,204,204,120, + 6,9,9,7,0,0,48,72,0,120,204,204,204,204,120,6, + 9,9,7,0,0,232,184,0,120,204,204,204,204,120,6,8, + 8,7,0,0,204,0,120,204,204,204,204,120,6,6,6,7, + 0,1,48,0,252,252,0,48,6,6,6,7,0,0,120,220, + 220,236,236,120,6,9,9,7,0,0,96,48,0,204,204,204, + 204,204,120,6,9,9,7,0,0,24,48,0,204,204,204,204, + 204,120,6,9,9,7,0,0,48,72,0,204,204,204,204,204, + 120,6,8,8,7,0,0,204,0,204,204,204,204,204,120,6, + 13,13,7,0,252,24,48,0,204,204,204,204,204,124,12,12, + 204,120,6,6,6,7,0,0,192,248,204,248,192,192,6,12, + 12,7,0,252,204,0,204,204,204,204,204,124,12,12,204,120 + }; +/* + Fontname: -FreeType-Teachers Pet Sans Serif Bold-Medium-R-Normal--8-80-72-72-P-61-ISO10646-1 + Copyright: © www.orgdot.com + Capital A Height: 0, '1' Height: 9 + Calculated Max Values w= 6 h= 9 x= 1 y= 3 dx= 8 dy= 0 ascent= 9 len= 9 + Font Bounding box w=11 h=17 x= 0 y=-4 + Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 + Pure Font ascent = 9 descent= 0 + X Font ascent = 9 descent= 0 + Max Font ascent = 9 descent=-1 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_tpssbn[240] U8G_FONT_SECTION("u8g_font_tpssbn") = { + 0,11,17,0,252,9,0,0,0,0,42,58,0,9,255,9, + 0,5,7,7,7,1,1,32,168,112,32,112,168,32,6,6, + 6,8,1,1,48,48,252,252,48,48,3,2,2,5,1,255, + 96,192,5,2,2,7,1,3,248,248,2,1,1,4,1,0, + 192,6,9,9,8,1,0,12,24,24,48,48,48,96,96,192, + 6,9,9,7,0,0,120,204,204,204,204,204,204,204,120,6, + 9,9,7,0,0,48,112,240,48,48,48,48,48,252,6,9, + 9,7,0,0,120,204,204,12,24,48,96,192,252,6,9,9, + 7,0,0,120,204,12,56,12,12,12,204,120,6,9,9,7, + 0,0,12,204,204,252,12,12,12,12,12,6,9,9,7,0, + 0,252,192,192,248,12,12,12,204,120,6,9,9,7,0,0, + 120,204,192,248,204,204,204,204,120,6,9,9,7,0,0,252, + 12,24,48,96,96,96,96,96,6,9,9,7,0,0,120,204, + 204,120,204,204,204,204,120,6,9,9,7,0,0,120,204,204, + 204,124,12,12,204,120,2,4,4,4,1,0,192,0,0,192 + }; +/* + Fontname: -FreeType-Teachers Pet Sans Serif Bold-Medium-R-Normal--8-80-72-72-P-61-ISO10646-1 + Copyright: © www.orgdot.com + Capital A Height: 9, '1' Height: 9 + Calculated Max Values w=10 h=13 x= 1 y=10 dx=12 dy= 0 ascent=12 len=18 + Font Bounding box w=11 h=17 x= 0 y=-4 + Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 + Pure Font ascent = 9 descent=-4 + X Font ascent = 9 descent=-4 + Max Font ascent =12 descent=-4 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_tpssbr[1346] U8G_FONT_SECTION("u8g_font_tpssbr") = { + 0,11,17,0,252,9,1,205,3,159,32,127,252,12,252,9, + 252,0,0,0,4,0,0,2,9,9,4,1,0,192,192,192, + 192,192,192,0,192,192,5,2,2,7,1,7,216,216,5,5, + 5,7,1,0,80,248,80,248,80,7,9,9,9,1,0,124, + 146,144,124,18,18,146,146,124,8,9,9,10,1,0,198,204, + 12,24,24,24,48,51,99,9,9,18,11,1,0,124,0,198, + 0,198,0,124,0,198,0,198,0,198,0,199,128,62,0,2, + 2,2,4,1,7,192,192,5,9,9,7,1,0,24,48,96, + 96,224,96,96,48,24,5,9,9,7,1,0,192,96,48,48, + 56,48,48,96,192,5,7,7,7,1,1,32,168,112,32,112, + 168,32,6,6,6,8,1,1,48,48,252,252,48,48,3,2, + 2,5,1,255,96,192,5,2,2,7,1,3,248,248,2,1, + 1,4,1,0,192,6,9,9,8,1,0,12,24,24,48,48, + 48,96,96,192,6,9,9,7,0,0,120,204,204,204,204,204, + 204,204,120,6,9,9,7,0,0,48,112,240,48,48,48,48, + 48,252,6,9,9,7,0,0,120,204,204,12,24,48,96,192, + 252,6,9,9,7,0,0,120,204,12,56,12,12,12,204,120, + 6,9,9,7,0,0,12,204,204,252,12,12,12,12,12,6, + 9,9,7,0,0,252,192,192,248,12,12,12,204,120,6,9, + 9,7,0,0,120,204,192,248,204,204,204,204,120,6,9,9, + 7,0,0,252,12,24,48,96,96,96,96,96,6,9,9,7, + 0,0,120,204,204,120,204,204,204,204,120,6,9,9,7,0, + 0,120,204,204,204,124,12,12,204,120,2,4,4,4,1,0, + 192,0,0,192,3,5,5,5,1,255,96,0,0,96,192,6, + 9,9,8,1,0,12,24,48,96,192,96,48,24,12,6,5, + 5,8,1,1,252,252,0,252,252,6,9,9,8,1,0,192, + 96,48,24,12,24,48,96,192,6,9,9,8,1,0,120,204, + 12,24,48,48,0,48,48,10,8,16,12,1,0,63,0,64, + 128,204,192,210,192,210,128,205,0,64,64,63,128,6,9,9, + 7,0,0,120,204,204,252,204,204,204,204,204,6,9,9,7, + 0,0,248,204,204,248,204,204,204,204,248,6,9,9,7,0, + 0,120,204,192,192,192,192,192,204,120,6,9,9,7,0,0, + 248,204,204,204,204,204,204,204,248,6,9,9,7,0,0,252, + 192,192,248,192,192,192,192,252,6,9,9,7,0,0,252,192, + 192,248,192,192,192,192,192,6,9,9,7,0,0,120,204,192, + 220,204,204,204,204,120,6,9,9,7,0,0,204,204,204,252, + 204,204,204,204,204,2,9,9,3,0,0,192,192,192,192,192, + 192,192,192,192,6,9,9,7,0,0,12,12,12,12,12,12, + 12,204,120,6,9,9,7,0,0,204,204,216,240,224,240,216, + 204,204,6,9,9,7,0,0,192,192,192,192,192,192,192,192, + 252,7,9,9,9,1,0,130,238,254,146,130,130,130,130,130, + 6,9,9,7,0,0,204,236,252,220,204,204,204,204,204,6, + 9,9,7,0,0,120,204,204,204,204,204,204,204,120,6,9, + 9,7,0,0,248,204,204,248,192,192,192,192,192,7,9,9, + 8,0,0,124,130,130,130,130,146,146,146,124,6,9,9,7, + 0,0,248,204,204,248,204,204,204,204,204,6,9,9,7,0, + 0,120,204,192,120,12,12,204,204,120,6,9,9,7,0,0, + 252,48,48,48,48,48,48,48,48,6,9,9,7,0,0,204, + 204,204,204,204,204,204,204,120,7,9,9,8,0,0,198,198, + 198,108,108,108,56,56,56,9,9,18,11,1,0,128,128,128, + 128,128,128,105,128,105,128,105,128,127,0,127,0,127,0,6, + 9,9,7,0,0,204,204,120,48,48,120,204,204,204,6,9, + 9,7,0,0,204,204,120,48,48,48,48,48,48,6,9,9, + 7,0,0,252,12,12,24,48,96,192,192,252,4,9,9,6, + 1,0,240,192,192,192,192,192,192,192,240,6,7,7,8,1, + 0,192,96,96,48,24,24,12,4,9,9,6,1,0,240,48, + 48,48,48,48,48,48,240,4,2,2,6,1,10,96,144,6, + 2,2,8,1,0,252,252,2,2,2,4,1,10,64,128,6, + 6,6,7,0,0,120,204,204,204,204,124,6,9,9,7,0, + 0,192,192,192,248,204,204,204,204,120,6,6,6,7,0,0, + 120,204,192,192,204,120,6,9,9,7,0,0,12,12,12,124, + 204,204,204,204,124,6,6,6,7,0,0,120,204,252,192,204, + 120,6,9,9,7,0,0,56,108,96,240,96,96,96,96,96, + 6,10,10,7,0,252,120,204,204,204,204,124,12,12,204,120, + 6,9,9,7,0,0,192,192,192,248,236,204,204,204,204,2, + 9,9,3,0,0,192,192,0,192,192,192,192,192,192,3,13, + 13,4,0,252,96,96,0,96,96,96,96,96,96,96,96,96, + 192,6,9,9,7,0,0,192,192,192,216,240,224,240,216,204, + 2,9,9,3,0,0,192,192,192,192,192,192,192,192,192,7, + 6,6,9,1,0,254,146,146,146,146,146,6,6,6,7,0, + 0,248,236,204,204,204,204,6,6,6,7,0,0,120,204,204, + 204,204,120,6,10,10,7,0,252,120,204,204,204,204,248,192, + 192,192,192,7,10,10,7,0,252,124,204,204,204,204,124,12, + 30,12,12,5,6,6,6,0,0,248,240,192,192,192,192,6, + 6,6,7,0,0,120,224,120,12,204,120,5,9,9,6,0, + 0,96,96,96,248,96,96,96,96,96,6,6,6,7,0,0, + 204,204,204,204,204,120,6,6,6,7,0,0,204,204,120,120, + 48,48,9,6,12,10,0,0,128,128,128,128,107,0,107,0, + 127,0,127,0,6,6,6,7,0,0,204,120,48,48,120,204, + 6,10,10,7,0,252,204,204,204,204,204,124,12,12,204,120, + 6,6,6,7,0,0,124,204,24,48,96,252,6,9,9,8, + 1,0,12,24,48,48,240,48,48,24,12,2,9,9,4,1, + 0,192,192,192,192,192,192,192,192,192,6,9,9,8,1,0, + 192,96,48,48,28,48,48,96,192,5,2,2,6,0,10,232, + 184,255}; +/* + Fontname: -FreeType-Teachers Pet Sans Serif-Medium-R-Normal--8-80-72-72-P-18-ISO10646-1 + Copyright: © www.orgdot.com + Capital A Height: 9, '1' Height: 9 + Calculated Max Values w= 9 h=13 x= 1 y=10 dx=11 dy= 0 ascent=13 len=18 + Font Bounding box w=11 h=17 x=-1 y=-4 + Calculated Min Values x=-1 y=-4 dx= 0 dy= 0 + Pure Font ascent = 9 descent=-4 + X Font ascent = 9 descent=-4 + Max Font ascent =13 descent=-4 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_tpss[2605] U8G_FONT_SECTION("u8g_font_tpss") = { + 0,11,17,255,252,9,1,192,3,136,32,255,252,13,252,9, + 252,0,0,0,4,0,0,1,9,9,3,1,0,128,128,128, + 128,128,128,0,128,128,3,2,2,5,1,7,160,160,5,5, + 5,7,1,0,80,248,80,248,80,5,9,9,7,1,0,112, + 168,160,112,40,40,168,168,112,5,9,9,7,1,0,136,144, + 16,32,32,32,64,72,136,7,9,9,9,1,0,112,136,136, + 112,136,136,136,138,116,1,2,2,3,1,7,128,128,5,9, + 9,7,1,0,24,32,64,64,128,64,64,32,24,5,9,9, + 7,1,0,192,32,16,16,8,16,16,32,192,5,7,7,7, + 1,1,32,168,112,32,112,168,32,5,5,5,7,1,1,32, + 32,248,32,32,2,2,2,4,1,255,64,128,5,1,1,7, + 1,3,248,1,1,1,3,1,0,128,5,9,9,7,1,0, + 8,16,16,32,32,32,64,64,128,5,9,9,6,0,0,112, + 136,136,136,136,136,136,136,112,5,9,9,6,0,0,32,96, + 160,32,32,32,32,32,248,5,9,9,6,0,0,112,136,136, + 8,16,32,64,128,248,5,9,9,6,0,0,112,136,8,48, + 8,8,8,136,112,5,9,9,6,0,0,8,136,136,248,8, + 8,8,8,8,5,9,9,6,0,0,248,128,128,248,8,8, + 8,136,112,5,9,9,6,0,0,112,136,128,240,136,136,136, + 136,112,5,9,9,6,0,0,248,8,16,32,64,64,64,64, + 64,5,9,9,6,0,0,112,136,136,112,136,136,136,136,112, + 5,9,9,6,0,0,112,136,136,136,120,8,8,136,112,1, + 4,4,3,1,0,128,0,0,128,2,5,5,4,1,255,64, + 0,0,64,128,5,9,9,7,1,0,8,16,32,64,128,64, + 32,16,8,5,3,3,7,1,2,248,0,248,5,9,9,7, + 1,0,128,64,32,16,8,16,32,64,128,5,9,9,7,1, + 0,112,136,8,16,32,32,0,32,32,9,8,16,11,1,0, + 126,0,129,0,153,0,165,0,165,0,154,0,128,128,127,0, + 5,9,9,6,0,0,112,136,136,248,136,136,136,136,136,5, + 9,9,6,0,0,240,136,136,240,136,136,136,136,240,5,9, + 9,6,0,0,112,136,128,128,128,128,128,136,112,5,9,9, + 6,0,0,240,136,136,136,136,136,136,136,240,5,9,9,6, + 0,0,248,128,128,240,128,128,128,128,248,5,9,9,6,0, + 0,248,128,128,240,128,128,128,128,128,5,9,9,6,0,0, + 112,136,128,184,136,136,136,136,112,5,9,9,6,0,0,136, + 136,136,248,136,136,136,136,136,1,9,9,2,0,0,128,128, + 128,128,128,128,128,128,128,5,9,9,6,0,0,8,8,8, + 8,8,8,8,136,112,5,9,9,6,0,0,136,136,144,160, + 192,160,144,136,136,5,9,9,6,0,0,128,128,128,128,128, + 128,128,128,248,7,9,9,8,0,0,130,198,170,146,130,130, + 130,130,130,5,9,9,6,0,0,136,200,168,152,136,136,136, + 136,136,5,9,9,6,0,0,112,136,136,136,136,136,136,136, + 112,5,9,9,6,0,0,240,136,136,240,128,128,128,128,128, + 5,9,9,6,0,0,112,136,136,136,136,168,168,168,112,5, + 9,9,6,0,0,240,136,136,240,136,136,136,136,136,5,9, + 9,6,0,0,112,136,128,112,8,8,136,136,112,5,9,9, + 6,0,0,248,32,32,32,32,32,32,32,32,5,9,9,6, + 0,0,136,136,136,136,136,136,136,136,112,5,9,9,6,0, + 0,136,136,136,80,80,80,80,32,32,7,9,9,8,0,0, + 130,130,130,84,84,84,40,40,40,5,9,9,6,0,0,136, + 136,80,32,32,80,136,136,136,5,9,9,6,0,0,136,136, + 80,32,32,32,32,32,32,5,9,9,6,0,0,248,8,8, + 16,32,64,128,128,248,3,9,9,5,1,0,224,128,128,128, + 128,128,128,128,224,5,7,7,7,1,0,128,64,64,32,16, + 16,8,3,9,9,5,1,0,224,32,32,32,32,32,32,32, + 224,3,2,2,5,1,10,64,160,6,1,1,8,1,0,252, + 2,2,2,4,1,10,64,128,5,6,6,6,0,0,112,136, + 136,136,136,120,5,9,9,6,0,0,128,128,128,240,136,136, + 136,136,112,5,6,6,6,0,0,112,136,128,128,136,112,5, + 9,9,6,0,0,8,8,8,120,136,136,136,136,120,5,6, + 6,6,0,0,112,136,248,128,136,112,5,9,9,6,0,0, + 48,72,64,224,64,64,64,64,64,5,10,10,6,0,252,112, + 136,136,136,136,120,8,8,136,112,5,9,9,6,0,0,128, + 128,128,176,200,136,136,136,136,1,9,9,2,0,0,128,128, + 0,128,128,128,128,128,128,2,13,13,3,0,252,64,64,0, + 64,64,64,64,64,64,64,64,64,128,5,9,9,6,0,0, + 128,128,128,144,160,192,160,144,136,1,9,9,2,0,0,128, + 128,128,128,128,128,128,128,128,7,6,6,8,0,0,182,218, + 146,146,146,146,5,6,6,6,0,0,176,200,136,136,136,136, + 5,6,6,6,0,0,112,136,136,136,136,112,5,10,10,6, + 0,252,112,136,136,136,136,240,128,128,128,128,6,10,10,7, + 0,252,120,136,136,136,136,120,8,28,8,8,4,6,6,5, + 0,0,176,192,128,128,128,128,5,6,6,6,0,0,112,128, + 112,8,136,112,4,9,9,5,0,0,64,64,64,240,64,64, + 64,64,64,5,6,6,6,0,0,136,136,136,136,136,112,5, + 6,6,6,0,0,136,136,80,80,32,32,7,6,6,8,0, + 0,130,130,84,84,40,40,5,6,6,6,0,0,136,80,32, + 32,80,136,5,10,10,6,0,252,136,136,136,136,136,120,8, + 8,136,112,5,6,6,6,0,0,120,136,16,32,64,248,6, + 9,9,8,1,0,12,16,32,32,192,32,32,16,12,1,9, + 9,3,1,0,128,128,128,128,128,128,128,128,128,6,9,9, + 8,1,0,192,32,16,16,12,16,16,32,192,5,2,2,6, + 0,10,232,184,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,255,255, + 255,255,255,255,255,255,1,9,9,2,0,0,128,128,0,128, + 128,128,128,128,128,5,7,7,7,1,0,32,112,168,160,168, + 112,32,5,9,9,7,1,0,128,128,240,128,128,128,136,136, + 248,5,5,5,7,1,1,136,112,80,112,136,5,9,9,7, + 1,0,136,136,80,32,32,248,32,248,32,1,9,9,3,1, + 0,128,128,128,0,0,0,128,128,128,6,10,10,8,1,0, + 120,128,120,132,120,4,4,4,132,120,5,1,1,7,1,3, + 136,7,7,7,9,1,0,124,130,186,162,186,130,124,6,8, + 8,8,1,0,112,136,136,136,136,116,0,252,5,3,3,7, + 1,2,72,144,72,5,2,2,7,1,2,248,8,0,0,0, + 8,0,0,7,7,7,9,1,0,124,130,186,162,162,130,124, + 5,1,1,6,0,6,248,3,3,3,5,1,2,64,160,64, + 5,7,7,7,1,0,32,32,248,32,32,0,248,255,255,255, + 0,0,0,8,0,0,255,0,0,0,8,0,0,255,255,255, + 5,3,3,7,1,2,144,72,144,255,255,255,255,5,12,12, + 6,0,0,64,32,0,112,136,136,248,136,136,136,136,136,5, + 12,12,6,0,0,16,32,0,112,136,136,248,136,136,136,136, + 136,5,12,12,6,0,0,32,80,0,112,136,136,248,136,136, + 136,136,136,5,12,12,6,0,0,232,184,0,112,136,136,248, + 136,136,136,136,136,5,11,11,6,0,0,80,0,112,136,136, + 248,136,136,136,136,136,5,13,13,6,0,0,32,80,32,0, + 112,136,136,248,136,136,136,136,136,9,9,18,10,0,0,127, + 128,136,0,136,0,255,0,136,0,136,0,136,0,136,0,143, + 128,5,9,9,6,0,254,112,136,128,128,128,136,112,32,96, + 5,12,12,6,0,0,64,32,0,248,128,128,240,128,128,128, + 128,248,5,12,12,6,0,0,16,32,0,248,128,128,240,128, + 128,128,128,248,5,12,12,6,0,0,32,80,0,248,128,128, + 240,128,128,128,128,248,5,11,11,6,0,0,80,0,248,128, + 128,240,128,128,128,128,248,2,12,12,2,0,0,128,64,0, + 64,64,64,64,64,64,64,64,64,2,12,12,2,0,0,64, + 128,0,128,128,128,128,128,128,128,128,128,3,12,12,2,255, + 0,64,160,0,64,64,64,64,64,64,64,64,64,3,11,11, + 2,255,0,160,0,64,64,64,64,64,64,64,64,64,5,9, + 9,6,0,0,240,136,136,232,136,136,136,136,240,5,12,12, + 6,0,0,232,184,0,136,136,136,200,168,152,136,136,136,5, + 12,12,6,0,0,64,32,0,112,136,136,136,136,136,136,136, + 112,5,12,12,6,0,0,16,32,0,112,136,136,136,136,136, + 136,136,112,5,12,12,6,0,0,32,80,0,112,136,136,136, + 136,136,136,136,112,5,12,12,6,0,0,232,184,0,112,136, + 136,136,136,136,136,136,112,5,11,11,6,0,0,80,0,112, + 136,136,136,136,136,136,136,112,3,3,3,6,1,2,160,64, + 160,7,9,9,8,0,0,58,68,76,84,84,84,100,68,184, + 5,12,12,6,0,0,64,32,0,136,136,136,136,136,136,136, + 136,112,5,12,12,6,0,0,16,32,0,136,136,136,136,136, + 136,136,136,112,5,12,12,6,0,0,32,80,0,136,136,136, + 136,136,136,136,136,112,5,11,11,6,0,0,80,0,136,136, + 136,136,136,136,136,136,112,5,12,12,6,0,0,16,32,0, + 136,136,80,32,32,32,32,32,32,5,9,9,6,0,0,128, + 128,240,136,240,128,128,128,128,5,11,11,6,0,254,240,136, + 176,136,136,136,176,128,128,128,128,5,9,9,6,0,0,64, + 32,0,112,136,136,136,136,120,5,9,9,6,0,0,16,32, + 0,112,136,136,136,136,120,5,9,9,6,0,0,32,80,0, + 112,136,136,136,136,120,5,9,9,6,0,0,232,184,0,112, + 136,136,136,136,120,5,8,8,6,0,0,80,0,112,136,136, + 136,136,120,5,10,10,6,0,0,32,80,32,0,112,136,136, + 136,136,120,9,6,12,10,0,0,119,0,136,128,143,128,136, + 0,136,128,119,0,5,8,8,6,0,254,112,136,128,128,136, + 112,32,64,5,6,6,6,0,0,112,136,248,128,136,112,5, + 6,6,6,0,0,112,136,248,128,136,112,5,6,6,6,0, + 0,112,136,248,128,136,112,5,6,6,6,0,0,112,136,248, + 128,136,112,2,10,10,3,0,0,128,64,0,0,64,64,64, + 64,64,64,2,10,10,3,0,0,64,128,0,0,128,128,128, + 128,128,128,3,10,10,4,0,0,64,160,0,0,64,64,64, + 64,64,64,3,9,9,4,0,0,160,0,0,64,64,64,64, + 64,64,5,9,9,6,0,0,8,56,8,120,136,136,136,136, + 120,5,9,9,6,0,0,232,184,0,176,200,136,136,136,136, + 5,9,9,6,0,0,64,32,0,112,136,136,136,136,112,5, + 9,9,6,0,0,16,32,0,112,136,136,136,136,112,5,9, + 9,6,0,0,32,80,0,112,136,136,136,136,112,5,9,9, + 6,0,0,232,184,0,112,136,136,136,136,112,5,8,8,6, + 0,0,80,0,112,136,136,136,136,112,5,5,5,6,0,1, + 32,0,248,0,32,5,6,6,6,0,0,112,152,168,168,200, + 112,5,9,9,6,0,0,64,32,0,136,136,136,136,136,112, + 5,9,9,6,0,0,16,32,0,136,136,136,136,136,112,5, + 9,9,6,0,0,32,80,0,136,136,136,136,136,112,5,8, + 8,6,0,0,80,0,136,136,136,136,136,112,5,13,13,6, + 0,252,16,32,0,136,136,136,136,136,120,8,8,136,112,5, + 6,6,5,0,0,128,240,136,240,128,128,5,12,12,6,0, + 252,80,0,136,136,136,136,136,120,8,8,136,112}; +/* + Fontname: -FreeType-Teachers Pet Sans Serif-Medium-R-Normal--8-80-72-72-P-18-ISO10646-1 + Copyright: © www.orgdot.com + Capital A Height: 0, '1' Height: 9 + Calculated Max Values w= 5 h= 9 x= 1 y= 3 dx= 7 dy= 0 ascent= 9 len= 9 + Font Bounding box w=11 h=17 x=-1 y=-4 + Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 + Pure Font ascent = 9 descent= 0 + X Font ascent = 9 descent= 0 + Max Font ascent = 9 descent=-1 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_tpssn[238] U8G_FONT_SECTION("u8g_font_tpssn") = { + 0,11,17,255,252,9,0,0,0,0,42,58,0,9,255,9, + 0,5,7,7,7,1,1,32,168,112,32,112,168,32,5,5, + 5,7,1,1,32,32,248,32,32,2,2,2,4,1,255,64, + 128,5,1,1,7,1,3,248,1,1,1,3,1,0,128,5, + 9,9,7,1,0,8,16,16,32,32,32,64,64,128,5,9, + 9,6,0,0,112,136,136,136,136,136,136,136,112,5,9,9, + 6,0,0,32,96,160,32,32,32,32,32,248,5,9,9,6, + 0,0,112,136,136,8,16,32,64,128,248,5,9,9,6,0, + 0,112,136,8,48,8,8,8,136,112,5,9,9,6,0,0, + 8,136,136,248,8,8,8,8,8,5,9,9,6,0,0,248, + 128,128,248,8,8,8,136,112,5,9,9,6,0,0,112,136, + 128,240,136,136,136,136,112,5,9,9,6,0,0,248,8,16, + 32,64,64,64,64,64,5,9,9,6,0,0,112,136,136,112, + 136,136,136,136,112,5,9,9,6,0,0,112,136,136,136,120, + 8,8,136,112,1,4,4,3,1,0,128,0,0,128}; +/* + Fontname: -FreeType-Teachers Pet Sans Serif-Medium-R-Normal--8-80-72-72-P-18-ISO10646-1 + Copyright: © www.orgdot.com + Capital A Height: 9, '1' Height: 9 + Calculated Max Values w= 9 h=13 x= 1 y=10 dx=11 dy= 0 ascent=12 len=16 + Font Bounding box w=11 h=17 x=-1 y=-4 + Calculated Min Values x= 0 y=-4 dx= 0 dy= 0 + Pure Font ascent = 9 descent=-4 + X Font ascent = 9 descent=-4 + Max Font ascent =12 descent=-4 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_tpssr[1317] U8G_FONT_SECTION("u8g_font_tpssr") = { + 0,11,17,255,252,9,1,192,3,136,32,127,252,12,252,9, + 252,0,0,0,4,0,0,1,9,9,3,1,0,128,128,128, + 128,128,128,0,128,128,3,2,2,5,1,7,160,160,5,5, + 5,7,1,0,80,248,80,248,80,5,9,9,7,1,0,112, + 168,160,112,40,40,168,168,112,5,9,9,7,1,0,136,144, + 16,32,32,32,64,72,136,7,9,9,9,1,0,112,136,136, + 112,136,136,136,138,116,1,2,2,3,1,7,128,128,5,9, + 9,7,1,0,24,32,64,64,128,64,64,32,24,5,9,9, + 7,1,0,192,32,16,16,8,16,16,32,192,5,7,7,7, + 1,1,32,168,112,32,112,168,32,5,5,5,7,1,1,32, + 32,248,32,32,2,2,2,4,1,255,64,128,5,1,1,7, + 1,3,248,1,1,1,3,1,0,128,5,9,9,7,1,0, + 8,16,16,32,32,32,64,64,128,5,9,9,6,0,0,112, + 136,136,136,136,136,136,136,112,5,9,9,6,0,0,32,96, + 160,32,32,32,32,32,248,5,9,9,6,0,0,112,136,136, + 8,16,32,64,128,248,5,9,9,6,0,0,112,136,8,48, + 8,8,8,136,112,5,9,9,6,0,0,8,136,136,248,8, + 8,8,8,8,5,9,9,6,0,0,248,128,128,248,8,8, + 8,136,112,5,9,9,6,0,0,112,136,128,240,136,136,136, + 136,112,5,9,9,6,0,0,248,8,16,32,64,64,64,64, + 64,5,9,9,6,0,0,112,136,136,112,136,136,136,136,112, + 5,9,9,6,0,0,112,136,136,136,120,8,8,136,112,1, + 4,4,3,1,0,128,0,0,128,2,5,5,4,1,255,64, + 0,0,64,128,5,9,9,7,1,0,8,16,32,64,128,64, + 32,16,8,5,3,3,7,1,2,248,0,248,5,9,9,7, + 1,0,128,64,32,16,8,16,32,64,128,5,9,9,7,1, + 0,112,136,8,16,32,32,0,32,32,9,8,16,11,1,0, + 126,0,129,0,153,0,165,0,165,0,154,0,128,128,127,0, + 5,9,9,6,0,0,112,136,136,248,136,136,136,136,136,5, + 9,9,6,0,0,240,136,136,240,136,136,136,136,240,5,9, + 9,6,0,0,112,136,128,128,128,128,128,136,112,5,9,9, + 6,0,0,240,136,136,136,136,136,136,136,240,5,9,9,6, + 0,0,248,128,128,240,128,128,128,128,248,5,9,9,6,0, + 0,248,128,128,240,128,128,128,128,128,5,9,9,6,0,0, + 112,136,128,184,136,136,136,136,112,5,9,9,6,0,0,136, + 136,136,248,136,136,136,136,136,1,9,9,2,0,0,128,128, + 128,128,128,128,128,128,128,5,9,9,6,0,0,8,8,8, + 8,8,8,8,136,112,5,9,9,6,0,0,136,136,144,160, + 192,160,144,136,136,5,9,9,6,0,0,128,128,128,128,128, + 128,128,128,248,7,9,9,8,0,0,130,198,170,146,130,130, + 130,130,130,5,9,9,6,0,0,136,200,168,152,136,136,136, + 136,136,5,9,9,6,0,0,112,136,136,136,136,136,136,136, + 112,5,9,9,6,0,0,240,136,136,240,128,128,128,128,128, + 5,9,9,6,0,0,112,136,136,136,136,168,168,168,112,5, + 9,9,6,0,0,240,136,136,240,136,136,136,136,136,5,9, + 9,6,0,0,112,136,128,112,8,8,136,136,112,5,9,9, + 6,0,0,248,32,32,32,32,32,32,32,32,5,9,9,6, + 0,0,136,136,136,136,136,136,136,136,112,5,9,9,6,0, + 0,136,136,136,80,80,80,80,32,32,7,9,9,8,0,0, + 130,130,130,84,84,84,40,40,40,5,9,9,6,0,0,136, + 136,80,32,32,80,136,136,136,5,9,9,6,0,0,136,136, + 80,32,32,32,32,32,32,5,9,9,6,0,0,248,8,8, + 16,32,64,128,128,248,3,9,9,5,1,0,224,128,128,128, + 128,128,128,128,224,5,7,7,7,1,0,128,64,64,32,16, + 16,8,3,9,9,5,1,0,224,32,32,32,32,32,32,32, + 224,3,2,2,5,1,10,64,160,6,1,1,8,1,0,252, + 2,2,2,4,1,10,64,128,5,6,6,6,0,0,112,136, + 136,136,136,120,5,9,9,6,0,0,128,128,128,240,136,136, + 136,136,112,5,6,6,6,0,0,112,136,128,128,136,112,5, + 9,9,6,0,0,8,8,8,120,136,136,136,136,120,5,6, + 6,6,0,0,112,136,248,128,136,112,5,9,9,6,0,0, + 48,72,64,224,64,64,64,64,64,5,10,10,6,0,252,112, + 136,136,136,136,120,8,8,136,112,5,9,9,6,0,0,128, + 128,128,176,200,136,136,136,136,1,9,9,2,0,0,128,128, + 0,128,128,128,128,128,128,2,13,13,3,0,252,64,64,0, + 64,64,64,64,64,64,64,64,64,128,5,9,9,6,0,0, + 128,128,128,144,160,192,160,144,136,1,9,9,2,0,0,128, + 128,128,128,128,128,128,128,128,7,6,6,8,0,0,182,218, + 146,146,146,146,5,6,6,6,0,0,176,200,136,136,136,136, + 5,6,6,6,0,0,112,136,136,136,136,112,5,10,10,6, + 0,252,112,136,136,136,136,240,128,128,128,128,6,10,10,7, + 0,252,120,136,136,136,136,120,8,28,8,8,4,6,6,5, + 0,0,176,192,128,128,128,128,5,6,6,6,0,0,112,128, + 112,8,136,112,4,9,9,5,0,0,64,64,64,240,64,64, + 64,64,64,5,6,6,6,0,0,136,136,136,136,136,112,5, + 6,6,6,0,0,136,136,80,80,32,32,7,6,6,8,0, + 0,130,130,84,84,40,40,5,6,6,6,0,0,136,80,32, + 32,80,136,5,10,10,6,0,252,136,136,136,136,136,120,8, + 8,136,112,5,6,6,6,0,0,120,136,16,32,64,248,6, + 9,9,8,1,0,12,16,32,32,192,32,32,16,12,1,9, + 9,3,1,0,128,128,128,128,128,128,128,128,128,6,9,9, + 8,1,0,192,32,16,16,12,16,16,32,192,5,2,2,6, + 0,10,232,184,255}; +/* + Fontname: -FreeType-Trixel Square-Medium-R-Normal--8-80-72-72-P-33-ISO10646-1 + Copyright: Copyright julischka 2008 + Capital A Height: 5, '1' Height: 5 + Calculated Max Values w= 5 h= 7 x= 0 y= 3 dx= 6 dy= 0 ascent= 7 len= 7 + Font Bounding box w= 5 h= 9 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent = 5 descent=-2 + X Font ascent = 5 descent=-2 + Max Font ascent = 7 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_trixel_square[1236] U8G_FONT_SECTION("u8g_font_trixel_square") = { + 0,5,9,0,254,5,1,91,2,177,32,255,254,7,254,5, + 254,0,0,0,1,0,0,1,5,5,2,0,0,128,128,128, + 0,128,3,2,2,4,0,3,160,160,5,5,5,6,0,255, + 80,248,80,248,80,3,6,6,4,0,0,64,224,192,96,224, + 64,3,5,5,4,0,0,160,32,224,128,160,5,5,5,6, + 0,0,224,160,240,160,248,1,2,2,2,0,3,128,128,2, + 5,5,3,0,0,192,128,128,128,192,2,5,5,3,0,0, + 192,64,64,64,192,3,3,3,4,0,2,160,64,160,3,3, + 3,4,0,0,64,224,64,1,2,2,2,0,255,128,128,3, + 1,1,4,0,1,224,1,1,1,2,0,0,128,3,5,5, + 4,0,0,32,96,64,192,128,3,5,5,4,0,0,224,160, + 160,160,224,2,5,5,3,0,0,64,192,64,64,64,3,5, + 5,4,0,0,224,160,96,192,224,3,5,5,4,0,0,224, + 32,96,32,224,3,5,5,4,0,0,160,160,224,32,32,3, + 5,5,4,0,0,224,128,224,32,224,3,5,5,4,0,0, + 224,128,224,160,224,3,5,5,4,0,0,224,32,32,32,32, + 3,5,5,4,0,0,224,160,224,160,224,3,5,5,4,0, + 0,224,160,224,32,224,1,3,3,2,0,0,128,0,128,1, + 4,4,2,0,255,128,0,128,128,3,3,3,4,0,0,96, + 192,96,3,3,3,4,0,0,224,0,224,3,3,3,4,0, + 0,192,96,192,3,5,5,4,0,0,224,32,96,0,64,5, + 6,6,6,0,255,248,136,168,184,128,248,3,5,5,4,0, + 0,224,160,224,160,160,3,5,5,4,0,0,224,160,224,160, + 224,3,5,5,4,0,0,224,160,128,160,224,3,5,5,4, + 0,0,224,160,160,160,224,3,5,5,4,0,0,224,128,192, + 128,224,3,5,5,4,0,0,224,128,192,128,128,3,5,5, + 4,0,0,224,128,160,160,224,3,5,5,4,0,0,160,160, + 224,160,160,1,5,5,2,0,0,128,128,128,128,128,3,5, + 5,4,0,0,224,32,32,32,224,3,5,5,4,0,0,160, + 160,192,160,160,3,5,5,4,0,0,128,128,128,128,224,5, + 5,5,6,0,0,216,216,168,168,136,4,5,5,5,0,0, + 208,208,176,176,144,3,5,5,4,0,0,224,160,160,160,224, + 3,5,5,4,0,0,224,160,224,128,128,4,5,5,5,0, + 0,224,160,160,160,240,3,5,5,4,0,0,224,160,192,160, + 160,3,5,5,4,0,0,224,128,224,32,224,3,5,5,4, + 0,0,224,64,64,64,64,3,5,5,4,0,0,160,160,160, + 160,224,3,5,5,4,0,0,160,160,160,224,64,5,5,5, + 6,0,0,136,136,168,168,248,3,5,5,4,0,0,160,224, + 64,224,160,3,5,5,4,0,0,160,160,224,64,64,3,5, + 5,4,0,0,224,32,224,128,224,3,5,5,4,0,0,224, + 128,128,128,224,3,5,5,4,0,0,128,192,64,96,32,3, + 5,5,4,0,0,224,32,32,32,224,3,2,2,4,0,3, + 224,160,3,1,1,4,0,0,224,2,2,2,3,0,3,192, + 64,4,3,3,5,0,0,224,160,240,3,5,5,4,0,0, + 128,128,224,160,224,3,3,3,4,0,0,224,128,224,3,5, + 5,4,0,0,32,32,224,160,224,3,3,3,4,0,0,224, + 192,224,2,5,5,3,0,0,192,128,192,128,128,3,5,5, + 4,0,254,224,160,224,32,224,3,5,5,4,0,0,128,128, + 224,160,160,1,5,5,2,0,0,128,0,128,128,128,2,7, + 7,3,0,254,64,0,64,64,64,64,192,3,5,5,4,0, + 0,128,128,160,224,160,2,5,5,3,0,0,128,128,128,128, + 192,5,3,3,6,0,0,248,168,168,3,3,3,4,0,0, + 224,160,160,3,3,3,4,0,0,224,160,224,3,5,5,4, + 0,254,224,160,224,128,128,3,5,5,4,0,254,224,160,224, + 32,32,2,3,3,3,0,0,192,128,128,3,3,3,4,0, + 0,96,64,192,2,5,5,3,0,0,128,192,128,128,192,3, + 3,3,4,0,0,160,160,224,3,3,3,4,0,0,160,224, + 64,5,3,3,6,0,0,168,168,248,3,3,3,4,0,0, + 160,64,160,3,5,5,4,0,254,160,160,224,32,224,3,3, + 3,4,0,0,224,64,224,3,5,5,4,0,0,96,64,192, + 64,96,1,5,5,2,0,0,128,128,128,128,128,3,5,5, + 4,0,0,192,64,96,64,192,3,3,3,4,0,1,32,224, + 128,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,255,255,255,255,255, + 255,255,255,255,255,4,5,5,5,0,0,112,64,96,64,240, + 255,255,255,3,7,7,4,0,254,224,128,224,160,224,32,224, + 255,255,255,3,2,2,4,0,1,160,160,255,255,255,255,255, + 255,255,255,255,255,255,255,255,255,255,3,2,2,4,0,1, + 160,160,255,255,255,255,255,255,255,255,3,7,7,4,0,0, + 160,0,224,160,224,160,160,255,255,255,255,255,255,255,255,255, + 255,255,255,255,255,255,255,255,3,7,7,4,0,0,160,0, + 224,160,160,160,224,255,255,255,255,255,3,7,7,4,0,0, + 160,0,160,160,160,160,224,255,255,3,7,7,4,0,254,224, + 160,224,160,224,128,128,255,255,255,255,4,5,5,5,0,0, + 160,0,224,160,240,255,255,255,255,255,255,255,255,255,255,255, + 255,255,255,255,255,255,3,5,5,4,0,0,160,0,224,160, + 224,255,255,255,255,255,3,5,5,4,0,0,160,0,160,160, + 224,255,255,255}; +/* + Fontname: -FreeType-Trixel Square-Medium-R-Normal--8-80-72-72-P-33-ISO10646-1 + Copyright: Copyright julischka 2008 + Capital A Height: 0, '1' Height: 5 + Calculated Max Values w= 3 h= 5 x= 0 y= 2 dx= 4 dy= 0 ascent= 5 len= 5 + Font Bounding box w= 5 h= 9 x= 0 y=-2 + Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 + Pure Font ascent = 5 descent= 0 + X Font ascent = 5 descent= 0 + Max Font ascent = 5 descent=-1 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_trixel_squaren[187] U8G_FONT_SECTION("u8g_font_trixel_squaren") = { + 0,5,9,0,254,5,0,0,0,0,42,58,0,5,255,5, + 0,3,3,3,4,0,2,160,64,160,3,3,3,4,0,0, + 64,224,64,1,2,2,2,0,255,128,128,3,1,1,4,0, + 1,224,1,1,1,2,0,0,128,3,5,5,4,0,0,32, + 96,64,192,128,3,5,5,4,0,0,224,160,160,160,224,2, + 5,5,3,0,0,64,192,64,64,64,3,5,5,4,0,0, + 224,160,96,192,224,3,5,5,4,0,0,224,32,96,32,224, + 3,5,5,4,0,0,160,160,224,32,32,3,5,5,4,0, + 0,224,128,224,32,224,3,5,5,4,0,0,224,128,224,160, + 224,3,5,5,4,0,0,224,32,32,32,32,3,5,5,4, + 0,0,224,160,224,160,224,3,5,5,4,0,0,224,160,224, + 32,224,1,3,3,2,0,0,128,0,128}; +/* + Fontname: -FreeType-Trixel Square-Medium-R-Normal--8-80-72-72-P-33-ISO10646-1 + Copyright: Copyright julischka 2008 + Capital A Height: 5, '1' Height: 5 + Calculated Max Values w= 5 h= 7 x= 0 y= 3 dx= 6 dy= 0 ascent= 6 len= 7 + Font Bounding box w= 5 h= 9 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent = 5 descent=-2 + X Font ascent = 5 descent=-2 + Max Font ascent = 6 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_trixel_squarer[994] U8G_FONT_SECTION("u8g_font_trixel_squarer") = { + 0,5,9,0,254,5,1,91,2,177,32,127,254,6,254,5, + 254,0,0,0,1,0,0,1,5,5,2,0,0,128,128,128, + 0,128,3,2,2,4,0,3,160,160,5,5,5,6,0,255, + 80,248,80,248,80,3,6,6,4,0,0,64,224,192,96,224, + 64,3,5,5,4,0,0,160,32,224,128,160,5,5,5,6, + 0,0,224,160,240,160,248,1,2,2,2,0,3,128,128,2, + 5,5,3,0,0,192,128,128,128,192,2,5,5,3,0,0, + 192,64,64,64,192,3,3,3,4,0,2,160,64,160,3,3, + 3,4,0,0,64,224,64,1,2,2,2,0,255,128,128,3, + 1,1,4,0,1,224,1,1,1,2,0,0,128,3,5,5, + 4,0,0,32,96,64,192,128,3,5,5,4,0,0,224,160, + 160,160,224,2,5,5,3,0,0,64,192,64,64,64,3,5, + 5,4,0,0,224,160,96,192,224,3,5,5,4,0,0,224, + 32,96,32,224,3,5,5,4,0,0,160,160,224,32,32,3, + 5,5,4,0,0,224,128,224,32,224,3,5,5,4,0,0, + 224,128,224,160,224,3,5,5,4,0,0,224,32,32,32,32, + 3,5,5,4,0,0,224,160,224,160,224,3,5,5,4,0, + 0,224,160,224,32,224,1,3,3,2,0,0,128,0,128,1, + 4,4,2,0,255,128,0,128,128,3,3,3,4,0,0,96, + 192,96,3,3,3,4,0,0,224,0,224,3,3,3,4,0, + 0,192,96,192,3,5,5,4,0,0,224,32,96,0,64,5, + 6,6,6,0,255,248,136,168,184,128,248,3,5,5,4,0, + 0,224,160,224,160,160,3,5,5,4,0,0,224,160,224,160, + 224,3,5,5,4,0,0,224,160,128,160,224,3,5,5,4, + 0,0,224,160,160,160,224,3,5,5,4,0,0,224,128,192, + 128,224,3,5,5,4,0,0,224,128,192,128,128,3,5,5, + 4,0,0,224,128,160,160,224,3,5,5,4,0,0,160,160, + 224,160,160,1,5,5,2,0,0,128,128,128,128,128,3,5, + 5,4,0,0,224,32,32,32,224,3,5,5,4,0,0,160, + 160,192,160,160,3,5,5,4,0,0,128,128,128,128,224,5, + 5,5,6,0,0,216,216,168,168,136,4,5,5,5,0,0, + 208,208,176,176,144,3,5,5,4,0,0,224,160,160,160,224, + 3,5,5,4,0,0,224,160,224,128,128,4,5,5,5,0, + 0,224,160,160,160,240,3,5,5,4,0,0,224,160,192,160, + 160,3,5,5,4,0,0,224,128,224,32,224,3,5,5,4, + 0,0,224,64,64,64,64,3,5,5,4,0,0,160,160,160, + 160,224,3,5,5,4,0,0,160,160,160,224,64,5,5,5, + 6,0,0,136,136,168,168,248,3,5,5,4,0,0,160,224, + 64,224,160,3,5,5,4,0,0,160,160,224,64,64,3,5, + 5,4,0,0,224,32,224,128,224,3,5,5,4,0,0,224, + 128,128,128,224,3,5,5,4,0,0,128,192,64,96,32,3, + 5,5,4,0,0,224,32,32,32,224,3,2,2,4,0,3, + 224,160,3,1,1,4,0,0,224,2,2,2,3,0,3,192, + 64,4,3,3,5,0,0,224,160,240,3,5,5,4,0,0, + 128,128,224,160,224,3,3,3,4,0,0,224,128,224,3,5, + 5,4,0,0,32,32,224,160,224,3,3,3,4,0,0,224, + 192,224,2,5,5,3,0,0,192,128,192,128,128,3,5,5, + 4,0,254,224,160,224,32,224,3,5,5,4,0,0,128,128, + 224,160,160,1,5,5,2,0,0,128,0,128,128,128,2,7, + 7,3,0,254,64,0,64,64,64,64,192,3,5,5,4,0, + 0,128,128,160,224,160,2,5,5,3,0,0,128,128,128,128, + 192,5,3,3,6,0,0,248,168,168,3,3,3,4,0,0, + 224,160,160,3,3,3,4,0,0,224,160,224,3,5,5,4, + 0,254,224,160,224,128,128,3,5,5,4,0,254,224,160,224, + 32,32,2,3,3,3,0,0,192,128,128,3,3,3,4,0, + 0,96,64,192,2,5,5,3,0,0,128,192,128,128,192,3, + 3,3,4,0,0,160,160,224,3,3,3,4,0,0,160,224, + 64,5,3,3,6,0,0,168,168,248,3,3,3,4,0,0, + 160,64,160,3,5,5,4,0,254,160,160,224,32,224,3,3, + 3,4,0,0,224,64,224,3,5,5,4,0,0,96,64,192, + 64,96,1,5,5,2,0,0,128,128,128,128,128,3,5,5, + 4,0,0,192,64,96,64,192,3,3,3,4,0,1,32,224, + 128,255}; +/* + Fontname: u8glib_4 + Copyright: public domain + Capital A Height: 4, '1' Height: 4 + Calculated Max Values w= 8 h= 7 x= 1 y= 4 dx= 9 dy= 0 ascent= 6 len= 7 + Font Bounding box w= 9 h= 6 x= 0 y=-1 + Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 + Pure Font ascent = 4 descent=-1 + X Font ascent = 5 descent=-1 + Max Font ascent = 6 descent=-1 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_u8glib_4[1660] U8G_FONT_SECTION("u8g_font_u8glib_4") = { + 1,9,6,0,255,4,0,233,1,198,32,255,255,6,255,5, + 255,2,0,32,2,20,36,128,128,0,128,5,50,66,160,160, + 1,85,101,80,248,80,248,80,1,86,102,32,120,224,56,240, + 32,2,68,84,144,32,64,144,2,69,85,64,160,64,160,240, + 5,18,34,128,128,1,38,54,64,128,128,128,128,64,1,38, + 54,128,64,64,64,64,128,3,34,50,192,192,2,51,67,64, + 224,64,1,18,34,128,128,3,49,65,224,2,17,33,128,2, + 68,84,16,32,64,128,2,52,68,224,160,160,224,2,36,52, + 64,192,64,64,2,52,68,224,32,64,224,2,52,68,224,64, + 32,224,2,52,68,128,160,224,32,2,52,68,224,192,32,224, + 2,52,68,224,128,224,224,2,52,68,224,32,64,128,2,52, + 68,224,224,160,224,2,52,68,224,224,32,224,2,19,35,128, + 0,128,1,20,36,128,0,128,128,2,35,51,64,128,64,2, + 51,67,224,0,224,2,35,51,128,64,128,2,36,52,192,64, + 0,64,2,68,84,240,176,128,240,2,68,84,96,144,240,144, + 2,68,84,224,240,144,240,2,52,68,96,128,128,96,2,68, + 84,224,144,144,224,2,68,84,240,224,128,240,2,68,84,240, + 128,224,128,2,68,84,240,128,176,240,2,68,84,144,240,144, + 144,2,20,36,128,128,128,128,2,52,68,224,32,32,192,2, + 68,84,144,224,144,144,2,52,68,128,128,128,224,2,84,100, + 136,216,168,136,2,68,84,144,208,176,144,2,68,84,96,144, + 144,96,2,68,84,224,144,224,128,2,84,100,240,144,144,232, + 2,68,84,240,240,160,144,2,68,84,112,192,48,224,2,52, + 68,224,64,64,64,2,68,84,144,144,144,240,2,68,84,144, + 144,144,96,2,84,100,136,168,168,80,2,52,68,160,64,64, + 160,2,68,84,144,240,16,240,2,68,84,240,32,64,240,1, + 38,54,192,128,128,128,128,192,2,68,84,128,64,32,16,1, + 38,54,192,64,64,64,64,192,5,50,66,64,160,1,65,81, + 240,5,34,50,128,64,2,51,67,96,160,224,2,52,68,128, + 192,160,192,2,35,51,192,128,192,2,52,68,32,96,160,96, + 2,51,67,224,160,192,2,52,68,32,64,224,64,1,52,68, + 224,224,32,96,2,52,68,128,192,160,160,2,20,36,128,0, + 128,128,1,37,53,64,0,64,64,128,2,52,68,128,160,192, + 160,2,20,36,128,128,128,128,2,83,99,208,168,168,2,51, + 67,192,160,160,2,51,67,224,160,224,1,52,68,192,160,192, + 128,1,52,68,96,160,96,32,2,35,51,192,128,128,2,51, + 67,96,64,192,2,52,68,64,224,64,96,2,51,67,160,160, + 224,2,51,67,160,160,64,2,83,99,136,168,80,2,51,67, + 160,64,160,1,52,68,160,224,32,224,2,51,67,192,64,96, + 1,54,70,96,64,128,128,64,96,1,22,38,128,128,128,128, + 128,128,1,54,70,192,64,32,32,64,192,5,66,82,80,160, + 2,69,85,240,144,144,144,240,2,0,32,2,53,69,160,0, + 160,160,224,2,54,70,64,128,0,224,192,224,2,54,70,64, + 160,0,96,160,224,2,53,69,160,0,96,160,224,2,54,70, + 64,32,0,96,160,224,2,54,70,64,160,64,96,160,224,1, + 36,52,192,128,192,192,2,54,70,64,160,0,224,192,224,2, + 53,69,160,0,224,192,224,2,54,70,64,32,0,224,192,224, + 2,52,68,160,0,64,64,2,53,149,64,160,0,64,64,2, + 37,53,128,64,0,64,64,2,69,85,144,96,144,240,144,2, + 70,86,96,144,96,144,240,144,2,70,86,32,64,240,224,128, + 240,2,83,99,120,176,248,2,132,148,31,46,120,143,2,54, + 70,64,160,0,224,160,224,2,53,69,160,0,224,160,224,2, + 54,70,128,64,0,224,160,224,2,54,70,64,160,0,160,160, + 224,2,54,70,64,32,0,160,160,224,1,54,70,160,0,160, + 224,32,96,2,69,85,144,96,144,144,96,2,69,85,144,0, + 144,144,240,2,0,64,2,0,64,2,0,64,2,0,64,2, + 0,64,2,54,70,64,128,0,96,160,224,2,37,53,64,128, + 0,128,128,2,54,70,32,64,0,224,160,224,2,54,70,32, + 64,0,160,160,224,2,70,70,80,160,0,192,160,160,2,70, + 86,80,160,144,208,176,144,2,21,37,128,128,0,128,128,1, + 54,70,224,128,224,224,32,224,6,65,81,144,1,119,151,124, + 130,186,162,186,130,124,2,0,144,2,51,67,96,192,96,3, + 50,66,224,32,2,0,144,1,119,151,124,130,186,178,170,130, + 124,6,65,81,240,4,51,67,224,160,224,2,52,148,64,224, + 64,224,4,51,67,192,64,96,4,35,51,192,64,192,5,34, + 50,64,128,1,52,148,160,160,224,128,1,101,117,124,244,116, + 20,20,19,17,49,128,2,0,144,4,35,51,192,64,64,4, + 51,67,224,160,224,2,51,67,192,96,192,1,118,134,196,72, + 80,40,78,132,1,118,134,196,72,80,44,68,134,1,118,150, + 196,72,208,40,78,132,2,0,64,2,70,86,64,32,96,144, + 240,144,2,70,86,32,64,96,144,240,144,2,70,86,96,144, + 96,144,240,144,2,70,86,80,160,96,144,240,144,2,69,85, + 144,96,144,240,144,2,70,86,96,0,96,144,240,144,2,132, + 148,31,46,120,143,1,69,85,240,128,240,32,96,2,70,86, + 64,32,240,224,128,240,2,70,86,32,64,240,224,128,240,2, + 70,86,96,144,240,224,128,240,2,70,86,144,0,240,224,128, + 240,2,38,54,128,64,128,128,128,128,2,38,54,64,128,64, + 64,64,64,2,54,70,64,160,64,64,64,64,2,53,69,160, + 64,64,64,64,2,84,100,112,232,72,112,2,70,86,80,160, + 0,144,208,176,2,70,86,64,32,96,144,144,96,2,70,86, + 32,64,96,144,144,96,2,70,86,96,144,96,144,144,96,2, + 70,86,80,160,96,144,144,96,2,69,85,144,96,144,144,96, + 2,51,67,160,64,160,1,102,118,4,56,88,104,112,128,2, + 70,86,64,32,144,144,144,240,2,70,86,32,64,144,144,144, + 240,2,70,86,96,144,0,144,144,240,2,69,85,144,0,144, + 144,240,2,70,86,32,64,144,240,16,240,1,70,86,128,224, + 144,144,224,128,1,53,69,192,192,160,192,128,2,54,70,64, + 32,0,96,160,224,2,54,70,64,128,0,96,160,224,2,54, + 70,64,160,0,96,160,224,2,70,70,80,160,0,96,160,224, + 2,53,69,160,0,96,160,224,2,54,70,64,160,64,96,160, + 224,2,83,99,120,176,248,1,36,52,192,128,192,192,2,54, + 70,64,32,0,224,160,192,2,54,70,64,128,0,224,160,192, + 2,54,70,64,160,0,224,160,192,2,53,69,160,0,224,160, + 192,2,37,53,128,64,0,64,64,2,37,53,64,128,0,128, + 128,2,53,69,64,160,0,64,64,2,52,68,160,0,64,64, + 2,70,86,96,96,16,112,144,96,2,70,70,80,160,0,192, + 160,160,2,54,70,64,32,0,224,160,224,2,54,70,64,128, + 0,224,160,224,2,54,70,64,160,0,224,160,224,2,70,70, + 80,160,0,224,160,224,2,53,69,160,0,224,160,224,2,53, + 69,64,0,224,0,64,1,85,101,8,112,80,112,128,2,54, + 70,64,32,0,160,160,224,2,54,70,64,128,0,160,160,224, + 2,54,70,64,160,0,160,160,224,2,53,69,160,0,160,160, + 224,1,55,71,64,128,0,160,224,32,96,1,53,69,128,192, + 160,192,128,1,54,70,160,0,160,224,32,96}; +/* + Fontname: u8glib_4 + Copyright: public domain + Capital A Height: 4, '1' Height: 4 + Calculated Max Values w= 5 h= 6 x= 0 y= 3 dx= 6 dy= 0 ascent= 5 len= 6 + Font Bounding box w= 9 h= 6 x= 0 y=-1 + Calculated Min Values x= 0 y=-1 dx= 0 dy= 0 + Pure Font ascent = 4 descent=-1 + X Font ascent = 5 descent=-1 + Max Font ascent = 5 descent=-1 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_u8glib_4r[664] U8G_FONT_SECTION("u8g_font_u8glib_4r") = { + 1,9,6,0,255,4,0,233,1,198,32,127,255,5,255,5, + 255,2,0,32,2,20,36,128,128,0,128,5,50,66,160,160, + 1,85,101,80,248,80,248,80,1,86,102,32,120,224,56,240, + 32,2,68,84,144,32,64,144,2,69,85,64,160,64,160,240, + 5,18,34,128,128,1,38,54,64,128,128,128,128,64,1,38, + 54,128,64,64,64,64,128,3,34,50,192,192,2,51,67,64, + 224,64,1,18,34,128,128,3,49,65,224,2,17,33,128,2, + 68,84,16,32,64,128,2,52,68,224,160,160,224,2,36,52, + 64,192,64,64,2,52,68,224,32,64,224,2,52,68,224,64, + 32,224,2,52,68,128,160,224,32,2,52,68,224,192,32,224, + 2,52,68,224,128,224,224,2,52,68,224,32,64,128,2,52, + 68,224,224,160,224,2,52,68,224,224,32,224,2,19,35,128, + 0,128,1,20,36,128,0,128,128,2,35,51,64,128,64,2, + 51,67,224,0,224,2,35,51,128,64,128,2,36,52,192,64, + 0,64,2,68,84,240,176,128,240,2,68,84,96,144,240,144, + 2,68,84,224,240,144,240,2,52,68,96,128,128,96,2,68, + 84,224,144,144,224,2,68,84,240,224,128,240,2,68,84,240, + 128,224,128,2,68,84,240,128,176,240,2,68,84,144,240,144, + 144,2,20,36,128,128,128,128,2,52,68,224,32,32,192,2, + 68,84,144,224,144,144,2,52,68,128,128,128,224,2,84,100, + 136,216,168,136,2,68,84,144,208,176,144,2,68,84,96,144, + 144,96,2,68,84,224,144,224,128,2,84,100,240,144,144,232, + 2,68,84,240,240,160,144,2,68,84,112,192,48,224,2,52, + 68,224,64,64,64,2,68,84,144,144,144,240,2,68,84,144, + 144,144,96,2,84,100,136,168,168,80,2,52,68,160,64,64, + 160,2,68,84,144,240,16,240,2,68,84,240,32,64,240,1, + 38,54,192,128,128,128,128,192,2,68,84,128,64,32,16,1, + 38,54,192,64,64,64,64,192,5,50,66,64,160,1,65,81, + 240,5,34,50,128,64,2,51,67,96,160,224,2,52,68,128, + 192,160,192,2,35,51,192,128,192,2,52,68,32,96,160,96, + 2,51,67,224,160,192,2,52,68,32,64,224,64,1,52,68, + 224,224,32,96,2,52,68,128,192,160,160,2,20,36,128,0, + 128,128,1,37,53,64,0,64,64,128,2,52,68,128,160,192, + 160,2,20,36,128,128,128,128,2,83,99,208,168,168,2,51, + 67,192,160,160,2,51,67,224,160,224,1,52,68,192,160,192, + 128,1,52,68,96,160,96,32,2,35,51,192,128,128,2,51, + 67,96,64,192,2,52,68,64,224,64,96,2,51,67,160,160, + 224,2,51,67,160,160,64,2,83,99,136,168,80,2,51,67, + 160,64,160,1,52,68,160,224,32,224,2,51,67,192,64,96, + 1,54,70,96,64,128,128,64,96,1,22,38,128,128,128,128, + 128,128,1,54,70,192,64,32,32,64,192,5,66,82,80,160, + 2,69,85,240,144,144,144,240}; +/* + Fontname: -gnu-Unifont-Medium-R-Normal-Sans-16-160-75-75-c-80-iso10646-1 + Copyright: Copyright (C) 2014 Roman Czyborra, Paul Hardy, Qianqian Fang, Andrew Miller, et al. Licensed under the GNU General Public License; either version 2, or (at your option) a later version, with the GNU Font Embedding Exception. + Capital A Height: 10, '1' Height: 10 + Calculated Max Values w=16 h=16 x= 4 y=14 dx=16 dy= 0 ascent=14 len=32 + Font Bounding box w=16 h=16 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent =10 descent=-2 + X Font ascent =11 descent=-2 + Max Font ascent =14 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_unifont_0_8[4249] U8G_FONT_SECTION("u8g_font_unifont_0_8") = { + 0,16,16,0,254,10,1,231,3,213,32,255,254,14,254,11, + 254,0,0,0,8,0,14,1,10,10,8,4,0,128,128,128, + 128,128,128,128,0,128,128,5,4,4,8,2,8,136,136,136, + 136,6,10,10,8,1,0,36,36,36,252,72,72,252,144,144, + 144,7,10,10,8,1,0,16,124,146,144,112,28,18,146,124, + 16,7,10,10,8,1,0,98,148,148,104,16,16,44,82,82, + 140,7,10,10,8,1,0,56,68,68,40,48,82,138,132,140, + 114,1,4,4,8,4,8,128,128,128,128,3,12,12,8,3, + 255,32,64,64,128,128,128,128,128,128,64,64,32,3,12,12, + 8,2,255,128,64,64,32,32,32,32,32,32,64,64,128,7, + 7,7,8,1,1,16,146,84,56,84,146,16,7,7,7,8, + 1,1,16,16,16,254,16,16,16,2,4,4,8,3,254,192, + 64,64,128,4,1,1,8,2,4,240,2,2,2,8,3,0, + 192,192,6,10,10,8,1,0,4,4,8,16,16,32,32,64, + 128,128,6,10,10,8,1,0,48,72,132,132,132,132,132,132, + 72,48,5,10,10,8,2,0,32,96,160,32,32,32,32,32, + 32,248,6,10,10,8,1,0,120,132,132,4,24,32,64,128, + 128,252,6,10,10,8,1,0,120,132,132,4,56,4,4,132, + 132,120,6,10,10,8,1,0,8,24,40,72,136,136,252,8, + 8,8,6,10,10,8,1,0,252,128,128,128,248,4,4,4, + 132,120,6,10,10,8,1,0,56,64,128,128,248,132,132,132, + 132,120,6,10,10,8,1,0,252,4,4,8,8,8,16,16, + 16,16,6,10,10,8,1,0,120,132,132,132,120,132,132,132, + 132,120,6,10,10,8,1,0,120,132,132,132,124,4,4,4, + 8,112,2,7,7,8,3,1,192,192,0,0,0,192,192,2, + 9,9,8,3,255,192,192,0,0,0,192,64,64,128,5,9, + 9,8,2,0,8,16,32,64,128,64,32,16,8,6,5,5, + 8,1,2,252,0,0,0,252,5,9,9,8,1,0,128,64, + 32,16,8,16,32,64,128,6,10,10,8,1,0,120,132,132, + 4,8,16,16,0,16,16,6,10,10,8,1,0,56,68,148, + 172,164,164,164,156,64,60,6,10,10,8,1,0,48,72,72, + 132,132,252,132,132,132,132,6,10,10,8,1,0,248,132,132, + 132,248,132,132,132,132,248,6,10,10,8,1,0,120,132,132, + 128,128,128,128,132,132,120,6,10,10,8,1,0,240,136,132, + 132,132,132,132,132,136,240,6,10,10,8,1,0,252,128,128, + 128,248,128,128,128,128,252,6,10,10,8,1,0,252,128,128, + 128,248,128,128,128,128,128,6,10,10,8,1,0,120,132,132, + 128,128,156,132,132,140,116,6,10,10,8,1,0,132,132,132, + 132,252,132,132,132,132,132,5,10,10,8,2,0,248,32,32, + 32,32,32,32,32,32,248,7,10,10,8,1,0,62,8,8, + 8,8,8,8,136,136,112,6,10,10,8,1,0,132,136,144, + 160,192,192,160,144,136,132,6,10,10,8,1,0,128,128,128, + 128,128,128,128,128,128,252,6,10,10,8,1,0,132,132,204, + 204,180,180,132,132,132,132,6,10,10,8,1,0,132,196,196, + 164,164,148,148,140,140,132,6,10,10,8,1,0,120,132,132, + 132,132,132,132,132,132,120,6,10,10,8,1,0,248,132,132, + 132,248,128,128,128,128,128,7,11,11,8,1,255,120,132,132, + 132,132,132,132,180,204,120,6,6,10,10,8,1,0,248,132, + 132,132,248,144,136,136,132,132,6,10,10,8,1,0,120,132, + 132,128,96,24,4,132,132,120,7,10,10,8,1,0,254,16, + 16,16,16,16,16,16,16,16,6,10,10,8,1,0,132,132, + 132,132,132,132,132,132,132,120,7,10,10,8,1,0,130,130, + 130,68,68,68,40,40,16,16,6,10,10,8,1,0,132,132, + 132,132,180,180,204,204,132,132,6,10,10,8,1,0,132,132, + 72,72,48,48,72,72,132,132,7,10,10,8,1,0,130,130, + 68,68,40,16,16,16,16,16,6,10,10,8,1,0,252,4, + 4,8,16,32,64,128,128,252,3,12,12,8,4,255,224,128, + 128,128,128,128,128,128,128,128,128,224,6,10,10,8,1,0, + 128,128,64,32,32,16,16,8,4,4,3,12,12,8,1,255, + 224,32,32,32,32,32,32,32,32,32,32,224,6,3,3,8, + 1,9,48,72,132,7,1,1,8,1,255,254,3,3,3,8, + 2,10,128,64,32,6,8,8,8,1,0,120,132,4,124,132, + 132,140,116,6,11,11,8,1,0,128,128,128,184,196,132,132, + 132,132,196,184,6,8,8,8,1,0,120,132,128,128,128,128, + 132,120,6,11,11,8,1,0,4,4,4,116,140,132,132,132, + 132,140,116,6,8,8,8,1,0,120,132,132,252,128,128,132, + 120,5,11,11,8,1,0,24,32,32,32,248,32,32,32,32, + 32,32,6,11,11,8,1,254,4,116,136,136,136,112,64,120, + 132,132,120,6,11,11,8,1,0,128,128,128,184,196,132,132, + 132,132,132,132,5,11,11,8,2,0,32,32,0,96,32,32, + 32,32,32,32,248,5,13,13,8,1,254,8,8,0,24,8, + 8,8,8,8,8,8,144,96,6,11,11,8,1,0,128,128, + 128,136,144,160,192,160,144,136,132,5,11,11,8,2,0,96, + 32,32,32,32,32,32,32,32,32,248,7,8,8,8,1,0, + 236,146,146,146,146,146,146,146,6,8,8,8,1,0,184,196, + 132,132,132,132,132,132,6,8,8,8,1,0,120,132,132,132, + 132,132,132,120,6,10,10,8,1,254,184,196,132,132,132,132, + 196,184,128,128,6,10,10,8,1,254,116,140,132,132,132,132, + 140,116,4,4,6,8,8,8,1,0,184,196,132,128,128,128, + 128,128,6,8,8,8,1,0,120,132,128,96,24,4,132,120, + 5,10,10,8,1,0,32,32,32,248,32,32,32,32,32,24, + 6,8,8,8,1,0,132,132,132,132,132,132,140,116,6,8, + 8,8,1,0,132,132,132,72,72,72,48,48,7,8,8,8, + 1,0,130,146,146,146,146,146,146,108,6,8,8,8,1,0, + 132,132,72,48,48,72,132,132,6,10,10,8,1,254,132,132, + 132,132,132,76,52,4,4,120,6,8,8,8,1,0,252,4, + 8,16,32,64,128,252,3,12,12,8,3,255,96,128,128,64, + 64,128,128,64,64,128,128,96,1,14,14,8,4,254,128,128, + 128,128,128,128,128,128,128,128,128,128,128,128,3,12,12,8, + 2,255,192,32,32,64,64,32,32,64,64,32,32,192,7,3, + 3,8,1,8,98,146,140,16,16,32,16,0,254,170,170,0, + 1,128,0,0,1,128,0,115,209,202,16,75,209,202,16,115, + 223,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32, + 16,0,254,170,170,0,1,128,0,0,1,128,0,113,157,202, + 82,115,211,194,82,66,93,128,0,0,1,128,0,0,1,128, + 0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0, + 1,128,0,73,157,202,82,122,93,202,80,73,145,128,0,0, + 1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170, + 170,0,1,128,0,0,1,128,0,115,147,202,82,115,159,202, + 18,114,19,128,0,0,1,128,0,0,1,128,0,85,85,16, + 16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,75, + 147,234,82,91,159,202,82,75,147,128,0,0,1,128,0,0, + 1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128, + 0,0,1,128,0,116,185,166,164,37,165,164,164,116,185,128, + 0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0, + 254,170,170,0,1,128,0,0,1,128,0,75,209,234,16,91, + 209,202,16,75,223,128,0,0,1,128,0,0,1,128,0,85, + 85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, + 0,57,205,194,18,49,159,136,82,115,147,128,0,0,1,128, + 0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0, + 1,128,0,0,1,128,0,121,205,194,18,121,159,192,82,123, + 147,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32, + 16,0,254,170,170,0,1,128,0,0,1,128,0,75,157,201, + 32,121,25,201,4,73,57,128,0,0,1,128,0,0,1,128, + 0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0, + 1,128,0,37,221,164,132,60,133,164,132,36,153,128,0,0, + 1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170, + 170,0,1,128,0,0,1,128,0,69,205,196,144,68,137,168, + 132,16,153,128,0,0,1,128,0,0,1,128,0,85,85,16, + 16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,114, + 29,202,18,114,19,194,18,67,221,128,0,0,1,128,0,0, + 1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128, + 0,0,1,128,0,114,19,202,18,114,19,194,18,67,205,128, + 0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0, + 254,170,170,0,1,128,0,0,1,128,0,14,33,137,32,14, + 33,138,32,9,33,128,0,0,1,128,0,0,1,128,0,85, + 85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, + 0,57,221,194,2,49,141,136,80,115,159,128,0,0,1,128, + 0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0, + 1,128,0,0,1,128,0,57,221,194,2,49,141,136,66,115, + 157,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32, + 16,0,254,170,170,0,1,128,0,0,1,128,0,113,207,202, + 16,74,13,202,2,113,221,128,0,0,1,128,0,0,1,128, + 0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0, + 1,128,0,114,69,202,76,114,69,194,68,65,143,128,0,0, + 1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170, + 170,0,1,128,0,0,1,128,0,114,93,202,66,114,77,194, + 80,65,159,128,0,0,1,128,0,0,1,128,0,85,85,16, + 16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,59, + 157,193,32,49,25,137,4,113,57,128,0,0,1,128,0,0, + 1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128, + 0,0,1,128,0,57,211,194,18,66,31,194,18,57,211,128, + 0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0, + 254,170,170,0,1,128,0,0,1,128,0,34,137,182,136,42, + 169,162,216,34,137,128,0,0,1,128,0,0,1,128,0,85, + 85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, + 0,59,141,194,82,51,159,138,18,114,19,128,0,0,1,128, + 0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0, + 1,128,0,0,1,128,0,123,141,194,82,123,159,194,18,122, + 19,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32, + 16,0,254,170,170,0,1,128,0,0,1,128,0,57,143,194, + 80,50,77,138,66,113,157,128,0,0,1,128,0,0,1,128, + 0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0, + 1,128,0,51,155,196,34,37,163,148,162,99,155,128,0,0, + 1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170, + 170,0,1,128,0,0,1,128,0,57,221,194,8,50,9,138, + 8,113,221,128,0,0,1,128,0,0,1,128,0,85,85,16, + 16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,57, + 221,194,8,65,137,192,72,59,157,128,0,0,1,128,0,0, + 1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128, + 0,0,1,128,0,14,249,144,32,12,33,130,32,28,33,128, + 0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0, + 254,170,170,0,1,128,0,0,1,128,0,49,207,202,16,73, + 145,200,80,51,143,128,0,0,1,128,0,0,1,128,0,85, + 85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, + 0,28,137,146,216,28,169,144,136,16,137,128,0,0,1,128, + 0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0, + 1,128,0,0,1,128,0,51,143,202,80,123,145,202,16,74, + 15,128,0,0,1,128,0,0,1,128,0,85,85,6,13,13, + 8,1,0,96,24,0,252,128,128,128,248,128,128,128,128,252, + 6,14,14,8,1,0,72,72,0,0,252,128,128,128,248,128, + 128,128,128,252,7,10,10,8,1,0,252,32,32,32,60,34, + 34,34,34,44,6,14,14,8,1,0,24,96,0,0,252,128, + 128,128,128,128,128,128,128,128,6,10,10,8,1,0,56,68, + 128,128,248,128,128,128,68,56,6,10,10,8,1,0,120,132, + 132,128,96,24,4,132,132,120,5,10,10,8,2,0,248,32, + 32,32,32,32,32,32,32,248,5,14,14,8,2,0,144,144, + 0,0,248,32,32,32,32,32,32,32,32,248,6,10,10,8, + 1,0,28,8,8,8,8,8,8,136,136,112,8,10,10,8, + 0,0,120,72,72,72,78,73,73,73,73,142,7,10,10,8, + 1,0,144,144,144,144,252,146,146,146,146,156,7,10,10,8, + 1,0,252,32,32,32,60,34,34,34,34,34,6,14,14,8, + 1,0,24,96,0,0,128,140,144,160,192,192,160,144,136,132, + 6,13,13,8,1,0,96,24,0,132,140,140,148,148,164,164, + 196,196,132,7,14,14,8,1,0,132,132,120,0,130,130,68, + 68,40,40,16,16,32,96,7,12,12,8,1,254,130,130,130, + 130,130,130,130,130,130,254,16,16,6,10,10,8,1,0,48, + 72,72,132,132,252,132,132,132,132,6,10,10,8,1,0,248, + 128,128,128,248,132,132,132,132,248,6,10,10,8,1,0,248, + 132,132,132,248,132,132,132,132,248,6,10,10,8,1,0,252, + 128,128,128,128,128,128,128,128,128,8,12,12,8,0,254,14, + 18,18,18,34,34,34,66,66,255,129,129,6,10,10,8,1, + 0,252,128,128,128,248,128,128,128,128,252,7,10,10,8,1, + 0,146,146,84,84,56,56,84,84,146,146,6,10,10,8,1, + 0,120,132,4,4,120,8,4,4,132,120,6,10,10,8,1, + 0,132,140,140,148,148,164,164,196,196,132,6,13,13,8,1, + 0,72,48,0,132,140,140,148,148,164,164,196,196,132,6,10, + 10,8,1,0,140,144,144,160,160,192,160,144,136,132,6,10, + 10,8,1,0,60,36,36,36,36,36,36,68,68,132,6,10, + 10,8,1,0,132,132,204,204,180,180,132,132,132,132,6,10, + 10,8,1,0,132,132,132,132,252,132,132,132,132,132,6,10, + 10,8,1,0,120,132,132,132,132,132,132,132,132,120,6,10, + 10,8,1,0,252,132,132,132,132,132,132,132,132,132,6,10, + 10,8,1,0,248,132,132,132,248,128,128,128,128,128,6,10, + 10,8,1,0,120,132,132,128,128,128,128,132,132,120,7,10, + 10,8,1,0,254,16,16,16,16,16,16,16,16,16,7,10, + 10,8,1,0,130,130,68,68,40,40,16,16,32,96,7,11, + 11,8,1,0,16,124,146,146,146,146,146,124,16,16,16,6, + 10,10,8,1,0,132,132,72,72,48,48,72,72,132,132,7, + 12,12,8,1,254,132,132,132,132,132,132,132,132,132,254,2, + 2,6,10,10,8,1,0,132,132,132,132,132,252,4,4,4, + 4,7,10,10,8,1,0,146,146,146,146,146,146,146,146,146, + 254,8,12,12,8,0,254,146,146,146,146,146,146,146,146,146, + 255,1,1,7,10,10,8,1,0,224,32,32,32,60,34,34, + 34,34,60,6,10,10,8,1,0,132,132,132,132,228,148,148, + 148,148,228,6,10,10,8,1,0,128,128,128,128,248,132,132, + 132,132,248,6,10,10,8,1,0,112,136,4,4,124,4,4, + 4,136,112,6,10,10,8,1,0,152,164,164,164,228,164,164, + 164,164,152,6,10,10,8,1,0,124,132,132,132,124,36,68, + 68,132,132,6,8,8,8,1,0,120,132,4,124,132,132,140, + 116,6,12,12,8,1,0,4,56,64,128,248,132,132,132,132, + 132,132,120,6,8,8,8,1,0,248,132,132,248,132,132,132, + 248,6,8,8,8,1,0,252,128,128,128,128,128,128,128,7, + 9,9,8,1,255,60,36,68,68,132,132,132,254,130,6,8, + 8,8,1,0,120,132,132,252,128,128,132,120,7,8,8,8, + 1,0,146,146,84,56,56,84,146,146,6,8,8,8,1,0, + 120,132,4,120,8,4,132,120,6,8,8,8,1,0,140,140, + 148,148,164,164,196,196,6,12,12,8,1,0,72,48,0,0, + 140,140,148,148,164,164,196,196,6,8,8,8,1,0,140,144, + 160,192,160,144,136,132,6,8,8,8,1,0,60,36,36,36, + 36,68,68,132,6,8,8,8,1,0,132,204,204,180,180,132, + 132,132,6,8,8,8,1,0,132,132,132,252,132,132,132,132, + 6,8,8,8,1,0,120,132,132,132,132,132,132,120,6,8, + 8,8,1,0,252,132,132,132,132,132,132,132,6,10,10,8, + 1,254,184,196,132,132,132,132,196,184,128,128,6,8,8,8, + 1,0,120,132,128,128,128,128,132,120,7,8,8,8,1,0, + 254,16,16,16,16,16,16,16,6,10,10,8,1,254,132,132, + 72,72,48,48,32,32,64,192,7,13,13,8,1,254,16,16, + 16,124,146,146,146,146,146,146,124,16,16,6,8,8,8,1, + 0,132,132,72,48,48,72,132,132,7,10,10,8,1,254,132, + 132,132,132,132,132,132,254,2,2,6,8,8,8,1,0,132, + 132,132,132,252,4,4,4,7,8,8,8,1,0,146,146,146, + 146,146,146,146,254,8,10,10,8,0,254,146,146,146,146,146, + 146,146,255,1,1,7,8,8,8,1,0,224,32,32,60,34, + 34,34,60,6,8,8,8,1,0,132,132,132,228,148,148,148, + 228,6,8,8,8,1,0,128,128,128,248,132,132,132,248,6, + 8,8,8,1,0,112,136,4,124,4,4,136,112,6,8,8, + 8,1,0,152,164,164,228,164,164,164,152,6,8,8,8,1, + 0,124,132,132,132,124,36,68,132,6,12,12,8,1,0,96, + 24,0,0,120,132,132,252,128,128,132,120,6,12,12,8,1, + 0,72,72,0,0,120,132,132,252,128,128,132,120,7,13,13, + 8,0,254,64,240,64,92,98,66,66,66,66,66,66,2,12, + 6,12,12,8,1,0,24,96,0,0,252,128,128,128,128,128, + 128,128,6,8,8,8,1,0,56,68,128,248,128,128,68,56, + 6,8,8,8,1,0,120,132,128,96,24,4,132,120,5,11, + 11,8,2,0,32,32,0,96,32,32,32,32,32,32,248,5, + 11,11,8,2,0,144,144,0,96,32,32,32,32,32,32,248, + 5,13,13,8,1,254,8,8,0,24,8,8,8,8,8,8, + 8,144,96,8,8,8,8,0,0,120,72,72,78,73,73,73, + 142,7,8,8,8,1,0,144,144,144,252,146,146,146,156,7, + 11,11,8,0,0,64,240,64,92,98,66,66,66,66,66,66, + 6,12,12,8,1,0,24,96,0,0,140,144,160,192,160,144, + 136,132,6,12,12,8,1,0,96,24,0,0,140,140,148,148, + 164,164,196,196,6,15,15,8,1,254,132,132,120,0,0,132, + 132,72,72,48,48,32,32,64,192,5,10,10,8,2,254,136, + 136,136,136,136,136,136,248,32,32}; +/* + Fontname: -gnu-Unifont-Medium-R-Normal-Sans-16-160-75-75-c-80-iso10646-1 + Copyright: Copyright (C) 2014 Roman Czyborra, Paul Hardy, Qianqian Fang, Andrew Miller, et al. Licensed under the GNU General Public License; either version 2, or (at your option) a later version, with the GNU Font Embedding Exception. + Capital A Height: 8, '1' Height: 7 + Calculated Max Values w=16 h=16 x= 9 y=11 dx=16 dy= 0 ascent=14 len=32 + Font Bounding box w=16 h=16 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent = 8 descent= 2 + X Font ascent =13 descent= 0 + Max Font ascent =14 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_unifont_12_13[3987] U8G_FONT_SECTION("u8g_font_unifont_12_13") = { + 0,16,16,0,254,8,4,155,6,11,0,255,2,14,254,13, + 0,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, + 0,74,81,234,80,90,81,201,158,0,1,128,0,0,1,128, + 0,0,1,128,0,85,85,16,16,32,16,0,254,85,85,128, + 0,0,1,128,0,0,1,128,0,0,1,128,0,0,1,128, + 4,42,13,170,12,53,245,128,0,0,1,170,170,16,16,32, + 16,0,254,85,85,128,0,0,1,128,0,0,1,128,0,0, + 1,128,0,0,1,142,0,14,25,135,224,0,1,128,0,0, + 1,170,170,16,16,32,16,0,254,85,85,128,0,0,1,128, + 0,0,1,128,0,0,25,128,36,0,69,129,68,1,73,158, + 240,0,1,128,0,0,1,170,170,16,16,32,16,0,254,85, + 85,128,0,0,1,128,0,0,1,128,0,0,1,128,0,0, + 1,128,0,1,149,130,124,2,1,191,0,0,1,170,170,16, + 16,32,16,0,254,85,85,128,0,0,1,136,4,22,25,161, + 224,0,1,128,0,0,1,128,0,0,1,128,0,0,1,128, + 0,0,1,170,170,12,14,28,16,1,255,1,80,225,80,33, + 160,17,0,17,0,9,0,8,0,4,224,4,128,2,128,3, + 0,3,0,2,0,2,0,11,15,30,16,1,255,0,64,0, + 128,225,0,33,64,16,128,17,32,8,192,8,0,4,224,4, + 128,2,128,3,0,3,0,2,0,2,0,12,7,14,16,2, + 3,1,144,58,96,202,192,17,64,16,64,32,128,31,0,5, + 10,10,8,1,1,8,8,80,16,32,32,64,64,136,160,7, + 10,10,8,1,1,8,8,80,16,32,32,64,66,136,160,10, + 10,20,16,3,2,48,0,48,0,6,0,9,0,7,0,1, + 0,14,0,240,128,0,64,0,64,2,4,4,8,3,3,64, + 128,192,192,5,4,4,8,1,2,24,48,64,128,12,4,8, + 16,3,1,112,0,136,0,136,48,127,192,7,11,11,16,2, + 0,24,32,32,24,32,76,82,98,36,88,128,6,4,4,8, + 2,9,24,36,228,88,9,6,12,16,4,7,3,0,4,0, + 39,128,56,0,64,0,128,0,10,5,10,16,3,8,252,64, + 16,64,32,128,71,0,64,0,11,4,8,16,2,9,24,32, + 36,32,228,64,89,128,10,4,8,16,3,8,0,64,254,64, + 1,64,0,128,7,4,4,16,4,9,64,92,98,252,8,6, + 6,16,3,8,40,40,40,104,128,127,3,5,5,16,6,8, + 32,0,32,32,192,4,2,2,16,6,10,48,192,5,5,5, + 16,5,8,16,40,48,96,144,4,13,13,16,6,254,240,0, + 0,0,0,0,0,0,0,0,0,48,192,2,5,5,8,3, + 2,64,128,192,0,192,16,16,32,16,0,254,170,170,0,1, + 128,0,0,1,178,34,74,55,250,42,74,35,203,162,0,1, + 128,0,0,1,128,0,0,1,128,0,85,85,14,14,28,16, + 1,255,255,252,231,156,219,124,219,28,219,108,231,156,255,252, + 255,252,247,28,231,108,247,108,247,108,227,28,255,252,3,3, + 3,16,7,0,64,0,160,7,9,9,8,1,2,124,130,128, + 64,32,16,16,0,16,6,8,8,8,1,255,24,164,144,136, + 112,32,80,32,4,5,5,8,2,2,112,128,240,64,128,7, + 10,10,8,1,3,2,124,128,16,16,16,16,16,16,16,3, + 11,11,8,2,3,96,128,96,128,32,32,32,32,32,32,32, + 6,13,13,8,1,255,24,32,24,32,0,24,36,36,60,4, + 8,144,96,3,12,12,8,3,254,64,64,64,64,64,64,64, + 0,96,128,96,128,6,11,11,8,1,255,48,64,48,64,0, + 140,144,144,140,132,120,1,8,8,8,4,3,128,128,128,128, + 128,128,128,128,6,7,7,8,1,0,8,68,132,120,0,0, + 16,5,8,8,8,2,3,144,0,0,96,144,136,136,112,6, + 7,7,8,1,3,40,0,0,8,68,132,120,6,9,9,8, + 1,3,32,0,80,0,0,8,68,132,120,6,8,8,8,1, + 254,252,32,64,128,144,128,68,56,6,8,8,8,1,254,252, + 32,64,128,128,128,68,56,6,11,11,8,1,254,32,0,0, + 252,32,64,128,128,128,68,56,6,5,5,8,1,3,16,8, + 4,132,248,6,7,7,8,1,3,64,0,16,8,4,132,248, + 6,7,7,8,1,255,8,4,4,4,8,144,96,6,10,10, + 8,1,255,32,0,0,8,4,4,4,8,144,96,7,7,7, + 8,1,255,2,42,42,188,144,144,96,7,12,12,8,1,255, + 16,0,36,0,0,2,42,42,188,144,144,96,7,6,6,8, + 1,0,12,50,156,144,144,96,7,9,9,8,1,0,8,0, + 0,12,50,156,144,144,96,6,8,8,8,1,3,64,64,64, + 64,88,100,68,248,6,8,8,8,1,3,64,72,64,64,88, + 100,68,248,6,9,9,8,1,254,48,72,64,56,64,128,128, + 132,120,6,12,12,8,1,254,16,0,0,48,72,64,56,64, + 128,128,132,120,7,9,9,8,0,3,80,4,8,16,32,64, + 60,130,126,7,12,12,8,0,255,4,8,16,32,64,60,130, + 126,0,40,0,16,6,10,10,8,1,255,64,160,160,8,148, + 144,136,132,132,120,6,9,9,8,1,255,160,0,8,148,144, + 136,132,132,120,6,10,10,8,1,255,64,0,160,8,148,144, + 136,132,132,120,8,1,1,8,0,3,255,6,8,8,8,1, + 3,16,0,12,20,12,132,132,120,6,10,10,8,1,0,72, + 0,0,56,36,20,76,132,136,112,6,8,8,8,1,3,4, + 20,36,20,68,132,132,120,6,11,11,8,1,0,4,4,4, + 4,4,4,68,132,132,136,120,5,8,8,8,2,254,112,24, + 120,128,128,128,128,128,6,9,9,8,1,0,32,0,0,8, + 68,132,132,136,112,10,9,18,16,1,1,4,0,3,0,6, + 128,10,64,10,64,6,64,25,128,96,0,128,0,6,8,8, + 8,1,255,24,36,36,60,4,8,144,96,6,7,7,8,1, + 255,8,148,144,136,132,132,120,6,8,8,8,1,254,8,148, + 144,136,132,120,0,80,4,4,4,8,2,9,48,192,48,192, + 5,5,5,8,2,8,24,24,200,80,224,4,4,4,8,2, + 0,32,192,48,192,4,2,2,8,2,9,48,192,4,6,6, + 8,2,6,64,160,160,112,64,128,4,2,2,8,2,254,48, + 192,5,4,4,8,1,7,8,40,176,192,4,4,4,8,2, + 7,96,144,144,96,7,3,3,8,1,9,2,124,128,3,4, + 4,8,2,10,96,128,96,128,3,4,4,8,2,254,96,128, + 96,128,2,3,3,16,9,254,128,64,64,5,5,5,16,5, + 9,8,16,32,224,96,4,3,3,16,6,9,144,144,96,4, + 1,1,16,6,10,240,5,4,4,16,5,9,136,80,32,32, + 5,4,4,16,5,9,32,32,80,136,2,2,2,16,7,0, + 192,192,5,5,5,16,5,9,96,224,32,16,8,4,4,4, + 16,6,9,144,96,96,144,4,5,5,8,2,254,112,128,240, + 64,128,3,3,3,8,2,5,64,224,64,4,9,9,8,2, + 2,128,128,64,64,32,32,16,16,16,5,9,9,8,2,2, + 136,144,96,64,32,32,16,16,16,7,9,9,8,1,2,146, + 164,120,64,32,32,16,16,16,6,9,9,8,1,2,8,16, + 32,64,48,64,128,132,120,6,9,9,8,1,2,48,72,72, + 132,132,132,132,72,48,7,9,9,8,1,2,128,120,8,8, + 4,4,4,2,2,7,9,9,8,1,2,130,130,68,68,40, + 40,16,16,16,7,9,9,8,1,2,16,16,16,40,40,68, + 68,130,130,7,9,9,8,1,2,48,72,136,152,104,4,4, + 2,2,5,10,10,8,1,2,8,8,144,144,32,32,72,72, + 128,128,4,4,4,8,2,1,16,16,16,224,2,4,4,8, + 3,7,192,192,64,128,7,6,6,8,1,3,16,16,254,56, + 108,68,6,4,4,8,1,3,8,68,132,120,6,7,7,8, + 1,0,56,36,20,76,132,136,112,1,4,4,8,4,7,128, + 128,128,128,5,11,11,8,2,3,16,40,120,128,32,32,32, + 32,32,32,32,6,11,11,8,1,3,12,16,76,176,0,16, + 16,16,16,16,16,6,12,12,8,1,254,16,16,16,16,16, + 16,16,0,12,16,76,176,3,4,4,8,2,10,96,128,96, + 128,5,11,11,8,2,3,24,32,24,32,128,128,128,128,128, + 128,128,7,13,13,8,1,255,6,8,6,8,0,24,36,36, + 60,4,8,144,96,7,13,13,8,1,255,102,104,38,72,128, + 24,36,36,60,4,8,144,96,7,11,11,8,1,255,6,8, + 6,8,0,140,144,144,140,132,120,6,9,9,8,1,3,64, + 64,112,112,0,8,68,132,120,6,9,9,8,1,3,32,0, + 32,0,0,8,68,132,120,6,8,8,8,1,255,8,68,132, + 120,0,16,0,16,6,10,10,8,1,0,40,0,0,8,68, + 132,120,16,40,16,6,9,9,8,1,3,80,0,32,0,0, + 8,68,132,120,6,8,8,8,1,255,8,68,132,120,0,40, + 0,16,6,9,9,8,1,3,80,0,80,0,0,8,68,132, + 120,6,8,8,8,1,255,8,68,132,120,0,40,0,40,6, + 13,13,8,1,254,48,64,48,64,0,252,32,64,128,128,128, + 68,56,6,13,13,8,1,254,32,0,32,0,0,252,32,64, + 128,128,128,68,56,6,8,8,8,1,254,252,32,64,128,168, + 128,68,56,6,8,8,8,1,254,252,32,64,144,128,144,68, + 56,6,13,13,8,1,254,32,0,72,0,0,252,32,64,128, + 128,128,68,56,6,8,8,8,1,254,252,64,128,168,128,144, + 68,56,6,8,8,8,1,254,252,64,128,168,128,168,68,56, + 6,10,10,8,1,3,64,64,112,112,0,16,8,4,132,248, + 6,8,8,8,1,0,16,8,4,132,248,16,40,16,6,7, + 7,8,1,1,16,8,4,132,248,0,16,6,12,12,8,1, + 1,64,64,112,112,0,16,8,4,132,248,0,16,6,8,8, + 8,1,3,80,0,0,16,8,4,132,248,6,7,7,8,1, + 1,16,8,4,132,248,0,80,6,9,9,8,1,3,32,0, + 80,0,16,8,4,132,248,6,9,9,8,1,3,80,0,32, + 0,16,8,4,132,248,6,9,9,8,1,3,80,0,80,0, + 16,8,4,132,248,6,13,13,8,1,255,16,16,28,28,0, + 0,8,4,4,4,8,144,96,7,13,13,8,1,255,34,20, + 8,8,0,0,8,4,4,4,8,144,96,6,8,8,8,1, + 254,8,4,4,4,8,152,116,8,6,7,7,8,1,255,8, + 4,4,4,8,144,100,7,8,8,8,1,254,16,8,8,8, + 16,144,106,4,6,7,7,8,1,255,8,4,4,36,8,144, + 100,6,10,10,8,1,255,36,0,0,8,4,4,4,8,144, + 96,6,12,12,8,1,255,16,0,40,0,0,8,4,4,4, + 8,144,96,6,12,12,8,1,255,36,0,36,0,0,8,4, + 4,4,8,144,96,7,10,10,8,1,0,8,0,0,2,42, + 42,188,144,148,96,7,8,8,8,1,255,2,42,42,188,160, + 170,64,4,7,13,13,8,1,255,16,0,36,0,0,2,42, + 42,188,160,170,64,4,7,6,6,8,1,0,12,50,156,160, + 170,64,7,11,11,8,1,0,16,0,36,0,0,12,50,156, + 144,144,96,6,8,8,8,1,3,72,64,84,64,88,100,68, + 248,6,14,14,8,1,254,32,0,72,0,0,48,72,64,56, + 64,128,128,132,120,6,6,6,8,1,3,12,20,12,132,132, + 120,6,8,8,8,1,1,12,20,12,132,132,120,0,16,6, + 11,11,8,1,1,8,0,0,12,20,12,132,132,120,0,16, + 6,10,10,8,1,3,16,0,36,0,12,20,12,132,132,120, + 6,10,10,8,1,255,12,20,12,132,132,120,0,72,0,32, + 6,10,10,8,1,3,20,0,20,0,12,20,12,132,132,120, + 6,10,10,8,1,0,8,0,0,56,36,20,76,132,136,112, + 6,12,12,8,1,0,32,0,72,0,0,56,36,20,76,132, + 136,112,7,8,8,8,0,3,4,8,16,32,64,60,130,126, + 14,8,16,16,1,3,0,48,0,192,3,0,12,0,16,0, + 15,248,128,4,127,248,7,8,8,8,0,3,4,12,26,36, + 64,60,130,126,6,10,10,8,1,3,16,0,4,20,36,20, + 68,132,132,120,6,11,11,8,1,3,32,0,80,4,20,36, + 20,68,132,132,120,6,12,12,8,1,255,4,20,36,20,68, + 132,132,120,0,40,0,16,7,10,10,8,0,3,8,16,36, + 72,16,32,64,60,130,126,7,10,10,8,0,3,8,16,36, + 76,26,36,64,60,130,126,7,10,10,8,0,3,80,6,24, + 98,12,48,64,60,130,126,7,12,12,8,0,1,8,16,36, + 72,16,32,64,60,130,126,0,40,7,14,14,8,0,255,8, + 16,36,72,16,32,64,60,130,126,0,16,0,16,7,11,11, + 8,0,3,64,0,166,24,98,12,48,64,60,130,126,7,14, + 14,8,1,0,34,20,8,8,0,4,4,4,4,68,132,132, + 136,120,6,13,13,8,1,0,4,0,4,4,4,4,4,4, + 68,132,132,136,120,7,14,14,8,1,0,8,0,18,0,4, + 4,4,4,4,68,132,132,136,120,6,13,13,8,1,254,4, + 4,4,4,4,4,68,132,120,0,40,0,16,6,11,11,8, + 1,254,16,0,0,8,68,132,132,136,112,0,16,6,6,6, + 8,1,0,8,68,132,132,136,112,6,12,12,8,1,0,32, + 32,56,56,0,0,8,68,132,132,136,112,6,11,11,8,1, + 254,16,0,0,8,68,132,132,136,120,20,8,6,11,11,8, + 1,0,32,0,72,0,0,8,68,132,132,136,112,6,6,6, + 8,1,2,32,88,84,52,72,128,6,11,11,8,1,254,32, + 0,0,252,64,128,168,128,144,68,56,4,10,10,8,2,3, + 96,128,96,128,0,64,96,144,144,240,6,3,3,8,1,2, + 32,92,128,6,8,8,8,1,2,48,64,48,64,0,32,92, + 128,6,6,6,8,1,2,80,0,0,32,92,128,6,8,8, + 8,1,255,24,36,36,28,68,164,72,240,6,8,8,8,1, + 255,24,36,36,60,4,56,144,96,6,13,13,8,1,255,68, + 40,16,16,0,24,36,36,60,4,8,144,96,6,14,14,8, + 1,255,32,80,80,56,32,64,152,36,36,60,4,8,144,96, + 6,12,12,8,1,255,16,8,8,0,24,36,36,60,4,8, + 144,96,6,12,12,8,1,255,16,40,68,0,24,36,36,60, + 4,8,144,96,6,11,11,8,1,255,40,0,0,24,36,36, + 60,4,8,144,96,6,13,13,8,1,255,16,0,36,0,0, + 24,36,36,60,4,8,144,96,6,7,7,8,1,255,8,148, + 144,136,132,132,120,7,7,7,8,0,255,4,42,104,164,34, + 34,28,6,12,12,8,1,255,136,80,32,32,0,8,148,144, + 136,132,132,120,6,11,11,8,1,255,16,0,0,24,36,36, + 60,4,8,144,96,6,9,9,8,1,254,24,164,144,136,112, + 0,32,0,32,6,9,9,8,1,254,24,164,144,136,112,0, + 80,0,32,7,6,6,8,1,255,16,40,32,64,128,254,7, + 10,10,8,1,255,96,128,96,128,16,40,32,64,128,254,4, + 1,1,8,2,3,240,4,5,5,8,2,3,64,96,144,144, + 240,11,5,10,16,3,9,16,64,18,224,127,224,128,0,254, + 0,10,5,10,16,3,9,18,64,17,0,127,0,128,0,254, + 0,6,4,4,16,5,9,8,20,60,192,5,5,5,16,4, + 9,136,72,48,16,48,8,5,5,16,3,9,252,32,72,33, + 30,3,3,3,8,4,8,160,0,128,9,4,8,16,4,9, + 18,128,159,128,144,0,96,0,16,16,32,16,0,254,85,85, + 128,0,1,193,134,48,11,233,140,24,16,5,144,4,16,5, + 140,24,11,233,134,48,1,193,128,0,0,1,170,170,15,15, + 30,16,1,254,1,0,2,128,63,248,40,40,48,24,35,136, + 100,76,164,74,100,76,35,136,48,24,40,40,63,248,2,128, + 1,0,3,4,4,16,6,9,96,160,160,96,4,5,5,16, + 6,9,96,144,144,144,96,6,3,3,16,5,10,252,8,96, + 3,5,5,16,6,9,96,224,128,128,64,9,4,8,16,4, + 254,18,128,159,128,144,0,96,0,6,2,2,16,5,10,12, + 240,5,4,4,8,2,9,24,24,16,224,7,4,4,8,1, + 9,32,64,128,254,7,4,4,16,3,9,32,64,128,254,6, + 4,4,16,5,9,16,132,132,124,15,15,30,16,1,254,1, + 0,2,128,5,64,10,160,21,80,42,168,84,84,42,168,42, + 168,42,168,43,168,40,40,47,232,96,12,255,254,5,5,5, + 16,5,9,32,80,136,80,32,5,5,5,16,5,254,32,80, + 136,80,32,2,2,2,16,7,11,192,192,2,4,4,16,7, + 254,192,128,128,64,6,9,9,8,1,3,16,40,68,0,16, + 8,4,132,248,7,11,11,8,1,255,8,20,34,0,8,4, + 4,4,8,144,96,3,3,3,8,2,5,64,224,64,4,9, + 9,8,2,2,128,128,64,64,32,32,16,16,16,5,9,9, + 8,2,2,136,144,96,64,32,32,16,16,16,7,9,9,8, + 1,2,146,164,120,64,32,32,16,16,16,6,9,9,8,1, + 2,48,72,192,228,88,64,32,32,32,7,9,9,8,1,1, + 16,16,40,40,68,68,146,170,198,6,8,8,8,1,2,56, + 68,64,64,48,12,48,192,7,9,9,8,1,2,130,130,68, + 68,40,40,16,16,16,7,9,9,8,1,2,16,16,16,40, + 40,68,68,130,130,7,9,9,8,1,2,48,72,136,152,104, + 4,4,2,2,7,12,12,8,1,0,16,0,36,0,0,2, + 42,42,188,144,148,96,7,9,9,8,1,0,8,0,0,12, + 50,156,144,148,96,6,12,12,8,1,254,16,0,0,48,72, + 64,56,64,144,128,132,120,4,10,10,8,2,254,112,128,240, + 64,128,0,80,80,80,80,6,8,8,8,1,254,56,12,124, + 128,148,148,148,148,10,12,24,16,1,1,4,0,10,0,17, + 0,4,0,3,0,6,128,10,64,10,64,6,64,25,128,96, + 0,128,0}; +/* + Fontname: -gnu-Unifont-Medium-R-Normal-Sans-16-160-75-75-c-80-iso10646-1 + Copyright: Copyright (C) 2014 Roman Czyborra, Paul Hardy, Qianqian Fang, Andrew Miller, et al. Licensed under the GNU General Public License; either version 2, or (at your option) a later version, with the GNU Font Embedding Exception. + Capital A Height: 3, '1' Height: 12 + Calculated Max Values w=16 h=16 x=12 y=11 dx=16 dy= 0 ascent=14 len=32 + Font Bounding box w=16 h=16 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent = 3 descent=-2 + X Font ascent =12 descent=-2 + Max Font ascent =14 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_unifont_18_19[7078] U8G_FONT_SECTION("u8g_font_unifont_18_19") = { + 0,16,16,0,254,3,7,121,9,233,0,255,254,14,254,12, + 254,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, + 0,74,81,234,80,90,81,201,158,0,1,128,0,0,1,128, + 0,0,1,128,0,85,85,8,4,4,16,4,9,152,91,35, + 28,2,2,2,16,7,11,192,192,2,5,5,16,12,3,192, + 192,0,192,192,14,15,30,16,2,255,32,0,31,0,0,128, + 57,252,68,192,4,192,12,192,56,192,8,192,135,192,134,192, + 78,192,60,192,0,192,0,64,15,12,24,16,1,255,57,254, + 68,192,4,192,12,192,56,192,8,192,135,192,134,192,78,192, + 60,192,0,192,0,64,15,12,24,16,1,255,57,254,68,204, + 4,204,12,204,56,204,8,204,135,204,134,204,78,204,60,204, + 0,204,0,68,16,13,26,16,0,254,255,255,0,192,0,192, + 15,192,24,0,24,0,15,224,0,48,3,48,5,176,7,224, + 0,64,0,32,16,16,32,16,0,254,3,192,6,32,1,0, + 255,255,0,192,0,192,15,192,24,0,24,0,15,224,0,48, + 3,48,5,176,7,224,0,64,0,32,16,12,24,16,0,255, + 255,255,1,128,0,192,0,192,1,192,15,128,65,128,64,192, + 32,192,16,192,9,192,7,128,16,12,24,16,0,255,255,255, + 1,128,0,192,0,192,1,192,15,156,65,178,64,226,32,194, + 16,198,9,196,7,128,16,13,26,16,0,254,255,255,1,128, + 57,128,101,152,3,152,7,248,31,136,57,136,33,156,1,184, + 1,160,0,160,0,30,16,12,24,16,0,255,255,255,0,32, + 0,32,56,32,116,248,99,204,99,12,48,12,16,120,12,192, + 2,128,0,124,16,16,32,16,0,254,0,152,0,112,0,0, + 255,255,12,48,12,48,12,48,12,48,12,96,4,0,2,0, + 1,128,0,96,0,16,0,24,0,24,16,16,32,16,0,254, + 16,0,15,224,0,16,255,255,12,48,12,48,12,48,12,48, + 12,96,4,0,2,0,1,128,0,96,0,16,0,24,0,24, + 16,13,26,16,0,254,255,255,12,48,12,48,12,48,12,48, + 12,96,4,0,2,0,1,128,0,96,0,16,0,24,0,24, + 16,16,32,16,0,254,15,0,0,128,0,64,255,255,12,48, + 12,48,12,48,12,48,12,96,4,0,2,0,1,128,0,96, + 0,16,0,24,0,24,15,15,30,16,1,255,0,76,0,60, + 0,0,57,254,68,204,4,204,12,204,56,204,8,204,135,204, + 134,204,78,204,60,204,0,204,0,68,15,15,30,16,1,255, + 2,0,1,240,0,8,57,254,68,204,4,204,12,204,56,204, + 8,204,135,204,134,204,78,204,60,204,0,204,0,68,15,15, + 30,16,1,255,1,192,0,32,0,16,57,254,68,204,4,204, + 12,204,56,204,8,204,135,204,134,204,78,204,60,204,0,204, + 0,68,15,15,30,16,1,255,0,224,1,208,0,40,57,254, + 68,204,4,204,12,204,56,204,8,204,135,204,134,204,78,204, + 60,204,0,204,0,68,16,12,24,16,0,255,255,255,1,128, + 1,128,29,128,51,224,35,144,39,152,29,152,1,152,1,152, + 1,128,0,128,16,12,24,16,0,255,255,255,8,24,8,24, + 9,216,59,56,58,24,18,56,17,216,8,24,6,24,1,152, + 0,8,16,12,24,16,0,255,255,255,1,152,1,152,1,152, + 1,152,7,152,3,152,1,152,0,152,0,24,0,24,0,8, + 16,12,24,16,0,255,255,255,12,24,12,24,7,216,2,24, + 4,24,4,56,4,120,3,216,0,24,0,24,0,8,16,11, + 22,16,0,0,255,255,0,96,0,96,15,224,24,0,24,4, + 15,206,0,100,16,96,8,96,7,192,16,12,24,16,0,255, + 255,255,0,24,0,24,0,24,31,248,3,24,6,56,6,120, + 3,216,0,24,0,24,0,8,16,13,26,16,0,254,255,255, + 0,16,0,16,60,120,112,228,96,196,32,68,31,44,12,24, + 24,56,24,100,7,134,0,6,16,12,24,16,0,255,255,255, + 0,24,0,24,0,24,3,248,17,152,8,216,8,216,7,152, + 0,24,0,24,0,8,16,12,24,16,0,255,255,255,3,24, + 3,24,31,24,48,24,48,24,31,248,1,24,13,24,22,24, + 29,24,0,136,16,12,24,16,0,255,255,255,0,24,0,24, + 7,24,5,152,33,184,33,248,33,216,19,152,15,24,0,24, + 0,8,16,11,22,16,0,0,255,255,0,192,0,192,0,192, + 7,192,12,0,24,0,24,0,24,0,12,16,7,224,16,12, + 24,16,0,255,255,255,1,128,1,128,1,128,3,128,7,96, + 12,16,8,24,8,24,8,56,4,112,3,224,16,11,22,16, + 0,0,255,255,0,24,0,24,3,248,6,0,6,0,3,240, + 0,24,4,24,2,24,1,240,16,12,24,16,0,255,255,255, + 0,96,0,96,7,224,12,0,24,0,24,192,25,160,9,16, + 5,16,3,48,1,224,16,12,24,16,0,255,255,255,25,152, + 25,152,25,152,25,152,25,152,9,152,7,24,0,24,0,24, + 0,24,0,8,16,12,24,16,0,255,255,255,0,24,0,24, + 0,24,7,248,14,24,12,24,12,24,6,24,2,24,1,24, + 0,136,13,12,24,16,3,255,227,248,216,192,204,192,76,192, + 28,192,120,192,97,192,35,192,30,192,0,192,0,192,0,64, + 16,12,24,16,0,255,255,255,0,24,0,24,0,24,1,248, + 2,0,6,0,6,24,2,40,1,240,0,8,0,4,13,12, + 24,16,3,255,115,248,200,192,192,192,192,192,96,192,28,192, + 48,192,96,192,97,192,99,192,30,192,0,64,16,12,24,16, + 0,255,255,255,0,24,0,24,0,24,7,248,6,24,6,24, + 2,24,0,24,0,24,0,24,0,8,16,12,24,16,0,255, + 255,255,0,24,0,24,0,24,7,248,6,24,6,24,2,24, + 0,24,1,24,3,152,1,8,16,12,24,16,0,255,255,255, + 6,24,6,24,6,24,6,24,6,24,2,56,1,216,0,24, + 0,24,0,24,0,8,16,12,24,16,0,255,255,255,49,128, + 49,128,49,128,49,240,49,200,19,132,15,132,1,132,1,140, + 1,140,0,128,16,12,24,16,0,255,255,255,0,24,0,24, + 7,216,14,120,13,24,12,152,12,120,7,248,0,24,0,24, + 0,8,14,12,24,16,2,255,227,252,216,96,200,96,76,96, + 60,96,12,96,31,224,28,96,12,96,0,96,0,96,0,32, + 16,12,24,16,0,255,255,255,6,24,6,24,6,24,6,24, + 6,24,15,248,6,24,2,24,0,24,0,24,0,8,16,12, + 24,16,0,255,255,255,3,24,3,24,3,24,3,24,6,24, + 4,56,4,120,3,216,0,24,0,24,0,8,16,12,24,16, + 0,255,255,255,0,192,0,192,0,192,3,192,3,128,3,128, + 1,0,0,128,0,64,0,32,0,24,16,12,24,16,0,255, + 255,255,0,192,0,192,0,192,3,192,3,128,3,128,1,0, + 0,128,4,64,14,32,4,24,16,12,24,16,0,255,255,255, + 0,24,0,24,28,56,58,248,49,216,49,152,24,24,8,24, + 4,24,3,24,0,8,16,11,22,16,0,0,255,255,0,48, + 0,48,0,112,14,200,25,140,49,140,49,140,49,152,19,112, + 14,0,16,13,26,16,0,254,255,255,0,48,0,48,0,112, + 14,200,25,140,49,140,49,140,49,152,19,112,14,0,0,192, + 0,192,16,12,24,16,0,255,255,255,0,24,0,24,3,216, + 15,56,12,24,12,56,4,120,3,216,0,24,0,24,0,8, + 16,12,24,16,0,255,255,255,6,24,6,24,31,24,1,152, + 1,152,25,152,21,24,30,24,2,24,1,24,0,136,16,12, + 24,16,0,255,255,255,12,24,14,24,13,24,12,152,12,88, + 12,56,6,56,1,216,0,24,0,24,0,8,16,12,24,16, + 0,255,255,255,3,24,3,24,3,24,11,24,15,24,14,248, + 4,24,4,24,2,24,1,24,0,136,16,12,24,16,0,255, + 255,255,0,24,0,24,7,248,12,0,12,0,6,240,1,152, + 3,16,3,0,1,128,0,252,2,4,4,16,7,10,192,192, + 192,192,6,16,16,16,10,254,48,48,48,252,48,48,48,48, + 48,48,48,48,48,48,48,16,2,2,2,16,7,255,192,192, + 9,11,22,16,7,0,63,128,64,0,64,0,96,0,48,0, + 24,0,8,0,12,0,12,0,156,0,120,0,6,13,13,16, + 10,254,252,48,48,48,48,48,48,48,48,48,48,48,16,8, + 14,14,16,0,0,60,98,49,252,48,48,48,48,48,48,48, + 48,48,16,9,16,32,16,7,254,120,0,132,0,132,0,31, + 128,6,0,6,0,6,0,6,0,6,0,6,0,6,0,6, + 0,6,0,6,0,6,0,2,0,6,3,3,16,4,255,152, + 68,56,6,3,3,16,6,255,112,136,100,4,3,3,16,6, + 255,96,128,112,3,5,5,16,6,255,96,128,96,128,96,5, + 3,3,16,5,10,136,72,48,5,3,3,16,4,10,128,112, + 8,5,3,3,16,4,10,224,16,8,6,4,4,16,3,9, + 112,8,228,28,6,16,16,16,10,254,136,120,0,252,48,48, + 48,48,48,48,48,48,48,48,48,16,8,16,16,16,8,254, + 128,120,4,63,12,12,12,12,12,12,12,12,12,12,12,4, + 8,16,16,16,8,254,240,8,4,63,12,12,12,12,12,12, + 12,12,12,12,12,4,9,16,32,16,7,254,120,0,244,0, + 10,0,31,128,6,0,6,0,6,0,6,0,6,0,6,0, + 6,0,6,0,6,0,6,0,6,0,2,0,5,3,3,16, + 6,255,224,16,8,4,13,13,16,2,254,240,192,192,192,192, + 192,192,192,192,192,192,192,128,9,15,30,16,7,255,32,0, + 30,0,129,0,125,128,3,0,31,0,3,0,3,0,3,0, + 3,0,3,0,3,0,3,0,3,0,1,0,14,12,24,16, + 1,1,4,192,2,216,57,24,68,224,4,0,12,56,56,76, + 8,204,135,156,134,120,78,0,60,0,1,3,3,16,8,10, + 128,128,128,4,1,1,16,6,0,240,3,3,3,16,6,10, + 128,64,32,3,3,3,16,7,10,32,64,128,5,5,5,16, + 5,8,136,72,48,0,248,6,2,2,16,3,254,132,120,8, + 4,4,16,2,254,66,60,129,126,16,13,26,16,0,254,255, + 255,0,192,0,192,14,192,25,248,17,200,19,204,14,204,0, + 204,0,204,4,192,14,64,4,0,16,13,26,16,0,254,255, + 255,8,24,8,24,9,216,59,56,58,24,18,56,17,216,8, + 24,4,24,0,152,1,200,0,128,16,13,26,16,0,254,255, + 255,1,152,1,152,1,152,1,152,7,152,3,152,1,152,0, + 152,0,24,0,152,1,200,0,128,16,13,26,16,0,254,255, + 255,0,24,0,24,0,24,3,248,17,152,8,216,8,216,7, + 152,0,24,0,152,1,200,0,128,16,13,26,16,0,254,255, + 255,0,24,0,24,3,248,6,0,6,0,3,240,0,24,4, + 24,3,240,0,0,0,192,0,192,16,13,26,16,0,254,255, + 255,0,96,0,96,7,224,12,0,24,224,25,144,25,16,13, + 48,7,224,0,0,1,128,1,128,16,13,26,16,0,254,255, + 255,49,128,49,128,49,128,49,240,49,200,19,132,15,132,1, + 132,1,140,9,140,28,128,8,0,16,13,26,16,0,254,255, + 255,3,24,3,24,3,24,3,24,6,24,4,56,4,120,3, + 216,0,24,1,24,3,136,1,0,16,13,26,16,0,254,255, + 255,3,0,3,0,51,24,75,40,7,240,15,24,51,8,67, + 24,3,48,3,28,1,16,0,14,16,13,26,16,0,254,255, + 255,0,32,0,32,30,112,49,152,49,152,16,48,8,96,4, + 192,0,60,0,192,0,192,0,60,8,5,5,16,4,255,72, + 146,130,68,3,8,6,6,16,4,254,72,146,132,67,4,3, + 2,12,12,16,7,255,128,192,192,192,192,192,192,192,192,192, + 192,64,5,12,12,16,6,255,144,216,216,216,216,216,216,216, + 216,216,216,72,8,7,7,16,4,2,60,78,199,195,227,114, + 60,6,13,13,16,5,254,112,232,204,204,76,60,24,48,96, + 32,16,8,4,9,13,26,16,4,254,252,0,226,0,1,0, + 1,0,1,0,3,0,54,0,44,0,56,0,4,0,2,0, + 1,0,0,128,8,13,13,16,4,254,252,226,2,2,60,2, + 1,51,46,60,4,2,1,12,12,24,16,2,255,128,16,64, + 48,32,96,16,192,9,128,7,0,6,0,13,0,9,128,9, + 128,9,128,7,0,8,13,13,16,4,254,192,195,195,67,62, + 12,12,104,88,120,4,2,1,8,13,13,16,4,254,60,192, + 128,192,124,16,32,35,51,15,4,4,2,11,11,22,16,3, + 0,128,0,135,0,142,192,140,64,68,96,67,224,64,32,32, + 32,32,64,24,192,7,0,10,10,20,16,3,1,255,192,32, + 0,64,0,128,0,128,0,131,0,135,128,124,128,56,128,0, + 128,8,12,12,16,4,255,56,100,98,97,32,56,72,192,192, + 192,32,31,5,4,4,16,6,3,112,136,136,112,2,2,2, + 16,8,6,192,192,15,15,30,16,1,255,2,0,1,32,0, + 192,57,254,68,192,4,192,12,192,56,192,8,192,135,192,134, + 192,78,192,60,192,0,192,0,64,15,15,30,16,1,255,0, + 192,0,192,0,192,57,254,68,192,4,192,12,192,56,192,8, + 192,135,192,134,192,78,192,60,192,0,192,0,64,15,15,30, + 16,1,255,0,12,0,12,0,12,57,254,68,204,4,204,12, + 204,56,204,8,204,135,204,134,204,78,204,60,204,0,204,0, + 68,15,15,30,16,1,255,0,128,0,120,2,4,57,246,68, + 12,4,124,12,204,56,204,8,204,135,204,134,204,78,204,60, + 204,0,204,0,68,15,16,32,16,1,254,2,0,1,32,0, + 192,57,254,68,192,4,192,12,192,56,192,8,192,135,192,134, + 192,78,192,60,192,0,64,33,0,30,0,15,16,32,16,1, + 254,2,0,1,32,0,192,57,254,68,192,4,192,12,192,56, + 192,8,192,135,192,78,192,60,192,33,192,30,0,64,128,63, + 0,16,12,24,16,0,255,255,255,24,0,24,0,24,0,63, + 224,56,112,0,48,0,48,0,48,0,48,0,96,0,64,16, + 12,24,16,0,255,255,255,0,24,0,24,0,24,3,248,17, + 152,8,216,8,216,7,152,0,24,8,152,2,8,16,12,24, + 16,0,255,255,255,3,24,3,24,3,24,3,152,6,88,4, + 56,4,120,3,216,0,24,0,24,0,8,16,12,24,16,0, + 255,255,255,1,152,1,152,1,152,1,152,7,152,3,152,1, + 152,0,152,0,24,0,24,15,248,16,12,24,16,0,255,255, + 255,0,24,0,24,0,24,3,248,17,152,8,216,8,216,7, + 152,0,24,0,24,31,248,8,13,13,16,4,254,124,226,193, + 1,1,3,62,60,48,48,48,48,16,16,13,26,16,0,254, + 255,255,0,24,0,24,3,248,6,0,6,0,3,240,0,24, + 4,24,2,24,1,240,0,0,15,254,16,12,24,16,0,255, + 255,255,0,24,0,24,7,216,14,120,13,24,12,152,12,120, + 7,248,0,24,0,24,15,248,11,12,24,16,2,255,30,0, + 55,0,97,128,193,128,193,128,89,128,57,128,1,128,1,128, + 1,160,1,160,0,192,6,4,4,16,5,9,48,180,132,120, + 5,8,8,16,11,0,96,144,96,0,192,96,48,8,4,7, + 7,16,11,1,96,144,96,0,96,144,96,14,14,28,16,1, + 255,255,252,231,156,219,108,219,140,219,236,231,156,255,252,255, + 252,231,108,219,108,231,12,219,236,231,236,255,252,16,12,24, + 16,0,255,255,255,0,12,64,12,67,140,71,204,71,236,99, + 44,32,108,48,124,24,220,15,140,0,4,16,13,26,16,0, + 255,0,6,255,247,0,110,64,102,70,102,79,102,79,102,69, + 102,65,102,97,102,51,230,30,102,0,34,16,15,30,16,0, + 255,32,0,31,192,0,32,255,255,0,0,15,192,24,96,60, + 48,60,48,24,48,0,96,63,192,7,0,1,192,0,124,16, + 15,30,16,0,255,32,0,31,240,0,8,255,255,30,0,63, + 12,59,30,25,56,1,248,1,240,3,144,79,16,60,16,16, + 24,0,14,16,15,30,16,0,255,16,0,15,224,0,16,255, + 255,3,0,3,0,67,0,67,16,67,56,99,108,33,204,48, + 12,24,12,14,24,3,240,16,15,30,16,0,255,16,0,15, + 224,0,16,255,255,3,0,3,0,83,0,83,16,83,56,83, + 108,73,204,40,12,36,12,18,24,15,240,15,14,28,16,1, + 255,64,0,228,0,230,206,133,204,121,204,3,204,14,204,120, + 204,96,236,120,252,14,220,3,204,1,204,0,68,14,14,28, + 16,1,255,64,0,128,0,128,0,64,0,127,192,31,240,0, + 56,15,12,24,140,56,76,56,76,56,76,16,216,3,240,14, + 14,28,16,1,255,255,252,231,156,219,108,219,140,219,236,231, + 156,255,252,255,252,231,28,219,108,231,108,219,108,231,28,255, + 252,14,14,28,16,1,255,255,252,231,156,219,108,219,140,219, + 236,231,156,255,252,255,252,231,12,219,124,231,28,219,124,231, + 12,255,252,14,13,26,16,1,255,0,48,0,248,1,140,3, + 12,135,140,135,140,131,12,128,12,192,12,64,108,96,156,51, + 12,14,4,14,15,30,16,1,255,0,8,0,16,0,16,0, + 216,3,236,6,52,140,52,158,52,158,52,140,56,192,48,65, + 176,98,112,60,48,24,16,14,14,28,16,1,255,255,252,231, + 156,219,108,219,140,219,236,231,156,255,252,255,252,231,220,219, + 156,227,220,251,220,231,140,255,252,14,14,28,16,1,255,255, + 252,231,156,219,108,219,140,219,236,231,156,255,252,255,252,231, + 12,219,236,227,12,251,124,231,12,255,252,14,13,26,16,1, + 255,0,240,3,24,6,12,14,12,142,12,134,120,192,248,64, + 120,96,12,48,12,24,12,12,24,7,240,14,15,30,16,1, + 255,0,8,0,16,0,16,7,216,8,108,28,52,28,52,156, + 52,137,228,131,248,193,224,64,48,96,48,48,112,31,224,16, + 12,24,16,0,255,255,255,0,96,0,96,1,248,7,100,60, + 98,48,98,60,110,7,108,1,224,0,224,0,32,14,13,26, + 16,2,255,64,0,226,60,227,48,197,48,121,48,1,48,6, + 48,120,48,126,48,1,176,0,112,0,48,0,16,14,12,24, + 16,2,255,62,124,113,96,224,224,224,96,252,96,70,96,6, + 96,6,96,28,96,120,96,32,96,0,32,16,12,24,16,0, + 255,255,255,24,24,48,24,56,24,31,152,1,152,6,24,12, + 24,31,24,1,216,0,56,0,8,12,13,26,16,2,255,32, + 0,35,192,22,64,12,64,15,128,140,0,136,32,136,112,199, + 176,64,48,96,48,48,96,31,128,16,12,24,16,0,255,255, + 255,24,0,24,0,28,0,27,0,24,252,24,12,24,12,24, + 12,24,24,28,48,15,192,16,12,24,16,0,255,255,255,24, + 0,24,0,28,0,27,224,24,56,24,104,28,200,15,16,0, + 96,1,248,0,14,16,12,24,16,0,255,255,255,1,240,3, + 28,70,15,76,2,76,196,79,36,102,44,32,44,48,100,24, + 196,15,131,16,12,24,16,0,255,255,231,0,102,0,102,1, + 230,7,102,60,102,48,102,60,102,7,126,1,238,0,230,0, + 34,14,13,26,16,1,255,7,0,13,128,25,176,49,248,57, + 204,185,140,145,184,129,140,193,204,199,248,111,176,121,128,48, + 128,16,15,30,16,0,255,16,0,15,192,0,32,255,255,24, + 0,24,0,24,0,24,96,24,240,24,112,24,48,24,96,24, + 192,15,128,7,0,16,15,30,16,0,255,16,0,15,0,0, + 128,255,255,0,128,0,128,0,192,1,192,1,96,35,48,58, + 24,20,24,24,24,12,48,7,224,16,12,24,16,0,255,255, + 255,3,0,3,0,67,0,67,16,67,56,99,108,33,204,48, + 12,24,12,14,24,3,240,16,12,24,16,0,255,255,255,24, + 0,24,0,24,0,24,96,24,240,24,112,24,48,24,96,24, + 192,15,128,7,0,13,13,26,16,3,255,28,96,62,120,97, + 96,192,224,192,224,224,96,224,96,64,96,0,96,0,96,0, + 96,0,96,0,32,16,12,24,16,0,255,255,255,0,0,65, + 248,67,12,67,132,67,134,99,134,33,6,48,6,24,12,12, + 28,7,240,15,13,26,16,1,255,60,0,98,62,241,48,241, + 48,97,48,1,48,6,48,120,48,126,48,1,176,0,112,0, + 48,0,16,16,12,24,16,0,255,255,255,12,0,12,0,12, + 120,12,240,13,224,13,96,15,96,14,96,14,96,12,48,8, + 28,12,13,26,16,4,255,96,0,240,240,224,192,128,192,99, + 192,30,192,56,192,224,192,248,192,14,192,3,192,1,192,0, + 64,16,12,24,16,0,255,255,255,0,24,0,24,0,24,0, + 24,30,24,63,152,60,216,56,120,0,56,0,24,0,8,14, + 14,28,16,1,255,255,252,231,156,219,108,219,140,219,236,231, + 156,255,252,255,252,195,156,219,108,195,140,219,236,219,156,255, + 252,15,13,26,16,1,255,14,48,31,190,48,240,96,112,240, + 240,155,176,14,48,24,48,32,48,0,48,0,48,0,48,0, + 16,16,12,24,16,0,255,255,255,16,0,56,120,12,100,6, + 98,12,98,24,110,48,108,63,96,1,224,0,96,0,32,16, + 12,24,16,0,255,255,255,0,24,0,24,0,120,3,216,7, + 24,28,24,31,24,1,216,0,120,0,56,0,8,16,12,24, + 16,0,255,255,255,0,0,66,16,71,8,71,12,70,20,99, + 230,32,6,48,6,24,12,12,28,7,240,16,12,24,16,0, + 255,255,255,12,24,28,24,14,24,3,24,3,24,3,24,15, + 216,30,120,12,56,0,24,0,8,16,12,24,16,0,255,255, + 255,8,48,28,48,6,48,3,48,6,48,12,48,24,48,31, + 176,0,240,0,48,0,16,16,12,24,16,0,255,255,255,0, + 24,0,120,3,216,7,24,28,24,31,24,1,216,2,120,7, + 56,7,24,2,8,14,14,28,16,1,255,255,252,231,156,219, + 108,219,140,219,236,231,156,255,252,255,252,199,220,219,156,199, + 220,219,220,199,140,255,252,16,12,24,16,0,255,255,255,0, + 6,0,6,28,22,62,62,99,102,65,198,65,198,64,134,124, + 6,60,6,24,2,14,14,28,16,1,255,255,252,231,156,219, + 108,219,140,219,236,231,156,255,252,255,252,199,28,219,236,199, + 140,219,236,199,28,255,252,14,14,28,16,1,255,255,252,231, + 156,219,108,219,140,219,236,231,156,255,252,255,252,199,108,219, + 108,199,12,219,236,199,236,255,252,14,14,28,16,1,255,255, + 252,231,156,219,108,219,140,219,236,231,156,255,252,255,252,199, + 12,219,124,199,12,219,236,199,12,255,252,15,13,26,16,1, + 255,112,204,249,238,143,60,143,28,31,140,63,204,25,140,0, + 12,0,12,0,12,0,12,0,12,0,4,16,12,24,16,0, + 255,255,255,28,24,14,24,7,152,1,216,6,120,28,24,31, + 24,1,216,0,120,0,56,0,8,16,12,24,16,0,255,255, + 255,16,12,56,12,28,12,6,12,2,204,1,236,3,28,102, + 12,60,12,24,12,0,4,16,12,24,16,0,255,255,255,0, + 0,15,192,24,96,60,48,60,48,24,48,0,96,63,192,7, + 0,1,192,0,124,14,14,28,16,1,255,255,252,231,156,219, + 108,219,140,219,236,231,156,255,252,255,252,199,12,219,108,199, + 12,219,108,199,108,255,252,14,14,28,16,1,255,255,252,231, + 156,219,108,219,140,219,236,231,156,255,252,255,252,199,28,219, + 108,199,28,219,108,199,28,255,252,2,2,2,16,7,255,192, + 192,14,12,24,16,0,255,240,0,8,0,15,192,28,96,60, + 48,60,48,24,48,0,96,63,192,7,0,1,192,0,124,5, + 10,10,16,11,255,48,184,112,48,48,48,48,48,48,16,13, + 14,28,16,0,255,15,128,63,224,96,16,96,8,32,0,248, + 0,48,0,48,0,48,0,48,0,48,0,48,0,48,0,16, + 0,12,14,28,16,4,255,63,0,65,128,128,192,190,64,65, + 64,1,240,0,192,0,192,0,192,0,192,0,192,0,192,0, + 192,0,64,6,5,5,16,5,254,4,104,144,104,4,6,5, + 5,16,6,254,96,128,112,8,4,5,5,5,16,5,254,24, + 96,128,96,24,3,5,5,16,6,255,96,128,96,128,64,14, + 14,28,16,1,255,255,252,231,156,219,108,219,140,219,236,231, + 156,255,252,255,252,227,12,223,124,223,12,223,236,227,12,255, + 252,14,14,28,16,1,255,255,252,231,156,219,108,219,140,219, + 236,231,156,255,252,255,252,227,156,223,124,223,28,223,108,227, + 156,255,252,5,9,9,16,0,255,248,24,48,96,64,64,64, + 88,56,5,12,12,16,0,255,128,112,8,248,24,48,96,64, + 64,64,88,56,14,14,28,16,1,255,255,252,231,156,219,108, + 219,140,219,236,231,156,255,252,255,252,227,156,223,108,223,140, + 223,236,227,156,255,252,14,14,28,16,1,255,255,252,231,156, + 219,108,219,140,219,236,231,156,255,252,255,252,227,12,223,108, + 223,12,223,108,227,108,255,252,16,10,20,16,0,255,0,6, + 248,23,24,14,48,6,96,6,64,6,64,6,64,6,88,6, + 56,2,16,13,26,16,0,255,0,128,0,112,0,8,0,4, + 248,23,24,14,48,6,96,6,64,6,64,6,64,6,88,6, + 56,2,5,3,3,16,6,0,192,48,8,8,12,12,16,4, + 255,56,92,204,236,216,192,96,56,12,6,3,1,14,14,28, + 16,1,255,255,252,231,156,219,108,219,140,219,236,231,156,255, + 252,255,252,227,12,223,124,223,28,223,124,227,124,255,252,14, + 14,28,16,1,255,255,252,231,156,219,108,219,140,219,236,231, + 156,255,252,255,252,199,156,219,108,219,108,219,108,199,156,255, + 252,14,14,28,16,1,255,255,252,231,156,219,108,219,140,219, + 236,231,156,255,252,255,252,199,220,219,156,219,220,219,220,199, + 140,255,252,14,14,28,16,1,255,255,252,231,156,219,108,219, + 140,219,236,231,156,255,252,255,252,199,12,219,236,219,12,219, + 124,199,12,255,252,14,14,28,16,1,255,255,252,231,156,219, + 108,219,140,219,236,231,156,255,252,255,252,199,28,219,236,219, + 140,219,236,199,28,255,252,14,14,28,16,1,255,255,252,231, + 156,219,108,219,140,219,236,231,156,255,252,255,252,199,108,219, + 108,219,12,219,236,199,236,255,252,14,14,28,16,1,255,255, + 252,231,156,219,108,219,140,219,236,231,156,255,252,255,252,199, + 12,219,124,219,12,219,236,199,12,255,252,14,14,28,16,1, + 255,255,252,231,156,219,108,219,140,219,236,231,156,255,252,255, + 252,199,156,219,124,219,28,219,108,199,156,255,252,8,13,13, + 16,8,255,128,112,8,4,23,14,6,6,6,6,6,6,2, + 14,14,28,16,1,255,255,252,231,156,219,108,219,140,219,236, + 231,156,255,252,255,252,199,156,219,108,219,156,219,108,199,156, + 255,252,14,14,28,16,1,255,255,252,231,156,219,108,219,140, + 219,236,231,156,255,252,255,252,199,156,219,108,219,140,219,236, + 199,156,255,252,14,14,28,16,1,255,255,252,231,156,219,108, + 219,140,219,236,231,156,255,252,255,252,199,12,219,108,219,12, + 219,108,199,108,255,252,14,14,28,16,1,255,255,252,231,156, + 219,108,219,140,219,236,231,156,255,252,255,252,199,28,219,108, + 219,28,219,108,199,28,255,252,16,13,26,16,0,254,255,255, + 3,0,67,16,67,56,99,108,35,204,49,140,24,12,14,24, + 3,240,0,0,0,192,0,192,16,13,26,16,0,254,255,255, + 12,0,12,0,12,0,12,48,12,120,12,56,12,48,7,224, + 3,192,0,0,1,128,1,128,14,14,28,16,1,255,255,252, + 231,156,219,108,219,140,219,236,231,156,255,252,255,252,199,12, + 219,124,219,28,219,124,199,12,255,252,16,13,26,16,0,254, + 255,255,4,24,14,24,3,24,1,152,3,24,6,24,12,24, + 15,216,0,120,1,24,3,136,1,0,15,15,30,16,1,254, + 64,0,228,0,230,206,133,204,121,204,3,204,14,204,120,204, + 96,236,120,252,14,220,123,204,97,204,120,68,14,0,8,14, + 14,16,4,255,128,124,3,121,197,205,158,128,124,3,121,197, + 205,158,7,5,5,16,5,255,124,2,114,202,220,10,6,12, + 16,5,255,3,128,112,64,10,64,77,64,173,128,176,0,14, + 14,28,16,1,255,255,252,231,156,219,108,219,140,219,236,231, + 156,255,252,255,252,195,108,223,108,199,12,223,236,195,236,255, + 252,14,14,28,16,1,255,255,252,231,156,219,108,219,140,219, + 236,231,156,255,252,255,252,195,12,223,124,199,12,223,236,195, + 12,255,252,10,11,22,16,3,0,30,0,63,0,97,128,192, + 192,192,192,192,192,192,192,192,192,97,128,63,0,30,0,9, + 12,24,16,4,0,64,0,64,0,96,0,56,0,14,0,3, + 0,1,128,97,128,225,128,225,128,195,0,126,0,10,11,22, + 16,3,0,224,0,56,0,14,0,3,0,3,0,227,0,126, + 0,28,0,6,0,1,128,0,64,12,12,24,16,2,255,131, + 192,132,96,136,48,140,48,142,48,142,48,134,48,64,48,64, + 96,32,96,17,192,15,0,11,13,26,16,2,255,31,0,63, + 128,96,192,64,64,96,192,49,128,31,0,96,192,192,96,192, + 96,224,224,127,192,31,0,11,13,26,16,2,255,7,0,30, + 0,57,96,112,192,97,128,195,0,198,0,198,0,198,0,198, + 0,99,96,48,192,31,128,12,12,24,16,2,255,28,0,12, + 0,12,0,140,0,140,96,140,160,141,176,199,48,64,48,96, + 48,48,96,31,192,9,13,26,16,4,255,60,0,126,0,195, + 0,195,0,199,0,127,0,59,0,3,0,3,0,3,0,3, + 0,3,0,1,128,13,13,26,16,1,255,224,0,96,0,96, + 0,96,8,103,240,127,192,112,96,96,96,96,96,96,96,112, + 192,63,128,30,0,12,15,30,16,2,254,128,0,128,0,96, + 0,60,0,15,0,3,192,0,224,0,48,60,48,66,48,225, + 48,225,48,225,96,65,192,1,0,16,12,24,16,0,255,255, + 255,0,24,0,24,0,120,3,216,7,152,28,120,31,24,1, + 216,0,120,0,56,0,8,16,13,26,16,0,254,255,255,0, + 24,0,24,0,120,3,216,7,24,28,24,31,24,1,216,28, + 120,7,56,1,136,0,64,9,8,16,16,3,3,224,0,248, + 0,124,0,14,0,3,0,1,0,0,128,0,128,12,13,26, + 16,1,255,48,0,120,0,204,0,12,0,31,240,12,0,12, + 96,12,240,12,240,12,48,12,96,7,192,3,128,9,8,16, + 16,3,2,0,128,0,128,1,0,3,0,14,0,124,0,248, + 0,224,0,12,9,18,16,2,2,56,16,124,16,226,32,242, + 96,242,192,98,192,7,128,15,0,14,0,12,13,26,16,2, + 255,0,16,0,16,0,16,56,16,124,16,126,16,62,16,6, + 48,12,96,248,224,193,192,127,128,30,0,2,13,13,16,8, + 255,128,192,192,192,192,192,192,192,192,192,192,192,64,11,13, + 26,16,2,255,224,0,96,0,96,192,97,192,99,192,98,192, + 102,192,108,192,120,192,112,192,96,192,0,192,0,96,11,10, + 20,16,3,1,31,0,63,128,96,192,192,96,192,96,192,96, + 192,96,96,192,63,128,31,0,14,9,18,16,1,255,0,4, + 2,4,135,8,135,8,66,16,96,48,48,96,31,192,15,0, + 6,8,8,16,5,254,96,128,128,64,32,16,8,4,14,14, + 28,16,1,255,255,252,231,156,219,108,219,140,219,236,231,156, + 255,252,255,252,195,140,223,124,199,124,223,124,223,140,255,252, + 14,14,28,16,1,255,255,252,231,156,219,108,219,140,219,236, + 231,156,255,252,255,252,195,28,223,108,199,108,223,108,223,28, + 255,252,14,14,28,16,1,255,255,252,231,156,219,108,219,140, + 219,236,231,156,255,252,255,252,195,12,223,124,199,28,223,124, + 223,12,255,252,14,14,28,16,1,255,255,252,231,156,219,108, + 219,140,219,236,231,156,255,252,255,252,195,12,223,124,199,28, + 223,124,223,124,255,252}; +/* + Fontname: -gnu-Unifont-Medium-R-Normal-Sans-16-160-75-75-c-80-iso10646-1 + Copyright: Copyright (C) 2014 Roman Czyborra, Paul Hardy, Qianqian Fang, Andrew Miller, et al. Licensed under the GNU General Public License; either version 2, or (at your option) a later version, with the GNU Font Embedding Exception. + Capital A Height: 10, '1' Height: 8 + Calculated Max Values w=16 h=16 x= 4 y= 0 dx=16 dy= 0 ascent=14 len=32 + Font Bounding box w=16 h=16 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent =10 descent= 0 + X Font ascent =14 descent= 0 + Max Font ascent =14 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_unifont_2_3[4633] U8G_FONT_SECTION("u8g_font_unifont_2_3") = { + 0,16,16,0,254,10,4,222,7,30,0,255,0,14,254,14, + 0,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, + 0,74,81,234,80,90,81,201,158,0,1,128,0,0,1,128, + 0,0,1,128,0,85,85,6,11,11,8,1,0,120,0,0, + 120,132,4,124,132,132,140,116,6,14,14,8,1,0,132,132, + 120,0,48,72,72,132,132,252,132,132,132,132,6,13,13,8, + 1,0,132,132,120,0,0,120,132,4,124,132,132,140,116,7, + 12,12,8,1,254,48,72,72,132,132,252,132,132,132,132,8, + 6,7,10,10,8,1,254,120,132,4,124,132,132,140,116,8, + 6,6,14,14,8,1,0,24,96,0,0,120,132,132,128,128, + 128,128,132,132,120,6,12,12,8,1,0,24,96,0,0,120, + 132,128,128,128,128,132,120,6,14,14,8,1,0,48,72,0, + 0,120,132,132,128,128,128,128,132,132,120,6,12,12,8,1, + 0,48,72,0,0,120,132,128,128,128,128,132,120,6,14,14, + 8,1,0,32,32,0,0,120,132,132,128,128,128,128,132,132, + 120,6,12,12,8,1,0,32,32,0,0,120,132,128,128,128, + 128,132,120,6,14,14,8,1,0,72,48,0,0,120,132,132, + 128,128,128,128,132,132,120,6,12,12,8,1,0,72,48,0, + 0,120,132,128,128,128,128,132,120,6,14,14,8,1,0,144, + 96,0,0,240,136,132,132,132,132,132,132,136,240,6,14,14, + 8,1,0,72,48,0,4,4,4,116,140,132,132,132,132,140, + 116,7,10,10,8,0,0,120,68,66,66,242,66,66,66,68, + 120,7,11,11,8,1,0,4,30,4,116,140,132,132,132,132, + 140,116,6,13,13,8,1,0,120,0,0,252,128,128,128,248, + 128,128,128,128,252,6,11,11,8,1,0,120,0,0,120,132, + 132,252,128,128,132,120,6,14,14,8,1,0,132,132,120,0, + 252,128,128,128,248,128,128,128,128,252,6,12,12,8,1,0, + 132,132,120,0,120,132,132,252,128,128,132,120,6,14,14,8, + 1,0,32,32,0,0,252,128,128,128,248,128,128,128,128,252, + 6,12,12,8,1,0,32,32,0,0,120,132,132,252,128,128, + 132,120,6,12,12,8,1,254,252,128,128,128,248,128,128,128, + 128,252,16,12,6,10,10,8,1,254,120,132,132,252,128,128, + 132,120,32,24,6,14,14,8,1,0,72,48,0,0,252,128, + 128,128,248,128,128,128,128,252,6,12,12,8,1,0,72,48, + 0,0,120,132,132,252,128,128,132,120,6,14,14,8,1,0, + 48,72,0,0,120,132,132,128,128,156,132,132,140,116,6,14, + 14,8,1,254,48,72,0,4,116,136,136,136,112,64,120,132, + 132,120,6,14,14,8,1,0,132,132,120,0,120,132,132,128, + 128,156,132,132,140,116,6,15,15,8,1,254,132,132,120,0, + 4,116,136,136,136,112,64,120,132,132,120,6,14,14,8,1, + 0,32,32,0,0,120,132,132,128,128,156,132,132,140,116,6, + 14,14,8,1,254,32,32,0,4,116,136,136,136,112,64,120, + 132,132,120,6,12,12,8,1,254,120,132,132,128,128,156,132, + 132,140,116,16,96,6,14,14,8,1,254,24,32,0,4,116, + 136,136,136,112,64,120,132,132,120,6,14,14,8,1,0,48, + 72,0,0,132,132,132,132,252,132,132,132,132,132,6,14,14, + 8,1,0,96,144,0,128,128,128,184,196,132,132,132,132,132, + 132,8,10,10,8,0,0,66,66,255,66,66,126,66,66,66, + 66,7,11,11,8,0,0,64,240,64,92,98,66,66,66,66, + 66,66,6,14,14,8,1,0,100,152,0,0,124,16,16,16, + 16,16,16,16,16,124,6,12,12,8,1,0,100,152,0,0, + 48,16,16,16,16,16,16,124,5,13,13,8,2,0,240,0, + 0,248,32,32,32,32,32,32,32,32,248,5,11,11,8,2, + 0,240,0,0,96,32,32,32,32,32,32,248,6,14,14,8, + 1,0,132,132,120,0,124,16,16,16,16,16,16,16,16,124, + 6,12,12,8,1,0,132,132,120,0,48,16,16,16,16,16, + 16,124,5,12,12,8,2,254,248,32,32,32,32,32,32,32, + 32,248,32,24,5,13,13,8,2,254,32,32,0,96,32,32, + 32,32,32,32,248,32,24,5,14,14,8,2,0,32,32,0, + 0,248,32,32,32,32,32,32,32,32,248,5,8,8,8,2, + 0,96,32,32,32,32,32,32,248,6,10,10,8,1,0,132, + 132,132,132,132,132,4,4,132,120,5,14,14,8,2,254,136, + 136,0,0,136,136,136,136,136,136,104,8,136,112,7,14,14, + 8,1,0,24,36,0,0,62,8,8,8,8,8,8,136,136, + 112,6,14,14,8,1,254,24,36,0,0,24,8,8,8,8, + 8,8,8,144,96,7,12,12,8,0,254,66,68,72,80,96, + 96,80,72,68,66,32,192,7,13,13,8,0,254,64,64,64, + 68,72,80,96,80,72,68,66,32,192,6,8,8,8,1,0, + 132,136,144,224,224,144,136,132,6,14,14,8,1,0,48,192, + 0,0,128,128,128,128,128,128,128,128,128,252,5,14,14,8, + 2,0,48,192,0,96,32,32,32,32,32,32,32,32,32,248, + 6,12,12,8,1,254,128,128,128,128,128,128,128,128,128,252, + 16,96,5,13,13,8,2,254,96,32,32,32,32,32,32,32, + 32,32,248,32,192,6,14,14,8,1,0,72,48,0,0,128, + 128,128,128,128,128,128,128,128,252,5,14,14,8,2,0,144, + 96,0,96,32,32,32,32,32,32,32,32,32,248,6,10,10, + 8,1,0,128,128,128,128,136,136,128,128,128,252,5,11,11, + 8,1,0,96,32,32,32,32,40,40,32,32,32,248,7,10, + 10,8,0,0,64,64,72,80,96,192,64,64,64,126,5,11, + 11,8,2,0,96,32,32,40,48,96,160,32,32,32,248,6, + 14,14,8,1,0,24,96,0,0,132,196,196,164,164,148,148, + 140,140,132,6,12,12,8,1,0,24,96,0,0,184,196,132, + 132,132,132,132,132,7,12,12,8,0,254,66,98,98,82,82, + 74,74,70,70,66,32,192,7,10,10,8,0,254,92,98,66, + 66,66,66,66,66,32,192,6,14,14,8,1,0,72,48,0, + 0,132,196,196,164,164,148,148,140,140,132,6,12,12,8,1, + 0,72,48,0,0,184,196,132,132,132,132,132,132,6,13,13, + 8,1,0,192,64,64,128,0,184,196,132,132,132,132,132,132, + 6,10,10,8,1,0,184,196,132,132,132,132,132,132,132,152, + 6,10,10,8,1,254,184,196,132,132,132,132,132,132,4,24, + 6,13,13,8,1,0,120,0,0,120,132,132,132,132,132,132, + 132,132,120,6,11,11,8,1,0,120,0,0,120,132,132,132, + 132,132,132,120,6,14,14,8,1,0,132,132,120,0,120,132, + 132,132,132,132,132,132,132,120,6,12,12,8,1,0,132,132, + 120,0,120,132,132,132,132,132,132,120,7,14,14,8,1,0, + 102,136,0,0,120,132,132,132,132,132,132,132,132,120,7,12, + 12,8,1,0,102,136,0,0,120,132,132,132,132,132,132,120, + 7,10,10,8,1,0,110,144,144,144,156,144,144,144,144,110, + 7,8,8,8,1,0,108,146,146,158,144,144,146,108,6,14, + 14,8,1,0,24,96,0,0,248,132,132,132,248,144,136,136, + 132,132,6,12,12,8,1,0,24,96,0,0,184,196,132,128, + 128,128,128,128,7,12,12,8,0,254,124,66,66,66,124,72, + 68,68,66,66,32,192,7,10,10,8,0,254,92,98,66,64, + 64,64,64,64,32,192,6,14,14,8,1,0,72,48,0,0, + 248,132,132,132,248,144,136,136,132,132,6,12,12,8,1,0, + 72,48,0,0,184,196,132,128,128,128,128,128,6,14,14,8, + 1,0,24,96,0,0,120,132,132,128,96,24,4,132,132,120, + 6,12,12,8,1,0,24,96,0,0,120,132,128,96,24,132, + 132,120,6,14,14,8,1,0,48,72,0,0,120,132,132,128, + 96,24,4,132,132,120,6,12,12,8,1,0,48,72,0,0, + 120,132,128,96,24,4,132,120,6,12,12,8,1,254,120,132, + 132,128,96,24,4,132,132,120,16,96,6,10,10,8,1,254, + 120,132,128,96,24,4,132,120,16,96,6,14,14,8,1,0, + 72,48,0,0,120,132,132,128,96,24,4,132,132,120,6,12, + 12,8,1,0,72,48,0,0,120,132,128,96,24,4,132,120, + 7,12,12,8,1,254,254,16,16,16,16,16,16,16,16,16, + 16,96,5,12,12,8,1,254,32,32,32,248,32,32,32,32, + 32,24,16,96,7,14,14,8,1,0,72,48,0,0,254,16, + 16,16,16,16,16,16,16,16,5,14,14,8,1,0,72,48, + 0,0,32,32,32,248,32,32,32,32,32,24,7,10,10,8, + 1,0,254,16,16,20,24,48,80,16,16,16,5,10,10,8, + 1,0,32,32,32,248,32,40,48,96,160,24,6,14,14,8, + 1,0,100,152,0,0,132,132,132,132,132,132,132,132,132,120, + 6,12,12,8,1,0,100,152,0,0,132,132,132,132,132,132, + 140,116,6,13,13,8,1,0,120,0,0,132,132,132,132,132, + 132,132,132,132,120,6,11,11,8,1,0,120,0,0,132,132, + 132,132,132,132,140,116,6,14,14,8,1,0,132,132,120,0, + 132,132,132,132,132,132,132,132,132,120,6,13,13,8,1,0, + 132,132,120,0,0,132,132,132,132,132,132,140,116,6,14,14, + 8,1,0,48,72,48,0,132,132,132,132,132,132,132,132,132, + 120,6,12,12,8,1,0,48,72,48,0,132,132,132,132,132, + 132,140,116,7,14,14,8,1,0,102,136,0,0,132,132,132, + 132,132,132,132,132,132,120,7,12,12,8,1,0,102,136,0, + 0,132,132,132,132,132,132,140,116,6,12,12,8,1,254,132, + 132,132,132,132,132,132,132,132,120,32,24,7,10,10,8,1, + 254,132,132,132,132,132,132,140,116,8,6,6,14,14,8,1, + 0,48,72,0,0,132,132,132,132,180,180,204,204,132,132,7, + 12,12,8,1,0,48,72,0,0,130,146,146,146,146,146,146, + 108,7,14,14,8,1,0,48,72,0,0,130,130,68,68,40, + 16,16,16,16,16,6,14,14,8,1,254,48,72,0,0,132, + 132,132,132,132,76,52,4,4,120,7,14,14,8,1,0,72, + 72,0,0,130,130,68,68,40,16,16,16,16,16,6,14,14, + 8,1,0,24,96,0,0,252,4,4,8,16,32,64,128,128, + 252,6,12,12,8,1,0,24,96,0,0,252,4,8,16,32, + 64,128,252,6,14,14,8,1,0,32,32,0,0,252,4,4, + 8,16,32,64,128,128,252,6,12,12,8,1,0,32,32,0, + 0,252,4,8,16,32,64,128,252,6,14,14,8,1,0,72, + 48,0,0,252,4,4,8,16,32,64,128,128,252,6,12,12, + 8,1,0,72,48,0,0,252,4,8,16,32,64,128,252,4, + 11,11,8,2,0,48,64,64,64,192,64,64,64,64,64,64, + 7,11,11,8,0,0,64,240,64,92,98,66,66,66,66,98, + 92,7,10,10,8,0,0,124,162,162,34,60,34,34,34,34, + 60,6,10,10,8,1,0,252,128,128,128,248,132,132,132,132, + 248,6,10,10,8,1,0,252,128,128,184,196,132,132,132,196, + 184,6,10,10,8,1,0,192,64,64,64,120,68,68,68,68, + 120,6,8,8,8,1,0,192,64,64,64,120,68,68,120,6, + 10,10,8,1,0,120,132,132,4,4,4,4,132,132,248,7, + 12,12,8,1,0,6,8,120,136,136,128,128,128,128,136,136, + 112,7,10,10,8,1,0,6,8,120,136,128,128,128,128,136, + 112,7,10,10,8,0,0,120,68,66,66,242,66,66,66,68, + 120,7,10,10,8,0,0,120,164,162,34,34,34,34,34,36, + 56,6,10,10,8,1,0,252,4,4,4,124,132,132,132,132, + 124,6,10,10,8,1,0,252,4,4,116,140,132,132,132,140, + 116,6,10,10,8,1,254,120,132,132,132,132,72,48,8,8, + 112,6,10,10,8,1,0,252,4,4,4,124,4,4,4,4, + 252,6,10,10,8,1,0,48,72,132,4,4,252,132,132,72, + 48,6,10,10,8,1,0,120,132,132,128,112,128,128,132,132, + 120,7,11,11,8,1,255,62,32,32,32,60,32,32,32,32, + 32,192,5,12,12,8,1,255,24,32,32,32,248,32,32,32, + 32,32,32,192,7,11,11,8,1,0,6,120,136,136,128,128, + 184,136,136,152,104,6,10,10,8,1,0,132,132,132,72,72, + 48,48,72,72,48,6,11,11,8,1,0,128,128,128,128,228, + 148,148,148,148,148,136,5,11,11,8,1,0,224,32,32,32, + 32,32,32,32,32,32,24,5,10,10,8,2,0,248,32,32, + 32,248,32,32,32,32,248,6,10,10,8,1,0,140,148,160, + 160,192,192,160,144,136,132,6,11,11,8,1,0,96,144,128, + 136,144,160,192,160,144,136,132,5,11,11,8,2,0,96,32, + 32,32,248,32,32,32,32,32,248,6,10,10,8,1,0,72, + 80,32,96,144,48,72,72,132,132,7,10,10,8,1,0,146, + 146,146,146,146,146,146,146,146,110,7,11,11,8,0,255,34, + 34,50,50,42,42,38,38,34,34,192,6,10,10,8,1,254, + 184,196,132,132,132,132,132,132,4,4,6,10,10,8,1,0, + 120,132,132,132,252,132,132,132,132,120,6,11,11,8,1,0, + 4,116,136,136,136,136,136,136,136,136,112,6,9,9,8,1, + 0,4,116,136,136,136,136,136,136,112,6,12,12,8,1,254, + 108,148,148,148,148,148,148,148,148,100,4,4,6,10,10,8, + 1,254,108,148,148,148,148,148,148,100,4,4,7,10,10,8, + 1,0,124,162,162,34,60,32,32,32,32,32,7,11,11,8, + 1,254,6,184,200,136,136,136,136,200,176,128,128,7,10,10, + 8,1,0,224,64,120,68,68,120,80,72,68,66,6,10,10, + 8,1,0,120,132,132,4,24,96,128,132,132,120,6,8,8, + 8,1,0,120,132,4,24,96,128,132,120,6,10,10,8,1, + 0,252,128,64,32,16,16,32,64,128,252,5,12,12,8,1, + 255,64,160,160,96,32,32,32,32,32,32,32,24,5,12,12, + 8,1,254,32,32,32,248,32,32,32,32,32,24,8,48,7, + 10,10,8,1,0,126,144,144,16,16,16,16,16,16,16,5, + 11,11,8,1,0,24,32,32,32,248,32,32,32,32,32,24, + 7,11,11,8,1,255,254,16,16,16,16,16,16,16,16,16, + 12,7,12,12,8,1,0,2,2,140,136,136,136,136,136,136, + 136,136,112,7,10,10,8,1,0,2,2,140,136,136,136,136, + 136,152,104,6,10,10,8,1,0,132,72,72,132,132,132,132, + 132,72,48,6,10,10,8,1,0,152,132,132,132,132,132,132, + 136,144,96,7,10,10,8,1,0,140,138,136,80,80,32,32, + 32,32,32,7,11,11,8,1,254,6,136,136,136,136,136,72, + 56,8,8,112,6,10,10,8,1,0,252,4,8,16,120,32, + 64,128,128,252,6,8,8,8,1,0,252,8,16,120,32,64, + 128,252,6,10,10,8,1,0,252,8,16,32,56,4,4,4, + 140,120,6,10,10,8,1,0,252,64,32,16,112,128,128,128, + 196,120,6,10,10,8,1,254,248,64,32,16,112,128,128,128, + 132,120,6,10,10,8,1,254,124,8,16,56,4,4,120,128, + 132,120,6,10,10,8,1,0,120,132,132,8,16,252,64,128, + 128,252,6,10,10,8,1,0,252,64,64,64,120,4,4,4, + 132,120,6,8,8,8,1,0,252,64,64,120,4,4,132,120, + 5,10,10,8,1,0,32,32,248,32,32,48,8,8,136,112, + 6,10,10,8,1,254,184,196,132,132,136,144,160,192,128,128, + 1,11,11,8,3,0,128,128,128,128,128,128,128,128,128,128, + 128,3,11,11,8,2,0,160,160,160,160,160,160,160,160,160, + 160,160,5,11,11,8,1,0,32,32,32,32,248,32,248,32, + 32,32,32,1,10,10,8,4,0,128,128,128,128,128,128,128, + 0,128,128,7,14,14,8,1,0,10,4,0,0,206,162,162, + 162,164,164,168,168,168,206,7,12,12,8,1,0,10,4,192, + 160,174,162,162,164,164,168,168,206,7,12,12,8,1,0,10, + 36,32,32,110,162,162,164,164,168,168,110,7,10,10,8,1, + 0,142,130,130,130,130,130,130,146,146,236,7,13,13,8,1, + 254,2,130,128,134,130,130,130,130,130,130,242,4,24,8,13, + 13,8,0,254,97,33,32,35,33,33,33,33,33,33,249,2, + 12,7,10,10,8,1,0,150,146,146,210,210,178,178,154,154, + 148,7,13,13,8,1,254,2,146,144,214,210,210,178,178,178, + 146,146,36,24,7,13,13,8,1,254,2,2,0,166,210,146, + 146,146,146,146,146,36,24,6,14,14,8,1,0,72,48,0, + 0,48,72,72,132,132,252,132,132,132,132,6,12,12,8,1, + 0,72,48,0,0,120,132,4,124,132,132,140,116,5,14,14, + 8,2,0,144,96,0,0,248,32,32,32,32,32,32,32,32, + 248,5,12,12,8,2,0,144,96,0,0,96,32,32,32,32, + 32,32,248,6,14,14,8,1,0,72,48,0,0,120,132,132, + 132,132,132,132,132,132,120,6,12,12,8,1,0,72,48,0, + 0,120,132,132,132,132,132,132,120,6,14,14,8,1,0,72, + 48,0,0,132,132,132,132,132,132,132,132,132,120,6,12,12, + 8,1,0,72,48,0,0,132,132,132,132,132,132,140,116,6, + 14,14,8,1,0,120,0,72,0,132,132,132,132,132,132,132, + 132,132,120,6,13,13,8,1,0,120,0,72,72,0,132,132, + 132,132,132,132,140,116,6,14,14,8,1,0,24,96,0,72, + 0,132,132,132,132,132,132,132,132,120,6,14,14,8,1,0, + 24,96,0,72,72,0,132,132,132,132,132,132,140,116,6,14, + 14,8,1,0,72,48,0,72,0,132,132,132,132,132,132,132, + 132,120,6,14,14,8,1,0,72,48,0,72,72,0,132,132, + 132,132,132,132,140,116,6,14,14,8,1,0,96,24,0,72, + 0,132,132,132,132,132,132,132,132,120,6,14,14,8,1,0, + 96,24,0,72,72,0,132,132,132,132,132,132,140,116,6,8, + 8,8,1,0,120,132,4,4,252,132,132,120,6,14,14,8, + 1,0,120,0,72,0,48,72,72,132,132,252,132,132,132,132, + 6,13,13,8,1,0,120,0,72,72,0,120,132,4,124,132, + 132,140,116,6,14,14,8,1,0,120,0,48,0,48,72,72, + 132,132,252,132,132,132,132,6,13,13,8,1,0,120,0,32, + 32,0,120,132,4,124,132,132,140,116,7,13,13,8,1,0, + 120,0,0,62,80,144,144,254,144,144,144,144,158,7,11,11, + 8,1,0,120,0,0,124,146,18,126,144,144,146,124,7,10, + 10,8,1,0,120,132,132,128,128,156,132,158,132,124,7,11, + 11,8,1,254,4,116,136,136,136,112,64,120,158,132,120,6, + 14,14,8,1,0,72,48,0,0,120,132,132,128,128,156,132, + 132,140,116,6,14,14,8,1,254,72,48,0,4,116,136,136, + 136,112,64,120,132,132,120,6,14,14,8,1,0,72,48,0, + 0,132,136,144,160,192,192,160,144,136,132,6,14,14,8,1, + 0,72,48,0,128,128,128,136,144,160,192,160,144,136,132,6, + 12,12,8,1,254,120,132,132,132,132,132,132,132,132,120,32, + 24,6,10,10,8,1,254,120,132,132,132,132,132,132,120,32, + 24,6,15,15,8,1,254,120,0,0,120,132,132,132,132,132, + 132,132,132,120,32,24,6,13,13,8,1,254,120,0,0,120, + 132,132,132,132,132,132,120,32,24,6,14,14,8,1,0,72, + 48,0,0,252,8,16,32,56,4,4,4,140,120,6,14,14, + 8,1,254,72,48,0,0,124,8,16,32,56,4,4,4,132, + 120,6,14,14,8,1,254,36,24,0,0,24,8,8,8,8, + 8,8,8,144,96,7,10,10,8,1,0,206,162,162,162,164, + 164,168,168,168,206,7,10,10,8,1,0,192,160,174,162,162, + 164,164,168,168,206,7,11,11,8,1,0,32,32,32,110,162, + 162,164,164,168,168,110,6,14,14,8,1,0,24,96,0,0, + 120,132,132,128,128,156,132,132,140,116,6,14,14,8,1,254, + 24,96,0,4,116,136,136,136,112,64,120,132,132,120,6,10, + 10,8,1,0,144,144,144,148,244,148,148,148,148,136,6,11, + 11,8,1,255,184,196,132,132,136,144,160,192,128,128,128,6, + 13,13,8,1,0,96,24,0,132,196,196,164,164,148,148,140, + 140,132,6,11,11,8,1,0,96,24,0,184,196,132,132,132, + 132,132,132,6,14,14,8,1,0,24,96,48,72,48,48,72, + 72,132,252,132,132,132,132,6,14,14,8,1,0,24,96,0, + 48,72,48,0,120,132,4,124,132,140,116,7,14,14,8,1, + 0,12,48,0,0,62,80,144,144,254,144,144,144,144,158,7, + 12,12,8,1,0,12,48,0,0,124,146,18,126,144,144,146, + 124,6,15,15,8,1,255,24,96,0,4,116,136,140,148,148, + 164,164,196,68,184,128,6,13,13,8,1,255,24,96,0,4, + 120,140,148,148,164,164,196,120,128}; +/* + Fontname: -gnu-Unifont-Medium-R-Normal-Sans-16-160-75-75-c-80-iso10646-1 + Copyright: Copyright (C) 2014 Roman Czyborra, Paul Hardy, Qianqian Fang, Andrew Miller, et al. Licensed under the GNU General Public License; either version 2, or (at your option) a later version, with the GNU Font Embedding Exception. + Capital A Height: 10, '1' Height: 12 + Calculated Max Values w=16 h=16 x= 4 y=10 dx=16 dy= 0 ascent=14 len=32 + Font Bounding box w=16 h=16 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent =10 descent= 0 + X Font ascent =12 descent=-2 + Max Font ascent =14 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_unifont_4_5[3791] U8G_FONT_SECTION("u8g_font_unifont_4_5") = { + 0,16,16,0,254,10,4,177,6,164,0,255,0,14,254,12, + 254,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, + 0,74,81,234,80,90,81,201,158,0,1,128,0,0,1,128, + 0,0,1,128,0,85,85,7,12,12,8,0,0,204,34,0, + 0,60,66,2,62,66,66,70,58,6,14,14,8,1,0,120, + 132,132,0,48,72,72,132,132,252,132,132,132,132,6,12,12, + 8,1,0,120,132,132,0,120,132,4,124,132,132,140,116,7, + 14,14,8,0,0,204,34,0,0,126,64,64,64,124,64,64, + 64,64,126,7,12,12,8,0,0,204,34,0,0,60,66,66, + 126,64,64,66,60,6,14,14,8,1,0,120,132,132,0,252, + 128,128,128,248,128,128,128,128,252,6,12,12,8,1,0,120, + 132,132,0,120,132,132,252,128,128,132,120,7,14,14,8,0, + 0,204,34,0,0,62,8,8,8,8,8,8,8,8,62,7, + 12,12,8,0,0,204,34,0,0,24,8,8,8,8,8,8, + 62,6,14,14,8,1,0,120,132,132,0,124,16,16,16,16, + 16,16,16,16,124,6,12,12,8,1,0,120,132,132,0,48, + 16,16,16,16,16,16,124,7,14,14,8,0,0,204,34,0, + 0,60,66,66,66,66,66,66,66,66,60,7,12,12,8,0, + 0,204,34,0,0,60,66,66,66,66,66,66,60,6,14,14, + 8,1,0,120,132,132,0,120,132,132,132,132,132,132,132,132, + 120,6,12,12,8,1,0,120,132,132,0,120,132,132,132,132, + 132,132,120,7,14,14,8,0,0,204,34,0,0,124,66,66, + 66,124,72,68,68,66,66,7,12,12,8,0,0,204,34,0, + 0,92,98,66,64,64,64,64,64,6,14,14,8,1,0,120, + 132,132,0,248,132,132,132,248,144,136,136,132,132,6,12,12, + 8,1,0,120,132,132,0,184,196,132,128,128,128,128,128,7, + 14,14,8,0,0,204,34,0,0,66,66,66,66,66,66,66, + 66,66,60,7,12,12,8,0,0,204,34,0,0,66,66,66, + 66,66,66,70,58,6,14,14,8,1,0,120,132,132,0,132, + 132,132,132,132,132,132,132,132,120,6,12,12,8,1,0,120, + 132,132,0,132,132,132,132,132,132,140,116,6,12,12,8,1, + 254,120,132,132,128,96,24,4,132,132,120,16,32,6,10,10, + 8,1,254,120,132,128,96,24,4,132,120,16,32,7,12,12, + 8,1,254,254,16,16,16,16,16,16,16,16,16,4,8,5, + 12,12,8,1,254,32,32,32,248,32,32,32,32,32,24,64, + 128,6,10,10,8,1,0,120,132,132,4,24,104,4,4,4, + 120,6,8,8,8,1,0,120,132,4,24,100,4,24,96,6, + 13,13,8,1,0,72,48,0,132,132,132,132,252,132,132,132, + 132,132,6,13,13,8,1,0,72,48,0,128,128,128,184,196, + 132,132,132,132,132,6,10,10,8,1,254,184,196,132,132,132, + 132,132,132,4,4,7,13,13,8,1,254,4,4,4,116,140, + 132,132,132,132,142,118,4,8,6,10,10,8,1,0,16,72, + 132,132,72,120,132,132,132,120,5,8,8,8,2,0,72,136, + 144,96,144,136,136,112,6,12,12,8,1,254,252,4,4,8, + 16,32,64,128,128,252,4,8,6,10,10,8,1,254,252,4, + 8,16,32,64,128,252,4,8,6,12,12,8,1,0,16,0, + 48,72,72,132,132,252,132,132,132,132,6,10,10,8,1,0, + 16,0,120,132,4,124,132,132,140,116,6,12,12,8,1,254, + 252,128,128,128,248,128,128,128,128,252,16,96,6,10,10,8, + 1,254,120,132,132,252,128,128,132,120,16,96,6,14,14,8, + 1,0,120,0,72,0,120,132,132,132,132,132,132,132,132,120, + 6,12,12,8,1,0,120,0,72,0,120,132,132,132,132,132, + 132,120,6,14,14,8,1,0,120,0,100,152,0,120,132,132, + 132,132,132,132,132,120,6,13,13,8,1,0,120,0,100,152, + 0,120,132,132,132,132,132,132,120,6,12,12,8,1,0,16, + 0,120,132,132,132,132,132,132,132,132,120,6,10,10,8,1, + 0,16,0,120,132,132,132,132,132,132,120,6,14,14,8,1, + 0,120,0,16,0,120,132,132,132,132,132,132,132,132,120,6, + 12,12,8,1,0,120,0,16,0,120,132,132,132,132,132,132, + 120,7,12,12,8,1,0,124,0,130,130,68,68,40,16,16, + 16,16,16,6,12,12,8,1,254,120,0,132,132,132,132,132, + 76,52,4,4,120,4,13,13,8,2,254,96,32,32,32,32, + 32,32,32,32,48,48,64,128,7,10,10,8,1,254,184,196, + 132,132,132,132,134,134,4,8,6,12,12,8,1,254,32,32, + 32,248,32,32,32,32,44,28,16,32,5,10,10,8,1,254, + 24,8,8,8,8,8,8,8,144,96,7,11,11,8,0,0, + 16,16,16,84,186,146,146,146,146,186,84,7,10,10,8,0, + 254,84,186,146,146,146,146,186,84,16,16,7,11,11,8,0, + 0,2,26,36,44,74,82,126,98,66,66,194,7,12,12,8, + 0,255,2,60,70,74,72,80,80,96,98,66,124,128,7,11, + 11,8,0,255,2,4,60,74,80,80,96,96,66,124,128,6, + 10,10,8,1,0,64,64,64,64,240,64,64,64,64,124,7, + 12,12,8,1,0,2,4,254,24,24,16,16,48,48,80,80, + 144,7,10,10,8,1,254,120,132,128,96,24,4,132,120,18, + 12,6,10,10,8,1,254,252,4,8,16,32,64,128,192,32, + 28,6,10,10,8,1,0,120,132,132,4,8,16,16,16,16, + 16,6,8,8,8,1,0,120,132,132,4,8,16,16,16,6, + 10,10,8,1,0,120,68,68,68,120,68,244,68,68,120,7, + 10,10,8,0,0,68,68,68,68,68,254,68,68,68,56,6, + 10,10,8,1,0,48,48,48,72,72,72,72,132,132,132,6, + 14,14,8,1,254,8,8,252,144,144,160,248,160,160,192,192, + 252,128,128,7,10,10,8,0,255,2,60,70,74,126,80,96, + 66,124,128,7,10,10,8,1,0,62,8,8,8,8,62,8, + 136,136,112,7,13,13,8,1,254,8,8,0,24,8,8,62, + 8,8,8,8,144,96,7,12,12,8,1,254,112,136,136,136, + 136,136,136,136,152,104,8,6,7,10,10,8,1,254,104,152, + 136,136,136,136,152,104,8,6,6,10,10,8,1,0,120,68, + 68,68,248,80,72,72,68,68,6,8,8,8,1,0,88,100, + 68,224,64,64,64,64,7,10,10,8,1,0,130,130,68,254, + 40,16,16,16,16,16,7,10,10,8,1,254,68,68,68,254, + 68,36,28,4,4,56,6,8,8,8,1,0,184,196,132,132, + 248,128,132,120,6,8,8,8,1,0,116,140,132,132,132,140, + 148,100,6,8,8,8,1,0,152,164,196,132,132,132,196,184, + 6,11,11,8,1,0,112,128,128,184,196,132,132,132,132,196, + 184,6,8,8,8,1,0,120,132,4,4,4,4,132,120,6, + 9,9,8,1,255,120,132,128,128,128,152,164,120,128,7,12, + 12,8,1,255,8,8,8,104,152,136,136,136,136,152,104,6, + 7,11,11,8,1,0,6,8,8,104,152,136,136,136,136,152, + 104,6,8,8,8,1,0,120,132,132,252,4,4,132,120,6, + 8,8,8,1,0,120,132,4,4,252,132,132,120,7,8,8, + 8,1,0,114,140,8,8,248,136,136,112,6,8,8,8,1, + 0,120,132,128,120,128,128,132,120,6,8,8,8,1,0,120, + 132,4,120,4,4,132,120,7,8,8,8,1,0,114,140,8, + 112,8,8,136,112,6,8,8,8,1,0,120,132,132,184,132, + 132,132,120,7,10,10,8,1,254,24,8,8,8,62,8,8, + 8,144,96,7,11,11,8,1,254,6,104,152,136,136,136,152, + 104,8,136,112,6,10,10,8,1,254,116,140,132,132,132,140, + 116,4,132,120,6,8,8,8,1,0,120,132,128,128,156,132, + 132,124,6,10,10,8,1,254,132,132,132,72,72,48,48,72, + 72,48,6,8,8,8,1,0,132,132,72,72,48,48,72,48, + 6,11,11,8,1,254,132,132,132,132,132,132,140,116,4,4, + 4,6,11,11,8,1,0,112,128,128,184,196,132,132,132,132, + 132,132,6,11,11,8,1,0,112,128,128,184,196,132,132,132, + 132,132,152,5,11,11,8,2,0,32,32,0,96,32,32,248, + 32,32,32,248,3,8,8,8,3,0,128,128,128,128,128,128, + 128,96,5,8,8,8,2,0,248,32,32,32,32,32,32,248, + 6,11,11,8,1,0,48,16,16,16,116,152,16,16,16,16, + 124,6,11,11,8,1,0,48,16,16,112,144,124,16,16,16, + 16,124,4,12,12,8,3,255,192,64,64,64,64,64,64,64, + 64,64,64,48,7,13,13,8,1,254,96,32,32,62,34,36, + 40,44,34,34,250,18,12,7,8,8,8,1,0,146,146,146, + 146,146,146,146,110,7,10,10,8,1,254,146,146,146,146,146, + 146,146,110,2,2,7,9,9,8,1,255,236,146,146,146,146, + 146,146,130,12,7,9,9,8,1,255,44,50,34,34,34,34, + 34,34,192,7,9,9,8,1,255,176,200,136,136,136,136,136, + 136,6,6,8,8,8,1,0,132,132,196,164,148,140,132,132, + 6,8,8,8,1,0,120,132,132,252,132,132,132,120,7,8, + 8,8,1,0,110,144,144,156,144,144,144,110,7,8,8,8, + 1,0,124,130,130,146,146,146,146,108,7,12,12,8,1,254, + 16,16,124,146,146,146,146,146,146,124,16,16,6,8,8,8, + 1,0,4,4,4,4,4,132,140,116,6,10,10,8,1,0, + 4,4,4,4,4,4,4,132,140,116,7,9,9,8,1,255, + 8,8,8,8,8,136,152,104,6,6,10,10,8,1,254,184, + 196,132,128,128,128,128,128,128,128,6,9,9,8,1,255,184, + 196,132,128,128,128,128,128,96,6,8,8,8,1,0,120,132, + 132,128,128,128,128,128,6,8,8,8,1,0,120,132,132,4, + 4,4,4,4,6,8,8,8,1,0,248,132,132,248,136,132, + 132,132,6,8,8,8,1,0,132,132,132,136,248,132,132,248, + 6,10,10,8,1,254,120,132,128,96,24,4,132,248,128,96, + 5,12,12,8,1,255,24,32,32,32,32,32,32,32,32,32, + 32,192,5,12,12,8,1,255,24,32,32,32,32,32,32,248, + 32,32,32,192,5,9,9,8,1,255,192,32,32,32,32,32, + 32,32,24,6,12,12,8,1,255,12,16,16,16,16,16,16, + 16,16,112,156,96,5,10,10,8,1,0,192,32,32,32,32, + 32,32,248,32,32,6,11,11,8,1,255,32,32,32,248,32, + 32,32,32,32,32,28,7,8,8,8,1,0,68,68,68,254, + 68,68,76,52,6,8,8,8,1,0,132,72,132,132,132,132, + 72,48,6,8,8,8,1,0,152,132,132,132,132,136,144,96, + 6,8,8,8,1,0,48,48,72,72,72,132,132,132,7,8, + 8,8,1,0,108,146,146,146,146,146,146,130,6,10,10,8, + 1,254,120,128,128,176,200,132,132,132,132,132,7,8,8,8, + 1,0,130,130,68,40,16,16,16,16,7,10,10,8,1,254, + 248,16,16,32,32,64,64,248,8,6,7,9,9,8,1,255, + 252,4,8,16,32,76,146,252,32,6,10,10,8,1,254,124, + 8,16,32,56,4,4,4,132,120,6,10,10,8,1,254,124, + 8,16,32,56,4,4,100,148,120,6,10,10,8,1,0,120, + 132,132,4,8,16,16,16,16,16,6,10,10,8,1,0,120, + 132,132,128,64,32,32,32,32,32,6,10,10,8,1,0,16, + 16,16,16,16,8,4,132,132,120,6,10,10,8,1,254,120, + 132,128,128,128,128,128,128,132,120,6,8,8,8,1,0,120, + 132,132,180,180,132,132,120,6,8,8,8,1,0,248,132,132, + 248,132,132,132,248,6,8,8,8,1,0,120,132,132,116,132, + 132,132,120,7,8,8,8,1,0,118,136,128,128,152,136,136, + 120,5,8,8,8,2,0,136,136,136,248,136,136,136,136,6, + 13,13,8,1,254,8,8,0,24,8,8,8,8,8,8,124, + 144,96,6,11,11,8,1,254,132,68,36,20,12,20,36,68, + 4,4,4,6,8,8,8,1,0,128,128,128,128,128,128,128, + 252,7,11,11,8,1,254,6,104,152,136,136,136,136,152,104, + 8,8,6,10,10,8,1,0,120,132,132,4,8,16,16,124, + 16,16,6,10,10,8,1,0,120,132,132,128,64,32,32,248, + 32,32,7,11,11,8,1,0,32,32,32,126,162,164,164,168, + 168,176,126,7,13,13,8,1,254,32,32,32,126,162,164,168, + 172,162,162,98,18,12,7,12,12,8,1,255,32,32,32,126, + 162,164,168,176,180,170,124,8,8,10,10,8,0,0,64,64, + 70,248,72,68,66,65,65,62,7,13,13,8,1,254,6,72, + 72,72,248,72,72,72,72,72,56,8,48,8,11,11,8,0, + 255,64,64,70,249,72,72,72,74,77,62,4,7,12,12,8, + 1,254,96,144,128,220,162,162,162,162,162,162,4,24,7,11, + 11,8,1,0,192,64,64,64,78,80,80,76,66,66,124,7, + 11,11,8,0,0,192,64,64,64,64,126,68,72,80,96,126, + 7,11,11,8,1,0,130,146,146,146,108,0,130,146,146,146, + 108,6,10,10,8,1,0,252,132,132,132,0,0,252,132,132, + 132,5,10,10,8,1,254,200,72,72,72,72,72,88,40,8, + 8,7,10,10,8,1,254,200,72,72,72,72,72,88,40,8, + 6,5,6,6,8,2,4,128,128,176,200,136,136,5,7,7, + 8,2,4,112,136,128,176,200,136,136,4,7,7,8,2,4, + 16,0,16,16,16,144,96,5,5,5,8,2,5,176,200,128, + 128,128,5,5,5,8,1,5,8,8,8,152,104,7,6,6, + 8,1,4,8,8,8,152,104,6,5,6,6,8,1,4,136, + 144,240,136,136,240,5,4,4,8,1,6,136,168,168,80,5, + 5,5,8,1,5,136,136,120,8,112,3,3,3,8,2,7, + 32,64,128,6,3,3,8,1,7,36,72,144,2,4,4,8, + 3,6,64,128,128,192,2,4,4,8,3,6,192,64,64,128, + 2,4,4,8,3,6,192,128,128,64,4,6,6,8,2,5, + 192,32,16,16,32,192,4,6,6,8,2,5,48,64,128,128, + 64,48,6,7,7,8,1,4,120,132,4,4,56,32,32,6, + 7,7,8,1,4,120,132,128,128,112,16,16,4,7,7,8, + 2,4,16,32,64,128,64,32,16,4,7,7,8,2,4,128, + 64,32,16,32,64,128,7,4,4,8,1,6,16,40,68,130, + 7,4,4,8,1,6,130,68,40,16,4,2,2,8,2,8, + 96,144,4,2,2,8,2,8,144,96,1,3,3,8,4,7, + 128,128,128,4,1,1,8,2,9,240,4,2,2,8,2,8, + 48,192,4,2,2,8,2,8,192,48,1,4,4,8,4,0, + 128,128,128,128,4,1,1,8,2,0,240,4,2,2,8,2, + 255,192,48,4,2,2,8,2,255,48,192,3,6,6,8,2, + 1,224,64,0,0,64,224,3,2,2,8,2,4,224,64,4, + 6,6,8,2,2,192,32,16,16,32,192,4,6,6,8,2, + 2,48,64,128,128,64,48,5,5,5,8,1,2,32,32,32, + 32,248,5,5,5,8,1,2,248,32,32,32,32,5,5,5, + 8,1,2,32,32,248,32,32,5,1,1,8,1,4,248,6, + 3,3,8,1,9,132,132,120,2,2,2,8,3,10,192,192, + 4,3,3,8,2,9,96,144,96,3,2,2,8,4,254,128, + 96,6,2,2,8,1,10,100,152,7,2,2,8,1,10,102, + 136,7,4,4,8,0,3,32,96,162,28,6,5,5,8,1, + 5,132,72,48,72,132,5,6,6,8,1,4,136,80,32,80, + 80,32,3,6,6,8,2,6,192,64,64,64,64,224,5,5, + 5,8,1,5,120,128,112,8,240,5,5,5,8,1,5,136, + 80,32,80,136,5,5,5,8,1,7,120,128,128,112,16,5, + 11,11,8,1,0,248,8,8,8,8,8,8,8,8,8,8, + 5,11,11,8,1,0,8,8,248,8,8,8,8,8,8,8, + 8,5,11,11,8,1,0,8,8,8,8,8,248,8,8,8, + 8,8,5,11,11,8,1,0,8,8,8,8,8,8,8,8, + 248,8,8,5,11,11,8,1,0,8,8,8,8,8,8,8, + 8,8,8,248,5,6,6,8,1,0,128,128,128,128,128,248, + 4,7,7,8,1,0,128,128,128,240,128,128,128,5,3,3, + 8,1,0,136,80,32,6,3,3,8,1,9,252,0,252,6, + 4,4,8,1,8,204,68,68,136,5,3,3,8,1,255,136, + 80,32,5,3,3,8,1,255,32,80,136,3,5,5,8,3, + 255,32,64,128,64,32,3,5,5,8,3,255,128,64,32,64, + 128,4,3,3,8,2,255,96,144,96,3,3,3,8,2,9, + 128,64,32,6,3,3,8,1,9,144,72,36,6,3,3,8, + 1,9,36,72,144,6,2,2,8,1,254,100,152,2,7,7, + 8,3,4,192,192,0,0,0,192,192,3,4,4,8,2,7, + 224,128,128,128,3,4,4,8,2,7,224,32,32,32,3,4, + 4,8,2,0,128,128,128,224,3,4,4,8,2,0,32,32, + 32,224,6,3,3,8,1,254,132,132,252,6,3,3,8,1, + 254,128,128,252,6,5,5,8,1,3,32,64,252,64,32}; +/* + Fontname: -gnu-Unifont-Medium-R-Normal-Sans-16-160-75-75-c-80-iso10646-1 + Copyright: Copyright (C) 2014 Roman Czyborra, Paul Hardy, Qianqian Fang, Andrew Miller, et al. Licensed under the GNU General Public License; either version 2, or (at your option) a later version, with the GNU Font Embedding Exception. + Capital A Height: 3, '1' Height: 9 + Calculated Max Values w=15 h=16 x= 7 y=12 dx=16 dy= 0 ascent=14 len=16 + Font Bounding box w=16 h=16 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent = 3 descent= 0 + X Font ascent =12 descent= 0 + Max Font ascent =14 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_unifont_67_75[3421] U8G_FONT_SECTION("u8g_font_unifont_67_75") = { + 0,16,16,0,254,3,2,188,4,152,16,255,0,14,254,12, + 0,7,5,5,8,1,2,32,64,254,64,32,5,14,14,8, + 2,254,32,112,168,32,32,32,32,32,32,32,32,32,32,32, + 7,5,5,8,0,2,8,4,254,4,8,5,14,14,8,2, + 0,32,32,32,32,32,32,32,32,32,32,32,168,112,32,8, + 5,5,8,0,2,36,66,255,66,36,5,12,12,8,2,0, + 32,112,168,32,32,32,32,32,32,168,112,32,6,6,6,8, + 1,3,240,192,160,144,8,4,6,6,6,8,1,3,60,12, + 20,36,64,128,6,6,6,8,1,3,128,64,36,20,12,60, + 6,6,6,8,1,2,4,8,144,160,192,240,7,9,9,8, + 1,0,8,8,40,72,254,72,40,8,8,7,9,9,8,0, + 0,32,32,40,36,254,36,40,32,32,7,5,5,8,1,2, + 32,76,242,64,32,7,5,5,8,0,2,8,100,158,4,8, + 8,5,5,8,0,3,36,72,255,72,36,5,14,14,8,2, + 254,32,112,168,32,112,168,32,32,32,32,32,32,32,32,8, + 5,5,8,0,2,36,18,255,18,36,5,15,15,8,2,255, + 32,32,32,32,32,32,32,32,32,168,112,32,168,112,32,7, + 5,5,8,1,2,34,68,248,68,34,7,5,5,8,0,2, + 136,68,62,68,136,6,5,5,8,1,2,36,68,252,68,36, + 5,12,12,8,2,0,32,112,168,32,32,32,32,32,32,32, + 32,248,6,5,5,8,1,2,144,136,252,136,144,5,12,12, + 8,2,0,248,32,32,32,32,32,32,32,32,168,112,32,5, + 12,12,8,2,0,32,112,168,32,32,32,32,32,168,112,32, + 248,7,6,6,8,1,2,4,34,66,252,64,32,7,6,6, + 8,1,2,64,136,132,126,4,8,7,6,6,8,1,2,4, + 42,74,252,72,40,7,6,6,8,1,2,64,168,164,126,36, + 40,8,5,5,8,0,2,36,90,231,66,36,8,9,9,8, + 0,0,8,8,44,74,255,74,44,8,8,6,12,12,8,1, + 0,128,128,128,144,176,208,144,16,16,84,56,16,5,9,9, + 8,1,254,32,64,240,72,40,8,8,8,8,5,9,9,8, + 2,254,32,16,120,144,160,128,128,128,128,5,12,12,8,1, + 2,8,8,8,8,8,8,8,40,72,240,64,32,5,12,12, + 8,2,2,128,128,128,128,128,128,128,160,144,120,16,32,8, + 5,5,8,0,0,252,4,21,14,4,5,12,12,8,1,2, + 8,8,8,8,8,8,8,40,72,248,64,32,8,5,5,8, + 0,1,30,33,169,113,32,8,5,5,8,0,1,120,132,149, + 142,4,6,8,8,8,1,3,252,0,240,192,160,144,8,4, + 6,11,11,8,1,0,160,192,252,192,160,0,20,12,252,12, + 20,6,6,6,8,1,1,92,152,148,132,132,120,6,6,6, + 8,1,1,232,100,164,132,132,120,7,3,3,8,1,4,32, + 64,254,7,3,3,8,1,2,254,64,32,3,14,14,8,4, + 254,128,192,160,128,128,128,128,128,128,128,128,128,128,128,3, + 14,14,8,2,254,32,96,160,32,32,32,32,32,32,32,32, + 32,32,32,7,3,3,8,0,4,8,4,254,7,3,3,8, + 0,2,254,4,8,3,14,14,8,4,0,128,128,128,128,128, + 128,128,128,128,128,128,160,192,128,3,14,14,8,2,0,32, + 32,32,32,32,32,32,32,32,32,32,160,96,32,6,11,11, + 8,1,0,16,8,252,8,16,0,32,64,252,64,32,8,12, + 12,8,0,0,36,116,172,36,36,36,36,36,36,53,46,36, + 6,11,11,8,1,0,32,64,252,64,32,0,16,8,252,8, + 16,6,11,11,8,1,0,32,64,252,64,32,0,32,64,252, + 64,32,8,12,12,8,0,0,36,126,165,36,36,36,36,36, + 36,36,36,36,6,11,11,8,1,0,16,8,252,8,16,0, + 16,8,252,8,16,8,12,12,8,0,0,36,36,36,36,36, + 36,36,36,36,165,126,36,6,7,7,8,1,1,32,64,252, + 0,252,8,16,6,7,7,8,1,1,16,8,252,0,252,64, + 32,7,9,9,8,0,0,8,8,40,126,136,126,40,8,8, + 8,9,9,8,0,0,8,8,44,126,137,126,44,8,8,7, + 9,9,8,1,0,32,32,40,252,34,252,40,32,32,6,5, + 5,8,1,2,32,124,128,124,32,5,12,12,8,2,0,32, + 80,216,80,80,80,80,80,80,80,80,80,6,5,5,8,1, + 2,16,248,4,248,16,5,12,12,8,2,0,80,80,80,80, + 80,80,80,80,80,216,80,32,8,5,5,8,0,2,36,126, + 129,126,36,5,12,12,8,2,0,32,80,216,80,80,80,80, + 80,80,216,80,32,6,6,6,8,1,3,240,160,208,168,20, + 8,6,6,6,8,1,3,60,20,44,84,160,64,6,6,6, + 8,1,3,8,20,168,208,160,240,6,6,6,8,1,3,64, + 160,84,44,20,60,7,7,7,8,0,1,16,62,64,254,64, + 62,16,7,7,7,8,1,1,16,248,4,254,4,248,16,8, + 5,5,8,0,2,32,66,245,72,32,8,5,5,8,0,2, + 4,66,175,18,4,5,14,14,8,2,254,32,112,168,32,32, + 32,248,32,248,32,32,32,32,32,5,14,14,8,2,0,32, + 32,32,32,32,248,32,248,32,32,32,168,112,32,7,5,5, + 8,1,2,32,64,238,64,32,5,14,14,8,2,254,32,112, + 168,32,32,0,32,32,32,32,0,32,32,32,8,5,5,8, + 0,2,4,2,239,2,4,5,14,14,8,2,0,32,32,32, + 0,32,32,32,32,0,32,32,168,112,32,7,5,5,8,1, + 2,160,192,254,192,160,7,5,5,8,0,2,10,6,254,6, + 10,8,7,7,8,0,1,16,48,95,129,95,48,16,7,12, + 12,8,1,0,16,40,68,238,40,40,40,40,40,40,40,56, + 8,7,7,8,0,2,8,12,250,129,250,12,8,7,12,12, + 8,1,0,56,40,40,40,40,40,40,40,238,68,40,16,7, + 12,12,8,1,0,16,40,68,238,40,40,40,56,0,56,40, + 56,7,12,12,8,1,0,16,40,68,198,68,68,68,68,68, + 198,130,254,7,12,12,8,1,0,16,40,124,198,68,68,68, + 68,68,198,130,254,7,12,12,8,1,0,16,56,84,214,84, + 84,84,84,84,214,146,254,7,13,13,8,1,0,16,40,84, + 238,68,198,68,68,68,68,68,68,124,7,13,13,8,1,0, + 16,40,84,238,68,198,68,68,68,68,198,130,254,7,7,7, + 8,1,1,16,216,244,130,244,216,16,7,9,9,8,1,0, + 254,128,184,176,168,132,130,128,128,7,9,9,8,1,0,2, + 2,130,66,42,26,58,2,254,5,12,12,8,2,0,32,80, + 216,80,80,80,80,80,80,216,80,32,13,5,10,16,1,2, + 14,32,17,16,255,248,17,16,14,32,8,12,12,8,0,0, + 36,46,53,36,36,36,36,36,36,172,116,36,8,15,15,8, + 0,254,4,2,255,2,4,4,2,255,2,4,4,2,255,2, + 4,8,5,5,8,0,2,36,68,255,68,36,8,5,5,8, + 0,2,36,34,255,34,36,11,5,10,16,2,2,36,128,68, + 64,255,224,68,64,36,128,15,5,10,16,1,2,34,128,66, + 128,255,254,66,128,34,128,15,5,10,16,0,2,2,136,2, + 132,255,254,2,132,2,136,13,5,10,16,1,2,37,32,69, + 16,255,248,69,16,37,32,8,5,5,8,0,2,32,96,191, + 96,32,8,5,5,8,0,2,4,6,253,6,4,12,5,10, + 16,2,2,32,64,96,96,191,208,96,96,32,64,8,8,8, + 8,0,6,255,255,255,255,255,255,255,255,8,2,2,8,0, + 254,255,255,8,4,4,8,0,254,255,255,255,255,8,6,6, + 8,0,254,255,255,255,255,255,255,8,8,8,8,0,254,255, + 255,255,255,255,255,255,255,8,10,10,8,0,254,255,255,255, + 255,255,255,255,255,255,255,8,12,12,8,0,254,255,255,255, + 255,255,255,255,255,255,255,255,255,8,14,14,8,0,254,255, + 255,255,255,255,255,255,255,255,255,255,255,255,255,8,16,16, + 8,0,254,255,255,255,255,255,255,255,255,255,255,255,255,255, + 255,255,255,7,16,16,8,0,254,254,254,254,254,254,254,254, + 254,254,254,254,254,254,254,254,254,6,16,16,8,0,254,252, + 252,252,252,252,252,252,252,252,252,252,252,252,252,252,252,5, + 16,16,8,0,254,248,248,248,248,248,248,248,248,248,248,248, + 248,248,248,248,248,4,16,16,8,0,254,240,240,240,240,240, + 240,240,240,240,240,240,240,240,240,240,240,3,16,16,8,0, + 254,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224, + 224,2,16,16,8,0,254,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,1,16,16,8,0,254,128,128,128, + 128,128,128,128,128,128,128,128,128,128,128,128,128,4,16,16, + 8,4,254,240,240,240,240,240,240,240,240,240,240,240,240,240, + 240,240,240,7,16,16,8,0,254,136,34,136,34,136,34,136, + 34,136,34,136,34,136,34,136,34,8,16,16,8,0,254,170, + 85,170,85,170,85,170,85,170,85,170,85,170,85,170,85,8, + 16,16,8,0,254,238,187,238,187,238,187,238,187,238,187,238, + 187,238,187,238,187,8,2,2,8,0,12,255,255,1,16,16, + 8,7,254,128,128,128,128,128,128,128,128,128,128,128,128,128, + 128,128,128,4,8,8,8,0,254,240,240,240,240,240,240,240, + 240,4,8,8,8,4,254,240,240,240,240,240,240,240,240,4, + 8,8,8,0,6,240,240,240,240,240,240,240,240,8,16,16, + 8,0,254,240,240,240,240,240,240,240,240,255,255,255,255,255, + 255,255,255,8,16,16,8,0,254,240,240,240,240,240,240,240, + 240,15,15,15,15,15,15,15,15,8,16,16,8,0,254,255, + 255,255,255,255,255,255,255,240,240,240,240,240,240,240,240,8, + 16,16,8,0,254,255,255,255,255,255,255,255,255,15,15,15, + 15,15,15,15,15,4,8,8,8,4,6,240,240,240,240,240, + 240,240,240,8,16,16,8,0,254,15,15,15,15,15,15,15, + 15,240,240,240,240,240,240,240,240,8,16,16,8,0,254,15, + 15,15,15,15,15,15,15,255,255,255,255,255,255,255,255,7, + 7,7,8,1,1,254,254,254,254,254,254,254,7,7,7,8, + 1,1,254,130,130,130,130,130,254,7,7,7,8,1,1,124, + 130,130,130,130,130,124,7,7,7,8,1,1,254,130,186,186, + 186,130,254,7,7,7,8,1,1,254,130,254,130,254,130,254, + 7,7,7,8,1,1,254,170,170,170,170,170,254,7,7,7, + 8,1,1,254,170,254,170,254,170,254,7,7,7,8,1,1, + 254,166,146,202,166,146,254,7,7,7,8,1,1,254,202,146, + 166,202,146,254,7,7,7,8,1,1,254,170,214,170,214,170, + 254,4,4,4,8,2,4,240,240,240,240,4,4,4,8,2, + 4,240,144,144,240,7,4,4,8,1,4,254,254,254,254,7, + 4,4,8,1,4,254,130,130,254,4,7,7,8,2,2,240, + 240,240,240,240,240,240,4,7,7,8,2,2,240,144,144,144, + 144,144,240,8,3,3,8,0,4,63,126,252,8,3,3,8, + 0,4,63,66,252,6,6,6,8,1,3,48,48,120,120,252, + 252,6,6,6,8,1,3,48,48,72,72,132,252,6,3,3, + 8,1,3,48,120,252,6,3,3,8,1,3,48,72,252,6, + 6,6,8,1,3,192,240,252,252,240,192,6,6,6,8,1, + 3,192,176,140,140,176,192,4,4,4,8,2,4,192,240,240, + 192,4,4,4,8,2,4,192,176,176,192,6,5,5,8,1, + 3,192,240,252,240,192,6,5,5,8,1,3,192,176,140,176, + 192,6,6,6,8,1,3,252,252,120,120,48,48,6,6,6, + 8,1,3,252,132,72,72,48,48,6,3,3,8,1,3,252, + 120,48,6,3,3,8,1,3,252,72,48,6,6,6,8,1, + 3,12,60,252,252,60,12,6,6,6,8,1,3,12,52,196, + 196,52,12,4,4,4,8,2,4,48,240,240,48,4,4,4, + 8,2,4,48,208,208,48,6,5,5,8,1,3,12,60,252, + 60,12,6,5,5,8,1,3,12,52,196,52,12,7,7,7, + 8,1,2,16,56,124,254,124,56,16,7,7,7,8,1,2, + 16,40,68,130,68,40,16,7,7,7,8,1,2,16,40,84, + 186,84,40,16,7,7,7,8,1,2,56,68,178,186,154,68, + 56,6,10,10,8,1,1,48,48,72,72,132,132,72,72,48, + 48,7,7,7,8,1,2,56,68,130,130,130,68,56,7,7, + 7,8,1,2,40,0,130,0,130,0,40,7,7,7,8,1, + 2,56,108,170,170,170,108,56,7,7,7,8,1,2,56,68, + 146,170,146,68,56,7,7,7,8,1,2,56,124,254,254,254, + 124,56,7,7,7,8,1,2,56,100,226,226,226,100,56,7, + 7,7,8,1,2,56,76,142,142,142,76,56,7,7,7,8, + 1,2,56,68,130,130,254,124,56,7,7,7,8,1,2,56, + 124,254,130,130,68,56,7,7,7,8,1,2,56,92,158,158, + 130,68,56,7,7,7,8,1,2,56,76,142,142,254,124,56, + 4,7,7,8,1,2,48,112,240,240,240,112,48,4,7,7, + 8,4,2,192,224,240,240,240,224,192,8,16,16,8,0,254, + 255,255,255,255,255,255,231,195,195,231,255,255,255,255,255,255, + 8,16,16,8,0,254,255,255,255,255,255,231,219,189,189,219, + 231,255,255,255,255,255,8,8,8,8,0,6,255,255,255,255, + 255,231,219,189,8,8,8,8,0,254,189,219,231,255,255,255, + 255,255,4,4,4,8,1,5,48,64,128,128,4,4,4,8, + 4,5,192,32,16,16,4,4,4,8,4,2,16,16,32,192, + 4,4,4,8,1,2,128,128,64,48,7,4,4,8,1,5, + 56,68,130,130,7,4,4,8,1,2,130,130,68,56,6,6, + 6,8,1,255,4,12,28,60,124,252,6,6,6,8,1,255, + 128,192,224,240,248,252,6,6,6,8,1,6,252,248,240,224, + 192,128,6,6,6,8,1,6,252,124,60,28,12,4,5,5, + 5,8,1,2,112,136,136,136,112,6,6,6,8,1,3,252, + 228,228,228,228,252,6,6,6,8,1,3,252,156,156,156,156, + 252,6,6,6,8,1,3,252,244,228,196,132,252,6,6,6, + 8,1,3,252,132,140,156,188,252,7,6,6,8,1,3,254, + 146,146,146,146,254,7,7,7,8,1,2,16,40,40,68,84, + 130,254,6,6,6,8,1,2,48,48,104,104,228,252,6,7, + 7,8,1,2,48,48,88,88,156,156,252,8,8,8,8,0, + 2,60,66,129,129,129,129,66,60,6,6,6,8,1,0,252, + 164,228,132,132,252,6,6,6,8,1,0,252,132,132,228,164, + 252,6,6,6,8,1,0,252,132,132,156,148,252,6,6,6, + 8,1,0,252,148,156,132,132,252,8,8,8,8,0,0,60, + 82,145,241,129,129,66,60,8,8,8,8,0,0,60,66,129, + 129,241,145,82,60,8,8,8,8,0,0,60,66,129,129,143, + 137,74,60,8,8,8,8,0,0,60,74,137,143,129,129,66, + 60,6,6,6,8,1,6,252,136,144,160,192,128,6,6,6, + 8,1,6,252,68,36,20,12,4,6,6,6,8,1,255,128, + 192,160,144,136,252,6,6,6,8,1,255,252,132,132,132,132, + 252,6,6,6,8,1,255,252,252,252,252,252,252,4,4,4, + 8,2,0,240,144,144,240,4,4,4,8,2,0,240,240,240, + 240,6,6,6,8,1,255,4,12,20,36,68,252}; +/* + Fontname: -gnu-Unifont-Medium-R-Normal-Sans-16-160-75-75-c-80-iso10646-1 + Copyright: Copyright (C) 2014 Roman Czyborra, Paul Hardy, Qianqian Fang, Andrew Miller, et al. Licensed under the GNU General Public License; either version 2, or (at your option) a later version, with the GNU Font Embedding Exception. + Capital A Height: 10, '1' Height: 14 + Calculated Max Values w=16 h=16 x= 5 y= 5 dx=16 dy= 0 ascent=14 len=32 + Font Bounding box w=16 h=16 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent =10 descent=-1 + X Font ascent =14 descent=-1 + Max Font ascent =14 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_unifont_72_73[7568] U8G_FONT_SECTION("u8g_font_unifont_72_73") = { + 0,16,16,0,254,10,5,238,9,116,0,255,255,14,254,14, + 255,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, + 0,74,81,234,80,90,81,201,158,0,1,128,0,0,1,128, + 0,0,1,128,0,85,85,14,5,10,16,1,4,115,36,132, + 164,100,188,20,164,227,36,13,5,10,16,1,4,119,72,130, + 72,98,48,18,72,226,72,13,5,10,16,1,4,247,72,130, + 72,242,48,130,72,242,72,14,5,10,16,1,4,243,124,132, + 144,244,144,132,144,243,16,14,5,10,16,1,4,244,152,132, + 164,246,164,133,172,244,156,13,5,10,16,1,4,99,72,148, + 80,244,96,148,80,147,72,14,5,10,16,1,4,231,160,148, + 32,231,160,148,32,231,188,10,5,10,16,3,4,241,192,138, + 0,241,128,136,64,243,128,11,5,10,16,2,4,139,224,136, + 128,248,128,136,128,136,128,11,5,10,16,2,4,131,224,130, + 0,131,224,130,0,250,0,11,5,10,16,2,4,139,224,136, + 128,136,128,80,128,32,128,11,5,10,16,2,4,251,224,130, + 0,251,224,130,0,130,0,11,5,10,16,2,4,123,192,130, + 32,131,192,130,64,122,32,11,5,10,16,2,4,121,192,130, + 32,114,32,10,32,241,192,11,5,10,16,2,4,123,224,128, + 128,112,128,8,128,243,224,12,5,10,16,2,4,228,112,148, + 64,148,112,148,64,231,112,13,5,10,16,1,4,227,16,148, + 48,148,16,148,16,227,56,13,5,10,16,1,4,227,48,148, + 8,148,16,148,32,227,56,13,5,10,16,1,4,227,48,148, + 8,148,48,148,8,227,48,13,5,10,16,1,4,227,8,148, + 24,148,40,148,56,227,8,14,5,10,16,1,4,147,36,212, + 168,212,176,183,168,148,164,14,5,10,16,1,4,104,164,133, + 52,98,44,18,36,226,36,13,5,10,16,1,4,247,112,130, + 72,242,112,130,72,242,112,13,5,10,16,1,4,102,72,137, + 104,143,88,137,72,105,72,11,5,10,16,2,4,250,32,131, + 96,250,160,130,32,250,32,14,5,10,16,1,4,116,184,132, + 164,100,184,20,164,227,56,14,5,10,16,1,4,243,156,132, + 32,243,32,128,160,247,28,9,5,10,16,3,4,243,128,132, + 0,243,0,128,128,135,0,9,5,10,16,3,4,115,128,132, + 0,179,0,144,128,119,0,9,5,10,16,3,4,227,128,148, + 0,227,0,160,128,151,0,9,5,10,16,3,4,147,128,148, + 0,147,0,144,128,103,0,9,5,10,16,1,4,119,0,132, + 128,103,0,20,0,228,0,14,5,10,16,1,4,231,160,148, + 32,151,160,148,32,231,188,6,10,10,8,1,0,40,48,32, + 96,184,36,36,36,36,56,6,2,2,8,1,0,132,252,6, + 9,9,8,1,1,144,208,176,144,0,32,32,32,60,7,7, + 7,8,1,2,2,20,42,84,168,80,128,6,11,11,8,1, + 0,120,132,132,128,64,32,16,16,0,16,16,14,14,28,16, + 1,255,255,252,195,108,251,108,195,12,223,236,195,236,255,252, + 255,252,195,12,251,236,195,220,223,188,195,188,255,252,14,14, + 28,16,1,255,255,252,195,108,251,108,195,12,223,236,195,236, + 255,252,255,252,195,156,251,108,195,156,223,108,195,156,255,252, + 14,14,28,16,1,255,255,252,195,108,251,108,195,12,223,236, + 195,236,255,252,255,252,195,156,251,108,195,140,223,236,195,156, + 255,252,14,14,28,16,1,255,255,252,195,108,251,108,195,12, + 223,236,195,236,255,252,255,252,195,12,251,108,195,12,223,108, + 195,108,255,252,14,14,28,16,1,255,255,252,195,108,251,108, + 195,12,223,236,195,236,255,252,255,252,195,28,251,108,195,28, + 223,108,195,28,255,252,14,14,28,16,1,255,255,252,195,108, + 251,108,195,12,223,236,195,236,255,252,255,252,195,140,251,124, + 195,124,223,124,195,140,255,252,14,14,28,16,1,255,255,252, + 195,108,251,108,195,12,223,236,195,236,255,252,255,252,195,28, + 251,108,195,108,223,108,195,28,255,252,14,14,28,16,1,255, + 255,252,195,108,251,108,195,12,223,236,195,236,255,252,255,252, + 195,12,251,124,195,28,223,124,195,12,255,252,14,14,28,16, + 1,255,255,252,195,108,251,108,195,12,223,236,195,236,255,252, + 255,252,195,12,251,124,195,28,223,124,195,124,255,252,14,14, + 28,16,1,255,255,252,195,108,251,108,195,12,223,236,195,236, + 255,252,255,252,199,156,251,108,227,108,251,108,199,156,255,252, + 14,14,28,16,1,255,255,252,195,108,251,108,195,12,223,236, + 195,236,255,252,255,252,199,220,251,156,227,220,251,220,199,140, + 255,252,14,14,28,16,1,255,255,252,195,108,251,108,195,12, + 223,236,195,236,255,252,255,252,199,12,251,236,227,12,251,124, + 199,12,255,252,14,14,28,16,1,255,255,252,195,108,251,108, + 195,12,223,236,195,236,255,252,255,252,199,28,251,236,227,140, + 251,236,199,28,255,252,14,14,28,16,1,255,255,252,195,108, + 251,108,195,12,223,236,195,236,255,252,255,252,199,108,251,108, + 227,12,251,236,199,236,255,252,14,14,28,16,1,255,255,252, + 195,108,251,108,195,12,223,236,195,236,255,252,255,252,199,12, + 251,124,227,12,251,236,199,12,255,252,14,14,28,16,1,255, + 255,252,195,108,251,108,195,12,223,236,195,236,255,252,255,252, + 199,156,251,124,227,28,251,108,199,156,255,252,14,14,28,16, + 1,255,255,252,195,108,251,108,195,12,223,236,195,236,255,252, + 255,252,199,12,251,236,227,220,251,188,199,188,255,252,14,14, + 28,16,1,255,255,252,195,108,251,108,195,12,223,236,195,236, + 255,252,255,252,199,156,251,108,227,156,251,108,199,156,255,252, + 14,14,28,16,1,255,255,252,195,108,251,108,195,12,223,236, + 195,236,255,252,255,252,199,156,251,108,227,140,251,236,199,156, + 255,252,14,14,28,16,1,255,255,252,195,108,251,108,195,12, + 223,236,195,236,255,252,255,252,199,12,251,108,227,12,251,108, + 199,108,255,252,14,14,28,16,1,255,255,252,195,108,251,108, + 195,12,223,236,195,236,255,252,255,252,199,28,251,108,227,28, + 251,108,199,28,255,252,14,14,28,16,1,255,255,252,195,108, + 251,108,195,12,223,236,195,236,255,252,255,252,199,140,251,124, + 227,124,251,124,199,140,255,252,14,14,28,16,1,255,255,252, + 195,108,251,108,195,12,223,236,195,236,255,252,255,252,199,28, + 251,108,227,108,251,108,199,28,255,252,14,14,28,16,1,255, + 255,252,195,108,251,108,195,12,223,236,195,236,255,252,255,252, + 199,12,251,124,227,28,251,124,199,12,255,252,14,14,28,16, + 1,255,255,252,195,108,251,108,195,12,223,236,195,236,255,252, + 255,252,199,12,251,124,227,28,251,124,199,124,255,252,5,10, + 10,8,2,0,56,40,40,40,32,32,160,160,160,224,5,10, + 10,8,2,0,8,8,8,8,8,248,136,136,136,136,5,10, + 10,8,2,0,136,136,136,136,136,248,32,32,32,32,5,10, + 10,8,2,0,32,32,32,32,32,248,136,136,136,136,5,10, + 10,8,2,0,248,168,168,168,32,32,168,168,168,248,5,5, + 5,8,2,5,136,216,168,216,136,6,8,8,8,1,1,28, + 220,220,192,192,220,220,28,8,10,10,8,0,0,3,3,3, + 27,24,24,216,192,192,192,7,10,10,8,1,0,14,174,174, + 160,160,160,160,160,160,160,7,9,9,8,1,0,218,218,218, + 218,218,218,218,218,218,8,10,10,8,0,0,160,160,80,40, + 40,20,20,10,5,5,14,14,28,16,1,255,255,252,195,108, + 251,108,195,12,223,236,195,236,255,252,255,252,219,28,219,108, + 195,28,251,108,251,28,255,252,14,14,28,16,1,255,255,252, + 195,108,251,108,195,12,223,236,195,236,255,252,255,252,219,140, + 219,124,195,124,251,124,251,140,255,252,14,14,28,16,1,255, + 255,252,195,108,251,108,195,12,223,236,195,236,255,252,255,252, + 219,28,219,108,195,108,251,108,251,28,255,252,14,14,28,16, + 1,255,255,252,195,108,251,108,195,12,223,236,195,236,255,252, + 255,252,219,12,219,124,195,28,251,124,251,12,255,252,14,14, + 28,16,1,255,255,252,195,108,251,108,195,12,223,236,195,236, + 255,252,255,252,219,12,219,124,195,28,251,124,251,124,255,252, + 14,14,28,16,1,255,255,252,195,108,251,108,195,12,223,236, + 195,236,255,252,255,252,195,156,223,108,195,108,251,108,195,156, + 255,252,14,14,28,16,1,255,255,252,195,108,251,108,195,12, + 223,236,195,236,255,252,255,252,195,220,223,156,195,220,251,220, + 195,140,255,252,14,14,28,16,1,255,255,252,195,108,251,108, + 195,12,223,236,195,236,255,252,255,252,195,12,223,236,195,12, + 251,124,195,12,255,252,14,14,28,16,1,255,255,252,195,108, + 251,108,195,12,223,236,195,236,255,252,255,252,195,28,223,236, + 195,140,251,236,195,28,255,252,14,14,28,16,1,255,255,252, + 195,108,251,108,195,12,223,236,195,236,255,252,255,252,195,108, + 223,108,195,12,251,236,195,236,255,252,14,14,28,16,1,255, + 255,252,195,108,251,108,195,12,223,236,195,236,255,252,255,252, + 195,12,223,124,195,12,251,236,195,12,255,252,14,14,28,16, + 1,255,255,252,195,108,251,108,195,12,223,236,195,236,255,252, + 255,252,195,156,223,124,195,28,251,108,195,156,255,252,14,14, + 28,16,1,255,255,252,195,108,251,108,195,12,223,236,195,236, + 255,252,255,252,195,12,223,236,195,220,251,188,195,188,255,252, + 14,14,28,16,1,255,255,252,195,108,251,108,195,12,223,236, + 195,236,255,252,255,252,195,156,223,108,195,156,251,108,195,156, + 255,252,14,14,28,16,1,255,255,252,195,108,251,108,195,12, + 223,236,195,236,255,252,255,252,195,156,223,108,195,140,251,236, + 195,156,255,252,14,14,28,16,1,255,255,252,195,108,251,108, + 195,12,223,236,195,236,255,252,255,252,195,12,223,108,195,12, + 251,108,195,108,255,252,14,14,28,16,1,255,255,252,195,108, + 251,108,195,12,223,236,195,236,255,252,255,252,195,28,223,108, + 195,28,251,108,195,28,255,252,14,14,28,16,1,255,255,252, + 195,108,251,108,195,12,223,236,195,236,255,252,255,252,195,140, + 223,124,195,124,251,124,195,140,255,252,14,14,28,16,1,255, + 255,252,195,108,251,108,195,12,223,236,195,236,255,252,255,252, + 195,28,223,108,195,108,251,108,195,28,255,252,14,14,28,16, + 1,255,255,252,195,108,251,108,195,12,223,236,195,236,255,252, + 255,252,195,12,223,124,195,28,251,124,195,12,255,252,14,14, + 28,16,1,255,255,252,195,108,251,108,195,12,223,236,195,236, + 255,252,255,252,195,12,223,124,195,28,251,124,195,124,255,252, + 15,15,30,16,0,255,7,192,24,48,32,8,65,4,67,4, + 133,2,129,2,129,2,129,2,129,2,65,4,71,196,32,8, + 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, + 67,132,68,68,132,66,128,66,128,130,129,2,130,2,68,4, + 71,196,32,8,24,48,7,192,15,15,30,16,0,255,7,192, + 24,48,32,8,67,132,68,68,132,66,128,66,129,130,128,66, + 132,66,68,68,67,132,32,8,24,48,7,192,15,15,30,16, + 0,255,7,192,24,48,32,8,64,132,65,132,130,130,132,130, + 136,130,143,194,128,130,64,132,64,132,32,8,24,48,7,192, + 15,15,30,16,0,255,7,192,24,48,32,8,71,196,68,4, + 132,2,132,2,135,130,128,66,128,66,68,68,67,132,32,8, + 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, + 65,132,66,4,132,2,132,2,135,130,132,66,132,66,68,68, + 67,132,32,8,24,48,7,192,15,15,30,16,0,255,7,192, + 24,48,32,8,71,196,64,68,128,66,128,130,128,130,128,130, + 129,2,65,4,65,4,32,8,24,48,7,192,15,15,30,16, + 0,255,7,192,24,48,32,8,67,132,68,68,132,66,132,66, + 131,130,132,66,132,66,68,68,67,132,32,8,24,48,7,192, + 15,15,30,16,0,255,7,192,24,48,32,8,67,132,68,68, + 132,66,132,66,131,194,128,66,128,66,64,132,67,4,32,8, + 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, + 64,4,68,100,140,146,148,146,132,146,132,146,132,146,95,100, + 64,4,32,8,24,48,7,192,15,15,30,16,0,255,7,192, + 24,48,32,8,64,4,68,68,140,194,149,66,132,66,132,66, + 132,66,95,244,64,4,32,8,24,48,7,192,15,15,30,16, + 0,255,7,192,24,48,32,8,64,4,68,100,140,146,148,18, + 132,34,132,66,132,130,95,244,64,4,32,8,24,48,7,192, + 15,15,30,16,0,255,7,192,24,48,32,8,64,4,68,100, + 140,146,148,18,132,34,132,18,132,146,95,100,64,4,32,8, + 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, + 64,4,68,20,140,50,148,82,132,146,132,250,132,18,95,20, + 64,4,32,8,24,48,7,192,15,15,30,16,0,255,7,192, + 24,48,32,8,64,4,68,244,140,130,148,130,132,226,132,18, + 132,146,95,100,64,4,32,8,24,48,7,192,15,15,30,16, + 0,255,7,192,24,48,32,8,64,4,68,116,140,130,148,130, + 132,226,132,146,132,146,95,100,64,4,32,8,24,48,7,192, + 15,15,30,16,0,255,7,192,24,48,32,8,64,4,68,244, + 140,18,148,18,132,34,132,34,132,66,95,68,64,4,32,8, + 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, + 64,4,68,100,140,146,148,146,132,98,132,146,132,146,95,100, + 64,4,32,8,24,48,7,192,15,15,30,16,0,255,7,192, + 24,48,32,8,64,4,68,100,140,146,148,146,132,114,132,18, + 132,18,95,100,64,4,32,8,24,48,7,192,15,15,30,16, + 0,255,7,192,24,48,32,8,64,4,76,100,146,146,130,146, + 132,146,136,146,144,146,94,100,64,4,32,8,24,48,7,192, + 14,12,24,16,1,0,32,16,65,8,67,8,133,4,129,4, + 129,4,129,4,129,4,129,4,65,8,71,200,32,16,14,12, + 24,16,1,0,32,16,71,136,72,72,136,68,128,68,129,132, + 130,4,132,4,136,4,72,8,79,200,32,16,14,12,24,16, + 1,0,32,16,71,136,72,72,136,68,128,68,131,132,128,68, + 128,68,136,68,72,72,71,136,32,16,14,12,24,16,1,0, + 32,16,64,136,65,136,130,132,132,132,136,132,136,132,143,196, + 128,132,64,136,64,136,32,16,14,12,24,16,1,0,32,16, + 79,200,72,8,136,4,136,4,143,132,128,68,128,68,128,68, + 72,72,71,136,32,16,14,12,24,16,1,0,32,16,67,136, + 68,8,136,4,136,4,143,132,136,68,136,68,136,68,72,72, + 71,136,32,16,14,12,24,16,1,0,32,16,79,200,64,72, + 128,68,128,132,128,132,128,132,129,4,129,4,65,8,65,8, + 32,16,14,12,24,16,1,0,32,16,71,136,72,72,136,68, + 136,68,135,132,136,68,136,68,136,68,72,72,71,136,32,16, + 14,12,24,16,1,0,32,16,71,136,72,72,136,68,136,68, + 135,196,128,68,128,68,128,68,64,136,71,8,32,16,16,12, + 24,16,0,0,64,2,136,49,152,73,168,133,136,133,136,133, + 136,133,136,133,136,133,136,73,190,49,64,2,16,12,24,16, + 0,0,64,2,136,17,152,49,168,81,136,17,136,17,136,17, + 136,17,136,17,136,17,190,125,64,2,16,12,24,16,0,0, + 64,2,136,121,152,133,168,133,136,5,136,25,136,33,136,65, + 136,129,136,129,190,253,64,2,16,12,24,16,0,0,64,2, + 136,121,152,133,168,133,136,5,136,57,136,5,136,5,136,133, + 136,133,190,121,64,2,16,12,24,16,0,0,64,2,136,9, + 152,25,168,41,136,73,136,137,136,137,136,253,136,9,136,9, + 190,9,64,2,16,12,24,16,0,0,64,2,136,253,152,129, + 168,129,136,129,136,249,136,5,136,5,136,5,136,133,190,121, + 64,2,16,12,24,16,0,0,64,2,136,57,152,65,168,129, + 136,129,136,249,136,133,136,133,136,133,136,133,190,121,64,2, + 16,12,24,16,0,0,64,2,137,249,152,9,168,9,136,17, + 136,17,136,17,136,33,136,33,136,33,190,33,64,2,16,12, + 24,16,0,0,64,2,136,121,152,133,168,133,136,133,136,121, + 136,133,136,133,136,133,136,133,190,121,64,2,16,12,24,16, + 0,0,64,2,136,121,152,133,168,133,136,133,136,125,136,5, + 136,5,136,5,136,9,190,113,64,2,16,12,24,16,0,0, + 64,2,156,49,162,73,162,133,130,133,132,133,136,133,144,133, + 160,133,160,73,190,49,64,2,7,10,10,16,5,0,32,96, + 160,32,32,32,32,32,32,250,8,10,10,16,4,0,120,132, + 132,4,24,32,64,128,128,253,8,10,10,16,4,0,120,132, + 132,4,56,4,4,132,132,121,8,10,10,16,4,0,8,24, + 40,72,136,136,252,8,8,9,8,10,10,16,4,0,252,128, + 128,128,248,4,4,4,132,121,8,10,10,16,4,0,56,64, + 128,128,248,132,132,132,132,121,8,10,10,16,4,0,252,4, + 4,8,8,8,16,16,16,17,8,10,10,16,4,0,120,132, + 132,132,120,132,132,132,132,121,8,10,10,16,4,0,120,132, + 132,132,124,4,4,4,8,113,14,10,20,16,1,0,32,192, + 97,32,162,16,34,16,34,16,34,16,34,16,34,16,33,32, + 248,196,14,10,20,16,1,0,32,64,96,192,161,64,32,64, + 32,64,32,64,32,64,32,64,32,64,249,244,14,10,20,16, + 1,0,33,224,98,16,162,16,32,16,32,96,32,128,33,0, + 34,0,34,0,251,244,14,10,20,16,1,0,33,224,98,16, + 162,16,32,16,32,224,32,16,32,16,34,16,34,16,249,228, + 14,10,20,16,1,0,32,32,96,96,160,160,33,32,34,32, + 34,32,35,240,32,32,32,32,248,36,14,10,20,16,1,0, + 35,240,98,0,162,0,34,0,35,224,32,16,32,16,32,16, + 34,16,249,228,14,10,20,16,1,0,32,224,97,0,162,0, + 34,0,35,224,34,16,34,16,34,16,34,16,249,228,14,10, + 20,16,1,0,35,240,96,16,160,16,32,32,32,32,32,32, + 32,64,32,64,32,64,248,68,14,10,20,16,1,0,33,224, + 98,16,162,16,34,16,33,224,34,16,34,16,34,16,34,16, + 249,228,14,10,20,16,1,0,33,224,98,16,162,16,34,16, + 33,240,32,16,32,16,32,16,32,32,249,196,15,10,20,16, + 1,0,120,96,132,144,133,8,5,8,25,8,33,8,65,8, + 129,8,128,144,252,98,14,12,24,16,1,0,32,16,64,8, + 71,136,136,68,128,68,135,196,136,68,136,68,136,196,71,72, + 64,8,32,16,14,12,24,16,1,0,40,16,72,8,72,8, + 139,132,140,68,136,68,136,68,136,68,136,68,76,72,75,136, + 32,16,14,12,24,16,1,0,32,16,64,8,71,136,136,68, + 136,4,136,4,136,4,136,4,136,68,71,136,64,8,32,16, + 14,12,24,16,1,255,32,80,64,72,64,72,135,68,136,196, + 136,68,136,68,136,68,136,68,72,200,71,72,32,16,14,12, + 24,16,1,0,32,16,64,8,71,136,136,68,136,68,143,196, + 136,4,136,4,136,68,71,136,64,8,32,16,14,12,24,16, + 1,255,33,144,66,8,66,8,130,4,143,132,130,4,130,4, + 130,4,130,4,66,8,66,8,32,16,14,12,24,16,1,0, + 32,16,64,72,71,72,136,132,136,132,136,132,135,4,132,4, + 135,132,72,72,72,72,39,144,14,12,24,16,1,255,40,16, + 72,8,72,8,139,132,140,68,136,68,136,68,136,68,136,68, + 72,72,72,72,32,16,13,12,24,16,1,0,34,32,66,16, + 64,16,134,8,130,8,130,8,130,8,130,8,130,8,66,16, + 79,144,32,32,13,13,26,16,1,255,32,160,64,144,64,16, + 129,136,128,136,128,136,128,136,128,136,128,136,64,144,64,144, + 41,32,6,0,14,12,24,16,1,255,32,16,72,8,72,8, + 136,132,137,4,138,4,140,4,138,4,137,4,72,136,72,72, + 32,16,13,12,24,16,1,0,32,32,70,16,66,16,130,8, + 130,8,130,8,130,8,130,8,130,8,66,16,79,144,32,32, + 15,12,24,16,1,0,32,8,64,4,78,196,137,34,137,34, + 137,34,137,34,137,34,137,34,73,36,64,4,32,8,14,12, + 24,16,1,255,32,16,64,8,75,136,140,68,136,68,136,68, + 136,68,136,68,136,68,72,72,64,8,32,16,14,12,24,16, + 1,0,32,16,64,8,71,136,136,68,136,68,136,68,136,68, + 136,68,136,68,71,136,64,8,32,16,14,12,24,16,1,0, + 32,16,64,8,75,136,140,68,136,68,136,68,136,68,136,68, + 140,68,75,136,72,8,40,16,14,12,24,16,1,255,32,16, + 64,8,71,72,136,196,136,68,136,68,136,68,136,68,136,196, + 71,72,64,72,32,80,14,12,24,16,1,0,32,16,64,8, + 75,136,140,68,136,68,136,4,136,4,136,4,136,4,72,8, + 64,8,32,16,14,12,24,16,1,0,32,16,64,8,71,136, + 136,68,136,4,134,4,129,132,128,68,136,68,71,136,64,8, + 32,16,14,12,24,16,1,255,32,16,66,8,66,8,143,132, + 130,4,130,4,130,4,130,4,130,4,66,8,65,136,32,16, + 14,12,24,16,1,0,32,16,64,8,72,72,136,68,136,68, + 136,68,136,68,136,68,136,196,71,72,64,8,32,16,14,12, + 24,16,1,255,32,16,64,8,72,72,136,68,136,68,132,132, + 132,132,132,132,131,4,67,8,64,8,32,16,15,12,24,16, + 1,0,32,8,64,4,72,36,137,34,137,34,137,34,137,34, + 137,34,137,34,70,196,64,4,32,8,14,12,24,16,1,255, + 32,16,64,8,72,72,136,68,132,132,131,4,131,4,132,132, + 136,68,72,72,64,8,32,16,14,12,24,16,1,0,32,16, + 64,8,72,72,136,68,136,68,136,68,136,68,132,196,131,68, + 64,72,64,72,39,144,14,12,24,16,1,0,32,16,64,8, + 79,200,128,68,128,132,129,4,130,4,132,4,136,4,79,200, + 64,8,32,16,15,15,30,16,0,255,7,192,24,48,32,8, + 65,4,66,132,130,130,132,66,132,66,135,194,132,66,68,68, + 68,68,32,8,24,48,7,192,15,15,30,16,0,255,7,192, + 24,48,32,8,71,132,68,68,132,66,132,66,135,130,132,66, + 132,66,68,68,71,132,32,8,24,48,7,192,15,15,30,16, + 0,255,7,192,24,48,32,8,67,132,68,68,132,66,132,2, + 132,2,132,2,132,66,68,68,67,132,32,8,24,48,7,192, + 15,15,30,16,0,255,7,192,24,48,32,8,71,4,68,132, + 132,66,132,66,132,66,132,66,132,66,68,132,71,4,32,8, + 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, + 71,196,68,4,132,2,132,2,135,130,132,2,132,2,68,4, + 71,196,32,8,24,48,7,192,15,15,30,16,0,255,7,192, + 24,48,32,8,71,196,68,4,132,2,132,2,135,130,132,2, + 132,2,68,4,68,4,32,8,24,48,7,192,15,15,30,16, + 0,255,7,192,24,48,32,8,67,132,68,68,132,66,132,2, + 133,194,132,66,132,66,68,196,67,68,32,8,24,48,7,192, + 15,15,30,16,0,255,7,192,24,48,32,8,68,68,68,68, + 132,66,132,66,135,194,132,66,132,66,68,68,68,68,32,8, + 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, + 71,196,65,4,129,2,129,2,129,2,129,2,129,2,65,4, + 71,196,32,8,24,48,7,192,15,15,30,16,0,255,7,192, + 24,48,32,8,67,228,64,132,128,130,128,130,128,130,128,130, + 132,130,68,132,67,4,32,8,24,48,7,192,15,15,30,16, + 0,255,7,192,24,48,32,8,68,68,68,68,132,130,133,2, + 134,2,133,2,132,130,68,68,68,68,32,8,24,48,7,192, + 15,15,30,16,0,255,7,192,24,48,32,8,68,4,68,4, + 132,2,132,2,132,2,132,2,132,2,68,4,71,196,32,8, + 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, + 68,68,68,68,134,194,134,194,133,66,133,66,132,66,68,68, + 68,68,32,8,24,48,7,192,15,15,30,16,0,255,7,192, + 24,48,32,8,64,4,68,68,134,66,134,66,133,66,133,66, + 132,194,68,196,68,68,32,8,24,48,7,192,15,15,30,16, + 0,255,7,192,24,48,32,8,67,132,68,68,132,66,132,66, + 132,66,132,66,132,66,68,68,67,132,32,8,24,48,7,192, + 15,15,30,16,0,255,7,192,24,48,32,8,71,132,68,68, + 132,66,132,66,135,130,132,2,132,2,68,4,68,4,32,8, + 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, + 67,132,68,68,132,66,132,66,132,66,132,66,133,66,70,196, + 67,132,32,104,24,48,7,192,15,15,30,16,0,255,7,192, + 24,48,32,8,71,132,68,68,132,66,132,66,135,130,133,2, + 132,130,68,132,68,68,32,8,24,48,7,192,15,15,30,16, + 0,255,7,192,24,48,32,8,67,132,68,68,132,66,132,2, + 131,130,128,66,132,66,68,68,67,132,32,8,24,48,7,192, + 15,15,30,16,0,255,7,192,24,48,32,8,79,228,65,4, + 129,2,129,2,129,2,129,2,129,2,65,4,65,4,32,8, + 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, + 68,68,68,68,132,66,132,66,132,66,132,66,132,66,68,68, + 67,132,32,8,24,48,7,192,15,15,30,16,0,255,7,192, + 24,48,32,8,72,36,72,36,132,66,132,66,132,66,130,130, + 130,130,65,4,65,4,32,8,24,48,7,192,15,15,30,16, + 0,255,7,192,24,48,32,8,68,68,68,68,132,66,133,66, + 133,66,134,194,134,194,68,68,68,68,32,8,24,48,7,192, + 15,15,30,16,0,255,7,192,24,48,32,8,68,68,68,68, + 130,130,130,130,129,2,130,130,130,130,68,68,68,68,32,8, + 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, + 72,36,72,36,132,66,132,66,130,130,129,2,129,2,65,4, + 65,4,32,8,24,48,7,192,15,15,30,16,0,255,7,192, + 24,48,32,8,71,196,64,68,128,66,128,130,129,2,130,2, + 132,2,68,4,71,196,32,8,24,48,7,192,15,15,30,16, + 0,255,7,192,24,48,32,8,64,4,67,132,132,66,128,66, + 131,194,132,66,132,194,67,68,64,4,32,8,24,48,7,192, + 15,15,30,16,0,255,7,192,24,48,36,8,68,4,68,4, + 133,130,134,66,132,66,132,66,132,66,70,68,69,132,32,8, + 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, + 64,4,67,132,132,66,132,2,132,2,132,2,132,66,67,132, + 64,4,32,8,24,48,7,192,15,15,30,16,0,255,7,192, + 24,48,32,72,64,68,64,68,131,66,132,194,132,66,132,66, + 132,66,68,196,67,68,32,8,24,48,7,192,15,15,30,16, + 0,255,7,192,24,48,32,8,64,4,67,132,132,66,132,66, + 135,194,132,2,132,66,67,132,64,4,32,8,24,48,7,192, + 15,15,30,16,0,255,7,192,24,48,32,8,64,196,65,4, + 129,2,129,2,135,194,129,2,129,2,65,4,65,4,33,8, + 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, + 64,68,67,68,132,130,132,130,131,2,130,2,131,130,68,68, + 68,68,35,136,24,48,7,192,15,15,30,16,0,255,7,192, + 24,48,36,8,68,4,68,4,133,130,134,66,132,66,132,66, + 132,66,68,68,68,68,32,8,24,48,7,192,15,15,30,16, + 0,255,7,192,24,48,33,8,65,4,64,4,131,2,129,2, + 129,2,129,2,129,2,65,4,71,196,32,8,24,48,7,192, + 15,15,30,16,0,255,7,192,24,48,32,72,64,68,64,4, + 128,194,128,66,128,66,128,66,128,66,64,68,68,132,35,8, + 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, + 68,4,68,4,132,130,133,2,134,2,134,2,133,2,68,132, + 68,68,32,8,24,48,7,192,15,15,30,16,0,255,7,192, + 24,48,32,8,67,4,65,4,129,2,129,2,129,2,129,2, + 129,2,65,4,71,196,32,8,24,48,7,192,15,15,30,16, + 0,255,7,192,24,48,32,8,64,4,78,196,137,34,137,34, + 137,34,137,34,137,34,73,36,64,4,32,8,24,48,7,192, + 15,15,30,16,0,255,7,192,24,48,32,8,64,4,69,132, + 134,66,132,66,132,66,132,66,132,66,68,68,64,4,32,8, + 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, + 64,4,67,132,132,66,132,66,132,66,132,66,132,66,67,132, + 64,4,32,8,24,48,7,192,15,15,30,16,0,255,7,192, + 24,48,32,8,64,4,69,132,134,66,132,66,132,66,132,66, + 134,66,69,132,68,4,36,8,24,48,7,192,15,15,30,16, + 0,255,7,192,24,48,32,8,64,4,67,68,132,194,132,66, + 132,66,132,66,132,66,68,196,67,68,32,72,24,48,7,192, + 15,15,30,16,0,255,7,192,24,48,32,8,64,4,69,132, + 134,66,132,66,132,2,132,2,132,2,68,4,64,4,32,8, + 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, + 64,4,67,132,132,66,132,2,131,130,128,66,132,66,67,132, + 64,4,32,8,24,48,7,192,15,15,30,16,0,255,7,192, + 24,48,32,8,65,4,65,4,135,194,129,2,129,2,129,2, + 129,2,65,4,64,196,32,8,24,48,7,192,15,15,30,16, + 0,255,7,192,24,48,32,8,64,4,68,68,132,66,132,66, + 132,66,132,66,132,194,67,68,64,4,32,8,24,48,7,192, + 15,15,30,16,0,255,7,192,24,48,32,8,64,4,68,68, + 132,66,130,130,130,130,130,130,129,2,65,4,64,4,32,8, + 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, + 64,4,72,36,137,34,137,34,137,34,137,34,137,34,70,196, + 64,4,32,8,24,48,7,192,15,15,30,16,0,255,7,192, + 24,48,32,8,64,4,68,68,132,66,130,130,129,2,130,130, + 132,66,68,68,64,4,32,8,24,48,7,192,15,15,30,16, + 0,255,7,192,24,48,32,8,64,4,68,68,132,66,132,66, + 132,66,130,194,129,66,64,68,64,68,35,136,24,48,7,192, + 15,15,30,16,0,255,7,192,24,48,32,8,64,4,71,196, + 128,66,128,130,129,2,130,2,132,2,71,196,64,4,32,8, + 24,48,7,192,15,15,30,16,0,255,7,192,24,48,32,8, + 65,4,66,132,132,66,132,66,132,66,132,66,132,66,66,132, + 65,4,32,8,24,48,7,192,15,15,30,16,0,255,7,192, + 31,240,63,248,127,252,123,188,243,62,234,190,251,190,251,190, + 251,190,96,12,127,252,63,248,31,240,7,192,15,15,30,16, + 0,255,7,192,31,240,63,248,127,252,123,156,243,110,235,238, + 251,222,251,190,251,126,96,12,127,252,63,248,31,240,7,192, + 15,15,30,16,0,255,7,192,31,240,63,248,127,252,123,156, + 243,110,235,238,251,222,251,238,251,110,96,156,127,252,63,248, + 31,240,7,192,15,15,30,16,0,255,7,192,31,240,63,248, + 127,252,123,236,243,206,235,174,251,110,251,6,251,238,96,236, + 127,252,63,248,31,240,7,192,15,15,30,16,0,255,7,192, + 31,240,63,248,127,252,123,12,243,126,235,126,251,30,251,238, + 251,110,96,156,127,252,63,248,31,240,7,192,13,13,26,16, + 1,0,15,128,63,224,127,240,119,16,230,248,214,248,246,56, + 246,216,246,216,65,48,127,240,63,224,15,128,13,13,26,16, + 1,0,15,128,63,224,127,240,118,16,231,216,215,216,247,184, + 247,184,247,120,65,112,127,240,63,224,15,128,13,13,26,16, + 1,0,15,128,63,224,127,240,119,48,230,216,214,216,247,56, + 246,216,246,216,65,48,127,240,63,224,15,128,15,15,30,16, + 0,255,7,192,31,240,63,248,127,252,123,156,243,110,235,110, + 251,142,251,238,251,238,96,156,127,252,63,248,31,240,7,192, + 15,15,30,16,0,255,7,192,31,240,63,248,127,252,115,156, + 237,110,253,110,251,110,247,110,239,110,97,156,127,252,63,248, + 31,240,7,192,16,15,30,16,0,254,7,224,24,24,35,196, + 76,50,80,10,144,137,161,133,160,133,160,133,145,201,80,10, + 76,50,35,196,24,24,7,224,16,15,30,16,0,254,7,224, + 24,24,35,196,76,50,80,10,145,137,160,69,160,133,161,5, + 145,201,80,10,76,50,35,196,24,24,7,224,16,15,30,16, + 0,254,7,224,24,24,35,196,76,50,80,10,145,137,160,69, + 161,133,160,69,145,137,80,10,76,50,35,196,24,24,7,224, + 16,15,30,16,0,254,7,224,24,24,35,196,76,50,80,10, + 146,137,162,133,163,197,160,133,144,137,80,10,76,50,35,196, + 24,24,7,224,16,15,30,16,0,254,7,224,24,24,35,196, + 76,50,80,10,145,201,161,5,161,133,160,69,145,137,80,10, + 76,50,35,196,24,24,7,224,16,15,30,16,0,254,7,224, + 24,24,35,196,76,50,80,10,145,137,162,5,163,133,162,69, + 145,137,80,10,76,50,35,196,24,24,7,224,16,15,30,16, + 0,254,7,224,24,24,35,196,76,50,80,10,145,201,160,69, + 160,69,160,133,144,137,80,10,76,50,35,196,24,24,7,224, + 16,15,30,16,0,254,7,224,24,24,35,196,76,50,80,10, + 145,137,162,69,161,133,162,69,145,137,80,10,76,50,35,196, + 24,24,7,224,16,15,30,16,0,254,7,224,24,24,35,196, + 76,50,80,10,145,137,162,69,161,197,160,69,145,137,80,10, + 76,50,35,196,24,24,7,224,16,15,30,16,0,254,7,224, + 24,24,35,196,76,50,80,10,146,105,166,149,162,149,162,149, + 151,105,80,10,76,50,35,196,24,24,7,224,15,15,30,16, + 0,255,7,192,31,240,63,248,126,252,125,124,251,190,251,190, + 251,190,251,190,251,190,125,124,126,252,63,248,31,240,7,192 + }; +/* + Fontname: -gnu-Unifont-Medium-R-Normal-Sans-16-160-75-75-c-80-iso10646-1 + Copyright: Copyright (C) 2014 Roman Czyborra, Paul Hardy, Qianqian Fang, Andrew Miller, et al. Licensed under the GNU General Public License; either version 2, or (at your option) a later version, with the GNU Font Embedding Exception. + Capital A Height: 6, '1' Height: 3 + Calculated Max Values w= 8 h=10 x= 2 y= 4 dx= 8 dy= 0 ascent=11 len=10 + Font Bounding box w=16 h=16 x= 0 y=-2 + Calculated Min Values x= 0 y= 0 dx= 0 dy= 0 + Pure Font ascent = 6 descent= 0 + X Font ascent = 8 descent= 0 + Max Font ascent =11 descent= 0 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_unifont_75r[580] U8G_FONT_SECTION("u8g_font_unifont_75r") = { + 0,16,16,0,254,6,1,137,0,0,32,79,0,11,0,8, + 0,7,7,7,8,1,1,254,254,254,254,254,254,254,7,7, + 7,8,1,1,254,130,130,130,130,130,254,7,7,7,8,1, + 1,124,130,130,130,130,130,124,7,7,7,8,1,1,254,130, + 186,186,186,130,254,7,7,7,8,1,1,254,130,254,130,254, + 130,254,7,7,7,8,1,1,254,170,170,170,170,170,254,7, + 7,7,8,1,1,254,170,254,170,254,170,254,7,7,7,8, + 1,1,254,166,146,202,166,146,254,7,7,7,8,1,1,254, + 202,146,166,202,146,254,7,7,7,8,1,1,254,170,214,170, + 214,170,254,4,4,4,8,2,4,240,240,240,240,4,4,4, + 8,2,4,240,144,144,240,7,4,4,8,1,4,254,254,254, + 254,7,4,4,8,1,4,254,130,130,254,4,7,7,8,2, + 2,240,240,240,240,240,240,240,4,7,7,8,2,2,240,144, + 144,144,144,144,240,8,3,3,8,0,4,63,126,252,8,3, + 3,8,0,4,63,66,252,6,6,6,8,1,3,48,48,120, + 120,252,252,6,6,6,8,1,3,48,48,72,72,132,252,6, + 3,3,8,1,3,48,120,252,6,3,3,8,1,3,48,72, + 252,6,6,6,8,1,3,192,240,252,252,240,192,6,6,6, + 8,1,3,192,176,140,140,176,192,4,4,4,8,2,4,192, + 240,240,192,4,4,4,8,2,4,192,176,176,192,6,5,5, + 8,1,3,192,240,252,240,192,6,5,5,8,1,3,192,176, + 140,176,192,6,6,6,8,1,3,252,252,120,120,48,48,6, + 6,6,8,1,3,252,132,72,72,48,48,6,3,3,8,1, + 3,252,120,48,6,3,3,8,1,3,252,72,48,6,6,6, + 8,1,3,12,60,252,252,60,12,6,6,6,8,1,3,12, + 52,196,196,52,12,4,4,4,8,2,4,48,240,240,48,4, + 4,4,8,2,4,48,208,208,48,6,5,5,8,1,3,12, + 60,252,60,12,6,5,5,8,1,3,12,52,196,52,12,7, + 7,7,8,1,2,16,56,124,254,124,56,16,7,7,7,8, + 1,2,16,40,68,130,68,40,16,7,7,7,8,1,2,16, + 40,84,186,84,40,16,7,7,7,8,1,2,56,68,178,186, + 154,68,56,6,10,10,8,1,1,48,48,72,72,132,132,72, + 72,48,48,7,7,7,8,1,2,56,68,130,130,130,68,56, + 7,7,7,8,1,2,40,0,130,0,130,0,40,7,7,7, + 8,1,2,56,108,170,170,170,108,56,7,7,7,8,1,2, + 56,68,146,170,146,68,56,7,7,7,8,1,2,56,124,254, + 254,254,124,56}; +/* + Fontname: -gnu-Unifont-Medium-R-Normal-Sans-16-160-75-75-c-80-iso10646-1 + Copyright: Copyright (C) 2014 Roman Czyborra, Paul Hardy, Qianqian Fang, Andrew Miller, et al. Licensed under the GNU General Public License; either version 2, or (at your option) a later version, with the GNU Font Embedding Exception. + Capital A Height: 10, '1' Height: 8 + Calculated Max Values w=16 h=16 x= 3 y= 6 dx=16 dy= 0 ascent=14 len=32 + Font Bounding box w=16 h=16 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent =10 descent= 0 + X Font ascent =10 descent= 0 + Max Font ascent =14 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_unifont_76[2540] U8G_FONT_SECTION("u8g_font_unifont_76") = { + 0,16,16,0,254,10,2,62,4,228,32,159,0,14,254,10, + 0,7,12,12,8,1,0,16,146,68,0,56,124,124,56,0, + 68,146,16,8,4,4,8,0,6,32,118,255,126,7,8,8, + 8,1,2,56,124,254,16,16,16,16,32,16,16,32,16,0, + 254,139,200,3,192,47,241,4,36,138,80,40,18,10,80,73, + 148,4,33,71,224,8,16,16,136,120,30,16,136,8,16,7, + 224,7,11,11,8,1,0,68,68,72,72,80,82,4,96,144, + 144,96,7,6,6,8,1,3,16,16,254,56,108,68,7,7, + 7,8,1,3,16,16,238,68,84,108,68,5,9,9,8,2, + 0,8,16,32,64,128,64,40,24,56,6,8,8,8,1,0, + 252,132,136,144,160,148,140,156,8,8,8,8,0,0,60,66, + 129,153,153,129,66,60,8,6,6,8,0,2,24,36,36,102, + 165,66,8,6,6,8,0,2,66,165,102,36,36,24,5,6, + 6,8,1,2,8,16,96,144,144,96,7,9,9,8,1,0, + 12,18,18,12,16,96,144,144,96,7,6,6,8,1,1,124, + 198,0,84,198,254,7,7,7,8,1,1,124,130,186,124,146, + 130,254,7,7,7,8,1,0,254,130,130,130,130,130,254,7, + 8,8,8,1,0,8,254,138,138,202,178,130,254,7,7,7, + 8,1,0,254,130,170,146,170,130,254,5,10,10,8,2,0, + 136,136,80,80,32,32,80,80,136,136,7,12,12,8,1,2, + 10,160,8,130,56,124,254,16,16,16,16,32,12,13,26,16, + 2,0,36,128,73,0,73,0,36,128,36,128,73,0,0,0, + 127,32,255,208,191,80,128,80,128,224,127,0,11,13,26,16, + 2,0,4,0,10,0,17,0,32,128,64,64,128,32,128,32, + 128,32,128,32,128,32,128,32,128,32,255,224,11,13,26,16, + 2,0,4,0,14,0,31,0,63,128,127,192,255,224,255,224, + 255,224,255,224,255,224,255,224,255,224,255,224,13,13,26,16, + 1,255,5,0,15,128,15,128,103,48,242,120,127,240,242,120, + 98,48,4,0,4,0,4,0,8,0,16,0,13,12,24,16, + 1,0,0,8,3,144,71,208,143,208,159,208,255,176,127,184, + 31,200,15,200,7,200,3,136,0,16,7,4,4,8,1,2, + 252,62,62,28,7,4,4,8,1,2,126,248,248,112,7,4, + 4,8,1,2,252,34,50,28,4,7,7,8,2,2,16,16, + 112,208,144,144,96,7,4,4,8,1,2,126,136,152,112,4, + 7,7,8,2,0,96,144,144,208,112,16,16,8,12,12,8, + 0,0,231,165,126,129,165,165,129,90,90,66,189,231,4,10, + 10,8,2,0,224,16,16,32,32,64,64,128,128,112,16,16, + 32,16,0,254,7,224,24,24,36,36,92,58,92,58,190,125, + 190,125,190,125,129,129,129,129,131,193,67,194,71,226,35,196, + 24,24,7,224,15,13,26,16,0,255,4,64,8,32,16,16, + 16,16,19,144,12,96,62,248,68,68,133,66,131,130,2,128, + 4,64,24,48,13,15,30,16,1,254,6,0,2,0,255,248, + 71,16,63,224,2,0,26,192,34,32,31,192,18,64,15,128, + 10,128,7,0,10,128,2,0,5,8,8,8,2,0,112,136, + 80,32,248,32,32,32,5,9,9,8,2,0,32,112,32,248, + 32,96,48,32,32,6,10,10,8,1,0,56,36,36,56,32, + 168,112,32,112,168,5,9,9,8,2,0,32,112,32,248,32, + 32,32,32,32,7,7,7,8,1,0,56,16,146,254,146,16, + 56,8,9,9,8,0,1,30,33,64,194,199,194,64,33,30, + 11,11,22,16,2,0,21,0,27,0,0,0,85,64,164,160, + 164,160,164,160,149,32,78,64,31,0,4,0,11,12,24,16, + 3,255,4,0,21,0,36,128,78,64,213,96,213,96,206,96, + 228,224,223,96,142,32,21,0,4,0,8,8,8,8,0,0, + 12,2,57,121,13,62,99,193,7,8,8,8,1,0,124,146, + 146,146,186,214,146,124,16,16,32,16,0,254,7,224,24,24, + 32,4,64,2,64,2,156,49,190,49,255,3,231,131,231,199, + 255,255,127,254,127,254,63,252,31,248,7,224,13,10,20,16, + 1,0,255,248,255,248,0,0,0,0,255,248,255,248,0,0, + 0,0,255,248,255,248,13,10,20,16,1,0,248,248,248,248, + 0,0,0,0,255,248,255,248,0,0,0,0,255,248,255,248, + 13,10,20,16,1,0,255,248,255,248,0,0,0,0,248,248, + 248,248,0,0,0,0,255,248,255,248,13,10,20,16,1,0, + 248,248,248,248,0,0,0,0,248,248,248,248,0,0,0,0, + 255,248,255,248,13,10,20,16,1,0,255,248,255,248,0,0, + 0,0,255,248,255,248,0,0,0,0,248,248,248,248,13,10, + 20,16,1,0,248,248,248,248,0,0,0,0,255,248,255,248, + 0,0,0,0,248,248,248,248,13,10,20,16,1,0,255,248, + 255,248,0,0,0,0,248,248,248,248,0,0,0,0,248,248, + 248,248,13,10,20,16,1,0,248,248,248,248,0,0,0,0, + 248,248,248,248,0,0,0,0,248,248,248,248,7,7,7,8, + 1,0,146,124,124,238,124,124,146,8,10,10,8,0,1,60, + 66,129,165,129,153,165,129,66,60,8,9,9,8,0,1,60, + 66,129,165,129,165,153,66,60,8,9,9,8,0,1,60,126, + 255,219,255,219,231,126,60,7,7,7,8,1,2,146,84,56, + 238,56,84,146,6,10,10,8,2,0,224,48,24,20,20,20, + 20,24,48,224,6,10,10,8,1,0,28,48,96,160,160,160, + 160,96,48,28,5,11,11,8,2,0,136,136,112,136,136,136, + 112,32,248,32,32,5,9,9,8,2,0,112,136,136,136,112, + 32,248,32,32,5,10,10,8,2,1,32,32,248,32,32,112, + 136,136,136,112,7,8,8,8,1,1,14,6,10,112,136,136, + 136,112,6,10,10,8,1,0,4,4,4,116,140,12,20,252, + 4,4,6,10,10,8,1,0,64,64,224,64,88,100,68,72, + 72,72,7,9,9,8,1,0,214,84,124,84,214,16,56,40, + 56,8,11,11,8,0,255,8,89,203,73,73,73,62,8,62, + 8,8,6,10,10,8,1,0,248,132,132,132,248,128,128,128, + 128,252,7,10,10,8,1,0,68,170,40,40,16,16,16,16, + 16,16,7,7,7,8,1,0,130,68,56,68,68,68,56,7, + 10,10,8,1,0,130,124,40,40,40,40,40,40,124,130,7, + 8,8,8,1,0,124,146,144,96,12,18,146,124,8,9,9, + 8,0,0,28,34,34,18,116,148,148,101,2,7,10,10,8, + 1,0,168,248,170,174,170,170,170,170,12,248,7,6,6,8, + 1,1,56,68,68,238,0,254,7,10,10,8,1,0,168,248, + 168,168,168,168,168,168,170,6,7,7,7,8,1,0,30,6, + 138,82,32,80,136,8,10,10,8,0,0,49,78,132,8,16, + 60,98,162,162,28,6,6,6,8,1,2,84,168,0,0,84, + 168,6,9,9,8,1,0,132,132,72,72,252,72,72,132,132, + 7,13,13,8,1,0,16,56,146,186,198,130,68,68,68,130, + 130,130,254,7,11,11,8,1,0,16,56,198,130,68,68,68, + 130,130,130,254,7,9,9,8,1,0,170,254,130,130,68,68, + 130,130,254,7,10,10,8,1,0,16,40,68,68,68,68,40, + 238,130,254,6,11,11,8,1,0,4,60,68,132,132,116,36, + 68,132,132,252,6,8,8,8,1,0,48,72,72,48,72,72, + 132,252,7,13,13,8,1,0,16,56,146,186,254,254,124,124, + 124,254,254,254,254,7,11,11,8,1,0,16,56,254,238,124, + 124,124,254,254,254,254,7,8,8,8,1,0,170,254,254,124, + 124,254,254,254,7,10,10,8,1,0,16,56,108,68,108,124, + 56,254,254,254,6,11,11,8,1,0,4,60,108,252,252,124, + 60,124,252,252,252,6,8,8,8,1,0,48,120,120,48,120, + 120,252,252,7,10,10,8,1,0,16,16,56,124,254,254,254, + 124,16,56,7,9,9,8,1,0,108,146,130,130,130,68,40, + 16,16,5,10,10,8,2,0,32,32,80,80,136,136,80,80, + 32,32,7,10,10,8,1,0,56,56,56,16,254,254,214,16, + 16,56,7,10,10,8,1,0,16,16,40,68,130,130,130,124, + 16,56,7,9,9,8,1,0,108,254,254,254,254,124,56,16, + 16,5,10,10,8,2,0,32,32,112,112,248,248,112,112,32, + 32,7,10,10,8,1,0,56,40,56,16,238,186,214,16,16, + 56,8,11,11,8,0,0,8,81,146,146,146,73,73,73,82, + 129,126,4,10,10,8,1,0,16,16,16,16,16,16,16,112, + 240,224,6,10,10,8,1,0,16,24,20,20,16,16,16,112, + 240,224,8,11,11,8,0,0,28,23,17,17,17,17,113,241, + 231,15,14,8,11,11,8,0,0,28,23,17,29,23,17,113, + 241,231,15,14,6,12,12,8,1,0,128,128,128,128,128,184, + 204,140,136,144,160,192,6,11,11,8,1,0,128,128,156,252, + 228,132,156,252,228,4,4,6,13,13,8,1,255,8,72,76, + 124,248,200,72,76,124,248,200,72,64,7,10,10,8,1,0, + 40,16,16,146,124,146,16,16,16,40,7,10,10,8,1,0, + 56,40,16,214,186,214,16,16,40,16,16,16,32,16,0,254, + 3,192,5,32,10,152,18,72,10,208,4,48,48,4,72,10, + 140,17,80,9,160,5,174,38,82,88,82,134,30,92,0,32, + 15,16,32,16,0,254,3,128,4,64,4,64,8,32,0,40, + 57,24,27,56,41,0,33,8,67,132,64,4,128,34,128,66, + 126,252,0,64,0,32,15,16,32,16,0,254,3,128,4,64, + 4,64,8,32,0,40,59,24,24,184,41,0,34,8,67,132, + 64,4,128,34,128,66,126,252,0,64,0,32,15,16,32,16, + 0,254,3,128,4,64,4,64,8,32,0,40,57,24,24,184, + 43,0,32,136,67,4,64,4,128,34,128,66,126,252,0,64, + 0,32,15,16,32,16,0,254,3,128,4,64,4,64,8,32, + 0,40,58,152,26,184,43,128,32,136,64,132,64,4,128,34, + 128,66,126,252,0,64,0,32,15,16,32,16,0,254,3,128, + 4,64,4,64,8,32,0,40,59,152,26,56,43,0,32,136, + 67,4,64,4,128,34,128,66,126,252,0,64,0,32,15,16, + 32,16,0,254,3,128,4,64,4,64,8,32,0,40,57,152, + 26,56,43,128,34,72,65,132,64,4,128,34,128,66,126,252, + 0,64,0,32,15,16,32,16,0,254,3,128,4,64,4,64, + 8,32,0,40,59,152,24,184,41,0,33,8,65,4,64,4, + 128,34,128,66,126,252,0,64,0,32,15,16,32,16,0,254, + 3,128,4,64,4,64,8,32,0,40,56,24,24,56,40,0, + 32,8,64,4,64,4,128,34,128,66,126,252,0,64,0,32, + 16,16,32,16,0,254,3,192,5,224,14,248,30,120,14,240, + 4,48,48,4,120,14,252,31,112,15,224,7,238,38,94,120, + 94,254,30,124,0,32,16,16,32,16,0,254,7,224,31,248, + 62,124,125,190,123,222,255,143,247,223,231,255,243,239,247,239, + 239,247,111,182,113,14,63,188,31,248,7,224,16,16,32,16, + 0,254,7,224,24,24,33,132,66,66,68,34,128,113,136,33, + 152,1,140,17,136,17,144,9,80,74,78,242,32,68,24,24, + 7,224,13,12,24,16,0,255,7,0,24,192,32,32,64,16, + 77,144,146,72,146,72,77,144,64,16,32,32,24,192,7,0, + 12,11,22,16,2,0,24,0,24,0,16,0,30,0,16,0, + 95,128,128,128,128,64,129,64,66,48,60,0}; +/* + Fontname: -gnu-Unifont-Medium-R-Normal-Sans-16-160-75-75-c-80-iso10646-1 + Copyright: Copyright (C) 2014 Roman Czyborra, Paul Hardy, Qianqian Fang, Andrew Miller, et al. Licensed under the GNU General Public License; either version 2, or (at your option) a later version, with the GNU Font Embedding Exception. + Capital A Height: 11, '1' Height: 11 + Calculated Max Values w=16 h=16 x= 4 y= 4 dx=16 dy= 0 ascent=14 len=32 + Font Bounding box w=16 h=16 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent =11 descent= 0 + X Font ascent =11 descent=-1 + Max Font ascent =14 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_unifont_77[1657] U8G_FONT_SECTION("u8g_font_unifont_77") = { + 0,16,16,0,254,11,3,133,6,29,32,99,0,14,254,11, + 255,9,9,18,16,3,1,255,128,128,128,128,128,128,128,136, + 128,128,128,128,128,128,128,255,128,9,9,18,16,3,1,255, + 128,128,128,128,128,160,128,128,128,130,128,128,128,128,128,255, + 128,9,9,18,16,3,1,255,128,128,128,160,128,128,128,136, + 128,128,128,130,128,128,128,255,128,9,9,18,16,3,1,255, + 128,128,128,162,128,128,128,128,128,128,128,162,128,128,128,255, + 128,9,9,18,16,3,1,255,128,128,128,162,128,128,128,136, + 128,128,128,162,128,128,128,255,128,9,9,18,16,3,1,255, + 128,128,128,162,128,128,128,162,128,128,128,162,128,128,128,255, + 128,13,12,24,16,0,255,7,0,24,192,32,32,64,16,64, + 16,128,200,128,200,64,16,64,16,32,32,24,192,7,0,13, + 12,24,16,0,255,7,0,24,192,32,32,64,16,64,16,152, + 200,152,200,64,16,64,16,32,32,24,192,7,0,13,12,24, + 16,0,255,7,0,31,192,63,224,127,240,127,240,255,56,255, + 56,127,240,127,240,63,224,15,128,7,0,13,12,24,16,0, + 255,7,0,31,192,63,224,127,240,127,240,231,56,231,56,127, + 240,127,240,63,224,15,128,7,0,13,2,4,16,1,4,255, + 248,255,248,13,2,4,16,1,4,248,248,248,248,13,6,12, + 16,1,2,255,248,255,248,0,0,0,0,255,248,255,248,13, + 6,12,16,1,2,248,248,248,248,0,0,0,0,255,248,255, + 248,13,6,12,16,1,2,255,248,255,248,0,0,0,0,248, + 248,248,248,13,6,12,16,1,2,248,248,248,248,0,0,0, + 0,248,248,248,248,6,11,11,8,1,0,224,156,132,132,228, + 156,128,128,128,128,128,6,11,11,8,1,0,224,252,252,252, + 252,156,128,128,128,128,128,16,14,28,16,0,255,7,50,95, + 124,62,126,124,31,248,39,116,67,34,129,1,0,2,128,4, + 64,8,32,16,16,32,8,64,4,14,12,24,16,1,0,3, + 128,4,64,4,64,3,128,1,0,7,192,1,0,65,8,225, + 28,65,8,33,16,31,224,13,13,26,16,1,0,128,8,64, + 16,32,32,16,64,8,128,5,0,2,0,5,0,8,128,80, + 80,32,32,80,80,128,8,9,14,28,16,3,255,8,0,8, + 0,127,128,137,128,136,0,126,0,9,0,9,0,62,0,72, + 0,60,0,10,0,28,0,8,0,15,11,22,16,0,0,1, + 0,17,16,127,252,57,56,84,84,84,84,146,146,146,146,254, + 254,124,124,56,56,11,8,16,16,2,0,63,128,95,192,143, + 192,135,128,128,0,15,128,18,64,34,32,11,13,26,16,2, + 255,14,0,17,0,17,0,17,0,14,0,4,0,228,224,245, + 224,117,192,53,128,14,0,4,0,4,0,13,13,26,16,1, + 255,2,0,66,16,47,160,16,64,32,32,32,32,226,56,32, + 32,32,32,16,64,47,160,66,16,2,0,15,13,26,16,0, + 0,1,0,2,128,57,56,127,252,253,126,5,64,3,128,1, + 0,1,0,1,0,1,0,1,0,1,0,16,16,32,16,0, + 254,1,128,2,64,2,64,116,46,142,113,133,161,78,114,53, + 172,53,172,78,114,133,161,142,113,116,46,2,64,2,64,1, + 128,15,16,32,16,0,254,1,0,2,128,4,64,52,88,76, + 100,132,66,178,154,202,166,26,176,16,16,27,176,10,160,58, + 184,38,200,25,48,1,0,15,15,30,16,0,255,1,0,2, + 128,4,64,4,64,8,0,107,252,136,2,136,34,96,36,24, + 16,6,80,0,136,33,8,38,72,24,48,12,15,30,16,2, + 255,192,0,48,0,12,0,3,0,0,192,0,48,0,0,255, + 240,0,0,0,48,0,192,3,0,12,0,48,0,192,0,12, + 15,30,16,2,255,0,48,0,192,3,0,12,0,48,0,192, + 0,0,0,255,240,0,0,192,0,48,0,12,0,3,0,0, + 192,0,48,13,14,28,16,1,255,2,0,5,0,5,0,8, + 128,8,128,18,64,18,64,34,32,34,32,66,16,64,16,130, + 8,128,8,255,248,6,11,11,8,1,255,4,8,16,32,64, + 252,8,16,32,64,128,11,9,18,16,2,0,59,128,68,64, + 138,32,138,32,68,64,59,128,17,0,59,128,17,0,11,11, + 22,16,2,0,7,0,3,0,5,0,56,224,68,96,142,160, + 149,0,104,128,48,128,17,0,14,0,10,14,28,16,3,255, + 1,192,0,192,1,64,14,0,17,0,56,128,84,128,139,0, + 134,0,68,0,56,0,16,0,56,0,16,0,8,12,12,16, + 4,254,7,3,5,56,68,130,130,68,56,16,56,16,11,10, + 20,16,2,0,0,224,0,96,2,160,1,0,58,128,68,0, + 130,0,130,0,68,0,56,0,15,13,26,16,0,254,224,14, + 192,6,168,10,16,16,43,160,4,64,8,32,8,32,4,64, + 3,128,1,0,3,128,1,0,7,12,12,8,0,0,16,56, + 84,16,56,16,56,68,130,130,68,56,14,7,14,16,0,255, + 56,0,68,16,130,136,131,252,130,136,68,16,56,0,7,7, + 7,8,0,255,56,68,130,130,130,68,56,7,7,7,8,0, + 255,56,124,254,254,254,124,56,5,5,5,8,2,0,112,136, + 136,136,112,11,6,12,16,2,0,59,128,68,64,138,32,138, + 32,68,64,59,128,11,7,14,16,3,255,4,0,117,192,142, + 32,142,32,142,32,117,192,4,0,13,5,10,16,1,0,112, + 112,136,136,143,136,136,136,112,112,14,10,20,16,2,0,24, + 0,39,128,64,124,128,0,128,0,128,0,128,0,64,124,39, + 128,24,0,11,13,26,16,2,0,31,0,10,0,63,128,64, + 64,128,32,128,32,64,64,64,64,64,64,32,128,32,128,32, + 128,31,0,7,9,9,8,0,254,56,68,130,130,68,56,16, + 16,16,6,9,9,8,0,254,112,136,4,4,8,48,32,248, + 32,7,10,10,8,0,254,16,40,68,130,68,40,16,16,124, + 16,7,10,10,8,0,254,146,84,56,254,56,84,146,16,124, + 16,13,11,22,16,1,0,2,0,2,0,2,0,2,0,114, + 112,8,128,5,0,242,120,8,128,5,0,2,0,6,11,11, + 8,1,0,36,40,48,40,36,32,112,136,136,136,112,6,10, + 10,8,1,254,56,112,224,224,224,112,56,16,124,16,8,7, + 7,8,0,3,66,36,24,255,24,36,66,7,8,8,8,0, + 0,68,68,68,40,40,40,16,254,7,8,8,8,0,0,254, + 16,40,40,40,68,68,68,6,8,8,8,1,0,252,132,132, + 132,148,252,64,252,13,13,26,16,0,255,7,0,28,192,60, + 224,92,240,64,16,135,8,143,136,231,56,112,112,96,48,39, + 32,31,192,7,0,13,13,26,16,0,255,7,0,24,192,48, + 96,72,144,64,16,133,8,128,8,133,8,64,16,72,144,48, + 96,24,192,7,0,13,13,26,16,1,255,255,248,128,8,135, + 8,136,136,136,136,135,8,130,8,130,8,130,8,131,136,130, + 8,128,8,255,248,12,9,18,16,2,0,31,128,96,96,134, + 16,134,16,224,112,191,208,169,80,105,96,31,128,12,12,24, + 16,2,0,31,128,96,96,134,16,134,16,224,112,191,208,169, + 80,233,112,191,208,169,80,105,96,31,128,14,11,22,16,1, + 255,31,224,112,56,207,204,188,244,188,244,143,196,160,20,171, + 84,203,76,112,56,31,224,14,14,28,16,1,255,31,224,112, + 56,207,204,188,244,188,244,143,196,160,20,171,84,139,68,160, + 20,171,84,203,76,112,56,31,224}; +/* + Fontname: -gnu-Unifont-Medium-R-Normal-Sans-16-160-75-75-c-80-iso10646-1 + Copyright: Copyright (C) 2014 Roman Czyborra, Paul Hardy, Qianqian Fang, Andrew Miller, et al. Licensed under the GNU General Public License; either version 2, or (at your option) a later version, with the GNU Font Embedding Exception. + Capital A Height: 15, '1' Height: 13 + Calculated Max Values w=16 h=16 x= 7 y= 5 dx=16 dy= 0 ascent=14 len=32 + Font Bounding box w=16 h=16 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent =15 descent=-2 + X Font ascent =15 descent=-2 + Max Font ascent =14 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_unifont_78_79[7084] U8G_FONT_SECTION("u8g_font_unifont_78_79") = { + 0,16,16,0,254,15,8,41,11,207,1,255,254,14,254,15, + 254,15,11,22,16,0,2,56,0,124,0,108,0,124,0,60, + 0,14,0,127,252,255,254,217,192,248,224,112,0,14,11,22, + 16,0,1,112,12,248,56,216,112,254,224,127,192,7,128,127, + 192,254,224,216,112,248,56,112,12,15,11,22,16,0,255,112, + 0,248,224,217,192,255,254,127,252,14,0,60,0,124,0,108, + 0,124,0,56,0,15,11,22,16,0,1,112,12,136,50,174, + 68,129,136,121,16,6,32,120,80,129,136,174,68,136,50,112, + 12,14,11,22,16,1,255,0,8,0,20,0,36,0,72,64, + 144,161,32,162,64,84,128,73,0,34,0,28,0,15,15,30, + 16,0,255,7,192,24,48,32,8,65,196,71,228,143,242,143, + 114,158,98,156,2,159,2,79,4,70,4,32,8,24,48,7, + 192,15,15,30,16,0,255,7,192,25,48,35,136,67,132,65, + 4,131,130,135,194,135,194,135,194,139,162,92,116,88,52,32, + 8,24,48,7,192,15,14,28,16,0,255,8,0,15,0,6, + 0,7,192,195,128,227,192,127,254,127,254,227,192,195,128,7, + 192,6,0,15,0,8,0,14,7,14,16,1,3,255,252,192, + 12,176,52,140,196,179,52,192,12,255,252,13,11,22,16,1, + 255,6,192,25,32,41,32,107,240,170,8,169,200,169,136,110, + 8,80,16,32,32,31,192,14,13,26,16,1,0,21,0,42, + 128,42,128,106,128,170,128,170,152,170,164,128,68,128,8,128, + 16,64,32,32,32,31,192,15,15,30,16,0,255,24,48,36, + 72,34,136,18,144,17,16,9,32,8,32,124,252,146,130,146, + 114,146,34,146,66,124,4,32,8,31,240,15,13,26,16,1, + 0,0,16,0,56,0,112,7,238,25,234,35,154,71,10,142, + 10,223,202,36,10,95,250,224,10,192,14,12,12,24,16,1, + 0,48,0,76,0,170,0,149,0,226,128,81,64,40,160,20, + 80,10,80,5,144,2,48,1,240,15,7,14,16,0,3,63, + 240,80,40,143,244,168,22,143,244,80,40,63,240,12,12,24, + 16,1,0,1,240,2,48,5,144,10,80,20,80,40,160,81, + 64,226,128,149,0,170,0,76,0,48,0,15,7,14,16,0, + 3,0,240,121,8,134,108,128,254,134,108,121,8,0,240,15, + 7,14,16,0,3,0,224,121,240,255,56,255,14,255,56,121, + 240,0,224,13,10,20,16,1,255,0,8,0,16,0,32,128, + 64,128,128,65,0,66,0,36,0,40,0,16,0,15,11,22, + 16,0,255,0,4,0,14,64,28,224,56,224,112,112,224,113, + 192,59,128,63,0,30,0,12,0,11,11,22,16,2,1,64, + 64,224,224,113,192,59,128,31,0,14,0,31,0,59,128,113, + 192,224,224,64,64,15,15,30,16,0,255,16,16,56,56,124, + 124,254,254,127,252,63,248,31,240,15,224,31,240,63,248,127, + 252,254,254,124,124,56,56,16,16,12,13,26,16,1,0,192, + 48,96,192,99,128,54,0,28,0,28,0,54,0,51,0,97, + 128,96,192,192,96,192,48,64,0,12,14,28,16,1,255,192, + 48,224,224,99,192,119,0,62,0,28,0,62,0,55,0,115, + 128,97,192,224,224,192,112,192,32,64,0,15,15,30,16,0, + 255,7,192,4,64,5,64,5,64,5,64,253,126,129,2,191, + 250,129,2,253,126,5,64,5,64,5,64,4,64,7,192,15, + 15,30,16,0,255,7,192,7,192,7,192,7,192,7,192,255, + 254,255,254,255,254,255,254,255,254,7,192,7,192,7,192,7, + 192,7,192,15,15,30,16,0,255,3,128,3,128,3,128,3, + 128,3,128,3,128,252,126,252,126,252,126,3,128,3,128,3, + 128,3,128,3,128,3,128,15,15,30,16,0,255,7,192,7, + 192,7,192,7,192,7,192,248,62,248,62,248,62,248,62,248, + 62,7,192,7,192,7,192,7,192,7,192,9,11,22,16,3, + 1,28,0,28,0,28,0,255,128,255,128,255,128,28,0,28, + 0,28,0,28,0,28,0,13,15,30,16,1,255,15,0,9, + 128,9,128,9,128,249,240,128,24,128,24,249,248,121,248,9, + 128,9,128,9,128,9,128,15,128,7,128,13,14,28,16,1, + 255,31,192,16,64,247,120,135,8,191,232,191,232,191,232,135, + 8,247,120,23,64,23,64,23,64,16,64,31,192,15,15,30, + 16,0,255,31,240,7,192,3,128,131,130,131,130,195,134,255, + 254,255,254,255,254,195,134,131,130,131,130,3,128,7,192,31, + 240,15,15,30,16,0,255,1,0,1,0,2,128,255,254,68, + 68,40,40,40,40,16,16,40,40,40,40,68,68,255,254,2, + 128,1,0,1,0,15,15,30,16,0,255,3,128,7,192,7, + 192,3,128,3,128,97,12,249,62,255,254,249,62,97,12,3, + 128,3,128,7,192,7,192,3,128,15,15,30,16,0,255,3, + 128,7,192,7,192,7,192,3,128,113,28,249,62,255,254,249, + 62,113,28,3,128,7,192,7,192,7,192,3,128,15,15,30, + 16,0,255,7,192,15,224,15,224,7,192,99,140,243,158,255, + 254,255,254,255,254,243,158,99,140,7,192,15,224,15,224,7, + 192,16,15,30,16,0,255,1,0,3,128,7,192,7,192,1, + 0,49,12,113,14,255,255,113,14,49,12,1,0,7,192,7, + 192,3,128,1,0,15,15,30,16,0,255,1,0,3,128,3, + 128,7,192,7,192,31,240,127,252,255,254,127,252,31,240,7, + 192,7,192,3,128,3,128,1,0,15,15,30,16,0,255,1, + 0,2,128,2,128,4,64,4,64,24,48,96,12,128,2,96, + 12,24,48,4,64,4,64,2,128,2,128,1,0,14,14,28, + 16,1,255,8,0,8,0,20,0,34,0,193,128,34,32,20, + 32,8,80,9,140,0,80,0,32,2,32,5,0,2,0,15, + 12,24,16,0,1,1,0,2,128,2,128,252,126,64,4,56, + 56,8,32,16,16,17,16,38,200,40,40,48,24,15,15,30, + 16,0,255,7,192,31,240,62,248,126,252,124,124,192,6,240, + 30,248,62,240,30,241,30,103,204,111,236,63,248,31,240,7, + 192,15,12,24,16,0,1,1,0,3,128,3,128,255,254,124, + 124,56,56,8,32,28,112,31,240,62,248,56,56,48,24,15, + 12,24,16,0,1,1,0,2,128,2,128,252,126,67,132,39, + 200,23,208,19,144,16,16,39,200,40,40,48,24,15,12,24, + 16,0,1,1,0,2,128,28,112,225,14,79,228,35,136,23, + 208,20,80,17,16,34,136,44,104,48,24,15,12,24,16,0, + 1,1,0,2,128,29,112,227,142,95,244,47,232,23,208,22, + 208,21,80,34,136,44,104,48,24,15,13,26,16,0,0,1, + 0,3,128,5,192,249,254,93,140,39,184,19,240,15,208,29, + 144,25,208,50,232,44,120,48,24,16,13,26,16,0,0,1, + 0,2,128,2,192,255,254,68,71,56,62,8,60,22,208,17, + 24,39,200,47,44,60,28,24,12,15,13,26,16,0,0,3, + 128,3,128,3,128,67,132,243,158,63,252,15,240,63,252,243, + 158,67,132,3,128,3,128,3,128,15,13,26,16,0,0,3, + 128,3,128,3,128,67,132,243,158,60,124,8,48,60,124,243, + 158,67,132,3,128,3,128,3,128,15,15,30,16,0,255,1, + 0,1,0,33,8,17,16,13,96,15,224,7,192,255,254,7, + 192,15,224,13,96,17,16,33,8,1,0,1,0,15,15,30, + 16,0,255,1,0,1,0,33,8,27,176,31,240,15,224,31, + 224,255,254,31,240,15,224,31,240,27,176,33,8,1,0,1, + 0,15,15,30,16,0,255,1,0,2,128,60,248,44,200,38, + 152,50,184,125,76,131,134,77,124,58,152,50,200,38,104,62, + 120,2,128,1,0,13,13,26,16,1,0,2,0,2,0,2, + 0,135,8,119,112,63,224,31,192,63,224,119,112,135,8,2, + 0,2,0,2,0,15,15,30,16,0,255,8,32,8,32,12, + 96,6,192,230,206,59,184,31,240,7,192,31,240,59,184,230, + 206,6,192,12,96,8,32,8,32,15,15,30,16,0,255,8, + 32,12,96,14,224,15,224,255,254,127,252,63,248,31,240,63, + 248,127,252,255,254,15,224,14,224,12,96,8,32,15,15,30, + 16,0,255,1,0,25,48,15,224,79,228,127,252,63,248,63, + 248,255,254,63,248,63,248,127,252,79,228,15,224,25,48,1, + 0,15,15,30,16,0,255,9,32,73,36,37,72,21,80,203, + 166,55,216,15,224,255,254,15,224,55,216,203,166,21,80,37, + 72,73,36,9,32,15,15,30,16,0,255,1,0,3,128,3, + 128,3,128,225,14,113,28,13,96,3,128,13,96,113,28,225, + 14,3,128,3,128,3,128,1,0,15,15,30,16,0,255,3, + 128,7,192,7,192,99,140,241,30,243,158,60,120,8,32,60, + 120,243,158,241,30,99,140,7,192,7,192,3,128,15,15,30, + 16,0,255,3,128,7,192,7,192,99,140,243,158,241,30,61, + 120,7,192,61,120,241,30,243,158,99,140,7,192,7,192,3, + 128,15,15,30,16,0,255,3,128,4,64,4,64,116,92,252, + 126,254,254,127,252,33,8,67,132,135,194,143,226,119,220,7, + 192,7,192,3,128,15,14,28,16,0,0,3,128,7,192,15, + 224,119,220,255,254,252,126,240,30,112,28,24,48,62,248,127, + 252,126,252,126,252,60,120,15,14,28,16,0,0,3,128,4, + 64,9,32,121,60,133,66,179,154,143,226,111,236,23,208,39, + 200,73,36,82,148,66,132,60,120,15,15,30,16,0,255,3, + 128,60,120,69,68,81,20,77,100,111,236,134,194,188,122,134, + 194,111,236,77,100,81,20,69,68,60,120,3,128,15,15,30, + 16,0,255,7,192,30,240,62,248,92,116,103,204,252,126,232, + 46,136,34,232,46,252,126,103,204,92,116,62,248,30,240,7, + 192,15,15,30,16,0,255,3,128,4,192,4,192,116,220,188, + 230,159,158,79,60,63,248,114,100,230,114,206,122,118,92,6, + 64,6,64,3,128,15,13,26,16,0,0,1,0,5,64,3, + 128,201,38,49,24,77,100,3,128,77,100,49,24,201,38,3, + 128,5,64,1,0,15,13,26,16,0,0,1,0,5,64,11, + 160,201,38,49,24,77,100,131,130,77,100,49,24,201,38,11, + 160,5,64,1,0,15,15,30,16,0,255,9,32,13,96,7, + 192,19,144,201,38,49,24,237,110,3,128,237,110,49,24,201, + 38,17,16,7,192,13,96,9,32,14,14,28,16,1,255,7, + 128,71,136,39,144,19,32,11,64,224,28,251,124,251,124,224, + 28,11,64,19,32,39,144,71,136,7,128,15,15,30,16,0, + 255,7,192,71,196,39,200,19,144,11,160,224,14,251,190,251, + 190,251,190,224,14,11,160,19,144,39,200,71,196,7,192,15, + 15,30,16,0,255,3,128,7,192,7,192,119,220,251,190,249, + 62,125,124,7,192,125,124,249,62,251,190,119,220,7,192,7, + 192,3,128,15,15,30,16,0,255,1,0,3,128,51,152,49, + 24,9,32,5,64,99,140,255,254,99,140,5,64,9,32,49, + 24,51,152,3,128,1,0,15,15,30,16,0,255,1,0,3, + 128,51,152,59,184,25,48,7,192,119,220,255,254,119,220,7, + 192,25,48,59,184,51,152,3,128,1,0,11,11,22,16,2, + 1,96,192,241,224,123,192,63,128,31,0,31,0,63,128,123, + 192,241,224,224,224,64,64,13,13,26,16,2,255,15,0,48, + 192,64,32,64,48,128,16,128,24,128,24,128,24,64,56,64, + 48,48,240,15,224,7,128,13,13,26,16,0,0,255,248,223, + 216,143,136,199,24,226,56,240,120,248,248,240,120,226,56,199, + 24,143,136,223,216,255,248,12,12,24,16,3,1,255,192,128, + 64,128,112,128,112,128,112,128,112,128,112,128,112,128,112,255, + 240,63,240,63,240,12,12,24,16,3,1,63,240,63,240,255, + 240,128,112,128,112,128,112,128,112,128,112,128,112,128,112,128, + 64,255,192,12,12,24,16,3,1,255,192,128,96,128,112,128, + 112,128,112,128,112,128,112,128,112,128,112,255,240,127,240,63, + 240,12,12,24,16,3,1,63,240,127,240,255,240,128,112,128, + 112,128,112,128,112,128,112,128,112,128,112,128,96,255,192,9, + 15,30,16,3,254,28,0,127,0,243,128,193,128,199,128,15, + 0,28,0,24,0,24,0,24,0,0,0,24,0,60,0,60, + 0,24,0,9,16,32,16,3,254,62,0,65,0,156,128,162, + 128,66,128,4,128,9,0,18,0,20,0,20,0,28,0,0, + 0,28,0,34,0,34,0,28,0,7,15,15,16,4,255,56, + 108,198,130,198,68,108,40,40,56,0,56,68,68,56,13,13, + 26,16,1,0,2,0,7,0,15,128,7,0,34,32,112,112, + 248,248,112,112,34,32,7,0,15,128,7,0,2,0,4,14, + 14,16,6,0,96,240,240,240,240,240,240,96,96,96,96,0, + 96,96,2,15,15,16,7,255,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,4,15,15,16,6,255,240,240,240, + 240,240,240,240,240,240,240,240,240,240,240,240,8,15,15,16, + 4,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 255,7,10,10,16,4,4,28,112,192,248,252,254,254,254,124, + 56,7,10,10,16,4,4,56,124,254,254,254,126,62,6,28, + 112,15,10,20,16,0,4,28,28,112,112,192,192,248,248,252, + 252,254,254,254,254,254,254,124,124,56,56,15,10,20,16,0, + 4,56,56,124,124,254,254,254,254,254,254,126,126,62,62,6, + 6,28,28,112,112,7,10,10,16,3,0,56,124,254,254,254, + 126,62,6,28,112,15,10,20,16,0,0,56,56,124,124,254, + 254,254,254,254,254,126,126,62,62,6,6,28,28,112,112,14, + 14,28,16,1,255,0,32,0,32,31,252,127,240,252,32,252, + 32,126,32,31,224,0,32,96,96,240,64,240,192,99,128,62, + 0,9,15,30,16,3,255,28,0,127,0,255,128,255,128,255, + 128,127,0,28,0,8,0,8,0,0,0,28,0,62,0,62, + 0,62,0,28,0,9,13,26,16,3,0,119,0,255,128,255, + 128,255,128,127,0,28,0,8,0,0,0,28,0,62,0,62, + 0,62,0,28,0,15,13,26,16,0,255,60,120,126,252,255, + 254,255,254,255,254,127,252,127,252,63,248,31,240,15,224,7, + 192,3,128,1,0,13,15,30,16,1,255,56,0,126,0,255, + 0,255,128,255,192,255,224,127,240,63,248,127,240,255,224,255, + 192,255,128,255,0,126,0,56,0,15,14,28,16,0,255,3, + 0,12,134,56,142,103,248,1,0,57,56,126,252,255,254,255, + 254,127,252,63,248,31,226,7,238,0,248,14,15,30,16,1, + 254,97,152,99,200,55,236,23,228,23,252,19,252,115,252,157, + 248,147,248,83,248,103,240,39,240,55,224,19,192,1,128,4, + 12,12,8,3,255,16,32,96,192,192,192,192,192,192,96,32, + 16,4,12,12,8,2,255,128,64,96,48,48,48,48,48,48, + 96,64,128,5,12,12,8,2,255,24,48,112,224,224,224,224, + 224,224,112,48,24,5,12,12,8,2,255,192,96,112,56,56, + 56,56,56,56,112,96,192,5,12,12,8,2,255,24,48,48, + 96,96,192,192,96,96,48,48,24,5,12,12,8,2,255,192, + 96,96,48,48,24,24,48,48,96,96,192,6,12,12,8,2, + 255,28,56,56,112,112,224,224,112,112,56,56,28,6,12,12, + 8,1,255,224,112,112,56,56,28,28,56,56,112,112,224,7, + 12,12,8,1,255,30,60,60,120,120,240,240,120,120,60,60, + 30,7,12,12,8,0,255,240,120,120,60,60,30,30,60,60, + 120,120,240,3,12,12,8,3,255,32,64,128,128,128,128,128, + 128,128,128,64,32,3,12,12,8,2,255,128,64,32,32,32, + 32,32,32,32,32,64,128,6,12,12,8,1,255,60,112,96, + 96,48,48,224,48,48,96,112,60,6,12,12,8,1,255,240, + 56,24,24,48,48,28,48,48,24,56,240,15,15,30,16,0, + 255,7,192,31,240,63,248,126,252,124,252,250,254,254,254,254, + 254,254,254,254,254,126,252,120,60,63,248,31,240,7,192,15, + 15,30,16,0,255,7,192,31,240,63,248,124,124,123,188,251, + 190,255,190,255,126,254,254,253,254,123,252,120,60,63,248,31, + 240,7,192,15,15,30,16,0,255,7,192,31,240,63,248,124, + 124,123,188,251,190,255,190,254,126,255,190,251,190,123,188,124, + 124,63,248,31,240,7,192,15,15,30,16,0,255,7,192,31, + 240,63,248,127,124,126,124,253,126,251,126,247,126,240,62,255, + 126,127,124,127,124,63,248,31,240,7,192,15,15,30,16,0, + 255,7,192,31,240,63,248,120,60,123,252,251,254,251,254,248, + 126,255,190,255,190,123,188,124,124,63,248,31,240,7,192,15, + 15,30,16,0,255,7,192,31,240,63,248,126,124,125,252,251, + 254,251,254,248,126,251,190,251,190,123,188,124,124,63,248,31, + 240,7,192,15,15,30,16,0,255,7,192,31,240,63,248,120, + 60,127,188,255,190,255,126,255,126,255,126,254,254,126,252,126, + 252,63,248,31,240,7,192,15,15,30,16,0,255,7,192,31, + 240,63,248,124,124,123,188,251,190,251,190,252,126,251,190,251, + 190,123,188,124,124,63,248,31,240,7,192,15,15,30,16,0, + 255,7,192,31,240,63,248,124,124,123,188,251,190,251,190,252, + 62,255,190,255,190,127,124,124,252,63,248,31,240,7,192,15, + 15,30,16,0,255,7,192,31,240,63,248,127,252,123,156,243, + 110,235,110,251,110,251,110,251,110,96,156,127,252,63,248,31, + 240,7,192,15,15,30,16,0,255,7,192,24,48,32,8,64, + 132,65,132,131,130,129,130,129,130,129,130,129,130,65,132,65, + 132,32,8,24,48,7,192,15,15,30,16,0,255,7,192,24, + 48,32,8,71,196,79,228,140,98,128,98,129,194,135,2,140, + 2,79,228,79,228,32,8,24,48,7,192,15,15,30,16,0, + 255,7,192,24,48,32,8,71,196,79,228,140,98,128,98,129, + 194,128,98,140,98,79,228,71,196,32,8,24,48,7,192,15, + 15,30,16,0,255,7,192,24,48,32,8,64,228,65,228,131, + 98,134,98,140,98,159,242,159,242,64,100,64,100,32,8,24, + 48,7,192,15,15,30,16,0,255,7,192,24,48,32,8,79, + 228,79,228,140,2,143,194,143,226,128,98,140,98,79,228,71, + 196,32,8,24,48,7,192,15,15,30,16,0,255,7,192,24, + 48,32,8,71,196,79,228,140,2,143,194,143,226,140,98,140, + 98,79,228,71,196,32,8,24,48,7,192,15,15,30,16,0, + 255,7,192,24,48,32,8,79,228,79,228,128,98,128,98,128, + 194,131,130,134,2,70,4,70,4,32,8,24,48,7,192,15, + 15,30,16,0,255,7,192,24,48,32,8,71,196,79,228,140, + 98,140,98,135,194,140,98,140,98,79,228,71,196,32,8,24, + 48,7,192,15,15,30,16,0,255,7,192,24,48,32,8,71, + 196,79,228,140,98,140,98,143,226,135,226,128,98,79,228,71, + 196,32,8,24,48,7,192,15,15,30,16,0,255,7,192,24, + 48,32,8,68,228,77,244,157,178,141,178,141,178,141,178,141, + 178,77,244,76,228,32,8,24,48,7,192,15,15,30,16,0, + 255,7,192,31,240,63,248,127,124,126,124,252,126,254,126,254, + 126,254,126,254,126,126,124,126,124,63,248,31,240,7,192,15, + 15,30,16,0,255,7,192,31,240,63,248,120,60,112,28,243, + 158,255,158,254,62,248,254,243,254,112,28,112,28,63,248,31, + 240,7,192,15,15,30,16,0,255,7,192,31,240,63,248,120, + 60,112,28,243,158,255,158,254,62,255,158,243,158,112,28,120, + 60,63,248,31,240,7,192,15,15,30,16,0,255,7,192,31, + 240,63,248,127,28,126,28,252,158,249,158,243,158,224,14,224, + 14,127,156,127,156,63,248,31,240,7,192,15,15,30,16,0, + 255,7,192,31,240,63,248,112,28,112,28,243,254,240,62,240, + 30,255,158,243,158,112,28,120,60,63,248,31,240,7,192,15, + 15,30,16,0,255,7,192,31,240,63,248,120,60,112,28,243, + 254,240,62,240,30,243,158,243,158,112,28,120,60,63,248,31, + 240,7,192,15,15,30,16,0,255,7,192,31,240,63,248,112, + 28,112,28,255,158,255,158,255,62,252,126,249,254,121,252,121, + 252,63,248,31,240,7,192,15,15,30,16,0,255,7,192,31, + 240,63,248,120,60,112,28,243,158,243,158,248,62,243,158,243, + 158,112,28,120,60,63,248,31,240,7,192,15,15,30,16,0, + 255,7,192,31,240,63,248,120,60,112,28,243,158,243,158,240, + 30,248,30,255,158,112,28,120,60,63,248,31,240,7,192,15, + 15,30,16,0,255,7,192,31,240,63,248,123,28,114,12,226, + 78,242,78,242,78,242,78,242,78,114,12,115,28,63,248,31, + 240,7,192,15,13,26,16,0,0,31,128,15,192,7,224,3, + 240,255,248,255,252,255,254,255,252,255,248,3,240,7,224,15, + 192,31,128,11,11,22,16,2,1,14,0,14,0,14,0,14, + 0,255,224,255,224,255,224,14,0,14,0,14,0,14,0,13, + 3,6,16,1,5,255,248,255,248,255,248,13,11,22,16,1, + 1,7,0,7,0,7,0,0,0,255,248,255,248,255,248,0, + 0,7,0,7,0,7,0,11,11,22,16,2,1,32,0,112, + 0,248,0,120,0,60,128,12,128,3,128,3,192,15,192,1, + 192,0,32,15,9,18,16,0,2,1,0,1,128,224,192,252, + 240,255,254,252,240,224,192,1,128,1,0,11,11,22,16,2, + 0,0,32,1,192,15,192,3,192,3,128,12,128,60,128,120, + 0,248,0,112,0,32,0,15,9,18,16,0,2,2,0,1, + 0,1,192,0,240,255,254,0,240,1,192,1,0,2,0,15, + 13,26,16,0,0,0,192,1,224,1,240,0,248,127,252,255, + 254,255,254,255,254,127,252,0,248,1,240,1,224,0,192,15, + 11,22,16,0,1,0,16,0,16,0,24,0,24,255,252,255, + 254,255,252,0,24,0,24,0,16,0,16,15,13,26,16,0, + 0,0,16,0,16,0,24,0,24,255,252,255,252,255,254,255, + 252,255,252,0,24,0,24,0,16,0,16,15,9,18,16,0, + 2,0,32,0,48,0,56,170,252,170,254,170,252,0,56,0, + 48,0,32,15,9,18,16,0,2,0,32,0,48,170,248,170, + 252,170,254,170,252,170,248,0,48,0,32,15,9,18,16,0, + 2,0,32,0,48,0,56,255,252,255,254,255,252,0,56,0, + 48,0,32,14,15,30,16,1,255,128,0,224,0,88,0,70, + 0,33,128,32,96,16,24,15,252,31,248,63,224,63,128,126, + 0,120,0,224,0,128,0,14,15,30,16,1,255,128,0,224, + 0,120,0,126,0,63,128,63,224,31,248,15,252,16,24,32, + 96,33,128,70,0,88,0,224,0,128,0,14,15,30,16,1, + 255,128,0,224,0,120,0,126,0,63,128,63,224,31,248,15, + 252,31,248,63,224,63,128,126,0,120,0,224,0,128,0,15, + 8,16,16,0,3,128,0,128,16,192,24,127,252,127,254,63, + 252,0,24,0,16,15,8,16,16,0,2,0,16,0,24,63, + 252,127,254,127,252,192,24,128,16,128,0,7,13,13,16,5, + 0,16,16,24,248,252,252,254,252,252,248,24,16,16,15,9, + 18,16,0,2,0,64,0,64,255,224,255,240,255,254,255,240, + 255,224,0,64,0,64,14,9,18,16,1,2,0,192,0,224, + 255,176,128,24,128,12,128,24,255,176,0,224,0,192,14,9, + 18,16,1,2,0,192,0,224,255,208,192,8,192,4,192,8, + 255,208,0,224,0,192,15,13,26,16,0,255,0,8,0,24, + 0,36,0,68,63,130,64,2,128,6,255,30,254,124,5,240, + 15,192,15,0,12,0,15,13,26,16,0,0,12,0,15,0, + 15,192,5,240,254,124,255,30,128,6,64,2,63,130,0,68, + 0,36,0,24,0,8,15,12,24,16,0,0,0,128,0,192, + 255,160,128,16,128,8,128,4,128,14,128,28,255,184,127,240, + 0,224,0,64,15,12,24,16,0,1,0,64,0,224,127,240, + 255,184,128,28,128,14,128,4,128,8,128,16,255,160,0,192, + 0,128,16,12,24,16,0,0,0,64,0,96,0,80,255,200, + 64,4,64,2,64,7,255,206,127,220,0,120,0,112,0,32, + 7,6,6,8,1,3,198,56,68,68,68,56,16,12,24,16, + 0,1,0,32,0,112,0,120,127,220,255,206,64,7,64,2, + 64,4,255,200,0,80,0,96,0,64,14,15,30,16,1,255, + 15,128,63,224,126,240,254,120,254,56,0,28,0,12,0,4, + 0,12,0,28,254,56,254,120,126,240,63,224,15,128,15,7, + 14,16,0,3,254,0,73,8,36,140,31,254,36,140,73,8, + 254,0,11,11,22,16,2,1,16,0,24,0,28,0,252,0, + 124,0,60,32,2,32,1,96,0,224,1,224,7,224,14,5, + 10,16,1,4,248,16,124,24,63,252,124,24,248,16,11,11, + 22,16,2,0,7,224,1,224,0,224,1,96,2,32,60,32, + 124,0,252,0,28,0,24,0,16,0,11,11,22,16,2,1, + 8,0,12,0,14,0,14,0,254,32,126,32,63,96,3,224, + 1,224,3,224,15,224,15,9,18,16,0,2,0,32,252,16, + 126,24,63,252,31,254,63,252,126,24,252,16,0,32,11,11, + 22,16,2,0,15,224,3,224,1,224,3,224,63,96,126,32, + 254,32,14,0,14,0,12,0,8,0,15,11,22,16,0,1, + 0,96,0,240,0,240,120,56,255,12,255,254,255,12,120,56, + 0,240,0,240,0,96,15,9,18,16,0,2,0,64,96,224, + 120,240,252,120,255,254,252,120,120,240,96,224,0,64,15,7, + 14,16,0,3,248,16,124,24,62,28,31,254,62,28,124,24, + 248,16,15,9,18,16,0,2,248,96,252,112,126,120,127,252, + 63,254,127,252,126,120,252,112,248,96,15,9,18,16,0,2, + 2,32,1,16,0,136,255,196,0,2,255,196,0,136,1,16, + 2,32,16,6,12,16,0,3,227,199,28,56,34,68,34,68, + 34,68,28,56,6,6,6,8,1,0,128,136,144,160,192,252, + 11,12,24,16,2,0,4,0,10,0,10,0,17,0,17,0, + 36,128,42,128,74,64,81,64,159,32,128,32,255,224,5,6, + 6,8,1,0,32,32,32,32,32,248,10,8,16,16,3,1, + 63,192,64,0,129,128,130,64,130,64,129,128,64,0,63,192, + 10,8,16,16,3,1,255,0,0,128,96,64,144,64,144,64, + 96,64,0,128,255,0,5,10,10,8,2,0,112,136,136,16, + 16,32,32,64,64,56,5,10,10,8,2,0,112,136,136,64, + 64,32,32,16,16,224,7,8,8,8,0,0,130,130,84,68, + 40,40,16,16,14,8,16,16,1,1,129,252,130,0,68,0, + 68,0,36,0,36,0,18,0,17,252,14,8,16,16,1,1, + 254,4,1,4,0,136,0,136,0,144,0,144,1,32,254,32, + 3,10,10,8,2,0,64,64,64,64,224,64,64,64,64,64, + 8,8,8,16,4,1,1,2,4,8,16,32,64,128,12,14, + 28,16,2,254,255,240,128,0,64,0,64,0,32,0,32,0, + 32,0,32,0,32,0,32,0,64,0,64,0,128,0,128,0, + 8,8,8,16,4,1,128,64,32,16,8,4,2,1,13,13, + 26,16,1,0,255,248,130,8,130,8,133,8,133,8,136,136, + 136,136,144,72,144,72,160,40,160,40,192,24,255,248,13,13, + 26,16,1,0,255,248,192,24,160,40,160,40,144,72,144,72, + 136,136,136,136,133,8,133,8,130,8,130,8,255,248,9,9, + 18,16,4,0,8,0,20,0,34,0,65,0,136,128,65,0, + 34,0,20,0,8,0,7,8,8,8,0,0,16,16,40,40, + 68,84,130,130,9,10,20,16,3,0,136,128,136,128,136,128, + 136,128,136,128,136,128,136,128,136,128,73,0,62,0,6,6, + 6,8,1,0,4,4,36,4,4,252,6,6,6,8,1,0, + 252,128,128,144,128,128,12,10,20,16,2,0,224,16,48,48, + 40,80,36,144,35,16,35,16,36,144,40,80,48,48,224,16, + 12,10,20,16,2,0,128,112,192,192,161,64,146,64,140,64, + 140,64,146,64,161,64,192,192,128,112,14,10,20,16,1,0, + 224,28,48,48,40,80,36,144,35,16,35,16,36,144,40,80, + 48,48,224,28,9,12,24,16,3,0,8,0,8,0,8,0, + 8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0, + 255,128,9,12,24,16,3,0,255,128,8,0,8,0,8,0, + 8,0,8,0,8,0,8,0,8,0,8,0,8,0,8,0, + 13,7,14,16,1,2,5,0,5,0,253,248,5,0,253,248, + 5,0,5,0,13,7,14,16,1,2,5,0,5,0,5,0, + 253,248,5,0,5,0,5,0,14,3,6,16,1,4,64,0, + 191,252,64,0,14,3,6,16,1,4,128,0,255,252,128,0, + 14,3,6,16,1,4,0,4,255,252,0,4,3,11,11,16, + 7,255,64,160,64,64,64,64,64,64,64,64,224,7,11,11, + 8,0,0,16,40,40,68,68,254,68,68,40,40,16,13,13, + 26,16,1,0,2,0,5,0,5,0,8,128,16,64,96,48, + 128,8,96,48,16,64,8,128,5,0,5,0,2,0,15,13, + 26,16,0,0,0,128,1,64,1,64,2,32,4,16,24,12, + 224,2,24,12,4,16,2,32,1,64,1,64,0,128,15,13, + 26,16,1,0,2,0,5,0,5,0,8,128,16,64,96,48, + 128,14,96,48,16,64,8,128,5,0,5,0,2,0,15,13, + 26,16,0,0,31,254,16,2,16,2,16,2,16,2,16,2, + 240,2,16,2,16,2,16,2,16,2,16,2,31,254,15,13, + 26,16,1,0,255,240,128,16,128,16,128,16,128,16,128,16, + 128,30,128,16,128,16,128,16,128,16,128,16,255,240,5,13, + 13,8,2,0,248,160,160,160,160,160,160,160,160,160,160,160, + 248,5,13,13,8,1,0,248,40,40,40,40,40,40,40,40, + 40,40,40,248,4,12,12,8,2,0,16,32,32,64,64,128, + 128,64,64,32,32,16,4,12,12,8,2,0,128,64,64,32, + 32,16,16,32,32,64,64,128,6,12,12,8,1,0,20,40, + 40,80,80,160,160,80,80,40,40,20,6,12,12,8,1,0, + 160,80,80,40,40,20,20,40,40,80,80,160,4,12,12,8, + 3,255,16,32,96,160,160,160,160,160,160,96,32,16,4,12, + 12,8,1,255,128,64,96,80,80,80,80,80,80,96,64,128, + 3,12,12,8,4,255,32,64,128,128,128,128,128,128,128,128, + 64,32,3,12,12,8,1,255,128,64,32,32,32,32,32,32, + 32,32,64,128,11,12,24,16,2,0,4,0,10,0,27,0, + 42,128,106,192,170,160,42,128,42,128,42,128,42,128,42,128, + 42,128,11,12,24,16,2,0,42,128,42,128,42,128,42,128, + 42,128,42,128,170,160,106,192,42,128,27,0,10,0,4,0, + 12,10,20,16,2,0,7,128,8,64,16,32,32,16,168,16, + 112,16,32,16,0,32,8,64,7,128,12,10,20,16,2,0, + 30,0,33,0,64,128,128,64,129,80,128,224,128,64,64,0, + 33,0,30,0,15,7,14,16,0,1,3,128,5,72,9,36, + 255,254,9,36,5,72,3,128,15,5,10,16,1,2,32,0, + 64,0,255,254,64,0,32,0,15,5,10,16,0,2,0,8, + 0,4,255,254,0,4,0,8,14,5,10,16,1,2,32,16, + 64,8,255,252,64,8,32,16,15,7,14,16,0,1,16,0, + 32,0,127,254,128,0,127,254,32,0,16,0,15,7,14,16, + 0,1,0,16,0,8,255,252,0,2,255,252,0,8,0,16, + 14,7,14,16,1,1,16,32,32,16,127,248,128,4,127,248, + 32,16,16,32,14,5,10,16,1,2,32,4,64,4,255,252, + 64,4,32,4,14,5,10,16,1,2,128,16,128,8,255,252, + 128,8,128,16,14,7,14,16,1,1,16,4,32,4,127,252, + 128,4,127,252,32,4,16,4,14,7,14,16,1,1,128,32, + 128,16,255,248,128,4,255,248,128,16,128,32,15,5,10,16, + 0,2,0,8,34,36,213,94,8,132,0,8}; +/* + Fontname: -gnu-Unifont-Medium-R-Normal-Sans-16-160-75-75-c-80-iso10646-1 + Copyright: Copyright (C) 2014 Roman Czyborra, Paul Hardy, Qianqian Fang, Andrew Miller, et al. Licensed under the GNU General Public License; either version 2, or (at your option) a later version, with the GNU Font Embedding Exception. + Capital A Height: 11, '1' Height: 5 + Calculated Max Values w=15 h=15 x= 3 y= 4 dx=16 dy= 0 ascent=13 len=30 + Font Bounding box w=16 h=16 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent =11 descent= 2 + X Font ascent =11 descent= 0 + Max Font ascent =13 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_unifont_86[1858] U8G_FONT_SECTION("u8g_font_unifont_86") = { + 0,16,16,0,254,11,3,31,5,100,32,116,2,13,254,11, + 0,11,11,22,16,2,0,7,224,4,32,2,32,4,32,8, + 160,17,96,34,0,68,0,136,0,80,0,32,0,11,11,22, + 16,2,0,252,0,132,0,136,0,132,0,162,0,209,0,8, + 128,4,64,2,32,1,64,0,128,11,11,22,16,2,0,32, + 0,80,0,136,0,68,0,34,0,17,96,8,160,4,32,2, + 32,4,32,7,224,11,11,22,16,2,0,0,128,1,64,2, + 32,4,64,8,128,209,0,162,0,132,0,136,0,132,0,252, + 0,14,7,14,16,1,1,16,32,48,48,95,232,128,4,95, + 232,48,48,16,32,13,7,14,16,1,1,16,0,48,0,127, + 248,255,248,127,248,48,0,16,0,7,12,12,8,0,0,16, + 56,124,254,56,56,56,56,56,56,56,56,7,12,12,8,0, + 0,56,56,56,56,56,56,56,56,254,124,56,16,11,11,22, + 16,2,0,7,224,7,224,3,224,7,224,15,224,31,96,62, + 0,124,0,248,0,112,0,32,0,11,11,22,16,2,0,252, + 0,252,0,248,0,252,0,254,0,223,0,15,128,7,192,3, + 224,1,192,0,128,11,11,22,16,2,0,32,0,112,0,248, + 0,124,0,62,0,31,96,15,224,7,224,3,224,7,224,7, + 224,11,11,22,16,2,0,0,128,1,192,3,224,7,192,15, + 128,223,0,254,0,252,0,248,0,252,0,252,0,14,7,14, + 16,1,1,16,32,48,48,127,248,255,252,127,248,48,48,16, + 32,7,12,12,8,0,0,16,56,124,254,56,56,56,56,254, + 124,56,16,15,5,10,16,0,0,255,248,0,8,0,42,0, + 28,0,8,15,5,10,16,0,4,0,8,0,28,0,42,0, + 8,255,248,15,5,10,16,1,0,63,254,32,0,168,0,112, + 0,32,0,15,5,10,16,1,4,32,0,112,0,168,0,32, + 0,63,254,10,10,20,16,3,255,255,192,255,192,255,192,255, + 192,255,192,128,64,128,64,128,64,128,64,255,192,10,10,20, + 16,3,255,255,192,128,64,128,64,128,64,128,64,255,192,255, + 192,255,192,255,192,255,192,10,10,20,16,3,255,255,192,255, + 192,191,192,159,192,143,192,135,192,131,192,129,192,128,192,255, + 192,10,10,20,16,3,255,255,192,192,64,224,64,240,64,248, + 64,252,64,254,64,255,64,255,192,255,192,10,10,20,16,3, + 255,12,0,26,0,57,0,120,128,248,64,248,64,120,128,57, + 0,26,0,12,0,10,10,20,16,3,255,12,0,22,0,39, + 0,71,128,135,192,135,192,71,128,39,0,22,0,12,0,10, + 10,20,16,3,255,12,0,30,0,63,0,127,128,255,192,128, + 64,64,128,33,0,18,0,12,0,10,10,20,16,3,255,12, + 0,18,0,33,0,64,128,128,64,255,192,127,128,63,0,30, + 0,12,0,11,11,22,16,2,0,170,160,0,0,128,32,0, + 0,128,32,0,0,128,32,0,0,128,32,0,0,170,160,14, + 14,28,16,1,255,255,252,255,252,255,252,255,252,255,252,255, + 252,255,252,255,252,255,252,255,252,255,252,255,252,255,252,255, + 252,14,14,28,16,1,255,255,252,128,4,128,4,128,4,128, + 4,128,4,128,4,128,4,128,4,128,4,128,4,128,4,128, + 4,255,252,4,4,4,8,2,2,240,240,240,240,4,4,4, + 8,2,2,240,144,144,240,12,11,22,16,2,0,6,0,15, + 0,31,128,63,192,127,224,255,240,127,224,127,224,63,192,63, + 192,31,128,12,11,22,16,2,0,6,0,9,0,16,128,32, + 64,64,32,128,16,64,32,64,32,32,64,32,64,31,128,11, + 11,22,16,2,255,4,0,27,0,96,192,128,32,128,32,128, + 32,128,32,128,32,96,192,27,0,4,0,11,11,22,16,2, + 255,4,0,31,0,127,192,255,224,255,224,255,224,255,224,255, + 224,127,192,31,0,4,0,14,10,20,16,1,0,15,192,31, + 224,63,240,127,248,255,252,255,252,127,248,63,240,31,224,15, + 192,14,13,26,16,1,254,31,224,63,240,127,248,255,252,255, + 252,255,252,255,252,255,252,255,252,255,252,127,248,63,240,31, + 224,7,7,7,8,0,0,16,56,124,254,124,56,16,7,7, + 7,8,0,0,16,40,68,130,68,40,16,7,11,11,8,0, + 0,16,56,56,124,124,254,124,124,56,56,16,7,11,11,8, + 0,0,16,40,40,68,68,130,68,68,40,40,16,5,5,5, + 8,1,3,32,112,248,112,32,5,7,7,8,1,0,32,112, + 112,248,112,112,32,5,7,7,8,1,0,32,80,80,136,80, + 80,32,15,6,12,16,0,0,15,224,127,252,255,254,255,254, + 127,252,15,224,15,6,12,16,0,0,15,224,112,28,128,2, + 128,2,112,28,15,224,6,13,13,8,1,0,48,120,120,120, + 252,252,252,252,252,120,120,120,48,6,13,13,8,1,0,48, + 72,72,72,132,132,132,132,132,72,72,72,48,15,5,10,16, + 1,2,33,192,66,32,255,254,66,32,33,192,14,15,30,16, + 1,254,32,0,64,0,255,252,64,0,32,0,32,0,64,0, + 255,252,64,0,32,0,32,0,64,0,255,252,64,0,32,0, + 15,5,10,16,1,2,33,192,66,160,255,254,66,160,33,192, + 15,5,10,16,1,2,34,32,69,80,245,94,72,128,32,0, + 15,5,10,16,1,2,40,64,80,64,255,254,80,64,40,64, + 15,5,10,16,1,2,40,160,80,160,255,254,80,160,40,160, + 14,5,10,16,1,2,40,4,80,4,255,252,80,4,40,4, + 14,5,10,16,1,2,40,4,80,8,253,176,80,8,40,4, + 14,5,10,16,1,2,32,0,64,0,213,84,64,0,32,0, + 14,5,10,16,1,2,32,132,64,136,255,240,64,136,32,132, + 14,5,10,16,1,2,33,68,65,72,255,240,65,72,33,68, + 14,5,10,16,1,2,40,4,80,8,255,240,80,8,40,4, + 14,5,10,16,1,2,40,132,80,136,255,240,80,136,40,132, + 14,5,10,16,1,2,41,68,81,72,255,240,81,72,41,68, + 15,5,10,16,1,2,40,144,80,96,255,254,80,96,40,144, + 15,5,10,16,1,2,32,120,64,132,255,2,64,0,32,0, + 15,7,14,16,1,2,3,240,0,0,35,240,64,0,255,254, + 64,0,32,0,15,7,14,16,1,2,0,56,4,68,35,128, + 64,0,255,254,64,0,32,0,15,9,18,16,1,254,32,0, + 64,0,255,254,64,56,36,68,3,128,0,56,4,68,3,128, + 14,9,18,16,1,0,224,0,24,0,6,16,1,8,31,252, + 1,8,6,16,24,0,224,0,14,11,22,16,1,255,252,0, + 2,0,1,0,0,144,0,136,255,252,0,136,0,144,1,0, + 2,0,252,0,15,11,22,16,0,255,4,0,8,0,31,254, + 32,0,127,254,128,0,127,254,32,0,31,254,8,0,4,0, + 15,11,22,16,0,255,0,64,0,32,255,240,0,8,255,252, + 0,2,255,252,0,8,255,240,0,32,0,64,15,7,14,16, + 0,2,3,128,68,64,56,8,0,4,255,254,0,4,0,8, + 15,9,18,16,0,254,0,8,0,4,255,254,3,132,68,72, + 56,0,3,128,68,64,56,0,15,7,14,16,1,2,3,128, + 4,68,32,56,64,0,255,254,64,0,32,0,15,9,18,16, + 1,254,32,0,64,0,255,254,67,128,36,68,0,56,3,128, + 4,68,0,56,15,7,14,16,1,0,32,0,64,0,255,254, + 64,0,32,56,4,68,3,128,15,7,14,16,0,0,0,8, + 0,4,255,254,0,4,3,136,68,64,56,0,10,12,24,16, + 3,0,4,0,8,0,16,0,32,0,64,0,255,192,0,128, + 1,0,2,0,20,0,24,0,28,0,4,6,6,8,2,0, + 112,48,80,64,128,128,4,6,6,8,2,0,128,128,64,80, + 48,112,13,13,26,16,1,0,2,0,2,0,5,0,5,0, + 248,248,64,16,32,32,16,64,8,128,16,64,34,32,77,144, + 112,112,11,10,20,16,2,1,4,0,14,0,14,0,255,224, + 127,192,63,128,63,128,123,192,241,224,192,96,11,10,20,16, + 2,1,4,0,10,0,10,0,241,224,64,64,32,128,36,128, + 74,64,177,160,192,96,11,12,24,16,3,0,4,0,30,0, + 127,0,255,128,255,192,255,224,255,224,255,192,255,128,127,0, + 30,0,4,0,11,12,24,16,3,0,4,0,26,0,97,0, + 128,128,128,64,128,32,128,32,128,64,128,128,97,0,26,0, + 4,0}; +/* + Fontname: -gnu-Unifont-Medium-R-Normal-Sans-16-160-75-75-c-80-iso10646-1 + Copyright: Copyright (C) 2014 Roman Czyborra, Paul Hardy, Qianqian Fang, Andrew Miller, et al. Licensed under the GNU General Public License; either version 2, or (at your option) a later version, with the GNU Font Embedding Exception. + Capital A Height: 8, '1' Height: 12 + Calculated Max Values w=16 h=16 x= 3 y=10 dx=16 dy= 0 ascent=14 len=32 + Font Bounding box w=16 h=16 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent = 8 descent= 0 + X Font ascent =12 descent= 0 + Max Font ascent =14 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_unifont_8_9[4279] U8G_FONT_SECTION("u8g_font_unifont_8_9") = { + 0,16,16,0,254,8,4,67,6,64,0,255,0,14,254,12, + 0,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, + 0,74,81,234,80,90,81,201,158,0,1,128,0,0,1,128, + 0,0,1,128,0,85,85,6,14,14,8,1,0,72,72,0, + 0,252,128,128,128,248,128,128,128,128,252,7,10,10,8,1, + 0,252,32,32,32,60,34,34,34,34,44,6,14,14,8,1, + 0,24,96,0,0,252,128,128,128,128,128,128,128,128,128,6, + 10,10,8,1,0,56,68,128,128,248,128,128,128,68,56,6, + 10,10,8,1,0,120,132,132,128,96,24,4,132,132,120,5, + 10,10,8,2,0,248,32,32,32,32,32,32,32,32,248,5, + 14,14,8,2,0,144,144,0,0,248,32,32,32,32,32,32, + 32,32,248,6,10,10,8,1,0,28,8,8,8,8,8,8, + 136,136,112,8,10,10,8,0,0,120,72,72,72,78,73,73, + 73,73,142,7,10,10,8,1,0,144,144,144,144,252,146,146, + 146,146,156,7,10,10,8,1,0,252,32,32,32,60,34,34, + 34,34,34,6,14,14,8,1,0,24,96,0,0,128,140,144, + 160,192,192,160,144,136,132,6,13,13,8,1,0,96,24,0, + 132,140,140,148,148,164,164,196,196,132,7,14,14,8,1,0, + 132,132,120,0,130,130,68,68,40,40,16,16,32,96,7,12, + 12,8,1,254,130,130,130,130,130,130,130,130,130,254,16,16, + 6,10,10,8,1,0,48,72,72,132,132,252,132,132,132,132, + 6,10,10,8,1,0,248,128,128,128,248,132,132,132,132,248, + 6,10,10,8,1,0,248,132,132,132,248,132,132,132,132,248, + 6,10,10,8,1,0,252,128,128,128,128,128,128,128,128,128, + 8,12,12,8,0,254,14,18,18,18,34,34,34,66,66,255, + 129,129,6,10,10,8,1,0,252,128,128,128,248,128,128,128, + 128,252,7,10,10,8,1,0,146,146,84,84,56,56,84,84, + 146,146,6,10,10,8,1,0,120,132,4,4,120,8,4,4, + 132,120,6,10,10,8,1,0,132,140,140,148,148,164,164,196, + 196,132,6,13,13,8,1,0,72,48,0,132,140,140,148,148, + 164,164,196,196,132,6,10,10,8,1,0,140,144,144,160,160, + 192,160,144,136,132,6,10,10,8,1,0,60,36,36,36,36, + 36,36,68,68,132,6,10,10,8,1,0,132,132,204,204,180, + 180,132,132,132,132,6,10,10,8,1,0,132,132,132,132,252, + 132,132,132,132,132,6,10,10,8,1,0,120,132,132,132,132, + 132,132,132,132,120,6,10,10,8,1,0,252,132,132,132,132, + 132,132,132,132,132,6,10,10,8,1,0,248,132,132,132,248, + 128,128,128,128,128,6,10,10,8,1,0,120,132,132,128,128, + 128,128,132,132,120,7,10,10,8,1,0,254,16,16,16,16, + 16,16,16,16,16,7,10,10,8,1,0,130,130,68,68,40, + 40,16,16,32,96,7,11,11,8,1,0,16,124,146,146,146, + 146,146,124,16,16,16,6,10,10,8,1,0,132,132,72,72, + 48,48,72,72,132,132,7,12,12,8,1,254,132,132,132,132, + 132,132,132,132,132,254,2,2,6,10,10,8,1,0,132,132, + 132,132,132,252,4,4,4,4,7,10,10,8,1,0,146,146, + 146,146,146,146,146,146,146,254,8,12,12,8,0,254,146,146, + 146,146,146,146,146,146,146,255,1,1,7,10,10,8,1,0, + 224,32,32,32,60,34,34,34,34,60,6,10,10,8,1,0, + 132,132,132,132,228,148,148,148,148,228,6,10,10,8,1,0, + 128,128,128,128,248,132,132,132,132,248,6,10,10,8,1,0, + 112,136,4,4,124,4,4,4,136,112,6,10,10,8,1,0, + 152,164,164,164,228,164,164,164,164,152,6,10,10,8,1,0, + 124,132,132,132,124,36,68,68,132,132,6,8,8,8,1,0, + 120,132,4,124,132,132,140,116,6,12,12,8,1,0,4,56, + 64,128,248,132,132,132,132,132,132,120,6,8,8,8,1,0, + 248,132,132,248,132,132,132,248,6,8,8,8,1,0,252,128, + 128,128,128,128,128,128,7,9,9,8,1,255,60,36,68,68, + 132,132,132,254,130,6,8,8,8,1,0,120,132,132,252,128, + 128,132,120,7,8,8,8,1,0,146,146,84,56,56,84,146, + 146,6,8,8,8,1,0,120,132,4,120,8,4,132,120,6, + 8,8,8,1,0,140,140,148,148,164,164,196,196,6,12,12, + 8,1,0,72,48,0,0,140,140,148,148,164,164,196,196,6, + 8,8,8,1,0,140,144,160,192,160,144,136,132,6,8,8, + 8,1,0,60,36,36,36,36,68,68,132,6,8,8,8,1, + 0,132,204,204,180,180,132,132,132,6,8,8,8,1,0,132, + 132,132,252,132,132,132,132,6,8,8,8,1,0,120,132,132, + 132,132,132,132,120,6,8,8,8,1,0,252,132,132,132,132, + 132,132,132,6,10,10,8,1,254,184,196,132,132,132,132,196, + 184,128,128,6,8,8,8,1,0,120,132,128,128,128,128,132, + 120,7,8,8,8,1,0,254,16,16,16,16,16,16,16,6, + 10,10,8,1,254,132,132,72,72,48,48,32,32,64,192,7, + 13,13,8,1,254,16,16,16,124,146,146,146,146,146,146,124, + 16,16,6,8,8,8,1,0,132,132,72,48,48,72,132,132, + 7,10,10,8,1,254,132,132,132,132,132,132,132,254,2,2, + 6,8,8,8,1,0,132,132,132,132,252,4,4,4,7,8, + 8,8,1,0,146,146,146,146,146,146,146,254,8,10,10,8, + 0,254,146,146,146,146,146,146,146,255,1,1,7,8,8,8, + 1,0,224,32,32,60,34,34,34,60,6,8,8,8,1,0, + 132,132,132,228,148,148,148,228,6,8,8,8,1,0,128,128, + 128,248,132,132,132,248,6,8,8,8,1,0,112,136,4,124, + 4,4,136,112,6,8,8,8,1,0,152,164,164,228,164,164, + 164,152,6,8,8,8,1,0,124,132,132,132,124,36,68,132, + 6,12,12,8,1,0,96,24,0,0,120,132,132,252,128,128, + 132,120,6,12,12,8,1,0,72,72,0,0,120,132,132,252, + 128,128,132,120,7,13,13,8,0,254,64,240,64,92,98,66, + 66,66,66,66,66,2,12,6,12,12,8,1,0,24,96,0, + 0,252,128,128,128,128,128,128,128,6,8,8,8,1,0,56, + 68,128,248,128,128,68,56,6,8,8,8,1,0,120,132,128, + 96,24,4,132,120,5,11,11,8,2,0,32,32,0,96,32, + 32,32,32,32,32,248,5,11,11,8,2,0,144,144,0,96, + 32,32,32,32,32,32,248,5,13,13,8,1,254,8,8,0, + 24,8,8,8,8,8,8,8,144,96,8,8,8,8,0,0, + 120,72,72,78,73,73,73,142,7,8,8,8,1,0,144,144, + 144,252,146,146,146,156,7,11,11,8,0,0,64,240,64,92, + 98,66,66,66,66,66,66,6,12,12,8,1,0,24,96,0, + 0,140,144,160,192,160,144,136,132,6,12,12,8,1,0,96, + 24,0,0,140,140,148,148,164,164,196,196,6,15,15,8,1, + 254,132,132,120,0,0,132,132,72,72,48,48,32,32,64,192, + 5,10,10,8,2,254,136,136,136,136,136,136,136,248,32,32, + 7,10,10,8,1,0,146,146,146,146,146,146,146,146,180,72, + 7,8,8,8,1,0,68,130,130,146,146,146,146,108,7,10, + 10,8,1,0,32,248,32,32,60,34,34,34,34,60,6,10, + 10,8,1,0,64,64,240,64,64,120,68,68,68,120,7,10, + 10,8,1,0,140,146,160,160,252,160,160,160,146,140,7,8, + 8,8,1,0,140,146,160,252,160,160,146,140,7,10,10,8, + 1,0,16,16,40,40,68,108,84,146,146,146,7,8,8,8, + 1,0,16,40,40,68,108,146,146,146,7,10,10,8,1,0, + 144,144,168,168,164,236,212,146,146,146,7,8,8,8,1,0, + 144,168,168,164,236,146,146,146,7,10,10,8,1,0,124,68, + 68,40,16,56,84,146,146,146,7,8,8,8,1,0,124,68, + 40,16,124,146,146,146,7,10,10,8,1,0,190,162,162,148, + 232,156,170,170,170,170,7,8,8,8,1,0,190,162,148,232, + 156,170,170,170,6,14,14,8,1,254,72,48,120,132,4,4, + 120,8,4,4,4,120,128,128,6,13,13,8,1,254,72,48, + 0,120,132,4,120,8,4,4,120,128,128,7,10,10,8,1, + 0,146,146,146,146,146,124,16,16,16,16,7,8,8,8,1, + 254,146,146,146,146,146,124,16,16,6,10,10,8,1,0,120, + 132,132,132,252,132,132,132,132,120,6,8,8,8,1,0,120, + 132,132,252,132,132,132,120,7,10,10,8,1,0,134,136,136, + 136,80,80,80,32,32,32,6,8,8,8,1,0,140,144,144, + 80,80,80,32,32,7,14,14,8,1,0,204,34,0,0,134, + 136,136,136,80,80,80,32,32,32,7,12,12,8,1,0,204, + 34,0,0,140,144,144,80,80,80,32,32,7,12,12,8,1, + 254,64,160,178,178,178,170,172,168,168,72,16,16,7,10,10, + 8,1,254,82,178,178,170,172,168,168,72,16,16,7,12,12, + 8,1,255,16,124,146,130,130,130,130,130,130,146,124,16,7, + 10,10,8,1,255,16,124,146,130,130,130,130,146,124,16,7, + 14,14,8,1,0,120,134,48,8,16,0,108,130,130,146,146, + 146,146,108,7,11,11,8,1,0,120,134,48,8,16,0,108, + 130,146,146,108,7,13,13,8,1,0,254,16,0,146,146,146, + 146,146,146,146,146,180,72,7,10,10,8,1,0,254,16,0, + 146,146,146,146,146,180,72,6,12,12,8,1,254,120,132,132, + 128,128,128,128,128,120,8,8,8,6,10,10,8,1,254,120, + 132,132,128,128,128,120,8,8,8,7,7,7,8,1,1,36, + 24,136,84,34,48,72,4,3,3,8,1,10,16,240,128,5, + 4,4,8,0,9,16,40,72,128,4,3,3,8,1,10,112, + 128,96,4,3,3,8,2,10,224,16,96,8,3,3,8,0, + 10,48,76,131,14,14,28,16,0,254,1,0,2,128,16,16, + 40,40,0,0,0,0,64,8,160,20,0,0,0,0,0,0, + 16,16,41,40,2,128,14,14,28,16,1,254,1,0,33,8, + 19,16,24,96,0,0,0,0,0,16,224,28,32,0,0,0, + 0,0,25,176,17,16,33,8,7,15,15,8,1,254,72,48, + 0,132,140,140,148,148,164,164,196,196,134,4,8,7,14,14, + 8,1,254,72,48,0,0,140,140,148,148,164,164,196,198,4, + 8,6,10,10,8,1,0,64,224,64,64,64,120,68,68,76, + 120,6,7,7,8,1,0,64,224,64,120,68,68,120,6,10, + 10,8,1,0,248,132,148,136,244,128,128,128,128,128,6,10, + 10,8,1,254,184,196,132,132,132,148,200,180,128,128,6,12, + 12,8,1,0,4,4,252,128,128,128,128,128,128,128,128,128, + 6,10,10,8,1,0,4,4,252,128,128,128,128,128,128,128, + 7,10,10,8,1,0,62,32,32,32,32,248,32,32,32,32, + 7,8,8,8,1,0,62,32,32,32,248,32,32,32,6,11, + 11,8,1,255,252,128,128,128,128,248,132,132,132,132,24,6, + 9,9,8,1,255,252,128,128,128,248,132,132,132,24,7,12, + 12,8,1,254,146,146,84,84,56,56,84,84,146,146,2,2, + 7,10,10,8,1,254,146,146,84,56,56,84,146,146,2,2, + 6,12,12,8,1,254,120,132,4,4,120,8,4,4,132,120, + 16,96,6,10,10,8,1,254,120,132,4,120,8,4,132,120, + 16,96,6,12,12,8,1,254,128,140,144,160,192,192,160,144, + 136,132,4,4,6,10,10,8,1,254,140,144,160,192,160,144, + 136,132,4,4,7,10,10,8,1,0,128,134,168,168,240,168, + 168,168,132,130,7,8,8,8,1,0,134,168,168,240,168,168, + 132,130,7,10,10,8,1,0,64,230,72,80,96,96,80,72, + 68,66,7,8,8,8,1,0,70,232,80,96,80,72,68,66, + 8,10,10,8,0,0,224,35,36,40,48,48,40,36,34,33, + 8,8,8,8,0,0,227,36,40,48,40,36,34,33,7,12, + 12,8,1,254,132,132,132,132,252,132,132,132,132,134,2,2, + 7,10,10,8,1,254,132,132,132,252,132,132,132,134,2,2, + 7,10,10,8,1,0,142,136,136,136,248,136,136,136,136,136, + 7,8,8,8,1,0,142,136,136,248,136,136,136,136,7,12, + 12,8,1,254,240,144,144,144,144,156,146,146,146,146,2,12, + 7,10,10,8,1,254,240,144,144,144,156,146,146,146,2,12, + 6,12,12,8,1,255,64,152,164,164,164,164,164,164,164,88, + 48,12,6,9,9,8,1,255,64,152,164,164,164,164,88,48, + 12,6,12,12,8,1,254,120,132,132,128,128,128,128,132,132, + 120,32,24,6,10,10,8,1,254,120,132,132,128,128,132,132, + 120,32,24,7,12,12,8,1,254,254,16,16,16,16,16,16, + 16,16,24,8,8,7,10,10,8,1,254,254,16,16,16,16, + 16,16,24,8,8,7,10,10,8,1,0,130,130,68,68,40, + 16,16,16,16,16,5,10,10,8,2,254,136,136,136,80,80, + 32,32,32,32,32,7,10,10,8,1,0,130,130,68,68,40, + 16,16,124,16,16,5,8,8,8,2,0,136,136,136,80,32, + 32,248,32,7,12,12,8,1,254,132,132,72,72,48,48,72, + 72,132,134,2,2,7,10,10,8,1,254,132,132,72,48,48, + 72,132,134,2,2,8,12,12,8,0,254,250,34,34,34,34, + 34,34,34,34,63,1,1,8,10,10,8,0,254,250,34,34, + 34,34,34,34,63,1,1,7,12,12,8,1,254,132,132,132, + 132,132,140,116,4,4,6,2,2,7,10,10,8,1,254,132, + 132,132,132,140,116,4,6,2,2,6,10,10,8,1,0,132, + 132,132,132,164,172,116,36,36,4,6,8,8,8,1,0,132, + 132,132,164,172,116,36,4,6,10,10,8,1,0,128,128,128, + 184,196,132,132,132,132,132,6,8,8,8,1,0,128,128,184, + 196,132,132,132,132,6,10,10,8,1,0,152,164,164,164,124, + 32,32,36,36,24,6,8,8,8,1,0,152,164,164,124,32, + 32,36,24,6,12,12,8,1,254,152,164,164,164,124,32,32, + 36,36,24,16,16,6,12,12,8,1,254,152,164,164,164,124, + 32,32,36,36,24,16,16,5,10,10,8,2,0,248,32,32, + 32,32,32,32,32,32,248,7,14,14,8,1,0,130,130,124, + 0,146,146,84,84,56,56,84,84,146,146,7,13,13,8,1, + 0,68,68,56,0,0,146,146,84,56,56,84,146,146,6,12, + 12,8,1,254,128,140,144,160,192,248,132,132,132,132,4,24, + 6,10,10,8,1,254,140,144,160,192,248,132,132,132,4,24, + 7,12,12,8,1,254,60,36,36,36,36,36,36,68,68,134, + 4,8,7,10,10,8,1,254,60,36,36,36,36,68,68,134, + 4,8,6,12,12,8,1,254,132,132,132,132,252,132,132,132, + 132,132,4,24,6,10,10,8,1,254,132,132,132,252,132,132, + 132,132,4,24,7,12,12,8,1,254,132,132,132,132,252,132, + 132,132,132,134,4,8,7,10,10,8,1,254,132,132,132,252, + 132,132,132,134,4,8,6,12,12,8,1,254,132,132,132,132, + 132,140,116,4,4,12,8,8,6,10,10,8,1,254,132,132, + 132,132,140,116,4,12,8,8,7,12,12,8,1,254,132,132, + 204,204,180,180,132,132,132,134,4,8,7,10,10,8,1,254, + 132,204,204,180,180,132,132,134,4,8,3,10,10,8,3,0, + 224,64,64,64,64,64,64,64,64,224,6,14,14,8,1,0, + 132,132,120,0,48,72,72,132,132,252,132,132,132,132,6,13, + 13,8,1,0,132,132,120,0,0,120,132,4,124,132,132,140, + 116,6,14,14,8,1,0,72,72,0,0,48,72,72,132,132, + 252,132,132,132,132,6,12,12,8,1,0,72,72,0,0,120, + 132,4,124,132,132,140,116,7,10,10,8,1,0,62,80,144, + 144,254,144,144,144,144,158,7,8,8,8,1,0,124,146,18, + 126,144,144,146,124,6,14,14,8,1,0,132,132,120,0,252, + 128,128,128,248,128,128,128,128,252,6,12,12,8,1,0,132, + 132,120,0,120,132,132,252,128,128,132,120,6,10,10,8,1, + 0,48,72,132,4,4,252,132,132,72,48,6,8,8,8,1, + 0,120,132,4,4,252,132,132,120,6,14,14,8,1,0,72, + 72,0,0,48,72,132,4,4,252,132,132,72,48,6,12,12, + 8,1,0,72,72,0,0,120,132,4,4,252,132,132,120,7, + 14,14,8,1,0,72,72,0,0,146,146,84,84,56,56,84, + 84,146,146,7,12,12,8,1,0,72,72,0,0,146,146,84, + 56,56,84,146,146,6,14,14,8,1,0,72,72,0,0,120, + 132,4,4,120,8,4,4,132,120,6,12,12,8,1,0,72, + 72,0,0,120,132,4,120,8,4,132,120,6,10,10,8,1, + 0,252,8,16,32,56,4,4,4,140,120,6,10,10,8,1, + 254,124,8,16,32,56,4,4,4,132,120,6,13,13,8,1, + 0,120,0,0,132,140,140,148,148,164,164,196,196,132,6,11, + 11,8,1,0,120,0,0,140,140,148,148,164,164,196,196,6, + 14,14,8,1,0,72,72,0,0,132,140,140,148,148,164,164, + 196,196,132,6,12,12,8,1,0,72,72,0,0,140,140,148, + 148,164,164,196,196,6,14,14,8,1,0,72,72,0,0,120, + 132,132,132,132,132,132,132,132,120,6,12,12,8,1,0,72, + 72,0,0,120,132,132,132,132,132,132,120,6,10,10,8,1, + 0,120,132,132,132,252,132,132,132,132,120,6,8,8,8,1, + 0,120,132,132,252,132,132,132,120,6,14,14,8,1,0,72, + 72,0,0,120,132,132,132,252,132,132,132,132,120,6,12,12, + 8,1,0,72,72,0,0,120,132,132,252,132,132,132,120,6, + 12,12,8,1,0,72,0,120,132,4,4,124,4,4,4,132, + 120,6,10,10,8,1,0,72,0,120,132,4,60,4,4,132, + 120,7,13,13,8,1,0,124,0,0,130,130,68,68,40,40, + 16,16,32,96,6,13,13,8,1,254,120,0,0,132,132,72, + 72,48,48,32,32,64,192,7,14,14,8,1,0,72,72,0, + 0,130,130,68,68,40,40,16,16,32,96,6,14,14,8,1, + 254,72,72,0,0,132,132,72,72,48,48,32,32,64,192,7, + 14,14,8,1,0,102,136,0,0,130,130,68,68,40,40,16, + 16,32,96,7,14,14,8,1,254,102,136,0,0,132,132,72, + 72,48,48,32,32,64,192,6,14,14,8,1,0,72,72,0, + 0,132,132,132,132,132,140,116,4,4,4,6,12,12,8,1, + 0,72,72,0,0,132,132,132,132,140,116,4,4,6,12,12, + 8,1,254,252,128,128,128,128,128,128,128,128,224,96,32,6, + 10,10,8,1,254,252,128,128,128,128,128,128,224,96,32,6, + 14,14,8,1,0,72,72,0,0,132,132,132,132,228,148,148, + 148,148,228,6,12,12,8,1,0,72,72,0,0,132,132,132, + 228,148,148,148,228,6,12,12,8,1,254,252,128,128,128,248, + 128,128,128,128,192,64,192,5,10,10,8,1,254,248,128,128, + 240,128,128,128,192,64,192,6,12,12,8,1,254,132,132,72, + 72,48,48,72,72,132,132,4,8,6,10,10,8,1,254,132, + 132,72,48,48,72,132,132,4,8,6,10,10,8,1,0,132, + 132,72,72,48,252,72,72,132,132,6,8,8,8,1,0,132, + 132,72,48,252,72,132,132}; +/* + Fontname: -gnu-Unifont-Medium-R-Normal-Sans-16-160-75-75-c-80-iso10646-1 + Copyright: Copyright (C) 2014 Roman Czyborra, Paul Hardy, Qianqian Fang, Andrew Miller, et al. Licensed under the GNU General Public License; either version 2, or (at your option) a later version, with the GNU Font Embedding Exception. + Capital A Height: 10, '1' Height: 10 + Calculated Max Values w=16 h=16 x= 4 y=14 dx=16 dy= 0 ascent=14 len=32 + Font Bounding box w=16 h=16 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent =10 descent=-2 + X Font ascent =11 descent=-2 + Max Font ascent =14 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_unifont[5551] U8G_FONT_SECTION("u8g_font_unifont") = { + 0,16,16,0,254,10,6,167,8,149,0,255,254,14,254,11, + 254,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, + 0,74,81,234,80,90,81,201,158,0,1,128,0,0,1,128, + 0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0, + 1,128,0,0,1,128,0,57,147,194,82,50,95,138,82,113, + 147,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32, + 16,0,254,170,170,0,1,128,0,0,1,128,0,59,165,193, + 36,49,25,137,36,113,37,128,0,0,1,128,0,0,1,128, + 0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0, + 1,128,0,123,165,193,36,121,25,193,36,121,37,128,0,0, + 1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170, + 170,0,1,128,0,0,1,128,0,121,191,194,72,122,73,194, + 72,121,137,128,0,0,1,128,0,0,1,128,0,85,85,16, + 16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,122, + 77,194,82,123,83,194,214,122,79,128,0,0,1,128,0,0, + 1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128, + 0,0,1,128,0,49,165,202,40,122,49,202,40,73,165,128, + 0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0, + 254,170,170,0,1,128,0,0,1,128,0,115,209,202,16,115, + 209,202,16,115,223,128,0,0,1,128,0,0,1,128,0,85, + 85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, + 0,30,57,145,64,30,49,145,8,30,113,128,0,0,1,128, + 0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0, + 1,128,0,0,1,128,0,34,249,162,32,62,33,162,32,34, + 33,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32, + 16,0,254,170,170,0,1,128,0,0,1,128,0,32,249,160, + 128,32,249,160,128,62,129,128,0,0,1,128,0,0,1,128, + 0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0, + 1,128,0,34,249,162,32,34,33,148,32,8,33,128,0,0, + 1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170, + 170,0,1,128,0,0,1,128,0,62,249,160,128,62,249,160, + 128,32,129,128,0,0,1,128,0,0,1,128,0,85,85,16, + 16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,30, + 241,160,136,32,241,160,144,30,137,128,0,0,1,128,0,0, + 1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128, + 0,0,1,128,0,30,113,160,136,28,137,130,136,60,113,128, + 0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0, + 254,170,170,0,1,128,0,0,1,128,0,30,249,160,32,28, + 33,130,32,60,249,128,0,0,1,128,0,0,1,128,0,85, + 85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, + 0,57,29,165,16,37,29,165,16,57,221,128,0,0,1,128, + 0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0, + 1,128,0,0,1,128,0,113,137,202,24,74,9,202,8,113, + 157,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32, + 16,0,254,170,170,0,1,128,0,0,1,128,0,113,153,202, + 4,74,9,202,16,113,157,128,0,0,1,128,0,0,1,128, + 0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0, + 1,128,0,113,153,202,4,74,25,202,4,113,153,128,0,0, + 1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170, + 170,0,1,128,0,0,1,128,0,113,133,202,12,74,21,202, + 28,113,133,128,0,0,1,128,0,0,1,128,0,85,85,16, + 16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,73, + 147,234,84,106,89,219,212,74,83,128,0,0,1,128,0,0, + 1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128, + 0,0,1,128,0,52,83,194,154,49,23,137,18,113,19,128, + 0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0, + 254,170,170,0,1,128,0,0,1,128,0,123,185,193,36,121, + 57,193,36,121,57,128,0,0,1,128,0,0,1,128,0,85, + 85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, + 0,51,37,196,180,71,173,196,164,52,165,128,0,0,1,128, + 0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0, + 1,128,0,0,1,128,0,62,137,160,216,62,169,160,136,62, + 137,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32, + 16,0,254,170,170,0,1,128,0,0,1,128,0,58,93,194, + 82,50,93,138,82,113,157,128,0,0,1,128,0,0,1,128, + 0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0, + 1,128,0,121,207,194,16,121,145,192,80,123,143,128,0,0, + 1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170, + 170,0,1,128,0,0,1,128,0,30,113,144,128,30,97,144, + 16,16,225,128,0,0,1,128,0,0,1,128,0,85,85,16, + 16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,14, + 113,144,128,22,97,146,16,14,225,128,0,0,1,128,0,0, + 1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128, + 0,0,1,128,0,28,113,146,128,28,97,148,16,18,225,128, + 0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0, + 254,170,170,0,1,128,0,0,1,128,0,18,113,146,128,18, + 97,146,16,12,225,128,0,0,1,128,0,0,1,128,0,85, + 85,0,0,0,8,0,14,1,10,10,8,4,0,128,128,128, + 128,128,128,128,0,128,128,5,4,4,8,2,8,136,136,136, + 136,6,10,10,8,1,0,36,36,36,252,72,72,252,144,144, + 144,7,10,10,8,1,0,16,124,146,144,112,28,18,146,124, + 16,7,10,10,8,1,0,98,148,148,104,16,16,44,82,82, + 140,7,10,10,8,1,0,56,68,68,40,48,82,138,132,140, + 114,1,4,4,8,4,8,128,128,128,128,3,12,12,8,3, + 255,32,64,64,128,128,128,128,128,128,64,64,32,3,12,12, + 8,2,255,128,64,64,32,32,32,32,32,32,64,64,128,7, + 7,7,8,1,1,16,146,84,56,84,146,16,7,7,7,8, + 1,1,16,16,16,254,16,16,16,2,4,4,8,3,254,192, + 64,64,128,4,1,1,8,2,4,240,2,2,2,8,3,0, + 192,192,6,10,10,8,1,0,4,4,8,16,16,32,32,64, + 128,128,6,10,10,8,1,0,48,72,132,132,132,132,132,132, + 72,48,5,10,10,8,2,0,32,96,160,32,32,32,32,32, + 32,248,6,10,10,8,1,0,120,132,132,4,24,32,64,128, + 128,252,6,10,10,8,1,0,120,132,132,4,56,4,4,132, + 132,120,6,10,10,8,1,0,8,24,40,72,136,136,252,8, + 8,8,6,10,10,8,1,0,252,128,128,128,248,4,4,4, + 132,120,6,10,10,8,1,0,56,64,128,128,248,132,132,132, + 132,120,6,10,10,8,1,0,252,4,4,8,8,8,16,16, + 16,16,6,10,10,8,1,0,120,132,132,132,120,132,132,132, + 132,120,6,10,10,8,1,0,120,132,132,132,124,4,4,4, + 8,112,2,7,7,8,3,1,192,192,0,0,0,192,192,2, + 9,9,8,3,255,192,192,0,0,0,192,64,64,128,5,9, + 9,8,2,0,8,16,32,64,128,64,32,16,8,6,5,5, + 8,1,2,252,0,0,0,252,5,9,9,8,1,0,128,64, + 32,16,8,16,32,64,128,6,10,10,8,1,0,120,132,132, + 4,8,16,16,0,16,16,6,10,10,8,1,0,56,68,148, + 172,164,164,164,156,64,60,6,10,10,8,1,0,48,72,72, + 132,132,252,132,132,132,132,6,10,10,8,1,0,248,132,132, + 132,248,132,132,132,132,248,6,10,10,8,1,0,120,132,132, + 128,128,128,128,132,132,120,6,10,10,8,1,0,240,136,132, + 132,132,132,132,132,136,240,6,10,10,8,1,0,252,128,128, + 128,248,128,128,128,128,252,6,10,10,8,1,0,252,128,128, + 128,248,128,128,128,128,128,6,10,10,8,1,0,120,132,132, + 128,128,156,132,132,140,116,6,10,10,8,1,0,132,132,132, + 132,252,132,132,132,132,132,5,10,10,8,2,0,248,32,32, + 32,32,32,32,32,32,248,7,10,10,8,1,0,62,8,8, + 8,8,8,8,136,136,112,6,10,10,8,1,0,132,136,144, + 160,192,192,160,144,136,132,6,10,10,8,1,0,128,128,128, + 128,128,128,128,128,128,252,6,10,10,8,1,0,132,132,204, + 204,180,180,132,132,132,132,6,10,10,8,1,0,132,196,196, + 164,164,148,148,140,140,132,6,10,10,8,1,0,120,132,132, + 132,132,132,132,132,132,120,6,10,10,8,1,0,248,132,132, + 132,248,128,128,128,128,128,7,11,11,8,1,255,120,132,132, + 132,132,132,132,180,204,120,6,6,10,10,8,1,0,248,132, + 132,132,248,144,136,136,132,132,6,10,10,8,1,0,120,132, + 132,128,96,24,4,132,132,120,7,10,10,8,1,0,254,16, + 16,16,16,16,16,16,16,16,6,10,10,8,1,0,132,132, + 132,132,132,132,132,132,132,120,7,10,10,8,1,0,130,130, + 130,68,68,68,40,40,16,16,6,10,10,8,1,0,132,132, + 132,132,180,180,204,204,132,132,6,10,10,8,1,0,132,132, + 72,72,48,48,72,72,132,132,7,10,10,8,1,0,130,130, + 68,68,40,16,16,16,16,16,6,10,10,8,1,0,252,4, + 4,8,16,32,64,128,128,252,3,12,12,8,4,255,224,128, + 128,128,128,128,128,128,128,128,128,224,6,10,10,8,1,0, + 128,128,64,32,32,16,16,8,4,4,3,12,12,8,1,255, + 224,32,32,32,32,32,32,32,32,32,32,224,6,3,3,8, + 1,9,48,72,132,7,1,1,8,1,255,254,3,3,3,8, + 2,10,128,64,32,6,8,8,8,1,0,120,132,4,124,132, + 132,140,116,6,11,11,8,1,0,128,128,128,184,196,132,132, + 132,132,196,184,6,8,8,8,1,0,120,132,128,128,128,128, + 132,120,6,11,11,8,1,0,4,4,4,116,140,132,132,132, + 132,140,116,6,8,8,8,1,0,120,132,132,252,128,128,132, + 120,5,11,11,8,1,0,24,32,32,32,248,32,32,32,32, + 32,32,6,11,11,8,1,254,4,116,136,136,136,112,64,120, + 132,132,120,6,11,11,8,1,0,128,128,128,184,196,132,132, + 132,132,132,132,5,11,11,8,2,0,32,32,0,96,32,32, + 32,32,32,32,248,5,13,13,8,1,254,8,8,0,24,8, + 8,8,8,8,8,8,144,96,6,11,11,8,1,0,128,128, + 128,136,144,160,192,160,144,136,132,5,11,11,8,2,0,96, + 32,32,32,32,32,32,32,32,32,248,7,8,8,8,1,0, + 236,146,146,146,146,146,146,146,6,8,8,8,1,0,184,196, + 132,132,132,132,132,132,6,8,8,8,1,0,120,132,132,132, + 132,132,132,120,6,10,10,8,1,254,184,196,132,132,132,132, + 196,184,128,128,6,10,10,8,1,254,116,140,132,132,132,132, + 140,116,4,4,6,8,8,8,1,0,184,196,132,128,128,128, + 128,128,6,8,8,8,1,0,120,132,128,96,24,4,132,120, + 5,10,10,8,1,0,32,32,32,248,32,32,32,32,32,24, + 6,8,8,8,1,0,132,132,132,132,132,132,140,116,6,8, + 8,8,1,0,132,132,132,72,72,72,48,48,7,8,8,8, + 1,0,130,146,146,146,146,146,146,108,6,8,8,8,1,0, + 132,132,72,48,48,72,132,132,6,10,10,8,1,254,132,132, + 132,132,132,76,52,4,4,120,6,8,8,8,1,0,252,4, + 8,16,32,64,128,252,3,12,12,8,3,255,96,128,128,64, + 64,128,128,64,64,128,128,96,1,14,14,8,4,254,128,128, + 128,128,128,128,128,128,128,128,128,128,128,128,3,12,12,8, + 2,255,192,32,32,64,64,32,32,64,64,32,32,192,7,3, + 3,8,1,8,98,146,140,16,16,32,16,0,254,170,170,0, + 1,128,0,0,1,128,0,115,209,202,16,75,209,202,16,115, + 223,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32, + 16,0,254,170,170,0,1,128,0,0,1,128,0,113,157,202, + 82,115,211,194,82,66,93,128,0,0,1,128,0,0,1,128, + 0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0, + 1,128,0,73,157,202,82,122,93,202,80,73,145,128,0,0, + 1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170, + 170,0,1,128,0,0,1,128,0,115,147,202,82,115,159,202, + 18,114,19,128,0,0,1,128,0,0,1,128,0,85,85,16, + 16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,75, + 147,234,82,91,159,202,82,75,147,128,0,0,1,128,0,0, + 1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128, + 0,0,1,128,0,116,185,166,164,37,165,164,164,116,185,128, + 0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0, + 254,170,170,0,1,128,0,0,1,128,0,75,209,234,16,91, + 209,202,16,75,223,128,0,0,1,128,0,0,1,128,0,85, + 85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, + 0,57,205,194,18,49,159,136,82,115,147,128,0,0,1,128, + 0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0, + 1,128,0,0,1,128,0,121,205,194,18,121,159,192,82,123, + 147,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32, + 16,0,254,170,170,0,1,128,0,0,1,128,0,75,157,201, + 32,121,25,201,4,73,57,128,0,0,1,128,0,0,1,128, + 0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0, + 1,128,0,37,221,164,132,60,133,164,132,36,153,128,0,0, + 1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170, + 170,0,1,128,0,0,1,128,0,69,205,196,144,68,137,168, + 132,16,153,128,0,0,1,128,0,0,1,128,0,85,85,16, + 16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,114, + 29,202,18,114,19,194,18,67,221,128,0,0,1,128,0,0, + 1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128, + 0,0,1,128,0,114,19,202,18,114,19,194,18,67,205,128, + 0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0, + 254,170,170,0,1,128,0,0,1,128,0,14,33,137,32,14, + 33,138,32,9,33,128,0,0,1,128,0,0,1,128,0,85, + 85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, + 0,57,221,194,2,49,141,136,80,115,159,128,0,0,1,128, + 0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0, + 1,128,0,0,1,128,0,57,221,194,2,49,141,136,66,115, + 157,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32, + 16,0,254,170,170,0,1,128,0,0,1,128,0,113,207,202, + 16,74,13,202,2,113,221,128,0,0,1,128,0,0,1,128, + 0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0, + 1,128,0,114,69,202,76,114,69,194,68,65,143,128,0,0, + 1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170, + 170,0,1,128,0,0,1,128,0,114,93,202,66,114,77,194, + 80,65,159,128,0,0,1,128,0,0,1,128,0,85,85,16, + 16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,59, + 157,193,32,49,25,137,4,113,57,128,0,0,1,128,0,0, + 1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128, + 0,0,1,128,0,57,211,194,18,66,31,194,18,57,211,128, + 0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0, + 254,170,170,0,1,128,0,0,1,128,0,34,137,182,136,42, + 169,162,216,34,137,128,0,0,1,128,0,0,1,128,0,85, + 85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, + 0,59,141,194,82,51,159,138,18,114,19,128,0,0,1,128, + 0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0, + 1,128,0,0,1,128,0,123,141,194,82,123,159,194,18,122, + 19,128,0,0,1,128,0,0,1,128,0,85,85,16,16,32, + 16,0,254,170,170,0,1,128,0,0,1,128,0,57,143,194, + 80,50,77,138,66,113,157,128,0,0,1,128,0,0,1,128, + 0,85,85,16,16,32,16,0,254,170,170,0,1,128,0,0, + 1,128,0,51,155,196,34,37,163,148,162,99,155,128,0,0, + 1,128,0,0,1,128,0,85,85,16,16,32,16,0,254,170, + 170,0,1,128,0,0,1,128,0,57,221,194,8,50,9,138, + 8,113,221,128,0,0,1,128,0,0,1,128,0,85,85,16, + 16,32,16,0,254,170,170,0,1,128,0,0,1,128,0,57, + 221,194,8,65,137,192,72,59,157,128,0,0,1,128,0,0, + 1,128,0,85,85,16,16,32,16,0,254,170,170,0,1,128, + 0,0,1,128,0,14,249,144,32,12,33,130,32,28,33,128, + 0,0,1,128,0,0,1,128,0,85,85,16,16,32,16,0, + 254,170,170,0,1,128,0,0,1,128,0,49,207,202,16,73, + 145,200,80,51,143,128,0,0,1,128,0,0,1,128,0,85, + 85,16,16,32,16,0,254,170,170,0,1,128,0,0,1,128, + 0,28,137,146,216,28,169,144,136,16,137,128,0,0,1,128, + 0,0,1,128,0,85,85,16,16,32,16,0,254,170,170,0, + 1,128,0,0,1,128,0,51,143,202,80,123,145,202,16,74, + 15,128,0,0,1,128,0,0,1,128,0,85,85,0,0,0, + 8,0,14,1,10,10,8,4,0,128,128,0,128,128,128,128, + 128,128,128,7,10,10,8,1,0,16,16,124,146,144,144,146, + 124,16,16,7,10,10,8,1,0,28,32,32,32,248,32,32, + 32,124,194,6,8,8,8,1,1,132,72,120,72,72,120,72, + 132,7,10,10,8,1,0,130,68,40,16,254,16,254,16,16, + 16,1,10,10,8,4,0,128,128,128,128,0,0,128,128,128, + 128,6,10,10,8,1,0,120,132,128,120,132,132,120,4,132, + 120,4,2,2,8,2,12,144,144,8,10,10,8,0,0,60, + 66,153,165,161,161,165,153,66,60,5,7,7,8,2,5,112, + 8,120,136,120,0,248,6,9,9,8,1,0,36,36,72,72, + 144,72,72,36,36,6,4,4,8,1,0,252,4,4,4,16, + 16,32,16,0,254,170,170,0,1,128,0,58,99,194,84,51, + 201,138,72,114,73,128,0,0,1,128,0,3,193,128,0,0, + 1,128,0,85,85,8,10,10,8,0,0,60,66,185,165,165, + 185,169,165,66,60,6,1,1,8,1,11,252,3,4,4,8, + 2,10,64,160,160,64,7,9,9,8,1,1,16,16,16,254, + 16,16,16,0,254,5,7,7,8,2,5,112,136,8,112,128, + 128,248,5,7,7,8,2,5,112,136,8,112,8,136,112,3, + 3,3,8,3,10,32,64,128,8,10,10,8,0,254,66,66, + 66,66,66,66,102,89,64,128,6,12,12,8,1,255,124,244, + 244,244,244,116,20,20,20,20,20,28,2,2,2,8,3,4, + 192,192,3,2,2,8,2,254,32,192,3,7,7,8,2,5, + 32,96,160,32,32,32,32,5,7,7,8,2,5,112,136,136, + 136,112,0,248,6,9,9,8,1,0,144,144,72,72,36,72, + 72,144,144,6,10,10,8,1,0,68,196,72,80,80,36,44, + 84,156,132,6,10,10,8,1,0,68,196,72,80,80,40,52, + 68,136,156,6,10,10,8,1,0,196,36,72,48,208,36,44, + 84,156,132,6,10,10,8,1,0,16,16,0,16,16,96,132, + 132,132,120,6,14,14,8,1,0,96,24,0,0,48,72,72, + 132,132,252,132,132,132,132,6,14,14,8,1,0,24,96,0, + 0,48,72,72,132,132,252,132,132,132,132,6,14,14,8,1, + 0,48,72,0,0,48,72,72,132,132,252,132,132,132,132,6, + 14,14,8,1,0,100,152,0,0,48,72,72,132,132,252,132, + 132,132,132,6,14,14,8,1,0,72,72,0,0,48,72,72, + 132,132,252,132,132,132,132,6,14,14,8,1,0,48,72,48, + 0,48,72,72,132,132,252,132,132,132,132,7,10,10,8,1, + 0,62,80,144,144,254,144,144,144,144,158,6,12,12,8,1, + 254,120,132,132,128,128,128,128,132,132,120,16,96,6,14,14, + 8,1,0,96,24,0,0,252,128,128,128,248,128,128,128,128, + 252,6,14,14,8,1,0,24,96,0,0,252,128,128,128,248, + 128,128,128,128,252,6,14,14,8,1,0,48,72,0,0,252, + 128,128,128,248,128,128,128,128,252,6,14,14,8,1,0,72, + 72,0,0,252,128,128,128,248,128,128,128,128,252,5,14,14, + 8,2,0,96,24,0,0,248,32,32,32,32,32,32,32,32, + 248,5,14,14,8,2,0,48,192,0,0,248,32,32,32,32, + 32,32,32,32,248,5,14,14,8,2,0,96,144,0,0,248, + 32,32,32,32,32,32,32,32,248,5,14,14,8,2,0,144, + 144,0,0,248,32,32,32,32,32,32,32,32,248,7,10,10, + 8,0,0,120,68,66,66,242,66,66,66,68,120,6,14,14, + 8,1,0,100,152,0,0,132,196,196,164,164,148,148,140,140, + 132,6,14,14,8,1,0,96,24,0,0,120,132,132,132,132, + 132,132,132,132,120,6,14,14,8,1,0,24,96,0,0,120, + 132,132,132,132,132,132,132,132,120,6,14,14,8,1,0,48, + 72,0,0,120,132,132,132,132,132,132,132,132,120,6,14,14, + 8,1,0,100,152,0,0,120,132,132,132,132,132,132,132,132, + 120,6,14,14,8,1,0,72,72,0,0,120,132,132,132,132, + 132,132,132,132,120,6,5,5,8,1,2,132,72,48,72,132, + 6,12,12,8,1,255,4,116,136,140,148,148,164,164,196,68, + 184,128,6,14,14,8,1,0,96,24,0,0,132,132,132,132, + 132,132,132,132,132,120,6,14,14,8,1,0,24,96,0,0, + 132,132,132,132,132,132,132,132,132,120,6,14,14,8,1,0, + 48,72,0,0,132,132,132,132,132,132,132,132,132,120,6,14, + 14,8,1,0,72,72,0,0,132,132,132,132,132,132,132,132, + 132,120,7,14,14,8,1,0,24,96,0,0,130,130,68,68, + 40,16,16,16,16,16,6,11,11,8,1,0,128,128,240,136, + 132,132,136,240,128,128,128,6,10,10,8,1,0,112,136,136, + 144,176,136,132,132,164,152,6,12,12,8,1,0,96,24,0, + 0,120,132,4,124,132,132,140,116,6,12,12,8,1,0,24, + 96,0,0,120,132,4,124,132,132,140,116,6,12,12,8,1, + 0,48,72,0,0,120,132,4,124,132,132,140,116,6,12,12, + 8,1,0,100,152,0,0,120,132,4,124,132,132,140,116,6, + 12,12,8,1,0,72,72,0,0,120,132,4,124,132,132,140, + 116,6,13,13,8,1,0,48,72,48,0,0,120,132,4,124, + 132,132,140,116,7,8,8,8,1,0,124,146,18,126,144,144, + 146,124,6,10,10,8,1,254,120,132,128,128,128,128,132,120, + 16,96,6,12,12,8,1,0,96,24,0,0,120,132,132,252, + 128,128,132,120,6,12,12,8,1,0,24,96,0,0,120,132, + 132,252,128,128,132,120,6,12,12,8,1,0,48,72,0,0, + 120,132,132,252,128,128,132,120,6,12,12,8,1,0,72,72, + 0,0,120,132,132,252,128,128,132,120,5,12,12,8,2,0, + 192,48,0,0,96,32,32,32,32,32,32,248,5,12,12,8, + 2,0,48,192,0,0,96,32,32,32,32,32,32,248,5,12, + 12,8,2,0,96,144,0,0,96,32,32,32,32,32,32,248, + 5,12,12,8,2,0,144,144,0,0,96,32,32,32,32,32, + 32,248,6,12,12,8,1,0,100,24,40,68,4,124,132,132, + 132,132,132,120,6,12,12,8,1,0,100,152,0,0,184,196, + 132,132,132,132,132,132,6,12,12,8,1,0,96,24,0,0, + 120,132,132,132,132,132,132,120,6,12,12,8,1,0,24,96, + 0,0,120,132,132,132,132,132,132,120,6,12,12,8,1,0, + 48,72,0,0,120,132,132,132,132,132,132,120,6,12,12,8, + 1,0,100,152,0,0,120,132,132,132,132,132,132,120,6,12, + 12,8,1,0,72,72,0,0,120,132,132,132,132,132,132,120, + 6,7,7,8,1,1,48,0,0,252,0,0,48,6,10,10, + 8,1,255,4,120,140,148,148,164,164,196,120,128,6,12,12, + 8,1,0,96,24,0,0,132,132,132,132,132,132,140,116,6, + 12,12,8,1,0,24,96,0,0,132,132,132,132,132,132,140, + 116,6,12,12,8,1,0,48,72,0,0,132,132,132,132,132, + 132,140,116,6,12,12,8,1,0,72,72,0,0,132,132,132, + 132,132,132,140,116,6,14,14,8,1,254,24,96,0,0,132, + 132,132,132,132,76,52,4,4,120,5,12,12,8,2,254,128, + 128,240,136,136,136,144,160,192,128,128,128,6,14,14,8,1, + 254,72,72,0,0,132,132,132,132,132,76,52,4,4,120}; +/* + Fontname: -gnu-Unifont-Medium-R-Normal-Sans-16-160-75-75-c-80-iso10646-1 + Copyright: Copyright (C) 2014 Roman Czyborra, Paul Hardy, Qianqian Fang, Andrew Miller, et al. Licensed under the GNU General Public License; either version 2, or (at your option) a later version, with the GNU Font Embedding Exception. + Capital A Height: 10, '1' Height: 10 + Calculated Max Values w=16 h=16 x= 4 y=14 dx=16 dy= 0 ascent=14 len=14 + Font Bounding box w=16 h=16 x= 0 y=-2 + Calculated Min Values x= 0 y=-2 dx= 0 dy= 0 + Pure Font ascent =10 descent=-2 + X Font ascent =11 descent=-2 + Max Font ascent =14 descent=-2 +*/ +#include "u8g.h" +const u8g_fntpgm_uint8_t u8g_font_unifontr[1485] U8G_FONT_SECTION("u8g_font_unifontr") = { + 0,16,16,0,254,10,1,231,3,213,32,127,254,14,254,11, + 254,0,0,0,8,0,14,1,10,10,8,4,0,128,128,128, + 128,128,128,128,0,128,128,5,4,4,8,2,8,136,136,136, + 136,6,10,10,8,1,0,36,36,36,252,72,72,252,144,144, + 144,7,10,10,8,1,0,16,124,146,144,112,28,18,146,124, + 16,7,10,10,8,1,0,98,148,148,104,16,16,44,82,82, + 140,7,10,10,8,1,0,56,68,68,40,48,82,138,132,140, + 114,1,4,4,8,4,8,128,128,128,128,3,12,12,8,3, + 255,32,64,64,128,128,128,128,128,128,64,64,32,3,12,12, + 8,2,255,128,64,64,32,32,32,32,32,32,64,64,128,7, + 7,7,8,1,1,16,146,84,56,84,146,16,7,7,7,8, + 1,1,16,16,16,254,16,16,16,2,4,4,8,3,254,192, + 64,64,128,4,1,1,8,2,4,240,2,2,2,8,3,0, + 192,192,6,10,10,8,1,0,4,4,8,16,16,32,32,64, + 128,128,6,10,10,8,1,0,48,72,132,132,132,132,132,132, + 72,48,5,10,10,8,2,0,32,96,160,32,32,32,32,32, + 32,248,6,10,10,8,1,0,120,132,132,4,24,32,64,128, + 128,252,6,10,10,8,1,0,120,132,132,4,56,4,4,132, + 132,120,6,10,10,8,1,0,8,24,40,72,136,136,252,8, + 8,8,6,10,10,8,1,0,252,128,128,128,248,4,4,4, + 132,120,6,10,10,8,1,0,56,64,128,128,248,132,132,132, + 132,120,6,10,10,8,1,0,252,4,4,8,8,8,16,16, + 16,16,6,10,10,8,1,0,120,132,132,132,120,132,132,132, + 132,120,6,10,10,8,1,0,120,132,132,132,124,4,4,4, + 8,112,2,7,7,8,3,1,192,192,0,0,0,192,192,2, + 9,9,8,3,255,192,192,0,0,0,192,64,64,128,5,9, + 9,8,2,0,8,16,32,64,128,64,32,16,8,6,5,5, + 8,1,2,252,0,0,0,252,5,9,9,8,1,0,128,64, + 32,16,8,16,32,64,128,6,10,10,8,1,0,120,132,132, + 4,8,16,16,0,16,16,6,10,10,8,1,0,56,68,148, + 172,164,164,164,156,64,60,6,10,10,8,1,0,48,72,72, + 132,132,252,132,132,132,132,6,10,10,8,1,0,248,132,132, + 132,248,132,132,132,132,248,6,10,10,8,1,0,120,132,132, + 128,128,128,128,132,132,120,6,10,10,8,1,0,240,136,132, + 132,132,132,132,132,136,240,6,10,10,8,1,0,252,128,128, + 128,248,128,128,128,128,252,6,10,10,8,1,0,252,128,128, + 128,248,128,128,128,128,128,6,10,10,8,1,0,120,132,132, + 128,128,156,132,132,140,116,6,10,10,8,1,0,132,132,132, + 132,252,132,132,132,132,132,5,10,10,8,2,0,248,32,32, + 32,32,32,32,32,32,248,7,10,10,8,1,0,62,8,8, + 8,8,8,8,136,136,112,6,10,10,8,1,0,132,136,144, + 160,192,192,160,144,136,132,6,10,10,8,1,0,128,128,128, + 128,128,128,128,128,128,252,6,10,10,8,1,0,132,132,204, + 204,180,180,132,132,132,132,6,10,10,8,1,0,132,196,196, + 164,164,148,148,140,140,132,6,10,10,8,1,0,120,132,132, + 132,132,132,132,132,132,120,6,10,10,8,1,0,248,132,132, + 132,248,128,128,128,128,128,7,11,11,8,1,255,120,132,132, + 132,132,132,132,180,204,120,6,6,10,10,8,1,0,248,132, + 132,132,248,144,136,136,132,132,6,10,10,8,1,0,120,132, + 132,128,96,24,4,132,132,120,7,10,10,8,1,0,254,16, + 16,16,16,16,16,16,16,16,6,10,10,8,1,0,132,132, + 132,132,132,132,132,132,132,120,7,10,10,8,1,0,130,130, + 130,68,68,68,40,40,16,16,6,10,10,8,1,0,132,132, + 132,132,180,180,204,204,132,132,6,10,10,8,1,0,132,132, + 72,72,48,48,72,72,132,132,7,10,10,8,1,0,130,130, + 68,68,40,16,16,16,16,16,6,10,10,8,1,0,252,4, + 4,8,16,32,64,128,128,252,3,12,12,8,4,255,224,128, + 128,128,128,128,128,128,128,128,128,224,6,10,10,8,1,0, + 128,128,64,32,32,16,16,8,4,4,3,12,12,8,1,255, + 224,32,32,32,32,32,32,32,32,32,32,224,6,3,3,8, + 1,9,48,72,132,7,1,1,8,1,255,254,3,3,3,8, + 2,10,128,64,32,6,8,8,8,1,0,120,132,4,124,132, + 132,140,116,6,11,11,8,1,0,128,128,128,184,196,132,132, + 132,132,196,184,6,8,8,8,1,0,120,132,128,128,128,128, + 132,120,6,11,11,8,1,0,4,4,4,116,140,132,132,132, + 132,140,116,6,8,8,8,1,0,120,132,132,252,128,128,132, + 120,5,11,11,8,1,0,24,32,32,32,248,32,32,32,32, + 32,32,6,11,11,8,1,254,4,116,136,136,136,112,64,120, + 132,132,120,6,11,11,8,1,0,128,128,128,184,196,132,132, + 132,132,132,132,5,11,11,8,2,0,32,32,0,96,32,32, + 32,32,32,32,248,5,13,13,8,1,254,8,8,0,24,8, + 8,8,8,8,8,8,144,96,6,11,11,8,1,0,128,128, + 128,136,144,160,192,160,144,136,132,5,11,11,8,2,0,96, + 32,32,32,32,32,32,32,32,32,248,7,8,8,8,1,0, + 236,146,146,146,146,146,146,146,6,8,8,8,1,0,184,196, + 132,132,132,132,132,132,6,8,8,8,1,0,120,132,132,132, + 132,132,132,120,6,10,10,8,1,254,184,196,132,132,132,132, + 196,184,128,128,6,10,10,8,1,254,116,140,132,132,132,132, + 140,116,4,4,6,8,8,8,1,0,184,196,132,128,128,128, + 128,128,6,8,8,8,1,0,120,132,128,96,24,4,132,120, + 5,10,10,8,1,0,32,32,32,248,32,32,32,32,32,24, + 6,8,8,8,1,0,132,132,132,132,132,132,140,116,6,8, + 8,8,1,0,132,132,132,72,72,72,48,48,7,8,8,8, + 1,0,130,146,146,146,146,146,146,108,6,8,8,8,1,0, + 132,132,72,48,48,72,132,132,6,10,10,8,1,254,132,132, + 132,132,132,76,52,4,4,120,6,8,8,8,1,0,252,4, + 8,16,32,64,128,252,3,12,12,8,3,255,96,128,128,64, + 64,128,128,64,64,128,128,96,1,14,14,8,4,254,128,128, + 128,128,128,128,128,128,128,128,128,128,128,128,3,12,12,8, + 2,255,192,32,32,64,64,32,32,64,64,32,32,192,7,3, + 3,8,1,8,98,146,140,16,16,32,16,0,254,170,170,0, + 1,128,0,0,1,128,0,115,209,202,16,75,209,202,16,115, + 223,128,0,0,1,128,0,0,1,128,0,85,85}; diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_line.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_line.c new file mode 100644 index 000000000..71a20f859 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_line.c @@ -0,0 +1,90 @@ +/* + + u8g_line.c + + Universal 8bit Graphics Library + + Copyright (c) 2012, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +*/ + +#include "u8g.h" + +void u8g_DrawLine(u8g_t *u8g, u8g_uint_t x1, u8g_uint_t y1, u8g_uint_t x2, u8g_uint_t y2) +{ + u8g_uint_t tmp; + u8g_uint_t x,y; + u8g_uint_t dx, dy; + u8g_int_t err; + u8g_int_t ystep; + + uint8_t swapxy = 0; + + /* no BBX intersection check at the moment, should be added... */ + + if ( x1 > x2 ) dx = x1-x2; else dx = x2-x1; + if ( y1 > y2 ) dy = y1-y2; else dy = y2-y1; + + if ( dy > dx ) + { + swapxy = 1; + tmp = dx; dx =dy; dy = tmp; + tmp = x1; x1 =y1; y1 = tmp; + tmp = x2; x2 =y2; y2 = tmp; + } + if ( x1 > x2 ) + { + tmp = x1; x1 =x2; x2 = tmp; + tmp = y1; y1 =y2; y2 = tmp; + } + err = dx >> 1; + if ( y2 > y1 ) ystep = 1; else ystep = -1; + y = y1; + +#ifndef U8G_16BIT + if ( x2 == 255 ) + x2--; +#else + if ( x2 == 0xffff ) + x2--; +#endif + + for( x = x1; x <= x2; x++ ) + { + if ( swapxy == 0 ) + u8g_DrawPixel(u8g, x, y); + else + u8g_DrawPixel(u8g, y, x); + err -= (uint8_t)dy; + if ( err < 0 ) + { + y += (u8g_uint_t)ystep; + err += (u8g_uint_t)dx; + } + } +} diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_ll_api.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_ll_api.c new file mode 100644 index 000000000..631095740 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_ll_api.c @@ -0,0 +1,581 @@ +/* + + u8g_ll_api.c + + low level api + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +*/ + +#include +#include "u8g.h" + +uint8_t u8g_call_dev_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + return dev->dev_fn(u8g, dev, msg, arg); +} + +/*====================================================================*/ + +uint8_t u8g_InitLL(u8g_t *u8g, u8g_dev_t *dev) +{ + uint8_t r; + u8g->state_cb(U8G_STATE_MSG_BACKUP_ENV); + r = u8g_call_dev_fn(u8g, dev, U8G_DEV_MSG_INIT, NULL); + u8g->state_cb(U8G_STATE_MSG_BACKUP_U8G); + u8g->state_cb(U8G_STATE_MSG_RESTORE_ENV); + return r; +} + +void u8g_FirstPageLL(u8g_t *u8g, u8g_dev_t *dev) +{ + u8g->state_cb(U8G_STATE_MSG_BACKUP_ENV); + u8g->state_cb(U8G_STATE_MSG_RESTORE_U8G); + u8g_call_dev_fn(u8g, dev, U8G_DEV_MSG_PAGE_FIRST, NULL); + u8g_call_dev_fn(u8g, dev, U8G_DEV_MSG_GET_PAGE_BOX, &(u8g->current_page)); + u8g->state_cb(U8G_STATE_MSG_RESTORE_ENV); +} + +uint8_t u8g_NextPageLL(u8g_t *u8g, u8g_dev_t *dev) +{ + uint8_t r; + u8g->state_cb(U8G_STATE_MSG_BACKUP_ENV); + u8g->state_cb(U8G_STATE_MSG_RESTORE_U8G); + r = u8g_call_dev_fn(u8g, dev, U8G_DEV_MSG_PAGE_NEXT, NULL); + if ( r != 0 ) + { + u8g_call_dev_fn(u8g, dev, U8G_DEV_MSG_GET_PAGE_BOX, &(u8g->current_page)); + } + u8g->state_cb(U8G_STATE_MSG_RESTORE_ENV); + return r; +} + +uint8_t u8g_SetContrastLL(u8g_t *u8g, u8g_dev_t *dev, uint8_t contrast) +{ + return u8g_call_dev_fn(u8g, dev, U8G_DEV_MSG_CONTRAST, &contrast); +} + +void u8g_DrawPixelLL(u8g_t *u8g, u8g_dev_t *dev, u8g_uint_t x, u8g_uint_t y) +{ + u8g_dev_arg_pixel_t *arg = &(u8g->arg_pixel); + arg->x = x; + arg->y = y; + u8g_call_dev_fn(u8g, dev, U8G_DEV_MSG_SET_PIXEL, arg); +} + +void u8g_Draw8PixelLL(u8g_t *u8g, u8g_dev_t *dev, u8g_uint_t x, u8g_uint_t y, uint8_t dir, uint8_t pixel) +{ + u8g_dev_arg_pixel_t *arg = &(u8g->arg_pixel); + arg->x = x; + arg->y = y; + arg->dir = dir; + arg->pixel = pixel; + u8g_call_dev_fn(u8g, dev, U8G_DEV_MSG_SET_8PIXEL, arg); +} + +void u8g_Draw4TPixelLL(u8g_t *u8g, u8g_dev_t *dev, u8g_uint_t x, u8g_uint_t y, uint8_t dir, uint8_t pixel) +{ + u8g_dev_arg_pixel_t *arg = &(u8g->arg_pixel); + arg->x = x; + arg->y = y; + arg->dir = dir; + arg->pixel = pixel; + u8g_call_dev_fn(u8g, dev, U8G_DEV_MSG_SET_4TPIXEL, arg); +} + + +#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION +uint8_t u8g_IsBBXIntersectionLL(u8g_t *u8g, u8g_dev_t *dev, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h) +{ + return u8g_call_dev_fn(u8g, dev, U8G_DEV_MSG_IS_BBX_INTERSECTION, &arg); +} +#endif + + + +u8g_uint_t u8g_GetWidthLL(u8g_t *u8g, u8g_dev_t *dev) +{ + u8g_uint_t r; + u8g_call_dev_fn(u8g, dev, U8G_DEV_MSG_GET_WIDTH, &r); + return r; +} + +u8g_uint_t u8g_GetHeightLL(u8g_t *u8g, u8g_dev_t *dev) +{ + u8g_uint_t r; + u8g_call_dev_fn(u8g, dev, U8G_DEV_MSG_GET_HEIGHT, &r); + return r; +} + +u8g_uint_t u8g_GetModeLL(u8g_t *u8g, u8g_dev_t *dev) +{ + return u8g_call_dev_fn(u8g, dev, U8G_DEV_MSG_GET_MODE, NULL); +} + + + +/*====================================================================*/ + +void u8g_UpdateDimension(u8g_t *u8g) +{ + u8g->width = u8g_GetWidthLL(u8g, u8g->dev); + u8g->height = u8g_GetHeightLL(u8g, u8g->dev); + u8g->mode = u8g_GetModeLL(u8g, u8g->dev); + /* 9 Dec 2012: u8g_scale.c requires update of current page */ + u8g_call_dev_fn(u8g, u8g->dev, U8G_DEV_MSG_GET_PAGE_BOX, &(u8g->current_page)); +} + +static void u8g_init_data(u8g_t *u8g) +{ + u8g->font = NULL; + u8g->cursor_font = NULL; + u8g->cursor_bg_color = 0; + u8g->cursor_fg_color = 1; + u8g->cursor_encoding = 34; + u8g->cursor_fn = (u8g_draw_cursor_fn)0; + +#if defined(U8G_WITH_PINLIST) + { + uint8_t i; + for( i = 0; i < U8G_PIN_LIST_LEN; i++ ) + u8g->pin_list[i] = U8G_PIN_NONE; + } +#endif + + u8g_SetColorIndex(u8g, 1); + + u8g_SetFontPosBaseline(u8g); + + u8g->font_height_mode = U8G_FONT_HEIGHT_MODE_XTEXT; + u8g->font_ref_ascent = 0; + u8g->font_ref_descent = 0; + u8g->font_line_spacing_factor = 64; /* 64 = 1.0, 77 = 1.2 line spacing factor */ + u8g->line_spacing = 0; + + u8g->state_cb = u8g_state_dummy_cb; + +} + +uint8_t u8g_Begin(u8g_t *u8g) +{ + /* call and init low level driver and com device */ + if ( u8g_InitLL(u8g, u8g->dev) == 0 ) + return 0; + /* fetch width and height from the low level */ + u8g_UpdateDimension(u8g); + return 1; +} + +uint8_t u8g_Init(u8g_t *u8g, u8g_dev_t *dev) +{ + u8g_init_data(u8g); + u8g->dev = dev; + + /* On the Arduino Environment this will lead to two calls to u8g_Begin(), the following line will be called first (by U8glib constructors) */ + /* if - in future releases - this is removed, then still call u8g_UpdateDimension() */ + /* if Arduino call u8g_UpdateDimension else u8g_Begin */ + /* issue 146 */ + return u8g_Begin(u8g); +} + +/* special init for pure ARM systems */ +uint8_t u8g_InitComFn(u8g_t *u8g, u8g_dev_t *dev, u8g_com_fnptr com_fn) +{ + u8g_init_data(u8g); + +#if defined(U8G_WITH_PINLIST) + { + uint8_t i; + for( i = 0; i < U8G_PIN_LIST_LEN; i++ ) + u8g->pin_list[i] = U8G_PIN_DUMMY; + } +#endif + + u8g->dev = dev; + + /* replace the device procedure with a custom communication procedure */ + u8g->dev->com_fn = com_fn; + + /* On the Arduino Environment this will lead to two calls to u8g_Begin(), the following line will be called first (by U8glib constructors) */ + /* if - in future releases - this is removed, then still call u8g_UpdateDimension() */ + /* if Arduino call u8g_UpdateDimension else u8g_Begin */ + /* issue 146 */ + return u8g_Begin(u8g); +} + + +#if defined(U8G_WITH_PINLIST) +uint8_t u8g_InitSPI(u8g_t *u8g, u8g_dev_t *dev, uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset) +{ + + /* fill data structure with some suitable values */ + u8g_init_data(u8g); + u8g->dev = dev; + + /* assign user pins */ + u8g->pin_list[U8G_PI_SCK] = sck; + u8g->pin_list[U8G_PI_MOSI] = mosi; + u8g->pin_list[U8G_PI_CS] = cs; + u8g->pin_list[U8G_PI_A0] = a0; + u8g->pin_list[U8G_PI_RESET] = reset; + + /* On the Arduino Environment this will lead to two calls to u8g_Begin(), the following line will be called first (by U8glib constructors) */ + /* if - in future releases - this is removed, then still call u8g_UpdateDimension() */ + /* if Arduino call u8g_UpdateDimension else u8g_Begin */ + /* issue 146 */ + return u8g_Begin(u8g); +} + +uint8_t u8g_InitHWSPI(u8g_t *u8g, u8g_dev_t *dev, uint8_t cs, uint8_t a0, uint8_t reset) +{ + /* fill data structure with some suitable values */ + u8g_init_data(u8g); + u8g->dev = dev; + + + /* assign user pins */ + u8g->pin_list[U8G_PI_CS] = cs; + u8g->pin_list[U8G_PI_A0] = a0; + u8g->pin_list[U8G_PI_RESET] = reset; + + return u8g_Begin(u8g); +} + +uint8_t u8g_InitI2C(u8g_t *u8g, u8g_dev_t *dev, uint8_t options) +{ + /* fill data structure with some suitable values */ + u8g_init_data(u8g); + u8g->dev = dev; + + u8g->pin_list[U8G_PI_I2C_OPTION] = options; + + return u8g_Begin(u8g); +} + + +uint8_t u8g_Init8BitFixedPort(u8g_t *u8g, u8g_dev_t *dev, uint8_t en, uint8_t cs, uint8_t di, uint8_t rw, uint8_t reset) +{ + + /* fill data structure with some suitable values */ + u8g_init_data(u8g); + u8g->dev = dev; + + /* assign user pins */ + + u8g->pin_list[U8G_PI_EN] = en; + u8g->pin_list[U8G_PI_CS] = cs; + u8g->pin_list[U8G_PI_DI] = di; + u8g->pin_list[U8G_PI_RW] = rw; + u8g->pin_list[U8G_PI_RESET] = reset; + + return u8g_Begin(u8g); +} + +uint8_t u8g_Init8Bit(u8g_t *u8g, u8g_dev_t *dev, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, + uint8_t en, uint8_t cs1, uint8_t cs2, uint8_t di, uint8_t rw, uint8_t reset) +{ + + /* fill data structure with some suitable values */ + u8g_init_data(u8g); + u8g->dev = dev; + + /* assign user pins */ + + u8g->pin_list[U8G_PI_D0] = d0; + u8g->pin_list[U8G_PI_D1] = d1; + u8g->pin_list[U8G_PI_D2] = d2; + u8g->pin_list[U8G_PI_D3] = d3; + u8g->pin_list[U8G_PI_D4] = d4; + u8g->pin_list[U8G_PI_D5] = d5; + u8g->pin_list[U8G_PI_D6] = d6; + u8g->pin_list[U8G_PI_D7] = d7; + + u8g->pin_list[U8G_PI_EN] = en; + u8g->pin_list[U8G_PI_CS1] = cs1; + u8g->pin_list[U8G_PI_CS2] = cs2; + u8g->pin_list[U8G_PI_DI] = di; + u8g->pin_list[U8G_PI_RW] = rw; + u8g->pin_list[U8G_PI_RESET] = reset; + + return u8g_Begin(u8g); +} + +/* + + PIN_D0 8 + PIN_D1 9 + PIN_D2 10 + PIN_D3 11 + PIN_D4 4 + PIN_D5 5 + PIN_D6 6 + PIN_D7 7 + + PIN_CS 14 + PIN_A0 15 + PIN_RESET 16 + PIN_WR 17 + PIN_RD 18 + + u8g_InitRW8Bit(u8g, dev, d0, d1, d2, d3, d4, d5, d6, d7, cs, a0, wr, rd, reset) + u8g_InitRW8Bit(u8g, dev, 8, 9, 10, 11, 4, 5, 6, 7, 14, 15, 17, 18, 16) + +*/ + +uint8_t u8g_InitRW8Bit(u8g_t *u8g, u8g_dev_t *dev, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, + uint8_t cs, uint8_t a0, uint8_t wr, uint8_t rd, uint8_t reset) +{ + + /* fill data structure with some suitable values */ + u8g_init_data(u8g); + u8g->dev = dev; + + /* assign user pins */ + + u8g->pin_list[U8G_PI_D0] = d0; + u8g->pin_list[U8G_PI_D1] = d1; + u8g->pin_list[U8G_PI_D2] = d2; + u8g->pin_list[U8G_PI_D3] = d3; + u8g->pin_list[U8G_PI_D4] = d4; + u8g->pin_list[U8G_PI_D5] = d5; + u8g->pin_list[U8G_PI_D6] = d6; + u8g->pin_list[U8G_PI_D7] = d7; + + u8g->pin_list[U8G_PI_CS] = cs; + u8g->pin_list[U8G_PI_A0] = a0; + u8g->pin_list[U8G_PI_WR] = wr; + u8g->pin_list[U8G_PI_RD] = rd; + u8g->pin_list[U8G_PI_RESET] = reset; + + return u8g_Begin(u8g); +} +#endif /* defined(U8G_WITH_PINLIST) */ + +void u8g_FirstPage(u8g_t *u8g) +{ + u8g_FirstPageLL(u8g, u8g->dev); +} + +uint8_t u8g_NextPage(u8g_t *u8g) +{ + if ( u8g->cursor_fn != (u8g_draw_cursor_fn)0 ) + { + u8g->cursor_fn(u8g); + } + return u8g_NextPageLL(u8g, u8g->dev); +} + +uint8_t u8g_SetContrast(u8g_t *u8g, uint8_t contrast) +{ + return u8g_SetContrastLL(u8g, u8g->dev, contrast); +} + +void u8g_SleepOn(u8g_t *u8g) +{ + u8g_call_dev_fn(u8g, u8g->dev, U8G_DEV_MSG_SLEEP_ON, NULL); +} + +void u8g_SleepOff(u8g_t *u8g) +{ + u8g_call_dev_fn(u8g, u8g->dev, U8G_DEV_MSG_SLEEP_OFF, NULL); +} + + +void u8g_DrawPixel(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y) +{ + u8g_DrawPixelLL(u8g, u8g->dev, x, y); +} + +void u8g_Draw8Pixel(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t dir, uint8_t pixel) +{ + u8g_Draw8PixelLL(u8g, u8g->dev, x, y, dir, pixel); +} + +void u8g_Draw4TPixel(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t dir, uint8_t pixel) +{ + u8g_Draw4TPixelLL(u8g, u8g->dev, x, y, dir, pixel); +} + +void u8g_Draw8ColorPixel(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t colpixel) +{ + u8g_dev_arg_pixel_t *arg = &(u8g->arg_pixel); + arg->x = x; + arg->y = y; + arg->dir = 0; + arg->pixel = 0x80; + arg->color = colpixel; + u8g_call_dev_fn(u8g, u8g->dev, U8G_DEV_MSG_SET_8PIXEL, arg); +} + +/* u8g_IsBBXIntersection() has been moved to u8g_clip.c */ +#ifdef OBSOLETE_CODE +uint8_t u8g_IsBBXIntersection(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h) +{ + /* new code */ + u8g_dev_arg_bbx_t arg; + arg.x = x; + arg.y = y; + arg.w = w; + arg.h = h; + return u8g_is_box_bbx_intersection(&(u8g->current_page), &arg); + + /* old code */ + //return u8g_IsBBXIntersectionLL(u8g, u8g->dev, x, y, w, h); +} +#endif + +/* + idx: index for the palette entry (0..255) + r: value for red (0..255) + g: value for green (0..255) + b: value for blue (0..255) +*/ +void u8g_SetColorEntry(u8g_t *u8g, uint8_t idx, uint8_t r, uint8_t g, uint8_t b) +{ + u8g_dev_arg_irgb_t irgb; + irgb.idx = idx; + irgb.r = r; + irgb.g = g; + irgb.b = b; + u8g_call_dev_fn(u8g, u8g->dev, U8G_DEV_MSG_SET_COLOR_ENTRY, &irgb); +} + +void u8g_SetColorIndex(u8g_t *u8g, uint8_t idx) +{ + u8g->arg_pixel.color = idx; + /*u8g->color_index = idx; */ /* must be removed */ +} + +void u8g_SetHiColor(u8g_t *u8g, uint16_t rgb) +{ + u8g->arg_pixel.color = rgb&255; + u8g->arg_pixel.hi_color = rgb>>8; + /*u8g->color_index = idx; */ /* must be removed */ +} + +void u8g_SetHiColorByRGB(u8g_t *u8g, uint8_t r, uint8_t g, uint8_t b) +{ + + r &= ~7; + g >>= 2; + b >>= 3; + u8g->arg_pixel.color = b; + u8g->arg_pixel.color |= (g & 7) << 5; + u8g->arg_pixel.hi_color = r; + u8g->arg_pixel.hi_color |= (g>>3) & 7; + + //u8g_SetHiColor(u8g, U8G_GET_HICOLOR_BY_RGB(r,g,b)); +} + +void u8g_SetRGB(u8g_t *u8g, uint8_t r, uint8_t g, uint8_t b) +{ + if ( u8g->mode == U8G_MODE_R3G3B2 ) + { + r &= 0x0e0; + g &= 0x0e0; + g >>= 3; + b >>= 6; + u8g->arg_pixel.color = r | g | b; + } + else if ( u8g->mode == U8G_MODE_HICOLOR ) + { + u8g_SetHiColorByRGB(u8g, r,g,b); + } + else + { + u8g->arg_pixel.color = r; + u8g->arg_pixel.hi_color = g; + u8g->arg_pixel.blue = b; + } +} + + +uint8_t u8g_GetColorIndex(u8g_t *u8g) +{ + return u8g->arg_pixel.color; +} + +uint8_t u8g_GetDefaultForegroundColor(u8g_t *u8g) +{ + uint8_t mode; + mode = u8g_GetMode(u8g); + if ( mode == U8G_MODE_R3G3B2 ) + return 255; /* white */ + else if ( u8g_GetMode(u8g) == U8G_MODE_GRAY2BIT ) + return 3; /* max intensity */ + /* if ( u8g.getMode() == U8G_MODE_BW ) */ + return 1; /* pixel on */ +} + +void u8g_SetDefaultForegroundColor(u8g_t *u8g) +{ + if ( u8g->mode == U8G_MODE_HICOLOR ) + { + u8g->arg_pixel.color = 0x0ff; + u8g->arg_pixel.hi_color = 0x0ff; + } + else + { + u8g_SetColorIndex(u8g, u8g_GetDefaultForegroundColor(u8g)); + } +} + +uint8_t u8g_GetDefaultBackgroundColor(u8g_t *u8g) +{ + return 0; +} + +void u8g_SetDefaultBackgroundColor(u8g_t *u8g) +{ + u8g_SetColorIndex(u8g, u8g_GetDefaultBackgroundColor(u8g)); /* pixel on / black */ +} + +uint8_t u8g_GetDefaultMidColor(u8g_t *u8g) +{ + uint8_t mode; + mode = u8g_GetMode(u8g); + if ( mode == U8G_MODE_R3G3B2 ) + return 0x06d; /* gray: 01101101 */ + else if ( mode == U8G_MODE_GRAY2BIT ) + return 1; /* low mid intensity */ + /* if ( u8g.getMode() == U8G_MODE_BW ) */ + return 1; /* pixel on */ +} + +void u8g_SetDefaultMidColor(u8g_t *u8g) +{ + u8g_SetColorIndex(u8g, u8g_GetDefaultMidColor(u8g)); +} + + + + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_page.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_page.c new file mode 100644 index 000000000..1a3eb21ed --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_page.c @@ -0,0 +1,81 @@ +/* + + u8g_page.c + + page helper functions, only called by the dev handler. + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +*/ + +#include "u8g.h" + +/* + setup page count structure + conditions: page_height <= total_height +*/ +void u8g_page_Init(u8g_page_t *p, u8g_uint_t page_height, u8g_uint_t total_height ) +{ + p->page_height = page_height; + p->total_height = total_height; + p->page = 0; + u8g_page_First(p); +} + +void u8g_page_First(u8g_page_t *p) +{ + p->page_y0 = 0; + p->page_y1 = p->page_height; + p->page_y1--; + p->page = 0; +} + +uint8_t u8g_page_Next(u8g_page_t * p) +{ + register u8g_uint_t y1; + p->page_y0 += p->page_height; + if ( p->page_y0 >= p->total_height ) + return 0; + p->page++; + y1 = p->page_y1; + y1 += p->page_height; + if ( y1 >= p->total_height ) + { + y1 = p->total_height; + y1--; + } + p->page_y1 = y1; + + return 1; +} + + + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_pb.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_pb.c new file mode 100644 index 000000000..a94647361 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_pb.c @@ -0,0 +1,191 @@ +/* + + u8g_pb.c + + common procedures for the page buffer + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +*/ + +#include "u8g.h" + +void u8g_pb_Clear(u8g_pb_t *b) +{ + uint8_t *ptr = (uint8_t *)b->buf; + uint8_t *end_ptr = ptr; + end_ptr += b->width; + do + { + *ptr++ = 0; + } while( ptr != end_ptr ); +} + +/* the following procedure does not work. why? Can be checked with descpic */ +/* +void u8g_pb_Clear(u8g_pb_t *b) +{ + uint8_t *ptr = (uint8_t *)b->buf; + uint8_t cnt = b->width; + do + { + *ptr++ = 0; + cnt--; + } while( cnt != 0 ); +} +*/ + +/* + intersection assumptions: + a1 <= a2 is always true +*/ + /* + minimized version + ---1----0 1 b1 <= a2 && b1 > b2 + -----1--0 1 b2 >= a1 && b1 > b2 + ---1-1--- 1 b1 <= a2 && b2 >= a1 + */ +/* +uint8_t u8g_pb8v1_IsYIntersection___Old(u8g_pb_t *b, u8g_uint_t v0, u8g_uint_t v1) +{ + uint8_t c0, c1, c; + c0 = v0 <= b->p.page_y1; + c1 = v1 >= b->p.page_y0; + c = v0 > v1; + if ( c0 && c1 ) return 1; + if ( c0 && c ) return 1; + if ( c1 && c ) return 1; + return 0; +} +*/ + +uint8_t u8g_pb_IsYIntersection(u8g_pb_t *pb, u8g_uint_t v0, u8g_uint_t v1) +{ + uint8_t c1, c2, c3, tmp; + c1 = v0 <= pb->p.page_y1; + c2 = v1 >= pb->p.page_y0; + c3 = v0 > v1; + /* + if ( c1 && c2 ) + return 1; + if ( c1 && c3 ) + return 1; + if ( c2 && c3 ) + return 1; + return 0; + */ + + tmp = c1; + c1 &= c2; + c2 &= c3; + c3 &= tmp; + c1 |= c2; + c1 |= c3; + return c1 & 1; +} + + +uint8_t u8g_pb_IsXIntersection(u8g_pb_t *b, u8g_uint_t v0, u8g_uint_t v1) +{ + uint8_t /*c0, c1, */ c2, c3; + /* + conditions: b->p.page_y0 < b->p.page_y1 + there are no restriction on v0 and v1. If v0 > v1, then warp around unsigned is assumed + */ + /* + c0 = v0 < 0; + c1 = v1 < 0; + */ + c2 = v0 > b->width; + c3 = v1 > b->width; + /*if ( c0 && c1 ) return 0;*/ + if ( c2 && c3 ) return 0; + /*if ( c1 && c2 ) return 0;*/ + return 1; +} + +uint8_t u8g_pb_IsIntersection(u8g_pb_t *pb, u8g_dev_arg_bbx_t *bbx) +{ + u8g_uint_t tmp; + + tmp = bbx->y; + tmp += bbx->h; + tmp--; + + if ( u8g_pb_IsYIntersection(pb, bbx->y, tmp) == 0 ) + return 0; + + /* maybe this one can be skiped... probability is very high to have an intersection, so it would be ok to always return 1 */ + tmp = bbx->x; + tmp += bbx->w; + tmp--; + + return u8g_pb_IsXIntersection(pb, bbx->x, tmp); +} + +void u8g_pb_GetPageBox(u8g_pb_t *pb, u8g_box_t *box) +{ + box->x0 = 0; + box->y0 = pb->p.page_y0; + box->x1 = pb->width; + box->x1--; + box->y1 = pb->p.page_y1; +} + + +uint8_t u8g_pb_Is8PixelVisible(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) +{ + u8g_uint_t v0, v1; + v0 = arg_pixel->y; + v1 = v0; + switch( arg_pixel->dir ) + { + case 0: + break; + case 1: + v1 += 8; /* this is independent from the page height */ + break; + case 2: + break; + case 3: + v0 -= 8; + break; + } + return u8g_pb_IsYIntersection(b, v0, v1); +} + + + +uint8_t u8g_pb_WriteBuffer(u8g_pb_t *b, u8g_t *u8g, u8g_dev_t *dev) +{ + return u8g_WriteSequence(u8g, dev, b->width, b->buf); +} + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_pb14v1.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_pb14v1.c new file mode 100644 index 000000000..d8667f35a --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_pb14v1.c @@ -0,0 +1,200 @@ +/* + + u8g_pb14v1.c + + 14bit height monochrom (1 bit) page buffer, + byte has vertical orientation, 7 bits per byte + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +*/ + +#include "u8g.h" +#include + + +void u8g_pb14v1_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) U8G_NOINLINE; +void u8g_pb14v1_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) U8G_NOINLINE; +void u8g_pb14v1_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) U8G_NOINLINE ; +void u8g_pb14v1_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) U8G_NOINLINE; + + +void u8g_pb14v1_Clear(u8g_pb_t *b) +{ + uint8_t *ptr = (uint8_t *)b->buf; + uint8_t *end_ptr = ptr; + end_ptr += b->width*2; + do + { + *ptr++ = 0; + } while( ptr != end_ptr ); +} + +/* Obsolete, usually set by the init of the structure */ +void u8g_pb14v1_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) +{ + b->buf = buf; + b->width = width; + u8g_pb14v1_Clear(b); +} + +void u8g_pb14v1_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) +{ + register uint8_t mask; + uint8_t *ptr = b->buf; + + y -= b->p.page_y0; + if ( y >= 7 ) + { + ptr += b->width; + y -= 7; + } + mask = 1; + mask <<= y; + ptr += x; + if ( color_index ) + { + *ptr |= mask; + } + else + { + mask ^=0xff; + *ptr &= mask; + } +} + + +void u8g_pb14v1_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) +{ + if ( arg_pixel->y < b->p.page_y0 ) + return; + if ( arg_pixel->y > b->p.page_y1 ) + return; + if ( arg_pixel->x >= b->width ) + return; + u8g_pb14v1_set_pixel(b, arg_pixel->x, arg_pixel->y, arg_pixel->color); +} + +void u8g_pb14v1_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) +{ + register uint8_t pixel = arg_pixel->pixel; + do + { + if ( pixel & 128 ) + { + u8g_pb14v1_SetPixel(b, arg_pixel); + } + switch( arg_pixel->dir ) + { + case 0: arg_pixel->x++; break; + case 1: arg_pixel->y++; break; + case 2: arg_pixel->x--; break; + case 3: arg_pixel->y--; break; + } + pixel <<= 1; + } while( pixel != 0 ); +} + + +void u8g_pb14v1_Set8PixelOpt2(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) +{ + register uint8_t pixel = arg_pixel->pixel; + u8g_uint_t dx = 0; + u8g_uint_t dy = 0; + + switch( arg_pixel->dir ) + { + case 0: dx++; break; + case 1: dy++; break; + case 2: dx--; break; + case 3: dy--; break; + } + + do + { + if ( pixel & 128 ) + u8g_pb14v1_SetPixel(b, arg_pixel); + arg_pixel->x += dx; + arg_pixel->y += dy; + pixel <<= 1; + } while( pixel != 0 ); + +} + +uint8_t u8g_dev_pb14v1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + switch(msg) + { + case U8G_DEV_MSG_SET_8PIXEL: + if ( u8g_pb_Is8PixelVisible(pb, (u8g_dev_arg_pixel_t *)arg) ) + u8g_pb14v1_Set8PixelOpt2(pb, (u8g_dev_arg_pixel_t *)arg); + break; + case U8G_DEV_MSG_SET_PIXEL: + u8g_pb14v1_SetPixel(pb, (u8g_dev_arg_pixel_t *)arg); + break; + case U8G_DEV_MSG_INIT: + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_FIRST: + u8g_pb14v1_Clear(pb); + u8g_page_First(&(pb->p)); + break; + case U8G_DEV_MSG_PAGE_NEXT: + if ( u8g_page_Next(&(pb->p)) == 0 ) + return 0; + u8g_pb14v1_Clear(pb); + break; +#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION + case U8G_DEV_MSG_IS_BBX_INTERSECTION: + return u8g_pb_IsIntersection(pb, (u8g_dev_arg_bbx_t *)arg); +#endif + case U8G_DEV_MSG_GET_PAGE_BOX: + u8g_pb_GetPageBox(pb, (u8g_box_t *)arg); + break; + case U8G_DEV_MSG_GET_WIDTH: + *((u8g_uint_t *)arg) = pb->width; + break; + case U8G_DEV_MSG_GET_HEIGHT: + *((u8g_uint_t *)arg) = pb->p.total_height; + break; + case U8G_DEV_MSG_SET_COLOR_ENTRY: + break; + case U8G_DEV_MSG_SET_XY_CB: + break; + case U8G_DEV_MSG_GET_MODE: + return U8G_MODE_BW; + } + return 1; +} + + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_pb16h1.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_pb16h1.c new file mode 100644 index 000000000..d598633fa --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_pb16h1.c @@ -0,0 +1,213 @@ +/* + + u8g_pb16h1.c + + 2x 8bit height monochrom (1 bit) page buffer + byte has horizontal orientation + + Universal 8bit Graphics Library + + Copyright (c) 2012, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + total buffer size is limited to 2*256 bytes because of the calculation inside the set pixel procedure + + +*/ + +#include "u8g.h" +#include + + +void u8g_pb16h1_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) U8G_NOINLINE; +void u8g_pb16h1_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) U8G_NOINLINE; +void u8g_pb16h1_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) U8G_NOINLINE ; +void u8g_pb16h1_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) U8G_NOINLINE; +uint8_t u8g_dev_pb8h1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); + +void u8g_pb16h1_Clear(u8g_pb_t *b) +{ + uint8_t *ptr = (uint8_t *)b->buf; + uint8_t *end_ptr = ptr; + end_ptr += b->width*2; + do + { + *ptr++ = 0; + } while( ptr != end_ptr ); +} + + + +void u8g_pb16h1_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) +{ + b->buf = buf; + b->width = width; + u8g_pb16h1_Clear(b); +} + + +/* limitation: total buffer must not exceed 2*256 bytes */ +void u8g_pb16h1_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) +{ + register uint8_t mask; + u8g_uint_t tmp; + uint8_t *ptr = b->buf; + + y -= b->p.page_y0; + if ( y >= 8 ) + { + ptr += b->width; + y &= 0x07; + } + tmp = b->width; + tmp >>= 3; + tmp *= (uint8_t)y; + ptr += tmp; + + mask = 0x080; + mask >>= x & 7; + x >>= 3; + ptr += x; + if ( color_index ) + { + *ptr |= mask; + } + else + { + mask ^=0xff; + *ptr &= mask; + } + +} + + +void u8g_pb16h1_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) +{ + if ( arg_pixel->y < b->p.page_y0 ) + return; + if ( arg_pixel->y > b->p.page_y1 ) + return; + if ( arg_pixel->x >= b->width ) + return; + u8g_pb16h1_set_pixel(b, arg_pixel->x, arg_pixel->y, arg_pixel->color); +} + +void u8g_pb16h1_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) +{ + register uint8_t pixel = arg_pixel->pixel; + do + { + if ( pixel & 128 ) + { + u8g_pb16h1_SetPixel(b, arg_pixel); + } + switch( arg_pixel->dir ) + { + case 0: arg_pixel->x++; break; + case 1: arg_pixel->y++; break; + case 2: arg_pixel->x--; break; + case 3: arg_pixel->y--; break; + } + pixel <<= 1; + } while( pixel != 0 ); +} + +void u8g_pb16h1_Set8PixelOpt2(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) +{ + register uint8_t pixel = arg_pixel->pixel; + u8g_uint_t dx = 0; + u8g_uint_t dy = 0; + + switch( arg_pixel->dir ) + { + case 0: dx++; break; + case 1: dy++; break; + case 2: dx--; break; + case 3: dy--; break; + } + + do + { + if ( pixel & 128 ) + u8g_pb16h1_SetPixel(b, arg_pixel); + arg_pixel->x += dx; + arg_pixel->y += dy; + pixel <<= 1; + } while( pixel != 0 ); +} + + +uint8_t u8g_dev_pb16h1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + switch(msg) + { + case U8G_DEV_MSG_SET_8PIXEL: + if ( u8g_pb_Is8PixelVisible(pb, (u8g_dev_arg_pixel_t *)arg) ) + u8g_pb16h1_Set8PixelOpt2(pb, (u8g_dev_arg_pixel_t *)arg); + break; + case U8G_DEV_MSG_SET_PIXEL: + u8g_pb16h1_SetPixel(pb, (u8g_dev_arg_pixel_t *)arg); + break; + case U8G_DEV_MSG_INIT: + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_FIRST: + u8g_pb16h1_Clear(pb); + u8g_page_First(&(pb->p)); + break; + case U8G_DEV_MSG_PAGE_NEXT: + if ( u8g_page_Next(&(pb->p)) == 0 ) + return 0; + u8g_pb16h1_Clear(pb); + break; +#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION + case U8G_DEV_MSG_IS_BBX_INTERSECTION: + return u8g_pb_IsIntersection(pb, (u8g_dev_arg_bbx_t *)arg); +#endif + case U8G_DEV_MSG_GET_PAGE_BOX: + u8g_pb_GetPageBox(pb, (u8g_box_t *)arg); + break; + case U8G_DEV_MSG_GET_WIDTH: + *((u8g_uint_t *)arg) = pb->width; + break; + case U8G_DEV_MSG_GET_HEIGHT: + *((u8g_uint_t *)arg) = pb->p.total_height; + break; + case U8G_DEV_MSG_SET_COLOR_ENTRY: + break; + case U8G_DEV_MSG_SET_XY_CB: + break; + case U8G_DEV_MSG_GET_MODE: + return U8G_MODE_BW; + } + return 1; +} + + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_pb16h2.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_pb16h2.c new file mode 100644 index 000000000..2d0523cf8 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_pb16h2.c @@ -0,0 +1,208 @@ +/* + + u8g_pb16h2.c + + 2 bit per pixel page buffer + byte has horizontal orientation + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +*/ + +#include "u8g.h" +#include + +void u8g_pb16h2_Clear(u8g_pb_t *b) +{ + uint8_t *ptr = (uint8_t *)b->buf; + uint8_t *end_ptr = ptr; + + /* two bits per pixel, 16 bits height --> 8 pixel --> 4 pixel per byte */ + end_ptr += b->width; + end_ptr += b->width; + + do + { + *ptr++ = 0; + } while( ptr != end_ptr ); +} + +void u8g_pb16h2_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) +{ + b->buf = buf; + b->width = width; + u8g_pb16h2_Clear(b); +} + +static void u8g_pb16h2_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index, uint8_t is_or) U8G_NOINLINE; +static void u8g_pb16h2_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index, uint8_t is_or) +{ + register uint8_t mask; + register uint16_t tmp; + + uint8_t *ptr = b->buf; + + y -= b->p.page_y0; + + tmp = b->width; + tmp >>= 2; + tmp *= (uint8_t)y; + ptr += tmp; + + tmp = x; + tmp >>= 2; + ptr += tmp; + + tmp = x; + tmp &= 3; + tmp <<= 1; + if ( is_or == 0 ) + { + mask = 3; + mask <<= tmp; + mask = ~mask; + *ptr &= mask; + } + color_index &= 3; + color_index <<= tmp; + *ptr |= color_index; +} + + +void u8g_pb16h2_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel, uint8_t is_or) +{ + if ( arg_pixel->y < b->p.page_y0 ) + return; + if ( arg_pixel->y > b->p.page_y1 ) + return; + if ( arg_pixel->x >= b->width ) + return; + u8g_pb16h2_set_pixel(b, arg_pixel->x, arg_pixel->y, arg_pixel->color, is_or); +} + + +void u8g_pb16h2_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) +{ + register uint8_t pixel = arg_pixel->pixel; + do + { + if ( pixel & 128 ) + { + u8g_pb16h2_SetPixel(b, arg_pixel, 0); + } + switch( arg_pixel->dir ) + { + case 0: arg_pixel->x++; break; + case 1: arg_pixel->y++; break; + case 2: arg_pixel->x--; break; + case 3: arg_pixel->y--; break; + } + pixel <<= 1; + } while( pixel != 0 ); +} + +void u8g_pb16h2_Or4PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) +{ + register uint8_t pixel = arg_pixel->pixel; + do + { + arg_pixel->color = pixel & 0x0c0; + arg_pixel->color >>= 6; + u8g_pb16h2_SetPixel(b, arg_pixel, 1); + switch( arg_pixel->dir ) + { + case 0: arg_pixel->x++; break; + case 1: arg_pixel->y++; break; + case 2: arg_pixel->x--; break; + case 3: arg_pixel->y--; break; + } + pixel <<= 2; + } while( pixel != 0 ); +} + + +uint8_t u8g_dev_pb16h2_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + switch(msg) + { + case U8G_DEV_MSG_SET_8PIXEL: + if ( u8g_pb_Is8PixelVisible(pb, (u8g_dev_arg_pixel_t *)arg) ) + { + u8g_pb16h2_Set8PixelStd(pb, (u8g_dev_arg_pixel_t *)arg); + } + break; + case U8G_DEV_MSG_SET_PIXEL: + u8g_pb16h2_SetPixel(pb, (u8g_dev_arg_pixel_t *)arg, 0); + break; + case U8G_DEV_MSG_SET_4TPIXEL: + u8g_pb16h2_Or4PixelStd(pb, (u8g_dev_arg_pixel_t *)arg); + break; + case U8G_DEV_MSG_SET_TPIXEL: + u8g_pb16h2_SetPixel(pb, (u8g_dev_arg_pixel_t *)arg, 1); + break; + case U8G_DEV_MSG_INIT: + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_FIRST: + u8g_page_First(&(pb->p)); + u8g_pb16h2_Clear(pb); + break; + case U8G_DEV_MSG_PAGE_NEXT: + if ( u8g_page_Next(&(pb->p)) == 0 ) + return 0; + u8g_pb16h2_Clear(pb); + break; +#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION + case U8G_DEV_MSG_IS_BBX_INTERSECTION: + return u8g_pb_IsIntersection(pb, (u8g_dev_arg_bbx_t *)arg); +#endif + case U8G_DEV_MSG_GET_PAGE_BOX: + u8g_pb_GetPageBox(pb, (u8g_box_t *)arg); + break; + case U8G_DEV_MSG_GET_WIDTH: + *((u8g_uint_t *)arg) = pb->width; + break; + case U8G_DEV_MSG_GET_HEIGHT: + *((u8g_uint_t *)arg) = pb->p.total_height; + break; + case U8G_DEV_MSG_SET_COLOR_ENTRY: + break; + case U8G_DEV_MSG_SET_XY_CB: + break; + case U8G_DEV_MSG_GET_MODE: + return U8G_MODE_GRAY2BIT; + } + return 1; +} + + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_pb16v1.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_pb16v1.c new file mode 100644 index 000000000..3716411c1 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_pb16v1.c @@ -0,0 +1,200 @@ +/* + + u8g_pb16v1.c + + 16bit height monochrom (1 bit) page buffer + byte has vertical orientation + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +*/ + +#include "u8g.h" +#include + + +void u8g_pb16v1_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) U8G_NOINLINE; +void u8g_pb16v1_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) U8G_NOINLINE; +void u8g_pb16v1_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) U8G_NOINLINE ; +void u8g_pb16v1_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) U8G_NOINLINE; + + +void u8g_pb16v1_Clear(u8g_pb_t *b) +{ + uint8_t *ptr = (uint8_t *)b->buf; + uint8_t *end_ptr = ptr; + end_ptr += b->width*2; + do + { + *ptr++ = 0; + } while( ptr != end_ptr ); +} + +/* Obsolete, usually set by the init of the structure */ +void u8g_pb16v1_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) +{ + b->buf = buf; + b->width = width; + u8g_pb16v1_Clear(b); +} + +void u8g_pb16v1_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) +{ + register uint8_t mask; + uint8_t *ptr = b->buf; + + y -= b->p.page_y0; + if ( y >= 8 ) + { + ptr += b->width; + y &= 0x07; + } + mask = 1; + mask <<= y; + ptr += x; + if ( color_index ) + { + *ptr |= mask; + } + else + { + mask ^=0xff; + *ptr &= mask; + } +} + + +void u8g_pb16v1_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) +{ + if ( arg_pixel->y < b->p.page_y0 ) + return; + if ( arg_pixel->y > b->p.page_y1 ) + return; + if ( arg_pixel->x >= b->width ) + return; + u8g_pb16v1_set_pixel(b, arg_pixel->x, arg_pixel->y, arg_pixel->color); +} + +void u8g_pb16v1_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) +{ + register uint8_t pixel = arg_pixel->pixel; + do + { + if ( pixel & 128 ) + { + u8g_pb16v1_SetPixel(b, arg_pixel); + } + switch( arg_pixel->dir ) + { + case 0: arg_pixel->x++; break; + case 1: arg_pixel->y++; break; + case 2: arg_pixel->x--; break; + case 3: arg_pixel->y--; break; + } + pixel <<= 1; + } while( pixel != 0 ); +} + + +void u8g_pb16v1_Set8PixelOpt2(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) +{ + register uint8_t pixel = arg_pixel->pixel; + u8g_uint_t dx = 0; + u8g_uint_t dy = 0; + + switch( arg_pixel->dir ) + { + case 0: dx++; break; + case 1: dy++; break; + case 2: dx--; break; + case 3: dy--; break; + } + + do + { + if ( pixel & 128 ) + u8g_pb16v1_SetPixel(b, arg_pixel); + arg_pixel->x += dx; + arg_pixel->y += dy; + pixel <<= 1; + } while( pixel != 0 ); + +} + +uint8_t u8g_dev_pb16v1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + switch(msg) + { + case U8G_DEV_MSG_SET_8PIXEL: + if ( u8g_pb_Is8PixelVisible(pb, (u8g_dev_arg_pixel_t *)arg) ) + u8g_pb16v1_Set8PixelOpt2(pb, (u8g_dev_arg_pixel_t *)arg); + break; + case U8G_DEV_MSG_SET_PIXEL: + u8g_pb16v1_SetPixel(pb, (u8g_dev_arg_pixel_t *)arg); + break; + case U8G_DEV_MSG_INIT: + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_FIRST: + u8g_pb16v1_Clear(pb); + u8g_page_First(&(pb->p)); + break; + case U8G_DEV_MSG_PAGE_NEXT: + if ( u8g_page_Next(&(pb->p)) == 0 ) + return 0; + u8g_pb16v1_Clear(pb); + break; +#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION + case U8G_DEV_MSG_IS_BBX_INTERSECTION: + return u8g_pb_IsIntersection(pb, (u8g_dev_arg_bbx_t *)arg); +#endif + case U8G_DEV_MSG_GET_PAGE_BOX: + u8g_pb_GetPageBox(pb, (u8g_box_t *)arg); + break; + case U8G_DEV_MSG_GET_WIDTH: + *((u8g_uint_t *)arg) = pb->width; + break; + case U8G_DEV_MSG_GET_HEIGHT: + *((u8g_uint_t *)arg) = pb->p.total_height; + break; + case U8G_DEV_MSG_SET_COLOR_ENTRY: + break; + case U8G_DEV_MSG_SET_XY_CB: + break; + case U8G_DEV_MSG_GET_MODE: + return U8G_MODE_BW; + } + return 1; +} + + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_pb16v2.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_pb16v2.c new file mode 100644 index 000000000..94ef7e28a --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_pb16v2.c @@ -0,0 +1,172 @@ +/* + + u8g_pb16v2.c + + 16 bit height 2 bit per pixel page buffer + byte has vertical orientation + + Universal 8bit Graphics Library + + Copyright (c) 2012, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +*/ + +#include "u8g.h" +#include + + +void u8g_pb16v2_Clear(u8g_pb_t *b) +{ + uint8_t *ptr = (uint8_t *)b->buf; + uint8_t *end_ptr = ptr; + + /* two bits per pixel, 16 bits height --> 8 pixel --> 4 pixel per byte */ + end_ptr += b->width; + end_ptr += b->width; + + do + { + *ptr++ = 0; + } while( ptr != end_ptr ); +} + +void u8g_pb16v2Init(u8g_pb_t *b, void *buf, u8g_uint_t width) +{ + b->buf = buf; + b->width = width; + u8g_pb16v2_Clear(b); +} + +void u8g_pb16v2_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) +{ + register uint8_t mask; + uint8_t *ptr = b->buf; + y -= b->p.page_y0; + if ( y >= 4 ) + { + ptr += b->width; + } + mask = 0x03; + y &= 0x03; + y <<= 1; + mask <<= y; + mask ^=0xff; + color_index &= 3; + color_index <<= y; + ptr += x; + *ptr &= mask; + *ptr |= color_index; +} + + +void u8g_pb16v2_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) +{ + if ( arg_pixel->y < b->p.page_y0 ) + return; + if ( arg_pixel->y > b->p.page_y1 ) + return; + if ( arg_pixel->x >= b->width ) + return; + u8g_pb16v2_set_pixel(b, arg_pixel->x, arg_pixel->y, arg_pixel->color); +} + + +void u8g_pb16v2_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) +{ + register uint8_t pixel = arg_pixel->pixel; + do + { + if ( pixel & 128 ) + { + u8g_pb16v2_SetPixel(b, arg_pixel); + } + switch( arg_pixel->dir ) + { + case 0: arg_pixel->x++; break; + case 1: arg_pixel->y++; break; + case 2: arg_pixel->x--; break; + case 3: arg_pixel->y--; break; + } + pixel <<= 1; + } while( pixel != 0 ); +} + + + +uint8_t u8g_dev_pb16v2_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + switch(msg) + { + case U8G_DEV_MSG_SET_8PIXEL: + if ( u8g_pb_Is8PixelVisible(pb, (u8g_dev_arg_pixel_t *)arg) ) + { + u8g_pb16v2_Set8PixelStd(pb, (u8g_dev_arg_pixel_t *)arg); + } + break; + case U8G_DEV_MSG_SET_PIXEL: + u8g_pb16v2_SetPixel(pb, (u8g_dev_arg_pixel_t *)arg); + break; + case U8G_DEV_MSG_INIT: + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_FIRST: + u8g_pb16v2_Clear(pb); + u8g_page_First(&(pb->p)); + break; + case U8G_DEV_MSG_PAGE_NEXT: + if ( u8g_page_Next(&(pb->p)) == 0 ) + return 0; + u8g_pb16v2_Clear(pb); + break; +#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION + case U8G_DEV_MSG_IS_BBX_INTERSECTION: + return u8g_pb_IsIntersection(pb, (u8g_dev_arg_bbx_t *)arg); +#endif + case U8G_DEV_MSG_GET_PAGE_BOX: + u8g_pb_GetPageBox(pb, (u8g_box_t *)arg); + break; + case U8G_DEV_MSG_GET_WIDTH: + *((u8g_uint_t *)arg) = pb->width; + break; + case U8G_DEV_MSG_GET_HEIGHT: + *((u8g_uint_t *)arg) = pb->p.total_height; + break; + case U8G_DEV_MSG_SET_COLOR_ENTRY: + break; + case U8G_DEV_MSG_SET_XY_CB: + break; + case U8G_DEV_MSG_GET_MODE: + return U8G_MODE_GRAY2BIT; + } + return 1; +} + + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_pb32h1.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_pb32h1.c new file mode 100644 index 000000000..d40f7ce57 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_pb32h1.c @@ -0,0 +1,208 @@ +/* + + u8g_pb32h1.c + + 2x 8bit height monochrom (1 bit) page buffer + byte has horizontal orientation + + Universal 8bit Graphics Library + + Copyright (c) 2012, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + total buffer size is limited to 2*256 bytes because of the calculation inside the set pixel procedure + + +*/ + +#include "u8g.h" +#include + + +void u8g_pb32h1_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) U8G_NOINLINE; +void u8g_pb32h1_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) U8G_NOINLINE; +void u8g_pb32h1_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) U8G_NOINLINE ; +void u8g_pb32h1_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) U8G_NOINLINE; +uint8_t u8g_dev_pb8h1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); + +void u8g_pb32h1_Clear(u8g_pb_t *b) +{ + uint8_t *ptr = (uint8_t *)b->buf; + uint8_t *end_ptr = ptr; + end_ptr += b->width*4; + do + { + *ptr++ = 0; + } while( ptr != end_ptr ); +} + + + +void u8g_pb32h1_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) +{ + b->buf = buf; + b->width = width; + u8g_pb32h1_Clear(b); +} + + +/* limitation: total buffer must not exceed 2*256 bytes */ +void u8g_pb32h1_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) +{ + register uint8_t mask; + uint16_t tmp; + uint8_t *ptr = b->buf; + + y -= b->p.page_y0; + tmp = b->width; + tmp >>= 3; + tmp *= y; + ptr += tmp; + + mask = 0x080; + mask >>= x & 7; + x >>= 3; + ptr += x; + if ( color_index ) + { + *ptr |= mask; + } + else + { + mask ^=0xff; + *ptr &= mask; + } + +} + + +void u8g_pb32h1_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) +{ + if ( arg_pixel->y < b->p.page_y0 ) + return; + if ( arg_pixel->y > b->p.page_y1 ) + return; + if ( arg_pixel->x >= b->width ) + return; + u8g_pb32h1_set_pixel(b, arg_pixel->x, arg_pixel->y, arg_pixel->color); +} + +void u8g_pb32h1_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) +{ + register uint8_t pixel = arg_pixel->pixel; + do + { + if ( pixel & 128 ) + { + u8g_pb32h1_SetPixel(b, arg_pixel); + } + switch( arg_pixel->dir ) + { + case 0: arg_pixel->x++; break; + case 1: arg_pixel->y++; break; + case 2: arg_pixel->x--; break; + case 3: arg_pixel->y--; break; + } + pixel <<= 1; + } while( pixel != 0 ); +} + +void u8g_pb32h1_Set8PixelOpt2(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) +{ + register uint8_t pixel = arg_pixel->pixel; + u8g_uint_t dx = 0; + u8g_uint_t dy = 0; + + switch( arg_pixel->dir ) + { + case 0: dx++; break; + case 1: dy++; break; + case 2: dx--; break; + case 3: dy--; break; + } + + do + { + if ( pixel & 128 ) + u8g_pb32h1_SetPixel(b, arg_pixel); + arg_pixel->x += dx; + arg_pixel->y += dy; + pixel <<= 1; + } while( pixel != 0 ); +} + + +uint8_t u8g_dev_pb32h1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + switch(msg) + { + case U8G_DEV_MSG_SET_8PIXEL: + if ( u8g_pb_Is8PixelVisible(pb, (u8g_dev_arg_pixel_t *)arg) ) + u8g_pb32h1_Set8PixelOpt2(pb, (u8g_dev_arg_pixel_t *)arg); + break; + case U8G_DEV_MSG_SET_PIXEL: + u8g_pb32h1_SetPixel(pb, (u8g_dev_arg_pixel_t *)arg); + break; + case U8G_DEV_MSG_INIT: + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_FIRST: + u8g_pb32h1_Clear(pb); + u8g_page_First(&(pb->p)); + break; + case U8G_DEV_MSG_PAGE_NEXT: + if ( u8g_page_Next(&(pb->p)) == 0 ) + return 0; + u8g_pb32h1_Clear(pb); + break; +#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION + case U8G_DEV_MSG_IS_BBX_INTERSECTION: + return u8g_pb_IsIntersection(pb, (u8g_dev_arg_bbx_t *)arg); +#endif + case U8G_DEV_MSG_GET_PAGE_BOX: + u8g_pb_GetPageBox(pb, (u8g_box_t *)arg); + break; + case U8G_DEV_MSG_GET_WIDTH: + *((u8g_uint_t *)arg) = pb->width; + break; + case U8G_DEV_MSG_GET_HEIGHT: + *((u8g_uint_t *)arg) = pb->p.total_height; + break; + case U8G_DEV_MSG_SET_COLOR_ENTRY: + break; + case U8G_DEV_MSG_SET_XY_CB: + break; + case U8G_DEV_MSG_GET_MODE: + return U8G_MODE_BW; + } + return 1; +} + + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_pb8h1.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_pb8h1.c new file mode 100644 index 000000000..80dc99b58 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_pb8h1.c @@ -0,0 +1,389 @@ +/* + + u8g_pb8h1.c + + 8bit height monochrom (1 bit) page buffer + byte has horizontal orientation + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + total buffer size is limited to 256 bytes because of the calculation inside the set pixel procedure + + 23. Sep 2012: Bug with down procedure, see FPS 1st page --> fixed (bug located in u8g_clip.c) + +*/ + +#include "u8g.h" +#include + +#ifdef __unix__ +#include +#endif + +/* NEW_CODE disabled, because the performance increase was too slow and not worth compared */ +/* to the increase of code size */ +/* #define NEW_CODE */ + +#ifdef __unix__ +void *u8g_buf_lower_limit; +void *u8g_buf_upper_limit; +#endif + +void u8g_pb8h1_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) U8G_NOINLINE; +void u8g_pb8h1_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) U8G_NOINLINE; +void u8g_pb8h1_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) U8G_NOINLINE ; +void u8g_pb8h1_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) U8G_NOINLINE; +uint8_t u8g_dev_pb8h1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); + + +#ifdef NEW_CODE +struct u8g_pb_h1_struct +{ + u8g_uint_t x; + u8g_uint_t y; + uint8_t *ptr; + uint8_t mask; + uint8_t line_byte_len; + uint8_t cnt; +}; + +static uint8_t u8g_pb8h1_bitmask[8] = { 0x080, 0x040, 0x020, 0x010, 0x008, 0x004, 0x002, 0x001 }; + +static void u8g_pb8h1_state_right(struct u8g_pb_h1_struct *s) U8G_NOINLINE; +static void u8g_pb8h1_state_right(struct u8g_pb_h1_struct *s) +{ + register u8g_uint_t x; + x = s->x; + x++; + s->x = x; + x &= 7; + s->mask = u8g_pb8h1_bitmask[x]; + if ( x == 0 ) + s->ptr++; +} + +static void u8g_pb8h1_state_left(struct u8g_pb_h1_struct *s) +{ + register u8g_uint_t x; + x = s->x; + x--; + s->x = x; + x &= 7; + s->mask = u8g_pb8h1_bitmask[x]; + if ( x == 7 ) + s->ptr--; +} + +static void u8g_pb8h1_state_down(struct u8g_pb_h1_struct *s) +{ + s->y++; + s->ptr += s->line_byte_len; +} + +static void u8g_pb8h1_state_up(struct u8g_pb_h1_struct *s) +{ + s->y--; + s->ptr -= s->line_byte_len; +} + +static void u8g_pb8h1_state_init(struct u8g_pb_h1_struct *s, u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y) U8G_NOINLINE; +static void u8g_pb8h1_state_init(struct u8g_pb_h1_struct *s, u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y) +{ + u8g_uint_t tmp; + + uint8_t *ptr = b->buf; + + s->x = x; + s->y = y; + + y -= b->p.page_y0; + + tmp = b->width; + tmp >>= 3; + s->line_byte_len = tmp; + + /* assume negative y values, can be down to -7, subtract this from the pointer and add correction of 8 to y */ + ptr -= tmp*8; + y+=8; + /* it is important that the result of tmp*y can be 16 bit value also for 8 bit mode */ + ptr += tmp*y; + + s->mask = u8g_pb8h1_bitmask[x & 7]; + + /* assume negative x values (to -7), subtract 8 pixel from the pointer and add 8 to x */ + ptr--; + x += 8; + x >>= 3; + ptr += x; + s->ptr = ptr; +} + +static void u8g_pb8h1_state_set_pixel(struct u8g_pb_h1_struct *s, uint8_t color_index) U8G_NOINLINE; +static void u8g_pb8h1_state_set_pixel(struct u8g_pb_h1_struct *s, uint8_t color_index) +{ + +#ifdef __unix__ + assert( s->ptr >= u8g_buf_lower_limit ); + assert( s->ptr < u8g_buf_upper_limit ); +#endif + + if ( color_index ) + { + *s->ptr |= s->mask; + } + else + { + uint8_t mask = s->mask; + mask ^=0xff; + *s->ptr &= mask; + } +} +#endif + + +void u8g_pb8h1_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) +{ + b->buf = buf; + b->width = width; + u8g_pb_Clear(b); +} + +/* limitation: total buffer must not exceed 256 bytes */ +void u8g_pb8h1_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) +{ +#ifdef NEW_CODE + struct u8g_pb_h1_struct s; + u8g_pb8h1_state_init(&s, b, x, y); + u8g_pb8h1_state_set_pixel(&s, color_index); + +// u8g_pb8h1_state_up(&s); +// if ( s.y > b->p.page_y1 ) +// return; +// if ( s.x > b->width ) +// return; +// u8g_pb8h1_state_set_pixel(&s, color_index); +#else + register uint8_t mask; + u8g_uint_t tmp; + uint8_t *ptr = b->buf; + + y -= b->p.page_y0; + tmp = b->width; + tmp >>= 3; + tmp *= (uint8_t)y; + ptr += tmp; + + mask = 0x080; + mask >>= x & 7; + x >>= 3; + ptr += x; + if ( color_index ) + { + *ptr |= mask; + } + else + { + mask ^=0xff; + *ptr &= mask; + } +#endif +} + + +void u8g_pb8h1_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) +{ + if ( arg_pixel->y < b->p.page_y0 ) + return; + if ( arg_pixel->y > b->p.page_y1 ) + return; + if ( arg_pixel->x >= b->width ) + return; + u8g_pb8h1_set_pixel(b, arg_pixel->x, arg_pixel->y, arg_pixel->color); +} + +void u8g_pb8h1_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) +{ + register uint8_t pixel = arg_pixel->pixel; + do + { + if ( pixel & 128 ) + { + u8g_pb8h1_SetPixel(b, arg_pixel); + } + switch( arg_pixel->dir ) + { + case 0: arg_pixel->x++; break; + case 1: arg_pixel->y++; break; + case 2: arg_pixel->x--; break; + case 3: arg_pixel->y--; break; + } + pixel <<= 1; + } while( pixel != 0 ); +} + +void u8g_pb8h1_Set8PixelOpt2(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) +{ + register uint8_t pixel = arg_pixel->pixel; + u8g_uint_t dx = 0; + u8g_uint_t dy = 0; + + switch( arg_pixel->dir ) + { + case 0: dx++; break; + case 1: dy++; break; + case 2: dx--; break; + case 3: dy--; break; + } + + do + { + if ( pixel & 128 ) + u8g_pb8h1_SetPixel(b, arg_pixel); + arg_pixel->x += dx; + arg_pixel->y += dy; + pixel <<= 1; + } while( pixel != 0 ); +} + +#ifdef NEW_CODE +static void u8g_pb8h1_Set8PixelState(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) +{ + register uint8_t pixel = arg_pixel->pixel; + struct u8g_pb_h1_struct s; + uint8_t cnt; + u8g_pb8h1_state_init(&s, b, arg_pixel->x, arg_pixel->y); + cnt = 8; + switch( arg_pixel->dir ) + { + case 0: + do + { + if ( s.x < b->width ) + if ( pixel & 128 ) + u8g_pb8h1_state_set_pixel(&s, arg_pixel->color); + u8g_pb8h1_state_right(&s); + pixel <<= 1; + cnt--; + } while( cnt > 0 && pixel != 0 ); + break; + case 1: + do + { + if ( s.y >= b->p.page_y0 ) + if ( s.y <= b->p.page_y1 ) + if ( pixel & 128 ) + u8g_pb8h1_state_set_pixel(&s, arg_pixel->color); + u8g_pb8h1_state_down(&s); + pixel <<= 1; + cnt--; + } while( cnt > 0 && pixel != 0 ); + break; + case 2: + do + { + if ( s.x < b->width ) + if ( pixel & 128 ) + u8g_pb8h1_state_set_pixel(&s, arg_pixel->color); + u8g_pb8h1_state_left(&s); + pixel <<= 1; + cnt--; + } while( cnt > 0 && pixel != 0 ); + break; + case 3: + do + { + if ( s.y >= b->p.page_y0 ) + if ( s.y <= b->p.page_y1 ) + if ( pixel & 128 ) + u8g_pb8h1_state_set_pixel(&s, arg_pixel->color); + u8g_pb8h1_state_up(&s); + pixel <<= 1; + cnt--; + } while( cnt > 0 && pixel != 0 ); + break; + } +} +#endif + +uint8_t u8g_dev_pb8h1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + switch(msg) + { + case U8G_DEV_MSG_SET_8PIXEL: +#ifdef NEW_CODE + if ( u8g_pb_Is8PixelVisible(pb, (u8g_dev_arg_pixel_t *)arg) ) + u8g_pb8h1_Set8PixelState(pb, (u8g_dev_arg_pixel_t *)arg); +#else + if ( u8g_pb_Is8PixelVisible(pb, (u8g_dev_arg_pixel_t *)arg) ) + u8g_pb8h1_Set8PixelOpt2(pb, (u8g_dev_arg_pixel_t *)arg); +#endif + break; + case U8G_DEV_MSG_SET_PIXEL: + u8g_pb8h1_SetPixel(pb, (u8g_dev_arg_pixel_t *)arg); + break; + case U8G_DEV_MSG_INIT: + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_FIRST: + u8g_pb_Clear(pb); + u8g_page_First(&(pb->p)); + break; + case U8G_DEV_MSG_PAGE_NEXT: + if ( u8g_page_Next(&(pb->p)) == 0 ) + return 0; + u8g_pb_Clear(pb); + break; +#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION + case U8G_DEV_MSG_IS_BBX_INTERSECTION: + return u8g_pb_IsIntersection(pb, (u8g_dev_arg_bbx_t *)arg); +#endif + case U8G_DEV_MSG_GET_PAGE_BOX: + u8g_pb_GetPageBox(pb, (u8g_box_t *)arg); + break; + case U8G_DEV_MSG_GET_WIDTH: + *((u8g_uint_t *)arg) = pb->width; + break; + case U8G_DEV_MSG_GET_HEIGHT: + *((u8g_uint_t *)arg) = pb->p.total_height; + break; + case U8G_DEV_MSG_SET_COLOR_ENTRY: + break; + case U8G_DEV_MSG_SET_XY_CB: + break; + case U8G_DEV_MSG_GET_MODE: + return U8G_MODE_BW; + } + return 1; +} + + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_pb8h1f.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_pb8h1f.c new file mode 100644 index 000000000..c7be1fe10 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_pb8h1f.c @@ -0,0 +1,194 @@ +/* + + u8g_pb8h1f.c + + 8bit height monochrom (1 bit) page buffer + byte has horizontal orientation, same as u8g_pb8h1, but byte is flipped + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + total buffer size is limited to 256 bytes because of the calculation inside the set pixel procedure + + +*/ + +#include "u8g.h" +#include + + +void u8g_pb8h1f_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) U8G_NOINLINE; +void u8g_pb8h1f_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) U8G_NOINLINE; +void u8g_pb8h1f_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) U8G_NOINLINE ; +void u8g_pb8h1f_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) U8G_NOINLINE; +uint8_t u8g_dev_pb8h1f_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); + + +void u8g_pb8h1f_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) +{ + b->buf = buf; + b->width = width; + u8g_pb_Clear(b); +} + +/* limitation: total buffer must not exceed 256 bytes, 20 nov 2012: extended to >256 bytes */ +void u8g_pb8h1f_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) +{ + /*register uint8_t mask, tmp;*/ + register uint8_t mask; + register u8g_uint_t tmp; + uint8_t *ptr = b->buf; + + y -= b->p.page_y0; + tmp = b->width >> 3; + tmp *= (uint8_t)y; + ptr += tmp; + + mask = 1; + mask <<= x & 7; + x >>= 3; + ptr += x; + if ( color_index ) + { + *ptr |= mask; + } + else + { + mask ^=0xff; + *ptr &= mask; + } +} + + +void u8g_pb8h1f_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) +{ + if ( arg_pixel->y < b->p.page_y0 ) + return; + if ( arg_pixel->y > b->p.page_y1 ) + return; + if ( arg_pixel->x >= b->width ) + return; + u8g_pb8h1f_set_pixel(b, arg_pixel->x, arg_pixel->y, arg_pixel->color); +} + +void u8g_pb8h1f_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) +{ + register uint8_t pixel = arg_pixel->pixel; + do + { + if ( pixel & 128 ) + { + u8g_pb8h1f_SetPixel(b, arg_pixel); + } + switch( arg_pixel->dir ) + { + case 0: arg_pixel->x++; break; + case 1: arg_pixel->y++; break; + case 2: arg_pixel->x--; break; + case 3: arg_pixel->y--; break; + } + pixel <<= 1; + } while( pixel != 0 ); +} + +void u8g_pb8h1f_Set8PixelOpt2(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) +{ + register uint8_t pixel = arg_pixel->pixel; + u8g_uint_t dx = 0; + u8g_uint_t dy = 0; + + switch( arg_pixel->dir ) + { + case 0: dx++; break; + case 1: dy++; break; + case 2: dx--; break; + case 3: dy--; break; + } + + do + { + if ( pixel & 128 ) + u8g_pb8h1f_SetPixel(b, arg_pixel); + arg_pixel->x += dx; + arg_pixel->y += dy; + pixel <<= 1; + } while( pixel != 0 ); +} + + +uint8_t u8g_dev_pb8h1f_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + switch(msg) + { + case U8G_DEV_MSG_SET_8PIXEL: + if ( u8g_pb_Is8PixelVisible(pb, (u8g_dev_arg_pixel_t *)arg) ) + u8g_pb8h1f_Set8PixelOpt2(pb, (u8g_dev_arg_pixel_t *)arg); + break; + case U8G_DEV_MSG_SET_PIXEL: + u8g_pb8h1f_SetPixel(pb, (u8g_dev_arg_pixel_t *)arg); + break; + case U8G_DEV_MSG_INIT: + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_FIRST: + u8g_pb_Clear(pb); + u8g_page_First(&(pb->p)); + break; + case U8G_DEV_MSG_PAGE_NEXT: + if ( u8g_page_Next(&(pb->p)) == 0 ) + return 0; + u8g_pb_Clear(pb); + break; +#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION + case U8G_DEV_MSG_IS_BBX_INTERSECTION: + return u8g_pb_IsIntersection(pb, (u8g_dev_arg_bbx_t *)arg); +#endif + case U8G_DEV_MSG_GET_PAGE_BOX: + u8g_pb_GetPageBox(pb, (u8g_box_t *)arg); + break; + case U8G_DEV_MSG_GET_WIDTH: + *((u8g_uint_t *)arg) = pb->width; + break; + case U8G_DEV_MSG_GET_HEIGHT: + *((u8g_uint_t *)arg) = pb->p.total_height; + break; + case U8G_DEV_MSG_SET_COLOR_ENTRY: + break; + case U8G_DEV_MSG_SET_XY_CB: + break; + case U8G_DEV_MSG_GET_MODE: + return U8G_MODE_BW; + } + return 1; +} + + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_pb8h2.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_pb8h2.c new file mode 100644 index 000000000..aad6e4275 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_pb8h2.c @@ -0,0 +1,167 @@ +/* + + u8g_pb8h2.c + + 8bit height 2 bit per pixel page buffer + byte has horizontal orientation + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +*/ + +#include "u8g.h" +#include + +void u8g_pb8h2_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) +{ + b->buf = buf; + b->width = width; + u8g_pb_Clear(b); +} + +static void u8g_pb8h2_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) U8G_NOINLINE; +static void u8g_pb8h2_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) +{ + register uint8_t mask; + register uint16_t tmp; + + uint8_t *ptr = b->buf; + + y -= b->p.page_y0; + + tmp = b->width; + tmp >>= 2; + tmp *= (uint8_t)y; + ptr += tmp; + + tmp = x; + tmp >>= 2; + ptr += tmp; + + tmp = x; + tmp &= 3; + tmp <<= 1; + mask = 3; + mask <<= tmp; + mask = ~mask; + color_index &= 3; + color_index <<= tmp; + + *ptr &= mask; + *ptr |= color_index; +} + + +void u8g_pb8h2_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) +{ + if ( arg_pixel->y < b->p.page_y0 ) + return; + if ( arg_pixel->y > b->p.page_y1 ) + return; + if ( arg_pixel->x >= b->width ) + return; + u8g_pb8h2_set_pixel(b, arg_pixel->x, arg_pixel->y, arg_pixel->color); +} + + +void u8g_pb8h2_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) +{ + register uint8_t pixel = arg_pixel->pixel; + do + { + if ( pixel & 128 ) + { + u8g_pb8h2_SetPixel(b, arg_pixel); + } + switch( arg_pixel->dir ) + { + case 0: arg_pixel->x++; break; + case 1: arg_pixel->y++; break; + case 2: arg_pixel->x--; break; + case 3: arg_pixel->y--; break; + } + pixel <<= 1; + } while( pixel != 0 ); +} + + + +uint8_t u8g_dev_pb8h2_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + switch(msg) + { + case U8G_DEV_MSG_SET_8PIXEL: + if ( u8g_pb_Is8PixelVisible(pb, (u8g_dev_arg_pixel_t *)arg) ) + { + u8g_pb8h2_Set8PixelStd(pb, (u8g_dev_arg_pixel_t *)arg); + } + break; + case U8G_DEV_MSG_SET_PIXEL: + u8g_pb8h2_SetPixel(pb, (u8g_dev_arg_pixel_t *)arg); + break; + case U8G_DEV_MSG_INIT: + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_FIRST: + u8g_pb_Clear(pb); + u8g_page_First(&(pb->p)); + break; + case U8G_DEV_MSG_PAGE_NEXT: + if ( u8g_page_Next(&(pb->p)) == 0 ) + return 0; + u8g_pb_Clear(pb); + break; +#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION + case U8G_DEV_MSG_IS_BBX_INTERSECTION: + return u8g_pb_IsIntersection(pb, (u8g_dev_arg_bbx_t *)arg); +#endif + case U8G_DEV_MSG_GET_PAGE_BOX: + u8g_pb_GetPageBox(pb, (u8g_box_t *)arg); + break; + case U8G_DEV_MSG_GET_WIDTH: + *((u8g_uint_t *)arg) = pb->width; + break; + case U8G_DEV_MSG_GET_HEIGHT: + *((u8g_uint_t *)arg) = pb->p.total_height; + break; + case U8G_DEV_MSG_SET_COLOR_ENTRY: + break; + case U8G_DEV_MSG_SET_XY_CB: + break; + case U8G_DEV_MSG_GET_MODE: + return U8G_MODE_GRAY2BIT; + } + return 1; +} + + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_pb8h8.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_pb8h8.c new file mode 100644 index 000000000..49dbb8616 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_pb8h8.c @@ -0,0 +1,185 @@ +/* + + u8g_pb8h8.c + + 8 lines per page, horizontal, 8 bits per pixel + (22 May 2013: might also support any number of lines --> needs to be checked) + + Universal 8bit Graphics Library + + Copyright (c) 2012, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +struct _u8g_pb_t +{ + u8g_page_t p; + u8g_uint_t width; + void *buf; +}; +typedef struct _u8g_pb_t u8g_pb_t; + + +uint8_t u8g_index_color_8h8_buf[WIDTH*PAGE_HEIGHT] U8G_NOCOMMON ; +u8g_pb_t u8g_index_color_8h8_pb = { {PAGE_HEIGHT, HEIGHT, 0, 0, 0}, WIDTH, u8g_index_color_8h8_buff}; +u8g_dev_t name = { dev_fn, &u8g_index_color_8h8_pb, com_fn } + +*/ + +#include "u8g.h" + +/* +#define WIDTH_BITS 7 +#define WIDTH (1<buf; + uint8_t *end_ptr = ptr; + uint8_t cnt = b->p.page_height; + end_ptr += b->width*cnt; + /* + do + { + end_ptr += b->width; + cnt--; + } while( cnt > 0 ); + */ + do + { + *ptr++ = 0; + } while( ptr != end_ptr ); +} + + +void u8g_pb8h8_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) +{ + b->buf = buf; + b->width = width; + u8g_pb8h8_Clear(b); +} + +static void u8g_pb8h8_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) +{ + uint16_t tmp; + uint8_t *ptr = b->buf; + y -= b->p.page_y0; + tmp = y; + tmp *= b->width; + tmp += x; + ptr += tmp; + *ptr = color_index; +} + +void u8g_pb8h8_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) +{ + if ( arg_pixel->y < b->p.page_y0 ) + return; + if ( arg_pixel->y > b->p.page_y1 ) + return; + if ( arg_pixel->x >= b->width ) + return; + u8g_pb8h8_set_pixel(b, arg_pixel->x, arg_pixel->y, arg_pixel->color); +} + + +void u8g_pb8h8_Set8Pixel(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) +{ + register uint8_t pixel = arg_pixel->pixel; + u8g_uint_t dx = 0; + u8g_uint_t dy = 0; + + switch( arg_pixel->dir ) + { + case 0: dx++; break; + case 1: dy++; break; + case 2: dx--; break; + case 3: dy--; break; + } + + do + { + if ( pixel & 128 ) + u8g_pb8h8_SetPixel(b, arg_pixel); + arg_pixel->x += dx; + arg_pixel->y += dy; + pixel <<= 1; + } while( pixel != 0 ); +} + + +uint8_t u8g_dev_pb8h8_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + switch(msg) + { + case U8G_DEV_MSG_SET_8PIXEL: + if ( u8g_pb_Is8PixelVisible(pb, (u8g_dev_arg_pixel_t *)arg) ) + u8g_pb8h8_Set8Pixel(pb, (u8g_dev_arg_pixel_t *)arg); + break; + case U8G_DEV_MSG_SET_PIXEL: + u8g_pb8h8_SetPixel(pb, (u8g_dev_arg_pixel_t *)arg); + break; + case U8G_DEV_MSG_INIT: + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_FIRST: + u8g_pb8h8_Clear(pb); + u8g_page_First(&(pb->p)); + break; + case U8G_DEV_MSG_PAGE_NEXT: + if ( u8g_page_Next(&(pb->p)) == 0 ) + return 0; + u8g_pb8h8_Clear(pb); + break; +#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION + case U8G_DEV_MSG_IS_BBX_INTERSECTION: + return u8g_pb_IsIntersection(pb, (u8g_dev_arg_bbx_t *)arg); +#endif + case U8G_DEV_MSG_GET_PAGE_BOX: + u8g_pb_GetPageBox(pb, (u8g_box_t *)arg); + break; + case U8G_DEV_MSG_GET_WIDTH: + *((u8g_uint_t *)arg) = pb->width; + break; + case U8G_DEV_MSG_GET_HEIGHT: + *((u8g_uint_t *)arg) = pb->p.total_height; + break; + case U8G_DEV_MSG_SET_COLOR_ENTRY: + break; + case U8G_DEV_MSG_SET_XY_CB: + break; + case U8G_DEV_MSG_GET_MODE: + return U8G_MODE_R3G3B2; + } + return 1; +} + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_pb8v1.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_pb8v1.c new file mode 100644 index 000000000..28ac4e0ea --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_pb8v1.c @@ -0,0 +1,184 @@ +/* + + u8g_pb8v1.c + + 8bit height monochrom (1 bit) page buffer + byte has vertical orientation + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +*/ + +#include "u8g.h" +#include + + +void u8g_pb8v1_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) U8G_NOINLINE; +void u8g_pb8v1_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) U8G_NOINLINE; +void u8g_pb8v1_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) U8G_NOINLINE ; +void u8g_pb8v1_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) U8G_NOINLINE; + +/* Obsolete, usually set by the init of the structure */ +void u8g_pb8v1_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) +{ + b->buf = buf; + b->width = width; + u8g_pb_Clear(b); +} + +void u8g_pb8v1_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) +{ + register uint8_t mask; + uint8_t *ptr = b->buf; + + y -= b->p.page_y0; + mask = 1; + y &= 0x07; + mask <<= y; + ptr += x; + if ( color_index ) + { + *ptr |= mask; + } + else + { + mask ^=0xff; + *ptr &= mask; + } +} + + +void u8g_pb8v1_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) +{ + if ( arg_pixel->y < b->p.page_y0 ) + return; + if ( arg_pixel->y > b->p.page_y1 ) + return; + if ( arg_pixel->x >= b->width ) + return; + u8g_pb8v1_set_pixel(b, arg_pixel->x, arg_pixel->y, arg_pixel->color); +} + +void u8g_pb8v1_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) +{ + register uint8_t pixel = arg_pixel->pixel; + do + { + if ( pixel & 128 ) + { + u8g_pb8v1_SetPixel(b, arg_pixel); + } + switch( arg_pixel->dir ) + { + case 0: arg_pixel->x++; break; + case 1: arg_pixel->y++; break; + case 2: arg_pixel->x--; break; + case 3: arg_pixel->y--; break; + } + pixel <<= 1; + } while( pixel != 0 ); +} + + +void u8g_pb8v1_Set8PixelOpt2(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) +{ + register uint8_t pixel = arg_pixel->pixel; + u8g_uint_t dx = 0; + u8g_uint_t dy = 0; + + switch( arg_pixel->dir ) + { + case 0: dx++; break; + case 1: dy++; break; + case 2: dx--; break; + case 3: dy--; break; + } + + do + { + if ( pixel & 128 ) + u8g_pb8v1_SetPixel(b, arg_pixel); + arg_pixel->x += dx; + arg_pixel->y += dy; + pixel <<= 1; + } while( pixel != 0 ); + +} + +uint8_t u8g_dev_pb8v1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + switch(msg) + { + case U8G_DEV_MSG_SET_8PIXEL: + if ( u8g_pb_Is8PixelVisible(pb, (u8g_dev_arg_pixel_t *)arg) ) + u8g_pb8v1_Set8PixelOpt2(pb, (u8g_dev_arg_pixel_t *)arg); + break; + case U8G_DEV_MSG_SET_PIXEL: + u8g_pb8v1_SetPixel(pb, (u8g_dev_arg_pixel_t *)arg); + break; + case U8G_DEV_MSG_INIT: + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_FIRST: + u8g_pb_Clear(pb); + u8g_page_First(&(pb->p)); + break; + case U8G_DEV_MSG_PAGE_NEXT: + if ( u8g_page_Next(&(pb->p)) == 0 ) + return 0; + u8g_pb_Clear(pb); + break; +#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION + case U8G_DEV_MSG_IS_BBX_INTERSECTION: + return u8g_pb_IsIntersection(pb, (u8g_dev_arg_bbx_t *)arg); +#endif + case U8G_DEV_MSG_GET_PAGE_BOX: + u8g_pb_GetPageBox(pb, (u8g_box_t *)arg); + break; + case U8G_DEV_MSG_GET_WIDTH: + *((u8g_uint_t *)arg) = pb->width; + break; + case U8G_DEV_MSG_GET_HEIGHT: + *((u8g_uint_t *)arg) = pb->p.total_height; + break; + case U8G_DEV_MSG_SET_COLOR_ENTRY: + break; + case U8G_DEV_MSG_SET_XY_CB: + break; + case U8G_DEV_MSG_GET_MODE: + return U8G_MODE_BW; + } + return 1; +} + + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_pb8v2.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_pb8v2.c new file mode 100644 index 000000000..c8e8926b1 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_pb8v2.c @@ -0,0 +1,153 @@ +/* + + u8g_pb8v2.c + + 8bit height 2 bit per pixel page buffer + byte has vertical orientation + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +*/ + +#include "u8g.h" +#include + +void u8g_pb8v2_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) +{ + b->buf = buf; + b->width = width; + u8g_pb_Clear(b); +} + +void u8g_pb8v2_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t color_index) +{ + register uint8_t mask; + uint8_t *ptr = b->buf; + y -= b->p.page_y0; + mask = 0x03; + y &= 0x03; + y <<= 1; + mask <<= y; + mask ^=0xff; + color_index &= 3; + color_index <<= y; + ptr += x; + *ptr &= mask; + *ptr |= color_index; +} + + +void u8g_pb8v2_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) +{ + if ( arg_pixel->y < b->p.page_y0 ) + return; + if ( arg_pixel->y > b->p.page_y1 ) + return; + if ( arg_pixel->x >= b->width ) + return; + u8g_pb8v2_set_pixel(b, arg_pixel->x, arg_pixel->y, arg_pixel->color); +} + + +void u8g_pb8v2_Set8PixelStd(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) +{ + register uint8_t pixel = arg_pixel->pixel; + do + { + if ( pixel & 128 ) + { + u8g_pb8v2_SetPixel(b, arg_pixel); + } + switch( arg_pixel->dir ) + { + case 0: arg_pixel->x++; break; + case 1: arg_pixel->y++; break; + case 2: arg_pixel->x--; break; + case 3: arg_pixel->y--; break; + } + pixel <<= 1; + } while( pixel != 0 ); + +} + + + +uint8_t u8g_dev_pb8v2_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + switch(msg) + { + case U8G_DEV_MSG_SET_8PIXEL: + if ( u8g_pb_Is8PixelVisible(pb, (u8g_dev_arg_pixel_t *)arg) ) + { + u8g_pb8v2_Set8PixelStd(pb, (u8g_dev_arg_pixel_t *)arg); + } + break; + case U8G_DEV_MSG_SET_PIXEL: + u8g_pb8v2_SetPixel(pb, (u8g_dev_arg_pixel_t *)arg); + break; + case U8G_DEV_MSG_INIT: + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_FIRST: + u8g_pb_Clear(pb); + u8g_page_First(&(pb->p)); + break; + case U8G_DEV_MSG_PAGE_NEXT: + if ( u8g_page_Next(&(pb->p)) == 0 ) + return 0; + u8g_pb_Clear(pb); + break; +#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION + case U8G_DEV_MSG_IS_BBX_INTERSECTION: + return u8g_pb_IsIntersection(pb, (u8g_dev_arg_bbx_t *)arg); +#endif + case U8G_DEV_MSG_GET_PAGE_BOX: + u8g_pb_GetPageBox(pb, (u8g_box_t *)arg); + break; + case U8G_DEV_MSG_GET_WIDTH: + *((u8g_uint_t *)arg) = pb->width; + break; + case U8G_DEV_MSG_GET_HEIGHT: + *((u8g_uint_t *)arg) = pb->p.total_height; + break; + case U8G_DEV_MSG_SET_COLOR_ENTRY: + break; + case U8G_DEV_MSG_SET_XY_CB: + break; + case U8G_DEV_MSG_GET_MODE: + return U8G_MODE_GRAY2BIT; + } + return 1; +} + + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_pbxh16.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_pbxh16.c new file mode 100644 index 000000000..9e3455346 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_pbxh16.c @@ -0,0 +1,184 @@ +/* + + u8g_pbxh16.c + + x lines per page, horizontal, 16 bits per pixel (hi color modes) + + Universal 8bit Graphics Library + + Copyright (c) 2013, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +struct _u8g_pb_t +{ + u8g_page_t p; + u8g_uint_t width; + void *buf; +}; +typedef struct _u8g_pb_t u8g_pb_t; + + +uint8_t u8g_index_color_xh16_buf[2*WIDTH*PAGE_HEIGHT] U8G_NOCOMMON ; +u8g_pb_t u8g_index_color_xh16_pb = { {PAGE_HEIGHT, HEIGHT, 0, 0, 0}, WIDTH, u8g_index_color_xh16_buf}; +u8g_dev_t name = { dev_fn, &u8g_index_color_xh16_pb , com_fn } + +*/ + +#include "u8g.h" + +/* +#define WIDTH_BITS 7 +#define WIDTH (1<buf; + uint8_t *end_ptr = ptr; + uint8_t cnt = b->p.page_height; + do + { + end_ptr += b->width*2; + cnt--; + } while( cnt > 0 ); + do + { + *ptr++ = 0; + } while( ptr != end_ptr ); +} + + +void u8g_pbxh16_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) +{ + b->buf = buf; + b->width = width; + u8g_pbxh16_Clear(b); +} + +static void u8g_pbxh16_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t low, uint8_t high) +{ + uint16_t tmp; + uint8_t *ptr = b->buf; + y -= b->p.page_y0; + tmp = y; + tmp *= b->width; + tmp += x; + tmp <<= 1; + ptr += tmp; + *ptr = low; + ptr++; + *ptr = high; +} + +void u8g_pbxh16_SetPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel) +{ + if ( arg_pixel->y < b->p.page_y0 ) + return; + if ( arg_pixel->y > b->p.page_y1 ) + return; + if ( arg_pixel->x >= b->width ) + return; + u8g_pbxh16_set_pixel(b, arg_pixel->x, arg_pixel->y, arg_pixel->color, arg_pixel->hi_color); +} + + +void u8g_pbxh16_Set8Pixel(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) +{ + register uint8_t pixel = arg_pixel->pixel; + u8g_uint_t dx = 0; + u8g_uint_t dy = 0; + + switch( arg_pixel->dir ) + { + case 0: dx++; break; + case 1: dy++; break; + case 2: dx--; break; + case 3: dy--; break; + } + + do + { + if ( pixel & 128 ) + u8g_pbxh16_SetPixel(b, arg_pixel); + arg_pixel->x += dx; + arg_pixel->y += dy; + pixel <<= 1; + } while( pixel != 0 ); +} + + +uint8_t u8g_dev_pbxh16_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + switch(msg) + { + case U8G_DEV_MSG_SET_8PIXEL: + if ( u8g_pb_Is8PixelVisible(pb, (u8g_dev_arg_pixel_t *)arg) ) + u8g_pbxh16_Set8Pixel(pb, (u8g_dev_arg_pixel_t *)arg); + break; + case U8G_DEV_MSG_SET_PIXEL: + u8g_pbxh16_SetPixel(pb, (u8g_dev_arg_pixel_t *)arg); + break; + case U8G_DEV_MSG_INIT: + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_FIRST: + u8g_pbxh16_Clear(pb); + u8g_page_First(&(pb->p)); + break; + case U8G_DEV_MSG_PAGE_NEXT: + if ( u8g_page_Next(&(pb->p)) == 0 ) + return 0; + u8g_pbxh16_Clear(pb); + break; +#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION + case U8G_DEV_MSG_IS_BBX_INTERSECTION: + return u8g_pb_IsIntersection(pb, (u8g_dev_arg_bbx_t *)arg); +#endif + case U8G_DEV_MSG_GET_PAGE_BOX: + u8g_pb_GetPageBox(pb, (u8g_box_t *)arg); + break; + case U8G_DEV_MSG_GET_WIDTH: + *((u8g_uint_t *)arg) = pb->width; + break; + case U8G_DEV_MSG_GET_HEIGHT: + *((u8g_uint_t *)arg) = pb->p.total_height; + break; + case U8G_DEV_MSG_SET_COLOR_ENTRY: + break; + case U8G_DEV_MSG_SET_XY_CB: + break; + case U8G_DEV_MSG_GET_MODE: + return U8G_MODE_HICOLOR; + } + return 1; +} + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_pbxh24.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_pbxh24.c new file mode 100644 index 000000000..61ed011a1 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_pbxh24.c @@ -0,0 +1,287 @@ +/* + + u8g_pbxh24.c + + x lines per page, horizontal, 24 bits per pixel (true color modes) + + Universal 8bit Graphics Library + + Copyright (c) 2013, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +struct _u8g_pb_t +{ + u8g_page_t p; + u8g_uint_t width; + void *buf; +}; +typedef struct _u8g_pb_t u8g_pb_t; + + +uint8_t u8g_index_color_xh16_buf[2*WIDTH*PAGE_HEIGHT] U8G_NOCOMMON ; +u8g_pb_t u8g_index_color_xh16_pb = { {PAGE_HEIGHT, HEIGHT, 0, 0, 0}, WIDTH, u8g_index_color_xh16_buf}; +u8g_dev_t name = { dev_fn, &u8g_index_color_xh16_pb , com_fn } + +*/ + +#include "u8g.h" + +/* +#define WIDTH_BITS 7 +#define WIDTH (1<buf; + uint8_t *end_ptr = ptr; + uint8_t cnt = b->p.page_height; + do + { + end_ptr += b->width*3; + cnt--; + } while( cnt > 0 ); + do + { + *ptr++ = 0; + } while( ptr != end_ptr ); +} + + +void u8g_pbxh24_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) +{ + b->buf = buf; + b->width = width; + u8g_pbxh24_Clear(b); +} + +#ifdef OBSOLETE +static void u8g_pbxh24_set_pixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t r, uint8_t g, uint8_t b) +{ + uint16_t tmp; + uint8_t *ptr = b->buf; + y -= b->p.page_y0; + tmp = y; + tmp *= b->width; + tmp += x; + tmp *= 3; + ptr += tmp; + *ptr = r; + ptr++; + *ptr = g; + ptr++; + *ptr = b; +} +#endif + +/* + intensity + 0..3 intensity value + 4 replace color +*/ +static void u8g_pbxh24_set_tpixel(u8g_pb_t *b, u8g_uint_t x, u8g_uint_t y, uint8_t red, uint8_t green, uint8_t blue, uint8_t intensity) +{ + uint16_t tmp; + uint8_t *ptr = b->buf; + + if ( intensity == 0 ) + return; + + y -= b->p.page_y0; + tmp = y; + tmp *= b->width; + tmp += x; + tmp *= 3; + ptr += tmp; + + if ( intensity == 4 ) + { + *ptr = red; + ptr++; + *ptr = green; + ptr++; + *ptr = blue; + return; + } + + if ( intensity == 2 ) + { + /* + red = red/4 + red/2; + green = green/4 + green/2; + blue = blue/4 + blue/2; + */ + red >>= 1; + green >>= 1; + blue >>= 1; + } + else if ( intensity == 1 ) + { + red >>= 2; + green >>= 2; + blue >>= 2; + } + + if ( *ptr >= 255-red ) *ptr = 255; + else *ptr += red; + ptr++; + + if ( *ptr >= 255-green ) *ptr = 255; + else *ptr += green; + ptr++; + + if ( *ptr >= 255-blue ) *ptr = 255; + else *ptr += blue; + + /* + if ( *ptr < red ) *ptr = red; + ptr++; + if ( *ptr < green ) *ptr = green; + ptr++; + if ( *ptr < blue ) *ptr = blue; + */ + + +} + +void u8g_pbxh24_SetTPixel(u8g_pb_t *b, const u8g_dev_arg_pixel_t * const arg_pixel, uint8_t intensity) +{ + if ( arg_pixel->y < b->p.page_y0 ) + return; + if ( arg_pixel->y > b->p.page_y1 ) + return; + if ( arg_pixel->x >= b->width ) + return; + u8g_pbxh24_set_tpixel(b, arg_pixel->x, arg_pixel->y, arg_pixel->color, arg_pixel->hi_color, arg_pixel->blue, intensity); +} + + +void u8g_pbxh24_Set8Pixel(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) +{ + register uint8_t pixel = arg_pixel->pixel; + u8g_uint_t dx = 0; + u8g_uint_t dy = 0; + + switch( arg_pixel->dir ) + { + case 0: dx++; break; + case 1: dy++; break; + case 2: dx--; break; + case 3: dy--; break; + } + + do + { + if ( pixel & 128 ) + u8g_pbxh24_SetTPixel(b, arg_pixel, 4); + arg_pixel->x += dx; + arg_pixel->y += dy; + pixel <<= 1; + } while( pixel != 0 ); +} + +void u8g_pbxh24_Set4TPixel(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel) +{ + register uint8_t pixel = arg_pixel->pixel; + u8g_uint_t dx = 0; + u8g_uint_t dy = 0; + + switch( arg_pixel->dir ) + { + case 0: dx++; break; + case 1: dy++; break; + case 2: dx--; break; + case 3: dy--; break; + } + + do + { + u8g_pbxh24_SetTPixel(b, arg_pixel, pixel >> 6); + arg_pixel->x += dx; + arg_pixel->y += dy; + pixel <<= 2; + } while( pixel != 0 ); +} + + +uint8_t u8g_dev_pbxh24_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem); + switch(msg) + { + case U8G_DEV_MSG_SET_8PIXEL: + if ( u8g_pb_Is8PixelVisible(pb, (u8g_dev_arg_pixel_t *)arg) ) + u8g_pbxh24_Set8Pixel(pb, (u8g_dev_arg_pixel_t *)arg); + break; + case U8G_DEV_MSG_SET_PIXEL: + u8g_pbxh24_SetTPixel(pb, (u8g_dev_arg_pixel_t *)arg, 4); + break; + case U8G_DEV_MSG_SET_4TPIXEL: + u8g_pbxh24_Set4TPixel(pb, (u8g_dev_arg_pixel_t *)arg); + break; + case U8G_DEV_MSG_SET_TPIXEL: + u8g_pbxh24_SetTPixel(pb, (u8g_dev_arg_pixel_t *)arg, ((u8g_dev_arg_pixel_t *)arg)->pixel&3); + break; + case U8G_DEV_MSG_INIT: + break; + case U8G_DEV_MSG_STOP: + break; + case U8G_DEV_MSG_PAGE_FIRST: + u8g_pbxh24_Clear(pb); + u8g_page_First(&(pb->p)); + break; + case U8G_DEV_MSG_PAGE_NEXT: + if ( u8g_page_Next(&(pb->p)) == 0 ) + return 0; + u8g_pbxh24_Clear(pb); + break; +#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION + case U8G_DEV_MSG_IS_BBX_INTERSECTION: + return u8g_pb_IsIntersection(pb, (u8g_dev_arg_bbx_t *)arg); +#endif + case U8G_DEV_MSG_GET_PAGE_BOX: + u8g_pb_GetPageBox(pb, (u8g_box_t *)arg); + break; + case U8G_DEV_MSG_GET_WIDTH: + *((u8g_uint_t *)arg) = pb->width; + break; + case U8G_DEV_MSG_GET_HEIGHT: + *((u8g_uint_t *)arg) = pb->p.total_height; + break; + case U8G_DEV_MSG_SET_COLOR_ENTRY: + break; + case U8G_DEV_MSG_SET_XY_CB: + break; + case U8G_DEV_MSG_GET_MODE: + return U8G_MODE_TRUECOLOR; + } + return 1; +} + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_polygon.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_polygon.c new file mode 100644 index 000000000..f7e9b6596 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_polygon.c @@ -0,0 +1,334 @@ +/* + + u8g_polygon.c + + Implementation of a polygon draw algorithm for "convex" polygons. + + Universal 8bit Graphics Library + + Copyright (c) 2013, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + See also: + http://www.angelfire.com/linux/myp/ConvexPolRas/ConvexPolRas.html + Computer Graphics, Principles and Practice, Foley, van Dam, Feiner, Hughes (pp 92) + Michael Abrash's Graphics Programming Black Book, Special Edition (Chapter 38 and 39) + + Optimized for embedded systems + - static memory usage only + - consistent data types + - low flash ROM consumption + +*/ + + +#include "u8g.h" + + + + +/*===========================================*/ +/* procedures, which should not be inlined (save as much flash ROM as possible */ + +static uint8_t pge_Next(struct pg_edge_struct *pge) PG_NOINLINE; +static uint8_t pg_inc(pg_struct *pg, uint8_t i) PG_NOINLINE; +static uint8_t pg_dec(pg_struct *pg, uint8_t i) PG_NOINLINE; +static void pg_expand_min_y(pg_struct *pg, pg_word_t min_y, uint8_t pge_idx) PG_NOINLINE; +static void pg_line_init(pg_struct * const pg, uint8_t pge_index) PG_NOINLINE; + +/*===========================================*/ +/* line draw algorithm */ + +static uint8_t pge_Next(struct pg_edge_struct *pge) +{ + if ( pge->current_y >= pge->max_y ) + return 0; + + pge->current_x += pge->current_x_offset; + pge->error += pge->error_offset; + if ( pge->error > 0 ) + { + pge->current_x += pge->x_direction; + pge->error -= pge->height; + } + + pge->current_y++; + return 1; +} + +/* assumes y2 > y1 */ +static void pge_Init(struct pg_edge_struct *pge, pg_word_t x1, pg_word_t y1, pg_word_t x2, pg_word_t y2) +{ + pg_word_t dx = x2 - x1; + pg_word_t width; + + pge->height = y2 - y1; + pge->max_y = y2; + pge->current_y = y1; + pge->current_x = x1; + + if ( dx >= 0 ) + { + pge->x_direction = 1; + width = dx; + pge->error = 0; + } + else + { + pge->x_direction = -1; + width = -dx; + pge->error = 1 - pge->height; + } + + pge->current_x_offset = dx / pge->height; + pge->error_offset = width % pge->height; +} + +/*===========================================*/ +/* convex polygon algorithm */ + +static uint8_t pg_inc(pg_struct *pg, uint8_t i) +{ + i++; + if ( i >= pg->cnt ) + i = 0; + return i; +} + +static uint8_t pg_dec(pg_struct *pg, uint8_t i) +{ + i--; + if ( i >= pg->cnt ) + i = pg->cnt-1; + return i; +} + +static void pg_expand_min_y(pg_struct *pg, pg_word_t min_y, uint8_t pge_idx) +{ + uint8_t i = pg->pge[pge_idx].curr_idx; + for(;;) + { + i = pg->pge[pge_idx].next_idx_fn(pg, i); + if ( pg->list[i].y != min_y ) + break; + pg->pge[pge_idx].curr_idx = i; + } +} + +static uint8_t pg_prepare(pg_struct *pg) +{ + pg_word_t max_y; + pg_word_t min_y; + uint8_t i; + + /* setup the next index procedures */ + pg->pge[PG_RIGHT].next_idx_fn = pg_inc; + pg->pge[PG_LEFT].next_idx_fn = pg_dec; + + /* search for highest and lowest point */ + max_y = pg->list[0].y; + min_y = pg->list[0].y; + pg->pge[PG_LEFT].curr_idx = 0; + for( i = 1; i < pg->cnt; i++ ) + { + if ( max_y < pg->list[i].y ) + { + max_y = pg->list[i].y; + } + if ( min_y > pg->list[i].y ) + { + pg->pge[PG_LEFT].curr_idx = i; + min_y = pg->list[i].y; + } + } + + /* calculate total number of scan lines */ + pg->total_scan_line_cnt = max_y; + pg->total_scan_line_cnt -= min_y; + + /* exit if polygon height is zero */ + if ( pg->total_scan_line_cnt == 0 ) + return 0; + + /* if the minimum y side is flat, try to find the lowest and highest x points */ + pg->pge[PG_RIGHT].curr_idx = pg->pge[PG_LEFT].curr_idx; + pg_expand_min_y(pg, min_y, PG_RIGHT); + pg_expand_min_y(pg, min_y, PG_LEFT); + + /* check if the min side is really flat (depends on the x values) */ + pg->is_min_y_not_flat = 1; + if ( pg->list[pg->pge[PG_LEFT].curr_idx].x != pg->list[pg->pge[PG_RIGHT].curr_idx].x ) + { + pg->is_min_y_not_flat = 0; + } + else + { + pg->total_scan_line_cnt--; + if ( pg->total_scan_line_cnt == 0 ) + return 0; + } + + return 1; +} + +static void pg_hline(pg_struct *pg, u8g_t *u8g) +{ + pg_word_t x1, x2, y; + x1 = pg->pge[PG_LEFT].current_x; + x2 = pg->pge[PG_RIGHT].current_x; + y = pg->pge[PG_RIGHT].current_y; + + if ( y < 0 ) + return; + if ( y >= u8g_GetHeight(u8g) ) + return; + if ( x1 < x2 ) + { + if ( x2 < 0 ) + return; + if ( x1 >= u8g_GetWidth(u8g) ) + return; + if ( x1 < 0 ) + x1 = 0; + if ( x2 >= u8g_GetWidth(u8g) ) + x2 = u8g_GetWidth(u8g); + u8g_DrawHLine(u8g, x1, y, x2 - x1); + } + else + { + if ( x1 < 0 ) + return; + if ( x2 >= u8g_GetWidth(u8g) ) + return; + if ( x2 < 0 ) + x1 = 0; + if ( x1 >= u8g_GetWidth(u8g) ) + x1 = u8g_GetWidth(u8g); + u8g_DrawHLine(u8g, x2, y, x1 - x2); + } +} + +static void pg_line_init(pg_struct * pg, uint8_t pge_index) +{ + struct pg_edge_struct *pge = pg->pge+pge_index; + uint8_t idx; + pg_word_t x1; + pg_word_t y1; + pg_word_t x2; + pg_word_t y2; + + idx = pge->curr_idx; + y1 = pg->list[idx].y; + x1 = pg->list[idx].x; + idx = pge->next_idx_fn(pg, idx); + y2 = pg->list[idx].y; + x2 = pg->list[idx].x; + pge->curr_idx = idx; + + pge_Init(pge, x1, y1, x2, y2); +} + +static void pg_exec(pg_struct *pg, u8g_t *u8g) +{ + pg_word_t i = pg->total_scan_line_cnt; + + /* first line is skipped if the min y line is not flat */ + pg_line_init(pg, PG_LEFT); + pg_line_init(pg, PG_RIGHT); + + if ( pg->is_min_y_not_flat != 0 ) + { + pge_Next(&(pg->pge[PG_LEFT])); + pge_Next(&(pg->pge[PG_RIGHT])); + } + + do + { + pg_hline(pg, u8g); + while ( pge_Next(&(pg->pge[PG_LEFT])) == 0 ) + { + pg_line_init(pg, PG_LEFT); + } + while ( pge_Next(&(pg->pge[PG_RIGHT])) == 0 ) + { + pg_line_init(pg, PG_RIGHT); + } + i--; + } while( i > 0 ); +} + +/*===========================================*/ +/* API procedures */ + +void pg_ClearPolygonXY(pg_struct *pg) +{ + pg->cnt = 0; +} + +void pg_AddPolygonXY(pg_struct *pg, u8g_t *u8g, int16_t x, int16_t y) +{ + if ( pg->cnt < PG_MAX_POINTS ) + { + pg->list[pg->cnt].x = x; + pg->list[pg->cnt].y = y; + pg->cnt++; + } +} + +void pg_DrawPolygon(pg_struct *pg, u8g_t *u8g) +{ + if ( pg_prepare(pg) == 0 ) + return; + pg_exec(pg, u8g); +} + +pg_struct u8g_pg; + +void u8g_ClearPolygonXY(void) +{ + pg_ClearPolygonXY(&u8g_pg); +} + +void u8g_AddPolygonXY(u8g_t *u8g, int16_t x, int16_t y) +{ + pg_AddPolygonXY(&u8g_pg, u8g, x, y); +} + +void u8g_DrawPolygon(u8g_t *u8g) +{ + pg_DrawPolygon(&u8g_pg, u8g); +} + +void u8g_DrawTriangle(u8g_t *u8g, int16_t x0, int16_t y0, int16_t x1, int16_t y1, int16_t x2, int16_t y2) +{ + u8g_ClearPolygonXY(); + u8g_AddPolygonXY(u8g, x0, y0); + u8g_AddPolygonXY(u8g, x1, y1); + u8g_AddPolygonXY(u8g, x2, y2); + u8g_DrawPolygon(u8g); +} + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_rect.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_rect.c new file mode 100644 index 000000000..139a43a24 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_rect.c @@ -0,0 +1,232 @@ +/* + + u8g_rect.c + + U8G high level interface for horizontal and vertical things + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +*/ + +#include "u8g.h" + +void u8g_draw_hline(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w) +{ + uint8_t pixel = 0x0ff; + while( w >= 8 ) + { + u8g_Draw8Pixel(u8g, x, y, 0, pixel); + w-=8; + x+=8; + } + if ( w != 0 ) + { + w ^=7; + w++; + pixel <<= w&7; + u8g_Draw8Pixel(u8g, x, y, 0, pixel); + } +} + +void u8g_draw_vline(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t h) +{ + uint8_t pixel = 0x0ff; + while( h >= 8 ) + { + u8g_Draw8Pixel(u8g, x, y, 1, pixel); + h-=8; + y+=8; + } + if ( h != 0 ) + { + h ^=7; + h++; + pixel <<= h&7; + u8g_Draw8Pixel(u8g, x, y, 1, pixel); + } +} + +void u8g_DrawHLine(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w) +{ + if ( u8g_IsBBXIntersection(u8g, x, y, w, 1) == 0 ) + return; + u8g_draw_hline(u8g, x, y, w); +} + +void u8g_DrawVLine(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w) +{ + if ( u8g_IsBBXIntersection(u8g, x, y, 1, w) == 0 ) + return; + u8g_draw_vline(u8g, x, y, w); +} + +/* restrictions: w > 0 && h > 0 */ +void u8g_DrawFrame(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h) +{ + u8g_uint_t xtmp = x; + + if ( u8g_IsBBXIntersection(u8g, x, y, w, h) == 0 ) + return; + + + u8g_draw_hline(u8g, x, y, w); + u8g_draw_vline(u8g, x, y, h); + x+=w; + x--; + u8g_draw_vline(u8g, x, y, h); + y+=h; + y--; + u8g_draw_hline(u8g, xtmp, y, w); +} + +void u8g_draw_box(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h) +{ + do + { + u8g_draw_hline(u8g, x, y, w); + y++; + h--; + } while( h != 0 ); +} + +/* restrictions: h > 0 */ +void u8g_DrawBox(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h) +{ + if ( u8g_IsBBXIntersection(u8g, x, y, w, h) == 0 ) + return; + u8g_draw_box(u8g, x, y, w, h); +} + + +void u8g_DrawRFrame(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h, u8g_uint_t r) +{ + u8g_uint_t xl, yu; + + if ( u8g_IsBBXIntersection(u8g, x, y, w, h) == 0 ) + return; + + xl = x; + xl += r; + yu = y; + yu += r; + + { + u8g_uint_t yl, xr; + + xr = x; + xr += w; + xr -= r; + xr -= 1; + + yl = y; + yl += h; + yl -= r; + yl -= 1; + + u8g_draw_circle(u8g, xl, yu, r, U8G_DRAW_UPPER_LEFT); + u8g_draw_circle(u8g, xr, yu, r, U8G_DRAW_UPPER_RIGHT); + u8g_draw_circle(u8g, xl, yl, r, U8G_DRAW_LOWER_LEFT); + u8g_draw_circle(u8g, xr, yl, r, U8G_DRAW_LOWER_RIGHT); + } + + { + u8g_uint_t ww, hh; + + ww = w; + ww -= r; + ww -= r; + ww -= 2; + hh = h; + hh -= r; + hh -= r; + hh -= 2; + + xl++; + yu++; + h--; + w--; + u8g_draw_hline(u8g, xl, y, ww); + u8g_draw_hline(u8g, xl, y+h, ww); + u8g_draw_vline(u8g, x, yu, hh); + u8g_draw_vline(u8g, x+w, yu, hh); + } +} + +void u8g_DrawRBox(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h, u8g_uint_t r) +{ + u8g_uint_t xl, yu; + u8g_uint_t yl, xr; + + if ( u8g_IsBBXIntersection(u8g, x, y, w, h) == 0 ) + return; + + xl = x; + xl += r; + yu = y; + yu += r; + + xr = x; + xr += w; + xr -= r; + xr -= 1; + + yl = y; + yl += h; + yl -= r; + yl -= 1; + + u8g_draw_disc(u8g, xl, yu, r, U8G_DRAW_UPPER_LEFT); + u8g_draw_disc(u8g, xr, yu, r, U8G_DRAW_UPPER_RIGHT); + u8g_draw_disc(u8g, xl, yl, r, U8G_DRAW_LOWER_LEFT); + u8g_draw_disc(u8g, xr, yl, r, U8G_DRAW_LOWER_RIGHT); + + { + u8g_uint_t ww, hh; + + ww = w; + ww -= r; + ww -= r; + ww -= 2; + hh = h; + hh -= r; + hh -= r; + hh -= 2; + + xl++; + yu++; + h--; + u8g_draw_box(u8g, xl, y, ww, r+1); + u8g_draw_box(u8g, xl, yl, ww, r+1); + //u8g_draw_hline(u8g, xl, y+h, ww); + u8g_draw_box(u8g, x, yu, w, hh); + //u8g_draw_vline(u8g, x+w, yu, hh); + } +} diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_rot.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_rot.c new file mode 100644 index 000000000..6df32834a --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_rot.c @@ -0,0 +1,409 @@ +/* + + u8g_rot.c + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +*/ + +#include "u8g.h" + +uint8_t u8g_dev_rot90_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); +uint8_t u8g_dev_rot180_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); +uint8_t u8g_dev_rot270_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); + +uint8_t u8g_dev_rot_dummy_fn(u8g_t *u8g, u8g_dev_t*dev, uint8_t msg, void *arg) +{ + return 0; +} + +u8g_dev_t u8g_dev_rot = { u8g_dev_rot_dummy_fn, NULL, NULL }; + + +void u8g_UndoRotation(u8g_t *u8g) +{ + if ( u8g->dev != &u8g_dev_rot ) + return; + u8g->dev = u8g_dev_rot.dev_mem; + u8g_UpdateDimension(u8g); +} + +void u8g_SetRot90(u8g_t *u8g) +{ + if ( u8g->dev != &u8g_dev_rot ) + { + u8g_dev_rot.dev_mem = u8g->dev; + u8g->dev = &u8g_dev_rot; + } + u8g_dev_rot.dev_fn = u8g_dev_rot90_fn; + u8g_UpdateDimension(u8g); +} + +void u8g_SetRot180(u8g_t *u8g) +{ + if ( u8g->dev != &u8g_dev_rot ) + { + u8g_dev_rot.dev_mem = u8g->dev; + u8g->dev = &u8g_dev_rot; + } + u8g_dev_rot.dev_fn = u8g_dev_rot180_fn; + u8g_UpdateDimension(u8g); +} + +void u8g_SetRot270(u8g_t *u8g) +{ + if ( u8g->dev != &u8g_dev_rot ) + { + u8g_dev_rot.dev_mem = u8g->dev; + u8g->dev = &u8g_dev_rot; + } + u8g_dev_rot.dev_fn = u8g_dev_rot270_fn; + u8g_UpdateDimension(u8g); +} + +uint8_t u8g_dev_rot90_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + u8g_dev_t *rotation_chain = (u8g_dev_t *)(dev->dev_mem); + switch(msg) + { + default: + /* + case U8G_DEV_MSG_INIT: + case U8G_DEV_MSG_STOP: + case U8G_DEV_MSG_PAGE_FIRST: + case U8G_DEV_MSG_PAGE_NEXT: + case U8G_DEV_MSG_SET_COLOR_ENTRY: + case U8G_DEV_MSG_SET_XY_CB: + */ + return u8g_call_dev_fn(u8g, rotation_chain, msg, arg); +#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION + case U8G_DEV_MSG_IS_BBX_INTERSECTION: + { + u8g_dev_arg_bbx_t *bbx = (u8g_dev_arg_bbx_t *)arg; + u8g_uint_t x, y, tmp; + + /* transform the reference point */ + y = bbx->x; + x = u8g->height; + /* x = u8g_GetWidthLL(u8g, rotation_chain); */ + x -= bbx->y; + x--; + + /* adjust point to be the uppler left corner again */ + x -= bbx->h; + x++; + + /* swap box dimensions */ + tmp = bbx->w; + bbx->w = bbx->h; + bbx->h = tmp; + + /* store x,y */ + bbx->x = x; + bbx->y = y; + } + return u8g_call_dev_fn(u8g, rotation_chain, msg, arg); +#endif /* U8G_DEV_MSG_IS_BBX_INTERSECTION */ + case U8G_DEV_MSG_GET_PAGE_BOX: + /* get page size from next device in the chain */ + u8g_call_dev_fn(u8g, rotation_chain, msg, arg); + //printf("pre x: %3d..%3d y: %3d..%3d ", ((u8g_box_t *)arg)->x0, ((u8g_box_t *)arg)->x1, ((u8g_box_t *)arg)->y0, ((u8g_box_t *)arg)->y1); + { + u8g_box_t new_box; + //new_box.x0 = u8g_GetHeightLL(u8g,rotation_chain) - ((u8g_box_t *)arg)->y1 - 1; + //new_box.x1 = u8g_GetHeightLL(u8g,rotation_chain) - ((u8g_box_t *)arg)->y0 - 1; + + new_box.x0 = ((u8g_box_t *)arg)->y0; + new_box.x1 = ((u8g_box_t *)arg)->y1; + new_box.y0 = ((u8g_box_t *)arg)->x0; + new_box.y1 = ((u8g_box_t *)arg)->x1; + *((u8g_box_t *)arg) = new_box; + //printf("post x: %3d..%3d y: %3d..%3d\n", ((u8g_box_t *)arg)->x0, ((u8g_box_t *)arg)->x1, ((u8g_box_t *)arg)->y0, ((u8g_box_t *)arg)->y1); + } + break; + case U8G_DEV_MSG_GET_WIDTH: + *((u8g_uint_t *)arg) = u8g_GetHeightLL(u8g,rotation_chain); + break; + case U8G_DEV_MSG_GET_HEIGHT: + *((u8g_uint_t *)arg) = u8g_GetWidthLL(u8g, rotation_chain); + break; + case U8G_DEV_MSG_SET_PIXEL: + case U8G_DEV_MSG_SET_TPIXEL: + { + u8g_uint_t x, y; + y = ((u8g_dev_arg_pixel_t *)arg)->x; + x = u8g_GetWidthLL(u8g, rotation_chain); + x -= ((u8g_dev_arg_pixel_t *)arg)->y; + x--; + ((u8g_dev_arg_pixel_t *)arg)->x = x; + ((u8g_dev_arg_pixel_t *)arg)->y = y; + } + u8g_call_dev_fn(u8g, rotation_chain, msg, arg); + break; + case U8G_DEV_MSG_SET_8PIXEL: + case U8G_DEV_MSG_SET_4TPIXEL: + { + u8g_uint_t x, y; + //uint16_t x,y; + y = ((u8g_dev_arg_pixel_t *)arg)->x; + x = u8g_GetWidthLL(u8g, rotation_chain); + x -= ((u8g_dev_arg_pixel_t *)arg)->y; + x--; + ((u8g_dev_arg_pixel_t *)arg)->x = x; + ((u8g_dev_arg_pixel_t *)arg)->y = y; + ((u8g_dev_arg_pixel_t *)arg)->dir+=1; + ((u8g_dev_arg_pixel_t *)arg)->dir &= 3; + } + u8g_call_dev_fn(u8g, rotation_chain, msg, arg); + break; + } + return 1; +} + +uint8_t u8g_dev_rot180_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + u8g_dev_t *rotation_chain = (u8g_dev_t *)(dev->dev_mem); + switch(msg) + { + default: + /* + case U8G_DEV_MSG_INIT: + case U8G_DEV_MSG_STOP: + case U8G_DEV_MSG_PAGE_FIRST: + case U8G_DEV_MSG_PAGE_NEXT: + case U8G_DEV_MSG_SET_COLOR_ENTRY: + case U8G_DEV_MSG_SET_XY_CB: + */ + return u8g_call_dev_fn(u8g, rotation_chain, msg, arg); +#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION + case U8G_DEV_MSG_IS_BBX_INTERSECTION: + { + u8g_dev_arg_bbx_t *bbx = (u8g_dev_arg_bbx_t *)arg; + u8g_uint_t x, y; + + /* transform the reference point */ + //y = u8g_GetHeightLL(u8g, rotation_chain); + y = u8g->height; + y -= bbx->y; + y--; + + //x = u8g_GetWidthLL(u8g, rotation_chain); + x = u8g->width; + x -= bbx->x; + x--; + + /* adjust point to be the uppler left corner again */ + y -= bbx->h; + y++; + + x -= bbx->w; + x++; + + /* store x,y */ + bbx->x = x; + bbx->y = y; + } + return u8g_call_dev_fn(u8g, rotation_chain, msg, arg); +#endif /* U8G_DEV_MSG_IS_BBX_INTERSECTION */ + case U8G_DEV_MSG_GET_PAGE_BOX: + /* get page size from next device in the chain */ + u8g_call_dev_fn(u8g, rotation_chain, msg, arg); + //printf("pre x: %3d..%3d y: %3d..%3d ", ((u8g_box_t *)arg)->x0, ((u8g_box_t *)arg)->x1, ((u8g_box_t *)arg)->y0, ((u8g_box_t *)arg)->y1); + { + u8g_box_t new_box; + + new_box.x0 = u8g_GetWidthLL(u8g,rotation_chain) - ((u8g_box_t *)arg)->x1 - 1; + new_box.x1 = u8g_GetWidthLL(u8g,rotation_chain) - ((u8g_box_t *)arg)->x0 - 1; + new_box.y0 = u8g_GetHeightLL(u8g,rotation_chain) - ((u8g_box_t *)arg)->y1 - 1; + new_box.y1 = u8g_GetHeightLL(u8g,rotation_chain) - ((u8g_box_t *)arg)->y0 - 1; + *((u8g_box_t *)arg) = new_box; + //printf("post x: %3d..%3d y: %3d..%3d\n", ((u8g_box_t *)arg)->x0, ((u8g_box_t *)arg)->x1, ((u8g_box_t *)arg)->y0, ((u8g_box_t *)arg)->y1); + } + break; + case U8G_DEV_MSG_GET_WIDTH: + *((u8g_uint_t *)arg) = u8g_GetWidthLL(u8g,rotation_chain); + break; + case U8G_DEV_MSG_GET_HEIGHT: + *((u8g_uint_t *)arg) = u8g_GetHeightLL(u8g, rotation_chain); + break; + case U8G_DEV_MSG_SET_PIXEL: + case U8G_DEV_MSG_SET_TPIXEL: + { + u8g_uint_t x, y; + + y = u8g_GetHeightLL(u8g, rotation_chain); + y -= ((u8g_dev_arg_pixel_t *)arg)->y; + y--; + + x = u8g_GetWidthLL(u8g, rotation_chain); + x -= ((u8g_dev_arg_pixel_t *)arg)->x; + x--; + + ((u8g_dev_arg_pixel_t *)arg)->x = x; + ((u8g_dev_arg_pixel_t *)arg)->y = y; + } + u8g_call_dev_fn(u8g, rotation_chain, msg, arg); + break; + case U8G_DEV_MSG_SET_8PIXEL: + case U8G_DEV_MSG_SET_4TPIXEL: + { + u8g_uint_t x, y; + + y = u8g_GetHeightLL(u8g, rotation_chain); + y -= ((u8g_dev_arg_pixel_t *)arg)->y; + y--; + + x = u8g_GetWidthLL(u8g, rotation_chain); + x -= ((u8g_dev_arg_pixel_t *)arg)->x; + x--; + + ((u8g_dev_arg_pixel_t *)arg)->x = x; + ((u8g_dev_arg_pixel_t *)arg)->y = y; + ((u8g_dev_arg_pixel_t *)arg)->dir+=2; + ((u8g_dev_arg_pixel_t *)arg)->dir &= 3; + } + u8g_call_dev_fn(u8g, rotation_chain, msg, arg); + break; + } + return 1; +} + +uint8_t u8g_dev_rot270_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + u8g_dev_t *rotation_chain = (u8g_dev_t *)(dev->dev_mem); + switch(msg) + { + default: + /* + case U8G_DEV_MSG_INIT: + case U8G_DEV_MSG_STOP: + case U8G_DEV_MSG_PAGE_FIRST: + case U8G_DEV_MSG_PAGE_NEXT: + case U8G_DEV_MSG_SET_COLOR_ENTRY: + case U8G_DEV_MSG_SET_XY_CB: + */ + return u8g_call_dev_fn(u8g, rotation_chain, msg, arg); +#ifdef U8G_DEV_MSG_IS_BBX_INTERSECTION + case U8G_DEV_MSG_IS_BBX_INTERSECTION: + { + u8g_dev_arg_bbx_t *bbx = (u8g_dev_arg_bbx_t *)arg; + u8g_uint_t x, y, tmp; + + /* transform the reference point */ + x = bbx->y; + + y = u8g->width; + /* y = u8g_GetHeightLL(u8g, rotation_chain); */ + y -= bbx->x; + y--; + + /* adjust point to be the uppler left corner again */ + y -= bbx->w; + y++; + + /* swap box dimensions */ + tmp = bbx->w; + bbx->w = bbx->h; + bbx->h = tmp; + + /* store x,y */ + bbx->x = x; + bbx->y = y; + } + return u8g_call_dev_fn(u8g, rotation_chain, msg, arg); +#endif /* U8G_DEV_MSG_IS_BBX_INTERSECTION */ + case U8G_DEV_MSG_GET_PAGE_BOX: + /* get page size from next device in the chain */ + u8g_call_dev_fn(u8g, rotation_chain, msg, arg); + //printf("pre x: %3d..%3d y: %3d..%3d ", ((u8g_box_t *)arg)->x0, ((u8g_box_t *)arg)->x1, ((u8g_box_t *)arg)->y0, ((u8g_box_t *)arg)->y1); + { + u8g_box_t new_box; + + new_box.x0 = u8g_GetHeightLL(u8g,rotation_chain) - ((u8g_box_t *)arg)->y1 - 1; + new_box.x1 = u8g_GetHeightLL(u8g,rotation_chain) - ((u8g_box_t *)arg)->y0 - 1; + new_box.y0 = u8g_GetWidthLL(u8g,rotation_chain) - ((u8g_box_t *)arg)->x1 - 1; + new_box.y1 = u8g_GetWidthLL(u8g,rotation_chain) - ((u8g_box_t *)arg)->x0 - 1; + *((u8g_box_t *)arg) = new_box; + //printf("post x: %3d..%3d y: %3d..%3d\n", ((u8g_box_t *)arg)->x0, ((u8g_box_t *)arg)->x1, ((u8g_box_t *)arg)->y0, ((u8g_box_t *)arg)->y1); + } + break; + case U8G_DEV_MSG_GET_WIDTH: + *((u8g_uint_t *)arg) = u8g_GetHeightLL(u8g,rotation_chain); + break; + case U8G_DEV_MSG_GET_HEIGHT: + *((u8g_uint_t *)arg) = u8g_GetWidthLL(u8g, rotation_chain); + break; + case U8G_DEV_MSG_SET_PIXEL: + case U8G_DEV_MSG_SET_TPIXEL: + { + u8g_uint_t x, y; + x = ((u8g_dev_arg_pixel_t *)arg)->y; + + y = u8g_GetHeightLL(u8g, rotation_chain); + y -= ((u8g_dev_arg_pixel_t *)arg)->x; + y--; + + /* + x = u8g_GetWidthLL(u8g, rotation_chain); + x -= ((u8g_dev_arg_pixel_t *)arg)->y; + x--; + */ + ((u8g_dev_arg_pixel_t *)arg)->x = x; + ((u8g_dev_arg_pixel_t *)arg)->y = y; + } + u8g_call_dev_fn(u8g, rotation_chain, msg, arg); + break; + case U8G_DEV_MSG_SET_8PIXEL: + case U8G_DEV_MSG_SET_4TPIXEL: + { + u8g_uint_t x, y; + x = ((u8g_dev_arg_pixel_t *)arg)->y; + + y = u8g_GetHeightLL(u8g, rotation_chain); + y -= ((u8g_dev_arg_pixel_t *)arg)->x; + y--; + + /* + x = u8g_GetWidthLL(u8g, rotation_chain); + x -= ((u8g_dev_arg_pixel_t *)arg)->y; + x--; + */ + ((u8g_dev_arg_pixel_t *)arg)->x = x; + ((u8g_dev_arg_pixel_t *)arg)->y = y; + ((u8g_dev_arg_pixel_t *)arg)->dir+=3; + ((u8g_dev_arg_pixel_t *)arg)->dir &= 3; + } + u8g_call_dev_fn(u8g, rotation_chain, msg, arg); + break; + } + return 1; +} + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_scale.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_scale.c new file mode 100644 index 000000000..e5b4b634f --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_scale.c @@ -0,0 +1,188 @@ +/* + + u8g_scale.c + + Universal 8bit Graphics Library + + Copyright (c) 2012, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + Scale screen by some constant factors. Usefull for making bigger fonts wiht less + memory consumption + +*/ + +#include "u8g.h" + +uint8_t u8g_dev_scale_2x2_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); + + +u8g_dev_t u8g_dev_scale = { u8g_dev_scale_2x2_fn, NULL, NULL }; + +void u8g_UndoScale(u8g_t *u8g) +{ + if ( u8g->dev != &u8g_dev_scale ) + return; + u8g->dev = u8g_dev_scale.dev_mem; + u8g_UpdateDimension(u8g); +} + +void u8g_SetScale2x2(u8g_t *u8g) +{ + if ( u8g->dev != &u8g_dev_scale ) + { + u8g_dev_scale.dev_mem = u8g->dev; + u8g->dev = &u8g_dev_scale; + } + u8g_dev_scale.dev_fn = u8g_dev_scale_2x2_fn; + u8g_UpdateDimension(u8g); +} + + +uint8_t u8g_dev_scale_2x2_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + u8g_dev_t *chain = (u8g_dev_t *)(dev->dev_mem); + uint8_t pixel; + uint16_t scaled_pixel; + uint8_t i; + uint8_t dir; + u8g_uint_t x, y, xx,yy; + + switch(msg) + { + default: + return u8g_call_dev_fn(u8g, chain, msg, arg); + case U8G_DEV_MSG_GET_WIDTH: + *((u8g_uint_t *)arg) = u8g_GetWidthLL(u8g, chain) / 2; + break; + case U8G_DEV_MSG_GET_HEIGHT: + *((u8g_uint_t *)arg) = u8g_GetHeightLL(u8g, chain) / 2; + break; + case U8G_DEV_MSG_GET_PAGE_BOX: + /* get page size from next device in the chain */ + u8g_call_dev_fn(u8g, chain, msg, arg); + ((u8g_box_t *)arg)->x0 /= 2; + ((u8g_box_t *)arg)->x1 /= 2; + ((u8g_box_t *)arg)->y0 /= 2; + ((u8g_box_t *)arg)->y1 /= 2; + return 1; + case U8G_DEV_MSG_SET_PIXEL: + x = ((u8g_dev_arg_pixel_t *)arg)->x; + x *= 2; + y = ((u8g_dev_arg_pixel_t *)arg)->y; + y *= 2; + ((u8g_dev_arg_pixel_t *)arg)->x = x; + ((u8g_dev_arg_pixel_t *)arg)->y = y; + u8g_call_dev_fn(u8g, chain, msg, arg); + x++; + ((u8g_dev_arg_pixel_t *)arg)->x = x; + ((u8g_dev_arg_pixel_t *)arg)->y = y; + u8g_call_dev_fn(u8g, chain, msg, arg); + y++; + ((u8g_dev_arg_pixel_t *)arg)->x = x; + ((u8g_dev_arg_pixel_t *)arg)->y = y; + u8g_call_dev_fn(u8g, chain, msg, arg); + x--; + ((u8g_dev_arg_pixel_t *)arg)->x = x; + ((u8g_dev_arg_pixel_t *)arg)->y = y; + u8g_call_dev_fn(u8g, chain, msg, arg); + break; + case U8G_DEV_MSG_SET_8PIXEL: + pixel = ((u8g_dev_arg_pixel_t *)arg)->pixel; + dir = ((u8g_dev_arg_pixel_t *)arg)->dir; + scaled_pixel = 0; + for( i = 0; i < 8; i++ ) + { + scaled_pixel<<=2; + if ( pixel & 128 ) + { + scaled_pixel |= 3; + } + pixel<<=1; + } + x = ((u8g_dev_arg_pixel_t *)arg)->x; + x *= 2; + xx = x; + y = ((u8g_dev_arg_pixel_t *)arg)->y; + y *= 2; + yy = y; + if ( ((u8g_dev_arg_pixel_t *)arg)->dir & 1 ) + { + xx++; + } + else + { + yy++; + } + + ((u8g_dev_arg_pixel_t *)arg)->pixel = scaled_pixel>>8; + ((u8g_dev_arg_pixel_t *)arg)->x = x; + ((u8g_dev_arg_pixel_t *)arg)->y = y; + ((u8g_dev_arg_pixel_t *)arg)->dir = dir; + u8g_call_dev_fn(u8g, chain, msg, arg); + + + ((u8g_dev_arg_pixel_t *)arg)->x = xx; + ((u8g_dev_arg_pixel_t *)arg)->y = yy; + ((u8g_dev_arg_pixel_t *)arg)->dir = dir; + u8g_call_dev_fn(u8g, chain, msg, arg); + + ((u8g_dev_arg_pixel_t *)arg)->pixel = scaled_pixel&255; + //((u8g_dev_arg_pixel_t *)arg)->pixel = 0x00; + switch(dir) + { + case 0: + x+=8; + xx+=8; + break; + case 1: + y+=8; + yy+=8; + break; + case 2: + x-=8; + xx-=8; + break; + case 3: + y-=8; + yy-=8; + break; + } + ((u8g_dev_arg_pixel_t *)arg)->x = x; + ((u8g_dev_arg_pixel_t *)arg)->y = y; + ((u8g_dev_arg_pixel_t *)arg)->dir = dir; + u8g_call_dev_fn(u8g, chain, msg, arg); + + ((u8g_dev_arg_pixel_t *)arg)->x = xx; + ((u8g_dev_arg_pixel_t *)arg)->y = yy; + ((u8g_dev_arg_pixel_t *)arg)->dir = dir; + u8g_call_dev_fn(u8g, chain, msg, arg); + break; + } + return 1; +} + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_state.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_state.c new file mode 100644 index 000000000..3621d933d --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_state.c @@ -0,0 +1,159 @@ +/* + + u8g_state.c + + backup and restore hardware state + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + + state callback: backup env U8G_STATE_MSG_BACKUP_ENV + device callback: DEV_MSG_INIT + state callback: backup u8g U8G_STATE_MSG_BACKUP_U8G + state callback: restore env U8G_STATE_MSG_RESTORE_ENV + + state callback: backup env U8G_STATE_MSG_BACKUP_ENV + state callback: retore u8g U8G_STATE_MSG_RESTORE_U8G + DEV_MSG_PAGE_FIRST or DEV_MSG_PAGE_NEXT + state callback: restore env U8G_STATE_MSG_RESTORE_ENV + +*/ + +#include +#include "u8g.h" + +void u8g_state_dummy_cb(uint8_t msg) +{ + /* the dummy procedure does nothing */ +} + +void u8g_SetHardwareBackup(u8g_t *u8g, u8g_state_cb backup_cb) +{ + u8g->state_cb = backup_cb; + /* in most cases the init message was already sent, so this will backup the */ + /* current u8g state */ + backup_cb(U8G_STATE_MSG_BACKUP_U8G); +} + + +/*===============================================================*/ +/* register variable for restoring interrupt state */ + +#if defined(__AVR__) +uint8_t global_SREG_backup; +#endif + + + +/*===============================================================*/ +/* AVR */ + +#if defined(__AVR_XMEGA__) +#elif defined(__AVR__) +#define U8G_ATMEGA_HW_SPI + +/* remove the definition for attiny */ +#if __AVR_ARCH__ == 2 +#undef U8G_ATMEGA_HW_SPI +#endif +#if __AVR_ARCH__ == 25 +#undef U8G_ATMEGA_HW_SPI +#endif +#endif + +#if defined(U8G_ATMEGA_HW_SPI) +#include +static uint8_t u8g_state_avr_spi_memory[2]; + +void u8g_backup_spi(uint8_t msg) +{ + if ( U8G_STATE_MSG_IS_BACKUP(msg) ) + { + u8g_state_avr_spi_memory[U8G_STATE_MSG_GET_IDX(msg)] = SPCR; + } + else + { + uint8_t tmp = SREG; + cli(); + SPCR = 0; + SPCR = u8g_state_avr_spi_memory[U8G_STATE_MSG_GET_IDX(msg)]; + SREG = tmp; + } +} + +#elif defined (U8G_RASPBERRY_PI) + +#include + +void u8g_backup_spi(uint8_t msg) { + printf("u8g_backup_spi %d\r\n",msg); +} + +#elif defined(ARDUINO) && defined(__SAM3X8E__) // Arduino Due, maybe we should better check for __SAM3X8E__ + +#include "sam.h" + +struct sam_backup_struct +{ + uint32_t mr; + uint32_t sr; + uint32_t csr[4]; +} sam_backup[2]; + +void u8g_backup_spi(uint8_t msg) +{ + uint8_t idx = U8G_STATE_MSG_GET_IDX(msg); + if ( U8G_STATE_MSG_IS_BACKUP(msg) ) + { + sam_backup[idx].mr = SPI0->SPI_MR; + sam_backup[idx].sr = SPI0->SPI_SR; + sam_backup[idx].csr[0] = SPI0->SPI_CSR[0]; + sam_backup[idx].csr[1] = SPI0->SPI_CSR[1]; + sam_backup[idx].csr[2] = SPI0->SPI_CSR[2]; + sam_backup[idx].csr[3] = SPI0->SPI_CSR[3]; + } + else + { + SPI0->SPI_MR = sam_backup[idx].mr; + SPI0->SPI_CSR[0] = sam_backup[idx].csr[0]; + SPI0->SPI_CSR[1] = sam_backup[idx].csr[1]; + SPI0->SPI_CSR[2] = sam_backup[idx].csr[2]; + SPI0->SPI_CSR[3] = sam_backup[idx].csr[3]; + } +} + +#else + +void u8g_backup_spi(uint8_t msg) +{ +} + +#endif + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_u16toa.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_u16toa.c new file mode 100644 index 000000000..f1d1803cf --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_u16toa.c @@ -0,0 +1,68 @@ +/* + + u8g_u16toa.c + + + Universal 8bit Graphics Library + + Copyright (c) 2012, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +*/ + + +#include "u8g.h" + +const char *u8g_u16toap(char * dest, uint16_t v) +{ + uint8_t pos; + uint8_t d; + uint16_t c; + c = 10000; + for( pos = 0; pos < 5; pos++ ) + { + d = '0'; + while( v >= c ) + { + v -= c; + d++; + } + dest[pos] = d; + c /= 10; + } + dest[5] = '\0'; + return dest; +} + +/* v = value, d = number of digits */ +const char *u8g_u16toa(uint16_t v, uint8_t d) +{ + static char buf[6]; + d = 5-d; + return u8g_u16toap(buf, v) + d; +} + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_u8toa.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_u8toa.c new file mode 100644 index 000000000..f3a2c06fa --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_u8toa.c @@ -0,0 +1,68 @@ +/* + + u8g_u8toa.c + + + Universal 8bit Graphics Library + + Copyright (c) 2011, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +*/ + + +#include "u8g.h" + +static const unsigned char u8g_u8toa_tab[3] = { 100, 10, 1 } ; +const char *u8g_u8toap(char * dest, uint8_t v) +{ + uint8_t pos; + uint8_t d; + uint8_t c; + for( pos = 0; pos < 3; pos++ ) + { + d = '0'; + c = *(u8g_u8toa_tab+pos); + while( v >= c ) + { + v -= c; + d++; + } + dest[pos] = d; + } + dest[3] = '\0'; + return dest; +} + +/* v = value, d = number of digits */ +const char *u8g_u8toa(uint8_t v, uint8_t d) +{ + static char buf[4]; + d = 3-d; + return u8g_u8toap(buf, v) + d; +} + diff --git a/machines/avr/arduino/libraries/U8glib/src/clib/u8g_virtual_screen.c b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_virtual_screen.c new file mode 100644 index 000000000..799fa95f4 --- /dev/null +++ b/machines/avr/arduino/libraries/U8glib/src/clib/u8g_virtual_screen.c @@ -0,0 +1,144 @@ +/* + + u8g_virtual_screen.c + + Universal 8bit Graphics Library + + Copyright (c) 2012, olikraus@gmail.com + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list + of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or other + materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND + CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, + INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +*/ + +#include "u8g.h" + +struct _u8g_vs_t +{ + u8g_uint_t x; + u8g_uint_t y; + u8g_t *u8g; +}; +typedef struct _u8g_vs_t u8g_vs_t; + +#define U8g_VS_MAX 4 +uint8_t u8g_vs_cnt = 0; +u8g_vs_t u8g_vs_list[U8g_VS_MAX]; +uint8_t u8g_vs_current; +u8g_uint_t u8g_vs_width; +u8g_uint_t u8g_vs_height; + +uint8_t u8g_dev_vs_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) +{ + switch(msg) + { + default: + { + uint8_t i; + for( i = 0; i < u8g_vs_cnt; i++ ) + { + u8g_call_dev_fn(u8g_vs_list[i].u8g, u8g_vs_list[i].u8g->dev, msg, arg); + } + } + return 1; + case U8G_DEV_MSG_PAGE_FIRST: + u8g_vs_current = 0; + if ( u8g_vs_cnt != 0 ) + return u8g_call_dev_fn(u8g_vs_list[u8g_vs_current].u8g, u8g_vs_list[u8g_vs_current].u8g->dev, msg, arg); + return 0; + case U8G_DEV_MSG_PAGE_NEXT: + { + uint8_t ret = 0; + if ( u8g_vs_cnt != 0 ) + ret = u8g_call_dev_fn(u8g_vs_list[u8g_vs_current].u8g, u8g_vs_list[u8g_vs_current].u8g->dev, msg, arg); + if ( ret != 0 ) + return ret; + u8g_vs_current++; /* next device */ + if ( u8g_vs_current >= u8g_vs_cnt ) /* reached end? */ + return 0; + return u8g_call_dev_fn(u8g_vs_list[u8g_vs_current].u8g, u8g_vs_list[u8g_vs_current].u8g->dev, U8G_DEV_MSG_PAGE_FIRST, arg); + } + case U8G_DEV_MSG_GET_WIDTH: + *((u8g_uint_t *)arg) = u8g_vs_width; + break; + case U8G_DEV_MSG_GET_HEIGHT: + *((u8g_uint_t *)arg) = u8g_vs_height; + break; + case U8G_DEV_MSG_GET_PAGE_BOX: + if ( u8g_vs_current < u8g_vs_cnt ) + { + u8g_call_dev_fn(u8g_vs_list[u8g_vs_current].u8g, u8g_vs_list[u8g_vs_current].u8g->dev, msg, arg); + ((u8g_box_t *)arg)->x0 += u8g_vs_list[u8g_vs_current].x; + ((u8g_box_t *)arg)->x1 += u8g_vs_list[u8g_vs_current].x; + ((u8g_box_t *)arg)->y0 += u8g_vs_list[u8g_vs_current].y; + ((u8g_box_t *)arg)->y1 += u8g_vs_list[u8g_vs_current].y; + } + else + { + ((u8g_box_t *)arg)->x0 = 0; + ((u8g_box_t *)arg)->x1 = 0; + ((u8g_box_t *)arg)->y0 = 0; + ((u8g_box_t *)arg)->y1 = 0; + } + return 1; + case U8G_DEV_MSG_SET_PIXEL: + case U8G_DEV_MSG_SET_8PIXEL: + if ( u8g_vs_current < u8g_vs_cnt ) + { + ((u8g_dev_arg_pixel_t *)arg)->x -= u8g_vs_list[u8g_vs_current].x; + ((u8g_dev_arg_pixel_t *)arg)->y -= u8g_vs_list[u8g_vs_current].y; + return u8g_call_dev_fn(u8g_vs_list[u8g_vs_current].u8g, u8g_vs_list[u8g_vs_current].u8g->dev, msg, arg); + } + break; + } + return 1; +} + + + +u8g_dev_t u8g_dev_vs = { u8g_dev_vs_fn, NULL, NULL }; + +void u8g_SetVirtualScreenDimension(u8g_t *vs_u8g, u8g_uint_t width, u8g_uint_t height) +{ + if ( vs_u8g->dev != &u8g_dev_vs ) + return; /* abort if there is no a virtual screen device */ + u8g_vs_width = width; + u8g_vs_height = height; +} + +uint8_t u8g_AddToVirtualScreen(u8g_t *vs_u8g, u8g_uint_t x, u8g_uint_t y, u8g_t *child_u8g) +{ + if ( vs_u8g->dev != &u8g_dev_vs ) + return 0; /* abort if there is no a virtual screen device */ + if ( u8g_vs_cnt >= U8g_VS_MAX ) + return 0; /* maximum number of child u8g's reached */ + u8g_vs_list[u8g_vs_cnt].u8g = child_u8g; + u8g_vs_list[u8g_vs_cnt].x = x; + u8g_vs_list[u8g_vs_cnt].y = y; + u8g_vs_cnt++; + return 1; +} + diff --git a/make/Makefile b/make/Makefile index 49248b222..b38c820ac 100644 --- a/make/Makefile +++ b/make/Makefile @@ -156,7 +156,7 @@ CPP = $(CC) # exe rule -> Link $(EXEC): $(OBJ) - @echo linking $@ + @echo linking $@ - $(LDFLAGS) $(LD) -o $(EXEC) $(OBJ) $(LDFLAGS) #clean