Difference between revisions of "1.54-inch E-paper Display"
(→Support) |
(→[Code 2 Display a clock - WIFI v2]) |
||
| (23 intermediate revisions by 2 users not shown) | |||
| Line 3: | Line 3: | ||
1.54-inch E-paper Display | 1.54-inch E-paper Display | ||
| + | |||
| + | [[File:EPaper-Display-1.54.PNG|250px]] | ||
<b>Setup</b> | <b>Setup</b> | ||
| − | Install Seeed <b>GFX Library</b | + | Install Seeed <b>GFX Library</b> |
| − | https:// | + | https://github.com/Seeed-Studio/Seeed_GFX |
This library has same function as TFT library and no compatible with it. If you have installed TFT library or other similary display libraries, please uninstall it first. | This library has same function as TFT library and no compatible with it. If you have installed TFT library or other similary display libraries, please uninstall it first. | ||
| Line 14: | Line 16: | ||
<b>Create a driver.h file</b> and paste the following code into it.<br> | <b>Create a driver.h file</b> and paste the following code into it.<br> | ||
| − | Seeed GFX Library - <b>Online Configuration Generator</b><br | + | Seeed GFX Library - <b>Online Configuration Generator</b><br> |
https://seeed-studio.github.io/Seeed_GFX/ | https://seeed-studio.github.io/Seeed_GFX/ | ||
| − | + | <pre> | |
| + | // driver.h file | ||
#define BOARD_SCREEN_COMBO 505 // 1.54 inch monochrome ePaper Screen (SSD1681) | #define BOARD_SCREEN_COMBO 505 // 1.54 inch monochrome ePaper Screen (SSD1681) | ||
#define USE_XIAO_EPAPER_BREAKOUT_BOARD | #define USE_XIAO_EPAPER_BREAKOUT_BOARD | ||
| + | </pre> | ||
| + | |||
| + | Sketch -> <b>Include Library</b> -> Add .ZIP<br> | ||
| + | Seeed_GFX-master.zip<br> | ||
| + | |||
| + | <b>Upload the Code</b><br> | ||
| + | driver.h<br> | ||
| + | HelloWorld.ino<br> | ||
| + | |||
| + | |||
==== Liens externes ==== | ==== Liens externes ==== | ||
| Line 28: | Line 41: | ||
=== Exemples === | === Exemples === | ||
| + | |||
| + | /examples/ePaper/Basic | ||
1 Bitmap: Display a bitmap image.<br> | 1 Bitmap: Display a bitmap image.<br> | ||
2 Clock: Display a clock.<br> | 2 Clock: Display a clock.<br> | ||
3 Clock_digital: Display a digital clock.<br> | 3 Clock_digital: Display a digital clock.<br> | ||
| − | 4 Shape: Display different sizes of words and shape randomly.<br> | + | 4 HelloWorld: <br> |
| + | 5 Shape: Display different sizes of words and shape randomly.<br> | ||
| + | |||
| + | === [Code 1] Display a bitmap image === | ||
| + | |||
| + | <pre> | ||
| + | #include "TFT_eSPI.h" | ||
| + | #include "image.h" | ||
| + | |||
| + | #ifdef EPAPER_ENABLE | ||
| + | EPaper epaper; | ||
| + | #endif | ||
| + | |||
| + | void setup() | ||
| + | { | ||
| + | #ifdef EPAPER_ENABLE | ||
| + | Serial.begin(115200); | ||
| + | delay(2000); | ||
| + | Serial.println("1.54\" E-Paper Bitmap Display Example"); | ||
| + | |||
| + | epaper.begin(); | ||
| + | |||
| + | // Clear screen to white | ||
| + | epaper.fillScreen(TFT_WHITE); | ||
| + | epaper.update(); | ||
| + | delay(1000); | ||
| + | |||
| + | // Display bitmap image using drawBitmap API | ||
| + | // drawBitmap(x, y, bitmap_data, width, height, color) | ||
| + | epaper.drawBitmap(0, 0, gImage_1inch54, 200, 200, TFT_BLACK); | ||
| + | epaper.update(); | ||
| + | |||
| + | Serial.println("Bitmap displayed successfully"); | ||
| + | |||
| + | // Put display to sleep to save power | ||
| + | epaper.sleep(); | ||
| + | #else | ||
| + | Serial.begin(115200); | ||
| + | Serial.println("EPAPER_ENABLE not defined. Please select the correct setup file."); | ||
| + | #endif | ||
| + | } | ||
| + | |||
| + | void loop() | ||
| + | { | ||
| + | // Nothing to do here | ||
| + | } | ||
| + | </pre> | ||
| + | |||
| + | <b>onglet driver.h</b> | ||
| + | |||
| + | <pre> | ||
| + | // driver.h file | ||
| + | #define BOARD_SCREEN_COMBO 505 // 1.54 inch monochrome ePaper Screen (SSD1681) | ||
| + | #define USE_XIAO_EPAPER_BREAKOUT_BOARD | ||
| + | </pre> | ||
| + | |||
| + | <b>onglet image.h</b> | ||
| + | |||
| + | <pre> | ||
| + | /* | ||
| + | * Image header file for 1.54" E-Paper Display | ||
| + | * | ||
| + | * Image specifications: | ||
| + | * - Size: 200x200 pixels | ||
| + | * - Format: 1-bit monochrome bitmap | ||
| + | * - Color depth: Black and White | ||
| + | * | ||
| + | * To generate your own image: | ||
| + | * 1. Prepare a 200x200 pixel image | ||
| + | * 2. Convert to 1-bit monochrome bitmap | ||
| + | * 3. Use image2cpp or similar tool to generate C array | ||
| + | * 4. Replace the array below with your generated data | ||
| + | */ | ||
| + | |||
| + | #ifndef _IMAGE_H_ | ||
| + | #define _IMAGE_H_ | ||
| + | |||
| + | // Placeholder for 200x200 bitmap image | ||
| + | // Replace this with your actual image data | ||
| + | const unsigned char gImage_1inch54[] PROGMEM = { | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x80, 0x00, 0xC0, 0x00, 0x00, | ||
| + | 0xCC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x07, 0xC0, | ||
| + | 0x7C, 0x07, 0xC0, 0xFD, 0x81, 0xFC, 0xC6, 0x18, 0x7E, 0xC0, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x0F, 0xF0, 0xFE, 0x1F, 0xE1, 0xFF, 0x83, 0xFC, 0xEE, | ||
| + | 0x18, 0xFF, 0xCC, 0x7F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, | ||
| + | 0x1C, 0x71, 0xC7, 0x1C, 0x73, 0xC7, 0x83, 0x00, 0xEE, 0x19, 0xE3, 0xCC, 0xE3, 0xC0, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x18, 0x3B, 0x83, 0x38, 0x33, 0x83, 0x83, | ||
| + | 0x80, 0xCE, 0x19, 0xC1, 0xCD, 0xC1, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x7C, 0x3F, 0xFB, 0xFF, 0xBF, 0xF3, 0x03, 0x83, 0xF0, 0xCE, 0x19, 0x81, 0xCD, 0xC0, 0xC0, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, 0xFB, 0xFF, 0xBF, 0xF3, | ||
| + | 0x03, 0x81, 0xFC, 0xCE, 0x19, 0x81, 0xCD, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x07, 0xB8, 0x03, 0x80, 0x38, 0x03, 0x03, 0x80, 0x1C, 0xCE, 0x19, 0x81, 0xCD, | ||
| + | 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x9C, 0x01, 0x80, | ||
| + | 0x38, 0x03, 0x87, 0x80, 0x0C, 0xC6, 0x19, 0xC3, 0xCC, 0xE1, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0x9F, 0xF1, 0xFF, 0x1F, 0xE1, 0xFF, 0x83, 0x1C, 0xE7, 0xF8, | ||
| + | 0xFF, 0xCC, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x0F, | ||
| + | 0xE0, 0xFE, 0x0F, 0xE0, 0xFF, 0x83, 0xF8, 0xE3, 0xF0, 0x7F, 0xCC, 0x7F, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x03, 0x80, 0x38, 0x03, 0x80, 0x39, 0x80, 0xE0, | ||
| + | 0x20, 0xC0, 0x1C, 0xCC, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, 0xC0, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, | ||
| + | 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x39, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x38, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0xC0, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0xDC, 0xCC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x18, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFE, 0xFC, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x01, 0x80, 0x13, 0xC6, 0xE6, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xC0, 0xB7, 0xE6, 0x66, 0xE4, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0xF8, 0xE6, 0x66, 0x66, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xFC, 0xC6, 0x76, | ||
| + | 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xF0, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x04, 0x3C, 0xCC, 0xC6, 0x66, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x30, 0xCC, | ||
| + | 0xC3, 0xE6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, | ||
| + | 0xFF, 0xF8, 0x00, 0x03, 0x00, 0x3F, 0x3B, 0x70, 0xCE, 0xC1, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xFF, 0xF8, 0x00, 0x43, 0x06, 0x3F, 0x33, | ||
| + | 0xB0, 0xE6, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFE, | ||
| + | 0x00, 0x00, 0xFF, 0xF8, 0x00, 0xE3, 0x9F, 0xBB, 0xB3, 0xBE, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xFF, 0x00, 0x01, 0xFF, 0xF8, 0x00, 0xF7, 0x99, | ||
| + | 0x99, 0xBB, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, | ||
| + | 0xFF, 0xFF, 0x00, 0x01, 0xFF, 0xF8, 0x00, 0xF7, 0x99, 0x99, 0x9F, 0x00, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xFF, 0x00, 0x01, 0xFF, 0xFC, 0x00, | ||
| + | 0x7F, 0x99, 0x99, 0x8C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x1F, 0xFF, 0xFF, 0x00, 0x03, 0xFB, 0xFC, 0x00, 0x7D, 0x9F, 0x98, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x30, 0x06, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xFF, 0x00, 0x03, 0xFB, | ||
| + | 0xFC, 0x00, 0x6C, 0xCF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x31, 0xE7, 0x60, 0x00, 0x00, | ||
| + | 0x0C, 0x00, 0x00, 0x1F, 0xFF, 0xE0, 0x00, 0x07, 0xF3, 0xFC, 0x00, 0x64, 0xC0, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0xC0, 0x02, 0x31, 0x33, 0x60, 0x00, 0x01, 0xFC, 0x00, 0x00, 0x1F, 0xF8, 0x00, 0x00, | ||
| + | 0x07, 0xF3, 0xFC, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x1F, 0xB8, 0x71, 0xE0, | ||
| + | 0x00, 0x03, 0xFC, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x00, 0x07, 0xF3, 0xFE, 0x00, 0x00, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0xFC, 0x07, 0x99, 0x99, 0xB1, 0xC0, 0x00, 0x07, 0xFC, 0x00, 0x00, 0x1F, 0xE0, | ||
| + | 0x00, 0x00, 0x0F, 0xF3, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x66, 0x19, 0x99, | ||
| + | 0xB8, 0xC0, 0x00, 0x1F, 0xFE, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x0F, 0xE3, 0xFE, 0x00, 0x00, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0x67, 0x19, 0x99, 0xF8, 0xC1, 0x00, 0x7F, 0xFE, 0x00, 0x00, | ||
| + | 0x0F, 0xF0, 0x00, 0x00, 0x0F, 0xE1, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xC6, 0x67, | ||
| + | 0xD9, 0x9C, 0xC1, 0xFF, 0x01, 0xFF, 0xFE, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x1F, 0xE1, 0xFE, | ||
| + | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0xE7, 0x60, 0xDF, 0x80, 0x0F, 0xFF, 0x01, 0xFF, 0xFE, | ||
| + | 0x00, 0x00, 0x0F, 0xF7, 0xFC, 0x00, 0x1F, 0xC1, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xE0, | ||
| + | 0x66, 0x77, 0xDE, 0x01, 0xFF, 0xFF, 0x01, 0xFF, 0xFE, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0x00, 0x3F, | ||
| + | 0xC1, 0xFF, 0x00, 0x00, 0x04, 0x00, 0x3E, 0x66, 0xC0, 0x66, 0x37, 0x8C, 0x7F, 0xFF, 0xFF, 0x01, | ||
| + | 0xFF, 0xFE, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xC0, 0x3F, 0x81, 0xFF, 0xF0, 0x00, 0x3F, 0x0E, 0x7F, | ||
| + | 0x7E, 0xE0, 0x7C, 0x20, 0x0F, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x0F, 0xFF, 0xFF, | ||
| + | 0xC0, 0x3F, 0x81, 0xFF, 0xF0, 0x00, 0x3B, 0xBE, 0x73, 0x78, 0x60, 0x78, 0x03, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0x00, 0x81, 0xFF, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xE0, 0x7F, 0x9F, 0xFF, 0xF0, 0x00, 0x31, | ||
| + | 0x87, 0x73, 0x70, 0x60, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x01, 0xFF, 0x00, 0x00, 0x07, | ||
| + | 0xFF, 0xFF, 0xF0, 0x7F, 0xFF, 0xFF, 0xF0, 0x0F, 0x3B, 0x8F, 0x33, 0x3E, 0x40, 0x0F, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0x00, 0x01, 0xFF, 0x00, 0x00, 0x07, 0xF8, 0x7F, 0xF0, 0x7F, 0xFF, 0xFF, 0xF8, | ||
| + | 0x0D, 0x9F, 0x1B, 0x3F, 0x18, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x01, 0xFF, 0x00, | ||
| + | 0x00, 0x07, 0xE0, 0x3F, 0xF0, 0xFF, 0xFF, 0xFF, 0xF8, 0x19, 0x9C, 0x3B, 0x3E, 0x00, 0x7F, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x01, 0xFF, 0x00, 0x00, 0x00, 0xC0, 0x1F, 0xF8, 0x7F, 0xFF, | ||
| + | 0xFF, 0xF0, 0x1F, 0x98, 0x1F, 0x30, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, | ||
| + | 0xFF, 0x80, 0x00, 0x00, 0x00, 0x0F, 0xF8, 0x7F, 0xFF, 0xFF, 0x80, 0x1C, 0x18, 0x00, 0x33, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x0F, 0xF8, | ||
| + | 0x7F, 0xFF, 0xFF, 0x80, 0x0F, 0x98, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0x00, 0x00, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x0F, 0xF8, 0x7F, 0xC0, 0x7F, 0x80, 0x07, 0x00, 0x1F, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x80, 0x00, 0x00, 0x00, | ||
| + | 0x0F, 0xF8, 0x78, 0x00, 0x7F, 0xC0, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x7F, 0xC0, 0x00, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x7F, 0xC0, 0x00, | ||
| + | 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x7F, 0xC0, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x7F, 0xC0, 0x00, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x3F, | ||
| + | 0xC7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x7F, | ||
| + | 0xC0, 0x00, 0x01, 0x80, 0x1F, 0xF0, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x7F, 0xC0, 0x00, 0x03, 0xE0, 0x7F, 0xF0, 0x00, | ||
| + | 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, | ||
| + | 0x00, 0x7F, 0xC0, 0x00, 0x03, 0xFF, 0xFF, 0xE0, 0x00, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x7F, 0xC0, 0x00, 0x07, 0xFF, 0xFF, | ||
| + | 0xE0, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0x00, 0x00, 0x3F, 0xE0, 0x00, 0x07, 0xFF, 0xFF, 0xC0, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x3F, 0xE0, 0x00, 0x07, | ||
| + | 0xFF, 0xFF, 0x87, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x3F, 0xE7, 0xC1, 0x87, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x3F, 0xFF, | ||
| + | 0xC3, 0xC1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x3F, 0xFF, 0xC3, 0xE0, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x0F, | ||
| + | 0xFF, 0xFF, 0xC3, 0xE1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x1F, 0xFF, 0xFF, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0x00, 0x1F, 0xFF, 0xFF, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0x00, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x1F, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x7F, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFE, 0x7F, 0xFF, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xFF, 0x7F, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xEF, 0xFF, 0x7F, 0xFF, 0xFF, 0xFF, 0xC1, 0xFF, 0xFF, 0xFE, 0x7F, 0xF7, 0x3F, 0xFF, 0xFF, | ||
| + | 0xF1, 0xE3, 0xE7, 0xF2, 0x39, 0x3F, 0xFF, 0xC7, 0x8F, 0x9F, 0xCC, 0xE7, 0x7F, 0xFF, 0xFF, 0xFF, | ||
| + | 0xC0, 0xFF, 0xFF, 0xFE, 0x7F, 0xE7, 0xFF, 0xFF, 0xFF, 0xC0, 0xC1, 0xC3, 0xF3, 0x39, 0xBC, 0xF3, | ||
| + | 0x03, 0x07, 0x0F, 0xCC, 0xE7, 0x3F, 0xFF, 0xFF, 0xFF, 0xCE, 0x61, 0xC3, 0x8E, 0x66, 0x41, 0x38, | ||
| + | 0x70, 0x73, 0xFC, 0xCC, 0x99, 0xF7, 0x33, 0xBE, 0x67, 0xF3, 0x32, 0x67, 0xDC, 0xE7, 0x3F, 0xFF, | ||
| + | 0xFF, 0xFF, 0xCC, 0x40, 0x83, 0x06, 0x66, 0x41, 0x30, 0x30, 0x33, 0xFC, 0xCC, 0x99, 0xF7, 0x33, | ||
| + | 0x9F, 0x0F, 0xF3, 0x32, 0x67, 0xDC, 0x67, 0xBF, 0xFF, 0xFF, 0xFF, 0xC0, 0xCC, 0x8E, 0x62, 0x66, | ||
| + | 0x67, 0x33, 0x33, 0x33, 0xF8, 0xCC, 0x99, 0xE7, 0x13, 0x9F, 0x9F, 0xE3, 0x32, 0x67, 0x9C, 0x07, | ||
| + | 0xBF, 0xFF, 0xFF, 0xFF, 0xC1, 0xC0, 0xC2, 0x72, 0x66, 0x67, 0x33, 0x33, 0x3F, 0xF9, 0xCC, 0x99, | ||
| + | 0xE7, 0x97, 0x9F, 0x0F, 0xE7, 0x32, 0x67, 0x9C, 0x67, 0xBF, 0xFF, 0xFF, 0xFF, 0xCC, 0xCF, 0xF2, | ||
| + | 0x62, 0x66, 0x67, 0x33, 0x33, 0x3F, 0xF3, 0xCC, 0x99, 0xF7, 0x87, 0x9E, 0x67, 0xCF, 0x32, 0x67, | ||
| + | 0xDC, 0xE7, 0xBF, 0xFF, 0xFF, 0xFF, 0xCC, 0xC5, 0x93, 0x06, 0x20, 0x63, 0x30, 0x33, 0x33, 0xE0, | ||
| + | 0xC1, 0x81, 0xF7, 0x87, 0x9C, 0xF3, 0x83, 0x06, 0x07, 0xDC, 0xE7, 0x3F, 0xFF, 0xFF, 0xFF, 0xCE, | ||
| + | 0x61, 0x87, 0x0F, 0x30, 0x71, 0x38, 0x73, 0x33, 0xC0, 0xE1, 0xC3, 0xF3, 0xC7, 0xBF, 0xFF, 0x03, | ||
| + | 0x8F, 0x0F, 0xCC, 0xE7, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0xFF, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0xFF, 0x3F, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xFF, 0x7F, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0xFE, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF, 0x8F, 0xCE, 0x0E, 0x7F, 0xFC, | ||
| + | 0x18, 0x3E, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFE, 0x7F, 0xFF, 0xFF, 0x07, 0x86, 0x07, 0xFF, 0xFC, 0x18, 0x1C, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0xE1, 0xD1, 0x91, 0xC3, 0xC4, 0x18, 0x74, 0xDF, 0xE7, 0x86, 0x62, | ||
| + | 0x60, 0xFC, 0xF9, 0x98, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0xC0, 0xC0, | ||
| + | 0x81, 0xC1, 0x84, 0x10, 0x60, 0x8F, 0xE7, 0x26, 0x62, 0x60, 0x7C, 0xF9, 0x99, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0xCC, 0xCC, 0x88, 0x99, 0x1E, 0x73, 0x23, 0xDF, 0xE6, | ||
| + | 0x66, 0x06, 0x66, 0x7C, 0x18, 0x19, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, | ||
| + | 0xCC, 0xCC, 0x8C, 0x81, 0x3E, 0x63, 0x23, 0xFF, 0xCE, 0x06, 0x0E, 0x66, 0x7C, 0x38, 0x39, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0xCC, 0xCC, 0x8C, 0x9F, 0x3E, 0x73, 0x23, | ||
| + | 0xFF, 0x8E, 0x06, 0x7E, 0x66, 0x7C, 0xF9, 0xF9, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xC0, 0xC0, 0xCC, 0x8C, 0x8B, 0x86, 0x30, 0x23, 0x8F, 0x03, 0xE6, 0x7E, 0x66, 0x7C, 0xF9, | ||
| + | 0xFC, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xE1, 0xCC, 0x8C, 0xC3, 0x87, | ||
| + | 0x18, 0x63, 0x9F, 0x03, 0xE6, 0x7E, 0x66, 0x7C, 0xF9, 0xFE, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF, | ||
| + | 0xFF, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xCF, 0xFF, 0xFE, 0x7C, 0xFF, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0xFF, 0xFC, 0x7C, | ||
| + | 0xFF, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, | ||
| + | 0xE9, 0x0E, 0x66, 0x1C, 0x61, 0xCE, 0x1D, 0xF8, 0x7C, 0xE1, 0x99, 0xC7, 0x30, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0xE1, 0x06, 0x64, 0x18, 0x60, 0xCC, 0x18, | ||
| + | 0xF8, 0x7C, 0xC0, 0x99, 0x83, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xCC, 0x67, 0xE6, 0x64, 0x71, 0xFC, 0xCC, 0xCD, 0xF2, 0x7C, 0xCC, 0x99, 0x33, 0x23, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x67, 0x07, 0x0E, 0x13, 0xE0, | ||
| + | 0xCC, 0x0F, 0xF0, 0x3C, 0xC0, 0xCB, 0x03, 0x30, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xCE, 0x67, 0x27, 0x0F, 0x93, 0xE4, 0xCC, 0xFF, 0xF0, 0x3C, 0xCF, 0xC3, 0x3F, | ||
| + | 0x3C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x67, 0x07, 0x9C, | ||
| + | 0x98, 0x60, 0xC4, 0x58, 0xFE, 0x7C, 0x45, 0xC3, 0x17, 0x24, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xE7, 0x07, 0x9C, 0x38, 0x60, 0xE6, 0x19, 0xFE, 0x7E, 0x61, | ||
| + | 0xE7, 0x83, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFE, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0xFE, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xFF, | ||
| + | 0x87, 0x07, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xCF, 0xFC, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0xFF, 0x07, 0x03, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x98, 0x30, 0xC8, 0x18, 0x78, | ||
| + | 0xE3, 0x9F, 0x3F, 0x33, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xCC, 0x08, 0x20, 0xC0, 0x18, 0x30, 0xC1, 0x9F, 0x1F, 0x33, 0x3F, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xCC, 0xE6, 0x47, | ||
| + | 0x3E, 0x23, 0x89, 0x9F, 0x07, 0x03, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xCC, 0xE0, 0x4F, 0x38, 0x27, 0x81, 0xFF, 0xE3, 0x07, 0x3F, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xCC, | ||
| + | 0xE7, 0xCF, 0x33, 0x23, 0x8F, 0xFF, 0xF3, 0x3F, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xCC, 0x62, 0xCF, 0x30, 0x30, 0xC1, 0x9F, 0x03, | ||
| + | 0x3F, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xCC, 0xCE, 0x30, 0xCF, 0x38, 0x30, 0xE1, 0x9F, 0x07, 0x3F, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, | ||
| + | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF | ||
| + | }; | ||
| + | |||
| + | #endif | ||
| + | </pre> | ||
| + | |||
| + | === [Code 2 Display a clock] === | ||
| + | |||
| + | <pre> | ||
| + | /* | ||
| + | An example digital clock using a TFT LCD screen to show the time. | ||
| + | Demonstrates use of the font printing routines. (Time updates but date does not.) | ||
| + | |||
| + | For a more accurate clock, it would be better to use the RTClib library. | ||
| + | But this is just a demo. | ||
| + | |||
| + | This examples uses the hardware SPI only. Non-hardware SPI | ||
| + | is just too slow (~8 times slower!) | ||
| + | |||
| + | Based on clock sketch by Gilchrist 6/2/2014 1.0 | ||
| + | Updated by Bodmer | ||
| + | A few colour codes: | ||
| + | |||
| + | code color | ||
| + | 0x0000 Black | ||
| + | 0xFFFF White | ||
| + | 0xBDF7 Light Gray | ||
| + | 0x7BEF Dark Gray | ||
| + | 0xF800 Red | ||
| + | 0xFFE0 Yellow | ||
| + | 0xFBE0 Orange | ||
| + | 0x79E0 Brown | ||
| + | 0x7E0 Green | ||
| + | 0x7FF Cyan | ||
| + | 0x1F Blue | ||
| + | 0xF81F Pink | ||
| + | |||
| + | */ | ||
| + | #include <TFT_eSPI.h> // Graphics and font library for ST7735 driver chip | ||
| + | #include <SPI.h> | ||
| + | |||
| + | #ifdef EPAPER_ENABLE // Only compile this code if the EPAPER_ENABLE is defined in User_Setup.h | ||
| + | |||
| + | EPaper epaper = EPaper(); // Invoke library, pins defined in User_Setup.h | ||
| + | |||
| + | uint32_t targetTime = 0; // for next 1 second timeout | ||
| + | |||
| + | byte omm = 99; | ||
| + | bool initial = 1; | ||
| + | byte xcolon = 0; | ||
| + | unsigned int colour = 0; | ||
| + | |||
| + | static uint8_t conv2d(const char* p) { | ||
| + | uint8_t v = 0; | ||
| + | if ('0' <= *p && *p <= '9') | ||
| + | v = *p - '0'; | ||
| + | return 10 * v + *++p - '0'; | ||
| + | } | ||
| + | |||
| + | uint8_t hh=conv2d(__TIME__), mm=conv2d(__TIME__+3), ss=conv2d(__TIME__+6); // Get H, M, S from compile time | ||
| + | |||
| + | #endif | ||
| + | |||
| + | void setup(void) { | ||
| + | #ifdef EPAPER_ENABLE | ||
| + | epaper.begin(); | ||
| + | epaper.setRotation(1); | ||
| + | epaper.fillScreen(TFT_BLACK); | ||
| + | |||
| + | epaper.setTextColor(TFT_YELLOW, TFT_BLACK); // Note: the new fonts do not draw the background colour | ||
| + | epaper.update(); // update the display | ||
| + | targetTime = millis() + 1000; | ||
| + | #endif | ||
| + | } | ||
| + | |||
| + | void loop() { | ||
| + | #ifdef EPAPER_ENABLE | ||
| + | if (targetTime < millis()) { | ||
| + | targetTime = millis()+1000; | ||
| + | ss++; // Advance second | ||
| + | if (ss==60) { | ||
| + | ss=0; | ||
| + | omm = mm; | ||
| + | mm++; // Advance minute | ||
| + | if(mm>59) { | ||
| + | mm=0; | ||
| + | hh++; // Advance hour | ||
| + | if (hh>23) { | ||
| + | hh=0; | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | |||
| + | if (ss==0 || initial) { | ||
| + | initial = 0; | ||
| + | epaper.setTextColor(TFT_GREEN, TFT_BLACK); | ||
| + | epaper.setCursor (8, 52); | ||
| + | epaper.print(__DATE__); // This uses the standard ADAFruit small font | ||
| + | |||
| + | epaper.setTextColor(TFT_BLUE, TFT_BLACK); | ||
| + | epaper.drawCentreString("It is windy",120,48,2); // Next size up font 2 | ||
| + | |||
| + | //epaper.setTextColor(0xF81F, TFT_BLACK); // Pink | ||
| + | //epaper.drawCentreString("12.34",80,100,6); // Large font 6 only contains characters [space] 0 1 2 3 4 5 6 7 8 9 . : a p m | ||
| + | } | ||
| + | |||
| + | // Update digital time | ||
| + | byte xpos = 6; | ||
| + | byte ypos = 0; | ||
| + | if (omm != mm) { // Only redraw every minute to minimise flicker | ||
| + | // Uncomment ONE of the next 2 lines, using the ghost image demonstrates text overlay as time is drawn over it | ||
| + | epaper.setTextColor(TFT_BLACK, TFT_BLACK); // Leave a 7 segment ghost image, comment out next line! | ||
| + | //epaper.setTextColor(TFT_BLACK, TFT_BLACK); // Set font colour to black to wipe image | ||
| + | // Font 7 is to show a pseudo 7 segment display. | ||
| + | // Font 7 only contains characters [space] 0 1 2 3 4 5 6 7 8 9 0 : . | ||
| + | epaper.drawString("88:88",xpos,ypos,7); // Overwrite the text to clear it | ||
| + | epaper.setTextColor(0xFBE0); // Orange | ||
| + | omm = mm; | ||
| + | |||
| + | if (hh<10) xpos+= epaper.drawChar('0',xpos,ypos,7); | ||
| + | xpos+= epaper.drawNumber(hh,xpos,ypos,7); | ||
| + | xcolon=xpos; | ||
| + | xpos+= epaper.drawChar(':',xpos,ypos,7); | ||
| + | if (mm<10) xpos+= epaper.drawChar('0',xpos,ypos,7); | ||
| + | epaper.drawNumber(mm,xpos,ypos,7); | ||
| + | } | ||
| + | |||
| + | if (ss%2) { // Flash the colon | ||
| + | epaper.setTextColor(TFT_BLACK, TFT_BLACK); | ||
| + | xpos+= epaper.drawChar(':',xcolon,ypos,7); | ||
| + | epaper.setTextColor(0xFBE0, TFT_BLACK); | ||
| + | } | ||
| + | else { | ||
| + | epaper.drawChar(':',xcolon,ypos,7); | ||
| + | colour = random(0xFFFF); | ||
| + | // Erase the old text with a rectangle, the disadvantage of this method is increased display flicker | ||
| + | epaper.fillRect (0, 64, 160, 20, TFT_BLACK); | ||
| + | epaper.setTextColor(TFT_WHITE); | ||
| + | } | ||
| + | epaper.update(); // update the display | ||
| + | } | ||
| + | #endif | ||
| + | } | ||
| + | </pre> | ||
| + | |||
| + | <b>onglet driver.h</b> | ||
| + | |||
| + | <pre> | ||
| + | // driver.h file | ||
| + | #define BOARD_SCREEN_COMBO 505 // 1.54 inch monochrome ePaper Screen (SSD1681) | ||
| + | #define USE_XIAO_EPAPER_BREAKOUT_BOARD | ||
| + | </pre> | ||
| + | |||
| + | === [Code 2 Display a clock - WIFI] === | ||
| + | |||
| + | <pre> | ||
| + | #include <WiFi.h> | ||
| + | #include <time.h> | ||
| + | #include <TFT_eSPI.h> // Librairie pour ton écran E-paper | ||
| + | #include <SPI.h> | ||
| + | |||
| + | #ifdef EPAPER_ENABLE | ||
| + | EPaper epaper = EPaper(); // Pins définis dans User_Setup.h | ||
| + | #endif | ||
| + | |||
| + | // ⚙️ Paramètres WiFi | ||
| + | const char* ssid = "TON_SSID"; | ||
| + | const char* password = "TON_MOTDEPASSE"; | ||
| + | |||
| + | // ⚙️ Paramètres NTP | ||
| + | const char* ntpServer = "pool.ntp.org"; | ||
| + | const long gmtOffset_sec = 3600; // Décalage GMT (ex: +1h pour Suisse en hiver) | ||
| + | const int daylightOffset_sec = 3600; // Décalage été (DST) | ||
| + | |||
| + | // Variables pour éviter scintillement | ||
| + | int lastMinute = -1; | ||
| + | |||
| + | void setup() { | ||
| + | #ifdef EPAPER_ENABLE | ||
| + | epaper.begin(); | ||
| + | epaper.setRotation(1); | ||
| + | epaper.fillScreen(TFT_BLACK); | ||
| + | epaper.setTextColor(TFT_WHITE, TFT_BLACK); | ||
| + | epaper.update(); | ||
| + | #endif | ||
| + | |||
| + | // Connexion WiFi | ||
| + | WiFi.begin(ssid, password); | ||
| + | while (WiFi.status() != WL_CONNECTED) { | ||
| + | delay(500); | ||
| + | } | ||
| + | |||
| + | // Initialisation NTP | ||
| + | configTime(gmtOffset_sec, daylightOffset_sec, ntpServer); | ||
| + | } | ||
| + | |||
| + | void loop() { | ||
| + | // Récupérer l’heure système | ||
| + | struct tm timeinfo; | ||
| + | if (!getLocalTime(&timeinfo)) { | ||
| + | return; // Si pas d’heure dispo | ||
| + | } | ||
| + | |||
| + | // Rafraîchir uniquement si la minute change | ||
| + | if (timeinfo.tm_min != lastMinute) { | ||
| + | lastMinute = timeinfo.tm_min; | ||
| + | |||
| + | #ifdef EPAPER_ENABLE | ||
| + | epaper.fillScreen(TFT_BLACK); | ||
| + | |||
| + | // Afficher la date | ||
| + | epaper.setTextColor(TFT_GREEN, TFT_BLACK); | ||
| + | epaper.setCursor(10, 20); | ||
| + | epaper.printf("%02d/%02d/%04d", timeinfo.tm_mday, timeinfo.tm_mon+1, timeinfo.tm_year+1900); | ||
| + | |||
| + | // Afficher l’heure | ||
| + | epaper.setTextColor(TFT_ORANGE, TFT_BLACK); | ||
| + | epaper.setCursor(10, 60); | ||
| + | epaper.printf("%02d:%02d", timeinfo.tm_hour, timeinfo.tm_min); | ||
| + | |||
| + | epaper.update(); // Mise à jour écran | ||
| + | #endif | ||
| + | } | ||
| + | |||
| + | delay(1000); // Boucle chaque seconde mais rafraîchit seulement à chaque minute | ||
| + | } | ||
| + | </pre> | ||
| + | |||
| + | === [Code 2 Display a clock - WIFI v2] === | ||
| + | |||
| + | version modifié | ||
| + | |||
| + | <pre> | ||
| + | #include <WiFi.h> | ||
| + | #include <time.h> | ||
| + | #include <TFT_eSPI.h> // Librairie pour ton écran E-paper | ||
| + | #include <SPI.h> | ||
| + | |||
| + | #ifdef EPAPER_ENABLE | ||
| + | EPaper epaper = EPaper(); // Pins définis dans User_Setup.h | ||
| + | #endif | ||
| + | |||
| + | // ⚙️ Paramètres WiFi | ||
| + | const char* ssid = "TON_SSID"; | ||
| + | const char* password = "TON_MOTDEPASSE"; | ||
| + | |||
| + | // ⚙️ Paramètres NTP | ||
| + | const char* ntpServer = "pool.ntp.org"; | ||
| + | const long gmtOffset_sec = 3600; // Décalage GMT (ex: +1h pour Suisse en hiver) | ||
| + | const int daylightOffset_sec = 3600; // Décalage été (DST) | ||
| + | |||
| + | // Variables pour éviter scintillement | ||
| + | int lastMinute = -1; | ||
| + | |||
| + | void setup() { | ||
| + | Serial.begin(115200); | ||
| + | |||
| + | #ifdef EPAPER_ENABLE | ||
| + | epaper.begin(); | ||
| + | epaper.setRotation(1); | ||
| + | epaper.fillScreen(TFT_WHITE); // Fond blanc | ||
| + | epaper.setTextColor(TFT_BLACK, TFT_WHITE); // Texte noir sur fond blanc | ||
| + | epaper.update(); | ||
| + | epaper.sleep(); // Mise en veille après init | ||
| + | #endif | ||
| + | |||
| + | // Connexion WiFi | ||
| + | WiFi.begin(ssid, password); | ||
| + | Serial.print("Connexion au WiFi "); | ||
| + | Serial.println(ssid); | ||
| + | |||
| + | while (WiFi.status() != WL_CONNECTED) { | ||
| + | delay(500); | ||
| + | Serial.print("."); | ||
| + | } | ||
| + | Serial.println("\nWiFi connecté !"); | ||
| + | Serial.print("Adresse IP : "); | ||
| + | Serial.println(WiFi.localIP()); | ||
| + | Serial.print("Adresse MAC : "); | ||
| + | Serial.println(WiFi.macAddress()); | ||
| + | |||
| + | // Initialisation NTP | ||
| + | configTime(gmtOffset_sec, daylightOffset_sec, ntpServer); | ||
| + | } | ||
| + | |||
| + | void loop() { | ||
| + | // Récupérer l’heure système | ||
| + | struct tm timeinfo; | ||
| + | if (!getLocalTime(&timeinfo)) { | ||
| + | Serial.println("Erreur récupération heure NTP"); | ||
| + | return; // Si pas d’heure dispo | ||
| + | } | ||
| + | |||
| + | // Rafraîchir uniquement si la minute change | ||
| + | if (timeinfo.tm_min != lastMinute) { | ||
| + | lastMinute = timeinfo.tm_min; | ||
| + | |||
| + | #ifdef EPAPER_ENABLE | ||
| + | //epaper.wakeup(); // Réveille l’écran avant mise à jour | ||
| + | epaper.fillScreen(TFT_WHITE); | ||
| + | |||
| + | // --- Affichage DATE (plus petite, centrée en haut) --- | ||
| + | epaper.setTextColor(TFT_BLACK, TFT_WHITE); | ||
| + | epaper.setTextDatum(TC_DATUM); // Centrage horizontal (Top Center) | ||
| + | epaper.drawString( | ||
| + | String(timeinfo.tm_mday) + "/" + | ||
| + | String(timeinfo.tm_mon+1) + "/" + | ||
| + | String(timeinfo.tm_year+1900), | ||
| + | epaper.width()/2, 30, 4 // police taille 2 -> 4 | ||
| + | ); | ||
| + | |||
| + | // --- Affichage HEURE (plus grande, centrée au milieu) --- | ||
| + | char buffer[6]; | ||
| + | sprintf(buffer, "%02d:%02d", timeinfo.tm_hour, timeinfo.tm_min); | ||
| + | epaper.setTextDatum(MC_DATUM); // Centrage horizontal + vertical (Middle Center) | ||
| + | epaper.drawString(buffer, epaper.width()/2, epaper.height()/2, 7); // police taille 6 -> 7 | ||
| + | |||
| + | epaper.update(); // Mise à jour écran | ||
| + | //epaper.sleep(); // Mise en veille après mise à jour | ||
| + | #endif | ||
| + | |||
| + | // --- Sortie série --- | ||
| + | Serial.printf("Heure actuelle : %02d:%02d:%02d\n", | ||
| + | timeinfo.tm_hour, timeinfo.tm_min, timeinfo.tm_sec); | ||
| + | } | ||
| − | + | delay(1000); // Boucle chaque seconde mais rafraîchit seulement à chaque minute | |
| + | } | ||
| − | + | </pre> | |
Latest revision as of 22:56, 12 December 2025
Contents
Support[edit]
1.54-inch E-paper Display
Setup
Install Seeed GFX Library https://github.com/Seeed-Studio/Seeed_GFX
This library has same function as TFT library and no compatible with it. If you have installed TFT library or other similary display libraries, please uninstall it first.
Create a driver.h file and paste the following code into it.
Seeed GFX Library - Online Configuration Generator
https://seeed-studio.github.io/Seeed_GFX/
// driver.h file #define BOARD_SCREEN_COMBO 505 // 1.54 inch monochrome ePaper Screen (SSD1681) #define USE_XIAO_EPAPER_BREAKOUT_BOARD
Sketch -> Include Library -> Add .ZIP
Seeed_GFX-master.zip
Upload the Code
driver.h
HelloWorld.ino
Liens externes[edit]
https://www.seeedstudio.com/1-54-Monochrome-ePaper-Display-with-200x200-Pixels-p-5776.html Shop
https://wiki.seeedstudio.com/XIAO-eInk-Expansion-Board/ Wiki
Exemples[edit]
/examples/ePaper/Basic
1 Bitmap: Display a bitmap image.
2 Clock: Display a clock.
3 Clock_digital: Display a digital clock.
4 HelloWorld:
5 Shape: Display different sizes of words and shape randomly.
[Code 1] Display a bitmap image[edit]
#include "TFT_eSPI.h"
#include "image.h"
#ifdef EPAPER_ENABLE
EPaper epaper;
#endif
void setup()
{
#ifdef EPAPER_ENABLE
Serial.begin(115200);
delay(2000);
Serial.println("1.54\" E-Paper Bitmap Display Example");
epaper.begin();
// Clear screen to white
epaper.fillScreen(TFT_WHITE);
epaper.update();
delay(1000);
// Display bitmap image using drawBitmap API
// drawBitmap(x, y, bitmap_data, width, height, color)
epaper.drawBitmap(0, 0, gImage_1inch54, 200, 200, TFT_BLACK);
epaper.update();
Serial.println("Bitmap displayed successfully");
// Put display to sleep to save power
epaper.sleep();
#else
Serial.begin(115200);
Serial.println("EPAPER_ENABLE not defined. Please select the correct setup file.");
#endif
}
void loop()
{
// Nothing to do here
}
onglet driver.h
// driver.h file #define BOARD_SCREEN_COMBO 505 // 1.54 inch monochrome ePaper Screen (SSD1681) #define USE_XIAO_EPAPER_BREAKOUT_BOARD
onglet image.h
/*
* Image header file for 1.54" E-Paper Display
*
* Image specifications:
* - Size: 200x200 pixels
* - Format: 1-bit monochrome bitmap
* - Color depth: Black and White
*
* To generate your own image:
* 1. Prepare a 200x200 pixel image
* 2. Convert to 1-bit monochrome bitmap
* 3. Use image2cpp or similar tool to generate C array
* 4. Replace the array below with your generated data
*/
#ifndef _IMAGE_H_
#define _IMAGE_H_
// Placeholder for 200x200 bitmap image
// Replace this with your actual image data
const unsigned char gImage_1inch54[] PROGMEM = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0xCC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x80, 0x00, 0xC0, 0x00, 0x00,
0xCC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x07, 0xC0,
0x7C, 0x07, 0xC0, 0xFD, 0x81, 0xFC, 0xC6, 0x18, 0x7E, 0xC0, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x0F, 0xF0, 0xFE, 0x1F, 0xE1, 0xFF, 0x83, 0xFC, 0xEE,
0x18, 0xFF, 0xCC, 0x7F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60,
0x1C, 0x71, 0xC7, 0x1C, 0x73, 0xC7, 0x83, 0x00, 0xEE, 0x19, 0xE3, 0xCC, 0xE3, 0xC0, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x18, 0x3B, 0x83, 0x38, 0x33, 0x83, 0x83,
0x80, 0xCE, 0x19, 0xC1, 0xCD, 0xC1, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x7C, 0x3F, 0xFB, 0xFF, 0xBF, 0xF3, 0x03, 0x83, 0xF0, 0xCE, 0x19, 0x81, 0xCD, 0xC0, 0xC0,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, 0xFB, 0xFF, 0xBF, 0xF3,
0x03, 0x81, 0xFC, 0xCE, 0x19, 0x81, 0xCD, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x07, 0xB8, 0x03, 0x80, 0x38, 0x03, 0x03, 0x80, 0x1C, 0xCE, 0x19, 0x81, 0xCD,
0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x9C, 0x01, 0x80,
0x38, 0x03, 0x87, 0x80, 0x0C, 0xC6, 0x19, 0xC3, 0xCC, 0xE1, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0x9F, 0xF1, 0xFF, 0x1F, 0xE1, 0xFF, 0x83, 0x1C, 0xE7, 0xF8,
0xFF, 0xCC, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x0F,
0xE0, 0xFE, 0x0F, 0xE0, 0xFF, 0x83, 0xF8, 0xE3, 0xF0, 0x7F, 0xCC, 0x7F, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x03, 0x80, 0x38, 0x03, 0x80, 0x39, 0x80, 0xE0,
0x20, 0xC0, 0x1C, 0xCC, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, 0xC0, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79,
0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x39, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x38, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0xC0, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xDC, 0xCC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x18, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFE, 0xFC, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
0x00, 0x01, 0x80, 0x13, 0xC6, 0xE6, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0xC0, 0xB7, 0xE6, 0x66, 0xE4,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xF8, 0xE6, 0x66, 0x66, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xFC, 0xC6, 0x76,
0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xF0,
0x00, 0x00, 0x00, 0x00, 0x04, 0x3C, 0xCC, 0xC6, 0x66, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x30, 0xCC,
0xC3, 0xE6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00,
0xFF, 0xF8, 0x00, 0x03, 0x00, 0x3F, 0x3B, 0x70, 0xCE, 0xC1, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0xFF, 0xF8, 0x00, 0x43, 0x06, 0x3F, 0x33,
0xB0, 0xE6, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xFE,
0x00, 0x00, 0xFF, 0xF8, 0x00, 0xE3, 0x9F, 0xBB, 0xB3, 0xBE, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xFF, 0x00, 0x01, 0xFF, 0xF8, 0x00, 0xF7, 0x99,
0x99, 0xBB, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F,
0xFF, 0xFF, 0x00, 0x01, 0xFF, 0xF8, 0x00, 0xF7, 0x99, 0x99, 0x9F, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xFF, 0x00, 0x01, 0xFF, 0xFC, 0x00,
0x7F, 0x99, 0x99, 0x8C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00,
0x00, 0x1F, 0xFF, 0xFF, 0x00, 0x03, 0xFB, 0xFC, 0x00, 0x7D, 0x9F, 0x98, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x30, 0x06, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0xFF, 0xFF, 0x00, 0x03, 0xFB,
0xFC, 0x00, 0x6C, 0xCF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x31, 0xE7, 0x60, 0x00, 0x00,
0x0C, 0x00, 0x00, 0x1F, 0xFF, 0xE0, 0x00, 0x07, 0xF3, 0xFC, 0x00, 0x64, 0xC0, 0x00, 0x00, 0x00,
0x00, 0x00, 0xC0, 0x02, 0x31, 0x33, 0x60, 0x00, 0x01, 0xFC, 0x00, 0x00, 0x1F, 0xF8, 0x00, 0x00,
0x07, 0xF3, 0xFC, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x1F, 0xB8, 0x71, 0xE0,
0x00, 0x03, 0xFC, 0x00, 0x00, 0x1F, 0xE0, 0x00, 0x00, 0x07, 0xF3, 0xFE, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xFC, 0x07, 0x99, 0x99, 0xB1, 0xC0, 0x00, 0x07, 0xFC, 0x00, 0x00, 0x1F, 0xE0,
0x00, 0x00, 0x0F, 0xF3, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x66, 0x19, 0x99,
0xB8, 0xC0, 0x00, 0x1F, 0xFE, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x0F, 0xE3, 0xFE, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0x67, 0x19, 0x99, 0xF8, 0xC1, 0x00, 0x7F, 0xFE, 0x00, 0x00,
0x0F, 0xF0, 0x00, 0x00, 0x0F, 0xE1, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xC6, 0x67,
0xD9, 0x9C, 0xC1, 0xFF, 0x01, 0xFF, 0xFE, 0x00, 0x00, 0x0F, 0xF0, 0x00, 0x00, 0x1F, 0xE1, 0xFE,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0xE7, 0x60, 0xDF, 0x80, 0x0F, 0xFF, 0x01, 0xFF, 0xFE,
0x00, 0x00, 0x0F, 0xF7, 0xFC, 0x00, 0x1F, 0xC1, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xE0,
0x66, 0x77, 0xDE, 0x01, 0xFF, 0xFF, 0x01, 0xFF, 0xFE, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0x00, 0x3F,
0xC1, 0xFF, 0x00, 0x00, 0x04, 0x00, 0x3E, 0x66, 0xC0, 0x66, 0x37, 0x8C, 0x7F, 0xFF, 0xFF, 0x01,
0xFF, 0xFE, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xC0, 0x3F, 0x81, 0xFF, 0xF0, 0x00, 0x3F, 0x0E, 0x7F,
0x7E, 0xE0, 0x7C, 0x20, 0x0F, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x0F, 0xFF, 0xFF,
0xC0, 0x3F, 0x81, 0xFF, 0xF0, 0x00, 0x3B, 0xBE, 0x73, 0x78, 0x60, 0x78, 0x03, 0xFF, 0xFF, 0xFF,
0xFF, 0x00, 0x81, 0xFF, 0x00, 0x00, 0x0F, 0xFF, 0xFF, 0xE0, 0x7F, 0x9F, 0xFF, 0xF0, 0x00, 0x31,
0x87, 0x73, 0x70, 0x60, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x01, 0xFF, 0x00, 0x00, 0x07,
0xFF, 0xFF, 0xF0, 0x7F, 0xFF, 0xFF, 0xF0, 0x0F, 0x3B, 0x8F, 0x33, 0x3E, 0x40, 0x0F, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0x00, 0x01, 0xFF, 0x00, 0x00, 0x07, 0xF8, 0x7F, 0xF0, 0x7F, 0xFF, 0xFF, 0xF8,
0x0D, 0x9F, 0x1B, 0x3F, 0x18, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x01, 0xFF, 0x00,
0x00, 0x07, 0xE0, 0x3F, 0xF0, 0xFF, 0xFF, 0xFF, 0xF8, 0x19, 0x9C, 0x3B, 0x3E, 0x00, 0x7F, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x01, 0xFF, 0x00, 0x00, 0x00, 0xC0, 0x1F, 0xF8, 0x7F, 0xFF,
0xFF, 0xF0, 0x1F, 0x98, 0x1F, 0x30, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00,
0xFF, 0x80, 0x00, 0x00, 0x00, 0x0F, 0xF8, 0x7F, 0xFF, 0xFF, 0x80, 0x1C, 0x18, 0x00, 0x33, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x0F, 0xF8,
0x7F, 0xFF, 0xFF, 0x80, 0x0F, 0x98, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0x00, 0x00, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x0F, 0xF8, 0x7F, 0xC0, 0x7F, 0x80, 0x07, 0x00, 0x1F,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x80, 0x00, 0x00, 0x00,
0x0F, 0xF8, 0x78, 0x00, 0x7F, 0xC0, 0x00, 0x03, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x7F, 0xC0, 0x00,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x7F, 0xC0, 0x00,
0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x7F, 0xC0, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x7F, 0xC0, 0x00, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x3F,
0xC7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x7F,
0xC0, 0x00, 0x01, 0x80, 0x1F, 0xF0, 0x00, 0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x7F, 0xC0, 0x00, 0x03, 0xE0, 0x7F, 0xF0, 0x00,
0x00, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,
0x00, 0x7F, 0xC0, 0x00, 0x03, 0xFF, 0xFF, 0xE0, 0x00, 0x07, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x7F, 0xC0, 0x00, 0x07, 0xFF, 0xFF,
0xE0, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0x00, 0x00, 0x3F, 0xE0, 0x00, 0x07, 0xFF, 0xFF, 0xC0, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x3F, 0xE0, 0x00, 0x07,
0xFF, 0xFF, 0x87, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x3F, 0xE7, 0xC1, 0x87, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x3F, 0xFF,
0xC3, 0xC1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x3F, 0xFF, 0xC3, 0xE0, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x0F,
0xFF, 0xFF, 0xC3, 0xE1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x1F, 0xFF, 0xFF, 0xC3, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0x00, 0x1F, 0xFF, 0xFF, 0xEF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0x00, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x1F, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x7F, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFE, 0x7F, 0xFF, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xFF, 0x7F, 0xFF, 0xFF, 0xFF,
0xFF, 0xEF, 0xFF, 0x7F, 0xFF, 0xFF, 0xFF, 0xC1, 0xFF, 0xFF, 0xFE, 0x7F, 0xF7, 0x3F, 0xFF, 0xFF,
0xF1, 0xE3, 0xE7, 0xF2, 0x39, 0x3F, 0xFF, 0xC7, 0x8F, 0x9F, 0xCC, 0xE7, 0x7F, 0xFF, 0xFF, 0xFF,
0xC0, 0xFF, 0xFF, 0xFE, 0x7F, 0xE7, 0xFF, 0xFF, 0xFF, 0xC0, 0xC1, 0xC3, 0xF3, 0x39, 0xBC, 0xF3,
0x03, 0x07, 0x0F, 0xCC, 0xE7, 0x3F, 0xFF, 0xFF, 0xFF, 0xCE, 0x61, 0xC3, 0x8E, 0x66, 0x41, 0x38,
0x70, 0x73, 0xFC, 0xCC, 0x99, 0xF7, 0x33, 0xBE, 0x67, 0xF3, 0x32, 0x67, 0xDC, 0xE7, 0x3F, 0xFF,
0xFF, 0xFF, 0xCC, 0x40, 0x83, 0x06, 0x66, 0x41, 0x30, 0x30, 0x33, 0xFC, 0xCC, 0x99, 0xF7, 0x33,
0x9F, 0x0F, 0xF3, 0x32, 0x67, 0xDC, 0x67, 0xBF, 0xFF, 0xFF, 0xFF, 0xC0, 0xCC, 0x8E, 0x62, 0x66,
0x67, 0x33, 0x33, 0x33, 0xF8, 0xCC, 0x99, 0xE7, 0x13, 0x9F, 0x9F, 0xE3, 0x32, 0x67, 0x9C, 0x07,
0xBF, 0xFF, 0xFF, 0xFF, 0xC1, 0xC0, 0xC2, 0x72, 0x66, 0x67, 0x33, 0x33, 0x3F, 0xF9, 0xCC, 0x99,
0xE7, 0x97, 0x9F, 0x0F, 0xE7, 0x32, 0x67, 0x9C, 0x67, 0xBF, 0xFF, 0xFF, 0xFF, 0xCC, 0xCF, 0xF2,
0x62, 0x66, 0x67, 0x33, 0x33, 0x3F, 0xF3, 0xCC, 0x99, 0xF7, 0x87, 0x9E, 0x67, 0xCF, 0x32, 0x67,
0xDC, 0xE7, 0xBF, 0xFF, 0xFF, 0xFF, 0xCC, 0xC5, 0x93, 0x06, 0x20, 0x63, 0x30, 0x33, 0x33, 0xE0,
0xC1, 0x81, 0xF7, 0x87, 0x9C, 0xF3, 0x83, 0x06, 0x07, 0xDC, 0xE7, 0x3F, 0xFF, 0xFF, 0xFF, 0xCE,
0x61, 0x87, 0x0F, 0x30, 0x71, 0x38, 0x73, 0x33, 0xC0, 0xE1, 0xC3, 0xF3, 0xC7, 0xBF, 0xFF, 0x03,
0x8F, 0x0F, 0xCC, 0xE7, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0xFF, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0xFF, 0x3F, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xFF, 0x7F,
0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0xFE, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xF0, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0xFF, 0xFF, 0x8F, 0xCE, 0x0E, 0x7F, 0xFC,
0x18, 0x3E, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0xFF, 0xFF, 0xFF, 0xFF,
0xFE, 0x7F, 0xFF, 0xFF, 0x07, 0x86, 0x07, 0xFF, 0xFC, 0x18, 0x1C, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0xE1, 0xD1, 0x91, 0xC3, 0xC4, 0x18, 0x74, 0xDF, 0xE7, 0x86, 0x62,
0x60, 0xFC, 0xF9, 0x98, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0xC0, 0xC0,
0x81, 0xC1, 0x84, 0x10, 0x60, 0x8F, 0xE7, 0x26, 0x62, 0x60, 0x7C, 0xF9, 0x99, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0xCC, 0xCC, 0x88, 0x99, 0x1E, 0x73, 0x23, 0xDF, 0xE6,
0x66, 0x06, 0x66, 0x7C, 0x18, 0x19, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF,
0xCC, 0xCC, 0x8C, 0x81, 0x3E, 0x63, 0x23, 0xFF, 0xCE, 0x06, 0x0E, 0x66, 0x7C, 0x38, 0x39, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0xCC, 0xCC, 0x8C, 0x9F, 0x3E, 0x73, 0x23,
0xFF, 0x8E, 0x06, 0x7E, 0x66, 0x7C, 0xF9, 0xF9, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xC0, 0xC0, 0xCC, 0x8C, 0x8B, 0x86, 0x30, 0x23, 0x8F, 0x03, 0xE6, 0x7E, 0x66, 0x7C, 0xF9,
0xFC, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xE1, 0xCC, 0x8C, 0xC3, 0x87,
0x18, 0x63, 0x9F, 0x03, 0xE6, 0x7E, 0x66, 0x7C, 0xF9, 0xFE, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0xFF, 0xFF, 0xFC, 0xFF, 0xFF,
0xFF, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xCF, 0xFF, 0xFE, 0x7C, 0xFF, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE0, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0xFF, 0xFC, 0x7C,
0xFF, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF,
0xE9, 0x0E, 0x66, 0x1C, 0x61, 0xCE, 0x1D, 0xF8, 0x7C, 0xE1, 0x99, 0xC7, 0x30, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0xE1, 0x06, 0x64, 0x18, 0x60, 0xCC, 0x18,
0xF8, 0x7C, 0xC0, 0x99, 0x83, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xCC, 0x67, 0xE6, 0x64, 0x71, 0xFC, 0xCC, 0xCD, 0xF2, 0x7C, 0xCC, 0x99, 0x33, 0x23, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x67, 0x07, 0x0E, 0x13, 0xE0,
0xCC, 0x0F, 0xF0, 0x3C, 0xC0, 0xCB, 0x03, 0x30, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xCE, 0x67, 0x27, 0x0F, 0x93, 0xE4, 0xCC, 0xFF, 0xF0, 0x3C, 0xCF, 0xC3, 0x3F,
0x3C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0x67, 0x07, 0x9C,
0x98, 0x60, 0xC4, 0x58, 0xFE, 0x7C, 0x45, 0xC3, 0x17, 0x24, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0xE7, 0x07, 0x9C, 0x38, 0x60, 0xE6, 0x19, 0xFE, 0x7E, 0x61,
0xE7, 0x83, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFE, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xCF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0xFE, 0xFF, 0xFF, 0x0F, 0xFF, 0xFF, 0xFF,
0x87, 0x07, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xCF, 0xFC, 0xFF, 0xFF, 0x3F, 0xFF, 0xFF, 0xFF, 0x07, 0x03, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0x98, 0x30, 0xC8, 0x18, 0x78,
0xE3, 0x9F, 0x3F, 0x33, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xCC, 0x08, 0x20, 0xC0, 0x18, 0x30, 0xC1, 0x9F, 0x1F, 0x33, 0x3F, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xCC, 0xE6, 0x47,
0x3E, 0x23, 0x89, 0x9F, 0x07, 0x03, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xCC, 0xE0, 0x4F, 0x38, 0x27, 0x81, 0xFF, 0xE3, 0x07, 0x3F,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xCC,
0xE7, 0xCF, 0x33, 0x23, 0x8F, 0xFF, 0xF3, 0x3F, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCC, 0xCC, 0x62, 0xCF, 0x30, 0x30, 0xC1, 0x9F, 0x03,
0x3F, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xCC, 0xCE, 0x30, 0xCF, 0x38, 0x30, 0xE1, 0x9F, 0x07, 0x3F, 0x3F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
};
#endif
[Code 2 Display a clock][edit]
/*
An example digital clock using a TFT LCD screen to show the time.
Demonstrates use of the font printing routines. (Time updates but date does not.)
For a more accurate clock, it would be better to use the RTClib library.
But this is just a demo.
This examples uses the hardware SPI only. Non-hardware SPI
is just too slow (~8 times slower!)
Based on clock sketch by Gilchrist 6/2/2014 1.0
Updated by Bodmer
A few colour codes:
code color
0x0000 Black
0xFFFF White
0xBDF7 Light Gray
0x7BEF Dark Gray
0xF800 Red
0xFFE0 Yellow
0xFBE0 Orange
0x79E0 Brown
0x7E0 Green
0x7FF Cyan
0x1F Blue
0xF81F Pink
*/
#include <TFT_eSPI.h> // Graphics and font library for ST7735 driver chip
#include <SPI.h>
#ifdef EPAPER_ENABLE // Only compile this code if the EPAPER_ENABLE is defined in User_Setup.h
EPaper epaper = EPaper(); // Invoke library, pins defined in User_Setup.h
uint32_t targetTime = 0; // for next 1 second timeout
byte omm = 99;
bool initial = 1;
byte xcolon = 0;
unsigned int colour = 0;
static uint8_t conv2d(const char* p) {
uint8_t v = 0;
if ('0' <= *p && *p <= '9')
v = *p - '0';
return 10 * v + *++p - '0';
}
uint8_t hh=conv2d(__TIME__), mm=conv2d(__TIME__+3), ss=conv2d(__TIME__+6); // Get H, M, S from compile time
#endif
void setup(void) {
#ifdef EPAPER_ENABLE
epaper.begin();
epaper.setRotation(1);
epaper.fillScreen(TFT_BLACK);
epaper.setTextColor(TFT_YELLOW, TFT_BLACK); // Note: the new fonts do not draw the background colour
epaper.update(); // update the display
targetTime = millis() + 1000;
#endif
}
void loop() {
#ifdef EPAPER_ENABLE
if (targetTime < millis()) {
targetTime = millis()+1000;
ss++; // Advance second
if (ss==60) {
ss=0;
omm = mm;
mm++; // Advance minute
if(mm>59) {
mm=0;
hh++; // Advance hour
if (hh>23) {
hh=0;
}
}
}
if (ss==0 || initial) {
initial = 0;
epaper.setTextColor(TFT_GREEN, TFT_BLACK);
epaper.setCursor (8, 52);
epaper.print(__DATE__); // This uses the standard ADAFruit small font
epaper.setTextColor(TFT_BLUE, TFT_BLACK);
epaper.drawCentreString("It is windy",120,48,2); // Next size up font 2
//epaper.setTextColor(0xF81F, TFT_BLACK); // Pink
//epaper.drawCentreString("12.34",80,100,6); // Large font 6 only contains characters [space] 0 1 2 3 4 5 6 7 8 9 . : a p m
}
// Update digital time
byte xpos = 6;
byte ypos = 0;
if (omm != mm) { // Only redraw every minute to minimise flicker
// Uncomment ONE of the next 2 lines, using the ghost image demonstrates text overlay as time is drawn over it
epaper.setTextColor(TFT_BLACK, TFT_BLACK); // Leave a 7 segment ghost image, comment out next line!
//epaper.setTextColor(TFT_BLACK, TFT_BLACK); // Set font colour to black to wipe image
// Font 7 is to show a pseudo 7 segment display.
// Font 7 only contains characters [space] 0 1 2 3 4 5 6 7 8 9 0 : .
epaper.drawString("88:88",xpos,ypos,7); // Overwrite the text to clear it
epaper.setTextColor(0xFBE0); // Orange
omm = mm;
if (hh<10) xpos+= epaper.drawChar('0',xpos,ypos,7);
xpos+= epaper.drawNumber(hh,xpos,ypos,7);
xcolon=xpos;
xpos+= epaper.drawChar(':',xpos,ypos,7);
if (mm<10) xpos+= epaper.drawChar('0',xpos,ypos,7);
epaper.drawNumber(mm,xpos,ypos,7);
}
if (ss%2) { // Flash the colon
epaper.setTextColor(TFT_BLACK, TFT_BLACK);
xpos+= epaper.drawChar(':',xcolon,ypos,7);
epaper.setTextColor(0xFBE0, TFT_BLACK);
}
else {
epaper.drawChar(':',xcolon,ypos,7);
colour = random(0xFFFF);
// Erase the old text with a rectangle, the disadvantage of this method is increased display flicker
epaper.fillRect (0, 64, 160, 20, TFT_BLACK);
epaper.setTextColor(TFT_WHITE);
}
epaper.update(); // update the display
}
#endif
}
onglet driver.h
// driver.h file #define BOARD_SCREEN_COMBO 505 // 1.54 inch monochrome ePaper Screen (SSD1681) #define USE_XIAO_EPAPER_BREAKOUT_BOARD
[Code 2 Display a clock - WIFI][edit]
#include <WiFi.h>
#include <time.h>
#include <TFT_eSPI.h> // Librairie pour ton écran E-paper
#include <SPI.h>
#ifdef EPAPER_ENABLE
EPaper epaper = EPaper(); // Pins définis dans User_Setup.h
#endif
// ⚙️ Paramètres WiFi
const char* ssid = "TON_SSID";
const char* password = "TON_MOTDEPASSE";
// ⚙️ Paramètres NTP
const char* ntpServer = "pool.ntp.org";
const long gmtOffset_sec = 3600; // Décalage GMT (ex: +1h pour Suisse en hiver)
const int daylightOffset_sec = 3600; // Décalage été (DST)
// Variables pour éviter scintillement
int lastMinute = -1;
void setup() {
#ifdef EPAPER_ENABLE
epaper.begin();
epaper.setRotation(1);
epaper.fillScreen(TFT_BLACK);
epaper.setTextColor(TFT_WHITE, TFT_BLACK);
epaper.update();
#endif
// Connexion WiFi
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
}
// Initialisation NTP
configTime(gmtOffset_sec, daylightOffset_sec, ntpServer);
}
void loop() {
// Récupérer l’heure système
struct tm timeinfo;
if (!getLocalTime(&timeinfo)) {
return; // Si pas d’heure dispo
}
// Rafraîchir uniquement si la minute change
if (timeinfo.tm_min != lastMinute) {
lastMinute = timeinfo.tm_min;
#ifdef EPAPER_ENABLE
epaper.fillScreen(TFT_BLACK);
// Afficher la date
epaper.setTextColor(TFT_GREEN, TFT_BLACK);
epaper.setCursor(10, 20);
epaper.printf("%02d/%02d/%04d", timeinfo.tm_mday, timeinfo.tm_mon+1, timeinfo.tm_year+1900);
// Afficher l’heure
epaper.setTextColor(TFT_ORANGE, TFT_BLACK);
epaper.setCursor(10, 60);
epaper.printf("%02d:%02d", timeinfo.tm_hour, timeinfo.tm_min);
epaper.update(); // Mise à jour écran
#endif
}
delay(1000); // Boucle chaque seconde mais rafraîchit seulement à chaque minute
}
[Code 2 Display a clock - WIFI v2][edit]
version modifié
#include <WiFi.h>
#include <time.h>
#include <TFT_eSPI.h> // Librairie pour ton écran E-paper
#include <SPI.h>
#ifdef EPAPER_ENABLE
EPaper epaper = EPaper(); // Pins définis dans User_Setup.h
#endif
// ⚙️ Paramètres WiFi
const char* ssid = "TON_SSID";
const char* password = "TON_MOTDEPASSE";
// ⚙️ Paramètres NTP
const char* ntpServer = "pool.ntp.org";
const long gmtOffset_sec = 3600; // Décalage GMT (ex: +1h pour Suisse en hiver)
const int daylightOffset_sec = 3600; // Décalage été (DST)
// Variables pour éviter scintillement
int lastMinute = -1;
void setup() {
Serial.begin(115200);
#ifdef EPAPER_ENABLE
epaper.begin();
epaper.setRotation(1);
epaper.fillScreen(TFT_WHITE); // Fond blanc
epaper.setTextColor(TFT_BLACK, TFT_WHITE); // Texte noir sur fond blanc
epaper.update();
epaper.sleep(); // Mise en veille après init
#endif
// Connexion WiFi
WiFi.begin(ssid, password);
Serial.print("Connexion au WiFi ");
Serial.println(ssid);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("\nWiFi connecté !");
Serial.print("Adresse IP : ");
Serial.println(WiFi.localIP());
Serial.print("Adresse MAC : ");
Serial.println(WiFi.macAddress());
// Initialisation NTP
configTime(gmtOffset_sec, daylightOffset_sec, ntpServer);
}
void loop() {
// Récupérer l’heure système
struct tm timeinfo;
if (!getLocalTime(&timeinfo)) {
Serial.println("Erreur récupération heure NTP");
return; // Si pas d’heure dispo
}
// Rafraîchir uniquement si la minute change
if (timeinfo.tm_min != lastMinute) {
lastMinute = timeinfo.tm_min;
#ifdef EPAPER_ENABLE
//epaper.wakeup(); // Réveille l’écran avant mise à jour
epaper.fillScreen(TFT_WHITE);
// --- Affichage DATE (plus petite, centrée en haut) ---
epaper.setTextColor(TFT_BLACK, TFT_WHITE);
epaper.setTextDatum(TC_DATUM); // Centrage horizontal (Top Center)
epaper.drawString(
String(timeinfo.tm_mday) + "/" +
String(timeinfo.tm_mon+1) + "/" +
String(timeinfo.tm_year+1900),
epaper.width()/2, 30, 4 // police taille 2 -> 4
);
// --- Affichage HEURE (plus grande, centrée au milieu) ---
char buffer[6];
sprintf(buffer, "%02d:%02d", timeinfo.tm_hour, timeinfo.tm_min);
epaper.setTextDatum(MC_DATUM); // Centrage horizontal + vertical (Middle Center)
epaper.drawString(buffer, epaper.width()/2, epaper.height()/2, 7); // police taille 6 -> 7
epaper.update(); // Mise à jour écran
//epaper.sleep(); // Mise en veille après mise à jour
#endif
// --- Sortie série ---
Serial.printf("Heure actuelle : %02d:%02d:%02d\n",
timeinfo.tm_hour, timeinfo.tm_min, timeinfo.tm_sec);
}
delay(1000); // Boucle chaque seconde mais rafraîchit seulement à chaque minute
}